From f82a9b6222f44f684529b6a52fc2427b6ab36730 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Sat, 11 May 2024 10:09:11 +0800 Subject: [PATCH] rename native pick to filament_pick to avoid naming clashes --- .../native/include/DartFilamentApi.h | 2 +- dart_filament/native/src/DartFilamentApi.cpp | 2 +- web/.gitattributes | 45 + web/CMakeLists.txt | 247 ++++ web/ffigen.yaml | 18 + web/include/FlutterFilamentWebApi.h | 42 + web/include/filament/backend/AcquiredImage.h | 39 + .../filament/backend/BufferDescriptor.h | 223 +++ .../filament/backend/CallbackHandler.h | 74 + .../filament/backend/DriverApiForward.h | 28 + web/include/filament/backend/DriverEnums.h | 1260 +++++++++++++++++ web/include/filament/backend/Handle.h | 134 ++ web/include/filament/backend/PipelineState.h | 48 + .../filament/backend/PixelBufferDescriptor.h | 317 +++++ web/include/filament/backend/Platform.h | 188 +++ .../filament/backend/PresentCallable.h | 104 ++ web/include/filament/backend/Program.h | 163 +++ web/include/filament/backend/README.md | 4 + .../filament/backend/SamplerDescriptor.h | 39 + .../filament/backend/TargetBufferInfo.h | 92 ++ .../backend/platforms/OpenGLPlatform.h | 301 ++++ .../backend/platforms/PlatformCocoaGL.h | 74 + .../backend/platforms/PlatformCocoaTouchGL.h | 72 + .../filament/backend/platforms/PlatformEGL.h | 159 +++ .../backend/platforms/PlatformEGLAndroid.h | 82 ++ .../backend/platforms/PlatformEGLHeadless.h | 40 + .../filament/backend/platforms/PlatformGLX.h | 67 + .../filament/backend/platforms/PlatformWGL.h | 70 + .../backend/platforms/PlatformWebGL.h | 55 + .../backend/platforms/VulkanPlatform.h | 247 ++++ web/include/filament/camutils/Bookmark.h | 85 ++ web/include/filament/camutils/Manipulator.h | 298 ++++ web/include/filament/camutils/compiler.h | 26 + web/include/filament/filamat/Enums.h | 98 ++ .../filament/filamat/IncludeCallback.h | 71 + .../filament/filamat/MaterialBuilder.h | 891 ++++++++++++ web/include/filament/filamat/Package.h | 103 ++ .../IBLPrefilterContext.h | 339 +++++ web/include/filament/filament/Box.h | 242 ++++ web/include/filament/filament/BufferObject.h | 121 ++ web/include/filament/filament/Camera.h | 579 ++++++++ web/include/filament/filament/Color.h | 214 +++ web/include/filament/filament/ColorGrading.h | 489 +++++++ web/include/filament/filament/ColorSpace.h | 256 ++++ web/include/filament/filament/DebugRegistry.h | 154 ++ web/include/filament/filament/Engine.h | 902 ++++++++++++ web/include/filament/filament/Exposure.h | 129 ++ web/include/filament/filament/Fence.h | 86 ++ web/include/filament/filament/FilamentAPI.h | 59 + web/include/filament/filament/Frustum.h | 127 ++ web/include/filament/filament/IndexBuffer.h | 129 ++ web/include/filament/filament/IndirectLight.h | 353 +++++ .../filament/filament/InstanceBuffer.h | 102 ++ web/include/filament/filament/LightManager.h | 974 +++++++++++++ web/include/filament/filament/Material.h | 389 +++++ .../filament/filament/MaterialChunkType.h | 99 ++ web/include/filament/filament/MaterialEnums.h | 255 ++++ .../filament/filament/MaterialInstance.h | 490 +++++++ .../filament/filament/MorphTargetBuffer.h | 147 ++ web/include/filament/filament/Options.h | 562 ++++++++ web/include/filament/filament/RenderTarget.h | 191 +++ .../filament/filament/RenderableManager.h | 890 ++++++++++++ web/include/filament/filament/Renderer.h | 590 ++++++++ web/include/filament/filament/Scene.h | 185 +++ .../filament/filament/SkinningBuffer.h | 126 ++ web/include/filament/filament/Skybox.h | 185 +++ web/include/filament/filament/Stream.h | 218 +++ web/include/filament/filament/SwapChain.h | 297 ++++ web/include/filament/filament/Texture.h | 553 ++++++++ .../filament/filament/TextureSampler.h | 207 +++ web/include/filament/filament/ToneMapper.h | 251 ++++ .../filament/filament/TransformManager.h | 343 +++++ web/include/filament/filament/VertexBuffer.h | 218 +++ web/include/filament/filament/View.h | 906 ++++++++++++ web/include/filament/filament/Viewport.h | 91 ++ web/include/filament/filameshio/MeshReader.h | 120 ++ .../filament/geometry/SurfaceOrientation.h | 131 ++ .../filament/geometry/TangentSpaceMesh.h | 334 +++++ web/include/filament/geometry/Transcoder.h | 105 ++ web/include/filament/gltfio/Animator.h | 120 ++ web/include/filament/gltfio/AssetLoader.h | 249 ++++ web/include/filament/gltfio/FilamentAsset.h | 303 ++++ .../filament/gltfio/FilamentInstance.h | 174 +++ .../filament/gltfio/MaterialProvider.h | 214 +++ web/include/filament/gltfio/NodeManager.h | 110 ++ web/include/filament/gltfio/ResourceLoader.h | 167 +++ web/include/filament/gltfio/TextureProvider.h | 187 +++ .../filament/gltfio/TrsTransformManager.h | 114 ++ .../filament/gltfio/materials/uberarchive.h | 13 + web/include/filament/gltfio/math.h | 128 ++ web/include/filament/ibl/Cubemap.h | 199 +++ web/include/filament/ibl/CubemapIBL.h | 91 ++ web/include/filament/ibl/CubemapSH.h | 125 ++ web/include/filament/ibl/CubemapUtils.h | 124 ++ web/include/filament/ibl/Image.h | 77 + web/include/filament/ibl/utilities.h | 57 + web/include/filament/image/ColorTransform.h | 381 +++++ web/include/filament/image/ImageOps.h | 91 ++ web/include/filament/image/ImageSampler.h | 164 +++ web/include/filament/image/Ktx1Bundle.h | 289 ++++ web/include/filament/image/LinearImage.h | 121 ++ web/include/filament/imageio/BasisEncoder.h | 170 +++ web/include/filament/imageio/HDRDecoder.h | 47 + web/include/filament/imageio/ImageDecoder.h | 69 + web/include/filament/imageio/ImageDiffer.h | 34 + web/include/filament/imageio/ImageEncoder.h | 64 + web/include/filament/ktxreader/Ktx1Reader.h | 149 ++ web/include/filament/ktxreader/Ktx2Reader.h | 203 +++ web/include/filament/math/TMatHelpers.h | 807 +++++++++++ web/include/filament/math/TQuatHelpers.h | 294 ++++ web/include/filament/math/TVecHelpers.h | 654 +++++++++ web/include/filament/math/compiler.h | 127 ++ web/include/filament/math/fast.h | 175 +++ web/include/filament/math/half.h | 224 +++ web/include/filament/math/mat2.h | 347 +++++ web/include/filament/math/mat3.h | 534 +++++++ web/include/filament/math/mat4.h | 667 +++++++++ web/include/filament/math/mathfwd.h | 97 ++ web/include/filament/math/norm.h | 100 ++ web/include/filament/math/quat.h | 202 +++ web/include/filament/math/scalar.h | 124 ++ web/include/filament/math/vec2.h | 114 ++ web/include/filament/math/vec3.h | 133 ++ web/include/filament/math/vec4.h | 133 ++ web/include/filament/mathio/ostream.h | 58 + web/include/filament/mikktspace/mikktspace.h | 145 ++ .../filament/tsl/robin_growth_policy.h | 290 ++++ web/include/filament/tsl/robin_hash.h | 1252 ++++++++++++++++ web/include/filament/tsl/robin_map.h | 668 +++++++++ web/include/filament/tsl/robin_set.h | 535 +++++++ web/include/filament/uberz/ArchiveEnums.h | 32 + web/include/filament/uberz/ReadableArchive.h | 79 ++ web/include/filament/uberz/WritableArchive.h | 67 + web/include/filament/utils/Allocator.h | 840 +++++++++++ web/include/filament/utils/BitmaskEnum.h | 144 ++ web/include/filament/utils/CString.h | 252 ++++ web/include/filament/utils/CallStack.h | 127 ++ web/include/filament/utils/Entity.h | 88 ++ web/include/filament/utils/EntityInstance.h | 89 ++ web/include/filament/utils/EntityManager.h | 136 ++ .../filament/utils/FixedCapacityVector.h | 420 ++++++ web/include/filament/utils/Invocable.h | 152 ++ web/include/filament/utils/Log.h | 46 + web/include/filament/utils/Mutex.h | 26 + .../filament/utils/NameComponentManager.h | 109 ++ web/include/filament/utils/Panic.h | 563 ++++++++ web/include/filament/utils/Path.h | 303 ++++ .../utils/PrivateImplementation-impl.h | 66 + .../filament/utils/PrivateImplementation.h | 61 + .../utils/SingleInstanceComponentManager.h | 316 +++++ web/include/filament/utils/Slice.h | 148 ++ web/include/filament/utils/SpinLock.h | 90 ++ .../filament/utils/StructureOfArrays.h | 713 ++++++++++ web/include/filament/utils/algorithm.h | 226 +++ web/include/filament/utils/bitset.h | 330 +++++ web/include/filament/utils/compiler.h | 263 ++++ web/include/filament/utils/compressed_pair.h | 68 + web/include/filament/utils/debug.h | 33 + web/include/filament/utils/generic/Mutex.h | 28 + web/include/filament/utils/memalign.h | 113 ++ web/include/filament/utils/ostream.h | 140 ++ web/include/filament/utils/unwindows.h | 51 + .../filament/viewer/AutomationEngine.h | 264 ++++ web/include/filament/viewer/AutomationSpec.h | 86 ++ web/include/filament/viewer/RemoteServer.h | 102 ++ web/include/filament/viewer/Settings.h | 258 ++++ web/include/filament/viewer/ViewerGui.h | 291 ++++ web/include/material/image.S | 12 + web/include/material/image.apple.S | 12 + web/include/material/image.bin | Bin 0 -> 17645 bytes web/include/material/image.c | 892 ++++++++++++ web/include/material/image.h | 13 + web/lib/debug/libbackend.a | 3 + web/lib/debug/libbasis_encoder.a | 3 + web/lib/debug/libbasis_transcoder.a | 3 + web/lib/debug/libbenchmark.a | 3 + web/lib/debug/libbenchmark_main.a | 3 + web/lib/debug/libcamutils.a | 3 + web/lib/debug/libcivetweb.a | 3 + web/lib/debug/libdracodec.a | 3 + web/lib/debug/libfilabridge.a | 3 + web/lib/debug/libfilaflat.a | 3 + web/lib/debug/libfilagui.a | 3 + web/lib/debug/libfilament-iblprefilter.a | 3 + web/lib/debug/libfilament.a | 3 + web/lib/debug/libfilameshio.a | 3 + web/lib/debug/libgeometry.a | 3 + web/lib/debug/libgeometry_combined.a | 3 + web/lib/debug/libgetopt.a | 3 + web/lib/debug/libgltfio_core.a | 3 + web/lib/debug/libgtest.a | 3 + web/lib/debug/libibl-lite.a | 3 + web/lib/debug/libibl.a | 3 + web/lib/debug/libimage.a | 3 + web/lib/debug/libimageio.a | 3 + web/lib/debug/libimgui.a | 3 + web/lib/debug/libktxreader.a | 3 + web/lib/debug/libmath.a | 3 + web/lib/debug/libmathio.a | 3 + web/lib/debug/libmeshoptimizer.a | 3 + web/lib/debug/libmikktspace.a | 3 + web/lib/debug/libpng.a | 3 + web/lib/debug/libshaders.a | 3 + web/lib/debug/libsmol-v.a | 3 + web/lib/debug/libstb.a | 3 + web/lib/debug/libtinyexr.a | 3 + web/lib/debug/libuberarchive.a | 3 + web/lib/debug/libuberzlib.a | 3 + web/lib/debug/libutils.a | 3 + web/lib/debug/libviewer.a | 3 + web/lib/debug/libvkshaders.a | 3 + web/lib/debug/libz.a | 3 + web/lib/debug/libzstd.a | 3 + web/lib/release/libOGLCompiler.a | 3 + web/lib/release/libOSDependent.a | 3 + web/lib/release/libSPIRV-Tools-opt.a | 3 + web/lib/release/libSPIRV-Tools.a | 3 + web/lib/release/libSPIRV.a | 3 + web/lib/release/libassimp.a | 3 + web/lib/release/libbackend.a | Bin 0 -> 469500 bytes web/lib/release/libbasis_encoder.a | Bin 0 -> 949302 bytes web/lib/release/libbasis_transcoder.a | Bin 0 -> 284132 bytes web/lib/release/libbenchmark.a | Bin 0 -> 410540 bytes web/lib/release/libbenchmark_main.a | Bin 0 -> 998 bytes web/lib/release/libbluegl.a | 3 + web/lib/release/libbluevk.a | 3 + web/lib/release/libcamutils.a | Bin 0 -> 66350 bytes web/lib/release/libcivetweb.a | Bin 0 -> 236058 bytes web/lib/release/libdracodec.a | Bin 0 -> 1717666 bytes web/lib/release/libfilabridge.a | Bin 0 -> 37414 bytes web/lib/release/libfilaflat.a | Bin 0 -> 30720 bytes web/lib/release/libfilagui.a | Bin 0 -> 73028 bytes web/lib/release/libfilamat.a | 3 + web/lib/release/libfilamat_combined.a | 3 + web/lib/release/libfilament-iblprefilter.a | Bin 0 -> 43100 bytes web/lib/release/libfilament.a | Bin 0 -> 1928420 bytes web/lib/release/libfilameshio.a | Bin 0 -> 22944 bytes web/lib/release/libgeometry.a | Bin 0 -> 65450 bytes web/lib/release/libgeometry_combined.a | Bin 0 -> 65498 bytes web/lib/release/libgetopt.a | Bin 0 -> 3416 bytes web/lib/release/libglslang.a | 3 + web/lib/release/libgltfio_core.a | Bin 0 -> 735774 bytes web/lib/release/libgtest.a | Bin 0 -> 367934 bytes web/lib/release/libibl-lite.a | Bin 0 -> 283686 bytes web/lib/release/libibl.a | Bin 0 -> 346040 bytes web/lib/release/libimage.a | Bin 0 -> 55822 bytes web/lib/release/libimageio.a | Bin 0 -> 91778 bytes web/lib/release/libimgui.a | Bin 0 -> 1262674 bytes web/lib/release/libktxreader.a | Bin 0 -> 27560 bytes web/lib/release/libmath.a | Bin 0 -> 386 bytes web/lib/release/libmathio.a | Bin 0 -> 26852 bytes web/lib/release/libmatlang.a | 3 + web/lib/release/libmeshoptimizer.a | Bin 0 -> 86730 bytes web/lib/release/libmikktspace.a | Bin 0 -> 20080 bytes web/lib/release/libpng.a | Bin 0 -> 265054 bytes web/lib/release/libshaders.a | Bin 0 -> 133628 bytes web/lib/release/libsmol-v.a | Bin 0 -> 47208 bytes web/lib/release/libspirv-cross-core.a | 3 + web/lib/release/libspirv-cross-glsl.a | 3 + web/lib/release/libspirv-cross-msl.a | 3 + web/lib/release/libstb.a | Bin 0 -> 91664 bytes web/lib/release/libtinyexr.a | Bin 0 -> 111984 bytes web/lib/release/libuberarchive.a | Bin 0 -> 822554 bytes web/lib/release/libuberzlib.a | Bin 0 -> 23926 bytes web/lib/release/libutils.a | Bin 0 -> 131244 bytes web/lib/release/libviewer.a | Bin 0 -> 310496 bytes web/lib/release/libvkshaders.a | Bin 0 -> 1818 bytes web/lib/release/libz.a | Bin 0 -> 102060 bytes web/lib/release/libzstd.a | Bin 0 -> 610332 bytes web/replace_in_file.cmake | 14 + web/src/cpp/FlutterFilamentWebApi.cpp | 218 +++ web/src/js/flutter_filament_plugin.worker.js | 199 +++ web/src/js/main.dart.js | 44 + 273 files changed, 39550 insertions(+), 2 deletions(-) create mode 100644 web/.gitattributes create mode 100644 web/CMakeLists.txt create mode 100644 web/ffigen.yaml create mode 100644 web/include/FlutterFilamentWebApi.h create mode 100644 web/include/filament/backend/AcquiredImage.h create mode 100644 web/include/filament/backend/BufferDescriptor.h create mode 100644 web/include/filament/backend/CallbackHandler.h create mode 100644 web/include/filament/backend/DriverApiForward.h create mode 100644 web/include/filament/backend/DriverEnums.h create mode 100644 web/include/filament/backend/Handle.h create mode 100644 web/include/filament/backend/PipelineState.h create mode 100644 web/include/filament/backend/PixelBufferDescriptor.h create mode 100644 web/include/filament/backend/Platform.h create mode 100644 web/include/filament/backend/PresentCallable.h create mode 100644 web/include/filament/backend/Program.h create mode 100644 web/include/filament/backend/README.md create mode 100644 web/include/filament/backend/SamplerDescriptor.h create mode 100644 web/include/filament/backend/TargetBufferInfo.h create mode 100644 web/include/filament/backend/platforms/OpenGLPlatform.h create mode 100644 web/include/filament/backend/platforms/PlatformCocoaGL.h create mode 100644 web/include/filament/backend/platforms/PlatformCocoaTouchGL.h create mode 100644 web/include/filament/backend/platforms/PlatformEGL.h create mode 100644 web/include/filament/backend/platforms/PlatformEGLAndroid.h create mode 100644 web/include/filament/backend/platforms/PlatformEGLHeadless.h create mode 100644 web/include/filament/backend/platforms/PlatformGLX.h create mode 100644 web/include/filament/backend/platforms/PlatformWGL.h create mode 100644 web/include/filament/backend/platforms/PlatformWebGL.h create mode 100644 web/include/filament/backend/platforms/VulkanPlatform.h create mode 100644 web/include/filament/camutils/Bookmark.h create mode 100644 web/include/filament/camutils/Manipulator.h create mode 100644 web/include/filament/camutils/compiler.h create mode 100644 web/include/filament/filamat/Enums.h create mode 100644 web/include/filament/filamat/IncludeCallback.h create mode 100644 web/include/filament/filamat/MaterialBuilder.h create mode 100644 web/include/filament/filamat/Package.h create mode 100644 web/include/filament/filament-iblprefilter/IBLPrefilterContext.h create mode 100644 web/include/filament/filament/Box.h create mode 100644 web/include/filament/filament/BufferObject.h create mode 100644 web/include/filament/filament/Camera.h create mode 100644 web/include/filament/filament/Color.h create mode 100644 web/include/filament/filament/ColorGrading.h create mode 100644 web/include/filament/filament/ColorSpace.h create mode 100644 web/include/filament/filament/DebugRegistry.h create mode 100644 web/include/filament/filament/Engine.h create mode 100644 web/include/filament/filament/Exposure.h create mode 100644 web/include/filament/filament/Fence.h create mode 100644 web/include/filament/filament/FilamentAPI.h create mode 100644 web/include/filament/filament/Frustum.h create mode 100644 web/include/filament/filament/IndexBuffer.h create mode 100644 web/include/filament/filament/IndirectLight.h create mode 100644 web/include/filament/filament/InstanceBuffer.h create mode 100644 web/include/filament/filament/LightManager.h create mode 100644 web/include/filament/filament/Material.h create mode 100644 web/include/filament/filament/MaterialChunkType.h create mode 100644 web/include/filament/filament/MaterialEnums.h create mode 100644 web/include/filament/filament/MaterialInstance.h create mode 100644 web/include/filament/filament/MorphTargetBuffer.h create mode 100644 web/include/filament/filament/Options.h create mode 100644 web/include/filament/filament/RenderTarget.h create mode 100644 web/include/filament/filament/RenderableManager.h create mode 100644 web/include/filament/filament/Renderer.h create mode 100644 web/include/filament/filament/Scene.h create mode 100644 web/include/filament/filament/SkinningBuffer.h create mode 100644 web/include/filament/filament/Skybox.h create mode 100644 web/include/filament/filament/Stream.h create mode 100644 web/include/filament/filament/SwapChain.h create mode 100644 web/include/filament/filament/Texture.h create mode 100644 web/include/filament/filament/TextureSampler.h create mode 100644 web/include/filament/filament/ToneMapper.h create mode 100644 web/include/filament/filament/TransformManager.h create mode 100644 web/include/filament/filament/VertexBuffer.h create mode 100644 web/include/filament/filament/View.h create mode 100644 web/include/filament/filament/Viewport.h create mode 100644 web/include/filament/filameshio/MeshReader.h create mode 100644 web/include/filament/geometry/SurfaceOrientation.h create mode 100644 web/include/filament/geometry/TangentSpaceMesh.h create mode 100644 web/include/filament/geometry/Transcoder.h create mode 100644 web/include/filament/gltfio/Animator.h create mode 100644 web/include/filament/gltfio/AssetLoader.h create mode 100644 web/include/filament/gltfio/FilamentAsset.h create mode 100644 web/include/filament/gltfio/FilamentInstance.h create mode 100644 web/include/filament/gltfio/MaterialProvider.h create mode 100644 web/include/filament/gltfio/NodeManager.h create mode 100644 web/include/filament/gltfio/ResourceLoader.h create mode 100644 web/include/filament/gltfio/TextureProvider.h create mode 100644 web/include/filament/gltfio/TrsTransformManager.h create mode 100644 web/include/filament/gltfio/materials/uberarchive.h create mode 100644 web/include/filament/gltfio/math.h create mode 100644 web/include/filament/ibl/Cubemap.h create mode 100644 web/include/filament/ibl/CubemapIBL.h create mode 100644 web/include/filament/ibl/CubemapSH.h create mode 100644 web/include/filament/ibl/CubemapUtils.h create mode 100644 web/include/filament/ibl/Image.h create mode 100644 web/include/filament/ibl/utilities.h create mode 100644 web/include/filament/image/ColorTransform.h create mode 100644 web/include/filament/image/ImageOps.h create mode 100644 web/include/filament/image/ImageSampler.h create mode 100644 web/include/filament/image/Ktx1Bundle.h create mode 100644 web/include/filament/image/LinearImage.h create mode 100644 web/include/filament/imageio/BasisEncoder.h create mode 100644 web/include/filament/imageio/HDRDecoder.h create mode 100644 web/include/filament/imageio/ImageDecoder.h create mode 100644 web/include/filament/imageio/ImageDiffer.h create mode 100644 web/include/filament/imageio/ImageEncoder.h create mode 100644 web/include/filament/ktxreader/Ktx1Reader.h create mode 100644 web/include/filament/ktxreader/Ktx2Reader.h create mode 100644 web/include/filament/math/TMatHelpers.h create mode 100644 web/include/filament/math/TQuatHelpers.h create mode 100644 web/include/filament/math/TVecHelpers.h create mode 100644 web/include/filament/math/compiler.h create mode 100644 web/include/filament/math/fast.h create mode 100644 web/include/filament/math/half.h create mode 100644 web/include/filament/math/mat2.h create mode 100644 web/include/filament/math/mat3.h create mode 100644 web/include/filament/math/mat4.h create mode 100644 web/include/filament/math/mathfwd.h create mode 100644 web/include/filament/math/norm.h create mode 100644 web/include/filament/math/quat.h create mode 100644 web/include/filament/math/scalar.h create mode 100644 web/include/filament/math/vec2.h create mode 100644 web/include/filament/math/vec3.h create mode 100644 web/include/filament/math/vec4.h create mode 100644 web/include/filament/mathio/ostream.h create mode 100644 web/include/filament/mikktspace/mikktspace.h create mode 100644 web/include/filament/tsl/robin_growth_policy.h create mode 100644 web/include/filament/tsl/robin_hash.h create mode 100644 web/include/filament/tsl/robin_map.h create mode 100644 web/include/filament/tsl/robin_set.h create mode 100644 web/include/filament/uberz/ArchiveEnums.h create mode 100644 web/include/filament/uberz/ReadableArchive.h create mode 100644 web/include/filament/uberz/WritableArchive.h create mode 100644 web/include/filament/utils/Allocator.h create mode 100644 web/include/filament/utils/BitmaskEnum.h create mode 100644 web/include/filament/utils/CString.h create mode 100644 web/include/filament/utils/CallStack.h create mode 100644 web/include/filament/utils/Entity.h create mode 100644 web/include/filament/utils/EntityInstance.h create mode 100644 web/include/filament/utils/EntityManager.h create mode 100644 web/include/filament/utils/FixedCapacityVector.h create mode 100644 web/include/filament/utils/Invocable.h create mode 100644 web/include/filament/utils/Log.h create mode 100644 web/include/filament/utils/Mutex.h create mode 100644 web/include/filament/utils/NameComponentManager.h create mode 100644 web/include/filament/utils/Panic.h create mode 100644 web/include/filament/utils/Path.h create mode 100644 web/include/filament/utils/PrivateImplementation-impl.h create mode 100644 web/include/filament/utils/PrivateImplementation.h create mode 100644 web/include/filament/utils/SingleInstanceComponentManager.h create mode 100644 web/include/filament/utils/Slice.h create mode 100644 web/include/filament/utils/SpinLock.h create mode 100644 web/include/filament/utils/StructureOfArrays.h create mode 100644 web/include/filament/utils/algorithm.h create mode 100644 web/include/filament/utils/bitset.h create mode 100644 web/include/filament/utils/compiler.h create mode 100644 web/include/filament/utils/compressed_pair.h create mode 100644 web/include/filament/utils/debug.h create mode 100644 web/include/filament/utils/generic/Mutex.h create mode 100644 web/include/filament/utils/memalign.h create mode 100644 web/include/filament/utils/ostream.h create mode 100644 web/include/filament/utils/unwindows.h create mode 100644 web/include/filament/viewer/AutomationEngine.h create mode 100644 web/include/filament/viewer/AutomationSpec.h create mode 100644 web/include/filament/viewer/RemoteServer.h create mode 100644 web/include/filament/viewer/Settings.h create mode 100644 web/include/filament/viewer/ViewerGui.h create mode 100644 web/include/material/image.S create mode 100644 web/include/material/image.apple.S create mode 100644 web/include/material/image.bin create mode 100644 web/include/material/image.c create mode 100644 web/include/material/image.h create mode 100644 web/lib/debug/libbackend.a create mode 100644 web/lib/debug/libbasis_encoder.a create mode 100644 web/lib/debug/libbasis_transcoder.a create mode 100644 web/lib/debug/libbenchmark.a create mode 100644 web/lib/debug/libbenchmark_main.a create mode 100644 web/lib/debug/libcamutils.a create mode 100644 web/lib/debug/libcivetweb.a create mode 100644 web/lib/debug/libdracodec.a create mode 100644 web/lib/debug/libfilabridge.a create mode 100644 web/lib/debug/libfilaflat.a create mode 100644 web/lib/debug/libfilagui.a create mode 100644 web/lib/debug/libfilament-iblprefilter.a create mode 100644 web/lib/debug/libfilament.a create mode 100644 web/lib/debug/libfilameshio.a create mode 100644 web/lib/debug/libgeometry.a create mode 100644 web/lib/debug/libgeometry_combined.a create mode 100644 web/lib/debug/libgetopt.a create mode 100644 web/lib/debug/libgltfio_core.a create mode 100644 web/lib/debug/libgtest.a create mode 100644 web/lib/debug/libibl-lite.a create mode 100644 web/lib/debug/libibl.a create mode 100644 web/lib/debug/libimage.a create mode 100644 web/lib/debug/libimageio.a create mode 100644 web/lib/debug/libimgui.a create mode 100644 web/lib/debug/libktxreader.a create mode 100644 web/lib/debug/libmath.a create mode 100644 web/lib/debug/libmathio.a create mode 100644 web/lib/debug/libmeshoptimizer.a create mode 100644 web/lib/debug/libmikktspace.a create mode 100644 web/lib/debug/libpng.a create mode 100644 web/lib/debug/libshaders.a create mode 100644 web/lib/debug/libsmol-v.a create mode 100644 web/lib/debug/libstb.a create mode 100644 web/lib/debug/libtinyexr.a create mode 100644 web/lib/debug/libuberarchive.a create mode 100644 web/lib/debug/libuberzlib.a create mode 100644 web/lib/debug/libutils.a create mode 100644 web/lib/debug/libviewer.a create mode 100644 web/lib/debug/libvkshaders.a create mode 100644 web/lib/debug/libz.a create mode 100644 web/lib/debug/libzstd.a create mode 100644 web/lib/release/libOGLCompiler.a create mode 100644 web/lib/release/libOSDependent.a create mode 100644 web/lib/release/libSPIRV-Tools-opt.a create mode 100644 web/lib/release/libSPIRV-Tools.a create mode 100644 web/lib/release/libSPIRV.a create mode 100644 web/lib/release/libassimp.a create mode 100644 web/lib/release/libbackend.a create mode 100644 web/lib/release/libbasis_encoder.a create mode 100644 web/lib/release/libbasis_transcoder.a create mode 100644 web/lib/release/libbenchmark.a create mode 100644 web/lib/release/libbenchmark_main.a create mode 100644 web/lib/release/libbluegl.a create mode 100644 web/lib/release/libbluevk.a create mode 100644 web/lib/release/libcamutils.a create mode 100644 web/lib/release/libcivetweb.a create mode 100644 web/lib/release/libdracodec.a create mode 100644 web/lib/release/libfilabridge.a create mode 100644 web/lib/release/libfilaflat.a create mode 100644 web/lib/release/libfilagui.a create mode 100644 web/lib/release/libfilamat.a create mode 100644 web/lib/release/libfilamat_combined.a create mode 100644 web/lib/release/libfilament-iblprefilter.a create mode 100644 web/lib/release/libfilament.a create mode 100644 web/lib/release/libfilameshio.a create mode 100644 web/lib/release/libgeometry.a create mode 100644 web/lib/release/libgeometry_combined.a create mode 100644 web/lib/release/libgetopt.a create mode 100644 web/lib/release/libglslang.a create mode 100644 web/lib/release/libgltfio_core.a create mode 100644 web/lib/release/libgtest.a create mode 100644 web/lib/release/libibl-lite.a create mode 100644 web/lib/release/libibl.a create mode 100644 web/lib/release/libimage.a create mode 100644 web/lib/release/libimageio.a create mode 100644 web/lib/release/libimgui.a create mode 100644 web/lib/release/libktxreader.a create mode 100644 web/lib/release/libmath.a create mode 100644 web/lib/release/libmathio.a create mode 100644 web/lib/release/libmatlang.a create mode 100644 web/lib/release/libmeshoptimizer.a create mode 100644 web/lib/release/libmikktspace.a create mode 100644 web/lib/release/libpng.a create mode 100644 web/lib/release/libshaders.a create mode 100644 web/lib/release/libsmol-v.a create mode 100644 web/lib/release/libspirv-cross-core.a create mode 100644 web/lib/release/libspirv-cross-glsl.a create mode 100644 web/lib/release/libspirv-cross-msl.a create mode 100644 web/lib/release/libstb.a create mode 100644 web/lib/release/libtinyexr.a create mode 100644 web/lib/release/libuberarchive.a create mode 100644 web/lib/release/libuberzlib.a create mode 100644 web/lib/release/libutils.a create mode 100644 web/lib/release/libviewer.a create mode 100644 web/lib/release/libvkshaders.a create mode 100644 web/lib/release/libz.a create mode 100644 web/lib/release/libzstd.a create mode 100644 web/replace_in_file.cmake create mode 100644 web/src/cpp/FlutterFilamentWebApi.cpp create mode 100644 web/src/js/flutter_filament_plugin.worker.js create mode 100644 web/src/js/main.dart.js diff --git a/dart_filament/native/include/DartFilamentApi.h b/dart_filament/native/include/DartFilamentApi.h index eef9432f..58d48403 100644 --- a/dart_filament/native/include/DartFilamentApi.h +++ b/dart_filament/native/include/DartFilamentApi.h @@ -181,7 +181,7 @@ extern "C" FLUTTER_PLUGIN_EXPORT int reveal_mesh(void *sceneManager, EntityId asset, const char *meshName); FLUTTER_PLUGIN_EXPORT void set_post_processing(void *const viewer, bool enabled); FLUTTER_PLUGIN_EXPORT void set_antialiasing(void *const viewer, bool msaa, bool fxaa, bool taa); - FLUTTER_PLUGIN_EXPORT void pick(void *const viewer, int x, int y, void (*callback)(EntityId entityId, int x, int y)); + FLUTTER_PLUGIN_EXPORT void filament_pick(void *const viewer, int x, int y, void (*callback)(EntityId entityId, int x, int y)); FLUTTER_PLUGIN_EXPORT const char *get_name_for_entity(void *const sceneManager, const EntityId entityId); FLUTTER_PLUGIN_EXPORT EntityId find_child_entity_by_name(void *const sceneManager, const EntityId parent, const char *name); FLUTTER_PLUGIN_EXPORT int get_entity_count(void *const sceneManager, const EntityId target, bool renderableOnly); diff --git a/dart_filament/native/src/DartFilamentApi.cpp b/dart_filament/native/src/DartFilamentApi.cpp index 68014d19..2f767fd5 100644 --- a/dart_filament/native/src/DartFilamentApi.cpp +++ b/dart_filament/native/src/DartFilamentApi.cpp @@ -545,7 +545,7 @@ extern "C" return ((SceneManager *)sceneManager)->reveal(asset, meshName); } - FLUTTER_PLUGIN_EXPORT void pick(void *const viewer, int x, int y, void (*callback)(EntityId entityId, int x, int y)) + FLUTTER_PLUGIN_EXPORT void filament_pick(void *const viewer, int x, int y, void (*callback)(EntityId entityId, int x, int y)) { ((FilamentViewer *)viewer)->pick(static_cast(x), static_cast(y), callback); } diff --git a/web/.gitattributes b/web/.gitattributes new file mode 100644 index 00000000..caa699bb --- /dev/null +++ b/web/.gitattributes @@ -0,0 +1,45 @@ +lib filter=lfs diff=lfs merge=lfs -text +lib/debug filter=lfs diff=lfs merge=lfs -text +lib/debug/libtinyexr.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libuberarchive.a filter=lfs diff=lfs merge=lfs -text +lib/release filter=lfs diff=lfs merge=lfs -text +lib/release/libfilaflat.a filter=lfs diff=lfs merge=lfs -text +lib/release/libgeometry.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libbackend.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libbasis_encoder.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libdracodec.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libzstd.a filter=lfs diff=lfs merge=lfs -text +lib/release/libbackend.a filter=lfs diff=lfs merge=lfs -text +lib/release/libfilabridge.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libimageio.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libktxreader.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libutils.a filter=lfs diff=lfs merge=lfs -text +lib/release/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text +lib/release/libktxreader.a filter=lfs diff=lfs merge=lfs -text +lib/release/libmath.a filter=lfs diff=lfs merge=lfs -text +lib/release/libutils.a filter=lfs diff=lfs merge=lfs -text +lib/release/libzstd.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libimage.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libuberzlib.a filter=lfs diff=lfs merge=lfs -text +lib/release/libuberarchive.a filter=lfs diff=lfs merge=lfs -text +lib/release/libuberzlib.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libfilaflat.a filter=lfs diff=lfs merge=lfs -text +lib/release/libdracodec.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libgeometry.a filter=lfs diff=lfs merge=lfs -text +lib/release/libbasis_encoder.a filter=lfs diff=lfs merge=lfs -text +lib/release/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text +lib/release/libstb.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libfilament.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libpng.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libstb.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libz.a filter=lfs diff=lfs merge=lfs -text +lib/release/libfilament.a filter=lfs diff=lfs merge=lfs -text +lib/release/libibl-lite.a filter=lfs diff=lfs merge=lfs -text +lib/release/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libfilabridge.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libibl-lite.a filter=lfs diff=lfs merge=lfs -text +lib/debug/libmath.a filter=lfs diff=lfs merge=lfs -text +lib/release/libimage.a filter=lfs diff=lfs merge=lfs -text diff --git a/web/CMakeLists.txt b/web/CMakeLists.txt new file mode 100644 index 00000000..91c7974a --- /dev/null +++ b/web/CMakeLists.txt @@ -0,0 +1,247 @@ +cmake_minimum_required(VERSION 3.27) + +set(PROJECT_NAME "flutter_filament") +project(${PROJECT_NAME}) + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release") +endif(NOT CMAKE_BUILD_TYPE) + +set(PLUGIN_NAME "flutter_filament_plugin") + +set(EMCC_CFLAGS --bind) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sALLOW_TABLE_GROWTH=1) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sALLOW_MEMORY_GROWTH=1) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORT_NAME=${PLUGIN_NAME}) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sMAIN_MODULE) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sMODULARIZE) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sERROR_ON_UNDEFINED_SYMBOLS=0 ) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORTED_RUNTIME_METHODS=wasmExports,wasmTable) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sFULL_ES3) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sASSERTIONS) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sPTHREAD_POOL_SIZE=1) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sALLOW_BLOCKING_ON_MAIN_THREAD=1) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sOFFSCREEN_FRAMEBUFFER) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sNO_DISABLE_EXCEPTION_CATCHING) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sASYNCIFY=1) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sUSE_WEBGL2=1) +# set(EMCC_CFLAGS ${EMCC_CFLAGS} -sFETCH=1) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sMIN_WEBGL_VERSION=2) + + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers -Wno-deprecated-literal-operator -stdlib=libc++ -std=c++17 -fPIC -pthread -O3") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") + +add_link_options(${EMCC_CFLAGS}) + +link_directories("${CMAKE_CURRENT_SOURCE_DIR}/lib") + +include_directories(../ios/src) +include_directories(../ios/include) +include_directories(../web/include) +include_directories(../web/include/filament) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) + +add_library(filament_shaders STATIC + "${CMAKE_CURRENT_SOURCE_DIR}/../web/include/material/image.c" +) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../example/assets/web/) + +add_executable(${PLUGIN_NAME} + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/AssetManager.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/FilamentViewer.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/FlutterFilamentApi.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/FlutterFilamentFFIApi.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/StreamBufferAdapter.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/TimeIt.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/camutils/Manipulator.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/camutils/Bookmark.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/FlutterFilamentWebApi.cpp" + +) + +set_target_properties(${PLUGIN_NAME} PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) + +target_compile_features(${PLUGIN_NAME} PRIVATE cxx_std_17) + +target_include_directories(${PLUGIN_NAME} INTERFACE + "${CMAKE_CURRENT_SOURCE_DIR}/include") + +include_directories(../ios/src) +include_directories(../ios/include) +include_directories(../example/linux) + +add_library(backend STATIC IMPORTED) +set_property(TARGET backend PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libbackend.a") +set_property(TARGET backend PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libbackend.a") +set_property(TARGET backend PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libbackend.a") + +add_library(geometry STATIC IMPORTED) +set_property(TARGET geometry PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libgeometry.a") +set_property(TARGET geometry PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libgeometry.a") +set_property(TARGET geometry PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libgeometry.a") + +add_library(filament STATIC IMPORTED) +set_property(TARGET filament PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libfilament.a") +set_property(TARGET filament PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libfilament.a") +set_property(TARGET filament PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/Release/libfilament.a") + +add_library(filameshio STATIC IMPORTED) +set_property(TARGET filameshio PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libfilameshio.a") +set_property(TARGET filameshio PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/Release/libfilameshio.a") +set_property(TARGET filameshio PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/Release/libfilameshio.a") + +add_library(filamat STATIC IMPORTED) +set_property(TARGET filamat PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libfilamat.a") +set_property(TARGET filamat PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libfilamat.a") +set_property(TARGET filamat PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libfilamat.a") + +add_library(utils STATIC IMPORTED) +set_property(TARGET utils PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libutils.a") +set_property(TARGET utils PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libutils.a") +set_property(TARGET utils PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libutils.a") + +add_library(filabridge STATIC IMPORTED) +set_property(TARGET filabridge PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libfilabridge.a") +set_property(TARGET filabridge PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libfilabridge.a") +set_property(TARGET filabridge PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libfilabridge.a") + + +add_library(gltfio_core STATIC IMPORTED) +set_property(TARGET gltfio_core PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libgltfio_core.a") +set_property(TARGET gltfio_core PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libgltfio_core.a") + +add_library(image STATIC IMPORTED) +set_property(TARGET image PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libimage.a") +set_property(TARGET image PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libimage.a") +set_property(TARGET image PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libimage.a") + +add_library(imageio STATIC IMPORTED) +set_property(TARGET imageio PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libimageio.a") +set_property(TARGET imageio PROPERTY IMPORTED_LOCATION_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libimageio.a") +set_property(TARGET imageio PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libimageio.a") + +add_library(tinyexr STATIC IMPORTED) +set_property(TARGET tinyexr PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libtinyexr.a") +set_property(TARGET tinyexr PROPERTY IMPORTED_LOCATION_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libtinyexr.a") +set_property(TARGET tinyexr PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libtinyexr.a") + +add_library(camutils STATIC IMPORTED) +set_property(TARGET camutils PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libcamutils.a") +set_property(TARGET camutils PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libcamutils.a") +set_property(TARGET camutils PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libcamutils.a") + +add_library(filaflat STATIC IMPORTED) +set_property(TARGET filaflat PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libfilaflat.a") +set_property(TARGET filaflat PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libfilaflat.a") +set_property(TARGET filaflat PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libfilaflat.a") + +add_library(dracodec STATIC IMPORTED) +set_property(TARGET dracodec PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libdracodec.a") +set_property(TARGET dracodec PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libdracodec.a") +set_property(TARGET dracodec PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libdracodec.a") + +add_library(ibl-lite STATIC IMPORTED) +set_property(TARGET ibl-lite PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libibl-lite.a") +set_property(TARGET ibl-lite PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libibl-lite.a") +set_property(TARGET ibl-lite PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libibl-lite.a") + +add_library(ktxreader STATIC IMPORTED) +set_property(TARGET ktxreader PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libktxreader.a") +set_property(TARGET ktxreader PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libktxreader.a") +set_property(TARGET ktxreader PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libktxreader.a") + +add_library(stb STATIC IMPORTED) +set_property(TARGET stb PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libstb.a") +set_property(TARGET stb PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libstb.a") +set_property(TARGET stb PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libstb.a") + +add_library(uberzlib STATIC IMPORTED) +set_property(TARGET uberzlib PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libuberzlib.a") +set_property(TARGET uberzlib PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libuberzlib.a") +set_property(TARGET uberzlib PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libuberzlib.a") + +add_library(uberarchive STATIC IMPORTED) +set_property(TARGET uberarchive PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libuberarchive.a") +set_property(TARGET uberarchive PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libuberarchive.a") +set_property(TARGET uberarchive PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libuberarchive.a") + +add_library(meshoptimizer STATIC IMPORTED) +set_property(TARGET meshoptimizer PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libmeshoptimizer.a") +set_property(TARGET meshoptimizer PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libmeshoptimizer.a") +set_property(TARGET meshoptimizer PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libmeshoptimizer.a") + +add_library(basis_transcoder STATIC IMPORTED) +set_property(TARGET basis_transcoder PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libbasis_transcoder.a") +set_property(TARGET basis_transcoder PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libbasis_transcoder.a") +set_property(TARGET basis_transcoder PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libbasis_transcoder.a") + +add_library(basis_encoder STATIC IMPORTED) +set_property(TARGET basis_encoder PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libbasis_encoder.a") +set_property(TARGET basis_encoder PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libbasis_encoder.a") +set_property(TARGET basis_encoder PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libbasis_encoder.a") + +add_library(z STATIC IMPORTED) +set_property(TARGET z PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libz.a") +set_property(TARGET z PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libz.a") +set_property(TARGET z PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libz.a") + +add_library(zstd STATIC IMPORTED) +set_property(TARGET zstd PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libzstd.a") +set_property(TARGET zstd PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libzstd.a") +set_property(TARGET zstd PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libzstd.a") + +add_library(png STATIC IMPORTED) +set_property(TARGET png PROPERTY IMPORTED_LOCATION_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/lib/debug/libpng.a") +set_property(TARGET png PROPERTY IMPORTED_IMPLIB_PROFILE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libpng.a") +set_property(TARGET png PROPERTY IMPORTED_LOCATION_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/lib/release/libpng.a") + +target_link_libraries(${PLUGIN_NAME} + filament_shaders + gltfio_core + filament + backend + geometry + dracodec + ibl-lite + ktxreader + filaflat + filabridge + image + imageio + utils + stb + uberzlib + uberarchive + meshoptimizer + basis_transcoder + basis_encoder + z + zstd + png + tinyexr +) + +add_custom_command(TARGET ${PLUGIN_NAME} POST_BUILD + COMMAND dart run ffigen --config ${CMAKE_CURRENT_SOURCE_DIR}/ffigen.yaml WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../ + COMMAND ${CMAKE_COMMAND} -DINPUTFILE=${CMAKE_CURRENT_SOURCE_DIR}/../lib/ffi/ffi_web/generated_bindings_web.dart -DOUTPUTFILE=${CMAKE_CURRENT_SOURCE_DIR}/../lib/ffi/ffi_web/generated_bindings_web.dart "-DTO_REPLACE=symbol: '" "-DREPLACEMENT=symbol: '_" -P ${CMAKE_CURRENT_SOURCE_DIR}/replace_in_file.cmake + VERBATIM +) + +add_custom_command(TARGET ${PLUGIN_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/src/js/flutter_filament_plugin.worker.js ${CMAKE_CURRENT_SOURCE_DIR}/../example/assets/web/ + COMMAND ${CMAKE_COMMAND} -DINPUTFILE=${CMAKE_CURRENT_SOURCE_DIR}/../example/assets/web/flutter_filament_plugin.js -DOUTPUTFILE=${CMAKE_CURRENT_SOURCE_DIR}/../example/assets/web/flutter_filament_plugin.js "-DTO_REPLACE=var handlers = [];" "-DREPLACEMENT=var handlers = ['loadFlutterAsset'];" -P ${CMAKE_CURRENT_SOURCE_DIR}/replace_in_file.cmake + COMMAND flutter build web --profile --wasm --wasm-opt debug WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../example/ + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/src/js/main.dart.js ${CMAKE_CURRENT_SOURCE_DIR}/../example/build/web_wasm/ + VERBATIM +) + + + + + + diff --git a/web/ffigen.yaml b/web/ffigen.yaml new file mode 100644 index 00000000..1b4ed25b --- /dev/null +++ b/web/ffigen.yaml @@ -0,0 +1,18 @@ +output: '../lib/ffi/ffi_web/generated_bindings_web.dart' +headers: + entry-points: + - 'include/FlutterFilamentWebApi.h' + - '../ios/include/FlutterFilamentFFIApi.h' +ffi-native: + assetId: 'flutter_filament_plugin' +compiler-opts: + - "-D__EMSCRIPTEN__" +structs: + exclude: + - '.*' +unions: + exclude: + - '.*' +globals: + exclude: + - '.*' \ No newline at end of file diff --git a/web/include/FlutterFilamentWebApi.h b/web/include/FlutterFilamentWebApi.h new file mode 100644 index 00000000..77f74ad6 --- /dev/null +++ b/web/include/FlutterFilamentWebApi.h @@ -0,0 +1,42 @@ +#ifndef _FLUTTER_FILAMENT_WEB_RESOURCE_LOADER_H +#define _FLUTTER_FILAMENT_WEB_RESOURCE_LOADER_H + +#include +#include +#include + +#include +#include + + +#define FLUTTER_PLUGIN_EXPORT __attribute__((visibility("default"))) + +#ifdef __cplusplus +extern "C" { +#endif + + +FLUTTER_PLUGIN_EXPORT void flutter_filament_web_load_resource_callback(void* data, int32_t length, void* context); +FLUTTER_PLUGIN_EXPORT char flutter_filament_web_get(char* ptr, int32_t offset); +FLUTTER_PLUGIN_EXPORT float flutter_filament_web_get_float(float* ptr, int32_t offset); +FLUTTER_PLUGIN_EXPORT double flutter_filament_web_get_double(double* ptr, int32_t offset); +FLUTTER_PLUGIN_EXPORT void* flutter_filament_web_get_pointer(void** ptr, int32_t offset); + +FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set(char* ptr, int32_t offset, int32_t val); +FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_float(float* ptr, int32_t offset, float val); +FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_double(double* ptr, int32_t offset, double val); +FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_pointer(void** ptr, int32_t offset, void* val); + +FLUTTER_PLUGIN_EXPORT int32_t flutter_filament_web_get_int32(int32_t* ptr, int32_t offset); +FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_int32(int32_t* ptr, int32_t offset, int32_t value); +FLUTTER_PLUGIN_EXPORT long flutter_filament_web_get_address(void** out); +FLUTTER_PLUGIN_EXPORT void* flutter_filament_web_allocate(int32_t size); +FLUTTER_PLUGIN_EXPORT void flutter_filament_web_free(void* ptr); +EMSCRIPTEN_WEBGL_CONTEXT_HANDLE flutter_filament_web_create_gl_context(); +FLUTTER_PLUGIN_EXPORT void* flutter_filament_web_get_resource_loader_wrapper(); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/web/include/filament/backend/AcquiredImage.h b/web/include/filament/backend/AcquiredImage.h new file mode 100644 index 00000000..fec27a53 --- /dev/null +++ b/web/include/filament/backend/AcquiredImage.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_PRIVATE_ACQUIREDIMAGE_H +#define TNT_FILAMENT_BACKEND_PRIVATE_ACQUIREDIMAGE_H + +#include + +namespace filament::backend { + +class CallbackHandler; + +// This lightweight POD allows us to bundle the state required to process an ACQUIRED stream. +// Since these types of external images need to be moved around and queued up, an encapsulation is +// very useful. + +struct AcquiredImage { + void* image = nullptr; + backend::StreamCallback callback = nullptr; + void* userData = nullptr; + CallbackHandler* handler = nullptr; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_PRIVATE_ACQUIREDIMAGE_H diff --git a/web/include/filament/backend/BufferDescriptor.h b/web/include/filament/backend/BufferDescriptor.h new file mode 100644 index 00000000..0d3490af --- /dev/null +++ b/web/include/filament/backend/BufferDescriptor.h @@ -0,0 +1,223 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BACKEND_BUFFERDESCRIPTOR_H +#define TNT_FILAMENT_BACKEND_BUFFERDESCRIPTOR_H + +#include +#include + +#include +#include + +namespace filament::backend { + +class CallbackHandler; + +/** + * A CPU memory-buffer descriptor, typically used to transfer data from the CPU to the GPU. + * + * A BufferDescriptor owns the memory buffer it references, therefore BufferDescriptor cannot + * be copied, but can be moved. + * + * BufferDescriptor releases ownership of the memory-buffer when it's destroyed. + */ +class UTILS_PUBLIC BufferDescriptor { +public: + /** + * Callback used to destroy the buffer data. + * Guarantees: + * Called on the main filament thread. + * + * Limitations: + * Must be lightweight. + * Must not call filament APIs. + */ + using Callback = void(*)(void* buffer, size_t size, void* user); + + //! creates an empty descriptor + BufferDescriptor() noexcept = default; + + //! calls the callback to advertise BufferDescriptor no-longer owns the buffer + ~BufferDescriptor() noexcept { + if (mCallback) { + mCallback(buffer, size, mUser); + } + } + + BufferDescriptor(const BufferDescriptor& rhs) = delete; + BufferDescriptor& operator=(const BufferDescriptor& rhs) = delete; + + BufferDescriptor(BufferDescriptor&& rhs) noexcept + : buffer(rhs.buffer), size(rhs.size), + mCallback(rhs.mCallback), mUser(rhs.mUser), mHandler(rhs.mHandler) { + rhs.buffer = nullptr; + rhs.mCallback = nullptr; + } + + BufferDescriptor& operator=(BufferDescriptor&& rhs) noexcept { + if (this != &rhs) { + buffer = rhs.buffer; + size = rhs.size; + mCallback = rhs.mCallback; + mUser = rhs.mUser; + mHandler = rhs.mHandler; + rhs.buffer = nullptr; + rhs.mCallback = nullptr; + } + return *this; + } + + /** + * Creates a BufferDescriptor that references a CPU memory-buffer + * @param buffer Memory address of the CPU buffer to reference + * @param size Size of the CPU buffer in bytes + * @param callback A callback used to release the CPU buffer from this BufferDescriptor + * @param user An opaque user pointer passed to the callback function when it's called + */ + BufferDescriptor(void const* buffer, size_t size, + Callback callback = nullptr, void* user = nullptr) noexcept + : buffer(const_cast(buffer)), size(size), mCallback(callback), mUser(user) { + } + + /** + * Creates a BufferDescriptor that references a CPU memory-buffer + * @param buffer Memory address of the CPU buffer to reference + * @param size Size of the CPU buffer in bytes + * @param callback A callback used to release the CPU buffer from this BufferDescriptor + * @param user An opaque user pointer passed to the callback function when it's called + */ + BufferDescriptor(void const* buffer, size_t size, + CallbackHandler* handler, Callback callback, void* user = nullptr) noexcept + : buffer(const_cast(buffer)), size(size), + mCallback(callback), mUser(user), mHandler(handler) { + } + + // -------------------------------------------------------------------------------------------- + + /** + * Helper to create a BufferDescriptor that uses a KNOWN method pointer w/ object passed + * by pointer as the callback. e.g.: + * auto bd = BufferDescriptor::make(buffer, size, foo); + * + * @param buffer Memory address of the CPU buffer to reference + * @param size Size of the CPU buffer in bytes + * @param handler Handler to use to dispatch the callback, or nullptr for the default handler + * @return a new BufferDescriptor + */ + template + static BufferDescriptor make(void const* buffer, size_t size, T* data, + CallbackHandler* handler = nullptr) noexcept { + return { + buffer, size, + handler, [](void* b, size_t s, void* u) { + (static_cast(u)->*method)(b, s); + }, data + }; + } + + /** + * Helper to create a BufferDescriptor that uses a functor as the callback. + * + * Caveats: + * - DO NOT CALL setCallback() when using this helper. + * - This make a heap allocation + * + * @param buffer Memory address of the CPU buffer to reference + * @param size Size of the CPU buffer in bytes + * @param functor functor of type f(void const* buffer, size_t size) + * @param handler Handler to use to dispatch the callback, or nullptr for the default handler + * @return a new BufferDescriptor + */ + template + static BufferDescriptor make(void const* buffer, size_t size, T&& functor, + CallbackHandler* handler = nullptr) noexcept { + return { + buffer, size, + handler, [](void* b, size_t s, void* u) { + T* const that = static_cast(u); + that->operator()(b, s); + delete that; + }, + new T(std::forward(functor)) + }; + } + + // -------------------------------------------------------------------------------------------- + + /** + * Set or replace the release callback function + * @param callback The new callback function + * @param user An opaque user pointer passed to the callbeck function when it's called + */ + void setCallback(Callback callback, void* user = nullptr) noexcept { + this->mCallback = callback; + this->mUser = user; + this->mHandler = nullptr; + } + + /** + * Set or replace the release callback function + * @param handler The Handler to use to dispatch the callback + * @param callback The new callback function + * @param user An opaque user pointer passed to the callbeck function when it's called + */ + void setCallback(CallbackHandler* handler, Callback callback, void* user = nullptr) noexcept { + mCallback = callback; + mUser = user; + mHandler = handler; + } + + //! Returns whether a release callback is set + bool hasCallback() const noexcept { return mCallback != nullptr; } + + //! Returns the currently set release callback function + Callback getCallback() const noexcept { + return mCallback; + } + + //! Returns the handler for this callback or nullptr if the default handler is to be used. + CallbackHandler* getHandler() const noexcept { + return mHandler; + } + + //! Returns the user opaque pointer associated to this BufferDescriptor + void* getUser() const noexcept { + return mUser; + } + + //! CPU memory-buffer virtual address + void* buffer = nullptr; + + //! CPU memory-buffer size in bytes + size_t size = 0; + +private: + // callback when the buffer is consumed. + Callback mCallback = nullptr; + void* mUser = nullptr; + CallbackHandler* mHandler = nullptr; +}; + +} // namespace filament::backend + +#if !defined(NDEBUG) +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::BufferDescriptor& b); +#endif + +#endif // TNT_FILAMENT_BACKEND_BUFFERDESCRIPTOR_H diff --git a/web/include/filament/backend/CallbackHandler.h b/web/include/filament/backend/CallbackHandler.h new file mode 100644 index 00000000..3ffc707c --- /dev/null +++ b/web/include/filament/backend/CallbackHandler.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_CALLBACKHANDLER_H +#define TNT_FILAMENT_BACKEND_CALLBACKHANDLER_H + +#include + +namespace filament::backend { + +/** + * A generic interface to dispatch callbacks. + * + * All APIs that take a callback as argument also take a + * CallbackHandler* which is used to dispatch the + * callback: CallbackHandler::post() method is called from a service thread as soon + * as possible (this will NEVER be the main thread), CallbackHandler::post() + * is responsible for scheduling the callback onto the thread the + * user desires. + * + * This is intended to make callbacks interoperate with + * the platform/OS's own messaging system. + * + * CallbackHandler* can always be nullptr in which case the default handler is used. The + * default handler always dispatches callbacks on filament's main thread opportunistically. + * + * Life time: + * --------- + * + * Filament make no attempts to manage the life time of the CallbackHandler* and never takes + * ownership. + * In particular, this means that the CallbackHandler instance must stay valid until all + * pending callbacks are been dispatched. + * + * Similarly, when shutting down filament, care must be taken to ensure that all pending callbacks + * that might access filament's state have been dispatched. Filament can no longer ensure this + * because callback execution is the responsibility of the CallbackHandler, which is external to + * filament. + * Typically, the concrete CallbackHandler would have a mechanism to drain and/or wait for all + * callbacks to be processed. + * + */ +class CallbackHandler { +public: + using Callback = void(*)(void* user); + + /** + * Schedules the callback to be called onto the appropriate thread. + * Typically this will be the application's main thead. + * + * Must be thread-safe. + */ + virtual void post(void* user, Callback callback) = 0; + +protected: + virtual ~CallbackHandler() = default; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_CALLBACKHANDLER_H diff --git a/web/include/filament/backend/DriverApiForward.h b/web/include/filament/backend/DriverApiForward.h new file mode 100644 index 00000000..9cc56c03 --- /dev/null +++ b/web/include/filament/backend/DriverApiForward.h @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_PRIVATE_DRIVERAPIFORWARD_H +#define TNT_FILAMENT_BACKEND_PRIVATE_DRIVERAPIFORWARD_H + +namespace filament::backend { + +class CommandStream; + +using DriverApi = CommandStream; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_PRIVATE_DRIVERAPIFORWARD_H diff --git a/web/include/filament/backend/DriverEnums.h b/web/include/filament/backend/DriverEnums.h new file mode 100644 index 00000000..919546d6 --- /dev/null +++ b/web/include/filament/backend/DriverEnums.h @@ -0,0 +1,1260 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BACKEND_DRIVERENUMS_H +#define TNT_FILAMENT_BACKEND_DRIVERENUMS_H + +#include +#include // Because we define ERROR in the FenceStatus enum. + +#include + +#include + +#include + +#include // FIXME: STL headers are not allowed in public headers + +#include +#include + +/** + * Types and enums used by filament's driver. + * + * Effectively these types are public but should not be used directly. Instead use public classes + * internal redeclaration of these types. + * For e.g. Use Texture::Sampler instead of filament::SamplerType. + */ +namespace filament::backend { + +/** + * Requests a SwapChain with an alpha channel. + */ +static constexpr uint64_t SWAP_CHAIN_CONFIG_TRANSPARENT = 0x1; + +/** + * This flag indicates that the swap chain may be used as a source surface + * for reading back render results. This config flag must be set when creating + * any SwapChain that will be used as the source for a blit operation. + */ +static constexpr uint64_t SWAP_CHAIN_CONFIG_READABLE = 0x2; + +/** + * Indicates that the native X11 window is an XCB window rather than an XLIB window. + * This is ignored on non-Linux platforms and in builds that support only one X11 API. + */ +static constexpr uint64_t SWAP_CHAIN_CONFIG_ENABLE_XCB = 0x4; + +/** + * Indicates that the native window is a CVPixelBufferRef. + * + * This is only supported by the Metal backend. The CVPixelBuffer must be in the + * kCVPixelFormatType_32BGRA format. + * + * It is not necessary to add an additional retain call before passing the pixel buffer to + * Filament. Filament will call CVPixelBufferRetain during Engine::createSwapChain, and + * CVPixelBufferRelease when the swap chain is destroyed. + */ +static constexpr uint64_t SWAP_CHAIN_CONFIG_APPLE_CVPIXELBUFFER = 0x8; + +/** + * Indicates that the SwapChain must automatically perform linear to srgb encoding. + */ +static constexpr uint64_t SWAP_CHAIN_CONFIG_SRGB_COLORSPACE = 0x10; + +/** + * Indicates that the SwapChain should also contain a stencil component. + */ +static constexpr uint64_t SWAP_CHAIN_HAS_STENCIL_BUFFER = 0x20; + + +static constexpr size_t MAX_VERTEX_ATTRIBUTE_COUNT = 16; // This is guaranteed by OpenGL ES. +static constexpr size_t MAX_SAMPLER_COUNT = 62; // Maximum needed at feature level 3. +static constexpr size_t MAX_VERTEX_BUFFER_COUNT = 16; // Max number of bound buffer objects. +static constexpr size_t MAX_SSBO_COUNT = 4; // This is guaranteed by OpenGL ES. + +// Per feature level caps +// Use (int)FeatureLevel to index this array +static constexpr struct { + const size_t MAX_VERTEX_SAMPLER_COUNT; + const size_t MAX_FRAGMENT_SAMPLER_COUNT; +} FEATURE_LEVEL_CAPS[4] = { + { 0, 0 }, // do not use + { 16, 16 }, // guaranteed by OpenGL ES, Vulkan and Metal + { 16, 16 }, // guaranteed by OpenGL ES, Vulkan and Metal + { 31, 31 }, // guaranteed by Metal +}; + +static_assert(MAX_VERTEX_BUFFER_COUNT <= MAX_VERTEX_ATTRIBUTE_COUNT, + "The number of buffer objects that can be attached to a VertexBuffer must be " + "less than or equal to the maximum number of vertex attributes."); + +static constexpr size_t CONFIG_UNIFORM_BINDING_COUNT = 10; // This is guaranteed by OpenGL ES. +static constexpr size_t CONFIG_SAMPLER_BINDING_COUNT = 4; // This is guaranteed by OpenGL ES. + +/** + * Defines the backend's feature levels. + */ +enum class FeatureLevel : uint8_t { + FEATURE_LEVEL_0 = 0, //!< OpenGL ES 2.0 features + FEATURE_LEVEL_1, //!< OpenGL ES 3.0 features (default) + FEATURE_LEVEL_2, //!< OpenGL ES 3.1 features + 16 textures units + cubemap arrays + FEATURE_LEVEL_3 //!< OpenGL ES 3.1 features + 31 textures units + cubemap arrays +}; + +/** + * Selects which driver a particular Engine should use. + */ +enum class Backend : uint8_t { + DEFAULT = 0, //!< Automatically selects an appropriate driver for the platform. + OPENGL = 1, //!< Selects the OpenGL/ES driver (default on Android) + VULKAN = 2, //!< Selects the Vulkan driver if the platform supports it (default on Linux/Windows) + METAL = 3, //!< Selects the Metal driver if the platform supports it (default on MacOS/iOS). + NOOP = 4, //!< Selects the no-op driver for testing purposes. +}; + +static constexpr const char* backendToString(Backend backend) { + switch (backend) { + case Backend::NOOP: + return "Noop"; + case Backend::OPENGL: + return "OpenGL"; + case Backend::VULKAN: + return "Vulkan"; + case Backend::METAL: + return "Metal"; + default: + return "Unknown"; + } +} + +/** + * Defines the shader language. Similar to the above backend enum, but the OpenGL backend can select + * between two shader languages: ESSL 1.0 and ESSL 3.0. + */ +enum class ShaderLanguage { + ESSL1 = 0, + ESSL3 = 1, + SPIRV = 2, + MSL = 3, +}; + +static constexpr const char* shaderLanguageToString(ShaderLanguage shaderLanguage) { + switch (shaderLanguage) { + case ShaderLanguage::ESSL1: + return "ESSL 1.0"; + case ShaderLanguage::ESSL3: + return "ESSL 3.0"; + case ShaderLanguage::SPIRV: + return "SPIR-V"; + case ShaderLanguage::MSL: + return "MSL"; + } +} + +/** + * Bitmask for selecting render buffers + */ +enum class TargetBufferFlags : uint32_t { + NONE = 0x0u, //!< No buffer selected. + COLOR0 = 0x00000001u, //!< Color buffer selected. + COLOR1 = 0x00000002u, //!< Color buffer selected. + COLOR2 = 0x00000004u, //!< Color buffer selected. + COLOR3 = 0x00000008u, //!< Color buffer selected. + COLOR4 = 0x00000010u, //!< Color buffer selected. + COLOR5 = 0x00000020u, //!< Color buffer selected. + COLOR6 = 0x00000040u, //!< Color buffer selected. + COLOR7 = 0x00000080u, //!< Color buffer selected. + + COLOR = COLOR0, //!< \deprecated + COLOR_ALL = COLOR0 | COLOR1 | COLOR2 | COLOR3 | COLOR4 | COLOR5 | COLOR6 | COLOR7, + DEPTH = 0x10000000u, //!< Depth buffer selected. + STENCIL = 0x20000000u, //!< Stencil buffer selected. + DEPTH_AND_STENCIL = DEPTH | STENCIL, //!< depth and stencil buffer selected. + ALL = COLOR_ALL | DEPTH | STENCIL //!< Color, depth and stencil buffer selected. +}; + +inline constexpr TargetBufferFlags getTargetBufferFlagsAt(size_t index) noexcept { + if (index == 0u) return TargetBufferFlags::COLOR0; + if (index == 1u) return TargetBufferFlags::COLOR1; + if (index == 2u) return TargetBufferFlags::COLOR2; + if (index == 3u) return TargetBufferFlags::COLOR3; + if (index == 4u) return TargetBufferFlags::COLOR4; + if (index == 5u) return TargetBufferFlags::COLOR5; + if (index == 6u) return TargetBufferFlags::COLOR6; + if (index == 7u) return TargetBufferFlags::COLOR7; + if (index == 8u) return TargetBufferFlags::DEPTH; + if (index == 9u) return TargetBufferFlags::STENCIL; + return TargetBufferFlags::NONE; +} + +/** + * Frequency at which a buffer is expected to be modified and used. This is used as an hint + * for the driver to make better decisions about managing memory internally. + */ +enum class BufferUsage : uint8_t { + STATIC, //!< content modified once, used many times + DYNAMIC, //!< content modified frequently, used many times +}; + +/** + * Defines a viewport, which is the origin and extent of the clip-space. + * All drawing is clipped to the viewport. + */ +struct Viewport { + int32_t left; //!< left coordinate in window space. + int32_t bottom; //!< bottom coordinate in window space. + uint32_t width; //!< width in pixels + uint32_t height; //!< height in pixels + //! get the right coordinate in window space of the viewport + int32_t right() const noexcept { return left + int32_t(width); } + //! get the top coordinate in window space of the viewport + int32_t top() const noexcept { return bottom + int32_t(height); } +}; + + +/** + * Specifies the mapping of the near and far clipping plane to window coordinates. + */ +struct DepthRange { + float near = 0.0f; //!< mapping of the near plane to window coordinates. + float far = 1.0f; //!< mapping of the far plane to window coordinates. +}; + +/** + * Error codes for Fence::wait() + * @see Fence, Fence::wait() + */ +enum class FenceStatus : int8_t { + ERROR = -1, //!< An error occurred. The Fence condition is not satisfied. + CONDITION_SATISFIED = 0, //!< The Fence condition is satisfied. + TIMEOUT_EXPIRED = 1, //!< wait()'s timeout expired. The Fence condition is not satisfied. +}; + +/** + * Status codes for sync objects + */ +enum class SyncStatus : int8_t { + ERROR = -1, //!< An error occurred. The Sync is not signaled. + SIGNALED = 0, //!< The Sync is signaled. + NOT_SIGNALED = 1, //!< The Sync is not signaled yet +}; + +static constexpr uint64_t FENCE_WAIT_FOR_EVER = uint64_t(-1); + +/** + * Shader model. + * + * These enumerants are used across all backends and refer to a level of functionality and quality. + * + * For example, the OpenGL backend returns `MOBILE` if it supports OpenGL ES, or `DESKTOP` if it + * supports Desktop OpenGL, this is later used to select the proper shader. + * + * Shader quality vs. performance is also affected by ShaderModel. + */ +enum class ShaderModel : uint8_t { + MOBILE = 1, //!< Mobile level functionality + DESKTOP = 2, //!< Desktop level functionality +}; +static constexpr size_t SHADER_MODEL_COUNT = 2; + +/** + * Primitive types + */ +enum class PrimitiveType : uint8_t { + // don't change the enums values (made to match GL) + POINTS = 0, //!< points + LINES = 1, //!< lines + LINE_STRIP = 3, //!< line strip + TRIANGLES = 4, //!< triangles + TRIANGLE_STRIP = 5 //!< triangle strip +}; + +/** + * Supported uniform types + */ +enum class UniformType : uint8_t { + BOOL, + BOOL2, + BOOL3, + BOOL4, + FLOAT, + FLOAT2, + FLOAT3, + FLOAT4, + INT, + INT2, + INT3, + INT4, + UINT, + UINT2, + UINT3, + UINT4, + MAT3, //!< a 3x3 float matrix + MAT4, //!< a 4x4 float matrix + STRUCT +}; + +/** + * Supported constant parameter types + */ + enum class ConstantType : uint8_t { + INT, + FLOAT, + BOOL +}; + +enum class Precision : uint8_t { + LOW, + MEDIUM, + HIGH, + DEFAULT +}; + +/** + * Shader compiler priority queue + */ +enum class CompilerPriorityQueue : uint8_t { + HIGH, + LOW +}; + +//! Texture sampler type +enum class SamplerType : uint8_t { + SAMPLER_2D, //!< 2D texture + SAMPLER_2D_ARRAY, //!< 2D array texture + SAMPLER_CUBEMAP, //!< Cube map texture + SAMPLER_EXTERNAL, //!< External texture + SAMPLER_3D, //!< 3D texture + SAMPLER_CUBEMAP_ARRAY, //!< Cube map array texture (feature level 2) +}; + +//! Subpass type +enum class SubpassType : uint8_t { + SUBPASS_INPUT +}; + +//! Texture sampler format +enum class SamplerFormat : uint8_t { + INT = 0, //!< signed integer sampler + UINT = 1, //!< unsigned integer sampler + FLOAT = 2, //!< float sampler + SHADOW = 3 //!< shadow sampler (PCF) +}; + +/** + * Supported element types + */ +enum class ElementType : uint8_t { + BYTE, + BYTE2, + BYTE3, + BYTE4, + UBYTE, + UBYTE2, + UBYTE3, + UBYTE4, + SHORT, + SHORT2, + SHORT3, + SHORT4, + USHORT, + USHORT2, + USHORT3, + USHORT4, + INT, + UINT, + FLOAT, + FLOAT2, + FLOAT3, + FLOAT4, + HALF, + HALF2, + HALF3, + HALF4, +}; + +//! Buffer object binding type +enum class BufferObjectBinding : uint8_t { + VERTEX, + UNIFORM, + SHADER_STORAGE +}; + +//! Face culling Mode +enum class CullingMode : uint8_t { + NONE, //!< No culling, front and back faces are visible + FRONT, //!< Front face culling, only back faces are visible + BACK, //!< Back face culling, only front faces are visible + FRONT_AND_BACK //!< Front and Back, geometry is not visible +}; + +//! Pixel Data Format +enum class PixelDataFormat : uint8_t { + R, //!< One Red channel, float + R_INTEGER, //!< One Red channel, integer + RG, //!< Two Red and Green channels, float + RG_INTEGER, //!< Two Red and Green channels, integer + RGB, //!< Three Red, Green and Blue channels, float + RGB_INTEGER, //!< Three Red, Green and Blue channels, integer + RGBA, //!< Four Red, Green, Blue and Alpha channels, float + RGBA_INTEGER, //!< Four Red, Green, Blue and Alpha channels, integer + UNUSED, // used to be rgbm + DEPTH_COMPONENT, //!< Depth, 16-bit or 24-bits usually + DEPTH_STENCIL, //!< Two Depth (24-bits) + Stencil (8-bits) channels + ALPHA //! One Alpha channel, float +}; + +//! Pixel Data Type +enum class PixelDataType : uint8_t { + UBYTE, //!< unsigned byte + BYTE, //!< signed byte + USHORT, //!< unsigned short (16-bit) + SHORT, //!< signed short (16-bit) + UINT, //!< unsigned int (32-bit) + INT, //!< signed int (32-bit) + HALF, //!< half-float (16-bit float) + FLOAT, //!< float (32-bits float) + COMPRESSED, //!< compressed pixels, @see CompressedPixelDataType + UINT_10F_11F_11F_REV, //!< three low precision floating-point numbers + USHORT_565, //!< unsigned int (16-bit), encodes 3 RGB channels + UINT_2_10_10_10_REV, //!< unsigned normalized 10 bits RGB, 2 bits alpha +}; + +//! Compressed pixel data types +enum class CompressedPixelDataType : uint16_t { + // Mandatory in GLES 3.0 and GL 4.3 + EAC_R11, EAC_R11_SIGNED, EAC_RG11, EAC_RG11_SIGNED, + ETC2_RGB8, ETC2_SRGB8, + ETC2_RGB8_A1, ETC2_SRGB8_A1, + ETC2_EAC_RGBA8, ETC2_EAC_SRGBA8, + + // Available everywhere except Android/iOS + DXT1_RGB, DXT1_RGBA, DXT3_RGBA, DXT5_RGBA, + DXT1_SRGB, DXT1_SRGBA, DXT3_SRGBA, DXT5_SRGBA, + + // ASTC formats are available with a GLES extension + RGBA_ASTC_4x4, + RGBA_ASTC_5x4, + RGBA_ASTC_5x5, + RGBA_ASTC_6x5, + RGBA_ASTC_6x6, + RGBA_ASTC_8x5, + RGBA_ASTC_8x6, + RGBA_ASTC_8x8, + RGBA_ASTC_10x5, + RGBA_ASTC_10x6, + RGBA_ASTC_10x8, + RGBA_ASTC_10x10, + RGBA_ASTC_12x10, + RGBA_ASTC_12x12, + SRGB8_ALPHA8_ASTC_4x4, + SRGB8_ALPHA8_ASTC_5x4, + SRGB8_ALPHA8_ASTC_5x5, + SRGB8_ALPHA8_ASTC_6x5, + SRGB8_ALPHA8_ASTC_6x6, + SRGB8_ALPHA8_ASTC_8x5, + SRGB8_ALPHA8_ASTC_8x6, + SRGB8_ALPHA8_ASTC_8x8, + SRGB8_ALPHA8_ASTC_10x5, + SRGB8_ALPHA8_ASTC_10x6, + SRGB8_ALPHA8_ASTC_10x8, + SRGB8_ALPHA8_ASTC_10x10, + SRGB8_ALPHA8_ASTC_12x10, + SRGB8_ALPHA8_ASTC_12x12, + + // RGTC formats available with a GLES extension + RED_RGTC1, // BC4 unsigned + SIGNED_RED_RGTC1, // BC4 signed + RED_GREEN_RGTC2, // BC5 unsigned + SIGNED_RED_GREEN_RGTC2, // BC5 signed + + // BPTC formats available with a GLES extension + RGB_BPTC_SIGNED_FLOAT, // BC6H signed + RGB_BPTC_UNSIGNED_FLOAT,// BC6H unsigned + RGBA_BPTC_UNORM, // BC7 + SRGB_ALPHA_BPTC_UNORM, // BC7 sRGB +}; + +/** Supported texel formats + * These formats are typically used to specify a texture's internal storage format. + * + * Enumerants syntax format + * ======================== + * + * `[components][size][type]` + * + * `components` : List of stored components by this format.\n + * `size` : Size in bit of each component.\n + * `type` : Type this format is stored as.\n + * + * + * Name | Component + * :--------|:------------------------------- + * R | Linear Red + * RG | Linear Red, Green + * RGB | Linear Red, Green, Blue + * RGBA | Linear Red, Green Blue, Alpha + * SRGB | sRGB encoded Red, Green, Blue + * DEPTH | Depth + * STENCIL | Stencil + * + * \n + * Name | Type + * :--------|:--------------------------------------------------- + * (none) | Unsigned Normalized Integer [0, 1] + * _SNORM | Signed Normalized Integer [-1, 1] + * UI | Unsigned Integer @f$ [0, 2^{size}] @f$ + * I | Signed Integer @f$ [-2^{size-1}, 2^{size-1}-1] @f$ + * F | Floating-point + * + * + * Special color formats + * --------------------- + * + * There are a few special color formats that don't follow the convention above: + * + * Name | Format + * :----------------|:-------------------------------------------------------------------------- + * RGB565 | 5-bits for R and B, 6-bits for G. + * RGB5_A1 | 5-bits for R, G and B, 1-bit for A. + * RGB10_A2 | 10-bits for R, G and B, 2-bits for A. + * RGB9_E5 | **Unsigned** floating point. 9-bits mantissa for RGB, 5-bits shared exponent + * R11F_G11F_B10F | **Unsigned** floating point. 6-bits mantissa, for R and G, 5-bits for B. 5-bits exponent. + * SRGB8_A8 | sRGB 8-bits with linear 8-bits alpha. + * DEPTH24_STENCIL8 | 24-bits unsigned normalized integer depth, 8-bits stencil. + * DEPTH32F_STENCIL8| 32-bits floating-point depth, 8-bits stencil. + * + * + * Compressed texture formats + * -------------------------- + * + * Many compressed texture formats are supported as well, which include (but are not limited to) + * the following list: + * + * Name | Format + * :----------------|:-------------------------------------------------------------------------- + * EAC_R11 | Compresses R11UI + * EAC_R11_SIGNED | Compresses R11I + * EAC_RG11 | Compresses RG11UI + * EAC_RG11_SIGNED | Compresses RG11I + * ETC2_RGB8 | Compresses RGB8 + * ETC2_SRGB8 | compresses SRGB8 + * ETC2_EAC_RGBA8 | Compresses RGBA8 + * ETC2_EAC_SRGBA8 | Compresses SRGB8_A8 + * ETC2_RGB8_A1 | Compresses RGB8 with 1-bit alpha + * ETC2_SRGB8_A1 | Compresses sRGB8 with 1-bit alpha + * + * + * @see Texture + */ +enum class TextureFormat : uint16_t { + // 8-bits per element + R8, R8_SNORM, R8UI, R8I, STENCIL8, + + // 16-bits per element + R16F, R16UI, R16I, + RG8, RG8_SNORM, RG8UI, RG8I, + RGB565, + RGB9_E5, // 9995 is actually 32 bpp but it's here for historical reasons. + RGB5_A1, + RGBA4, + DEPTH16, + + // 24-bits per element + RGB8, SRGB8, RGB8_SNORM, RGB8UI, RGB8I, + DEPTH24, + + // 32-bits per element + R32F, R32UI, R32I, + RG16F, RG16UI, RG16I, + R11F_G11F_B10F, + RGBA8, SRGB8_A8,RGBA8_SNORM, + UNUSED, // used to be rgbm + RGB10_A2, RGBA8UI, RGBA8I, + DEPTH32F, DEPTH24_STENCIL8, DEPTH32F_STENCIL8, + + // 48-bits per element + RGB16F, RGB16UI, RGB16I, + + // 64-bits per element + RG32F, RG32UI, RG32I, + RGBA16F, RGBA16UI, RGBA16I, + + // 96-bits per element + RGB32F, RGB32UI, RGB32I, + + // 128-bits per element + RGBA32F, RGBA32UI, RGBA32I, + + // compressed formats + + // Mandatory in GLES 3.0 and GL 4.3 + EAC_R11, EAC_R11_SIGNED, EAC_RG11, EAC_RG11_SIGNED, + ETC2_RGB8, ETC2_SRGB8, + ETC2_RGB8_A1, ETC2_SRGB8_A1, + ETC2_EAC_RGBA8, ETC2_EAC_SRGBA8, + + // Available everywhere except Android/iOS + DXT1_RGB, DXT1_RGBA, DXT3_RGBA, DXT5_RGBA, + DXT1_SRGB, DXT1_SRGBA, DXT3_SRGBA, DXT5_SRGBA, + + // ASTC formats are available with a GLES extension + RGBA_ASTC_4x4, + RGBA_ASTC_5x4, + RGBA_ASTC_5x5, + RGBA_ASTC_6x5, + RGBA_ASTC_6x6, + RGBA_ASTC_8x5, + RGBA_ASTC_8x6, + RGBA_ASTC_8x8, + RGBA_ASTC_10x5, + RGBA_ASTC_10x6, + RGBA_ASTC_10x8, + RGBA_ASTC_10x10, + RGBA_ASTC_12x10, + RGBA_ASTC_12x12, + SRGB8_ALPHA8_ASTC_4x4, + SRGB8_ALPHA8_ASTC_5x4, + SRGB8_ALPHA8_ASTC_5x5, + SRGB8_ALPHA8_ASTC_6x5, + SRGB8_ALPHA8_ASTC_6x6, + SRGB8_ALPHA8_ASTC_8x5, + SRGB8_ALPHA8_ASTC_8x6, + SRGB8_ALPHA8_ASTC_8x8, + SRGB8_ALPHA8_ASTC_10x5, + SRGB8_ALPHA8_ASTC_10x6, + SRGB8_ALPHA8_ASTC_10x8, + SRGB8_ALPHA8_ASTC_10x10, + SRGB8_ALPHA8_ASTC_12x10, + SRGB8_ALPHA8_ASTC_12x12, + + // RGTC formats available with a GLES extension + RED_RGTC1, // BC4 unsigned + SIGNED_RED_RGTC1, // BC4 signed + RED_GREEN_RGTC2, // BC5 unsigned + SIGNED_RED_GREEN_RGTC2, // BC5 signed + + // BPTC formats available with a GLES extension + RGB_BPTC_SIGNED_FLOAT, // BC6H signed + RGB_BPTC_UNSIGNED_FLOAT,// BC6H unsigned + RGBA_BPTC_UNORM, // BC7 + SRGB_ALPHA_BPTC_UNORM, // BC7 sRGB +}; + +//! Bitmask describing the intended Texture Usage +enum class TextureUsage : uint8_t { + NONE = 0x00, + COLOR_ATTACHMENT = 0x01, //!< Texture can be used as a color attachment + DEPTH_ATTACHMENT = 0x02, //!< Texture can be used as a depth attachment + STENCIL_ATTACHMENT = 0x04, //!< Texture can be used as a stencil attachment + UPLOADABLE = 0x08, //!< Data can be uploaded into this texture (default) + SAMPLEABLE = 0x10, //!< Texture can be sampled (default) + SUBPASS_INPUT = 0x20, //!< Texture can be used as a subpass input + BLIT_SRC = 0x40, //!< Texture can be used the source of a blit() + BLIT_DST = 0x80, //!< Texture can be used the destination of a blit() + DEFAULT = UPLOADABLE | SAMPLEABLE //!< Default texture usage +}; + +//! Texture swizzle +enum class TextureSwizzle : uint8_t { + SUBSTITUTE_ZERO, + SUBSTITUTE_ONE, + CHANNEL_0, + CHANNEL_1, + CHANNEL_2, + CHANNEL_3 +}; + +//! returns whether this format a depth format +static constexpr bool isDepthFormat(TextureFormat format) noexcept { + switch (format) { + case TextureFormat::DEPTH32F: + case TextureFormat::DEPTH24: + case TextureFormat::DEPTH16: + case TextureFormat::DEPTH32F_STENCIL8: + case TextureFormat::DEPTH24_STENCIL8: + return true; + default: + return false; + } +} + +static constexpr bool isStencilFormat(TextureFormat format) noexcept { + switch (format) { + case TextureFormat::STENCIL8: + case TextureFormat::DEPTH24_STENCIL8: + case TextureFormat::DEPTH32F_STENCIL8: + return true; + default: + return false; + } +} + +static constexpr bool isUnsignedIntFormat(TextureFormat format) { + switch (format) { + case TextureFormat::R8UI: + case TextureFormat::R16UI: + case TextureFormat::R32UI: + case TextureFormat::RG8UI: + case TextureFormat::RG16UI: + case TextureFormat::RG32UI: + case TextureFormat::RGB8UI: + case TextureFormat::RGB16UI: + case TextureFormat::RGB32UI: + case TextureFormat::RGBA8UI: + case TextureFormat::RGBA16UI: + case TextureFormat::RGBA32UI: + return true; + + default: + return false; + } +} + +static constexpr bool isSignedIntFormat(TextureFormat format) { + switch (format) { + case TextureFormat::R8I: + case TextureFormat::R16I: + case TextureFormat::R32I: + case TextureFormat::RG8I: + case TextureFormat::RG16I: + case TextureFormat::RG32I: + case TextureFormat::RGB8I: + case TextureFormat::RGB16I: + case TextureFormat::RGB32I: + case TextureFormat::RGBA8I: + case TextureFormat::RGBA16I: + case TextureFormat::RGBA32I: + return true; + + default: + return false; + } +} + +//! returns whether this format is a compressed format +static constexpr bool isCompressedFormat(TextureFormat format) noexcept { + return format >= TextureFormat::EAC_R11; +} + +//! returns whether this format is an ETC2 compressed format +static constexpr bool isETC2Compression(TextureFormat format) noexcept { + return format >= TextureFormat::EAC_R11 && format <= TextureFormat::ETC2_EAC_SRGBA8; +} + +//! returns whether this format is an S3TC compressed format +static constexpr bool isS3TCCompression(TextureFormat format) noexcept { + return format >= TextureFormat::DXT1_RGB && format <= TextureFormat::DXT5_SRGBA; +} + +static constexpr bool isS3TCSRGBCompression(TextureFormat format) noexcept { + return format >= TextureFormat::DXT1_SRGB && format <= TextureFormat::DXT5_SRGBA; +} + +//! returns whether this format is an RGTC compressed format +static constexpr bool isRGTCCompression(TextureFormat format) noexcept { + return format >= TextureFormat::RED_RGTC1 && format <= TextureFormat::SIGNED_RED_GREEN_RGTC2; +} + +//! returns whether this format is an BPTC compressed format +static constexpr bool isBPTCCompression(TextureFormat format) noexcept { + return format >= TextureFormat::RGB_BPTC_SIGNED_FLOAT && format <= TextureFormat::SRGB_ALPHA_BPTC_UNORM; +} + +static constexpr bool isASTCCompression(TextureFormat format) noexcept { + return format >= TextureFormat::RGBA_ASTC_4x4 && format <= TextureFormat::SRGB8_ALPHA8_ASTC_12x12; +} + +//! Texture Cubemap Face +enum class TextureCubemapFace : uint8_t { + // don't change the enums values + POSITIVE_X = 0, //!< +x face + NEGATIVE_X = 1, //!< -x face + POSITIVE_Y = 2, //!< +y face + NEGATIVE_Y = 3, //!< -y face + POSITIVE_Z = 4, //!< +z face + NEGATIVE_Z = 5, //!< -z face +}; + +//! Sampler Wrap mode +enum class SamplerWrapMode : uint8_t { + CLAMP_TO_EDGE, //!< clamp-to-edge. The edge of the texture extends to infinity. + REPEAT, //!< repeat. The texture infinitely repeats in the wrap direction. + MIRRORED_REPEAT, //!< mirrored-repeat. The texture infinitely repeats and mirrors in the wrap direction. +}; + +//! Sampler minification filter +enum class SamplerMinFilter : uint8_t { + // don't change the enums values + NEAREST = 0, //!< No filtering. Nearest neighbor is used. + LINEAR = 1, //!< Box filtering. Weighted average of 4 neighbors is used. + NEAREST_MIPMAP_NEAREST = 2, //!< Mip-mapping is activated. But no filtering occurs. + LINEAR_MIPMAP_NEAREST = 3, //!< Box filtering within a mip-map level. + NEAREST_MIPMAP_LINEAR = 4, //!< Mip-map levels are interpolated, but no other filtering occurs. + LINEAR_MIPMAP_LINEAR = 5 //!< Both interpolated Mip-mapping and linear filtering are used. +}; + +//! Sampler magnification filter +enum class SamplerMagFilter : uint8_t { + // don't change the enums values + NEAREST = 0, //!< No filtering. Nearest neighbor is used. + LINEAR = 1, //!< Box filtering. Weighted average of 4 neighbors is used. +}; + +//! Sampler compare mode +enum class SamplerCompareMode : uint8_t { + // don't change the enums values + NONE = 0, + COMPARE_TO_TEXTURE = 1 +}; + +//! comparison function for the depth / stencil sampler +enum class SamplerCompareFunc : uint8_t { + // don't change the enums values + LE = 0, //!< Less or equal + GE, //!< Greater or equal + L, //!< Strictly less than + G, //!< Strictly greater than + E, //!< Equal + NE, //!< Not equal + A, //!< Always. Depth / stencil testing is deactivated. + N //!< Never. The depth / stencil test always fails. +}; + +//! Sampler parameters +struct SamplerParams { // NOLINT + SamplerMagFilter filterMag : 1; //!< magnification filter (NEAREST) + SamplerMinFilter filterMin : 3; //!< minification filter (NEAREST) + SamplerWrapMode wrapS : 2; //!< s-coordinate wrap mode (CLAMP_TO_EDGE) + SamplerWrapMode wrapT : 2; //!< t-coordinate wrap mode (CLAMP_TO_EDGE) + + SamplerWrapMode wrapR : 2; //!< r-coordinate wrap mode (CLAMP_TO_EDGE) + uint8_t anisotropyLog2 : 3; //!< anisotropy level (0) + SamplerCompareMode compareMode : 1; //!< sampler compare mode (NONE) + uint8_t padding0 : 2; //!< reserved. must be 0. + + SamplerCompareFunc compareFunc : 3; //!< sampler comparison function (LE) + uint8_t padding1 : 5; //!< reserved. must be 0. + uint8_t padding2 : 8; //!< reserved. must be 0. + + struct Hasher { + size_t operator()(SamplerParams p) const noexcept { + // we don't use std::hash<> here, so we don't have to include + return *reinterpret_cast(reinterpret_cast(&p)); + } + }; + + struct EqualTo { + bool operator()(SamplerParams lhs, SamplerParams rhs) const noexcept { + auto* pLhs = reinterpret_cast(reinterpret_cast(&lhs)); + auto* pRhs = reinterpret_cast(reinterpret_cast(&rhs)); + return *pLhs == *pRhs; + } + }; + + struct LessThan { + bool operator()(SamplerParams lhs, SamplerParams rhs) const noexcept { + auto* pLhs = reinterpret_cast(reinterpret_cast(&lhs)); + auto* pRhs = reinterpret_cast(reinterpret_cast(&rhs)); + return *pLhs == *pRhs; + } + }; + +private: + friend inline bool operator < (SamplerParams lhs, SamplerParams rhs) noexcept { + return SamplerParams::LessThan{}(lhs, rhs); + } +}; +static_assert(sizeof(SamplerParams) == 4); + +// The limitation to 64-bits max comes from how we store a SamplerParams in our JNI code +// see android/.../TextureSampler.cpp +static_assert(sizeof(SamplerParams) <= sizeof(uint64_t), + "SamplerParams must be no more than 64 bits"); + +//! blending equation function +enum class BlendEquation : uint8_t { + ADD, //!< the fragment is added to the color buffer + SUBTRACT, //!< the fragment is subtracted from the color buffer + REVERSE_SUBTRACT, //!< the color buffer is subtracted from the fragment + MIN, //!< the min between the fragment and color buffer + MAX //!< the max between the fragment and color buffer +}; + +//! blending function +enum class BlendFunction : uint8_t { + ZERO, //!< f(src, dst) = 0 + ONE, //!< f(src, dst) = 1 + SRC_COLOR, //!< f(src, dst) = src + ONE_MINUS_SRC_COLOR, //!< f(src, dst) = 1-src + DST_COLOR, //!< f(src, dst) = dst + ONE_MINUS_DST_COLOR, //!< f(src, dst) = 1-dst + SRC_ALPHA, //!< f(src, dst) = src.a + ONE_MINUS_SRC_ALPHA, //!< f(src, dst) = 1-src.a + DST_ALPHA, //!< f(src, dst) = dst.a + ONE_MINUS_DST_ALPHA, //!< f(src, dst) = 1-dst.a + SRC_ALPHA_SATURATE //!< f(src, dst) = (1,1,1) * min(src.a, 1 - dst.a), 1 +}; + +//! stencil operation +enum class StencilOperation : uint8_t { + KEEP, //!< Keeps the current value. + ZERO, //!< Sets the value to 0. + REPLACE, //!< Sets the value to the stencil reference value. + INCR, //!< Increments the current value. Clamps to the maximum representable unsigned value. + INCR_WRAP, //!< Increments the current value. Wraps value to zero when incrementing the maximum representable unsigned value. + DECR, //!< Decrements the current value. Clamps to 0. + DECR_WRAP, //!< Decrements the current value. Wraps value to the maximum representable unsigned value when decrementing a value of zero. + INVERT, //!< Bitwise inverts the current value. +}; + +//! stencil faces +enum class StencilFace : uint8_t { + FRONT = 0x1, //!< Update stencil state for front-facing polygons. + BACK = 0x2, //!< Update stencil state for back-facing polygons. + FRONT_AND_BACK = FRONT | BACK, //!< Update stencil state for all polygons. +}; + +//! Stream for external textures +enum class StreamType { + NATIVE, //!< Not synchronized but copy-free. Good for video. + ACQUIRED, //!< Synchronized, copy-free, and take a release callback. Good for AR but requires API 26+. +}; + +//! Releases an ACQUIRED external texture, guaranteed to be called on the application thread. +using StreamCallback = void(*)(void* image, void* user); + +//! Vertex attribute descriptor +struct Attribute { + //! attribute is normalized (remapped between 0 and 1) + static constexpr uint8_t FLAG_NORMALIZED = 0x1; + //! attribute is an integer + static constexpr uint8_t FLAG_INTEGER_TARGET = 0x2; + static constexpr uint8_t BUFFER_UNUSED = 0xFF; + uint32_t offset = 0; //!< attribute offset in bytes + uint8_t stride = 0; //!< attribute stride in bytes + uint8_t buffer = BUFFER_UNUSED; //!< attribute buffer index + ElementType type = ElementType::BYTE; //!< attribute element type + uint8_t flags = 0x0; //!< attribute flags +}; + +using AttributeArray = std::array; + +//! Raster state descriptor +struct RasterState { + + using CullingMode = backend::CullingMode; + using DepthFunc = backend::SamplerCompareFunc; + using BlendEquation = backend::BlendEquation; + using BlendFunction = backend::BlendFunction; + + RasterState() noexcept { // NOLINT + static_assert(sizeof(RasterState) == sizeof(uint32_t), + "RasterState size not what was intended"); + culling = CullingMode::BACK; + blendEquationRGB = BlendEquation::ADD; + blendEquationAlpha = BlendEquation::ADD; + blendFunctionSrcRGB = BlendFunction::ONE; + blendFunctionSrcAlpha = BlendFunction::ONE; + blendFunctionDstRGB = BlendFunction::ZERO; + blendFunctionDstAlpha = BlendFunction::ZERO; + } + + bool operator == (RasterState rhs) const noexcept { return u == rhs.u; } + bool operator != (RasterState rhs) const noexcept { return u != rhs.u; } + + void disableBlending() noexcept { + blendEquationRGB = BlendEquation::ADD; + blendEquationAlpha = BlendEquation::ADD; + blendFunctionSrcRGB = BlendFunction::ONE; + blendFunctionSrcAlpha = BlendFunction::ONE; + blendFunctionDstRGB = BlendFunction::ZERO; + blendFunctionDstAlpha = BlendFunction::ZERO; + } + + // note: clang reduces this entire function to a simple load/mask/compare + bool hasBlending() const noexcept { + // This is used to decide if blending needs to be enabled in the h/w + return !(blendEquationRGB == BlendEquation::ADD && + blendEquationAlpha == BlendEquation::ADD && + blendFunctionSrcRGB == BlendFunction::ONE && + blendFunctionSrcAlpha == BlendFunction::ONE && + blendFunctionDstRGB == BlendFunction::ZERO && + blendFunctionDstAlpha == BlendFunction::ZERO); + } + + union { + struct { + //! culling mode + CullingMode culling : 2; // 2 + + //! blend equation for the red, green and blue components + BlendEquation blendEquationRGB : 3; // 5 + //! blend equation for the alpha component + BlendEquation blendEquationAlpha : 3; // 8 + + //! blending function for the source color + BlendFunction blendFunctionSrcRGB : 4; // 12 + //! blending function for the source alpha + BlendFunction blendFunctionSrcAlpha : 4; // 16 + //! blending function for the destination color + BlendFunction blendFunctionDstRGB : 4; // 20 + //! blending function for the destination alpha + BlendFunction blendFunctionDstAlpha : 4; // 24 + + //! Whether depth-buffer writes are enabled + bool depthWrite : 1; // 25 + //! Depth test function + DepthFunc depthFunc : 3; // 28 + + //! Whether color-buffer writes are enabled + bool colorWrite : 1; // 29 + + //! use alpha-channel as coverage mask for anti-aliasing + bool alphaToCoverage : 1; // 30 + + //! whether front face winding direction must be inverted + bool inverseFrontFaces : 1; // 31 + + //! padding, must be 0 + uint8_t padding : 1; // 32 + }; + uint32_t u = 0; + }; +}; + +/** + ********************************************************************************************** + * \privatesection + */ + +enum class ShaderStage : uint8_t { + VERTEX = 0, + FRAGMENT = 1, + COMPUTE = 2 +}; + +static constexpr size_t PIPELINE_STAGE_COUNT = 2; +enum class ShaderStageFlags : uint8_t { + NONE = 0, + VERTEX = 0x1, + FRAGMENT = 0x2, + COMPUTE = 0x4, + ALL_SHADER_STAGE_FLAGS = VERTEX | FRAGMENT | COMPUTE +}; + +static inline constexpr bool hasShaderType(ShaderStageFlags flags, ShaderStage type) noexcept { + switch (type) { + case ShaderStage::VERTEX: + return bool(uint8_t(flags) & uint8_t(ShaderStageFlags::VERTEX)); + case ShaderStage::FRAGMENT: + return bool(uint8_t(flags) & uint8_t(ShaderStageFlags::FRAGMENT)); + case ShaderStage::COMPUTE: + return bool(uint8_t(flags) & uint8_t(ShaderStageFlags::COMPUTE)); + } +} + +/** + * Selects which buffers to clear at the beginning of the render pass, as well as which buffers + * can be discarded at the beginning and end of the render pass. + * + */ +struct RenderPassFlags { + /** + * bitmask indicating which buffers to clear at the beginning of a render pass. + * This implies discard. + */ + TargetBufferFlags clear; + + /** + * bitmask indicating which buffers to discard at the beginning of a render pass. + * Discarded buffers have uninitialized content, they must be entirely drawn over or cleared. + */ + TargetBufferFlags discardStart; + + /** + * bitmask indicating which buffers to discard at the end of a render pass. + * Discarded buffers' content becomes invalid, they must not be read from again. + */ + TargetBufferFlags discardEnd; +}; + +/** + * Parameters of a render pass. + */ +struct RenderPassParams { + RenderPassFlags flags{}; //!< operations performed on the buffers for this pass + + Viewport viewport{}; //!< viewport for this pass + DepthRange depthRange{}; //!< depth range for this pass + + //! Color to use to clear the COLOR buffer. RenderPassFlags::clear must be set. + math::float4 clearColor = {}; + + //! Depth value to clear the depth buffer with + double clearDepth = 0.0; + + //! Stencil value to clear the stencil buffer with + uint32_t clearStencil = 0; + + /** + * The subpass mask specifies which color attachments are designated for read-back in the second + * subpass. If this is zero, the render pass has only one subpass. The least significant bit + * specifies that the first color attachment in the render target is a subpass input. + * + * For now only 2 subpasses are supported, so only the lower 8 bits are used, one for each color + * attachment (see MRT::MAX_SUPPORTED_RENDER_TARGET_COUNT). + */ + uint16_t subpassMask = 0; + + /** + * This mask makes a promise to the backend about read-only usage of the depth attachment (bit + * 0) and the stencil attachment (bit 1). Some backends need to know if writes are disabled in + * order to allow sampling from the depth attachment. + */ + uint16_t readOnlyDepthStencil = 0; + + static constexpr uint16_t READONLY_DEPTH = 1 << 0; + static constexpr uint16_t READONLY_STENCIL = 1 << 1; +}; + +struct PolygonOffset { + float slope = 0; // factor in GL-speak + float constant = 0; // units in GL-speak +}; + +struct StencilState { + using StencilFunction = SamplerCompareFunc; + + struct StencilOperations { + //! Stencil test function + StencilFunction stencilFunc : 3; // 3 + + //! Stencil operation when stencil test fails + StencilOperation stencilOpStencilFail : 3; // 6 + + uint8_t padding0 : 2; // 8 + + //! Stencil operation when stencil test passes but depth test fails + StencilOperation stencilOpDepthFail : 3; // 11 + + //! Stencil operation when both stencil and depth test pass + StencilOperation stencilOpDepthStencilPass : 3; // 14 + + uint8_t padding1 : 2; // 16 + + //! Reference value for stencil comparison tests and updates + uint8_t ref; // 24 + + //! Masks the bits of the stencil values participating in the stencil comparison test. + uint8_t readMask; // 32 + + //! Masks the bits of the stencil values updated by the stencil test. + uint8_t writeMask; // 40 + }; + + //! Stencil operations for front-facing polygons + StencilOperations front = { + .stencilFunc = StencilFunction::A, .ref = 0, .readMask = 0xff, .writeMask = 0xff }; + + //! Stencil operations for back-facing polygons + StencilOperations back = { + .stencilFunc = StencilFunction::A, .ref = 0, .readMask = 0xff, .writeMask = 0xff }; + + //! Whether stencil-buffer writes are enabled + bool stencilWrite = false; + + uint8_t padding = 0; +}; + +static_assert(sizeof(StencilState::StencilOperations) == 5u, + "StencilOperations size not what was intended"); + +static_assert(sizeof(StencilState) == 12u, + "StencilState size not what was intended"); + +using FrameScheduledCallback = void(*)(PresentCallable callable, void* user); + +enum class Workaround : uint16_t { + // The EASU pass must split because shader compiler flattens early-exit branch + SPLIT_EASU, + // Backend allows feedback loop with ancillary buffers (depth/stencil) as long as they're + // read-only for the whole render pass. + ALLOW_READ_ONLY_ANCILLARY_FEEDBACK_LOOP, + // for some uniform arrays, it's needed to do an initialization to avoid crash on adreno gpu + ADRENO_UNIFORM_ARRAY_CRASH, + // Workaround a Metal pipeline compilation error with the message: + // "Could not statically determine the target of a texture". See light_indirect.fs + A8X_STATIC_TEXTURE_TARGET_ERROR, + // Adreno drivers sometimes aren't able to blit into a layer of a texture array. + DISABLE_BLIT_INTO_TEXTURE_ARRAY, + // Multiple workarounds needed for PowerVR GPUs + POWER_VR_SHADER_WORKAROUNDS, + // The driver has some threads pinned, and we can't easily know on which core, it can hurt + // performance more if we end-up pinned on the same one. + DISABLE_THREAD_AFFINITY +}; + +} // namespace filament::backend + +template<> struct utils::EnableBitMaskOperators + : public std::true_type {}; +template<> struct utils::EnableBitMaskOperators + : public std::true_type {}; +template<> struct utils::EnableBitMaskOperators + : public std::true_type {}; +template<> struct utils::EnableBitMaskOperators + : public std::true_type {}; +template<> struct utils::EnableIntegerOperators + : public std::true_type {}; +template<> struct utils::EnableIntegerOperators + : public std::true_type {}; + +#if !defined(NDEBUG) +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::BufferUsage usage); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::CullingMode mode); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::ElementType type); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::PixelDataFormat format); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::PixelDataType type); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::Precision precision); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::PrimitiveType type); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::TargetBufferFlags f); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerCompareFunc func); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerCompareMode mode); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerFormat format); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerMagFilter filter); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerMinFilter filter); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerParams params); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerType type); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::SamplerWrapMode wrap); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::ShaderModel model); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::TextureCubemapFace face); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::TextureFormat format); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::TextureUsage usage); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::BufferObjectBinding binding); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::TextureSwizzle swizzle); +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::AttributeArray& type); +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::PolygonOffset& po); +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::RasterState& rs); +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::RenderPassParams& b); +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::Viewport& v); +utils::io::ostream& operator<<(utils::io::ostream& out, filament::backend::ShaderStageFlags stageFlags); +#endif + +#endif // TNT_FILAMENT_BACKEND_DRIVERENUMS_H diff --git a/web/include/filament/backend/Handle.h b/web/include/filament/backend/Handle.h new file mode 100644 index 00000000..04e83809 --- /dev/null +++ b/web/include/filament/backend/Handle.h @@ -0,0 +1,134 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_HANDLE_H +#define TNT_FILAMENT_BACKEND_HANDLE_H + +#include +#if !defined(NDEBUG) +#include +#endif +#include + +#include + +#include +#include + +namespace filament::backend { + +struct HwBufferObject; +struct HwFence; +struct HwIndexBuffer; +struct HwProgram; +struct HwRenderPrimitive; +struct HwRenderTarget; +struct HwSamplerGroup; +struct HwStream; +struct HwSwapChain; +struct HwTexture; +struct HwTimerQuery; +struct HwVertexBuffer; + +/* + * A handle to a backend resource. HandleBase is for internal use only. + * HandleBase *must* be a trivial for the purposes of calls, that is, it cannot have user-defined + * copy or move constructors. + */ + +//! \privatesection + +class HandleBase { +public: + using HandleId = uint32_t; + static constexpr const HandleId nullid = HandleId{ std::numeric_limits::max() }; + + constexpr HandleBase() noexcept: object(nullid) {} + + // whether this Handle is initialized + explicit operator bool() const noexcept { return object != nullid; } + + // clear the handle, this doesn't free associated resources + void clear() noexcept { object = nullid; } + + // compare handles + bool operator==(const HandleBase& rhs) const noexcept { return object == rhs.object; } + bool operator!=(const HandleBase& rhs) const noexcept { return object != rhs.object; } + bool operator<(const HandleBase& rhs) const noexcept { return object < rhs.object; } + bool operator<=(const HandleBase& rhs) const noexcept { return object <= rhs.object; } + bool operator>(const HandleBase& rhs) const noexcept { return object > rhs.object; } + bool operator>=(const HandleBase& rhs) const noexcept { return object >= rhs.object; } + + // get this handle's handleId + HandleId getId() const noexcept { return object; } + + // initialize a handle, for internal use only. + explicit HandleBase(HandleId id) noexcept : object(id) { + assert_invariant(object != nullid); // usually means an uninitialized handle is used + } + +protected: + HandleBase(HandleBase const& rhs) noexcept = default; + HandleBase& operator=(HandleBase const& rhs) noexcept = default; + +private: + HandleId object; +}; + +/** + * Type-safe handle to backend resources + * @tparam T Type of the resource + */ +template +struct Handle : public HandleBase { + + Handle() noexcept = default; + + Handle(Handle const& rhs) noexcept = default; + + Handle& operator=(Handle const& rhs) noexcept = default; + + explicit Handle(HandleId id) noexcept : HandleBase(id) { } + + // type-safe Handle cast + template::value> > + Handle(Handle const& base) noexcept : HandleBase(base) { } // NOLINT(hicpp-explicit-conversions,google-explicit-constructor) + +private: +#if !defined(NDEBUG) + template + friend utils::io::ostream& operator<<(utils::io::ostream& out, const Handle& h) noexcept; +#endif +}; + +// Types used by the command stream +// (we use this renaming because the macro-system doesn't deal well with "<" and ">") +using BufferObjectHandle = Handle; +using FenceHandle = Handle; +using IndexBufferHandle = Handle; +using ProgramHandle = Handle; +using RenderPrimitiveHandle = Handle; +using RenderTargetHandle = Handle; +using SamplerGroupHandle = Handle; +using StreamHandle = Handle; +using SwapChainHandle = Handle; +using TextureHandle = Handle; +using TimerQueryHandle = Handle; +using VertexBufferHandle = Handle; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_HANDLE_H diff --git a/web/include/filament/backend/PipelineState.h b/web/include/filament/backend/PipelineState.h new file mode 100644 index 00000000..8b31c5f3 --- /dev/null +++ b/web/include/filament/backend/PipelineState.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_PIPELINESTATE_H +#define TNT_FILAMENT_BACKEND_PIPELINESTATE_H + +#include +#include + +#include + +#include + +namespace filament::backend { + +//! \privatesection + +struct PipelineState { + Handle program; + RasterState rasterState; + StencilState stencilState; + PolygonOffset polygonOffset; + Viewport scissor{ 0, 0, + (uint32_t)std::numeric_limits::max(), + (uint32_t)std::numeric_limits::max() + }; +}; + +} // namespace filament::backend + +#if !defined(NDEBUG) +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::PipelineState& ps); +#endif + +#endif //TNT_FILAMENT_BACKEND_PIPELINESTATE_H diff --git a/web/include/filament/backend/PixelBufferDescriptor.h b/web/include/filament/backend/PixelBufferDescriptor.h new file mode 100644 index 00000000..67564fcc --- /dev/null +++ b/web/include/filament/backend/PixelBufferDescriptor.h @@ -0,0 +1,317 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BACKEND_PIXELBUFFERDESCRIPTOR_H +#define TNT_FILAMENT_BACKEND_PIXELBUFFERDESCRIPTOR_H + +#include +#include + +#include +#include + +#include +#include + +namespace filament::backend { + +/** + * A descriptor to an image in main memory, typically used to transfer image data from the CPU + * to the GPU. + * + * A PixelBufferDescriptor owns the memory buffer it references, therefore PixelBufferDescriptor + * cannot be copied, but can be moved. + * + * PixelBufferDescriptor releases ownership of the memory-buffer when it's destroyed. + */ +class UTILS_PUBLIC PixelBufferDescriptor : public BufferDescriptor { +public: + using PixelDataFormat = backend::PixelDataFormat; + using PixelDataType = backend::PixelDataType; + + PixelBufferDescriptor() = default; + + /** + * Creates a new PixelBufferDescriptor referencing an image in main memory + * + * @param buffer Virtual address of the buffer containing the image + * @param size Size in bytes of the buffer containing the image + * @param format Format of the image pixels + * @param type Type of the image pixels + * @param alignment Alignment in bytes of pixel rows + * @param left Left coordinate in pixels + * @param top Top coordinate in pixels + * @param stride Stride of a row in pixels + * @param handler Handler to dispatch the callback or nullptr for the default handler + * @param callback A callback used to release the CPU buffer + * @param user An opaque user pointer passed to the callback function when it's called + */ + PixelBufferDescriptor(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, uint8_t alignment, + uint32_t left, uint32_t top, uint32_t stride, + CallbackHandler* handler, Callback callback, void* user = nullptr) noexcept + : BufferDescriptor(buffer, size, handler, callback, user), + left(left), top(top), stride(stride), + format(format), type(type), alignment(alignment) { + } + + PixelBufferDescriptor(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, uint8_t alignment = 1, + uint32_t left = 0, uint32_t top = 0, uint32_t stride = 0, + Callback callback = nullptr, void* user = nullptr) noexcept + : BufferDescriptor(buffer, size, callback, user), + left(left), top(top), stride(stride), + format(format), type(type), alignment(alignment) { + } + + /** + * Creates a new PixelBufferDescriptor referencing an image in main memory + * + * @param buffer Virtual address of the buffer containing the image + * @param size Size in bytes of the buffer containing the image + * @param format Format of the image pixels + * @param type Type of the image pixels + * @param handler Handler to dispatch the callback or nullptr for the default handler + * @param callback A callback used to release the CPU buffer + * @param user An opaque user pointer passed to the callback function when it's called + */ + PixelBufferDescriptor(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, + CallbackHandler* handler, Callback callback, void* user = nullptr) noexcept + : BufferDescriptor(buffer, size, handler, callback, user), + stride(0), format(format), type(type), alignment(1) { + } + + PixelBufferDescriptor(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, + Callback callback, void* user = nullptr) noexcept + : BufferDescriptor(buffer, size, callback, user), + stride(0), format(format), type(type), alignment(1) { + } + + + /** + * Creates a new PixelBufferDescriptor referencing a compressed image in main memory + * + * @param buffer Virtual address of the buffer containing the image + * @param size Size in bytes of the buffer containing the image + * @param format Compressed format of the image + * @param imageSize Compressed size of the image + * @param handler Handler to dispatch the callback or nullptr for the default handler + * @param callback A callback used to release the CPU buffer + * @param user An opaque user pointer passed to the callback function when it's called + */ + PixelBufferDescriptor(void const* buffer, size_t size, + backend::CompressedPixelDataType format, uint32_t imageSize, + CallbackHandler* handler, Callback callback, void* user = nullptr) noexcept + : BufferDescriptor(buffer, size, handler, callback, user), + imageSize(imageSize), compressedFormat(format), type(PixelDataType::COMPRESSED), + alignment(1) { + } + + PixelBufferDescriptor(void const* buffer, size_t size, + backend::CompressedPixelDataType format, uint32_t imageSize, + Callback callback, void* user = nullptr) noexcept + : BufferDescriptor(buffer, size, callback, user), + imageSize(imageSize), compressedFormat(format), type(PixelDataType::COMPRESSED), + alignment(1) { + } + + // -------------------------------------------------------------------------------------------- + + template + static PixelBufferDescriptor make(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, uint8_t alignment, + uint32_t left, uint32_t top, uint32_t stride, T* data, + CallbackHandler* handler = nullptr) noexcept { + return { buffer, size, format, type, alignment, left, top, stride, + handler, [](void* b, size_t s, void* u) { + (static_cast(u)->*method)(b, s); }, data }; + } + + template + static PixelBufferDescriptor make(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, T* data, + CallbackHandler* handler = nullptr) noexcept { + return { buffer, size, format, type, handler, [](void* b, size_t s, void* u) { + (static_cast(u)->*method)(b, s); }, data }; + } + + template + static PixelBufferDescriptor make(void const* buffer, size_t size, + backend::CompressedPixelDataType format, uint32_t imageSize, T* data, + CallbackHandler* handler = nullptr) noexcept { + return { buffer, size, format, imageSize, handler, [](void* b, size_t s, void* u) { + (static_cast(u)->*method)(b, s); }, data + }; + } + + template + static PixelBufferDescriptor make(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, uint8_t alignment, + uint32_t left, uint32_t top, uint32_t stride, T&& functor, + CallbackHandler* handler = nullptr) noexcept { + return { buffer, size, format, type, alignment, left, top, stride, + handler, [](void* b, size_t s, void* u) { + T* const that = static_cast(u); + that->operator()(b, s); + delete that; + }, new T(std::forward(functor)) + }; + } + + template + static PixelBufferDescriptor make(void const* buffer, size_t size, + PixelDataFormat format, PixelDataType type, T&& functor, + CallbackHandler* handler = nullptr) noexcept { + return { buffer, size, format, type, + handler, [](void* b, size_t s, void* u) { + T* const that = static_cast(u); + that->operator()(b, s); + delete that; + }, new T(std::forward(functor)) + }; + } + + template + static PixelBufferDescriptor make(void const* buffer, size_t size, + backend::CompressedPixelDataType format, uint32_t imageSize, T&& functor, + CallbackHandler* handler = nullptr) noexcept { + return { buffer, size, format, imageSize, + handler, [](void* b, size_t s, void* u) { + T* const that = static_cast(u); + that->operator()(b, s); + delete that; + }, new T(std::forward(functor)) + }; + } + + // -------------------------------------------------------------------------------------------- + + /** + * Computes the size in bytes needed to fit an image of given dimensions and format + * + * @param format Format of the image pixels + * @param type Type of the image pixels + * @param stride Stride of a row in pixels + * @param height Height of the image in rows + * @param alignment Alignment in bytes of pixel rows + * @return The buffer size needed to fit this image in bytes + */ + static constexpr size_t computeDataSize(PixelDataFormat format, PixelDataType type, + size_t stride, size_t height, size_t alignment) noexcept { + assert_invariant(alignment); + + if (type == PixelDataType::COMPRESSED) { + return 0; + } + + size_t n = 0; + switch (format) { + case PixelDataFormat::R: + case PixelDataFormat::R_INTEGER: + case PixelDataFormat::DEPTH_COMPONENT: + case PixelDataFormat::ALPHA: + n = 1; + break; + case PixelDataFormat::RG: + case PixelDataFormat::RG_INTEGER: + case PixelDataFormat::DEPTH_STENCIL: + n = 2; + break; + case PixelDataFormat::RGB: + case PixelDataFormat::RGB_INTEGER: + n = 3; + break; + case PixelDataFormat::UNUSED: // shouldn't happen (used to be rgbm) + case PixelDataFormat::RGBA: + case PixelDataFormat::RGBA_INTEGER: + n = 4; + break; + } + + size_t bpp = n; + switch (type) { + case PixelDataType::COMPRESSED: // Impossible -- to squash the IDE warnings + case PixelDataType::UBYTE: + case PixelDataType::BYTE: + // nothing to do + break; + case PixelDataType::USHORT: + case PixelDataType::SHORT: + case PixelDataType::HALF: + bpp *= 2; + break; + case PixelDataType::UINT: + case PixelDataType::INT: + case PixelDataType::FLOAT: + bpp *= 4; + break; + case PixelDataType::UINT_10F_11F_11F_REV: + // Special case, format must be RGB and uses 4 bytes + assert_invariant(format == PixelDataFormat::RGB); + bpp = 4; + break; + case PixelDataType::UINT_2_10_10_10_REV: + // Special case, format must be RGBA and uses 4 bytes + assert_invariant(format == PixelDataFormat::RGBA); + bpp = 4; + break; + case PixelDataType::USHORT_565: + // Special case, format must be RGB and uses 2 bytes + assert_invariant(format == PixelDataFormat::RGB); + bpp = 2; + break; + } + + size_t const bpr = bpp * stride; + size_t const bprAligned = (bpr + (alignment - 1)) & (~alignment + 1); + return bprAligned * height; + } + + //! left coordinate in pixels + uint32_t left = 0; + //! top coordinate in pixels + uint32_t top = 0; + union { + struct { + //! stride in pixels + uint32_t stride; + //! Pixel data format + PixelDataFormat format; + }; + struct { + //! compressed image size + uint32_t imageSize; + //! compressed image format + backend::CompressedPixelDataType compressedFormat; + }; + }; + //! pixel data type + PixelDataType type : 4; + //! row alignment in bytes + uint8_t alignment : 4; +}; + +} // namespace backend::filament + +#if !defined(NDEBUG) +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::PixelBufferDescriptor& b); +#endif + +#endif // TNT_FILAMENT_BACKEND_PIXELBUFFERDESCRIPTOR_H diff --git a/web/include/filament/backend/Platform.h b/web/include/filament/backend/Platform.h new file mode 100644 index 00000000..dac1e376 --- /dev/null +++ b/web/include/filament/backend/Platform.h @@ -0,0 +1,188 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BACKEND_PLATFORM_H +#define TNT_FILAMENT_BACKEND_PLATFORM_H + +#include + +#include +#include + +namespace filament::backend { + +class Driver; + +/** + * Platform is an interface that abstracts how the backend (also referred to as Driver) is + * created. The backend provides several common Platform concrete implementations, which are + * selected automatically. It is possible however to provide a custom Platform when creating + * the filament Engine. + */ +class UTILS_PUBLIC Platform { +public: + struct SwapChain {}; + struct Fence {}; + struct Stream {}; + + struct DriverConfig { + /* + * size of handle arena in bytes. Setting to 0 indicates default value is to be used. + * Driver clamps to valid values. + */ + size_t handleArenaSize = 0; + + /* + * this number of most-recently destroyed textures will be tracked for use-after-free. + * Throws an exception when a texture is freed but still bound to a SamplerGroup and used in + * a draw call. 0 disables completely. Currently only respected by the Metal backend. + */ + size_t textureUseAfterFreePoolSize = 0; + }; + + Platform() noexcept; + + virtual ~Platform() noexcept; + + /** + * Queries the underlying OS version. + * @return The OS version. + */ + virtual int getOSVersion() const noexcept = 0; + + /** + * Creates and initializes the low-level API (e.g. an OpenGL context or Vulkan instance), + * then creates the concrete Driver. + * The caller takes ownership of the returned Driver* and must destroy it with delete. + * + * @param sharedContext an optional shared context. This is not meaningful with all graphic + * APIs and platforms. + * For EGL platforms, this is an EGLContext. + * + * @param driverConfig specifies driver initialization parameters + * + * @return nullptr on failure, or a pointer to the newly created driver. + */ + virtual backend::Driver* createDriver(void* sharedContext, + const DriverConfig& driverConfig) noexcept = 0; + + /** + * Processes the platform's event queue when called from its primary event-handling thread. + * + * Internally, Filament might need to call this when waiting on a fence. It is only implemented + * on platforms that need it, such as macOS + OpenGL. Returns false if this is not the main + * thread, or if the platform does not need to perform any special processing. + */ + virtual bool pumpEvents() noexcept; + + /** + * InsertBlobFunc is an Invocable to an application-provided function that a + * backend implementation may use to insert a key/value pair into the + * cache. + */ + using InsertBlobFunc = utils::Invocable< + void(const void* key, size_t keySize, const void* value, size_t valueSize)>; + + /* + * RetrieveBlobFunc is an Invocable to an application-provided function that a + * backend implementation may use to retrieve a cached value from the + * cache. + */ + using RetrieveBlobFunc = utils::Invocable< + size_t(const void* key, size_t keySize, void* value, size_t valueSize)>; + + /** + * Sets the callback functions that the backend can use to interact with caching functionality + * provided by the application. + * + * Cache functions may only be specified once during the lifetime of a + * Platform. The and Invocables may be called at any time and + * from any thread from the time at which setBlobFunc is called until the time that Platform + * is destroyed. Concurrent calls to these functions from different threads is also allowed. + * Either function can be null. + * + * @param insertBlob an Invocable that inserts a new value into the cache and associates + * it with the given key + * @param retrieveBlob an Invocable that retrieves from the cache the value associated with a + * given key + */ + void setBlobFunc(InsertBlobFunc&& insertBlob, RetrieveBlobFunc&& retrieveBlob) noexcept; + + /** + * @return true if insertBlob is valid. + */ + bool hasInsertBlobFunc() const noexcept; + + /** + * @return true if retrieveBlob is valid. + */ + bool hasRetrieveBlobFunc() const noexcept; + + /** + * @return true if either of insertBlob or retrieveBlob are valid. + */ + bool hasBlobFunc() const noexcept { + return hasInsertBlobFunc() || hasRetrieveBlobFunc(); + } + + /** + * To insert a new binary value into the cache and associate it with a given + * key, the backend implementation can call the application-provided callback + * function insertBlob. + * + * No guarantees are made as to whether a given key/value pair is present in + * the cache after the set call. If a different value has been associated + * with the given key in the past then it is undefined which value, if any, is + * associated with the key after the set call. Note that while there are no + * guarantees, the cache implementation should attempt to cache the most + * recently set value for a given key. + * + * @param key pointer to the beginning of the key data that is to be inserted + * @param keySize specifies the size in byte of the data pointed to by + * @param value pointer to the beginning of the value data that is to be inserted + * @param valueSize specifies the size in byte of the data pointed to by + */ + void insertBlob(const void* key, size_t keySize, const void* value, size_t valueSize); + + /** + * To retrieve the binary value associated with a given key from the cache, a + * the backend implementation can call the application-provided callback + * function retrieveBlob. + * + * If the cache contains a value for the given key and its size in bytes is + * less than or equal to then the value is written to the memory + * pointed to by . Otherwise nothing is written to the memory pointed + * to by . + * + * @param key pointer to the beginning of the key + * @param keySize specifies the size in bytes of the binary key pointed to by + * @param value pointer to a buffer to receive the cached binary data, if it exists + * @param valueSize specifies the size in bytes of the memory pointed to by + * @return If the cache contains a value associated with the given key then the + * size of that binary value in bytes is returned. Otherwise 0 is returned. + */ + size_t retrieveBlob(const void* key, size_t keySize, void* value, size_t valueSize); + +private: + InsertBlobFunc mInsertBlob; + RetrieveBlobFunc mRetrieveBlob; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_BACKEND_PLATFORM_H diff --git a/web/include/filament/backend/PresentCallable.h b/web/include/filament/backend/PresentCallable.h new file mode 100644 index 00000000..26579420 --- /dev/null +++ b/web/include/filament/backend/PresentCallable.h @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BACKEND_PRESENTCALLABLE +#define TNT_FILAMENT_BACKEND_PRESENTCALLABLE + +#include + +namespace filament { +namespace backend { + +/** + * A PresentCallable is a callable object that, when called, schedules a frame for presentation on + * a SwapChain. + * + * Typically, Filament's backend is responsible scheduling a frame's presentation. However, there + * are certain cases where the application might want to control when a frame is scheduled for + * presentation. + * + * For example, on iOS, UIKit elements can be synchronized to 3D content by scheduling a present + * within a CATransation: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * void myFrameScheduledCallback(PresentCallable presentCallable, void* user) { + * [CATransaction begin]; + * // Update other UI elements... + * presentCallable(); + * [CATransaction commit]; + * } + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * To obtain a PresentCallable, set a SwapChain::FrameScheduledCallback on a SwapChain with the + * SwapChain::setFrameScheduledCallback method. The callback is called with a PresentCallable object + * and optional user data: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * swapChain->setFrameScheduledCallback(myFrameScheduledCallback, nullptr); + * if (renderer->beginFrame(swapChain)) { + * renderer->render(view); + * renderer->endFrame(); + * } + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * @remark Only Filament's Metal backend supports PresentCallables and frame callbacks. Other + * backends ignore the callback (which will never be called) and proceed normally. + * + * @remark The SwapChain::FrameScheduledCallback is called on an arbitrary thread. + * + * Applications *must* call each PresentCallable they receive. Each PresentCallable represents a + * frame that is waiting to be presented. If an application fails to call a PresentCallable, a + * memory leak could occur. To "cancel" the presentation of a frame, pass false to the + * PresentCallable, which will cancel the presentation of the frame and release associated memory. + * + * @see Renderer, SwapChain::setFrameScheduledCallback + */ +class UTILS_PUBLIC PresentCallable { +public: + + using PresentFn = void(*)(bool presentFrame, void* user); + + PresentCallable(PresentFn fn, void* user) noexcept; + ~PresentCallable() noexcept = default; + PresentCallable(const PresentCallable& rhs) = default; + PresentCallable& operator=(const PresentCallable& rhs) = default; + + /** + * Call this PresentCallable, scheduling the associated frame for presentation. Pass false for + * presentFrame to effectively "cancel" the presentation of the frame. + * + * @param presentFrame if false, will not present the frame but releases associated memory + */ + void operator()(bool presentFrame = true) noexcept; + +private: + + PresentFn mPresentFn; + void* mUser = nullptr; + +}; + +/** + * @deprecated, FrameFinishedCallback has been renamed to SwapChain::FrameScheduledCallback. + */ +using FrameFinishedCallback UTILS_DEPRECATED = void(*)(PresentCallable callable, void* user); + +} // namespace backend +} // namespace filament + +#endif // TNT_FILAMENT_BACKEND_PRESENTCALLABLE diff --git a/web/include/filament/backend/Program.h b/web/include/filament/backend/Program.h new file mode 100644 index 00000000..a27790c2 --- /dev/null +++ b/web/include/filament/backend/Program.h @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_PRIVATE_PROGRAM_H +#define TNT_FILAMENT_BACKEND_PRIVATE_PROGRAM_H + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +namespace filament::backend { + +class Program { +public: + + static constexpr size_t SHADER_TYPE_COUNT = 3; + static constexpr size_t UNIFORM_BINDING_COUNT = CONFIG_UNIFORM_BINDING_COUNT; + static constexpr size_t SAMPLER_BINDING_COUNT = CONFIG_SAMPLER_BINDING_COUNT; + + struct Sampler { + utils::CString name = {}; // name of the sampler in the shader + uint32_t binding = 0; // binding point of the sampler in the shader + }; + + struct SamplerGroupData { + utils::FixedCapacityVector samplers; + ShaderStageFlags stageFlags = ShaderStageFlags::ALL_SHADER_STAGE_FLAGS; + }; + + struct Uniform { + utils::CString name; // full qualified name of the uniform field + uint16_t offset; // offset in 'uint32_t' into the uniform buffer + uint8_t size; // >1 for arrays + UniformType type; // uniform type + }; + + using UniformBlockInfo = std::array; + using UniformInfo = utils::FixedCapacityVector; + using SamplerGroupInfo = std::array; + using ShaderBlob = utils::FixedCapacityVector; + using ShaderSource = std::array; + + Program() noexcept; + + Program(const Program& rhs) = delete; + Program& operator=(const Program& rhs) = delete; + + Program(Program&& rhs) noexcept; + Program& operator=(Program&& rhs) noexcept = delete; + + ~Program() noexcept; + + Program& priorityQueue(CompilerPriorityQueue priorityQueue) noexcept; + + // sets the material name and variant for diagnostic purposes only + Program& diagnostics(utils::CString const& name, + utils::Invocable&& logger); + + // sets one of the program's shader (e.g. vertex, fragment) + // string-based shaders are null terminated, consequently the size parameter must include the + // null terminating character. + Program& shader(ShaderStage shader, void const* data, size_t size); + + // Note: This is only needed for GLES3.0 backends, because the layout(binding=) syntax is + // not permitted in glsl. The backend needs a way to associate a uniform block + // to a binding point. + Program& uniformBlockBindings( + utils::FixedCapacityVector> const& uniformBlockBindings) noexcept; + + // Note: This is only needed for GLES2.0, this is used to emulate UBO. This function tells + // the program everything it needs to know about the uniforms at a given binding + Program& uniforms(uint32_t index, UniformInfo const& uniforms) noexcept; + + // Note: This is only needed for GLES2.0. + Program& attributes( + utils::FixedCapacityVector> attributes) noexcept; + + // sets the 'bindingPoint' sampler group descriptor for this program. + // 'samplers' can be destroyed after this call. + // This effectively associates a set of (BindingPoints, index) to a texture unit in the shader. + // Or more precisely, what layout(binding=) is set to in GLSL. + Program& setSamplerGroup(size_t bindingPoint, ShaderStageFlags stageFlags, + Sampler const* samplers, size_t count) noexcept; + + struct SpecializationConstant { + using Type = std::variant; + uint32_t id; // id set in glsl + Type value; // value and type + }; + + Program& specializationConstants( + utils::FixedCapacityVector specConstants) noexcept; + + Program& cacheId(uint64_t cacheId) noexcept; + + ShaderSource const& getShadersSource() const noexcept { return mShadersSource; } + ShaderSource& getShadersSource() noexcept { return mShadersSource; } + + UniformBlockInfo const& getUniformBlockBindings() const noexcept { return mUniformBlocks; } + UniformBlockInfo& getUniformBlockBindings() noexcept { return mUniformBlocks; } + + SamplerGroupInfo const& getSamplerGroupInfo() const { return mSamplerGroups; } + SamplerGroupInfo& getSamplerGroupInfo() { return mSamplerGroups; } + + auto const& getBindingUniformInfo() const { return mBindingUniformInfo; } + auto& getBindingUniformInfo() { return mBindingUniformInfo; } + + auto const& getAttributes() const { return mAttributes; } + auto& getAttributes() { return mAttributes; } + + utils::CString const& getName() const noexcept { return mName; } + utils::CString& getName() noexcept { return mName; } + + utils::FixedCapacityVector const& getSpecializationConstants() const noexcept { + return mSpecializationConstants; + } + utils::FixedCapacityVector& getSpecializationConstants() noexcept { + return mSpecializationConstants; + } + + uint64_t getCacheId() const noexcept { return mCacheId; } + + CompilerPriorityQueue getPriorityQueue() const noexcept { return mPriorityQueue; } + +private: + friend utils::io::ostream& operator<<(utils::io::ostream& out, const Program& builder); + + UniformBlockInfo mUniformBlocks = {}; + SamplerGroupInfo mSamplerGroups = {}; + ShaderSource mShadersSource; + utils::CString mName; + uint64_t mCacheId{}; + utils::Invocable mLogger; + utils::FixedCapacityVector mSpecializationConstants; + utils::FixedCapacityVector> mAttributes; + std::array mBindingUniformInfo; + CompilerPriorityQueue mPriorityQueue = CompilerPriorityQueue::HIGH; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_PRIVATE_PROGRAM_H diff --git a/web/include/filament/backend/README.md b/web/include/filament/backend/README.md new file mode 100644 index 00000000..02268268 --- /dev/null +++ b/web/include/filament/backend/README.md @@ -0,0 +1,4 @@ +# include/backend Headers + +Headers in `include/backend/` are fully public, in particular they can be included in filament's +public headers. diff --git a/web/include/filament/backend/SamplerDescriptor.h b/web/include/filament/backend/SamplerDescriptor.h new file mode 100644 index 00000000..fe78d610 --- /dev/null +++ b/web/include/filament/backend/SamplerDescriptor.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BACKEND_SAMPLERDESCRIPTOR_H +#define TNT_FILAMENT_BACKEND_SAMPLERDESCRIPTOR_H + +#include +#include + +#include + +#include +#include + +namespace filament::backend { + +struct UTILS_PUBLIC SamplerDescriptor { + Handle t; + SamplerParams s{}; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_SAMPLERDESCRIPTOR_H diff --git a/web/include/filament/backend/TargetBufferInfo.h b/web/include/filament/backend/TargetBufferInfo.h new file mode 100644 index 00000000..a2f30d45 --- /dev/null +++ b/web/include/filament/backend/TargetBufferInfo.h @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_TARGETBUFFERINFO_H +#define TNT_FILAMENT_BACKEND_TARGETBUFFERINFO_H + +#include +#include + +#include + +namespace filament::backend { + +//! \privatesection + +struct TargetBufferInfo { + // texture to be used as render target + Handle handle; + + // level to be used + uint8_t level = 0; + + // for cubemaps and 3D textures. See TextureCubemapFace for the face->layer mapping + uint16_t layer = 0; +}; + +class MRT { +public: + static constexpr uint8_t MIN_SUPPORTED_RENDER_TARGET_COUNT = 4u; + + // When updating this, make sure to also take care of RenderTarget.java + static constexpr uint8_t MAX_SUPPORTED_RENDER_TARGET_COUNT = 8u; + +private: + TargetBufferInfo mInfos[MAX_SUPPORTED_RENDER_TARGET_COUNT]; + +public: + TargetBufferInfo const& operator[](size_t i) const noexcept { + return mInfos[i]; + } + + TargetBufferInfo& operator[](size_t i) noexcept { + return mInfos[i]; + } + + MRT() noexcept = default; + + MRT(TargetBufferInfo const& color) noexcept // NOLINT(hicpp-explicit-conversions) + : mInfos{ color } { + } + + MRT(TargetBufferInfo const& color0, TargetBufferInfo const& color1) noexcept + : mInfos{ color0, color1 } { + } + + MRT(TargetBufferInfo const& color0, TargetBufferInfo const& color1, + TargetBufferInfo const& color2) noexcept + : mInfos{ color0, color1, color2 } { + } + + MRT(TargetBufferInfo const& color0, TargetBufferInfo const& color1, + TargetBufferInfo const& color2, TargetBufferInfo const& color3) noexcept + : mInfos{ color0, color1, color2, color3 } { + } + + // this is here for backward compatibility + MRT(Handle handle, uint8_t level, uint16_t layer) noexcept + : mInfos{{ handle, level, layer }} { + } +}; + +} // namespace filament::backend + +#if !defined(NDEBUG) +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::TargetBufferInfo& tbi); +utils::io::ostream& operator<<(utils::io::ostream& out, const filament::backend::MRT& mrt); +#endif + +#endif //TNT_FILAMENT_BACKEND_TARGETBUFFERINFO_H diff --git a/web/include/filament/backend/platforms/OpenGLPlatform.h b/web/include/filament/backend/platforms/OpenGLPlatform.h new file mode 100644 index 00000000..3f4488c5 --- /dev/null +++ b/web/include/filament/backend/platforms/OpenGLPlatform.h @@ -0,0 +1,301 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_PRIVATE_OPENGLPLATFORM_H +#define TNT_FILAMENT_BACKEND_PRIVATE_OPENGLPLATFORM_H + +#include +#include + +namespace filament::backend { + +class Driver; + +/** + * A Platform interface that creates an OpenGL backend. + * + * WARNING: None of the methods below are allowed to change the GL state and must restore it + * upon return. + * + */ +class OpenGLPlatform : public Platform { +protected: + + /* + * Derived classes can use this to instantiate the default OpenGLDriver backend. + * This is typically called from your implementation of createDriver() + */ + static Driver* createDefaultDriver(OpenGLPlatform* platform, + void* sharedContext, const DriverConfig& driverConfig); + + ~OpenGLPlatform() noexcept override; + +public: + + struct ExternalTexture { + unsigned int target; // GLenum target + unsigned int id; // GLuint id + }; + + /** + * Called by the driver to destroy the OpenGL context. This should clean up any windows + * or buffers from initialization. This is for instance where `eglDestroyContext` would be + * called. + */ + virtual void terminate() noexcept = 0; + + /** + * Called by the driver to create a SwapChain for this driver. + * + * @param nativeWindow a token representing the native window. See concrete implementation + * for details. + * @param flags extra flags used by the implementation, see filament::SwapChain + * @return The driver's SwapChain object. + * + */ + virtual SwapChain* createSwapChain(void* nativeWindow, uint64_t flags) noexcept = 0; + + /** + * Return whether createSwapChain supports the SWAP_CHAIN_CONFIG_SRGB_COLORSPACE flag. + * The default implementation returns false. + * + * @return true if SWAP_CHAIN_CONFIG_SRGB_COLORSPACE is supported, false otherwise. + */ + virtual bool isSRGBSwapChainSupported() const noexcept; + + /** + * Called by the driver create a headless SwapChain. + * + * @param width width of the buffer + * @param height height of the buffer + * @param flags extra flags used by the implementation, see filament::SwapChain + * @return The driver's SwapChain object. + * + * TODO: we need a more generic way of passing construction parameters + * A void* might be enough. + */ + virtual SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags) noexcept = 0; + + /** + * Called by the driver to destroys the SwapChain + * @param swapChain SwapChain to be destroyed. + */ + virtual void destroySwapChain(SwapChain* swapChain) noexcept = 0; + + /** + * Returns the set of buffers that must be preserved up to the call to commit(). + * The default value is TargetBufferFlags::NONE. + * The color buffer is always preserved, however ancillary buffers, such as the depth buffer + * are generally discarded. The preserve flags can be used to make sure those ancillary + * buffers are preserved until the call to commit. + * + * @param swapChain + * @return buffer that must be preserved + * @see commit() + */ + virtual TargetBufferFlags getPreservedFlags(SwapChain* swapChain) noexcept; + + /** + * Called by the driver to establish the default FBO. The default implementation returns 0. + * @return a GLuint casted to a uint32_t that is an OpenGL framebuffer object. + */ + virtual uint32_t createDefaultRenderTarget() noexcept; + + /** + * Called by the driver to make the OpenGL context active on the calling thread and bind + * the drawSwapChain to the default render target (FBO) created with createDefaultRenderTarget. + * @param drawSwapChain SwapChain to draw to. It must be bound to the default FBO. + * @param readSwapChain SwapChain to read from (for operation like `glBlitFramebuffer`) + */ + virtual void makeCurrent(SwapChain* drawSwapChain, SwapChain* readSwapChain) noexcept = 0; + + /** + * Called by the driver once the current frame finishes drawing. Typically, this should present + * the drawSwapChain. This is for example where `eglMakeCurrent()` would be called. + * @param swapChain the SwapChain to present. + */ + virtual void commit(SwapChain* swapChain) noexcept = 0; + + /** + * Set the time the next committed buffer should be presented to the user at. + * + * @param presentationTimeInNanosecond time in the future in nanosecond. The clock used depends + * on the concrete platform implementation. + */ + virtual void setPresentationTime(int64_t presentationTimeInNanosecond) noexcept; + + // -------------------------------------------------------------------------------------------- + // Fence support + + /** + * Can this implementation create a Fence. + * @return true if supported, false otherwise. The default implementation returns false. + */ + virtual bool canCreateFence() noexcept; + + /** + * Creates a Fence (e.g. eglCreateSyncKHR). This must be implemented if `canCreateFence` + * returns true. Fences are used for frame pacing. + * + * @return A Fence object. The default implementation returns nullptr. + */ + virtual Fence* createFence() noexcept; + + /** + * Destroys a Fence object. The default implementation does nothing. + * + * @param fence Fence to destroy. + */ + virtual void destroyFence(Fence* fence) noexcept; + + /** + * Waits on a Fence. + * + * @param fence Fence to wait on. + * @param timeout Timeout. + * @return Whether the fence signaled or timed out. See backend::FenceStatus. + * The default implementation always return backend::FenceStatus::ERROR. + */ + virtual backend::FenceStatus waitFence(Fence* fence, uint64_t timeout) noexcept; + + + // -------------------------------------------------------------------------------------------- + // Streaming support + + /** + * Creates a Stream from a native Stream. + * + * WARNING: This is called synchronously from the application thread (NOT the Driver thread) + * + * @param nativeStream The native stream, this parameter depends on the concrete implementation. + * @return A new Stream object. + */ + virtual Stream* createStream(void* nativeStream) noexcept; + + /** + * Destroys a Stream. + * @param stream Stream to destroy. + */ + virtual void destroyStream(Stream* stream) noexcept; + + /** + * The specified stream takes ownership of the texture (tname) object + * Once attached, the texture is automatically updated with the Stream's content, which + * could be a video stream for instance. + * + * @param stream Stream to take ownership of the texture + * @param tname GL texture id to "bind" to the Stream. + */ + virtual void attach(Stream* stream, intptr_t tname) noexcept; + + /** + * Destroys the texture associated to the stream + * @param stream Stream to detach from its texture + */ + virtual void detach(Stream* stream) noexcept; + + /** + * Updates the content of the texture attached to the stream. + * @param stream Stream to update + * @param timestamp Output parameter: Timestamp of the image bound to the texture. + */ + virtual void updateTexImage(Stream* stream, int64_t* timestamp) noexcept; + + + // -------------------------------------------------------------------------------------------- + // External Image support + + /** + * Creates an external texture handle. External textures don't have any parameters because + * these are undefined until setExternalImage() is called. + * @return a pointer to an ExternalTexture structure filled with valid token. However, the + * implementation could just return { 0, GL_TEXTURE_2D } at this point. The actual + * values can be delayed until setExternalImage. + */ + virtual ExternalTexture *createExternalImageTexture() noexcept; + + /** + * Destroys an external texture handle and associated data. + * @param texture a pointer to the handle to destroy. + */ + virtual void destroyExternalImage(ExternalTexture* texture) noexcept; + + // called on the application thread to allow Filament to take ownership of the image + + /** + * Takes ownership of the externalImage. The externalImage parameter depends on the Platform's + * concrete implementation. Ownership is released when destroyExternalImage() is called. + * + * WARNING: This is called synchronously from the application thread (NOT the Driver thread) + * + * @param externalImage A token representing the platform's external image. + * @see destroyExternalImage + */ + virtual void retainExternalImage(void* externalImage) noexcept; + + /** + * Called to bind the platform-specific externalImage to an ExternalTexture. + * ExternalTexture::id is guaranteed to be bound when this method is called and ExternalTexture + * is updated with new values for id/target if necessary. + * + * WARNING: this method is not allowed to change the bound texture, or must restore the previous + * binding upon return. This is to avoid problem with a backend doing state caching. + * + * @param externalImage The platform-specific external image. + * @param texture an in/out pointer to ExternalTexture, id and target can be updated if necessary. + * @return true on success, false on error. + */ + virtual bool setExternalImage(void* externalImage, ExternalTexture* texture) noexcept; + + /** + * The method allows platforms to convert a user-supplied external image object into a new type + * (e.g. HardwareBuffer => EGLImage). The default implementation returns source. + * @param source Image to transform. + * @return Transformed image. + */ + virtual AcquiredImage transformAcquiredImage(AcquiredImage source) noexcept; + + // -------------------------------------------------------------------------------------------- + + /** + * Returns true if additional OpenGL contexts can be created. Default: false. + * @return true if additional OpenGL contexts can be created. + * @see createContext + */ + virtual bool isExtraContextSupported() const noexcept; + + /** + * Creates an OpenGL context with the same configuration than the main context and makes it + * current to the current thread. Must not be called from the main driver thread. + * createContext() is only supported if isExtraContextSupported() returns true. + * These additional contexts will be automatically terminated in terminate. + * + * @param shared whether the new context is shared with the main context. + * @see isExtraContextSupported() + * @see terminate() + */ + virtual void createContext(bool shared); + + /** + * Detach and destroy the current context if any and releases all resources associated to + * this thread. + */ + virtual void releaseContext() noexcept; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_BACKEND_PRIVATE_OPENGLPLATFORM_H diff --git a/web/include/filament/backend/platforms/PlatformCocoaGL.h b/web/include/filament/backend/platforms/PlatformCocoaGL.h new file mode 100644 index 00000000..df03bcbf --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformCocoaGL.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_COCOA_GL_H +#define TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_COCOA_GL_H + +#include + +#include + +#include + +namespace filament::backend { + +struct PlatformCocoaGLImpl; + +/** + * A concrete implementation of OpenGLPlatform that supports macOS's Cocoa. + */ +class PlatformCocoaGL : public OpenGLPlatform { +public: + PlatformCocoaGL(); + ~PlatformCocoaGL() noexcept override; + +protected: + // -------------------------------------------------------------------------------------------- + // Platform Interface + + Driver* createDriver(void* sharedContext, + const Platform::DriverConfig& driverConfig) noexcept override; + + // Currently returns 0 + int getOSVersion() const noexcept override; + + bool pumpEvents() noexcept override; + + // -------------------------------------------------------------------------------------------- + // OpenGLPlatform Interface + + bool isExtraContextSupported() const noexcept override; + void createContext(bool shared) override; + + void terminate() noexcept override; + + SwapChain* createSwapChain(void* nativewindow, uint64_t flags) noexcept override; + SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags) noexcept override; + void destroySwapChain(SwapChain* swapChain) noexcept override; + void makeCurrent(SwapChain* drawSwapChain, SwapChain* readSwapChain) noexcept override; + void commit(SwapChain* swapChain) noexcept override; + OpenGLPlatform::ExternalTexture* createExternalImageTexture() noexcept override; + void destroyExternalImage(ExternalTexture* texture) noexcept override; + void retainExternalImage(void* externalImage) noexcept override; + bool setExternalImage(void* externalImage, ExternalTexture* texture) noexcept override; + +private: + PlatformCocoaGLImpl* pImpl = nullptr; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_COCOA_GL_H diff --git a/web/include/filament/backend/platforms/PlatformCocoaTouchGL.h b/web/include/filament/backend/platforms/PlatformCocoaTouchGL.h new file mode 100644 index 00000000..cbdd6a06 --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformCocoaTouchGL.h @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_COCOA_TOUCH_GL_H +#define TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_COCOA_TOUCH_GL_H + +#include + +#include + +#include + +namespace filament::backend { + +struct PlatformCocoaTouchGLImpl; + +class PlatformCocoaTouchGL : public OpenGLPlatform { +public: + PlatformCocoaTouchGL(); + ~PlatformCocoaTouchGL() noexcept; + + // -------------------------------------------------------------------------------------------- + // Platform Interface + + Driver* createDriver(void* sharedGLContext, + const Platform::DriverConfig& driverConfig) noexcept override; + + int getOSVersion() const noexcept final { return 0; } + + // -------------------------------------------------------------------------------------------- + // OpenGLPlatform Interface + + void terminate() noexcept override; + + uint32_t createDefaultRenderTarget() noexcept override; + + bool isExtraContextSupported() const noexcept override; + void createContext(bool shared) override; + + SwapChain* createSwapChain(void* nativewindow, uint64_t flags) noexcept override; + SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags) noexcept override; + void destroySwapChain(SwapChain* swapChain) noexcept override; + void makeCurrent(SwapChain* drawSwapChain, SwapChain* readSwapChain) noexcept override; + void commit(SwapChain* swapChain) noexcept override; + + OpenGLPlatform::ExternalTexture* createExternalImageTexture() noexcept override; + void destroyExternalImage(ExternalTexture* texture) noexcept override; + void retainExternalImage(void* externalImage) noexcept override; + bool setExternalImage(void* externalImage, ExternalTexture* texture) noexcept override; + +private: + PlatformCocoaTouchGLImpl* pImpl = nullptr; +}; + +using ContextManager = PlatformCocoaTouchGL; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_COCOA_TOUCH_GL_H diff --git a/web/include/filament/backend/platforms/PlatformEGL.h b/web/include/filament/backend/platforms/PlatformEGL.h new file mode 100644 index 00000000..d168fdd9 --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformEGL.h @@ -0,0 +1,159 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_EGL_H +#define TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_EGL_H + +#include + +#include +#include + +#include + +#include + +#include +#include + +namespace filament::backend { + +/** + * A concrete implementation of OpenGLPlatform that supports EGL. + */ +class PlatformEGL : public OpenGLPlatform { +public: + + PlatformEGL() noexcept; + bool isExtraContextSupported() const noexcept override; + void createContext(bool shared) override; + void releaseContext() noexcept override; + + // Return true if we're on an OpenGL platform (as opposed to OpenGL ES). false by default. + virtual bool isOpenGL() const noexcept; + +protected: + + // -------------------------------------------------------------------------------------------- + // Helper for EGL configs and attributes parameters + + class Config { + public: + Config(); + Config(std::initializer_list> list); + EGLint& operator[](EGLint name); + EGLint operator[](EGLint name) const; + void erase(EGLint name) noexcept; + EGLint const* data() const noexcept { + return reinterpret_cast(mConfig.data()); + } + size_t size() const noexcept { + return mConfig.size(); + } + private: + std::vector> mConfig = {{ EGL_NONE, EGL_NONE }}; + }; + + // -------------------------------------------------------------------------------------------- + // Platform Interface + + /** + * Initializes EGL, creates the OpenGL context and returns a concrete Driver implementation + * that supports OpenGL/OpenGL ES. + */ + Driver* createDriver(void* sharedContext, + const Platform::DriverConfig& driverConfig) noexcept override; + + /** + * This returns zero. This method can be overridden to return something more useful. + * @return zero + */ + int getOSVersion() const noexcept override; + + // -------------------------------------------------------------------------------------------- + // OpenGLPlatform Interface + + void terminate() noexcept override; + + bool isSRGBSwapChainSupported() const noexcept override; + SwapChain* createSwapChain(void* nativewindow, uint64_t flags) noexcept override; + SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags) noexcept override; + void destroySwapChain(SwapChain* swapChain) noexcept override; + void makeCurrent(SwapChain* drawSwapChain, SwapChain* readSwapChain) noexcept override; + void commit(SwapChain* swapChain) noexcept override; + + bool canCreateFence() noexcept override; + Fence* createFence() noexcept override; + void destroyFence(Fence* fence) noexcept override; + FenceStatus waitFence(Fence* fence, uint64_t timeout) noexcept override; + + OpenGLPlatform::ExternalTexture* createExternalImageTexture() noexcept override; + void destroyExternalImage(ExternalTexture* texture) noexcept override; + bool setExternalImage(void* externalImage, ExternalTexture* texture) noexcept override; + + /** + * Logs glGetError() to slog.e + * @param name a string giving some context on the error. Typically __func__. + */ + static void logEglError(const char* name) noexcept; + static void logEglError(const char* name, EGLint error) noexcept; + static const char* getEglErrorName(EGLint error) noexcept; + + /** + * Calls glGetError() to clear the current error flags. logs a warning to log.w if + * an error was pending. + */ + static void clearGlError() noexcept; + + /** + * Always use this instead of eglMakeCurrent(). + */ + EGLBoolean makeCurrent(EGLSurface drawSurface, EGLSurface readSurface) noexcept; + + // TODO: this should probably use getters instead. + EGLDisplay mEGLDisplay = EGL_NO_DISPLAY; + EGLContext mEGLContext = EGL_NO_CONTEXT; + EGLSurface mCurrentDrawSurface = EGL_NO_SURFACE; + EGLSurface mCurrentReadSurface = EGL_NO_SURFACE; + EGLSurface mEGLDummySurface = EGL_NO_SURFACE; + // mEGLConfig is valid only if ext.egl.KHR_no_config_context is false + EGLConfig mEGLConfig = EGL_NO_CONFIG_KHR; + Config mContextAttribs; + std::vector mAdditionalContexts; + + // supported extensions detected at runtime + struct { + struct { + bool OES_EGL_image_external_essl3 = false; + } gl; + struct { + bool ANDROID_recordable = false; + bool KHR_create_context = false; + bool KHR_gl_colorspace = false; + bool KHR_no_config_context = false; + bool KHR_surfaceless_context = false; + } egl; + } ext; + + void initializeGlExtensions() noexcept; + +protected: + EGLConfig findSwapChainConfig(uint64_t flags, bool window, bool pbuffer) const; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_EGL_H diff --git a/web/include/filament/backend/platforms/PlatformEGLAndroid.h b/web/include/filament/backend/platforms/PlatformEGLAndroid.h new file mode 100644 index 00000000..1c7a4cd7 --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformEGLAndroid.h @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_EGL_ANDROID_H +#define TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_EGL_ANDROID_H + +#include + +namespace filament::backend { + +class ExternalStreamManagerAndroid; + +/** + * A concrete implementation of OpenGLPlatform and subclass of PlatformEGL that supports + * EGL on Android. It adds Android streaming functionality to PlatformEGL. + */ +class PlatformEGLAndroid : public PlatformEGL { +public: + + PlatformEGLAndroid() noexcept; + ~PlatformEGLAndroid() noexcept override; + +protected: + + // -------------------------------------------------------------------------------------------- + // Platform Interface + + /** + * Returns the Android SDK version. + * @return Android SDK version. + */ + int getOSVersion() const noexcept override; + + Driver* createDriver(void* sharedContext, + const Platform::DriverConfig& driverConfig) noexcept override; + + // -------------------------------------------------------------------------------------------- + // OpenGLPlatform Interface + + void terminate() noexcept override; + + /** + * Set the presentation time using `eglPresentationTimeANDROID` + * @param presentationTimeInNanosecond + */ + void setPresentationTime(int64_t presentationTimeInNanosecond) noexcept override; + + + Stream* createStream(void* nativeStream) noexcept override; + void destroyStream(Stream* stream) noexcept override; + void attach(Stream* stream, intptr_t tname) noexcept override; + void detach(Stream* stream) noexcept override; + void updateTexImage(Stream* stream, int64_t* timestamp) noexcept override; + + /** + * Converts a AHardwareBuffer to EGLImage + * @param source source.image is a AHardwareBuffer + * @return source.image contains an EGLImage + */ + AcquiredImage transformAcquiredImage(AcquiredImage source) noexcept override; + +private: + int mOSVersion; + ExternalStreamManagerAndroid& mExternalStreamManager; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_EGL_ANDROID_H diff --git a/web/include/filament/backend/platforms/PlatformEGLHeadless.h b/web/include/filament/backend/platforms/PlatformEGLHeadless.h new file mode 100644 index 00000000..40d285b9 --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformEGLHeadless.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_DRIVER_OPENGL_PLATFORM_EGL_HEADLESS_H +#define TNT_FILAMENT_DRIVER_OPENGL_PLATFORM_EGL_HEADLESS_H + +#include "PlatformEGL.h" + +namespace filament::backend { + +/** + * A concrete implementation of OpenGLPlatform that supports EGL with only headless swapchains. + */ +class PlatformEGLHeadless : public PlatformEGL { +public: + PlatformEGLHeadless() noexcept; + + Driver* createDriver(void* sharedContext, + const Platform::DriverConfig& driverConfig) noexcept override; + +protected: + bool isOpenGL() const noexcept override; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_DRIVER_OPENGL_PLATFORM_EGL_HEADLESS_H diff --git a/web/include/filament/backend/platforms/PlatformGLX.h b/web/include/filament/backend/platforms/PlatformGLX.h new file mode 100644 index 00000000..b2be5e40 --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformGLX.h @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_GLX_H +#define TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_GLX_H + +#include + +#include "bluegl/BlueGL.h" +#include + +#include + +#include + +#include + +namespace filament::backend { + +/** + * A concrete implementation of OpenGLPlatform that supports GLX. + */ +class PlatformGLX : public OpenGLPlatform { +protected: + // -------------------------------------------------------------------------------------------- + // Platform Interface + + Driver* createDriver(void* sharedGLContext, + const DriverConfig& driverConfig) noexcept override; + + int getOSVersion() const noexcept final override { return 0; } + + // -------------------------------------------------------------------------------------------- + // OpenGLPlatform Interface + + void terminate() noexcept override; + + SwapChain* createSwapChain(void* nativewindow, uint64_t flags) noexcept override; + SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags) noexcept override; + void destroySwapChain(SwapChain* swapChain) noexcept override; + void makeCurrent(SwapChain* drawSwapChain, SwapChain* readSwapChain) noexcept override; + void commit(SwapChain* swapChain) noexcept override; + +private: + Display *mGLXDisplay; + GLXContext mGLXContext; + GLXFBConfig* mGLXConfig; + GLXPbuffer mDummySurface; + std::vector mPBuffers; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_GLX_H diff --git a/web/include/filament/backend/platforms/PlatformWGL.h b/web/include/filament/backend/platforms/PlatformWGL.h new file mode 100644 index 00000000..6c16c305 --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformWGL.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_WGL_H +#define TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_WGL_H + +#include + +#include +#include "utils/unwindows.h" + +#include +#include + +#include + +namespace filament::backend { + +/** + * A concrete implementation of OpenGLPlatform that supports WGL. + */ +class PlatformWGL : public OpenGLPlatform { +protected: + // -------------------------------------------------------------------------------------------- + // Platform Interface + + Driver* createDriver(void* sharedGLContext, + const Platform::DriverConfig& driverConfig) noexcept override; + + int getOSVersion() const noexcept final override { return 0; } + + // -------------------------------------------------------------------------------------------- + // OpenGLPlatform Interface + + void terminate() noexcept override; + + bool isExtraContextSupported() const noexcept override; + void createContext(bool shared) override; + + SwapChain* createSwapChain(void* nativewindow, uint64_t flags) noexcept override; + SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags) noexcept override; + void destroySwapChain(SwapChain* swapChain) noexcept override; + void makeCurrent(SwapChain* drawSwapChain, SwapChain* readSwapChain) noexcept override; + void commit(SwapChain* swapChain) noexcept override; + +protected: + HGLRC mContext = NULL; + HWND mHWnd = NULL; + HDC mWhdc = NULL; + PIXELFORMATDESCRIPTOR mPfd = {}; + std::vector mAdditionalContexts; + std::vector mAttribs; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_GLX_H diff --git a/web/include/filament/backend/platforms/PlatformWebGL.h b/web/include/filament/backend/platforms/PlatformWebGL.h new file mode 100644 index 00000000..92bff0c4 --- /dev/null +++ b/web/include/filament/backend/platforms/PlatformWebGL.h @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_WEBGL_H +#define TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_WEBGL_H + +#include + +#include + +#include + +namespace filament::backend { + +/** + * A concrete implementation of OpenGLPlatform that supports WebGL. + */ +class PlatformWebGL : public OpenGLPlatform { +protected: + // -------------------------------------------------------------------------------------------- + // Platform Interface + + Driver* createDriver(void* sharedGLContext, + const Platform::DriverConfig& driverConfig) noexcept override; + + int getOSVersion() const noexcept override; + + // -------------------------------------------------------------------------------------------- + // OpenGLPlatform Interface + + void terminate() noexcept override; + + SwapChain* createSwapChain(void* nativewindow, uint64_t flags) noexcept override; + SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags) noexcept override; + void destroySwapChain(SwapChain* swapChain) noexcept override; + void makeCurrent(SwapChain* drawSwapChain, SwapChain* readSwapChain) noexcept override; + void commit(SwapChain* swapChain) noexcept override; +}; + +} // namespace filament::backend + +#endif // TNT_FILAMENT_BACKEND_OPENGL_OPENGL_PLATFORM_WEBGL_H diff --git a/web/include/filament/backend/platforms/VulkanPlatform.h b/web/include/filament/backend/platforms/VulkanPlatform.h new file mode 100644 index 00000000..c940567a --- /dev/null +++ b/web/include/filament/backend/platforms/VulkanPlatform.h @@ -0,0 +1,247 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_BACKEND_PLATFORMS_VULKANPLATFORM_H +#define TNT_FILAMENT_BACKEND_PLATFORMS_VULKANPLATFORM_H + +#include + +#include +#include +#include +#include + +#include +#include + +namespace filament::backend { + +using SwapChain = Platform::SwapChain; + +/** + * Private implementation details for the provided vulkan platform. + */ +struct VulkanPlatformPrivate; + +/** + * A Platform interface that creates a Vulkan backend. + */ +class VulkanPlatform : public Platform, utils::PrivateImplementation { +public: + + /** + * A collection of handles to objects and metadata that comprises a Vulkan context. The client + * can instantiate this struct and pass to Engine::Builder::sharedContext if they wishes to + * share their vulkan context. This is specifically necessary if the client wishes to override + * the swapchain API. + */ + struct VulkanSharedContext { + VkInstance instance = VK_NULL_HANDLE; + VkPhysicalDevice physicalDevice = VK_NULL_HANDLE; + VkDevice logicalDevice = VK_NULL_HANDLE; + uint32_t graphicsQueueFamilyIndex = 0xFFFFFFFF; + // In the usual case, the client needs to allocate at least one more graphics queue + // for Filament, and this index is the param to pass into vkGetDeviceQueue. In the case + // where the gpu only has one graphics queue. Then the client needs to ensure that no + // concurrent access can occur. + uint32_t graphicsQueueIndex = 0xFFFFFFFF; + }; + + /** + * Shorthand for the pointer to the Platform SwapChain struct, we use it also as a handle (i.e. + * identifier for the swapchain). + */ + using SwapChainPtr = Platform::SwapChain*; + + /** + * Collection of images, formats, and extent (width/height) that defines the swapchain. + */ + struct SwapChainBundle { + utils::FixedCapacityVector colors; + VkImage depth = VK_NULL_HANDLE; + VkFormat colorFormat = VK_FORMAT_UNDEFINED; + VkFormat depthFormat = VK_FORMAT_UNDEFINED; + VkExtent2D extent = {0, 0}; + }; + + VulkanPlatform(); + + ~VulkanPlatform() override; + + Driver* createDriver(void* sharedContext, + Platform::DriverConfig const& driverConfig) noexcept override; + + int getOSVersion() const noexcept override { + return 0; + } + + // ---------------------------------------------------- + // ---------- Platform Customization options ---------- + struct Customization { + /** + * The client can specify the GPU (i.e. VkDevice) for the platform. We allow the + * following preferences: + * 1) A substring to match against `VkPhysicalDeviceProperties.deviceName`. Empty string + * by default. + * 2) Index of the device in the list as returned by + * `vkEnumeratePhysicalDevices`. -1 by default to indicate no preference. + */ + struct GPUPreference { + utils::CString deviceName; + int8_t index = -1; + } gpu; + + /** + * Whether the platform supports sRGB swapchain. Default is true. + */ + bool isSRGBSwapChainSupported = true; + + /** + * When the platform window is resized, we will flush and wait on the command queues + * before recreating the swapchain. Default is true. + */ + bool flushAndWaitOnWindowResize = true; + }; + + /** + * Client can override to indicate customized behavior or parameter for their platform. + * @return `Customization` struct that indicates the client's platform + * customizations. + */ + virtual Customization getCustomization() const noexcept { + return {}; + } + + // -------- End platform customization options -------- + // ---------------------------------------------------- + + /** + * Get the images handles and format of the memory backing the swapchain. This should be called + * after createSwapChain() or after recreateIfResized(). + * @param swapchain The handle returned by createSwapChain() + * @return An array of VkImages + */ + virtual SwapChainBundle getSwapChainBundle(SwapChainPtr handle); + + /** + * Acquire the next image for rendering. The `index` will be written with an non-negative + * integer that the backend can use to index into the `SwapChainBundle.colors` array. The + * corresponding VkImage will be used as the output color attachment. The client should signal + * the `clientSignal` semaphore when the image is ready to be used by the backend. + * @param handle The handle returned by createSwapChain() + * @param clientSignal The semaphore that the client will signal to indicate that the backend + * may render into the image. + * @param index Pointer to memory that will be filled with the index that corresponding + * to an image in the `SwapChainBundle.colors` array. + * @return Result of acquire + */ + virtual VkResult acquire(SwapChainPtr handle, VkSemaphore clientSignal, uint32_t* index); + + /** + * Present the image corresponding to `index` to the display. The client should wait on + * `finishedDrawing` before presenting. + * @param handle The handle returned by createSwapChain() + * @param index Index that corresponding to an image in the + * `SwapChainBundle.colors` array. + * @param finishedDrawing Backend passes in a semaphore that the client will signal to + * indicate that the client may render into the image. + * @return Result of present + */ + virtual VkResult present(SwapChainPtr handle, uint32_t index, VkSemaphore finishedDrawing); + + /** + * Check if the surface size has changed. + * @param handle The handle returned by createSwapChain() + * @return Whether the swapchain has been resized + */ + virtual bool hasResized(SwapChainPtr handle); + + /** + * Carry out a recreation of the swapchain. + * @param handle The handle returned by createSwapChain() + * @return Result of the recreation + */ + virtual VkResult recreate(SwapChainPtr handle); + + /** + * Create a swapchain given a platform window, or if given a null `nativeWindow`, then we + * try to create a headless swapchain with the given `extent`. + * @param flags Optional parameters passed to the client as defined in + * Filament::SwapChain.h. + * @param extent Optional width and height that indicates the size of the headless swapchain. + * @return Result of the operation + */ + virtual SwapChainPtr createSwapChain(void* nativeWindow, uint64_t flags = 0, + VkExtent2D extent = {0, 0}); + + /** + * Destroy the swapchain. + * @param handle The handle returned by createSwapChain() + */ + virtual void destroy(SwapChainPtr handle); + + /** + * Clean up any resources owned by the Platform. For example, if the Vulkan instance handle was + * generated by the platform, we need to clean it up in this method. + */ + virtual void terminate(); + + /** + * @return The instance (VkInstance) for the Vulkan backend. + */ + VkInstance getInstance() const noexcept; + + /** + * @return The logical device (VkDevice) that was selected as the backend device. + */ + VkDevice getDevice() const noexcept; + + /** + * @return The physical device (i.e gpu) that was selected as the backend physical device. + */ + VkPhysicalDevice getPhysicalDevice() const noexcept; + + /** + * @return The family index of the graphics queue selected for the Vulkan backend. + */ + uint32_t getGraphicsQueueFamilyIndex() const noexcept; + + /** + * @return The index of the graphics queue (if there are multiple graphics queues) + * selected for the Vulkan backend. + */ + uint32_t getGraphicsQueueIndex() const noexcept; + + /** + * @return The queue that was selected for the Vulkan backend. + */ + VkQueue getGraphicsQueue() const noexcept; + +private: + // Platform dependent helper methods + using ExtensionSet = std::unordered_set; + static ExtensionSet getRequiredInstanceExtensions(); + + using SurfaceBundle = std::tuple; + static SurfaceBundle createVkSurfaceKHR(void* nativeWindow, VkInstance instance, + uint64_t flags) noexcept; + + friend struct VulkanPlatformPrivate; +}; + +}// namespace filament::backend + +#endif// TNT_FILAMENT_BACKEND_PLATFORMS_VULKANPLATFORM_H diff --git a/web/include/filament/camutils/Bookmark.h b/web/include/filament/camutils/Bookmark.h new file mode 100644 index 00000000..44ec1d62 --- /dev/null +++ b/web/include/filament/camutils/Bookmark.h @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef CAMUTILS_BOOKMARK_H +#define CAMUTILS_BOOKMARK_H + +#include + +#include +#include + +namespace filament { +namespace camutils { + +template class FreeFlightManipulator; +template class OrbitManipulator; +template class MapManipulator; +template class Manipulator; + +enum class Mode { ORBIT, MAP, FREE_FLIGHT }; + +/** + * Opaque memento to a viewing position and orientation (e.g. the "home" camera position). + * + * This little struct is meant to be passed around by value and can be used to track camera + * animation between waypoints. In map mode this implements Van Wijk interpolation. + * + * @see Manipulator::getCurrentBookmark, Manipulator::jumpToBookmark + */ +template +struct CAMUTILS_PUBLIC Bookmark { + /** + * Interpolates between two bookmarks. The t argument must be between 0 and 1 (inclusive), and + * the two endpoints must have the same mode (ORBIT or MAP). + */ + static Bookmark interpolate(Bookmark a, Bookmark b, double t); + + /** + * Recommends a duration for animation between two MAP endpoints. The return value is a unitless + * multiplier. + */ + static double duration(Bookmark a, Bookmark b); + +private: + struct MapParams { + FLOAT extent; + filament::math::vec2 center; + }; + struct OrbitParams { + FLOAT phi; + FLOAT theta; + FLOAT distance; + filament::math::vec3 pivot; + }; + struct FlightParams { + FLOAT pitch; + FLOAT yaw; + filament::math::vec3 position; + }; + Mode mode; + MapParams map; + OrbitParams orbit; + FlightParams flight; + friend class FreeFlightManipulator; + friend class OrbitManipulator; + friend class MapManipulator; +}; + +} // namespace camutils +} // namespace filament + +#endif // CAMUTILS_BOOKMARK_H diff --git a/web/include/filament/camutils/Manipulator.h b/web/include/filament/camutils/Manipulator.h new file mode 100644 index 00000000..2cc8a4da --- /dev/null +++ b/web/include/filament/camutils/Manipulator.h @@ -0,0 +1,298 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef CAMUTILS_MANIPULATOR_H +#define CAMUTILS_MANIPULATOR_H + +#include +#include + +#include +#include +#include + +#include + +namespace filament { +namespace camutils { + +enum class Fov { VERTICAL, HORIZONTAL }; + +/** + * Helper that enables camera interaction similar to sketchfab or Google Maps. + * + * Clients notify the camera manipulator of various mouse or touch events, then periodically call + * its getLookAt() method so that they can adjust their camera(s). Three modes are supported: ORBIT, + * MAP, and FREE_FLIGHT. To construct a manipulator instance, the desired mode is passed into the + * create method. + * + * Usage example: + * + * using CameraManipulator = camutils::Manipulator; + * CameraManipulator* manip; + * + * void init() { + * manip = CameraManipulator::Builder() + * .viewport(1024, 768) + * .build(camutils::Mode::ORBIT); + * } + * + * void onMouseDown(int x, int y) { + * manip->grabBegin(x, y, false); + * } + * + * void onMouseMove(int x, int y) { + * manip->grabUpdate(x, y); + * } + * + * void onMouseUp(int x, int y) { + * manip->grabEnd(); + * } + * + * void gameLoop() { + * while (true) { + * filament::math::float3 eye, center, up; + * manip->getLookAt(&eye, ¢er, &up); + * camera->lookAt(eye, center, up); + * render(); + * } + * } + * + * @see Bookmark + */ +template +class CAMUTILS_PUBLIC Manipulator { +public: + using vec2 = filament::math::vec2; + using vec3 = filament::math::vec3; + using vec4 = filament::math::vec4; + + /** Opaque handle to a viewing position and orientation to facilitate camera animation. */ + using Bookmark = filament::camutils::Bookmark; + + /** Optional raycasting function to enable perspective-correct panning. */ + typedef bool (*RayCallback)(const vec3& origin, const vec3& dir, FLOAT* t, void* userdata); + + /** Builder state, direct access is allowed but Builder methods are preferred. **/ + struct Config { + int viewport[2]; + vec3 targetPosition; + vec3 upVector; + FLOAT zoomSpeed; + vec3 orbitHomePosition; + vec2 orbitSpeed; + Fov fovDirection; + FLOAT fovDegrees; + FLOAT farPlane; + vec2 mapExtent; + FLOAT mapMinDistance; + vec3 flightStartPosition; + FLOAT flightStartPitch; + FLOAT flightStartYaw; + FLOAT flightMaxSpeed; + FLOAT flightSpeedSteps; + vec2 flightPanSpeed; + FLOAT flightMoveDamping; + vec4 groundPlane; + RayCallback raycastCallback; + void* raycastUserdata; + }; + + struct Builder { + // Common properties + Builder& viewport(int width, int height); //! Width and height of the viewing area + Builder& targetPosition(FLOAT x, FLOAT y, FLOAT z); //! World-space position of interest, defaults to (0,0,0) + Builder& upVector(FLOAT x, FLOAT y, FLOAT z); //! Orientation for the home position, defaults to (0,1,0) + Builder& zoomSpeed(FLOAT val); //! Multiplied with scroll delta, defaults to 0.01 + + // Orbit mode properties + Builder& orbitHomePosition(FLOAT x, FLOAT y, FLOAT z); //! Initial eye position in world space, defaults to (0,0,1) + Builder& orbitSpeed(FLOAT x, FLOAT y); //! Multiplied with viewport delta, defaults to 0.01 + + // Map mode properties + Builder& fovDirection(Fov fov); //! The axis that's held constant when viewport changes + Builder& fovDegrees(FLOAT degrees); //! The full FOV (not the half-angle) + Builder& farPlane(FLOAT distance); //! The distance to the far plane + Builder& mapExtent(FLOAT worldWidth, FLOAT worldHeight); //! The ground size for computing home position + Builder& mapMinDistance(FLOAT mindist); //! Constrains the zoom-in level + + // Free flight properties + Builder& flightStartPosition(FLOAT x, FLOAT y, FLOAT z); //! Initial eye position in world space, defaults to (0,0,0) + Builder& flightStartOrientation(FLOAT pitch, FLOAT yaw); //! Initial orientation in pitch and yaw, defaults to (0,0) + Builder& flightMaxMoveSpeed(FLOAT maxSpeed); //! The maximum camera speed in world units per second, defaults to 10 + Builder& flightSpeedSteps(int steps); //! The number of speed steps adjustable with scroll wheel, defaults to 80 + Builder& flightPanSpeed(FLOAT x, FLOAT y); //! Multiplied with viewport delta, defaults to 0.01,0.01 + Builder& flightMoveDamping(FLOAT damping); //! Applies a deceleration to camera movement, defaults to 0 (no damping) + //! Lower values give slower damping times, a good default is 15 + //! Too high a value may lead to instability + + // Raycast properties + Builder& groundPlane(FLOAT a, FLOAT b, FLOAT c, FLOAT d); //! Plane equation used as a raycast fallback + Builder& raycastCallback(RayCallback cb, void* userdata); //! Raycast function for accurate grab-and-pan + + /** + * Creates a new camera manipulator, either ORBIT, MAP, or FREE_FLIGHT. + * + * Clients can simply use "delete" to destroy the manipulator. + */ + Manipulator* build(Mode mode); + + Config details = {}; + }; + + virtual ~Manipulator() = default; + + /** + * Gets the immutable mode of the manipulator. + */ + Mode getMode() const { return mMode; } + + /** + * Sets the viewport dimensions. The manipulator uses this to process grab events and raycasts. + */ + void setViewport(int width, int height); + + /** + * Gets the current orthonormal basis; this is usually called once per frame. + */ + void getLookAt(vec3* eyePosition, vec3* targetPosition, vec3* upward) const; + + /** + * Given a viewport coordinate, picks a point in the ground plane, or in the actual scene if the + * raycast callback was provided. + */ + bool raycast(int x, int y, vec3* result) const; + + /** + * Given a viewport coordinate, computes a picking ray (origin + direction). + */ + void getRay(int x, int y, vec3* origin, vec3* dir) const; + + /** + * Starts a grabbing session (i.e. the user is dragging around in the viewport). + * + * In MAP mode, this starts a panning session. + * In ORBIT mode, this starts either rotating or strafing. + * In FREE_FLIGHT mode, this starts a nodal panning session. + * + * @param x X-coordinate for point of interest in viewport space + * @param y Y-coordinate for point of interest in viewport space + * @param strafe ORBIT mode only; if true, starts a translation rather than a rotation + */ + virtual void grabBegin(int x, int y, bool strafe) = 0; + + /** + * Updates a grabbing session. + * + * This must be called at least once between grabBegin / grabEnd to dirty the camera. + */ + virtual void grabUpdate(int x, int y) = 0; + + /** + * Ends a grabbing session. + */ + virtual void grabEnd() = 0; + + /** + * Keys used to translate the camera in FREE_FLIGHT mode. + * FORWARD and BACKWARD dolly the camera forwards and backwards. + * LEFT and RIGHT strafe the camera left and right. + * UP and DOWN boom the camera upwards and downwards. + */ + enum class Key { + FORWARD, + LEFT, + BACKWARD, + RIGHT, + UP, + DOWN, + + COUNT + }; + + /** + * Signals that a key is now in the down state. + * + * In FREE_FLIGHT mode, the camera is translated forward and backward and strafed left and right + * depending on the depressed keys. This allows WASD-style movement. + */ + virtual void keyDown(Key key); + + /** + * Signals that a key is now in the up state. + * + * @see keyDown + */ + virtual void keyUp(Key key); + + /** + * In MAP and ORBIT modes, dollys the camera along the viewing direction. + * In FREE_FLIGHT mode, adjusts the move speed of the camera. + * + * @param x X-coordinate for point of interest in viewport space, ignored in FREE_FLIGHT mode + * @param y Y-coordinate for point of interest in viewport space, ignored in FREE_FLIGHT mode + * @param scrolldelta In MAP and ORBIT modes, negative means "zoom in", positive means "zoom out" + * In FREE_FLIGHT mode, negative means "slower", positive means "faster" + */ + virtual void scroll(int x, int y, FLOAT scrolldelta) = 0; + + /** + * Processes input and updates internal state. + * + * This must be called once every frame before getLookAt is valid. + * + * @param deltaTime The amount of time, in seconds, passed since the previous call to update. + */ + virtual void update(FLOAT deltaTime); + + /** + * Gets a handle that can be used to reset the manipulator back to its current position. + * + * @see jumpToBookmark + */ + virtual Bookmark getCurrentBookmark() const = 0; + + /** + * Gets a handle that can be used to reset the manipulator back to its home position. + * + * @see jumpToBookmark + */ + virtual Bookmark getHomeBookmark() const = 0; + + /** + * Sets the manipulator position and orientation back to a stashed state. + * + * @see getCurrentBookmark, getHomeBookmark + */ + virtual void jumpToBookmark(const Bookmark& bookmark) = 0; + +protected: + Manipulator(Mode mode, const Config& props); + + virtual void setProperties(const Config& props); + + vec3 raycastFarPlane(int x, int y) const; + + const Mode mMode; + Config mProps; + vec3 mEye; + vec3 mTarget; +}; + +} // namespace camutils +} // namespace filament + +#endif /* CAMUTILS_MANIPULATOR_H */ diff --git a/web/include/filament/camutils/compiler.h b/web/include/filament/camutils/compiler.h new file mode 100644 index 00000000..5e5edf94 --- /dev/null +++ b/web/include/filament/camutils/compiler.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef CAMUTILS_COMPILER_H +#define CAMUTILS_COMPILER_H + +#if __has_attribute(visibility) +# define CAMUTILS_PUBLIC __attribute__((visibility("default"))) +#else +# define CAMUTILS_PUBLIC +#endif + +#endif // CAMUTILS_COMPILER_H diff --git a/web/include/filament/filamat/Enums.h b/web/include/filament/filamat/Enums.h new file mode 100644 index 00000000..04b5ff8b --- /dev/null +++ b/web/include/filament/filamat/Enums.h @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_ENUMMANAGER_H +#define TNT_ENUMMANAGER_H + +#include +#include +#include + +#include + +namespace filamat { + +using Property = MaterialBuilder::Property; +using UniformType = MaterialBuilder::UniformType; +using SamplerType = MaterialBuilder::SamplerType; +using SubpassType = MaterialBuilder::SubpassType; +using SamplerFormat = MaterialBuilder::SamplerFormat; +using ParameterPrecision = MaterialBuilder::ParameterPrecision; +using OutputTarget = MaterialBuilder::OutputTarget; +using OutputQualifier = MaterialBuilder::VariableQualifier; +using OutputType = MaterialBuilder::OutputType; +using ConstantType = MaterialBuilder::ConstantType; + +// Convenience methods to convert std::string to Enum and also iterate over Enum values. +class Enums { +public: + + // Returns true if string "s" is a valid string representation of an element of enum T. + template + static bool isValid(const std::string& s) noexcept { + std::unordered_map& map = getMap(); + return map.find(s) != map.end(); + } + + // Return enum matching its string representation. Returns undefined if s is not a valid enum T + // value. You should always call isValid() first to validate a string before calling toEnum(). + template + static T toEnum(const std::string& s) noexcept { + std::unordered_map& map = getMap(); + return map.at(s); + } + + template + static std::string toString(T t) noexcept; + + // Return a map of all values in an enum with their string representation. + template + static std::unordered_map& map() noexcept { + std::unordered_map& map = getMap(); + return map; + }; + +private: + template + static std::unordered_map& getMap() noexcept; + + static std::unordered_map mStringToProperty; + static std::unordered_map mStringToUniformType; + static std::unordered_map mStringToSamplerType; + static std::unordered_map mStringToSubpassType; + static std::unordered_map mStringToSamplerFormat; + static std::unordered_map mStringToSamplerPrecision; + static std::unordered_map mStringToOutputTarget; + static std::unordered_map mStringToOutputQualifier; + static std::unordered_map mStringToOutputType; + static std::unordered_map mStringToConstantType; +}; + +template +std::string Enums::toString(T t) noexcept { + std::unordered_map& map = getMap(); + auto result = std::find_if(map.begin(), map.end(), [t](auto& pair) { + return pair.second == t; + }); + if (result != map.end()) { + return result->first; + } + return ""; +} + +} // namespace filamat + +#endif //TNT_ENUMMANAGER_H diff --git a/web/include/filament/filamat/IncludeCallback.h b/web/include/filament/filamat/IncludeCallback.h new file mode 100644 index 00000000..659ba289 --- /dev/null +++ b/web/include/filament/filamat/IncludeCallback.h @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMAT_INCLUDER_H +#define TNT_FILAMAT_INCLUDER_H + +#include + +#include + +namespace filamat { + +struct IncludeResult { + // The include name of the root file, as if it were being included. + // I.e., 'foobar.h' in the case of #include "foobar.h" + const utils::CString includeName; + + // The following fields should be filled out by the IncludeCallback when processing an include, + // or when calling resolveIncludes for the root file. + + // The full contents of the include file. This may contain additional, recursive include + // directives. + utils::CString text; + + // The line number for the first line of text (first line is 0). + size_t lineNumberOffset = 0; + + // The name of the include file. This gets passed as "includerName" for any includes inside of + // source. This field isn't used by the include system; it's up to the callback to give meaning + // to this value and interpret it accordingly. In the case of DirIncluder, this is an empty + // string to represent the root include file, and a canonical path for subsequent included + // files. + utils::CString name; +}; + +/** + * A callback invoked by the include system when an #include "file.h" directive is found. + * + * For example, if a file main.h includes file.h on line 10, then IncludeCallback would be called + * with the following: + * includeCallback("main.h", {.includeName = "file.h" }) + * It's then up to the IncludeCallback to fill out the .text, .name, and (optionally) + * lineNumberOffset fields. + * + * @param includedBy is the value that was given to IncludeResult.name for this source file, or + * the empty string for the root source file. + * @param result is the IncludeResult that the callback should fill out. + * @return true, if the include was resolved successfully, false otherwise. + * + * For an example of implementing this callback, see tools/matc/src/matc/DirIncluder.h. + */ +using IncludeCallback = std::function; + +} // namespace filamat + +#endif diff --git a/web/include/filament/filamat/MaterialBuilder.h b/web/include/filament/filamat/MaterialBuilder.h new file mode 100644 index 00000000..6e7c70a0 --- /dev/null +++ b/web/include/filament/filamat/MaterialBuilder.h @@ -0,0 +1,891 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMAT_MATERIAL_PACKAGE_BUILDER_H +#define TNT_FILAMAT_MATERIAL_PACKAGE_BUILDER_H + +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace utils { +class JobSystem; +} + +namespace filament { +class BufferInterfaceBlock; +} + +namespace filamat { + +struct MaterialInfo; +struct Variant; +class ChunkContainer; + +class UTILS_PUBLIC MaterialBuilderBase { +public: + /** + * High-level hint that works in concert with TargetApi to determine the shader models (used to + * generate GLSL) and final output representations (spirv and/or text). + * When generating the GLSL this is used to differentiate OpenGL from OpenGLES, it is also + * used to make some performance adjustments. + */ + enum class Platform { + DESKTOP, + MOBILE, + ALL + }; + + /** + * TargetApi defines which language after transpilation will be used, it is used to + * account for some differences between these languages when generating the GLSL. + */ + enum class TargetApi : uint8_t { + OPENGL = 0x01u, + VULKAN = 0x02u, + METAL = 0x04u, + ALL = OPENGL | VULKAN | METAL + }; + + /* + * Generally we generate GLSL that will be converted to SPIRV, optimized and then + * transpiled to the backend's language such as MSL, ESSL300, GLSL410 or SPIRV, in this + * case the generated GLSL uses ESSL310 or GLSL450 and has Vulkan semantics and + * TargetLanguage::SPIRV must be used. + * + * However, in some cases (e.g. when no optimization is asked) we generate the *final* GLSL + * directly, this GLSL must be ESSL300 or GLSL410 and cannot use any Vulkan syntax, for this + * situation we use TargetLanguage::GLSL. In this case TargetApi is guaranteed to be OPENGL. + * + * Note that TargetLanguage::GLSL is not the common case, as it is generally not used in + * release builds. + * + * Also note that glslang performs semantics analysis on whichever GLSL ends up being generated. + */ + enum class TargetLanguage { + GLSL, // GLSL with OpenGL 4.1 / OpenGL ES 3.0 semantics + SPIRV // GLSL with Vulkan semantics + }; + + enum class Optimization { + NONE, + PREPROCESSOR, + SIZE, + PERFORMANCE + }; + + /** + * Initialize MaterialBuilder. + * + * init must be called first before building any materials. + */ + static void init(); + + /** + * Release internal MaterialBuilder resources. + * + * Call shutdown when finished building materials to release all internal resources. After + * calling shutdown, another call to MaterialBuilder::init must precede another material build. + */ + static void shutdown(); + +protected: + // Looks at platform and target API, then decides on shader models and output formats. + void prepare(bool vulkanSemantics, filament::backend::FeatureLevel featureLevel); + + using ShaderModel = filament::backend::ShaderModel; + Platform mPlatform = Platform::DESKTOP; + TargetApi mTargetApi = (TargetApi) 0; + Optimization mOptimization = Optimization::PERFORMANCE; + bool mPrintShaders = false; + bool mGenerateDebugInfo = false; + bool mIncludeEssl1 = true; + utils::bitset32 mShaderModels; + struct CodeGenParams { + ShaderModel shaderModel; + TargetApi targetApi; + TargetLanguage targetLanguage; + filament::backend::FeatureLevel featureLevel; + }; + std::vector mCodeGenPermutations; + + // Keeps track of how many times MaterialBuilder::init() has been called without a call to + // MaterialBuilder::shutdown(). Internally, glslang does something similar. We keep track for + // ourselves, so we can inform the user if MaterialBuilder::init() hasn't been called before + // attempting to build a material. + static std::atomic materialBuilderClients; +}; + +// Utility function that looks at an Engine backend to determine TargetApi +inline constexpr MaterialBuilderBase::TargetApi targetApiFromBackend( + filament::backend::Backend backend) noexcept { + using filament::backend::Backend; + using TargetApi = MaterialBuilderBase::TargetApi; + switch (backend) { + case Backend::DEFAULT: return TargetApi::ALL; + case Backend::OPENGL: return TargetApi::OPENGL; + case Backend::VULKAN: return TargetApi::VULKAN; + case Backend::METAL: return TargetApi::METAL; + case Backend::NOOP: return TargetApi::OPENGL; + } +} + +/** + * MaterialBuilder builds Filament materials from shader code. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * using namespace filamat; + * + * // Must be called before any materials can be built. + * MaterialBuilder::init(); + + * MaterialBuilder builder; + * builder + * .name("My material") + * .material("void material (inout MaterialInputs material) {" + * " prepareMaterial(material);" + * " material.baseColor.rgb = float3(1.0, 0.0, 0.0);" + * "}") + * .shading(MaterialBuilder::Shading::LIT) + * .targetApi(MaterialBuilder::TargetApi::ALL) + * .platform(MaterialBuilder::Platform::ALL); + + * Package package = builder.build(); + * if (package.isValid()) { + * // success! + * } + + * // Call when finished building all materials to release internal + * // MaterialBuilder resources. + * MaterialBuilder::shutdown(); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * @see filament::Material + */ +class UTILS_PUBLIC MaterialBuilder : public MaterialBuilderBase { +public: + MaterialBuilder(); + ~MaterialBuilder(); + + MaterialBuilder(const MaterialBuilder& rhs) = delete; + MaterialBuilder& operator=(const MaterialBuilder& rhs) = delete; + + MaterialBuilder(MaterialBuilder&& rhs) noexcept = default; + MaterialBuilder& operator=(MaterialBuilder&& rhs) noexcept = default; + + static constexpr size_t MATERIAL_VARIABLES_COUNT = 4; + enum class Variable : uint8_t { + CUSTOM0, + CUSTOM1, + CUSTOM2, + CUSTOM3 + // when adding more variables, make sure to update MATERIAL_VARIABLES_COUNT + }; + + using MaterialDomain = filament::MaterialDomain; + using RefractionMode = filament::RefractionMode; + using RefractionType = filament::RefractionType; + using ReflectionMode = filament::ReflectionMode; + using VertexAttribute = filament::VertexAttribute; + + using ShaderQuality = filament::ShaderQuality; + using BlendingMode = filament::BlendingMode; + using Shading = filament::Shading; + using Interpolation = filament::Interpolation; + using VertexDomain = filament::VertexDomain; + using TransparencyMode = filament::TransparencyMode; + using SpecularAmbientOcclusion = filament::SpecularAmbientOcclusion; + + using AttributeType = filament::backend::UniformType; + using UniformType = filament::backend::UniformType; + using ConstantType = filament::backend::ConstantType; + using SamplerType = filament::backend::SamplerType; + using SubpassType = filament::backend::SubpassType; + using SamplerFormat = filament::backend::SamplerFormat; + using ParameterPrecision = filament::backend::Precision; + using Precision = filament::backend::Precision; + using CullingMode = filament::backend::CullingMode; + using FeatureLevel = filament::backend::FeatureLevel; + + enum class VariableQualifier : uint8_t { + OUT + }; + + enum class OutputTarget : uint8_t { + COLOR, + DEPTH + }; + + enum class OutputType : uint8_t { + FLOAT, + FLOAT2, + FLOAT3, + FLOAT4 + }; + + struct PreprocessorDefine { + std::string name; + std::string value; + + PreprocessorDefine(std::string name, std::string value) : + name(std::move(name)), value(std::move(value)) {} + }; + using PreprocessorDefineList = std::vector; + + + MaterialBuilder& noSamplerValidation(bool enabled) noexcept; + + //! Enable generation of ESSL 1.0 code in FL0 materials. + MaterialBuilder& includeEssl1(bool enabled) noexcept; + + //! Set the name of this material. + MaterialBuilder& name(const char* name) noexcept; + + //! Set the file name of this material file. Used in error reporting. + MaterialBuilder& fileName(const char* name) noexcept; + + //! Set the shading model. + MaterialBuilder& shading(Shading shading) noexcept; + + //! Set the interpolation mode. + MaterialBuilder& interpolation(Interpolation interpolation) noexcept; + + //! Add a parameter (i.e., a uniform) to this material. + MaterialBuilder& parameter(const char* name, UniformType type, + ParameterPrecision precision = ParameterPrecision::DEFAULT) noexcept; + + //! Add a parameter array to this material. + MaterialBuilder& parameter(const char* name, size_t size, UniformType type, + ParameterPrecision precision = ParameterPrecision::DEFAULT) noexcept; + + //! Add a constant parameter to this material. + template + using is_supported_constant_parameter_t = typename std::enable_if< + std::is_same::value || + std::is_same::value || + std::is_same::value>::type; + template> + MaterialBuilder& constant(const char *name, ConstantType type, T defaultValue = 0); + + /** + * Add a sampler parameter to this material. + * + * When SamplerType::SAMPLER_EXTERNAL is specified, format and precision are ignored. + */ + MaterialBuilder& parameter(const char* name, SamplerType samplerType, + SamplerFormat format = SamplerFormat::FLOAT, + ParameterPrecision precision = ParameterPrecision::DEFAULT) noexcept; + + /// @copydoc parameter(SamplerType, SamplerFormat, ParameterPrecision, const char*) + MaterialBuilder& parameter(const char* name, SamplerType samplerType, + ParameterPrecision precision) noexcept; + + + MaterialBuilder& buffer(filament::BufferInterfaceBlock bib) noexcept; + + //! Custom variables (all float4). + MaterialBuilder& variable(Variable v, const char* name) noexcept; + + /** + * Require a specified attribute. + * + * position is always required and normal depends on the shading model. + */ + MaterialBuilder& require(VertexAttribute attribute) noexcept; + + //! Specify the domain that this material will operate in. + MaterialBuilder& materialDomain(MaterialBuilder::MaterialDomain materialDomain) noexcept; + + /** + * Set the code content of this material. + * + * Surface Domain + * -------------- + * + * Materials in the SURFACE domain must declare a function: + * ~~~~~ + * void material(inout MaterialInputs material) { + * prepareMaterial(material); + * material.baseColor.rgb = float3(1.0, 0.0, 0.0); + * } + * ~~~~~ + * this function *must* call `prepareMaterial(material)` before it returns. + * + * Post-process Domain + * ------------------- + * + * Materials in the POST_PROCESS domain must declare a function: + * ~~~~~ + * void postProcess(inout PostProcessInputs postProcess) { + * postProcess.color = float4(1.0); + * } + * ~~~~~ + * + * @param code The source code of the material. + * @param line The line number offset of the material, where 0 is the first line. Used for error + * reporting + */ + MaterialBuilder& material(const char* code, size_t line = 0) noexcept; + + /** + * Set the callback used for resolving include directives. + * The default is no callback, which disallows all includes. + */ + MaterialBuilder& includeCallback(IncludeCallback callback) noexcept; + + /** + * Set the vertex code content of this material. + * + * Surface Domain + * -------------- + * + * Materials in the SURFACE domain must declare a function: + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * void materialVertex(inout MaterialVertexInputs material) { + * + * } + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Post-process Domain + * ------------------- + * + * Materials in the POST_PROCESS domain must declare a function: + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * void postProcessVertex(inout PostProcessVertexInputs postProcess) { + * + * } + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + * @param code The source code of the material. + * @param line The line number offset of the material, where 0 is the first line. Used for error + * reporting + */ + MaterialBuilder& materialVertex(const char* code, size_t line = 0) noexcept; + + + MaterialBuilder& quality(ShaderQuality quality) noexcept; + + MaterialBuilder& featureLevel(FeatureLevel featureLevel) noexcept; + + /** + * Set the blending mode for this material. When set to MASKED, alpha to coverage is turned on. + * You can override this behavior using alphaToCoverage(false). + */ + MaterialBuilder& blending(BlendingMode blending) noexcept; + + /** + * Set the blending mode of the post-lighting color for this material. + * Only OPAQUE, TRANSPARENT and ADD are supported, the default is TRANSPARENT. + * This setting requires the material property "postLightingColor" to be set. + */ + MaterialBuilder& postLightingBlending(BlendingMode blending) noexcept; + + //! Set the vertex domain for this material. + MaterialBuilder& vertexDomain(VertexDomain domain) noexcept; + + /** + * How triangles are culled by default (doesn't affect points or lines, BACK by default). + * Material instances can override this. + */ + MaterialBuilder& culling(CullingMode culling) noexcept; + + //! Enable / disable color-buffer write (enabled by default, material instances can override). + MaterialBuilder& colorWrite(bool enable) noexcept; + + //! Enable / disable depth-buffer write (enabled by default for opaque, disabled for others, material instances can override). + MaterialBuilder& depthWrite(bool enable) noexcept; + + //! Enable / disable depth based culling (enabled by default, material instances can override). + MaterialBuilder& depthCulling(bool enable) noexcept; + + //! Enable / disable instanced primitives (disabled by default). + MaterialBuilder& instanced(bool enable) noexcept; + + /** + * Double-sided materials don't cull faces, equivalent to culling(CullingMode::NONE). + * doubleSided() overrides culling() if called. + * When called with "false", this enables the capability for a run-time toggle. + */ + MaterialBuilder& doubleSided(bool doubleSided) noexcept; + + /** + * Any fragment with an alpha below this threshold is clipped (MASKED blending mode only). + * The mask threshold can also be controlled by using the float material parameter called + * `_maskThreshold`, or by calling + * @ref filament::MaterialInstance::setMaskThreshold "MaterialInstance::setMaskThreshold". + */ + MaterialBuilder& maskThreshold(float threshold) noexcept; + + /** + * Enables or disables alpha-to-coverage. When enabled, the coverage of a fragment is based + * on its alpha value. This parameter is only useful when MSAA is in use. Alpha to coverage + * is enabled automatically when the blend mode is set to MASKED; this behavior can be + * overridden by calling alphaToCoverage(false). + */ + MaterialBuilder& alphaToCoverage(bool enable) noexcept; + + //! The material output is multiplied by the shadowing factor (UNLIT model only). + MaterialBuilder& shadowMultiplier(bool shadowMultiplier) noexcept; + + //! This material casts transparent shadows. The blending mode must be TRANSPARENT or FADE. + MaterialBuilder& transparentShadow(bool transparentShadow) noexcept; + + /** + * Reduces specular aliasing for materials that have low roughness. Turning this feature on also + * helps preserve the shapes of specular highlights as an object moves away from the camera. + * When turned on, two float material parameters are added to control the effect: + * `_specularAAScreenSpaceVariance` and `_specularAAThreshold`. You can also use + * @ref filament::MaterialInstance::setSpecularAntiAliasingVariance + * "MaterialInstance::setSpecularAntiAliasingVariance" and + * @ref filament::MaterialInstance::setSpecularAntiAliasingThreshold + * "setSpecularAntiAliasingThreshold" + * + * Disabled by default. + */ + MaterialBuilder& specularAntiAliasing(bool specularAntiAliasing) noexcept; + + /** + * Sets the screen-space variance of the filter kernel used when applying specular + * anti-aliasing. The default value is set to 0.15. The specified value should be between 0 and + * 1 and will be clamped if necessary. + */ + MaterialBuilder& specularAntiAliasingVariance(float screenSpaceVariance) noexcept; + + /** + * Sets the clamping threshold used to suppress estimation errors when applying specular + * anti-aliasing. The default value is set to 0.2. The specified value should be between 0 and 1 + * and will be clamped if necessary. + */ + MaterialBuilder& specularAntiAliasingThreshold(float threshold) noexcept; + + /** + * Enables or disables the index of refraction (IoR) change caused by the clear coat layer when + * present. When the IoR changes, the base color is darkened. Disabling this feature preserves + * the base color as initially specified. + * + * Enabled by default. + */ + MaterialBuilder& clearCoatIorChange(bool clearCoatIorChange) noexcept; + + //! Enable / disable flipping of the Y coordinate of UV attributes, enabled by default. + MaterialBuilder& flipUV(bool flipUV) noexcept; + + //! Enable / disable multi-bounce ambient occlusion, disabled by default on mobile. + MaterialBuilder& multiBounceAmbientOcclusion(bool multiBounceAO) noexcept; + + //! Set the specular ambient occlusion technique. Disabled by default on mobile. + MaterialBuilder& specularAmbientOcclusion(SpecularAmbientOcclusion specularAO) noexcept; + + //! Specify the refraction + MaterialBuilder& refractionMode(RefractionMode refraction) noexcept; + + //! Specify the refraction type + MaterialBuilder& refractionType(RefractionType refractionType) noexcept; + + //! Specifies how reflections should be rendered (default is DEFAULT). + MaterialBuilder& reflectionMode(ReflectionMode mode) noexcept; + + //! Specifies how transparent objects should be rendered (default is DEFAULT). + MaterialBuilder& transparencyMode(TransparencyMode mode) noexcept; + + /** + * Enable / disable custom surface shading. Custom surface shading requires the LIT + * shading model. In addition, the following function must be defined in the fragment + * block: + * + * ~~~~~ + * vec3 surfaceShading(const MaterialInputs materialInputs, + * const ShadingData shadingData, const LightData lightData) { + * + * return vec3(1.0); // Compute surface shading with custom BRDF, etc. + * } + * ~~~~~ + * + * This function is invoked once per light. Please refer to the materials documentation + * for more information about the different parameters. + * + * @param customSurfaceShading Enables or disables custom surface shading + */ + MaterialBuilder& customSurfaceShading(bool customSurfaceShading) noexcept; + + /** + * Specifies desktop vs mobile; works in concert with TargetApi to determine the shader models + * (used to generate code) and final output representations (spirv and/or text). + */ + MaterialBuilder& platform(Platform platform) noexcept; + + /** + * Specifies OpenGL, Vulkan, or Metal. + * This can be called repeatedly to build for multiple APIs. + * Works in concert with Platform to determine the shader models (used to generate code) and + * final output representations (spirv and/or text). + * If linking against filamat_lite, only `OPENGL` is allowed. + */ + MaterialBuilder& targetApi(TargetApi targetApi) noexcept; + + /** + * Specifies the level of optimization to apply to the shaders (default is PERFORMANCE). + * If linking against filamat_lite, this _must_ be called with Optimization::NONE. + */ + MaterialBuilder& optimization(Optimization optimization) noexcept; + + // TODO: this is present here for matc's "--print" flag, but ideally does not belong inside + // MaterialBuilder. + //! If true, will output the generated GLSL shader code to stdout. + MaterialBuilder& printShaders(bool printShaders) noexcept; + + //! If true, will include debugging information in generated SPIRV. + MaterialBuilder& generateDebugInfo(bool generateDebugInfo) noexcept; + + //! Specifies a list of variants that should be filtered out during code generation. + MaterialBuilder& variantFilter(filament::UserVariantFilterMask variantFilter) noexcept; + + //! Adds a new preprocessor macro definition to the shader code. Can be called repeatedly. + MaterialBuilder& shaderDefine(const char* name, const char* value) noexcept; + + //! Add a new fragment shader output variable. Only valid for materials in the POST_PROCESS domain. + MaterialBuilder& output(VariableQualifier qualifier, OutputTarget target, Precision precision, + OutputType type, const char* name, int location = -1) noexcept; + + MaterialBuilder& enableFramebufferFetch() noexcept; + + MaterialBuilder& vertexDomainDeviceJittered(bool enabled) noexcept; + + /** + * Legacy morphing uses the data in the VertexAttribute slots (\c MORPH_POSITION_0, etc) and is + * limited to 4 morph targets. See filament::RenderableManager::Builder::morphing(). + */ + MaterialBuilder& useLegacyMorphing() noexcept; + + //! specify compute kernel group size + MaterialBuilder& groupSize(filament::math::uint3 groupSize) noexcept; + + /** + * Build the material. If you are using the Filament engine with this library, you should use + * the job system provided by Engine. + */ + Package build(utils::JobSystem& jobSystem) noexcept; + +public: + // The methods and types below are for internal use + /// @cond never + + /** + * Add a subpass parameter to this material. + */ + MaterialBuilder& subpass(SubpassType subpassType, + SamplerFormat format, ParameterPrecision precision, const char* name) noexcept; + MaterialBuilder& subpass(SubpassType subpassType, + SamplerFormat format, const char* name) noexcept; + MaterialBuilder& subpass(SubpassType subpassType, + ParameterPrecision precision, const char* name) noexcept; + MaterialBuilder& subpass(SubpassType subpassType, const char* name) noexcept; + + struct Parameter { + Parameter() noexcept: parameterType(INVALID) {} + + // Sampler + Parameter(const char* paramName, SamplerType t, SamplerFormat f, ParameterPrecision p) + : name(paramName), size(1), precision(p), samplerType(t), format(f), parameterType(SAMPLER) { } + + // Uniform + Parameter(const char* paramName, UniformType t, size_t typeSize, ParameterPrecision p) + : name(paramName), size(typeSize), uniformType(t), precision(p), parameterType(UNIFORM) { } + + // Subpass + Parameter(const char* paramName, SubpassType t, SamplerFormat f, ParameterPrecision p) + : name(paramName), size(1), precision(p), subpassType(t), format(f), parameterType(SUBPASS) { } + + utils::CString name; + size_t size; + UniformType uniformType; + ParameterPrecision precision; + SamplerType samplerType; + SubpassType subpassType; + SamplerFormat format; + enum { + INVALID, + UNIFORM, + SAMPLER, + SUBPASS + } parameterType; + + bool isSampler() const { return parameterType == SAMPLER; } + bool isUniform() const { return parameterType == UNIFORM; } + bool isSubpass() const { return parameterType == SUBPASS; } + }; + + struct Output { + Output() noexcept = default; + Output(const char* outputName, VariableQualifier qualifier, OutputTarget target, + Precision precision, OutputType type, int location) noexcept + : name(outputName), qualifier(qualifier), target(target), precision(precision), + type(type), location(location) { } + + utils::CString name; + VariableQualifier qualifier; + OutputTarget target; + Precision precision; + OutputType type; + int location; + }; + + struct Constant { + utils::CString name; + ConstantType type; + union { + int32_t i; + float f; + bool b; + } defaultValue; + }; + + static constexpr size_t MATERIAL_PROPERTIES_COUNT = filament::MATERIAL_PROPERTIES_COUNT; + using Property = filament::Property; + + using PropertyList = bool[MATERIAL_PROPERTIES_COUNT]; + using VariableList = utils::CString[MATERIAL_VARIABLES_COUNT]; + using OutputList = std::vector; + + static constexpr size_t MAX_COLOR_OUTPUT = filament::backend::MRT::MAX_SUPPORTED_RENDER_TARGET_COUNT; + static constexpr size_t MAX_DEPTH_OUTPUT = 1; + static_assert(MAX_COLOR_OUTPUT == 8, + "When updating MRT::MAX_SUPPORTED_RENDER_TARGET_COUNT, manually update post_process_inputs.fs" + " and post_process.fs"); + + // Preview the first shader generated by the given CodeGenParams. + // This is used to run Static Code Analysis before generating a package. + std::string peek(filament::backend::ShaderStage type, + const CodeGenParams& params, const PropertyList& properties) noexcept; + + // Returns true if any of the parameter samplers matches the specified type. + bool hasSamplerType(SamplerType samplerType) const noexcept; + + static constexpr size_t MAX_PARAMETERS_COUNT = 48; + static constexpr size_t MAX_SUBPASS_COUNT = 1; + static constexpr size_t MAX_BUFFERS_COUNT = 4; + using ParameterList = Parameter[MAX_PARAMETERS_COUNT]; + using SubpassList = Parameter[MAX_SUBPASS_COUNT]; + using BufferList = std::vector>; + using ConstantList = std::vector; + + // returns the number of parameters declared in this material + uint8_t getParameterCount() const noexcept { return mParameterCount; } + + // returns a list of at least getParameterCount() parameters + const ParameterList& getParameters() const noexcept { return mParameters; } + + // returns the number of parameters declared in this material + uint8_t getSubpassCount() const noexcept { return mSubpassCount; } + + // returns a list of at least getParameterCount() parameters + const SubpassList& getSubPasses() const noexcept { return mSubpasses; } + + filament::UserVariantFilterMask getVariantFilter() const { return mVariantFilter; } + + FeatureLevel getFeatureLevel() const noexcept { return mFeatureLevel; } + /// @endcond + + struct Attribute { + std::string_view name; + AttributeType type; + MaterialBuilder::VertexAttribute location; + std::string getAttributeName() const noexcept { + return "mesh_" + std::string{ name }; + } + std::string getDefineName() const noexcept { + std::string uppercase{ name }; + transform(uppercase.cbegin(), uppercase.cend(), uppercase.begin(), ::toupper); + return "HAS_ATTRIBUTE_" + uppercase; + } + }; + + using AttributeDatabase = std::array; + + static inline AttributeDatabase const& getAttributeDatabase() noexcept { + return sAttributeDatabase; + } + +private: + static const AttributeDatabase sAttributeDatabase; + + void prepareToBuild(MaterialInfo& info) noexcept; + + // Return true if the shader is syntactically and semantically valid. + // This method finds all the properties defined in the fragment and + // vertex shaders of the material. + bool findAllProperties(CodeGenParams const& semanticCodeGenParams) noexcept; + + // Multiple calls to findProperties accumulate the property sets across fragment + // and vertex shaders in mProperties. + bool findProperties(filament::backend::ShaderStage type, + MaterialBuilder::PropertyList& allProperties, + CodeGenParams const& semanticCodeGenParams) noexcept; + + bool runSemanticAnalysis(MaterialInfo* inOutInfo, + CodeGenParams const& semanticCodeGenParams) noexcept; + + bool checkLiteRequirements() noexcept; + + bool checkMaterialLevelFeatures(MaterialInfo const& info) const noexcept; + + void writeCommonChunks(ChunkContainer& container, MaterialInfo& info) const noexcept; + void writeSurfaceChunks(ChunkContainer& container) const noexcept; + + bool generateShaders( + utils::JobSystem& jobSystem, + const std::vector& variants, ChunkContainer& container, + const MaterialInfo& info) const noexcept; + + bool hasCustomVaryings() const noexcept; + bool needsStandardDepthProgram() const noexcept; + + bool isLit() const noexcept { return mShading != filament::Shading::UNLIT; } + + utils::CString mMaterialName; + utils::CString mFileName; + + class ShaderCode { + public: + void setLineOffset(size_t offset) noexcept { mLineOffset = offset; } + void setUnresolved(const utils::CString& code) noexcept { + mIncludesResolved = false; + mCode = code; + } + + // Resolve all the #include directives, returns true if successful. + bool resolveIncludes(IncludeCallback callback, const utils::CString& fileName) noexcept; + + const utils::CString& getResolved() const noexcept { + assert(mIncludesResolved); + return mCode; + } + + size_t getLineOffset() const noexcept { return mLineOffset; } + + private: + utils::CString mCode; + size_t mLineOffset = 0; + bool mIncludesResolved = false; + }; + + ShaderCode mMaterialFragmentCode; + ShaderCode mMaterialVertexCode; + + IncludeCallback mIncludeCallback = nullptr; + + PropertyList mProperties; + ParameterList mParameters; + ConstantList mConstants; + SubpassList mSubpasses; + VariableList mVariables; + OutputList mOutputs; + BufferList mBuffers; + + ShaderQuality mShaderQuality = ShaderQuality::DEFAULT; + FeatureLevel mFeatureLevel = FeatureLevel::FEATURE_LEVEL_1; + BlendingMode mBlendingMode = BlendingMode::OPAQUE; + BlendingMode mPostLightingBlendingMode = BlendingMode::TRANSPARENT; + CullingMode mCullingMode = CullingMode::BACK; + Shading mShading = Shading::LIT; + MaterialDomain mMaterialDomain = MaterialDomain::SURFACE; + RefractionMode mRefractionMode = RefractionMode::NONE; + RefractionType mRefractionType = RefractionType::SOLID; + ReflectionMode mReflectionMode = ReflectionMode::DEFAULT; + Interpolation mInterpolation = Interpolation::SMOOTH; + VertexDomain mVertexDomain = VertexDomain::OBJECT; + TransparencyMode mTransparencyMode = TransparencyMode::DEFAULT; + + filament::AttributeBitset mRequiredAttributes; + + float mMaskThreshold = 0.4f; + float mSpecularAntiAliasingVariance = 0.15f; + float mSpecularAntiAliasingThreshold = 0.2f; + + filament::math::uint3 mGroupSize = { 1, 1, 1 }; + + bool mShadowMultiplier = false; + bool mTransparentShadow = false; + + uint8_t mParameterCount = 0; + uint8_t mSubpassCount = 0; + + bool mDoubleSided = false; + bool mDoubleSidedCapability = false; + bool mColorWrite = true; + bool mDepthTest = true; + bool mInstanced = false; + bool mDepthWrite = true; + bool mDepthWriteSet = false; + bool mAlphaToCoverage = false; + bool mAlphaToCoverageSet = false; + + bool mSpecularAntiAliasing = false; + bool mClearCoatIorChange = true; + + bool mFlipUV = true; + + bool mMultiBounceAO = false; + bool mMultiBounceAOSet = false; + + SpecularAmbientOcclusion mSpecularAO = SpecularAmbientOcclusion::NONE; + bool mSpecularAOSet = false; + + bool mCustomSurfaceShading = false; + + bool mEnableFramebufferFetch = false; + + bool mVertexDomainDeviceJittered = false; + + bool mUseLegacyMorphing = false; + + PreprocessorDefineList mDefines; + + filament::UserVariantFilterMask mVariantFilter = {}; + + bool mNoSamplerValidation = false; +}; + +} // namespace filamat + +template<> struct utils::EnableBitMaskOperators + : public std::true_type {}; + +#endif diff --git a/web/include/filament/filamat/Package.h b/web/include/filament/filamat/Package.h new file mode 100644 index 00000000..93e74a58 --- /dev/null +++ b/web/include/filament/filamat/Package.h @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMAT_PACKAGE_H +#define TNT_FILAMAT_PACKAGE_H + +#include +#include +#include + +#include +#include + +#include + +namespace filamat { + +class UTILS_PUBLIC Package { +public: + Package() = default; + + // Regular constructor + explicit Package(size_t size) : mSize(size) { + mPayload = new uint8_t[size]; + } + + Package(const void* src, size_t size) : Package(size) { + memcpy(mPayload, src, size); + } + + // Move Constructor + Package(Package&& other) noexcept : mPayload(other.mPayload), mSize(other.mSize), + mValid(other.mValid) { + other.mPayload = nullptr; + other.mSize = 0; + other.mValid = false; + } + + // Move assignment + Package& operator=(Package&& other) noexcept { + std::swap(mPayload, other.mPayload); + std::swap(mSize, other.mSize); + std::swap(mValid, other.mValid); + return *this; + } + + // Copy assignment operator disallowed. + Package& operator=(const Package& other) = delete; + + // Copy constructor disallowed. + Package(const Package& other) = delete; + + ~Package() { + delete[] mPayload; + } + + uint8_t* getData() const noexcept { + return mPayload; + } + + size_t getSize() const noexcept { + return mSize; + } + + uint8_t* getEnd() const noexcept { + return mPayload + mSize; + } + + void setValid(bool valid) noexcept { + mValid = valid; + } + + bool isValid() const noexcept { + return mValid; + } + + static Package invalidPackage() { + Package package(0); + package.setValid(false); + return package; + } + +private: + uint8_t* mPayload = nullptr; + size_t mSize = 0; + bool mValid = true; +}; + +} // namespace filamat +#endif diff --git a/web/include/filament/filament-iblprefilter/IBLPrefilterContext.h b/web/include/filament/filament-iblprefilter/IBLPrefilterContext.h new file mode 100644 index 00000000..815ff613 --- /dev/null +++ b/web/include/filament/filament-iblprefilter/IBLPrefilterContext.h @@ -0,0 +1,339 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_IBL_PREFILTER_IBLPREFILTER_H +#define TNT_IBL_PREFILTER_IBLPREFILTER_H + +#include +#include + +#include + +namespace filament { +class Engine; +class View; +class Scene; +class Renderer; +class Material; +class MaterialInstance; +class VertexBuffer; +class IndexBuffer; +class Camera; +class Texture; +} // namespace filament + +/** + * IBLPrefilterContext creates and initializes GPU state common to all environment map filters + * supported. Typically, only one instance per filament Engine of this object needs to exist. + * + * Usage Example: + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * using namespace filament; + * + * Engine* engine = Engine::create(); + * + * IBLPrefilterContext context(engine); + * IBLPrefilterContext::SpecularFilter filter(context); + * Texture* texture = filter(environment_cubemap); + * + * IndirectLight* indirectLight = IndirectLight::Builder() + * .reflections(texture) + * .build(engine); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ +class UTILS_PUBLIC IBLPrefilterContext { +public: + + enum class Kernel : uint8_t { + D_GGX, // Trowbridge-reitz distribution + }; + + /** + * Creates an IBLPrefilter context. + * @param engine filament engine to use + */ + explicit IBLPrefilterContext(filament::Engine& engine); + + /** + * Destroys all GPU resources created during initialization. + */ + ~IBLPrefilterContext() noexcept; + + // not copyable + IBLPrefilterContext(IBLPrefilterContext const&) = delete; + IBLPrefilterContext& operator=(IBLPrefilterContext const&) = delete; + + // movable + IBLPrefilterContext(IBLPrefilterContext&& rhs) noexcept; + IBLPrefilterContext& operator=(IBLPrefilterContext&& rhs) noexcept; + + // ------------------------------------------------------------------------------------------- + + /** + * EquirectangularToCubemap is use to convert an equirectangluar image to a cubemap. + */ + class EquirectangularToCubemap { + public: + /** + * Creates a EquirectangularToCubemap processor. + * @param context IBLPrefilterContext to use + */ + explicit EquirectangularToCubemap(IBLPrefilterContext& context); + + /** + * Destroys all GPU resources created during initialization. + */ + ~EquirectangularToCubemap() noexcept; + + EquirectangularToCubemap(EquirectangularToCubemap const&) = delete; + EquirectangularToCubemap& operator=(EquirectangularToCubemap const&) = delete; + EquirectangularToCubemap(EquirectangularToCubemap&& rhs) noexcept; + EquirectangularToCubemap& operator=(EquirectangularToCubemap&& rhs) noexcept; + + /** + * Converts an equirectangular image to a cubemap. + * @param equirectangular Texture to convert to a cubemap. + * - Can't be null. + * - Must be a 2d texture + * - Must have equirectangular geometry, that is width == 2*height. + * - Must be allocated with all mip levels. + * - Must be SAMPLEABLE + * @param outCubemap Output cubemap. If null the texture is automatically created + * with default parameters (size of 256 with 9 levels). + * - Must be a cubemap + * - Must have SAMPLEABLE and COLOR_ATTACHMENT usage bits + * @return returns outCubemap + */ + filament::Texture* operator()( + filament::Texture const* equirectangular, + filament::Texture* outCubemap = nullptr); + + private: + IBLPrefilterContext& mContext; + filament::Material* mEquirectMaterial = nullptr; + }; + + /** + * IrradianceFilter is a GPU based implementation of the diffuse probe pre-integration filter. + * An instance of IrradianceFilter is needed per filter configuration. A filter configuration + * contains the filter's kernel and sample count. + */ + class IrradianceFilter { + public: + using Kernel = Kernel; + + /** + * Filter configuration. + */ + struct Config { + uint16_t sampleCount = 1024u; //!< filter sample count (max 2048) + Kernel kernel = Kernel::D_GGX; //!< filter kernel + }; + + /** + * Filtering options for the current environment. + */ + struct Options { + float hdrLinear = 1024.0f; //!< no HDR compression up to this value + float hdrMax = 16384.0f; //!< HDR compression between hdrLinear and hdrMax + float lodOffset = 2.0f; //!< Good values are 2.0 or 3.0. Higher values help with heavily HDR inputs. + bool generateMipmap = true; //!< set to false if the input environment map already has mipmaps + }; + + /** + * Creates a IrradianceFilter processor. + * @param context IBLPrefilterContext to use + * @param config Configuration of the filter + */ + IrradianceFilter(IBLPrefilterContext& context, Config config); + + /** + * Creates a filter with the default configuration. + * @param context IBLPrefilterContext to use + */ + explicit IrradianceFilter(IBLPrefilterContext& context); + + /** + * Destroys all GPU resources created during initialization. + */ + ~IrradianceFilter() noexcept; + + IrradianceFilter(IrradianceFilter const&) = delete; + IrradianceFilter& operator=(IrradianceFilter const&) = delete; + IrradianceFilter(IrradianceFilter&& rhs) noexcept; + IrradianceFilter& operator=(IrradianceFilter&& rhs) noexcept; + + /** + * Generates an irradiance cubemap. Mipmaps are not generated even if present. + * @param options Options for this environment + * @param environmentCubemap Environment cubemap (input). Can't be null. + * This cubemap must be SAMPLEABLE and must have all its + * levels allocated. If Options.generateMipmap is true, + * the mipmap levels will be overwritten, otherwise + * it is assumed that all levels are correctly initialized. + * @param outIrradianceTexture Output irradiance texture or, if null, it is + * automatically created with some default parameters. + * outIrradianceTexture must be a cubemap, it must have + * at least COLOR_ATTACHMENT and SAMPLEABLE usages. + * + * @return returns outIrradianceTexture + */ + filament::Texture* operator()(Options options, + filament::Texture const* environmentCubemap, + filament::Texture* outIrradianceTexture = nullptr); + + /** + * Generates a prefiltered cubemap. + * @param environmentCubemap Environment cubemap (input). Can't be null. + * This cubemap must be SAMPLEABLE and must have all its + * levels allocated. If Options.generateMipmap is true, + * the mipmap levels will be overwritten, otherwise + * it is assumed that all levels are correctly initialized. + * @param outIrradianceTexture Output irradiance texture or, if null, it is + * automatically created with some default parameters. + * outIrradianceTexture must be a cubemap, it must have + * at least COLOR_ATTACHMENT and SAMPLEABLE usages. + * + * @return returns outReflectionsTexture + */ + filament::Texture* operator()( + filament::Texture const* environmentCubemap, + filament::Texture* outIrradianceTexture = nullptr); + + private: + filament::Texture* createIrradianceTexture(); + IBLPrefilterContext& mContext; + filament::Material* mKernelMaterial = nullptr; + filament::Texture* mKernelTexture = nullptr; + uint32_t mSampleCount = 0u; + }; + + /** + * SpecularFilter is a GPU based implementation of the specular probe pre-integration filter. + * An instance of SpecularFilter is needed per filter configuration. A filter configuration + * contains the filter's kernel and sample count. + */ + class SpecularFilter { + public: + using Kernel = Kernel; + + /** + * Filter configuration. + */ + struct Config { + uint16_t sampleCount = 1024u; //!< filter sample count (max 2048) + uint8_t levelCount = 5u; //!< number of roughness levels + Kernel kernel = Kernel::D_GGX; //!< filter kernel + }; + + /** + * Filtering options for the current environment. + */ + struct Options { + float hdrLinear = 1024.0f; //!< no HDR compression up to this value + float hdrMax = 16384.0f; //!< HDR compression between hdrLinear and hdrMax + float lodOffset = 1.0f; //!< Good values are 1.0 or 2.0. Higher values help with heavily HDR inputs. + bool generateMipmap = true; //!< set to false if the input environment map already has mipmaps + }; + + /** + * Creates a SpecularFilter processor. + * @param context IBLPrefilterContext to use + * @param config Configuration of the filter + */ + SpecularFilter(IBLPrefilterContext& context, Config config); + + /** + * Creates a filter with the default configuration. + * @param context IBLPrefilterContext to use + */ + explicit SpecularFilter(IBLPrefilterContext& context); + + /** + * Destroys all GPU resources created during initialization. + */ + ~SpecularFilter() noexcept; + + SpecularFilter(SpecularFilter const&) = delete; + SpecularFilter& operator=(SpecularFilter const&) = delete; + SpecularFilter(SpecularFilter&& rhs) noexcept; + SpecularFilter& operator=(SpecularFilter&& rhs) noexcept; + + /** + * Generates a prefiltered cubemap. + * @param options Options for this environment + * @param environmentCubemap Environment cubemap (input). Can't be null. + * This cubemap must be SAMPLEABLE and must have all its + * levels allocated. If Options.generateMipmap is true, + * the mipmap levels will be overwritten, otherwise + * it is assumed that all levels are correctly initialized. + * @param outReflectionsTexture Output prefiltered texture or, if null, it is + * automatically created with some default parameters. + * outReflectionsTexture must be a cubemap, it must have + * at least COLOR_ATTACHMENT and SAMPLEABLE usages and at + * least the same number of levels than requested by Config. + * @return returns outReflectionsTexture + */ + filament::Texture* operator()(Options options, + filament::Texture const* environmentCubemap, + filament::Texture* outReflectionsTexture = nullptr); + + /** + * Generates a prefiltered cubemap. + * @param environmentCubemap Environment cubemap (input). Can't be null. + * This cubemap must be SAMPLEABLE and must have all its + * levels allocated. All mipmap levels will be overwritten. + * @param outReflectionsTexture Output prefiltered texture or, if null, it is + * automatically created with some default parameters. + * outReflectionsTexture must be a cubemap, it must have + * at least COLOR_ATTACHMENT and SAMPLEABLE usages and at + * least the same number of levels than requested by Config. + * @return returns outReflectionsTexture + */ + filament::Texture* operator()( + filament::Texture const* environmentCubemap, + filament::Texture* outReflectionsTexture = nullptr); + + // TODO: option for progressive filtering + + // TODO: add a callback for when the processing is done? + + private: + filament::Texture* createReflectionsTexture(); + IBLPrefilterContext& mContext; + filament::Material* mKernelMaterial = nullptr; + filament::Texture* mKernelTexture = nullptr; + uint32_t mSampleCount = 0u; + uint8_t mLevelCount = 1u; + }; + +private: + friend class Filter; + filament::Engine& mEngine; + filament::Renderer* mRenderer{}; + filament::Scene* mScene{}; + filament::VertexBuffer* mVertexBuffer{}; + filament::IndexBuffer* mIndexBuffer{}; + filament::Camera* mCamera{}; + utils::Entity mFullScreenQuadEntity{}; + utils::Entity mCameraEntity{}; + filament::View* mView{}; + filament::Material* mIntegrationMaterial{}; + filament::Material* mIrradianceIntegrationMaterial{}; +}; + +#endif //TNT_IBL_PREFILTER_IBLPREFILTER_H diff --git a/web/include/filament/filament/Box.h b/web/include/filament/filament/Box.h new file mode 100644 index 00000000..88d78985 --- /dev/null +++ b/web/include/filament/filament/Box.h @@ -0,0 +1,242 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BOX_H +#define TNT_FILAMENT_BOX_H + +#include + +#include + +#include +#include + +namespace filament { + +/** + * An axis aligned 3D box represented by its center and half-extent. + */ +class UTILS_PUBLIC Box { +public: + /** Center of the 3D box */ + math::float3 center = {}; + + /** Half extent from the center on all 3 axis */ + math::float3 halfExtent = {}; + + /** + * Whether the box is empty, i.e.: it's volume is null. + * @return true if the volume of the box is null + */ + constexpr bool isEmpty() const noexcept { + return length2(halfExtent) == 0; + } + + /** + * Computes the lowest coordinates corner of the box. + * @return center - halfExtent + */ + constexpr math::float3 getMin() const noexcept { + return center - halfExtent; + } + + /** + * Computes the largest coordinates corner of the box. + * @return center + halfExtent + */ + constexpr math::float3 getMax() const noexcept { + return center + halfExtent; + } + + /** + * Initializes the 3D box from its min / max coordinates on each axis + * @param min lowest coordinates corner of the box + * @param max largest coordinates corner of the box + * @return This bounding box + */ + Box& set(const math::float3& min, const math::float3& max) noexcept { + // float3 ctor needed for visual studio + center = (max + min) * math::float3(0.5f); + halfExtent = (max - min) * math::float3(0.5f); + return *this; + } + + /** + * Computes the bounding box of the union of two boxes + * @param box The box to be combined with + * @return The bounding box of the union of *this and box + */ + Box& unionSelf(const Box& box) noexcept { + set(min(getMin(), box.getMin()), max(getMax(), box.getMax())); + return *this; + } + + /** + * Translates the box *to* a given center position + * @param tr position to translate the box to + * @return A box centered in \p tr with the same extent than *this + */ + constexpr Box translateTo(const math::float3& tr) const noexcept { + return Box{ tr, halfExtent }; + } + + /** + * Computes the smallest bounding sphere of the box. + * @return The smallest sphere defined by its center (.xyz) and radius (.w) that contains *this + */ + math::float4 getBoundingSphere() const noexcept { + return { center, length(halfExtent) }; + } + + /** + * Transform a Box by a linear transform and a translation. + * + * @param m a 3x3 matrix, the linear transform + * @param t a float3, the translation + * @param box the box to transform + * @return the bounding box of the transformed box + */ + static Box transform(const math::mat3f& m, math::float3 const& t, const Box& box) noexcept { + return { m * box.center + t, abs(m) * box.halfExtent }; + } + + /** + * @deprecated Use transform() instead + * @see transform() + */ + friend Box rigidTransform(Box const& box, const math::mat4f& m) noexcept { + return transform(m.upperLeft(), m[3].xyz, box); + } +}; + +/** + * An axis aligned box represented by its min and max coordinates + */ +struct UTILS_PUBLIC Aabb { + + /** min coordinates */ + math::float3 min = std::numeric_limits::max(); + + /** max coordinates */ + math::float3 max = std::numeric_limits::lowest(); + + /** + * Computes the center of the box. + * @return (max + min)/2 + */ + math::float3 center() const noexcept { + // float3 ctor needed for visual studio + return (max + min) * math::float3(0.5f); + } + + /** + * Computes the half-extent of the box. + * @return (max - min)/2 + */ + math::float3 extent() const noexcept { + // float3 ctor needed for visual studio + return (max - min) * math::float3(0.5f); + } + + /** + * Whether the box is empty, i.e.: it's volume is null or negative. + * @return true if min >= max, i.e: the volume of the box is null or negative + */ + bool isEmpty() const noexcept { + return any(greaterThanEqual(min, max)); + } + + struct Corners { + using value_type = math::float3; + value_type const* begin() const { return vertices; } + value_type const* end() const { return vertices + 8; } + value_type * begin() { return vertices; } + value_type * end() { return vertices + 8; } + value_type const* data() const { return vertices; } + value_type * data() { return vertices; } + size_t size() const { return 8; } + value_type const& operator[](size_t i) const noexcept { return vertices[i]; } + value_type& operator[](size_t i) noexcept { return vertices[i]; } + value_type vertices[8]; + }; + + /** + * Returns the 8 corner vertices of the AABB. + */ + Corners getCorners() const { + return Aabb::Corners{ .vertices = { + { min.x, min.y, min.z }, + { max.x, min.y, min.z }, + { min.x, max.y, min.z }, + { max.x, max.y, min.z }, + { min.x, min.y, max.z }, + { max.x, min.y, max.z }, + { min.x, max.y, max.z }, + { max.x, max.y, max.z }, + }}; + } + + /** + * Returns whether the box contains a given point. + * + * @param p the point to test + * @return the maximum signed distance to the box. Negative if p is in the box + */ + float contains(math::float3 p) const noexcept { + float d = min.x - p.x; + d = std::max(d, min.y - p.y); + d = std::max(d, min.z - p.z); + d = std::max(d, p.x - max.x); + d = std::max(d, p.y - max.y); + d = std::max(d, p.z - max.z); + return d; + } + + /** + * Applies an affine transformation to the AABB. + * + * @param m the 3x3 transformation to apply + * @param t the translation + * @return the transformed box + */ + static Aabb transform(const math::mat3f& m, math::float3 const& t, const Aabb& box) noexcept { + // Fast AABB transformation per Jim Arvo in Graphics Gems (1990). + Aabb result{ t, t }; + for (size_t col = 0; col < 3; ++col) { + for (size_t row = 0; row < 3; ++row) { + const float a = m[col][row] * box.min[col]; + const float b = m[col][row] * box.max[col]; + result.min[row] += a < b ? a : b; + result.max[row] += a < b ? b : a; + } + } + return result; + } + + /** + * @deprecated Use transform() instead + * @see transform() + */ + Aabb transform(const math::mat4f& m) const noexcept { + return transform(m.upperLeft(), m[3].xyz, *this); + } +}; + +} // namespace filament + +#endif // TNT_FILAMENT_BOX_H diff --git a/web/include/filament/filament/BufferObject.h b/web/include/filament/filament/BufferObject.h new file mode 100644 index 00000000..edabba83 --- /dev/null +++ b/web/include/filament/filament/BufferObject.h @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_BUFFEROBJECT_H +#define TNT_FILAMENT_BUFFEROBJECT_H + +#include + +#include + +#include + +#include + +namespace filament { + +class FBufferObject; + +class Engine; + +/** + * A generic GPU buffer containing data. + * + * Usage of this BufferObject is optional. For simple use cases it is not necessary. It is useful + * only when you need to share data between multiple VertexBuffer instances. It also allows you to + * efficiently swap-out the buffers in VertexBuffer. + * + * NOTE: For now this is only used for vertex data, but in the future we may use it for other things + * (e.g. compute). + * + * @see VertexBuffer + */ +class UTILS_PUBLIC BufferObject : public FilamentAPI { + struct BuilderDetails; + +public: + using BufferDescriptor = backend::BufferDescriptor; + using BindingType = backend::BufferObjectBinding; + + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Size of the buffer in bytes. + * @param byteCount Maximum number of bytes the BufferObject can hold. + * @return A reference to this Builder for chaining calls. + */ + Builder& size(uint32_t byteCount) noexcept; + + /** + * The binding type for this buffer object. (defaults to VERTEX) + * @param BindingType Distinguishes between SSBO, VBO, etc. For now this must be VERTEX. + * @return A reference to this Builder for chaining calls. + */ + Builder& bindingType(BindingType bindingType) noexcept; + + /** + * Creates the BufferObject and returns a pointer to it. After creation, the buffer + * object is uninitialized. Use BufferObject::setBuffer() to initialize it. + * + * @param engine Reference to the filament::Engine to associate this BufferObject with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + * + * @see IndexBuffer::setBuffer + */ + BufferObject* build(Engine& engine); + private: + friend class FBufferObject; + }; + + /** + * Asynchronously copy-initializes a region of this BufferObject from the data provided. + * + * @param engine Reference to the filament::Engine associated with this BufferObject. + * @param buffer A BufferDescriptor representing the data used to initialize the BufferObject. + * @param byteOffset Offset in bytes into the BufferObject + */ + void setBuffer(Engine& engine, BufferDescriptor&& buffer, uint32_t byteOffset = 0); + + /** + * Returns the size of this BufferObject in elements. + * @return The maximum capacity of the BufferObject. + */ + size_t getByteCount() const noexcept; + +protected: + // prevent heap allocation + ~BufferObject() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_BUFFEROBJECT_H diff --git a/web/include/filament/filament/Camera.h b/web/include/filament/filament/Camera.h new file mode 100644 index 00000000..2d8e6310 --- /dev/null +++ b/web/include/filament/filament/Camera.h @@ -0,0 +1,579 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_CAMERA_H +#define TNT_FILAMENT_CAMERA_H + +#include + +#include + +#include +#include +#include +#include + +namespace utils { +class Entity; +} // namespace utils + +namespace filament { + +/** + * Camera represents the eye(s) through which the scene is viewed. + * + * A Camera has a position and orientation and controls the projection and exposure parameters. + * + * For stereoscopic rendering, a Camera maintains two separate "eyes": Eye 0 and Eye 1. These are + * arbitrary and don't necessarily need to correspond to "left" and "right". + * + * Creation and destruction + * ======================== + * + * In Filament, Camera is a component that must be associated with an entity. To do so, + * use Engine::createCamera(Entity). A Camera component is destroyed using + * Engine::destroyCameraComponent(Entity). + * + * ~~~~~~~~~~~{.cpp} + * filament::Engine* engine = filament::Engine::create(); + * + * utils::Entity myCameraEntity = utils::EntityManager::get().create(); + * filament::Camera* myCamera = engine->createCamera(myCameraEntity); + * myCamera->setProjection(45, 16.0/9.0, 0.1, 1.0); + * myCamera->lookAt({0, 1.60, 1}, {0, 0, 0}); + * engine->destroyCameraComponent(myCamera); + * ~~~~~~~~~~~ + * + * + * Coordinate system + * ================= + * + * The camera coordinate system defines the *view space*. The camera points towards its -z axis + * and is oriented such that its top side is in the direction of +y, and its right side in the + * direction of +x. + * + * @note + * Since the *near* and *far* planes are defined by the distance from the camera, + * their respective coordinates are -\p distance(near) and -\p distance(far). + * + * Clipping planes + * =============== + * + * The camera defines six *clipping planes* which together create a *clipping volume*. The + * geometry outside this volume is clipped. + * + * The clipping volume can either be a box or a frustum depending on which projection is used, + * respectively Projection.ORTHO or Projection.PERSPECTIVE. The six planes are specified either + * directly or indirectly using setProjection(). + * + * The six planes are: + * - left + * - right + * - bottom + * - top + * - near + * - far + * + * @note + * To increase the depth-buffer precision, the *far* clipping plane is always assumed to be at + * infinity for rendering. That is, it is not used to clip geometry during rendering. + * However, it is used during the culling phase (objects entirely behind the *far* + * plane are culled). + * + * + * Choosing the *near* plane distance + * ================================== + * + * The *near* plane distance greatly affects the depth-buffer resolution. + * + * Example: Precision at 1m, 10m, 100m and 1Km for various near distances assuming a 32-bit float + * depth-buffer: + * + * near (m) | 1 m | 10 m | 100 m | 1 Km + * -----------:|:------:|:-------:|:--------:|:--------: + * 0.001 | 7.2e-5 | 0.0043 | 0.4624 | 48.58 + * 0.01 | 6.9e-6 | 0.0001 | 0.0430 | 4.62 + * 0.1 | 3.6e-7 | 7.0e-5 | 0.0072 | 0.43 + * 1.0 | 0 | 3.8e-6 | 0.0007 | 0.07 + * + * As can be seen in the table above, the depth-buffer precision drops rapidly with the + * distance to the camera. + * + * Make sure to pick the highest *near* plane distance possible. + * + * On Vulkan and Metal platforms (or OpenGL platforms supporting either EXT_clip_control or + * ARB_clip_control extensions), the depth-buffer precision is much less dependent on the *near* + * plane value: + * + * near (m) | 1 m | 10 m | 100 m | 1 Km + * -----------:|:------:|:-------:|:--------:|:--------: + * 0.001 | 1.2e-7 | 9.5e-7 | 7.6e-6 | 6.1e-5 + * 0.01 | 1.2e-7 | 9.5e-7 | 7.6e-6 | 6.1e-5 + * 0.1 | 5.9e-8 | 9.5e-7 | 1.5e-5 | 1.2e-4 + * 1.0 | 0 | 9.5e-7 | 7.6e-6 | 1.8e-4 + * + * + * Choosing the *far* plane distance + * ================================= + * + * The far plane distance is always set internally to infinity for rendering, however it is used for + * culling and shadowing calculations. It is important to keep a reasonable ratio between + * the near and far plane distances. Typically a ratio in the range 1:100 to 1:100000 is + * commanded. Larger values may causes rendering artifacts or trigger assertions in debug builds. + * + * + * Exposure + * ======== + * + * The Camera is also used to set the scene's exposure, just like with a real camera. The lights + * intensity and the Camera exposure interact to produce the final scene's brightness. + * + * + * Stereoscopic rendering + * ====================== + * + * The Camera's transform (as set by setModelMatrix or via TransformManager) defines a "head" space, + * which typically corresponds to the location of the viewer's head. Each eye's transform is set + * relative to this head space by setEyeModelMatrix. + * + * Each eye also maintains its own projection matrix. These can be set with setCustomEyeProjection. + * Care must be taken to correctly set the projectionForCulling matrix, as well as its corresponding + * near and far values. The projectionForCulling matrix must define a frustum (in head space) that + * bounds the frustums of both eyes. Alternatively, culling may be disabled with + * View::setFrustumCullingEnabled. + * + * \see Frustum, View + */ +class UTILS_PUBLIC Camera : public FilamentAPI { +public: + //! Denotes the projection type used by this camera. \see setProjection + enum class Projection : int { + PERSPECTIVE, //!< perspective projection, objects get smaller as they are farther + ORTHO //!< orthonormal projection, preserves distances + }; + + //! Denotes a field-of-view direction. \see setProjection + enum class Fov : int { + VERTICAL, //!< the field-of-view angle is defined on the vertical axis + HORIZONTAL //!< the field-of-view angle is defined on the horizontal axis + }; + + /** Returns the projection matrix from the field-of-view. + * + * @param fovInDegrees full field-of-view in degrees. 0 < \p fov < 180. + * @param aspect aspect ratio \f$ \frac{width}{height} \f$. \p aspect > 0. + * @param near distance in world units from the camera to the near plane. \p near > 0. + * @param far distance in world units from the camera to the far plane. \p far > \p near. + * @param direction direction of the \p fovInDegrees parameter. + * + * @see Fov. + */ + static math::mat4 projection(Fov direction, double fovInDegrees, + double aspect, double near, double far = std::numeric_limits::infinity()); + + /** Returns the projection matrix from the focal length. + * + * @param focalLengthInMillimeters lens's focal length in millimeters. \p focalLength > 0. + * @param aspect aspect ratio \f$ \frac{width}{height} \f$. \p aspect > 0. + * @param near distance in world units from the camera to the near plane. \p near > 0. + * @param far distance in world units from the camera to the far plane. \p far > \p near. + */ + static math::mat4 projection(double focalLengthInMillimeters, + double aspect, double near, double far = std::numeric_limits::infinity()); + + + /** Sets the projection matrix from a frustum defined by six planes. + * + * @param projection type of #Projection to use. + * + * @param left distance in world units from the camera to the left plane, + * at the near plane. + * Precondition: \p left != \p right. + * + * @param right distance in world units from the camera to the right plane, + * at the near plane. + * Precondition: \p left != \p right. + * + * @param bottom distance in world units from the camera to the bottom plane, + * at the near plane. + * Precondition: \p bottom != \p top. + * + * @param top distance in world units from the camera to the top plane, + * at the near plane. + * Precondition: \p left != \p right. + * + * @param near distance in world units from the camera to the near plane. The near plane's + * position in view space is z = -\p near. + * Precondition: \p near > 0 for PROJECTION::PERSPECTIVE or + * \p near != far for PROJECTION::ORTHO + * + * @param far distance in world units from the camera to the far plane. The far plane's + * position in view space is z = -\p far. + * Precondition: \p far > near for PROJECTION::PERSPECTIVE or + * \p far != near for PROJECTION::ORTHO + * + * @see Projection, Frustum + */ + void setProjection(Projection projection, + double left, double right, + double bottom, double top, + double near, double far); + + + /** Utility to set the projection matrix from the field-of-view. + * + * @param fovInDegrees full field-of-view in degrees. 0 < \p fov < 180. + * @param aspect aspect ratio \f$ \frac{width}{height} \f$. \p aspect > 0. + * @param near distance in world units from the camera to the near plane. \p near > 0. + * @param far distance in world units from the camera to the far plane. \p far > \p near. + * @param direction direction of the \p fovInDegrees parameter. + * + * @see Fov. + */ + void setProjection(double fovInDegrees, double aspect, double near, double far, + Fov direction = Fov::VERTICAL); + + /** Utility to set the projection matrix from the focal length. + * + * @param focalLengthInMillimeters lens's focal length in millimeters. \p focalLength > 0. + * @param aspect aspect ratio \f$ \frac{width}{height} \f$. \p aspect > 0. + * @param near distance in world units from the camera to the near plane. \p near > 0. + * @param far distance in world units from the camera to the far plane. \p far > \p near. + */ + void setLensProjection(double focalLengthInMillimeters, + double aspect, double near, double far); + + + /** Sets a custom projection matrix. + * + * The projection matrix must define an NDC system that must match the OpenGL convention, + * that is all 3 axis are mapped to [-1, 1]. + * + * @param projection custom projection matrix used for rendering and culling + * @param near distance in world units from the camera to the near plane. \p near > 0. + * @param far distance in world units from the camera to the far plane. \p far > \p near. + */ + void setCustomProjection(math::mat4 const& projection, double near, double far) noexcept; + + /** Sets the projection matrix. + * + * The projection matrices must define an NDC system that must match the OpenGL convention, + * that is all 3 axis are mapped to [-1, 1]. + * + * @param projection custom projection matrix used for rendering + * @param projectionForCulling custom projection matrix used for culling + * @param near distance in world units from the camera to the near plane. \p near > 0. + * @param far distance in world units from the camera to the far plane. \p far > \p near. + */ + void setCustomProjection(math::mat4 const& projection, math::mat4 const& projectionForCulling, + double near, double far) noexcept; + + /** Sets a custom projection matrix for each eye. + * + * The projectionForCulling, near, and far parameters establish a "culling frustum" which must + * encompass anything any eye can see. All projection matrices must be set simultaneously. The + * number of stereoscopic eyes is controlled by the stereoscopicEyeCount setting inside of + * Engine::Config. + * + * @param projection an array of projection matrices, only the first config.stereoscopicEyeCount + * are read + * @param count size of the projection matrix array to set, must be + * >= config.stereoscopicEyeCount + * @param projectionForCulling custom projection matrix for culling, must encompass both eyes + * @param near distance in world units from the camera to the culling near plane. \p near > 0. + * @param far distance in world units from the camera to the culling far plane. \p far > \p + * near. + * @see setCustomProjection + * @see Engine::Config::stereoscopicEyeCount + */ + void setCustomEyeProjection(math::mat4 const* projection, size_t count, + math::mat4 const& projectionForCulling, double near, double far); + + /** Sets an additional matrix that scales the projection matrix. + * + * This is useful to adjust the aspect ratio of the camera independent from its projection. + * First, pass an aspect of 1.0 to setProjection. Then set the scaling with the desired aspect + * ratio: + * + * const double aspect = width / height; + * + * // with Fov::HORIZONTAL passed to setProjection: + * camera->setScaling(double4 {1.0, aspect}); + * + * // with Fov::VERTICAL passed to setProjection: + * camera->setScaling(double4 {1.0 / aspect, 1.0}); + * + * + * By default, this is an identity matrix. + * + * @param scaling diagonal of the 2x2 scaling matrix to be applied after the projection matrix. + * + * @see setProjection, setLensProjection, setCustomProjection + */ + void setScaling(math::double2 scaling) noexcept; + + /** + * Sets an additional matrix that shifts the projection matrix. + * By default, this is an identity matrix. + * + * @param shift x and y translation added to the projection matrix, specified in NDC + * coordinates, that is, if the translation must be specified in pixels, + * shift must be scaled by 1.0 / { viewport.width, viewport.height }. + * + * @see setProjection, setLensProjection, setCustomProjection + */ + void setShift(math::double2 shift) noexcept; + + /** Returns the scaling amount used to scale the projection matrix. + * + * @return the diagonal of the scaling matrix applied after the projection matrix. + * + * @see setScaling + */ + math::double4 getScaling() const noexcept; + + /** Returns the shift amount used to translate the projection matrix. + * + * @return the 2D translation x and y offsets applied after the projection matrix. + * + * @see setShift + */ + math::double2 getShift() const noexcept; + + /** Returns the projection matrix used for rendering. + * + * The projection matrix used for rendering always has its far plane set to infinity. This + * is why it may differ from the matrix set through setProjection() or setLensProjection(). + * + * @param eyeId the index of the eye to return the projection matrix for, must be + * < config.stereoscopicEyeCount + * @return The projection matrix used for rendering + * + * @see setProjection, setLensProjection, setCustomProjection, getCullingProjectionMatrix, + * setCustomEyeProjection + */ + math::mat4 getProjectionMatrix(uint8_t eyeId = 0) const; + + + /** Returns the projection matrix used for culling (far plane is finite). + * + * @return The projection matrix set by setProjection or setLensProjection. + * + * @see setProjection, setLensProjection, getProjectionMatrix + */ + math::mat4 getCullingProjectionMatrix() const noexcept; + + + //! Returns the frustum's near plane + double getNear() const noexcept; + + //! Returns the frustum's far plane used for culling + double getCullingFar() const noexcept; + + /** Sets the camera's model matrix. + * + * Helper method to set the camera's entity transform component. + * It has the same effect as calling: + * + * ~~~~~~~~~~~{.cpp} + * engine.getTransformManager().setTransform( + * engine.getTransformManager().getInstance(camera->getEntity()), model); + * ~~~~~~~~~~~ + * + * @param model The camera position and orientation provided as a rigid transform matrix. + * + * @note The Camera "looks" towards its -z axis + * + * @warning \p model must be a rigid transform + */ + void setModelMatrix(const math::mat4& model) noexcept; + void setModelMatrix(const math::mat4f& model) noexcept; //!< @overload + + /** Set the position of an eye relative to this Camera (head). + * + * By default, both eyes' model matrices are identity matrices. + * + * For example, to position Eye 0 3cm leftwards and Eye 1 3cm rightwards: + * ~~~~~~~~~~~{.cpp} + * const mat4 leftEye = mat4::translation(double3{-0.03, 0.0, 0.0}); + * const mat4 rightEye = mat4::translation(double3{ 0.03, 0.0, 0.0}); + * camera.setEyeModelMatrix(0, leftEye); + * camera.setEyeModelMatrix(1, rightEye); + * ~~~~~~~~~~~ + * + * This method is not intended to be called every frame. Instead, to update the position of the + * head, use Camera::setModelMatrix. + * + * @param eyeId the index of the eye to set, must be < config.stereoscopicEyeCount + * @param model the model matrix for an individual eye + */ + void setEyeModelMatrix(uint8_t eyeId, math::mat4 const& model); + + /** Sets the camera's model matrix + * + * @param eye The position of the camera in world space. + * @param center The point in world space the camera is looking at. + * @param up A unit vector denoting the camera's "up" direction. + */ + void lookAt(math::double3 const& eye, + math::double3 const& center, + math::double3 const& up = math::double3{0, 1, 0}) noexcept; + + /** Returns the camera's model matrix + * + * Helper method to return the camera's entity transform component. + * It has the same effect as calling: + * + * ~~~~~~~~~~~{.cpp} + * engine.getTransformManager().getWorldTransform( + * engine.getTransformManager().getInstance(camera->getEntity())); + * ~~~~~~~~~~~ + * + * @return The camera's pose in world space as a rigid transform. Parent transforms, if any, + * are taken into account. + */ + math::mat4 getModelMatrix() const noexcept; + + //! Returns the camera's view matrix (inverse of the model matrix) + math::mat4 getViewMatrix() const noexcept; + + //! Returns the camera's position in world space + math::double3 getPosition() const noexcept; + + //! Returns the camera's normalized left vector + math::float3 getLeftVector() const noexcept; + + //! Returns the camera's normalized up vector + math::float3 getUpVector() const noexcept; + + //! Returns the camera's forward vector + math::float3 getForwardVector() const noexcept; + + //! Returns the camera's field of view in degrees + float getFieldOfViewInDegrees(Fov direction) const noexcept; + + //! Returns the camera's culling Frustum in world space + class Frustum getFrustum() const noexcept; + + //! Returns the entity representing this camera + utils::Entity getEntity() const noexcept; + + /** Sets this camera's exposure (default is f/16, 1/125s, 100 ISO) + * + * The exposure ultimately controls the scene's brightness, just like with a real camera. + * The default values provide adequate exposure for a camera placed outdoors on a sunny day + * with the sun at the zenith. + * + * @param aperture Aperture in f-stops, clamped between 0.5 and 64. + * A lower \p aperture value *increases* the exposure, leading to + * a brighter scene. Realistic values are between 0.95 and 32. + * + * @param shutterSpeed Shutter speed in seconds, clamped between 1/25,000 and 60. + * A lower shutter speed increases the exposure. Realistic values are + * between 1/8000 and 30. + * + * @param sensitivity Sensitivity in ISO, clamped between 10 and 204,800. + * A higher \p sensitivity increases the exposure. Realistic values are + * between 50 and 25600. + * + * @note + * With the default parameters, the scene must contain at least one Light of intensity + * similar to the sun (e.g.: a 100,000 lux directional light). + * + * @see LightManager, Exposure + */ + void setExposure(float aperture, float shutterSpeed, float sensitivity) noexcept; + + /** Sets this camera's exposure directly. Calling this method will set the aperture + * to 1.0, the shutter speed to 1.2 and the sensitivity will be computed to match + * the requested exposure (for a desired exposure of 1.0, the sensitivity will be + * set to 100 ISO). + * + * This method is useful when trying to match the lighting of other engines or tools. + * Many engines/tools use unit-less light intensities, which can be matched by setting + * the exposure manually. This can be typically achieved by setting the exposure to + * 1.0. + */ + void setExposure(float exposure) noexcept { + setExposure(1.0f, 1.2f, 100.0f * (1.0f / exposure)); + } + + //! returns this camera's aperture in f-stops + float getAperture() const noexcept; + + //! returns this camera's shutter speed in seconds + float getShutterSpeed() const noexcept; + + //! returns this camera's sensitivity in ISO + float getSensitivity() const noexcept; + + /** Returns the focal length in meters [m] for a 35mm camera. + * Eye 0's projection matrix is used to compute the focal length. + */ + double getFocalLength() const noexcept; + + /** + * Sets the camera focus distance. This is used by the Depth-of-field PostProcessing effect. + * @param distance Distance from the camera to the plane of focus in world units. + * Must be positive and larger than the near clipping plane. + */ + void setFocusDistance(float distance) noexcept; + + //! Returns the focus distance in world units + float getFocusDistance() const noexcept; + + /** + * Returns the inverse of a projection matrix. + * + * \param p the projection matrix to inverse + * \returns the inverse of the projection matrix \p p + */ + static math::mat4 inverseProjection(const math::mat4& p) noexcept; + + /** + * Returns the inverse of a projection matrix. + * @see inverseProjection(const math::mat4&) + */ + static math::mat4f inverseProjection(const math::mat4f& p) noexcept; + + /** + * Helper to compute the effective focal length taking into account the focus distance + * + * @param focalLength focal length in any unit (e.g. [m] or [mm]) + * @param focusDistance focus distance in same unit as focalLength + * @return the effective focal length in same unit as focalLength + */ + static double computeEffectiveFocalLength(double focalLength, double focusDistance) noexcept; + + /** + * Helper to compute the effective field-of-view taking into account the focus distance + * + * @param fovInDegrees full field of view in degrees + * @param focusDistance focus distance in meters [m] + * @return effective full field of view in degrees + */ + static double computeEffectiveFov(double fovInDegrees, double focusDistance) noexcept; + +protected: + // prevent heap allocation + ~Camera() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_CAMERA_H diff --git a/web/include/filament/filament/Color.h b/web/include/filament/filament/Color.h new file mode 100644 index 00000000..fa03b1e2 --- /dev/null +++ b/web/include/filament/filament/Color.h @@ -0,0 +1,214 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_COLOR_H +#define TNT_FILAMENT_COLOR_H + +#include + +#include +#include + +namespace filament { + +//! RGB color in linear space +using LinearColor = math::float3; + +//! RGB color in sRGB space +using sRGBColor = math::float3; + +//! RGBA color in linear space, with alpha +using LinearColorA = math::float4; + +//! RGBA color in sRGB space, with alpha +using sRGBColorA = math::float4; + +//! types of RGB colors +enum class RgbType : uint8_t { + sRGB, //!< the color is defined in Rec.709-sRGB-D65 (sRGB) space + LINEAR, //!< the color is defined in Rec.709-Linear-D65 ("linear sRGB") space +}; + +//! types of RGBA colors +enum class RgbaType : uint8_t { + /** + * the color is defined in Rec.709-sRGB-D65 (sRGB) space and the RGB values + * have not been pre-multiplied by the alpha (for instance, a 50% + * transparent red is <1,0,0,0.5>) + */ + sRGB, + /** + * the color is defined in Rec.709-Linear-D65 ("linear sRGB") space and the + * RGB values have not been pre-multiplied by the alpha (for instance, a 50% + * transparent red is <1,0,0,0.5>) + */ + LINEAR, + /** + * the color is defined in Rec.709-sRGB-D65 (sRGB) space and the RGB values + * have been pre-multiplied by the alpha (for instance, a 50% + * transparent red is <0.5,0,0,0.5>) + */ + PREMULTIPLIED_sRGB, + /** + * the color is defined in Rec.709-Linear-D65 ("linear sRGB") space and the + * RGB values have been pre-multiplied by the alpha (for instance, a 50% + * transparent red is <0.5,0,0,0.5>) + */ + PREMULTIPLIED_LINEAR +}; + +//! type of color conversion to use when converting to/from sRGB and linear spaces +enum ColorConversion { + ACCURATE, //!< accurate conversion using the sRGB standard + FAST //!< fast conversion using a simple gamma 2.2 curve +}; + +/** + * Utilities to manipulate and convert colors + */ +class UTILS_PUBLIC Color { +public: + //! converts an RGB color to linear space, the conversion depends on the specified type + static LinearColor toLinear(RgbType type, math::float3 color); + + //! converts an RGBA color to linear space, the conversion depends on the specified type + static LinearColorA toLinear(RgbaType type, math::float4 color); + + //! converts an RGB color in sRGB space to an RGB color in linear space + template + static LinearColor toLinear(sRGBColor const& color); + + /** + * Converts an RGB color in Rec.709-Linear-D65 ("linear sRGB") space to an + * RGB color in Rec.709-sRGB-D65 (sRGB) space. + */ + template + static sRGBColor toSRGB(LinearColor const& color); + + /** + * Converts an RGBA color in Rec.709-sRGB-D65 (sRGB) space to an RGBA color in + * Rec.709-Linear-D65 ("linear sRGB") space the alpha component is left unmodified. + */ + template + static LinearColorA toLinear(sRGBColorA const& color); + + /** + * Converts an RGBA color in Rec.709-Linear-D65 ("linear sRGB") space to + * an RGBA color in Rec.709-sRGB-D65 (sRGB) space the alpha component is + * left unmodified. + */ + template + static sRGBColorA toSRGB(LinearColorA const& color); + + /** + * Converts a correlated color temperature to a linear RGB color in sRGB + * space the temperature must be expressed in kelvin and must be in the + * range 1,000K to 15,000K. + */ + static LinearColor cct(float K); + + /** + * Converts a CIE standard illuminant series D to a linear RGB color in + * sRGB space the temperature must be expressed in kelvin and must be in + * the range 4,000K to 25,000K + */ + static LinearColor illuminantD(float K); + + /** + * Computes the Beer-Lambert absorption coefficients from the specified + * transmittance color and distance. The computed absorption will guarantee + * the white light will become the specified color at the specified distance. + * The output of this function can be used as the absorption parameter of + * materials that use refraction. + * + * @param color the desired linear RGB color in sRGB space + * @param distance the distance at which white light should become the specified color + * + * @return absorption coefficients for the Beer-Lambert law + */ + static math::float3 absorptionAtDistance(LinearColor const& color, float distance); + +private: + static math::float3 sRGBToLinear(math::float3 color) noexcept; + static math::float3 linearToSRGB(math::float3 color) noexcept; +}; + +// Use the default implementation from the header +template<> +inline LinearColor Color::toLinear(sRGBColor const& color) { + return pow(color, 2.2f); +} + +template<> +inline LinearColorA Color::toLinear(sRGBColorA const& color) { + return LinearColorA{pow(color.rgb, 2.2f), color.a}; +} + +template<> +inline LinearColor Color::toLinear(sRGBColor const& color) { + return sRGBToLinear(color); +} + +template<> +inline LinearColorA Color::toLinear(sRGBColorA const& color) { + return LinearColorA{sRGBToLinear(color.rgb), color.a}; +} + +// Use the default implementation from the header +template<> +inline sRGBColor Color::toSRGB(LinearColor const& color) { + return pow(color, 1.0f / 2.2f); +} + +template<> +inline sRGBColorA Color::toSRGB(LinearColorA const& color) { + return sRGBColorA{pow(color.rgb, 1.0f / 2.2f), color.a}; +} + +template<> +inline sRGBColor Color::toSRGB(LinearColor const& color) { + return linearToSRGB(color); +} + +template<> +inline sRGBColorA Color::toSRGB(LinearColorA const& color) { + return sRGBColorA{linearToSRGB(color.rgb), color.a}; +} + +inline LinearColor Color::toLinear(RgbType type, math::float3 color) { + return (type == RgbType::LINEAR) ? color : Color::toLinear(color); +} + +// converts an RGBA color to linear space +// the conversion depends on the specified type +inline LinearColorA Color::toLinear(RgbaType type, math::float4 color) { + switch (type) { + case RgbaType::sRGB: + return Color::toLinear(color) * math::float4{color.a, color.a, color.a, 1.0f}; + case RgbaType::LINEAR: + return color * math::float4{color.a, color.a, color.a, 1.0f}; + case RgbaType::PREMULTIPLIED_sRGB: + return Color::toLinear(color); + case RgbaType::PREMULTIPLIED_LINEAR: + return color; + } +} + +} // namespace filament + +#endif // TNT_FILAMENT_COLOR_H diff --git a/web/include/filament/filament/ColorGrading.h b/web/include/filament/filament/ColorGrading.h new file mode 100644 index 00000000..0cd4e861 --- /dev/null +++ b/web/include/filament/filament/ColorGrading.h @@ -0,0 +1,489 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_COLORGRADING_H +#define TNT_FILAMENT_COLORGRADING_H + +#include +#include + +#include + +#include + +namespace filament { + +class Engine; +class FColorGrading; + +namespace color { +class ColorSpace; +} + +/** + * ColorGrading is used to transform (either to modify or correct) the colors of the HDR buffer + * rendered by Filament. Color grading transforms are applied after lighting, and after any lens + * effects (bloom for instance), and include tone mapping. + * + * Creation, usage and destruction + * =============================== + * + * A ColorGrading object is created using the ColorGrading::Builder and destroyed by calling + * Engine::destroy(const ColorGrading*). A ColorGrading object is meant to be set on a View. + * + * ~~~~~~~~~~~{.cpp} + * filament::Engine* engine = filament::Engine::create(); + * + * filament::ColorGrading* colorGrading = filament::ColorGrading::Builder() + * .toneMapping(filament::ColorGrading::ToneMapping::ACES) + * .build(*engine); + * + * myView->setColorGrading(colorGrading); + * + * engine->destroy(colorGrading); + * ~~~~~~~~~~~ + * + * Performance + * =========== + * + * Creating a new ColorGrading object may be more expensive than other Filament objects as a + * 3D LUT may need to be generated. The generation of a 3D LUT, if necessary, may happen on + * the CPU. + * + * Ordering + * ======== + * + * The various transforms held by ColorGrading are applied in the following order: + * - Exposure + * - Night adaptation + * - White balance + * - Channel mixer + * - Shadows/mid-tones/highlights + * - Slope/offset/power (CDL) + * - Contrast + * - Vibrance + * - Saturation + * - Curves + * - Tone mapping + * - Luminance scaling + * - Gamut mapping + * + * Defaults + * ======== + * + * Here are the default color grading options: + * - Exposure: 0.0 + * - Night adaptation: 0.0 + * - White balance: temperature 0, and tint 0 + * - Channel mixer: red {1,0,0}, green {0,1,0}, blue {0,0,1} + * - Shadows/mid-tones/highlights: shadows {1,1,1,0}, mid-tones {1,1,1,0}, highlights {1,1,1,0}, + * ranges {0,0.333,0.550,1} + * - Slope/offset/power: slope 1.0, offset 0.0, and power 1.0 + * - Contrast: 1.0 + * - Vibrance: 1.0 + * - Saturation: 1.0 + * - Curves: gamma {1,1,1}, midPoint {1,1,1}, and scale {1,1,1} + * - Tone mapping: ACESLegacyToneMapper + * - Luminance scaling: false + * - Gamut mapping: false + * - Output color space: Rec709-sRGB-D65 + * + * @see View + */ +class UTILS_PUBLIC ColorGrading : public FilamentAPI { + struct BuilderDetails; +public: + + enum class QualityLevel : uint8_t { + LOW, + MEDIUM, + HIGH, + ULTRA + }; + + enum class LutFormat : uint8_t { + INTEGER, //!< 10 bits per component + FLOAT, //!< 16 bits per component (10 bits mantissa precision) + }; + + + /** + * List of available tone-mapping operators. + * + * @deprecated Use Builder::toneMapper(ToneMapper*) instead + */ + enum class UTILS_DEPRECATED ToneMapping : uint8_t { + LINEAR = 0, //!< Linear tone mapping (i.e. no tone mapping) + ACES_LEGACY = 1, //!< ACES tone mapping, with a brightness modifier to match Filament's legacy tone mapper + ACES = 2, //!< ACES tone mapping + FILMIC = 3, //!< Filmic tone mapping, modelled after ACES but applied in sRGB space + DISPLAY_RANGE = 4, //!< Tone mapping used to validate/debug scene exposure + }; + + //! Use Builder to construct a ColorGrading object instance + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Sets the quality level of the color grading. When color grading is implemented using + * a 3D LUT, the quality level may impact the resolution and bit depth of the backing + * 3D texture. For instance, a low quality level will use a 16x16x16 10 bit LUT, a medium + * quality level will use a 32x32x32 10 bit LUT, a high quality will use a 32x32x32 16 bit + * LUT, and a ultra quality will use a 64x64x64 16 bit LUT. + * This overrides the values set by format() and dimensions(). + * + * The default quality is medium. + * + * @param qualityLevel The desired quality of the color grading process + * + * @return This Builder, for chaining calls + */ + Builder& quality(QualityLevel qualityLevel) noexcept; + + /** + * When color grading is implemented using a 3D LUT, this sets the texture format of + * of the LUT. This overrides the value set by quality(). + * + * The default is INTEGER + * + * @param format The desired format of the 3D LUT. + * + * @return This Builder, for chaining calls + */ + Builder& format(LutFormat format) noexcept; + + /** + * When color grading is implemented using a 3D LUT, this sets the dimension of the LUT. + * This overrides the value set by quality(). + * + * The default is 32 + * + * @param dim The desired dimension of the LUT. Between 16 and 64. + * + * @return This Builder, for chaining calls + */ + Builder& dimensions(uint8_t dim) noexcept; + + /** + * Selects the tone mapping operator to apply to the HDR color buffer as the last + * operation of the color grading post-processing step. + * + * The default tone mapping operator is ACESLegacyToneMapper. + * + * The specified tone mapper must have a lifecycle that exceeds the lifetime of + * this builder. Since the build(Engine&) method is synchronous, it is safe to + * delete the tone mapper object after that finishes executing. + * + * @param toneMapper The tone mapping operator to apply to the HDR color buffer + * + * @return This Builder, for chaining calls + */ + Builder& toneMapper(const ToneMapper* toneMapper) noexcept; + + /** + * Selects the tone mapping operator to apply to the HDR color buffer as the last + * operation of the color grading post-processing step. + * + * The default tone mapping operator is ACES_LEGACY. + * + * @param toneMapping The tone mapping operator to apply to the HDR color buffer + * + * @return This Builder, for chaining calls + * + * @deprecated Use toneMapper(ToneMapper*) instead + */ + UTILS_DEPRECATED + Builder& toneMapping(ToneMapping toneMapping) noexcept; + + /** + * Enables or disables the luminance scaling component (LICH) from the exposure value + * invariant luminance system (EVILS). When this setting is enabled, pixels with high + * chromatic values will roll-off to white to offer a more natural rendering. This step + * also helps avoid undesirable hue skews caused by out of gamut colors clipped + * to the destination color gamut. + * + * When luminance scaling is enabled, tone mapping is performed on the luminance of each + * pixel instead of per-channel. + * + * @param luminanceScaling Enables or disables luminance scaling post-tone mapping + * + * @return This Builder, for chaining calls + */ + Builder& luminanceScaling(bool luminanceScaling) noexcept; + + /** + * Enables or disables gamut mapping to the destination color space's gamut. When gamut + * mapping is turned off, out-of-gamut colors are clipped to the destination's gamut, + * which may produce hue skews (blue skewing to purple, green to yellow, etc.). When + * gamut mapping is enabled, out-of-gamut colors are brought back in gamut by trying to + * preserve the perceived chroma and lightness of the original values. + * + * @param gamutMapping Enables or disables gamut mapping + * + * @return This Builder, for chaining calls + */ + Builder& gamutMapping(bool gamutMapping) noexcept; + + /** + * Adjusts the exposure of this image. The exposure is specified in stops: + * each stop brightens (positive values) or darkens (negative values) the image by + * a factor of 2. This means that an exposure of 3 will brighten the image 8 times + * more than an exposure of 0 (2^3 = 8 and 2^0 = 1). Contrary to the camera's exposure, + * this setting is applied after all post-processing (bloom, etc.) are applied. + * + * @param exposure Value in EV stops. Can be negative, 0, or positive. + * + * @return This Builder, for chaining calls + */ + Builder& exposure(float exposure) noexcept; + + /** + * Controls the amount of night adaptation to replicate a more natural representation of + * low-light conditions as perceived by the human vision system. In low-light conditions, + * peak luminance sensitivity of the eye shifts toward the blue end of the color spectrum: + * darker tones appear brighter, reducing contrast, and colors are blue shifted (the darker + * the more intense the effect). + * + * @param adaptation Amount of adaptation, between 0 (no adaptation) and 1 (full adaptation). + * + * @return This Builder, for chaining calls + */ + Builder& nightAdaptation(float adaptation) noexcept; + + /** + * Adjusts the while balance of the image. This can be used to remove color casts + * and correct the appearance of the white point in the scene, or to alter the + * overall chromaticity of the image for artistic reasons (to make the image appear + * cooler or warmer for instance). + * + * The while balance adjustment is defined with two values: + * - Temperature, to modify the color temperature. This value will modify the colors + * on a blue/yellow axis. Lower values apply a cool color temperature, and higher + * values apply a warm color temperature. The lowest value, -1.0f, is equivalent to + * a temperature of 50,000K. The highest value, 1.0f, is equivalent to a temperature + * of 2,000K. + * - Tint, to modify the colors on a green/magenta axis. The lowest value, -1.0f, will + * apply a strong green cast, and the highest value, 1.0f, will apply a strong magenta + * cast. + * + * Both values are expected to be in the range [-1.0..+1.0]. Values outside of that + * range will be clipped to that range. + * + * @param temperature Modification on the blue/yellow axis, as a value between -1.0 and +1.0. + * @param tint Modification on the green/magenta axis, as a value between -1.0 and +1.0. + * + * @return This Builder, for chaining calls + */ + Builder& whiteBalance(float temperature, float tint) noexcept; + + /** + * The channel mixer adjustment modifies each output color channel using the specified + * mix of the source color channels. + * + * By default each output color channel is set to use 100% of the corresponding source + * channel and 0% of the other channels. For instance, the output red channel is set to + * {1.0, 0.0, 1.0} or 100% red, 0% green and 0% blue. + * + * Each output channel can add or subtract data from the source channel by using values + * in the range [-2.0..+2.0]. Values outside of that range will be clipped to that range. + * + * Using the channel mixer adjustment you can for instance create a monochrome output + * by setting all 3 output channels to the same mix. For instance: {0.4, 0.4, 0.2} for + * all 3 output channels(40% red, 40% green and 20% blue). + * + * More complex mixes can be used to create more complex effects. For instance, here is + * a mix that creates a sepia tone effect: + * - outRed = {0.255, 0.858, 0.087} + * - outGreen = {0.213, 0.715, 0.072} + * - outBlue = {0.170, 0.572, 0.058} + * + * @param outRed The mix of source RGB for the output red channel, between -2.0 and +2.0 + * @param outGreen The mix of source RGB for the output green channel, between -2.0 and +2.0 + * @param outBlue The mix of source RGB for the output blue channel, between -2.0 and +2.0 + * + * @return This Builder, for chaining calls + */ + Builder& channelMixer( + math::float3 outRed, math::float3 outGreen, math::float3 outBlue) noexcept; + + /** + * Adjusts the colors separately in 3 distinct tonal ranges or zones: shadows, mid-tones, + * and highlights. + * + * The tonal zones are by the ranges parameter: the x and y components define the beginning + * and end of the transition from shadows to mid-tones, and the z and w components define + * the beginning and end of the transition from mid-tones to highlights. + * + * A smooth transition is applied between the zones which means for instance that the + * correction color of the shadows range will partially apply to the mid-tones, and the + * other way around. This ensure smooth visual transitions in the final image. + * + * Each correction color is defined as a linear RGB color and a weight. The weight is a + * value (which may be positive or negative) that is added to the linear RGB color before + * mixing. This can be used to darken or brighten the selected tonal range. + * + * Shadows/mid-tones/highlights adjustment are performed linear space. + * + * @param shadows Linear RGB color (.rgb) and weight (.w) to apply to the shadows + * @param midtones Linear RGB color (.rgb) and weight (.w) to apply to the mid-tones + * @param highlights Linear RGB color (.rgb) and weight (.w) to apply to the highlights + * @param ranges Range of the shadows (x and y), and range of the highlights (z and w) + * + * @return This Builder, for chaining calls + */ + Builder& shadowsMidtonesHighlights( + math::float4 shadows, math::float4 midtones, math::float4 highlights, + math::float4 ranges) noexcept; + + /** + * Applies a slope, offset, and power, as defined by the ASC CDL (American Society of + * Cinematographers Color Decision List) to the image. The CDL can be used to adjust the + * colors of different tonal ranges in the image. + * + * The ASC CDL is similar to the lift/gamma/gain controls found in many color grading tools. + * Lift is equivalent to a combination of offset and slope, gain is equivalent to slope, + * and gamma is equivalent to power. + * + * The slope and power values must be strictly positive. Values less than or equal to 0 will + * be clamped to a small positive value, offset can be any positive or negative value. + * + * Version 1.2 of the ASC CDL adds saturation control, which is here provided as a separate + * API. See the saturation() method for more information. + * + * Slope/offset/power adjustments are performed in log space. + * + * @param slope Multiplier of the input color, must be a strictly positive number + * @param offset Added to the input color, can be a negative or positive number, including 0 + * @param power Power exponent of the input color, must be a strictly positive number + * + * @return This Builder, for chaining calls + */ + Builder& slopeOffsetPower(math::float3 slope, math::float3 offset, math::float3 power) noexcept; + + /** + * Adjusts the contrast of the image. Lower values decrease the contrast of the image + * (the tonal range is narrowed), and higher values increase the contrast of the image + * (the tonal range is widened). A value of 1.0 has no effect. + * + * The contrast is defined as a value in the range [0.0...2.0]. Values outside of that + * range will be clipped to that range. + * + * Contrast adjustment is performed in log space. + * + * @param contrast Contrast expansion, between 0.0 and 2.0. 1.0 leaves contrast unaffected + * + * @return This Builder, for chaining calls + */ + Builder& contrast(float contrast) noexcept; + + /** + * Adjusts the saturation of the image based on the input color's saturation level. + * Colors with a high level of saturation are less affected than colors with low saturation + * levels. + * + * Lower vibrance values decrease intensity of the colors present in the image, and + * higher values increase the intensity of the colors in the image. A value of 1.0 has + * no effect. + * + * The vibrance is defined as a value in the range [0.0...2.0]. Values outside of that + * range will be clipped to that range. + * + * Vibrance adjustment is performed in linear space. + * + * @param vibrance Vibrance, between 0.0 and 2.0. 1.0 leaves vibrance unaffected + * + * @return This Builder, for chaining calls + */ + Builder& vibrance(float vibrance) noexcept; + + /** + * Adjusts the saturation of the image. Lower values decrease intensity of the colors + * present in the image, and higher values increase the intensity of the colors in the + * image. A value of 1.0 has no effect. + * + * The saturation is defined as a value in the range [0.0...2.0]. Values outside of that + * range will be clipped to that range. + * + * Saturation adjustment is performed in linear space. + * + * @param saturation Saturation, between 0.0 and 2.0. 1.0 leaves saturation unaffected + * + * @return This Builder, for chaining calls + */ + Builder& saturation(float saturation) noexcept; + + /** + * Applies a curve to each RGB channel of the image. Each curve is defined by 3 values: + * a gamma value applied to the shadows only, a mid-point indicating where shadows stop + * and highlights start, and a scale factor for the highlights. + * + * The gamma and mid-point must be strictly positive values. If they are not, they will be + * clamped to a small positive value. The scale can be any negative of positive value. + * + * Curves are applied in linear space. + * + * @param shadowGamma Power value to apply to the shadows, must be strictly positive + * @param midPoint Mid-point defining where shadows stop and highlights start, must be strictly positive + * @param highlightScale Scale factor for the highlights, can be any negative or positive value + * + * @return This Builder, for chaining calls + */ + Builder& curves(math::float3 shadowGamma, math::float3 midPoint, math::float3 highlightScale) noexcept; + + /** + * Sets the output color space for this ColorGrading object. After all color grading steps + * have been applied, the final color will be converted in the desired color space. + * + * NOTE: Currently the output color space must be one of Rec709-sRGB-D65 or + * Rec709-Linear-D65. Only the transfer function is taken into account. + * + * @param colorSpace The output color space. + * + * @return This Builder, for chaining calls + */ + Builder& outputColorSpace(const color::ColorSpace& colorSpace) noexcept; + + /** + * Creates the ColorGrading object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this ColorGrading with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + */ + ColorGrading* build(Engine& engine); + + private: + friend class FColorGrading; + }; + +protected: + // prevent heap allocation + ~ColorGrading() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_COLORGRADING_H diff --git a/web/include/filament/filament/ColorSpace.h b/web/include/filament/filament/ColorSpace.h new file mode 100644 index 00000000..502ac8db --- /dev/null +++ b/web/include/filament/filament/ColorSpace.h @@ -0,0 +1,256 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_COLOR_SPACE_H +#define TNT_FILAMENT_COLOR_SPACE_H + +#include +#include + +namespace filament::color { + +using namespace math; + +/** + * Holds the chromaticities of a color space's primaries as xy coordinates + * in xyY (Y is assumed to be 1). + */ +struct Primaries { + float2 r; + float2 g; + float2 b; + + bool operator==(const Primaries& rhs) const noexcept { + return r == rhs.r && b == rhs.b && g == rhs.g; + } +}; + +//! Reference white for a color space, defined as the xy coordinates in the xyY space. +using WhitePoint = float2; + +/** + *

Defines the parameters for the ICC parametric curve type 4, as + * defined in ICC.1:2004-10, section 10.15.

+ * + *

The EOTF is of the form:

+ * + * \(\begin{equation} + * Y = \begin{cases}c X + f & X \lt d \\\ + * \left( a X + b \right) ^{g} + e & X \ge d \end{cases} + * \end{equation}\) + * + *

The corresponding OETF is simply the inverse function.

+ * + *

The parameters defined by this class form a valid transfer + * function only if all the following conditions are met:

+ *
    + *
  • No parameter is a NaN
  • + *
  • \(d\) is in the range \([0..1]\)
  • + *
  • The function is not constant
  • + *
  • The function is positive and increasing
  • + *
+ */ +struct TransferFunction { + /** + *

Defines the parameters for the ICC parametric curve type 3, as + * defined in ICC.1:2004-10, section 10.15.

+ * + *

The EOTF is of the form:

+ * + * \(\begin{equation} + * Y = \begin{cases}c X & X \lt d \\\ + * \left( a X + b \right) ^{g} & X \ge d \end{cases} + * \end{equation}\) + * + *

This constructor is equivalent to setting \(e\) and \(f\) to 0.

+ * + * @param a The value of \(a\) in the equation of the EOTF described above + * @param b The value of \(b\) in the equation of the EOTF described above + * @param c The value of \(c\) in the equation of the EOTF described above + * @param d The value of \(d\) in the equation of the EOTF described above + * @param g The value of \(g\) in the equation of the EOTF described above + */ + constexpr TransferFunction( + double a, + double b, + double c, + double d, + double e, + double f, + double g + ) : a(a), + b(b), + c(c), + d(d), + e(e), + f(f), + g(g) { + } + + constexpr TransferFunction( + double a, + double b, + double c, + double d, + double g + ) : TransferFunction(a, b, c, d, 0.0, 0.0, g) { + } + + bool operator==(const TransferFunction& rhs) const noexcept { + return + a == rhs.a && + b == rhs.b && + c == rhs.c && + d == rhs.d && + e == rhs.e && + f == rhs.f && + g == rhs.g; + } + + double a; + double b; + double c; + double d; + double e; + double f; + double g; +}; + +/** + *

A color space in Filament is always an RGB color space. A specific RGB color space + * is defined by the following properties:

+ *
    + *
  • Three chromaticities of the red, green and blue primaries, which + * define the gamut of the color space.
  • + *
  • A white point chromaticity that defines the stimulus to which + * color space values are normalized (also just called "white").
  • + *
  • An opto-electronic transfer function, also called opto-electronic + * conversion function or often, and approximately, gamma function.
  • + *
  • An electro-optical transfer function, also called electo-optical + * conversion function or often, and approximately, gamma function.
  • + *
+ * + *

Primaries and white point chromaticities

+ *

In this implementation, the chromaticity of the primaries and the white + * point of an RGB color space is defined in the CIE xyY color space. This + * color space separates the chromaticity of a color, the x and y components, + * and its luminance, the Y component. Since the primaries and the white + * point have full brightness, the Y component is assumed to be 1 and only + * the x and y components are needed to encode them.

+ * + *

Transfer functions

+ *

A transfer function is a color component conversion function, defined as + * a single variable, monotonic mathematical function. It is applied to each + * individual component of a color. They are used to perform the mapping + * between linear tristimulus values and non-linear electronic signal value.

+ *

The opto-electronic transfer function (OETF or OECF) encodes + * tristimulus values in a scene to a non-linear electronic signal value.

+ */ +class ColorSpace { +public: + constexpr ColorSpace( + const Primaries primaries, + const TransferFunction transferFunction, + const WhitePoint whitePoint + ) : mPrimaries(primaries), + mTransferFunction(transferFunction), + mWhitePoint(whitePoint) { + } + + bool operator==(const ColorSpace& rhs) const noexcept { + return mPrimaries == rhs.mPrimaries && + mTransferFunction == rhs.mTransferFunction && + mWhitePoint == rhs.mWhitePoint; + } + + constexpr const Primaries& getPrimaries() const { return mPrimaries; } + constexpr const TransferFunction& getTransferFunction() const { return mTransferFunction; } + constexpr const WhitePoint& getWhitePoint() const { return mWhitePoint; } + +private: + Primaries mPrimaries; + TransferFunction mTransferFunction; + WhitePoint mWhitePoint; +}; + +/** + * Intermediate class used when building a color space using the "-" syntax: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * // Declares a "linear sRGB" color space. + * ColorSpace myColorSpace = Rec709-Linear-D65; + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ +class PartialColorSpace { +public: + constexpr ColorSpace operator-(const WhitePoint& whitePoint) const { + return { mPrimaries, mTransferFunction, whitePoint }; + } + +private: + constexpr PartialColorSpace( + const Primaries primaries, + const TransferFunction transferFunction + ) : mPrimaries(primaries), + mTransferFunction(transferFunction) { + } + + Primaries mPrimaries; + TransferFunction mTransferFunction; + + friend class Gamut; +}; + +/** + * Defines the chromaticities of the primaries for a color space. The chromaticities + * are expressed as three pairs of xy coordinates (in xyY) for the red, green, and blue + * chromaticities. + */ +class Gamut { +public: + constexpr explicit Gamut(const Primaries primaries) : mPrimaries(primaries) { + } + + constexpr Gamut(float2 r, float2 g, float2 b) : Gamut(Primaries{ r, g, b }) { + } + + constexpr PartialColorSpace operator-(const TransferFunction& transferFunction) const { + return { mPrimaries, transferFunction }; + } + + constexpr const Primaries& getPrimaries() const { return mPrimaries; } + +private: + Primaries mPrimaries; +}; + +//! Rec.709 color gamut, used in the sRGB and DisplayP3 color spaces. +constexpr Gamut Rec709 = {{ 0.640f, 0.330f }, + { 0.300f, 0.600f }, + { 0.150f, 0.060f }}; + +//! Linear transfer function. +constexpr TransferFunction Linear = { 1.0, 0.0, 0.0, 0.0, 1.0 }; + +//! sRGB transfer function. +constexpr TransferFunction sRGB = { 1.0 / 1.055, 0.055 / 1.055, 1.0 / 12.92, 0.04045, 2.4 }; + +//! Standard CIE 1931 2° illuminant D65. This illuminant has a color temperature of 6504K. +constexpr WhitePoint D65 = { 0.31271f, 0.32902f }; + +} // namespace filament::color + +#endif // TNT_FILAMENT_COLOR_SPACE_H diff --git a/web/include/filament/filament/DebugRegistry.h b/web/include/filament/filament/DebugRegistry.h new file mode 100644 index 00000000..f4df9e07 --- /dev/null +++ b/web/include/filament/filament/DebugRegistry.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_DEBUGREGISTRY_H +#define TNT_FILAMENT_DEBUGREGISTRY_H + +#include + +#include + +#include + +#include + +namespace filament { + +/** + * A registry of runtime properties used exclusively for debugging + * + * Filament exposes a few properties that can be queried and set, which control certain debugging + * features of the engine. These properties can be set at runtime at anytime. + * + */ +class UTILS_PUBLIC DebugRegistry : public FilamentAPI { +public: + + /** + * Type of a property + */ + enum Type { + BOOL, INT, FLOAT, FLOAT2, FLOAT3, FLOAT4 + }; + + /** + * Information about a property + */ + struct Property { + const char* name; //!< property name + Type type; //!< property type + }; + + /** + * Queries whether a property exists + * @param name The name of the property to query + * @return true if the property exists, false otherwise + */ + bool hasProperty(const char* name) const noexcept; + + /** + * Queries the address of a property's data from its name + * @param name Name of the property we want the data address of + * @return Address of the data of the \p name property + * @{ + */ + void* getPropertyAddress(const char* name); + + void const* getPropertyAddress(const char* name) const noexcept; + + template + inline T* getPropertyAddress(const char* name) { + return static_cast(getPropertyAddress(name)); + } + + template + inline T const* getPropertyAddress(const char* name) const noexcept { + return static_cast(getPropertyAddress(name)); + } + + template + inline bool getPropertyAddress(const char* name, T** p) { + *p = getPropertyAddress(name); + return *p != nullptr; + } + + template + inline bool getPropertyAddress(const char* name, T* const* p) const noexcept { + *p = getPropertyAddress(name); + return *p != nullptr; + } + /** @}*/ + + /** + * Set the value of a property + * @param name Name of the property to set the value of + * @param v Value to set + * @return true if the operation was successful, false otherwise. + * @{ + */ + bool setProperty(const char* name, bool v) noexcept; + bool setProperty(const char* name, int v) noexcept; + bool setProperty(const char* name, float v) noexcept; + bool setProperty(const char* name, math::float2 v) noexcept; + bool setProperty(const char* name, math::float3 v) noexcept; + bool setProperty(const char* name, math::float4 v) noexcept; + /** @}*/ + + /** + * Get the value of a property + * @param name Name of the property to get the value of + * @param v A pointer to a variable which will hold the result + * @return true if the call was successful and \p v was updated + * @{ + */ + bool getProperty(const char* name, bool* v) const noexcept; + bool getProperty(const char* name, int* v) const noexcept; + bool getProperty(const char* name, float* v) const noexcept; + bool getProperty(const char* name, math::float2* v) const noexcept; + bool getProperty(const char* name, math::float3* v) const noexcept; + bool getProperty(const char* name, math::float4* v) const noexcept; + /** @}*/ + + struct DataSource { + void const* data; + size_t count; + }; + + DataSource getDataSource(const char* name) const noexcept; + + struct FrameHistory { + using duration_ms = float; + duration_ms target{}; + duration_ms targetWithHeadroom{}; + duration_ms frameTime{}; + duration_ms frameTimeDenoised{}; + float scale = 1.0f; + float pid_e = 0.0f; + float pid_i = 0.0f; + float pid_d = 0.0f; + }; + +protected: + // prevent heap allocation + ~DebugRegistry() = default; +}; + + +} // namespace filament + +#endif /* TNT_FILAMENT_DEBUGREGISTRY_H */ diff --git a/web/include/filament/filament/Engine.h b/web/include/filament/filament/Engine.h new file mode 100644 index 00000000..53b08215 --- /dev/null +++ b/web/include/filament/filament/Engine.h @@ -0,0 +1,902 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_ENGINE_H +#define TNT_FILAMENT_ENGINE_H + +#include + +#include + +#include + +namespace utils { +class Entity; +class EntityManager; +class JobSystem; +} // namespace utils + +namespace filament { + +class BufferObject; +class Camera; +class ColorGrading; +class DebugRegistry; +class Fence; +class IndexBuffer; +class SkinningBuffer; +class IndirectLight; +class Material; +class MaterialInstance; +class MorphTargetBuffer; +class Renderer; +class RenderTarget; +class Scene; +class Skybox; +class Stream; +class SwapChain; +class Texture; +class VertexBuffer; +class View; +class InstanceBuffer; + +class LightManager; +class RenderableManager; +class TransformManager; + +#ifndef FILAMENT_PER_RENDER_PASS_ARENA_SIZE_IN_MB +# define FILAMENT_PER_RENDER_PASS_ARENA_SIZE_IN_MB 3 +#endif + +#ifndef FILAMENT_PER_FRAME_COMMANDS_SIZE_IN_MB +# define FILAMENT_PER_FRAME_COMMANDS_SIZE_IN_MB 2 +#endif + +#ifndef FILAMENT_MIN_COMMAND_BUFFERS_SIZE_IN_MB +# define FILAMENT_MIN_COMMAND_BUFFERS_SIZE_IN_MB 1 +#endif + +#ifndef FILAMENT_COMMAND_BUFFER_SIZE_IN_MB +# define FILAMENT_COMMAND_BUFFER_SIZE_IN_MB (FILAMENT_MIN_COMMAND_BUFFERS_SIZE_IN_MB * 3) +#endif + +/** + * Engine is filament's main entry-point. + * + * An Engine instance main function is to keep track of all resources created by the user and + * manage the rendering thread as well as the hardware renderer. + * + * To use filament, an Engine instance must be created first: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * using namespace filament; + * + * Engine* engine = Engine::create(); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Engine essentially represents (or is associated to) a hardware context + * (e.g. an OpenGL ES context). + * + * Rendering typically happens in an operating system's window (which can be full screen), such + * window is managed by a filament.Renderer. + * + * A typical filament render loop looks like this: + * + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * #include + * #include + * #include + * using namespace filament; + * + * Engine* engine = Engine::create(); + * SwapChain* swapChain = engine->createSwapChain(nativeWindow); + * Renderer* renderer = engine->createRenderer(); + * Scene* scene = engine->createScene(); + * View* view = engine->createView(); + * + * view->setScene(scene); + * + * do { + * // typically we wait for VSYNC and user input events + * if (renderer->beginFrame(swapChain)) { + * renderer->render(view); + * renderer->endFrame(); + * } + * } while (!quit); + * + * engine->destroy(view); + * engine->destroy(scene); + * engine->destroy(renderer); + * engine->destroy(swapChain); + * Engine::destroy(&engine); // clears engine* + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Resource Tracking + * ================= + * + * Each Engine instance keeps track of all objects created by the user, such as vertex and index + * buffers, lights, cameras, etc... + * The user is expected to free those resources, however, leaked resources are freed when the + * engine instance is destroyed and a warning is emitted in the console. + * + * Thread safety + * ============= + * + * An Engine instance is not thread-safe. The implementation makes no attempt to synchronize + * calls to an Engine instance methods. + * If multi-threading is needed, synchronization must be external. + * + * Multi-threading + * =============== + * + * When created, the Engine instance starts a render thread as well as multiple worker threads, + * these threads have an elevated priority appropriate for rendering, based on the platform's + * best practices. The number of worker threads depends on the platform and is automatically + * chosen for best performance. + * + * On platforms with asymmetric cores (e.g. ARM's Big.Little), Engine makes some educated guesses + * as to which cores to use for the render thread and worker threads. For example, it'll try to + * keep an OpenGL ES thread on a Big core. + * + * Swap Chains + * =========== + * + * A swap chain represents an Operating System's *native* renderable surface. Typically it's a window + * or a view. Because a SwapChain is initialized from a native object, it is given to filament + * as a `void*`, which must be of the proper type for each platform filament is running on. + * + * @see SwapChain + * + * + * @see Renderer + */ +class UTILS_PUBLIC Engine { + struct BuilderDetails; +public: + using Platform = backend::Platform; + using Backend = backend::Backend; + using DriverConfig = backend::Platform::DriverConfig; + using FeatureLevel = backend::FeatureLevel; + + /** + * Config is used to define the memory footprint used by the engine, such as the + * command buffer size. Config can be used to customize engine requirements based + * on the applications needs. + * + * .perRenderPassArenaSizeMB (default: 3 MiB) + * +--------------------------+ + * | | + * | .perFrameCommandsSizeMB | + * | (default 2 MiB) | + * | | + * +--------------------------+ + * | (froxel, etc...) | + * +--------------------------+ + * + * + * .commandBufferSizeMB (default 3MiB) + * +--------------------------+ + * | .minCommandBufferSizeMB | + * +--------------------------+ + * | .minCommandBufferSizeMB | + * +--------------------------+ + * | .minCommandBufferSizeMB | + * +--------------------------+ + * : : + * : : + * + */ + struct Config { + /** + * Size in MiB of the low-level command buffer arena. + * + * Each new command buffer is allocated from here. If this buffer is too small the program + * might terminate or rendering errors might occur. + * + * This is typically set to minCommandBufferSizeMB * 3, so that up to 3 frames can be + * batched-up at once. + * + * This value affects the application's memory usage. + */ + uint32_t commandBufferSizeMB = FILAMENT_COMMAND_BUFFER_SIZE_IN_MB; + + + /** + * Size in MiB of the per-frame data arena. + * + * This is the main arena used for allocations when preparing a frame. + * e.g.: Froxel data and high-level commands are allocated from this arena. + * + * If this size is too small, the program will abort on debug builds and have undefined + * behavior otherwise. + * + * This value affects the application's memory usage. + */ + uint32_t perRenderPassArenaSizeMB = FILAMENT_PER_RENDER_PASS_ARENA_SIZE_IN_MB; + + + /** + * Size in MiB of the backend's handle arena. + * + * Backends will fallback to slower heap-based allocations when running out of space and + * log this condition. + * + * If 0, then the default value for the given platform is used + * + * This value affects the application's memory usage. + */ + uint32_t driverHandleArenaSizeMB = 0; + + + /** + * Minimum size in MiB of a low-level command buffer. + * + * This is how much space is guaranteed to be available for low-level commands when a new + * buffer is allocated. If this is too small, the engine might have to stall to wait for + * more space to become available, this situation is logged. + * + * This value does not affect the application's memory usage. + */ + uint32_t minCommandBufferSizeMB = FILAMENT_MIN_COMMAND_BUFFERS_SIZE_IN_MB; + + + /** + * Size in MiB of the per-frame high level command buffer. + * + * This buffer is related to the number of draw calls achievable within a frame, if it is + * too small, the program will abort on debug builds and have undefined behavior otherwise. + * + * It is allocated from the 'per-render-pass arena' above. Make sure that at least 1 MiB is + * left in the per-render-pass arena when deciding the size of this buffer. + * + * This value does not affect the application's memory usage. + */ + uint32_t perFrameCommandsSizeMB = FILAMENT_PER_FRAME_COMMANDS_SIZE_IN_MB; + + /** + * Number of threads to use in Engine's JobSystem. + * + * Engine uses a utils::JobSystem to carry out paralleization of Engine workloads. This + * value sets the number of threads allocated for JobSystem. Configuring this value can be + * helpful in CPU-constrained environments where too many threads can cause contention of + * CPU and reduce performance. + * + * The default value is 0, which implies that the Engine will use a heuristic to determine + * the number of threads to use. + */ + uint32_t jobSystemThreadCount = 0; + + /* + * Number of most-recently destroyed textures to track for use-after-free. + * + * This will cause the backend to throw an exception when a texture is freed but still bound + * to a SamplerGroup and used in a draw call. 0 disables completely. + * + * Currently only respected by the Metal backend. + */ + size_t textureUseAfterFreePoolSize = 0; + + /* + * The number of eyes to render when stereoscopic rendering is enabled. Supported values are + * between 1 and Engine::getMaxStereoscopicEyes() (inclusive). + * + * @see View::setStereoscopicOptions + * @see Engine::getMaxStereoscopicEyes + */ + uint8_t stereoscopicEyeCount = 2; + }; + + +#if UTILS_HAS_THREADING + using CreateCallback = void(void* user, void* token); +#endif + + /** + * Engine::Builder is used to create a new filament Engine. + */ + class Builder : public BuilderBase { + friend struct BuilderDetails; + friend class FEngine; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * @param backend Which driver backend to use + * @return A reference to this Builder for chaining calls. + */ + Builder& backend(Backend backend) noexcept; + + /** + * @param platform A pointer to an object that implements Platform. If this is + * provided, then this object is used to create the hardware context + * and expose platform features to it. + * + * If not provided (or nullptr is used), an appropriate Platform + * is created automatically. + * + * All methods of this interface are called from filament's + * render thread, which is different from the main thread. + * + * The lifetime of \p platform must exceed the lifetime of + * the Engine object. + * + * @return A reference to this Builder for chaining calls. + */ + Builder& platform(Platform* platform) noexcept; + + /** + * @param config A pointer to optional parameters to specify memory size + * configuration options. If nullptr, then defaults used. + * + * @return A reference to this Builder for chaining calls. + */ + Builder& config(const Config* config) noexcept; + + /** + * @param sharedContext A platform-dependant context used as a shared context + * when creating filament's internal context. + * + * @return A reference to this Builder for chaining calls. + */ + Builder& sharedContext(void* sharedContext) noexcept; + + /** + * @param featureLevel The feature level at which initialize Filament. + * @return A reference to this Builder for chaining calls. + */ + Builder& featureLevel(FeatureLevel featureLevel) noexcept; + +#if UTILS_HAS_THREADING + /** + * Creates the filament Engine asynchronously. + * + * @param callback Callback called once the engine is initialized and it is safe to + * call Engine::getEngine(). + */ + void build(utils::Invocable&& callback) const; +#endif + + /** + * Creates an instance of Engine. + * + * @return A pointer to the newly created Engine, or nullptr if the Engine couldn't be + * created. + * nullptr if the GPU driver couldn't be initialized, for instance if it doesn't + * support the right version of OpenGL or OpenGL ES. + * + * @exception utils::PostConditionPanic can be thrown if there isn't enough memory to + * allocate the command buffer. If exceptions are disabled, this condition if + * fatal and this function will abort. + */ + Engine* build() const; + }; + + /** + * Backward compatibility helper to create an Engine. + * @see Builder + */ + static inline Engine* create(Backend backend = Backend::DEFAULT, + Platform* platform = nullptr, void* sharedContext = nullptr, + const Config* config = nullptr) { + return Engine::Builder() + .backend(backend) + .platform(platform) + .sharedContext(sharedContext) + .config(config) + .build(); + } + + +#if UTILS_HAS_THREADING + /** + * Backward compatibility helper to create an Engine asynchronously. + * @see Builder + */ + static inline void createAsync(CreateCallback callback, void* user, + Backend backend = Backend::DEFAULT, + Platform* platform = nullptr, void* sharedContext = nullptr, + const Config* config = nullptr) { + Engine::Builder() + .backend(backend) + .platform(platform) + .sharedContext(sharedContext) + .config(config) + .build([callback, user](void* token) { + callback(user, token); + }); + } + + /** + * Retrieve an Engine* from createAsync(). This must be called from the same thread than + * Engine::createAsync() was called from. + * + * @param token An opaque token given in the createAsync() callback function. + * + * @return A pointer to the newly created Engine, or nullptr if the Engine couldn't be created. + * + * @exception utils::PostConditionPanic can be thrown if there isn't enough memory to + * allocate the command buffer. If exceptions are disabled, this condition if fatal and + * this function will abort. + */ + static Engine* getEngine(void* token); +#endif + + + /** + * Destroy the Engine instance and all associated resources. + * + * Engine.destroy() should be called last and after all other resources have been destroyed, + * it ensures all filament resources are freed. + * + * Destroy performs the following tasks: + * 1. Destroy all internal software and hardware resources. + * 2. Free all user allocated resources that are not already destroyed and logs a warning. + * This indicates a "leak" in the user's code. + * 3. Terminate the rendering engine's thread. + * + * @param engine A pointer to the filament.Engine* to be destroyed. + * \p engine is cleared upon return. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * using namespace filament; + * + * Engine* engine = Engine::create(); + * Engine::destroy(&engine); // clears engine* + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * \remark + * This method is thread-safe. + */ + static void destroy(Engine** engine); + + /** + * Destroy the Engine instance and all associated resources. + * + * Engine.destroy() should be called last and after all other resources have been destroyed, + * it ensures all filament resources are freed. + * + * Destroy performs the following tasks: + * 1. Destroy all internal software and hardware resources. + * 2. Free all user allocated resources that are not already destroyed and logs a warning. + * This indicates a "leak" in the user's code. + * 3. Terminate the rendering engine's thread. + * + * @param engine A pointer to the filament.Engine to be destroyed. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * using namespace filament; + * + * Engine* engine = Engine::create(); + * Engine::destroy(engine); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * \remark + * This method is thread-safe. + */ + static void destroy(Engine* engine); + + /** + * Query the feature level supported by the selected backend. + * + * A specific feature level needs to be set before the corresponding features can be used. + * + * @return FeatureLevel supported the selected backend. + * @see setActiveFeatureLevel + */ + FeatureLevel getSupportedFeatureLevel() const noexcept; + + /** + * Activate all features of a given feature level. If an explicit feature level is not specified + * at Engine initialization time via Builder::featureLevel, the default feature level is + * FeatureLevel::FEATURE_LEVEL_0 on devices not compatible with GLES 3.0; otherwise, the default + * is FeatureLevel::FEATURE_LEVEL_1. The selected feature level must not be higher than the + * value returned by getActiveFeatureLevel() and it's not possible lower the active feature + * level. Additionally, it is not possible to modify the feature level at all if the Engine was + * initialized at FeatureLevel::FEATURE_LEVEL_0. + * + * @param featureLevel the feature level to activate. If featureLevel is lower than + * getActiveFeatureLevel(), the current (higher) feature level is kept. If + * featureLevel is higher than getSupportedFeatureLevel(), or if the engine + * was initialized at feature level 0, an exception is thrown, or the + * program is terminated if exceptions are disabled. + * + * @return the active feature level. + * + * @see Builder::featureLevel + * @see getSupportedFeatureLevel + * @see getActiveFeatureLevel + */ + FeatureLevel setActiveFeatureLevel(FeatureLevel featureLevel); + + /** + * Returns the currently active feature level. + * @return currently active feature level + * @see getSupportedFeatureLevel + * @see setActiveFeatureLevel + */ + FeatureLevel getActiveFeatureLevel() const noexcept; + + /** + * Queries the maximum number of GPU instances that Filament creates when automatic instancing + * is enabled. This value is also the limit for the number of transforms that can be stored in + * an InstanceBuffer. This value may depend on the device and platform, but will remain constant + * during the lifetime of this Engine. + * + * This value does not apply when using the instances(size_t) method on + * RenderableManager::Builder. + * + * @return the number of max automatic instances + * @see setAutomaticInstancingEnabled + * @see RenderableManager::Builder::instances(size_t) + * @see RenderableManager::Builder::instances(size_t, InstanceBuffer*) + */ + size_t getMaxAutomaticInstances() const noexcept; + + /** + * Queries the device and platform for instanced stereo rendering support. + * + * @return true if stereo rendering is supported, false otherwise + * @see View::setStereoscopicOptions + */ + bool isStereoSupported() const noexcept; + + /** + * Retrieves the configuration settings of this Engine. + * + * This method returns the configuration object that was supplied to the Engine's + * Builder::config method during the creation of this Engine. If the Builder::config method was + * not explicitly called (or called with nullptr), this method returns the default configuration + * settings. + * + * @return a Config object with this Engine's configuration + * @see Builder::config + */ + const Config& getConfig() const noexcept; + + /** + * Returns the maximum number of stereoscopic eyes supported by Filament. The actual number of + * eyes rendered is set at Engine creation time with the Engine::Config::stereoscopicEyeCount + * setting. + * + * @return the max number of stereoscopic eyes supported + * @see Engine::Config::stereoscopicEyeCount + */ + static size_t getMaxStereoscopicEyes() noexcept; + + /** + * @return EntityManager used by filament + */ + utils::EntityManager& getEntityManager() noexcept; + + /** + * @return RenderableManager reference + */ + RenderableManager& getRenderableManager() noexcept; + + /** + * @return LightManager reference + */ + LightManager& getLightManager() noexcept; + + /** + * @return TransformManager reference + */ + TransformManager& getTransformManager() noexcept; + + /** + * Helper to enable accurate translations. + * If you need this Engine to handle a very large world space, one way to achieve this + * automatically is to enable accurate translations in the TransformManager. This helper + * provides a convenient way of doing that. + * This is typically called once just after creating the Engine. + */ + void enableAccurateTranslations() noexcept; + + /** + * Enables or disables automatic instancing of render primitives. Instancing of render + * primitives can greatly reduce CPU overhead but requires the instanced primitives to be + * identical (i.e. use the same geometry) and use the same MaterialInstance. If it is known + * that the scene doesn't contain any identical primitives, automatic instancing can have some + * overhead and it is then best to disable it. + * + * Disabled by default. + * + * @param enable true to enable, false to disable automatic instancing. + * + * @see RenderableManager + * @see MaterialInstance + */ + void setAutomaticInstancingEnabled(bool enable) noexcept; + + /** + * @return true if automatic instancing is enabled, false otherwise. + * @see setAutomaticInstancingEnabled + */ + bool isAutomaticInstancingEnabled() const noexcept; + + /** + * Creates a SwapChain from the given Operating System's native window handle. + * + * @param nativeWindow An opaque native window handle. e.g.: on Android this is an + * `ANativeWindow*`. + * @param flags One or more configuration flags as defined in `SwapChain`. + * + * @return A pointer to the newly created SwapChain or nullptr if it couldn't be created. + * + * @see Renderer.beginFrame() + */ + SwapChain* createSwapChain(void* nativeWindow, uint64_t flags = 0) noexcept; + + + /** + * Creates a headless SwapChain. + * + * @param width Width of the drawing buffer in pixels. + * @param height Height of the drawing buffer in pixels. + * @param flags One or more configuration flags as defined in `SwapChain`. + * + * @return A pointer to the newly created SwapChain or nullptr if it couldn't be created. + * + * @see Renderer.beginFrame() + */ + SwapChain* createSwapChain(uint32_t width, uint32_t height, uint64_t flags = 0) noexcept; + + /** + * Creates a renderer associated to this engine. + * + * A Renderer is intended to map to a *window* on screen. + * + * @return A pointer to the newly created Renderer or nullptr if it couldn't be created. + */ + Renderer* createRenderer() noexcept; + + /** + * Creates a View. + * + * @return A pointer to the newly created View or nullptr if it couldn't be created. + */ + View* createView() noexcept; + + /** + * Creates a Scene. + * + * @return A pointer to the newly created Scene or nullptr if it couldn't be created. + */ + Scene* createScene() noexcept; + + /** + * Creates a Camera component. + * + * @param entity Entity to add the camera component to. + * @return A pointer to the newly created Camera or nullptr if it couldn't be created. + */ + Camera* createCamera(utils::Entity entity) noexcept; + + /** + * Returns the Camera component of the given entity. + * + * @param entity An entity. + * @return A pointer to the Camera component for this entity or nullptr if the entity didn't + * have a Camera component. The pointer is valid until destroyCameraComponent() + * is called or the entity itself is destroyed. + */ + Camera* getCameraComponent(utils::Entity entity) noexcept; + + /** + * Destroys the Camera component associated with the given entity. + * + * @param entity An entity. + */ + void destroyCameraComponent(utils::Entity entity) noexcept; + + /** + * Creates a Fence. + * + * @return A pointer to the newly created Fence or nullptr if it couldn't be created. + */ + Fence* createFence() noexcept; + + bool destroy(const BufferObject* p); //!< Destroys a BufferObject object. + bool destroy(const VertexBuffer* p); //!< Destroys an VertexBuffer object. + bool destroy(const Fence* p); //!< Destroys a Fence object. + bool destroy(const IndexBuffer* p); //!< Destroys an IndexBuffer object. + bool destroy(const SkinningBuffer* p); //!< Destroys a SkinningBuffer object. + bool destroy(const MorphTargetBuffer* p); //!< Destroys a MorphTargetBuffer object. + bool destroy(const IndirectLight* p); //!< Destroys an IndirectLight object. + + /** + * Destroys a Material object + * @param p the material object to destroy + * @attention All MaterialInstance of the specified material must be destroyed before + * destroying it. + * @exception utils::PreConditionPanic is thrown if some MaterialInstances remain. + * no-op if exceptions are disabled and some MaterialInstances remain. + */ + bool destroy(const Material* p); + bool destroy(const MaterialInstance* p); //!< Destroys a MaterialInstance object. + bool destroy(const Renderer* p); //!< Destroys a Renderer object. + bool destroy(const Scene* p); //!< Destroys a Scene object. + bool destroy(const Skybox* p); //!< Destroys a SkyBox object. + bool destroy(const ColorGrading* p); //!< Destroys a ColorGrading object. + bool destroy(const SwapChain* p); //!< Destroys a SwapChain object. + bool destroy(const Stream* p); //!< Destroys a Stream object. + bool destroy(const Texture* p); //!< Destroys a Texture object. + bool destroy(const RenderTarget* p); //!< Destroys a RenderTarget object. + bool destroy(const View* p); //!< Destroys a View object. + bool destroy(const InstanceBuffer* p); //!< Destroys an InstanceBuffer object. + void destroy(utils::Entity e); //!< Destroys all filament-known components from this entity + + bool isValid(const BufferObject* p); //!< Tells whether a BufferObject object is valid + bool isValid(const VertexBuffer* p); //!< Tells whether an VertexBuffer object is valid + bool isValid(const Fence* p); //!< Tells whether a Fence object is valid + bool isValid(const IndexBuffer* p); //!< Tells whether an IndexBuffer object is valid + bool isValid(const SkinningBuffer* p); //!< Tells whether a SkinningBuffer object is valid + bool isValid(const MorphTargetBuffer* p); //!< Tells whether a MorphTargetBuffer object is valid + bool isValid(const IndirectLight* p); //!< Tells whether an IndirectLight object is valid + bool isValid(const Material* p); //!< Tells whether an IndirectLight object is valid + bool isValid(const Renderer* p); //!< Tells whether a Renderer object is valid + bool isValid(const Scene* p); //!< Tells whether a Scene object is valid + bool isValid(const Skybox* p); //!< Tells whether a SkyBox object is valid + bool isValid(const ColorGrading* p); //!< Tells whether a ColorGrading object is valid + bool isValid(const SwapChain* p); //!< Tells whether a SwapChain object is valid + bool isValid(const Stream* p); //!< Tells whether a Stream object is valid + bool isValid(const Texture* p); //!< Tells whether a Texture object is valid + bool isValid(const RenderTarget* p); //!< Tells whether a RenderTarget object is valid + bool isValid(const View* p); //!< Tells whether a View object is valid + bool isValid(const InstanceBuffer* p); //!< Tells whether an InstanceBuffer object is valid + + /** + * Kicks the hardware thread (e.g. the OpenGL, Vulkan or Metal thread) and blocks until + * all commands to this point are executed. Note that does guarantee that the + * hardware is actually finished. + * + *

This is typically used right after destroying the SwapChain, + * in cases where a guarantee about the SwapChain destruction is needed in a + * timely fashion, such as when responding to Android's + * android.view.SurfaceHolder.Callback.surfaceDestroyed

+ */ + void flushAndWait(); + + /** + * Kicks the hardware thread (e.g. the OpenGL, Vulkan or Metal thread) but does not wait + * for commands to be either executed or the hardware finished. + * + *

This is typically used after creating a lot of objects to start draining the command + * queue which has a limited size.

+ */ + void flush(); + + /** + * Drains the user callback message queue and immediately execute all pending callbacks. + * + *

Typically this should be called once per frame right after the application's vsync tick, + * and typically just before computing parameters (e.g. object positions) for the next frame. + * This is useful because otherwise callbacks will be executed by filament at a later time, + * which may increase latency in certain applications.

+ */ + void pumpMessageQueues(); + + /** + * Returns the default Material. + * + * The default material is 80% white and uses the Material.Shading.LIT shading. + * + * @return A pointer to the default Material instance (a singleton). + */ + const Material* getDefaultMaterial() const noexcept; + + /** + * Returns the resolved backend. + */ + Backend getBackend() const noexcept; + + /** + * Returns the Platform object that belongs to this Engine. + * + * When Engine::create is called with no platform argument, Filament creates an appropriate + * Platform subclass automatically. The specific subclass created depends on the backend and + * OS. For example, when the OpenGL backend is used, the Platform object will be a descendant of + * OpenGLPlatform. + * + * dynamic_cast should be used to cast the returned Platform object into a specific subclass. + * Note that RTTI must be available to use dynamic_cast. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Platform* platform = engine->getPlatform(); + * // static_cast also works, but more dangerous. + * SpecificPlatform* specificPlatform = dynamic_cast(platform); + * specificPlatform->platformSpecificMethod(); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * When a custom Platform is passed to Engine::create, Filament will use it instead, and this + * method will return it. + * + * @return A pointer to the Platform object that was provided to Engine::create, or the + * Filament-created one. + */ + Platform* getPlatform() const noexcept; + + /** + * Allocate a small amount of memory directly in the command stream. The allocated memory is + * guaranteed to be preserved until the current command buffer is executed + * + * @param size size to allocate in bytes. This should be small (e.g. < 1 KB) + * @param alignment alignment requested + * @return a pointer to the allocated buffer or nullptr if no memory was available. + * + * @note there is no need to destroy this buffer, it will be freed automatically when + * the current command buffer is executed. + */ + void* streamAlloc(size_t size, size_t alignment = alignof(double)) noexcept; + + /** + * Invokes one iteration of the render loop, used only on single-threaded platforms. + * + * This should be called every time the windowing system needs to paint (e.g. at 60 Hz). + */ + void execute(); + + /** + * Retrieves the job system that the Engine has ownership over. + * + * @return JobSystem used by filament + */ + utils::JobSystem& getJobSystem() noexcept; + +#if defined(__EMSCRIPTEN__) + /** + * WebGL only: Tells the driver to reset any internal state tracking if necessary. + * + * This is only useful when integrating an external renderer into Filament on platforms + * like WebGL, where share contexts do not exist. Filament keeps track of the GL + * state it has set (like which texture is bound), and does not re-set that state if + * it does not think it needs to. However, if an external renderer has set different + * state in the mean time, Filament will use that new state unknowingly. + * + * If you are in this situation, call this function - ideally only once per frame, + * immediately after calling Engine::execute(). + */ + void resetBackendState() noexcept; +#endif + + DebugRegistry& getDebugRegistry() noexcept; + +protected: + //! \privatesection + Engine() noexcept = default; + ~Engine() = default; + +public: + //! \privatesection + Engine(Engine const&) = delete; + Engine(Engine&&) = delete; + Engine& operator=(Engine const&) = delete; + Engine& operator=(Engine&&) = delete; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_ENGINE_H diff --git a/web/include/filament/filament/Exposure.h b/web/include/filament/filament/Exposure.h new file mode 100644 index 00000000..a1e545f7 --- /dev/null +++ b/web/include/filament/filament/Exposure.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_EXPOSURE_H +#define TNT_FILAMENT_EXPOSURE_H + +#include + +namespace filament { + +class Camera; + +/** + * A series of utilities to compute exposure, exposure value at ISO 100 (EV100), + * luminance and illuminance using a physically-based camera model. + */ +namespace Exposure { + +/** + * Returns the exposure value (EV at ISO 100) of the specified camera. + */ +UTILS_PUBLIC +float ev100(const Camera& camera) noexcept; + +/** + * Returns the exposure value (EV at ISO 100) of the specified exposure parameters. + */ +UTILS_PUBLIC +float ev100(float aperture, float shutterSpeed, float sensitivity) noexcept; + +/** + * Returns the exposure value (EV at ISO 100) for the given average luminance (in @f$ \frac{cd}{m^2} @f$). + */ +UTILS_PUBLIC +float ev100FromLuminance(float luminance) noexcept; + +/** +* Returns the exposure value (EV at ISO 100) for the given illuminance (in lux). +*/ +UTILS_PUBLIC +float ev100FromIlluminance(float illuminance) noexcept; + +/** + * Returns the photometric exposure for the specified camera. + */ +UTILS_PUBLIC +float exposure(const Camera& camera) noexcept; + +/** + * Returns the photometric exposure for the specified exposure parameters. + * This function is equivalent to calling `exposure(ev100(aperture, shutterSpeed, sensitivity))` + * but is slightly faster and offers higher precision. + */ +UTILS_PUBLIC +float exposure(float aperture, float shutterSpeed, float sensitivity) noexcept; + +/** + * Returns the photometric exposure for the given EV100. + */ +UTILS_PUBLIC +float exposure(float ev100) noexcept; + +/** + * Returns the incident luminance in @f$ \frac{cd}{m^2} @f$ for the specified camera acting as a spot meter. + */ +UTILS_PUBLIC +float luminance(const Camera& camera) noexcept; + +/** + * Returns the incident luminance in @f$ \frac{cd}{m^2} @f$ for the specified exposure parameters of + * a camera acting as a spot meter. + * This function is equivalent to calling `luminance(ev100(aperture, shutterSpeed, sensitivity))` + * but is slightly faster and offers higher precision. + */ +UTILS_PUBLIC +float luminance(float aperture, float shutterSpeed, float sensitivity) noexcept; + +/** + * Converts the specified EV100 to luminance in @f$ \frac{cd}{m^2} @f$. + * EV100 is not a measure of luminance, but an EV100 can be used to denote a + * luminance for which a camera would use said EV100 to obtain the nominally + * correct exposure + */ +UTILS_PUBLIC +float luminance(float ev100) noexcept; + +/** + * Returns the illuminance in lux for the specified camera acting as an incident light meter. + */ +UTILS_PUBLIC +float illuminance(const Camera& camera) noexcept; + +/** + * Returns the illuminance in lux for the specified exposure parameters of + * a camera acting as an incident light meter. + * This function is equivalent to calling `illuminance(ev100(aperture, shutterSpeed, sensitivity))` + * but is slightly faster and offers higher precision. + */ +UTILS_PUBLIC +float illuminance(float aperture, float shutterSpeed, float sensitivity) noexcept; + +/** + * Converts the specified EV100 to illuminance in lux. + * EV100 is not a measure of illuminance, but an EV100 can be used to denote an + * illuminance for which a camera would use said EV100 to obtain the nominally + * correct exposure. + */ +UTILS_PUBLIC +float illuminance(float ev100) noexcept; + +} // namespace exposure +} // namespace filament + +#endif // TNT_FILAMENT_EXPOSURE_H diff --git a/web/include/filament/filament/Fence.h b/web/include/filament/filament/Fence.h new file mode 100644 index 00000000..56cb33e6 --- /dev/null +++ b/web/include/filament/filament/Fence.h @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_FENCE_H +#define TNT_FILAMENT_FENCE_H + +#include + +#include + +#include + +namespace filament { + +/** + * Fence is used to synchronize the application main thread with filament's rendering thread. + */ +class UTILS_PUBLIC Fence : public FilamentAPI { +public: + //! Special \p timeout value to disable wait()'s timeout. + static constexpr uint64_t FENCE_WAIT_FOR_EVER = backend::FENCE_WAIT_FOR_EVER; + + //! Error codes for Fence::wait() + using FenceStatus = backend::FenceStatus; + + /** Mode controls the behavior of the command stream when calling wait() + * + * @attention + * It would be unwise to call `wait(..., Mode::DONT_FLUSH)` from the same thread + * the Fence was created, as it would most certainly create a dead-lock. + */ + enum class Mode : uint8_t { + FLUSH, //!< The command stream is flushed + DONT_FLUSH //!< The command stream is not flushed + }; + + /** + * Client-side wait on the Fence. + * + * Blocks the current thread until the Fence signals. + * + * @param mode Whether the command stream is flushed before waiting or not. + * @param timeout Wait time out. Using a \p timeout of 0 is a way to query the state of the fence. + * A \p timeout value of FENCE_WAIT_FOR_EVER is used to disable the timeout. + * @return FenceStatus::CONDITION_SATISFIED on success, + * FenceStatus::TIMEOUT_EXPIRED if the time out expired or + * FenceStatus::ERROR in other cases. + * @see #Mode + */ + FenceStatus wait(Mode mode = Mode::FLUSH, uint64_t timeout = FENCE_WAIT_FOR_EVER); + + /** + * Client-side wait on a Fence and destroy the Fence. + * + * @param fence Fence object to wait on. + * + * @param mode Whether the command stream is flushed before waiting or not. + * + * @return FenceStatus::CONDITION_SATISFIED on success, + * FenceStatus::ERROR otherwise. + */ + static FenceStatus waitAndDestroy(Fence* fence, Mode mode = Mode::FLUSH); + +protected: + // prevent heap allocation + ~Fence() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_FENCE_H diff --git a/web/include/filament/filament/FilamentAPI.h b/web/include/filament/filament/FilamentAPI.h new file mode 100644 index 00000000..19d6ba24 --- /dev/null +++ b/web/include/filament/filament/FilamentAPI.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_FILAMENTAPI_H +#define TNT_FILAMENT_FILAMENTAPI_H + +#include +#include + +#include + +namespace filament { + +/** + * \privatesection + * FilamentAPI is used to define an API in filament. + * It ensures the class defining the API can't be created, destroyed + * or copied by the caller. + */ +class UTILS_PUBLIC FilamentAPI { +protected: + // disallow creation on the stack + FilamentAPI() noexcept = default; + ~FilamentAPI() = default; + +public: + // disallow copy and assignment + FilamentAPI(FilamentAPI const&) = delete; + FilamentAPI(FilamentAPI&&) = delete; + FilamentAPI& operator=(FilamentAPI const&) = delete; + FilamentAPI& operator=(FilamentAPI&&) = delete; + + // allow placement-new allocation, don't use "noexcept", to avoid compiler null check + static void *operator new (size_t, void* p) { return p; } + + // prevent heap allocation + static void *operator new (size_t) = delete; + static void *operator new[] (size_t) = delete; +}; + +template +using BuilderBase = utils::PrivateImplementation; + +} // namespace filament + +#endif // TNT_FILAMENT_FILAMENTAPI_H diff --git a/web/include/filament/filament/Frustum.h b/web/include/filament/filament/Frustum.h new file mode 100644 index 00000000..bfd01b04 --- /dev/null +++ b/web/include/filament/filament/Frustum.h @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_FRUSTUM_H +#define TNT_FILAMENT_FRUSTUM_H + +#include + +#include +#include + +#include // Because we define NEAR and FAR in the Plane enum. + +namespace filament { + +class Box; +class Culler; + +/** + * A frustum defined by six planes + */ +class UTILS_PUBLIC Frustum { +public: + enum class Plane : uint8_t { + LEFT, + RIGHT, + BOTTOM, + TOP, + FAR, + NEAR + }; + + Frustum() = default; + Frustum(const Frustum& rhs) = default; + Frustum(Frustum&& rhs) noexcept = default; + Frustum& operator=(const Frustum& rhs) = default; + Frustum& operator=(Frustum&& rhs) noexcept = default; + + /** + * Creates a frustum from a projection matrix in GL convention + * (usually the projection * view matrix) + * @param pv a 4x4 projection matrix in GL convention + */ + explicit Frustum(const math::mat4f& pv); + + /** + * Sets the frustum from the given projection matrix + * @param pv a 4x4 projection matrix + */ + void setProjection(const math::mat4f& pv); + + /** + * Returns the plane equation parameters with normalized normals + * @param plane Identifier of the plane to retrieve the equation of + * @return A plane equation encoded a float4 R such as R.x*x + R.y*y + R.z*z + R.w = 0 + */ + math::float4 getNormalizedPlane(Plane plane) const noexcept; + + /** + * Returns a copy of all six frustum planes in left, right, bottom, top, far, near order + * @param planes six plane equations encoded as in getNormalizedPlane() in + * left, right, bottom, top, far, near order + */ + void getNormalizedPlanes(math::float4 planes[6]) const noexcept; + + /** + * Returns all six frustum planes in left, right, bottom, top, far, near order + * @return six plane equations encoded as in getNormalizedPlane() in + * left, right, bottom, top, far, near order + */ + math::float4 const* getNormalizedPlanes() const noexcept { return mPlanes; } + + /** + * Returns whether a box intersects the frustum (i.e. is visible) + * @param box The box to test against the frustum + * @return true if the box may intersects the frustum, false otherwise. In some situations + * a box that doesn't intersect the frustum might be reported as though it does. However, + * a box that does intersect the frustum is always reported correctly (true). + */ + bool intersects(const Box& box) const noexcept; + + /** + * Returns whether a sphere intersects the frustum (i.e. is visible) + * @param sphere A sphere encoded as a center + radius. + * @return true if the sphere may intersects the frustum, false otherwise. In some situations + * a sphere that doesn't intersect the frustum might be reported as though it does. However, + * a sphere that does intersect the frustum is always reported correctly (true). + */ + bool intersects(const math::float4& sphere) const noexcept; + + /** + * Returns whether the frustum contains a given point. + * @param p the point to test + * @return the maximum signed distance to the frustum. Negative if p is inside. + */ + float contains(math::float3 p) const noexcept; + +private: + friend class Culler; + math::float4 mPlanes[6]; +}; + +} // namespace filament + +#if !defined(NDEBUG) +namespace utils::io { +class ostream; +} // namespace utils::io +utils::io::ostream& operator<<(utils::io::ostream& out, filament::Frustum const& frustum); +#endif + +#endif // TNT_FILAMENT_FRUSTUM_H diff --git a/web/include/filament/filament/IndexBuffer.h b/web/include/filament/filament/IndexBuffer.h new file mode 100644 index 00000000..09e433a3 --- /dev/null +++ b/web/include/filament/filament/IndexBuffer.h @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_INDEXBUFFER_H +#define TNT_FILAMENT_INDEXBUFFER_H + +#include + +#include + +#include + +#include + +#include + +namespace filament { + +class FIndexBuffer; + +class Engine; + +/** + * A buffer containing vertex indices into a VertexBuffer. Indices can be 16 or 32 bit. + * The buffer itself is a GPU resource, therefore mutating the data can be relatively slow. + * Typically these buffers are constant. + * + * It is possible, and even encouraged, to use a single index buffer for several Renderables. + * + * @see VertexBuffer, RenderableManager + */ +class UTILS_PUBLIC IndexBuffer : public FilamentAPI { + struct BuilderDetails; + +public: + using BufferDescriptor = backend::BufferDescriptor; + + /** + * Type of the index buffer + */ + enum class IndexType : uint8_t { + USHORT = uint8_t(backend::ElementType::USHORT), //!< 16-bit indices + UINT = uint8_t(backend::ElementType::UINT), //!< 32-bit indices + }; + + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Size of the index buffer in elements. + * @param indexCount Number of indices the IndexBuffer can hold. + * @return A reference to this Builder for chaining calls. + */ + Builder& indexCount(uint32_t indexCount) noexcept; + + /** + * Type of the index buffer, 16-bit or 32-bit. + * @param indexType Type of indices stored in the IndexBuffer. + * @return A reference to this Builder for chaining calls. + */ + Builder& bufferType(IndexType indexType) noexcept; + + /** + * Creates the IndexBuffer object and returns a pointer to it. After creation, the index + * buffer is uninitialized. Use IndexBuffer::setBuffer() to initialize the IndexBuffer. + * + * @param engine Reference to the filament::Engine to associate this IndexBuffer with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + * + * @see IndexBuffer::setBuffer + */ + IndexBuffer* build(Engine& engine); + private: + friend class FIndexBuffer; + }; + + /** + * Asynchronously copy-initializes a region of this IndexBuffer from the data provided. + * + * @param engine Reference to the filament::Engine to associate this IndexBuffer with. + * @param buffer A BufferDescriptor representing the data used to initialize the IndexBuffer. + * BufferDescriptor points to raw, untyped data that will be interpreted as + * either 16-bit or 32-bits indices based on the Type of this IndexBuffer. + * @param byteOffset Offset in *bytes* into the IndexBuffer + */ + void setBuffer(Engine& engine, BufferDescriptor&& buffer, uint32_t byteOffset = 0); + + /** + * Returns the size of this IndexBuffer in elements. + * @return The number of indices the IndexBuffer holds. + */ + size_t getIndexCount() const noexcept; + +protected: + // prevent heap allocation + ~IndexBuffer() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_INDEXBUFFER_H diff --git a/web/include/filament/filament/IndirectLight.h b/web/include/filament/filament/IndirectLight.h new file mode 100644 index 00000000..4c3c6e2c --- /dev/null +++ b/web/include/filament/filament/IndirectLight.h @@ -0,0 +1,353 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_INDIRECTLIGHT_H +#define TNT_FILAMENT_INDIRECTLIGHT_H + +#include + +#include + +#include + +namespace filament { + +class Engine; +class Texture; + +class FIndirectLight; + +/** + * IndirectLight is used to simulate environment lighting, a form of global illumination. + * + * Environment lighting has a two components: + * 1. irradiance + * 2. reflections (specular component) + * + * Environments are usually captured as high-resolution HDR equirectangular images and processed + * by the **cmgen** tool to generate the data needed by IndirectLight. + * + * @note + * Currently IndirectLight is intended to be used for "distant probes", that is, to represent + * global illumination from a distant (i.e. at infinity) environment, such as the sky or distant + * mountains. Only a single IndirectLight can be used in a Scene. This limitation will be lifted + * in the future. + * + * Creation and destruction + * ======================== + * + * An IndirectLight object is created using the IndirectLight::Builder and destroyed by calling + * Engine::destroy(const IndirectLight*). + * + * ~~~~~~~~~~~{.cpp} + * filament::Engine* engine = filament::Engine::create(); + * + * filament::IndirectLight* environment = filament::IndirectLight::Builder() + * .reflections(cubemap) + * .build(*engine); + * + * engine->destroy(environment); + * ~~~~~~~~~~~ + * + * + * Irradiance + * ========== + * + * The irradiance represents the light that comes from the environment and shines an + * object's surface. + * + * The irradiance is calculated automatically from the Reflections (see below), and generally + * doesn't need to be provided explicitly. However, it can be provided separately from the + * Reflections as + * [spherical harmonics](https://en.wikipedia.org/wiki/Spherical_harmonics) (SH) of 1, 2 or + * 3 bands, respectively 1, 4 or 9 coefficients. + * + * @note + * Use the **cmgen** tool to generate the `SH` for a given environment. + * + * Reflections + * =========== + * + * The reflections on object surfaces (specular component) is calculated from a specially + * filtered cubemap pyramid generated by the **cmgen** tool. + * + * + * @see Scene, Light, Texture, Skybox + */ +class UTILS_PUBLIC IndirectLight : public FilamentAPI { + struct BuilderDetails; + +public: + + //! Use Builder to construct an IndirectLight object instance + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Set the reflections cubemap mipmap chain. + * + * @param cubemap A mip-mapped cubemap generated by **cmgen**. Each cubemap level + * encodes a the irradiance for a roughness level. + * + * @return This Builder, for chaining calls. + * + */ + Builder& reflections(Texture const* cubemap) noexcept; + + /** + * Sets the irradiance as Spherical Harmonics. + * + * The irradiance must be pre-convolved by \f$ \langle n \cdot l \rangle \f$ and + * pre-multiplied by the Lambertian diffuse BRDF \f$ \frac{1}{\pi} \f$ and + * specified as Spherical Harmonics coefficients. + * + * Additionally, these Spherical Harmonics coefficients must be pre-scaled by the + * reconstruction factors \f$ A_{l}^{m} \f$ below. + * + * The final coefficients can be generated using the `cmgen` tool. + * + * The index in the \p sh array is given by: + * + * `index(l, m) = l * (l + 1) + m` + * + * \f$ sh[index(l,m)] = L_{l}^{m} \frac{1}{\pi} A_{l}^{m} \hat{C_{l}} \f$ + * + * index | l | m | \f$ A_{l}^{m} \f$ | \f$ \hat{C_{l}} \f$ | \f$ \frac{1}{\pi} A_{l}^{m}\hat{C_{l}} \f$ | + * :-----:|:---:|:---:|:------------------:|:---------------------:|:--------------------------------------------: + * 0 | 0 | 0 | 0.282095 | 3.1415926 | 0.282095 + * 1 | 1 | -1 | -0.488602 | 2.0943951 | -0.325735 + * 2 | ^ | 0 | 0.488602 | ^ | 0.325735 + * 3 | ^ | 1 | -0.488602 | ^ | -0.325735 + * 4 | 2 | -2 | 1.092548 | 0.785398 | 0.273137 + * 5 | ^ | -1 | -1.092548 | ^ | -0.273137 + * 6 | ^ | 0 | 0.315392 | ^ | 0.078848 + * 7 | ^ | 1 | -1.092548 | ^ | -0.273137 + * 8 | ^ | 2 | 0.546274 | ^ | 0.136569 + * + * + * Only 1, 2 or 3 bands are allowed. + * + * @param bands Number of spherical harmonics bands. Must be 1, 2 or 3. + * @param sh Array containing the spherical harmonics coefficients. + * The size of the array must be \f$ bands^{2} \f$. + * (i.e. 1, 4 or 9 coefficients respectively). + * + * @return This Builder, for chaining calls. + * + * @note + * Because the coefficients are pre-scaled, `sh[0]` is the environment's + * average irradiance. + */ + Builder& irradiance(uint8_t bands, math::float3 const* sh) noexcept; + + /** + * Sets the irradiance from the radiance expressed as Spherical Harmonics. + * + * The radiance must be specified as Spherical Harmonics coefficients \f$ L_{l}^{m} \f$ + * + * The index in the \p sh array is given by: + * + * `index(l, m) = l * (l + 1) + m` + * + * \f$ sh[index(l,m)] = L_{l}^{m} \f$ + * + * index | l | m + * :-----:|:---:|:---: + * 0 | 0 | 0 + * 1 | 1 | -1 + * 2 | ^ | 0 + * 3 | ^ | 1 + * 4 | 2 | -2 + * 5 | ^ | -1 + * 6 | ^ | 0 + * 7 | ^ | 1 + * 8 | ^ | 2 + * + * @param bands Number of spherical harmonics bands. Must be 1, 2 or 3. + * @param sh Array containing the spherical harmonics coefficients. + * The size of the array must be \f$ bands^{2} \f$. + * (i.e. 1, 4 or 9 coefficients respectively). + * + * @return This Builder, for chaining calls. + */ + Builder& radiance(uint8_t bands, math::float3 const* sh) noexcept; + + /** + * Sets the irradiance as a cubemap. + * + * The irradiance can alternatively be specified as a cubemap instead of Spherical + * Harmonics coefficients. It may or may not be more efficient, depending on your + * hardware (essentially, it's trading ALU for bandwidth). + * + * @param cubemap Cubemap representing the Irradiance pre-convolved by + * \f$ \langle n \cdot l \rangle \f$. + * + * @return This Builder, for chaining calls. + * + * @note + * This irradiance cubemap can be generated with the **cmgen** tool. + * + * @see irradiance(uint8_t bands, math::float3 const* sh) + */ + Builder& irradiance(Texture const* cubemap) noexcept; + + /** + * (optional) Environment intensity. + * + * Because the environment is encoded usually relative to some reference, the + * range can be adjusted with this method. + * + * @param envIntensity Scale factor applied to the environment and irradiance such that + * the result is in lux, or lumen/m^2 (default = 30000) + * + * @return This Builder, for chaining calls. + */ + Builder& intensity(float envIntensity) noexcept; + + /** + * Specifies the rigid-body transformation to apply to the IBL. + * + * @param rotation 3x3 rotation matrix. Must be a rigid-body transform. + * + * @return This Builder, for chaining calls. + */ + Builder& rotation(math::mat3f const& rotation) noexcept; + + /** + * Creates the IndirectLight object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this IndirectLight with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + */ + IndirectLight* build(Engine& engine); + + private: + friend class FIndirectLight; + }; + + /** + * Sets the environment's intensity. + * + * Because the environment is encoded usually relative to some reference, the + * range can be adjusted with this method. + * + * @param intensity Scale factor applied to the environment and irradiance such that + * the result is in lux, or lumen/m^2 (default = 30000) + */ + void setIntensity(float intensity) noexcept; + + /** + * Returns the environment's intensity in lux, or lumen/m^2. + */ + float getIntensity() const noexcept; + + /** + * Sets the rigid-body transformation to apply to the IBL. + * + * @param rotation 3x3 rotation matrix. Must be a rigid-body transform. + */ + void setRotation(math::mat3f const& rotation) noexcept; + + /** + * Returns the rigid-body transformation applied to the IBL. + */ + const math::mat3f& getRotation() const noexcept; + + /** + * Returns the associated reflection map, or null if it does not exist. + */ + Texture const* getReflectionsTexture() const noexcept; + + /** + * Returns the associated irradiance map, or null if it does not exist. + */ + Texture const* getIrradianceTexture() const noexcept; + + /** + * Helper to estimate the direction of the dominant light in the environment represented by + * spherical harmonics. + * + * This assumes that there is only a single dominant light (such as the sun in outdoors + * environments), if it's not the case the direction returned will be an average of the + * various lights based on their intensity. + * + * If there are no clear dominant light, as is often the case with low dynamic range (LDR) + * environments, this method may return a wrong or unexpected direction. + * + * The dominant light direction can be used to set a directional light's direction, + * for instance to produce shadows that match the environment. + * + * @param sh 3-band spherical harmonics + * + * @return A unit vector representing the direction of the dominant light + * + * @see LightManager::Builder::direction() + * @see getColorEstimate() + */ + static math::float3 getDirectionEstimate(const math::float3 sh[9]) noexcept; + + /** + * Helper to estimate the color and relative intensity of the environment represented by + * spherical harmonics in a given direction. + * + * This can be used to set the color and intensity of a directional light. In this case + * make sure to multiply this relative intensity by the the intensity of this indirect light. + * + * @param sh 3-band spherical harmonics + * @param direction a unit vector representing the direction of the light to estimate the + * color of. Typically this the value returned by getDirectionEstimate(). + * + * @return A vector of 4 floats where the first 3 components represent the linear color and + * the 4th component represents the intensity of the dominant light + * + * @see LightManager::Builder::color() + * @see LightManager::Builder::intensity() + * @see getDirectionEstimate, getIntensity, setIntensity + */ + static math::float4 getColorEstimate(const math::float3 sh[9], math::float3 direction) noexcept; + + + /** @deprecated use static versions instead */ + UTILS_DEPRECATED + math::float3 getDirectionEstimate() const noexcept; + + /** @deprecated use static versions instead */ + UTILS_DEPRECATED + math::float4 getColorEstimate(math::float3 direction) const noexcept; + +protected: + // prevent heap allocation + ~IndirectLight() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_INDIRECTLIGHT_H diff --git a/web/include/filament/filament/InstanceBuffer.h b/web/include/filament/filament/InstanceBuffer.h new file mode 100644 index 00000000..671114a9 --- /dev/null +++ b/web/include/filament/filament/InstanceBuffer.h @@ -0,0 +1,102 @@ +/* +* Copyright (C) 2023 The Android Open Source Project +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef TNT_FILAMENT_INSTANCEBUFFER_H +#define TNT_FILAMENT_INSTANCEBUFFER_H + +#include + +#include + +#include + +namespace filament { + +/** + * InstanceBuffer holds draw (GPU) instance transforms. These can be provided to a renderable to + * "offset" each draw instance. + * + * @see RenderableManager::Builder::instances(size_t, InstanceBuffer*) + */ +class UTILS_PUBLIC InstanceBuffer : public FilamentAPI { + struct BuilderDetails; + +public: + class Builder : public BuilderBase { + friend struct BuilderDetails; + + public: + + /** + * @param instanceCount the number of instances this InstanceBuffer will support, must be + * >= 1 and <= \c Engine::getMaxAutomaticInstances() + * @see Engine::getMaxAutomaticInstances + */ + Builder(size_t instanceCount) noexcept; + + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Provide an initial local transform for each instance. Each local transform is relative to + * the transform of the associated renderable. This forms a parent-child relationship + * between the renderable and its instances, so adjusting the renderable's transform will +- * affect all instances. + * + * The array of math::mat4f must have length instanceCount, provided when constructing this + * Builder. + * + * @param localTransforms an array of math::mat4f with length instanceCount, must remain + * valid until after build() is called + */ + Builder& localTransforms(math::mat4f const* localTransforms) noexcept; + + /** + * Creates the InstanceBuffer object and returns a pointer to it. + */ + InstanceBuffer* build(Engine& engine); + + private: + friend class FInstanceBuffer; + }; + + /** + * Returns the instance count specified when building this InstanceBuffer. + */ + size_t getInstanceCount() const noexcept; + + /** + * Sets the local transform for each instance. Each local transform is relative to the transform + * of the associated renderable. This forms a parent-child relationship between the renderable + * and its instances, so adjusting the renderable's transform will affect all instances. + * + * @param localTransforms an array of math::mat4f with length count, need not outlive this call + * @param count the number of local transforms + * @param offset index of the first instance to set local transforms + */ + void setLocalTransforms(math::mat4f const* localTransforms, size_t count, size_t offset = 0); + +protected: + // prevent heap allocation + ~InstanceBuffer() = default; +}; + +} // namespace filament + +#endif //TNT_FILAMENT_INSTANCEBUFFER_H diff --git a/web/include/filament/filament/LightManager.h b/web/include/filament/filament/LightManager.h new file mode 100644 index 00000000..fa0bdee7 --- /dev/null +++ b/web/include/filament/filament/LightManager.h @@ -0,0 +1,974 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_LIGHTMANAGER_H +#define TNT_FILAMENT_LIGHTMANAGER_H + +#include +#include + +#include +#include +#include + +#include +#include + +namespace utils { + class Entity; +} // namespace utils + +namespace filament { + +class Engine; +class FEngine; +class FLightManager; + +/** + * LightManager allows to create a light source in the scene, such as a sun or street lights. + * + * At least one light must be added to a scene in order to see anything + * (unless the Material.Shading.UNLIT is used). + * + * + * Creation and destruction + * ======================== + * + * A Light component is created using the LightManager::Builder and destroyed by calling + * LightManager::destroy(utils::Entity). + * + * ~~~~~~~~~~~{.cpp} + * filament::Engine* engine = filament::Engine::create(); + * utils::Entity sun = utils::EntityManager.get().create(); + * + * filament::LightManager::Builder(Type::SUN) + * .castShadows(true) + * .build(*engine, sun); + * + * engine->getLightManager().destroy(sun); + * ~~~~~~~~~~~ + * + * + * Light types + * =========== + * + * Lights come in three flavors: + * - directional lights + * - point lights + * - spot lights + * + * + * Directional lights + * ------------------ + * + * Directional lights have a direction, but don't have a position. All light rays are + * parallel and come from infinitely far away and from everywhere. Typically a directional light + * is used to simulate the sun. + * + * Directional lights and spot lights are able to cast shadows. + * + * To create a directional light use Type.DIRECTIONAL or Type.SUN, both are similar, but the later + * also draws a sun's disk in the sky and its reflection on glossy objects. + * + * @warning Currently, only a single directional light is supported. If several directional lights + * are added to the scene, the dominant one will be used. + * + * @see Builder.direction(), Builder.sunAngularRadius() + * + * Point lights + * ------------ + * + * Unlike directional lights, point lights have a position but emit light in all directions. + * The intensity of the light diminishes with the inverse square of the distance to the light. + * Builder.falloff() controls distance beyond which the light has no more influence. + * + * A scene can have multiple point lights. + * + * @see Builder.position(), Builder.falloff() + * + * Spot lights + * ----------- + * + * Spot lights are similar to point lights but the light it emits is limited to a cone defined by + * Builder.spotLightCone() and the light's direction. + * + * A spot light is therefore defined by a position, a direction and inner and outer cones. The + * spot light's influence is limited to inside the outer cone. The inner cone defines the light's + * falloff attenuation. + * + * A physically correct spot light is a little difficult to use because changing the outer angle + * of the cone changes the illumination levels, as the same amount of light is spread over a + * changing volume. The coupling of illumination and the outer cone means that an artist cannot + * tweak the influence cone of a spot light without also changing the perceived illumination. + * It therefore makes sense to provide artists with a parameter to disable this coupling. This + * is the difference between Type.FOCUSED_SPOT and Type.SPOT. + * + * @see Builder.position(), Builder.direction(), Builder.falloff(), Builder.spotLightCone() + * + * Performance considerations + * ========================== + * + * Generally, adding lights to the scene hurts performance, however filament is designed to be + * able to handle hundreds of lights in a scene under certain conditions. Here are some tips + * to keep performances high. + * + * 1. Prefer spot lights to point lights and use the smallest outer cone angle possible. + * + * 2. Use the smallest possible falloff distance for point and spot lights. + * Performance is very sensitive to overlapping lights. The falloff distance essentially + * defines a sphere of influence for the light, so try to position point and spot lights + * such that they don't overlap too much. + * + * On the other hand, a scene can contain hundreds of non overlapping lights without + * incurring a significant overhead. + * + */ +class UTILS_PUBLIC LightManager : public FilamentAPI { + struct BuilderDetails; + +public: + using Instance = utils::EntityInstance; + + /** + * Returns the number of component in the LightManager, note that component are not + * guaranteed to be active. Use the EntityManager::isAlive() before use if needed. + * + * @return number of component in the LightManager + */ + size_t getComponentCount() const noexcept; + + /** + * Returns whether a particular Entity is associated with a component of this LightManager + * @param e An Entity. + * @return true if this Entity has a component associated with this manager. + */ + bool hasComponent(utils::Entity e) const noexcept; + + /** + * @return true if the this manager has no components + */ + bool empty() const noexcept; + + /** + * Retrieve the `Entity` of the component from its `Instance`. + * @param i Instance of the component obtained from getInstance() + * @return + */ + utils::Entity getEntity(Instance i) const noexcept; + + /** + * Retrieve the Entities of all the components of this manager. + * @return A list, in no particular order, of all the entities managed by this manager. + */ + utils::Entity const* getEntities() const noexcept; + + /** + * Gets an Instance representing the Light component associated with the given Entity. + * @param e An Entity. + * @return An Instance object, which represents the Light component associated with the Entity e. + * @note Use Instance::isValid() to make sure the component exists. + * @see hasComponent() + */ + Instance getInstance(utils::Entity e) const noexcept; + + // destroys this component from the given entity + void destroy(utils::Entity e) noexcept; + + + //! Denotes the type of the light being created. + enum class Type : uint8_t { + SUN, //!< Directional light that also draws a sun's disk in the sky. + DIRECTIONAL, //!< Directional light, emits light in a given direction. + POINT, //!< Point light, emits light from a position, in all directions. + FOCUSED_SPOT, //!< Physically correct spot light. + SPOT, //!< Spot light with coupling of outer cone and illumination disabled. + }; + + /** + * Control the quality / performance of the shadow map associated to this light + */ + struct ShadowOptions { + /** Size of the shadow map in texels. Must be a power-of-two and larger or equal to 8. */ + uint32_t mapSize = 1024; + + /** + * Number of shadow cascades to use for this light. Must be between 1 and 4 (inclusive). + * A value greater than 1 turns on cascaded shadow mapping (CSM). + * Only applicable to Type.SUN or Type.DIRECTIONAL lights. + * + * When using shadow cascades, cascadeSplitPositions must also be set. + * + * @see ShadowOptions::cascadeSplitPositions + */ + uint8_t shadowCascades = 1; + + /** + * The split positions for shadow cascades. + * + * Cascaded shadow mapping (CSM) partitions the camera frustum into cascades. These values + * determine the planes along the camera's Z axis to split the frustum. The camera near + * plane is represented by 0.0f and the far plane represented by 1.0f. + * + * For example, if using 4 cascades, these values would set a uniform split scheme: + * { 0.25f, 0.50f, 0.75f } + * + * For N cascades, N - 1 split positions will be read from this array. + * + * Filament provides utility methods inside LightManager::ShadowCascades to help set these + * values. For example, to use a uniform split scheme: + * + * ~~~~~~~~~~~{.cpp} + * LightManager::ShadowCascades::computeUniformSplits(options.splitPositions, 4); + * ~~~~~~~~~~~ + * + * @see ShadowCascades::computeUniformSplits + * @see ShadowCascades::computeLogSplits + * @see ShadowCascades::computePracticalSplits + */ + float cascadeSplitPositions[3] = { 0.125f, 0.25f, 0.50f }; + + /** Constant bias in world units (e.g. meters) by which shadows are moved away from the + * light. 1mm by default. + * This is ignored when the View's ShadowType is set to VSM. + */ + float constantBias = 0.001f; + + /** Amount by which the maximum sampling error is scaled. The resulting value is used + * to move the shadow away from the fragment normal. Should be 1.0. + * This is ignored when the View's ShadowType is set to VSM. + */ + float normalBias = 1.0f; + + /** Distance from the camera after which shadows are clipped. This is used to clip + * shadows that are too far and wouldn't contribute to the scene much, improving + * performance and quality. This value is always positive. + * Use 0.0f to use the camera far distance. + * This only affect directional lights. + */ + float shadowFar = 0.0f; + + /** Optimize the quality of shadows from this distance from the camera. Shadows will + * be rendered in front of this distance, but the quality may not be optimal. + * This value is always positive. Use 0.0f to use the camera near distance. + * The default of 1m works well with many scenes. The quality of shadows may drop + * rapidly when this value decreases. + */ + float shadowNearHint = 1.0f; + + /** Optimize the quality of shadows in front of this distance from the camera. Shadows + * will be rendered behind this distance, but the quality may not be optimal. + * This value is always positive. Use std::numerical_limits::infinity() to + * use the camera far distance. + */ + float shadowFarHint = 100.0f; + + /** + * Controls whether the shadow map should be optimized for resolution or stability. + * When set to true, all resolution enhancing features that can affect stability are + * disabling, resulting in significantly lower resolution shadows, albeit stable ones. + * + * Setting this flag to true always disables LiSPSM (see below). + * + * @see lispsm + */ + bool stable = false; + + /** + * LiSPSM, or light-space perspective shadow-mapping is a technique allowing to better + * optimize the use of the shadow-map texture. When enabled the effective resolution of + * shadows is greatly improved and yields result similar to using cascades without the + * extra cost. LiSPSM comes with some drawbacks however, in particular it is incompatible + * with blurring because it effectively affects the blur kernel size. + * + * Blurring is only an issue when using ShadowType::VSM with a large blur or with + * ShadowType::PCSS however. + * + * If these blurring artifacts become problematic, this flag can be used to disable LiSPSM. + * + * @see stable + */ + bool lispsm = true; + + /** + * Constant bias in depth-resolution units by which shadows are moved away from the + * light. The default value of 0.5 is used to round depth values up. + * Generally this value shouldn't be changed or at least be small and positive. + * This is ignored when the View's ShadowType is set to VSM. + */ + float polygonOffsetConstant = 0.5f; + + /** + * Bias based on the change in depth in depth-resolution units by which shadows are moved + * away from the light. The default value of 2.0 works well with SHADOW_SAMPLING_PCF_LOW. + * Generally this value is between 0.5 and the size in texel of the PCF filter. + * Setting this value correctly is essential for LISPSM shadow-maps. + * This is ignored when the View's ShadowType is set to VSM. + */ + float polygonOffsetSlope = 2.0f; + + /** + * Whether screen-space contact shadows are used. This applies regardless of whether a + * Renderable is a shadow caster. + * Screen-space contact shadows are typically useful in large scenes. + * (off by default) + */ + bool screenSpaceContactShadows = false; + + /** + * Number of ray-marching steps for screen-space contact shadows (8 by default). + * + * CAUTION: this parameter is ignored for all lights except the directional/sun light, + * all other lights use the same value set for the directional/sun light. + * + */ + uint8_t stepCount = 8; + + /** + * Maximum shadow-occluder distance for screen-space contact shadows (world units). + * (30 cm by default) + * + * CAUTION: this parameter is ignored for all lights except the directional/sun light, + * all other lights use the same value set for the directional/sun light. + * + */ + float maxShadowDistance = 0.3f; + + /** + * Options available when the View's ShadowType is set to VSM. + * + * @warning This API is still experimental and subject to change. + * @see View::setShadowType + */ + struct Vsm { + /** + * When elvsm is set to true, "Exponential Layered VSM without Layers" are used. It is + * an improvement to the default EVSM which suffers important light leaks. Enabling + * ELVSM for a single shadowmap doubles the memory usage of all shadow maps. + * ELVSM is mostly useful when large blurs are used. + */ + bool elvsm = false; + + /** + * Blur width for the VSM blur. Zero do disable. + * The maximum value is 125. + */ + float blurWidth = 0.0f; + } vsm; + + /** + * Light bulb radius used for soft shadows. Currently this is only used when DPCF or PCSS is + * enabled. (2cm by default). + */ + float shadowBulbRadius = 0.02f; + + /** + * Transforms the shadow direction. Must be a unit quaternion. + * The default is identity. + * Ignored if the light type isn't directional. For artistic use. Use with caution. + */ + math::quatf transform{ 1.0f }; + }; + + struct ShadowCascades { + /** + * Utility method to compute ShadowOptions::cascadeSplitPositions according to a uniform + * split scheme. + * + * @param splitPositions a float array of at least size (cascades - 1) to write the split + * positions into + * @param cascades the number of shadow cascades, at most 4 + */ + static void computeUniformSplits(float* splitPositions, uint8_t cascades); + + /** + * Utility method to compute ShadowOptions::cascadeSplitPositions according to a logarithmic + * split scheme. + * + * @param splitPositions a float array of at least size (cascades - 1) to write the split + * positions into + * @param cascades the number of shadow cascades, at most 4 + * @param near the camera near plane + * @param far the camera far plane + */ + static void computeLogSplits(float* splitPositions, uint8_t cascades, + float near, float far); + + /** + * Utility method to compute ShadowOptions::cascadeSplitPositions according to a practical + * split scheme. + * + * The practical split scheme uses uses a lambda value to interpolate between the logarithmic + * and uniform split schemes. Start with a lambda value of 0.5f and adjust for your scene. + * + * See: Zhang et al 2006, "Parallel-split shadow maps for large-scale virtual environments" + * + * @param splitPositions a float array of at least size (cascades - 1) to write the split + * positions into + * @param cascades the number of shadow cascades, at most 4 + * @param near the camera near plane + * @param far the camera far plane + * @param lambda a float in the range [0, 1] that interpolates between log and + * uniform split schemes + */ + static void computePracticalSplits(float* splitPositions, uint8_t cascades, + float near, float far, float lambda); + }; + + //! Use Builder to construct a Light object instance + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + /** + * Creates a light builder and set the light's #Type. + * + * @param type #Type of Light object to create. + */ + explicit Builder(Type type) noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Enables or disables a light channel. Light channel 0 is enabled by default. + * + * @param channel Light channel to enable or disable, between 0 and 7. + * @param enable Whether to enable or disable the light channel. + * @return This Builder, for chaining calls. + */ + Builder& lightChannel(unsigned int channel, bool enable = true) noexcept; + + /** + * Whether this Light casts shadows (disabled by default) + * + * @param enable Enables or disables casting shadows from this Light. + * + * @return This Builder, for chaining calls. + */ + Builder& castShadows(bool enable) noexcept; + + /** + * Sets the shadow-map options for this light. + * + * @return This Builder, for chaining calls. + */ + Builder& shadowOptions(const ShadowOptions& options) noexcept; + + /** + * Whether this light casts light (enabled by default) + * + * @param enable Enables or disables lighting from this Light. + * + * @return This Builder, for chaining calls. + * + * @note + * In some situations it can be useful to have a light in the scene that doesn't + * actually emit light, but does cast shadows. + */ + Builder& castLight(bool enable) noexcept; + + /** + * Sets the initial position of the light in world space. + * + * @param position Light's position in world space. The default is at the origin. + * + * @return This Builder, for chaining calls. + * + * @note + * The Light's position is ignored for directional lights (Type.DIRECTIONAL or Type.SUN) + */ + Builder& position(const math::float3& position) noexcept; + + /** + * Sets the initial direction of a light in world space. + * + * @param direction Light's direction in world space. Should be a unit vector. + * The default is {0,-1,0}. + * + * @return This Builder, for chaining calls. + * + * @note + * The Light's direction is ignored for Type.POINT lights. + */ + Builder& direction(const math::float3& direction) noexcept; + + /** + * Sets the initial color of a light. + * + * @param color Color of the light specified in the linear sRGB color-space. + * The default is white {1,1,1}. + * + * @return This Builder, for chaining calls. + */ + Builder& color(const LinearColor& color) noexcept; + + /** + * Sets the initial intensity of a light. + * @param intensity This parameter depends on the Light.Type: + * - For directional lights, it specifies the illuminance in *lux* + * (or *lumen/m^2*). + * - For point lights and spot lights, it specifies the luminous power + * in *lumen*. + * + * @return This Builder, for chaining calls. + * + * For example, the sun's illuminance is about 100,000 lux. + * + * This method overrides any prior calls to intensity or intensityCandela. + * + */ + Builder& intensity(float intensity) noexcept; + + /** + * Sets the initial intensity of a spot or point light in candela. + * + * @param intensity Luminous intensity in *candela*. + * + * @return This Builder, for chaining calls. + * + * @note + * This method is equivalent to calling intensity(float intensity) for directional lights + * (Type.DIRECTIONAL or Type.SUN). + * + * This method overrides any prior calls to intensity or intensityCandela. + */ + Builder& intensityCandela(float intensity) noexcept; + + /** + * Sets the initial intensity of a light in watts. + * + * @param watts Energy consumed by a lightbulb. It is related to the energy produced + * and ultimately the brightness by the \p efficiency parameter. + * This value is often available on the packaging of commercial + * lightbulbs. + * + * @param efficiency Efficiency in percent. This depends on the type of lightbulb used. + * + * Lightbulb type | Efficiency + * ----------------:|-----------: + * Incandescent | 2.2% + * Halogen | 7.0% + * LED | 8.7% + * Fluorescent | 10.7% + * + * @return This Builder, for chaining calls. + * + * + * @note + * This call is equivalent to `Builder::intensity(efficiency * 683 * watts);` + * + * This method overrides any prior calls to intensity or intensityCandela. + */ + Builder& intensity(float watts, float efficiency) noexcept; + + /** + * Set the falloff distance for point lights and spot lights. + * + * At the falloff distance, the light has no more effect on objects. + * + * The falloff distance essentially defines a *sphere of influence* around the light, and + * therefore has an impact on performance. Larger falloffs might reduce performance + * significantly, especially when many lights are used. + * + * Try to avoid having a large number of light's spheres of influence overlap. + * + * @param radius Falloff distance in world units. Default is 1 meter. + * + * @return This Builder, for chaining calls. + * + * @note + * The Light's falloff is ignored for directional lights (Type.DIRECTIONAL or Type.SUN) + */ + Builder& falloff(float radius) noexcept; + + /** + * Defines a spot light'st angular falloff attenuation. + * + * A spot light is defined by a position, a direction and two cones, \p inner and \p outer. + * These two cones are used to define the angular falloff attenuation of the spot light + * and are defined by the angle from the center axis to where the falloff begins (i.e. + * cones are defined by their half-angle). + * + * Both inner and outer are silently clamped to a minimum value of 0.5 degrees + * (~0.00873 radians) to avoid floating-point precision issues during rendering. + * + * @param inner inner cone angle in *radians* between 0.00873 and \p outer + * @param outer outer cone angle in *radians* between 0.00873 inner and @f$ \pi/2 @f$ + * @return This Builder, for chaining calls. + * + * @note + * The spot light cone is ignored for directional and point lights. + * + * @see Type.SPOT, Type.FOCUSED_SPOT + */ + Builder& spotLightCone(float inner, float outer) noexcept; + + /** + * Defines the angular radius of the sun, in degrees, between 0.25° and 20.0° + * + * The Sun as seen from Earth has an angular size of 0.526° to 0.545° + * + * @param angularRadius sun's radius in degree. Default is 0.545°. + * + * @return This Builder, for chaining calls. + */ + Builder& sunAngularRadius(float angularRadius) noexcept; + + /** + * Defines the halo radius of the sun. The radius of the halo is defined as a + * multiplier of the sun angular radius. + * + * @param haloSize radius multiplier. Default is 10.0. + * + * @return This Builder, for chaining calls. + */ + Builder& sunHaloSize(float haloSize) noexcept; + + /** + * Defines the halo falloff of the sun. The falloff is a dimensionless number + * used as an exponent. + * + * @param haloFalloff halo falloff. Default is 80.0. + * + * @return This Builder, for chaining calls. + */ + Builder& sunHaloFalloff(float haloFalloff) noexcept; + + enum Result { Error = -1, Success = 0 }; + + /** + * Adds the Light component to an entity. + * + * @param engine Reference to the filament::Engine to associate this light with. + * @param entity Entity to add the light component to. + * @return Success if the component was created successfully, Error otherwise. + * + * If exceptions are disabled and an error occurs, this function is a no-op. + * Success can be checked by looking at the return value. + * + * If this component already exists on the given entity, it is first destroyed as if + * destroy(utils::Entity e) was called. + * + * @warning + * Currently, only 2048 lights can be created on a given Engine. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + */ + Result build(Engine& engine, utils::Entity entity); + + private: + friend class FEngine; + friend class FLightManager; + }; + + static constexpr float EFFICIENCY_INCANDESCENT = 0.0220f; //!< Typical efficiency of an incandescent light bulb (2.2%) + static constexpr float EFFICIENCY_HALOGEN = 0.0707f; //!< Typical efficiency of an halogen light bulb (7.0%) + static constexpr float EFFICIENCY_FLUORESCENT = 0.0878f; //!< Typical efficiency of a fluorescent light bulb (8.7%) + static constexpr float EFFICIENCY_LED = 0.1171f; //!< Typical efficiency of a LED light bulb (11.7%) + + Type getType(Instance i) const noexcept; + + /** + * Helper function that returns if a light is a directional light + * + * @param i Instance of the component obtained from getInstance(). + * @return true is this light is a type of directional light + */ + inline bool isDirectional(Instance i) const noexcept { + Type const type = getType(i); + return type == Type::DIRECTIONAL || type == Type::SUN; + } + + /** + * Helper function that returns if a light is a point light + * + * @param i Instance of the component obtained from getInstance(). + * @return true is this light is a type of point light + */ + inline bool isPointLight(Instance i) const noexcept { + return getType(i) == Type::POINT; + } + + /** + * Helper function that returns if a light is a spot light + * + * @param i Instance of the component obtained from getInstance(). + * @return true is this light is a type of spot light + */ + inline bool isSpotLight(Instance i) const noexcept { + Type const type = getType(i); + return type == Type::SPOT || type == Type::FOCUSED_SPOT; + } + + /** + * Enables or disables a light channel. Light channel 0 is enabled by default. + * @param channel light channel to enable or disable, between 0 and 7. + * @param enable whether to enable (true) or disable (false) the specified light channel. + */ + void setLightChannel(Instance i, unsigned int channel, bool enable = true) noexcept; + + /** + * Returns whether a light channel is enabled on a specified light. + * @param i Instance of the component obtained from getInstance(). + * @param channel Light channel to query + * @return true if the light channel is enabled, false otherwise + */ + bool getLightChannel(Instance i, unsigned int channel) const noexcept; + + /** + * Dynamically updates the light's position. + * + * @param i Instance of the component obtained from getInstance(). + * @param position Light's position in world space. The default is at the origin. + * + * @see Builder.position() + */ + void setPosition(Instance i, const math::float3& position) noexcept; + + //! returns the light's position in world space + const math::float3& getPosition(Instance i) const noexcept; + + /** + * Dynamically updates the light's direction + * + * @param i Instance of the component obtained from getInstance(). + * @param direction Light's direction in world space. Should be a unit vector. + * The default is {0,-1,0}. + * + * @see Builder.direction() + */ + void setDirection(Instance i, const math::float3& direction) noexcept; + + //! returns the light's direction in world space + const math::float3& getDirection(Instance i) const noexcept; + + /** + * Dynamically updates the light's hue as linear sRGB + * + * @param i Instance of the component obtained from getInstance(). + * @param color Color of the light specified in the linear sRGB color-space. + * The default is white {1,1,1}. + * + * @see Builder.color(), getInstance() + */ + void setColor(Instance i, const LinearColor& color) noexcept; + + /** + * @param i Instance of the component obtained from getInstance(). + * @return the light's color in linear sRGB + */ + const math::float3& getColor(Instance i) const noexcept; + + /** + * Dynamically updates the light's intensity. The intensity can be negative. + * + * @param i Instance of the component obtained from getInstance(). + * @param intensity This parameter depends on the Light.Type: + * - For directional lights, it specifies the illuminance in *lux* + * (or *lumen/m^2*). + * - For point lights and spot lights, it specifies the luminous power + * in *lumen*. + * + * @see Builder.intensity() + */ + void setIntensity(Instance i, float intensity) noexcept; + + /** + * Dynamically updates the light's intensity. The intensity can be negative. + * + * @param i Instance of the component obtained from getInstance(). + * @param watts Energy consumed by a lightbulb. It is related to the energy produced + * and ultimately the brightness by the \p efficiency parameter. + * This value is often available on the packaging of commercial + * lightbulbs. + * @param efficiency Efficiency in percent. This depends on the type of lightbulb used. + * + * Lightbulb type | Efficiency + * ----------------:|-----------: + * Incandescent | 2.2% + * Halogen | 7.0% + * LED | 8.7% + * Fluorescent | 10.7% + * + * @see Builder.intensity(float watts, float efficiency) + */ + void setIntensity(Instance i, float watts, float efficiency) noexcept { + setIntensity(i, watts * 683.0f * efficiency); + } + + /** + * Dynamically updates the light's intensity in candela. The intensity can be negative. + * + * @param i Instance of the component obtained from getInstance(). + * @param intensity Luminous intensity in *candela*. + * + * @note + * This method is equivalent to calling setIntensity(float intensity) for directional lights + * (Type.DIRECTIONAL or Type.SUN). + * + * @see Builder.intensityCandela(float intensity) + */ + void setIntensityCandela(Instance i, float intensity) noexcept; + + /** + * returns the light's luminous intensity in candela. + * + * @param i Instance of the component obtained from getInstance(). + * + * @note for Type.FOCUSED_SPOT lights, the returned value depends on the \p outer cone angle. + * + * @return luminous intensity in candela. + */ + float getIntensity(Instance i) const noexcept; + + /** + * Set the falloff distance for point lights and spot lights. + * + * @param i Instance of the component obtained from getInstance(). + * @param radius falloff distance in world units. Default is 1 meter. + * + * @see Builder.falloff() + */ + void setFalloff(Instance i, float radius) noexcept; + + /** + * returns the falloff distance of this light. + * @param i Instance of the component obtained from getInstance(). + * @return the falloff distance of this light. + */ + float getFalloff(Instance i) const noexcept; + + /** + * Dynamically updates a spot light's cone as angles + * + * @param i Instance of the component obtained from getInstance(). + * @param inner inner cone angle in *radians* between 0.00873 and outer + * @param outer outer cone angle in *radians* between 0.00873 and pi/2 + * + * @see Builder.spotLightCone() + */ + void setSpotLightCone(Instance i, float inner, float outer) noexcept; + + /** + * returns the outer cone angle in *radians* between inner and pi/2. + * @param i Instance of the component obtained from getInstance(). + * @return the outer cone angle of this light. + */ + float getSpotLightOuterCone(Instance i) const noexcept; + + /** + * returns the inner cone angle in *radians* between 0 and pi/2. + * + * The value is recomputed from the initial values, thus is not precisely + * the same as the one passed to setSpotLightCone() or Builder.spotLightCone(). + * + * @param i Instance of the component obtained from getInstance(). + * @return the inner cone angle of this light. + */ + float getSpotLightInnerCone(Instance i) const noexcept; + + /** + * Dynamically updates the angular radius of a Type.SUN light + * + * The Sun as seen from Earth has an angular size of 0.526° to 0.545° + * + * @param i Instance of the component obtained from getInstance(). + * @param angularRadius sun's radius in degrees. Default is 0.545°. + */ + void setSunAngularRadius(Instance i, float angularRadius) noexcept; + + /** + * returns the angular radius if the sun in degrees. + * @param i Instance of the component obtained from getInstance(). + * @return the angular radius if the sun in degrees. + */ + float getSunAngularRadius(Instance i) const noexcept; + + /** + * Dynamically updates the halo radius of a Type.SUN light. The radius + * of the halo is defined as a multiplier of the sun angular radius. + * + * @param i Instance of the component obtained from getInstance(). + * @param haloSize radius multiplier. Default is 10.0. + */ + void setSunHaloSize(Instance i, float haloSize) noexcept; + + /** + * returns the halo size of a Type.SUN light as a multiplier of the + * sun angular radius. + * @param i Instance of the component obtained from getInstance(). + * @return the halo size + */ + float getSunHaloSize(Instance i) const noexcept; + + /** + * Dynamically updates the halo falloff of a Type.SUN light. The falloff + * is a dimensionless number used as an exponent. + * + * @param i Instance of the component obtained from getInstance(). + * @param haloFalloff halo falloff. Default is 80.0. + */ + void setSunHaloFalloff(Instance i, float haloFalloff) noexcept; + + /** + * returns the halo falloff of a Type.SUN light as a dimensionless value. + * @param i Instance of the component obtained from getInstance(). + * @return the halo falloff + */ + float getSunHaloFalloff(Instance i) const noexcept; + + /** + * returns the shadow-map options for a given light + * @param i Instance of the component obtained from getInstance(). + * @return A ShadowOption structure + */ + ShadowOptions const& getShadowOptions(Instance i) const noexcept; + + /** + * sets the shadow-map options for a given light + * @param i Instance of the component obtained from getInstance(). + * @param options A ShadowOption structure + */ + void setShadowOptions(Instance i, ShadowOptions const& options) noexcept; + + /** + * Whether this Light casts shadows (disabled by default) + * + * @param i Instance of the component obtained from getInstance(). + * @param shadowCaster Enables or disables casting shadows from this Light. + * + * @warning + * - Only a Type.DIRECTIONAL, Type.SUN, Type.SPOT, or Type.FOCUSED_SPOT light can cast shadows + */ + void setShadowCaster(Instance i, bool shadowCaster) noexcept; + + /** + * returns whether this light casts shadows. + * @param i Instance of the component obtained from getInstance(). + */ + bool isShadowCaster(Instance i) const noexcept; + +protected: + // prevent heap allocation + ~LightManager() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_LIGHTMANAGER_H diff --git a/web/include/filament/filament/Material.h b/web/include/filament/filament/Material.h new file mode 100644 index 00000000..8e441958 --- /dev/null +++ b/web/include/filament/filament/Material.h @@ -0,0 +1,389 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_MATERIAL_H +#define TNT_FILAMENT_MATERIAL_H + +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +#include + +namespace utils { + class CString; +} // namespace utils + +namespace filament { + +class Texture; +class TextureSampler; + +class FEngine; +class FMaterial; + +class Engine; + +class UTILS_PUBLIC Material : public FilamentAPI { + struct BuilderDetails; + +public: + using BlendingMode = filament::BlendingMode; + using Shading = filament::Shading; + using Interpolation = filament::Interpolation; + using VertexDomain = filament::VertexDomain; + using TransparencyMode = filament::TransparencyMode; + + using ParameterType = backend::UniformType; + using Precision = backend::Precision; + using SamplerType = backend::SamplerType; + using SamplerFormat = backend::SamplerFormat; + using CullingMode = backend::CullingMode; + using ShaderModel = backend::ShaderModel; + using SubpassType = backend::SubpassType; + + /** + * Holds information about a material parameter. + */ + struct ParameterInfo { + //! Name of the parameter. + const char* name; + //! Whether the parameter is a sampler (texture). + bool isSampler; + //! Whether the parameter is a subpass type. + bool isSubpass; + union { + //! Type of the parameter if the parameter is not a sampler. + ParameterType type; + //! Type of the parameter if the parameter is a sampler. + SamplerType samplerType; + //! Type of the parameter if the parameter is a subpass. + SubpassType subpassType; + }; + //! Size of the parameter when the parameter is an array. + uint32_t count; + //! Requested precision of the parameter. + Precision precision; + }; + + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Specifies the material data. The material data is a binary blob produced by + * libfilamat or by matc. + * + * @param payload Pointer to the material data, must stay valid until build() is called. + * @param size Size of the material data pointed to by "payload" in bytes. + */ + Builder& package(const void* payload, size_t size); + + template + using is_supported_constant_parameter_t = typename std::enable_if< + std::is_same::value || + std::is_same::value || + std::is_same::value>::type; + + /** + * Specialize a constant parameter specified in the material definition with a concrete + * value for this material. Once build() is called, this constant cannot be changed. + * Will throw an exception if the name does not match a constant specified in the + * material definition or if the type provided does not match. + * + * @tparam T The type of constant parameter, either int32_t, float, or bool. + * @param name The name of the constant parameter specified in the material definition, such + * as "myConstant". + * @param nameLength Length in `char` of the name parameter. + * @param value The value to use for the constant parameter, must match the type specified + * in the material definition. + */ + template> + Builder& constant(const char* name, size_t nameLength, T value); + + /** inline helper to provide the constant name as a null-terminated C string */ + template> + inline Builder& constant(const char* name, T value) { + return constant(name, strlen(name), value); + } + + /** + * Creates the Material object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this Material with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + */ + Material* build(Engine& engine); + private: + friend class FMaterial; + }; + + using CompilerPriorityQueue = backend:: CompilerPriorityQueue; + + /** + * Asynchronously ensures that a subset of this Material's variants are compiled. After issuing + * several Material::compile() calls in a row, it is recommended to call Engine::flush() + * such that the backend can start the compilation work as soon as possible. + * The provided callback is guaranteed to be called on the main thread after all specified + * variants of the material are compiled. This can take hundreds of milliseconds. + * + * If all the material's variants are already compiled, the callback will be scheduled as + * soon as possible, but this might take a few dozen millisecond, corresponding to how + * many previous frames are enqueued in the backend. This also varies by backend. Therefore, + * it is recommended to only call this method once per material shortly after creation. + * + * If the same variant is scheduled for compilation multiple times, the first scheduling + * takes precedence; later scheduling are ignored. + * + * caveat: A consequence is that if a variant is scheduled on the low priority queue and later + * scheduled again on the high priority queue, the later scheduling is ignored. + * Therefore, the second callback could be called before the variant is compiled. + * However, the first callback, if specified, will trigger as expected. + * + * The callback is guaranteed to be called. If the engine is destroyed while some material + * variants are still compiling or in the queue, these will be discarded and the corresponding + * callback will be called. In that case however the Material pointer passed to the callback + * is guaranteed to be invalid (either because it's been destroyed by the user already, or, + * because it's been cleaned-up by the Engine). + * + * UserVariantFilterMask::ALL should be used with caution. Only variants that an application + * needs should be included in the variants argument. For example, the STE variant is only used + * for stereoscopic rendering. If an application is not planning to render in stereo, this bit + * should be turned off to avoid unnecessary material compilations. + * + * @param priority Which priority queue to use, LOW or HIGH. + * @param variants Variants to include to the compile command. + * @param handler Handler to dispatch the callback or nullptr for the default handler + * @param callback callback called on the main thread when the compilation is done on + * by backend. + */ + void compile(CompilerPriorityQueue priority, + UserVariantFilterMask variants, + backend::CallbackHandler* handler = nullptr, + utils::Invocable&& callback = {}) noexcept; + + inline void compile(CompilerPriorityQueue priority, + UserVariantFilterBit variants, + backend::CallbackHandler* handler = nullptr, + utils::Invocable&& callback = {}) noexcept { + compile(priority, UserVariantFilterMask(variants), handler, + std::forward>(callback)); + } + + inline void compile(CompilerPriorityQueue priority, + backend::CallbackHandler* handler = nullptr, + utils::Invocable&& callback = {}) noexcept { + compile(priority, UserVariantFilterBit::ALL, handler, + std::forward>(callback)); + } + + /** + * Creates a new instance of this material. Material instances should be freed using + * Engine::destroy(const MaterialInstance*). + * + * @param name Optional name to associate with the given material instance. If this is null, + * then the instance inherits the material's name. + * + * @return A pointer to the new instance. + */ + MaterialInstance* createInstance(const char* name = nullptr) const noexcept; + + //! Returns the name of this material as a null-terminated string. + const char* getName() const noexcept; + + //! Returns the shading model of this material. + Shading getShading() const noexcept; + + //! Returns the interpolation mode of this material. This affects how variables are interpolated. + Interpolation getInterpolation() const noexcept; + + //! Returns the blending mode of this material. + BlendingMode getBlendingMode() const noexcept; + + //! Returns the vertex domain of this material. + VertexDomain getVertexDomain() const noexcept; + + //! Returns the material's supported variants + UserVariantFilterMask getSupportedVariants() const noexcept; + + //! Returns the material domain of this material. + //! The material domain determines how the material is used. + MaterialDomain getMaterialDomain() const noexcept; + + //! Returns the default culling mode of this material. + CullingMode getCullingMode() const noexcept; + + //! Returns the transparency mode of this material. + //! This value only makes sense when the blending mode is transparent or fade. + TransparencyMode getTransparencyMode() const noexcept; + + //! Indicates whether instances of this material will, by default, write to the color buffer. + bool isColorWriteEnabled() const noexcept; + + //! Indicates whether instances of this material will, by default, write to the depth buffer. + bool isDepthWriteEnabled() const noexcept; + + //! Indicates whether instances of this material will, by default, use depth testing. + bool isDepthCullingEnabled() const noexcept; + + //! Indicates whether this material is double-sided. + bool isDoubleSided() const noexcept; + + //! Indicates whether this material uses alpha to coverage. + bool isAlphaToCoverageEnabled() const noexcept; + + //! Returns the alpha mask threshold used when the blending mode is set to masked. + float getMaskThreshold() const noexcept; + + //! Indicates whether this material uses the shadowing factor as a color multiplier. + //! This values only makes sense when the shading mode is unlit. + bool hasShadowMultiplier() const noexcept; + + //! Indicates whether this material has specular anti-aliasing enabled + bool hasSpecularAntiAliasing() const noexcept; + + //! Returns the screen-space variance for specular-antialiasing, this value is between 0 and 1. + float getSpecularAntiAliasingVariance() const noexcept; + + //! Returns the clamping threshold for specular-antialiasing, this value is between 0 and 1. + float getSpecularAntiAliasingThreshold() const noexcept; + + //! Returns the list of vertex attributes required by this material. + AttributeBitset getRequiredAttributes() const noexcept; + + //! Returns the refraction mode used by this material. + RefractionMode getRefractionMode() const noexcept; + + //! Return the refraction type used by this material. + RefractionType getRefractionType() const noexcept; + + //! Returns the reflection mode used by this material. + ReflectionMode getReflectionMode() const noexcept; + + //! Returns the minimum required feature level for this material. + backend::FeatureLevel getFeatureLevel() const noexcept; + + /** + * Returns the number of parameters declared by this material. + * The returned value can be 0. + */ + size_t getParameterCount() const noexcept; + + /** + * Gets information about this material's parameters. + * + * @param parameters A pointer to a list of ParameterInfo. + * The list must be at least "count" large + * @param count The number of parameters to retrieve. Must be >= 0 and can be > count. + * + * @return The number of parameters written to the parameters pointer. + */ + size_t getParameters(ParameterInfo* parameters, size_t count) const noexcept; + + //! Indicates whether a parameter of the given name exists on this material. + bool hasParameter(const char* name) const noexcept; + + //! Indicates whether an existing parameter is a sampler or not. + bool isSampler(const char* name) const noexcept; + + /** + * Sets the value of the given parameter on this material's default instance. + * + * @param name The name of the material parameter + * @param value The value of the material parameter + * + * @see getDefaultInstance() + */ + template + void setDefaultParameter(const char* name, T value) noexcept { + getDefaultInstance()->setParameter(name, value); + } + + /** + * Sets a texture and sampler parameters on this material's default instance. + * + * @param name The name of the material texture parameter + * @param texture The texture to set as parameter + * @param sampler The sampler to be used with this texture + * + * @see getDefaultInstance() + */ + void setDefaultParameter(const char* name, Texture const* texture, + TextureSampler const& sampler) noexcept { + getDefaultInstance()->setParameter(name, texture, sampler); + } + + /** + * Sets the color of the given parameter on this material's default instance. + * + * @param name The name of the material color parameter + * @param type Whether the color is specified in the linear or sRGB space + * @param color The color as a floating point red, green, blue tuple + * + * @see getDefaultInstance() + */ + void setDefaultParameter(const char* name, RgbType type, math::float3 color) noexcept { + getDefaultInstance()->setParameter(name, type, color); + } + + /** + * Sets the color of the given parameter on this material's default instance. + * + * @param name The name of the material color parameter + * @param type Whether the color is specified in the linear or sRGB space + * @param color The color as a floating point red, green, blue, alpha tuple + * + * @see getDefaultInstance() + */ + void setDefaultParameter(const char* name, RgbaType type, math::float4 color) noexcept { + getDefaultInstance()->setParameter(name, type, color); + } + + //! Returns this material's default instance. + MaterialInstance* getDefaultInstance() noexcept; + + //! Returns this material's default instance. + MaterialInstance const* getDefaultInstance() const noexcept; + +protected: + // prevent heap allocation + ~Material() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_MATERIAL_H diff --git a/web/include/filament/filament/MaterialChunkType.h b/web/include/filament/filament/MaterialChunkType.h new file mode 100644 index 00000000..6cff2003 --- /dev/null +++ b/web/include/filament/filament/MaterialChunkType.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMAT_MATERIAL_CHUNK_TYPES_H +#define TNT_FILAMAT_MATERIAL_CHUNK_TYPES_H + +#include + +#include + +namespace filamat { + +// Pack an eight character string into a 64 bit integer. +constexpr inline uint64_t charTo64bitNum(const char str[9]) noexcept { + return + ( (static_cast(str[0]) << 56)) + | ((static_cast(str[1]) << 48) & 0x00FF000000000000U) + | ((static_cast(str[2]) << 40) & 0x0000FF0000000000U) + | ((static_cast(str[3]) << 32) & 0x000000FF00000000U) + | ((static_cast(str[4]) << 24) & 0x00000000FF000000U) + | ((static_cast(str[5]) << 16) & 0x0000000000FF0000U) + | ((static_cast(str[6]) << 8) & 0x000000000000FF00U) + | ( static_cast(str[7]) & 0x00000000000000FFU); +} + +enum UTILS_PUBLIC ChunkType : uint64_t { + Unknown = charTo64bitNum("UNKNOWN "), + MaterialUib = charTo64bitNum("MAT_UIB "), + MaterialSib = charTo64bitNum("MAT_SIB "), + MaterialSubpass = charTo64bitNum("MAT_SUB "), + MaterialGlsl = charTo64bitNum("MAT_GLSL"), + MaterialEssl1 = charTo64bitNum("MAT_ESS1"), + MaterialSpirv = charTo64bitNum("MAT_SPIR"), + MaterialMetal = charTo64bitNum("MAT_METL"), + MaterialShaderModels = charTo64bitNum("MAT_SMDL"), + MaterialSamplerBindings = charTo64bitNum("MAT_SAMP"), + MaterialUniformBindings = charTo64bitNum("MAT_UNIF"), + MaterialBindingUniformInfo = charTo64bitNum("MAT_UFRM"), + MaterialAttributeInfo = charTo64bitNum("MAT_ATTR"), + MaterialProperties = charTo64bitNum("MAT_PROP"), + MaterialConstants = charTo64bitNum("MAT_CONS"), + + MaterialName = charTo64bitNum("MAT_NAME"), + MaterialVersion = charTo64bitNum("MAT_VERS"), + MaterialCacheId = charTo64bitNum("MAT_UUID"), + MaterialFeatureLevel = charTo64bitNum("MAT_FEAT"), + MaterialShading = charTo64bitNum("MAT_SHAD"), + MaterialBlendingMode = charTo64bitNum("MAT_BLEN"), + MaterialTransparencyMode = charTo64bitNum("MAT_TRMD"), + MaterialMaskThreshold = charTo64bitNum("MAT_THRS"), + MaterialShadowMultiplier = charTo64bitNum("MAT_SHML"), + MaterialSpecularAntiAliasing = charTo64bitNum("MAT_SPAA"), + MaterialSpecularAntiAliasingVariance = charTo64bitNum("MAT_SVAR"), + MaterialSpecularAntiAliasingThreshold = charTo64bitNum("MAT_STHR"), + MaterialClearCoatIorChange = charTo64bitNum("MAT_CIOR"), + MaterialDomain = charTo64bitNum("MAT_DOMN"), + MaterialVariantFilterMask = charTo64bitNum("MAT_VFLT"), + MaterialRefraction = charTo64bitNum("MAT_REFM"), + MaterialRefractionType = charTo64bitNum("MAT_REFT"), + MaterialReflectionMode = charTo64bitNum("MAT_REFL"), + + MaterialRequiredAttributes = charTo64bitNum("MAT_REQA"), + MaterialDoubleSidedSet = charTo64bitNum("MAT_DOSS"), + MaterialDoubleSided = charTo64bitNum("MAT_DOSI"), + + MaterialColorWrite = charTo64bitNum("MAT_CWRIT"), + MaterialDepthWriteSet = charTo64bitNum("MAT_DEWS"), + MaterialDepthWrite = charTo64bitNum("MAT_DWRIT"), + MaterialDepthTest = charTo64bitNum("MAT_DTEST"), + MaterialInstanced = charTo64bitNum("MAT_INSTA"), + MaterialCullingMode = charTo64bitNum("MAT_CUMO"), + MaterialAlphaToCoverageSet = charTo64bitNum("MAT_A2CS"), + MaterialAlphaToCoverage = charTo64bitNum("MAT_A2CO"), + + MaterialHasCustomDepthShader =charTo64bitNum("MAT_CSDP"), + + MaterialVertexDomain = charTo64bitNum("MAT_VEDO"), + MaterialInterpolation = charTo64bitNum("MAT_INTR"), + + DictionaryText = charTo64bitNum("DIC_TEXT"), + DictionarySpirv = charTo64bitNum("DIC_SPIR"), +}; + +} // namespace filamat + +#endif // TNT_FILAMAT_MATERIAL_CHUNK_TYPES_H diff --git a/web/include/filament/filament/MaterialEnums.h b/web/include/filament/filament/MaterialEnums.h new file mode 100644 index 00000000..5e16552b --- /dev/null +++ b/web/include/filament/filament/MaterialEnums.h @@ -0,0 +1,255 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_MATERIAL_ENUM_H +#define TNT_FILAMENT_MATERIAL_ENUM_H + +#include +#include + +#include +#include + +namespace filament { + +// update this when a new version of filament wouldn't work with older materials +static constexpr size_t MATERIAL_VERSION = 49; + +/** + * Supported shading models + */ +enum class Shading : uint8_t { + UNLIT, //!< no lighting applied, emissive possible + LIT, //!< default, standard lighting + SUBSURFACE, //!< subsurface lighting model + CLOTH, //!< cloth lighting model + SPECULAR_GLOSSINESS, //!< legacy lighting model +}; + +/** + * Attribute interpolation types in the fragment shader + */ +enum class Interpolation : uint8_t { + SMOOTH, //!< default, smooth interpolation + FLAT //!< flat interpolation +}; + +/** + * Shader quality, affect some global quality parameters + */ +enum class ShaderQuality : int8_t { + DEFAULT = -1, // LOW on mobile, HIGH on desktop + LOW = 0, // enable optimizations that can slightly affect correctness + NORMAL = 1, // normal quality, correctness honored + HIGH = 2 // higher quality (e.g. better upscaling, etc...) +}; + +/** + * Supported blending modes + */ +enum class BlendingMode : uint8_t { + //! material is opaque + OPAQUE, + //! material is transparent and color is alpha-pre-multiplied, affects diffuse lighting only + TRANSPARENT, + //! material is additive (e.g.: hologram) + ADD, + //! material is masked (i.e. alpha tested) + MASKED, + /** + * material is transparent and color is alpha-pre-multiplied, affects specular lighting + * when adding more entries, change the size of FRenderer::CommandKey::blending + */ + FADE, + //! material darkens what's behind it + MULTIPLY, + //! material brightens what's behind it + SCREEN, +}; + +/** + * How transparent objects are handled + */ +enum class TransparencyMode : uint8_t { + //! the transparent object is drawn honoring the raster state + DEFAULT, + /** + * the transparent object is first drawn in the depth buffer, + * then in the color buffer, honoring the culling mode, but ignoring the depth test function + */ + TWO_PASSES_ONE_SIDE, + + /** + * the transparent object is drawn twice in the color buffer, + * first with back faces only, then with front faces; the culling + * mode is ignored. Can be combined with two-sided lighting + */ + TWO_PASSES_TWO_SIDES +}; + +/** + * Supported types of vertex domains. + */ +enum class VertexDomain : uint8_t { + OBJECT, //!< vertices are in object space, default + WORLD, //!< vertices are in world space + VIEW, //!< vertices are in view space + DEVICE //!< vertices are in normalized device space + // when adding more entries, make sure to update VERTEX_DOMAIN_COUNT +}; + +/** + * Vertex attribute types + */ +enum VertexAttribute : uint8_t { + // Update hasIntegerTarget() in VertexBuffer when adding an attribute that will + // be read as integers in the shaders + + POSITION = 0, //!< XYZ position (float3) + TANGENTS = 1, //!< tangent, bitangent and normal, encoded as a quaternion (float4) + COLOR = 2, //!< vertex color (float4) + UV0 = 3, //!< texture coordinates (float2) + UV1 = 4, //!< texture coordinates (float2) + BONE_INDICES = 5, //!< indices of 4 bones, as unsigned integers (uvec4) + BONE_WEIGHTS = 6, //!< weights of the 4 bones (normalized float4) + // -- we have 1 unused slot here -- + CUSTOM0 = 8, + CUSTOM1 = 9, + CUSTOM2 = 10, + CUSTOM3 = 11, + CUSTOM4 = 12, + CUSTOM5 = 13, + CUSTOM6 = 14, + CUSTOM7 = 15, + + // Aliases for legacy vertex morphing. + // See RenderableManager::Builder::morphing(). + MORPH_POSITION_0 = CUSTOM0, + MORPH_POSITION_1 = CUSTOM1, + MORPH_POSITION_2 = CUSTOM2, + MORPH_POSITION_3 = CUSTOM3, + MORPH_TANGENTS_0 = CUSTOM4, + MORPH_TANGENTS_1 = CUSTOM5, + MORPH_TANGENTS_2 = CUSTOM6, + MORPH_TANGENTS_3 = CUSTOM7, + + // this is limited by driver::MAX_VERTEX_ATTRIBUTE_COUNT +}; + +static constexpr size_t MAX_LEGACY_MORPH_TARGETS = 4; +static constexpr size_t MAX_MORPH_TARGETS = 256; // this is limited by filament::CONFIG_MAX_MORPH_TARGET_COUNT +static constexpr size_t MAX_CUSTOM_ATTRIBUTES = 8; + +/** + * Material domains + */ +enum class MaterialDomain : uint8_t { + SURFACE = 0, //!< shaders applied to renderables + POST_PROCESS = 1, //!< shaders applied to rendered buffers + COMPUTE = 2, //!< compute shader +}; + +/** + * Specular occlusion + */ +enum class SpecularAmbientOcclusion : uint8_t { + NONE = 0, //!< no specular occlusion + SIMPLE = 1, //!< simple specular occlusion + BENT_NORMALS = 2, //!< more accurate specular occlusion, requires bent normals +}; + +/** + * Refraction + */ +enum class RefractionMode : uint8_t { + NONE = 0, //!< no refraction + CUBEMAP = 1, //!< refracted rays go to the ibl cubemap + SCREEN_SPACE = 2, //!< refracted rays go to screen space +}; + +/** + * Refraction type + */ +enum class RefractionType : uint8_t { + SOLID = 0, //!< refraction through solid objects (e.g. a sphere) + THIN = 1, //!< refraction through thin objects (e.g. window) +}; + +/** + * Reflection mode + */ +enum class ReflectionMode : uint8_t { + DEFAULT = 0, //! reflections sample from the scene's IBL only + SCREEN_SPACE = 1, //! reflections sample from screen space, and fallback to the scene's IBL +}; + +// can't really use std::underlying_type::type because the driver takes a uint32_t +using AttributeBitset = utils::bitset32; + +static constexpr size_t MATERIAL_PROPERTIES_COUNT = 26; +enum class Property : uint8_t { + BASE_COLOR, //!< float4, all shading models + ROUGHNESS, //!< float, lit shading models only + METALLIC, //!< float, all shading models, except unlit and cloth + REFLECTANCE, //!< float, all shading models, except unlit and cloth + AMBIENT_OCCLUSION, //!< float, lit shading models only, except subsurface and cloth + CLEAR_COAT, //!< float, lit shading models only, except subsurface and cloth + CLEAR_COAT_ROUGHNESS, //!< float, lit shading models only, except subsurface and cloth + CLEAR_COAT_NORMAL, //!< float, lit shading models only, except subsurface and cloth + ANISOTROPY, //!< float, lit shading models only, except subsurface and cloth + ANISOTROPY_DIRECTION, //!< float3, lit shading models only, except subsurface and cloth + THICKNESS, //!< float, subsurface shading model only + SUBSURFACE_POWER, //!< float, subsurface shading model only + SUBSURFACE_COLOR, //!< float3, subsurface and cloth shading models only + SHEEN_COLOR, //!< float3, lit shading models only, except subsurface + SHEEN_ROUGHNESS, //!< float3, lit shading models only, except subsurface and cloth + SPECULAR_COLOR, //!< float3, specular-glossiness shading model only + GLOSSINESS, //!< float, specular-glossiness shading model only + EMISSIVE, //!< float4, all shading models + NORMAL, //!< float3, all shading models only, except unlit + POST_LIGHTING_COLOR, //!< float4, all shading models + CLIP_SPACE_TRANSFORM, //!< mat4, vertex shader only + ABSORPTION, //!< float3, how much light is absorbed by the material + TRANSMISSION, //!< float, how much light is refracted through the material + IOR, //!< float, material's index of refraction + MICRO_THICKNESS, //!< float, thickness of the thin layer + BENT_NORMAL, //!< float3, all shading models only, except unlit + + // when adding new Properties, make sure to update MATERIAL_PROPERTIES_COUNT +}; + +using UserVariantFilterMask = uint32_t; + +enum class UserVariantFilterBit : UserVariantFilterMask { + DIRECTIONAL_LIGHTING = 0x01, //!< Directional lighting + DYNAMIC_LIGHTING = 0x02, //!< Dynamic lighting + SHADOW_RECEIVER = 0x04, //!< Shadow receiver + SKINNING = 0x08, //!< Skinning + FOG = 0x10, //!< Fog + VSM = 0x20, //!< Variance shadow maps + SSR = 0x40, //!< Screen-space reflections + STE = 0x80, //!< Instanced stereo rendering + ALL = 0xFF, +}; + +} // namespace filament + +template<> struct utils::EnableBitMaskOperators + : public std::true_type {}; + +#endif diff --git a/web/include/filament/filament/MaterialInstance.h b/web/include/filament/filament/MaterialInstance.h new file mode 100644 index 00000000..0c6ef205 --- /dev/null +++ b/web/include/filament/filament/MaterialInstance.h @@ -0,0 +1,490 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_MATERIALINSTANCE_H +#define TNT_FILAMENT_MATERIALINSTANCE_H + +#include +#include + +#include + +#include + +#include + +#include + +namespace filament { + +class Material; +class Texture; +class TextureSampler; +class UniformBuffer; +class BufferInterfaceBlock; + +class UTILS_PUBLIC MaterialInstance : public FilamentAPI { + template + using StringLiteralHelper = const char[N]; + + struct StringLiteral { + const char* data; + size_t size; + template + StringLiteral(StringLiteralHelper const& s) noexcept // NOLINT(google-explicit-constructor) + : data(s), size(N - 1) { + } + }; + +public: + using CullingMode = filament::backend::CullingMode; + using TransparencyMode = filament::TransparencyMode; + using DepthFunc = filament::backend::SamplerCompareFunc; + using StencilCompareFunc = filament::backend::SamplerCompareFunc; + using StencilOperation = filament::backend::StencilOperation; + using StencilFace = filament::backend::StencilFace; + + template + using is_supported_parameter_t = typename std::enable_if< + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + // these types are slower as they need a layout conversion + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value + >::type; + + /** + * Creates a new MaterialInstance using another MaterialInstance as a template for initialization. + * The new MaterialInstance is an instance of the same Material of the template instance and + * must be destroyed just like any other MaterialInstance. + * + * @param other A MaterialInstance to use as a template for initializing a new instance + * @param name A name for the new MaterialInstance or nullptr to use the template's name + * @return A new MaterialInstance + */ + static MaterialInstance* duplicate(MaterialInstance const* other, const char* name = nullptr) noexcept; + + /** + * @return the Material associated with this instance + */ + Material const* getMaterial() const noexcept; + + /** + * @return the name associated with this instance + */ + const char* getName() const noexcept; + + /** + * Set a uniform by name + * + * @param name Name of the parameter as defined by Material. Cannot be nullptr. + * @param nameLength Length in `char` of the name parameter. + * @param value Value of the parameter to set. + * @throws utils::PreConditionPanic if name doesn't exist or no-op if exceptions are disabled. + */ + template> + void setParameter(const char* name, size_t nameLength, T const& value); + + /** inline helper to provide the name as a null-terminated string literal */ + template> + inline void setParameter(StringLiteral name, T const& value) { + setParameter(name.data, name.size, value); + } + + /** inline helper to provide the name as a null-terminated C string */ + template> + inline void setParameter(const char* name, T const& value) { + setParameter(name, strlen(name), value); + } + + + /** + * Set a uniform array by name + * + * @param name Name of the parameter array as defined by Material. Cannot be nullptr. + * @param nameLength Length in `char` of the name parameter. + * @param values Array of values to set to the named parameter array. + * @param count Size of the array to set. + * @throws utils::PreConditionPanic if name doesn't exist or no-op if exceptions are disabled. + */ + template> + void setParameter(const char* name, size_t nameLength, const T* values, size_t count); + + /** inline helper to provide the name as a null-terminated string literal */ + template> + inline void setParameter(StringLiteral name, const T* values, size_t count) { + setParameter(name.data, name.size, values, count); + } + + /** inline helper to provide the name as a null-terminated C string */ + template> + inline void setParameter(const char* name, const T* values, size_t count) { + setParameter(name, strlen(name), values, count); + } + + + /** + * Set a texture as the named parameter + * + * Note: Depth textures can't be sampled with a linear filter unless the comparison mode is set + * to COMPARE_TO_TEXTURE. + * + * @param name Name of the parameter as defined by Material. Cannot be nullptr. + * @param nameLength Length in `char` of the name parameter. + * @param texture Non nullptr Texture object pointer. + * @param sampler Sampler parameters. + * @throws utils::PreConditionPanic if name doesn't exist or no-op if exceptions are disabled. + */ + void setParameter(const char* name, size_t nameLength, + Texture const* texture, TextureSampler const& sampler); + + /** inline helper to provide the name as a null-terminated string literal */ + inline void setParameter(StringLiteral name, + Texture const* texture, TextureSampler const& sampler) { + setParameter(name.data, name.size, texture, sampler); + } + + /** inline helper to provide the name as a null-terminated C string */ + inline void setParameter(const char* name, + Texture const* texture, TextureSampler const& sampler) { + setParameter(name, strlen(name), texture, sampler); + } + + + /** + * Set an RGB color as the named parameter. + * A conversion might occur depending on the specified type + * + * @param name Name of the parameter as defined by Material. Cannot be nullptr. + * @param nameLength Length in `char` of the name parameter. + * @param type Whether the color value is encoded as Linear or sRGB. + * @param color Array of read, green, blue channels values. + * @throws utils::PreConditionPanic if name doesn't exist or no-op if exceptions are disabled. + */ + void setParameter(const char* name, size_t nameLength, RgbType type, math::float3 color); + + /** inline helper to provide the name as a null-terminated string literal */ + inline void setParameter(StringLiteral name, RgbType type, math::float3 color) { + setParameter(name.data, name.size, type, color); + } + + /** inline helper to provide the name as a null-terminated C string */ + inline void setParameter(const char* name, RgbType type, math::float3 color) { + setParameter(name, strlen(name), type, color); + } + + + /** + * Set an RGBA color as the named parameter. + * A conversion might occur depending on the specified type + * + * @param name Name of the parameter as defined by Material. Cannot be nullptr. + * @param nameLength Length in `char` of the name parameter. + * @param type Whether the color value is encoded as Linear or sRGB/A. + * @param color Array of read, green, blue and alpha channels values. + * @throws utils::PreConditionPanic if name doesn't exist or no-op if exceptions are disabled. + */ + void setParameter(const char* name, size_t nameLength, RgbaType type, math::float4 color); + + /** inline helper to provide the name as a null-terminated string literal */ + inline void setParameter(StringLiteral name, RgbaType type, math::float4 color) { + setParameter(name.data, name.size, type, color); + } + + /** inline helper to provide the name as a null-terminated C string */ + inline void setParameter(const char* name, RgbaType type, math::float4 color) { + setParameter(name, strlen(name), type, color); + } + + /** + * Set-up a custom scissor rectangle; by default it is disabled. + * + * The scissor rectangle gets clipped by the View's viewport, in other words, the scissor + * cannot affect fragments outside of the View's Viewport. + * + * Currently the scissor is not compatible with dynamic resolution and should always be + * disabled when dynamic resolution is used. + * + * @param left left coordinate of the scissor box relative to the viewport + * @param bottom bottom coordinate of the scissor box relative to the viewport + * @param width width of the scissor box + * @param height height of the scissor box + * + * @see unsetScissor + * @see View::setViewport + * @see View::setDynamicResolutionOptions + */ + void setScissor(uint32_t left, uint32_t bottom, uint32_t width, uint32_t height) noexcept; + + /** + * Returns the scissor rectangle to its default disabled setting. + * + * Currently the scissor is not compatible with dynamic resolution and should always be + * disabled when dynamic resolution is used. + * + * @see View::setDynamicResolutionOptions + */ + void unsetScissor() noexcept; + + /** + * Sets a polygon offset that will be applied to all renderables drawn with this material + * instance. + * + * The value of the offset is scale * dz + r * constant, where dz is the change in depth + * relative to the screen area of the triangle, and r is the smallest value that is guaranteed + * to produce a resolvable offset for a given implementation. This offset is added before the + * depth test. + * + * @warning using a polygon offset other than zero has a significant negative performance + * impact, as most implementations have to disable early depth culling. DO NOT USE unless + * absolutely necessary. + * + * @param scale scale factor used to create a variable depth offset for each triangle + * @param constant scale factor used to create a constant depth offset for each triangle + */ + void setPolygonOffset(float scale, float constant) noexcept; + + /** + * Overrides the minimum alpha value a fragment must have to not be discarded when the blend + * mode is MASKED. Defaults to 0.4 if it has not been set in the parent Material. The specified + * value should be between 0 and 1 and will be clamped if necessary. + */ + void setMaskThreshold(float threshold) noexcept; + + /** + * Gets the minimum alpha value a fragment must have to not be discarded when the blend + * mode is MASKED + */ + float getMaskThreshold() const noexcept; + + /** + * Sets the screen space variance of the filter kernel used when applying specular + * anti-aliasing. The default value is set to 0.15. The specified value should be between + * 0 and 1 and will be clamped if necessary. + */ + void setSpecularAntiAliasingVariance(float variance) noexcept; + + /** + * Gets the screen space variance of the filter kernel used when applying specular + * anti-aliasing. + */ + float getSpecularAntiAliasingVariance() const noexcept; + + /** + * Sets the clamping threshold used to suppress estimation errors when applying specular + * anti-aliasing. The default value is set to 0.2. The specified value should be between 0 + * and 1 and will be clamped if necessary. + */ + void setSpecularAntiAliasingThreshold(float threshold) noexcept; + + /** + * Gets the clamping threshold used to suppress estimation errors when applying specular + * anti-aliasing. + */ + float getSpecularAntiAliasingThreshold() const noexcept; + + /** + * Enables or disables double-sided lighting if the parent Material has double-sided capability, + * otherwise prints a warning. If double-sided lighting is enabled, backface culling is + * automatically disabled. + */ + void setDoubleSided(bool doubleSided) noexcept; + + /** + * Returns whether double-sided lighting is enabled when the parent Material has double-sided + * capability. + */ + bool isDoubleSided() const noexcept; + + /** + * Specifies how transparent objects should be rendered (default is DEFAULT). + */ + void setTransparencyMode(TransparencyMode mode) noexcept; + + /** + * Returns the transparency mode. + */ + TransparencyMode getTransparencyMode() const noexcept; + + /** + * Overrides the default triangle culling state that was set on the material. + */ + void setCullingMode(CullingMode culling) noexcept; + + /** + * Returns the face culling mode. + */ + CullingMode getCullingMode() const noexcept; + + /** + * Overrides the default color-buffer write state that was set on the material. + */ + void setColorWrite(bool enable) noexcept; + + /** + * Returns whether color write is enabled. + */ + bool isColorWriteEnabled() const noexcept; + + /** + * Overrides the default depth-buffer write state that was set on the material. + */ + void setDepthWrite(bool enable) noexcept; + + /** + * Returns whether depth write is enabled. + */ + bool isDepthWriteEnabled() const noexcept; + + /** + * Overrides the default depth testing state that was set on the material. + */ + void setDepthCulling(bool enable) noexcept; + + /** + * Overrides the default depth function state that was set on the material. + */ + void setDepthFunc(DepthFunc depthFunc) noexcept; + + /** + * Returns the depth function state. + */ + DepthFunc getDepthFunc() const noexcept; + + /** + * Returns whether depth culling is enabled. + */ + bool isDepthCullingEnabled() const noexcept; + + /** + * Overrides the default stencil-buffer write state that was set on the material. + */ + void setStencilWrite(bool enable) noexcept; + + /** + * Returns whether stencil write is enabled. + */ + bool isStencilWriteEnabled() const noexcept; + + /** + * Sets the stencil comparison function (default is StencilCompareFunc::A). + * + * It's possible to set separate stencil comparison functions; one for front-facing polygons, + * and one for back-facing polygons. The face parameter determines the comparison function(s) + * updated by this call. + */ + void setStencilCompareFunction(StencilCompareFunc func, + StencilFace face = StencilFace::FRONT_AND_BACK) noexcept; + + /** + * Sets the stencil fail operation (default is StencilOperation::KEEP). + * + * The stencil fail operation is performed to update values in the stencil buffer when the + * stencil test fails. + * + * It's possible to set separate stencil fail operations; one for front-facing polygons, and one + * for back-facing polygons. The face parameter determines the stencil fail operation(s) updated + * by this call. + */ + void setStencilOpStencilFail(StencilOperation op, + StencilFace face = StencilFace::FRONT_AND_BACK) noexcept; + + /** + * Sets the depth fail operation (default is StencilOperation::KEEP). + * + * The depth fail operation is performed to update values in the stencil buffer when the depth + * test fails. + * + * It's possible to set separate depth fail operations; one for front-facing polygons, and one + * for back-facing polygons. The face parameter determines the depth fail operation(s) updated + * by this call. + */ + void setStencilOpDepthFail(StencilOperation op, + StencilFace face = StencilFace::FRONT_AND_BACK) noexcept; + + /** + * Sets the depth-stencil pass operation (default is StencilOperation::KEEP). + * + * The depth-stencil pass operation is performed to update values in the stencil buffer when + * both the stencil test and depth test pass. + * + * It's possible to set separate depth-stencil pass operations; one for front-facing polygons, + * and one for back-facing polygons. The face parameter determines the depth-stencil pass + * operation(s) updated by this call. + */ + void setStencilOpDepthStencilPass(StencilOperation op, + StencilFace face = StencilFace::FRONT_AND_BACK) noexcept; + + /** + * Sets the stencil reference value (default is 0). + * + * The stencil reference value is the left-hand side for stencil comparison tests. It's also + * used as the replacement stencil value when StencilOperation is REPLACE. + * + * It's possible to set separate stencil reference values; one for front-facing polygons, and + * one for back-facing polygons. The face parameter determines the reference value(s) updated by + * this call. + */ + void setStencilReferenceValue(uint8_t value, + StencilFace face = StencilFace::FRONT_AND_BACK) noexcept; + + /** + * Sets the stencil read mask (default is 0xFF). + * + * The stencil read mask masks the bits of the values participating in the stencil comparison + * test- both the value read from the stencil buffer and the reference value. + * + * It's possible to set separate stencil read masks; one for front-facing polygons, and one for + * back-facing polygons. The face parameter determines the stencil read mask(s) updated by this + * call. + */ + void setStencilReadMask(uint8_t readMask, + StencilFace face = StencilFace::FRONT_AND_BACK) noexcept; + + /** + * Sets the stencil write mask (default is 0xFF). + * + * The stencil write mask masks the bits in the stencil buffer updated by stencil operations. + * + * It's possible to set separate stencil write masks; one for front-facing polygons, and one for + * back-facing polygons. The face parameter determines the stencil write mask(s) updated by this + * call. + */ + void setStencilWriteMask(uint8_t writeMask, + StencilFace face = StencilFace::FRONT_AND_BACK) noexcept; + +protected: + // prevent heap allocation + ~MaterialInstance() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_MATERIALINSTANCE_H diff --git a/web/include/filament/filament/MorphTargetBuffer.h b/web/include/filament/filament/MorphTargetBuffer.h new file mode 100644 index 00000000..e9485464 --- /dev/null +++ b/web/include/filament/filament/MorphTargetBuffer.h @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_MORPHTARGETBUFFER_H +#define TNT_FILAMENT_MORPHTARGETBUFFER_H + +#include + +#include + +#include + + +namespace filament { + +/** + * MorphTargetBuffer is used to hold morphing data (positions and tangents). + * + * Both positions and tangents are required. + * + */ +class UTILS_PUBLIC MorphTargetBuffer : public FilamentAPI { + struct BuilderDetails; + +public: + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Size of the morph targets in vertex counts. + * @param vertexCount Number of vertex counts the morph targets can hold. + * @return A reference to this Builder for chaining calls. + */ + Builder& vertexCount(size_t vertexCount) noexcept; + + /** + * Size of the morph targets in targets. + * @param count Number of targets the morph targets can hold. + * @return A reference to this Builder for chaining calls. + */ + Builder& count(size_t count) noexcept; + + /** + * Creates the MorphTargetBuffer object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this MorphTargetBuffer with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + */ + MorphTargetBuffer* build(Engine& engine); + private: + friend class FMorphTargetBuffer; + }; + + /** + * Updates positions for the given morph target. + * + * This is equivalent to the float4 method, but uses 1.0 for the 4th component. + * + * Both positions and tangents must be provided. + * + * @param engine Reference to the filament::Engine associated with this MorphTargetBuffer. + * @param targetIndex the index of morph target to be updated. + * @param positions pointer to at least "count" positions + * @param count number of float3 vectors in positions + * @param offset offset into the target buffer, expressed as a number of float4 vectors + * @see setTangentsAt + */ + void setPositionsAt(Engine& engine, size_t targetIndex, + math::float3 const* positions, size_t count, size_t offset = 0); + + /** + * Updates positions for the given morph target. + * + * Both positions and tangents must be provided. + * + * @param engine Reference to the filament::Engine associated with this MorphTargetBuffer. + * @param targetIndex the index of morph target to be updated. + * @param positions pointer to at least "count" positions + * @param count number of float4 vectors in positions + * @param offset offset into the target buffer, expressed as a number of float4 vectors + * @see setTangentsAt + */ + void setPositionsAt(Engine& engine, size_t targetIndex, + math::float4 const* positions, size_t count, size_t offset = 0); + + /** + * Updates tangents for the given morph target. + * + * These quaternions must be represented as signed shorts, where real numbers in the [-1,+1] + * range multiplied by 32767. + * + * @param engine Reference to the filament::Engine associated with this MorphTargetBuffer. + * @param targetIndex the index of morph target to be updated. + * @param tangents pointer to at least "count" tangents + * @param count number of short4 quaternions in tangents + * @param offset offset into the target buffer, expressed as a number of short4 vectors + * @see setPositionsAt + */ + void setTangentsAt(Engine& engine, size_t targetIndex, + math::short4 const* tangents, size_t count, size_t offset = 0); + + /** + * Returns the vertex count of this MorphTargetBuffer. + * @return The number of vertices the MorphTargetBuffer holds. + */ + size_t getVertexCount() const noexcept; + + /** + * Returns the target count of this MorphTargetBuffer. + * @return The number of targets the MorphTargetBuffer holds. + */ + size_t getCount() const noexcept; + +protected: + // prevent heap allocation + ~MorphTargetBuffer() = default; +}; + +} // namespace filament + +#endif //TNT_FILAMENT_MORPHTARGETBUFFER_H diff --git a/web/include/filament/filament/Options.h b/web/include/filament/filament/Options.h new file mode 100644 index 00000000..f09fd4da --- /dev/null +++ b/web/include/filament/filament/Options.h @@ -0,0 +1,562 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_OPTIONS_H +#define TNT_FILAMENT_OPTIONS_H + +#include + +#include + +#include + +namespace filament { + +class Texture; + +/** + * Generic quality level. + */ +enum class QualityLevel : uint8_t { + LOW, + MEDIUM, + HIGH, + ULTRA +}; + +enum class BlendMode : uint8_t { + OPAQUE, + TRANSLUCENT +}; + +/** + * Dynamic resolution can be used to either reach a desired target frame rate + * by lowering the resolution of a View, or to increase the quality when the + * rendering is faster than the target frame rate. + * + * This structure can be used to specify the minimum scale factor used when + * lowering the resolution of a View, and the maximum scale factor used when + * increasing the resolution for higher quality rendering. The scale factors + * can be controlled on each X and Y axis independently. By default, all scale + * factors are set to 1.0. + * + * enabled: enable or disables dynamic resolution on a View + * + * homogeneousScaling: by default the system scales the major axis first. Set this to true + * to force homogeneous scaling. + * + * minScale: the minimum scale in X and Y this View should use + * + * maxScale: the maximum scale in X and Y this View should use + * + * quality: upscaling quality. + * LOW: 1 bilinear tap, Medium: 4 bilinear taps, High: 9 bilinear taps (tent) + * + * \note + * Dynamic resolution is only supported on platforms where the time to render + * a frame can be measured accurately. Dynamic resolution is currently only + * supported on Android. + * + * @see Renderer::FrameRateOptions + * + */ +struct DynamicResolutionOptions { + math::float2 minScale = {0.5f, 0.5f}; //!< minimum scale factors in x and y %codegen_java_float% + math::float2 maxScale = {1.0f, 1.0f}; //!< maximum scale factors in x and y %codegen_java_float% + float sharpness = 0.9f; //!< sharpness when QualityLevel::MEDIUM or higher is used [0 (disabled), 1 (sharpest)] + bool enabled = false; //!< enable or disable dynamic resolution + bool homogeneousScaling = false; //!< set to true to force homogeneous scaling + + /** + * Upscaling quality + * LOW: bilinear filtered blit. Fastest, poor quality + * MEDIUM: AMD FidelityFX FSR1 w/ mobile optimizations + * HIGH: AMD FidelityFX FSR1 w/ mobile optimizations + * ULTRA: AMD FidelityFX FSR1 + * FSR1 require a well anti-aliased (MSAA or TAA), noise free scene. + * + * The default upscaling quality is set to LOW. + */ + QualityLevel quality = QualityLevel::LOW; +}; + +/** + * Options to control the bloom effect + * + * enabled: Enable or disable the bloom post-processing effect. Disabled by default. + * + * levels: Number of successive blurs to achieve the blur effect, the minimum is 3 and the + * maximum is 12. This value together with resolution influences the spread of the + * blur effect. This value can be silently reduced to accommodate the original + * image size. + * + * resolution: Resolution of bloom's minor axis. The minimum value is 2^levels and the + * the maximum is lower of the original resolution and 4096. This parameter is + * silently clamped to the minimum and maximum. + * It is highly recommended that this value be smaller than the target resolution + * after dynamic resolution is applied (horizontally and vertically). + * + * strength: how much of the bloom is added to the original image. Between 0 and 1. + * + * blendMode: Whether the bloom effect is purely additive (false) or mixed with the original + * image (true). + * + * threshold: When enabled, a threshold at 1.0 is applied on the source image, this is + * useful for artistic reasons and is usually needed when a dirt texture is used. + * + * dirt: A dirt/scratch/smudges texture (that can be RGB), which gets added to the + * bloom effect. Smudges are visible where bloom occurs. Threshold must be + * enabled for the dirt effect to work properly. + * + * dirtStrength: Strength of the dirt texture. + */ +struct BloomOptions { + enum class BlendMode : uint8_t { + ADD, //!< Bloom is modulated by the strength parameter and added to the scene + INTERPOLATE //!< Bloom is interpolated with the scene using the strength parameter + }; + Texture* dirt = nullptr; //!< user provided dirt texture %codegen_skip_json% %codegen_skip_javascript% + float dirtStrength = 0.2f; //!< strength of the dirt texture %codegen_skip_json% %codegen_skip_javascript% + float strength = 0.10f; //!< bloom's strength between 0.0 and 1.0 + uint32_t resolution = 384; //!< resolution of vertical axis (2^levels to 2048) + uint8_t levels = 6; //!< number of blur levels (1 to 11) + BlendMode blendMode = BlendMode::ADD; //!< how the bloom effect is applied + bool threshold = true; //!< whether to threshold the source + bool enabled = false; //!< enable or disable bloom + float highlight = 1000.0f; //!< limit highlights to this value before bloom [10, +inf] + + /** + * Bloom quality level. + * LOW (default): use a more optimized down-sampling filter, however there can be artifacts + * with dynamic resolution, this can be alleviated by using the homogenous mode. + * MEDIUM: Good balance between quality and performance. + * HIGH: In this mode the bloom resolution is automatically increased to avoid artifacts. + * This mode can be significantly slower on mobile, especially at high resolution. + * This mode greatly improves the anamorphic bloom. + */ + QualityLevel quality = QualityLevel::LOW; + + bool lensFlare = false; //!< enable screen-space lens flare + bool starburst = true; //!< enable starburst effect on lens flare + float chromaticAberration = 0.005f; //!< amount of chromatic aberration + uint8_t ghostCount = 4; //!< number of flare "ghosts" + float ghostSpacing = 0.6f; //!< spacing of the ghost in screen units [0, 1[ + float ghostThreshold = 10.0f; //!< hdr threshold for the ghosts + float haloThickness = 0.1f; //!< thickness of halo in vertical screen units, 0 to disable + float haloRadius = 0.4f; //!< radius of halo in vertical screen units [0, 0.5] + float haloThreshold = 10.0f; //!< hdr threshold for the halo +}; + +/** + * Options to control large-scale fog in the scene + */ +struct FogOptions { + /** + * Distance in world units [m] from the camera to where the fog starts ( >= 0.0 ) + */ + float distance = 0.0f; + + /** + * Distance in world units [m] after which the fog calculation is disabled. + * This can be used to exclude the skybox, which is desirable if it already contains clouds or + * fog. The default value is +infinity which applies the fog to everything. + * + * Note: The SkyBox is typically at a distance of 1e19 in world space (depending on the near + * plane distance and projection used though). + */ + float cutOffDistance = INFINITY; + + /** + * fog's maximum opacity between 0 and 1 + */ + float maximumOpacity = 1.0f; + + /** + * Fog's floor in world units [m]. This sets the "sea level". + */ + float height = 0.0f; + + /** + * How fast the fog dissipates with altitude. heightFalloff has a unit of [1/m]. + * It can be expressed as 1/H, where H is the altitude change in world units [m] that causes a + * factor 2.78 (e) change in fog density. + * + * A falloff of 0 means the fog density is constant everywhere and may result is slightly + * faster computations. + */ + float heightFalloff = 1.0f; + + /** + * Fog's color is used for ambient light in-scattering, a good value is + * to use the average of the ambient light, possibly tinted towards blue + * for outdoors environments. Color component's values should be between 0 and 1, values + * above one are allowed but could create a non energy-conservative fog (this is dependant + * on the IBL's intensity as well). + * + * We assume that our fog has no absorption and therefore all the light it scatters out + * becomes ambient light in-scattering and has lost all directionality, i.e.: scattering is + * isotropic. This somewhat simulates Rayleigh scattering. + * + * This value is used as a tint instead, when fogColorFromIbl is enabled. + * + * @see fogColorFromIbl + */ + LinearColor color = { 1.0f, 1.0f, 1.0f }; + + /** + * Extinction factor in [1/m] at altitude 'height'. The extinction factor controls how much + * light is absorbed and out-scattered per unit of distance. Each unit of extinction reduces + * the incoming light to 37% of its original value. + * + * Note: The extinction factor is related to the fog density, it's usually some constant K times + * the density at sea level (more specifically at fog height). The constant K depends on + * the composition of the fog/atmosphere. + * + * For historical reason this parameter is called `density`. + */ + float density = 0.1f; + + /** + * Distance in world units [m] from the camera where the Sun in-scattering starts. + */ + float inScatteringStart = 0.0f; + + /** + * Very inaccurately simulates the Sun's in-scattering. That is, the light from the sun that + * is scattered (by the fog) towards the camera. + * Size of the Sun in-scattering (>0 to activate). Good values are >> 1 (e.g. ~10 - 100). + * Smaller values result is a larger scattering size. + */ + float inScatteringSize = -1.0f; + + /** + * The fog color will be sampled from the IBL in the view direction and tinted by `color`. + * Depending on the scene this can produce very convincing results. + * + * This simulates a more anisotropic phase-function. + * + * `fogColorFromIbl` is ignored when skyTexture is specified. + * + * @see skyColor + */ + bool fogColorFromIbl = false; + + /** + * skyTexture must be a mipmapped cubemap. When provided, the fog color will be sampled from + * this texture, higher resolution mip levels will be used for objects at the far clip plane, + * and lower resolution mip levels for objects closer to the camera. The skyTexture should + * typically be heavily blurred; a typical way to produce this texture is to blur the base + * level with a strong gaussian filter or even an irradiance filter and then generate mip + * levels as usual. How blurred the base level is somewhat of an artistic decision. + * + * This simulates a more anisotropic phase-function. + * + * `fogColorFromIbl` is ignored when skyTexture is specified. + * + * @see Texture + * @see fogColorFromIbl + */ + Texture* skyColor = nullptr; //!< %codegen_skip_json% %codegen_skip_javascript% + + /** + * Enable or disable large-scale fog + */ + bool enabled = false; +}; + +/** + * Options to control Depth of Field (DoF) effect in the scene. + * + * cocScale can be used to set the depth of field blur independently from the camera + * aperture, e.g. for artistic reasons. This can be achieved by setting: + * cocScale = cameraAperture / desiredDoFAperture + * + * @see Camera + */ +struct DepthOfFieldOptions { + enum class Filter : uint8_t { + NONE, + UNUSED, + MEDIAN + }; + float cocScale = 1.0f; //!< circle of confusion scale factor (amount of blur) + float maxApertureDiameter = 0.01f; //!< maximum aperture diameter in meters (zero to disable rotation) + bool enabled = false; //!< enable or disable depth of field effect + Filter filter = Filter::MEDIAN; //!< filter to use for filling gaps in the kernel + bool nativeResolution = false; //!< perform DoF processing at native resolution + /** + * Number of of rings used by the gather kernels. The number of rings affects quality + * and performance. The actual number of sample per pixel is defined + * as (ringCount * 2 - 1)^2. Here are a few commonly used values: + * 3 rings : 25 ( 5x 5 grid) + * 4 rings : 49 ( 7x 7 grid) + * 5 rings : 81 ( 9x 9 grid) + * 17 rings : 1089 (33x33 grid) + * + * With a maximum circle-of-confusion of 32, it is never necessary to use more than 17 rings. + * + * Usually all three settings below are set to the same value, however, it is often + * acceptable to use a lower ring count for the "fast tiles", which improves performance. + * Fast tiles are regions of the screen where every pixels have a similar + * circle-of-confusion radius. + * + * A value of 0 means default, which is 5 on desktop and 3 on mobile. + * + * @{ + */ + uint8_t foregroundRingCount = 0; //!< number of kernel rings for foreground tiles + uint8_t backgroundRingCount = 0; //!< number of kernel rings for background tiles + uint8_t fastGatherRingCount = 0; //!< number of kernel rings for fast tiles + /** @}*/ + + /** + * maximum circle-of-confusion in pixels for the foreground, must be in [0, 32] range. + * A value of 0 means default, which is 32 on desktop and 24 on mobile. + */ + uint16_t maxForegroundCOC = 0; + + /** + * maximum circle-of-confusion in pixels for the background, must be in [0, 32] range. + * A value of 0 means default, which is 32 on desktop and 24 on mobile. + */ + uint16_t maxBackgroundCOC = 0; +}; + +/** + * Options to control the vignetting effect. + */ +struct VignetteOptions { + float midPoint = 0.5f; //!< high values restrict the vignette closer to the corners, between 0 and 1 + float roundness = 0.5f; //!< controls the shape of the vignette, from a rounded rectangle (0.0), to an oval (0.5), to a circle (1.0) + float feather = 0.5f; //!< softening amount of the vignette effect, between 0 and 1 + LinearColorA color = {0.0f, 0.0f, 0.0f, 1.0f}; //!< color of the vignette effect, alpha is currently ignored + bool enabled = false; //!< enables or disables the vignette effect +}; + +/** + * Structure used to set the precision of the color buffer and related quality settings. + * + * @see setRenderQuality, getRenderQuality + */ +struct RenderQuality { + /** + * Sets the quality of the HDR color buffer. + * + * A quality of HIGH or ULTRA means using an RGB16F or RGBA16F color buffer. This means + * colors in the LDR range (0..1) have a 10 bit precision. A quality of LOW or MEDIUM means + * using an R11G11B10F opaque color buffer or an RGBA16F transparent color buffer. With + * R11G11B10F colors in the LDR range have a precision of either 6 bits (red and green + * channels) or 5 bits (blue channel). + */ + QualityLevel hdrColorBuffer = QualityLevel::HIGH; +}; + +/** + * Options for screen space Ambient Occlusion (SSAO) and Screen Space Cone Tracing (SSCT) + * @see setAmbientOcclusionOptions() + */ +struct AmbientOcclusionOptions { + float radius = 0.3f; //!< Ambient Occlusion radius in meters, between 0 and ~10. + float power = 1.0f; //!< Controls ambient occlusion's contrast. Must be positive. + float bias = 0.0005f; //!< Self-occlusion bias in meters. Use to avoid self-occlusion. Between 0 and a few mm. + float resolution = 0.5f;//!< How each dimension of the AO buffer is scaled. Must be either 0.5 or 1.0. + float intensity = 1.0f; //!< Strength of the Ambient Occlusion effect. + float bilateralThreshold = 0.05f; //!< depth distance that constitute an edge for filtering + QualityLevel quality = QualityLevel::LOW; //!< affects # of samples used for AO. + QualityLevel lowPassFilter = QualityLevel::MEDIUM; //!< affects AO smoothness + QualityLevel upsampling = QualityLevel::LOW; //!< affects AO buffer upsampling quality + bool enabled = false; //!< enables or disables screen-space ambient occlusion + bool bentNormals = false; //!< enables bent normals computation from AO, and specular AO + float minHorizonAngleRad = 0.0f; //!< min angle in radian to consider + /** + * Screen Space Cone Tracing (SSCT) options + * Ambient shadows from dominant light + */ + struct Ssct { + float lightConeRad = 1.0f; //!< full cone angle in radian, between 0 and pi/2 + float shadowDistance = 0.3f; //!< how far shadows can be cast + float contactDistanceMax = 1.0f; //!< max distance for contact + float intensity = 0.8f; //!< intensity + math::float3 lightDirection = { 0, -1, 0 }; //!< light direction + float depthBias = 0.01f; //!< depth bias in world units (mitigate self shadowing) + float depthSlopeBias = 0.01f; //!< depth slope bias (mitigate self shadowing) + uint8_t sampleCount = 4; //!< tracing sample count, between 1 and 255 + uint8_t rayCount = 1; //!< # of rays to trace, between 1 and 255 + bool enabled = false; //!< enables or disables SSCT + }; + Ssct ssct; // %codegen_skip_javascript% %codegen_java_flatten% +}; + +/** + * Options for Temporal Multi-Sample Anti-aliasing (MSAA) + * @see setMultiSampleAntiAliasingOptions() + */ +struct MultiSampleAntiAliasingOptions { + bool enabled = false; //!< enables or disables msaa + + /** + * sampleCount number of samples to use for multi-sampled anti-aliasing.\n + * 0: treated as 1 + * 1: no anti-aliasing + * n: sample count. Effective sample could be different depending on the + * GPU capabilities. + */ + uint8_t sampleCount = 4; + + /** + * custom resolve improves quality for HDR scenes, but may impact performance. + */ + bool customResolve = false; +}; + +/** + * Options for Temporal Anti-aliasing (TAA) + * @see setTemporalAntiAliasingOptions() + */ +struct TemporalAntiAliasingOptions { + float filterWidth = 1.0f; //!< reconstruction filter width typically between 0 (sharper, aliased) and 1 (smoother) + float feedback = 0.04f; //!< history feedback, between 0 (maximum temporal AA) and 1 (no temporal AA). + bool enabled = false; //!< enables or disables temporal anti-aliasing +}; + +/** + * Options for Screen-space Reflections. + * @see setScreenSpaceReflectionsOptions() + */ +struct ScreenSpaceReflectionsOptions { + float thickness = 0.1f; //!< ray thickness, in world units + float bias = 0.01f; //!< bias, in world units, to prevent self-intersections + float maxDistance = 3.0f; //!< maximum distance, in world units, to raycast + float stride = 2.0f; //!< stride, in texels, for samples along the ray. + bool enabled = false; +}; + +/** + * Options for the screen-space guard band. + * A guard band can be enabled to avoid some artifacts towards the edge of the screen when + * using screen-space effects such as SSAO. Enabling the guard band reduces performance slightly. + * Currently the guard band can only be enabled or disabled. + */ +struct GuardBandOptions { + bool enabled = false; +}; + +/** + * List of available post-processing anti-aliasing techniques. + * @see setAntiAliasing, getAntiAliasing, setSampleCount + */ +enum class AntiAliasing : uint8_t { + NONE, //!< no anti aliasing performed as part of post-processing + FXAA //!< FXAA is a low-quality but very efficient type of anti-aliasing. (default). +}; + +/** + * List of available post-processing dithering techniques. + */ +enum class Dithering : uint8_t { + NONE, //!< No dithering + TEMPORAL //!< Temporal dithering (default) +}; + +/** + * List of available shadow mapping techniques. + * @see setShadowType + */ +enum class ShadowType : uint8_t { + PCF, //!< percentage-closer filtered shadows (default) + VSM, //!< variance shadows + DPCF, //!< PCF with contact hardening simulation + PCSS, //!< PCF with soft shadows and contact hardening + PCFd, // for debugging only, don't use. +}; + +/** + * View-level options for VSM Shadowing. + * @see setVsmShadowOptions() + * @warning This API is still experimental and subject to change. + */ +struct VsmShadowOptions { + /** + * Sets the number of anisotropic samples to use when sampling a VSM shadow map. If greater + * than 0, mipmaps will automatically be generated each frame for all lights. + * + * The number of anisotropic samples = 2 ^ vsmAnisotropy. + */ + uint8_t anisotropy = 0; + + /** + * Whether to generate mipmaps for all VSM shadow maps. + */ + bool mipmapping = false; + + /** + * The number of MSAA samples to use when rendering VSM shadow maps. + * Must be a power-of-two and greater than or equal to 1. A value of 1 effectively turns + * off MSAA. + * Higher values may not be available depending on the underlying hardware. + */ + uint8_t msaaSamples = 1; + + /** + * Whether to use a 32-bits or 16-bits texture format for VSM shadow maps. 32-bits + * precision is rarely needed, but it does reduces light leaks as well as "fading" + * of the shadows in some situations. Setting highPrecision to true for a single + * shadow map will double the memory usage of all shadow maps. + */ + bool highPrecision = false; + + /** + * VSM minimum variance scale, must be positive. + */ + float minVarianceScale = 0.5f; + + /** + * VSM light bleeding reduction amount, between 0 and 1. + */ + float lightBleedReduction = 0.15f; +}; + +/** + * View-level options for DPCF and PCSS Shadowing. + * @see setSoftShadowOptions() + * @warning This API is still experimental and subject to change. + */ +struct SoftShadowOptions { + /** + * Globally scales the penumbra of all DPCF and PCSS shadows + * Acceptable values are greater than 0 + */ + float penumbraScale = 1.0f; + + /** + * Globally scales the computed penumbra ratio of all DPCF and PCSS shadows. + * This effectively controls the strength of contact hardening effect and is useful for + * artistic purposes. Higher values make the shadows become softer faster. + * Acceptable values are equal to or greater than 1. + */ + float penumbraRatioScale = 1.0f; +}; + +/** + * Options for stereoscopic (multi-eye) rendering. + */ +struct StereoscopicOptions { + bool enabled = false; +}; + +} // namespace filament + +#endif //TNT_FILAMENT_OPTIONS_H diff --git a/web/include/filament/filament/RenderTarget.h b/web/include/filament/filament/RenderTarget.h new file mode 100644 index 00000000..faeee80c --- /dev/null +++ b/web/include/filament/filament/RenderTarget.h @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_RENDERTARGET_H +#define TNT_FILAMENT_RENDERTARGET_H + +#include + +#include +#include + +#include + +namespace filament { + +class FRenderTarget; + +class Engine; +class Texture; + +/** + * An offscreen render target that can be associated with a View and contains + * weak references to a set of attached Texture objects. + * + * RenderTarget is intended to be used with the View's post-processing disabled for the most part. + * especially when a DEPTH attachment is also used (see Builder::texture()). + * + * Custom RenderTarget are ultimately intended to render into textures that might be used during + * the main render pass. + * + * Clients are responsible for the lifetime of all associated Texture attachments. + * + * @see View + */ +class UTILS_PUBLIC RenderTarget : public FilamentAPI { + struct BuilderDetails; + +public: + using CubemapFace = backend::TextureCubemapFace; + + /** Minimum number of color attachment supported */ + static constexpr uint8_t MIN_SUPPORTED_COLOR_ATTACHMENTS_COUNT = + backend::MRT::MIN_SUPPORTED_RENDER_TARGET_COUNT; + + /** Maximum number of color attachment supported */ + static constexpr uint8_t MAX_SUPPORTED_COLOR_ATTACHMENTS_COUNT = + backend::MRT::MAX_SUPPORTED_RENDER_TARGET_COUNT; + + /** + * Attachment identifiers + */ + enum class AttachmentPoint : uint8_t { + COLOR0 = 0, //!< identifies the 1st color attachment + COLOR1 = 1, //!< identifies the 2nd color attachment + COLOR2 = 2, //!< identifies the 3rd color attachment + COLOR3 = 3, //!< identifies the 4th color attachment + COLOR4 = 4, //!< identifies the 5th color attachment + COLOR5 = 5, //!< identifies the 6th color attachment + COLOR6 = 6, //!< identifies the 7th color attachment + COLOR7 = 7, //!< identifies the 8th color attachment + DEPTH = MAX_SUPPORTED_COLOR_ATTACHMENTS_COUNT, //!< identifies the depth attachment + COLOR = COLOR0, //!< identifies the 1st color attachment + }; + + //! Use Builder to construct a RenderTarget object instance + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Sets a texture to a given attachment point. + * + * When using a DEPTH attachment, it is important to always disable post-processing + * in the View. Failing to do so will cause the DEPTH attachment to be ignored in most + * cases. + * + * When the intention is to keep the content of the DEPTH attachment after rendering, + * Usage::SAMPLEABLE must be set on the DEPTH attachment, otherwise the content of the + * DEPTH buffer may be discarded. + * + * @param attachment The attachment point of the texture. + * @param texture The associated texture object. + * @return A reference to this Builder for chaining calls. + */ + Builder& texture(AttachmentPoint attachment, Texture* texture) noexcept; + + /** + * Sets the mipmap level for a given attachment point. + * + * @param attachment The attachment point of the texture. + * @param level The associated mipmap level, 0 by default. + * @return A reference to this Builder for chaining calls. + */ + Builder& mipLevel(AttachmentPoint attachment, uint8_t level) noexcept; + + /** + * Sets the cubemap face for a given attachment point. + * + * @param attachment The attachment point. + * @param face The associated cubemap face. + * @return A reference to this Builder for chaining calls. + */ + Builder& face(AttachmentPoint attachment, CubemapFace face) noexcept; + + /** + * Sets the layer for a given attachment point (for 3D textures). + * + * @param attachment The attachment point. + * @param layer The associated cubemap layer. + * @return A reference to this Builder for chaining calls. + */ + Builder& layer(AttachmentPoint attachment, uint32_t layer) noexcept; + + /** + * Creates the RenderTarget object and returns a pointer to it. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + */ + RenderTarget* build(Engine& engine); + + private: + friend class FRenderTarget; + }; + + /** + * Gets the texture set on the given attachment point + * @param attachment Attachment point + * @return A Texture object or nullptr if no texture is set for this attachment point + */ + Texture* getTexture(AttachmentPoint attachment) const noexcept; + + /** + * Returns the mipmap level set on the given attachment point + * @param attachment Attachment point + * @return the mipmap level set on the given attachment point + */ + uint8_t getMipLevel(AttachmentPoint attachment) const noexcept; + + /** + * Returns the face of a cubemap set on the given attachment point + * @param attachment Attachment point + * @return A cubemap face identifier. This is only relevant if the attachment's texture is + * a cubemap. + */ + CubemapFace getFace(AttachmentPoint attachment) const noexcept; + + /** + * Returns the texture-layer set on the given attachment point + * @param attachment Attachment point + * @return A texture layer. This is only relevant if the attachment's texture is a 3D texture. + */ + uint32_t getLayer(AttachmentPoint attachment) const noexcept; + + /** + * Returns the number of color attachments usable by this instance of Engine. This method is + * guaranteed to return at least MIN_SUPPORTED_COLOR_ATTACHMENTS_COUNT and at most + * MAX_SUPPORTED_COLOR_ATTACHMENTS_COUNT. + * @return Number of color attachments usable in a render target. + */ + uint8_t getSupportedColorAttachmentsCount() const noexcept; + +protected: + // prevent heap allocation + ~RenderTarget() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_RENDERTARGET_H diff --git a/web/include/filament/filament/RenderableManager.h b/web/include/filament/filament/RenderableManager.h new file mode 100644 index 00000000..8383a947 --- /dev/null +++ b/web/include/filament/filament/RenderableManager.h @@ -0,0 +1,890 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_RENDERABLEMANAGER_H +#define TNT_FILAMENT_RENDERABLEMANAGER_H + +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include + +#include + +namespace utils { + class Entity; +} // namespace utils + +namespace filament { + +class BufferObject; +class Engine; +class IndexBuffer; +class MaterialInstance; +class Renderer; +class SkinningBuffer; +class VertexBuffer; +class Texture; +class InstanceBuffer; + +class FEngine; +class FRenderPrimitive; +class FRenderableManager; + +/** + * Factory and manager for \em renderables, which are entities that can be drawn. + * + * Renderables are bundles of \em primitives, each of which has its own geometry and material. All + * primitives in a particular renderable share a set of rendering attributes, such as whether they + * cast shadows or use vertex skinning. + * + * Usage example: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * auto renderable = utils::EntityManager::get().create(); + * + * RenderableManager::Builder(1) + * .boundingBox({{ -1, -1, -1 }, { 1, 1, 1 }}) + * .material(0, matInstance) + * .geometry(0, RenderableManager::PrimitiveType::TRIANGLES, vertBuffer, indBuffer, 0, 3) + * .receiveShadows(false) + * .build(engine, renderable); + * + * scene->addEntity(renderable); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * To modify the state of an existing renderable, clients should first use RenderableManager + * to get a temporary handle called an \em instance. The instance can then be used to get or set + * the renderable's state. Please note that instances are ephemeral; clients should store entities, + * not instances. + * + * - For details about constructing renderables, see RenderableManager::Builder. + * - To associate a 4x4 transform with an entity, see TransformManager. + * - To associate a human-readable label with an entity, see utils::NameComponentManager. + */ +class UTILS_PUBLIC RenderableManager : public FilamentAPI { + struct BuilderDetails; + +public: + using Instance = utils::EntityInstance; + using PrimitiveType = backend::PrimitiveType; + + /** + * Checks if the given entity already has a renderable component. + */ + bool hasComponent(utils::Entity e) const noexcept; + + /** + * Gets a temporary handle that can be used to access the renderable state. + * + * @return Non-zero handle if the entity has a renderable component, 0 otherwise. + */ + Instance getInstance(utils::Entity e) const noexcept; + + /** + * @return the number of Components + */ + size_t getComponentCount() const noexcept; + + /** + * @return true if the this manager has no components + */ + bool empty() const noexcept; + + /** + * Retrieve the `Entity` of the component from its `Instance`. + * @param i Instance of the component obtained from getInstance() + * @return + */ + utils::Entity getEntity(Instance i) const noexcept; + + /** + * Retrieve the Entities of all the components of this manager. + * @return A list, in no particular order, of all the entities managed by this manager. + */ + utils::Entity const* getEntities() const noexcept; + + /** + * The transformation associated with a skinning joint. + * + * Clients can specify bones either using this quat-vec3 pair, or by using 4x4 matrices. + */ + struct Bone { + math::quatf unitQuaternion = { 1.f, 0.f, 0.f, 0.f }; + math::float3 translation = { 0.f, 0.f, 0.f }; + float reserved = 0; + }; + + /** + * Adds renderable components to entities using a builder pattern. + */ + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + enum Result { Error = -1, Success = 0 }; + + /** + * Default render channel + * @see Builder::channel() + */ + static constexpr uint8_t DEFAULT_CHANNEL = 2u; + + /** + * Creates a builder for renderable components. + * + * @param count the number of primitives that will be supplied to the builder + * + * Note that builders typically do not have a long lifetime since clients should discard + * them after calling build(). For a usage example, see RenderableManager. + */ + explicit Builder(size_t count) noexcept; + + /*! \cond PRIVATE */ + Builder(Builder const& rhs) = delete; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder& rhs) = delete; + Builder& operator=(Builder&& rhs) noexcept; + /*! \endcond */ + + /** + * Specifies the geometry data for a primitive. + * + * Filament primitives must have an associated VertexBuffer and IndexBuffer. Typically, each + * primitive is specified with a pair of daisy-chained calls: \c geometry(...) and \c + * material(...). + * + * @param index zero-based index of the primitive, must be less than the count passed to Builder constructor + * @param type specifies the topology of the primitive (e.g., \c RenderableManager::PrimitiveType::TRIANGLES) + * @param vertices specifies the vertex buffer, which in turn specifies a set of attributes + * @param indices specifies the index buffer (either u16 or u32) + * @param offset specifies where in the index buffer to start reading (expressed as a number of indices) + * @param minIndex specifies the minimum index contained in the index buffer + * @param maxIndex specifies the maximum index contained in the index buffer + * @param count number of indices to read (for triangles, this should be a multiple of 3) + */ + Builder& geometry(size_t index, PrimitiveType type, VertexBuffer* vertices, IndexBuffer* indices, size_t offset, size_t minIndex, size_t maxIndex, size_t count) noexcept; + Builder& geometry(size_t index, PrimitiveType type, VertexBuffer* vertices, IndexBuffer* indices, size_t offset, size_t count) noexcept; //!< \overload + Builder& geometry(size_t index, PrimitiveType type, VertexBuffer* vertices, IndexBuffer* indices) noexcept; //!< \overload + + /** + * Binds a material instance to the specified primitive. + * + * If no material is specified for a given primitive, Filament will fall back to a basic + * default material. + * + * The MaterialInstance's material must have a feature level equal or lower to the engine's + * selected feature level. + * + * @param index zero-based index of the primitive, must be less than the count passed to + * Builder constructor + * @param materialInstance the material to bind + * + * @see Engine::setActiveFeatureLevel + */ + Builder& material(size_t index, MaterialInstance const* materialInstance) noexcept; + + /** + * The axis-aligned bounding box of the renderable. + * + * This is an object-space AABB used for frustum culling. For skinning and morphing, this + * should encompass all possible vertex positions. It is mandatory unless culling is + * disabled for the renderable. + * + * \see computeAABB() + */ + Builder& boundingBox(const Box& axisAlignedBoundingBox) noexcept; + + /** + * Sets bits in a visibility mask. By default, this is 0x1. + * + * This feature provides a simple mechanism for hiding and showing groups of renderables + * in a Scene. See View::setVisibleLayers(). + * + * For example, to set bit 1 and reset bits 0 and 2 while leaving all other bits unaffected, + * do: `builder.layerMask(7, 2)`. + * + * To change this at run time, see RenderableManager::setLayerMask. + * + * @param select the set of bits to affect + * @param values the replacement values for the affected bits + */ + Builder& layerMask(uint8_t select, uint8_t values) noexcept; + + /** + * Provides coarse-grained control over draw order. + * + * In general Filament reserves the right to re-order renderables to allow for efficient + * rendering. However clients can control ordering at a coarse level using \em priority. + * The priority is applied separately for opaque and translucent objects, that is, opaque + * objects are always drawn before translucent objects regardless of the priority. + * + * For example, this could be used to draw a semitransparent HUD on top of everything, + * without using a separate View. Note that priority is completely orthogonal to + * Builder::layerMask, which merely controls visibility. + * + * The Skybox always using the lowest priority, so it's drawn last, which may improve + * performance. + * + * @param priority clamped to the range [0..7], defaults to 4; 7 is lowest priority + * (rendered last). + * + * @return Builder reference for chaining calls. + * + * @see Builder::blendOrder() + * @see Builder::channel() + * @see RenderableManager::setPriority() + * @see RenderableManager::setBlendOrderAt() + */ + Builder& priority(uint8_t priority) noexcept; + + /** + * Set the channel this renderable is associated to. There can be 4 channels. + * All renderables in a given channel are rendered together, regardless of anything else. + * They are sorted as usual within a channel. + * Channels work similarly to priorities, except that they enforce the strongest ordering. + * + * Channels 0 and 1 may not have render primitives using a material with `refractionType` + * set to `screenspace`. + * + * @param channel clamped to the range [0..3], defaults to 2. + * + * @return Builder reference for chaining calls. + * + * @see Builder::blendOrder() + * @see Builder::priority() + * @see RenderableManager::setBlendOrderAt() + */ + Builder& channel(uint8_t channel) noexcept; + + /** + * Controls frustum culling, true by default. + * + * \note Do not confuse frustum culling with backface culling. The latter is controlled via + * the material. + */ + Builder& culling(bool enable) noexcept; + + /** + * Enables or disables a light channel. Light channel 0 is enabled by default. + * + * @param channel Light channel to enable or disable, between 0 and 7. + * @param enable Whether to enable or disable the light channel. + */ + Builder& lightChannel(unsigned int channel, bool enable = true) noexcept; + + /** + * Controls if this renderable casts shadows, false by default. + * + * If the View's shadow type is set to ShadowType::VSM, castShadows should only be disabled + * if either is true: + * - receiveShadows is also disabled + * - the object is guaranteed to not cast shadows on itself or other objects (for example, + * a ground plane) + */ + Builder& castShadows(bool enable) noexcept; + + /** + * Controls if this renderable receives shadows, true by default. + */ + Builder& receiveShadows(bool enable) noexcept; + + /** + * Controls if this renderable uses screen-space contact shadows. This is more + * expensive but can improve the quality of shadows, especially in large scenes. + * (off by default). + */ + Builder& screenSpaceContactShadows(bool enable) noexcept; + + /** + * Allows bones to be swapped out and shared using SkinningBuffer. + * + * If skinning buffer mode is enabled, clients must call setSkinningBuffer() rather than + * setBones(). This allows sharing of data between renderables. + * + * @param enabled If true, enables buffer object mode. False by default. + */ + Builder& enableSkinningBuffers(bool enabled = true) noexcept; + + /** + * Controls if this renderable is affected by the large-scale fog. + * @param enabled If true, enables large-scale fog on this object. Disables it otherwise. + * True by default. + * @return A reference to this Builder for chaining calls. + */ + Builder& fog(bool enabled = true) noexcept; + + /** + * Enables GPU vertex skinning for up to 255 bones, 0 by default. + * + * Skinning Buffer mode must be enabled. + * + * Each vertex can be affected by up to 4 bones simultaneously. The attached + * VertexBuffer must provide data in the \c BONE_INDICES slot (uvec4) and the + * \c BONE_WEIGHTS slot (float4). + * + * See also RenderableManager::setSkinningBuffer() or SkinningBuffer::setBones(), + * which can be called on a per-frame basis to advance the animation. + * + * @param skinningBuffer nullptr to disable, otherwise the SkinningBuffer to use + * @param count 0 to disable, otherwise the number of bone transforms (up to 255) + * @param offset offset in the SkinningBuffer + */ + Builder& skinning(SkinningBuffer* skinningBuffer, size_t count, size_t offset) noexcept; + + + /** + * Enables GPU vertex skinning for up to 255 bones, 0 by default. + * + * Skinning Buffer mode must be disabled. + * + * Each vertex can be affected by up to 4 bones simultaneously. The attached + * VertexBuffer must provide data in the \c BONE_INDICES slot (uvec4) and the + * \c BONE_WEIGHTS slot (float4). + * + * See also RenderableManager::setBones(), which can be called on a per-frame basis + * to advance the animation. + * + * @param boneCount 0 to disable, otherwise the number of bone transforms (up to 255) + * @param transforms the initial set of transforms (one for each bone) + */ + Builder& skinning(size_t boneCount, math::mat4f const* transforms) noexcept; + Builder& skinning(size_t boneCount, Bone const* bones) noexcept; //!< \overload + Builder& skinning(size_t boneCount) noexcept; //!< \overload + + /** + * Define bone indices and weights "pairs" for vertex skinning as a float2. + * The unsigned int(pair.x) defines index of the bone and pair.y is the bone weight. + * The pairs substitute \c BONE_INDICES and the \c BONE_WEIGHTS defined in the VertexBuffer. + * Both ways of indices and weights definition must not be combined in one primitive. + * Number of pairs per vertex bonesPerVertex is not limited to 4 bones. + * Vertex buffer used for \c primitiveIndex must be set for advance skinning. + * All bone weights of one vertex should sum to one. Otherwise they will be normalized. + * Data must be rectangular and number of bone pairs must be same for all vertices of this + * primitive. + * The data is arranged sequentially, all bone pairs for the first vertex, then for the + * second vertex, and so on. + * + * @param primitiveIndex zero-based index of the primitive, must be less than the primitive + * count passed to Builder constructor + * @param indicesAndWeights pairs of bone index and bone weight for all vertices + * sequentially + * @param count number of all pairs, must be a multiple of vertexCount of the primitive + * count = vertexCount * bonesPerVertex + * @param bonesPerVertex number of bone pairs, same for all vertices of the primitive + * + * @return Builder reference for chaining calls. + * + * @see VertexBuffer:Builder:advancedSkinning + */ + Builder& boneIndicesAndWeights(size_t primitiveIndex, + math::float2 const* indicesAndWeights, size_t count, size_t bonesPerVertex) noexcept; + + /** + * Define bone indices and weights "pairs" for vertex skinning as a float2. + * The unsigned int(pair.x) defines index of the bone and pair.y is the bone weight. + * The pairs substitute \c BONE_INDICES and the \c BONE_WEIGHTS defined in the VertexBuffer. + * Both ways of indices and weights definition must not be combined in one primitive. + * Number of pairs is not limited to 4 bones per vertex. + * Vertex buffer used for \c primitiveIndex must be set for advance skinning. + * All bone weights of one vertex should sum to one. Otherwise they will be normalized. + * Data doesn't have to be rectangular and number of pairs per vertices of primitive can be + * variable. + * The vector of the vertices contains the vectors of the pairs + * + * @param primitiveIndex zero-based index of the primitive, must be less than the primitive + * count passed to Builder constructor + * @param indicesAndWeightsVectors pairs of bone index and bone weight for all vertices of + * the primitive sequentially + * + * @return Builder reference for chaining calls. + * + * @see VertexBuffer:Builder:advancedSkinning + */ + Builder& boneIndicesAndWeights(size_t primitiveIndex, + utils::FixedCapacityVector< + utils::FixedCapacityVector> indicesAndWeightsVector) noexcept; + /** + * Controls if the renderable has vertex morphing targets, zero by default. This is + * required to enable GPU morphing. + * + * Filament supports two morphing modes: standard (default) and legacy. + * + * For standard morphing, A MorphTargetBuffer must be created and provided via + * RenderableManager::setMorphTargetBufferAt(). Standard morphing supports up to + * \c CONFIG_MAX_MORPH_TARGET_COUNT morph targets. + * + * For legacy morphing, the attached VertexBuffer must provide data in the + * appropriate VertexAttribute slots (\c MORPH_POSITION_0 etc). Legacy morphing only + * supports up to 4 morph targets and will be deprecated in the future. Legacy morphing must + * be enabled on the material definition: either via the legacyMorphing material attribute + * or by calling filamat::MaterialBuilder::useLegacyMorphing(). + * + * See also RenderableManager::setMorphWeights(), which can be called on a per-frame basis + * to advance the animation. + */ + Builder& morphing(size_t targetCount) noexcept; + + /** + * Specifies the morph target buffer for a primitive. + * + * The morph target buffer must have an associated renderable and geometry. Two conditions + * must be met: + * 1. The number of morph targets in the buffer must equal the renderable's morph target + * count. + * 2. The vertex count of each morph target must equal the geometry's vertex count. + * + * @param level the level of detail (lod), only 0 can be specified + * @param primitiveIndex zero-based index of the primitive, must be less than the count passed to Builder constructor + * @param morphTargetBuffer specifies the morph target buffer + * @param offset specifies where in the morph target buffer to start reading (expressed as a number of vertices) + * @param count number of vertices in the morph target buffer to read, must equal the geometry's count (for triangles, this should be a multiple of 3) + */ + Builder& morphing(uint8_t level, size_t primitiveIndex, + MorphTargetBuffer* morphTargetBuffer, size_t offset, size_t count) noexcept; + + inline Builder& morphing(uint8_t level, size_t primitiveIndex, + MorphTargetBuffer* morphTargetBuffer) noexcept; + + /** + * Sets the drawing order for blended primitives. The drawing order is either global or + * local (default) to this Renderable. In either case, the Renderable priority takes + * precedence. + * + * @param primitiveIndex the primitive of interest + * @param order draw order number (0 by default). Only the lowest 15 bits are used. + * + * @return Builder reference for chaining calls. + * + * @see globalBlendOrderEnabled + */ + Builder& blendOrder(size_t primitiveIndex, uint16_t order) noexcept; + + /** + * Sets whether the blend order is global or local to this Renderable (by default). + * + * @param primitiveIndex the primitive of interest + * @param enabled true for global, false for local blend ordering. + * + * @return Builder reference for chaining calls. + * + * @see blendOrder + */ + Builder& globalBlendOrderEnabled(size_t primitiveIndex, bool enabled) noexcept; + + /** + * Specifies the number of draw instances of this renderable. The default is 1 instance and + * the maximum number of instances allowed is 32767. 0 is invalid. + * + * All instances are culled using the same bounding box, so care must be taken to make + * sure all instances render inside the specified bounding box. + * + * The material must set its `instanced` parameter to `true` in order to use + * getInstanceIndex() in the vertex or fragment shader to get the instance index and + * possibly adjust the position or transform. + * + * @param instanceCount the number of instances silently clamped between 1 and 32767. + */ + Builder& instances(size_t instanceCount) noexcept; + + /** + * Specifies the number of draw instances of this renderable and an \c InstanceBuffer + * containing their local transforms. The default is 1 instance and the maximum number of + * instances allowed when supplying transforms is given by + * \c Engine::getMaxAutomaticInstances (64 on most platforms). 0 is invalid. The + * \c InstanceBuffer must not be destroyed before this renderable. + * + * All instances are culled using the same bounding box, so care must be taken to make + * sure all instances render inside the specified bounding box. + * + * The material must set its `instanced` parameter to `true` in order to use + * \c getInstanceIndex() in the vertex or fragment shader to get the instance index. + * + * Only the \c VERTEX_DOMAIN_OBJECT vertex domain is supported. + * + * The local transforms of each instance can be updated with + * \c InstanceBuffer::setLocalTransforms. + * + * \see InstanceBuffer + * \see instances(size_t, * math::mat4f const*) + * @param instanceCount the number of instances, silently clamped between 1 and + * the result of Engine::getMaxAutomaticInstances(). + * @param instanceBuffer an InstanceBuffer containing at least instanceCount transforms + */ + Builder& instances(size_t instanceCount, InstanceBuffer* instanceBuffer) noexcept; + + /** + * Adds the Renderable component to an entity. + * + * @param engine Reference to the filament::Engine to associate this Renderable with. + * @param entity Entity to add the Renderable component to. + * @return Success if the component was created successfully, Error otherwise. + * + * If exceptions are disabled and an error occurs, this function is a no-op. + * Success can be checked by looking at the return value. + * + * If this component already exists on the given entity and the construction is successful, + * it is first destroyed as if destroy(utils::Entity e) was called. In case of error, + * the existing component is unmodified. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + */ + Result build(Engine& engine, utils::Entity entity); + + private: + friend class FEngine; + friend class FRenderPrimitive; + friend class FRenderableManager; + struct Entry { + VertexBuffer* vertices = nullptr; + IndexBuffer* indices = nullptr; + size_t offset = 0; + size_t minIndex = 0; + size_t maxIndex = 0; + size_t count = 0; + MaterialInstance const* materialInstance = nullptr; + PrimitiveType type = PrimitiveType::TRIANGLES; + uint16_t blendOrder = 0; + bool globalBlendOrderEnabled = false; + struct { + MorphTargetBuffer* buffer = nullptr; + size_t offset = 0; + size_t count = 0; + } morphing; + }; + }; + + /** + * Destroys the renderable component in the given entity. + */ + void destroy(utils::Entity e) noexcept; + + /** + * Changes the bounding box used for frustum culling. + * + * \see Builder::boundingBox() + * \see RenderableManager::getAxisAlignedBoundingBox() + */ + void setAxisAlignedBoundingBox(Instance instance, const Box& aabb) noexcept; + + /** + * Changes the visibility bits. + * + * \see Builder::layerMask() + * \see View::setVisibleLayers(). + * \see RenderableManager::getLayerMask() + */ + void setLayerMask(Instance instance, uint8_t select, uint8_t values) noexcept; + + /** + * Changes the coarse-level draw ordering. + * + * \see Builder::priority(). + */ + void setPriority(Instance instance, uint8_t priority) noexcept; + + /** + * Changes the channel a renderable is associated to. + * + * \see Builder::channel(). + */ + void setChannel(Instance instance, uint8_t channel) noexcept; + + /** + * Changes whether or not frustum culling is on. + * + * \see Builder::culling() + */ + void setCulling(Instance instance, bool enable) noexcept; + + /** + * Changes whether or not the large-scale fog is applied to this renderable + * @see Builder::fog() + */ + void setFogEnabled(Instance instance, bool enable) noexcept; + + /** + * Returns whether large-scale fog is enabled for this renderable. + * @return True if fog is enabled for this renderable. + * @see Builder::fog() + */ + bool getFogEnabled(Instance instance) const noexcept; + + /** + * Enables or disables a light channel. + * Light channel 0 is enabled by default. + * + * \see Builder::lightChannel() + */ + void setLightChannel(Instance instance, unsigned int channel, bool enable) noexcept; + + /** + * Returns whether a light channel is enabled on a specified renderable. + * @param instance Instance of the component obtained from getInstance(). + * @param channel Light channel to query + * @return true if the light channel is enabled, false otherwise + */ + bool getLightChannel(Instance instance, unsigned int channel) const noexcept; + + /** + * Changes whether or not the renderable casts shadows. + * + * \see Builder::castShadows() + */ + void setCastShadows(Instance instance, bool enable) noexcept; + + /** + * Changes whether or not the renderable can receive shadows. + * + * \see Builder::receiveShadows() + */ + void setReceiveShadows(Instance instance, bool enable) noexcept; + + /** + * Changes whether or not the renderable can use screen-space contact shadows. + * + * \see Builder::screenSpaceContactShadows() + */ + void setScreenSpaceContactShadows(Instance instance, bool enable) noexcept; + + /** + * Checks if the renderable can cast shadows. + * + * \see Builder::castShadows(). + */ + bool isShadowCaster(Instance instance) const noexcept; + + /** + * Checks if the renderable can receive shadows. + * + * \see Builder::receiveShadows(). + */ + bool isShadowReceiver(Instance instance) const noexcept; + + /** + * Updates the bone transforms in the range [offset, offset + boneCount). + * The bones must be pre-allocated using Builder::skinning(). + */ + void setBones(Instance instance, Bone const* transforms, size_t boneCount = 1, size_t offset = 0); + void setBones(Instance instance, math::mat4f const* transforms, size_t boneCount = 1, size_t offset = 0); //!< \overload + + /** + * Associates a region of a SkinningBuffer to a renderable instance + * + * Note: due to hardware limitations offset + 256 must be smaller or equal to + * skinningBuffer->getBoneCount() + * + * @param instance Instance of the component obtained from getInstance(). + * @param skinningBuffer skinning buffer to associate to the instance + * @param count Size of the region in bones, must be smaller or equal to 256. + * @param offset Start offset of the region in bones + */ + void setSkinningBuffer(Instance instance, SkinningBuffer* skinningBuffer, + size_t count, size_t offset); + + /** + * Updates the vertex morphing weights on a renderable, all zeroes by default. + * + * The renderable must be built with morphing enabled, see Builder::morphing(). In legacy + * morphing mode, only the first 4 weights are considered. + * + * @param instance Instance of the component obtained from getInstance(). + * @param weights Pointer to morph target weights to be update. + * @param count Number of morph target weights. + * @param offset Index of the first morph target weight to set at instance. + */ + void setMorphWeights(Instance instance, + float const* weights, size_t count, size_t offset = 0); + + /** + * Associates a MorphTargetBuffer to the given primitive. + */ + void setMorphTargetBufferAt(Instance instance, uint8_t level, size_t primitiveIndex, + MorphTargetBuffer* morphTargetBuffer, size_t offset, size_t count); + + /** + * Utility method to change a MorphTargetBuffer to the given primitive + */ + inline void setMorphTargetBufferAt(Instance instance, uint8_t level, size_t primitiveIndex, + MorphTargetBuffer* morphTargetBuffer); + + /** + * Get a MorphTargetBuffer to the given primitive or null if it doesn't exist. + */ + MorphTargetBuffer* getMorphTargetBufferAt(Instance instance, uint8_t level, size_t primitiveIndex) const noexcept; + + /** + * Gets the number of morphing in the given entity. + */ + size_t getMorphTargetCount(Instance instance) const noexcept; + + /** + * Gets the bounding box used for frustum culling. + * + * \see Builder::boundingBox() + * \see RenderableManager::setAxisAlignedBoundingBox() + */ + const Box& getAxisAlignedBoundingBox(Instance instance) const noexcept; + + /** + * Get the visibility bits. + * + * \see Builder::layerMask() + * \see View::setVisibleLayers(). + * \see RenderableManager::getLayerMask() + */ + uint8_t getLayerMask(Instance instance) const noexcept; + + /** + * Gets the immutable number of primitives in the given renderable. + */ + size_t getPrimitiveCount(Instance instance) const noexcept; + + /** + * Changes the material instance binding for the given primitive. + * + * The MaterialInstance's material must have a feature level equal or lower to the engine's + * selected feature level. + * + * @exception utils::PreConditionPanic if the engine doesn't support the material's + * feature level. + * + * @see Builder::material() + * @see Engine::setActiveFeatureLevel + */ + void setMaterialInstanceAt(Instance instance, + size_t primitiveIndex, MaterialInstance const* materialInstance); + + /** + * Retrieves the material instance that is bound to the given primitive. + */ + MaterialInstance* getMaterialInstanceAt(Instance instance, size_t primitiveIndex) const noexcept; + + /** + * Changes the geometry for the given primitive. + * + * \see Builder::geometry() + */ + void setGeometryAt(Instance instance, size_t primitiveIndex, + PrimitiveType type, VertexBuffer* vertices, IndexBuffer* indices, + size_t offset, size_t count) noexcept; + + /** + * Changes the drawing order for blended primitives. The drawing order is either global or + * local (default) to this Renderable. In either case, the Renderable priority takes precedence. + * + * @param instance the renderable of interest + * @param primitiveIndex the primitive of interest + * @param order draw order number (0 by default). Only the lowest 15 bits are used. + * + * @see Builder::blendOrder(), setGlobalBlendOrderEnabledAt() + */ + void setBlendOrderAt(Instance instance, size_t primitiveIndex, uint16_t order) noexcept; + + /** + * Changes whether the blend order is global or local to this Renderable (by default). + * + * @param instance the renderable of interest + * @param primitiveIndex the primitive of interest + * @param enabled true for global, false for local blend ordering. + * + * @see Builder::globalBlendOrderEnabled(), setBlendOrderAt() + */ + void setGlobalBlendOrderEnabledAt(Instance instance, size_t primitiveIndex, bool enabled) noexcept; + + /** + * Retrieves the set of enabled attribute slots in the given primitive's VertexBuffer. + */ + AttributeBitset getEnabledAttributesAt(Instance instance, size_t primitiveIndex) const noexcept; + + /*! \cond PRIVATE */ + template + struct is_supported_vector_type { + using type = typename std::enable_if< + std::is_same::value || + std::is_same::value || + std::is_same::value || + std::is_same::value + >::type; + }; + + template + struct is_supported_index_type { + using type = typename std::enable_if< + std::is_same::value || + std::is_same::value + >::type; + }; + /*! \endcond */ + + /** + * Utility method that computes the axis-aligned bounding box from a set of vertices. + * + * - The index type must be \c uint16_t or \c uint32_t. + * - The vertex type must be \c float4, \c half4, \c float3, or \c half3. + * - For 4-component vertices, the w component is ignored (implicitly replaced with 1.0). + */ + template::type, + typename = typename is_supported_index_type::type> + static Box computeAABB(VECTOR const* vertices, INDEX const* indices, size_t count, + size_t stride = sizeof(VECTOR)) noexcept; + +protected: + // prevent heap allocation + ~RenderableManager() = default; +}; + +RenderableManager::Builder& RenderableManager::Builder::morphing(uint8_t level, size_t primitiveIndex, + MorphTargetBuffer* morphTargetBuffer) noexcept { + return morphing(level, primitiveIndex, morphTargetBuffer, 0, + morphTargetBuffer->getVertexCount()); +} + +void RenderableManager::setMorphTargetBufferAt(Instance instance, uint8_t level, size_t primitiveIndex, + MorphTargetBuffer* morphTargetBuffer) { + setMorphTargetBufferAt(instance, level, primitiveIndex, morphTargetBuffer, 0, + morphTargetBuffer->getVertexCount()); +} + +template +Box RenderableManager::computeAABB(VECTOR const* vertices, INDEX const* indices, size_t count, + size_t stride) noexcept { + math::float3 bmin(std::numeric_limits::max()); + math::float3 bmax(std::numeric_limits::lowest()); + for (size_t i = 0; i < count; ++i) { + VECTOR const* p = reinterpret_cast( + (char const*)vertices + indices[i] * stride); + const math::float3 v(p->x, p->y, p->z); + bmin = min(bmin, v); + bmax = max(bmax, v); + } + return Box().set(bmin, bmax); +} + +} // namespace filament + +#endif // TNT_FILAMENT_RENDERABLEMANAGER_H diff --git a/web/include/filament/filament/Renderer.h b/web/include/filament/filament/Renderer.h new file mode 100644 index 00000000..8295a06f --- /dev/null +++ b/web/include/filament/filament/Renderer.h @@ -0,0 +1,590 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_RENDERER_H +#define TNT_FILAMENT_RENDERER_H + +#include + +#include + +#include +#include + +#include + +#include + +namespace filament { + +class Engine; +class RenderTarget; +class SwapChain; +class View; +class Viewport; + +namespace backend { +class PixelBufferDescriptor; +} // namespace backend + +/** + * A Renderer instance represents an operating system's window. + * + * Typically, applications create a Renderer per window. The Renderer generates drawing commands + * for the render thread and manages frame latency. + * + * A Renderer generates drawing commands from a View, itself containing a Scene description. + * + * Creation and Destruction + * ======================== + * + * A Renderer is created using Engine.createRenderer() and destroyed using + * Engine.destroy(const Renderer*). + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * #include + * using namespace filament; + * + * Engine* engine = Engine::create(); + * + * Renderer* renderer = engine->createRenderer(); + * engine->destroy(&renderer); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * @see Engine, View + */ +class UTILS_PUBLIC Renderer : public FilamentAPI { +public: + + /** + * Use DisplayInfo to set important Display properties. This is used to achieve correct + * frame pacing and dynamic resolution scaling. + */ + struct DisplayInfo { + // refresh-rate of the display in Hz. set to 0 for offscreen or turn off frame-pacing. + float refreshRate = 60.0f; + + UTILS_DEPRECATED uint64_t presentationDeadlineNanos = 0; + UTILS_DEPRECATED uint64_t vsyncOffsetNanos = 0; + }; + + /** + * Use FrameRateOptions to set the desired frame rate and control how quickly the system + * reacts to GPU load changes. + * + * interval: desired frame interval in multiple of the refresh period, set in DisplayInfo + * (as 1 / DisplayInfo::refreshRate) + * + * The parameters below are relevant when some Views are using dynamic resolution scaling: + * + * headRoomRatio: additional headroom for the GPU as a ratio of the targetFrameTime. + * Useful for taking into account constant costs like post-processing or + * GPU drivers on different platforms. + * history: History size. higher values, tend to filter more (clamped to 31) + * scaleRate: rate at which the gpu load is adjusted to reach the target frame rate + * This value can be computed as 1 / N, where N is the number of frames + * needed to reach 64% of the target scale factor. + * Higher values make the dynamic resolution react faster. + * + * @see View::DynamicResolutionOptions + * @see Renderer::DisplayInfo + * + */ + struct FrameRateOptions { + float headRoomRatio = 0.0f; //!< additional headroom for the GPU + float scaleRate = 1.0f / 8.0f; //!< rate at which the system reacts to load changes + uint8_t history = 15; //!< history size + uint8_t interval = 1; //!< desired frame interval in unit of 1.0 / DisplayInfo::refreshRate + }; + + /** + * ClearOptions are used at the beginning of a frame to clear or retain the SwapChain content. + */ + struct ClearOptions { + /** + * Color (sRGB linear) to use to clear the RenderTarget (typically the SwapChain). + * + * The RenderTarget is cleared using this color, which won't be tone-mapped since + * tone-mapping is part of View rendering (this is not). + * + * When a View is rendered, there are 3 scenarios to consider: + * - Pixels rendered by the View replace the clear color (or blend with it in + * `BlendMode::TRANSLUCENT` mode). + * + * - With blending mode set to `BlendMode::TRANSLUCENT`, Pixels untouched by the View + * are considered fulling transparent and let the clear color show through. + * + * - With blending mode set to `BlendMode::OPAQUE`, Pixels untouched by the View + * are set to the clear color. However, because it is now used in the context of a View, + * it will go through the post-processing stage, which includes tone-mapping. + * + * For consistency, it is recommended to always use a Skybox to clear an opaque View's + * background, or to use black or fully-transparent (i.e. {0,0,0,0}) as the clear color. + */ + math::float4 clearColor = {}; + + /** Value to clear the stencil buffer */ + uint8_t clearStencil = 0u; + + /** + * Whether the SwapChain should be cleared using the clearColor. Use this if translucent + * View will be drawn, for instance. + */ + bool clear = false; + + /** + * Whether the SwapChain content should be discarded. clear implies discard. Set this + * to false (along with clear to false as well) if the SwapChain already has content that + * needs to be preserved + */ + bool discard = true; + }; + + /** + * Information about the display this Renderer is associated to. This information is needed + * to accurately compute dynamic-resolution scaling and for frame-pacing. + */ + void setDisplayInfo(const DisplayInfo& info) noexcept; + + /** + * Set options controlling the desired frame-rate. + */ + void setFrameRateOptions(FrameRateOptions const& options) noexcept; + + /** + * Set ClearOptions which are used at the beginning of a frame to clear or retain the + * SwapChain content. + */ + void setClearOptions(const ClearOptions& options); + + /** + * Returns the ClearOptions currently set. + * @return A reference to a ClearOptions structure. + */ + ClearOptions const& getClearOptions() const noexcept; + + /** + * Get the Engine that created this Renderer. + * + * @return A pointer to the Engine instance this Renderer is associated to. + */ + Engine* getEngine() noexcept; + + /** + * Get the Engine that created this Renderer. + * + * @return A constant pointer to the Engine instance this Renderer is associated to. + */ + inline Engine const* getEngine() const noexcept { + return const_cast(this)->getEngine(); + } + + /** + * Flags used to configure the behavior of copyFrame(). + * + * @see + * copyFrame() + */ + using CopyFrameFlag = uint32_t; + + /** + * Indicates that the dstSwapChain passed into copyFrame() should be + * committed after the frame has been copied. + * + * @see + * copyFrame() + */ + static constexpr CopyFrameFlag COMMIT = 0x1; + /** + * Indicates that the presentation time should be set on the dstSwapChain + * passed into copyFrame to the monotonic clock time when the frame is + * copied. + * + * @see + * copyFrame() + */ + static constexpr CopyFrameFlag SET_PRESENTATION_TIME = 0x2; + /** + * Indicates that the dstSwapChain passed into copyFrame() should be + * cleared to black before the frame is copied into the specified viewport. + * + * @see + * copyFrame() + */ + static constexpr CopyFrameFlag CLEAR = 0x4; + + + /** + * Set-up a frame for this Renderer. + * + * beginFrame() manages frame pacing, and returns whether or not a frame should be drawn. The + * goal of this is to skip frames when the GPU falls behind in order to keep the frame + * latency low. + * + * If a given frame takes too much time in the GPU, the CPU will get ahead of the GPU. The + * display will draw the same frame twice producing a stutter. At this point, the CPU is + * ahead of the GPU and depending on how many frames are buffered, latency increases. + * + * beginFrame() attempts to detect this situation and returns false in that case, indicating + * to the caller to skip the current frame. + * + * When beginFrame() returns true, it is mandatory to render the frame and call endFrame(). + * However, when beginFrame() returns false, the caller has the choice to either skip the + * frame and not call endFrame(), or proceed as though true was returned. + * + * @param vsyncSteadyClockTimeNano The time in nanosecond of when the current frame started, + * or 0 if unknown. This value should be the timestamp of + * the last h/w vsync. It is expressed in the + * std::chrono::steady_clock time base. + * @param swapChain A pointer to the SwapChain instance to use. + * + * @return + * *false* the current frame should be skipped, + * *true* the current frame must be drawn and endFrame() must be called. + * + * @remark + * When skipping a frame, the whole frame is canceled, and endFrame() must not be called. + * + * @note + * All calls to render() must happen *after* beginFrame(). + * + * @see + * endFrame() + */ + bool beginFrame(SwapChain* swapChain, + uint64_t vsyncSteadyClockTimeNano = 0u); + + /** + * Set the time at which the frame must be presented to the display. + * + * This must be called between beginFrame() and endFrame(). + * + * @param monotonic_clock_ns the time in nanoseconds corresponding to the system monotonic up-time clock. + * the presentation time is typically set in the middle of the period + * of interest. The presentation time cannot be too far in the + * future because it is limited by how many buffers are available in + * the display sub-system. Typically it is set to 1 or 2 vsync periods + * away. + */ + void setPresentationTime(int64_t monotonic_clock_ns); + + /** + * Render a View into this renderer's window. + * + * This is filament main rendering method, most of the CPU-side heavy lifting is performed + * here. render() main function is to generate render commands which are asynchronously + * executed by the Engine's render thread. + * + * render() generates commands for each of the following stages: + * + * 1. Shadow map passes, if needed. + * 2. Depth pre-pass. + * 3. Color pass. + * 4. Post-processing pass. + * + * A typical render loop looks like this: + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * #include + * using namespace filament; + * + * void renderLoop(Renderer* renderer, SwapChain* swapChain) { + * do { + * // typically we wait for VSYNC and user input events + * if (renderer->beginFrame(swapChain)) { + * renderer->render(mView); + * renderer->endFrame(); + * } + * } while (!quit()); + * } + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * + * @param view A pointer to the view to render. + * + * @attention + * render() must be called *after* beginFrame() and *before* endFrame(). + * + * @note + * render() must be called from the Engine's main thread (or external synchronization + * must be provided). In particular, calls to render() on different Renderer instances + * **must** be synchronized. + * + * @remark + * render() perform potentially heavy computations and cannot be multi-threaded. However, + * internally, render() is highly multi-threaded to both improve performance in mitigate + * the call's latency. + * + * @remark + * render() is typically called once per frame (but not necessarily). + * + * @see + * beginFrame(), endFrame(), View + * + */ + void render(View const* view); + + /** + * Copy the currently rendered view to the indicated swap chain, using the + * indicated source and destination rectangle. + * + * @param dstSwapChain The swap chain into which the frame should be copied. + * @param dstViewport The destination rectangle in which to draw the view. + * @param srcViewport The source rectangle to be copied. + * @param flags One or more CopyFrameFlag behavior configuration flags. + * + * @remark + * copyFrame() should be called after a frame is rendered using render() + * but before endFrame() is called. + */ + void copyFrame(SwapChain* dstSwapChain, Viewport const& dstViewport, + Viewport const& srcViewport, uint32_t flags = 0); + + /** + * Reads back the content of the SwapChain associated with this Renderer. + * + * @param xoffset Left offset of the sub-region to read back. + * @param yoffset Bottom offset of the sub-region to read back. + * @param width Width of the sub-region to read back. + * @param height Height of the sub-region to read back. + * @param buffer Client-side buffer where the read-back will be written. + * + * The following formats are always supported: + * - PixelBufferDescriptor::PixelDataFormat::RGBA + * - PixelBufferDescriptor::PixelDataFormat::RGBA_INTEGER + * + * The following types are always supported: + * - PixelBufferDescriptor::PixelDataType::UBYTE + * - PixelBufferDescriptor::PixelDataType::UINT + * - PixelBufferDescriptor::PixelDataType::INT + * - PixelBufferDescriptor::PixelDataType::FLOAT + * + * Other combinations of format/type may be supported. If a combination is + * not supported, this operation may fail silently. Use a DEBUG build + * to get some logs about the failure. + * + * + * Framebuffer as seen on User buffer (PixelBufferDescriptor&) + * screen + * + * +--------------------+ + * | | .stride .alignment + * | | ----------------------->--> + * | | O----------------------+--+ low addresses + * | | | | | | + * | w | | | .top | | + * | <---------> | | V | | + * | +---------+ | | +---------+ | | + * | | ^ | | ======> | | | | | + * | x | h| | | |.left| | | | + * +------>| v | | +---->| | | | + * | +.........+ | | +.........+ | | + * | ^ | | | | + * | y | | +----------------------+--+ high addresses + * O------------+-------+ + * + * + * readPixels() must be called within a frame, meaning after beginFrame() and before endFrame(). + * Typically, readPixels() will be called after render(). + * + * After issuing this method, the callback associated with `buffer` will be invoked on the + * main thread, indicating that the read-back has completed. Typically, this will happen + * after multiple calls to beginFrame(), render(), endFrame(). + * + * It is also possible to use a Fence to wait for the read-back. + * + * @remark + * readPixels() is intended for debugging and testing. It will impact performance significantly. + * + */ + void readPixels(uint32_t xoffset, uint32_t yoffset, uint32_t width, uint32_t height, + backend::PixelBufferDescriptor&& buffer); + + /** + * Finishes the current frame and schedules it for display. + * + * endFrame() schedules the current frame to be displayed on the Renderer's window. + * + * @note + * All calls to render() must happen *before* endFrame(). endFrame() must be called if + * beginFrame() returned true, otherwise, endFrame() must not be called unless the caller + * ignored beginFrame()'s return value. + * + * @see + * beginFrame() + */ + void endFrame(); + + + /** + * Reads back the content of the provided RenderTarget. + * + * @param renderTarget RenderTarget to read back from. + * @param xoffset Left offset of the sub-region to read back. + * @param yoffset Bottom offset of the sub-region to read back. + * @param width Width of the sub-region to read back. + * @param height Height of the sub-region to read back. + * @param buffer Client-side buffer where the read-back will be written. + * + * The following formats are always supported: + * - PixelBufferDescriptor::PixelDataFormat::RGBA + * - PixelBufferDescriptor::PixelDataFormat::RGBA_INTEGER + * + * The following types are always supported: + * - PixelBufferDescriptor::PixelDataType::UBYTE + * - PixelBufferDescriptor::PixelDataType::UINT + * - PixelBufferDescriptor::PixelDataType::INT + * - PixelBufferDescriptor::PixelDataType::FLOAT + * + * Other combinations of format/type may be supported. If a combination is + * not supported, this operation may fail silently. Use a DEBUG build + * to get some logs about the failure. + * + * + * Framebuffer as seen on User buffer (PixelBufferDescriptor&) + * screen + * + * +--------------------+ + * | | .stride .alignment + * | | ----------------------->--> + * | | O----------------------+--+ low addresses + * | | | | | | + * | w | | | .top | | + * | <---------> | | V | | + * | +---------+ | | +---------+ | | + * | | ^ | | ======> | | | | | + * | x | h| | | |.left| | | | + * +------>| v | | +---->| | | | + * | +.........+ | | +.........+ | | + * | ^ | | | | + * | y | | +----------------------+--+ high addresses + * O------------+-------+ + * + * + * Typically readPixels() will be called after render() and before endFrame(). + * + * After issuing this method, the callback associated with `buffer` will be invoked on the + * main thread, indicating that the read-back has completed. Typically, this will happen + * after multiple calls to beginFrame(), render(), endFrame(). + * + * It is also possible to use a Fence to wait for the read-back. + * + * OpenGL only: if issuing a readPixels on a RenderTarget backed by a Texture that had data + * uploaded to it via setImage, the data returned from readPixels will be y-flipped with respect + * to the setImage call. + * + * @remark + * readPixels() is intended for debugging and testing. It will impact performance significantly. + * + */ + void readPixels(RenderTarget* renderTarget, + uint32_t xoffset, uint32_t yoffset, uint32_t width, uint32_t height, + backend::PixelBufferDescriptor&& buffer); + + /** + * Render a standalone View into its associated RenderTarget + * + * This call is mostly equivalent to calling render(View*) inside a + * beginFrame / endFrame block, but incurs less overhead. It can be used + * as a poor man's compute API. + * + * @param view A pointer to the view to render. This View must have a RenderTarget associated + * to it. + * + * @attention + * renderStandaloneView() must be called outside of beginFrame() / endFrame(). + * + * @note + * renderStandaloneView() must be called from the Engine's main thread + * (or external synchronization must be provided). In particular, calls to + * renderStandaloneView() on different Renderer instances **must** be synchronized. + * + * @remark + * renderStandaloneView() perform potentially heavy computations and cannot be multi-threaded. + * However, internally, renderStandaloneView() is highly multi-threaded to both improve + * performance in mitigate the call's latency. + */ + void renderStandaloneView(View const* view); + + + /** + * Returns the time in second of the last call to beginFrame(). This value is constant for all + * views rendered during a frame. The epoch is set with resetUserTime(). + * + * In materials, this value can be queried using `vec4 getUserTime()`. The value returned + * is a highp vec4 encoded as follows: + * + * time.x = (float)Renderer.getUserTime(); + * time.y = Renderer.getUserTime() - time.x; + * + * It follows that the following invariants are true: + * + * (double)time.x + (double)time.y == Renderer.getUserTime() + * time.x == (float)Renderer.getUserTime() + * + * This encoding allows the shader code to perform high precision (i.e. double) time + * calculations when needed despite the lack of double precision in the shader, for e.g.: + * + * To compute (double)time * vertex in the material, use the following construct: + * + * vec3 result = time.x * vertex + time.y * vertex; + * + * + * Most of the time, high precision computations are not required, but be aware that the + * precision of time.x rapidly diminishes as time passes: + * + * time | precision + * --------+---------- + * 16.7s | us + * 4h39 | ms + * 77h | 1/60s + * + * + * In other words, it only possible to get microsecond accuracy for about 16s or millisecond + * accuracy for just under 5h. + * + * This problem can be mitigated by calling resetUserTime(), or using high precision time as + * described above. + * + * @return The time is seconds since resetUserTime() was last called. + * + * @see + * resetUserTime() + */ + double getUserTime() const; + + /** + * Sets the user time epoch to now, i.e. resets the user time to zero. + * + * Use this method used to keep the precision of time high in materials, in practice it should + * be called at least when the application is paused, e.g. Activity.onPause() in Android. + * + * @see + * getUserTime() + */ + void resetUserTime(); + +protected: + // prevent heap allocation + ~Renderer() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_RENDERER_H diff --git a/web/include/filament/filament/Scene.h b/web/include/filament/filament/Scene.h new file mode 100644 index 00000000..28361278 --- /dev/null +++ b/web/include/filament/filament/Scene.h @@ -0,0 +1,185 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_SCENE_H +#define TNT_FILAMENT_SCENE_H + +#include + +#include +#include + +namespace utils { + class Entity; +} // namespace utils + +namespace filament { + +class IndirectLight; +class Skybox; + +/** + * A Scene is a flat container of Renderable and Light instances. + * + * A Scene doesn't provide a hierarchy of Renderable objects, i.e.: it's not a scene-graph. + * However, it manages the list of objects to render and the list of lights. Renderable + * and Light objects can be added or removed from a Scene at any time. + * + * A Renderable *must* be added to a Scene in order to be rendered, and the Scene must be + * provided to a View. + * + * + * Creation and Destruction + * ======================== + * + * A Scene is created using Engine.createScene() and destroyed using + * Engine.destroy(const Scene*). + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * #include + * using namespace filament; + * + * Engine* engine = Engine::create(); + * + * Scene* scene = engine->createScene(); + * engine->destroy(&scene); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * @see View, Renderable, Light + */ +class UTILS_PUBLIC Scene : public FilamentAPI { +public: + + /** + * Sets the Skybox. + * + * The Skybox is drawn last and covers all pixels not touched by geometry. + * + * @param skybox The Skybox to use to fill untouched pixels, or nullptr to unset the Skybox. + */ + void setSkybox(Skybox* skybox) noexcept; + + /** + * Returns the Skybox associated with the Scene. + * + * @return The associated Skybox, or nullptr if there is none. + */ + Skybox* getSkybox() const noexcept; + + /** + * Set the IndirectLight to use when rendering the Scene. + * + * Currently, a Scene may only have a single IndirectLight. This call replaces the current + * IndirectLight. + * + * @param ibl The IndirectLight to use when rendering the Scene or nullptr to unset. + * @see getIndirectLight + */ + void setIndirectLight(IndirectLight* ibl) noexcept; + + /** + * Get the IndirectLight or nullptr if none is set. + * + * @return the the IndirectLight or nullptr if none is set + * @see setIndirectLight + */ + IndirectLight* getIndirectLight() const noexcept; + + /** + * Adds an Entity to the Scene. + * + * @param entity The entity is ignored if it doesn't have a Renderable or Light component. + * + * \attention + * A given Entity object can only be added once to a Scene. + * + */ + void addEntity(utils::Entity entity); + + /** + * Adds a list of entities to the Scene. + * + * @param entities Array containing entities to add to the scene. + * @param count Size of the entity array. + */ + void addEntities(const utils::Entity* entities, size_t count); + + /** + * Removes the Renderable from the Scene. + * + * @param entity The Entity to remove from the Scene. If the specified + * \p entity doesn't exist, this call is ignored. + */ + void remove(utils::Entity entity); + + /** + * Removes a list of entities to the Scene. + * + * This is equivalent to calling remove in a loop. + * If any of the specified entities do not exist in the scene, they are skipped. + * + * @param entities Array containing entities to remove from the scene. + * @param count Size of the entity array. + */ + void removeEntities(const utils::Entity* entities, size_t count); + + /** + * Returns the total number of Entities in the Scene, whether alive or not. + * @return Total number of Entities in the Scene. + */ + size_t getEntityCount() const noexcept; + + /** + * Returns the number of active (alive) Renderable objects in the Scene. + * + * @return The number of active (alive) Renderable objects in the Scene. + */ + size_t getRenderableCount() const noexcept; + + /** + * Returns the number of active (alive) Light objects in the Scene. + * + * @return The number of active (alive) Light objects in the Scene. + */ + size_t getLightCount() const noexcept; + + /** + * Returns true if the given entity is in the Scene. + * + * @return Whether the given entity is in the Scene. + */ + bool hasEntity(utils::Entity entity) const noexcept; + + /** + * Invokes user functor on each entity in the scene. + * + * It is not allowed to add or remove an entity from the scene within the functor. + * + * @param functor User provided functor called for each entity in the scene + */ + void forEach(utils::Invocable&& functor) const noexcept; + +protected: + // prevent heap allocation + ~Scene() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_SCENE_H diff --git a/web/include/filament/filament/SkinningBuffer.h b/web/include/filament/filament/SkinningBuffer.h new file mode 100644 index 00000000..5c334563 --- /dev/null +++ b/web/include/filament/filament/SkinningBuffer.h @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_SKINNINGBUFFER_H +#define TNT_FILAMENT_SKINNINGBUFFER_H + +#include + +#include + +#include + +#include + +#include + + +namespace filament { + +/** + * SkinningBuffer is used to hold skinning data (bones). It is a simple wraper around + * a structured UBO. + * @see RenderableManager::setSkinningBuffer + */ +class UTILS_PUBLIC SkinningBuffer : public FilamentAPI { + struct BuilderDetails; + +public: + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Size of the skinning buffer in bones. + * + * Due to limitation in the GLSL, the SkinningBuffer must always by a multiple of + * 256, this adjustment is done automatically, but can cause + * some memory overhead. This memory overhead can be mitigated by using the same + * SkinningBuffer to store the bone information for multiple RenderPrimitives. + * + * @param boneCount Number of bones the skinning buffer can hold. + * @return A reference to this Builder for chaining calls. + */ + Builder& boneCount(uint32_t boneCount) noexcept; + + /** + * The new buffer is created with identity bones + * @param initialize true to initializing the buffer, false to not. + * @return A reference to this Builder for chaining calls. + */ + Builder& initialize(bool initialize = true) noexcept; + + /** + * Creates the SkinningBuffer object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this SkinningBuffer with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + * + * @see SkinningBuffer::setBones + */ + SkinningBuffer* build(Engine& engine); + private: + friend class FSkinningBuffer; + }; + + /** + * Updates the bone transforms in the range [offset, offset + count). + * @param engine Reference to the filament::Engine to associate this SkinningBuffer with. + * @param transforms pointer to at least count Bone + * @param count number of Bone elements in transforms + * @param offset offset in elements (not bytes) in the SkinningBuffer (not in transforms) + * @see RenderableManager::setSkinningBuffer + */ + void setBones(Engine& engine, RenderableManager::Bone const* transforms, + size_t count, size_t offset = 0); + + /** + * Updates the bone transforms in the range [offset, offset + count). + * @param engine Reference to the filament::Engine to associate this SkinningBuffer with. + * @param transforms pointer to at least count mat4f + * @param count number of mat4f elements in transforms + * @param offset offset in elements (not bytes) in the SkinningBuffer (not in transforms) + * @see RenderableManager::setSkinningBuffer + */ + void setBones(Engine& engine, math::mat4f const* transforms, + size_t count, size_t offset = 0); + + /** + * Returns the size of this SkinningBuffer in elements. + * @return The number of bones the SkinningBuffer holds. + */ + size_t getBoneCount() const noexcept; + +protected: + // prevent heap allocation + ~SkinningBuffer() = default; +}; + +} // namespace filament + +#endif //TNT_FILAMENT_SKINNINGBUFFER_H diff --git a/web/include/filament/filament/Skybox.h b/web/include/filament/filament/Skybox.h new file mode 100644 index 00000000..150c9d3e --- /dev/null +++ b/web/include/filament/filament/Skybox.h @@ -0,0 +1,185 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_SKYBOX_H +#define TNT_FILAMENT_SKYBOX_H + +#include + +#include + +#include +#include + +namespace filament { + +class FSkybox; + +class Engine; +class Texture; + +/** + * Skybox + * + * When added to a Scene, the Skybox fills all untouched pixels. + * + * Creation and destruction + * ======================== + * + * A Skybox object is created using the Skybox::Builder and destroyed by calling + * Engine::destroy(const Skybox*). + * + * ~~~~~~~~~~~{.cpp} + * filament::Engine* engine = filament::Engine::create(); + * + * filament::IndirectLight* skybox = filament::Skybox::Builder() + * .environment(cubemap) + * .build(*engine); + * + * engine->destroy(skybox); + * ~~~~~~~~~~~ + * + * + * @note + * Currently only Texture based sky boxes are supported. + * + * @see Scene, IndirectLight + */ +class UTILS_PUBLIC Skybox : public FilamentAPI { + struct BuilderDetails; + +public: + //! Use Builder to construct an Skybox object instance + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Set the environment map (i.e. the skybox content). + * + * The Skybox is rendered as though it were an infinitely large cube with the camera + * inside it. This means that the cubemap which is mapped onto the cube's exterior + * will appear mirrored. This follows the OpenGL conventions. + * + * The cmgen tool generates reflection maps by default which are therefore ideal to use + * as skyboxes. + * + * @param cubemap This Texture must be a cube map. + * + * @return This Builder, for chaining calls. + * + * @see Texture + */ + Builder& environment(Texture* cubemap) noexcept; + + /** + * Indicates whether the sun should be rendered. The sun can only be + * rendered if there is at least one light of type SUN in the scene. + * The default value is false. + * + * @param show True if the sun should be rendered, false otherwise + * + * @return This Builder, for chaining calls. + */ + Builder& showSun(bool show) noexcept; + + /** + * Skybox intensity when no IndirectLight is set on the Scene. + * + * This call is ignored when an IndirectLight is set on the Scene, and the intensity + * of the IndirectLight is used instead. + * + * @param envIntensity Scale factor applied to the skybox texel values such that + * the result is in lux, or lumen/m^2 (default = 30000) + * + * @return This Builder, for chaining calls. + * + * @see IndirectLight::Builder::intensity + */ + Builder& intensity(float envIntensity) noexcept; + + /** + * Sets the skybox to a constant color. Default is opaque black. + * + * Ignored if an environment is set. + * + * @param color the constant color + * + * @return This Builder, for chaining calls. + */ + Builder& color(math::float4 color) noexcept; + + /** + * Creates the Skybox object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this Skybox with. + * + * @return pointer to the newly created object, or nullptr if the light couldn't be created. + */ + Skybox* build(Engine& engine); + + private: + friend class FSkybox; + }; + + void setColor(math::float4 color) noexcept; + + /** + * Sets bits in a visibility mask. By default, this is 0x1. + * + * This provides a simple mechanism for hiding or showing this Skybox in a Scene. + * + * @see View::setVisibleLayers(). + * + * For example, to set bit 1 and reset bits 0 and 2 while leaving all other bits unaffected, + * call: `setLayerMask(7, 2)`. + * + * @param select the set of bits to affect + * @param values the replacement values for the affected bits + */ + void setLayerMask(uint8_t select, uint8_t values) noexcept; + + /** + * @return the visibility mask bits + */ + uint8_t getLayerMask() const noexcept; + + /** + * Returns the skybox's intensity in lux, or lumen/m^2. + */ + float getIntensity() const noexcept; + + /** + * @return the associated texture, or null if it does not exist + */ + Texture const* getTexture() const noexcept; + +protected: + // prevent heap allocation + ~Skybox() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_SKYBOX_H diff --git a/web/include/filament/filament/Stream.h b/web/include/filament/filament/Stream.h new file mode 100644 index 00000000..83f898ac --- /dev/null +++ b/web/include/filament/filament/Stream.h @@ -0,0 +1,218 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_STREAM_H +#define TNT_FILAMENT_STREAM_H + +#include + +#include + +#include +#include + +#include + +namespace filament { + +class FStream; + +class Engine; + +/** + * Stream is used to attach a video stream to a Filament `Texture`. + * + * Note that the `Stream` class is fairly Android centric. It supports two different + * configurations: + * + * - ACQUIRED.....connects to an Android AHardwareBuffer + * - NATIVE.......connects to an Android SurfaceTexture + * + * Before explaining these different configurations, let's review the high-level structure of an AR + * or video application that uses Filament: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * while (true) { + * + * // Misc application work occurs here, such as: + * // - Writing the image data for a video frame into a Stream + * // - Moving the Filament Camera + * + * if (renderer->beginFrame(swapChain)) { + * renderer->render(view); + * renderer->endFrame(); + * } + * } + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Let's say that the video image data at the time of a particular invocation of `beginFrame` + * becomes visible to users at time A. The 3D scene state (including the camera) at the time of + * that same invocation becomes apparent to users at time B. + * + * - If time A matches time B, we say that the stream is \em{synchronized}. + * - Filament invokes low-level graphics commands on the \em{driver thread}. + * - The thread that calls `beginFrame` is called the \em{main thread}. + * + * For ACQUIRED streams, there is no need to perform the copy because Filament explictly acquires + * the stream, then releases it later via a callback function. This configuration is especially + * useful when the Vulkan backend is enabled. + * + * For NATIVE streams, Filament does not make any synchronization guarantee. However they are simple + * to use and do not incur a copy. These are often appropriate in video applications. + * + * Please see `sample-stream-test` and `sample-hello-camera` for usage examples. + * + * @see backend::StreamType + * @see Texture#setExternalStream + * @see Engine#destroyStream + */ +class UTILS_PUBLIC Stream : public FilamentAPI { + struct BuilderDetails; + +public: + using Callback = backend::StreamCallback; + using StreamType = backend::StreamType; + + /** + * Constructs a Stream object instance. + * + * By default, Stream objects are ACQUIRED and must have external images pushed to them via + *
Stream::setAcquiredImage
. + * + * To create a NATIVE stream, call the
stream
method on the builder. + */ + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Creates a NATIVE stream. Native streams can sample data directly from an + * opaque platform object such as a SurfaceTexture on Android. + * + * @param stream An opaque native stream handle. e.g.: on Android this is an + * `android/graphics/SurfaceTexture` JNI jobject. The wrap mode must + * be CLAMP_TO_EDGE. + * + * @return This Builder, for chaining calls. + */ + Builder& stream(void* stream) noexcept; + + /** + * + * @param width initial width of the incoming stream. Whether this value is used is + * stream dependent. On Android, it must be set when using + * Builder::stream(long externalTextureId). + * + * @return This Builder, for chaining calls. + */ + Builder& width(uint32_t width) noexcept; + + /** + * + * @param height initial height of the incoming stream. Whether this value is used is + * stream dependent. On Android, it must be set when using + * Builder::stream(long externalTextureId). + * + * @return This Builder, for chaining calls. + */ + Builder& height(uint32_t height) noexcept; + + /** + * Creates the Stream object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this Stream with. + * + * @return pointer to the newly created object, or nullptr if the stream couldn't be created. + */ + Stream* build(Engine& engine); + + private: + friend class FStream; + }; + + /** + * Indicates whether this stream is a NATIVE stream or ACQUIRED stream. + */ + StreamType getStreamType() const noexcept; + + /** + * Updates an ACQUIRED stream with an image that is guaranteed to be used in the next frame. + * + * This method tells Filament to immediately "acquire" the image and trigger a callback + * when it is done with it. This should be called by the user outside of beginFrame / endFrame, + * and should be called only once per frame. If the user pushes images to the same stream + * multiple times in a single frame, only the final image is honored, but all callbacks are + * invoked. + * + * This method should be called on the same thread that calls Renderer::beginFrame, which is + * also where the callback is invoked. This method can only be used for streams that were + * constructed without calling the `stream` method on the builder. + * + * @see Stream for more information about NATIVE and ACQUIRED configurations. + * + * @param image Pointer to AHardwareBuffer, casted to void* since this is a public header. + * @param callback This is triggered by Filament when it wishes to release the image. + * It callback tales two arguments: the AHardwareBuffer and the userdata. + * @param userdata Optional closure data. Filament will pass this into the callback when it + * releases the image. + */ + void setAcquiredImage(void* image, Callback callback, void* userdata) noexcept; + + /** + * @see setAcquiredImage(void*, Callback, void*) + * + * @param image Pointer to AHardwareBuffer, casted to void* since this is a public header. + * @param handler Handler to dispatch the AcquiredImage or nullptr for the default handler. + * @param callback This is triggered by Filament when it wishes to release the image. + * It callback tales two arguments: the AHardwareBuffer and the userdata. + * @param userdata Optional closure data. Filament will pass this into the callback when it + * releases the image. + */ + void setAcquiredImage(void* image, backend::CallbackHandler* handler, Callback callback, void* userdata) noexcept; + + /** + * Updates the size of the incoming stream. Whether this value is used is + * stream dependent. On Android, it must be set when using + * Builder::stream(long externalTextureId). + * + * @param width new width of the incoming stream + * @param height new height of the incoming stream + */ + void setDimensions(uint32_t width, uint32_t height) noexcept; + + /** + * Returns the presentation time of the currently displayed frame in nanosecond. + * + * This value can change at any time. + * + * @return timestamp in nanosecond. + */ + int64_t getTimestamp() const noexcept; + +protected: + // prevent heap allocation + ~Stream() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_STREAM_H diff --git a/web/include/filament/filament/SwapChain.h b/web/include/filament/filament/SwapChain.h new file mode 100644 index 00000000..c17523ac --- /dev/null +++ b/web/include/filament/filament/SwapChain.h @@ -0,0 +1,297 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_SWAPCHAIN_H +#define TNT_FILAMENT_SWAPCHAIN_H + +#include + +#include +#include +#include + +#include +#include + +namespace filament { + +class Engine; + +/** + * A swap chain represents an Operating System's *native* renderable surface. + * + * Typically it's a native window or a view. Because a SwapChain is initialized from a + * native object, it is given to filament as a `void *`, which must be of the proper type + * for each platform filament is running on. + * + * \code + * SwapChain* swapChain = engine->createSwapChain(nativeWindow); + * \endcode + * + * When Engine::create() is used without specifying a Platform, the `nativeWindow` + * parameter above must be of type: + * + * Platform | nativeWindow type + * :---------------|:----------------------------: + * Android | ANativeWindow* + * macOS - OpenGL | NSView* + * macOS - Metal | CAMetalLayer* + * iOS - OpenGL | CAEAGLLayer* + * iOS - Metal | CAMetalLayer* + * X11 | Window + * Windows | HWND + * + * Otherwise, the `nativeWindow` is defined by the concrete implementation of Platform. + * + * + * Examples: + * + * Android + * ------- + * + * On Android, an `ANativeWindow*` can be obtained from a Java `Surface` object using: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * #include + * // parameters + * // env: JNIEnv* + * // surface: jobject + * ANativeWindow* win = ANativeWindow_fromSurface(env, surface); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * \warning + * Don't use reflection to access the `mNativeObject` field, it won't work. + * + * A `Surface` can be retrieved from a `SurfaceView` or `SurfaceHolder` easily using + * `SurfaceHolder.getSurface()` and/or `SurfaceView.getHolder()`. + * + * \note + * To use a `TextureView` as a SwapChain, it is necessary to first get its `SurfaceTexture`, + * for instance using `TextureView.SurfaceTextureListener` and then create a `Surface`: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.java} + * // using a TextureView.SurfaceTextureListener: + * public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) { + * mSurface = new Surface(surfaceTexture); + * // mSurface can now be used in JNI to create an ANativeWindow. + * } + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Linux + * ----- + * + * Example using SDL: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * SDL_SysWMinfo wmi; + * SDL_VERSION(&wmi.version); + * SDL_GetWindowWMInfo(sdlWindow, &wmi); + * Window nativeWindow = (Window) wmi.info.x11.window; + * + * using namespace filament; + * Engine* engine = Engine::create(); + * SwapChain* swapChain = engine->createSwapChain((void*) nativeWindow); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Windows + * ------- + * + * Example using SDL: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * SDL_SysWMinfo wmi; + * SDL_VERSION(&wmi.version); + * ASSERT_POSTCONDITION(SDL_GetWindowWMInfo(sdlWindow, &wmi), "SDL version unsupported!"); + * HDC nativeWindow = (HDC) wmi.info.win.hdc; + * + * using namespace filament; + * Engine* engine = Engine::create(); + * SwapChain* swapChain = engine->createSwapChain((void*) nativeWindow); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * OSX + * --- + * + * On OSX, any `NSView` can be used *directly* as a `nativeWindow` with createSwapChain(). + * + * Example using SDL/Objective-C: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.mm} + * #include + * + * #include + * #include + * + * SDL_SysWMinfo wmi; + * SDL_VERSION(&wmi.version); + * NSWindow* win = (NSWindow*) wmi.info.cocoa.window; + * NSView* view = [win contentView]; + * void* nativeWindow = view; + * + * using namespace filament; + * Engine* engine = Engine::create(); + * SwapChain* swapChain = engine->createSwapChain(nativeWindow); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * @see Engine + */ +class UTILS_PUBLIC SwapChain : public FilamentAPI { +public: + using FrameScheduledCallback = backend::FrameScheduledCallback; + using FrameCompletedCallback = utils::Invocable; + + /** + * Requests a SwapChain with an alpha channel. + */ + static const uint64_t CONFIG_TRANSPARENT = backend::SWAP_CHAIN_CONFIG_TRANSPARENT; + + /** + * This flag indicates that the swap chain may be used as a source surface + * for reading back render results. This config must be set when creating + * any swap chain that will be used as the source for a blit operation. + * + * @see + * Renderer.copyFrame() + */ + static const uint64_t CONFIG_READABLE = backend::SWAP_CHAIN_CONFIG_READABLE; + + /** + * Indicates that the native X11 window is an XCB window rather than an XLIB window. + * This is ignored on non-Linux platforms and in builds that support only one X11 API. + */ + static const uint64_t CONFIG_ENABLE_XCB = backend::SWAP_CHAIN_CONFIG_ENABLE_XCB; + + /** + * Indicates that the native window is a CVPixelBufferRef. + * + * This is only supported by the Metal backend. The CVPixelBuffer must be in the + * kCVPixelFormatType_32BGRA format. + * + * It is not necessary to add an additional retain call before passing the pixel buffer to + * Filament. Filament will call CVPixelBufferRetain during Engine::createSwapChain, and + * CVPixelBufferRelease when the swap chain is destroyed. + */ + static const uint64_t CONFIG_APPLE_CVPIXELBUFFER = + backend::SWAP_CHAIN_CONFIG_APPLE_CVPIXELBUFFER; + + /** + * Indicates that the SwapChain must automatically perform linear to sRGB encoding. + * + * This flag is ignored if isSRGBSwapChainSupported() is false. + * + * When using this flag, the output colorspace in ColorGrading should be set to + * Rec709-Linear-D65, or post-processing should be disabled. + * + * @see isSRGBSwapChainSupported() + * @see ColorGrading.outputColorSpace() + * @see View.setPostProcessingEnabled() + */ + static constexpr uint64_t CONFIG_SRGB_COLORSPACE = backend::SWAP_CHAIN_CONFIG_SRGB_COLORSPACE; + + /** + * Indicates that this SwapChain should allocate a stencil buffer in addition to a depth buffer. + * + * This flag is necessary when using View::setStencilBufferEnabled and rendering directly into + * the SwapChain (when post-processing is disabled). + * + * The specific format of the stencil buffer depends on platform support. The following pixel + * formats are tried, in order of preference: + * + * Depth only (without CONFIG_HAS_STENCIL_BUFFER): + * - DEPTH32F + * - DEPTH24 + * + * Depth + stencil (with CONFIG_HAS_STENCIL_BUFFER): + * - DEPTH32F_STENCIL8 + * - DEPTH24F_STENCIL8 + * + * Note that enabling the stencil buffer may hinder depth precision and should only be used if + * necessary. + * + * @see View.setStencilBufferEnabled + * @see View.setPostProcessingEnabled + */ + static constexpr uint64_t CONFIG_HAS_STENCIL_BUFFER = backend::SWAP_CHAIN_HAS_STENCIL_BUFFER; + + /** + * Return whether createSwapChain supports the SWAP_CHAIN_CONFIG_SRGB_COLORSPACE flag. + * The default implementation returns false. + * + * @param engine A pointer to the filament Engine + * @return true if SWAP_CHAIN_CONFIG_SRGB_COLORSPACE is supported, false otherwise. + */ + static bool isSRGBSwapChainSupported(Engine& engine) noexcept; + + void* getNativeWindow() const noexcept; + + /** + * FrameScheduledCallback is a callback function that notifies an application when Filament has + * completed processing a frame and that frame is ready to be scheduled for presentation. + * + * Typically, Filament is responsible for scheduling the frame's presentation to the SwapChain. + * If a SwapChain::FrameScheduledCallback is set, however, the application bares the + * responsibility of scheduling a frame for presentation by calling the backend::PresentCallable + * passed to the callback function. Currently this functionality is only supported by the Metal + * backend. + * + * A FrameScheduledCallback can be set on an individual SwapChain through + * SwapChain::setFrameScheduledCallback. If the callback is set, then the SwapChain will *not* + * automatically schedule itself for presentation. Instead, the application must call the + * PresentCallable passed to the FrameScheduledCallback. + * + * @param callback A callback, or nullptr to unset. + * @param user An optional pointer to user data passed to the callback function. + * + * @remark Only Filament's Metal backend supports PresentCallables and frame callbacks. Other + * backends ignore the callback (which will never be called) and proceed normally. + * + * @remark The SwapChain::FrameScheduledCallback is called on an arbitrary thread. + * + * @see PresentCallable + */ + void setFrameScheduledCallback(FrameScheduledCallback callback, void* user = nullptr); + + /** + * FrameCompletedCallback is a callback function that notifies an application when a frame's + * contents have completed rendering on the GPU. + * + * Use SwapChain::setFrameCompletedCallback to set a callback on an individual SwapChain. Each + * time a frame completes GPU rendering, the callback will be called. + * + * If handler is nullptr, the callback is guaranteed to be called on the main Filament thread. + * + * Use \c setFrameCompletedCallback() (with default arguments) to unset the callback. + * + * @param handler Handler to dispatch the callback or nullptr for the default handler. + * @param callback Callback called when each frame completes. + * + * @remark Only Filament's Metal backend supports frame callbacks. Other backends ignore the + * callback (which will never be called) and proceed normally. + * + * @see CallbackHandler + */ + void setFrameCompletedCallback(backend::CallbackHandler* handler = nullptr, + FrameCompletedCallback&& callback = {}) noexcept; + + +protected: + // prevent heap allocation + ~SwapChain() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_SWAPCHAIN_H diff --git a/web/include/filament/filament/Texture.h b/web/include/filament/filament/Texture.h new file mode 100644 index 00000000..cf63944f --- /dev/null +++ b/web/include/filament/filament/Texture.h @@ -0,0 +1,553 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_TEXTURE_H +#define TNT_FILAMENT_TEXTURE_H + +#include +#include +#include + +#include + +#include + +namespace filament { + +class FTexture; + +class Engine; +class Stream; + +/** + * Texture + * + * The Texture class supports: + * - 2D textures + * - 3D textures + * - Cube maps + * - mip mapping + * + * + * Creation and destruction + * ======================== + * + * A Texture object is created using the Texture::Builder and destroyed by calling + * Engine::destroy(const Texture*). + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} + * filament::Engine* engine = filament::Engine::create(); + * + * filament::Texture* texture = filament::Texture::Builder() + * .width(64) + * .height(64) + * .build(*engine); + * + * engine->destroy(texture); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + */ +class UTILS_PUBLIC Texture : public FilamentAPI { + struct BuilderDetails; + +public: + static constexpr const size_t BASE_LEVEL = 0; + + //! Face offsets for all faces of a cubemap + struct FaceOffsets; + + using PixelBufferDescriptor = backend::PixelBufferDescriptor; //!< Geometry of a pixel buffer + using Sampler = backend::SamplerType; //!< Type of sampler + using InternalFormat = backend::TextureFormat; //!< Internal texel format + using CubemapFace = backend::TextureCubemapFace; //!< Cube map faces + using Format = backend::PixelDataFormat; //!< Pixel color format + using Type = backend::PixelDataType; //!< Pixel data format + using CompressedType = backend::CompressedPixelDataType; //!< Compressed pixel data format + using Usage = backend::TextureUsage; //!< Usage affects texel layout + using Swizzle = backend::TextureSwizzle; //!< Texture swizzle + + /** @return whether a backend supports a particular format. */ + static bool isTextureFormatSupported(Engine& engine, InternalFormat format) noexcept; + + /** @return whether a backend supports texture swizzling. */ + static bool isTextureSwizzleSupported(Engine& engine) noexcept; + + static size_t computeTextureDataSize(Texture::Format format, Texture::Type type, + size_t stride, size_t height, size_t alignment) noexcept; + + + /** + * Options for environment prefiltering into reflection map + * + * @see generatePrefilterMipmap() + */ + struct PrefilterOptions { + uint16_t sampleCount = 8; //!< sample count used for filtering + bool mirror = true; //!< whether the environment must be mirrored + private: + UTILS_UNUSED uintptr_t reserved[3] = {}; + }; + + + //! Use Builder to construct a Texture object instance + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Specifies the width in texels of the texture. Doesn't need to be a power-of-two. + * @param width Width of the texture in texels (default: 1). + * @return This Builder, for chaining calls. + */ + Builder& width(uint32_t width) noexcept; + + /** + * Specifies the height in texels of the texture. Doesn't need to be a power-of-two. + * @param height Height of the texture in texels (default: 1). + * @return This Builder, for chaining calls. + */ + Builder& height(uint32_t height) noexcept; + + /** + * Specifies the depth in texels of the texture. Doesn't need to be a power-of-two. + * The depth controls the number of layers in a 2D array texture. Values greater than 1 + * effectively create a 3D texture. + * @param depth Depth of the texture in texels (default: 1). + * @return This Builder, for chaining calls. + * @attention This Texture instance must use Sampler::SAMPLER_3D or + * Sampler::SAMPLER_2D_ARRAY or it has no effect. + */ + Builder& depth(uint32_t depth) noexcept; + + /** + * Specifies the numbers of mip map levels. + * This creates a mip-map pyramid. The maximum number of levels a texture can have is + * such that max(width, height, level) / 2^MAX_LEVELS = 1 + * @param levels Number of mipmap levels for this texture. + * @return This Builder, for chaining calls. + */ + Builder& levels(uint8_t levels) noexcept; + + /** + * Specifies the type of sampler to use. + * @param target Sampler type + * @return This Builder, for chaining calls. + * @see Sampler + */ + Builder& sampler(Sampler target) noexcept; + + /** + * Specifies the *internal* format of this texture. + * + * The internal format specifies how texels are stored (which may be different from how + * they're specified in setImage()). InternalFormat specifies both the color components + * and the data type used. + * + * @param format Format of the texture's texel. + * @return This Builder, for chaining calls. + * @see InternalFormat, setImage + */ + Builder& format(InternalFormat format) noexcept; + + /** + * Specifies if the texture will be used as a render target attachment. + * + * If the texture is potentially rendered into, it may require a different memory layout, + * which needs to be known during construction. + * + * @param usage Defaults to Texture::Usage::DEFAULT; c.f. Texture::Usage::COLOR_ATTACHMENT. + * @return This Builder, for chaining calls. + */ + Builder& usage(Usage usage) noexcept; + + /** + * Specifies how a texture's channels map to color components + * + * Texture Swizzle is only supported if isTextureSwizzleSupported() returns true. + * + * @param r texture channel for red component + * @param g texture channel for green component + * @param b texture channel for blue component + * @param a texture channel for alpha component + * @return This Builder, for chaining calls. + * @see Texture::isTextureSwizzleSupported() + */ + Builder& swizzle(Swizzle r, Swizzle g, Swizzle b, Swizzle a) noexcept; + + /** + * Creates the Texture object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this Texture with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + */ + Texture* build(Engine& engine); + + /* no user serviceable parts below */ + + /** + * Specify a native texture to import as a Filament texture. + * + * The texture id is backend-specific: + * - OpenGL: GLuint texture ID + * - Metal: id + * + * With Metal, the id object should be cast to an intptr_t using + * CFBridgingRetain to transfer ownership to Filament. Filament will release ownership of + * the texture object when the Filament texture is destroyed. + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} + * id metalTexture = ... + * filamentTexture->import((intptr_t) CFBridgingRetain(metalTexture)); + * // free to release metalTexture + * + * // after using texture: + * engine->destroy(filamentTexture); // metalTexture is released + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * @warning This method should be used as a last resort. This API is subject to change or + * removal. + * + * @param id a backend specific texture identifier + * + * @return This Builder, for chaining calls. + */ + Builder& import(intptr_t id) noexcept; + + private: + friend class FTexture; + }; + + /** + * Returns the width of a 2D or 3D texture level + * @param level texture level. + * @return Width in texel of the specified \p level, clamped to 1. + * @attention If this texture is using Sampler::SAMPLER_EXTERNAL, the dimension + * of the texture are unknown and this method always returns whatever was set on the Builder. + */ + size_t getWidth(size_t level = BASE_LEVEL) const noexcept; + + /** + * Returns the height of a 2D or 3D texture level + * @param level texture level. + * @return Height in texel of the specified \p level, clamped to 1. + * @attention If this texture is using Sampler::SAMPLER_EXTERNAL, the dimension + * of the texture are unknown and this method always returns whatever was set on the Builder. + */ + size_t getHeight(size_t level = BASE_LEVEL) const noexcept; + + /** + * Returns the depth of a 3D texture level + * @param level texture level. + * @return Depth in texel of the specified \p level, clamped to 1. + * @attention If this texture is using Sampler::SAMPLER_EXTERNAL, the dimension + * of the texture are unknown and this method always returns whatever was set on the Builder. + */ + size_t getDepth(size_t level = BASE_LEVEL) const noexcept; + + /** + * Returns the maximum number of levels this texture can have. + * @return maximum number of levels this texture can have. + * @attention If this texture is using Sampler::SAMPLER_EXTERNAL, the dimension + * of the texture are unknown and this method always returns whatever was set on the Builder. + */ + size_t getLevels() const noexcept; + + /** + * Return this texture Sampler as set by Builder::sampler(). + * @return this texture Sampler as set by Builder::sampler() + */ + Sampler getTarget() const noexcept; + + /** + * Return this texture InternalFormat as set by Builder::format(). + * @return this texture InternalFormat as set by Builder::format(). + */ + InternalFormat getFormat() const noexcept; + + /** + * Updates a sub-image of a 3D texture or 2D texture array for a level. Cubemaps are treated + * like a 2D array of six layers. + * + * @param engine Engine this texture is associated to. + * @param level Level to set the image for. + * @param xoffset Left offset of the sub-region to update. + * @param yoffset Bottom offset of the sub-region to update. + * @param zoffset Depth offset of the sub-region to update. + * @param width Width of the sub-region to update. + * @param height Height of the sub-region to update. + * @param depth Depth of the sub-region to update. + * @param buffer Client-side buffer containing the image to set. + * + * @attention \p engine must be the instance passed to Builder::build() + * @attention \p level must be less than getLevels(). + * @attention \p buffer's Texture::Format must match that of getFormat(). + * @attention This Texture instance must use Sampler::SAMPLER_3D, Sampler::SAMPLER_2D_ARRAY + * or Sampler::SAMPLER_CUBEMAP. + * + * @see Builder::sampler() + */ + void setImage(Engine& engine, size_t level, + uint32_t xoffset, uint32_t yoffset, uint32_t zoffset, + uint32_t width, uint32_t height, uint32_t depth, + PixelBufferDescriptor&& buffer) const; + + /** + * inline helper to update a 2D texture + * + * @see setImage(Engine& engine, size_t level, + * uint32_t xoffset, uint32_t yoffset, uint32_t zoffset, + * uint32_t width, uint32_t height, uint32_t depth, + * PixelBufferDescriptor&& buffer) + */ + inline void setImage(Engine& engine, size_t level, PixelBufferDescriptor&& buffer) const { + setImage(engine, level, 0, 0, 0, + uint32_t(getWidth(level)), uint32_t(getHeight(level)), 1, std::move(buffer)); + } + + /** + * inline helper to update a 2D texture + * + * @see setImage(Engine& engine, size_t level, + * uint32_t xoffset, uint32_t yoffset, uint32_t zoffset, + * uint32_t width, uint32_t height, uint32_t depth, + * PixelBufferDescriptor&& buffer) + */ + inline void setImage(Engine& engine, size_t level, + uint32_t xoffset, uint32_t yoffset, uint32_t width, uint32_t height, + PixelBufferDescriptor&& buffer) const { + setImage(engine, level, xoffset, yoffset, 0, width, height, 1, std::move(buffer)); + } + + /** + * Specify all six images of a cube map level. + * + * This method follows exactly the OpenGL conventions. + * + * @param engine Engine this texture is associated to. + * @param level Level to set the image for. + * @param buffer Client-side buffer containing the images to set. + * @param faceOffsets Offsets in bytes into \p buffer for all six images. The offsets + * are specified in the following order: +x, -x, +y, -y, +z, -z + * + * @attention \p engine must be the instance passed to Builder::build() + * @attention \p level must be less than getLevels(). + * @attention \p buffer's Texture::Format must match that of getFormat(). + * @attention This Texture instance must use Sampler::SAMPLER_CUBEMAP or it has no effect + * + * @see Texture::CubemapFace, Builder::sampler() + * + * @deprecated Instead, use setImage(Engine& engine, size_t level, + * uint32_t xoffset, uint32_t yoffset, uint32_t zoffset, + * uint32_t width, uint32_t height, uint32_t depth, + * PixelBufferDescriptor&& buffer) + */ + UTILS_DEPRECATED + void setImage(Engine& engine, size_t level, + PixelBufferDescriptor&& buffer, const FaceOffsets& faceOffsets) const; + + + /** + * Specify the external image to associate with this Texture. Typically the external + * image is OS specific, and can be a video or camera frame. + * There are many restrictions when using an external image as a texture, such as: + * - only the level of detail (lod) 0 can be specified + * - only nearest or linear filtering is supported + * - the size and format of the texture is defined by the external image + * - only the CLAMP_TO_EDGE wrap mode is supported + * + * @param engine Engine this texture is associated to. + * @param image An opaque handle to a platform specific image. Supported types are + * eglImageOES on Android and CVPixelBufferRef on iOS. + * + * On iOS the following pixel formats are supported: + * - kCVPixelFormatType_32BGRA + * - kCVPixelFormatType_420YpCbCr8BiPlanarFullRange + * + * @attention \p engine must be the instance passed to Builder::build() + * @attention This Texture instance must use Sampler::SAMPLER_EXTERNAL or it has no effect + * + * @see Builder::sampler() + * + */ + void setExternalImage(Engine& engine, void* image) noexcept; + + /** + * Specify the external image and plane to associate with this Texture. Typically the external + * image is OS specific, and can be a video or camera frame. When using this method, the + * external image must be a planar type (such as a YUV camera frame). The plane parameter + * selects which image plane is bound to this texture. + * + * A single external image can be bound to different Filament textures, with each texture + * associated with a separate plane: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * textureA->setExternalImage(engine, image, 0); + * textureB->setExternalImage(engine, image, 1); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * There are many restrictions when using an external image as a texture, such as: + * - only the level of detail (lod) 0 can be specified + * - only nearest or linear filtering is supported + * - the size and format of the texture is defined by the external image + * - only the CLAMP_TO_EDGE wrap mode is supported + * + * @param engine Engine this texture is associated to. + * @param image An opaque handle to a platform specific image. Supported types are + * eglImageOES on Android and CVPixelBufferRef on iOS. + * @param plane The plane index of the external image to associate with this texture. + * + * This method is only meaningful on iOS with + * kCVPixelFormatType_420YpCbCr8BiPlanarFullRange images. On platforms + * other than iOS, this method is a no-op. + */ + void setExternalImage(Engine& engine, void* image, size_t plane) noexcept; + + /** + * Specify the external stream to associate with this Texture. Typically the external + * stream is OS specific, and can be a video or camera stream. + * There are many restrictions when using an external stream as a texture, such as: + * - only the level of detail (lod) 0 can be specified + * - only nearest or linear filtering is supported + * - the size and format of the texture is defined by the external stream + * + * @param engine Engine this texture is associated to. + * @param stream A Stream object + * + * @attention \p engine must be the instance passed to Builder::build() + * @attention This Texture instance must use Sampler::SAMPLER_EXTERNAL or it has no effect + * + * @see Builder::sampler(), Stream + * + */ + void setExternalStream(Engine& engine, Stream* stream) noexcept; + + /** + * Generates all the mipmap levels automatically. This requires the texture to have a + * color-renderable format and usage set to BLIT_SRC | BLIT_DST. If unspecified, + * usage bits are set automatically. + * + * @param engine Engine this texture is associated to. + * + * @attention \p engine must be the instance passed to Builder::build() + * @attention This Texture instance must NOT use SamplerType::SAMPLER_3D or it has no effect + */ + void generateMipmaps(Engine& engine) const noexcept; + + /** + * Creates a reflection map from an environment map. + * + * This is a utility function that replaces calls to Texture::setImage(). + * The provided environment map is processed and all mipmap levels are populated. The + * processing is similar to the offline tool `cmgen` as a lower quality setting. + * + * This function is intended to be used when the environment cannot be processed offline, + * for instance if it's generated at runtime. + * + * The source data must obey to some constraints: + * - the data type must be PixelDataFormat::RGB + * - the data format must be one of + * - PixelDataType::FLOAT + * - PixelDataType::HALF + * + * The current texture must be a cubemap + * + * The reflections cubemap's internal format cannot be a compressed format. + * + * The reflections cubemap's dimension must be a power-of-two. + * + * @warning This operation is computationally intensive, especially with large environments and + * is currently synchronous. Expect about 1ms for a 16x16 cubemap. + * + * @param engine Reference to the filament::Engine to associate this IndirectLight with. + * @param buffer Client-side buffer containing the images to set. + * @param faceOffsets Offsets in bytes into \p buffer for all six images. The offsets + * are specified in the following order: +x, -x, +y, -y, +z, -z + * @param options Optional parameter to controlling user-specified quality and options. + * + * @exception utils::PreConditionPanic if the source data constraints are not respected. + * + */ + void generatePrefilterMipmap(Engine& engine, + PixelBufferDescriptor&& buffer, const FaceOffsets& faceOffsets, + PrefilterOptions const* options = nullptr); + + + /** @deprecated */ + struct FaceOffsets { + using size_type = size_t; + union { + struct { + size_type px; //!< +x face offset in bytes + size_type nx; //!< -x face offset in bytes + size_type py; //!< +y face offset in bytes + size_type ny; //!< -y face offset in bytes + size_type pz; //!< +z face offset in bytes + size_type nz; //!< -z face offset in bytes + }; + size_type offsets[6]; + }; + size_type operator[](size_t n) const noexcept { return offsets[n]; } + size_type& operator[](size_t n) { return offsets[n]; } + FaceOffsets() noexcept = default; + explicit FaceOffsets(size_type faceSize) noexcept { + px = faceSize * 0; + nx = faceSize * 1; + py = faceSize * 2; + ny = faceSize * 3; + pz = faceSize * 4; + nz = faceSize * 5; + } + FaceOffsets(const FaceOffsets& rhs) noexcept { + px = rhs.px; + nx = rhs.nx; + py = rhs.py; + ny = rhs.ny; + pz = rhs.pz; + nz = rhs.nz; + } + FaceOffsets& operator=(const FaceOffsets& rhs) noexcept { + px = rhs.px; + nx = rhs.nx; + py = rhs.py; + ny = rhs.ny; + pz = rhs.pz; + nz = rhs.nz; + return *this; + } + }; + +protected: + // prevent heap allocation + ~Texture() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_TEXTURE_H diff --git a/web/include/filament/filament/TextureSampler.h b/web/include/filament/filament/TextureSampler.h new file mode 100644 index 00000000..77ee4fab --- /dev/null +++ b/web/include/filament/filament/TextureSampler.h @@ -0,0 +1,207 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_TEXTURESAMPLER_H +#define TNT_FILAMENT_TEXTURESAMPLER_H + +#include + +#include + +#include + +namespace filament { + +/** + * TextureSampler defines how a texture is accessed. + */ +class UTILS_PUBLIC TextureSampler { +public: + using WrapMode = backend::SamplerWrapMode; + using MinFilter = backend::SamplerMinFilter; + using MagFilter = backend::SamplerMagFilter; + using CompareMode = backend::SamplerCompareMode; + using CompareFunc = backend::SamplerCompareFunc; + + /** + * Creates a default sampler. + * The default parameters are: + * - filterMag : NEAREST + * - filterMin : NEAREST + * - wrapS : CLAMP_TO_EDGE + * - wrapT : CLAMP_TO_EDGE + * - wrapR : CLAMP_TO_EDGE + * - compareMode : NONE + * - compareFunc : Less or equal + * - no anisotropic filtering + */ + TextureSampler() noexcept = default; + + explicit TextureSampler(backend::SamplerParams params) noexcept : mSamplerParams(params) { } + + TextureSampler(const TextureSampler& rhs) noexcept = default; + TextureSampler& operator=(const TextureSampler& rhs) noexcept = default; + + /** + * Creates a TextureSampler with the default parameters but setting the filtering and wrap modes. + * @param minMag filtering for both minification and magnification + * @param str wrapping mode for all texture coordinate axes + */ + explicit TextureSampler(MagFilter minMag, WrapMode str = WrapMode::CLAMP_TO_EDGE) noexcept { + mSamplerParams.filterMin = MinFilter(minMag); + mSamplerParams.filterMag = minMag; + mSamplerParams.wrapS = str; + mSamplerParams.wrapT = str; + mSamplerParams.wrapR = str; + } + + /** + * Creates a TextureSampler with the default parameters but setting the filtering and wrap modes. + * @param min filtering for minification + * @param mag filtering for magnification + * @param str wrapping mode for all texture coordinate axes + */ + TextureSampler(MinFilter min, MagFilter mag, WrapMode str = WrapMode::CLAMP_TO_EDGE) noexcept { + mSamplerParams.filterMin = min; + mSamplerParams.filterMag = mag; + mSamplerParams.wrapS = str; + mSamplerParams.wrapT = str; + mSamplerParams.wrapR = str; + } + + /** + * Creates a TextureSampler with the default parameters but setting the filtering and wrap modes. + * @param min filtering for minification + * @param mag filtering for magnification + * @param s wrap mode for the s (horizontal)texture coordinate + * @param t wrap mode for the t (vertical) texture coordinate + * @param r wrap mode for the r (depth) texture coordinate + */ + TextureSampler(MinFilter min, MagFilter mag, WrapMode s, WrapMode t, WrapMode r) noexcept { + mSamplerParams.filterMin = min; + mSamplerParams.filterMag = mag; + mSamplerParams.wrapS = s; + mSamplerParams.wrapT = t; + mSamplerParams.wrapR = r; + } + + /** + * Creates a TextureSampler with the default parameters but setting the compare mode and function + * @param mode Compare mode + * @param func Compare function + */ + explicit TextureSampler(CompareMode mode, CompareFunc func = CompareFunc::LE) noexcept { + mSamplerParams.compareMode = mode; + mSamplerParams.compareFunc = func; + } + + /** + * Sets the minification filter + * @param v Minification filter + */ + void setMinFilter(MinFilter v) noexcept { + mSamplerParams.filterMin = v; + } + + /** + * Sets the magnification filter + * @param v Magnification filter + */ + void setMagFilter(MagFilter v) noexcept { + mSamplerParams.filterMag = v; + } + + /** + * Sets the wrap mode for the s (horizontal) texture coordinate + * @param v wrap mode + */ + void setWrapModeS(WrapMode v) noexcept { + mSamplerParams.wrapS = v; + } + + /** + * Sets the wrap mode for the t (vertical) texture coordinate + * @param v wrap mode + */ + void setWrapModeT(WrapMode v) noexcept { + mSamplerParams.wrapT = v; + } + + /** + * Sets the wrap mode for the r (depth, for 3D textures) texture coordinate + * @param v wrap mode + */ + void setWrapModeR(WrapMode v) noexcept { + mSamplerParams.wrapR = v; + } + + /** + * This controls anisotropic filtering. + * @param anisotropy Amount of anisotropy, should be a power-of-two. The default is 0. + * The maximum permissible value is 7. + */ + void setAnisotropy(float anisotropy) noexcept { + const int log2 = ilogbf(anisotropy > 0 ? anisotropy : -anisotropy); + mSamplerParams.anisotropyLog2 = uint8_t(log2 < 7 ? log2 : 7); + } + + /** + * Sets the compare mode and function. + * @param mode Compare mode + * @param func Compare function + */ + void setCompareMode(CompareMode mode, CompareFunc func = CompareFunc::LE) noexcept { + mSamplerParams.compareMode = mode; + mSamplerParams.compareFunc = func; + } + + //! returns the minification filter value + MinFilter getMinFilter() const noexcept { return mSamplerParams.filterMin; } + + //! returns the magnification filter value + MagFilter getMagFilter() const noexcept { return mSamplerParams.filterMag; } + + //! returns the s-coordinate wrap mode (horizontal) + WrapMode getWrapModeS() const noexcept { return mSamplerParams.wrapS; } + + //! returns the t-coordinate wrap mode (vertical) + WrapMode getWrapModeT() const noexcept { return mSamplerParams.wrapT; } + + //! returns the r-coordinate wrap mode (depth) + WrapMode getWrapModeR() const noexcept { return mSamplerParams.wrapR; } + + //! returns the anisotropy value + float getAnisotropy() const noexcept { return float(1u << mSamplerParams.anisotropyLog2); } + + //! returns the compare mode + CompareMode getCompareMode() const noexcept { return mSamplerParams.compareMode; } + + //! returns the compare function + CompareFunc getCompareFunc() const noexcept { return mSamplerParams.compareFunc; } + + + // no user-serviceable parts below... + backend::SamplerParams getSamplerParams() const noexcept { return mSamplerParams; } + +private: + backend::SamplerParams mSamplerParams{}; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_TEXTURESAMPLER_H diff --git a/web/include/filament/filament/ToneMapper.h b/web/include/filament/filament/ToneMapper.h new file mode 100644 index 00000000..d220f47b --- /dev/null +++ b/web/include/filament/filament/ToneMapper.h @@ -0,0 +1,251 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_TONEMAPPER_H +#define TNT_FILAMENT_TONEMAPPER_H + +#include + +#include + +namespace filament { + +/** + * Interface for tone mapping operators. A tone mapping operator, or tone mapper, + * is responsible for compressing the dynamic range of the rendered scene to a + * dynamic range suitable for display. + * + * In Filament, tone mapping is a color grading step. ToneMapper instances are + * created and passed to the ColorGrading::Builder to produce a 3D LUT that will + * be used during post-processing to prepare the final color buffer for display. + * + * Filament provides several default tone mapping operators that fall into three + * categories: + * + * - Configurable tone mapping operators + * - GenericToneMapper + * - Fixed-aesthetic tone mapping operators + * - ACESToneMapper + * - ACESLegacyToneMapper + * - FilmicToneMapper + * - Debug/validation tone mapping operators + * - LinearToneMapper + * - DisplayRangeToneMapper + * + * You can create custom tone mapping operators by subclassing ToneMapper. + */ +struct UTILS_PUBLIC ToneMapper { + ToneMapper() noexcept; + virtual ~ToneMapper() noexcept; + + /** + * Maps an open domain (or "scene referred" values) color value to display + * domain (or "display referred") color value. Both the input and output + * color values are defined in the Rec.2020 color space, with no transfer + * function applied ("linear Rec.2020"). + * + * @param c Input color to tone map, in the Rec.2020 color space with no + * transfer function applied ("linear") + * + * @return A tone mapped color in the Rec.2020 color space, with no transfer + * function applied ("linear") + */ + virtual math::float3 operator()(math::float3 c) const noexcept = 0; +}; + +/** + * Linear tone mapping operator that returns the input color but clamped to + * the 0..1 range. This operator is mostly useful for debugging. + */ +struct UTILS_PUBLIC LinearToneMapper final : public ToneMapper { + LinearToneMapper() noexcept; + ~LinearToneMapper() noexcept final; + + math::float3 operator()(math::float3 c) const noexcept override; +}; + +/** + * ACES tone mapping operator. This operator is an implementation of the + * ACES Reference Rendering Transform (RRT) combined with the Output Device + * Transform (ODT) for sRGB monitors (dim surround, 100 nits). + */ +struct UTILS_PUBLIC ACESToneMapper final : public ToneMapper { + ACESToneMapper() noexcept; + ~ACESToneMapper() noexcept final; + + math::float3 operator()(math::float3 c) const noexcept override; +}; + +/** + * ACES tone mapping operator, modified to match the perceived brightness + * of FilmicToneMapper. This operator is the same as ACESToneMapper but + * applies a brightness multiplier of ~1.6 to the input color value to + * target brighter viewing environments. + */ +struct UTILS_PUBLIC ACESLegacyToneMapper final : public ToneMapper { + ACESLegacyToneMapper() noexcept; + ~ACESLegacyToneMapper() noexcept final; + + math::float3 operator()(math::float3 c) const noexcept override; +}; + +/** + * "Filmic" tone mapping operator. This tone mapper was designed to + * approximate the aesthetics of the ACES RRT + ODT for Rec.709 + * and historically Filament's default tone mapping operator. It exists + * only for backward compatibility purposes and is not otherwise recommended. + */ +struct UTILS_PUBLIC FilmicToneMapper final : public ToneMapper { + FilmicToneMapper() noexcept; + ~FilmicToneMapper() noexcept final; + + math::float3 operator()(math::float3 x) const noexcept override; +}; + +/** + * AgX tone mapping operator. + */ +struct UTILS_PUBLIC AgxToneMapper final : public ToneMapper { + + enum class AgxLook : uint8_t { + NONE = 0, //!< Base contrast with no look applied + PUNCHY, //!< A punchy and more chroma laden look for sRGB displays + GOLDEN //!< A golden tinted, slightly washed look for BT.1886 displays + }; + + /** + * Builds a new AgX tone mapper. + * + * @param look an optional creative adjustment to contrast and saturation + */ + explicit AgxToneMapper(AgxLook look = AgxLook::NONE) noexcept; + ~AgxToneMapper() noexcept final; + + math::float3 operator()(math::float3 x) const noexcept override; + + AgxLook look; +}; + +/** + * Generic tone mapping operator that gives control over the tone mapping + * curve. This operator can be used to control the aesthetics of the final + * image. This operator also allows to control the dynamic range of the + * scene referred values. + * + * The tone mapping curve is defined by 5 parameters: + * - contrast: controls the contrast of the curve + * - midGrayIn: sets the input middle gray + * - midGrayOut: sets the output middle gray + * - hdrMax: defines the maximum input value that will be mapped to + * output white + */ +struct UTILS_PUBLIC GenericToneMapper final : public ToneMapper { + /** + * Builds a new generic tone mapper. The default values of the + * constructor parameters approximate an ACES tone mapping curve + * and the maximum input value is set to 10.0. + * + * @param contrast controls the contrast of the curve, must be > 0.0, values + * in the range 0.5..2.0 are recommended. + * @param midGrayIn sets the input middle gray, between 0.0 and 1.0. + * @param midGrayOut sets the output middle gray, between 0.0 and 1.0. + * @param hdrMax defines the maximum input value that will be mapped to + * output white. Must be >= 1.0. + */ + explicit GenericToneMapper( + float contrast = 1.55f, + float midGrayIn = 0.18f, + float midGrayOut = 0.215f, + float hdrMax = 10.0f + ) noexcept; + ~GenericToneMapper() noexcept final; + + GenericToneMapper(GenericToneMapper const&) = delete; + GenericToneMapper& operator=(GenericToneMapper const&) = delete; + GenericToneMapper(GenericToneMapper&& rhs) noexcept; + GenericToneMapper& operator=(GenericToneMapper&& rhs) noexcept; + + math::float3 operator()(math::float3 x) const noexcept override; + + /** Returns the contrast of the curve as a strictly positive value. */ + float getContrast() const noexcept; + + /** Returns how fast scene referred values map to output white as a value between 0.0 and 1.0. */ + float getShoulder() const noexcept; + + /** Returns the middle gray point for input values as a value between 0.0 and 1.0. */ + float getMidGrayIn() const noexcept; + + /** Returns the middle gray point for output values as a value between 0.0 and 1.0. */ + float getMidGrayOut() const noexcept; + + /** Returns the maximum input value that will map to output white, as a value >= 1.0. */ + float getHdrMax() const noexcept; + + /** Sets the contrast of the curve, must be > 0.0, values in the range 0.5..2.0 are recommended. */ + void setContrast(float contrast) noexcept; + + /** Sets the input middle gray, between 0.0 and 1.0. */ + void setMidGrayIn(float midGrayIn) noexcept; + + /** Sets the output middle gray, between 0.0 and 1.0. */ + void setMidGrayOut(float midGrayOut) noexcept; + + /** Defines the maximum input value that will be mapped to output white. Must be >= 1.0. */ + void setHdrMax(float hdrMax) noexcept; + +private: + struct Options; + Options* mOptions; +}; + +/** + * A tone mapper that converts the input HDR RGB color into one of 16 debug colors + * that represent the pixel's exposure. When the output is cyan, the input color + * represents middle gray (18% exposure). Every exposure stop above or below middle + * gray causes a color shift. + * + * The relationship between exposures and colors is: + * + * - -5EV black + * - -4EV darkest blue + * - -3EV darker blue + * - -2EV dark blue + * - -1EV blue + * - OEV cyan + * - +1EV dark green + * - +2EV green + * - +3EV yellow + * - +4EV yellow-orange + * - +5EV orange + * - +6EV bright red + * - +7EV red + * - +8EV magenta + * - +9EV purple + * - +10EV white + * + * This tone mapper is useful to validate and tweak scene lighting. + */ +struct UTILS_PUBLIC DisplayRangeToneMapper final : public ToneMapper { + DisplayRangeToneMapper() noexcept; + ~DisplayRangeToneMapper() noexcept override; + + math::float3 operator()(math::float3 c) const noexcept override; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_TONEMAPPER_H diff --git a/web/include/filament/filament/TransformManager.h b/web/include/filament/filament/TransformManager.h new file mode 100644 index 00000000..73ac2c99 --- /dev/null +++ b/web/include/filament/filament/TransformManager.h @@ -0,0 +1,343 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_TRANSFORMMANAGER_H +#define TNT_FILAMENT_TRANSFORMMANAGER_H + +#include + +#include +#include + +#include + +#include + + +namespace utils { +class Entity; +} // namespace utils + +namespace filament { + +class FTransformManager; + +/** + * TransformManager is used to add transform components to entities. + * + * A Transform component gives an entity a position and orientation in space in the coordinate + * space of its parent transform. The TransformManager takes care of computing the world-space + * transform of each component (i.e. its transform relative to the root). + * + * Creation and destruction + * ======================== + * + * A transform component is created using TransformManager::create() and destroyed by calling + * TransformManager::destroy(). + * + * ~~~~~~~~~~~{.cpp} + * filament::Engine* engine = filament::Engine::create(); + * utils::Entity object = utils::EntityManager.get().create(); + * + * auto& tcm = engine->getTransformManager(); + * + * // create the transform component + * tcm.create(object); + * + * // set its transform + * auto i = tcm.getInstance(object); + * tcm.setTransform(i, mat4f::translation({ 0, 0, -1 })); + * + * // destroy the transform component + * tcm.destroy(object); + * ~~~~~~~~~~~ + * + */ +class UTILS_PUBLIC TransformManager : public FilamentAPI { +public: + using Instance = utils::EntityInstance; + + class children_iterator { + friend class FTransformManager; + TransformManager const& mManager; + Instance mInstance; + children_iterator(TransformManager const& mgr, Instance instance) noexcept + : mManager(mgr), mInstance(instance) { } + public: + using value_type = Instance; + using difference_type = ptrdiff_t; + using pointer = Instance*; + using reference = Instance&; + using iterator_category = std::forward_iterator_tag; + + children_iterator& operator++(); + + children_iterator operator++(int) { // NOLINT + children_iterator ret(*this); + ++(*this); + return ret; + } + + bool operator == (const children_iterator& other) const noexcept { + return mInstance == other.mInstance; + } + + bool operator != (const children_iterator& other) const noexcept { + return mInstance != other.mInstance; + } + + value_type operator*() const { return mInstance; } + }; + + /** + * Returns whether a particular Entity is associated with a component of this TransformManager + * @param e An Entity. + * @return true if this Entity has a component associated with this manager. + */ + bool hasComponent(utils::Entity e) const noexcept; + + /** + * Gets an Instance representing the transform component associated with the given Entity. + * @param e An Entity. + * @return An Instance object, which represents the transform component associated with the Entity e. + * @note Use Instance::isValid() to make sure the component exists. + * @see hasComponent() + */ + Instance getInstance(utils::Entity e) const noexcept; + + /** + * @return the number of Components + */ + size_t getComponentCount() const noexcept; + + /** + * @return true if the this manager has no components + */ + bool empty() const noexcept; + + /** + * Retrieve the `Entity` of the component from its `Instance`. + * @param i Instance of the component obtained from getInstance() + * @return + */ + utils::Entity getEntity(Instance i) const noexcept; + + /** + * Retrieve the Entities of all the components of this manager. + * @return A list, in no particular order, of all the entities managed by this manager. + */ + utils::Entity const* getEntities() const noexcept; + + /** + * Enables or disable the accurate translation mode. Disabled by default. + * + * When accurate translation mode is active, the translation component of all transforms is + * maintained at double precision. This is only useful if the mat4 version of setTransform() + * is used, as well as getTransformAccurate(). + * + * @param enable true to enable the accurate translation mode, false to disable. + * + * @see isAccurateTranslationsEnabled + * @see create(utils::Entity, Instance, const math::mat4&); + * @see setTransform(Instance, const math::mat4&) + * @see getTransformAccurate + * @see getWorldTransformAccurate + */ + void setAccurateTranslationsEnabled(bool enable) noexcept; + + /** + * Returns whether the high precision translation mode is active. + * @return true if accurate translations mode is active, false otherwise + * @see setAccurateTranslationsEnabled + */ + bool isAccurateTranslationsEnabled() const noexcept; + + /** + * Creates a transform component and associate it with the given entity. + * @param entity An Entity to associate a transform component to. + * @param parent The Instance of the parent transform, or Instance{} if no parent. + * @param localTransform The transform to initialize the transform component with. + * This is always relative to the parent. + * + * If this component already exists on the given entity, it is first destroyed as if + * destroy(utils::Entity e) was called. + * + * @see destroy() + */ + void create(utils::Entity entity, Instance parent, const math::mat4f& localTransform); + void create(utils::Entity entity, Instance parent, const math::mat4& localTransform); //!< \overload + void create(utils::Entity entity, Instance parent = {}); //!< \overload + + /** + * Destroys this component from the given entity, children are orphaned. + * @param e An entity. + * + * @note If this transform had children, these are orphaned, which means their local + * transform becomes a world transform. Usually it's nonsensical. It's recommended to make + * sure that a destroyed transform doesn't have children. + * + * @see create() + */ + void destroy(utils::Entity e) noexcept; + + /** + * Re-parents an entity to a new one. + * @param i The instance of the transform component to re-parent + * @param newParent The instance of the new parent transform + * @attention It is an error to re-parent an entity to a descendant and will cause undefined behaviour. + * @see getInstance() + */ + void setParent(Instance i, Instance newParent) noexcept; + + /** + * Returns the parent of a transform component, or the null entity if it is a root. + * @param i The instance of the transform component to query. + */ + utils::Entity getParent(Instance i) const noexcept; + + /** + * Returns the number of children of a transform component. + * @param i The instance of the transform component to query. + * @return The number of children of the queried component. + */ + size_t getChildCount(Instance i) const noexcept; + + /** + * Gets a list of children for a transform component. + * + * @param i The instance of the transform component to query. + * @param children Pointer to array-of-Entity. The array must have at least "count" elements. + * @param count The maximum number of children to retrieve. + * @return The number of children written to the pointer. + */ + size_t getChildren(Instance i, utils::Entity* children, size_t count) const noexcept; + + /** + * Returns an iterator to the Instance of the first child of the given parent. + * + * @param parent Instance of the parent + * @return A forward iterator pointing to the first child of the given parent. + * + * A child_iterator can only safely be dereferenced if it's different from getChildrenEnd(parent) + */ + children_iterator getChildrenBegin(Instance parent) const noexcept; + + /** + * Returns an undreferencable iterator representing the end of the children list + * + * @param parent Instance of the parent + * @return A forward iterator. + * + * This iterator cannot be dereferenced + */ + children_iterator getChildrenEnd(Instance parent) const noexcept; + + /** + * Sets a local transform of a transform component. + * @param ci The instance of the transform component to set the local transform to. + * @param localTransform The local transform (i.e. relative to the parent). + * @see getTransform() + * @attention This operation can be slow if the hierarchy of transform is too deep, and this + * will be particularly bad when updating a lot of transforms. In that case, + * consider using openLocalTransformTransaction() / commitLocalTransformTransaction(). + */ + void setTransform(Instance ci, const math::mat4f& localTransform) noexcept; + + /** + * Sets a local transform of a transform component and keeps double precision translation. + * All other values of the transform are stored at single precision. + * @param ci The instance of the transform component to set the local transform to. + * @param localTransform The local transform (i.e. relative to the parent). + * @see getTransform() + * @attention This operation can be slow if the hierarchy of transform is too deep, and this + * will be particularly bad when updating a lot of transforms. In that case, + * consider using openLocalTransformTransaction() / commitLocalTransformTransaction(). + */ + void setTransform(Instance ci, const math::mat4& localTransform) noexcept; + + /** + * Returns the local transform of a transform component. + * @param ci The instance of the transform component to query the local transform from. + * @return The local transform of the component (i.e. relative to the parent). This always + * returns the value set by setTransform(). + * @see setTransform() + */ + const math::mat4f& getTransform(Instance ci) const noexcept; + + /** + * Returns the local transform of a transform component. + * @param ci The instance of the transform component to query the local transform from. + * @return The local transform of the component (i.e. relative to the parent). This always + * returns the value set by setTransform(). + * @see setTransform() + */ + math::mat4 getTransformAccurate(Instance ci) const noexcept; + + /** + * Return the world transform of a transform component. + * @param ci The instance of the transform component to query the world transform from. + * @return The world transform of the component (i.e. relative to the root). This is the + * composition of this component's local transform with its parent's world transform. + * @see setTransform() + */ + const math::mat4f& getWorldTransform(Instance ci) const noexcept; + + /** + * Return the world transform of a transform component. + * @param ci The instance of the transform component to query the world transform from. + * @return The world transform of the component (i.e. relative to the root). This is the + * composition of this component's local transform with its parent's world transform. + * @see setTransform() + */ + math::mat4 getWorldTransformAccurate(Instance ci) const noexcept; + + /** + * Opens a local transform transaction. During a transaction, getWorldTransform() can + * return an invalid transform until commitLocalTransformTransaction() is called. However, + * setTransform() will perform significantly better and in constant time. + * + * This is useful when updating many transforms and the transform hierarchy is deep (say more + * than 4 or 5 levels). + * + * @note If the local transform transaction is already open, this is a no-op. + * + * @see commitLocalTransformTransaction(), setTransform() + */ + void openLocalTransformTransaction() noexcept; + + /** + * Commits the currently open local transform transaction. When this returns, calls + * to getWorldTransform() will return the proper value. + * + * @attention failing to call this method when done updating the local transform will cause + * a lot of rendering problems. The system never closes the transaction + * automatically. + * + * @note If the local transform transaction is not open, this is a no-op. + * + * @see openLocalTransformTransaction(), setTransform() + */ + void commitLocalTransformTransaction() noexcept; + +protected: + // prevent heap allocation + ~TransformManager() = default; +}; + +} // namespace filament + + +#endif // TNT_TRANSFORMMANAGER_H diff --git a/web/include/filament/filament/VertexBuffer.h b/web/include/filament/filament/VertexBuffer.h new file mode 100644 index 00000000..317d5a73 --- /dev/null +++ b/web/include/filament/filament/VertexBuffer.h @@ -0,0 +1,218 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_VERTEXBUFFER_H +#define TNT_FILAMENT_VERTEXBUFFER_H + +#include +#include + +#include +#include + +#include + +namespace filament { + +class FVertexBuffer; + +class BufferObject; +class Engine; + +/** + * Holds a set of buffers that define the geometry of a Renderable. + * + * The geometry of the Renderable itself is defined by a set of vertex attributes such as + * position, color, normals, tangents, etc... + * + * There is no need to have a 1-to-1 mapping between attributes and buffer. A buffer can hold the + * data of several attributes -- attributes are then referred as being "interleaved". + * + * The buffers themselves are GPU resources, therefore mutating their data can be relatively slow. + * For this reason, it is best to separate the constant data from the dynamic data into multiple + * buffers. + * + * It is possible, and even encouraged, to use a single vertex buffer for several Renderables. + * + * @see IndexBuffer, RenderableManager + */ +class UTILS_PUBLIC VertexBuffer : public FilamentAPI { + struct BuilderDetails; + +public: + using AttributeType = backend::ElementType; + using BufferDescriptor = backend::BufferDescriptor; + + class Builder : public BuilderBase { + friend struct BuilderDetails; + public: + Builder() noexcept; + Builder(Builder const& rhs) noexcept; + Builder(Builder&& rhs) noexcept; + ~Builder() noexcept; + Builder& operator=(Builder const& rhs) noexcept; + Builder& operator=(Builder&& rhs) noexcept; + + /** + * Defines how many buffers will be created in this vertex buffer set. These buffers are + * later referenced by index from 0 to \p bufferCount - 1. + * + * This call is mandatory. The default is 0. + * + * @param bufferCount Number of buffers in this vertex buffer set. The maximum value is 8. + * @return A reference to this Builder for chaining calls. + */ + Builder& bufferCount(uint8_t bufferCount) noexcept; + + /** + * Size of each buffer in the set in vertex. + * + * @param vertexCount Number of vertices in each buffer in this set. + * @return A reference to this Builder for chaining calls. + */ + Builder& vertexCount(uint32_t vertexCount) noexcept; + + /** + * Allows buffers to be swapped out and shared using BufferObject. + * + * If buffer objects mode is enabled, clients must call setBufferObjectAt rather than + * setBufferAt. This allows sharing of data between VertexBuffer objects, but it may + * slightly increase the memory footprint of Filament's internal bookkeeping. + * + * @param enabled If true, enables buffer object mode. False by default. + */ + Builder& enableBufferObjects(bool enabled = true) noexcept; + + /** + * Sets up an attribute for this vertex buffer set. + * + * Using \p byteOffset and \p byteStride, attributes can be interleaved in the same buffer. + * + * @param attribute The attribute to set up. + * @param bufferIndex The index of the buffer containing the data for this attribute. Must + * be between 0 and bufferCount() - 1. + * @param attributeType The type of the attribute data (e.g. byte, float3, etc...) + * @param byteOffset Offset in *bytes* into the buffer \p bufferIndex + * @param byteStride Stride in *bytes* to the next element of this attribute. When set to + * zero the attribute size, as defined by \p attributeType is used. + * + * @return A reference to this Builder for chaining calls. + * + * @warning VertexAttribute::TANGENTS must be specified as a quaternion and is how normals + * are specified. + * + * @warning Not all backends support 3-component attributes that are not floats. For help + * with conversion, see geometry::Transcoder. + * + * @see VertexAttribute + * + * This is a no-op if the \p attribute is an invalid enum. + * This is a no-op if the \p bufferIndex is out of bounds. + * + */ + Builder& attribute(VertexAttribute attribute, uint8_t bufferIndex, + AttributeType attributeType, + uint32_t byteOffset = 0, uint8_t byteStride = 0) noexcept; + + /** + * Sets whether a given attribute should be normalized. By default attributes are not + * normalized. A normalized attribute is mapped between 0 and 1 in the shader. This applies + * only to integer types. + * + * @param attribute Enum of the attribute to set the normalization flag to. + * @param normalize true to automatically normalize the given attribute. + * @return A reference to this Builder for chaining calls. + * + * This is a no-op if the \p attribute is an invalid enum. + */ + Builder& normalized(VertexAttribute attribute, bool normalize = true) noexcept; + + /** + * Sets advanced skinning mode. Bone data, indices and weights will be + * set in RenderableManager:Builder:boneIndicesAndWeights methods. + * Works with or without buffer objects. + * + * @param enabled If true, enables advanced skinning mode. False by default. + * + * @return A reference to this Builder for chaining calls. + * + * @see RenderableManager:Builder:boneIndicesAndWeights + */ + Builder& advancedSkinning(bool enabled) noexcept; + + /** + * Creates the VertexBuffer object and returns a pointer to it. + * + * @param engine Reference to the filament::Engine to associate this VertexBuffer with. + * + * @return pointer to the newly created object or nullptr if exceptions are disabled and + * an error occurred. + * + * @exception utils::PostConditionPanic if a runtime error occurred, such as running out of + * memory or other resources. + * @exception utils::PreConditionPanic if a parameter to a builder function was invalid. + */ + VertexBuffer* build(Engine& engine); + + private: + friend class FVertexBuffer; + }; + + /** + * Returns the vertex count. + * @return Number of vertices in this vertex buffer set. + */ + size_t getVertexCount() const noexcept; + + /** + * Asynchronously copy-initializes the specified buffer from the given buffer data. + * + * Do not use this if you called enableBufferObjects() on the Builder. + * + * @param engine Reference to the filament::Engine to associate this VertexBuffer with. + * @param bufferIndex Index of the buffer to initialize. Must be between 0 + * and Builder::bufferCount() - 1. + * @param buffer A BufferDescriptor representing the data used to initialize the buffer at + * index \p bufferIndex. BufferDescriptor points to raw, untyped data that will + * be copied as-is into the buffer. + * @param byteOffset Offset in *bytes* into the buffer at index \p bufferIndex of this vertex + * buffer set. + */ + void setBufferAt(Engine& engine, uint8_t bufferIndex, BufferDescriptor&& buffer, + uint32_t byteOffset = 0); + + /** + * Swaps in the given buffer object. + * + * To use this, you must first call enableBufferObjects() on the Builder. + * + * @param engine Reference to the filament::Engine to associate this VertexBuffer with. + * @param bufferIndex Index of the buffer to initialize. Must be between 0 + * and Builder::bufferCount() - 1. + * @param bufferObject The handle to the GPU data that will be used in this buffer slot. + */ + void setBufferObjectAt(Engine& engine, uint8_t bufferIndex, BufferObject const* bufferObject); + +protected: + // prevent heap allocation + ~VertexBuffer() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_VERTEXBUFFER_H diff --git a/web/include/filament/filament/View.h b/web/include/filament/filament/View.h new file mode 100644 index 00000000..818ef2bd --- /dev/null +++ b/web/include/filament/filament/View.h @@ -0,0 +1,906 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_VIEW_H +#define TNT_FILAMENT_VIEW_H + +#include +#include +#include + +#include + +#include +#include + +#include + +namespace filament { + +namespace backend { +class CallbackHandler; +} // namespace backend + +class Camera; +class ColorGrading; +class MaterialInstance; +class RenderTarget; +class Scene; +class Viewport; + +/** + * A View encompasses all the state needed for rendering a Scene. + * + * Renderer::render() operates on View objects. These View objects specify important parameters + * such as: + * - The Scene + * - The Camera + * - The Viewport + * - Some rendering parameters + * + * \note + * View instances are heavy objects that internally cache a lot of data needed for rendering. + * It is not advised for an application to use many View objects. + * + * For example, in a game, a View could be used for the main scene and another one for the + * game's user interface. More View instances could be used for creating special effects (e.g. + * a View is akin to a rendering pass). + * + * + * @see Renderer, Scene, Camera, RenderTarget + */ +class UTILS_PUBLIC View : public FilamentAPI { +public: + using QualityLevel = filament::QualityLevel; + using BlendMode = filament::BlendMode; + using AntiAliasing = filament::AntiAliasing; + using Dithering = filament::Dithering; + using ShadowType = filament::ShadowType; + + using DynamicResolutionOptions = filament::DynamicResolutionOptions; + using BloomOptions = filament::BloomOptions; + using FogOptions = filament::FogOptions; + using DepthOfFieldOptions = filament::DepthOfFieldOptions; + using VignetteOptions = filament::VignetteOptions; + using RenderQuality = filament::RenderQuality; + using AmbientOcclusionOptions = filament::AmbientOcclusionOptions; + using TemporalAntiAliasingOptions = filament::TemporalAntiAliasingOptions; + using MultiSampleAntiAliasingOptions = filament::MultiSampleAntiAliasingOptions; + using VsmShadowOptions = filament::VsmShadowOptions; + using SoftShadowOptions = filament::SoftShadowOptions; + using ScreenSpaceReflectionsOptions = filament::ScreenSpaceReflectionsOptions; + using GuardBandOptions = filament::GuardBandOptions; + using StereoscopicOptions = filament::StereoscopicOptions; + + /** + * Sets the View's name. Only useful for debugging. + * @param name Pointer to the View's name. The string is copied. + */ + void setName(const char* name) noexcept; + + /** + * Returns the View's name + * + * @return a pointer owned by the View instance to the View's name. + * + * @attention Do *not* free the pointer or modify its content. + */ + const char* getName() const noexcept; + + /** + * Set this View instance's Scene. + * + * @param scene Associate the specified Scene to this View. A Scene can be associated to + * several View instances.\n + * \p scene can be nullptr to dissociate the currently set Scene + * from this View.\n + * The View doesn't take ownership of the Scene pointer (which + * acts as a reference). + * + * @note + * There is no reference-counting. + * Make sure to dissociate a Scene from all Views before destroying it. + */ + void setScene(Scene* scene); + + /** + * Returns the Scene currently associated with this View. + * @return A pointer to the Scene associated to this View. nullptr if no Scene is set. + */ + Scene* getScene() noexcept; + + /** + * Returns the Scene currently associated with this View. + * @return A pointer to the Scene associated to this View. nullptr if no Scene is set. + */ + Scene const* getScene() const noexcept { + return const_cast(this)->getScene(); + } + + /** + * Specifies an offscreen render target to render into. + * + * By default, the view's associated render target is nullptr, which corresponds to the + * SwapChain associated with the engine. + * + * A view with a custom render target cannot rely on Renderer::ClearOptions, which only apply + * to the SwapChain. Such view can use a Skybox instead. + * + * @param renderTarget Render target associated with view, or nullptr for the swap chain. + */ + void setRenderTarget(RenderTarget* renderTarget) noexcept; + + /** + * Gets the offscreen render target associated with this view. + * + * Returns nullptr if the render target is the swap chain (which is default). + * + * @see setRenderTarget + */ + RenderTarget* getRenderTarget() const noexcept; + + /** + * Sets the rectangular region to render to. + * + * The viewport specifies where the content of the View (i.e. the Scene) is rendered in + * the render target. The Render target is automatically clipped to the Viewport. + * + * @param viewport The Viewport to render the Scene into. The Viewport is a value-type, it is + * therefore copied. The parameter can be discarded after this call returns. + */ + void setViewport(Viewport const& viewport) noexcept; + + /** + * Returns the rectangular region that gets rendered to. + * @return A constant reference to View's viewport. + */ + Viewport const& getViewport() const noexcept; + + /** + * Sets this View's Camera. + * + * @param camera Associate the specified Camera to this View. A Camera can be associated to + * several View instances.\n + * \p camera can be nullptr to dissociate the currently set Camera from this + * View.\n + * The View doesn't take ownership of the Camera pointer (which + * acts as a reference). + * + * @note + * There is no reference-counting. + * Make sure to dissociate a Camera from all Views before destroying it. + */ + void setCamera(Camera* camera) noexcept; + + /** + * Returns the Camera currently associated with this View. + * @return A reference to the Camera associated to this View. + */ + Camera& getCamera() noexcept; + + /** + * Returns the Camera currently associated with this View. + * @return A reference to the Camera associated to this View. + */ + Camera const& getCamera() const noexcept { + return const_cast(this)->getCamera(); + } + + /** + * Sets the blending mode used to draw the view into the SwapChain. + * + * @param blendMode either BlendMode::OPAQUE or BlendMode::TRANSLUCENT + * @see getBlendMode + */ + void setBlendMode(BlendMode blendMode) noexcept; + + /** + * + * @return blending mode set by setBlendMode + * @see setBlendMode + */ + BlendMode getBlendMode() const noexcept; + + /** + * Sets which layers are visible. + * + * Renderable objects can have one or several layers associated to them. Layers are + * represented with an 8-bits bitmask, where each bit corresponds to a layer. + * + * This call sets which of those layers are visible. Renderables in invisible layers won't be + * rendered. + * + * @param select a bitmask specifying which layer to set or clear using \p values. + * @param values a bitmask where each bit sets the visibility of the corresponding layer + * (1: visible, 0: invisible), only layers in \p select are affected. + * + * @see RenderableManager::setLayerMask(). + * + * @note By default only layer 0 (bitmask 0x01) is visible. + * @note This is a convenient way to quickly show or hide sets of Renderable objects. + */ + void setVisibleLayers(uint8_t select, uint8_t values) noexcept; + + /** + * Helper function to enable or disable a visibility layer. + * @param layer layer between 0 and 7 to enable or disable + * @param enabled true to enable the layer, false to disable it + * @see RenderableManager::setVisibleLayers() + */ + inline void setLayerEnabled(size_t layer, bool enabled) noexcept { + const uint8_t mask = 1u << layer; + setVisibleLayers(mask, enabled ? mask : 0); + } + + /** + * Get the visible layers. + * + * @see View::setVisibleLayers() + */ + uint8_t getVisibleLayers() const noexcept; + + /** + * Enables or disables shadow mapping. Enabled by default. + * + * @param enabled true enables shadow mapping, false disables it. + * + * @see LightManager::Builder::castShadows(), + * RenderableManager::Builder::receiveShadows(), + * RenderableManager::Builder::castShadows(), + */ + void setShadowingEnabled(bool enabled) noexcept; + + /** + * @return whether shadowing is enabled + */ + bool isShadowingEnabled() const noexcept; + + /** + * Enables or disables screen space refraction. Enabled by default. + * + * @param enabled true enables screen space refraction, false disables it. + */ + void setScreenSpaceRefractionEnabled(bool enabled) noexcept; + + /** + * @return whether screen space refraction is enabled + */ + bool isScreenSpaceRefractionEnabled() const noexcept; + + /** + * Sets how many samples are to be used for MSAA in the post-process stage. + * Default is 1 and disables MSAA. + * + * @param count number of samples to use for multi-sampled anti-aliasing.\n + * 0: treated as 1 + * 1: no anti-aliasing + * n: sample count. Effective sample could be different depending on the + * GPU capabilities. + * + * @note Anti-aliasing can also be performed in the post-processing stage, generally at lower + * cost. See setAntialiasing. + * + * @see setAntialiasing + * @deprecated use setMultiSampleAntiAliasingOptions instead + */ + UTILS_DEPRECATED + void setSampleCount(uint8_t count = 1) noexcept; + + /** + * Returns the sample count set by setSampleCount(). Effective sample count could be different. + * A value of 0 or 1 means MSAA is disabled. + * + * @return value set by setSampleCount(). + * @deprecated use getMultiSampleAntiAliasingOptions instead + */ + UTILS_DEPRECATED + uint8_t getSampleCount() const noexcept; + + /** + * Enables or disables anti-aliasing in the post-processing stage. Enabled by default. + * MSAA can be enabled in addition, see setSampleCount(). + * + * @param type FXAA for enabling, NONE for disabling anti-aliasing. + * + * @note For MSAA anti-aliasing, see setSamplerCount(). + * + * @see setSampleCount + */ + void setAntiAliasing(AntiAliasing type) noexcept; + + /** + * Queries whether anti-aliasing is enabled during the post-processing stage. To query + * whether MSAA is enabled, see getSampleCount(). + * + * @return The post-processing anti-aliasing method. + */ + AntiAliasing getAntiAliasing() const noexcept; + + /** + * Enables or disable temporal anti-aliasing (TAA). Disabled by default. + * + * @param options temporal anti-aliasing options + */ + void setTemporalAntiAliasingOptions(TemporalAntiAliasingOptions options) noexcept; + + /** + * Returns temporal anti-aliasing options. + * + * @return temporal anti-aliasing options + */ + TemporalAntiAliasingOptions const& getTemporalAntiAliasingOptions() const noexcept; + + /** + * Enables or disable screen-space reflections. Disabled by default. + * + * @param options screen-space reflections options + */ + void setScreenSpaceReflectionsOptions(ScreenSpaceReflectionsOptions options) noexcept; + + /** + * Returns screen-space reflections options. + * + * @return screen-space reflections options + */ + ScreenSpaceReflectionsOptions const& getScreenSpaceReflectionsOptions() const noexcept; + + /** + * Enables or disable screen-space guard band. Disabled by default. + * + * @param options guard band options + */ + void setGuardBandOptions(GuardBandOptions options) noexcept; + + /** + * Returns screen-space guard band options. + * + * @return guard band options + */ + GuardBandOptions const& getGuardBandOptions() const noexcept; + + /** + * Enables or disable multi-sample anti-aliasing (MSAA). Disabled by default. + * + * @param options multi-sample anti-aliasing options + */ + void setMultiSampleAntiAliasingOptions(MultiSampleAntiAliasingOptions options) noexcept; + + /** + * Returns multi-sample anti-aliasing options. + * + * @return multi-sample anti-aliasing options + */ + MultiSampleAntiAliasingOptions const& getMultiSampleAntiAliasingOptions() const noexcept; + + /** + * Sets this View's color grading transforms. + * + * @param colorGrading Associate the specified ColorGrading to this View. A ColorGrading can be + * associated to several View instances.\n + * \p colorGrading can be nullptr to dissociate the currently set + * ColorGrading from this View. Doing so will revert to the use of the + * default color grading transforms.\n + * The View doesn't take ownership of the ColorGrading pointer (which + * acts as a reference). + * + * @note + * There is no reference-counting. + * Make sure to dissociate a ColorGrading from all Views before destroying it. + */ + void setColorGrading(ColorGrading* colorGrading) noexcept; + + /** + * Returns the color grading transforms currently associated to this view. + * @return A pointer to the ColorGrading associated to this View. + */ + const ColorGrading* getColorGrading() const noexcept; + + /** + * Sets ambient occlusion options. + * + * @param options Options for ambient occlusion. + */ + void setAmbientOcclusionOptions(AmbientOcclusionOptions const& options) noexcept; + + /** + * Gets the ambient occlusion options. + * + * @return ambient occlusion options currently set. + */ + AmbientOcclusionOptions const& getAmbientOcclusionOptions() const noexcept; + + /** + * Enables or disables bloom in the post-processing stage. Disabled by default. + * + * @param options options + */ + void setBloomOptions(BloomOptions options) noexcept; + + /** + * Queries the bloom options. + * + * @return the current bloom options for this view. + */ + BloomOptions getBloomOptions() const noexcept; + + /** + * Enables or disables fog. Disabled by default. + * + * @param options options + */ + void setFogOptions(FogOptions options) noexcept; + + /** + * Queries the fog options. + * + * @return the current fog options for this view. + */ + FogOptions getFogOptions() const noexcept; + + /** + * Enables or disables Depth of Field. Disabled by default. + * + * @param options options + */ + void setDepthOfFieldOptions(DepthOfFieldOptions options) noexcept; + + /** + * Queries the depth of field options. + * + * @return the current depth of field options for this view. + */ + DepthOfFieldOptions getDepthOfFieldOptions() const noexcept; + + /** + * Enables or disables the vignetted effect in the post-processing stage. Disabled by default. + * + * @param options options + */ + void setVignetteOptions(VignetteOptions options) noexcept; + + /** + * Queries the vignette options. + * + * @return the current vignette options for this view. + */ + VignetteOptions getVignetteOptions() const noexcept; + + /** + * Enables or disables dithering in the post-processing stage. Enabled by default. + * + * @param dithering dithering type + */ + void setDithering(Dithering dithering) noexcept; + + /** + * Queries whether dithering is enabled during the post-processing stage. + * + * @return the current dithering type for this view. + */ + Dithering getDithering() const noexcept; + + /** + * Sets the dynamic resolution options for this view. Dynamic resolution options + * controls whether dynamic resolution is enabled, and if it is, how it behaves. + * + * @param options The dynamic resolution options to use on this view + */ + void setDynamicResolutionOptions(DynamicResolutionOptions const& options) noexcept; + + /** + * Returns the dynamic resolution options associated with this view. + * @return value set by setDynamicResolutionOptions(). + */ + DynamicResolutionOptions getDynamicResolutionOptions() const noexcept; + + /** + * Sets the rendering quality for this view. Refer to RenderQuality for more + * information about the different settings available. + * + * @param renderQuality The render quality to use on this view + */ + void setRenderQuality(RenderQuality const& renderQuality) noexcept; + + /** + * Returns the render quality used by this view. + * @return value set by setRenderQuality(). + */ + RenderQuality getRenderQuality() const noexcept; + + /** + * Sets options relative to dynamic lighting for this view. + * + * @param zLightNear Distance from the camera where the lights are expected to shine. + * This parameter can affect performance and is useful because depending + * on the scene, lights that shine close to the camera may not be + * visible -- in this case, using a larger value can improve performance. + * e.g. when standing and looking straight, several meters of the ground + * isn't visible and if lights are expected to shine there, there is no + * point using a short zLightNear. (Default 5m). + * + * @param zLightFar Distance from the camera after which lights are not expected to be visible. + * Similarly to zLightNear, setting this value properly can improve + * performance. (Default 100m). + * + * + * Together zLightNear and zLightFar must be chosen so that the visible influence of lights + * is spread between these two values. + * + */ + void setDynamicLightingOptions(float zLightNear, float zLightFar) noexcept; + + /* + * Set the shadow mapping technique this View uses. + * + * The ShadowType affects all the shadows seen within the View. + * + * ShadowType::VSM imposes a restriction on marking renderables as only shadow receivers (but + * not casters). To ensure correct shadowing with VSM, all shadow participant renderables should + * be marked as both receivers and casters. Objects that are guaranteed to not cast shadows on + * themselves or other objects (such as flat ground planes) can be set to not cast shadows, + * which might improve shadow quality. + * + * @warning This API is still experimental and subject to change. + */ + void setShadowType(ShadowType shadow) noexcept; + + /** + * Sets VSM shadowing options that apply across the entire View. + * + * Additional light-specific VSM options can be set with LightManager::setShadowOptions. + * + * Only applicable when shadow type is set to ShadowType::VSM. + * + * @param options Options for shadowing. + * + * @see setShadowType + * + * @warning This API is still experimental and subject to change. + */ + void setVsmShadowOptions(VsmShadowOptions const& options) noexcept; + + /** + * Returns the VSM shadowing options associated with this View. + * + * @return value set by setVsmShadowOptions(). + */ + VsmShadowOptions getVsmShadowOptions() const noexcept; + + /** + * Sets soft shadowing options that apply across the entire View. + * + * Additional light-specific soft shadow parameters can be set with LightManager::setShadowOptions. + * + * Only applicable when shadow type is set to ShadowType::DPCF or ShadowType::PCSS. + * + * @param options Options for shadowing. + * + * @see setShadowType + * + * @warning This API is still experimental and subject to change. + */ + void setSoftShadowOptions(SoftShadowOptions const& options) noexcept; + + /** + * Returns the soft shadowing options associated with this View. + * + * @return value set by setSoftShadowOptions(). + */ + SoftShadowOptions getSoftShadowOptions() const noexcept; + + /** + * Enables or disables post processing. Enabled by default. + * + * Post-processing includes: + * - Depth-of-field + * - Bloom + * - Vignetting + * - Temporal Anti-aliasing (TAA) + * - Color grading & gamma encoding + * - Dithering + * - FXAA + * - Dynamic scaling + * + * Disabling post-processing forgoes color correctness as well as some anti-aliasing techniques + * and should only be used for debugging, UI overlays or when using custom render targets + * (see RenderTarget). + * + * @param enabled true enables post processing, false disables it. + * + * @see setBloomOptions, setColorGrading, setAntiAliasing, setDithering, setSampleCount + */ + void setPostProcessingEnabled(bool enabled) noexcept; + + //! Returns true if post-processing is enabled. See setPostProcessingEnabled() for more info. + bool isPostProcessingEnabled() const noexcept; + + /** + * Inverts the winding order of front faces. By default front faces use a counter-clockwise + * winding order. When the winding order is inverted, front faces are faces with a clockwise + * winding order. + * + * Changing the winding order will directly affect the culling mode in materials + * (see Material::getCullingMode()). + * + * Inverting the winding order of front faces is useful when rendering mirrored reflections + * (water, mirror surfaces, front camera in AR, etc.). + * + * @param inverted True to invert front faces, false otherwise. + */ + void setFrontFaceWindingInverted(bool inverted) noexcept; + + /** + * Returns true if the winding order of front faces is inverted. + * See setFrontFaceWindingInverted() for more information. + */ + bool isFrontFaceWindingInverted() const noexcept; + + /** + * Enables use of the stencil buffer. + * + * The stencil buffer is an 8-bit, per-fragment unsigned integer stored alongside the depth + * buffer. The stencil buffer is cleared at the beginning of a frame and discarded after the + * color pass. + * + * Each fragment's stencil value is set during rasterization by specifying stencil operations on + * a Material. The stencil buffer can be used as a mask for later rendering by setting a + * Material's stencil comparison function and reference value. Fragments that don't pass the + * stencil test are then discarded. + * + * If post-processing is disabled, then the SwapChain must have the CONFIG_HAS_STENCIL_BUFFER + * flag set in order to use the stencil buffer. + * + * A renderable's priority (see RenderableManager::setPriority) is useful to control the order + * in which primitives are drawn. + * + * @param enabled True to enable the stencil buffer, false disables it (default) + */ + void setStencilBufferEnabled(bool enabled) noexcept; + + /** + * Returns true if the stencil buffer is enabled. + * See setStencilBufferEnabled() for more information. + */ + bool isStencilBufferEnabled() const noexcept; + + /** + * Sets the stereoscopic rendering options for this view. + * + * Currently, only one type of stereoscopic rendering is supported: side-by-side. + * Side-by-side stereo rendering splits the viewport into two halves: a left and right half. + * Eye 0 will render to the left half, while Eye 1 will render into the right half. + * + * Currently, the following features are not supported with stereoscopic rendering: + * - post-processing + * - shadowing + * - punctual lights + * + * Stereo rendering depends on device and platform support. To check if stereo rendering is + * supported, use Engine::isStereoSupported(). If stereo rendering is not supported, then the + * stereoscopic options have no effect. + * + * @param options The stereoscopic options to use on this view + */ + void setStereoscopicOptions(StereoscopicOptions const& options) noexcept; + + /** + * Returns the stereoscopic options associated with this View. + * + * @return value set by setStereoscopicOptions(). + */ + StereoscopicOptions const& getStereoscopicOptions() const noexcept; + + // for debugging... + + //! debugging: allows to entirely disable frustum culling. (culling enabled by default). + void setFrustumCullingEnabled(bool culling) noexcept; + + //! debugging: returns whether frustum culling is enabled. + bool isFrustumCullingEnabled() const noexcept; + + //! debugging: sets the Camera used for rendering. It may be different from the culling camera. + void setDebugCamera(Camera* camera) noexcept; + + //! debugging: returns a Camera from the point of view of *the* dominant directional light used for shadowing. + Camera const* getDirectionalLightCamera() const noexcept; + + + /** Result of a picking query */ + struct PickingQueryResult { + utils::Entity renderable{}; //! RenderableManager Entity at the queried coordinates + float depth{}; //! Depth buffer value (1 (near plane) to 0 (infinity)) + uint32_t reserved1{}; + uint32_t reserved2{}; + /** + * screen space coordinates in GL convention, this can be used to compute the view or + * world space position of the picking hit. For e.g.: + * clip_space_position = (fragCoords.xy / viewport.wh, fragCoords.z) * 2.0 - 1.0 + * view_space_position = inverse(projection) * clip_space_position + * world_space_position = model * view_space_position + * + * The viewport, projection and model matrices can be obtained from Camera. Because + * pick() has some latency, it might be more accurate to obtain these values at the + * time the View::pick() call is made. + * + * Note: if the Engine is running at FEATURE_LEVEL_0, the precision or `depth` and + * `fragCoords.z` is only 8-bits. + */ + math::float3 fragCoords; //! screen space coordinates in GL convention + }; + + /** User data for PickingQueryResultCallback */ + struct PickingQuery { + // note: this is enough to store a std::function<> -- just saying... + void* storage[4]; + }; + + /** callback type used for picking queries. */ + using PickingQueryResultCallback = void(*)(PickingQueryResult const& result, PickingQuery* pq); + + /** + * Helper for creating a picking query from Foo::method, by pointer. + * e.g.: pick(x, y, &foo); + * + * @tparam T Class of the method to call (e.g.: Foo) + * @tparam method Method to call on T (e.g.: &Foo::bar) + * @param x Horizontal coordinate to query in the viewport with origin on the left. + * @param y Vertical coordinate to query on the viewport with origin at the bottom. + * @param instance A pointer to an instance of T + * @param handler Handler to dispatch the callback or nullptr for the default handler. + */ + template + void pick(uint32_t x, uint32_t y, T* instance, + backend::CallbackHandler* handler = nullptr) noexcept { + PickingQuery& query = pick(x, y, [](PickingQueryResult const& result, PickingQuery* pq) { + (static_cast(pq->storage[0])->*method)(result); + }, handler); + query.storage[0] = instance; + } + + /** + * Helper for creating a picking query from Foo::method, by copy for a small object + * e.g.: pick(x, y, foo); + * + * @tparam T Class of the method to call (e.g.: Foo) + * @tparam method Method to call on T (e.g.: &Foo::bar) + * @param x Horizontal coordinate to query in the viewport with origin on the left. + * @param y Vertical coordinate to query on the viewport with origin at the bottom. + * @param instance An instance of T + * @param handler Handler to dispatch the callback or nullptr for the default handler. + */ + template + void pick(uint32_t x, uint32_t y, T instance, + backend::CallbackHandler* handler = nullptr) noexcept { + static_assert(sizeof(instance) <= sizeof(PickingQuery::storage), "user data too large"); + PickingQuery& query = pick(x, y, [](PickingQueryResult const& result, PickingQuery* pq) { + T* const that = static_cast(reinterpret_cast(pq->storage)); + (that->*method)(result); + that->~T(); + }, handler); + new(query.storage) T(std::move(instance)); + } + + /** + * Helper for creating a picking query from a small functor + * e.g.: pick(x, y, [](PickingQueryResult const& result){}); + * + * @param x Horizontal coordinate to query in the viewport with origin on the left. + * @param y Vertical coordinate to query on the viewport with origin at the bottom. + * @param functor A functor, typically a lambda function. + * @param handler Handler to dispatch the callback or nullptr for the default handler. + */ + template + void pick(uint32_t x, uint32_t y, T functor, + backend::CallbackHandler* handler = nullptr) noexcept { + static_assert(sizeof(functor) <= sizeof(PickingQuery::storage), "functor too large"); + PickingQuery& query = pick(x, y, handler, + (PickingQueryResultCallback)[](PickingQueryResult const& result, PickingQuery* pq) { + T* const that = static_cast(reinterpret_cast(pq->storage)); + that->operator()(result); + that->~T(); + }); + new(query.storage) T(std::move(functor)); + } + + /** + * Creates a picking query. Multiple queries can be created (e.g.: multi-touch). + * Picking queries are all executed when Renderer::render() is called on this View. + * The provided callback is guaranteed to be called at some point in the future. + * + * Typically it takes a couple frames to receive the result of a picking query. + * + * @param x Horizontal coordinate to query in the viewport with origin on the left. + * @param y Vertical coordinate to query on the viewport with origin at the bottom. + * @param callback User callback, called when the picking query result is available. + * @param handler Handler to dispatch the callback or nullptr for the default handler. + * @return A reference to a PickingQuery structure, which can be used to store up to + * 8*sizeof(void*) bytes of user data. This user data is later accessible + * in the PickingQueryResultCallback callback 3rd parameter. + */ + PickingQuery& pick(uint32_t x, uint32_t y, backend::CallbackHandler* handler, + PickingQueryResultCallback callback) noexcept; + + /** + * Set the value of material global variables. There are up-to four such variable each of + * type float4. These variables can be read in a user Material with + * `getMaterialGlobal{0|1|2|3}()`. All variable start with a default value of { 0, 0, 0, 1 } + * + * @param index index of the variable to set between 0 and 3. + * @param value new value for the variable. + * @see getMaterialGlobal + */ + void setMaterialGlobal(uint32_t index, math::float4 const& value); + + /** + * Get the value of the material global variables. + * All variable start with a default value of { 0, 0, 0, 1 } + * + * @param index index of the variable to set between 0 and 3. + * @return current value of the variable. + * @see setMaterialGlobal + */ + math::float4 getMaterialGlobal(uint32_t index) const; + + /** + * Get an Entity representing the large scale fog object. + * This entity is always inherited by the View's Scene. + * + * It is for example possible to create a TransformManager component with this + * Entity and apply a transformation globally on the fog. + * + * @return an Entity representing the large scale fog object. + */ + utils::Entity getFogEntity() const noexcept; + + /** + * List of available ambient occlusion techniques + * @deprecated use AmbientOcclusionOptions::enabled instead + */ + enum class UTILS_DEPRECATED AmbientOcclusion : uint8_t { + NONE = 0, //!< No Ambient Occlusion + SSAO = 1 //!< Basic, sampling SSAO + }; + + /** + * Activates or deactivates ambient occlusion. + * @deprecated use setAmbientOcclusionOptions() instead + * @see setAmbientOcclusionOptions + * + * @param ambientOcclusion Type of ambient occlusion to use. + */ + UTILS_DEPRECATED + void setAmbientOcclusion(AmbientOcclusion ambientOcclusion) noexcept; + + /** + * Queries the type of ambient occlusion active for this View. + * @deprecated use getAmbientOcclusionOptions() instead + * @see getAmbientOcclusionOptions + * + * @return ambient occlusion type. + */ + UTILS_DEPRECATED + AmbientOcclusion getAmbientOcclusion() const noexcept; + +protected: + // prevent heap allocation + ~View() = default; +}; + +} // namespace filament + +#endif // TNT_FILAMENT_VIEW_H diff --git a/web/include/filament/filament/Viewport.h b/web/include/filament/filament/Viewport.h new file mode 100644 index 00000000..a641e7ab --- /dev/null +++ b/web/include/filament/filament/Viewport.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! \file + +#ifndef TNT_FILAMENT_VIEWPORT_H +#define TNT_FILAMENT_VIEWPORT_H + +#include + +#include + +#include +#include + +#include +#include + +namespace filament { + +/** + * Viewport describes a view port in pixel coordinates + * + * A view port is represented by its left-bottom coordinate, width and height in pixels. + */ +class UTILS_PUBLIC Viewport : public backend::Viewport { +public: + /** + * Creates a Viewport of zero width and height at the origin. + */ + Viewport() noexcept : backend::Viewport{} {} + + /** + * Creates a Viewport from its left-bottom coordinates, width and height in pixels + * + * @param left left coordinate in pixel + * @param bottom bottom coordinate in pixel + * @param width width in pixel + * @param height height in pixel + */ + Viewport(int32_t left, int32_t bottom, uint32_t width, uint32_t height) noexcept + : backend::Viewport{ left, bottom, width, height } { + } + + /** + * Returns whether the area of the view port is null. + * + * @return true if either width or height is 0 pixel. + */ + bool empty() const noexcept { return !width || !height; } + +private: + /** + * Compares two Viewports for equality + * @param lhs reference to the left hand side Viewport + * @param rhs reference to the right hand side Viewport + * @return true if \p rhs and \p lhs are identical. + */ + friend bool operator==(Viewport const& lhs, Viewport const& rhs) noexcept { + return (&rhs == &lhs) || + (rhs.left == lhs.left && rhs.bottom == lhs.bottom && + rhs.width == lhs.width && rhs.height == lhs.height); + } + + /** + * Compares two Viewports for inequality + * @param lhs reference to the left hand side Viewport + * @param rhs reference to the right hand side Viewport + * @return true if \p rhs and \p lhs are different. + */ + friend bool operator!=(Viewport const& lhs, Viewport const& rhs) noexcept { + return !(rhs == lhs); + } +}; + +} // namespace filament + +#endif // TNT_FILAMENT_VIEWPORT_H diff --git a/web/include/filament/filameshio/MeshReader.h b/web/include/filament/filameshio/MeshReader.h new file mode 100644 index 00000000..22533791 --- /dev/null +++ b/web/include/filament/filameshio/MeshReader.h @@ -0,0 +1,120 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_FILAMENT_FILAMESHIO_MESHREADER_H +#define TNT_FILAMENT_FILAMESHIO_MESHREADER_H + +#include +#include +#include + +namespace filament { + class Engine; + class VertexBuffer; + class IndexBuffer; + class MaterialInstance; +} + +namespace utils { + class Path; +} + +namespace filamesh { + + +/** + * This API can be used to read meshes stored in the "filamesh" format produced + * by the command line tool of the same name. This file format is documented in + * "docs/filamesh.md" in the Filament distribution. + */ +class UTILS_PUBLIC MeshReader { +public: + using Callback = void(*)(void* buffer, size_t size, void* user); + + // Class to track material instances + class MaterialRegistry { + public: + MaterialRegistry(); + MaterialRegistry(const MaterialRegistry& rhs); + MaterialRegistry& operator=(const MaterialRegistry& rhs); + ~MaterialRegistry(); + MaterialRegistry(MaterialRegistry&&); + MaterialRegistry& operator=(MaterialRegistry&&); + + filament::MaterialInstance* getMaterialInstance(const utils::CString& name); + + void registerMaterialInstance(const utils::CString& name, + filament::MaterialInstance* materialInstance); + + void unregisterMaterialInstance(const utils::CString& name); + + void unregisterAll(); + + size_t numRegistered() const noexcept; + + void getRegisteredMaterials(filament::MaterialInstance** materialList, + utils::CString* materialNameList) const; + + void getRegisteredMaterials(filament::MaterialInstance** materialList) const; + + void getRegisteredMaterialNames(utils::CString* materialNameList) const; + + private: + struct MaterialRegistryImpl; + MaterialRegistryImpl* mImpl; + }; + + struct Mesh { + utils::Entity renderable; + filament::VertexBuffer* vertexBuffer = nullptr; + filament::IndexBuffer* indexBuffer = nullptr; + }; + + /** + * Loads a filamesh renderable from the specified file. The material registry + * can be used to provide named materials. If a material found in the filamesh + * file cannot be matched to a material in the registry, a default material is + * used instead. The default material can be overridden by adding a material + * named "DefaultMaterial" to the registry. + */ + static Mesh loadMeshFromFile(filament::Engine* engine, + const utils::Path& path, + MaterialRegistry& materials); + + /** + * Loads a filamesh renderable from an in-memory buffer. The material registry + * can be used to provide named materials. If a material found in the filamesh + * file cannot be matched to a material in the registry, a default material is + * used instead. The default material can be overridden by adding a material + * named "DefaultMaterial" to the registry. + */ + static Mesh loadMeshFromBuffer(filament::Engine* engine, + void const* data, Callback destructor, void* user, + MaterialRegistry& materials); + + /** + * Loads a filamesh renderable from an in-memory buffer. The material registry + * can be used to provide named materials. All the primitives of the decoded + * renderable are assigned the specified default material. + */ + static Mesh loadMeshFromBuffer(filament::Engine* engine, + void const* data, Callback destructor, void* user, + filament::MaterialInstance* defaultMaterial); +}; + +} // namespace filamesh + +#endif // TNT_FILAMENT_FILAMESHIO_MESHREADER_H diff --git a/web/include/filament/geometry/SurfaceOrientation.h b/web/include/filament/geometry/SurfaceOrientation.h new file mode 100644 index 00000000..e9ad75bb --- /dev/null +++ b/web/include/filament/geometry/SurfaceOrientation.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_GEOMETRY_SURFACEORIENTATION_H +#define TNT_GEOMETRY_SURFACEORIENTATION_H + +#include +#include +#include + +#include + +namespace filament { + +/** + * Mesh-related utilities. + */ +namespace geometry { + +struct OrientationBuilderImpl; +struct OrientationImpl; + +/** + * The surface orientation helper can be used to populate Filament-style TANGENTS buffers. + */ +class UTILS_PUBLIC SurfaceOrientation { +public: + + /** + * The Builder is used to construct an immutable surface orientation helper. + * + * Clients provide pointers into their own data, which is synchronously consumed during build(). + * At a minimum, clients must supply a vertex count. They can supply data in any of the + * following combinations: + * + * 1. normals only ........................... not recommended, selects arbitrary orientation + * 2. normals + tangents ..................... sign of W determines bitangent orientation + * 3. normals + uvs + positions + indices .... selects Lengyel’s Method + * 4. positions + indices .................... generates normals for flat shading only + * + * Additionally, the client-side data has the following type constraints: + * + * - Normals must be float3 + * - Tangents must be float4 + * - UVs must be float2 + * - Positions must be float3 + * - Triangles must be uint3 or ushort3 + * + * Currently, mikktspace is not supported because it requires re-indexing the mesh. Instead + * we use the method described by Eric Lengyel in "Foundations of Game Engine Development" + * (Volume 2, Chapter 7). + */ + class Builder { + public: + Builder() noexcept; + ~Builder() noexcept; + Builder(Builder&& that) noexcept; + Builder& operator=(Builder&& that) noexcept; + + /** + * This attribute is required. + */ + Builder& vertexCount(size_t vertexCount) noexcept; + + Builder& normals(const filament::math::float3*, size_t stride = 0) noexcept; + Builder& tangents(const filament::math::float4*, size_t stride = 0) noexcept; + Builder& uvs(const filament::math::float2*, size_t stride = 0) noexcept; + Builder& positions(const filament::math::float3*, size_t stride = 0) noexcept; + + Builder& triangleCount(size_t triangleCount) noexcept; + Builder& triangles(const filament::math::uint3*) noexcept; + Builder& triangles(const filament::math::ushort3*) noexcept; + + /** + * Generates quats or returns null if the submitted data is an incomplete combination. + */ + SurfaceOrientation* build(); + + private: + OrientationBuilderImpl* mImpl; + Builder(const Builder&) = delete; + Builder& operator=(const Builder&) = delete; + }; + + ~SurfaceOrientation() noexcept; + SurfaceOrientation(SurfaceOrientation&& that) noexcept; + SurfaceOrientation& operator=(SurfaceOrientation&& that) noexcept; + + /** + * Returns the vertex count. + */ + size_t getVertexCount() const noexcept; + + /** + * Converts quaternions into the desired output format and writes up to "quatCount" + * to the given output pointer. Normally quatCount should be equal to the vertex count. + * The optional stride is the desired quat-to-quat stride in bytes. + * @{ + */ + void getQuats(filament::math::quatf* out, size_t quatCount, size_t stride = 0) const noexcept; + void getQuats(filament::math::short4* out, size_t quatCount, size_t stride = 0) const noexcept; + void getQuats(filament::math::quath* out, size_t quatCount, size_t stride = 0) const noexcept; + /** + * @} + */ + +private: + SurfaceOrientation(OrientationImpl*) noexcept; + SurfaceOrientation(const SurfaceOrientation&) = delete; + SurfaceOrientation& operator=(const SurfaceOrientation&) = delete; + OrientationImpl* mImpl; + friend struct OrientationBuilderImpl; +}; + +} // namespace geometry +} // namespace filament + +#endif // TNT_GEOMETRY_SURFACEORIENTATION_H diff --git a/web/include/filament/geometry/TangentSpaceMesh.h b/web/include/filament/geometry/TangentSpaceMesh.h new file mode 100644 index 00000000..616245a5 --- /dev/null +++ b/web/include/filament/geometry/TangentSpaceMesh.h @@ -0,0 +1,334 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_GEOMETRY_TANGENTSPACEMESH_H +#define TNT_GEOMETRY_TANGENTSPACEMESH_H + +#include +#include +#include + +namespace filament { +namespace geometry { + +struct TangentSpaceMeshInput; +struct TangentSpaceMeshOutput; + + /** + * This class builds Filament-style TANGENTS buffers given an input mesh. + * + * This class enables the client to chose between several algorithms. The client can retrieve the + * result through the `get` methods on the class. If the chosen algorithm did not remesh the input, + * the client is advised to just use the data they provided instead of querying. For example, if + * the chosen method is Algorithm::FRISVAD, then the client should not need to call getPositions(). + * We will simply copy from the input `positions` in that case. + * + * If the client calls getPositions() and positions were not provided as input, we will throw + * and exception. Similar behavior will apply to UVs. + * + * This class supersedes the implementation in SurfaceOrientation.h + */ +class TangentSpaceMesh { +public: + enum class Algorithm : uint8_t { + /** + * default + * + * Tries to select the best possible algorithm given the input. The corresponding algorithms + * are detailed in the corresponding enums. + *
+         *   INPUT                                  ALGORITHM
+         *   -----------------------------------------------------------
+         *   normals                                FRISVAD
+         *   positions + indices                    FLAT_SHADING
+         *   normals + uvs + positions + indices    MIKKTSPACE
+         * 
+ */ + DEFAULT = 0, + + /** + * mikktspace + * + * **Requires**: `normals + uvs + positions + indices`
+ * **Reference**: + * - Mikkelsen, M., 2008. Simulation of wrinkled surfaces revisited. + * - https://github.com/mmikk/MikkTSpace + * - https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#meshes-overview + * + * **Note**: Will remesh + */ + MIKKTSPACE = 1, + + /** + * Lengyel's method + * + * **Requires**: `normals + uvs + positions + indices`
+ * **Reference**: Lengyel, E., 2019. Foundations of Game Engine Development: Rendering. Terathon + * Software LLC.. (Chapter 7) + */ + LENGYEL = 2, + + /** + * Hughes-Moller method + * + * **Requires**: `normals`
+ * **Reference**: + * - Hughes, J.F. and Moller, T., 1999. Building an orthonormal basis from a unit + * vector. journal of graphics tools, 4(4), pp.33-35. + * - Parker, S.G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., + * McAllister, D., McGuire, M., Morley, K., Robison, A. and Stich, M., 2010. + * Optix: a general purpose ray tracing engine. Acm transactions on graphics (tog), + * 29(4), pp.1-13. + * **Note**: We implement the Optix variant, which is documented in the second reference above. + */ + HUGHES_MOLLER = 3, + + /** + * Frisvad's method + * + * **Requires**: `normals`
+ * **Reference**: + * - Frisvad, J.R., 2012. Building an orthonormal basis from a 3D unit vector without + * normalization. Journal of Graphics Tools, 16(3), pp.151-159. + * - http://people.compute.dtu.dk/jerf/code/hairy/ + */ + FRISVAD = 4, + + /** + * Flat Shading + * + * **Requires**: `positions + indices`
+ * **Note**: Will remesh + */ + FLAT_SHADING = 5 + }; + + /** + * Use this class to provide input to the TangentSpaceMesh computation. **Important**: + * Computation of the tangent space is intended to be synchronous (working on the same thread). + * Client is expected to keep the input immutable and in a good state for the duration of both + * computation *and* query. That is, when querying the result of the tangent spaces, part of the + * result might depend on the input data. + */ + class Builder { + public: + Builder() noexcept; + ~Builder() noexcept; + + /** + * Move constructor + */ + Builder(Builder&& that) noexcept; + + /** + * Move constructor + */ + Builder& operator=(Builder&& that) noexcept; + + Builder(Builder const&) = delete; + Builder& operator=(Builder const&) = delete; + + /** + * Client must provide this parameter + * + * @param vertexCount The input number of vertcies + */ + Builder& vertexCount(size_t vertexCount) noexcept; + + /** + * @param normals The input normals + * @param stride The stride for iterating through `normals` + * @return Builder + */ + Builder& normals(filament::math::float3 const* normals, size_t stride = 0) noexcept; + + /** + * @param tangents The input tangents. The `w` component is for use with + * Algorithm::SIGN_OF_W. + * @param stride The stride for iterating through `tangents` + * @return Builder + */ + Builder& tangents(filament::math::float4 const* tangents, size_t stride = 0) noexcept; + + /** + * @param uvs The input uvs + * @param stride The stride for iterating through `uvs` + * @return Builder + */ + Builder& uvs(filament::math::float2 const* uvs, size_t stride = 0) noexcept; + + /** + * @param positions The input positions + * @param stride The stride for iterating through `positions` + * @return Builder + */ + Builder& positions(filament::math::float3 const* positions, size_t stride = 0) noexcept; + + Builder& triangleCount(size_t triangleCount) noexcept; + Builder& triangles(filament::math::uint3 const* triangles) noexcept; + Builder& triangles(filament::math::ushort3 const* triangles) noexcept; + + Builder& algorithm(Algorithm algorithm) noexcept; + + /** + * Computes the tangent space mesh. The resulting mesh object is owned by the callee. The + * callee must call TangentSpaceMesh::destroy on the object once they are finished with it. + * + * The state of the Builder will be reset after each call to build(). The client needs to + * populate the builder with parameters again if they choose to re-use it. + * + * @return A TangentSpaceMesh + */ + TangentSpaceMesh* build(); + + private: + TangentSpaceMesh* mMesh = nullptr; + }; + + /** + * Destory the mesh object + * @param mesh A pointer to a TangentSpaceMesh ready to be destroyed + */ + static void destroy(TangentSpaceMesh* mesh) noexcept; + + /** + * Move constructor + */ + TangentSpaceMesh(TangentSpaceMesh&& that) noexcept; + + /** + * Move constructor + */ + TangentSpaceMesh& operator=(TangentSpaceMesh&& that) noexcept; + + TangentSpaceMesh(TangentSpaceMesh const&) = delete; + TangentSpaceMesh& operator=(TangentSpaceMesh const&) = delete; + + /** + * Number of output vertices + * + * The number of output vertices can be the same as the input if the selected algorithm did not + * "remesh" the input. + * + * @return The number of vertices + */ + size_t getVertexCount() const noexcept; + + /** + * Get output vertex positions. + * Assumes the `out` param is at least of getVertexCount() length (while accounting for + * `stride`). The output vertices can be the same as the input if the selected algorithm did + * not "remesh" the input. The remeshed vertices are not guarranteed to have correlation in + * order with the input mesh. + * + * @param out Client-allocated array that will be used for copying out positions. + * @param stride Stride for iterating through `out` + */ + void getPositions(filament::math::float3* out, size_t stride = 0) const; + + /** + * Get output UVs. + * Assumes the `out` param is at least of getVertexCount() length (while accounting for + * `stride`). The output uvs can be the same as the input if the selected algorithm did + * not "remesh" the input. The remeshed UVs are not guarranteed to have correlation in order + * with the input mesh. + * + * @param out Client-allocated array that will be used for copying out UVs. + * @param stride Stride for iterating through `out` + */ + void getUVs(filament::math::float2* out, size_t stride = 0) const; + + /** + * Get output tangent space. + * Assumes the `out` param is at least of getVertexCount() length (while accounting for + * `stride`). + * + * @param out Client-allocated array that will be used for copying out tangent space in + * 32-bit floating points. + * @param stride Stride for iterating through `out` + */ + void getQuats(filament::math::quatf* out, size_t stride = 0) const noexcept; + + /** + * Get output tangent space. + * Assumes the `out` param is at least of getVertexCount() length (while accounting for + * `stride`). + * + * @param out Client-allocated array that will be used for copying out tangent space in + * 16-bit signed integers. + * @param stride Stride for iterating through `out` + */ + void getQuats(filament::math::short4* out, size_t stride = 0) const noexcept; + + /** + * Get output tangent space. + * Assumes the `out` param is at least of getVertexCount() length (while accounting for + * `stride`). + * + * @param out Client-allocated array that will be used for copying out tangent space in + * 16-bit floating points. + * @param stride Stride for iterating through `out` + */ + void getQuats(filament::math::quath* out, size_t stride = 0) const noexcept; + + /** + * Get number of output triangles. + * The number of output triangles is the same as the number of input triangles. However, when a + * "remesh" is carried out the output triangles are not guarranteed to have any correlation with + * the input. + * + * @return The number of vertices + */ + size_t getTriangleCount() const noexcept; + + /** + * Get output triangles. + * This method assumes that the `out` param provided by the client is at least of + * getTriangleCount() length. If the client calls getTriangles() and triangles were not + * provided as input, we will throw and exception. + * + * @param out Client's array for the output triangles in unsigned 32-bit indices. + */ + void getTriangles(filament::math::uint3* out) const; + + /** + * Get output triangles. + * This method assumes that the `out` param provided by the client is at least of + * getTriangleCount() length. If the client calls getTriangles() and triangles were not + * provided as input, we will throw and exception. + * + * @param out Client's array for the output triangles in unsigned 16-bit indices. + */ + void getTriangles(filament::math::ushort3* out) const; + + /** + * @return The algorithm used to compute the output mesh. + */ + Algorithm getAlgorithm() const noexcept; + +private: + ~TangentSpaceMesh() noexcept; + TangentSpaceMesh() noexcept; + TangentSpaceMeshInput* mInput; + TangentSpaceMeshOutput* mOutput; + + friend class Builder; +}; + +} // namespace geometry +} // namespace filament + +#endif //TNT_GEOMETRY_TANGENTSPACEMESH_H diff --git a/web/include/filament/geometry/Transcoder.h b/web/include/filament/geometry/Transcoder.h new file mode 100644 index 00000000..805c2609 --- /dev/null +++ b/web/include/filament/geometry/Transcoder.h @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_GEOMETRY_TRANSCODER_H +#define TNT_GEOMETRY_TRANSCODER_H + +#include + +#include +#include + +namespace filament { +namespace geometry { + +enum class ComponentType { + BYTE, //!< If normalization is enabled, this maps from [-127,127] to [-1,+1] + UBYTE, //!< If normalization is enabled, this maps from [0,255] to [0, +1] + SHORT, //!< If normalization is enabled, this maps from [-32767,32767] to [-1,+1] + USHORT, //!< If normalization is enabled, this maps from [0,65535] to [0, +1] + HALF, //!< 1 sign bit, 5 exponent bits, and 5 mantissa bits. + FLOAT, //!< Standard 32-bit float +}; + +/** + * Creates a function object that can convert vertex attribute data into tightly packed floats. + * + * This is especially useful for 3-component formats which are not supported by all backends. + * e.g. The Vulkan minspec includes float3 but not short3. + * + * Usage Example: + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * using filament::geometry::Transcoder; + * using filament::geometry::ComponentType; + * + * Transcoder transcode({ + * .componentType = ComponentType::BYTE, + * .normalized = true, + * .componentCount = 3, + * .inputStrideBytes = 0 + * }); + * + * transcode(outputPtr, inputPtr, count); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * The interpretation of signed normalized data is consistent with Vulkan and OpenGL ES 3.0+. + * Note that this slightly differs from earlier versions of OpenGL ES. For example, a signed byte + * value of -127 maps exactly to -1.0f under ES3 and VK rules, but not ES2. + */ +class UTILS_PUBLIC Transcoder { +public: + /** + * Describes the format of all input data that get passed to this transcoder object. + */ + struct Config { + ComponentType componentType; + bool normalized; + uint32_t componentCount; + uint32_t inputStrideBytes = 0; //!< If stride is 0, the transcoder assumes tight packing. + }; + + /** + * Creates an immutable function object with the specified configuration. + * + * The config is not passed by const reference to allow for type inference at the call site. + */ + Transcoder(Config config) noexcept : mConfig(config) {} + + /** + * Converts arbitrary data into tightly packed 32-bit floating point values. + * + * If target is non-null, writes up to "count" items into target and returns the number of bytes + * actually written. + * + * If target is null, returns the number of bytes required. + * + * @param target Client owned area to write into, or null for a size query + * @param source Pointer to the data to read from (does not get retained) + * @param count The maximum number of items to write (i.e. number of float3 values, not bytes) + * @return Number of bytes required to contain "count" items after conversion to packed floats + * + */ + size_t operator()(float* UTILS_RESTRICT target, void const* UTILS_RESTRICT source, + size_t count) const noexcept; + +private: + const Config mConfig; +}; + +} // namespace geometry +} // namespace filament + +#endif // TNT_GEOMETRY_TRANSCODER_H diff --git a/web/include/filament/gltfio/Animator.h b/web/include/filament/gltfio/Animator.h new file mode 100644 index 00000000..199555a4 --- /dev/null +++ b/web/include/filament/gltfio/Animator.h @@ -0,0 +1,120 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_ANIMATOR_H +#define GLTFIO_ANIMATOR_H + +#include +#include + +namespace filament::gltfio { + +struct FFilamentAsset; +struct FFilamentInstance; +struct AnimatorImpl; + +/** + * \class Animator Animator.h gltfio/Animator.h + * \brief Updates matrices according to glTF \c animation and \c skin definitions. + * + * Animator can be used for two things: + * - Updating matrices in filament::TransformManager components according to glTF \c animation definitions. + * - Updating bone matrices in filament::RenderableManager components according to glTF \c skin definitions. + * + * For a usage example, see the documentation for AssetLoader. + */ +class UTILS_PUBLIC Animator { +public: + /** + * Applies rotation, translation, and scale to entities that have been targeted by the given + * animation definition. Uses filament::TransformManager. + * + * @param animationIndex Zero-based index for the \c animation of interest. + * @param time Elapsed time of interest in seconds. + */ + void applyAnimation(size_t animationIndex, float time) const; + + /** + * Computes root-to-node transforms for all bone nodes, then passes + * the results into filament::RenderableManager::setBones. + * Uses filament::TransformManager and filament::RenderableManager. + * + * NOTE: this operation is independent of \c animation. + */ + void updateBoneMatrices(); + + /** + * Applies a blended transform to the union of nodes affected by two animations. + * Used for cross-fading from a previous skinning-based animation or rigid body animation. + * + * First, this stashes the current transform hierarchy into a transient memory buffer. + * + * Next, this applies previousAnimIndex / previousAnimTime to the actual asset by internally + * calling applyAnimation(). + * + * Finally, the stashed local transforms are lerped (via the scale / translation / rotation + * components) with their live counterparts, and the results are pushed to the asset. + * + * To achieve a cross fade effect with skinned models, clients will typically call animator + * methods in this order: (1) applyAnimation (2) applyCrossFade (3) updateBoneMatrices. The + * animation that clients pass to applyAnimation is the "current" animation corresponding to + * alpha=1, while the "previous" animation passed to applyCrossFade corresponds to alpha=0. + */ + void applyCrossFade(size_t previousAnimIndex, float previousAnimTime, float alpha); + + /** + * Pass the identity matrix into all bone nodes, useful for returning to the T pose. + * + * NOTE: this operation is independent of \c animation. + */ + void resetBoneMatrices(); + + /** Returns the number of \c animation definitions in the glTF asset. */ + size_t getAnimationCount() const; + + /** Returns the duration of the specified glTF \c animation in seconds. */ + float getAnimationDuration(size_t animationIndex) const; + + /** + * Returns a weak reference to the string name of the specified \c animation, or an + * empty string if none was specified. + */ + const char* getAnimationName(size_t animationIndex) const; + + // For internal use only. + void addInstance(FFilamentInstance* instance); + +private: + + /*! \cond PRIVATE */ + friend struct FFilamentAsset; + friend struct FFilamentInstance; + /*! \endcond */ + + // If "instance" is null, then this is the primary animator. + Animator(FFilamentAsset const* asset, FFilamentInstance* instance); + ~Animator(); + + Animator(const Animator& animator) = delete; + Animator(Animator&& animator) = delete; + Animator& operator=(const Animator&) = delete; + + AnimatorImpl* mImpl; +}; + +} // namespace filament::gltfio + +#endif // GLTFIO_ANIMATOR_H diff --git a/web/include/filament/gltfio/AssetLoader.h b/web/include/filament/gltfio/AssetLoader.h new file mode 100644 index 00000000..080538aa --- /dev/null +++ b/web/include/filament/gltfio/AssetLoader.h @@ -0,0 +1,249 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_ASSETLOADER_H +#define GLTFIO_ASSETLOADER_H + +#include +#include + +#include +#include +#include + +#include + +namespace utils { + class EntityManager; + class NameComponentManager; +} + +/** + * Loader and pipeline for glTF 2.0 assets. + */ +namespace filament::gltfio { + +class NodeManager; + +/** + * \struct AssetConfiguration AssetLoader.h gltfio/AssetLoader.h + * \brief Construction parameters for AssetLoader. + */ +struct AssetConfiguration { + //! The engine that the loader should pass to builder objects (e.g. + //! filament::VertexBuffer::Builder). + class filament::Engine* engine; + + //! Controls whether the loader uses filamat to generate materials on the fly, or loads a small + //! set of precompiled ubershader materials. Deleting the MaterialProvider is the client's + //! responsibility. See createJitShaderProvider() and createUbershaderProvider(). + MaterialProvider* materials; + + //! Optional manager for associating string names with entities in the transform hierarchy. + utils::NameComponentManager* names = nullptr; + + //! Overrides the factory used for creating entities in the transform hierarchy. If this is not + //! specified, AssetLoader will use the singleton EntityManager associated with the current + //! process. + utils::EntityManager* entities = nullptr; + + //! Optional default node name for anonymous nodes + char* defaultNodeName = nullptr; +}; + +/** + * \class AssetLoader AssetLoader.h gltfio/AssetLoader.h + * \brief Consumes glTF content and produces FilamentAsset objects. + * + * AssetLoader consumes a blob of glTF 2.0 content (either JSON or GLB) and produces a FilamentAsset + * object, which is a bundle of Filament textures, vertex buffers, index buffers, etc. An asset is + * composed of 1 or more FilamentInstance objects which contain entities and components. + * + * Clients must use AssetLoader to create and destroy FilamentAsset objects. This is similar to + * how filament::Engine is used to create and destroy core objects like VertexBuffer. + * + * AssetLoader does not fetch external buffer data or create textures on its own. Clients can use + * ResourceLoader for this, which obtains the URI list from the asset. This is demonstrated in the + * code snippet below. + * + * AssetLoader also owns a cache of filament::Material objects that may be re-used across multiple + * loads. + * + * Example usage: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * auto engine = Engine::create(); + * auto materials = createJitShaderProvider(engine); + * auto decoder = createStbProvider(engine); + * auto loader = AssetLoader::create({engine, materials}); + * + * // Parse the glTF content and create Filament entities. + * std::vector content(...); + * FilamentAsset* asset = loader->createAsset(content.data(), content.size()); + * content.clear(); + * + * // Load buffers and textures from disk. + * ResourceLoader resourceLoader({engine, ".", true}); + * resourceLoader.addTextureProvider("image/png", decoder) + * resourceLoader.addTextureProvider("image/jpeg", decoder) + * resourceLoader.loadResources(asset); + * + * // Free the glTF hierarchy as it is no longer needed. + * asset->releaseSourceData(); + * + * // Add renderables to the scene. + * scene->addEntities(asset->getEntities(), asset->getEntityCount()); + * + * // Extract the animator interface from the FilamentInstance. + * auto animator = asset->getInstance()->getAnimator(); + * + * // Execute the render loop and play the first animation. + * do { + * animator->applyAnimation(0, time); + * animator->updateBoneMatrices(); + * if (renderer->beginFrame(swapChain)) { + * renderer->render(view); + * renderer->endFrame(); + * } + * } while (!quit); + * + * scene->removeEntities(asset->getEntities(), asset->getEntityCount()); + * loader->destroyAsset(asset); + * materials->destroyMaterials(); + * delete materials; + * delete decoder; + * AssetLoader::destroy(&loader); + * Engine::destroy(&engine); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ +class UTILS_PUBLIC AssetLoader { +public: + + /** + * Creates an asset loader for the given configuration, which specifies the Filament engine. + * + * The engine is held weakly, used only for the creation and destruction of Filament objects. + * The optional name component manager can be used to assign names to renderables. + * The material source specifies whether to use filamat to generate materials on the fly, or to + * load a small set of precompiled ubershader materials. + */ + static AssetLoader* create(const AssetConfiguration& config); + + /** + * Frees the loader. + * + * This does not not automatically free the cache of materials, nor + * does it free the entities for created assets (see destroyAsset). + */ + static void destroy(AssetLoader** loader); + + /** + * Takes a pointer to the contents of a GLB or a JSON-based glTF 2.0 file and returns an asset + * with one instance, or null on failure. + */ + FilamentAsset* createAsset(const uint8_t* bytes, uint32_t nbytes); + + /** + * Consumes the contents of a glTF 2.0 file and produces a primary asset with one or more + * instances. The primary asset has ownership over the instances. + * + * The returned instances share their textures, materials, and vertex buffers with the primary + * asset. However each instance has its own unique set of entities, transform components, + * material instances, and renderable components. Instances are freed when the primary asset is + * freed. + * + * Light components are not instanced, they belong only to the primary asset. + * + * Clients must use ResourceLoader to load resources on the primary asset. + * + * The entity accessor and renderable stack API in the primary asset can be used to control the + * union of all instances. The individual FilamentInstance objects can be used to access each + * instance's partition of entities. Similarly, the Animator in the primary asset controls all + * instances. To animate instances individually, use FilamentInstance::getAnimator(). + * + * @param bytes the contents of a glTF 2.0 file (JSON or GLB) + * @param numBytes the number of bytes in "bytes" + * @param instances destination pointer, to be populated by the requested number of instances + * @param numInstances requested number of instances + * @return the primary asset that has ownership over all instances + */ + FilamentAsset* createInstancedAsset(const uint8_t* bytes, uint32_t numBytes, + FilamentInstance** instances, size_t numInstances); + + /** + * Adds a new instance to the asset. + * + * Use this with caution. It is more efficient to pre-allocate a max number of instances, and + * gradually add them to the scene as needed. Instances can also be "recycled" by removing and + * re-adding them to the scene. + * + * NOTE: destroyInstance() does not exist because gltfio favors flat arrays for storage of + * entity lists and instance lists, which would be slow to shift. We also wish to discourage + * create/destroy churn, as noted above. + * + * This cannot be called after FilamentAsset::releaseSourceData(). + * See also AssetLoader::createInstancedAsset(). + */ + FilamentInstance* createInstance(FilamentAsset* asset); + + /** + * Allows clients to enable diagnostic shading on newly-loaded assets. + */ + void enableDiagnostics(bool enable = true); + + /** + * Destroys the given asset, all of its associated Filament objects, and all associated + * FilamentInstance objects. + * + * This destroys entities, components, material instances, vertex buffers, index buffers, + * and textures. This does not necessarily immediately free all source data, since + * texture decoding or GPU uploading might be underway. + */ + void destroyAsset(const FilamentAsset* asset); + + /** + * Gets a weak reference to an array of cached materials, used internally to create material + * instances for assets. + */ + const filament::Material* const* getMaterials() const noexcept; + + /** + * Gets the number of cached materials. + */ + size_t getMaterialsCount() const noexcept; + + utils::NameComponentManager* getNames() const noexcept; + + NodeManager& getNodeManager() noexcept; + + MaterialProvider& getMaterialProvider() noexcept; + + /*! \cond PRIVATE */ +protected: + AssetLoader() noexcept = default; + ~AssetLoader() = default; + +public: + AssetLoader(AssetLoader const&) = delete; + AssetLoader(AssetLoader&&) = delete; + AssetLoader& operator=(AssetLoader const&) = delete; + AssetLoader& operator=(AssetLoader&&) = delete; + /*! \endcond */ +}; + +} // namespace filament::gltfio + +#endif // GLTFIO_ASSETLOADER_H diff --git a/web/include/filament/gltfio/FilamentAsset.h b/web/include/filament/gltfio/FilamentAsset.h new file mode 100644 index 00000000..6408b363 --- /dev/null +++ b/web/include/filament/gltfio/FilamentAsset.h @@ -0,0 +1,303 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_FILAMENTASSET_H +#define GLTFIO_FILAMENTASSET_H + +#include +#include + +#include + +#include +#include + +namespace filament { + class Camera; + class Engine; + class MaterialInstance; + class Scene; +} + +namespace filament::gltfio { + +class Animator; +class FilamentInstance; + +/** + * \class FilamentAsset FilamentAsset.h gltfio/FilamentAsset.h + * \brief Owns a bundle of Filament objects that have been created by AssetLoader. + * + * For usage instructions, see the documentation for AssetLoader. + * + * This class owns a hierarchy of entities that have been loaded from a glTF asset. Every entity has + * a filament::TransformManager component, and some entities also have \c Name, \c Renderable, + * \c Light, \c Camera, or \c Node components. + * + * In addition to the aforementioned entities, an asset has strong ownership over a list of + * filament::VertexBuffer, filament::IndexBuffer, filament::Texture, + * and, optionally, a simple animation engine (gltfio::Animator). + * + * Clients must use ResourceLoader to create filament::Texture objects, compute tangent quaternions, + * and upload data into vertex buffers and index buffers. + * + * \todo Only the default glTF scene is loaded, other glTF scenes are ignored. + */ +class UTILS_PUBLIC FilamentAsset { +public: + using Entity = utils::Entity; + using SceneMask = NodeManager::SceneMask; + + /** + * Gets the list of entities, one for each glTF node. All of these have a Transform component. + * Some of the returned entities may also have a Renderable component and/or a Light component. + */ + const Entity* getEntities() const noexcept; + + /** + * Gets the number of entities returned by getEntities(). + */ + size_t getEntityCount() const noexcept; + + /** + * Gets the list of entities in the scene representing lights. All of these have a Light component. + */ + const Entity* getLightEntities() const noexcept; + + /** + * Gets the number of entities returned by getLightEntities(). + */ + size_t getLightEntityCount() const noexcept; + + /** + * Gets the list of entities in the asset that have renderable components. + */ + const utils::Entity* getRenderableEntities() const noexcept; + + /** + * Gets the number of entities returned by getRenderableEntities(). + */ + size_t getRenderableEntityCount() const noexcept; + + /** + * Gets the list of entities in the scene representing cameras. All of these have a \c Camera + * component. + * + * Note about aspect ratios: + * gltfio always uses an aspect ratio of 1.0 when setting the projection matrix for perspective + * cameras. gltfio then sets the camera's scaling matrix with the aspect ratio specified in the + * glTF file (if present). + * + * The camera's scaling matrix allows clients to adjust the aspect ratio independently from the + * camera's projection. + * + * To change the aspect ratio of the glTF camera: + * + * camera->setScaling(double4 {1.0 / newAspectRatio, 1.0, 1.0, 1.0}); + * + * @see filament::Camera::setScaling + */ + const Entity* getCameraEntities() const noexcept; + + /** + * Gets the number of entities returned by getCameraEntities(). + */ + size_t getCameraEntityCount() const noexcept; + + /** + * Gets the transform root for the asset, which has no matching glTF node. + * + * This node exists for convenience, allowing users to transform the entire asset. For instanced + * assets, this is a "super root" where each of its children is a root in a particular instance. + * This allows users to transform all instances en masse if they wish to do so. + */ + Entity getRoot() const noexcept; + + /** + * Pops a ready renderable off the queue, or returns 0 if no renderables have become ready. + * + * NOTE: To determine the progress percentage or completion status, please use + * ResourceLoader#asyncGetLoadProgress. To get the number of ready renderables, + * please use popRenderables(). + * + * This method allows clients to progressively add the asset's renderables to the scene as + * textures gradually become ready through asynchronous loading. For example, on every frame + * progressive applications can do something like this: + * + * while (Entity e = popRenderable()) { scene.addEntity(e); } + * + * Progressive reveal is not supported for dynamically added instances. + * + * \see ResourceLoader#asyncBeginLoad + * \see popRenderables() + */ + Entity popRenderable() noexcept; + + /** + * Pops up to "count" ready renderables off the queue, or returns the available number. + * + * The given pointer should either be null or point to memory that can hold up to count + * entities. If the pointer is null, returns the number of available renderables. Otherwise + * returns the number of entities that have been written. + * + * \see ResourceLoader#asyncBeginLoad + */ + size_t popRenderables(Entity* entities, size_t count) noexcept; + + /** Gets resource URIs for all externally-referenced buffers. */ + const char* const* getResourceUris() const noexcept; + + /** Gets the number of resource URIs returned by getResourceUris(). */ + size_t getResourceUriCount() const noexcept; + + /** + * Gets the bounding box computed from the supplied min / max values in glTF accessors. + * + * This does not return a bounding box over all FilamentInstance, it's just a straightforward + * AAAB that can be determined at load time from the asset data. + */ + filament::Aabb getBoundingBox() const noexcept; + + /** Gets the NameComponentManager label for the given entity, if it exists. */ + const char* getName(Entity) const noexcept; + + /** Returns the first entity with the given name, or 0 if none exist. */ + Entity getFirstEntityByName(const char* name) noexcept; + + /** + * Gets a list of entities with the given name. + * + * @param name Null-terminated string to match. + * @param entities Pointer to an array to populate. + * @param maxCount Maximum number of entities to retrieve. + * + * @return If entities is non-null, the number of entities written to the entity pointer. + * Otherwise this returns the number of entities with the given name. + */ + size_t getEntitiesByName(const char* name, Entity* entities, + size_t maxCount) const noexcept; + + /** + * Gets a list of entities whose names start with the given prefix. + * + * @param prefix Null-terminated prefix string to match. + * @param entities Pointer to an array to populate. + * @param maxCount Maximum number of entities to retrieve. + * + * @return If entities is non-null, the number of entities written to the entity pointer. + * Otherwise this returns the number of entities with the given prefix. + */ + size_t getEntitiesByPrefix(const char* prefix, Entity* entities, + size_t maxCount) const noexcept; + + /** Gets the glTF extras string for a specific node, or for the asset, if it exists. */ + const char* getExtras(Entity entity = {}) const noexcept; + + /** + * Gets the morph target name at the given index in the given entity. + */ + const char* getMorphTargetNameAt(Entity entity, size_t targetIndex) const noexcept; + + /** + * Returns the number of morph targets in the given entity. + */ + size_t getMorphTargetCountAt(Entity entity) const noexcept; + + /** + * Lazily creates a single LINES renderable that draws the transformed bounding-box hierarchy + * for diagnostic purposes. The wireframe is owned by the asset so clients should not delete it. + */ + Entity getWireframe() noexcept; + + /** + * Returns the Filament engine associated with the AssetLoader that created this asset. + */ + filament::Engine* getEngine() const noexcept; + + /** + * Reclaims CPU-side memory for URI strings, binding lists, and raw animation data. + * + * This should only be called after ResourceLoader::loadResources(). + * If this is an instanced asset, this prevents creation of new instances. + */ + void releaseSourceData() noexcept; + + /** + * Returns a weak reference to the underlying cgltf hierarchy. This becomes invalid after + * calling releaseSourceData(). + */ + const void* getSourceAsset() noexcept; + + /** + * Returns the number of scenes in the asset. + */ + size_t getSceneCount() const noexcept; + + /** + * Returns the name of the given scene. + * + * Returns null if the given scene does not have a name or is out of bounds. + */ + const char* getSceneName(size_t sceneIndex) const noexcept; + + /** + * Adds entities to a Filament scene only if they belong to at least one of the given glTF + * scenes. + * + * This is just a helper that provides an alternative to directly calling scene->addEntities() + * and provides filtering functionality. + */ + void addEntitiesToScene(filament::Scene& targetScene, const Entity* entities, size_t count, + SceneMask sceneFilter) const; + + /** + * Releases ownership of entities and their Filament components. + * + * This makes the client take responsibility for destroying Filament + * components (e.g. Renderable, TransformManager component) as well as + * the underlying entities. + */ + void detachFilamentComponents() noexcept; + + bool areFilamentComponentsDetached() const noexcept; + + /** + * Convenience function to get the first instance, or null if it doesn't exist. + */ + FilamentInstance* getInstance() noexcept { + return getAssetInstanceCount() > 0 ? getAssetInstances()[0] : nullptr; + } + + /*! \cond PRIVATE */ + + FilamentInstance** getAssetInstances() noexcept; + size_t getAssetInstanceCount() const noexcept; + +protected: + FilamentAsset() noexcept = default; + ~FilamentAsset() = default; + +public: + FilamentAsset(FilamentAsset const&) = delete; + FilamentAsset(FilamentAsset&&) = delete; + FilamentAsset& operator=(FilamentAsset const&) = delete; + FilamentAsset& operator=(FilamentAsset&&) = delete; + /*! \endcond */ +}; + +} // namespace filament::gltfio + +#endif // GLTFIO_FILAMENTASSET_H diff --git a/web/include/filament/gltfio/FilamentInstance.h b/web/include/filament/gltfio/FilamentInstance.h new file mode 100644 index 00000000..04199639 --- /dev/null +++ b/web/include/filament/gltfio/FilamentInstance.h @@ -0,0 +1,174 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_FILAMENTINSTANCE_H +#define GLTFIO_FILAMENTINSTANCE_H + +#include +#include + +#include + +namespace filament { +class MaterialInstance; +} + +namespace filament::gltfio { + +class Animator; +class FilamentAsset; + +/** + * \class FilamentInstance FilamentInstance.h gltfio/FilamentInstance.h + * \brief Provides access to a hierarchy of entities that have been instanced from a glTF asset. + * + * Every entity has a TransformManager component, and some entities also have \c Name or + * \c Renderable components. + * + * \see AssetLoader::createInstancedAsset() + */ +class UTILS_PUBLIC FilamentInstance { +public: + /** + * Gets the owner of this instance. + */ + FilamentAsset const* getAsset() const noexcept; + + /** + * Gets the list of entities in this instance, one for each glTF node. All of these have a + * Transform component. Some of the returned entities may also have a Renderable component or + * Name component. + */ + const utils::Entity* getEntities() const noexcept; + + /** + * Gets the number of entities returned by getEntities(). + */ + size_t getEntityCount() const noexcept; + + /** Gets the transform root for the instance, which has no matching glTF node. */ + utils::Entity getRoot() const noexcept; + + /** + * Applies the given material variant to all primitives in this instance. + * + * Ignored if variantIndex is out of bounds. + */ + void applyMaterialVariant(size_t variantIndex) noexcept; + + /** + * Returns the number of material variants in the asset. + */ + size_t getMaterialVariantCount() const noexcept; + + /** + * Returns the name of the given material variant, or null if it is out of bounds. + */ + const char* getMaterialVariantName(size_t variantIndex) const noexcept; + + /** + * Returns the animation engine for the instance. + * + * Note that an animator can be obtained either from an individual instance, or from the + * originating FilamentAsset. In the latter case, the animation frame is shared amongst all + * instances. If individual control is desired, users must obtain the animator from the + * individual instances. + * + * The animator is owned by the asset and should not be manually deleted. + */ + Animator* getAnimator() noexcept; + + /** + * Gets the number of skins. + */ + size_t getSkinCount() const noexcept; + + /** + * Gets the skin name at skin index. + */ + const char* getSkinNameAt(size_t skinIndex) const noexcept; + + /** + * Gets the number of joints at skin index. + */ + size_t getJointCountAt(size_t skinIndex) const noexcept; + + /** + * Gets joints at skin index. + */ + const utils::Entity* getJointsAt(size_t skinIndex) const noexcept; + + /** + * Attaches the given skin to the given node, which must have an associated mesh with + * BONE_INDICES and BONE_WEIGHTS attributes. + * + * This is a no-op if the given skin index or target is invalid. + */ + void attachSkin(size_t skinIndex, utils::Entity target) noexcept; + + /** + * Detaches the given skin from the given node. + * + * This is a no-op if the given skin index or target is invalid. + */ + void detachSkin(size_t skinIndex, utils::Entity target) noexcept; + + /** + * Gets inverse bind matrices for all joints at the given skin index. + * + * See getJointCountAt for determining the number of matrices returned (i.e. the number of joints). + */ + math::mat4f const* getInverseBindMatricesAt(size_t skinIndex) const; + + /** + * Resets the AABB on all renderables by manually computing the bounding box. + * + * THIS IS ONLY USEFUL FOR MALFORMED ASSETS THAT DO NOT HAVE MIN/MAX SET UP CORRECTLY. + * + * Does not affect the return value of getBoundingBox() on the owning asset. + * Cannot be called after releaseSourceData() on the owning asset. + * Can only be called after loadResources() or asyncBeginLoad(). + */ + void recomputeBoundingBoxes(); + + /** + * Gets the axis-aligned bounding box from the supplied min / max values in glTF accessors. + * + * If recomputeBoundingBoxes() has been called, then this returns the recomputed AABB. + */ + Aabb getBoundingBox() const noexcept; + + /** Gets all material instances. These are already bound to renderables. */ + const MaterialInstance* const* getMaterialInstances() const noexcept; + + /** Gets all material instances (non-const). These are already bound to renderables. */ + MaterialInstance* const* getMaterialInstances() noexcept; + + /** Gets the number of materials returned by getMaterialInstances(). */ + size_t getMaterialInstanceCount() const noexcept; + + /** + * Releases ownership of material instances. + * + * This makes the client take responsibility for destroying MaterialInstance + * objects. The getMaterialInstances query becomes invalid after detachment. + */ + void detachMaterialInstances(); +}; + +} // namespace filament::gltfio + +#endif // GLTFIO_FILAMENTINSTANCE_H diff --git a/web/include/filament/gltfio/MaterialProvider.h b/web/include/filament/gltfio/MaterialProvider.h new file mode 100644 index 00000000..f62d667b --- /dev/null +++ b/web/include/filament/gltfio/MaterialProvider.h @@ -0,0 +1,214 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_MATERIALPROVIDER_H +#define GLTFIO_MATERIALPROVIDER_H + +#include +#include +#include + +#include + +#include +#include + +namespace filament::gltfio { + +enum class AlphaMode : uint8_t { + OPAQUE, + MASK, + BLEND +}; + +// The following struct gets hashed so all padding bits should be explicit. +// Tell the compiler to emit a warning if it adds any padding. +UTILS_WARNING_PUSH +UTILS_WARNING_ENABLE_PADDED + +/** + * \struct MaterialKey MaterialProvider.h gltfio/MaterialProvider.h + * \brief Small POD structure that specifies the requirements for a glTF material. + * \note This key is processed by MurmurHashFn so please make padding explicit. + */ +struct alignas(4) MaterialKey { + // -- 32 bit boundary -- + bool doubleSided : 1; + bool unlit : 1; + bool hasVertexColors : 1; + bool hasBaseColorTexture : 1; + bool hasNormalTexture : 1; + bool hasOcclusionTexture : 1; + bool hasEmissiveTexture : 1; + bool useSpecularGlossiness : 1; + AlphaMode alphaMode : 4; + bool enableDiagnostics : 4; + union { + struct { + bool hasMetallicRoughnessTexture : 1; + uint8_t metallicRoughnessUV : 7; + }; + struct { + bool hasSpecularGlossinessTexture : 1; + uint8_t specularGlossinessUV : 7; + }; + }; + uint8_t baseColorUV; + // -- 32 bit boundary -- + bool hasClearCoatTexture : 1; + uint8_t clearCoatUV : 7; + bool hasClearCoatRoughnessTexture : 1; + uint8_t clearCoatRoughnessUV : 7; + bool hasClearCoatNormalTexture : 1; + uint8_t clearCoatNormalUV : 7; + bool hasClearCoat : 1; + bool hasTransmission : 1; + bool hasTextureTransforms : 6; + // -- 32 bit boundary -- + uint8_t emissiveUV; + uint8_t aoUV; + uint8_t normalUV; + bool hasTransmissionTexture : 1; + uint8_t transmissionUV : 7; + // -- 32 bit boundary -- + bool hasSheenColorTexture : 1; + uint8_t sheenColorUV : 7; + bool hasSheenRoughnessTexture : 1; + uint8_t sheenRoughnessUV : 7; + bool hasVolumeThicknessTexture : 1; + uint8_t volumeThicknessUV : 7; + bool hasSheen : 1; + bool hasIOR : 1; + bool hasVolume : 1; + uint8_t padding : 5; +}; + +static_assert(sizeof(MaterialKey) == 16, "MaterialKey has unexpected size."); + +UTILS_WARNING_POP + +bool operator==(const MaterialKey& k1, const MaterialKey& k2); + +// Define a mapping from a uv set index in the source asset to one of Filament's uv sets. +enum UvSet : uint8_t { UNUSED, UV0, UV1 }; +constexpr int UvMapSize = 8; +using UvMap = std::array; + +inline uint8_t getNumUvSets(const UvMap& uvmap) { + return std::max({ + uvmap[0], uvmap[1], uvmap[2], uvmap[3], + uvmap[4], uvmap[5], uvmap[6], uvmap[7], + }); +}; + +/** + * \class MaterialProvider MaterialProvider.h gltfio/MaterialProvider.h + * \brief Interface to a provider of glTF materials (has two implementations). + * + * - The \c JitShaderProvider implementation generates materials at run time (which can be slow) and + * requires the filamat library, but produces streamlined shaders. See createJitShaderProvider(). + * + * - The \c UbershaderProvider implementation uses a small number of pre-built materials with complex + * fragment shaders, but does not require any run time work or usage of filamat. See + * createUbershaderProvider(). + * + * Both implementations of MaterialProvider maintain a small cache of materials which must be + * explicitly freed using destroyMaterials(). These materials are not freed automatically when the + * MaterialProvider is destroyed, which allows clients to take ownership if desired. + * + */ +class UTILS_PUBLIC MaterialProvider { +public: + virtual ~MaterialProvider() {} + + /** + * Creates or fetches a compiled Filament material, then creates an instance from it. + * + * @param config Specifies requirements; might be mutated due to resource constraints. + * @param uvmap Output argument that gets populated with a small table that maps from a glTF uv + * index to a Filament uv index. + * @param label Optional tag that is not a part of the cache key. + * @param extras Optional extras as stringified JSON (not a part of the cache key). + * Does not store the pointer. + */ + virtual MaterialInstance* createMaterialInstance(MaterialKey* config, UvMap* uvmap, + const char* label = "material", const char* extras = nullptr) = 0; + + /** + * Creates or fetches a compiled Filament material corresponding to the given config. + */ + virtual Material* getMaterial(MaterialKey* config, UvMap* uvmap, + const char* label = "material") { return nullptr; } + + /** + * Gets a weak reference to the array of cached materials. + */ + virtual const Material* const* getMaterials() const noexcept = 0; + + /** + * Gets the number of cached materials. + */ + virtual size_t getMaterialsCount() const noexcept = 0; + + /** + * Destroys all cached materials. + * + * This is not called automatically when MaterialProvider is destroyed, which allows + * clients to take ownership of the cache if desired. + */ + virtual void destroyMaterials() = 0; + + /** + * Returns true if the presence of the given vertex attribute is required. + * + * Some types of providers (e.g. ubershader) require dummy attribute values + * if the glTF model does not provide them. + */ + virtual bool needsDummyData(VertexAttribute attrib) const noexcept = 0; +}; + +void constrainMaterial(MaterialKey* key, UvMap* uvmap); + +void processShaderString(std::string* shader, const UvMap& uvmap, + const MaterialKey& config); + +/** + * Creates a material provider that builds materials on the fly, composing GLSL at run time. + * + * @param optimizeShaders Optimizes shaders, but at significant cost to construction time. + * @return New material provider that can build materials at run time. + * + * Requires \c libfilamat to be linked in. Not available in \c libgltfio_core. + * + * @see createUbershaderProvider + */ +UTILS_PUBLIC +MaterialProvider* createJitShaderProvider(Engine* engine, bool optimizeShaders = false); + +/** + * Creates a material provider that loads a small set of pre-built materials. + * + * @return New material provider that can quickly load a material from a cache. + * + * @see createJitShaderProvider + */ +UTILS_PUBLIC +MaterialProvider* createUbershaderProvider(Engine* engine, const void* archive, + size_t archiveByteCount); + +} // namespace filament::gltfio + +#endif // GLTFIO_MATERIALPROVIDER_H diff --git a/web/include/filament/gltfio/NodeManager.h b/web/include/filament/gltfio/NodeManager.h new file mode 100644 index 00000000..04f7bd6d --- /dev/null +++ b/web/include/filament/gltfio/NodeManager.h @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_NODEMANAGER_H +#define GLTFIO_NODEMANAGER_H + +#include + +#include +#include +#include +#include +#include + +namespace utils { +class Entity; +} // namespace utils + +namespace filament::gltfio { + +class FNodeManager; + +/** + * NodeManager is used to add annotate entities with glTF-specific information. + * + * Node components are created by gltfio and exposed to users to allow inspection. + * + * Nodes do not store the glTF hierarchy or names; see TransformManager and NameComponentManager. + */ +class UTILS_PUBLIC NodeManager { +public: + using Instance = utils::EntityInstance; + using Entity = utils::Entity; + using CString = utils::CString; + using SceneMask = utils::bitset32; + + static constexpr size_t MAX_SCENE_COUNT = 32; + + /** + * Returns whether a particular Entity is associated with a component of this NodeManager + * @param e An Entity. + * @return true if this Entity has a component associated with this manager. + */ + bool hasComponent(Entity e) const noexcept; + + /** + * Gets an Instance representing the node component associated with the given Entity. + * @param e An Entity. + * @return An Instance object, which represents the node component associated with the Entity e. + * @note Use Instance::isValid() to make sure the component exists. + * @see hasComponent() + */ + Instance getInstance(Entity e) const noexcept; + + /** + * Creates a node component and associates it with the given entity. + * @param entity An Entity to associate a node component with. + * + * If this component already exists on the given entity, it is first destroyed as if + * destroy(Entity e) was called. + * + * @see destroy() + */ + void create(Entity entity); + + /** + * Destroys this component from the given entity. + * @param e An entity. + * + * @see create() + */ + void destroy(Entity e) noexcept; + + void setMorphTargetNames(Instance ci, utils::FixedCapacityVector names) noexcept; + const utils::FixedCapacityVector& getMorphTargetNames(Instance ci) const noexcept; + + void setExtras(Instance ci, CString extras) noexcept; + const CString& getExtras(Instance ci) const noexcept; + + void setSceneMembership(Instance ci, SceneMask scenes) noexcept; + SceneMask getSceneMembership(Instance ci) const noexcept; + +protected: + NodeManager() noexcept = default; + ~NodeManager() = default; + +public: + NodeManager(NodeManager const&) = delete; + NodeManager(NodeManager&&) = delete; + NodeManager& operator=(NodeManager const&) = delete; + NodeManager& operator=(NodeManager&&) = delete; +}; + +} // namespace filament::gltfio + + +#endif // GLTFIO_NODEMANAGER_H diff --git a/web/include/filament/gltfio/ResourceLoader.h b/web/include/filament/gltfio/ResourceLoader.h new file mode 100644 index 00000000..05c8a56d --- /dev/null +++ b/web/include/filament/gltfio/ResourceLoader.h @@ -0,0 +1,167 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_RESOURCELOADER_H +#define GLTFIO_RESOURCELOADER_H + +#include + +#include + +#include + +namespace filament { + class Engine; +} + +namespace filament::gltfio { + +struct FFilamentAsset; +class AssetPool; +class TextureProvider; + +/** + * \struct ResourceConfiguration ResourceLoader.h gltfio/ResourceLoader.h + * \brief Construction parameters for ResourceLoader. + */ +struct ResourceConfiguration { + //! The engine that the loader should pass to builder objects (e.g. + //! filament::Texture::Builder). + class filament::Engine* engine; + + //! Optional path or URI that points to the base glTF file. This is used solely + //! to resolve relative paths. The string pointer is not retained. + const char* gltfPath; + + //! If true, adjusts skinning weights to sum to 1. Well formed glTF files do not need this, + //! but it is useful for robustness. + bool normalizeSkinningWeights; +}; + +/** + * \class ResourceLoader ResourceLoader.h gltfio/ResourceLoader.h + * \brief Prepares and uploads vertex buffers and textures to the GPU. + * + * For a usage example, see the documentation for AssetLoader. + * + * ResourceLoader must be destroyed on the same thread that calls filament::Renderer::render() + * because it listens to filament::backend::BufferDescriptor callbacks in order to determine when to + * free CPU-side data blobs. + * + * \todo If clients persist their ResourceLoader, Filament textures are currently re-created upon + * subsequent re-loads of the same asset. To fix this, we would need to enable shared ownership + * of Texture objects between ResourceLoader and FilamentAsset. + */ +class UTILS_PUBLIC ResourceLoader { +public: + using BufferDescriptor = filament::backend::BufferDescriptor; + + explicit ResourceLoader(const ResourceConfiguration& config); + ~ResourceLoader(); + + + void setConfiguration(const ResourceConfiguration& config); + + /** + * Feeds the binary content of an external resource into the loader's URI cache. + * + * On some platforms, `ResourceLoader` does not know how to download external resources on its + * own (external resources might come from a filesystem, a database, or the internet) so this + * method allows clients to download external resources and push them to the loader. + * + * Every resource should be passed in before calling #loadResources or #asyncBeginLoad. See + * also FilamentAsset#getResourceUris. + * + * When loading GLB files (as opposed to JSON-based glTF files), clients typically do not + * need to call this method. + */ + void addResourceData(const char* uri, BufferDescriptor&& buffer); + + /** + * Register a plugin that can consume PNG / JPEG content and produce filament::Texture objects. + * + * Destruction of the given provider is the client's responsibility. + */ + void addTextureProvider(const char* mimeType, TextureProvider* provider); + + /** + * Checks if the given resource has already been added to the URI cache. + */ + bool hasResourceData(const char* uri) const; + + /** + * Frees memory by evicting the URI cache that was populated via addResourceData. + * + * This can be called only after a model is fully loaded or after loading has been cancelled. + */ + void evictResourceData(); + + /** + * Loads resources for the given asset from the filesystem or data cache and "finalizes" the + * asset by transforming the vertex data format if necessary, decoding image files, supplying + * tangent data, etc. + * + * Returns false if resources have already been loaded, or if one or more resources could not + * be loaded. + * + * Note: this method is synchronous and blocks until all textures have been decoded. + * For an asynchronous alternative, see #asyncBeginLoad. + */ + bool loadResources(FilamentAsset* asset); + + /** + * Starts an asynchronous resource load. + * + * Returns false if the loading process was unable to start. + * + * This is an alternative to #loadResources and requires periodic calls to #asyncUpdateLoad. + * On multi-threaded systems this creates threads for texture decoding. + */ + bool asyncBeginLoad(FilamentAsset* asset); + + /** + * Gets the status of an asynchronous resource load as a percentage in [0,1]. + */ + float asyncGetLoadProgress() const; + + /** + * Updates an asynchronous load by performing any pending work that must take place + * on the main thread. + * + * Clients must periodically call this until #asyncGetLoadProgress returns 100%. + * After progress reaches 100%, calling this is harmless; it just does nothing. + */ + void asyncUpdateLoad(); + + /** + * Cancels pending decoder jobs, frees all CPU-side texel data, and flushes the Engine. + * + * Calling this is only necessary if the asyncBeginLoad API was used + * and cancellation is required before progress reaches 100%. + */ + void asyncCancelLoad(); + +private: + bool loadResources(FFilamentAsset* asset, bool async); + void normalizeSkinningWeights(FFilamentAsset* asset) const; + struct Impl; + Impl* pImpl; +}; + +} // namespace filament::gltfio + +#endif // GLTFIO_RESOURCELOADER_H + diff --git a/web/include/filament/gltfio/TextureProvider.h b/web/include/filament/gltfio/TextureProvider.h new file mode 100644 index 00000000..ff497af2 --- /dev/null +++ b/web/include/filament/gltfio/TextureProvider.h @@ -0,0 +1,187 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_TEXTUREPROVIDER_H +#define GLTFIO_TEXTUREPROVIDER_H + +#include +#include + +#include +#include + +namespace filament { + class Engine; + class Texture; +} + +namespace filament::gltfio { + +/** + * TextureProvider is an interface that allows clients to implement their own texture decoding + * facility for JPEG, PNG, or KTX2 content. It constructs Filament Texture objects synchronously, + * but populates their miplevels asynchronously. + * + * gltfio calls all public methods from the foreground thread, i.e. the thread that the Filament + * engine was created with. However the implementation may create 0 or more background threads to + * perform decoding work. + * + * The following pseudocode illustrates how this interface could be used, but in practice the only + * client is the gltfio ResourceLoader. + * + * filament::Engine* engine = ...; + * TextureProvider* provider = createStbProvider(engine); + * + * for (auto filename : textureFiles) { + * std::vector buf = readEntireFile(filename); + * Texture* texture = provider->pushTexture(buf.data(), buf.size(), "image/png", 0); + * if (texture == nullptr) { puts(provider->getPushMessage()); exit(1); } + * } + * + * // At this point, the returned textures can be bound to material instances, but none of their + * // miplevel images have been populated yet. + * + * while (provider->getPoppedCount() < provider->getPushedCount()) { + * sleep(200); + * + * // The following call gives the provider an opportunity to reap the results of any + * // background decoder work that has been completed (e.g. by calling Texture::setImage). + * provider->updateQueue(); + * + * // Check for textures that now have all their miplevels initialized. + * while (Texture* texture = provider->popTexture()) { + * printf("%p has all its miplevels ready.\n", texture); + * } + * } + * + * delete provider; + */ +class UTILS_PUBLIC TextureProvider { +public: + using Texture = filament::Texture; + + enum class TextureFlags : uint64_t { + NONE = 0, + sRGB = 1 << 0, + }; + + /** + * Creates a Filament texture and pushes it to the asynchronous decoding queue. + * + * The provider synchronously determines the texture dimensions in order to create a Filament + * texture object, then populates the miplevels asynchronously. + * + * If construction fails, nothing is pushed to the queue and null is returned. The failure + * reason can be obtained with getPushMessage(). The given buffer pointer is not held, so the + * caller can free it immediately. It is also the caller's responsibility to free the returned + * Texture object, but it is only safe to do so after it has been popped from the queue. + */ + virtual Texture* pushTexture(const uint8_t* data, size_t byteCount, + const char* mimeType, TextureFlags flags) = 0; + + /** + * Checks if any texture is ready to be removed from the asynchronous decoding queue, and if so + * pops it off. + * + * Unless an error or cancellation occurred during the decoding process, the returned texture + * should have all its miplevels populated. If the texture is not complete, the reason can be + * obtained with getPopMessage(). + * + * Due to concurrency, textures are not necessarily popped off in the same order they were + * pushed. Returns null if there are no textures that are ready to be popped. + */ + virtual Texture* popTexture() = 0; + + /** + * Polls textures in the queue and uploads mipmap images if any have emerged from the decoder. + * + * This gives the provider an opportunity to call Texture::setImage() on the foreground thread. + * If needed, it can also call Texture::generateMipmaps() here. + * + * Items in the decoding queue can become "poppable" only during this call. + */ + virtual void updateQueue() = 0; + + /** + * Returns a failure message for the most recent call to pushTexture(), or null for success. + * + * Note that this method does not pertain to the decoding process. If decoding fails, clients to + * can pop the incomplete texture off the queue and obtain a failure message using the + * getPopFailure() method. + * + * The returned string is owned by the provider and becomes invalid after the next call to + * pushTexture(). + */ + virtual const char* getPushMessage() const = 0; + + /** + * Returns a failure message for the most recent call to popTexture(), or null for success. + * + * If the most recent call to popTexture() returned null, then no error occurred and this + * returns null. If the most recent call to popTexture() returned a "complete" texture (i.e. + * all miplevels present), then this returns null. This returns non-null only if an error or + * cancellation occurred while decoding the popped texture. + * + * The returned string is owned by the provider and becomes invalid after the next call to + * popTexture(). + */ + virtual const char* getPopMessage() const = 0; + + /** + * Waits for all outstanding decoding jobs to complete. + * + * Clients should call updateQueue() afterwards if they wish to update the push / pop queue. + */ + virtual void waitForCompletion() = 0; + + /** + * Cancels all not-yet-started decoding jobs and waits for all other jobs to complete. + * + * Jobs that have already started cannot be canceled. Textures whose decoding process has + * been cancelled will be made poppable on the subsequent call to updateQueue(). + */ + virtual void cancelDecoding() = 0; + + /** Total number of successful push calls since the provider was created. */ + virtual size_t getPushedCount() const = 0; + + /** Total number of successful pop calls since the provider was created. */ + virtual size_t getPoppedCount() const = 0; + + /** Total number of textures that have become ready-to-pop since the provider was created. */ + virtual size_t getDecodedCount() const = 0; + + virtual ~TextureProvider() = default; +}; + +/** + * Creates a simple decoder based on stb_image that can handle "image/png" and "image/jpeg". + * This works only if your build configuration includes STB. + */ +TextureProvider* createStbProvider(filament::Engine* engine); + +/** + * Creates a decoder that can handle certain types of "image/ktx2" content as specified in + * the KHR_texture_basisu specification. + */ +TextureProvider* createKtx2Provider(filament::Engine* engine); + +} // namespace filament::gltfio + +template<> struct utils::EnableBitMaskOperators + : public std::true_type {}; + +#endif // GLTFIO_TEXTUREPROVIDER_H diff --git a/web/include/filament/gltfio/TrsTransformManager.h b/web/include/filament/gltfio/TrsTransformManager.h new file mode 100644 index 00000000..980457b7 --- /dev/null +++ b/web/include/filament/gltfio/TrsTransformManager.h @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_TRSTRANSFORMMANAGER_H +#define GLTFIO_TRSTRANSFORMMANAGER_H + +#include + +#include +#include +#include +#include +#include + +using namespace filament::math; + +namespace utils { +class Entity; +} // namespace utils + +namespace filament::gltfio { + +class FTrsTransformManager; + +/** + * TrsTransformManager is used to add entities with glTF-specific trs information. + * + * Trs information here just used for Animation, DON'T use for transform. + */ +class UTILS_PUBLIC TrsTransformManager { +public: + using Instance = utils::EntityInstance; + using Entity = utils::Entity; + + /** + * Returns whether a particular Entity is associated with a component of this TrsTransformManager + * @param e An Entity. + * @return true if this Entity has a component associated with this manager. + */ + bool hasComponent(Entity e) const noexcept; + + /** + * Gets an Instance representing the trs transform component associated with the given Entity. + * @param e An Entity. + * @return An Instance object, which represents the trs transform component associated with the Entity e. + * @note Use Instance::isValid() to make sure the component exists. + * @see hasComponent() + */ + Instance getInstance(Entity e) const noexcept; + + /** + * Creates a trs transform component and associates it with the given entity. + * @param entity An Entity to associate a trs transform component with. + * @param translation The translation to initialize the trs transform component with. + * @param rotation The rotation to initialize the trs transform component with. + * @param scale The scale to initialize the trs transform component with. + * + * If this component already exists on the given entity, it is first destroyed as if + * destroy(Entity e) was called. + * + * @see destroy() + */ + void create(Entity entity); + void create(Entity entity, const float3& translation, const quatf& rotation, + const float3& scale); //!< \overload + + /** + * Destroys this component from the given entity. + * @param e An entity. + * + * @see create() + */ + void destroy(Entity e) noexcept; + + void setTranslation(Instance ci, const float3& translation) noexcept; + const float3& getTranslation(Instance ci) const noexcept; + + void setRotation(Instance ci, const quatf& rotation) noexcept; + const quatf& getRotation(Instance ci) const noexcept; + + void setScale(Instance ci, const float3& scale) noexcept; + const float3& getScale(Instance ci) const noexcept; + + void setTrs(Instance ci, const float3& translation, const quatf& rotation, + const float3& scale) noexcept; + const mat4f getTransform(Instance ci) const noexcept; + +protected: + TrsTransformManager() noexcept = default; + ~TrsTransformManager() = default; + +public: + TrsTransformManager(TrsTransformManager const&) = delete; + TrsTransformManager(TrsTransformManager&&) = delete; + TrsTransformManager& operator=(TrsTransformManager const&) = delete; + TrsTransformManager& operator=(TrsTransformManager&&) = delete; +}; + +} // namespace filament::gltfio + +#endif // GLTFIO_TRSTRANSFORMMANAGER_H diff --git a/web/include/filament/gltfio/materials/uberarchive.h b/web/include/filament/gltfio/materials/uberarchive.h new file mode 100644 index 00000000..b36ddd36 --- /dev/null +++ b/web/include/filament/gltfio/materials/uberarchive.h @@ -0,0 +1,13 @@ +#ifndef UBERARCHIVE_H_ +#define UBERARCHIVE_H_ + +#include + +extern "C" { + extern const uint8_t UBERARCHIVE_PACKAGE[]; + extern int UBERARCHIVE_DEFAULT_OFFSET; + extern int UBERARCHIVE_DEFAULT_SIZE; +} +#define UBERARCHIVE_DEFAULT_DATA (UBERARCHIVE_PACKAGE + UBERARCHIVE_DEFAULT_OFFSET) + +#endif diff --git a/web/include/filament/gltfio/math.h b/web/include/filament/gltfio/math.h new file mode 100644 index 00000000..dfbe0fca --- /dev/null +++ b/web/include/filament/gltfio/math.h @@ -0,0 +1,128 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GLTFIO_MATH_H +#define GLTFIO_MATH_H + +#include +#include +#include +#include +#include + +#include + +namespace filament::gltfio { + +template +UTILS_PUBLIC T cubicSpline(const T& vert0, const T& tang0, const T& vert1, const T& tang1, float t) { + float tt = t * t, ttt = tt * t; + float s2 = -2 * ttt + 3 * tt, s3 = ttt - tt; + float s0 = 1 - s2, s1 = s3 - tt + t; + T p0 = vert0; + T m0 = tang0; + T p1 = vert1; + T m1 = tang1; + return s0 * p0 + s1 * m0 * t + s2 * p1 + s3 * m1 * t; +} + +UTILS_PUBLIC inline void decomposeMatrix(const filament::math::mat4f& mat, filament::math::float3* translation, + filament::math::quatf* rotation, filament::math::float3* scale) { + using namespace filament::math; + + // Extract translation. + *translation = mat[3].xyz; + + // Extract upper-left for determinant computation. + const float a = mat[0][0]; + const float b = mat[0][1]; + const float c = mat[0][2]; + const float d = mat[1][0]; + const float e = mat[1][1]; + const float f = mat[1][2]; + const float g = mat[2][0]; + const float h = mat[2][1]; + const float i = mat[2][2]; + const float A = e * i - f * h; + const float B = f * g - d * i; + const float C = d * h - e * g; + + // Extract scale. + const float det(a * A + b * B + c * C); + float scalex = length(float3({a, b, c})); + float scaley = length(float3({d, e, f})); + float scalez = length(float3({g, h, i})); + float3 s = { scalex, scaley, scalez }; + if (det < 0) { + s = -s; + } + *scale = s; + + // Remove scale from the matrix if it is not close to zero. + mat4f clone = mat; + if (std::abs(det) > std::numeric_limits::epsilon()) { + clone[0] /= s.x; + clone[1] /= s.y; + clone[2] /= s.z; + // Extract rotation + *rotation = clone.toQuaternion(); + } else { + // Set to identity if close to zero + *rotation = quatf(1.0f); + } +} + +UTILS_PUBLIC inline filament::math::mat4f composeMatrix(const filament::math::float3& translation, + const filament::math::quatf& rotation, const filament::math::float3& scale) { + float tx = translation[0]; + float ty = translation[1]; + float tz = translation[2]; + float qx = rotation[0]; + float qy = rotation[1]; + float qz = rotation[2]; + float qw = rotation[3]; + float sx = scale[0]; + float sy = scale[1]; + float sz = scale[2]; + return filament::math::mat4f( + (1 - 2 * qy*qy - 2 * qz*qz) * sx, + (2 * qx*qy + 2 * qz*qw) * sx, + (2 * qx*qz - 2 * qy*qw) * sx, + 0.f, + (2 * qx*qy - 2 * qz*qw) * sy, + (1 - 2 * qx*qx - 2 * qz*qz) * sy, + (2 * qy*qz + 2 * qx*qw) * sy, + 0.f, + (2 * qx*qz + 2 * qy*qw) * sz, + (2 * qy*qz - 2 * qx*qw) * sz, + (1 - 2 * qx*qx - 2 * qy*qy) * sz, + 0.f, tx, ty, tz, 1.f); +} + +inline filament::math::mat3f matrixFromUvTransform(const float offset[2], float rotation, + const float scale[2]) { + float tx = offset[0]; + float ty = offset[1]; + float sx = scale[0]; + float sy = scale[1]; + float c = cos(rotation); + float s = sin(rotation); + return filament::math::mat3f(sx * c, sx * s, tx, -sy * s, sy * c, ty, 0.0f, 0.0f, 1.0f); +}; + +} // namespace filament::gltfio + +#endif // GLTFIO_MATH_H diff --git a/web/include/filament/ibl/Cubemap.h b/web/include/filament/ibl/Cubemap.h new file mode 100644 index 00000000..2186bdb0 --- /dev/null +++ b/web/include/filament/ibl/Cubemap.h @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IBL_CUBEMAP_H +#define IBL_CUBEMAP_H + +#include + +#include + +#include +#include +#include + +#include + +namespace filament { +namespace ibl { + +/** + * Generic cubemap class. It handles writing / reading into the 6 faces of a cubemap. + * + * Seamless trilinear filtering is handled. + * + * This class doesn't own the face data, it's just a "view" on the 6 images. + * + * @see CubemapUtils + * + */ +class UTILS_PUBLIC Cubemap { +public: + + /** + * Initialize the cubemap with a given size, but no face is set and no memory is allocated. + * + * Usually Cubemaps are created using CubemapUtils. + * + * @see CubemapUtils + */ + explicit Cubemap(size_t dim); + + Cubemap(Cubemap&&) = default; + Cubemap& operator=(Cubemap&&) = default; + + ~Cubemap(); + + + enum class Face : uint8_t { + PX = 0, // left +----+ + NX, // right | PY | + PY, // bottom +----+----+----+----+ + NY, // top | NX | PZ | PX | NZ | + PZ, // back +----+----+----+----+ + NZ // front | NY | + // +----+ + }; + + using Texel = filament::math::float3; + + + //! releases all images and reset the cubemap size + void resetDimensions(size_t dim); + + //! assigns an image to a face. + void setImageForFace(Face face, const Image& image); + + //! retrieves the image attached to a face + inline const Image& getImageForFace(Face face) const; + + //! retrieves the image attached to a face + inline Image& getImageForFace(Face face); + + //! computes the center of a pixel at coordinate x, y + static inline filament::math::float2 center(size_t x, size_t y); + + //! computes a direction vector from a face and a location of the center of pixel in an Image + inline filament::math::float3 getDirectionFor(Face face, size_t x, size_t y) const; + + //! computes a direction vector from a face and a location in pixel in an Image + inline filament::math::float3 getDirectionFor(Face face, float x, float y) const; + + //! samples the cubemap at the given direction using nearest neighbor filtering + inline Texel const& sampleAt(const filament::math::float3& direction) const; + + //! samples the cubemap at the given direction using bilinear filtering + inline Texel filterAt(const filament::math::float3& direction) const; + + //! samples an image at the given location in pixel using bilinear filtering + static Texel filterAt(const Image& image, float x, float y); + static Texel filterAtCenter(const Image& image, size_t x, size_t y); + + //! samples two cubemaps in a given direction and lerps the result by a given lerp factor + static Texel trilinearFilterAt(const Cubemap& c0, const Cubemap& c1, float lerp, + const filament::math::float3& direction); + + //! reads a texel at a given address + inline static const Texel& sampleAt(void const* data) { + return *static_cast(data); + } + + //! writes a texel at a given address + inline static void writeAt(void* data, const Texel& texel) { + *static_cast(data) = texel; + } + + //! returns the size of the cubemap in pixels + size_t getDimensions() const; + + /** + * Prepares a cubemap for seamless access to its faces. + * + * @warning All faces of the cubemap must be backed-up by the same Image, and must already + * be spaced by 2 lines/rows. + */ + void makeSeamless(); + + struct Address { + Face face; + float s = 0; + float t = 0; + }; + + //! returns the face and texture coordinates of the given direction + static Address getAddressFor(const filament::math::float3& direction); + +private: + size_t mDimensions = 0; + float mScale = 1; + float mUpperBound = 0; + Image mFaces[6]; +}; + +// ------------------------------------------------------------------------------------------------ + +inline const Image& Cubemap::getImageForFace(Face face) const { + return mFaces[int(face)]; +} + +inline Image& Cubemap::getImageForFace(Face face) { + return mFaces[int(face)]; +} + +inline filament::math::float2 Cubemap::center(size_t x, size_t y) { + return { x + 0.5f, y + 0.5f }; +} + +inline filament::math::float3 Cubemap::getDirectionFor(Face face, size_t x, size_t y) const { + return getDirectionFor(face, x + 0.5f, y + 0.5f); +} + +inline filament::math::float3 Cubemap::getDirectionFor(Face face, float x, float y) const { + // map [0, dim] to [-1,1] with (-1,-1) at bottom left + float cx = (x * mScale) - 1; + float cy = 1 - (y * mScale); + + filament::math::float3 dir; + const float l = std::sqrt(cx * cx + cy * cy + 1); + switch (face) { + case Face::PX: dir = { 1, cy, -cx }; break; + case Face::NX: dir = { -1, cy, cx }; break; + case Face::PY: dir = { cx, 1, -cy }; break; + case Face::NY: dir = { cx, -1, cy }; break; + case Face::PZ: dir = { cx, cy, 1 }; break; + case Face::NZ: dir = { -cx, cy, -1 }; break; + } + return dir * (1 / l); +} + +inline Cubemap::Texel const& Cubemap::sampleAt(const filament::math::float3& direction) const { + Cubemap::Address addr(getAddressFor(direction)); + const size_t x = std::min(size_t(addr.s * mDimensions), mDimensions - 1); + const size_t y = std::min(size_t(addr.t * mDimensions), mDimensions - 1); + return sampleAt(getImageForFace(addr.face).getPixelRef(x, y)); +} + +inline Cubemap::Texel Cubemap::filterAt(const filament::math::float3& direction) const { + Cubemap::Address addr(getAddressFor(direction)); + addr.s = std::min(addr.s * mDimensions, mUpperBound); + addr.t = std::min(addr.t * mDimensions, mUpperBound); + return filterAt(getImageForFace(addr.face), addr.s, addr.t); +} + +} // namespace ibl +} // namespace filament + +#endif /* IBL_CUBEMAP_H */ diff --git a/web/include/filament/ibl/CubemapIBL.h b/web/include/filament/ibl/CubemapIBL.h new file mode 100644 index 00000000..925e27c0 --- /dev/null +++ b/web/include/filament/ibl/CubemapIBL.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IBL_CUBEMAPIBL_H +#define IBL_CUBEMAPIBL_H + +#include + +#include +#include + +#include + +#include +#include + +namespace utils { +class JobSystem; +} // namespace utils + +namespace filament { +namespace ibl { + +class Cubemap; +class Image; + +/** + * Generates cubemaps for the IBL. + */ +class UTILS_PUBLIC CubemapIBL { +public: + typedef void (*Progress)(size_t, float, void*); + + /** + * Computes a roughness LOD using prefiltered importance sampling GGX + * + * @param dst the destination cubemap + * @param levels a list of prefiltered lods of the source environment + * @param linearRoughness roughness + * @param maxNumSamples number of samples for importance sampling + * @param updater a callback for the caller to track progress + */ + static void roughnessFilter( + utils::JobSystem& js, Cubemap& dst, const utils::Slice& levels, + float linearRoughness, size_t maxNumSamples, math::float3 mirror, bool prefilter, + Progress updater = nullptr, void* userdata = nullptr); + + static void roughnessFilter( + utils::JobSystem& js, Cubemap& dst, const std::vector& levels, + float linearRoughness, size_t maxNumSamples, math::float3 mirror, bool prefilter, + Progress updater = nullptr, void* userdata = nullptr); + + //! Computes the "DFG" term of the "split-sum" approximation and stores it in a 2D image + static void DFG(utils::JobSystem& js, Image& dst, bool multiscatter, bool cloth); + + /** + * Computes the diffuse irradiance using prefiltered importance sampling GGX + * + * @note Usually this is done using spherical harmonics instead. + * + * @param dst the destination cubemap + * @param levels a list of prefiltered lods of the source environment + * @param maxNumSamples number of samples for importance sampling + * @param updater a callback for the caller to track progress + * + * @see CubemapSH + */ + static void diffuseIrradiance(utils::JobSystem& js, Cubemap& dst, const std::vector& levels, + size_t maxNumSamples = 1024, Progress updater = nullptr, void* userdata = nullptr); + + // for debugging. ignore. + static void brdf(utils::JobSystem& js, Cubemap& dst, float linearRoughness); +}; + +} // namespace ibl +} // namespace filament + +#endif /* IBL_CUBEMAPIBL_H */ diff --git a/web/include/filament/ibl/CubemapSH.h b/web/include/filament/ibl/CubemapSH.h new file mode 100644 index 00000000..b9297c74 --- /dev/null +++ b/web/include/filament/ibl/CubemapSH.h @@ -0,0 +1,125 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IBL_CUBEMAPSH_H +#define IBL_CUBEMAPSH_H + + +#include + +#include +#include + +#include +#include + +namespace utils { +class JobSystem; +} // namespace utils + +namespace filament { +namespace ibl { + +class Cubemap; + +/** + * Computes spherical harmonics + */ +class UTILS_PUBLIC CubemapSH { +public: + /** + * Spherical Harmonics decomposition of the given cubemap + * Optionally calculates irradiance by convolving with truncated cos. + */ + static std::unique_ptr computeSH( + utils::JobSystem& js, const Cubemap& cm, size_t numBands, bool irradiance); + + /** + * Render given spherical harmonics into a cubemap + */ + static void renderSH(utils::JobSystem& js, Cubemap& cm, + const std::unique_ptr& sh, size_t numBands); + + static void windowSH(std::unique_ptr& sh, size_t numBands, float cutoff); + + /** + * Compute spherical harmonics of the irradiance of the given cubemap. + * The SH basis are pre-scaled for easier rendering by the shader. The resulting coefficients + * are not spherical harmonics (as they're scalled by various factors). In particular they + * cannot be rendered with renderSH() above. Instead use renderPreScaledSH3Bands() which + * is exactly the code ran by our shader. + */ + static void preprocessSHForShader(std::unique_ptr& sh); + + /** + * Render pre-scaled irrandiance SH + */ + static void renderPreScaledSH3Bands(utils::JobSystem& js, Cubemap& cm, + const std::unique_ptr& sh); + + static constexpr size_t getShIndex(ssize_t m, size_t l) { + return SHindex(m, l); + } + +private: + class float5 { + float v[5]; + public: + float5() = default; + constexpr float5(float a, float b, float c, float d, float e) : v{ a, b, c, d, e } {} + constexpr float operator[](size_t i) const { return v[i]; } + float& operator[](size_t i) { return v[i]; } + }; + + static inline const float5 multiply(const float5 M[5], float5 x) noexcept { + return float5{ + M[0][0] * x[0] + M[1][0] * x[1] + M[2][0] * x[2] + M[3][0] * x[3] + M[4][0] * x[4], + M[0][1] * x[0] + M[1][1] * x[1] + M[2][1] * x[2] + M[3][1] * x[3] + M[4][1] * x[4], + M[0][2] * x[0] + M[1][2] * x[1] + M[2][2] * x[2] + M[3][2] * x[3] + M[4][2] * x[4], + M[0][3] * x[0] + M[1][3] * x[1] + M[2][3] * x[2] + M[3][3] * x[3] + M[4][3] * x[4], + M[0][4] * x[0] + M[1][4] * x[1] + M[2][4] * x[2] + M[3][4] * x[3] + M[4][4] * x[4] + }; + }; + + + static inline constexpr size_t SHindex(ssize_t m, size_t l) { + return l * (l + 1) + m; + } + + static void computeShBasis(float* SHb, size_t numBands, const math::float3& s); + + static float Kml(ssize_t m, size_t l); + + static std::vector Ki(size_t numBands); + + static constexpr float computeTruncatedCosSh(size_t l); + + static float sincWindow(size_t l, float w); + + static math::float3 rotateShericalHarmonicBand1(math::float3 band1, math::mat3f const& M); + + static float5 rotateShericalHarmonicBand2(float5 const& band2, math::mat3f const& M); + + // debugging only... + static float Legendre(ssize_t l, ssize_t m, float x); + static float TSH(int l, int m, const math::float3& d); + static void printShBase(std::ostream& out, int l, int m); +}; + +} // namespace ibl +} // namespace filament + +#endif /* IBL_CUBEMAPSH_H */ diff --git a/web/include/filament/ibl/CubemapUtils.h b/web/include/filament/ibl/CubemapUtils.h new file mode 100644 index 00000000..3b4a3154 --- /dev/null +++ b/web/include/filament/ibl/CubemapUtils.h @@ -0,0 +1,124 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IBL_CUBEMAP_UTILS_H +#define IBL_CUBEMAP_UTILS_H + +#include +#include + +#include + +#include + +namespace utils { +class JobSystem; +} // namespace utils + +namespace filament { +namespace ibl { + +class CubemapIBL; + +/** + * Create and convert Cubemap formats + */ +class UTILS_PUBLIC CubemapUtils { +public: + //! Creates a cubemap object and its backing Image + static Cubemap create(Image& image, size_t dim, bool horizontal = true); + + struct EmptyState { + }; + + template + using ScanlineProc = std::function< + void(STATE& state, size_t y, Cubemap::Face f, Cubemap::Texel* data, size_t width)>; + + template + using ReduceProc = std::function; + + //! process the cubemap using multithreading + template + static void process(Cubemap& cm, + utils::JobSystem& js, + ScanlineProc proc, + ReduceProc reduce = [](STATE&) {}, + const STATE& prototype = STATE()); + + //! process the cubemap + template + static void processSingleThreaded(Cubemap& cm, + utils::JobSystem& js, + ScanlineProc proc, + ReduceProc reduce = [](STATE&) {}, + const STATE& prototype = STATE()); + + //! clamps image to acceptable range + static void clamp(Image& src); + + static void highlight(Image& src); + + //! Downsamples a cubemap by helf in x and y using a box filter + static void downsampleCubemapLevelBoxFilter(utils::JobSystem& js, Cubemap& dst, const Cubemap& src); + + //! Return the name of a face (suitable for a file name) + static const char* getFaceName(Cubemap::Face face); + + //! computes the solid angle of a pixel of a face of a cubemap + static float solidAngle(size_t dim, size_t u, size_t v); + + //! Sets a Cubemap faces from a cross image + static void setAllFacesFromCross(Cubemap& cm, const Image& image); + +private: + + //move these into cmgen? + static void setFaceFromCross(Cubemap& cm, Cubemap::Face face, const Image& image); + static Image createCubemapImage(size_t dim, bool horizontal = true); + +#ifndef FILAMENT_IBL_LITE + +public: + + //! Converts horizontal or vertical cross Image to a Cubemap + static void crossToCubemap(utils::JobSystem& js, Cubemap& dst, const Image& src); + + //! Converts equirectangular Image to a Cubemap + static void equirectangularToCubemap(utils::JobSystem& js, Cubemap& dst, const Image& src); + + //! Converts a Cubemap to an equirectangular Image + static void cubemapToEquirectangular(utils::JobSystem& js, Image& dst, const Cubemap& src); + + //! Converts a Cubemap to an octahedron + static void cubemapToOctahedron(utils::JobSystem& js, Image& dst, const Cubemap& src); + + //! mirror the cubemap in the horizontal direction + static void mirrorCubemap(utils::JobSystem& js, Cubemap& dst, const Cubemap& src); + + //! generates a UV grid in the cubemap -- useful for debugging. + static void generateUVGrid(utils::JobSystem& js, Cubemap& cml, size_t gridFrequencyX, size_t gridFrequencyY); + +#endif + + friend class CubemapIBL; +}; + + +} // namespace ibl +} // namespace filament + +#endif /* IBL_CUBEMAP_UTILS_H */ diff --git a/web/include/filament/ibl/Image.h b/web/include/filament/ibl/Image.h new file mode 100644 index 00000000..1ebaa62b --- /dev/null +++ b/web/include/filament/ibl/Image.h @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IBL_IMAGE_H +#define IBL_IMAGE_H + +#include +#include +#include + +#include + +#include + +namespace filament { +namespace ibl { + +class UTILS_PUBLIC Image { +public: + Image(); + Image(size_t w, size_t h, size_t stride = 0); + + void reset(); + + void set(Image const& image); + + void subset(Image const& image, size_t x, size_t y, size_t w, size_t h); + + bool isValid() const { return mData != nullptr; } + + size_t getWidth() const { return mWidth; } + + size_t getStride() const { return mBpr / getBytesPerPixel(); } + + size_t getHeight() const { return mHeight; } + + size_t getBytesPerRow() const { return mBpr; } + + size_t getBytesPerPixel() const { return sizeof(math::float3); } + + void* getData() const { return mData; } + + size_t getSize() const { return mBpr * mHeight; } + + void* getPixelRef(size_t x, size_t y) const; + + std::unique_ptr detach() { return std::move(mOwnedData); } + +private: + size_t mBpr = 0; + size_t mWidth = 0; + size_t mHeight = 0; + std::unique_ptr mOwnedData; + void* mData = nullptr; +}; + +inline void* Image::getPixelRef(size_t x, size_t y) const { + return static_cast(mData) + y * getBytesPerRow() + x * getBytesPerPixel(); +} + +} // namespace ibl +} // namespace filament + +#endif /* IBL_IMAGE_H */ diff --git a/web/include/filament/ibl/utilities.h b/web/include/filament/ibl/utilities.h new file mode 100644 index 00000000..6d40cc03 --- /dev/null +++ b/web/include/filament/ibl/utilities.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IBL_UTILITIES_H +#define IBL_UTILITIES_H + +#include + +#include +#include + +namespace filament { +namespace ibl { + +template +static inline constexpr T sq(T x) { + return x * x; +} + +template +static inline constexpr T log4(T x) { + // log2(x)/log2(4) + // log2(x)/2 + return std::log2(x) * T(0.5); +} + +inline bool isPOT(size_t x) { + return !(x & (x - 1)); +} + +inline filament::math::float2 hammersley(uint32_t i, float iN) { + constexpr float tof = 0.5f / 0x80000000U; + uint32_t bits = i; + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return { i * iN, bits * tof }; +} + +} // namespace ibl +} // namespace filament +#endif /* IBL_UTILITIES_H */ diff --git a/web/include/filament/image/ColorTransform.h b/web/include/filament/image/ColorTransform.h new file mode 100644 index 00000000..f5f8f195 --- /dev/null +++ b/web/include/filament/image/ColorTransform.h @@ -0,0 +1,381 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_COLORTRANSFORM_H_ +#define IMAGE_COLORTRANSFORM_H_ + +#include + +#include + +#include +#include +#include +#include + +#include +#include + +namespace image { + +template +uint32_t linearToRGB_10_11_11_REV(const T& linear) { + using fp11 = filament::math::fp<0, 5, 6>; + using fp10 = filament::math::fp<0, 5, 5>; + // the max value for a RGB_11_11_10 is {65024, 65024, 64512} : (2 - 2^-M) * 2^(E-1) + // we clamp to the min of that + fp11 r = fp11::fromf(std::min(64512.0f, linear[0])); + fp11 g = fp11::fromf(std::min(64512.0f, linear[1])); + fp10 b = fp10::fromf(std::min(64512.0f, linear[2])); + uint32_t ir = r.bits & 0x7FF; + uint32_t ig = g.bits & 0x7FF; + uint32_t ib = b.bits & 0x3FF; + return (ib << 22) | (ig << 11) | ir; +} + +template +inline filament::math::float4 linearToRGBM(const T& linear) { + using filament::math::float4; + + float4 RGBM(linear[0], linear[1], linear[2], 1.0f); + + // Linear to gamma space + RGBM.rgb = sqrt(RGBM.rgb); + // Set the range + RGBM.rgb /= 16.0f; + + float maxComponent = std::max(std::max(RGBM.r, RGBM.g), std::max(RGBM.b, 1e-6f)); + // Don't let M go below 1 in the [0..16] range + RGBM.a = filament::math::clamp(maxComponent, 1.0f / 16.0f, 1.0f); + RGBM.a = std::ceil(RGBM.a * 255.0f) / 255.0f; + + RGBM.rgb = saturate(RGBM.rgb / RGBM.a); + + return RGBM; +} + +template +inline filament::math::float3 RGBMtoLinear(const T& rgbm) { + using filament::math::float3; + + float3 linear(rgbm[0], rgbm[1], rgbm[2]); + linear *= rgbm.a * 16.0f; + // Gamma to linear space + return linear * linear; +} + +template +inline filament::math::float3 linearTosRGB(const T& linear) { + using filament::math::float3; + constexpr float a = 0.055f; + constexpr float a1 = 1.055f; + constexpr float p = 1 / 2.4f; + float3 sRGB; + for (size_t i=0 ; i<3 ; i++) { + if (linear[i] <= 0.0031308f) { + sRGB[i] = linear[i] * 12.92f; + } else { + sRGB[i] = a1 * std::pow(linear[i], p) - a; + } + } + return sRGB; +} + +inline float linearTosRGB(float linear) { + if (linear <= 0.0031308f) { + return linear * 12.92f; + } else { + constexpr float a = 0.055f; + constexpr float a1 = 1.055f; + constexpr float p = 1 / 2.4f; + return a1 * std::pow(linear, p) - a; + } +} + +template +T sRGBToLinear(const T& sRGB); + +template<> +inline filament::math::float3 sRGBToLinear(const filament::math::float3& sRGB) { + using filament::math::float3; + constexpr float a = 0.055f; + constexpr float a1 = 1.055f; + constexpr float p = 2.4f; + float3 linear; + for (size_t i=0 ; i<3 ; i++) { + if (sRGB[i] <= 0.04045f) { + linear[i] = sRGB[i] * (1.0f / 12.92f); + } else { + linear[i] = std::pow((sRGB[i] + a) / a1, p); + } + } + return linear; +} + +template<> +inline filament::math::float4 sRGBToLinear(const filament::math::float4& sRGB) { + using filament::math::float4; + constexpr float a = 0.055f; + constexpr float a1 = 1.055f; + constexpr float p = 2.4f; + float4 linear; + for (size_t i=0 ; i<3 ; i++) { + if (sRGB[i] <= 0.04045f) { + linear[i] = sRGB[i] * (1.0f / 12.92f); + } else { + linear[i] = std::pow((sRGB[i] + a) / a1, p); + } + } + linear[3] = sRGB[3]; + return linear; +} + +template +T linearToSRGB(const T& color); + +template<> +inline filament::math::float3 linearToSRGB(const filament::math::float3& color) { + using filament::math::float3; + float3 sRGBColor{color}; + UTILS_NOUNROLL + for (size_t i = 0; i < sRGBColor.size(); i++) { + sRGBColor[i] = (sRGBColor[i] <= 0.0031308f) ? + sRGBColor[i] * 12.92f : (powf(sRGBColor[i], 1.0f / 2.4f) * 1.055f) - 0.055f; + } + return sRGBColor; +} + +// Creates a N-channel sRGB image from a linear floating-point image. +// The source image can have more than N channels, but only the first 3 are converted to sRGB. +template +std::unique_ptr fromLinearTosRGB(const LinearImage& image) { + const size_t w = image.getWidth(); + const size_t h = image.getHeight(); + const size_t nchan = image.getChannels(); + assert(nchan >= N); + std::unique_ptr dst(new uint8_t[w * h * N * sizeof(T)]); + T* d = reinterpret_cast(dst.get()); + for (size_t y = 0; y < h; ++y) { + float const* p = image.getPixelRef(0, y); + for (size_t x = 0; x < w; ++x, p += nchan, d += N) { + for (int n = 0; n < N; n++) { + float source = n < 3 ? linearTosRGB(p[n]) : p[n]; + float target = filament::math::saturate(source) * std::numeric_limits::max() + 0.5f; + d[n] = T(target); + } + } + } + return dst; +} + +// Creates a N-channel RGB u8 image from a f32 image. +template +std::unique_ptr fromLinearToRGB(const LinearImage& image) { + size_t w = image.getWidth(); + size_t h = image.getHeight(); + size_t channels = image.getChannels(); + assert(channels >= N); + std::unique_ptr dst(new uint8_t[w * h * N * sizeof(T)]); + T* d = reinterpret_cast(dst.get()); + for (size_t y = 0; y < h; ++y) { + float const* p = image.getPixelRef(0, y); + for (size_t x = 0; x < w; ++x, p += channels, d += N) { + for (int n = 0; n < N; n++) { + float target = filament::math::saturate(p[n]) * std::numeric_limits::max() + 0.5f; + d[n] = T(target); + } + } + } + return dst; +} + +// Creates a 4-channel RGBM u8 image from a f32 image. +// The source image can have three or more channels, but only the first three are honored. +template +std::unique_ptr fromLinearToRGBM(const LinearImage& image) { + using namespace filament::math; + size_t w = image.getWidth(); + size_t h = image.getHeight(); + UTILS_UNUSED_IN_RELEASE size_t channels = image.getChannels(); + assert(channels >= 3); + std::unique_ptr dst(new uint8_t[w * h * 4 * sizeof(T)]); + T* d = reinterpret_cast(dst.get()); + for (size_t y = 0; y < h; ++y) { + for (size_t x = 0; x < w; ++x, d += 4) { + auto src = image.get((uint32_t) x, (uint32_t) y); + float4 l(linearToRGBM(*src) * std::numeric_limits::max() + 0.5f); + for (size_t i = 0; i < 4; i++) { + d[i] = T(l[i]); + } + } + } + return dst; +} + +// Creates a 3-channel RGB_10_11_11_REV image from a f32 image. +// The source image can have three or more channels, but only the first three are honored. +inline std::unique_ptr fromLinearToRGB_10_11_11_REV(const LinearImage& image) { + using namespace filament::math; + size_t w = image.getWidth(); + size_t h = image.getHeight(); + UTILS_UNUSED_IN_RELEASE size_t channels = image.getChannels(); + assert(channels >= 3); + std::unique_ptr dst(new uint8_t[w * h * sizeof(uint32_t)]); + uint8_t* d = dst.get(); + for (size_t y = 0; y < h; ++y) { + for (size_t x = 0; x < w; ++x, d += sizeof(uint32_t)) { + auto src = image.get((uint32_t)x, (uint32_t)y); + uint32_t v = linearToRGB_10_11_11_REV(*src); + *reinterpret_cast(d) = v; + } + } + return dst; +} + +// Creates a packed single-channel integer-based image from a floating-point image. +// For example if T is uint8_t, then this performs a transformation from [0,1] to [0,255]. +template +std::unique_ptr fromLinearToGrayscale(const LinearImage& image) { + const size_t w = image.getWidth(); + const size_t h = image.getHeight(); + assert(image.getChannels() == 1); + std::unique_ptr dst(new uint8_t[w * h * sizeof(T)]); + T* d = reinterpret_cast(dst.get()); + for (size_t y = 0; y < h; ++y) { + float const* p = image.getPixelRef(0, y); + for (size_t x = 0; x < w; ++x, ++p, ++d) { + const float gray = filament::math::saturate(*p) * std::numeric_limits::max() + 0.5f; + d[0] = T(gray); + } + } + return dst; +} + +// Constructs a 3-channel LinearImage from an untyped data blob. +// The "proc" lambda converts a single color component into a float. +// The "transform" lambda performs an arbitrary float-to-float transformation. +template +static LinearImage toLinear(size_t w, size_t h, size_t bpr, + const uint8_t* src, PROCESS proc, TRANSFORM transform) { + LinearImage result((uint32_t) w, (uint32_t) h, 3); + auto d = result.get< filament::math::float3>(); + for (size_t y = 0; y < h; ++y) { + T const* p = reinterpret_cast(src + y * bpr); + for (size_t x = 0; x < w; ++x, p += 3) { + filament::math::float3 sRGB(proc(p[0]), proc(p[1]), proc(p[2])); + sRGB /= std::numeric_limits::max(); + *d++ = transform(sRGB); + } + } + return result; +} + +// Constructs a 3-channel LinearImage from an untyped data blob. +// The "proc" lambda converts a single color component into a float. +// The "transform" lambda performs an arbitrary float-to-float transformation. +template +static LinearImage toLinear(size_t w, size_t h, size_t bpr, + const std::unique_ptr& src, PROCESS proc, TRANSFORM transform) { + return toLinear(w, h, bpr, src.get(), proc, transform); +} + +// Constructs a 4-channel LinearImage from an untyped data blob. +// The "proc" lambda converts a single color component into a float. +// the "transform" lambda performs an arbitrary float-to-float transformation. +template +static LinearImage toLinearWithAlpha(size_t w, size_t h, size_t bpr, + const uint8_t* src, PROCESS proc, TRANSFORM transform) { + LinearImage result((uint32_t) w, (uint32_t) h, 4); + auto d = result.get< filament::math::float4>(); + for (size_t y = 0; y < h; ++y) { + T const* p = reinterpret_cast(src + y * bpr); + for (size_t x = 0; x < w; ++x, p += 4) { + filament::math::float4 sRGB(proc(p[0]), proc(p[1]), proc(p[2]), proc(p[3])); + sRGB /= std::numeric_limits::max(); + *d++ = transform(sRGB); + } + } + return result; +} + +// Constructs a 4-channel LinearImage from an untyped data blob. +// The "proc" lambda converts a single color component into a float. +// the "transform" lambda performs an arbitrary float-to-float transformation. +template +static LinearImage toLinearWithAlpha(size_t w, size_t h, size_t bpr, + const std::unique_ptr& src, PROCESS proc, TRANSFORM transform) { + return toLinearWithAlpha(w, h, bpr, src.get(), proc, transform); +} + +// Constructs a 3-channel LinearImage from RGBM data. +inline LinearImage toLinearFromRGBM( filament::math::float4 const* src, uint32_t w, uint32_t h) { + LinearImage result(w, h, 3); + auto dst = result.get< filament::math::float3>(); + for (uint32_t row = 0; row < h; ++row) { + for (uint32_t col = 0; col < w; ++col, ++src, ++dst) { + *dst = RGBMtoLinear(*src); + } + } + return result; +} + +inline LinearImage fromLinearToRGBM(const LinearImage& image) { + assert(image.getChannels() == 3); + const uint32_t w = image.getWidth(), h = image.getHeight(); + LinearImage result(w, h, 4); + auto src = image.get< filament::math::float3>(); + auto dst = result.get< filament::math::float4>(); + for (uint32_t row = 0; row < h; ++row) { + for (uint32_t col = 0; col < w; ++col, ++src, ++dst) { + *dst = linearToRGBM(*src); + } + } + return result; +} + +template +static LinearImage toLinearWithAlpha(size_t w, size_t h, size_t bpr, const uint8_t* src) { + LinearImage result(w, h, 4); + filament::math::float4* d = reinterpret_cast(result.getPixelRef(0, 0)); + for (size_t y = 0; y < h; ++y) { + T const* p = reinterpret_cast(src + y * bpr); + for (size_t x = 0; x < w; ++x, p += 4) { + filament::math::float3 sRGB(p[0], p[1], p[2]); + sRGB /= std::numeric_limits::max(); + *d++ = filament::math::float4(sRGBToLinear(sRGB), 1.0f); + } + } + return result; +} + +template +static LinearImage toLinear(size_t w, size_t h, size_t bpr, const uint8_t* src) { + LinearImage result(w, h, 3); + filament::math::float3* d = reinterpret_cast(result.getPixelRef(0, 0)); + for (size_t y = 0; y < h; ++y) { + T const* p = reinterpret_cast(src + y * bpr); + for (size_t x = 0; x < w; ++x, p += 3) { + filament::math::float3 sRGB(p[0], p[1], p[2]); + sRGB /= std::numeric_limits::max(); + *d++ = sRGBToLinear(sRGB); + } + } + return result; +} + +} // namespace Image + +#endif // IMAGE_COLORTRANSFORM_H_ diff --git a/web/include/filament/image/ImageOps.h b/web/include/filament/image/ImageOps.h new file mode 100644 index 00000000..50adc90e --- /dev/null +++ b/web/include/filament/image/ImageOps.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_IMAGEOPS_H +#define IMAGE_IMAGEOPS_H + +#include + +#include + +#include +#include + +namespace image { + +// Concatenates images horizontally to create a filmstrip atlas, similar to numpy's hstack. +UTILS_PUBLIC LinearImage horizontalStack(std::initializer_list images); +UTILS_PUBLIC LinearImage horizontalStack(LinearImage const* img, size_t count); + +// Concatenates images vertically to create a filmstrip atlas, similar to numpy's vstack. +UTILS_PUBLIC LinearImage verticalStack(std::initializer_list images); +UTILS_PUBLIC LinearImage verticalStack(LinearImage const* img, size_t count); + +// Horizontally or vertically mirror the given image. +UTILS_PUBLIC LinearImage horizontalFlip(const LinearImage& image); +UTILS_PUBLIC LinearImage verticalFlip(const LinearImage& image); + +// Transforms normals (components live in [-1,+1]) into colors (components live in [0,+1]). +UTILS_PUBLIC LinearImage vectorsToColors(const LinearImage& image); +UTILS_PUBLIC LinearImage colorsToVectors(const LinearImage& image); + +// Creates a single-channel image by extracting the selected channel. +UTILS_PUBLIC LinearImage extractChannel(const LinearImage& image, uint32_t channel); + +// Constructs a multi-channel image by copying data from a sequence of single-channel images. +UTILS_PUBLIC LinearImage combineChannels(std::initializer_list images); +UTILS_PUBLIC LinearImage combineChannels(LinearImage const* img, size_t count); + +// Generates a new image with rows & columns swapped. +UTILS_PUBLIC LinearImage transpose(const LinearImage& image); + +// Extracts pixels by specifying a crop window where (0,0) is the top-left corner of the image. +// The boundary is specified as Left Top Right Bottom. +UTILS_PUBLIC +LinearImage cropRegion(const LinearImage& image, uint32_t l, uint32_t t, uint32_t r, uint32_t b); + +// Lexicographically compares two images, similar to memcmp. +UTILS_PUBLIC int compare(const LinearImage& a, const LinearImage& b, float epsilon = 0.0f); + +// Sets all pixels in all channels to the given value. +UTILS_PUBLIC void clearToValue(LinearImage& img, float value); + +// Called by the coordinate field generator to query if a pixel is within the region of interest. +using PresenceCallback = bool(*)(const LinearImage& img, uint32_t col, uint32_t row, void* user); + +// Generates a two-channel field of non-normalized coordinates that indicate the nearest pixel +// whose presence function returns true. This is the first step before generating a distance +// field or generalized Voronoi map. +UTILS_PUBLIC +LinearImage computeCoordField(const LinearImage& src, PresenceCallback presence, void* user); + +// Generates a single-channel Euclidean distance field with positive values outside the region +// of interest in the source image, and zero values inside. If sqrt is false, the computed +// distances are squared. If signed distance (SDF) is desired, this function can be called a second +// time using an inverted source field. +UTILS_PUBLIC LinearImage edtFromCoordField(const LinearImage& coordField, bool sqrt); + +// Dereferences the given coordinate field. Useful for creating Voronoi diagrams or dilated images. +UTILS_PUBLIC +LinearImage voronoiFromCoordField(const LinearImage& coordField, const LinearImage& src); + +// Copies content of a source image into a target image. Requires width/height/channels to match. +UTILS_PUBLIC void blitImage(LinearImage& target, const LinearImage& source); + +} // namespace image + + +#endif /* IMAGE_LINEARIMAGE_H */ diff --git a/web/include/filament/image/ImageSampler.h b/web/include/filament/image/ImageSampler.h new file mode 100644 index 00000000..e01da45e --- /dev/null +++ b/web/include/filament/image/ImageSampler.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_IMAGESAMPLER_H +#define IMAGE_IMAGESAMPLER_H + +#include + +#include + +namespace image { + +/** + * Value of a single point sample, allocated according to the number of image channels. + */ +struct UTILS_PUBLIC SingleSample { + float& operator[](int index) { return *(data + index); } + float* data = nullptr; + ~SingleSample(); +}; + +/** + * Controls the weighted average used across a window of source samples. + */ +enum class Filter { + DEFAULT, // Selects MITCHELL or LANCZOS dynamically. + BOX, // Computes the un-weighted average over the filter radius. + NEAREST, // Copies the source sample nearest to the center of the filter. + HERMITE, // Also known as "smoothstep", has some nice properties. + GAUSSIAN_SCALARS, // Standard Gaussian filter with sigma = 0.5 + GAUSSIAN_NORMALS, // Same as GAUSSIAN_SCALARS, but interpolates unitized vectors. + MITCHELL, // Cubic resampling per Mitchell-Netravali, default for magnification. + LANCZOS, // Popular sinc-based filter, default for minification. + MINIMUM // Takes a min val rather than avg, perhaps useful for depth maps and SDF's. +}; + +/** + * Defines a viewport inside the texture such that (0,0) is at the top-left corner of the top-left + * pixel, and (1,1) is at the bottom-right corner of the bottom-corner pixel. + */ +struct Region { + float left; + float top; + float right; + float bottom; +}; + +/** + * Transforms the texel fetching operation when sampling from adjacent images. + */ +enum class Orientation { + STANDARD = 0, + FLIP_X = 1 << 0, + FLIP_Y = 1 << 1, + FLIP_XY = FLIP_X | FLIP_Y +}; + +/** + * Specifies how to generate samples that lie outside the boundaries of the source region. + */ +struct Boundary { + enum { + EXCLUDE, // Ignore the samples and renormalize the filter. This is probably what you want. + REGION, // Keep samples that are outside sourceRegion if they are still within the image. + CLAMP, // Pretend the edge pixel is repeated forever. Gives edge pixels more weight. + REPEAT, // Resample from the region, wrapping back to the front of the row or column. + MIRROR, // Resample from the region but assume that it has been flipped. + COLOR, // Use the specified constant color. + NEIGHBOR // Sample from an adjacent image. + } mode = EXCLUDE; + SingleSample color; // Used only if mode = COLOR + LinearImage* neighbor = nullptr; // Used only if mode = NEIGHBOR + Orientation orientation; // Used only if mode = NEIGHBOR +}; + +/** + * Configuration for the resampleImage function. Provides reasonable defaults. + */ +struct ImageSampler { + Filter horizontalFilter = Filter::DEFAULT; + Filter verticalFilter = Filter::DEFAULT; + Region sourceRegion = {0, 0, 1, 1}; + float filterRadiusMultiplier = 1; + Boundary east; + Boundary north; + Boundary west; + Boundary south; +}; + +/** + * Resizes or blurs the given linear image, producing a new linear image with the given dimensions. + */ +UTILS_PUBLIC +LinearImage resampleImage(const LinearImage& source, uint32_t width, uint32_t height, + const ImageSampler& sampler); + +/** + * Resizes the given linear image using a simplified API that takes target dimensions and filter. + */ +UTILS_PUBLIC +LinearImage resampleImage(const LinearImage& source, uint32_t width, uint32_t height, + Filter filter = Filter::DEFAULT); + +/** + * Computes a single sample for the given texture coordinate and writes the resulting color + * components into the given output holder. + * + * For decent performance, do not call this across the entire image, instead call resampleImage. + * On the first call, pass in a default SingleSample to allocate the result holder. For example: + * + * SingleSample result; + * computeSingleSample(img, 0.5f, 0.5f, &result); + * printf("r g b = %f %f %f\n", result[0], result[1], result[2]); + * computeSingleSample(img, 0.9f, 0.1f, &result); + * printf("r g b = %f %f %f\n", result[0], result[1], result[2]); + * + * The x y coordinates live in "texture space" such that (0.0f, 0.0f) is the upper-left boundary of + * the top-left pixel and (+1.0f, +1.0f) is the lower-right boundary of the bottom-right pixel. + */ +UTILS_PUBLIC +void computeSingleSample(const LinearImage& source, float x, float y, SingleSample* result, + Filter filter = Filter::BOX); + +/** + * Generates a sequence of miplevels using the requested filter. To determine the number of mips + * it would take to get down to 1x1, see getMipmapCount. + * + * Source image need not be power-of-two. In the result vector, the half-size image is returned at + * index 0, the quarter-size image is at index 1, etc. Please note that the original-sized image is + * not included. + */ +UTILS_PUBLIC +void generateMipmaps(const LinearImage& source, Filter, LinearImage* result, uint32_t mipCount); + +/** + * Returns the number of miplevels it would take to downsample the given image down to 1x1. This + * number does not include the original image (i.e. mip 0). + */ +UTILS_PUBLIC +uint32_t getMipmapCount(const LinearImage& source); + +/** + * Given the string name of a filter, converts it to uppercase and returns the corresponding + * enum value. If no corresponding enumerant exists, returns DEFAULT. + */ +UTILS_PUBLIC +Filter filterFromString(const char* name); + +} // namespace image + +#endif /* IMAGE_IMAGESAMPLER_H */ diff --git a/web/include/filament/image/Ktx1Bundle.h b/web/include/filament/image/Ktx1Bundle.h new file mode 100644 index 00000000..430f92be --- /dev/null +++ b/web/include/filament/image/Ktx1Bundle.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_KTX1BUNDLE_H +#define IMAGE_KTX1BUNDLE_H + +#include + +#include + +#include +#include + +namespace image { + +struct KtxInfo { + uint32_t endianness; + uint32_t glType; + uint32_t glTypeSize; + uint32_t glFormat; + uint32_t glInternalFormat; + uint32_t glBaseInternalFormat; + uint32_t pixelWidth; + uint32_t pixelHeight; + uint32_t pixelDepth; +}; + +struct KtxBlobIndex { + uint32_t mipLevel; + uint32_t arrayIndex; + uint32_t cubeFace; +}; + +struct KtxBlobList; +struct KtxMetadata; + +/** + * Ktx1Bundle is a structured set of opaque data blobs that can be passed straight to the GPU, such + * that a single bundle corresponds to a single texture object. It is well suited for storing + * block-compressed texture data. + * + * One bundle may be comprised of several mipmap levels, cubemap faces, and array elements. The + * number of blobs is immutable, and is determined as follows. + * + * blob_count = mip_count * array_length * (cubemap ? 6 : 1) + * + * Bundles can be quickly serialized to a certain file format (see below link), but this class lives + * in the image lib rather than imageio because it has no dependencies, and does not support CPU + * decoding. + * + * https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ + */ +class UTILS_PUBLIC Ktx1Bundle { +public: + + ~Ktx1Bundle(); + + /** + * Creates a hierarchy of empty texture blobs, to be filled later via setBlob(). + */ + Ktx1Bundle(uint32_t numMipLevels, uint32_t arrayLength, bool isCubemap); + + /** + * Creates a new bundle by deserializing the given data. + * + * Typically, this constructor is used to consume the contents of a KTX file. + */ + Ktx1Bundle(uint8_t const* bytes, uint32_t nbytes); + + /** + * Serializes the bundle into the given target memory. Returns false if there's not enough + * memory. + * + * Typically, this method is used to write out the contents of a KTX file. + */ + bool serialize(uint8_t* destination, uint32_t numBytes) const; + + /** + * Computes the size (in bytes) of the serialized bundle. + */ + uint32_t getSerializedLength() const; + + /** + * Gets or sets information about the texture object, such as format and type. + */ + KtxInfo const& getInfo() const { return mInfo; } + KtxInfo& info() { return mInfo; } + + /** + * Gets or sets key/value metadata. + */ + const char* getMetadata(const char* key, size_t* valueSize = nullptr) const; + void setMetadata(const char* key, const char* value); + + /** + * Parses the key="sh" metadata and returns 3 bands of data. + * + * Assumes 3 bands for a total of 9 RGB coefficients. + * Returns true if successful. + */ + bool getSphericalHarmonics(filament::math::float3* result); + + /** + * Gets the number of miplevels (this is never zero). + */ + uint32_t getNumMipLevels() const { return mNumMipLevels; } + + /** + * Gets the number of array elements (this is never zero). + */ + uint32_t getArrayLength() const { return mArrayLength; } + + /** + * Returns whether or not this is a cubemap. + */ + bool isCubemap() const { return mNumCubeFaces > 1; } + + /** + * Retrieves a weak reference to a given data blob. Returns false if the given blob index is out + * of bounds, or if the blob at the given index is empty. + */ + bool getBlob(KtxBlobIndex index, uint8_t** data, uint32_t* size) const; + + /** + * Copies the given data into the blob at the given index, replacing whatever is already there. + * Returns false if the given blob index is out of bounds. + */ + bool setBlob(KtxBlobIndex index, uint8_t const* data, uint32_t size); + + /** + * Allocates the blob at the given index to the given number of bytes. This allows subsequent + * calls to setBlob to be thread-safe. + */ + bool allocateBlob(KtxBlobIndex index, uint32_t size); + + // The following constants help clients populate the "info" struct. Most of them have corollary + // constants in the OpenGL headers. + + static constexpr uint32_t R8 = 0x8229; + static constexpr uint32_t R8_SNORM = 0x8F94; + static constexpr uint32_t R8UI = 0x8232; + static constexpr uint32_t R8I = 0x8231; + static constexpr uint32_t STENCIL_INDEX8 = 0x8D48; + static constexpr uint32_t R16F = 0x822D; + static constexpr uint32_t R16UI = 0x8234; + static constexpr uint32_t R16I = 0x8233; + static constexpr uint32_t RG8 = 0x822B; + static constexpr uint32_t RG8_SNORM = 0x8F95; + static constexpr uint32_t RG8UI = 0x8238; + static constexpr uint32_t RG8I = 0x8237; + static constexpr uint32_t RGB565 = 0x8D62; + static constexpr uint32_t RGB5_A1 = 0x8057; + static constexpr uint32_t RGBA4 = 0x8056; + static constexpr uint32_t DEPTH_COMPONENT16 = 0x81A5; + static constexpr uint32_t RGB8 = 0x8051; + static constexpr uint32_t SRGB8 = 0x8C41; + static constexpr uint32_t RGB8_SNORM = 0x8F96; + static constexpr uint32_t RGB8UI = 0x8D7D; + static constexpr uint32_t RGB8I = 0x8D8F; + static constexpr uint32_t DEPTH_COMPONENT24 = 0x81A6; + static constexpr uint32_t R32F = 0x822E; + static constexpr uint32_t R32UI = 0x8236; + static constexpr uint32_t R32I = 0x8235; + static constexpr uint32_t RG16F = 0x822F; + static constexpr uint32_t RG16UI = 0x823A; + static constexpr uint32_t RG16I = 0x8239; + static constexpr uint32_t R11F_G11F_B10F = 0x8C3A; + static constexpr uint32_t RGB9_E5 = 0x8C3D; + static constexpr uint32_t RGBA8 = 0x8058; + static constexpr uint32_t SRGB8_ALPHA8 = 0x8C43; + static constexpr uint32_t RGBA8_SNORM = 0x8F97; + static constexpr uint32_t RGB10_A2 = 0x8059; + static constexpr uint32_t RGBA8UI = 0x8D7C; + static constexpr uint32_t RGBA8I = 0x8D8E; + static constexpr uint32_t DEPTH_COMPONENT32F = 0x8CAC; + static constexpr uint32_t DEPTH24_STENCIL8 = 0x88F0; + static constexpr uint32_t DEPTH32F_STENCIL8 = 0x8CAD; + static constexpr uint32_t RGB16F = 0x881B; + static constexpr uint32_t RGB16UI = 0x8D77; + static constexpr uint32_t RGB16I = 0x8D89; + static constexpr uint32_t RG32F = 0x8230; + static constexpr uint32_t RG32UI = 0x823C; + static constexpr uint32_t RG32I = 0x823B; + static constexpr uint32_t RGBA16F = 0x881A; + static constexpr uint32_t RGBA16UI = 0x8D76; + static constexpr uint32_t RGBA16I = 0x8D88; + static constexpr uint32_t RGB32F = 0x8815; + static constexpr uint32_t RGB32UI = 0x8D71; + static constexpr uint32_t RGB32I = 0x8D83; + static constexpr uint32_t RGBA32F = 0x8814; + static constexpr uint32_t RGBA32UI = 0x8D70; + static constexpr uint32_t RGBA32I = 0x8D82; + + static constexpr uint32_t RED = 0x1903; + static constexpr uint32_t RG = 0x8227; + static constexpr uint32_t RGB = 0x1907; + static constexpr uint32_t RGBA = 0x1908; + static constexpr uint32_t BGR = 0x80E0; + static constexpr uint32_t BGRA = 0x80E1; + static constexpr uint32_t LUMINANCE = 0x1909; + static constexpr uint32_t LUMINANCE_ALPHA = 0x190A; + + static constexpr uint32_t UNSIGNED_BYTE = 0x1401; + static constexpr uint32_t UNSIGNED_SHORT = 0x1403; + static constexpr uint32_t HALF_FLOAT = 0x140B; + static constexpr uint32_t FLOAT = 0x1406; + + static constexpr uint32_t ENDIAN_DEFAULT = 0x04030201; + + static constexpr uint32_t RGB_S3TC_DXT1 = 0x83F0; + static constexpr uint32_t RGBA_S3TC_DXT1 = 0x83F1; + static constexpr uint32_t RGBA_S3TC_DXT3 = 0x83F2; + static constexpr uint32_t RGBA_S3TC_DXT5 = 0x83F3; + + static constexpr uint32_t R_RGTC_BC4_UNORM = 0x8DBB; + static constexpr uint32_t R_RGTC_BC4_SNORM = 0x8DBC; + static constexpr uint32_t RG_RGTC_BC5_UNORM = 0x8DBD; + static constexpr uint32_t RG_RGTC_BC5_SNORM = 0x8DBE; + + static constexpr uint32_t RGBA_BPTC_BC7 = 0x8E8C; + static constexpr uint32_t SRGB8_ALPHA8_BPTC_BC7 = 0x8E8D; + static constexpr uint32_t RGB_BPTC_BC6H_SNORM = 0x8E8E; + static constexpr uint32_t RGB_BPTC_BC6H_UNORM = 0x8E8F; + + static constexpr uint32_t RGBA_ASTC_4x4 = 0x93B0; + static constexpr uint32_t RGBA_ASTC_5x4 = 0x93B1; + static constexpr uint32_t RGBA_ASTC_5x5 = 0x93B2; + static constexpr uint32_t RGBA_ASTC_6x5 = 0x93B3; + static constexpr uint32_t RGBA_ASTC_6x6 = 0x93B4; + static constexpr uint32_t RGBA_ASTC_8x5 = 0x93B5; + static constexpr uint32_t RGBA_ASTC_8x6 = 0x93B6; + static constexpr uint32_t RGBA_ASTC_8x8 = 0x93B7; + static constexpr uint32_t RGBA_ASTC_10x5 = 0x93B8; + static constexpr uint32_t RGBA_ASTC_10x6 = 0x93B9; + static constexpr uint32_t RGBA_ASTC_10x8 = 0x93BA; + static constexpr uint32_t RGBA_ASTC_10x10 = 0x93BB; + static constexpr uint32_t RGBA_ASTC_12x10 = 0x93BC; + static constexpr uint32_t RGBA_ASTC_12x12 = 0x93BD; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_4x4 = 0x93D0; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_5x4 = 0x93D1; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_5x5 = 0x93D2; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_6x5 = 0x93D3; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_6x6 = 0x93D4; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_8x5 = 0x93D5; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_8x6 = 0x93D6; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_8x8 = 0x93D7; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_10x5 = 0x93D8; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_10x6 = 0x93D9; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_10x8 = 0x93DA; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_10x10 = 0x93DB; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_12x10 = 0x93DC; + static constexpr uint32_t SRGB8_ALPHA8_ASTC_12x12 = 0x93DD; + + static constexpr uint32_t R11_EAC = 0x9270; + static constexpr uint32_t SIGNED_R11_EAC = 0x9271; + static constexpr uint32_t RG11_EAC = 0x9272; + static constexpr uint32_t SIGNED_RG11_EAC = 0x9273; + static constexpr uint32_t RGB8_ETC2 = 0x9274; + static constexpr uint32_t SRGB8_ETC2 = 0x9275; + static constexpr uint32_t RGB8_ALPHA1_ETC2 = 0x9276; + static constexpr uint32_t SRGB8_ALPHA1_ETC = 0x9277; + static constexpr uint32_t RGBA8_ETC2_EAC = 0x9278; + static constexpr uint32_t SRGB8_ALPHA8_ETC2_EAC = 0x9279; + +private: + image::KtxInfo mInfo = {}; + uint32_t mNumMipLevels; + uint32_t mArrayLength; + uint32_t mNumCubeFaces; + std::unique_ptr mBlobs; + std::unique_ptr mMetadata; +}; + +} // namespace image + +#endif /* IMAGE_Ktx1Bundle_H */ diff --git a/web/include/filament/image/LinearImage.h b/web/include/filament/image/LinearImage.h new file mode 100644 index 00000000..de46a787 --- /dev/null +++ b/web/include/filament/image/LinearImage.h @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_LINEARIMAGE_H +#define IMAGE_LINEARIMAGE_H + +#include + +#include + +/** + * Types and free functions for the Filament core imaging library, primarily used for offline tools, + * but with minimal dependencies to support potential use by the renderer. + */ +namespace image { + +/** + * LinearImage is a handle to packed floating point data arranged into a row-major grid. + * + * We use this object as input/output for core algorithms that wish to be agnostic of source and + * destination formats. The number of channels is arbitrary (1 or more) but we often use 3-channel + * images to represent color data. + * + * The underlying pixel data has shared ownership semantics to allow clients to easily pass around + * the image object without incurring a deep copy. Shared access to pixels is not thread safe. + * + * By convention, we do not use channel major order (i.e. planar). However we provide a free + * function in ImageOps to combine planar data. Pixels are stored such that the row stride is simply + * width * channels * sizeof(float). + */ +class UTILS_PUBLIC LinearImage { +public: + + ~LinearImage(); + + /** + * Allocates a zeroed-out image. + */ + LinearImage(uint32_t width, uint32_t height, uint32_t channels); + + /** + * Makes a shallow copy with shared pixel data. + */ + LinearImage(const LinearImage& that); + LinearImage& operator=(const LinearImage& that); + + /** + * Creates an empty (invalid) image. + */ + LinearImage() : mDataRef(nullptr), mData(nullptr), mWidth(0), mHeight(0), mChannels(0) {} + operator bool() const { return mData != nullptr; } + + /** + * Gets a pointer to the underlying pixel data. + */ + float* getPixelRef() { return mData; } + template T* get() { return reinterpret_cast(mData); } + + /** + * Gets a pointer to immutable pixel data. + */ + float const* getPixelRef() const { return mData; } + template T const* get() const { return reinterpret_cast(mData); } + + /** + * Gets a pointer to the pixel data at the given column and row. (not bounds checked) + */ + float* getPixelRef(uint32_t column, uint32_t row) { + return mData + (column + row * mWidth) * mChannels; + } + + template + T* get(uint32_t column, uint32_t row) { + return reinterpret_cast(getPixelRef(column, row)); + } + + /** + * Gets a pointer to the immutable pixel data at the given column and row. (not bounds checked) + */ + float const* getPixelRef(uint32_t column, uint32_t row) const { + return mData + (column + row * mWidth) * mChannels; + } + + template + T const* get(uint32_t column, uint32_t row) const { + return reinterpret_cast(getPixelRef(column, row)); + } + + uint32_t getWidth() const { return mWidth; } + uint32_t getHeight() const { return mHeight; } + uint32_t getChannels() const { return mChannels; } + void reset() { *this = LinearImage(); } + bool isValid() const { return mData; } + +private: + + struct SharedReference; + SharedReference* mDataRef = nullptr; + + float* mData; + uint32_t mWidth; + uint32_t mHeight; + uint32_t mChannels; +}; + +} // namespace image + +#endif /* IMAGE_LINEARIMAGE_H */ diff --git a/web/include/filament/imageio/BasisEncoder.h b/web/include/filament/imageio/BasisEncoder.h new file mode 100644 index 00000000..cc1f14c8 --- /dev/null +++ b/web/include/filament/imageio/BasisEncoder.h @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_BASISENCODER_H_ +#define IMAGE_BASISENCODER_H_ + +#include +#include +#include + +#include + +namespace image { + +struct BasisEncoderBuilderImpl; +struct BasisEncoderImpl; + +class UTILS_PUBLIC BasisEncoder { +public: + enum class IntermediateFormat { + UASTC, + ETC1S, + }; + + class Builder { + public: + /** + * Constructs a Ktx2 builder with a fixed number of miplevels and layers. + * + * The number of mips and layers is required up front to allow pre-allocation of the + * appropriate BasisU input vectors. + * + * @param mipCount number of mipmap levels, including the base; must be at least 1. + * @param layerCount either 1 or the number of layers in an array texture. + * + * For cubemaps and cubemap arrays, multiply the layer count by 6 and pack the faces in + * standard GL order. + */ + Builder(size_t mipCount, size_t layerCount) noexcept; + + ~Builder() noexcept; + Builder(Builder&& that) noexcept; + Builder& operator=(Builder&& that) noexcept; + + /** + * Enables the linear flag. (default value: FALSE) + * + * This does two things: + * (1) Specifies that the image should be encoded without a transfer function. + * (2) Adds a tag to the ktx file that tells the loader that no transfer function was used. + * + * Note that the tag does not actually affect the compression process, it's basically just a + * hint to the reader. At the time of this writing, BasisU does not make a distinction + * between sRGB targets and linear targets. + */ + Builder& linear(bool enabled) noexcept; + + /** + * Enables cubemap or cubemap array mode. (default value: FALSE) + * + * When this is enabled the number of layers should be divisible by 6. + */ + Builder& cubemap(bool enabled) noexcept; + + /** + * Chooses the intermediate format as described in the BasisU docs. (default value: UASTC) + * + * For highest quality, use UASTC. + */ + Builder& intermediateFormat(IntermediateFormat format) noexcept; + + /** + * Specifies that only the first component of the incoming LinearImage should be honored. + * + * default value: FALSE + */ + Builder& grayscale(bool enabled) noexcept; + + /** + * Specifies that the incoming image should be transfored from [-1, +1] to [0, 1] before it + * passed to the Basis encoder. + * + * default value: FALSE + */ + Builder& normals(bool enabled) noexcept; + + /** + * Initializes the basis encoder with the given number of jobs. + * + * default value: 4 + */ + Builder& jobs(size_t count) noexcept; + + /** + * Supresses status messages. + * + * default value: FALSE + */ + Builder& quiet(bool enabled) noexcept; + + /** + * Submits image data in linear floating-point format. + * + * This must be called for every miplevel. + */ + Builder& miplevel(size_t mipIndex, size_t layerIndex, const LinearImage& image) noexcept; + + /** + * Creates a BasisU encoder and returns null if an error occurred. + */ + BasisEncoder* build(); + + private: + BasisEncoderBuilderImpl* mImpl; + Builder(const Builder&) = delete; + Builder& operator=(const Builder&) = delete; + }; + + ~BasisEncoder() noexcept; + BasisEncoder(BasisEncoder&& that) noexcept; + BasisEncoder& operator=(BasisEncoder&& that) noexcept; + + /** + * Triggers compression of all miplevels and waits until all jobs are done. + * + * The resulting KTX2 contents can be retrieved using the getters below. + * + * @returns false if an error occurred. + */ + bool encode(); + + /** + * Gets the number of bytes in the generated KTX2 file. + * + * This can only be called if encode() is successfully called first. + */ + size_t getKtx2ByteCount() const noexcept; + + /** + * Gets the content of the generated KTX2 file. + * + * This memory is owned by BasisEncoder and is freed when the encoder is freed. + * This can only be called if encode() is successfully called first. + */ + uint8_t const* getKtx2Data() const noexcept; + +private: + BasisEncoder(BasisEncoderImpl*) noexcept; + BasisEncoder(const BasisEncoder&) = delete; + BasisEncoder& operator=(const BasisEncoder&) = delete; + BasisEncoderImpl* mImpl; + friend struct BasisEncoderBuilderImpl; +}; + +} // namespace image + +#endif // IMAGE_BASISENCODER_H_ diff --git a/web/include/filament/imageio/HDRDecoder.h b/web/include/filament/imageio/HDRDecoder.h new file mode 100644 index 00000000..bb7519ee --- /dev/null +++ b/web/include/filament/imageio/HDRDecoder.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_HDRDECODER_H_ +#define IMAGE_HDRDECODER_H_ + +#include + +namespace image { + +class HDRDecoder : public ImageDecoder::Decoder { +public: + static HDRDecoder* create(std::istream& stream); + static bool checkSignature(char const* buf); + + HDRDecoder(const HDRDecoder&) = delete; + HDRDecoder& operator=(const HDRDecoder&) = delete; + +private: + explicit HDRDecoder(std::istream& stream); + ~HDRDecoder() override; + + // ImageDecoder::Decoder interface + LinearImage decode() override; + + static const char sigRadiance[]; + static const char sigRGBE[]; + std::istream& mStream; + std::streampos mStreamStartPos; +}; + +} // namespace image + +#endif /* IMAGE_IMAGEDECODER_H_ */ diff --git a/web/include/filament/imageio/ImageDecoder.h b/web/include/filament/imageio/ImageDecoder.h new file mode 100644 index 00000000..cd341c49 --- /dev/null +++ b/web/include/filament/imageio/ImageDecoder.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_IMAGEDECODER_H_ +#define IMAGE_IMAGEDECODER_H_ + +#include +#include + +#include + +#include + +namespace image { + +class UTILS_PUBLIC ImageDecoder { +public: + enum class ColorSpace { + LINEAR, + SRGB + }; + + // Returns linear floating-point data, or a non-valid image if an error occured. + static LinearImage decode(std::istream& stream, const std::string& sourceName, + ColorSpace sourceSpace = ColorSpace::SRGB); + + class Decoder { + public: + virtual LinearImage decode() = 0; + virtual ~Decoder() = default; + + ColorSpace getColorSpace() const noexcept { + return mColorSpace; + } + + void setColorSpace(ColorSpace colorSpace) noexcept { + mColorSpace = colorSpace; + } + + private: + ColorSpace mColorSpace = ColorSpace::SRGB; + }; + +private: + enum class Format { + NONE, + PNG, + HDR, + PSD, + EXR + }; +}; + +} // namespace image + +#endif /* IMAGE_IMAGEDECODER_H_ */ diff --git a/web/include/filament/imageio/ImageDiffer.h b/web/include/filament/imageio/ImageDiffer.h new file mode 100644 index 00000000..c3c752e3 --- /dev/null +++ b/web/include/filament/imageio/ImageDiffer.h @@ -0,0 +1,34 @@ +/* + * Copyright 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include + +namespace image { + +enum class ComparisonMode { + SKIP, + COMPARE, + UPDATE, +}; + +// Saves an image to disk or does a load-and-compare, depending on comparison mode. +// This makes it easy for unit tests to have compare / update commands. +// The passed-in image is the "result image" and the expected image is the "golden image". +void updateOrCompare(LinearImage result, const utils::Path& golden, ComparisonMode, float epsilon); + +} // namespace image diff --git a/web/include/filament/imageio/ImageEncoder.h b/web/include/filament/imageio/ImageEncoder.h new file mode 100644 index 00000000..7cd4bd8f --- /dev/null +++ b/web/include/filament/imageio/ImageEncoder.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef IMAGE_IMAGEENCODER_H_ +#define IMAGE_IMAGEENCODER_H_ + +#include +#include + +#include + +#include + +namespace image { + +class UTILS_PUBLIC ImageEncoder { +public: + enum class Format { + PNG, // 8-bit sRGB, 1 or 3 channels + PNG_LINEAR, // 8-bit linear RGB, 1 or 3 channels + HDR, // 8-bit linear RGBE, 3 channels only + RGBM, // 8-bit RGBM, as PNG, 3 channels only + PSD, // 16-bit sRGB or 32-bit linear RGB, 3 channels only + // Default: 16 bit + EXR, // 16-bit linear RGB (half-float), 3 channels only + // Default: PIZ compression + DDS, // 8-bit sRGB, 1, 2 or 3 channels; + // 16-bit or 32-bit linear RGB, 1, 2 or 3 channels + // Default: 16 bit + DDS_LINEAR, // 8-bit, 16-bit or 32-bit linear RGB, 1, 2 or 3 channels + // Default: 16 bit + RGB_10_11_11_REV, // RGBA PNG file, but containing 11_11_10 data + }; + + // Consumes linear floating-point data, returns false if unable to encode. + static bool encode(std::ostream& stream, Format format, const LinearImage& image, + const std::string& compression, const std::string& destName); + + static Format chooseFormat(const std::string& name, bool forceLinear = false); + static std::string chooseExtension(Format format); + + class Encoder { + public: + virtual bool encode(const LinearImage& image) = 0; + virtual ~Encoder() = default; + }; +}; + +} // namespace image + +#endif /* IMAGE_IMAGEENCODER_H_ */ diff --git a/web/include/filament/ktxreader/Ktx1Reader.h b/web/include/filament/ktxreader/Ktx1Reader.h new file mode 100644 index 00000000..ca980c1c --- /dev/null +++ b/web/include/filament/ktxreader/Ktx1Reader.h @@ -0,0 +1,149 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef KTXREADER_KTX1READER_H +#define KTXREADER_KTX1READER_H + +#include + +#include + +namespace filament { + class Engine; +} + +namespace ktxreader { + +using KtxInfo = image::KtxInfo; +using Ktx1Bundle = image::Ktx1Bundle; + +/** + * Allows clients to create Filament textures from Ktx1Bundle objects. + */ +namespace Ktx1Reader { + + using Texture = filament::Texture; + using Engine = filament::Engine; + + using TextureFormat = Texture::InternalFormat; + using CompressedPixelDataType = Texture::CompressedType; + using PixelDataType = Texture::Type; + using PixelDataFormat = Texture::Format; + using PixelBufferDescriptor = Texture::PixelBufferDescriptor; + + using Callback = void(*)(void* userdata); + + CompressedPixelDataType toCompressedPixelDataType(const KtxInfo& info); + PixelDataType toPixelDataType(const KtxInfo& info); + PixelDataFormat toPixelDataFormat(const KtxInfo& info); + bool isCompressed(const KtxInfo& info); + TextureFormat toTextureFormat(const KtxInfo& info); + + template + T toCompressedFilamentEnum(uint32_t format) { + switch (format) { + case Ktx1Bundle::RGB_S3TC_DXT1: return T::DXT1_RGB; + case Ktx1Bundle::RGBA_S3TC_DXT1: return T::DXT1_RGBA; + case Ktx1Bundle::RGBA_S3TC_DXT3: return T::DXT3_RGBA; + case Ktx1Bundle::RGBA_S3TC_DXT5: return T::DXT5_RGBA; + case Ktx1Bundle::R_RGTC_BC4_UNORM: return T::RED_RGTC1; + case Ktx1Bundle::R_RGTC_BC4_SNORM: return T::SIGNED_RED_RGTC1; + case Ktx1Bundle::RG_RGTC_BC5_UNORM: return T::RED_GREEN_RGTC2; + case Ktx1Bundle::RG_RGTC_BC5_SNORM: return T::SIGNED_RED_GREEN_RGTC2; + case Ktx1Bundle::RGBA_BPTC_BC7: return T::RGBA_BPTC_UNORM; + case Ktx1Bundle::SRGB8_ALPHA8_BPTC_BC7: return T::SRGB_ALPHA_BPTC_UNORM; + case Ktx1Bundle::RGB_BPTC_BC6H_SNORM: return T::RGB_BPTC_SIGNED_FLOAT; + case Ktx1Bundle::RGB_BPTC_BC6H_UNORM: return T::RGB_BPTC_UNSIGNED_FLOAT; + case Ktx1Bundle::RGBA_ASTC_4x4: return T::RGBA_ASTC_4x4; + case Ktx1Bundle::RGBA_ASTC_5x4: return T::RGBA_ASTC_5x4; + case Ktx1Bundle::RGBA_ASTC_5x5: return T::RGBA_ASTC_5x5; + case Ktx1Bundle::RGBA_ASTC_6x5: return T::RGBA_ASTC_6x5; + case Ktx1Bundle::RGBA_ASTC_6x6: return T::RGBA_ASTC_6x6; + case Ktx1Bundle::RGBA_ASTC_8x5: return T::RGBA_ASTC_8x5; + case Ktx1Bundle::RGBA_ASTC_8x6: return T::RGBA_ASTC_8x6; + case Ktx1Bundle::RGBA_ASTC_8x8: return T::RGBA_ASTC_8x8; + case Ktx1Bundle::RGBA_ASTC_10x5: return T::RGBA_ASTC_10x5; + case Ktx1Bundle::RGBA_ASTC_10x6: return T::RGBA_ASTC_10x6; + case Ktx1Bundle::RGBA_ASTC_10x8: return T::RGBA_ASTC_10x8; + case Ktx1Bundle::RGBA_ASTC_10x10: return T::RGBA_ASTC_10x10; + case Ktx1Bundle::RGBA_ASTC_12x10: return T::RGBA_ASTC_12x10; + case Ktx1Bundle::RGBA_ASTC_12x12: return T::RGBA_ASTC_12x12; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_4x4: return T::SRGB8_ALPHA8_ASTC_4x4; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_5x4: return T::SRGB8_ALPHA8_ASTC_5x4; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_5x5: return T::SRGB8_ALPHA8_ASTC_5x5; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_6x5: return T::SRGB8_ALPHA8_ASTC_6x5; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_6x6: return T::SRGB8_ALPHA8_ASTC_6x6; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_8x5: return T::SRGB8_ALPHA8_ASTC_8x5; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_8x6: return T::SRGB8_ALPHA8_ASTC_8x6; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_8x8: return T::SRGB8_ALPHA8_ASTC_8x8; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_10x5: return T::SRGB8_ALPHA8_ASTC_10x5; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_10x6: return T::SRGB8_ALPHA8_ASTC_10x6; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_10x8: return T::SRGB8_ALPHA8_ASTC_10x8; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_10x10: return T::SRGB8_ALPHA8_ASTC_10x10; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_12x10: return T::SRGB8_ALPHA8_ASTC_12x10; + case Ktx1Bundle::SRGB8_ALPHA8_ASTC_12x12: return T::SRGB8_ALPHA8_ASTC_12x12; + case Ktx1Bundle::R11_EAC: return T::EAC_R11; + case Ktx1Bundle::SIGNED_R11_EAC: return T::EAC_R11_SIGNED; + case Ktx1Bundle::RG11_EAC: return T::EAC_RG11; + case Ktx1Bundle::SIGNED_RG11_EAC: return T::EAC_RG11_SIGNED; + case Ktx1Bundle::RGB8_ETC2: return T::ETC2_RGB8; + case Ktx1Bundle::SRGB8_ETC2: return T::ETC2_SRGB8; + case Ktx1Bundle::RGB8_ALPHA1_ETC2: return T::ETC2_RGB8_A1; + case Ktx1Bundle::SRGB8_ALPHA1_ETC: return T::ETC2_SRGB8_A1; + case Ktx1Bundle::RGBA8_ETC2_EAC: return T::ETC2_EAC_RGBA8; + case Ktx1Bundle::SRGB8_ALPHA8_ETC2_EAC: return T::ETC2_EAC_SRGBA8; + } + return (T) 0xffff; + } + + /** + * Creates a Texture object from a KTX file and populates all of its faces and miplevels. + * + * @param engine Used to create the Filament Texture + * @param ktx In-memory representation of a KTX file + * @param srgb Requests an sRGB format from the KTX file + * @param callback Gets called after all texture data has been uploaded to the GPU + * @param userdata Passed into the callback + */ + Texture* createTexture(Engine* engine, const Ktx1Bundle& ktx, bool srgb, + Callback callback, void* userdata); + + /** + * Creates a Texture object from a KTX bundle, populates all of its faces and miplevels, + * and automatically destroys the bundle after all the texture data has been uploaded. + * + * @param engine Used to create the Filament Texture + * @param ktx In-memory representation of a KTX file + * @param srgb Requests an sRGB format from the KTX file + */ + Texture* createTexture(Engine* engine, Ktx1Bundle* ktx, bool srgb); + + CompressedPixelDataType toCompressedPixelDataType(const KtxInfo& info); + + PixelDataType toPixelDataType(const KtxInfo& info); + + PixelDataFormat toPixelDataFormat(const KtxInfo& info); + + bool isCompressed(const KtxInfo& info); + + bool isSrgbTextureFormat(TextureFormat format); + + TextureFormat toTextureFormat(const KtxInfo& info); + +} // namespace Ktx1Reader +} // namespace ktxreader + +#endif diff --git a/web/include/filament/ktxreader/Ktx2Reader.h b/web/include/filament/ktxreader/Ktx2Reader.h new file mode 100644 index 00000000..0994a5e2 --- /dev/null +++ b/web/include/filament/ktxreader/Ktx2Reader.h @@ -0,0 +1,203 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef KTXREADER_KTX2READER_H +#define KTXREADER_KTX2READER_H + +#include +#include + +#include + +#include + +namespace filament { + class Engine; +} + +namespace basist { + class ktx2_transcoder; +} + +namespace ktxreader { + +class Ktx2Reader { + public: + using Engine = filament::Engine; + using Texture = filament::Texture; + enum class TransferFunction { LINEAR, sRGB }; + + enum class Result { + SUCCESS, + COMPRESSED_TRANSCODE_FAILURE, + UNCOMPRESSED_TRANSCODE_FAILURE, + FORMAT_UNSUPPORTED, + FORMAT_ALREADY_REQUESTED, + }; + + Ktx2Reader(Engine& engine, bool quiet = false); + ~Ktx2Reader(); + + /** + * Requests that the reader constructs Filament textures with given internal format. + * + * This MUST be called at least once before calling load(). + * + * As a reminder, a basis-encoded KTX2 can be quickly transcoded to any number of formats, + * so you need to tell it what formats your hw supports. That's why this method exists. + * + * Call requestFormat as many times as needed; formats that are submitted early are + * considered higher priority. + * + * If BasisU knows a priori that the given format is not available (e.g. if the build has + * disabled it), the format is not added and FORMAT_UNSUPPORTED is returned. + * + * Returns FORMAT_ALREADY_REQUESTED if the given format has already been requested. + * + * Hint: BasisU supports the following uncompressed formats: RGBA8, RGB565, RGBA4. + */ + Result requestFormat(Texture::InternalFormat format) noexcept; + + /** + * Removes the given format from the list, or does nothing if it hasn't been requested. + */ + void unrequestFormat(Texture::InternalFormat format) noexcept; + + /** + * Attempts to create and load a Filament texture from the given KTX2 blob. + * + * If none of the requested formats can be extracted from the data, this returns null. + * + * This method iterates through the requested format list, checking each one against the + * platform's capabilities and its availability from the transcoder. When a suitable format + * is determined, it then performs lossless decompression (zstd) before transcoding the data + * into the final format. + * + * The transfer function specified here is used in two ways: + * 1) It is checked against the transfer function that was specified as metadata + * in the KTX2 blob. If they do not match, this method fails. + * 2) It is used as a filter when determining the final internal format. + */ + Texture* load(const void* data, size_t size, TransferFunction transfer); + + /** + * Asynchronous Interface + * ====================== + * + * Alternative API suitable for asynchronous transcoding of mipmap levels. + * If unsure that you need to use this, then don't, just call load() instead. + * Usage pseudocode: + * + * auto async = reader->asyncCreate(data, size, TransferFunction::LINEAR); + * mTexture = async->getTexture(); + * auto backgroundThread = spawnThread({ async->doTranscoding(); }) + * backgroundThread.wait(); + * async->uploadImages(); + * reader->asyncDestroy(async); + * + * In the documentation comments, "foreground thread" refers to the thread that the + * Filament Engine was created on. + */ + class Async { + public: + /** + * Retrieves the Texture object. + * + * The texture is available immediately, but does not have its miplevels ready until + * after doTranscoding() and the subsequent uploadImages() have been completed. The + * caller has ownership over this texture and is responsible for freeing it after all + * miplevels have been uploaded. + */ + Texture* getTexture() const noexcept; + + /** + * Loads all mipmaps from the KTX2 file and transcodes them to the resolved format. + * + * This does not return until all mipmaps have been transcoded. This is typically + * called from a background thread. + */ + Result doTranscoding(); + + /** + * Uploads pending mipmaps to the texture. + * + * This can safely be called while doTranscoding() is still working in another thread. + * Since this calls Texture::setImage(), it should be called from the foreground thread; + * see "Thread safety" in the documentation for filament::Engine. + */ + void uploadImages(); + + protected: + Async() noexcept = default; + virtual ~Async(); + + public: + Async(Async const&) = delete; + Async(Async&&) = delete; + Async& operator=(Async const&) = delete; + Async& operator=(Async&&) = delete; + + friend class Ktx2Reader; + }; + + /** + * Creates a texture without starting the transcode process. + * + * This method is an alternative to load() that allows users to populate mipmap levels + * asynchronously. The texture object however is still created synchronously. + * + * - For a usage example, see the documentation for the Async object. + * - Creates a copy of the given buffer, allowing clients to free it immediately. + * - Returns null if none of the requested formats can be extracted from the data. + * + * This method iterates through the requested format list, checking each one against the + * platform's capabilities and its availability from the transcoder. When a suitable format + * is determined, it then performs lossless decompression (zstd) before transcoding the data + * into the final format. + * + * The transfer function specified here is used in two ways: + * 1) It is checked against the transfer function that was specified as metadata + * in the KTX2 blob. If they do not match, this method fails. + * 2) It is used as a filter when determining the final internal format. + */ + Async* asyncCreate(const void* data, size_t size, TransferFunction transfer); + + /** + * Frees the given async object and sets it to null. + * + * This frees the original source data (i.e. the raw content of the KTX2 file) but does not + * free the associated Texture object. This can be done after transcoding has finished. + */ + void asyncDestroy(Async** async); + + private: + Ktx2Reader(const Ktx2Reader&) = delete; + Ktx2Reader& operator=(const Ktx2Reader&) = delete; + Ktx2Reader(Ktx2Reader&& that) noexcept = delete; + Ktx2Reader& operator=(Ktx2Reader&& that) noexcept = delete; + + Texture* createTexture(basist::ktx2_transcoder* transcoder, const void* data, + size_t size, TransferFunction transfer); + + Engine& mEngine; + basist::ktx2_transcoder* const mTranscoder; + utils::FixedCapacityVector mRequestedFormats; + bool mQuiet; +}; + +} // namespace ktxreader + +#endif diff --git a/web/include/filament/math/TMatHelpers.h b/web/include/filament/math/TMatHelpers.h new file mode 100644 index 00000000..ec66650c --- /dev/null +++ b/web/include/filament/math/TMatHelpers.h @@ -0,0 +1,807 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_TMATHELPERS_H +#define TNT_MATH_TMATHELPERS_H + +#include +#include +#include + +#include // for std::swap and std::min +#include // for std:: namespace + +#include +#include +#include + +namespace filament { +namespace math { +namespace details { +// ------------------------------------------------------------------------------------- + +/* + * No user serviceable parts here. + * + * Don't use this file directly, instead include math/mat*.h + */ + + +/* + * Matrix utilities + */ + +namespace matrix { + +/* + * Matrix inversion + */ +template +constexpr MATRIX MATH_PURE gaussJordanInverse(MATRIX src) { + typedef typename MATRIX::value_type T; + constexpr unsigned int N = MATRIX::NUM_ROWS; + MATRIX inverted; + + for (size_t i = 0; i < N; ++i) { + // look for largest element in i'th column + size_t swap = i; + T t = src[i][i] < 0 ? -src[i][i] : src[i][i]; + for (size_t j = i + 1; j < N; ++j) { + const T t2 = src[j][i] < 0 ? -src[j][i] : src[j][i]; + if (t2 > t) { + swap = j; + t = t2; + } + } + + if (swap != i) { + // swap columns. + std::swap(src[i], src[swap]); + std::swap(inverted[i], inverted[swap]); + } + + const T denom(src[i][i]); + for (size_t k = 0; k < N; ++k) { + src[i][k] /= denom; + inverted[i][k] /= denom; + } + + // Factor out the lower triangle + for (size_t j = 0; j < N; ++j) { + if (j != i) { + const T t = src[j][i]; + for (size_t k = 0; k < N; ++k) { + src[j][k] -= src[i][k] * t; + inverted[j][k] -= inverted[i][k] * t; + } + } + } + } + + return inverted; +} + +//------------------------------------------------------------------------------ +// 2x2 matrix inverse is easy. +template +constexpr MATRIX MATH_PURE fastInverse2(const MATRIX& x) { + typedef typename MATRIX::value_type T; + + // Assuming the input matrix is: + // | a b | + // | c d | + // + // The analytic inverse is + // | d -b | + // | -c a | / (a d - b c) + // + // Importantly, our matrices are column-major! + + MATRIX inverted{}; + + const T a = x[0][0]; + const T c = x[0][1]; + const T b = x[1][0]; + const T d = x[1][1]; + + const T det((a * d) - (b * c)); + inverted[0][0] = d / det; + inverted[0][1] = -c / det; + inverted[1][0] = -b / det; + inverted[1][1] = a / det; + return inverted; +} + +//------------------------------------------------------------------------------ +// From the Wikipedia article on matrix inversion's section on fast 3x3 +// matrix inversion: +// http://en.wikipedia.org/wiki/Invertible_matrix#Inversion_of_3.C3.973_matrices +template +constexpr MATRIX MATH_PURE fastInverse3(const MATRIX& x) { + typedef typename MATRIX::value_type T; + + // Assuming the input matrix is: + // | a b c | + // | d e f | + // | g h i | + // + // The analytic inverse is + // | A B C |^T + // | D E F | + // | G H I | / determinant + // + // Which is + // | A D G | + // | B E H | + // | C F I | / determinant + // + // Where: + // A = (ei - fh), B = (fg - di), C = (dh - eg) + // D = (ch - bi), E = (ai - cg), F = (bg - ah) + // G = (bf - ce), H = (cd - af), I = (ae - bd) + // + // and the determinant is a*A + b*B + c*C (The rule of Sarrus) + // + // Importantly, our matrices are column-major! + + MATRIX inverted{}; + + const T a = x[0][0]; + const T b = x[1][0]; + const T c = x[2][0]; + const T d = x[0][1]; + const T e = x[1][1]; + const T f = x[2][1]; + const T g = x[0][2]; + const T h = x[1][2]; + const T i = x[2][2]; + + // Do the full analytic inverse + const T A = e * i - f * h; + const T B = f * g - d * i; + const T C = d * h - e * g; + inverted[0][0] = A; // A + inverted[0][1] = B; // B + inverted[0][2] = C; // C + inverted[1][0] = c * h - b * i; // D + inverted[1][1] = a * i - c * g; // E + inverted[1][2] = b * g - a * h; // F + inverted[2][0] = b * f - c * e; // G + inverted[2][1] = c * d - a * f; // H + inverted[2][2] = a * e - b * d; // I + + const T det(a * A + b * B + c * C); + for (size_t col = 0; col < 3; ++col) { + for (size_t row = 0; row < 3; ++row) { + inverted[col][row] /= det; + } + } + + return inverted; +} + + +//------------------------------------------------------------------------------ +// Determinant and cofactor + +// this is just a dummy matrix helper +template +class Matrix { + T m[ORDER][ORDER]; +public: + constexpr auto operator[](size_t i) const noexcept { return m[i]; } + + constexpr auto& operator[](size_t i) noexcept { return m[i]; } + + static constexpr Matrix submatrix(Matrix in, size_t row, size_t col) noexcept { + size_t colCount = 0, rowCount = 0; + Matrix dest{}; + for (size_t i = 0; i < ORDER; i++) { + if (i != row) { + colCount = 0; + for (size_t j = 0; j < ORDER; j++) { + if (j != col) { + dest[rowCount][colCount] = in[i][j]; + colCount++; + } + } + rowCount++; + } + } + return dest; + } +}; + +template +struct Determinant { + static constexpr T determinant(Matrix in) { + T det = {}; + for (size_t i = 0; i < O; i++) { + T m = Determinant::determinant(Matrix::submatrix(in, 0, i)); + T factor = (i % 2 == 1) ? T(-1) : T(1); + det += factor * in[0][i] * m; + } + return det; + } +}; + +template +struct Determinant { + static constexpr T determinant(Matrix in) { + return + in[0][0] * in[1][1] * in[2][2] + + in[1][0] * in[2][1] * in[0][2] + + in[2][0] * in[0][1] * in[1][2] - + in[2][0] * in[1][1] * in[0][2] - + in[1][0] * in[0][1] * in[2][2] - + in[0][0] * in[2][1] * in[1][2]; + } +}; + +template +struct Determinant { + static constexpr T determinant(Matrix in) { + return in[0][0] * in[1][1] - in[0][1] * in[1][0]; + } +}; + +template +struct Determinant { + static constexpr T determinant(Matrix in) { return in[0][0]; } +}; + +template +constexpr MATRIX MATH_PURE cofactor(const MATRIX& m) { + typedef typename MATRIX::value_type T; + + MATRIX out; + constexpr size_t order = MATRIX::NUM_COLS; + + Matrix in{}; + for (size_t i = 0; i < order; i++) { + for (size_t j = 0; j < order; j++) { + in[i][j] = m[i][j]; + } + } + + for (size_t i = 0; i < order; i++) { + for (size_t j = 0; j < order; j++) { + T factor = ((i + j) % 2 == 1) ? T(-1) : T(1); + out[i][j] = Determinant::determinant( + Matrix::submatrix(in, i, j)) * factor; + } + } + return out; +} + +template +constexpr MATRIX MATH_PURE fastCofactor2(const MATRIX& m) { + typedef typename MATRIX::value_type T; + + // Assuming the input matrix is: + // | a b | + // | c d | + // + // The cofactor are + // | d -c | + // | -b a | + // + // Importantly, our matrices are column-major! + + MATRIX cof{}; + + const T a = m[0][0]; + const T c = m[0][1]; + const T b = m[1][0]; + const T d = m[1][1]; + + cof[0][0] = d; + cof[0][1] = -b; + cof[1][0] = -c; + cof[1][1] = a; + return cof; +} + +template +constexpr MATRIX MATH_PURE fastCofactor3(const MATRIX& m) { + typedef typename MATRIX::value_type T; + + // Assuming the input matrix is: + // | a b c | + // | d e f | + // | g h i | + // + // The cofactor are + // | A B C | + // | D E F | + // | G H I | + + // Where: + // A = (ei - fh), B = (fg - di), C = (dh - eg) + // D = (ch - bi), E = (ai - cg), F = (bg - ah) + // G = (bf - ce), H = (cd - af), I = (ae - bd) + + // Importantly, our matrices are column-major! + + MATRIX cof{}; + + const T a = m[0][0]; + const T b = m[1][0]; + const T c = m[2][0]; + const T d = m[0][1]; + const T e = m[1][1]; + const T f = m[2][1]; + const T g = m[0][2]; + const T h = m[1][2]; + const T i = m[2][2]; + + cof[0][0] = e * i - f * h; // A + cof[0][1] = c * h - b * i; // D + cof[0][2] = b * f - c * e; // G + cof[1][0] = f * g - d * i; // B + cof[1][1] = a * i - c * g; // E + cof[1][2] = c * d - a * f; // H + cof[2][0] = d * h - e * g; // C + cof[2][1] = b * g - a * h; // F + cof[2][2] = a * e - b * d; // I + + return cof; +} + + +/** + * Cofactor function which switches on the matrix size. + */ +template> +inline constexpr MATRIX MATH_PURE cof(const MATRIX& matrix) { + return (MATRIX::NUM_ROWS == 2) ? fastCofactor2(matrix) : + ((MATRIX::NUM_ROWS == 3) ? fastCofactor3(matrix) : + cofactor(matrix)); +} + +/** + * Determinant of a matrix + */ +template> +inline constexpr typename MATRIX::value_type MATH_PURE det(const MATRIX& matrix) { + typedef typename MATRIX::value_type T; + constexpr unsigned int N = MATRIX::NUM_ROWS; + Matrix in{}; + for (size_t i = 0; i < N; i++) { + for (size_t j = 0; j < N; j++) { + in[i][j] = matrix[i][j]; + } + } + return Determinant::determinant(in); +} + +/** + * Inversion function which switches on the matrix size. + * @warning This function assumes the matrix is invertible. The result is + * undefined if it is not. It is the responsibility of the caller to + * make sure the matrix is not singular. + */ +template> +inline constexpr MATRIX MATH_PURE inverse(const MATRIX& matrix) { + return (MATRIX::NUM_ROWS == 2) ? fastInverse2(matrix) : + ((MATRIX::NUM_ROWS == 3) ? fastInverse3(matrix) : + gaussJordanInverse(matrix)); +} + +template> +constexpr MATRIX_R MATH_PURE multiply(MATRIX_A lhs, MATRIX_B rhs) { + // pre-requisite: + // lhs : D columns, R rows + // rhs : C columns, D rows + // res : C columns, R rows + MATRIX_R res{}; + for (size_t col = 0; col < MATRIX_R::NUM_COLS; ++col) { + res[col] = lhs * rhs[col]; + } + return res; +} + +template> +inline constexpr MATRIX MATH_PURE transpose(MATRIX m) { + // for now we only handle square matrix transpose + MATRIX result{}; + for (size_t col = 0; col < MATRIX::NUM_COLS; ++col) { + for (size_t row = 0; row < MATRIX::NUM_ROWS; ++row) { + result[col][row] = m[row][col]; + } + } + return result; +} + +template> +inline constexpr typename MATRIX::value_type MATH_PURE trace(MATRIX m) { + typename MATRIX::value_type result{}; + for (size_t col = 0; col < MATRIX::NUM_COLS; ++col) { + result += m[col][col]; + } + return result; +} + +template> +inline constexpr typename MATRIX::col_type MATH_PURE diag(MATRIX m) { + typename MATRIX::col_type result{}; + for (size_t col = 0; col < MATRIX::NUM_COLS; ++col) { + result[col] = m[col][col]; + } + return result; +} + +//------------------------------------------------------------------------------ +// This is taken from the Imath MatrixAlgo code, and is identical to Eigen. +template +TQuaternion extractQuat(const MATRIX& mat) { + typedef typename MATRIX::value_type T; + + TQuaternion quat(TQuaternion::NO_INIT); + + // Compute the trace to see if it is positive or not. + const T trace = mat[0][0] + mat[1][1] + mat[2][2]; + + // check the sign of the trace + if (MATH_LIKELY(trace > 0)) { + // trace is positive + T s = std::sqrt(trace + 1); + quat.w = T(0.5) * s; + s = T(0.5) / s; + quat.x = (mat[1][2] - mat[2][1]) * s; + quat.y = (mat[2][0] - mat[0][2]) * s; + quat.z = (mat[0][1] - mat[1][0]) * s; + } else { + // trace is negative + + // Find the index of the greatest diagonal + size_t i = 0; + if (mat[1][1] > mat[0][0]) { i = 1; } + if (mat[2][2] > mat[i][i]) { i = 2; } + + // Get the next indices: (n+1)%3 + static constexpr size_t next_ijk[3] = { 1, 2, 0 }; + size_t j = next_ijk[i]; + size_t k = next_ijk[j]; + T s = std::sqrt((mat[i][i] - (mat[j][j] + mat[k][k])) + 1); + quat[i] = T(0.5) * s; + if (s != 0) { + s = T(0.5) / s; + } + quat.w = (mat[j][k] - mat[k][j]) * s; + quat[j] = (mat[i][j] + mat[j][i]) * s; + quat[k] = (mat[i][k] + mat[k][i]) * s; + } + return quat; +} + +} // namespace matrix + +// ------------------------------------------------------------------------------------- + +/* + * TMatProductOperators implements basic arithmetic and basic compound assignments + * operators on a vector of type BASE. + * + * BASE only needs to implement operator[] and size(). + * By simply inheriting from TMatProductOperators BASE will automatically + * get all the functionality here. + */ + +template class BASE, typename T, + template class VEC> +class TMatProductOperators { +public: + // matrix *= matrix + template + constexpr BASE& operator*=(const BASE& rhs) { + BASE& lhs(static_cast< BASE& >(*this)); + lhs = matrix::multiply>(lhs, rhs); + return lhs; + } + + // matrix *= scalar + template> + constexpr BASE& operator*=(U v) { + BASE& lhs(static_cast< BASE& >(*this)); + for (size_t col = 0; col < BASE::NUM_COLS; ++col) { + lhs[col] *= v; + } + return lhs; + } + + // matrix /= scalar + template> + constexpr BASE& operator/=(U v) { + BASE& lhs(static_cast< BASE& >(*this)); + for (size_t col = 0; col < BASE::NUM_COLS; ++col) { + lhs[col] /= v; + } + return lhs; + } + +private: + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + + // matrix * matrix + template + friend inline constexpr BASE> MATH_PURE + operator*(BASE lhs, BASE rhs) { + return matrix::multiply>>(lhs, rhs); + } + + // matrix * vector + template + friend inline constexpr typename BASE>::col_type MATH_PURE + operator*(const BASE& lhs, const VEC& rhs) { + typename BASE>::col_type result{}; + for (size_t col = 0; col < BASE::NUM_COLS; ++col) { + result += lhs[col] * rhs[col]; + } + return result; + } + + // row-vector * matrix + template + friend inline constexpr typename BASE>::row_type MATH_PURE + operator*(const VEC& lhs, const BASE& rhs) { + typename BASE>::row_type result{}; + for (size_t col = 0; col < BASE::NUM_COLS; ++col) { + result[col] = dot(lhs, rhs[col]); + } + return result; + } + + // matrix * scalar + template> + friend inline constexpr BASE> MATH_PURE + operator*(const BASE& lhs, U rhs) { + BASE> result{}; + for (size_t col = 0; col < BASE::NUM_COLS; ++col) { + result[col] = lhs[col] * rhs; + } + return result; + } + + // scalar * matrix + template> + friend inline constexpr BASE> MATH_PURE + operator*(U rhs, const BASE& lhs) { + return lhs * rhs; + } + + // matrix / scalar + template> + friend inline constexpr BASE> MATH_PURE + operator/(const BASE& lhs, U rhs) { + BASE> result{}; + for (size_t col = 0; col < BASE::NUM_COLS; ++col) { + result[col] = lhs[col] / rhs; + } + return result; + } +}; + +/* + * TMatSquareFunctions implements functions on a matrix of type BASE. + * + * BASE only needs to implement: + * - operator[] + * - col_type + * - row_type + * - COL_SIZE + * - ROW_SIZE + * + * By simply inheriting from TMatSquareFunctions BASE will automatically + * get all the functionality here. + */ + +template class BASE, typename T> +class TMatSquareFunctions { +private: + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + friend inline constexpr BASE MATH_PURE inverse(const BASE& matrix) { + return matrix::inverse(matrix); + } + + friend inline constexpr BASE MATH_PURE cof(const BASE& matrix) { + return matrix::cof(matrix); + } + + friend inline constexpr BASE MATH_PURE transpose(BASE m) { + return matrix::transpose(m); + } + + friend inline constexpr T MATH_PURE trace(BASE m) { + return matrix::trace(m); + } + + friend inline constexpr T MATH_PURE det(const BASE& m) { + return matrix::det(m); + } + + // unclear why we have to use 'auto' here. 'typename BASE::col_type' produces + // error: no type named 'col_type' in 'filament::math::details::TMat44' + friend inline constexpr auto MATH_PURE diag(const BASE& m) { + return matrix::diag(m); + } +}; + +template class BASE, typename T> +class TMatHelpers { +public: + constexpr inline size_t getColumnSize() const { return BASE::COL_SIZE; } + constexpr inline size_t getRowSize() const { return BASE::ROW_SIZE; } + constexpr inline size_t getColumnCount() const { return BASE::NUM_COLS; } + constexpr inline size_t getRowCount() const { return BASE::NUM_ROWS; } + constexpr inline size_t size() const { return BASE::ROW_SIZE; } // for TVec*<> + + // array access + constexpr T const* asArray() const { + return &static_cast const &>(*this)[0][0]; + } + + // element access + inline constexpr T const& operator()(size_t row, size_t col) const { + return static_cast const &>(*this)[col][row]; + } + + inline T& operator()(size_t row, size_t col) { + return static_cast&>(*this)[col][row]; + } + +private: + constexpr friend inline BASE MATH_PURE abs(BASE m) { + for (size_t col = 0; col < BASE::NUM_COLS; ++col) { + m[col] = abs(m[col]); + } + return m; + } +}; + +// functions for 3x3 and 4x4 matrices +template class BASE, typename T> +class TMatTransform { +public: + inline constexpr TMatTransform() { + static_assert(BASE::NUM_ROWS == 3 || BASE::NUM_ROWS == 4, "3x3 or 4x4 matrices only"); + } + + template> + static BASE rotation(A radian, VEC about) { + BASE r; + T c = std::cos(radian); + T s = std::sin(radian); + if (about[0] == 1 && about[1] == 0 && about[2] == 0) { + r[1][1] = c; r[2][2] = c; + r[1][2] = s; r[2][1] = -s; + } else if (about[0] == 0 && about[1] == 1 && about[2] == 0) { + r[0][0] = c; r[2][2] = c; + r[2][0] = s; r[0][2] = -s; + } else if (about[0] == 0 && about[1] == 0 && about[2] == 1) { + r[0][0] = c; r[1][1] = c; + r[0][1] = s; r[1][0] = -s; + } else { + VEC nabout = normalize(about); + typename VEC::value_type x = nabout[0]; + typename VEC::value_type y = nabout[1]; + typename VEC::value_type z = nabout[2]; + T nc = 1 - c; + T xy = x * y; + T yz = y * z; + T zx = z * x; + T xs = x * s; + T ys = y * s; + T zs = z * s; + r[0][0] = x*x*nc + c; r[1][0] = xy*nc - zs; r[2][0] = zx*nc + ys; + r[0][1] = xy*nc + zs; r[1][1] = y*y*nc + c; r[2][1] = yz*nc - xs; + r[0][2] = zx*nc - ys; r[1][2] = yz*nc + xs; r[2][2] = z*z*nc + c; + + // Clamp results to -1, 1. + for (size_t col = 0; col < 3; ++col) { + for (size_t row = 0; row < 3; ++row) { + r[col][row] = std::min(std::max(r[col][row], T(-1)), T(1)); + } + } + } + return r; + } + + /** + * Create a matrix from euler angles using YPR around YXZ respectively + * @param yaw about Y axis + * @param pitch about X axis + * @param roll about Z axis + */ + template> + static BASE eulerYXZ(Y yaw, P pitch, R roll) { + return eulerZYX(roll, pitch, yaw); + } + + /** + * Create a matrix from euler angles using YPR around ZYX respectively + * @param roll about X axis + * @param pitch about Y axis + * @param yaw about Z axis + * + * The euler angles are applied in ZYX order. i.e: a vector is first rotated + * about X (roll) then Y (pitch) and then Z (yaw). + */ + template> + static BASE eulerZYX(Y yaw, P pitch, R roll) { + BASE r; + T cy = std::cos(yaw); + T sy = std::sin(yaw); + T cp = std::cos(pitch); + T sp = std::sin(pitch); + T cr = std::cos(roll); + T sr = std::sin(roll); + T cc = cr * cy; + T cs = cr * sy; + T sc = sr * cy; + T ss = sr * sy; + r[0][0] = cp * cy; + r[0][1] = cp * sy; + r[0][2] = -sp; + r[1][0] = sp * sc - cs; + r[1][1] = sp * ss + cc; + r[1][2] = cp * sr; + r[2][0] = sp * cc + ss; + r[2][1] = sp * cs - sc; + r[2][2] = cp * cr; + + // Clamp results to -1, 1. + for (size_t col = 0; col < 3; ++col) { + for (size_t row = 0; row < 3; ++row) { + r[col][row] = std::min(std::max(r[col][row], T(-1)), T(1)); + } + } + return r; + } + + TQuaternion toQuaternion() const { + return matrix::extractQuat(static_cast&>(*this)); + } +}; + +// ------------------------------------------------------------------------------------- +} // namespace details +} // namespace math +} // namespace filament + +#endif // TNT_MATH_TMATHELPERS_H diff --git a/web/include/filament/math/TQuatHelpers.h b/web/include/filament/math/TQuatHelpers.h new file mode 100644 index 00000000..0439b971 --- /dev/null +++ b/web/include/filament/math/TQuatHelpers.h @@ -0,0 +1,294 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_TQUATHELPERS_H +#define TNT_MATH_TQUATHELPERS_H + +#include +#include +#include + +#include +#include +#include + +namespace filament::math::details { + +/* + * No user serviceable parts here. + * + * Don't use this file directly, instead include math/quat.h + */ + + +/* + * TQuatProductOperators implements basic arithmetic and basic compound assignment + * operators on a quaternion of type BASE. + * + * BASE only needs to implement operator[] and size(). + * By simply inheriting from TQuatProductOperators BASE will automatically + * get all the functionality here. + */ + +template class QUATERNION, typename T> +class TQuatProductOperators { +public: + /* compound assignment from another quaternion of the same size but different + * element type. + */ + template + constexpr QUATERNION& operator*=(const QUATERNION& r) { + QUATERNION& q = static_cast&>(*this); + q = q * r; + return q; + } + + /* compound assignment products by a scalar + */ + template>> + constexpr QUATERNION& operator*=(U v) { + QUATERNION& lhs = static_cast&>(*this); + for (size_t i = 0; i < QUATERNION::size(); i++) { + lhs[i] *= v; + } + return lhs; + } + + template>> + constexpr QUATERNION& operator/=(U v) { + QUATERNION& lhs = static_cast&>(*this); + for (size_t i = 0; i < QUATERNION::size(); i++) { + lhs[i] /= v; + } + return lhs; + } + + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + + /* The operators below handle operation between quaternions of the same size + * but of a different element type. + */ + template + friend inline constexpr + QUATERNION> MATH_PURE operator*( + const QUATERNION& q, const QUATERNION& r) { + // could be written as: + // return QUATERNION( + // q.w*r.w - dot(q.xyz, r.xyz), + // q.w*r.xyz + r.w*q.xyz + cross(q.xyz, r.xyz)); + return { + q.w * r.w - q.x * r.x - q.y * r.y - q.z * r.z, + q.w * r.x + q.x * r.w + q.y * r.z - q.z * r.y, + q.w * r.y - q.x * r.z + q.y * r.w + q.z * r.x, + q.w * r.z + q.x * r.y - q.y * r.x + q.z * r.w + }; + } + + template + friend inline constexpr + TVec3> MATH_PURE operator*(const QUATERNION& q, const TVec3& v) { + // note: if q is known to be a unit quaternion, then this simplifies to: + // TVec3 t = 2 * cross(q.xyz, v) + // return v + (q.w * t) + cross(q.xyz, t) + return imaginary(q * QUATERNION(v, 0) * inverse(q)); + } + + + /* For quaternions, we use explicit "by a scalar" products because it's much faster + * than going (implicitly) through the quaternion multiplication. + * For reference: we could use the code below instead, but it would be a lot slower. + * friend inline + * constexpr BASE MATH_PURE operator *(const BASE& q, const BASE& r) { + * return BASE( + * q.w*r.w - q.x*r.x - q.y*r.y - q.z*r.z, + * q.w*r.x + q.x*r.w + q.y*r.z - q.z*r.y, + * q.w*r.y - q.x*r.z + q.y*r.w + q.z*r.x, + * q.w*r.z + q.x*r.y - q.y*r.x + q.z*r.w); + * + */ + template>> + friend inline constexpr + QUATERNION> MATH_PURE operator*(QUATERNION q, U scalar) { + // don't pass q by reference because we need a copy anyway + return QUATERNION>(q *= scalar); + } + + template>> + friend inline constexpr + QUATERNION> MATH_PURE operator*(U scalar, QUATERNION q) { + // don't pass q by reference because we need a copy anyway + return QUATERNION>(q *= scalar); + } + + template>> + friend inline constexpr + QUATERNION> MATH_PURE operator/(QUATERNION q, U scalar) { + // don't pass q by reference because we need a copy anyway + return QUATERNION>(q /= scalar); + } +}; + + +/* + * TQuatFunctions implements functions on a quaternion of type BASE. + * + * BASE only needs to implement operator[] and size(). + * By simply inheriting from TQuatFunctions BASE will automatically + * get all the functionality here. + */ +template class QUATERNION, typename T> +class TQuatFunctions { +public: + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + + template + friend inline constexpr + arithmetic_result_t MATH_PURE dot( + const QUATERNION& p, const QUATERNION& q) { + return p.x * q.x + + p.y * q.y + + p.z * q.z + + p.w * q.w; + } + + friend inline + T MATH_PURE norm(const QUATERNION& q) { + return std::sqrt(dot(q, q)); + } + + friend inline + T MATH_PURE length(const QUATERNION& q) { + return norm(q); + } + + friend inline + constexpr T MATH_PURE length2(const QUATERNION& q) { + return dot(q, q); + } + + friend inline + QUATERNION MATH_PURE normalize(const QUATERNION& q) { + return length(q) ? q / length(q) : QUATERNION(static_cast(1)); + } + + friend inline + constexpr QUATERNION MATH_PURE conj(const QUATERNION& q) { + return QUATERNION(q.w, -q.x, -q.y, -q.z); + } + + friend inline + constexpr QUATERNION MATH_PURE inverse(const QUATERNION& q) { + return conj(q) * (T(1) / dot(q, q)); + } + + friend inline + constexpr T MATH_PURE real(const QUATERNION& q) { + return q.w; + } + + friend inline + constexpr TVec3 MATH_PURE imaginary(const QUATERNION& q) { + return q.xyz; + } + + friend inline + constexpr QUATERNION MATH_PURE unreal(const QUATERNION& q) { + return QUATERNION(q.xyz, 0); + } + + template + friend inline constexpr + QUATERNION> MATH_PURE cross( + const QUATERNION& p, const QUATERNION& q) { + return unreal(p * q); + } + + friend inline + QUATERNION MATH_PURE exp(const QUATERNION& q) { + const T nq(norm(q.xyz)); + return std::exp(q.w) * QUATERNION((sin(nq) / nq) * q.xyz, cos(nq)); + } + + friend inline + QUATERNION MATH_PURE log(const QUATERNION& q) { + const T nq(norm(q)); + return QUATERNION((std::acos(q.w / nq) / norm(q.xyz)) * q.xyz, std::log(nq)); + } + + friend inline + QUATERNION MATH_PURE pow(const QUATERNION& q, T a) { + // could also be computed as: exp(a*log(q)); + const T nq(norm(q)); + const T theta(a * std::acos(q.w / nq)); + return std::pow(nq, a) * QUATERNION(normalize(q.xyz) * std::sin(theta), std::cos(theta)); + } + + friend inline + QUATERNION MATH_PURE slerp(const QUATERNION& p, const QUATERNION& q, T t) { + // could also be computed as: pow(q * inverse(p), t) * p; + const T d = dot(p, q); + const T absd = std::abs(d); + static constexpr T value_eps = T(10) * std::numeric_limits::epsilon(); + // Prevent blowing up when slerping between two quaternions that are very near each other. + if ((T(1) - absd) < value_eps) { + return normalize(lerp(d < 0 ? -p : p, q, t)); + } + const T npq = std::sqrt(dot(p, p) * dot(q, q)); // ||p|| * ||q|| + const T a = std::acos(filament::math::clamp(absd / npq, T(-1), T(1))); + const T a0 = a * (1 - t); + const T a1 = a * t; + const T sina = sin(a); + if (sina < value_eps) { + return normalize(lerp(p, q, t)); + } + const T isina = 1 / sina; + const T s0 = std::sin(a0) * isina; + const T s1 = std::sin(a1) * isina; + // ensure we're taking the "short" side + return normalize(s0 * p + ((d < 0) ? (-s1) : (s1)) * q); + } + + friend inline + constexpr QUATERNION MATH_PURE lerp(const QUATERNION& p, const QUATERNION& q, T t) { + return ((1 - t) * p) + (t * q); + } + + friend inline + constexpr QUATERNION MATH_PURE nlerp(const QUATERNION& p, const QUATERNION& q, T t) { + return normalize(lerp(p, q, t)); + } + + friend inline + constexpr QUATERNION MATH_PURE positive(const QUATERNION& q) { + return q.w < 0 ? -q : q; + } +}; + +} // namespace filament::math::details + +#endif // TNT_MATH_TQUATHELPERS_H diff --git a/web/include/filament/math/TVecHelpers.h b/web/include/filament/math/TVecHelpers.h new file mode 100644 index 00000000..fb7d026d --- /dev/null +++ b/web/include/filament/math/TVecHelpers.h @@ -0,0 +1,654 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_TVECHELPERS_H +#define TNT_MATH_TVECHELPERS_H + +#include + +#include // for std:: namespace + +#include +#include + +namespace filament::math::details { + +template +inline constexpr U min(U a, U b) noexcept { + return a < b ? a : b; +} + +template +inline constexpr U max(U a, U b) noexcept { + return a > b ? a : b; +} + +template +struct arithmetic_result { + using type = decltype(std::declval() + std::declval()); +}; + +template +using arithmetic_result_t = typename arithmetic_result::type; + +template +using enable_if_arithmetic_t = std::enable_if_t< + is_arithmetic::value && + is_arithmetic::value && + is_arithmetic::value && + is_arithmetic::value>; + +/* + * No user serviceable parts here. + * + * Don't use this file directly, instead include math/vec{2|3|4}.h + */ + +/* + * TVec{Add|Product}Operators implements basic arithmetic and basic compound assignments + * operators on a vector of type BASE. + * + * BASE only needs to implement operator[] and size(). + * By simply inheriting from TVec{Add|Product}Operators BASE will automatically + * get all the functionality here. + */ + +template class VECTOR, typename T> +class TVecAddOperators { +public: + /* compound assignment from a another vector of the same size but different + * element type. + */ + template + constexpr VECTOR& operator+=(const VECTOR& v) { + VECTOR& lhs = static_cast&>(*this); + for (size_t i = 0; i < lhs.size(); i++) { + lhs[i] += v[i]; + } + return lhs; + } + + template> + constexpr VECTOR& operator+=(U v) { + return operator+=(VECTOR(v)); + } + + template + constexpr VECTOR& operator-=(const VECTOR& v) { + VECTOR& lhs = static_cast&>(*this); + for (size_t i = 0; i < lhs.size(); i++) { + lhs[i] -= v[i]; + } + return lhs; + } + + template> + constexpr VECTOR& operator-=(U v) { + return operator-=(VECTOR(v)); + } + +private: + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + + template + friend inline constexpr + VECTOR> MATH_PURE operator+(const VECTOR& lv, const VECTOR& rv) { + VECTOR> res(lv); + res += rv; + return res; + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator+(const VECTOR& lv, U rv) { + return lv + VECTOR(rv); + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator+(U lv, const VECTOR& rv) { + return VECTOR(lv) + rv; + } + + template + friend inline constexpr + VECTOR> MATH_PURE operator-(const VECTOR& lv, const VECTOR& rv) { + VECTOR> res(lv); + res -= rv; + return res; + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator-(const VECTOR& lv, U rv) { + return lv - VECTOR(rv); + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator-(U lv, const VECTOR& rv) { + return VECTOR(lv) - rv; + } +}; + +template class VECTOR, typename T> +class TVecProductOperators { +public: + /* compound assignment from a another vector of the same size but different + * element type. + */ + template + constexpr VECTOR& operator*=(const VECTOR& v) { + VECTOR& lhs = static_cast&>(*this); + for (size_t i = 0; i < lhs.size(); i++) { + lhs[i] *= v[i]; + } + return lhs; + } + + template> + constexpr VECTOR& operator*=(U v) { + return operator*=(VECTOR(v)); + } + + template + constexpr VECTOR& operator/=(const VECTOR& v) { + VECTOR& lhs = static_cast&>(*this); + for (size_t i = 0; i < lhs.size(); i++) { + lhs[i] /= v[i]; + } + return lhs; + } + + template> + constexpr VECTOR& operator/=(U v) { + return operator/=(VECTOR(v)); + } + +private: + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + + template + friend inline constexpr + VECTOR> MATH_PURE operator*(const VECTOR& lv, const VECTOR& rv) { + VECTOR> res(lv); + res *= rv; + return res; + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator*(const VECTOR& lv, U rv) { + return lv * VECTOR(rv); + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator*(U lv, const VECTOR& rv) { + return VECTOR(lv) * rv; + } + + template + friend inline constexpr + VECTOR> MATH_PURE operator/(const VECTOR& lv, const VECTOR& rv) { + VECTOR> res(lv); + res /= rv; + return res; + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator/(const VECTOR& lv, U rv) { + return lv / VECTOR(rv); + } + + template> + friend inline constexpr + VECTOR> MATH_PURE operator/(U lv, const VECTOR& rv) { + return VECTOR(lv) / rv; + } +}; + +/* + * TVecUnaryOperators implements unary operators on a vector of type BASE. + * + * BASE only needs to implement operator[] and size(). + * By simply inheriting from TVecUnaryOperators BASE will automatically + * get all the functionality here. + * + * These operators are implemented as friend functions of TVecUnaryOperators + */ +template class VECTOR, typename T> +class TVecUnaryOperators { +public: + constexpr VECTOR operator-() const { + VECTOR r{}; + VECTOR const& rv(static_cast const&>(*this)); + for (size_t i = 0; i < r.size(); i++) { + r[i] = -rv[i]; + } + return r; + } +}; + +/* + * TVecComparisonOperators implements relational/comparison operators + * on a vector of type BASE. + * + * BASE only needs to implement operator[] and size(). + * By simply inheriting from TVecComparisonOperators BASE will automatically + * get all the functionality here. + */ +template class VECTOR, typename T> +class TVecComparisonOperators { +private: + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + template + friend inline constexpr + bool MATH_PURE operator==(const VECTOR& lv, const VECTOR& rv) { + for (size_t i = 0; i < lv.size(); i++) { + if (lv[i] != rv[i]) { + return false; + } + } + return true; + } + + template + friend inline constexpr + bool MATH_PURE operator!=(const VECTOR& lv, const VECTOR& rv) { + return !operator==(lv, rv); + } + + template + friend inline constexpr + VECTOR MATH_PURE equal(const VECTOR& lv, const VECTOR& rv) { + VECTOR r{}; + for (size_t i = 0; i < lv.size(); i++) { + r[i] = lv[i] == rv[i]; + } + return r; + } + + template + friend inline constexpr + VECTOR MATH_PURE notEqual(const VECTOR& lv, const VECTOR& rv) { + VECTOR r{}; + for (size_t i = 0; i < lv.size(); i++) { + r[i] = lv[i] != rv[i]; + } + return r; + } + + template + friend inline constexpr + VECTOR MATH_PURE lessThan(const VECTOR& lv, const VECTOR& rv) { + VECTOR r{}; + for (size_t i = 0; i < lv.size(); i++) { + r[i] = lv[i] < rv[i]; + } + return r; + } + + template + friend inline constexpr + VECTOR MATH_PURE lessThanEqual(const VECTOR& lv, const VECTOR& rv) { + VECTOR r{}; + for (size_t i = 0; i < lv.size(); i++) { + r[i] = lv[i] <= rv[i]; + } + return r; + } + + template + friend inline constexpr + VECTOR MATH_PURE greaterThan(const VECTOR& lv, const VECTOR& rv) { + VECTOR r; + for (size_t i = 0; i < lv.size(); i++) { + r[i] = lv[i] > rv[i]; + } + return r; + } + + template + friend inline + VECTOR MATH_PURE greaterThanEqual(const VECTOR& lv, const VECTOR& rv) { + VECTOR r{}; + for (size_t i = 0; i < lv.size(); i++) { + r[i] = lv[i] >= rv[i]; + } + return r; + } +}; + +/* + * TVecFunctions implements functions on a vector of type BASE. + * + * BASE only needs to implement operator[] and size(). + * By simply inheriting from TVecFunctions BASE will automatically + * get all the functionality here. + */ +template class VECTOR, typename T> +class TVecFunctions { +private: + /* + * NOTE: the functions below ARE NOT member methods. They are friend functions + * with they definition inlined with their declaration. This makes these + * template functions available to the compiler when (and only when) this class + * is instantiated, at which point they're only templated on the 2nd parameter + * (the first one, BASE being known). + */ + template + friend constexpr inline + arithmetic_result_t MATH_PURE dot(const VECTOR& lv, const VECTOR& rv) { + arithmetic_result_t r{}; + for (size_t i = 0; i < lv.size(); i++) { + r += lv[i] * rv[i]; + } + return r; + } + + friend inline T MATH_PURE norm(const VECTOR& lv) { + return std::sqrt(dot(lv, lv)); + } + + friend inline T MATH_PURE length(const VECTOR& lv) { + return norm(lv); + } + + friend inline constexpr T MATH_PURE norm2(const VECTOR& lv) { + return dot(lv, lv); + } + + friend inline constexpr T MATH_PURE length2(const VECTOR& lv) { + return norm2(lv); + } + + template + friend inline constexpr + arithmetic_result_t MATH_PURE distance(const VECTOR& lv, const VECTOR& rv) { + return length(rv - lv); + } + + template + friend inline constexpr + arithmetic_result_t MATH_PURE distance2(const VECTOR& lv, const VECTOR& rv) { + return length2(rv - lv); + } + + friend inline VECTOR MATH_PURE normalize(const VECTOR& lv) { + return lv * (T(1) / length(lv)); + } + + friend inline VECTOR MATH_PURE rcp(VECTOR v) { + return T(1) / v; + } + + friend inline constexpr VECTOR MATH_PURE abs(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = v[i] < 0 ? -v[i] : v[i]; + } + return v; + } + + friend inline VECTOR MATH_PURE floor(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::floor(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE ceil(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::ceil(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE round(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::round(v[i]); + } + return v; + } + + template + friend inline + VECTOR MATH_PURE fmod(VECTOR const& x, VECTOR const& y) { + VECTOR r; + for (size_t i = 0; i < r.size(); i++) { + r[i] = std::fmod(x[i], y[i]); + } + return r; + } + + template + friend inline + VECTOR MATH_PURE remainder(VECTOR const& x, VECTOR const& y) { + VECTOR r; + for (size_t i = 0; i < r.size(); i++) { + r[i] = std::remainder(x[i], y[i]); + } + return r; + } + + template + friend inline + VECTOR MATH_PURE remquo(VECTOR const& x, VECTOR const& y, + VECTOR* q) { + VECTOR r; + for (size_t i = 0; i < r.size(); i++) { + r[i] = std::remquo(x[i], y[i], &((*q)[i])); + } + return r; + } + + friend inline VECTOR MATH_PURE inversesqrt(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = T(1) / std::sqrt(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE sqrt(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::sqrt(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE cbrt(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::cbrt(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE exp(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::exp(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE sign(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::copysign(T(1), v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE pow(VECTOR v, T p) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::pow(v[i], p); + } + return v; + } + + friend inline VECTOR MATH_PURE pow(T v, VECTOR p) { + for (size_t i = 0; i < p.size(); i++) { + p[i] = std::pow(v, p[i]); + } + return p; + } + + friend inline VECTOR MATH_PURE pow(VECTOR v, VECTOR p) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::pow(v[i], p[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE log(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::log(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE log10(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::log10(v[i]); + } + return v; + } + + friend inline VECTOR MATH_PURE log2(VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = std::log2(v[i]); + } + return v; + } + + friend inline constexpr VECTOR MATH_PURE saturate(const VECTOR& lv) { + return clamp(lv, T(0), T(1)); + } + + friend inline constexpr VECTOR MATH_PURE clamp(VECTOR v, T min, T max) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = details::min(max, details::max(min, v[i])); + } + return v; + } + + friend inline constexpr VECTOR MATH_PURE clamp(VECTOR v, VECTOR min, VECTOR max) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = details::min(max[i], details::max(min[i], v[i])); + } + return v; + } + + friend inline constexpr VECTOR MATH_PURE fma(const VECTOR& lv, const VECTOR& rv, + VECTOR a) { + for (size_t i = 0; i < lv.size(); i++) { + a[i] += (lv[i] * rv[i]); + } + return a; + } + + friend inline constexpr VECTOR MATH_PURE min(const VECTOR& u, VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = details::min(u[i], v[i]); + } + return v; + } + + friend inline constexpr VECTOR MATH_PURE max(const VECTOR& u, VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = details::max(u[i], v[i]); + } + return v; + } + + friend inline constexpr T MATH_PURE max(const VECTOR& v) { + T r(v[0]); + for (size_t i = 1; i < v.size(); i++) { + r = max(r, v[i]); + } + return r; + } + + friend inline constexpr T MATH_PURE min(const VECTOR& v) { + T r(v[0]); + for (size_t i = 1; i < v.size(); i++) { + r = min(r, v[i]); + } + return r; + } + + friend inline constexpr VECTOR MATH_PURE mix(const VECTOR& u, VECTOR v, T a) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = u[i] * (T(1) - a) + v[i] * a; + } + return v; + } + + friend inline constexpr VECTOR MATH_PURE smoothstep(T edge0, T edge1, VECTOR v) { + VECTOR t = saturate((v - edge0) / (edge1 - edge0)); + return t * t * (T(3) - T(2) * t); + } + + friend inline constexpr VECTOR MATH_PURE step(T edge, VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = v[i] < edge ? T(0) : T(1); + } + return v; + } + + friend inline constexpr VECTOR MATH_PURE step(VECTOR edge, VECTOR v) { + for (size_t i = 0; i < v.size(); i++) { + v[i] = v[i] < edge[i] ? T(0) : T(1); + } + return v; + } + + friend inline constexpr bool MATH_PURE any(const VECTOR& v) { + for (size_t i = 0; i < v.size(); i++) { + if (v[i] != T(0)) return true; + } + return false; + } + + friend inline constexpr bool MATH_PURE all(const VECTOR& v) { + bool result = true; + for (size_t i = 0; i < v.size(); i++) { + result &= (v[i] != T(0)); + } + return result; + } +}; + +} // namespace filament::math::details + +#endif // TNT_MATH_TVECHELPERS_H diff --git a/web/include/filament/math/compiler.h b/web/include/filament/math/compiler.h new file mode 100644 index 00000000..634e2077 --- /dev/null +++ b/web/include/filament/math/compiler.h @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_COMPILER_H +#define TNT_MATH_COMPILER_H + +#include + +#if defined (WIN32) + +#ifdef max +#undef max +#endif + +#ifdef min +#undef min +#endif + +#ifdef far +#undef far +#endif + +#ifdef near +#undef near +#endif + +#endif + +// compatibility with non-clang compilers... +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif +#ifndef __has_builtin +#define __has_builtin(x) 0 +#endif + +#if __has_builtin(__builtin_expect) +# ifdef __cplusplus +# define MATH_LIKELY( exp ) (__builtin_expect( !!(exp), true )) +# define MATH_UNLIKELY( exp ) (__builtin_expect( !!(exp), false )) +# else +# define MATH_LIKELY( exp ) (__builtin_expect( !!(exp), 1 )) +# define MATH_UNLIKELY( exp ) (__builtin_expect( !!(exp), 0 )) +# endif +#else +# define MATH_LIKELY( exp ) (exp) +# define MATH_UNLIKELY( exp ) (exp) +#endif + +#if __has_attribute(unused) +# define MATH_UNUSED __attribute__((unused)) +#else +# define MATH_UNUSED +#endif + +#if __has_attribute(pure) +# define MATH_PURE __attribute__((pure)) +#else +# define MATH_PURE +#endif + +#ifdef _MSC_VER +# define MATH_EMPTY_BASES __declspec(empty_bases) + +// MSVC does not support loop unrolling hints +# define MATH_NOUNROLL + +// Sadly, MSVC does not support __builtin_constant_p +# ifndef MAKE_CONSTEXPR +# define MAKE_CONSTEXPR(e) (e) +# endif + +// About value initialization, the C++ standard says: +// if T is a class type with a default constructor that is neither user-provided nor deleted +// (that is, it may be a class with an implicitly-defined or defaulted default constructor), +// the object is zero-initialized and then it is default-initialized +// if it has a non-trivial default constructor; +// Unfortunately, MSVC always calls the default constructor, even if it is trivial, which +// breaks constexpr-ness. To workaround this, we're always zero-initializing TVecN<> +# define MATH_CONSTEXPR_INIT {} +# define MATH_DEFAULT_CTOR {} +# define MATH_DEFAULT_CTOR_CONSTEXPR constexpr +# define CONSTEXPR_IF_NOT_MSVC // when declared constexpr, msvc fails with "failure was caused by cast of object of dynamic type" + +#else // _MSC_VER + +# define MATH_EMPTY_BASES +// C++11 allows pragmas to be specified as part of defines using the _Pragma syntax. +# define MATH_NOUNROLL _Pragma("nounroll") + +# ifndef MAKE_CONSTEXPR +# define MAKE_CONSTEXPR(e) __builtin_constant_p(e) ? (e) : (e) +# endif + +# define MATH_CONSTEXPR_INIT +# define MATH_DEFAULT_CTOR = default; +# define MATH_DEFAULT_CTOR_CONSTEXPR +# define CONSTEXPR_IF_NOT_MSVC constexpr + +#endif // _MSC_VER + +namespace filament::math { + +// MSVC 2019 16.4 doesn't seem to like it when we specialize std::is_arithmetic for +// filament::math::half, so we're forced to create our own is_arithmetic here and specialize it +// inside of half.h. +template +struct is_arithmetic : std::integral_constant::value || std::is_floating_point::value> { +}; + +} // filament::math + +#endif // TNT_MATH_COMPILER_H diff --git a/web/include/filament/math/fast.h b/web/include/filament/math/fast.h new file mode 100644 index 00000000..85b990d2 --- /dev/null +++ b/web/include/filament/math/fast.h @@ -0,0 +1,175 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_FAST_H +#define TNT_MATH_FAST_H + +#include +#include + +#include +#include + +#include + +#ifdef __ARM_NEON +#include +#endif + +namespace filament { +namespace math { +namespace fast { + +// fast cos(x), ~8 cycles (vs. 66 cycles on ARM) +// can be vectorized +// x between -pi and pi +template::value>> +constexpr T MATH_PURE cos(T x) noexcept { + x *= T(F_1_PI / 2); + x -= T(0.25) + std::floor(x + T(0.25)); + x *= T(16.0) * std::abs(x) - T(8.0); + x += T(0.225) * x * (std::abs(x) - T(1.0)); + return x; +} + +// fast sin(x), ~8 cycles (vs. 66 cycles on ARM) +// can be vectorized +// x between -pi and pi +template::value>> +constexpr T MATH_PURE sin(T x) noexcept { + return filament::math::fast::cos(x - T(F_PI_2)); +} + +constexpr inline float MATH_PURE ilog2(float x) noexcept { + union { + float val; + int32_t x; + } u = { x }; + return float(((u.x >> 23) & 0xff) - 127); +} + +constexpr inline float MATH_PURE log2(float x) noexcept { + union { + float val; + int32_t x; + } u = { x }; + float ilog2 = float(((u.x >> 23) & 0xff) - 128); + u.x = (u.x & 0x007fffff) | 0x3f800000; + return ilog2 + (-0.34484843f * u.val + 2.02466578f) * u.val - 0.67487759f; +} + +// fast 1/sqrt(), on ARMv8 this is 5 cycles vs. 7 cycles, so maybe not worth it. +// we keep this mostly for reference and benchmarking. +inline float MATH_PURE isqrt(float x) noexcept { +#if defined(__ARM_NEON) && defined(__aarch64__) + float y = vrsqrtes_f32(x); + return y * vrsqrtss_f32(x, y * y); +#else + return 1 / std::sqrt(x); +#endif +} + +inline double MATH_PURE isqrt(double x) noexcept { +#if defined(__ARM_NEON) && defined(__aarch64__) + double y = vrsqrted_f64(x); + return y * vrsqrtsd_f64(x, y * y); +#else + return 1 / std::sqrt(x); +#endif +} + +inline int signbit(float x) noexcept { +#if __has_builtin(__builtin_signbitf) + // Note: on Android NDK, signbit() is a function call -- not what we want. + return __builtin_signbitf(x); +#else + return std::signbit(x); +#endif +} + +/* + * constexpr exp(), pow(), factorial() + */ + +constexpr double pow(double x, unsigned int y) noexcept { + return y == 0 ? 1.0 : x * pow(x, y - 1); +} + +constexpr unsigned int factorial(unsigned int x) noexcept { + return x == 0 ? 1 : x * factorial(x - 1); +} + +constexpr double exp(double x) noexcept { + return 1.0 + x + pow(x, 2) / factorial(2) + pow(x, 3) / factorial(3) + + pow(x, 4) / factorial(4) + pow(x, 5) / factorial(5) + + pow(x, 6) / factorial(6) + pow(x, 7) / factorial(7) + + pow(x, 8) / factorial(8) + pow(x, 9) / factorial(9); +} + +constexpr float exp(float x) noexcept { + return float(exp(double(x))); +} + +/* + * unsigned saturated arithmetic + */ + +#if defined(__ARM_NEON) && defined(__aarch64__) +inline uint8_t MATH_PURE qadd(uint8_t a, uint8_t b) noexcept { return vuqaddb_s8(a, b); } +inline uint16_t MATH_PURE qadd(uint16_t a, uint16_t b) noexcept { return vuqaddh_s16(a, b); } +inline uint32_t MATH_PURE qadd(uint32_t a, uint32_t b) noexcept { return vuqadds_s32(a, b); } + +inline uint8_t MATH_PURE qsub(uint8_t a, uint8_t b) noexcept { return vqsubb_s8(a, b); } +inline uint16_t MATH_PURE qsub(uint16_t a, uint16_t b) noexcept { return vqsubh_s16(a, b); } +inline uint32_t MATH_PURE qsub(uint32_t a, uint32_t b) noexcept { return vqsubs_s32(a, b); } +#else + +template::value || + std::is_same::value || + std::is_same::value>> +inline T MATH_PURE qadd(T a, T b) noexcept { + T r = a + b; + return r | -T(r < a); +} + +template::value || + std::is_same::value || + std::is_same::value>> +inline T MATH_PURE qsub(T a, T b) noexcept { + T r = a - b; + return r & -T(r <= a); +} + +#endif + +template +inline T MATH_PURE qinc(T a) noexcept { + return qadd(a, T(1)); +} + +template +inline T MATH_PURE qdec(T a) noexcept { + return qsub(a, T(1)); +} + + +} // namespace fast +} // namespace math +} // namespace filament + +#endif // TNT_MATH_FAST_H diff --git a/web/include/filament/math/half.h b/web/include/filament/math/half.h new file mode 100644 index 00000000..d792e1bf --- /dev/null +++ b/web/include/filament/math/half.h @@ -0,0 +1,224 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_HALF_H +#define TNT_MATH_HALF_H + +#include + +#include +#include + +#include +#include + +namespace filament { +namespace math { + +template +class fp { + static_assert(S + E + M <= 16, "we only support 16-bits max custom floats"); + + using TYPE = uint16_t; // this should be dynamic + + static constexpr unsigned S_SHIFT = E + M; + static constexpr unsigned E_SHIFT = M; + static constexpr unsigned M_SHIFT = 0; + static constexpr unsigned S_MASK = ((1u << S) - 1u) << S_SHIFT; + static constexpr unsigned E_MASK = ((1u << E) - 1u) << E_SHIFT; + static constexpr unsigned M_MASK = ((1u << M) - 1u) << M_SHIFT; + + struct fp32 { + explicit constexpr fp32(float f) noexcept : fp(f) { } // NOLINT + explicit constexpr fp32(uint32_t b) noexcept : bits(b) { } // NOLINT + constexpr void setS(unsigned int s) noexcept { + bits = uint32_t((bits & 0x7FFFFFFFu) | (s << 31u)); + } + constexpr unsigned int getS() const noexcept { return bits >> 31u; } + constexpr unsigned int getE() const noexcept { return (bits >> 23u) & 0xFFu; } + constexpr unsigned int getM() const noexcept { return bits & 0x7FFFFFu; } + union { + uint32_t bits; + float fp; + }; + }; + +public: + static constexpr fp fromf(float f) noexcept { + fp out; + if (S == 0 && f < 0.0f) { + return out; + } + + fp32 in(f); + unsigned int sign = in.getS(); + in.setS(0); + if (MATH_UNLIKELY(in.getE() == 0xFF)) { // inf or nan + out.setE((1u << E) - 1u); + out.setM(in.getM() ? (1u << (M - 1u)) : 0); + } else { + constexpr fp32 infinity(((1u << E) - 1u) << 23u); // fp infinity in fp32 position + constexpr fp32 magic(((1u << (E - 1u)) - 1u) << 23u); // exponent offset + in.bits &= ~((1u << (22 - M)) - 1u); // erase extra mantissa bits + in.bits += 1u << (22 - M); // rounding + in.fp *= magic.fp; // add exponent offset + in.bits = in.bits < infinity.bits ? in.bits : infinity.bits; + out.bits = uint16_t(in.bits >> (23 - M)); + } + out.setS(sign); + return out; + } + + static constexpr float tof(fp in) noexcept { + constexpr fp32 magic ((0xFE - ((1u << (E - 1u)) - 1u)) << 23u); + constexpr fp32 infnan((0x80 + ((1u << (E - 1u)) - 1u)) << 23u); + fp32 out((in.bits & ((1u << (E + M)) - 1u)) << (23u - M)); + out.fp *= magic.fp; + if (out.fp >= infnan.fp) { + out.bits |= 0xFFu << 23u; + } + out.bits |= (in.bits & S_MASK) << (31u - S_SHIFT); + return out.fp; + } + + TYPE bits{}; + static constexpr size_t getBitCount() noexcept { return S + E + M; } + constexpr fp() noexcept = default; + explicit constexpr fp(TYPE bits) noexcept : bits(bits) { } + constexpr void setS(unsigned int s) noexcept { bits = TYPE((bits & ~S_MASK) | (s << S_SHIFT)); } + constexpr void setE(unsigned int s) noexcept { bits = TYPE((bits & ~E_MASK) | (s << E_SHIFT)); } + constexpr void setM(unsigned int s) noexcept { bits = TYPE((bits & ~M_MASK) | (s << M_SHIFT)); } + constexpr unsigned int getS() const noexcept { return (bits & S_MASK) >> S_SHIFT; } + constexpr unsigned int getE() const noexcept { return (bits & E_MASK) >> E_SHIFT; } + constexpr unsigned int getM() const noexcept { return (bits & M_MASK) >> M_SHIFT; } +}; + +/* + * half-float + * + * 1 5 10 + * +-+------+------------+ + * |s|eee.ee|mm.mmmm.mmmm| + * +-+------+------------+ + * + * minimum (denormal) value: 2^-24 = 5.96e-8 + * minimum (normal) value: 2^-14 = 6.10e-5 + * maximum value: (2 - 2^-10) * 2^15 = 65504 + * + * Integers between 0 and 2048 can be represented exactly + */ + +#ifdef __ARM_NEON + +using half = __fp16; + +inline constexpr uint16_t getBits(half const& h) noexcept { + return MAKE_CONSTEXPR(reinterpret_cast(h)); +} + +inline constexpr half makeHalf(uint16_t bits) noexcept { + return MAKE_CONSTEXPR(reinterpret_cast(bits)); +} + +#else + +class half { + using fp16 = fp<1, 5, 10>; + +public: + half() = default; + constexpr half(float v) noexcept : mBits(fp16::fromf(v)) { } // NOLINT + constexpr operator float() const noexcept { return fp16::tof(mBits); } // NOLINT + +private: + // these are friends, not members (and they're not "private") + friend constexpr uint16_t getBits(half const& h) noexcept { return h.mBits.bits; } + friend constexpr inline half makeHalf(uint16_t bits) noexcept; + + enum Binary { binary }; + explicit constexpr half(Binary, uint16_t bits) noexcept : mBits(bits) { } + + fp16 mBits; +}; + +constexpr inline half makeHalf(uint16_t bits) noexcept { + return half(half::binary, bits); +} + +#endif // __ARM_NEON + +inline constexpr half operator""_h(long double v) { + return half( static_cast(v) ); +} + +template<> struct is_arithmetic : public std::true_type {}; + +} // namespace math +} // namespace filament + +namespace std { + +template<> struct is_floating_point : public std::true_type {}; + +// note: this shouldn't be needed (is_floating_point<> is enough) but some version of msvc need it +// This stopped working with MSVC 2019 16.4, so we specialize our own version of is_arithmetic in +// the math::filament namespace (see above). +template<> struct is_arithmetic : public std::true_type {}; + +template<> +class numeric_limits { +public: + typedef filament::math::half type; + + static constexpr const bool is_specialized = true; + static constexpr const bool is_signed = true; + static constexpr const bool is_integer = false; + static constexpr const bool is_exact = false; + static constexpr const bool has_infinity = true; + static constexpr const bool has_quiet_NaN = true; + static constexpr const bool has_signaling_NaN = false; + static constexpr const float_denorm_style has_denorm = denorm_absent; + static constexpr const bool has_denorm_loss = true; + static constexpr const bool is_iec559 = false; + static constexpr const bool is_bounded = true; + static constexpr const bool is_modulo = false; + static constexpr const bool traps = false; + static constexpr const bool tinyness_before = false; + static constexpr const float_round_style round_style = round_indeterminate; + + static constexpr const int digits = 11; + static constexpr const int digits10 = 3; + static constexpr const int max_digits10 = 5; + static constexpr const int radix = 2; + static constexpr const int min_exponent = -13; + static constexpr const int min_exponent10 = -4; + static constexpr const int max_exponent = 16; + static constexpr const int max_exponent10 = 4; + + inline static constexpr type round_error() noexcept { return filament::math::makeHalf(0x3800); } + inline static constexpr type min() noexcept { return filament::math::makeHalf(0x0400); } + inline static constexpr type max() noexcept { return filament::math::makeHalf(0x7bff); } + inline static constexpr type lowest() noexcept { return filament::math::makeHalf(0xfbff); } + inline static constexpr type epsilon() noexcept { return filament::math::makeHalf(0x1400); } + inline static constexpr type infinity() noexcept { return filament::math::makeHalf(0x7c00); } + inline static constexpr type quiet_NaN() noexcept { return filament::math::makeHalf(0x7fff); } + inline static constexpr type denorm_min() noexcept { return filament::math::makeHalf(0x0001); } + inline static constexpr type signaling_NaN() noexcept { return filament::math::makeHalf(0x7dff); } +}; + +} // namespace std + +#endif // TNT_MATH_HALF_H diff --git a/web/include/filament/math/mat2.h b/web/include/filament/math/mat2.h new file mode 100644 index 00000000..dba9ca47 --- /dev/null +++ b/web/include/filament/math/mat2.h @@ -0,0 +1,347 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_MAT2_H +#define TNT_MATH_MAT2_H + +#include +#include +#include + +#include +#include + +namespace filament { +namespace math { +// ------------------------------------------------------------------------------------- +namespace details { + +/** + * A 2x2 column-major matrix class. + * + * Conceptually a 2x2 matrix is a an array of 2 column vec2: + * + * mat2 m = + * \f$ + * \left( + * \begin{array}{cc} + * m[0] & m[1] \\ + * \end{array} + * \right) + * \f$ + * = + * \f$ + * \left( + * \begin{array}{cc} + * m[0][0] & m[1][0] \\ + * m[0][1] & m[1][1] \\ + * \end{array} + * \right) + * \f$ + * = + * \f$ + * \left( + * \begin{array}{cc} + * m(0,0) & m(0,1) \\ + * m(1,0) & m(1,1) \\ + * \end{array} + * \right) + * \f$ + * + * m[n] is the \f$ n^{th} \f$ column of the matrix and is a vec2. + * + */ +template +class MATH_EMPTY_BASES TMat22 : + public TVecUnaryOperators, + public TVecComparisonOperators, + public TVecAddOperators, + public TMatProductOperators, + public TMatSquareFunctions, + public TMatHelpers { +public: + enum no_init { + NO_INIT + }; + typedef T value_type; + typedef T& reference; + typedef T const& const_reference; + typedef size_t size_type; + typedef TVec2 col_type; + typedef TVec2 row_type; + + static constexpr size_t COL_SIZE = col_type::SIZE; // size of a column (i.e.: number of rows) + static constexpr size_t ROW_SIZE = row_type::SIZE; // size of a row (i.e.: number of columns) + static constexpr size_t NUM_ROWS = COL_SIZE; + static constexpr size_t NUM_COLS = ROW_SIZE; + +private: + /* + * <-- N columns --> + * + * a[0][0] a[1][0] a[2][0] ... a[N][0] ^ + * a[0][1] a[1][1] a[2][1] ... a[N][1] | + * a[0][2] a[1][2] a[2][2] ... a[N][2] M rows + * ... | + * a[0][M] a[1][M] a[2][M] ... a[N][M] v + * + * COL_SIZE = M + * ROW_SIZE = N + * m[0] = [ a[0][0] a[0][1] a[0][2] ... a[0][M] ] + */ + + col_type m_value[NUM_COLS]; + +public: + // array access + inline constexpr col_type const& operator[](size_t column) const noexcept { + assert(column < NUM_COLS); + return m_value[column]; + } + + inline constexpr col_type& operator[](size_t column) noexcept { + assert(column < NUM_COLS); + return m_value[column]; + } + + /** + * constructors + */ + + /** + * leaves object uninitialized. use with caution. + */ + constexpr explicit TMat22(no_init) noexcept {} + + + /** + * initialize to identity. + * + * \f$ + * \left( + * \begin{array}{cc} + * 1 & 0 \\ + * 0 & 1 \\ + * \end{array} + * \right) + * \f$ + */ + constexpr TMat22() noexcept ; + + /** + * initialize to Identity*scalar. + * + * \f$ + * \left( + * \begin{array}{cc} + * v & 0 \\ + * 0 & v \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr explicit TMat22(U v) noexcept; + + /** + * sets the diagonal to a vector. + * + * \f$ + * \left( + * \begin{array}{cc} + * v[0] & 0 \\ + * 0 & v[1] \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr explicit TMat22(const TVec2& v) noexcept; + + /** + * construct from another matrix of the same size + */ + template + constexpr explicit TMat22(const TMat22& rhs) noexcept; + + /** + * construct from 2 column vectors. + * + * \f$ + * \left( + * \begin{array}{cc} + * v0 & v1 \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr TMat22(const TVec2& v0, const TVec2& v1) noexcept; + + /** construct from 4 elements in column-major form. + * + * \f$ + * \left( + * \begin{array}{cc} + * m[0][0] & m[1][0] \\ + * m[0][1] & m[1][1] \\ + * \end{array} + * \right) + * \f$ + */ + template< + typename A, typename B, + typename C, typename D> + constexpr explicit TMat22(A m00, B m01, C m10, D m11) noexcept ; + + + struct row_major_init { + template + constexpr explicit row_major_init(A m00, B m01, C m10, D m11) noexcept + : m(m00, m10, m01, m11) {} + + private: + friend TMat22; + TMat22 m; + }; + + constexpr explicit TMat22(row_major_init c) noexcept : TMat22(std::move(c.m)) {} + + /** + * Rotate by radians in the 2D plane + */ + static TMat22 rotate(T radian) noexcept { + TMat22 r(TMat22::NO_INIT); + T c = std::cos(radian); + T s = std::sin(radian); + r[0][0] = c; + r[1][1] = c; + r[0][1] = s; + r[1][0] = -s; + return r; + } + + template + static constexpr TMat22 translation(const TVec2& t) noexcept { + TMat22 r; + r[2] = t; + return r; + } + + template + static constexpr TMat22 scaling(const TVec2& s) noexcept { + return TMat22{ s }; + } + + template + static constexpr TMat22 scaling(A s) noexcept { + return TMat22{ TVec2{ s, s }}; + } +}; + +// ---------------------------------------------------------------------------------------- +// Constructors +// ---------------------------------------------------------------------------------------- + +// Since the matrix code could become pretty big quickly, we don't inline most +// operations. + +template +constexpr TMat22::TMat22() noexcept + : m_value{ col_type(1, 0), col_type(0, 1) } { +} + +template +template +constexpr TMat22::TMat22(U v) noexcept + : m_value{ col_type(v, 0), col_type(0, v) } { +} + +template +template +constexpr TMat22::TMat22(const TVec2& v) noexcept + : m_value{ col_type(v[0], 0), col_type(0, v[1]) } { +} + +// construct from 4 scalars. Note that the arrangement +// of values in the constructor is the transpose of the matrix +// notation. +template +template +constexpr TMat22::TMat22(A m00, B m01, C m10, D m11) noexcept + : m_value{ col_type(m00, m01), col_type(m10, m11) } { +} + +template +template +constexpr TMat22::TMat22(const TMat22& rhs) noexcept { + for (size_t col = 0; col < NUM_COLS; ++col) { + m_value[col] = col_type(rhs[col]); + } +} + +// Construct from 2 column vectors. +template +template +constexpr TMat22::TMat22(const TVec2& v0, const TVec2& v1) noexcept + : m_value{ v0, v1 } { +} + +} // namespace details + +// ---------------------------------------------------------------------------------------- + +typedef details::TMat22 mat2; +typedef details::TMat22 mat2f; + +// ---------------------------------------------------------------------------------------- +} // namespace math +} // namespace filament + +namespace std { +template +constexpr void swap(filament::math::details::TMat22& lhs, + filament::math::details::TMat22& rhs) noexcept { + // This generates much better code than the default implementation + // It's unclear why, I believe this is due to an optimization bug in the clang. + // + // filament::math::details::TMat22 t(lhs); + // lhs = rhs; + // rhs = t; + // + // clang always copy lhs on the stack, even if it's never using it (it's using the + // copy it has in registers). + + const T t00 = lhs[0][0]; + const T t01 = lhs[0][1]; + const T t10 = lhs[1][0]; + const T t11 = lhs[1][1]; + + lhs[0][0] = rhs[0][0]; + lhs[0][1] = rhs[0][1]; + lhs[1][0] = rhs[1][0]; + lhs[1][1] = rhs[1][1]; + + rhs[0][0] = t00; + rhs[0][1] = t01; + rhs[1][0] = t10; + rhs[1][1] = t11; +} +} + +#endif // TNT_MATH_MAT2_H diff --git a/web/include/filament/math/mat3.h b/web/include/filament/math/mat3.h new file mode 100644 index 00000000..5ad06bdf --- /dev/null +++ b/web/include/filament/math/mat3.h @@ -0,0 +1,534 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_MAT3_H +#define TNT_MATH_MAT3_H + +#include +#include +#include +#include + +#include +#include +#include + +namespace filament { +namespace math { +// ------------------------------------------------------------------------------------- +namespace details { + +/** + * A 3x3 column-major matrix class. + * + * Conceptually a 3x3 matrix is a an array of 3 column vec3: + * + * mat3 m = + * \f$ + * \left( + * \begin{array}{ccc} + * m[0] & m[1] & m[2] \\ + * \end{array} + * \right) + * \f$ + * = + * \f$ + * \left( + * \begin{array}{ccc} + * m[0][0] & m[1][0] & m[2][0] \\ + * m[0][1] & m[1][1] & m[2][1] \\ + * m[0][2] & m[1][2] & m[2][2] \\ + * \end{array} + * \right) + * \f$ + * = + * \f$ + * \left( + * \begin{array}{ccc} + * m(0,0) & m(0,1) & m(0,2) \\ + * m(1,0) & m(1,1) & m(1,2) \\ + * m(2,0) & m(2,1) & m(2,2) \\ + * \end{array} + * \right) + * \f$ + * + * m[n] is the \f$ n^{th} \f$ column of the matrix and is a vec3. + * + */ +template +class MATH_EMPTY_BASES TMat33 : + public TVecUnaryOperators, + public TVecComparisonOperators, + public TVecAddOperators, + public TMatProductOperators, + public TMatSquareFunctions, + public TMatTransform, + public TMatHelpers { +public: + enum no_init { + NO_INIT + }; + typedef T value_type; + typedef T& reference; + typedef T const& const_reference; + typedef size_t size_type; + typedef TVec3 col_type; + typedef TVec3 row_type; + + static constexpr size_t COL_SIZE = col_type::SIZE; // size of a column (i.e.: number of rows) + static constexpr size_t ROW_SIZE = row_type::SIZE; // size of a row (i.e.: number of columns) + static constexpr size_t NUM_ROWS = COL_SIZE; + static constexpr size_t NUM_COLS = ROW_SIZE; + +private: + /* + * <-- N columns --> + * + * a[0][0] a[1][0] a[2][0] ... a[N][0] ^ + * a[0][1] a[1][1] a[2][1] ... a[N][1] | + * a[0][2] a[1][2] a[2][2] ... a[N][2] M rows + * ... | + * a[0][M] a[1][M] a[2][M] ... a[N][M] v + * + * COL_SIZE = M + * ROW_SIZE = N + * m[0] = [ a[0][0] a[0][1] a[0][2] ... a[0][M] ] + */ + + col_type m_value[NUM_COLS]; + +public: + // array access + inline constexpr col_type const& operator[](size_t column) const noexcept { + assert(column < NUM_COLS); + return m_value[column]; + } + + inline constexpr col_type& operator[](size_t column) noexcept { + assert(column < NUM_COLS); + return m_value[column]; + } + + /** + * constructors + */ + + /** + * leaves object uninitialized. use with caution. + */ + constexpr explicit TMat33(no_init) noexcept {} + + + /** + * initialize to identity. + * + * \f$ + * \left( + * \begin{array}{ccc} + * 1 & 0 & 0 \\ + * 0 & 1 & 0 \\ + * 0 & 0 & 1 \\ + * \end{array} + * \right) + * \f$ + */ + constexpr TMat33() noexcept; + + /** + * initialize to Identity*scalar. + * + * \f$ + * \left( + * \begin{array}{ccc} + * v & 0 & 0 \\ + * 0 & v & 0 \\ + * 0 & 0 & v \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr explicit TMat33(U v) noexcept; + + /** + * sets the diagonal to a vector. + * + * \f$ + * \left( + * \begin{array}{ccc} + * v[0] & 0 & 0 \\ + * 0 & v[1] & 0 \\ + * 0 & 0 & v[2] \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr explicit TMat33(const TVec3& v) noexcept; + + /** + * construct from another matrix of the same size + */ + template + constexpr explicit TMat33(const TMat33& rhs) noexcept; + + /** + * construct from 3 column vectors. + * + * \f$ + * \left( + * \begin{array}{ccc} + * v0 & v1 & v2 \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr TMat33(const TVec3& v0, const TVec3& v1, const TVec3& v2) noexcept; + + /** construct from 9 elements in column-major form. + * + * \f$ + * \left( + * \begin{array}{ccc} + * m[0][0] & m[1][0] & m[2][0] \\ + * m[0][1] & m[1][1] & m[2][1] \\ + * m[0][2] & m[1][2] & m[2][2] \\ + * \end{array} + * \right) + * \f$ + */ + template< + typename A, typename B, typename C, + typename D, typename E, typename F, + typename G, typename H, typename I> + constexpr explicit TMat33(A m00, B m01, C m02, + D m10, E m11, F m12, + G m20, H m21, I m22) noexcept; + + + struct row_major_init { + template< + typename A, typename B, typename C, + typename D, typename E, typename F, + typename G, typename H, typename I> + constexpr explicit row_major_init(A m00, B m01, C m02, + D m10, E m11, F m12, + G m20, H m21, I m22) noexcept + : m(m00, m10, m20, + m01, m11, m21, + m02, m12, m22) {} + + private: + friend TMat33; + TMat33 m; + }; + + constexpr explicit TMat33(row_major_init c) noexcept : TMat33(std::move(c.m)) {} + + /** + * construct from a quaternion + */ + template + constexpr explicit TMat33(const TQuaternion& q) noexcept; + + /** + * orthogonalize only works on matrices of size 3x3 + */ + friend inline + constexpr TMat33 orthogonalize(const TMat33& m) noexcept { + TMat33 ret(TMat33::NO_INIT); + ret[0] = normalize(m[0]); + ret[2] = normalize(cross(ret[0], m[1])); + ret[1] = normalize(cross(ret[2], ret[0])); + return ret; + } + + /** + * Returns a matrix suitable for transforming normals + * + * Note that the inverse-transpose of a matrix is equal to its cofactor matrix divided by its + * determinant: + * + * transpose(inverse(M)) = cof(M) / det(M) + * + * The cofactor matrix is faster to compute than the inverse-transpose, and it can be argued + * that it is a more correct way of transforming normals anyway. Some references from Dale + * Weiler, Nathan Reed, Inigo Quilez, and Eric Lengyel: + * + * - https://github.com/graphitemaster/normals_revisited + * - http://www.reedbeta.com/blog/normals-inverse-transpose-part-1/ + * - https://www.shadertoy.com/view/3s33zj + * - FGED Volume 1, section 1.7.5 "Inverses of Small Matrices" + * - FGED Volume 1, section 3.2.2 "Transforming Normal Vectors" + * + * In "Transforming Normal Vectors", Lengyel notes that there are two types of transformed + * normals: one that uses the transposed adjugate (aka cofactor matrix) and one that uses the + * transposed inverse. He goes on to say that this difference is inconsequential, except when + * mirroring is involved. + * + * @param m the transform applied to vertices + * @return a matrix to apply to normals + * + * @warning normals transformed by this matrix must be normalized + */ + static constexpr TMat33 getTransformForNormals(const TMat33& m) noexcept { + return matrix::cof(m); + } + + /* + * Returns a matrix representing the pose of a virtual camera looking towards -Z in its + * local Y-up coordinate system. "up" defines where the Y axis of the camera's local coordinate + * system is. + */ + template + static TMat33 lookTo(const TVec3& direction, const TVec3& up) noexcept; + + /** + * Packs the tangent frame represented by the specified matrix into a quaternion. + * Reflection is preserved by encoding it as the sign of the w component in the + * resulting quaternion. Since -0 cannot always be represented on the GPU, this + * function computes a bias to ensure values are always either positive or negative, + * never 0. The bias is computed based on the specified storageSize, which defaults + * to 2 bytes, making the resulting quaternion suitable for storage into an SNORM16 + * vector. + */ + static constexpr TQuaternion packTangentFrame( + const TMat33& m, size_t storageSize = sizeof(int16_t)) noexcept; + + template + static constexpr TMat33 translation(const TVec3& t) noexcept { + TMat33 r; + r[2] = t; + return r; + } + + template + static constexpr TMat33 scaling(const TVec3& s) noexcept { + return TMat33{ s }; + } + + template + static constexpr TMat33 scaling(A s) noexcept { + return TMat33{ TVec3{ s }}; + } +}; + +// ---------------------------------------------------------------------------------------- +// Constructors +// ---------------------------------------------------------------------------------------- + +// Since the matrix code could become pretty big quickly, we don't inline most +// operations. + +template +constexpr TMat33::TMat33() noexcept + : m_value{ + col_type(1, 0, 0), + col_type(0, 1, 0), + col_type(0, 0, 1) } { +} + +template +template +constexpr TMat33::TMat33(U v) noexcept + : m_value{ + col_type(v, 0, 0), + col_type(0, v, 0), + col_type(0, 0, v) } { +} + +template +template +constexpr TMat33::TMat33(const TVec3& v) noexcept + : m_value{ + col_type(v[0], 0, 0), + col_type(0, v[1], 0), + col_type(0, 0, v[2]) } { +} + +// construct from 16 scalars. Note that the arrangement +// of values in the constructor is the transpose of the matrix +// notation. +template +template< + typename A, typename B, typename C, + typename D, typename E, typename F, + typename G, typename H, typename I> +constexpr TMat33::TMat33(A m00, B m01, C m02, + D m10, E m11, F m12, + G m20, H m21, I m22) noexcept + : m_value{ + col_type(m00, m01, m02), + col_type(m10, m11, m12), + col_type(m20, m21, m22) } { +} + +template +template +constexpr TMat33::TMat33(const TMat33& rhs) noexcept { + for (size_t col = 0; col < NUM_COLS; ++col) { + m_value[col] = col_type(rhs[col]); + } +} + +// Construct from 3 column vectors. +template +template +constexpr TMat33::TMat33(const TVec3& v0, const TVec3& v1, const TVec3& v2) noexcept + : m_value{ v0, v1, v2 } { +} + +template +template +constexpr TMat33::TMat33(const TQuaternion& q) noexcept : m_value{} { + const U n = q.x * q.x + q.y * q.y + q.z * q.z + q.w * q.w; + const U s = n > 0 ? 2 / n : 0; + const U x = s * q.x; + const U y = s * q.y; + const U z = s * q.z; + const U xx = x * q.x; + const U xy = x * q.y; + const U xz = x * q.z; + const U xw = x * q.w; + const U yy = y * q.y; + const U yz = y * q.z; + const U yw = y * q.w; + const U zz = z * q.z; + const U zw = z * q.w; + m_value[0] = col_type(1 - yy - zz, xy + zw, xz - yw); // NOLINT + m_value[1] = col_type(xy - zw, 1 - xx - zz, yz + xw); // NOLINT + m_value[2] = col_type(xz + yw, yz - xw, 1 - xx - yy); // NOLINT +} + +template +constexpr T dot_tolerance() noexcept; + +template<> +constexpr float dot_tolerance() noexcept { return 0.999f; } + +template<> +constexpr double dot_tolerance() noexcept { return 0.9999; } + +template +template +TMat33 TMat33::lookTo(const TVec3& direction, const TVec3& up) noexcept { + auto const z_axis = direction; + auto norm_up = up; + if (std::abs(dot(z_axis, norm_up)) > dot_tolerance< arithmetic_result_t >()) { + // Fix up vector if we're degenerate (looking straight up, basically) + norm_up = { norm_up.z, norm_up.x, norm_up.y }; + } + auto const x_axis = normalize(cross(z_axis, norm_up)); + auto const y_axis = cross(x_axis, z_axis); + return { x_axis, y_axis, -z_axis }; +} + +//------------------------------------------------------------------------------ +template +constexpr TQuaternion TMat33::packTangentFrame(const TMat33& m, size_t storageSize) noexcept { + TQuaternion q = TMat33{ m[0], cross(m[2], m[0]), m[2] }.toQuaternion(); + q = positive(normalize(q)); + + // Ensure w is never 0.0 + // Bias is 2^(nb_bits - 1) - 1 + const T bias = T(1.0) / T((1 << (storageSize * CHAR_BIT - 1)) - 1); + if (q.w < bias) { + q.w = bias; + + const T factor = (T)(std::sqrt(1.0 - (double)bias * (double)bias)); + q.xyz *= factor; + } + + // If there's a reflection ((n x t) . b <= 0), make sure w is negative + if (dot(cross(m[0], m[2]), m[1]) < T(0)) { + q = -q; + } + + return q; +} + + +} // namespace details + +/** + * Pre-scale a matrix m by the inverse of the largest scale factor to avoid large post-transform + * magnitudes in the shader. This is useful for normal transformations, to avoid large + * post-transform magnitudes in the shader, especially in the fragment shader, where we use + * medium precision. + */ +template +constexpr details::TMat33 prescaleForNormals(const details::TMat33& m) noexcept { + return m * details::TMat33( + 1.0 / std::sqrt(max(float3{length2(m[0]), length2(m[1]), length2(m[2])}))); +} + +// ---------------------------------------------------------------------------------------- + +typedef details::TMat33 mat3; +typedef details::TMat33 mat3f; + +// ---------------------------------------------------------------------------------------- +} // namespace math +} // namespace filament + +namespace std { +template +constexpr void swap(filament::math::details::TMat33& lhs, + filament::math::details::TMat33& rhs) noexcept { + // This generates much better code than the default implementation + // It's unclear why, I believe this is due to an optimization bug in the clang. + // + // filament::math::details::TMat33 t(lhs); + // lhs = rhs; + // rhs = t; + // + // clang always copy lhs on the stack, even if it's never using it (it's using the + // copy it has in registers). + + const T t00 = lhs[0][0]; + const T t01 = lhs[0][1]; + const T t02 = lhs[0][2]; + const T t10 = lhs[1][0]; + const T t11 = lhs[1][1]; + const T t12 = lhs[1][2]; + const T t20 = lhs[2][0]; + const T t21 = lhs[2][1]; + const T t22 = lhs[2][2]; + + lhs[0][0] = rhs[0][0]; + lhs[0][1] = rhs[0][1]; + lhs[0][2] = rhs[0][2]; + lhs[1][0] = rhs[1][0]; + lhs[1][1] = rhs[1][1]; + lhs[1][2] = rhs[1][2]; + lhs[2][0] = rhs[2][0]; + lhs[2][1] = rhs[2][1]; + lhs[2][2] = rhs[2][2]; + + rhs[0][0] = t00; + rhs[0][1] = t01; + rhs[0][2] = t02; + rhs[1][0] = t10; + rhs[1][1] = t11; + rhs[1][2] = t12; + rhs[2][0] = t20; + rhs[2][1] = t21; + rhs[2][2] = t22; +} +} + +#endif // TNT_MATH_MAT3_H diff --git a/web/include/filament/math/mat4.h b/web/include/filament/math/mat4.h new file mode 100644 index 00000000..57058539 --- /dev/null +++ b/web/include/filament/math/mat4.h @@ -0,0 +1,667 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_MAT4_H +#define TNT_MATH_MAT4_H + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace filament { +namespace math { +// ------------------------------------------------------------------------------------- +namespace details { + +template +class TQuaternion; + +/** + * A 4x4 column-major matrix class. + * + * Conceptually a 4x4 matrix is a an array of 4 column double4: + * + * mat4 m = + * \f$ + * \left( + * \begin{array}{cccc} + * m[0] & m[1] & m[2] & m[3] \\ + * \end{array} + * \right) + * \f$ + * = + * \f$ + * \left( + * \begin{array}{cccc} + * m[0][0] & m[1][0] & m[2][0] & m[3][0] \\ + * m[0][1] & m[1][1] & m[2][1] & m[3][1] \\ + * m[0][2] & m[1][2] & m[2][2] & m[3][2] \\ + * m[0][3] & m[1][3] & m[2][3] & m[3][3] \\ + * \end{array} + * \right) + * \f$ + * = + * \f$ + * \left( + * \begin{array}{cccc} + * m(0,0) & m(0,1) & m(0,2) & m(0,3) \\ + * m(1,0) & m(1,1) & m(1,2) & m(1,3) \\ + * m(2,0) & m(2,1) & m(2,2) & m(2,3) \\ + * m(3,0) & m(3,1) & m(3,2) & m(3,3) \\ + * \end{array} + * \right) + * \f$ + * + * m[n] is the \f$ n^{th} \f$ column of the matrix and is a double4. + * + */ +template +class MATH_EMPTY_BASES TMat44 : + public TVecUnaryOperators, + public TVecComparisonOperators, + public TVecAddOperators, + public TMatProductOperators, + public TMatSquareFunctions, + public TMatTransform, + public TMatHelpers { +public: + enum no_init { + NO_INIT + }; + typedef T value_type; + typedef T& reference; + typedef T const& const_reference; + typedef size_t size_type; + typedef TVec4 col_type; + typedef TVec4 row_type; + + static constexpr size_t COL_SIZE = col_type::SIZE; // size of a column (i.e.: number of rows) + static constexpr size_t ROW_SIZE = row_type::SIZE; // size of a row (i.e.: number of columns) + static constexpr size_t NUM_ROWS = COL_SIZE; + static constexpr size_t NUM_COLS = ROW_SIZE; + +private: + /* + * <-- N columns --> + * + * a[0][0] a[1][0] a[2][0] ... a[N][0] ^ + * a[0][1] a[1][1] a[2][1] ... a[N][1] | + * a[0][2] a[1][2] a[2][2] ... a[N][2] M rows + * ... | + * a[0][M] a[1][M] a[2][M] ... a[N][M] v + * + * COL_SIZE = M + * ROW_SIZE = N + * m[0] = [ a[0][0] a[0][1] a[0][2] ... a[0][M] ] + */ + + col_type m_value[NUM_COLS]; + +public: + // array access + inline constexpr col_type const& operator[](size_t column) const noexcept { + assert(column < NUM_COLS); + return m_value[column]; + } + + inline constexpr col_type& operator[](size_t column) noexcept { + assert(column < NUM_COLS); + return m_value[column]; + } + + /* + * constructors + */ + + // leaves object uninitialized. use with caution. + constexpr explicit TMat44(no_init) noexcept {} + + /** initialize to identity. + * + * \f$ + * \left( + * \begin{array}{cccc} + * 1 & 0 & 0 & 0 \\ + * 0 & 1 & 0 & 0 \\ + * 0 & 0 & 1 & 0 \\ + * 0 & 0 & 0 & 1 \\ + * \end{array} + * \right) + * \f$ + */ + constexpr TMat44() noexcept; + + /** initialize to Identity*scalar. + * + * \f$ + * \left( + * \begin{array}{cccc} + * v & 0 & 0 & 0 \\ + * 0 & v & 0 & 0 \\ + * 0 & 0 & v & 0 \\ + * 0 & 0 & 0 & v \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr explicit TMat44(U v) noexcept; + + /** sets the diagonal to a vector. + * + * \f$ + * \left( + * \begin{array}{cccc} + * v[0] & 0 & 0 & 0 \\ + * 0 & v[1] & 0 & 0 \\ + * 0 & 0 & v[2] & 0 \\ + * 0 & 0 & 0 & v[3] \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr explicit TMat44(const TVec4& v) noexcept; + + // construct from another matrix of the same size + template + constexpr explicit TMat44(const TMat44& rhs) noexcept; + + /** construct from 4 column vectors. + * + * \f$ + * \left( + * \begin{array}{cccc} + * v0 & v1 & v2 & v3 \\ + * \end{array} + * \right) + * \f$ + */ + template + constexpr TMat44(const TVec4& v0, const TVec4& v1, const TVec4& v2, + const TVec4& v3) noexcept; + + /** construct from 16 elements in column-major form. + * + * \f$ + * \left( + * \begin{array}{cccc} + * m[0][0] & m[1][0] & m[2][0] & m[3][0] \\ + * m[0][1] & m[1][1] & m[2][1] & m[3][1] \\ + * m[0][2] & m[1][2] & m[2][2] & m[3][2] \\ + * m[0][3] & m[1][3] & m[2][3] & m[3][3] \\ + * \end{array} + * \right) + * \f$ + */ + template< + typename A, typename B, typename C, typename D, + typename E, typename F, typename G, typename H, + typename I, typename J, typename K, typename L, + typename M, typename N, typename O, typename P> + constexpr explicit TMat44(A m00, B m01, C m02, D m03, + E m10, F m11, G m12, H m13, + I m20, J m21, K m22, L m23, + M m30, N m31, O m32, P m33) noexcept; + + + struct row_major_init { + template< + typename A, typename B, typename C, typename D, + typename E, typename F, typename G, typename H, + typename I, typename J, typename K, typename L, + typename M, typename N, typename O, typename P> + constexpr explicit row_major_init(A m00, B m01, C m02, D m03, + E m10, F m11, G m12, H m13, + I m20, J m21, K m22, L m23, + M m30, N m31, O m32, P m33) noexcept + : m(m00, m10, m20, m30, + m01, m11, m21, m31, + m02, m12, m22, m32, + m03, m13, m23, m33) {} + + private: + friend TMat44; + TMat44 m; + }; + + constexpr explicit TMat44(row_major_init c) noexcept : TMat44(std::move(c.m)) {} + + /** + * construct from a quaternion + */ + template + constexpr explicit TMat44(const TQuaternion& q) noexcept; + + /** + * construct from a 3x3 matrix + */ + template + constexpr explicit TMat44(const TMat33& matrix) noexcept; + + /** + * construct from a 3x3 matrix and 3d translation + */ + template + constexpr TMat44(const TMat33& matrix, const TVec3& translation) noexcept; + + /** + * construct from a 3x3 matrix and 4d last column. + */ + template + constexpr TMat44(const TMat33& matrix, const TVec4& column3) noexcept; + + static constexpr TMat44 ortho(T left, T right, T bottom, T top, T near, T far) noexcept; + + static constexpr TMat44 frustum(T left, T right, T bottom, T top, T near, T far) noexcept; + + enum class Fov { + HORIZONTAL, + VERTICAL + }; + static TMat44 perspective(T fov, T aspect, T near, T far, Fov direction = Fov::VERTICAL) noexcept; + + template + static TMat44 lookAt(const TVec3& eye, const TVec3& center, const TVec3& up) noexcept; + + template + static TMat44 lookTo(const TVec3& direction, const TVec3& position, const TVec3& up) noexcept; + + template + static constexpr TVec3 project(const TMat44& projectionMatrix, TVec3 vertice) noexcept{ + TVec4 r = projectionMatrix * TVec4{ vertice, 1 }; + return TVec3{ r[0], r[1], r[2] } * (1 / r[3]); + } + + template + static constexpr TVec4 project(const TMat44& projectionMatrix, TVec4 vertice) noexcept{ + vertice = projectionMatrix * vertice; + return { TVec3{ vertice[0], vertice[1], vertice[2] } * (1 / vertice[3]), 1 }; + } + + /** + * Constructs a 3x3 matrix from the upper-left corner of this 4x4 matrix + */ + inline constexpr TMat33 upperLeft() const noexcept { + const TVec3 v0 = { m_value[0][0], m_value[0][1], m_value[0][2] }; + const TVec3 v1 = { m_value[1][0], m_value[1][1], m_value[1][2] }; + const TVec3 v2 = { m_value[2][0], m_value[2][1], m_value[2][2] }; + return TMat33(v0, v1, v2); + } + + template + static constexpr TMat44 translation(const TVec3& t) noexcept { + TMat44 r; + r[3] = TVec4{ t, 1 }; + return r; + } + + template + static constexpr TMat44 scaling(const TVec3& s) noexcept { + return TMat44{ TVec4{ s, 1 }}; + } + + template + static constexpr TMat44 scaling(A s) noexcept { + return TMat44{ TVec4{ s, s, s, 1 }}; + } +}; + +// ---------------------------------------------------------------------------------------- +// Constructors +// ---------------------------------------------------------------------------------------- + +// Since the matrix code could become pretty big quickly, we don't inline most +// operations. + +template +constexpr TMat44::TMat44() noexcept + : m_value{ + col_type(1, 0, 0, 0), + col_type(0, 1, 0, 0), + col_type(0, 0, 1, 0), + col_type(0, 0, 0, 1) } { +} + +template +template +constexpr TMat44::TMat44(U v) noexcept + : m_value{ + col_type(v, 0, 0, 0), + col_type(0, v, 0, 0), + col_type(0, 0, v, 0), + col_type(0, 0, 0, v) } { +} + +template +template +constexpr TMat44::TMat44(const TVec4& v) noexcept + : m_value{ + col_type(v[0], 0, 0, 0), + col_type(0, v[1], 0, 0), + col_type(0, 0, v[2], 0), + col_type(0, 0, 0, v[3]) } { +} + + +// construct from 16 scalars +template +template< + typename A, typename B, typename C, typename D, + typename E, typename F, typename G, typename H, + typename I, typename J, typename K, typename L, + typename M, typename N, typename O, typename P> +constexpr TMat44::TMat44(A m00, B m01, C m02, D m03, + E m10, F m11, G m12, H m13, + I m20, J m21, K m22, L m23, + M m30, N m31, O m32, P m33) noexcept + : m_value{ + col_type(m00, m01, m02, m03), + col_type(m10, m11, m12, m13), + col_type(m20, m21, m22, m23), + col_type(m30, m31, m32, m33) } { +} + +template +template +constexpr TMat44::TMat44(const TMat44& rhs) noexcept { + for (size_t col = 0; col < NUM_COLS; ++col) { + m_value[col] = col_type(rhs[col]); + } +} + +// Construct from 4 column vectors. +template +template +constexpr TMat44::TMat44(const TVec4& v0, const TVec4& v1, + const TVec4& v2, const TVec4& v3) noexcept + : m_value{ v0, v1, v2, v3 } { +} + +template +template +constexpr TMat44::TMat44(const TQuaternion& q) noexcept : m_value{} { + const U n = q.x * q.x + q.y * q.y + q.z * q.z + q.w * q.w; + const U s = n > 0 ? 2 / n : 0; + const U x = s * q.x; + const U y = s * q.y; + const U z = s * q.z; + const U xx = x * q.x; + const U xy = x * q.y; + const U xz = x * q.z; + const U xw = x * q.w; + const U yy = y * q.y; + const U yz = y * q.z; + const U yw = y * q.w; + const U zz = z * q.z; + const U zw = z * q.w; + m_value[0] = col_type(1 - yy - zz, xy + zw, xz - yw, 0); + m_value[1] = col_type(xy - zw, 1 - xx - zz, yz + xw, 0); // NOLINT + m_value[2] = col_type(xz + yw, yz - xw, 1 - xx - yy, 0); // NOLINT + m_value[3] = col_type(0, 0, 0, 1); // NOLINT +} + +template +template +constexpr TMat44::TMat44(const TMat33& m) noexcept + : m_value{ + col_type(m[0][0], m[0][1], m[0][2], 0), + col_type(m[1][0], m[1][1], m[1][2], 0), + col_type(m[2][0], m[2][1], m[2][2], 0), + col_type(0, 0, 0, 1) } // NOLINT +{ +} + +template +template +constexpr TMat44::TMat44(const TMat33& m, const TVec3& v) noexcept + : m_value{ + col_type(m[0][0], m[0][1], m[0][2], 0), + col_type(m[1][0], m[1][1], m[1][2], 0), + col_type(m[2][0], m[2][1], m[2][2], 0), + col_type(v[0], v[1], v[2], 1) } // NOLINT +{ +} + +template +template +constexpr TMat44::TMat44(const TMat33& m, const TVec4& v) noexcept + : m_value{ + col_type(m[0][0], m[0][1], m[0][2], 0), + col_type(m[1][0], m[1][1], m[1][2], 0), + col_type(m[2][0], m[2][1], m[2][2], 0), + col_type(v[0], v[1], v[2], v[3]) } // NOLINT +{ +} + + +// ---------------------------------------------------------------------------------------- +// Helpers +// ---------------------------------------------------------------------------------------- + +template +constexpr TMat44 TMat44::ortho(T left, T right, T bottom, T top, T near, T far) noexcept { + TMat44 m; + m[0][0] = 2 / (right - left); + m[1][1] = 2 / (top - bottom); + m[2][2] = -2 / (far - near); + m[3][0] = -(right + left) / (right - left); + m[3][1] = -(top + bottom) / (top - bottom); + m[3][2] = -(far + near) / (far - near); + return m; +} + +template +constexpr TMat44 TMat44::frustum(T left, T right, T bottom, T top, T near, T far) noexcept { + TMat44 m; + m[0][0] = (2 * near) / (right - left); + // 0 + // 0 + // 0 + + // 0 + m[1][1] = (2 * near) / (top - bottom); + // 0 + // 0 + + m[2][0] = (right + left) / (right - left); + m[2][1] = (top + bottom) / (top - bottom); + m[2][2] = -(far + near) / (far - near); + m[2][3] = -1; + + // 0 + // 0 + m[3][2] = -(2 * far * near) / (far - near); + m[3][3] = 0; + return m; +} + +template +TMat44 TMat44::perspective(T fov, T aspect, T near, T far, TMat44::Fov direction) noexcept { + T h, w; + + if (direction == TMat44::Fov::VERTICAL) { + h = std::tan(fov * F_PI / 360.0f) * near; + w = h * aspect; + } else { + w = std::tan(fov * F_PI / 360.0f) * near; + h = w / aspect; + } + return frustum(-w, w, -h, h, near, far); +} + +/* + * Returns a matrix representing the pose of a virtual camera looking towards -Z in its + * local Y-up coordinate system. "eye" is where the camera is located, "center" is the point it's + * looking at and "up" defines where the Y axis of the camera's local coordinate system is. + */ +template +template +TMat44 TMat44::lookAt(const TVec3& eye, const TVec3& center, + const TVec3& up) noexcept { + return lookTo(normalize(center - eye), eye, normalize(up)); +} + +template +template +TMat44 TMat44::lookTo(const TVec3& direction, const TVec3& position, + const TVec3& up) noexcept { + auto r = TMat33::lookTo(direction, up); + return TMat44{ + TVec4{ r[0], 0 }, + TVec4{ r[1], 0 }, + TVec4{ r[2], 0 }, + TVec4{ position, 1 } }; +} + +// ---------------------------------------------------------------------------------------- +// Arithmetic operators outside of class +// ---------------------------------------------------------------------------------------- + +// mat44 * vec3, result is vec3( mat44 * {vec3, 1} ) +template +constexpr typename TMat44::col_type MATH_PURE operator*(const TMat44& lhs, + const TVec3& rhs) noexcept { + return lhs * TVec4{ rhs, 1 }; +} + +} // namespace details + +// ---------------------------------------------------------------------------------------- + +typedef details::TMat44 mat4; +typedef details::TMat44 mat4f; + +// mat4 * float4, with double precision intermediates +constexpr float4 highPrecisionMultiply(mat4f const& lhs, float4 const& rhs) noexcept { + double4 result{}; + result += lhs[0] * rhs[0]; + result += lhs[1] * rhs[1]; + result += lhs[2] * rhs[2]; + result += lhs[3] * rhs[3]; + return float4{ result }; +} + +// mat4 * mat4, with double precision intermediates +constexpr mat4f highPrecisionMultiply(mat4f const& lhs, mat4f const& rhs) noexcept { + return { + highPrecisionMultiply(lhs, rhs[0]), + highPrecisionMultiply(lhs, rhs[1]), + highPrecisionMultiply(lhs, rhs[2]), + highPrecisionMultiply(lhs, rhs[3]) + }; +} + +// mat4 * float4, with double precision intermediates +constexpr double4 highPrecisionMultiplyd(mat4f const& lhs, float4 const& rhs) noexcept { + double4 result{}; + result += lhs[0] * rhs[0]; + result += lhs[1] * rhs[1]; + result += lhs[2] * rhs[2]; + result += lhs[3] * rhs[3]; + return result; +} + +// mat4 * mat4, with double precision intermediates +constexpr mat4 highPrecisionMultiplyd(mat4f const& lhs, mat4f const& rhs) noexcept { + return { + highPrecisionMultiplyd(lhs, rhs[0]), + highPrecisionMultiplyd(lhs, rhs[1]), + highPrecisionMultiplyd(lhs, rhs[2]), + highPrecisionMultiplyd(lhs, rhs[3]) + }; +} + +// ---------------------------------------------------------------------------------------- +} // namespace math +} // namespace filament + +namespace std { +template +constexpr void swap(filament::math::details::TMat44& lhs, + filament::math::details::TMat44& rhs) noexcept { + // This generates much better code than the default implementation + // It's unclear why, I believe this is due to an optimization bug in the clang. + // + // filament::math::details::TMat44 t(lhs); + // lhs = rhs; + // rhs = t; + // + // clang always copy lhs on the stack, even if it's never using it (it's using the + // copy it has in registers). + + const T t00 = lhs[0][0]; + const T t01 = lhs[0][1]; + const T t02 = lhs[0][2]; + const T t03 = lhs[0][3]; + const T t10 = lhs[1][0]; + const T t11 = lhs[1][1]; + const T t12 = lhs[1][2]; + const T t13 = lhs[1][3]; + const T t20 = lhs[2][0]; + const T t21 = lhs[2][1]; + const T t22 = lhs[2][2]; + const T t23 = lhs[2][3]; + const T t30 = lhs[3][0]; + const T t31 = lhs[3][1]; + const T t32 = lhs[3][2]; + const T t33 = lhs[3][3]; + + lhs[0][0] = rhs[0][0]; + lhs[0][1] = rhs[0][1]; + lhs[0][2] = rhs[0][2]; + lhs[0][3] = rhs[0][3]; + lhs[1][0] = rhs[1][0]; + lhs[1][1] = rhs[1][1]; + lhs[1][2] = rhs[1][2]; + lhs[1][3] = rhs[1][3]; + lhs[2][0] = rhs[2][0]; + lhs[2][1] = rhs[2][1]; + lhs[2][2] = rhs[2][2]; + lhs[2][3] = rhs[2][3]; + lhs[3][0] = rhs[3][0]; + lhs[3][1] = rhs[3][1]; + lhs[3][2] = rhs[3][2]; + lhs[3][3] = rhs[3][3]; + + rhs[0][0] = t00; + rhs[0][1] = t01; + rhs[0][2] = t02; + rhs[0][3] = t03; + rhs[1][0] = t10; + rhs[1][1] = t11; + rhs[1][2] = t12; + rhs[1][3] = t13; + rhs[2][0] = t20; + rhs[2][1] = t21; + rhs[2][2] = t22; + rhs[2][3] = t23; + rhs[3][0] = t30; + rhs[3][1] = t31; + rhs[3][2] = t32; + rhs[3][3] = t33; +} +} + +#endif // TNT_MATH_MAT4_H diff --git a/web/include/filament/math/mathfwd.h b/web/include/filament/math/mathfwd.h new file mode 100644 index 00000000..b2d3ad84 --- /dev/null +++ b/web/include/filament/math/mathfwd.h @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_MATHFWD_H +#define TNT_MATH_MATHFWD_H + +#ifdef _MSC_VER + +// MSVC cannot compute the size of math types correctly when this file is included before the +// actual implementations. +// See github.com/google/filament/issues/2190. +#include +#include +#include +#include +#include +#include + +#else + +#include + +namespace filament::math { +namespace details { + +template class TVec2; +template class TVec3; +template class TVec4; + +template class TMat22; +template class TMat33; +template class TMat44; + +template class TQuaternion; + +} // namespace details + +using double2 = details::TVec2; +using float2 = details::TVec2; +using int2 = details::TVec2; +using uint2 = details::TVec2; +using short2 = details::TVec2; +using ushort2 = details::TVec2; +using byte2 = details::TVec2; +using ubyte2 = details::TVec2; +using bool2 = details::TVec2; + +using double3 = details::TVec3; +using float3 = details::TVec3; +using int3 = details::TVec3; +using uint3 = details::TVec3; +using short3 = details::TVec3; +using ushort3 = details::TVec3; +using byte3 = details::TVec3; +using ubyte3 = details::TVec3; +using bool3 = details::TVec3; + +using double4 = details::TVec4; +using float4 = details::TVec4; +using int4 = details::TVec4; +using uint4 = details::TVec4; +using short4 = details::TVec4; +using ushort4 = details::TVec4; +using byte4 = details::TVec4; +using ubyte4 = details::TVec4; +using bool4 = details::TVec4; + +using mat2 = details::TMat22; +using mat2f = details::TMat22; + +using mat3 = details::TMat33; +using mat3f = details::TMat33; + +using mat4 = details::TMat44; +using mat4f = details::TMat44; + +using quat = details::TQuaternion; +using quatf = details::TQuaternion; + +} // namespace filament::math + +#endif // _MSC_VER + +#endif // TNT_MATH_MATHFWD_H diff --git a/web/include/filament/math/norm.h b/web/include/filament/math/norm.h new file mode 100644 index 00000000..d4d99ba8 --- /dev/null +++ b/web/include/filament/math/norm.h @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_NORM_H +#define TNT_MATH_NORM_H + +#include +#include + +#include +#include + +namespace filament { +namespace math { + +inline uint16_t packUnorm16(float v) noexcept { + return static_cast(std::round(clamp(v, 0.0f, 1.0f) * 65535.0f)); +} + +inline ushort4 packUnorm16(float4 v) noexcept { + return ushort4{ packUnorm16(v.x), packUnorm16(v.y), packUnorm16(v.z), packUnorm16(v.w) }; +} + +inline int16_t packSnorm16(float v) noexcept { + return static_cast(std::round(clamp(v, -1.0f, 1.0f) * 32767.0f)); +} + +inline short2 packSnorm16(float2 v) noexcept { + return short2{ packSnorm16(v.x), packSnorm16(v.y) }; +} + +inline short4 packSnorm16(float4 v) noexcept { + return short4{ packSnorm16(v.x), packSnorm16(v.y), packSnorm16(v.z), packSnorm16(v.w) }; +} + +inline float unpackUnorm16(uint16_t v) noexcept { + return v / 65535.0f; +} + +inline float4 unpackUnorm16(ushort4 v) noexcept { + return float4{ unpackUnorm16(v.x), unpackUnorm16(v.y), unpackUnorm16(v.z), unpackUnorm16(v.w) }; +} + +inline float unpackSnorm16(int16_t v) noexcept { + return clamp(v / 32767.0f, -1.0f, 1.0f); +} + +inline float4 unpackSnorm16(short4 v) noexcept { + return float4{ unpackSnorm16(v.x), unpackSnorm16(v.y), unpackSnorm16(v.z), unpackSnorm16(v.w) }; +} + +inline uint8_t packUnorm8(float v) noexcept { + return static_cast(std::round(clamp(v, 0.0f, 1.0f) * 255.0)); +} + +inline ubyte4 packUnorm8(float4 v) noexcept { + return ubyte4{ packUnorm8(v.x), packUnorm8(v.y), packUnorm8(v.z), packUnorm8(v.w) }; +} + +inline int8_t packSnorm8(float v) noexcept { + return static_cast(std::round(clamp(v, -1.0f, 1.0f) * 127.0)); +} + +inline byte4 packSnorm8(float4 v) noexcept { + return byte4{ packSnorm8(v.x), packSnorm8(v.y), packSnorm8(v.z), packSnorm8(v.w) }; +} + +inline float unpackUnorm8(uint8_t v) noexcept { + return v / 255.0f; +} + +inline float4 unpackUnorm8(ubyte4 v) noexcept { + return float4{ unpackUnorm8(v.x), unpackUnorm8(v.y), unpackUnorm8(v.z), unpackUnorm8(v.w) }; +} + +inline float unpackSnorm8(int8_t v) noexcept { + return clamp(v / 127.0f, -1.0f, 1.0f); +} + +inline float4 unpackSnorm8(byte4 v) noexcept { + return float4{ unpackSnorm8(v.x), unpackSnorm8(v.y), unpackSnorm8(v.z), unpackSnorm8(v.w) }; +} + +} // namespace math +} // namespace filament + +#endif // TNT_MATH_NORM_H diff --git a/web/include/filament/math/quat.h b/web/include/filament/math/quat.h new file mode 100644 index 00000000..af9f7467 --- /dev/null +++ b/web/include/filament/math/quat.h @@ -0,0 +1,202 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_QUAT_H +#define TNT_MATH_QUAT_H + +#include +#include +#include +#include +#include + +#include +#include + +namespace filament::math { +namespace details { + +template +class MATH_EMPTY_BASES TQuaternion : + public TVecAddOperators, + public TVecUnaryOperators, + public TVecComparisonOperators, + public TQuatProductOperators, + public TQuatFunctions { +public: + enum no_init { + NO_INIT + }; + typedef T value_type; + typedef T& reference; + typedef T const& const_reference; + typedef size_t size_type; + + /* + * quaternion internals stored as: + * + * q = w + xi + yj + zk + * + * q[0] = x; + * q[1] = y; + * q[2] = z; + * q[3] = w; + * + */ + union { + struct { T x, y, z, w; }; + TVec4 xyzw; + TVec3 xyz; + TVec2 xy; + }; + + enum { SIZE = 4 }; + inline constexpr static size_type size() { return SIZE; } + + // array access + inline constexpr T const& operator[](size_t i) const { + // only possible in C++0x14 with constexpr + assert(i < SIZE); + return (&x)[i]; + } + + inline constexpr T& operator[](size_t i) { + assert(i < SIZE); + return (&x)[i]; + } + + // ----------------------------------------------------------------------- + // we want the compiler generated versions for these... + TQuaternion(const TQuaternion&) = default; + ~TQuaternion() = default; + TQuaternion& operator=(const TQuaternion&) = default; + + // constructors + + // Leaves object uninitialized. Use with caution. + explicit constexpr TQuaternion(no_init) {} + + // default constructor. sets all values to zero. + constexpr TQuaternion() : x(0), y(0), z(0), w(0) {} + + // Handles implicit conversion to a quat. Must not be explicit. + template> + constexpr TQuaternion(A w) : x(0), y(0), z(0), w(w) {} // NOLINT(google-explicit-constructor) + + // initialize from 4 values to w + xi + yj + zk + template> + constexpr TQuaternion(A w, B x, C y, D z) : x(x), y(y), z(z), w(w) {} + + // initialize from a vec3 + a value to : v.xi + v.yj + v.zk + w + template> + constexpr TQuaternion(const TVec3& v, B w) : x(v.x), y(v.y), z(v.z), w(w) {} + + // initialize from a vec4 + template> + constexpr explicit TQuaternion(const TVec4& v) : x(v.x), y(v.y), z(v.z), w(v.w) {} + + // initialize from a quaternion of a different type + template> + constexpr explicit TQuaternion(const TQuaternion& v) : x(v.x), y(v.y), z(v.z), w(v.w) {} + + // conjugate operator + constexpr TQuaternion operator~() const { + return conj(*this); + } + + // constructs a quaternion from an axis and angle + template> + constexpr static TQuaternion MATH_PURE fromAxisAngle(const TVec3& axis, B angle) { + return TQuaternion(std::sin(angle * 0.5) * normalize(axis), std::cos(angle * 0.5)); + } + + // constructs a quaternion from orig to dest. + // it returns the shortest arc and `from` and `to` must be normalized. + template> + constexpr static TQuaternion MATH_PURE fromDirectedRotation(const TVec3& from, const TVec3& to) { + // see the implementation of glm/gtx/quaternion.hpp + T cosTheta = dot(from, to); + TVec3 rotationAxis; + + if (cosTheta >= T(1) - std::numeric_limits::epsilon()) { + // orig and dest point in the same direction + return TQuaternion(1, 0, 0, 0); + } + + if (cosTheta < T(-1) + std::numeric_limits::epsilon()) { + // special case when vectors in opposite directions : + // there is no "ideal" rotation axis + // So guess one; any will do as long as it's perpendicular to start + // This implementation favors a rotation around the Up axis (Y), + // since it's often what you want to do. + rotationAxis = cross(TVec3(0, 0, 1), from); + + if (length2(rotationAxis) < std::numeric_limits::epsilon()) { + // bad luck, they were parallel, try again! + rotationAxis = cross(TVec3(1, 0, 0), from); + } + + rotationAxis = normalize(rotationAxis); + return fromAxisAngle(rotationAxis, F_PI); + } + + // implementation from Stan Melax's Game Programming Gems 1 article + rotationAxis = cross(from, to); + + const T s = std::sqrt((T(1) + cosTheta) * T(2)); + return TQuaternion(s * T(0.5), + rotationAxis.x / s, rotationAxis.y / s, rotationAxis.z / s); + } +}; + +} // namespace details + +// ---------------------------------------------------------------------------------------- + +typedef details::TQuaternion quat; +typedef details::TQuaternion quatf; +typedef details::TQuaternion quath; + +// note: don't put a space between "" and _{i,j,k}, this is deprecated + +constexpr inline quat operator ""_i(long double v) { + return { 0.0, double(v), 0.0, 0.0 }; +} + +constexpr inline quat operator ""_j(long double v) { + return { 0.0, 0.0, double(v), 0.0 }; +} + +constexpr inline quat operator ""_k(long double v) { + return { 0.0, 0.0, 0.0, double(v) }; +} + +constexpr inline quat operator ""_i(unsigned long long v) { + return { 0.0, double(v), 0.0, 0.0 }; +} + +constexpr inline quat operator ""_j(unsigned long long v) { + return { 0.0, 0.0, double(v), 0.0 }; +} + +constexpr inline quat operator ""_k(unsigned long long v) { + return { 0.0, 0.0, 0.0, double(v) }; +} + +} // namespace filament::math + +#endif // TNT_MATH_QUAT_H diff --git a/web/include/filament/math/scalar.h b/web/include/filament/math/scalar.h new file mode 100644 index 00000000..1de77d24 --- /dev/null +++ b/web/include/filament/math/scalar.h @@ -0,0 +1,124 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_SCALAR_H +#define TNT_MATH_SCALAR_H + +#include +#include + +namespace filament { +namespace math { + +constexpr const double F_E = 2.71828182845904523536028747135266250; +constexpr const double F_LOG2E = 1.44269504088896340735992468100189214; +constexpr const double F_LOG10E = 0.434294481903251827651128918916605082; +constexpr const double F_LN2 = 0.693147180559945309417232121458176568; +constexpr const double F_LN10 = 2.30258509299404568401799145468436421; +constexpr const double F_PI = 3.14159265358979323846264338327950288; +constexpr const double F_PI_2 = 1.57079632679489661923132169163975144; +constexpr const double F_PI_4 = 0.785398163397448309615660845819875721; +constexpr const double F_1_PI = 0.318309886183790671537767526745028724; +constexpr const double F_2_PI = 0.636619772367581343075535053490057448; +constexpr const double F_2_SQRTPI = 1.12837916709551257389615890312154517; +constexpr const double F_SQRT2 = 1.41421356237309504880168872420969808; +constexpr const double F_SQRT1_2 = 0.707106781186547524400844362104849039; +constexpr const double F_TAU = 2.0 * F_PI; + +namespace d { +constexpr const double E = F_E; +constexpr const double LOG2E = F_LOG2E; +constexpr const double LOG10E = F_LOG10E; +constexpr const double LN2 = F_LN2; +constexpr const double LN10 = F_LN10; +constexpr const double PI = F_PI; +constexpr const double PI_2 = F_PI_2; +constexpr const double PI_4 = F_PI_4; +constexpr const double ONE_OVER_PI = F_1_PI; +constexpr const double TWO_OVER_PI = F_2_PI; +constexpr const double TWO_OVER_SQRTPI = F_2_SQRTPI; +constexpr const double SQRT2 = F_SQRT2; +constexpr const double SQRT1_2 = F_SQRT1_2; +constexpr const double TAU = F_TAU; +constexpr const double DEG_TO_RAD = F_PI / 180.0; +constexpr const double RAD_TO_DEG = 180.0 / F_PI; +} // namespace d + +namespace f { +constexpr const float E = (float)d::E; +constexpr const float LOG2E = (float)d::LOG2E; +constexpr const float LOG10E = (float)d::LOG10E; +constexpr const float LN2 = (float)d::LN2; +constexpr const float LN10 = (float)d::LN10; +constexpr const float PI = (float)d::PI; +constexpr const float PI_2 = (float)d::PI_2; +constexpr const float PI_4 = (float)d::PI_4; +constexpr const float ONE_OVER_PI = (float)d::ONE_OVER_PI; +constexpr const float TWO_OVER_PI = (float)d::TWO_OVER_PI; +constexpr const float TWO_OVER_SQRTPI = (float)d::TWO_OVER_SQRTPI; +constexpr const float SQRT2 = (float)d::SQRT2; +constexpr const float SQRT1_2 = (float)d::SQRT1_2; +constexpr const float TAU = (float)d::TAU; +constexpr const float DEG_TO_RAD = (float)d::DEG_TO_RAD; +constexpr const float RAD_TO_DEG = (float)d::RAD_TO_DEG; +} // namespace f + +template +inline constexpr T MATH_PURE min(T a, T b) noexcept { + return a < b ? a : b; +} + +template +inline constexpr T MATH_PURE max(T a, T b) noexcept { + return a > b ? a : b; +} + +template +inline constexpr T MATH_PURE clamp(T v, T min, T max) noexcept { + assert(min <= max); + return T(math::min(max, math::max(min, v))); +} + +template +inline constexpr T MATH_PURE saturate(T v) noexcept { + return clamp(v, T(0), T(1)); +} + +template +inline constexpr T MATH_PURE mix(T x, T y, T a) noexcept { + return x * (T(1) - a) + y * a; +} + +template +inline constexpr T MATH_PURE lerp(T x, T y, T a) noexcept { + return mix(x, y, a); +} + +template +inline constexpr T MATH_PURE smoothstep(T e0, T e1, T x) noexcept { + T t = clamp((x - e0) / (e1 - e0), T(0), T(1)); + return t * t * (T(3) - T(2) * t); +} + +template +inline constexpr T sign(T x) noexcept { + return x < T(0) ? T(-1) : T(1); +} + +} // namespace math +} // namespace filament + +#endif // TNT_MATH_SCALAR_H diff --git a/web/include/filament/math/vec2.h b/web/include/filament/math/vec2.h new file mode 100644 index 00000000..16c11858 --- /dev/null +++ b/web/include/filament/math/vec2.h @@ -0,0 +1,114 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_VEC2_H +#define TNT_MATH_VEC2_H + +#include +#include + +#include + +#include +#include +#include + +namespace filament { +namespace math { +// ------------------------------------------------------------------------------------- + +namespace details { + +template +class MATH_EMPTY_BASES TVec2 : + public TVecProductOperators, + public TVecAddOperators, + public TVecUnaryOperators, + public TVecComparisonOperators, + public TVecFunctions { +public: + typedef T value_type; + typedef T& reference; + typedef T const& const_reference; + typedef size_t size_type; + static constexpr size_t SIZE = 2; + + union { + T v[SIZE] MATH_CONSTEXPR_INIT; + struct { T x, y; }; + struct { T s, t; }; + struct { T r, g; }; + }; + + inline constexpr size_type size() const { return SIZE; } + + // array access + inline constexpr T const& operator[](size_t i) const noexcept { + assert(i < SIZE); + return v[i]; + } + + inline constexpr T& operator[](size_t i) noexcept { + assert(i < SIZE); + return v[i]; + } + + // constructors + + // default constructor + MATH_DEFAULT_CTOR_CONSTEXPR TVec2() MATH_DEFAULT_CTOR + + // handles implicit conversion to a tvec4. must not be explicit. + template> + constexpr TVec2(A v) noexcept : v{ T(v), T(v) } {} + + template> + constexpr TVec2(A x, B y) noexcept : v{ T(x), T(y) } {} + + template> + constexpr TVec2(const TVec2& v) noexcept : v{ T(v[0]), T(v[1]) } {} + + // cross product works only on vectors of size 2 or 3 + template + friend inline constexpr + arithmetic_result_t cross(const TVec2& u, const TVec2& v) noexcept { + return u[0] * v[1] - u[1] * v[0]; + } +}; + +} // namespace details + +// ---------------------------------------------------------------------------------------- + +template> +using vec2 = details::TVec2; + +using double2 = vec2; +using float2 = vec2; +using half2 = vec2; +using int2 = vec2; +using uint2 = vec2; +using short2 = vec2; +using ushort2 = vec2; +using byte2 = vec2; +using ubyte2 = vec2; +using bool2 = vec2; + +// ---------------------------------------------------------------------------------------- +} // namespace math +} // namespace filament + +#endif // TNT_MATH_VEC2_H diff --git a/web/include/filament/math/vec3.h b/web/include/filament/math/vec3.h new file mode 100644 index 00000000..fc856ede --- /dev/null +++ b/web/include/filament/math/vec3.h @@ -0,0 +1,133 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_VEC3_H +#define TNT_MATH_VEC3_H + +#include +#include + +#include +#include + +namespace filament { +namespace math { +// ------------------------------------------------------------------------------------- + +namespace details { + +template +class MATH_EMPTY_BASES TVec3 : + public TVecProductOperators, + public TVecAddOperators, + public TVecUnaryOperators, + public TVecComparisonOperators, + public TVecFunctions { +public: + typedef T value_type; + typedef T& reference; + typedef T const& const_reference; + typedef size_t size_type; + static constexpr size_t SIZE = 3; + + union { + T v[SIZE] MATH_CONSTEXPR_INIT; + TVec2 xy; + TVec2 st; + TVec2 rg; + struct { + union { + T x; + T s; + T r; + }; + union { + struct { T y, z; }; + struct { T t, p; }; + struct { T g, b; }; + TVec2 yz; + TVec2 tp; + TVec2 gb; + }; + }; + }; + + inline constexpr size_type size() const { return SIZE; } + + // array access + inline constexpr T const& operator[](size_t i) const noexcept { + assert(i < SIZE); + return v[i]; + } + + inline constexpr T& operator[](size_t i) noexcept { + assert(i < SIZE); + return v[i]; + } + + // constructors + + // default constructor + MATH_DEFAULT_CTOR_CONSTEXPR TVec3() noexcept MATH_DEFAULT_CTOR + + // handles implicit conversion to a tvec3. must not be explicit. + template> + constexpr TVec3(A v) noexcept : v{ T(v), T(v), T(v) } {} + + template> + constexpr TVec3(A x, B y, C z) noexcept : v{ T(x), T(y), T(z) } {} + + template> + constexpr TVec3(const TVec2& v, B z) noexcept : v{ T(v[0]), T(v[1]), T(z) } {} + + template> + constexpr TVec3(const TVec3& v) noexcept : v{ T(v[0]), T(v[1]), T(v[2]) } {} + + // cross product works only on vectors of size 3 + template + friend inline constexpr + TVec3> cross(const TVec3& u, const TVec3& v) noexcept { + return { + u[1] * v[2] - u[2] * v[1], + u[2] * v[0] - u[0] * v[2], + u[0] * v[1] - u[1] * v[0] }; + } +}; + +} // namespace details + +// ---------------------------------------------------------------------------------------- + +template> +using vec3 = details::TVec3; + +using double3 = vec3; +using float3 = vec3; +using half3 = vec3; +using int3 = vec3; +using uint3 = vec3; +using short3 = vec3; +using ushort3 = vec3; +using byte3 = vec3; +using ubyte3 = vec3; +using bool3 = vec3; + +// ---------------------------------------------------------------------------------------- +} // namespace math +} // namespace filament + +#endif // TNT_MATH_VEC3_H diff --git a/web/include/filament/math/vec4.h b/web/include/filament/math/vec4.h new file mode 100644 index 00000000..77877d5d --- /dev/null +++ b/web/include/filament/math/vec4.h @@ -0,0 +1,133 @@ +/* + * Copyright 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_MATH_VEC4_H +#define TNT_MATH_VEC4_H + +#include +#include + +#include +#include + + +namespace filament { +namespace math { +// ------------------------------------------------------------------------------------- + +namespace details { + +template +class MATH_EMPTY_BASES TVec4 : + public TVecProductOperators, + public TVecAddOperators, + public TVecUnaryOperators, + public TVecComparisonOperators, + public TVecFunctions { +public: + typedef T value_type; + typedef T& reference; + typedef T const& const_reference; + typedef size_t size_type; + static constexpr size_t SIZE = 4; + + union { + T v[SIZE] MATH_CONSTEXPR_INIT; + TVec2 xy, st, rg; + TVec3 xyz, stp, rgb; + struct { + union { T x, s, r; }; + union { + TVec2 yz, tp, gb; + TVec3 yzw, tpq, gba; + struct { + union { T y, t, g; }; + union { + TVec2 zw, pq, ba; + struct { T z, w; }; + struct { T p, q; }; + struct { T b, a; }; + }; + }; + }; + }; + }; + + inline constexpr size_type size() const { return SIZE; } + + // array access + inline constexpr T const& operator[](size_t i) const noexcept { + assert(i < SIZE); + return v[i]; + } + + inline constexpr T& operator[](size_t i) noexcept { + assert(i < SIZE); + return v[i]; + } + + // constructors + + // default constructor + MATH_DEFAULT_CTOR_CONSTEXPR TVec4() noexcept MATH_DEFAULT_CTOR + + // handles implicit conversion to a tvec4. must not be explicit. + template> + constexpr TVec4(A v) noexcept : v{ T(v), T(v), T(v), T(v) } {} + + template> + constexpr TVec4(A x, B y, C z, D w) noexcept : v{ T(x), T(y), T(z), T(w) } {} + + template> + constexpr TVec4(const TVec2& v, B z, C w) noexcept : v{ T(v[0]), T(v[1]), T(z), T(w) } {} + + template> + constexpr TVec4(const TVec2& v, const TVec2& w) noexcept : v{ + T(v[0]), T(v[1]), T(w[0]), T(w[1]) } {} + + template> + constexpr TVec4(const TVec3& v, B w) noexcept : v{ T(v[0]), T(v[1]), T(v[2]), T(w) } {} + + template> + constexpr TVec4(const TVec4& v) noexcept : v{ T(v[0]), T(v[1]), T(v[2]), T(v[3]) } {} +}; + +} // namespace details + +// ---------------------------------------------------------------------------------------- + +template> +using vec4 = details::TVec4; + +using double4 = vec4; +using float4 = vec4; +using half4 = vec4; +using int4 = vec4; +using uint4 = vec4; +using short4 = vec4; +using ushort4 = vec4; +using byte4 = vec4; +using ubyte4 = vec4; +using bool4 = vec4; + + +// ---------------------------------------------------------------------------------------- +} // namespace math +} // namespace filament + +#endif // TNT_MATH_VEC4_H diff --git a/web/include/filament/mathio/ostream.h b/web/include/filament/mathio/ostream.h new file mode 100644 index 00000000..5628e7c8 --- /dev/null +++ b/web/include/filament/mathio/ostream.h @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#if __has_attribute(visibility) +# define MATHIO_PUBLIC __attribute__((visibility("default"))) +#else +# define MATHIO_PUBLIC +#endif + +namespace filament::math::details { + +template class TQuaternion; + +template +MATHIO_PUBLIC +std::ostream& operator<<(std::ostream& out, const TVec2& v) noexcept; + +template +MATHIO_PUBLIC +std::ostream& operator<<(std::ostream& out, const TVec3& v) noexcept; + +template +MATHIO_PUBLIC +std::ostream& operator<<(std::ostream& out, const TVec4& v) noexcept; + +template +MATHIO_PUBLIC +std::ostream& operator<<(std::ostream& out, const TMat22& v) noexcept; + +template +MATHIO_PUBLIC +std::ostream& operator<<(std::ostream& out, const TMat33& v) noexcept; + +template +MATHIO_PUBLIC +std::ostream& operator<<(std::ostream& out, const TMat44& v) noexcept; + +template +MATHIO_PUBLIC +std::ostream& operator<<(std::ostream& out, const TQuaternion& v) noexcept; + +} // namespace filament::math::details diff --git a/web/include/filament/mikktspace/mikktspace.h b/web/include/filament/mikktspace/mikktspace.h new file mode 100644 index 00000000..52c44a71 --- /dev/null +++ b/web/include/filament/mikktspace/mikktspace.h @@ -0,0 +1,145 @@ +/** \file mikktspace/mikktspace.h + * \ingroup mikktspace + */ +/** + * Copyright (C) 2011 by Morten S. Mikkelsen + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +#ifndef __MIKKTSPACE_H__ +#define __MIKKTSPACE_H__ + + +#ifdef __cplusplus +extern "C" { +#endif + +/* Author: Morten S. Mikkelsen + * Version: 1.0 + * + * The files mikktspace.h and mikktspace.c are designed to be + * stand-alone files and it is important that they are kept this way. + * Not having dependencies on structures/classes/libraries specific + * to the program, in which they are used, allows them to be copied + * and used as is into any tool, program or plugin. + * The code is designed to consistently generate the same + * tangent spaces, for a given mesh, in any tool in which it is used. + * This is done by performing an internal welding step and subsequently an order-independent evaluation + * of tangent space for meshes consisting of triangles and quads. + * This means faces can be received in any order and the same is true for + * the order of vertices of each face. The generated result will not be affected + * by such reordering. Additionally, whether degenerate (vertices or texture coordinates) + * primitives are present or not will not affect the generated results either. + * Once tangent space calculation is done the vertices of degenerate primitives will simply + * inherit tangent space from neighboring non degenerate primitives. + * The analysis behind this implementation can be found in my master's thesis + * which is available for download --> http://image.diku.dk/projects/media/morten.mikkelsen.08.pdf + * Note that though the tangent spaces at the vertices are generated in an order-independent way, + * by this implementation, the interpolated tangent space is still affected by which diagonal is + * chosen to split each quad. A sensible solution is to have your tools pipeline always + * split quads by the shortest diagonal. This choice is order-independent and works with mirroring. + * If these have the same length then compare the diagonals defined by the texture coordinates. + * XNormal which is a tool for baking normal maps allows you to write your own tangent space plugin + * and also quad triangulator plugin. + */ + + +typedef int tbool; +typedef struct SMikkTSpaceContext SMikkTSpaceContext; + +typedef struct { + // Returns the number of faces (triangles/quads) on the mesh to be processed. + int (*m_getNumFaces)(const SMikkTSpaceContext * pContext); + + // Returns the number of vertices on face number iFace + // iFace is a number in the range {0, 1, ..., getNumFaces()-1} + int (*m_getNumVerticesOfFace)(const SMikkTSpaceContext * pContext, const int iFace); + + // returns the position/normal/texcoord of the referenced face of vertex number iVert. + // iVert is in the range {0,1,2} for triangles and {0,1,2,3} for quads. + void (*m_getPosition)(const SMikkTSpaceContext * pContext, float fvPosOut[], const int iFace, const int iVert); + void (*m_getNormal)(const SMikkTSpaceContext * pContext, float fvNormOut[], const int iFace, const int iVert); + void (*m_getTexCoord)(const SMikkTSpaceContext * pContext, float fvTexcOut[], const int iFace, const int iVert); + + // either (or both) of the two setTSpace callbacks can be set. + // The call-back m_setTSpaceBasic() is sufficient for basic normal mapping. + + // This function is used to return the tangent and fSign to the application. + // fvTangent is a unit length vector. + // For normal maps it is sufficient to use the following simplified version of the bitangent which is generated at pixel/vertex level. + // bitangent = fSign * cross(vN, tangent); + // Note that the results are returned unindexed. It is possible to generate a new index list + // But averaging/overwriting tangent spaces by using an already existing index list WILL produce INCRORRECT results. + // DO NOT! use an already existing index list. + void (*m_setTSpaceBasic)(const SMikkTSpaceContext * pContext, const float fvTangent[], const float fSign, const int iFace, const int iVert); + + // This function is used to return tangent space results to the application. + // fvTangent and fvBiTangent are unit length vectors and fMagS and fMagT are their + // true magnitudes which can be used for relief mapping effects. + // fvBiTangent is the "real" bitangent and thus may not be perpendicular to fvTangent. + // However, both are perpendicular to the vertex normal. + // For normal maps it is sufficient to use the following simplified version of the bitangent which is generated at pixel/vertex level. + // fSign = bIsOrientationPreserving ? 1.0f : (-1.0f); + // bitangent = fSign * cross(vN, tangent); + // Note that the results are returned unindexed. It is possible to generate a new index list + // But averaging/overwriting tangent spaces by using an already existing index list WILL produce INCRORRECT results. + // DO NOT! use an already existing index list. + void (*m_setTSpace)(const SMikkTSpaceContext * pContext, const float fvTangent[], const float fvBiTangent[], const float fMagS, const float fMagT, + const tbool bIsOrientationPreserving, const int iFace, const int iVert); +} SMikkTSpaceInterface; + +struct SMikkTSpaceContext +{ + SMikkTSpaceInterface * m_pInterface; // initialized with callback functions + void * m_pUserData; // pointer to client side mesh data etc. (passed as the first parameter with every interface call) +}; + +// these are both thread safe! +tbool genTangSpaceDefault(const SMikkTSpaceContext * pContext); // Default (recommended) fAngularThreshold is 180 degrees (which means threshold disabled) +tbool genTangSpace(const SMikkTSpaceContext * pContext, const float fAngularThreshold); + + +// To avoid visual errors (distortions/unwanted hard edges in lighting), when using sampled normal maps, the +// normal map sampler must use the exact inverse of the pixel shader transformation. +// The most efficient transformation we can possibly do in the pixel shader is +// achieved by using, directly, the "unnormalized" interpolated tangent, bitangent and vertex normal: vT, vB and vN. +// pixel shader (fast transform out) +// vNout = normalize( vNt.x * vT + vNt.y * vB + vNt.z * vN ); +// where vNt is the tangent space normal. The normal map sampler must likewise use the +// interpolated and "unnormalized" tangent, bitangent and vertex normal to be compliant with the pixel shader. +// sampler does (exact inverse of pixel shader): +// float3 row0 = cross(vB, vN); +// float3 row1 = cross(vN, vT); +// float3 row2 = cross(vT, vB); +// float fSign = dot(vT, row0)<0 ? -1 : 1; +// vNt = normalize( fSign * float3(dot(vNout,row0), dot(vNout,row1), dot(vNout,row2)) ); +// where vNout is the sampled normal in some chosen 3D space. +// +// Should you choose to reconstruct the bitangent in the pixel shader instead +// of the vertex shader, as explained earlier, then be sure to do this in the normal map sampler also. +// Finally, beware of quad triangulations. If the normal map sampler doesn't use the same triangulation of +// quads as your renderer then problems will occur since the interpolated tangent spaces will differ +// eventhough the vertex level tangent spaces match. This can be solved either by triangulating before +// sampling/exporting or by using the order-independent choice of diagonal for splitting quads suggested earlier. +// However, this must be used both by the sampler and your tools/rendering pipeline. + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/web/include/filament/tsl/robin_growth_policy.h b/web/include/filament/tsl/robin_growth_policy.h new file mode 100644 index 00000000..daf6bf56 --- /dev/null +++ b/web/include/filament/tsl/robin_growth_policy.h @@ -0,0 +1,290 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_GROWTH_POLICY_H +#define TSL_ROBIN_GROWTH_POLICY_H + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __EXCEPTIONS +# define THROW(_e, _m) throw _e(_m) +#else +# include +# ifndef NDEBUG +# define THROW(_e, _m) do { fprintf(stderr, _m); std::terminate(); } while(0) +# else +# define THROW(_e, _m) std::terminate() +# endif +#endif + +#ifndef __has_builtin +#define __has_builtin(x) 0 +#endif + +#if __has_builtin(__builtin_expect) +# define TSL_LIKELY( exp ) (__builtin_expect( !!(exp), true )) +#else +# define TSL_LIKELY( exp ) (exp) +#endif + +namespace tsl { +namespace rh { + +/** + * Grow the hash table by a factor of GrowthFactor keeping the bucket count to a power of two. It allows + * the table to use a mask operation instead of a modulo operation to map a hash to a bucket. + * + * GrowthFactor must be a power of two >= 2. + */ +template +class power_of_two_growth_policy { +public: + /** + * Called on the hash table creation and on rehash. The number of buckets for the table is passed in parameter. + * This number is a minimum, the policy may update this value with a higher value if needed (but not lower). + */ + power_of_two_growth_policy(std::size_t& min_bucket_count_in_out) { + if(min_bucket_count_in_out > max_bucket_count()) { + THROW(std::length_error, "The hash table exceeds its maxmimum size."); + } + + static_assert(MIN_BUCKETS_SIZE > 0, "MIN_BUCKETS_SIZE must be > 0."); + const std::size_t min_bucket_count = MIN_BUCKETS_SIZE; + + min_bucket_count_in_out = std::max(min_bucket_count, min_bucket_count_in_out); + min_bucket_count_in_out = round_up_to_power_of_two(min_bucket_count_in_out); + m_mask = min_bucket_count_in_out - 1; + } + + /** + * Return the bucket [0, bucket_count()) to which the hash belongs. + */ + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return hash & m_mask; + } + + /** + * Return the bucket count to use when the bucket array grows on rehash. + */ + std::size_t next_bucket_count() const { + if((m_mask + 1) > max_bucket_count() / GrowthFactor) { + THROW(std::length_error, "The hash table exceeds its maxmimum size."); + } + + return (m_mask + 1) * GrowthFactor; + } + + /** + * Return the maximum number of buckets supported by the policy. + */ + std::size_t max_bucket_count() const { + // Largest power of two. + return (std::numeric_limits::max() / 2) + 1; + } + +private: + static std::size_t round_up_to_power_of_two(std::size_t value) { + if(is_power_of_two(value)) { + return value; + } + + if(value == 0) { + return 1; + } + + --value; + for(std::size_t i = 1; i < sizeof(std::size_t) * CHAR_BIT; i *= 2) { + value |= value >> i; + } + + return value + 1; + } + + static constexpr bool is_power_of_two(std::size_t value) { + return value != 0 && (value & (value - 1)) == 0; + } + +protected: + static const std::size_t MIN_BUCKETS_SIZE = 2; + static_assert(is_power_of_two(GrowthFactor) && GrowthFactor >= 2, "GrowthFactor must be a power of two >= 2."); + + std::size_t m_mask; +}; + + +/** + * Grow the hash table by GrowthFactor::num / GrowthFactor::den and use a modulo to map a hash + * to a bucket. Slower but it can be usefull if you want a slower growth. + */ +template> +class mod_growth_policy { +public: + mod_growth_policy(std::size_t& min_bucket_count_in_out) { + if(min_bucket_count_in_out > max_bucket_count()) { + THROW(std::length_error, "The hash table exceeds its maxmimum size."); + } + + static_assert(MIN_BUCKETS_SIZE > 0, "MIN_BUCKETS_SIZE must be > 0."); + const std::size_t min_bucket_count = MIN_BUCKETS_SIZE; + + min_bucket_count_in_out = std::max(min_bucket_count, min_bucket_count_in_out); + m_bucket_count = min_bucket_count_in_out; + } + + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return hash % m_bucket_count; + } + + std::size_t next_bucket_count() const { + if(m_bucket_count == max_bucket_count()) { + THROW(std::length_error, "The hash table exceeds its maxmimum size."); + } + + const double next_bucket_count = std::ceil(double(m_bucket_count) * REHASH_SIZE_MULTIPLICATION_FACTOR); + if(!std::isnormal(next_bucket_count)) { + THROW(std::length_error, "The hash table exceeds its maxmimum size."); + } + + if(next_bucket_count > double(max_bucket_count())) { + return max_bucket_count(); + } + else { + return std::size_t(next_bucket_count); + } + } + + std::size_t max_bucket_count() const { + return MAX_BUCKET_COUNT; + } + +private: + static const std::size_t MIN_BUCKETS_SIZE = 2; + static constexpr double REHASH_SIZE_MULTIPLICATION_FACTOR = 1.0 * GrowthFactor::num / GrowthFactor::den; + static const std::size_t MAX_BUCKET_COUNT = + std::size_t(double( + std::numeric_limits::max() / REHASH_SIZE_MULTIPLICATION_FACTOR + )); + + static_assert(REHASH_SIZE_MULTIPLICATION_FACTOR >= 1.1, "Growth factor should be >= 1.1."); + + std::size_t m_bucket_count; +}; + + + +namespace detail { + +static constexpr const std::array PRIMES = {{ + 5ul, 17ul, 29ul, 37ul, 53ul, 67ul, 79ul, 97ul, 131ul, 193ul, 257ul, 389ul, 521ul, 769ul, 1031ul, 1543ul, 2053ul, + 3079ul, 6151ul, 12289ul, 24593ul, 49157ul, 98317ul, 196613ul, 393241ul, 786433ul, 1572869ul, 3145739ul, + 6291469ul, 12582917ul, 25165843ul, 50331653ul, 100663319ul, 201326611ul, 402653189ul, 805306457ul, + 1610612741ul, 3221225473ul, 4294967291ul +}}; + +template +static constexpr std::size_t mod(std::size_t hash) { return hash % PRIMES[IPrime]; } + +// MOD_PRIME[iprime](hash) returns hash % PRIMES[iprime]. This table allows for faster modulo as the +// compiler can optimize the modulo code better with a constant known at the compilation. +static constexpr const std::array MOD_PRIME = {{ + &mod<0>, &mod<1>, &mod<2>, &mod<3>, &mod<4>, &mod<5>, &mod<6>, &mod<7>, &mod<8>, &mod<9>, &mod<10>, + &mod<11>, &mod<12>, &mod<13>, &mod<14>, &mod<15>, &mod<16>, &mod<17>, &mod<18>, &mod<19>, &mod<20>, + &mod<21>, &mod<22>, &mod<23>, &mod<24>, &mod<25>, &mod<26>, &mod<27>, &mod<28>, &mod<29>, &mod<30>, + &mod<31>, &mod<32>, &mod<33>, &mod<34>, &mod<35>, &mod<36>, &mod<37> , &mod<38> +}}; + +} + +/** + * Grow the hash table by using prime numbers as bucket count. Slower than tsl::rh::power_of_two_growth_policy in + * general but will probably distribute the values around better in the buckets with a poor hash function. + * + * To allow the compiler to optimize the modulo operation, a lookup table is used with constant primes numbers. + * + * With a switch the code would look like: + * \code + * switch(iprime) { // iprime is the current prime of the hash table + * case 0: hash % 5ul; + * break; + * case 1: hash % 17ul; + * break; + * case 2: hash % 29ul; + * break; + * ... + * } + * \endcode + * + * Due to the constant variable in the modulo the compiler is able to optimize the operation + * by a series of multiplications, substractions and shifts. + * + * The 'hash % 5' could become something like 'hash - (hash * 0xCCCCCCCD) >> 34) * 5' in a 64 bits environement. + */ +class prime_growth_policy { +public: + prime_growth_policy(std::size_t& min_bucket_count_in_out) { + auto it_prime = std::lower_bound(detail::PRIMES.begin(), + detail::PRIMES.end(), min_bucket_count_in_out); + if(it_prime == detail::PRIMES.end()) { + THROW(std::length_error, "The hash table exceeds its maxmimum size."); + } + + m_iprime = static_cast(std::distance(detail::PRIMES.begin(), it_prime)); + min_bucket_count_in_out = *it_prime; + } + + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return detail::MOD_PRIME[m_iprime](hash); + } + + std::size_t next_bucket_count() const { + if(m_iprime + 1 >= detail::PRIMES.size()) { + THROW(std::length_error, "The hash table exceeds its maxmimum size."); + } + + return detail::PRIMES[m_iprime + 1]; + } + + std::size_t max_bucket_count() const { + return detail::PRIMES.back(); + } + +private: + unsigned int m_iprime; + + static_assert(std::numeric_limits::max() >= detail::PRIMES.size(), + "The type of m_iprime is not big enough."); +}; + +} +} + +#endif diff --git a/web/include/filament/tsl/robin_hash.h b/web/include/filament/tsl/robin_hash.h new file mode 100644 index 00000000..0f94a07a --- /dev/null +++ b/web/include/filament/tsl/robin_hash.h @@ -0,0 +1,1252 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_HASH_H +#define TSL_ROBIN_HASH_H + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "robin_growth_policy.h" + + + +#ifndef tsl_assert + #ifdef TSL_DEBUG + #define tsl_assert(expr) assert(expr) + #else + #define tsl_assert(expr) (static_cast(0)) + #endif +#endif + + + +namespace tsl { + +namespace detail_robin_hash { + +template +struct make_void { + using type = void; +}; + +template +struct has_is_transparent: std::false_type { +}; + +template +struct has_is_transparent::type>: std::true_type { +}; + +template +struct is_power_of_two_policy: std::false_type { +}; + +template +struct is_power_of_two_policy>: std::true_type { +}; + + + +using truncated_hash_type = std::uint_least32_t; + +/** + * Helper class that store a truncated hash if StoreHash is true and nothing otherwise. + */ +template +class bucket_entry_hash { +public: + bool bucket_hash_equal(std::size_t /*hash*/) const noexcept { + return true; + } + + truncated_hash_type truncated_hash() const noexcept { + return 0; + } + +protected: + void set_hash(truncated_hash_type /*hash*/) noexcept { + } +}; + +template<> +class bucket_entry_hash { +public: + bool bucket_hash_equal(std::size_t hash) const noexcept { + return m_hash == truncated_hash_type(hash); + } + + truncated_hash_type truncated_hash() const noexcept { + return m_hash; + } + +protected: + void set_hash(truncated_hash_type hash) noexcept { + m_hash = truncated_hash_type(hash); + } + +private: + truncated_hash_type m_hash; +}; + + +/** + * Each bucket entry has: + * - A value of type `ValueType`. + * - An integer to store how far the value of the bucket, if any, is from its ideal bucket + * (ex: if the current bucket 5 has the value 'foo' and `hash('foo') % nb_buckets` == 3, + * `dist_from_ideal_bucket()` will return 2 as the current value of the bucket is two + * buckets away from its ideal bucket) + * If there is no value in the bucket (i.e. `empty()` is true) `dist_from_ideal_bucket()` will be < 0. + * - A marker which tells us if the bucket is the last bucket of the bucket array (useful for the + * iterator of the hash table). + * - If `StoreHash` is true, 32 bits of the hash of the value, if any, are also stored in the bucket. + * If the size of the hash is more than 32 bits, it is truncated. We don't store the full hash + * as storing the hash is a potential opportunity to use the unused space due to the alignement + * of the bucket_entry structure. We can thus potentially store the hash without any extra space + * (which would not be possible with 64 bits of the hash). + */ +template +class bucket_entry: public bucket_entry_hash { + using bucket_hash = bucket_entry_hash; + +public: + using value_type = ValueType; + using distance_type = std::int_least16_t; + + + bucket_entry() noexcept: bucket_hash(), m_dist_from_ideal_bucket(EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET), + m_last_bucket(false) + { + tsl_assert(empty()); + } + + bucket_entry(const bucket_entry& other) noexcept(std::is_nothrow_copy_constructible::value): + bucket_hash(other), + m_dist_from_ideal_bucket(EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET), + m_last_bucket(other.m_last_bucket) + { + if(!other.empty()) { + ::new (static_cast(std::addressof(m_value))) value_type(other.value()); + m_dist_from_ideal_bucket = other.m_dist_from_ideal_bucket; + } + } + + /** + * Never really used, but still necessary as we must call resize on an empty `std::vector`. + * and we need to support move-only types. See robin_hash constructor for details. + */ + bucket_entry(bucket_entry&& other) noexcept(std::is_nothrow_move_constructible::value): + bucket_hash(std::move(other)), + m_dist_from_ideal_bucket(EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET), + m_last_bucket(other.m_last_bucket) + { + if(!other.empty()) { + ::new (static_cast(std::addressof(m_value))) value_type(std::move(other.value())); + m_dist_from_ideal_bucket = other.m_dist_from_ideal_bucket; + } + } + + bucket_entry& operator=(const bucket_entry& other) + noexcept(std::is_nothrow_copy_constructible::value) + { + if(this != &other) { + clear(); + + bucket_hash::operator=(other); + if(!other.empty()) { + ::new (static_cast(std::addressof(m_value))) value_type(other.value()); + } + + m_dist_from_ideal_bucket = other.m_dist_from_ideal_bucket; + m_last_bucket = other.m_last_bucket; + } + + return *this; + } + + bucket_entry& operator=(bucket_entry&& ) = delete; + + ~bucket_entry() noexcept { + clear(); + } + + void clear() noexcept { + if(!empty()) { + destroy_value(); + m_dist_from_ideal_bucket = EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET; + } + } + + bool empty() const noexcept { + return m_dist_from_ideal_bucket == EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET; + } + + value_type& value() noexcept { + tsl_assert(!empty()); + return *reinterpret_cast(std::addressof(m_value)); + } + + const value_type& value() const noexcept { + tsl_assert(!empty()); + return *reinterpret_cast(std::addressof(m_value)); + } + + distance_type dist_from_ideal_bucket() const noexcept { + return m_dist_from_ideal_bucket; + } + + bool last_bucket() const noexcept { + return m_last_bucket; + } + + void set_as_last_bucket() noexcept { + m_last_bucket = true; + } + + template + void set_value_of_empty_bucket(distance_type dist_from_ideal_bucket, + truncated_hash_type hash, Args&&... value_type_args) + { + tsl_assert(dist_from_ideal_bucket >= 0); + tsl_assert(empty()); + + ::new (static_cast(std::addressof(m_value))) value_type(std::forward(value_type_args)...); + this->set_hash(hash); + m_dist_from_ideal_bucket = dist_from_ideal_bucket; + + tsl_assert(!empty()); + } + + void swap_with_value_in_bucket(distance_type& dist_from_ideal_bucket, + truncated_hash_type& hash, value_type& value) + { + tsl_assert(!empty()); + + using std::swap; + swap(value, this->value()); + swap(dist_from_ideal_bucket, m_dist_from_ideal_bucket); + + // Avoid warning of unused variable if StoreHash is false + (void) hash; + if(StoreHash) { + const truncated_hash_type tmp_hash = this->truncated_hash(); + this->set_hash(hash); + hash = tmp_hash; + } + } + + static truncated_hash_type truncate_hash(std::size_t hash) noexcept { + return truncated_hash_type(hash); + } + +private: + void destroy_value() noexcept { + tsl_assert(!empty()); + value().~value_type(); + } + +private: + using storage = typename std::aligned_storage::type; + + static const distance_type EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET = -1; + + distance_type m_dist_from_ideal_bucket; + bool m_last_bucket; + storage m_value; +}; + + + +/** + * Internal common class used by `robin_map` and `robin_set`. + * + * ValueType is what will be stored by `robin_hash` (usually `std::pair` for map and `Key` for set). + * + * `KeySelect` should be a `FunctionObject` which takes a `ValueType` in parameter and returns a + * reference to the key. + * + * `ValueSelect` should be a `FunctionObject` which takes a `ValueType` in parameter and returns a + * reference to the value. `ValueSelect` should be void if there is no value (in a set for example). + * + * The strong exception guarantee only holds if the expression + * `std::is_nothrow_swappable::value && std::is_nothrow_move_constructible::value` is true. + * + * Behaviour is undefined if the destructor of `ValueType` throws. + */ +template +class robin_hash: private Hash, private KeyEqual, private GrowthPolicy { +private: + template + using has_mapped_type = typename std::integral_constant::value>; + + +public: + template + class robin_iterator; + + using key_type = typename KeySelect::key_type; + using value_type = ValueType; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + using hasher = Hash; + using key_equal = KeyEqual; + using allocator_type = Allocator; + using reference = value_type&; + using const_reference = const value_type&; + using pointer = value_type*; + using const_pointer = const value_type*; + using iterator = robin_iterator; + using const_iterator = robin_iterator; + + +private: + /** + * Either store the hash because we are asked by the `StoreHash` template parameter + * or store the hash because it doesn't cost us anything in size and can be used to speed up rehash. + */ + static constexpr bool STORE_HASH = StoreHash || + ( + (sizeof(tsl::detail_robin_hash::bucket_entry) == + sizeof(tsl::detail_robin_hash::bucket_entry)) + && + (sizeof(std::size_t) == sizeof(truncated_hash_type) || + is_power_of_two_policy::value) + && + // Don't store the hash for primitive types with default hash. + (!std::is_arithmetic::value || + !std::is_same>::value) + ); + + /** + * Only use the stored hash on lookup if we are explictly asked. We are not sure how slow + * the KeyEqual operation is. An extra comparison may slow things down with a fast KeyEqual. + */ + static constexpr bool USE_STORED_HASH_ON_LOOKUP = StoreHash; + + /** + * We can only use the hash on rehash if the size of the hash type is the same as the stored one or + * if we use a power of two modulo. In the case of the power of two modulo, we just mask + * the least significant bytes, we just have to check that the truncated_hash_type didn't truncated + * more bytes. + */ + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wunknown-warning-option" +#pragma clang diagnostic ignored "-Wtautological-constant-compare" +#endif + + static bool USE_STORED_HASH_ON_REHASH(size_type bucket_count) { + (void) bucket_count; + if(STORE_HASH && sizeof(std::size_t) == sizeof(truncated_hash_type)) { + return true; + } + else if(STORE_HASH && is_power_of_two_policy::value) { + tsl_assert(bucket_count > 0); + return (bucket_count - 1) <= std::numeric_limits::max(); + } + else { + return false; + } + } + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + + using bucket_entry = tsl::detail_robin_hash::bucket_entry; + using distance_type = typename bucket_entry::distance_type; + + using buckets_allocator = typename std::allocator_traits::template rebind_alloc; + using buckets_container_type = std::vector; + + +public: + /** + * The 'operator*()' and 'operator->()' methods return a const reference and const pointer respectively to the + * stored value type. + * + * In case of a map, to get a mutable reference to the value associated to a key (the '.second' in the + * stored pair), you have to call 'value()'. + * + * The main reason for this is that if we returned a `std::pair&` instead + * of a `const std::pair&`, the user may modify the key which will put the map in a undefined state. + */ + template + class robin_iterator { + friend class robin_hash; + + private: + using iterator_bucket = typename std::conditional::type; + + + robin_iterator(iterator_bucket it) noexcept: m_iterator(it) { + } + + public: + using iterator_category = std::forward_iterator_tag; + using value_type = const typename robin_hash::value_type; + using difference_type = std::ptrdiff_t; + using reference = value_type&; + using pointer = value_type*; + + + robin_iterator() noexcept { + } + + robin_iterator(const robin_iterator& other) noexcept: m_iterator(other.m_iterator) { + } + + const typename robin_hash::key_type& key() const { + return KeySelect()(m_iterator->value()); + } + + template::value && IsConst>::type* = nullptr> + const typename U::value_type& value() const { + return U()(m_iterator->value()); + } + + template::value && !IsConst>::type* = nullptr> + typename U::value_type& value() { + return U()(m_iterator->value()); + } + + reference operator*() const { + return m_iterator->value(); + } + + pointer operator->() const { + return std::addressof(m_iterator->value()); + } + + robin_iterator& operator++() { + while(true) { + if(m_iterator->last_bucket()) { + ++m_iterator; + return *this; + } + + ++m_iterator; + if(!m_iterator->empty()) { + return *this; + } + } + } + + robin_iterator operator++(int) { + robin_iterator tmp(*this); + ++*this; + + return tmp; + } + + friend bool operator==(const robin_iterator& lhs, const robin_iterator& rhs) { + return lhs.m_iterator == rhs.m_iterator; + } + + friend bool operator!=(const robin_iterator& lhs, const robin_iterator& rhs) { + return !(lhs == rhs); + } + + private: + iterator_bucket m_iterator; + }; + + +public: + robin_hash(size_type bucket_count, + const Hash& hash, + const KeyEqual& equal, + const Allocator& alloc, + float max_load_factor): Hash(hash), KeyEqual(equal), + // We need a non-zero bucket_count + GrowthPolicy(bucket_count == 0?++bucket_count:bucket_count), + m_buckets(alloc), + m_bucket_count(bucket_count), + m_nb_elements(0), + m_grow_on_next_insert(false) + { + if(bucket_count > max_bucket_count()) { + THROW(std::length_error, "The map exceeds its maxmimum size."); + } + + /* + * We can't use the `vector(size_type count, const Allocator& alloc)` constructor + * as it's only available in C++14 and we need to support C++11. We thus must resize after using + * the `vector(const Allocator& alloc)` constructor. + * + * We can't use `vector(size_type count, const T& value, const Allocator& alloc)` as it requires the + * value T to be copyable. + */ + m_buckets.resize(m_bucket_count); + + tsl_assert(!m_buckets.empty()); + m_buckets.back().set_as_last_bucket(); + + + this->max_load_factor(max_load_factor); + } + + robin_hash(const robin_hash& other) = default; + + robin_hash(robin_hash&& other) noexcept(std::is_nothrow_move_constructible::value && + std::is_nothrow_move_constructible::value && + std::is_nothrow_move_constructible::value && + std::is_nothrow_move_constructible::value) + : Hash(std::move(static_cast(other))), + KeyEqual(std::move(static_cast(other))), + GrowthPolicy(std::move(static_cast(other))), + m_buckets(std::move(other.m_buckets)), + m_bucket_count(other.m_bucket_count), + m_nb_elements(other.m_nb_elements), + m_load_threshold(other.m_load_threshold), + m_max_load_factor(other.m_max_load_factor), + m_grow_on_next_insert(other.m_grow_on_next_insert) + { + other.clear(); + } + + robin_hash& operator=(const robin_hash& other) = default; + + robin_hash& operator=(robin_hash&& other) { + other.swap(*this); + other.clear(); + + return *this; + } + + allocator_type get_allocator() const { + return m_buckets.get_allocator(); + } + + + /* + * Iterators + */ + iterator begin() noexcept { + auto begin = m_buckets.begin(); + while(begin != m_buckets.end() && begin->empty()) { + ++begin; + } + + return iterator(begin); + } + + const_iterator begin() const noexcept { + return cbegin(); + } + + const_iterator cbegin() const noexcept { + auto begin = m_buckets.cbegin(); + while(begin != m_buckets.cend() && begin->empty()) { + ++begin; + } + + return const_iterator(begin); + } + + iterator end() noexcept { + return iterator(m_buckets.end()); + } + + const_iterator end() const noexcept { + return cend(); + } + + const_iterator cend() const noexcept { + return const_iterator(m_buckets.cend()); + } + + + /* + * Capacity + */ + bool empty() const noexcept { + return m_nb_elements == 0; + } + + size_type size() const noexcept { + return m_nb_elements; + } + + size_type max_size() const noexcept { + return m_buckets.max_size(); + } + + /* + * Modifiers + */ + void clear() noexcept { + for(auto& bucket: m_buckets) { + bucket.clear(); + } + + m_nb_elements = 0; + m_grow_on_next_insert = false; + } + + + + template + std::pair insert(P&& value) { + return insert_impl(KeySelect()(value), std::forward

(value)); + } + + template + iterator insert(const_iterator hint, P&& value) { + if(hint != cend() && compare_keys(KeySelect()(*hint), KeySelect()(value))) { + return mutable_iterator(hint); + } + + return insert(std::forward

(value)).first; + } + + template + void insert(InputIt first, InputIt last) { + if(std::is_base_of::iterator_category>::value) + { + const auto nb_elements_insert = std::distance(first, last); + const size_type nb_free_buckets = m_load_threshold - size(); + tsl_assert(m_load_threshold >= size()); + + if(nb_elements_insert > 0 && nb_free_buckets < size_type(nb_elements_insert)) { + reserve(size() + size_type(nb_elements_insert)); + } + } + + for(; first != last; ++first) { + insert(*first); + } + } + + + + template + std::pair insert_or_assign(K&& key, M&& obj) { + auto it = try_emplace(std::forward(key), std::forward(obj)); + if(!it.second) { + it.first.value() = std::forward(obj); + } + + return it; + } + + template + iterator insert_or_assign(const_iterator hint, K&& key, M&& obj) { + if(hint != cend() && compare_keys(KeySelect()(*hint), key)) { + auto it = mutable_iterator(hint); + it.value() = std::forward(obj); + + return it; + } + + return insert_or_assign(std::forward(key), std::forward(obj)).first; + } + + + template + std::pair emplace(Args&&... args) { + return insert(value_type(std::forward(args)...)); + } + + template + iterator emplace_hint(const_iterator hint, Args&&... args) { + return insert(hint, value_type(std::forward(args)...)); + } + + + + template + std::pair try_emplace(K&& key, Args&&... args) { + return insert_impl(key, std::piecewise_construct, + std::forward_as_tuple(std::forward(key)), + std::forward_as_tuple(std::forward(args)...)); + } + + template + iterator try_emplace(const_iterator hint, K&& key, Args&&... args) { + if(hint != cend() && compare_keys(KeySelect()(*hint), key)) { + return mutable_iterator(hint); + } + + return try_emplace(std::forward(key), std::forward(args)...).first; + } + + /** + * Here to avoid `template size_type erase(const K& key)` being used when + * we use a iterator instead of a const_iterator. + */ + iterator erase(iterator pos) { + erase_from_bucket(pos); + + /** + * Erase bucket used a backward shift after clearing the bucket. + * Check if there is a new value in the bucket, if not get the next non-empty. + */ + if(pos.m_iterator->empty()) { + ++pos; + } + + return pos; + } + + iterator erase(const_iterator pos) { + return erase(mutable_iterator(pos)); + } + + iterator erase(const_iterator first, const_iterator last) { + if(first == last) { + return mutable_iterator(first); + } + + auto first_mutable = mutable_iterator(first); + auto last_mutable = mutable_iterator(last); + for(auto it = first_mutable.m_iterator; it != last_mutable.m_iterator; ++it) { + if(!it->empty()) { + it->clear(); + m_nb_elements--; + } + } + + if(last_mutable == end()) { + return end(); + } + + + /* + * Backward shift on the values which come after the deleted values. + * We try to move the values closer to their ideal bucket. + */ + std::size_t icloser_bucket = std::size_t(std::distance(m_buckets.begin(), first_mutable.m_iterator)); + std::size_t ito_move_closer_value = std::size_t(std::distance(m_buckets.begin(), last_mutable.m_iterator)); + tsl_assert(ito_move_closer_value > icloser_bucket); + + const std::size_t ireturn_bucket = ito_move_closer_value - + std::min(ito_move_closer_value - icloser_bucket, + std::size_t(m_buckets[ito_move_closer_value].dist_from_ideal_bucket())); + + while(ito_move_closer_value < m_buckets.size() && m_buckets[ito_move_closer_value].dist_from_ideal_bucket() > 0) { + icloser_bucket = ito_move_closer_value - + std::min(ito_move_closer_value - icloser_bucket, + std::size_t(m_buckets[ito_move_closer_value].dist_from_ideal_bucket())); + + + tsl_assert(m_buckets[icloser_bucket].empty()); + const distance_type new_distance = distance_type(m_buckets[ito_move_closer_value].dist_from_ideal_bucket() - + (ito_move_closer_value - icloser_bucket)); + m_buckets[icloser_bucket].set_value_of_empty_bucket(new_distance, + m_buckets[ito_move_closer_value].truncated_hash(), + std::move(m_buckets[ito_move_closer_value].value())); + m_buckets[ito_move_closer_value].clear(); + + + ++icloser_bucket; + ++ito_move_closer_value; + } + + + return iterator(m_buckets.begin() + ireturn_bucket); + } + + + template + size_type erase(const K& key) { + return erase(key, hash_key(key)); + } + + template + size_type erase(const K& key, std::size_t hash) { + auto it = find(key, hash); + if(it != end()) { + erase_from_bucket(it); + + return 1; + } + else { + return 0; + } + } + + + + + + void swap(robin_hash& other) { + using std::swap; + + swap(static_cast(*this), static_cast(other)); + swap(static_cast(*this), static_cast(other)); + swap(static_cast(*this), static_cast(other)); + swap(m_buckets, other.m_buckets); + swap(m_bucket_count, other.m_bucket_count); + swap(m_nb_elements, other.m_nb_elements); + swap(m_load_threshold, other.m_load_threshold); + swap(m_max_load_factor, other.m_max_load_factor); + swap(m_grow_on_next_insert, other.m_grow_on_next_insert); + } + + + /* + * Lookup + */ + template::value>::type* = nullptr> + typename U::value_type& at(const K& key) { + return at(key, hash_key(key)); + } + + template::value>::type* = nullptr> + typename U::value_type& at(const K& key, std::size_t hash) { + return const_cast(static_cast(this)->at(key, hash)); + } + + + template::value>::type* = nullptr> + const typename U::value_type& at(const K& key) const { + return at(key, hash_key(key)); + } + + template::value>::type* = nullptr> + const typename U::value_type& at(const K& key, std::size_t hash) const { + auto it = find(key, hash); + if(it != cend()) { + return it.value(); + } + else { + THROW(std::out_of_range, "Couldn't find key."); + } + } + + template::value>::type* = nullptr> + typename U::value_type& operator[](K&& key) { + return try_emplace(std::forward(key)).first.value(); + } + + + template + size_type count(const K& key) const { + return count(key, hash_key(key)); + } + + template + size_type count(const K& key, std::size_t hash) const { + if(find(key, hash) != cend()) { + return 1; + } + else { + return 0; + } + } + + + template + iterator find(const K& key) { + return find_impl(key, hash_key(key)); + } + + template + iterator find(const K& key, std::size_t hash) { + return find_impl(key, hash); + } + + + template + const_iterator find(const K& key) const { + return find_impl(key, hash_key(key)); + } + + template + const_iterator find(const K& key, std::size_t hash) const { + return find_impl(key, hash); + } + + + template + std::pair equal_range(const K& key) { + return equal_range(key, hash_key(key)); + } + + template + std::pair equal_range(const K& key, std::size_t hash) { + iterator it = find(key, hash); + return std::make_pair(it, (it == end())?it:std::next(it)); + } + + + template + std::pair equal_range(const K& key) const { + return equal_range(key, hash_key(key)); + } + + template + std::pair equal_range(const K& key, std::size_t hash) const { + const_iterator it = find(key, hash); + return std::make_pair(it, (it == cend())?it:std::next(it)); + } + + /* + * Bucket interface + */ + size_type bucket_count() const { + return m_bucket_count; + } + + size_type max_bucket_count() const { + return std::min(GrowthPolicy::max_bucket_count(), m_buckets.max_size()); + } + + /* + * Hash policy + */ + float load_factor() const { + return float(m_nb_elements)/float(bucket_count()); + } + + float max_load_factor() const { + return m_max_load_factor; + } + + void max_load_factor(float ml) { + m_max_load_factor = std::max(0.1f, std::min(ml, 0.95f)); + m_load_threshold = size_type(float(bucket_count())*m_max_load_factor); + } + + void rehash(size_type count) { + count = std::max(count, size_type(std::ceil(float(size())/max_load_factor()))); + rehash_impl(count); + } + + void reserve(size_type count) { + rehash(size_type(std::ceil(float(count)/max_load_factor()))); + } + + /* + * Observers + */ + hasher hash_function() const { + return static_cast(*this); + } + + key_equal key_eq() const { + return static_cast(*this); + } + + + /* + * Other + */ + iterator mutable_iterator(const_iterator pos) { + return iterator(m_buckets.begin() + std::distance(m_buckets.cbegin(), pos.m_iterator)); + } + +private: + template + std::size_t hash_key(const K& key) const { + return Hash::operator()(key); + } + + template + bool compare_keys(const K1& key1, const K2& key2) const { + return KeyEqual::operator()(key1, key2); + } + + std::size_t bucket_for_hash(std::size_t hash) const { + return GrowthPolicy::bucket_for_hash(hash); + } + + template::value>::type* = nullptr> + std::size_t next_bucket(std::size_t index) const noexcept { + tsl_assert(index < bucket_count()); + + return (index + 1) & this->m_mask; + } + + template::value>::type* = nullptr> + std::size_t next_bucket(std::size_t index) const noexcept { + tsl_assert(index < bucket_count()); + + index++; + return (index != bucket_count())?index:0; + } + + + + template + iterator find_impl(const K& key, std::size_t hash) { + return mutable_iterator(static_cast(this)->find(key, hash)); + } + + template + const_iterator find_impl(const K& key, std::size_t hash) const { + std::size_t ibucket = bucket_for_hash(hash); + distance_type dist_from_ideal_bucket = 0; + + while(dist_from_ideal_bucket <= m_buckets[ibucket].dist_from_ideal_bucket()) { + if (TSL_LIKELY((!USE_STORED_HASH_ON_LOOKUP || m_buckets[ibucket].bucket_hash_equal(hash)) && + compare_keys(KeySelect()(m_buckets[ibucket].value()), key))) + { + return const_iterator(m_buckets.begin() + ibucket); + } + + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + + return cend(); + } + + void erase_from_bucket(iterator pos) { + pos.m_iterator->clear(); + m_nb_elements--; + + /** + * Backward shift, swap the empty bucket, previous_ibucket, with the values on its right, ibucket, + * until we cross another empty bucket or if the other bucket has a distance_from_ideal_bucket == 0. + * + * We try to move the values closer to their ideal bucket. + */ + std::size_t previous_ibucket = std::size_t(std::distance(m_buckets.begin(), pos.m_iterator)); + std::size_t ibucket = next_bucket(previous_ibucket); + + while(m_buckets[ibucket].dist_from_ideal_bucket() > 0) { + tsl_assert(m_buckets[previous_ibucket].empty()); + + const distance_type new_distance = distance_type(m_buckets[ibucket].dist_from_ideal_bucket() - 1); + m_buckets[previous_ibucket].set_value_of_empty_bucket(new_distance, m_buckets[ibucket].truncated_hash(), + std::move(m_buckets[ibucket].value())); + m_buckets[ibucket].clear(); + + previous_ibucket = ibucket; + ibucket = next_bucket(ibucket); + } + } + + template + std::pair insert_impl(const K& key, Args&&... value_type_args) { + const std::size_t hash = hash_key(key); + + std::size_t ibucket = bucket_for_hash(hash); + distance_type dist_from_ideal_bucket = 0; + + while(dist_from_ideal_bucket <= m_buckets[ibucket].dist_from_ideal_bucket()) { + if((!USE_STORED_HASH_ON_LOOKUP || m_buckets[ibucket].bucket_hash_equal(hash)) && + compare_keys(KeySelect()(m_buckets[ibucket].value()), key)) + { + return std::make_pair(iterator(m_buckets.begin() + ibucket), false); + } + + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + + if(grow_on_high_load()) { + ibucket = bucket_for_hash(hash); + dist_from_ideal_bucket = 0; + + while(dist_from_ideal_bucket <= m_buckets[ibucket].dist_from_ideal_bucket()) { + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + } + + + if(m_buckets[ibucket].empty()) { + m_buckets[ibucket].set_value_of_empty_bucket(dist_from_ideal_bucket, bucket_entry::truncate_hash(hash), + std::forward(value_type_args)...); + } + else { + insert_value(ibucket, dist_from_ideal_bucket, bucket_entry::truncate_hash(hash), + std::forward(value_type_args)...); + } + + + m_nb_elements++; + /* + * The value will be inserted in ibucket in any case, either because it was + * empty or by stealing the bucket (robin hood). + */ + return std::make_pair(iterator(m_buckets.begin() + ibucket), true); + } + + + template + void insert_value(std::size_t ibucket, distance_type dist_from_ideal_bucket, + truncated_hash_type hash, Args&&... value_type_args) + { + value_type value(std::forward(value_type_args)...); + insert_value_impl(ibucket, dist_from_ideal_bucket, hash, value); + } + + // fix issue #6 (see https://github.com/Tessil/robin-map/commit/965dacd191502d310f053cc00551ea8fc2f6c7f0) + void insert_value(std::size_t ibucket, distance_type dist_from_ideal_bucket, + truncated_hash_type hash, value_type&& value) + { + insert_value_impl(ibucket, dist_from_ideal_bucket, hash, value); + } + + /* + * We don't use `value_type&& value` as last argument due to a bug in MSVC when `value_type` is a pointer, + * The compiler is not able to see the difference between `std::string*` and `std::string*&&` resulting in + * compile error. + * + * The `value` will be in a moved state at the end of the function. + */ + void insert_value_impl(std::size_t ibucket, distance_type dist_from_ideal_bucket, + truncated_hash_type hash, value_type& value) + { + m_buckets[ibucket].swap_with_value_in_bucket(dist_from_ideal_bucket, hash, value); + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + + while(!m_buckets[ibucket].empty()) { + if(dist_from_ideal_bucket > m_buckets[ibucket].dist_from_ideal_bucket()) { + if(dist_from_ideal_bucket >= REHASH_ON_HIGH_NB_PROBES__NPROBES && + load_factor() >= REHASH_ON_HIGH_NB_PROBES__MIN_LOAD_FACTOR) + { + /** + * The number of probes is really high, rehash the map on the next insert. + * Difficult to do now as rehash may throw. + */ + m_grow_on_next_insert = true; + } + + m_buckets[ibucket].swap_with_value_in_bucket(dist_from_ideal_bucket, hash, value); + } + + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + + m_buckets[ibucket].set_value_of_empty_bucket(dist_from_ideal_bucket, hash, std::move(value)); + } + + + void rehash_impl(size_type count) { + robin_hash new_table(count, static_cast(*this), static_cast(*this), + get_allocator(), m_max_load_factor); + + const bool use_stored_hash = USE_STORED_HASH_ON_REHASH(new_table.bucket_count()); + for(auto& bucket: m_buckets) { + if(bucket.empty()) { + continue; + } + + const std::size_t hash = use_stored_hash?bucket.truncated_hash(): + new_table.hash_key(KeySelect()(bucket.value())); + + new_table.insert_value_on_rehash(new_table.bucket_for_hash(hash), 0, + bucket_entry::truncate_hash(hash), std::move(bucket.value())); + } + + new_table.m_nb_elements = m_nb_elements; + new_table.swap(*this); + } + + void insert_value_on_rehash(std::size_t ibucket, distance_type dist_from_ideal_bucket, + truncated_hash_type hash, value_type&& value) + { + while(true) { + if(dist_from_ideal_bucket > m_buckets[ibucket].dist_from_ideal_bucket()) { + if(m_buckets[ibucket].empty()) { + m_buckets[ibucket].set_value_of_empty_bucket(dist_from_ideal_bucket, hash, std::move(value)); + return; + } + else { + m_buckets[ibucket].swap_with_value_in_bucket(dist_from_ideal_bucket, hash, value); + } + } + + dist_from_ideal_bucket++; + ibucket = next_bucket(ibucket); + } + } + + + + /** + * Return true if the map has been rehashed. + */ + bool grow_on_high_load() { + if(m_grow_on_next_insert || size() >= m_load_threshold) { + rehash_impl(GrowthPolicy::next_bucket_count()); + m_grow_on_next_insert = false; + + return true; + } + + return false; + } + + +public: + static const size_type DEFAULT_INIT_BUCKETS_SIZE = 16; + static constexpr float DEFAULT_MAX_LOAD_FACTOR = 0.5f; + +private: + static const distance_type REHASH_ON_HIGH_NB_PROBES__NPROBES = 128; + static constexpr float REHASH_ON_HIGH_NB_PROBES__MIN_LOAD_FACTOR = 0.15f; + +private: + buckets_container_type m_buckets; + + /** + * Used a lot in find, avoid the call to m_buckets.size() which is a bit slower. + */ + size_type m_bucket_count; + + size_type m_nb_elements; + + size_type m_load_threshold; + float m_max_load_factor; + + bool m_grow_on_next_insert; +}; + +} + +} + +#endif diff --git a/web/include/filament/tsl/robin_map.h b/web/include/filament/tsl/robin_map.h new file mode 100644 index 00000000..5958e70f --- /dev/null +++ b/web/include/filament/tsl/robin_map.h @@ -0,0 +1,668 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_MAP_H +#define TSL_ROBIN_MAP_H + + +#include +#include +#include +#include +#include +#include +#include "robin_hash.h" + + +namespace tsl { + + +/** + * Implementation of a hash map using open-adressing and the robin hood hashing algorithm with backward shift deletion. + * + * For operations modifying the hash map (insert, erase, rehash, ...), the strong exception guarantee + * is only guaranteed when the expression `std::is_nothrow_swappable>::value && + * std::is_nothrow_move_constructible>::value` is true, otherwise if an exception + * is thrown during the swap or the move, the hash map may end up in a undefined state. Per the standard + * a `Key` or `T` with a noexcept copy constructor and no move constructor also satisfies the + * `std::is_nothrow_move_constructible>::value` criterion (and will thus guarantee the + * strong exception for the map). + * + * When `StoreHash` is true, 32 bits of the hash are stored alongside the values. It can improve + * the performance during lookups if the `KeyEqual` function takes time (if it engenders a cache-miss for example) + * as we then compare the stored hashes before comparing the keys. When `tsl::rh::power_of_two_growth_policy` is used + * as `GrowthPolicy`, it may also speed-up the rehash process as we can avoid to recalculate the hash. + * When it is detected that storing the hash will not incur any memory penality due to alignement (i.e. + * `sizeof(tsl::detail_robin_hash::bucket_entry) == + * sizeof(tsl::detail_robin_hash::bucket_entry)`) and `tsl::rh::power_of_two_growth_policy` is + * used, the hash will be stored even if `StoreHash` is false so that we can speed-up the rehash (but it will + * not be used on lookups unless `StoreHash` is true). + * + * `GrowthPolicy` defines how the map grows and consequently how a hash value is mapped to a bucket. + * By default the map uses `tsl::rh::power_of_two_growth_policy`. This policy keeps the number of buckets + * to a power of two and uses a mask to map the hash to a bucket instead of the slow modulo. + * Other growth policies are available and you may define your own growth policy, + * check `tsl::rh::power_of_two_growth_policy` for the interface. + * + * If the destructor of `Key` or `T` throws an exception, the behaviour of the class is undefined. + * + * Iterators invalidation: + * - clear, operator=, reserve, rehash: always invalidate the iterators. + * - insert, emplace, emplace_hint, operator[]: if there is an effective insert, invalidate the iterators. + * - erase: always invalidate the iterators. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator>, + bool StoreHash = false, + class GrowthPolicy = tsl::rh::power_of_two_growth_policy<2>> +class robin_map { +private: + template + using has_is_transparent = tsl::detail_robin_hash::has_is_transparent; + + class KeySelect { + public: + using key_type = Key; + + const key_type& operator()(const std::pair& key_value) const noexcept { + return key_value.first; + } + + key_type& operator()(std::pair& key_value) noexcept { + return key_value.first; + } + }; + + class ValueSelect { + public: + using value_type = T; + + const value_type& operator()(const std::pair& key_value) const noexcept { + return key_value.second; + } + + value_type& operator()(std::pair& key_value) noexcept { + return key_value.second; + } + }; + + using ht = detail_robin_hash::robin_hash, KeySelect, ValueSelect, + Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy>; + +public: + using key_type = typename ht::key_type; + using mapped_type = T; + using value_type = typename ht::value_type; + using size_type = typename ht::size_type; + using difference_type = typename ht::difference_type; + using hasher = typename ht::hasher; + using key_equal = typename ht::key_equal; + using allocator_type = typename ht::allocator_type; + using reference = typename ht::reference; + using const_reference = typename ht::const_reference; + using pointer = typename ht::pointer; + using const_pointer = typename ht::const_pointer; + using iterator = typename ht::iterator; + using const_iterator = typename ht::const_iterator; + + +public: + /* + * Constructors + */ + robin_map(): robin_map(ht::DEFAULT_INIT_BUCKETS_SIZE) { + } + + explicit robin_map(size_type bucket_count, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + m_ht(bucket_count, hash, equal, alloc, ht::DEFAULT_MAX_LOAD_FACTOR) + { + } + + robin_map(size_type bucket_count, + const Allocator& alloc): robin_map(bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_map(size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_map(bucket_count, hash, KeyEqual(), alloc) + { + } + + explicit robin_map(const Allocator& alloc): robin_map(ht::DEFAULT_INIT_BUCKETS_SIZE, alloc) { + } + + template + robin_map(InputIt first, InputIt last, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): robin_map(bucket_count, hash, equal, alloc) + { + insert(first, last); + } + + template + robin_map(InputIt first, InputIt last, + size_type bucket_count, + const Allocator& alloc): robin_map(first, last, bucket_count, Hash(), KeyEqual(), alloc) + { + } + + template + robin_map(InputIt first, InputIt last, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_map(first, last, bucket_count, hash, KeyEqual(), alloc) + { + } + + robin_map(std::initializer_list init, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + robin_map(init.begin(), init.end(), bucket_count, hash, equal, alloc) + { + } + + robin_map(std::initializer_list init, + size_type bucket_count, + const Allocator& alloc): + robin_map(init.begin(), init.end(), bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_map(std::initializer_list init, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): + robin_map(init.begin(), init.end(), bucket_count, hash, KeyEqual(), alloc) + { + } + + robin_map& operator=(std::initializer_list ilist) { + m_ht.clear(); + + m_ht.reserve(ilist.size()); + m_ht.insert(ilist.begin(), ilist.end()); + + return *this; + } + + allocator_type get_allocator() const { return m_ht.get_allocator(); } + + + /* + * Iterators + */ + iterator begin() noexcept { return m_ht.begin(); } + const_iterator begin() const noexcept { return m_ht.begin(); } + const_iterator cbegin() const noexcept { return m_ht.cbegin(); } + + iterator end() noexcept { return m_ht.end(); } + const_iterator end() const noexcept { return m_ht.end(); } + const_iterator cend() const noexcept { return m_ht.cend(); } + + + /* + * Capacity + */ + bool empty() const noexcept { return m_ht.empty(); } + size_type size() const noexcept { return m_ht.size(); } + size_type max_size() const noexcept { return m_ht.max_size(); } + + /* + * Modifiers + */ + void clear() noexcept { m_ht.clear(); } + + + + std::pair insert(const value_type& value) { + return m_ht.insert(value); + } + + template::value>::type* = nullptr> + std::pair insert(P&& value) { + return m_ht.emplace(std::forward

(value)); + } + + std::pair insert(value_type&& value) { + return m_ht.insert(std::move(value)); + } + + + iterator insert(const_iterator hint, const value_type& value) { + return m_ht.insert(hint, value); + } + + template::value>::type* = nullptr> + iterator insert(const_iterator hint, P&& value) { + return m_ht.emplace_hint(hint, std::forward

(value)); + } + + iterator insert(const_iterator hint, value_type&& value) { + return m_ht.insert(hint, std::move(value)); + } + + + template + void insert(InputIt first, InputIt last) { + m_ht.insert(first, last); + } + + void insert(std::initializer_list ilist) { + m_ht.insert(ilist.begin(), ilist.end()); + } + + + + + template + std::pair insert_or_assign(const key_type& k, M&& obj) { + return m_ht.insert_or_assign(k, std::forward(obj)); + } + + template + std::pair insert_or_assign(key_type&& k, M&& obj) { + return m_ht.insert_or_assign(std::move(k), std::forward(obj)); + } + + template + iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj) { + return m_ht.insert_or_assign(hint, k, std::forward(obj)); + } + + template + iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj) { + return m_ht.insert_or_assign(hint, std::move(k), std::forward(obj)); + } + + + + /** + * Due to the way elements are stored, emplace will need to move or copy the key-value once. + * The method is equivalent to insert(value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + std::pair emplace(Args&&... args) { + return m_ht.emplace(std::forward(args)...); + } + + + + /** + * Due to the way elements are stored, emplace_hint will need to move or copy the key-value once. + * The method is equivalent to insert(hint, value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + iterator emplace_hint(const_iterator hint, Args&&... args) { + return m_ht.emplace_hint(hint, std::forward(args)...); + } + + + + + template + std::pair try_emplace(const key_type& k, Args&&... args) { + return m_ht.try_emplace(k, std::forward(args)...); + } + + template + std::pair try_emplace(key_type&& k, Args&&... args) { + return m_ht.try_emplace(std::move(k), std::forward(args)...); + } + + template + iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args) { + return m_ht.try_emplace(hint, k, std::forward(args)...); + } + + template + iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args) { + return m_ht.try_emplace(hint, std::move(k), std::forward(args)...); + } + + + + + iterator erase(iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator first, const_iterator last) { return m_ht.erase(first, last); } + size_type erase(const key_type& key) { return m_ht.erase(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + size_type erase(const key_type& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type erase(const K& key) { return m_ht.erase(key); } + + /** + * @copydoc erase(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + template::value>::type* = nullptr> + size_type erase(const K& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + + + void swap(robin_map& other) { other.m_ht.swap(m_ht); } + + + + /* + * Lookup + */ + T& at(const Key& key) { return m_ht.at(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + T& at(const Key& key, std::size_t precalculated_hash) { return m_ht.at(key, precalculated_hash); } + + + const T& at(const Key& key) const { return m_ht.at(key); } + + /** + * @copydoc at(const Key& key, std::size_t precalculated_hash) + */ + const T& at(const Key& key, std::size_t precalculated_hash) const { return m_ht.at(key, precalculated_hash); } + + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + T& at(const K& key) { return m_ht.at(key); } + + /** + * @copydoc at(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + T& at(const K& key, std::size_t precalculated_hash) { return m_ht.at(key, precalculated_hash); } + + + /** + * @copydoc at(const K& key) + */ + template::value>::type* = nullptr> + const T& at(const K& key) const { return m_ht.at(key); } + + /** + * @copydoc at(const K& key, std::size_t precalculated_hash) + */ + template::value>::type* = nullptr> + const T& at(const K& key, std::size_t precalculated_hash) const { return m_ht.at(key, precalculated_hash); } + + + + + T& operator[](const Key& key) { return m_ht[key]; } + T& operator[](Key&& key) { return m_ht[std::move(key)]; } + + + + + size_type count(const Key& key) const { return m_ht.count(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + size_type count(const Key& key, std::size_t precalculated_hash) const { + return m_ht.count(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type count(const K& key) const { return m_ht.count(key); } + + /** + * @copydoc count(const K& key) const + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + size_type count(const K& key, std::size_t precalculated_hash) const { return m_ht.count(key, precalculated_hash); } + + + + + iterator find(const Key& key) { return m_ht.find(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + iterator find(const Key& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + const_iterator find(const Key& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const Key& key, std::size_t precalculated_hash) + */ + const_iterator find(const Key& key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + iterator find(const K& key) { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + iterator find(const K& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + /** + * @copydoc find(const K& key) + */ + template::value>::type* = nullptr> + const_iterator find(const K& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + const_iterator find(const K& key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + + + + std::pair equal_range(const Key& key) { return m_ht.equal_range(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + std::pair equal_range(const Key& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const Key& key, std::size_t precalculated_hash) + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) { return m_ht.equal_range(key); } + + + /** + * @copydoc equal_range(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * @copydoc equal_range(const K& key) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const K& key, std::size_t precalculated_hash) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + + + + /* + * Bucket interface + */ + size_type bucket_count() const { return m_ht.bucket_count(); } + size_type max_bucket_count() const { return m_ht.max_bucket_count(); } + + + /* + * Hash policy + */ + float load_factor() const { return m_ht.load_factor(); } + float max_load_factor() const { return m_ht.max_load_factor(); } + void max_load_factor(float ml) { m_ht.max_load_factor(ml); } + + void rehash(size_type count) { m_ht.rehash(count); } + void reserve(size_type count) { m_ht.reserve(count); } + + + /* + * Observers + */ + hasher hash_function() const { return m_ht.hash_function(); } + key_equal key_eq() const { return m_ht.key_eq(); } + + /* + * Other + */ + + /** + * Convert a const_iterator to an iterator. + */ + iterator mutable_iterator(const_iterator pos) { + return m_ht.mutable_iterator(pos); + } + + friend bool operator==(const robin_map& lhs, const robin_map& rhs) { + if(lhs.size() != rhs.size()) { + return false; + } + + for(const auto& element_lhs: lhs) { + const auto it_element_rhs = rhs.find(element_lhs.first); + if(it_element_rhs == rhs.cend() || element_lhs.second != it_element_rhs->second) { + return false; + } + } + + return true; + } + + friend bool operator!=(const robin_map& lhs, const robin_map& rhs) { + return !operator==(lhs, rhs); + } + + friend void swap(robin_map& lhs, robin_map& rhs) { + lhs.swap(rhs); + } + +private: + ht m_ht; +}; + + +/** + * Same as `tsl::robin_map`. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator>, + bool StoreHash = false> +using robin_pg_map = robin_map; + +} // end namespace tsl + +#endif diff --git a/web/include/filament/tsl/robin_set.h b/web/include/filament/tsl/robin_set.h new file mode 100644 index 00000000..4e4667e2 --- /dev/null +++ b/web/include/filament/tsl/robin_set.h @@ -0,0 +1,535 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_SET_H +#define TSL_ROBIN_SET_H + + +#include +#include +#include +#include +#include +#include +#include "robin_hash.h" + + +namespace tsl { + + +/** + * Implementation of a hash set using open-adressing and the robin hood hashing algorithm with backward shift deletion. + * + * For operations modifying the hash set (insert, erase, rehash, ...), the strong exception guarantee + * is only guaranteed when the expression `std::is_nothrow_swappable::value && + * std::is_nothrow_move_constructible::value` is true, otherwise if an exception + * is thrown during the swap or the move, the hash set may end up in a undefined state. Per the standard + * a `Key` with a noexcept copy constructor and no move constructor also satisfies the + * `std::is_nothrow_move_constructible::value` criterion (and will thus guarantee the + * strong exception for the set). + * + * When `StoreHash` is true, 32 bits of the hash are stored alongside the values. It can improve + * the performance during lookups if the `KeyEqual` function takes time (or engenders a cache-miss for example) + * as we then compare the stored hashes before comparing the keys. When `tsl::rh::power_of_two_growth_policy` is used + * as `GrowthPolicy`, it may also speed-up the rehash process as we can avoid to recalculate the hash. + * When it is detected that storing the hash will not incur any memory penality due to alignement (i.e. + * `sizeof(tsl::detail_robin_hash::bucket_entry) == + * sizeof(tsl::detail_robin_hash::bucket_entry)`) and `tsl::rh::power_of_two_growth_policy` is + * used, the hash will be stored even if `StoreHash` is false so that we can speed-up the rehash (but it will + * not be used on lookups unless `StoreHash` is true). + * + * `GrowthPolicy` defines how the set grows and consequently how a hash value is mapped to a bucket. + * By default the set uses `tsl::rh::power_of_two_growth_policy`. This policy keeps the number of buckets + * to a power of two and uses a mask to set the hash to a bucket instead of the slow modulo. + * Other growth policies are available and you may define your own growth policy, + * check `tsl::rh::power_of_two_growth_policy` for the interface. + * + * If the destructor of `Key` throws an exception, the behaviour of the class is undefined. + * + * Iterators invalidation: + * - clear, operator=, reserve, rehash: always invalidate the iterators. + * - insert, emplace, emplace_hint, operator[]: if there is an effective insert, invalidate the iterators. + * - erase: always invalidate the iterators. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator, + bool StoreHash = false, + class GrowthPolicy = tsl::rh::power_of_two_growth_policy<2>> +class robin_set { +private: + template + using has_is_transparent = tsl::detail_robin_hash::has_is_transparent; + + class KeySelect { + public: + using key_type = Key; + + const key_type& operator()(const Key& key) const noexcept { + return key; + } + + key_type& operator()(Key& key) noexcept { + return key; + } + }; + + using ht = detail_robin_hash::robin_hash; + +public: + using key_type = typename ht::key_type; + using value_type = typename ht::value_type; + using size_type = typename ht::size_type; + using difference_type = typename ht::difference_type; + using hasher = typename ht::hasher; + using key_equal = typename ht::key_equal; + using allocator_type = typename ht::allocator_type; + using reference = typename ht::reference; + using const_reference = typename ht::const_reference; + using pointer = typename ht::pointer; + using const_pointer = typename ht::const_pointer; + using iterator = typename ht::iterator; + using const_iterator = typename ht::const_iterator; + + + /* + * Constructors + */ + robin_set(): robin_set(ht::DEFAULT_INIT_BUCKETS_SIZE) { + } + + explicit robin_set(size_type bucket_count, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + m_ht(bucket_count, hash, equal, alloc, ht::DEFAULT_MAX_LOAD_FACTOR) + { + } + + robin_set(size_type bucket_count, + const Allocator& alloc): robin_set(bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_set(size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_set(bucket_count, hash, KeyEqual(), alloc) + { + } + + explicit robin_set(const Allocator& alloc): robin_set(ht::DEFAULT_INIT_BUCKETS_SIZE, alloc) { + } + + template + robin_set(InputIt first, InputIt last, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): robin_set(bucket_count, hash, equal, alloc) + { + insert(first, last); + } + + template + robin_set(InputIt first, InputIt last, + size_type bucket_count, + const Allocator& alloc): robin_set(first, last, bucket_count, Hash(), KeyEqual(), alloc) + { + } + + template + robin_set(InputIt first, InputIt last, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_set(first, last, bucket_count, hash, KeyEqual(), alloc) + { + } + + robin_set(std::initializer_list init, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + robin_set(init.begin(), init.end(), bucket_count, hash, equal, alloc) + { + } + + robin_set(std::initializer_list init, + size_type bucket_count, + const Allocator& alloc): + robin_set(init.begin(), init.end(), bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_set(std::initializer_list init, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): + robin_set(init.begin(), init.end(), bucket_count, hash, KeyEqual(), alloc) + { + } + + + robin_set& operator=(std::initializer_list ilist) { + m_ht.clear(); + + m_ht.reserve(ilist.size()); + m_ht.insert(ilist.begin(), ilist.end()); + + return *this; + } + + allocator_type get_allocator() const { return m_ht.get_allocator(); } + + + /* + * Iterators + */ + iterator begin() noexcept { return m_ht.begin(); } + const_iterator begin() const noexcept { return m_ht.begin(); } + const_iterator cbegin() const noexcept { return m_ht.cbegin(); } + + iterator end() noexcept { return m_ht.end(); } + const_iterator end() const noexcept { return m_ht.end(); } + const_iterator cend() const noexcept { return m_ht.cend(); } + + + /* + * Capacity + */ + bool empty() const noexcept { return m_ht.empty(); } + size_type size() const noexcept { return m_ht.size(); } + size_type max_size() const noexcept { return m_ht.max_size(); } + + /* + * Modifiers + */ + void clear() noexcept { m_ht.clear(); } + + + + + std::pair insert(const value_type& value) { + return m_ht.insert(value); + } + + std::pair insert(value_type&& value) { + return m_ht.insert(std::move(value)); + } + + iterator insert(const_iterator hint, const value_type& value) { + return m_ht.insert(hint, value); + } + + iterator insert(const_iterator hint, value_type&& value) { + return m_ht.insert(hint, std::move(value)); + } + + template + void insert(InputIt first, InputIt last) { + m_ht.insert(first, last); + } + + void insert(std::initializer_list ilist) { + m_ht.insert(ilist.begin(), ilist.end()); + } + + + + + /** + * Due to the way elements are stored, emplace will need to move or copy the key-value once. + * The method is equivalent to insert(value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + std::pair emplace(Args&&... args) { + return m_ht.emplace(std::forward(args)...); + } + + + + /** + * Due to the way elements are stored, emplace_hint will need to move or copy the key-value once. + * The method is equivalent to insert(hint, value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + iterator emplace_hint(const_iterator hint, Args&&... args) { + return m_ht.emplace_hint(hint, std::forward(args)...); + } + + + + iterator erase(iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator first, const_iterator last) { return m_ht.erase(first, last); } + size_type erase(const key_type& key) { return m_ht.erase(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + size_type erase(const key_type& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type erase(const K& key) { return m_ht.erase(key); } + + /** + * @copydoc erase(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + template::value>::type* = nullptr> + size_type erase(const K& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + + + void swap(robin_set& other) { other.m_ht.swap(m_ht); } + + + + /* + * Lookup + */ + size_type count(const Key& key) const { return m_ht.count(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + size_type count(const Key& key, std::size_t precalculated_hash) const { return m_ht.count(key, precalculated_hash); } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type count(const K& key) const { return m_ht.count(key); } + + /** + * @copydoc count(const K& key) const + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + size_type count(const K& key, std::size_t precalculated_hash) const { return m_ht.count(key, precalculated_hash); } + + + + + iterator find(const Key& key) { return m_ht.find(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + iterator find(const Key& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + const_iterator find(const Key& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const Key& key, std::size_t precalculated_hash) + */ + const_iterator find(const Key& key, std::size_t precalculated_hash) const { return m_ht.find(key, precalculated_hash); } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + iterator find(const K& key) { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + iterator find(const K& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + /** + * @copydoc find(const K& key) + */ + template::value>::type* = nullptr> + const_iterator find(const K& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + const_iterator find(const K& key, std::size_t precalculated_hash) const { return m_ht.find(key, precalculated_hash); } + + + + + std::pair equal_range(const Key& key) { return m_ht.equal_range(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + std::pair equal_range(const Key& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const Key& key, std::size_t precalculated_hash) + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * @copydoc equal_range(const K& key) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const K& key, std::size_t precalculated_hash) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + + + + /* + * Bucket interface + */ + size_type bucket_count() const { return m_ht.bucket_count(); } + size_type max_bucket_count() const { return m_ht.max_bucket_count(); } + + + /* + * Hash policy + */ + float load_factor() const { return m_ht.load_factor(); } + float max_load_factor() const { return m_ht.max_load_factor(); } + void max_load_factor(float ml) { m_ht.max_load_factor(ml); } + + void rehash(size_type count) { m_ht.rehash(count); } + void reserve(size_type count) { m_ht.reserve(count); } + + + /* + * Observers + */ + hasher hash_function() const { return m_ht.hash_function(); } + key_equal key_eq() const { return m_ht.key_eq(); } + + + /* + * Other + */ + + /** + * Convert a const_iterator to an iterator. + */ + iterator mutable_iterator(const_iterator pos) { + return m_ht.mutable_iterator(pos); + } + + friend bool operator==(const robin_set& lhs, const robin_set& rhs) { + if(lhs.size() != rhs.size()) { + return false; + } + + for(const auto& element_lhs: lhs) { + const auto it_element_rhs = rhs.find(element_lhs); + if(it_element_rhs == rhs.cend()) { + return false; + } + } + + return true; + } + + friend bool operator!=(const robin_set& lhs, const robin_set& rhs) { + return !operator==(lhs, rhs); + } + + friend void swap(robin_set& lhs, robin_set& rhs) { + lhs.swap(rhs); + } + +private: + ht m_ht; +}; + + +/** + * Same as `tsl::robin_set`. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator, + bool StoreHash = false> +using robin_pg_set = robin_set; + +} // end namespace tsl + +#endif + diff --git a/web/include/filament/uberz/ArchiveEnums.h b/web/include/filament/uberz/ArchiveEnums.h new file mode 100644 index 00000000..b2741be9 --- /dev/null +++ b/web/include/filament/uberz/ArchiveEnums.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef UBERZ_ARCHIVE_ENUMS_H +#define UBERZ_ARCHIVE_ENUMS_H + +#include + +namespace filament::uberz { + + enum class ArchiveFeature : uint64_t { + UNSUPPORTED, + OPTIONAL, + REQUIRED, + }; + +} // namespace filament::uberz + +#endif // UBERZ_ARCHIVE_ENUMS_H diff --git a/web/include/filament/uberz/ReadableArchive.h b/web/include/filament/uberz/ReadableArchive.h new file mode 100644 index 00000000..5d78cb26 --- /dev/null +++ b/web/include/filament/uberz/ReadableArchive.h @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef UBERZ_READABLE_ARCHIVE_H +#define UBERZ_READABLE_ARCHIVE_H + +#include + +#include + +#include + +namespace filament::uberz { + +// ArchiveSpec is a parse-free binary format. The client simply casts a word-aligned content blob +// into a ReadableArchive struct pointer, then calls the following function to convert all the +// offset fields into pointers. +void convertOffsetsToPointers(struct ReadableArchive* archive); + +UTILS_WARNING_PUSH +UTILS_WARNING_ENABLE_PADDED + +// Precompiled set of materials bundled with a list of features flags that each material supports. +// This is the readable counterpart to WriteableArchive. +// Used by gltfio; users do not need to access this class directly. +struct ReadableArchive { + uint32_t magic; + uint32_t version; + uint64_t specsCount; + union { + struct ArchiveSpec* specs; + uint64_t specsOffset; + }; +}; + +static constexpr Shading INVALID_SHADING_MODEL = (Shading) 0xff; +static constexpr BlendingMode INVALID_BLENDING = (BlendingMode) 0xff; + +struct ArchiveSpec { + Shading shadingModel; + BlendingMode blendingMode; + uint16_t flagsCount; + uint32_t packageByteCount; + union { + struct ArchiveFlag* flags; + uint64_t flagsOffset; + }; + union { + uint8_t* package; + uint64_t packageOffset; + }; +}; + +struct ArchiveFlag { + union { + const char* name; + uint64_t nameOffset; + }; + ArchiveFeature value; +}; + +UTILS_WARNING_POP + +} // namespace filament::uberz + +#endif // UBERZ_READABLE_ARCHIVE_H diff --git a/web/include/filament/uberz/WritableArchive.h b/web/include/filament/uberz/WritableArchive.h new file mode 100644 index 00000000..e511d95f --- /dev/null +++ b/web/include/filament/uberz/WritableArchive.h @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef UBERZ_WRITABLE_ARCHIVE_H +#define UBERZ_WRITABLE_ARCHIVE_H + +#include + +#include +#include +#include + +#include + +#include + +namespace filament::uberz { + +// Precompiled set of materials bundled with a list of features flags that each material supports. +// This is the writeable counterpart to ReadableArchive. +// Users do not need to access this class directly, they should go through gltfio. +class WritableArchive { +public: + WritableArchive(size_t materialCount) : mMaterials(uint32_t(materialCount)) { + assert(materialCount <= UINT_MAX); + } + + void addMaterial(const char* name, const uint8_t* package, size_t packageSize); + void addSpecLine(std::string_view line); + utils::FixedCapacityVector serialize() const; + + // Low-level alternatives to addSpecLine that do not involve parsing: + void setShadingModel(Shading sm); + void setBlendingModel(BlendingMode bm); + void setFeatureFlag(const char* key, ArchiveFeature value); + +private: + size_t mLineNumber = 1; + ssize_t mMaterialIndex = -1; + + struct Material { + utils::CString name; + utils::FixedCapacityVector package; + Shading shadingModel; + BlendingMode blendingMode; + tsl::robin_map flags; + }; + + utils::FixedCapacityVector mMaterials; +}; + +} // namespace filament::uberz + +#endif // UBERZ_WRITABLE_ARCHIVE_H diff --git a/web/include/filament/utils/Allocator.h b/web/include/filament/utils/Allocator.h new file mode 100644 index 00000000..82d1d1cc --- /dev/null +++ b/web/include/filament/utils/Allocator.h @@ -0,0 +1,840 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_ALLOCATOR_H +#define TNT_UTILS_ALLOCATOR_H + + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +namespace utils { + +namespace pointermath { + +template +static inline P* add(P* a, T b) noexcept { + return (P*)(uintptr_t(a) + uintptr_t(b)); +} + +template +static inline P* align(P* p, size_t alignment) noexcept { + // alignment must be a power-of-two + assert(alignment && !(alignment & alignment-1)); + return (P*)((uintptr_t(p) + alignment - 1) & ~(alignment - 1)); +} + +template +static inline P* align(P* p, size_t alignment, size_t offset) noexcept { + P* const r = align(add(p, offset), alignment); + assert(r >= add(p, offset)); + return r; +} + +} + +/* ------------------------------------------------------------------------------------------------ + * LinearAllocator + * + * + Allocates blocks linearly + * + Cannot free individual blocks + * + Can free top of memory back up to a specified point + * + Doesn't call destructors + * ------------------------------------------------------------------------------------------------ + */ + +class LinearAllocator { +public: + // use memory area provided + LinearAllocator(void* begin, void* end) noexcept; + + template + explicit LinearAllocator(const AREA& area) : LinearAllocator(area.begin(), area.end()) { } + + // Allocators can't be copied + LinearAllocator(const LinearAllocator& rhs) = delete; + LinearAllocator& operator=(const LinearAllocator& rhs) = delete; + + // Allocators can be moved + LinearAllocator(LinearAllocator&& rhs) noexcept; + LinearAllocator& operator=(LinearAllocator&& rhs) noexcept; + + ~LinearAllocator() noexcept = default; + + // our allocator concept + void* alloc(size_t size, size_t alignment = alignof(std::max_align_t), size_t extra = 0) UTILS_RESTRICT { + // branch-less allocation + void* const p = pointermath::align(current(), alignment, extra); + void* const c = pointermath::add(p, size); + bool success = c <= end(); + set_current(success ? c : current()); + return success ? p : nullptr; + } + + // API specific to this allocator + + void *getCurrent() UTILS_RESTRICT noexcept { + return current(); + } + + // free memory back to the specified point + void rewind(void* p) UTILS_RESTRICT noexcept { + assert(p>=mBegin && p + explicit HeapAllocator(const AREA&) { } + + // our allocator concept + void* alloc(size_t size, size_t alignment = alignof(std::max_align_t), size_t extra = 0) { + // this allocator doesn't support 'extra' + assert(extra == 0); + return aligned_alloc(size, alignment); + } + + void free(void* p) noexcept { + aligned_free(p); + } + + void free(void* p, size_t) noexcept { + this->free(p); + } + + ~HeapAllocator() noexcept = default; + + void swap(HeapAllocator&) noexcept { } +}; + +// ------------------------------------------------------------------------------------------------ + +class FreeList { +public: + FreeList() noexcept = default; + FreeList(void* begin, void* end, size_t elementSize, size_t alignment, size_t extra) noexcept; + FreeList(const FreeList& rhs) = delete; + FreeList& operator=(const FreeList& rhs) = delete; + FreeList(FreeList&& rhs) noexcept = default; + FreeList& operator=(FreeList&& rhs) noexcept = default; + + void* pop() noexcept { + Node* const head = mHead; + mHead = head ? head->next : nullptr; + // this could indicate a use after free + assert(!mHead || mHead >= mBegin && mHead < mEnd); + return head; + } + + void push(void* p) noexcept { + assert(p); + assert(p >= mBegin && p < mEnd); + // TODO: assert this is one of our pointer (i.e.: it's address match one of ours) + Node* const head = static_cast(p); + head->next = mHead; + mHead = head; + } + + void *getFirst() noexcept { + return mHead; + } + +private: + struct Node { + Node* next; + }; + + static Node* init(void* begin, void* end, + size_t elementSize, size_t alignment, size_t extra) noexcept; + + Node* mHead = nullptr; + +#ifndef NDEBUG + // These are needed only for debugging... + void* mBegin = nullptr; + void* mEnd = nullptr; +#endif +}; + +class AtomicFreeList { +public: + AtomicFreeList() noexcept = default; + AtomicFreeList(void* begin, void* end, + size_t elementSize, size_t alignment, size_t extra) noexcept; + AtomicFreeList(const FreeList& rhs) = delete; + AtomicFreeList& operator=(const FreeList& rhs) = delete; + + void* pop() noexcept { + Node* const storage = mStorage; + + HeadPtr currentHead = mHead.load(); + while (currentHead.offset >= 0) { + // The value of "next" we load here might already contain application data if another + // thread raced ahead of us. But in that case, the computed "newHead" will be discarded + // since compare_exchange_weak fails. Then this thread will loop with the updated + // value of currentHead, and try again. + Node* const next = storage[currentHead.offset].next.load(std::memory_order_relaxed); + const HeadPtr newHead{ next ? int32_t(next - storage) : -1, currentHead.tag + 1 }; + // In the rare case that the other thread that raced ahead of us already returned the + // same mHead we just loaded, but it now has a different "next" value, the tag field will not + // match, and compare_exchange_weak will fail and prevent that particular race condition. + if (mHead.compare_exchange_weak(currentHead, newHead)) { + // This assert needs to occur after we have validated that there was no race condition + // Otherwise, next might already contain application data, if another thread + // raced ahead of us after we loaded mHead, but before we loaded mHead->next. + assert(!next || next >= storage); + break; + } + } + void* p = (currentHead.offset >= 0) ? (storage + currentHead.offset) : nullptr; + assert(!p || p >= storage); + return p; + } + + void push(void* p) noexcept { + Node* const storage = mStorage; + assert(p && p >= storage); + Node* const node = static_cast(p); + HeadPtr currentHead = mHead.load(); + HeadPtr newHead = { int32_t(node - storage), currentHead.tag + 1 }; + do { + newHead.tag = currentHead.tag + 1; + Node* const n = (currentHead.offset >= 0) ? (storage + currentHead.offset) : nullptr; + node->next.store(n, std::memory_order_relaxed); + } while(!mHead.compare_exchange_weak(currentHead, newHead)); + } + + void* getFirst() noexcept { + return mStorage + mHead.load(std::memory_order_relaxed).offset; + } + +private: + struct Node { + // This should be a regular (non-atomic) pointer, but this causes TSAN to complain + // about a data-race that exists but is benin. We always use this atomic<> in + // relaxed mode. + // The data race TSAN complains about is when a pop() is interrupted by a + // pop() + push() just after mHead->next is read -- it appears as though it is written + // without synchronization (by the push), however in that case, the pop's CAS will fail + // and things will auto-correct. + // + // Pop() | + // | | + // read head->next | + // | pop() + // | | + // | read head->next + // | CAS, tag++ + // | | + // | push() + // | | + // [TSAN: data-race here] write head->next + // | CAS, tag++ + // CAS fails + // | + // read head->next + // | + // CAS, tag++ + // + std::atomic next; + }; + + // This struct is using a 32-bit offset into the arena rather than + // a direct pointer, because together with the 32-bit tag, it needs to + // fit into 8 bytes. If it was any larger, it would not be possible to + // access it atomically. + struct alignas(8) HeadPtr { + int32_t offset; + uint32_t tag; + }; + + std::atomic mHead{}; + + Node* mStorage = nullptr; +}; + +// ------------------------------------------------------------------------------------------------ + +template < + size_t ELEMENT_SIZE, + size_t ALIGNMENT = alignof(std::max_align_t), + size_t OFFSET = 0, + typename FREELIST = FreeList> +class PoolAllocator { + static_assert(ELEMENT_SIZE >= sizeof(void*), "ELEMENT_SIZE must accommodate at least a pointer"); +public: + // our allocator concept + void* alloc(size_t size = ELEMENT_SIZE, + size_t alignment = ALIGNMENT, size_t offset = OFFSET) noexcept { + assert(size <= ELEMENT_SIZE); + assert(alignment <= ALIGNMENT); + assert(offset == OFFSET); + return mFreeList.pop(); + } + + void free(void* p, size_t = ELEMENT_SIZE) noexcept { + mFreeList.push(p); + } + + constexpr size_t getSize() const noexcept { return ELEMENT_SIZE; } + + PoolAllocator(void* begin, void* end) noexcept + : mFreeList(begin, end, ELEMENT_SIZE, ALIGNMENT, OFFSET) { + } + + template + explicit PoolAllocator(const AREA& area) noexcept + : PoolAllocator(area.begin(), area.end()) { + } + + // Allocators can't be copied + PoolAllocator(const PoolAllocator& rhs) = delete; + PoolAllocator& operator=(const PoolAllocator& rhs) = delete; + + // Allocators can be moved + PoolAllocator(PoolAllocator&& rhs) = default; + PoolAllocator& operator=(PoolAllocator&& rhs) = default; + + PoolAllocator() noexcept = default; + ~PoolAllocator() noexcept = default; + + // API specific to this allocator + + void *getCurrent() noexcept { + return mFreeList.getFirst(); + } + +private: + FREELIST mFreeList; +}; + +#define UTILS_MAX(a,b) ((a) > (b) ? (a) : (b)) + +template +using ObjectPoolAllocator = PoolAllocator; + +template +using ThreadSafeObjectPoolAllocator = PoolAllocator; + + +// ------------------------------------------------------------------------------------------------ +// Areas +// ------------------------------------------------------------------------------------------------ + +namespace AreaPolicy { + +class StaticArea { +public: + StaticArea() noexcept = default; + + StaticArea(void* b, void* e) noexcept + : mBegin(b), mEnd(e) { + } + + ~StaticArea() noexcept = default; + + StaticArea(const StaticArea& rhs) = default; + StaticArea& operator=(const StaticArea& rhs) = default; + StaticArea(StaticArea&& rhs) noexcept = default; + StaticArea& operator=(StaticArea&& rhs) noexcept = default; + + void* data() const noexcept { return mBegin; } + void* begin() const noexcept { return mBegin; } + void* end() const noexcept { return mEnd; } + size_t size() const noexcept { return uintptr_t(mEnd) - uintptr_t(mBegin); } + + friend void swap(StaticArea& lhs, StaticArea& rhs) noexcept { + using std::swap; + swap(lhs.mBegin, rhs.mBegin); + swap(lhs.mEnd, rhs.mEnd); + } + +private: + void* mBegin = nullptr; + void* mEnd = nullptr; +}; + +class HeapArea { +public: + HeapArea() noexcept = default; + + explicit HeapArea(size_t size) { + if (size) { + // TODO: policy committing memory + mBegin = malloc(size); + mEnd = pointermath::add(mBegin, size); + } + } + + ~HeapArea() noexcept { + // TODO: policy for returning memory to system + free(mBegin); + } + + HeapArea(const HeapArea& rhs) = delete; + HeapArea& operator=(const HeapArea& rhs) = delete; + HeapArea(HeapArea&& rhs) noexcept = delete; + HeapArea& operator=(HeapArea&& rhs) noexcept = delete; + + void* data() const noexcept { return mBegin; } + void* begin() const noexcept { return mBegin; } + void* end() const noexcept { return mEnd; } + size_t size() const noexcept { return uintptr_t(mEnd) - uintptr_t(mBegin); } + + friend void swap(HeapArea& lhs, HeapArea& rhs) noexcept { + using std::swap; + swap(lhs.mBegin, rhs.mBegin); + swap(lhs.mEnd, rhs.mEnd); + } + +private: + void* mBegin = nullptr; + void* mEnd = nullptr; +}; + +class NullArea { +public: + void* data() const noexcept { return nullptr; } + size_t size() const noexcept { return 0; } +}; + +} // namespace AreaPolicy + +// ------------------------------------------------------------------------------------------------ +// Policies +// ------------------------------------------------------------------------------------------------ + +namespace LockingPolicy { + +struct NoLock { + void lock() noexcept { } + void unlock() noexcept { } +}; + +using SpinLock = utils::SpinLock; +using Mutex = utils::Mutex; + +} // namespace LockingPolicy + + +namespace TrackingPolicy { + +// default no-op tracker +struct Untracked { + Untracked() noexcept = default; + Untracked(const char* name, void* base, size_t size) noexcept { + (void)name, void(base), (void)size; + } + void onAlloc(void* p, size_t size, size_t alignment, size_t extra) noexcept { + (void)p, (void)size, (void)alignment, (void)extra; + } + void onFree(void* p, size_t = 0) noexcept { (void)p; } + void onReset() noexcept { } + void onRewind(void* addr) noexcept { (void)addr; } +}; + +// This just track the max memory usage and logs it in the destructor +struct HighWatermark { + HighWatermark() noexcept = default; + HighWatermark(const char* name, void* base, size_t size) noexcept + : mName(name), mBase(base), mSize(uint32_t(size)) { } + ~HighWatermark() noexcept; + void onAlloc(void* p, size_t size, size_t alignment, size_t extra) noexcept; + void onFree(void* p, size_t size) noexcept; + void onReset() noexcept; + void onRewind(void const* addr) noexcept; + uint32_t getHighWatermark() const noexcept { return mHighWaterMark; } +protected: + const char* mName = nullptr; + void* mBase = nullptr; + uint32_t mSize = 0; + uint32_t mCurrent = 0; + uint32_t mHighWaterMark = 0; +}; + +// This just fills buffers with known values to help catch uninitialized access and use after free. +struct Debug { + Debug() noexcept = default; + Debug(const char* name, void* base, size_t size) noexcept + : mName(name), mBase(base), mSize(uint32_t(size)) { } + void onAlloc(void* p, size_t size, size_t alignment, size_t extra) noexcept; + void onFree(void* p, size_t size) noexcept; + void onReset() noexcept; + void onRewind(void* addr) noexcept; +protected: + const char* mName = nullptr; + void* mBase = nullptr; + uint32_t mSize = 0; +}; + +struct DebugAndHighWatermark : protected HighWatermark, protected Debug { + DebugAndHighWatermark() noexcept = default; + DebugAndHighWatermark(const char* name, void* base, size_t size) noexcept + : HighWatermark(name, base, size), Debug(name, base, size) { } + void onAlloc(void* p, size_t size, size_t alignment, size_t extra) noexcept { + HighWatermark::onAlloc(p, size, alignment, extra); + Debug::onAlloc(p, size, alignment, extra); + } + void onFree(void* p, size_t size) noexcept { + HighWatermark::onFree(p, size); + Debug::onFree(p, size); + } + void onReset() noexcept { + HighWatermark::onReset(); + Debug::onReset(); + } + void onRewind(void* addr) noexcept { + HighWatermark::onRewind(addr); + Debug::onRewind(addr); + } +}; + +} // namespace TrackingPolicy + +// ------------------------------------------------------------------------------------------------ +// Arenas +// ------------------------------------------------------------------------------------------------ + +template +class Arena { +public: + + Arena() = default; + + // construct an arena with a name and forward argument to its allocator + template + Arena(const char* name, size_t size, ARGS&& ... args) + : mArenaName(name), + mArea(size), + mAllocator(mArea, std::forward(args) ... ), + mListener(name, mArea.data(), mArea.size()) { + } + + template + Arena(const char* name, AreaPolicy&& area, ARGS&& ... args) + : mArenaName(name), + mArea(std::forward(area)), + mAllocator(mArea, std::forward(args) ... ), + mListener(name, mArea.data(), mArea.size()) { + } + + // allocate memory from arena with given size and alignment + // (acceptable size/alignment may depend on the allocator provided) + void* alloc(size_t size, size_t alignment = alignof(std::max_align_t), size_t extra = 0) noexcept { + std::lock_guard guard(mLock); + void* p = mAllocator.alloc(size, alignment, extra); + mListener.onAlloc(p, size, alignment, extra); + return p; + } + + // Allocate an array of trivially destructible objects + // for safety, we disable the object-based alloc method if the object type is not + // trivially destructible, since free() won't call the destructor and this is allocating + // an array. + template ::value>::type> + T* alloc(size_t count, size_t alignment = alignof(T), size_t extra = 0) noexcept { + return (T*)alloc(count * sizeof(T), alignment, extra); + } + + // return memory pointed by p to the arena + // (actual behaviour may depend on allocator provided) + void free(void* p) noexcept { + if (p) { + std::lock_guard guard(mLock); + mListener.onFree(p); + mAllocator.free(p); + } + } + + // some allocators require the size of the allocation for free + void free(void* p, size_t size) noexcept { + if (p) { + std::lock_guard guard(mLock); + mListener.onFree(p, size); + mAllocator.free(p, size); + } + } + + // some allocators don't have a free() call, but a single reset() or rewind() instead + void reset() noexcept { + std::lock_guard guard(mLock); + mListener.onReset(); + mAllocator.reset(); + } + + void* getCurrent() noexcept { return mAllocator.getCurrent(); } + + void rewind(void *addr) noexcept { + std::lock_guard guard(mLock); + mListener.onRewind(addr); + mAllocator.rewind(addr); + } + + // Allocate and construct an object + template + T* make(ARGS&& ... args) noexcept { + void* const p = this->alloc(sizeof(T), ALIGN); + return p ? new(p) T(std::forward(args)...) : nullptr; + } + + // destroys an object created with make() above, and frees associated memory + template + void destroy(T* p) noexcept { + if (p) { + p->~T(); + this->free((void*)p, sizeof(T)); + } + } + + char const* getName() const noexcept { return mArenaName; } + + AllocatorPolicy& getAllocator() noexcept { return mAllocator; } + AllocatorPolicy const& getAllocator() const noexcept { return mAllocator; } + + TrackingPolicy& getListener() noexcept { return mListener; } + TrackingPolicy const& getListener() const noexcept { return mListener; } + + AreaPolicy& getArea() noexcept { return mArea; } + AreaPolicy const& getArea() const noexcept { return mArea; } + + void setListener(TrackingPolicy listener) noexcept { + std::swap(mListener, listener); + } + + template + void emplaceListener(ARGS&& ... args) noexcept { + mListener.~TrackingPolicy(); + new (&mListener) TrackingPolicy(std::forward(args)...); + } + + // An arena can't be copied + Arena(Arena const& rhs) noexcept = delete; + Arena& operator=(Arena const& rhs) noexcept = delete; + + friend void swap(Arena& lhs, Arena& rhs) noexcept { + using std::swap; + swap(lhs.mArea, rhs.mArea); + swap(lhs.mAllocator, rhs.mAllocator); + swap(lhs.mLock, rhs.mLock); + swap(lhs.mListener, rhs.mListener); + swap(lhs.mArenaName, rhs.mArenaName); + } + +private: + char const* mArenaName = nullptr; + AreaPolicy mArea; + // note: we should use something like compressed_pair for the members below + AllocatorPolicy mAllocator; + LockingPolicy mLock; + TrackingPolicy mListener; +}; + +// ------------------------------------------------------------------------------------------------ + +template +using HeapArena = Arena; + +// ------------------------------------------------------------------------------------------------ + +// This doesn't implement our allocator concept, because it's too risky to use this as an allocator +// in particular, doing ArenaScope. +template +class ArenaScope { + + struct Finalizer { + void (*finalizer)(void* p) = nullptr; + Finalizer* next = nullptr; + }; + + template + static void destruct(void* p) noexcept { + static_cast(p)->~T(); + } + +public: + explicit ArenaScope(ARENA& allocator) + : mArena(allocator), mRewind(allocator.getCurrent()) { + } + + ArenaScope& operator=(const ArenaScope& rhs) = delete; + ArenaScope(ArenaScope&& rhs) noexcept = delete; + ArenaScope& operator=(ArenaScope&& rhs) noexcept = delete; + + ~ArenaScope() { + // run the finalizer chain + Finalizer* head = mFinalizerHead; + while (head) { + void* p = pointermath::add(head, sizeof(Finalizer)); + head->finalizer(p); + head = head->next; + } + // ArenaScope works only with Arena that implements rewind() + mArena.rewind(mRewind); + } + + template + T* make(ARGS&& ... args) noexcept { + T* o = nullptr; + if (std::is_trivially_destructible::value) { + o = mArena.template make(std::forward(args)...); + } else { + void* const p = (Finalizer*)mArena.alloc(sizeof(T), ALIGN, sizeof(Finalizer)); + if (p != nullptr) { + Finalizer* const f = static_cast(p) - 1; + // constructor must be called before adding the dtor to the list + // so that the ctor can allocate objects in a nested scope and have the + // finalizers called in reverse order. + o = new(p) T(std::forward(args)...); + f->finalizer = &destruct; + f->next = mFinalizerHead; + mFinalizerHead = f; + } + } + return o; + } + + void* allocate(size_t size, size_t alignment = 1) noexcept { + return mArena.template alloc(size, alignment, 0); + } + + template + T* allocate(size_t size, size_t alignment = alignof(T), size_t extra = 0) noexcept { + return mArena.template alloc(size, alignment, extra); + } + + // use with caution + ARENA& getAllocator() noexcept { return mArena; } + +private: + ARENA& mArena; + void* mRewind = nullptr; + Finalizer* mFinalizerHead = nullptr; +}; + + +template +class STLAllocator { +public: + using value_type = TYPE; + using pointer = TYPE*; + using const_pointer = const TYPE*; + using reference = TYPE&; + using const_reference = const TYPE&; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + using propagate_on_container_move_assignment = std::true_type; + using is_always_equal = std::true_type; + + template + struct rebind { using other = STLAllocator; }; + +public: + // we don't make this explicit, so that we can initialize a vector using a STLAllocator + // from an Arena, avoiding to have to repeat the vector type. + STLAllocator(ARENA& arena) : mArena(arena) { } // NOLINT(google-explicit-constructor) + + template + explicit STLAllocator(STLAllocator const& rhs) : mArena(rhs.mArena) { } + + TYPE* allocate(std::size_t n) { + auto p = static_cast(mArena.alloc(n * sizeof(TYPE), alignof(TYPE))); + assert_invariant(p); + return p; + } + + void deallocate(TYPE* p, std::size_t n) { + mArena.free(p, n * sizeof(TYPE)); + } + + // these should be out-of-class friends, but this doesn't seem to work with some compilers + // which complain about multiple definition each time a STLAllocator<> is instantiated. + template + bool operator==(const STLAllocator& rhs) const noexcept { + return std::addressof(mArena) == std::addressof(rhs.mArena); + } + + template + bool operator!=(const STLAllocator& rhs) const noexcept { + return !operator==(rhs); + } + +private: + template + friend class STLAllocator; + + ARENA& mArena; +}; + +} // namespace utils + +#endif // TNT_UTILS_ALLOCATOR_H diff --git a/web/include/filament/utils/BitmaskEnum.h b/web/include/filament/utils/BitmaskEnum.h new file mode 100644 index 00000000..56354956 --- /dev/null +++ b/web/include/filament/utils/BitmaskEnum.h @@ -0,0 +1,144 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_BITMASKENUM_H +#define TNT_UTILS_BITMASKENUM_H + +#include + +#include // for std::false_type + +#include +#include +#include + +namespace utils { + +template +struct EnableBitMaskOperators : public std::false_type { }; + +template +struct EnableIntegerOperators : public std::false_type { }; + +namespace Enum { + +template +size_t count(); + +} // namespace enum +} // namespace utils + +// ------------------------------------------------------------------------------------------------ + +template::value && utils::EnableIntegerOperators::value, int> = 0> +inline constexpr int operator+(Enum value) noexcept { + return int(value); +} + +template::value && utils::EnableIntegerOperators::value, int> = 0> +inline constexpr bool operator==(Enum lhs, size_t rhs) noexcept { + using underlying_t = std::underlying_type_t; + return underlying_t(lhs) == rhs; +} + +template::value && utils::EnableIntegerOperators::value, int> = 0> +inline constexpr bool operator==(size_t lhs, Enum rhs) noexcept { + return rhs == lhs; +} + +template::value && utils::EnableIntegerOperators::value, int> = 0> +inline constexpr bool operator!=(Enum lhs, size_t rhs) noexcept { + return !(rhs == lhs); +} + +template::value && utils::EnableIntegerOperators::value, int> = 0> +inline constexpr bool operator!=(size_t lhs, Enum rhs) noexcept { + return rhs != lhs; +} + +// ------------------------------------------------------------------------------------------------ + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr bool operator!(Enum rhs) noexcept { + using underlying = std::underlying_type_t; + return underlying(rhs) == 0; +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr Enum operator~(Enum rhs) noexcept { + using underlying = std::underlying_type_t; + return Enum(~underlying(rhs)); +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr Enum operator|(Enum lhs, Enum rhs) noexcept { + using underlying = std::underlying_type_t; + return Enum(underlying(lhs) | underlying(rhs)); +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr Enum operator&(Enum lhs, Enum rhs) noexcept { + using underlying = std::underlying_type_t; + return Enum(underlying(lhs) & underlying(rhs)); +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr Enum operator^(Enum lhs, Enum rhs) noexcept { + using underlying = std::underlying_type_t; + return Enum(underlying(lhs) ^ underlying(rhs)); +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr Enum operator|=(Enum& lhs, Enum rhs) noexcept { + return lhs = lhs | rhs; +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr Enum operator&=(Enum& lhs, Enum rhs) noexcept { + return lhs = lhs & rhs; +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr Enum operator^=(Enum& lhs, Enum rhs) noexcept { + return lhs = lhs ^ rhs; +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr bool none(Enum lhs) noexcept { + return !lhs; +} + +template::value && utils::EnableBitMaskOperators::value, int> = 0> +inline constexpr bool any(Enum lhs) noexcept { + return !none(lhs); +} + +#endif // TNT_UTILS_BITMASKENUM_H diff --git a/web/include/filament/utils/CString.h b/web/include/filament/utils/CString.h new file mode 100644 index 00000000..3e4c26db --- /dev/null +++ b/web/include/filament/utils/CString.h @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_CSTRING_H +#define TNT_UTILS_CSTRING_H + +// NOTE: this header should not include STL headers + +#include + +#include +#include +#include +#include +#include + +namespace utils { + +//! \privatesection +struct hashCStrings { + typedef const char* argument_type; + typedef size_t result_type; + result_type operator()(argument_type cstr) const noexcept { + size_t hash = 5381; + while (int c = *cstr++) { + hash = (hash * 33u) ^ size_t(c); + } + return hash; + } +}; + +template +using StringLiteral = const char[N]; + + +// ------------------------------------------------------------------------------------------------ + +class UTILS_PUBLIC CString { +public: + using value_type = char; + using size_type = uint32_t; + using difference_type = int32_t; + using reference = value_type&; + using const_reference = const value_type&; + using pointer = value_type*; + using const_pointer = const value_type*; + using iterator = value_type*; + using const_iterator = const value_type*; + + CString() noexcept {} // NOLINT(modernize-use-equals-default), Ubuntu compiler bug + + // Allocates memory and appends a null. This constructor can be used to hold arbitrary data + // inside the string (i.e. it can contain nulls or non-ASCII encodings). + CString(const char* cstr, size_t length); + + // Allocates memory for a string of size length plus space for the null terminating character. + // Also initializes the memory to 0. This constructor can be used to hold arbitrary data + // inside the string. + explicit CString(size_t length); + + // Allocates memory and copies traditional C string content. Unlike the above constructor, this + // does not allow embedded nulls. This is explicit because this operation is costly. + explicit CString(const char* cstr); + + template + CString(StringLiteral const& other) noexcept // NOLINT(google-explicit-constructor) + : CString(other, N - 1) { + } + + CString(const CString& rhs); + + CString(CString&& rhs) noexcept { + this->swap(rhs); + } + + + CString& operator=(const CString& rhs); + + CString& operator=(CString&& rhs) noexcept { + this->swap(rhs); + return *this; + } + + ~CString() noexcept { + if (mData) { + free(mData - 1); + } + } + + void swap(CString& other) noexcept { + // don't use std::swap(), we don't want an STL dependency in this file + auto *temp = mCStr; + mCStr = other.mCStr; + other.mCStr = temp; + } + + const_pointer c_str() const noexcept { return mCStr; } + pointer c_str() noexcept { return mCStr; } + const_pointer c_str_safe() const noexcept { return mData ? c_str() : ""; } + const_pointer data() const noexcept { return c_str(); } + pointer data() noexcept { return c_str(); } + size_type size() const noexcept { return mData ? mData[-1].length : 0; } + size_type length() const noexcept { return size(); } + bool empty() const noexcept { return size() == 0; } + + iterator begin() noexcept { return mCStr; } + iterator end() noexcept { return begin() + length(); } + const_iterator begin() const noexcept { return data(); } + const_iterator end() const noexcept { return begin() + length(); } + const_iterator cbegin() const noexcept { return begin(); } + const_iterator cend() const noexcept { return end(); } + + CString& replace(size_type pos, size_type len, const CString& str) noexcept; + CString& insert(size_type pos, const CString& str) noexcept { return replace(pos, 0, str); } + + const_reference operator[](size_type pos) const noexcept { + assert(pos < size()); + return begin()[pos]; + } + + reference operator[](size_type pos) noexcept { + assert(pos < size()); + return begin()[pos]; + } + + const_reference at(size_type pos) const noexcept { + assert(pos < size()); + return begin()[pos]; + } + + reference at(size_type pos) noexcept { + assert(pos < size()); + return begin()[pos]; + } + + reference front() noexcept { + assert(size()); + return begin()[0]; + } + + const_reference front() const noexcept { + assert(size()); + return begin()[0]; + } + + reference back() noexcept { + assert(size()); + return begin()[size() - 1]; + } + + const_reference back() const noexcept { + assert(size()); + return begin()[size() - 1]; + } + + // placement new declared as "throw" to avoid the compiler's null-check + inline void* operator new(size_t, void* ptr) { + assert(ptr); + return ptr; + } + + struct Hasher : private hashCStrings { + typedef CString argument_type; + typedef size_t result_type; + result_type operator()(const argument_type& s) const noexcept { + return hashCStrings::operator()(s.c_str()); + } + }; + +private: + struct Data { + size_type length; + }; + + // mCStr points to the C-string or nullptr. if non-null, mCStr is preceded by the string's size + union { + value_type *mCStr = nullptr; + Data* mData; // Data is stored at mData[-1] + }; + + int compare(const CString& rhs) const noexcept { + size_type lhs_size = size(); + size_type rhs_size = rhs.size(); + if (lhs_size < rhs_size) return -1; + if (lhs_size > rhs_size) return 1; + return strncmp(data(), rhs.data(), size()); + } + + friend bool operator==(CString const& lhs, CString const& rhs) noexcept { + return (lhs.data() == rhs.data()) || + ((lhs.size() == rhs.size()) && !strncmp(lhs.data(), rhs.data(), lhs.size())); + } + friend bool operator!=(CString const& lhs, CString const& rhs) noexcept { + return !(lhs == rhs); + } + friend bool operator<(CString const& lhs, CString const& rhs) noexcept { + return lhs.compare(rhs) < 0; + } + friend bool operator>(CString const& lhs, CString const& rhs) noexcept { + return lhs.compare(rhs) > 0; + } + friend bool operator>=(CString const& lhs, CString const& rhs) noexcept { + return !(lhs < rhs); + } + friend bool operator<=(CString const& lhs, CString const& rhs) noexcept { + return !(lhs > rhs); + } +}; + +// implement this for your type for automatic conversion to CString. Failing to do so leads +// to a compile-time failure. +template +CString to_string(T value) noexcept; + +// ------------------------------------------------------------------------------------------------ + +template +class UTILS_PUBLIC FixedSizeString { +public: + using value_type = char; + using pointer = value_type*; + using const_pointer = const value_type*; + static_assert(N > 0); + + FixedSizeString() noexcept = default; + explicit FixedSizeString(const char* str) noexcept { + strncpy(mData, str, N - 1); // leave room for the null terminator + } + + const_pointer c_str() const noexcept { return mData; } + pointer c_str() noexcept { return mData; } + +private: + value_type mData[N] = {0}; +}; + +} // namespace utils + +#endif // TNT_UTILS_CSTRING_H diff --git a/web/include/filament/utils/CallStack.h b/web/include/filament/utils/CallStack.h new file mode 100644 index 00000000..291a748c --- /dev/null +++ b/web/include/filament/utils/CallStack.h @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef UTILS_CALLSTACK_H +#define UTILS_CALLSTACK_H + +#include +#include +#include + +#include +#include + +namespace utils { + +/** + * CallStack captures the current's thread call stack. + */ +class CallStack { +public: + /** + * Creates an empty call stack + * @see CallStack::capture() + */ + CallStack() = default; + CallStack(const CallStack&) = default; + ~CallStack() = default; + + /** + * A convenience method to create and capture the stack trace in one go. + * @param ignore number frames to ignore at the top of the stack. + * @return A CallStack object + */ + static CallStack unwind(size_t ignore = 0) noexcept; + + /** + * Capture the current thread's stack and replaces the existing one if any. + * @param ignore number frames to ignore at the top of the stack. + */ + void update(size_t ignore = 0) noexcept; + + /** + * Get the number of stack frames this object has recorded. + * @return How many stack frames are accessible through operator[] + */ + size_t getFrameCount() const noexcept; + + /** + * Return the program-counter of each stack frame captured + * @param index of the frame between 0 and getFrameCount()-1 + * @return the program-counter of the stack-frame recorded at index \p index + * @throw std::out_of_range if the index is out of range + */ + intptr_t operator [](size_t index) const; + + /** Demangles a C++ type name */ + static utils::CString demangleTypeName(const char* mangled); + + template + static utils::CString typeName() { +#if UTILS_HAS_RTTI + return demangleTypeName(typeid(T).name()); +#else + return CString(""); +#endif + } + + /** + * Outputs a CallStack into a stream. + * This will print, when possible, the demangled names of functions corresponding to the + * program-counter recorded. + */ + friend utils::io::ostream& operator <<(utils::io::ostream& stream, const CallStack& callstack); + + bool operator <(const CallStack& rhs) const; + + inline bool operator >(const CallStack& rhs) const { + return rhs < *this; + } + + inline bool operator !=(const CallStack& rhs) const { + return *this < rhs || rhs < *this; + } + + inline bool operator >=(const CallStack& rhs) const { + return !operator <(rhs); + } + + inline bool operator <=(const CallStack& rhs) const { + return !operator >(rhs); + } + + inline bool operator ==(const CallStack& rhs) const { + return !operator !=(rhs); + } + +private: + void update_gcc(size_t ignore) noexcept; + + static utils::CString demangle(const char* mangled); + + static constexpr size_t NUM_FRAMES = 20; + + struct StackFrameInfo { + intptr_t pc; + }; + + size_t m_frame_count = 0; + StackFrameInfo m_stack[NUM_FRAMES]; +}; + +} // namespace utils + +#endif // UTILS_CALLSTACK_H diff --git a/web/include/filament/utils/Entity.h b/web/include/filament/utils/Entity.h new file mode 100644 index 00000000..58fdf606 --- /dev/null +++ b/web/include/filament/utils/Entity.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_ENTITY_H +#define TNT_UTILS_ENTITY_H + +#include + +#include +#include + +namespace utils { + +class UTILS_PUBLIC Entity { +public: + // this can be used to create an array of to-be-filled entities (see create()) + Entity() noexcept { } // NOLINT(modernize-use-equals-default), Ubuntu compiler bug + + // Entities can be copied + Entity(const Entity& e) noexcept = default; + Entity(Entity&& e) noexcept = default; + Entity& operator=(const Entity& e) noexcept = default; + Entity& operator=(Entity&& e) noexcept = default; + + // Entities can be compared + bool operator==(Entity e) const { return e.mIdentity == mIdentity; } + bool operator!=(Entity e) const { return e.mIdentity != mIdentity; } + + // Entities can be sorted + bool operator<(Entity e) const { return e.mIdentity < mIdentity; } + + bool isNull() const noexcept { + return mIdentity == 0; + } + + // an id that can be used for debugging/printing + uint32_t getId() const noexcept { + return mIdentity; + } + + explicit operator bool() const noexcept { return !isNull(); } + + void clear() noexcept { mIdentity = 0; } + + // Exports an entity to an int32_t which can be used "as is" in the Java programing language. + static int32_t smuggle(Entity entity) noexcept { + return int32_t(entity.getId()); + } + + // Imports an entity from an int32_t generated by smuggle() above. + static Entity import(int32_t identity) noexcept { + return Entity{ Type(identity) }; + } + + struct Hasher { + typedef Entity argument_type; + typedef size_t result_type; + result_type operator()(argument_type const& e) const { + return e.getId(); + } + }; + +private: + friend class EntityManager; + friend class EntityManagerImpl; + using Type = uint32_t; + + explicit Entity(Type identity) noexcept : mIdentity(identity) { } + + Type mIdentity = 0; +}; + +} // namespace utils + +#endif // TNT_UTILS_ENTITY_H diff --git a/web/include/filament/utils/EntityInstance.h b/web/include/filament/utils/EntityInstance.h new file mode 100644 index 00000000..b164ed3f --- /dev/null +++ b/web/include/filament/utils/EntityInstance.h @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_ENTITYINSTANCE_H +#define TNT_UTILS_ENTITYINSTANCE_H + +#include + +#include + +#include + + +namespace utils { + +class UTILS_PUBLIC EntityInstanceBase { +public: + using Type = uint32_t; +protected: + Type mInstance = 0; +}; + +template +class UTILS_PUBLIC EntityInstance : public EntityInstanceBase { +public: + // default Instance is invalid + constexpr EntityInstance() noexcept = default; + + // check if this Instance is valid + constexpr bool isValid() const noexcept { return mInstance != 0; } + + // Instances of same type can be copied/assigned + constexpr EntityInstance(EntityInstance const& other) noexcept = default; + constexpr EntityInstance& operator=(EntityInstance const& other) noexcept = default; + + // EDIT instances can be converted to "read" Instances of same type + template > + constexpr explicit EntityInstance(EntityInstance const& other) noexcept { + mInstance = other.asValue(); + } + template > + EntityInstance& operator=(EntityInstance const& other) noexcept { + mInstance = other.asValue(); + return *this; + } + + // Instances can be compared + constexpr bool operator!=(EntityInstance e) const { return mInstance != e.mInstance; } + constexpr bool operator==(EntityInstance e) const { return mInstance == e.mInstance; } + + // Instances can be sorted + constexpr bool operator<(EntityInstance e) const { return mInstance < e.mInstance; } + constexpr bool operator<=(EntityInstance e) const { return mInstance <= e.mInstance; } + constexpr bool operator>(EntityInstance e) const { return mInstance > e.mInstance; } + constexpr bool operator>=(EntityInstance e) const { return mInstance >= e.mInstance; } + + // and we can iterate + constexpr EntityInstance& operator++() noexcept { ++mInstance; return *this; } + constexpr EntityInstance& operator--() noexcept { --mInstance; return *this; } + constexpr const EntityInstance operator++(int) const noexcept { return EntityInstance{ mInstance + 1 }; } + constexpr const EntityInstance operator--(int) const noexcept { return EntityInstance{ mInstance - 1 }; } + + + // return a value for this Instance (mostly needed for debugging + constexpr uint32_t asValue() const noexcept { return mInstance; } + + // auto convert to Type so it can be used as an index + constexpr operator Type() const noexcept { return mInstance; } // NOLINT(google-explicit-constructor) + + // conversion from Type so we can initialize from an index + constexpr EntityInstance(Type value) noexcept { mInstance = value; } // NOLINT(google-explicit-constructor) +}; + +} // namespace utils + +#endif // TNT_UTILS_ENTITYINSTANCE_H diff --git a/web/include/filament/utils/EntityManager.h b/web/include/filament/utils/EntityManager.h new file mode 100644 index 00000000..8fac30cc --- /dev/null +++ b/web/include/filament/utils/EntityManager.h @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_ENTITYMANAGER_H +#define TNT_UTILS_ENTITYMANAGER_H + +#include +#include + +#include +#include + +#ifndef FILAMENT_UTILS_TRACK_ENTITIES +#define FILAMENT_UTILS_TRACK_ENTITIES false +#endif + +#if FILAMENT_UTILS_TRACK_ENTITIES +#include +#include +#endif + +namespace utils { + +class UTILS_PUBLIC EntityManager { +public: + // Get the global EntityManager. It is recommended to cache this value. + // Thread Safe. + static EntityManager& get() noexcept; + + class Listener { + public: + virtual void onEntitiesDestroyed(size_t n, Entity const* entities) noexcept = 0; + protected: + virtual ~Listener() noexcept; + }; + + // maximum number of entities that can exist at the same time + static size_t getMaxEntityCount() noexcept { + // because index 0 is reserved, we only have 2^GENERATION_SHIFT - 1 valid indices + return RAW_INDEX_COUNT - 1; + } + + // number of active Entities + size_t getEntityCount() const noexcept; + + // Create n entities. Thread safe. + void create(size_t n, Entity* entities); + + // destroys n entities. Thread safe. + void destroy(size_t n, Entity* entities) noexcept; + + // Create a new Entity. Thread safe. + // Return Entity.isNull() if the entity cannot be allocated. + Entity create() { + Entity e; + create(1, &e); + return e; + } + + // Destroys an Entity. Thread safe. + void destroy(Entity e) noexcept { + destroy(1, &e); + } + + // Return whether the given Entity has been destroyed (false) or not (true). + // Thread safe. + bool isAlive(Entity e) const noexcept { + assert(getIndex(e) < RAW_INDEX_COUNT); + return (!e.isNull()) && (getGeneration(e) == mGens[getIndex(e)]); + } + + // Registers a listener to be called when an entity is destroyed. Thread safe. + // If the listener is already registered, this method has no effect. + void registerListener(Listener* l) noexcept; + + // unregisters a listener. + void unregisterListener(Listener* l) noexcept; + + + /* no user serviceable parts below */ + + // current generation of the given index. Use for debugging and testing. + uint8_t getGenerationForIndex(size_t index) const noexcept { + return mGens[index]; + } + + // singleton, can't be copied + EntityManager(const EntityManager& rhs) = delete; + EntityManager& operator=(const EntityManager& rhs) = delete; + +#if FILAMENT_UTILS_TRACK_ENTITIES + std::vector getActiveEntities() const; + void dumpActiveEntities(utils::io::ostream& out) const; +#endif + +private: + friend class EntityManagerImpl; + EntityManager(); + ~EntityManager(); + + // GENERATION_SHIFT determines how many simultaneous Entities are available, the + // minimum memory requirement is 2^GENERATION_SHIFT bytes. + static constexpr const int GENERATION_SHIFT = 17; + static constexpr const size_t RAW_INDEX_COUNT = (1 << GENERATION_SHIFT); + static constexpr const Entity::Type INDEX_MASK = (1 << GENERATION_SHIFT) - 1u; + + static inline Entity::Type getGeneration(Entity e) noexcept { + return e.getId() >> GENERATION_SHIFT; + } + static inline Entity::Type getIndex(Entity e) noexcept { + return e.getId() & INDEX_MASK; + } + static inline Entity::Type makeIdentity(Entity::Type g, Entity::Type i) noexcept { + return (g << GENERATION_SHIFT) | (i & INDEX_MASK); + } + + // stores the generation of each index. + uint8_t * const mGens; +}; + +} // namespace utils + +#endif // TNT_UTILS_ENTITYMANAGER_H diff --git a/web/include/filament/utils/FixedCapacityVector.h b/web/include/filament/utils/FixedCapacityVector.h new file mode 100644 index 00000000..540b42b2 --- /dev/null +++ b/web/include/filament/utils/FixedCapacityVector.h @@ -0,0 +1,420 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_FIXEDCAPACITYVECTOR_H +#define TNT_UTILS_FIXEDCAPACITYVECTOR_H + +#include +#include + +#include +#include +#include +#include +#include +#include // TODO: is this necessary? + +#include +#include + +#ifndef NDEBUG +#define FILAMENT_FORCE_CAPACITY_CHECK true +#else +#define FILAMENT_FORCE_CAPACITY_CHECK false +#endif + +namespace utils { + +/** + * FixedCapacityVector is (almost) a drop-in replacement for std::vector<> except it has a + * fixed capacity decided at runtime. The vector storage is never reallocated unless reserve() + * is called. Operations that add elements to the vector can fail if there is not enough + * capacity. + * + * An empty vector with a given capacity is created with + * FixedCapacityVector::with_capacity( capacity ); + * + * NOTE: When passing an initial size into the FixedCapacityVector constructor, default construction + * of the elements is skipped when their construction is trivial. This behavior is different from + * std::vector. e.g., std::vector(4) constructs 4 zeros while FixedCapacityVector(4) + * allocates 4 uninitialized values. Note that zero initialization is easily achieved by passing in + * the optional value argument, e.g. FixedCapacityVector(4, 0) or foo.resize(4, 0). + */ +template, bool CapacityCheck = true> +class UTILS_PUBLIC FixedCapacityVector { +public: + using allocator_type = A; + using value_type = T; + using reference = T&; + using const_reference = T const&; + using size_type = uint32_t; + using difference_type = int32_t; + using pointer = T*; + using const_pointer = T const*; + using iterator = pointer; + using const_iterator = const_pointer; + using reverse_iterator = std::reverse_iterator; + using const_reverse_iterator = std::reverse_iterator; + +private: + using storage_traits = std::allocator_traits; + +public: + /** returns an empty vector with the specified capacity */ + static FixedCapacityVector with_capacity( + size_type capacity, const allocator_type& allocator = allocator_type()) { + return FixedCapacityVector(construct_with_capacity, capacity, allocator); + } + + FixedCapacityVector() = default; + + explicit FixedCapacityVector(const allocator_type& allocator) noexcept + : mCapacityAllocator({}, allocator) { + } + + explicit FixedCapacityVector(size_type size, const allocator_type& allocator = allocator_type()) + : mSize(size), + mCapacityAllocator(size, allocator) { + mData = this->allocator().allocate(this->capacity()); + construct(begin(), end()); + } + + FixedCapacityVector(std::initializer_list list, + const allocator_type& alloc = allocator_type()) + : mSize(list.size()), + mCapacityAllocator(list.size(), alloc) { + mData = this->allocator().allocate(this->capacity()); + std::uninitialized_copy(list.begin(), list.end(), begin()); + } + + FixedCapacityVector(size_type size, const_reference value, + const allocator_type& alloc = allocator_type()) + : mSize(size), + mCapacityAllocator(size, alloc) { + mData = this->allocator().allocate(this->capacity()); + construct(begin(), end(), value); + } + + FixedCapacityVector(FixedCapacityVector const& rhs) + : mSize(rhs.mSize), + mCapacityAllocator(rhs.capacity(), + storage_traits::select_on_container_copy_construction(rhs.allocator())) { + mData = allocator().allocate(capacity()); + std::uninitialized_copy(rhs.begin(), rhs.end(), begin()); + } + + FixedCapacityVector(FixedCapacityVector&& rhs) noexcept { + this->swap(rhs); + } + + ~FixedCapacityVector() noexcept { + destroy(begin(), end()); + allocator().deallocate(data(), capacity()); + } + + FixedCapacityVector& operator=(FixedCapacityVector const& rhs) { + if (this != &rhs) { + FixedCapacityVector t(rhs); + this->swap(t); + } + return *this; + } + + FixedCapacityVector& operator=(FixedCapacityVector&& rhs) noexcept { + this->swap(rhs); + return *this; + } + + allocator_type get_allocator() const noexcept { + return mCapacityAllocator.second(); + } + + // -------------------------------------------------------------------------------------------- + + iterator begin() noexcept { return data(); } + iterator end() noexcept { return data() + size(); } + const_iterator begin() const noexcept { return data(); } + const_iterator end() const noexcept { return data() + size(); } + reverse_iterator rbegin() noexcept { return reverse_iterator(end()); } + const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } + reverse_iterator rend() noexcept { return reverse_iterator(begin()); } + const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } + const_iterator cbegin() const noexcept { return begin(); } + const_iterator cend() const noexcept { return end(); } + const_reverse_iterator crbegin() const noexcept { return rbegin(); } + const_reverse_iterator crend() const noexcept { return rend(); } + + // -------------------------------------------------------------------------------------------- + + size_type size() const noexcept { return mSize; } + size_type capacity() const noexcept { return mCapacityAllocator.first(); } + bool empty() const noexcept { return size() == 0; } + size_type max_size() const noexcept { + return std::min(storage_traits::max_size(allocator()), + std::numeric_limits::max()); + } + + // -------------------------------------------------------------------------------------------- + + reference operator[](size_type n) noexcept { + assert(n < size()); + return *(begin() + n); + } + + const_reference operator[](size_type n) const noexcept { + assert(n < size()); + return *(begin() + n); + } + + reference front() noexcept { return *begin(); } + const_reference front() const noexcept { return *begin(); } + reference back() noexcept { return *(end() - 1); } + const_reference back() const noexcept { return *(end() - 1); } + value_type* data() noexcept { return mData; } + const value_type* data() const noexcept { return mData; } + + // -------------------------------------------------------------------------------------------- + + void push_back(const_reference v) { + auto pos = assertCapacityForSize(size() + 1); + ++mSize; + storage_traits::construct(allocator(), pos, v); + } + + void push_back(value_type&& v) { + auto pos = assertCapacityForSize(size() + 1); + ++mSize; + storage_traits::construct(allocator(), pos, std::move(v)); + } + + template + reference emplace_back(ARGS&& ... args) { + auto pos = assertCapacityForSize(size() + 1); + ++mSize; + storage_traits::construct(allocator(), pos, std::forward(args)...); + return *pos; + } + + void pop_back() { + assert(!empty()); + --mSize; + destroy(end(), end() + 1); + } + + iterator insert(const_iterator position, const_reference v) { + if (position == end()) { + push_back(v); + } else { + assertCapacityForSize(size() + 1); + pointer p = const_cast(position); + move_range(p, end(), p + 1); + ++mSize; + // here we handle inserting an element of this vector! + const_pointer pv = std::addressof(v); + if (p <= pv && pv < end()) { + *p = *(pv + 1); + } else { + *p = v; + } + } + return const_cast(position); + } + + iterator insert(const_iterator position, value_type&& v) { + if (position == end()) { + push_back(std::move(v)); + } else { + assertCapacityForSize(size() + 1); + pointer p = const_cast(position); + move_range(p, end(), p + 1); + ++mSize; + *p = std::move(v); + } + return const_cast(position); + } + + iterator erase(const_iterator pos) { + assert(pos != end()); + return erase(pos, pos + 1); + } + + iterator erase(const_iterator first, const_iterator last) { + assert(first <= last); + auto e = std::move(const_cast(last), end(), const_cast(first)); + destroy(e, end()); + mSize -= std::distance(first, last); + return const_cast(first); + } + + void clear() noexcept { + destroy(begin(), end()); + mSize = 0; + } + + void resize(size_type count) { + assertCapacityForSize(count); + if constexpr(std::is_trivially_constructible_v && + std::is_trivially_destructible_v) { + // we check for triviality here so that the implementation could be non-inline + mSize = count; + } else { + resize_non_trivial(count); + } + } + + void resize(size_type count, const_reference v) { + assertCapacityForSize(count); + resize_non_trivial(count, v); + } + + void swap(FixedCapacityVector& other) { + using std::swap; + swap(mData, other.mData); + swap(mSize, other.mSize); + mCapacityAllocator.swap(other.mCapacityAllocator); + } + + UTILS_NOINLINE + void reserve(size_type c) { + if (c > capacity()) { + FixedCapacityVector t(construct_with_capacity, c, allocator()); + t.mSize = size(); + std::uninitialized_move(begin(), end(), t.begin()); + this->swap(t); + } + } + +private: + enum construct_with_capacity_tag{ construct_with_capacity }; + + FixedCapacityVector(construct_with_capacity_tag, + size_type capacity, const allocator_type& allocator = allocator_type()) + : mCapacityAllocator(capacity, allocator) { + mData = this->allocator().allocate(this->capacity()); + } + + allocator_type& allocator() noexcept { + return mCapacityAllocator.second(); + } + + allocator_type const& allocator() const noexcept { + return mCapacityAllocator.second(); + } + + iterator assertCapacityForSize(size_type s) { + if constexpr(CapacityCheck || FILAMENT_FORCE_CAPACITY_CHECK) { + ASSERT_PRECONDITION(capacity() >= s, + "capacity exceeded: requested size %lu, available capacity %lu.", + (unsigned long)s, (unsigned long)capacity()); + } + return end(); + } + + inline void construct(iterator first, iterator last) noexcept { + // we check for triviality here so that the implementation could be non-inline + if constexpr(!std::is_trivially_constructible_v) { + construct_non_trivial(first, last); + } + } + + void construct(iterator first, iterator last, const_reference proto) noexcept { + UTILS_NOUNROLL + while (first != last) { + storage_traits::construct(allocator(), first++, proto); + } + } + + // should this be NOINLINE? + void construct_non_trivial(iterator first, iterator last) noexcept { + UTILS_NOUNROLL + while (first != last) { + storage_traits::construct(allocator(), first++); + } + } + + + inline void destroy(iterator first, iterator last) noexcept { + // we check for triviality here so that the implementation could be non-inline + if constexpr(!std::is_trivially_destructible_v) { + destroy_non_trivial(first, last); + } + } + + // should this be NOINLINE? + void destroy_non_trivial(iterator first, iterator last) noexcept { + UTILS_NOUNROLL + while (first != last) { + storage_traits::destroy(allocator(), --last); + } + } + + // should this be NOINLINE? + void resize_non_trivial(size_type count) { + if (count > size()) { + construct(end(), begin() + count); + } else if (count < size()) { + destroy(begin() + count, end()); + } + mSize = count; + } + + // should this be NOINLINE? + void resize_non_trivial(size_type count, const_reference v) { + if (count > size()) { + construct(end(), begin() + count, v); + } else if (count < size()) { + destroy(begin() + count, end()); + } + mSize = count; + } + + // should this be NOINLINE? + void move_range(pointer s, pointer e, pointer to) { + if constexpr(std::is_trivially_copy_assignable_v + && std::is_trivially_destructible_v) { + // this generates memmove -- which doesn't happen otherwise + std::move_backward(s, e, to + std::distance(s, e)); + } else { + pointer our_end = end(); + difference_type n = our_end - to; // nb of elements to move by operator= + pointer i = s + n; // 1st element to move by move ctor + for (pointer d = our_end ; i < our_end ; ++i, ++d) { + storage_traits::construct(allocator(), d, std::move(*i)); + } + std::move_backward(s, s + n, our_end); + } + } + + template + class SizeTypeWrapper { + TYPE value{}; + public: + SizeTypeWrapper() noexcept = default; + SizeTypeWrapper(SizeTypeWrapper const& rhs) noexcept = default; + explicit SizeTypeWrapper(TYPE value) noexcept : value(value) { } + SizeTypeWrapper& operator=(TYPE rhs) noexcept { value = rhs; return *this; } + SizeTypeWrapper& operator=(SizeTypeWrapper& rhs) noexcept = delete; + operator TYPE() const noexcept { return value; } + }; + + pointer mData{}; + size_type mSize{}; + compressed_pair, allocator_type> mCapacityAllocator{}; +}; + +} // namespace utils + +#endif // TNT_UTILS_FIXEDCAPACITYVECTOR_H diff --git a/web/include/filament/utils/Invocable.h b/web/include/filament/utils/Invocable.h new file mode 100644 index 00000000..49b43071 --- /dev/null +++ b/web/include/filament/utils/Invocable.h @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_INVOKABLE_H +#define TNT_UTILS_INVOKABLE_H + +#include +#include + +#include + +namespace utils { + +/* + * Invocable is a move-only general purpose function wrapper. Instances can + * store and invoke lambda expressions and other function objects. + * + * It is similar to std::function, with the following differences: + * - Invocable is move only. + * - Invocable can capture move only types. + * - No conversion between 'compatible' functions. + * - No small buffer optimization + */ + +// Helper for enabling methods if Fn matches the function signature +// requirements of the Invocable type. +#if __cplusplus >= 201703L +// only available on C++17 and up +template +using EnableIfFnMatchesInvocable = + std::enable_if_t && + std::is_same_v>, int>; +#else +template +using EnableIfFnMatchesInvocable = std::enable_if_t; +#endif + +template +class Invocable; + +template +class Invocable { +public: + // Creates an Invocable that does not contain a functor. + // Will evaluate to false. + Invocable() = default; + + ~Invocable() noexcept; + + // Creates an Invocable from the functor passed in. + template = 0> + Invocable(Fn&& fn) noexcept; // NOLINT(google-explicit-constructor) + + Invocable(const Invocable&) = delete; + Invocable(Invocable&& rhs) noexcept; + + Invocable& operator=(const Invocable&) = delete; + Invocable& operator=(Invocable&& rhs) noexcept; + + // Invokes the invocable with the args passed in. + // If the Invocable is empty, this will assert. + template + R operator()(OperatorArgs&& ... args); + template + R operator()(OperatorArgs&& ... args) const; + + // Evaluates to true if Invocable contains a functor, false otherwise. + explicit operator bool() const noexcept; + +private: + void* mInvocable = nullptr; + void (*mDeleter)(void*) = nullptr; + R (* mInvoker)(void*, Args...) = nullptr; +}; + +template +template> +Invocable::Invocable(Fn&& fn) noexcept + : mInvocable(new Fn(std::forward>(fn))), + mDeleter(+[](void* erased_invocable) { + auto typed_invocable = static_cast(erased_invocable); + delete typed_invocable; + }), + mInvoker(+[](void* erased_invocable, Args... args) -> R { + auto typed_invocable = static_cast(erased_invocable); + return (*typed_invocable)(std::forward(args)...); + }) +{ +} + +template +Invocable::~Invocable() noexcept { + if (mDeleter) { + mDeleter(mInvocable); + } +} + +template +Invocable::Invocable(Invocable&& rhs) noexcept + : mInvocable(rhs.mInvocable), + mDeleter(rhs.mDeleter), + mInvoker(rhs.mInvoker) { + rhs.mInvocable = nullptr; + rhs.mDeleter = nullptr; + rhs.mInvoker = nullptr; +} + +template +Invocable& Invocable::operator=(Invocable&& rhs) noexcept { + if (this != &rhs) { + std::swap(mInvocable, rhs.mInvocable); + std::swap(mDeleter, rhs.mDeleter); + std::swap(mInvoker, rhs.mInvoker); + } + return *this; +} + +template +template +R Invocable::operator()(OperatorArgs&& ... args) { + assert(mInvoker && mInvocable); + return mInvoker(mInvocable, std::forward(args)...); +} + +template +template +R Invocable::operator()(OperatorArgs&& ... args) const { + assert(mInvoker && mInvocable); + return mInvoker(mInvocable, std::forward(args)...); +} + +template +Invocable::operator bool() const noexcept { + return mInvoker != nullptr && mInvocable != nullptr; +} + +} // namespace utils + +#endif // TNT_UTILS_INVOKABLE_H diff --git a/web/include/filament/utils/Log.h b/web/include/filament/utils/Log.h new file mode 100644 index 00000000..77886426 --- /dev/null +++ b/web/include/filament/utils/Log.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_LOG_H +#define TNT_UTILS_LOG_H + +#include +#include + +namespace utils { + +struct UTILS_PUBLIC Loggers { + // DEBUG level logging stream + io::ostream& d; + + // ERROR level logging stream + io::ostream& e; + + // WARNING level logging stream + io::ostream& w; + + // INFORMATION level logging stream + io::ostream& i; + + // VERBOSE level logging stream + io::ostream& v; +}; + +extern UTILS_PUBLIC Loggers const slog; + +} // namespace utils + +#endif // TNT_UTILS_LOG_H diff --git a/web/include/filament/utils/Mutex.h b/web/include/filament/utils/Mutex.h new file mode 100644 index 00000000..1de6257f --- /dev/null +++ b/web/include/filament/utils/Mutex.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_MUTEX_H +#define TNT_UTILS_MUTEX_H + +#if defined(__ANDROID__) +#include +#else +#include +#endif + +#endif // TNT_UTILS_MUTEX_H diff --git a/web/include/filament/utils/NameComponentManager.h b/web/include/filament/utils/NameComponentManager.h new file mode 100644 index 00000000..a161b56a --- /dev/null +++ b/web/include/filament/utils/NameComponentManager.h @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_NAMECOMPONENTMANAGER_H +#define TNT_UTILS_NAMECOMPONENTMANAGER_H + +#include +#include +#include +#include +#include + +#include +#include + +namespace utils { + +class EntityManager; + +/** + * \class NameComponentManager NameComponentManager.h utils/NameComponentManager.h + * \brief Allows clients to associate string labels with entities. + * + * To access the name of an existing entity, clients should first use NameComponentManager to get a + * temporary handle called an \em instance. Please note that instances are ephemeral; clients should + * store entities, not instances. + * + * Usage example: + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * auto names = new NameComponentManager(EntityManager::get()); + * names->addComponent(myEntity); + * names->setName(names->getInstance(myEntity), "Jeanne d'Arc"); + * ... + * printf("%s\n", names->getName(names->getInstance(myEntity)); + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ +class UTILS_PUBLIC NameComponentManager : private SingleInstanceComponentManager { +public: + using Instance = EntityInstance; + + /** + * Creates a new name manager associated with the given entity manager. + * + * Note that multiple string labels could be associated with each entity simply by + * creating multiple instances of NameComponentManager. + */ + explicit NameComponentManager(EntityManager& em); + ~NameComponentManager(); + + /** + * Checks if the given entity already has a name component. + */ + using SingleInstanceComponentManager::hasComponent; + + /** + * Gets a temporary handle that can be used to access the name. + * + * @return Non-zero handle if the entity has a name component, 0 otherwise. + */ + Instance getInstance(Entity e) const noexcept { + return { SingleInstanceComponentManager::getInstance(e) }; + } + + /** + * Adds a name component to the given entity if it doesn't already exist. + */ + void addComponent(Entity e); + + /** + * Removes the name component to the given entity if it exists. + */ + void removeComponent(Entity e); + + /** + * Stores a copy of the given string and associates it with the given instance. + */ + void setName(Instance instance, const char* name) noexcept; + + /** + * Retrieves the string associated with the given instance, or nullptr if none exists. + * + * @return pointer to the copy that was made during setName() + */ + const char* getName(Instance instance) const noexcept; + + void gc(EntityManager& em) noexcept { + SingleInstanceComponentManager::gc(em, [this](Entity e) { + removeComponent(e); + }); + } +}; + +} // namespace utils + +#endif // TNT_UTILS_NAMECOMPONENTMANAGER_H diff --git a/web/include/filament/utils/Panic.h b/web/include/filament/utils/Panic.h new file mode 100644 index 00000000..df24cac2 --- /dev/null +++ b/web/include/filament/utils/Panic.h @@ -0,0 +1,563 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_PANIC_H +#define TNT_UTILS_PANIC_H + +#include + +#include +#include + +#ifdef __EXCEPTIONS +# define UTILS_EXCEPTIONS 1 +#else +#endif + +/** + * @defgroup errors Handling Catastrophic Failures (Panics) + * + * @brief Failure detection and reporting facilities + * + * ## What's a Panic? ## + * + * In the context of this document, a _panic_ is a type of error due to a _contract violation_, + * it shouldn't be confused with a _result_ or _status_ code. The POSIX API for instance, + * unfortunately often conflates the two. + * @see + * + * + * Here we give the following definition of a _panic_: + * + * 1. Failures to meet a function's own **postconditions**\n + * The function cannot establish one of its own postconditions, such as (but not limited to) + * producing a valid return value object. + * + * Often these failures are only detectable at runtime, for instance they can be caused by + * arithmetic errors, as it was the case for the Ariane 5 rocket. Ariane 5 crashed because it + * reused an inertial module from Ariane 4, which didn't account for the greater horizontal + * acceleration of Ariane 5 and caused an overflow in the computations. Ariane 4's module + * wasn't per-say buggy, but was improperly used and failed to meet, obviously, certain + * postconditions. + * @see + * + * 2. Failures to meet the **preconditions** of any of a function's callees\n + * The function cannot meet a precondition of another function it must call, such as a + * restriction on a parameter. + * + * Not to be confused with the case where the preconditions of a function are already + * violated upon entry, which indicates a programming error from the caller. + * + * Typically these failures can be avoided and arise because of programming errors. + * + * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * ## Failure reporting vs. handling ## + * + * Very often when a panic, as defined above, is detected, the program has little other choice + * but to terminate.\n + * Typically these situations can be handled by _assert()_. However, _assert()_ also conflates two + * very different concepts: detecting and handling failures.\n + * The place where a failure is detected is rarely the place where there is enough + * context to decide what to do. _assert()_ terminates the program which, may or may not be + * appropriate. At the very least the failure must be logged (which _assert()_ does in a crude way), + * but some other actions might need to happen, such as:\n + * + * - logging the failure in the system-wide logger + * - providing enough information in development builds to analyze/debug the problem + * - cleanly releasing some resources, such as communication channels with other processes\n + * e.g.: to avoid their pre- or postconditions from being violated as well. + * + * In some _rare_ cases, the failure might even be ignored altogether because it doesn't matter in + * the context where it happened. This decision clearly doesn't always lie at the failure-site. + * + * It is therefore important to separate failure detection from handling. + * + * + * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * ## Failure detection and handling facilities ## + * + * Clearly, catastrophic failures should be **rare**; in fact they should + * never happen, except possibly for "failures to meet a function's own postconditions", which + * may depend on external factors and should still be very rare. Yet, when a failure happens, it + * must be detected and handled appropriately.\n + * Since panics are rare, it is desirable that the handling mechanism be as unobtrusive + * as possible, without allowing such failures to go unnoticed or swallowed by mistake. Ideally, the + * programmer using an API should have nothing special to do to handle that API's failure + * conditions.\n\n + * + * An important feature of the Panic Handling facilities here is that **panics are not part of + * the API of a function or method**\n\n + * + * + * The panic handling facility has the following benefits: + * - provides an easy way to detect and report failure + * - separates failure detection from handling + * - makes it hard for detected failures to be ignored (i.e.: not handled) + * - doesn't add burden on the API design + * - doesn't add overhead (visual or otherwise) at call sites + * - has very little performance overhead for failure detection + * - has little to no performance impact for failure handling in the common (success) case + * - is flexible and extensible + * + * Since we have established that failures are **rare**, **exceptional** situations, it would be + * appropriate to handle them with an _assert_ mechanism and that's what the API below + * provides. However, under-the-hood it uses C++ exceptions as a means to separate + * _reporting_ from _handling_. + * + * \note On devices where exceptions are not supported or appropriate, these APIs can be turned + * into a regular _std::terminate()_. + * + * + * ASSERT_PRECONDITION(condition, format, ...) + * ASSERT_POSTCONDITION(condition, format, ...) + * ASSERT_ARITHMETIC(condition, format, ...) + * ASSERT_DESTRUCTOR(condition, format, ...) + * + * + * @see ASSERT_PRECONDITION, ASSERT_POSTCONDITION, ASSERT_ARITHMETIC + * @see ASSERT_DESTRUCTOR + * + * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * ## Writing code that can assert ## + * + * Because we've separated failure reporting from failure handling, there are some considerations + * that need to be thought about when writing code that calls the macros above (i.e.: the program + * won't terminate at the point where the failure is detected).\n\n + * + * + * ### Panic guarantees ### + * + * After the failure condition is reported by a function, additional guarantees may be provided + * with regards to the state of the program. The following four levels of guarantee are + * generally recognized, each of which is a strict superset of its successors: + * + * 1. Nothrow exception guarantee\n + * The function never asserts. e.g.: This should always be the case with destructors.\n\n + * + * 2. Strong exception guarantee\n + * If the function asserts, the state of the program is rolled back to the state just before + * the function call.\n\n + * + * 3. Basic exception guarantee\n + * If the function asserts, the program is in a valid state. It may require cleanup, + * but all invariants are intact.\n\n + * + * 4. No exception guarantee\n + * If the function asserts, the program may not be in a valid state: resource leaks, memory + * corruption, or other invariant-destroying failures may have occurred. + * + * In each function, give the **strongest** safety guarantee that won't penalize callers who + * don't need it, but **always give at least the basic guarantee**. The RAII (Resource + * Acquisition Is Initialization) pattern can help with achieving these guarantees. + * + * @see [RAII](http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization) + * + * ### Special considerations for Constructors ### + * + * Constructors are a bit special because if a failure occurs during their execution, the + * destructor won't be called (how could it? since the object wasn't constructed!). This can lead + * to leaked resources allocated in the constructor prior to the failure. Thankfully there is + * a nice C++ syntax to handle this case: + * + * @code + * Foo::Foo(size_t s) try : m_size(s), m_buf(new uint32_t[s]) { + * ASSERT_POSTCONDITION(s&0xF==0, + * "object size is %u, but must be multiple of 16", s); + * } catch (...) { + * delete [] m_buf; + * // the exception will be automatically re-thrown + * } + * @endcode + * + * Unfortunately, this usage leaks the underlying, exception-based, implementation of the + * panic handling macros. For this reason, it is best to keep constructors simple and guarantee + * they can't fail. An _init()_ function with a factory can be used for actual initialization. + * + * + * ### Special considerations for Destructors ### + * + * In C++ destructors cannot throw exceptions and since the above macros internally use exceptions + * they cannot be used in destructors. Doing so will result in immediate termination of the + * program by _std::terminate()_.\n + * It is therefore best to always guarantee that destructors won't fail. In case of such a + * failure in a destructor the ASSERT_DESTRUCTOR() macro can be used instead, it + * will log the failure but won't terminate the program, instead it'll proceed as if nothing + * happened. Generally this will result in some resource leak which, eventually, will cause + * another failure (typically a postcondition violation).\n\n + * + * Rationale for this behavior: There are fundamentally no way to report a failure from a + * destructor in C++, violently terminating the process is inadequate because it again conflates + * failure reporting and failure handling; for instance a failure in glDeleteTextures() shouldn't + * be necessarily fatal (certainly not without saving the user's data first). The alternative + * would be for the caller to swallow the failure entirely, but that's not great either because the + * failure would go unnoticed. The solution retained here is a compromise. + * + * @see ASSERT_DESTRUCTOR + * + * ### Testing Code that Uses Panics ### + * + * Since panics use exceptions for their underlying implementation, you can test code that uses + * panics with EXPECT_THROW by doing the following things: + * \li Set panic mode to THROW (default is TERMINATE) + * \li Pass Panic to EXPECT_THROW as the exception type + * + * Example code for your test file: + * + * @code + * #include // since your code uses panics, this should include utils/Panic.hpp + * + * using utils::Panic; + * + * TEST(MyClassTest, value_that_causes_panic) { + * EXPECT_THROW(MyClass::function(value_that_causes_panic), Panic); + * } + * + * // ... other tests ... + * + * int main(int argc, char** argv) { + * ::testing::InitGoogleTest(&argc, argv); + * Panic::setMode(Panic::Mode::THROW); + * return RUN_ALL_TESTS(); + * } + * @endcode + * + */ + +namespace utils { + +// ----------------------------------------------------------------------------------------------- + +/** + * @ingroup errors + * + * \brief Base class of all exceptions thrown by all the ASSERT macros + * + * The Panic class provides the std::exception protocol, it is the base exception object + * used for all thrown exceptions. + */ +class UTILS_PUBLIC Panic { +public: + virtual ~Panic() noexcept; + + /** + * @return a detailed description of the error + * @see std::exception + */ + virtual const char* what() const noexcept = 0; + + /** + * Get the function name where the panic was detected + * @return a C string containing the function name where the panic was detected + */ + virtual const char* getFunction() const noexcept = 0; + + /** + * Get the file name where the panic was detected + * @return a C string containing the file name where the panic was detected + */ + virtual const char* getFile() const noexcept = 0; + + /** + * Get the line number in the file where the panic was detected + * @return an integer containing the line number in the file where the panic was detected + */ + virtual int getLine() const noexcept = 0; + + /** + * Logs this exception to the system-log + */ + virtual void log() const noexcept = 0; + + /** + * Get the CallStack when the panic was detected + * @return the CallStack when the panic was detected + */ + virtual const CallStack& getCallStack() const noexcept = 0; +}; + +// ----------------------------------------------------------------------------------------------- + +/** + * @ingroup errors + * + * \brief Concrete implementation of the Panic interface. + * + * The TPanic<> class implements the std::exception protocol as well as the Panic + * interface common to all exceptions thrown by the framework. + */ +template +class UTILS_PUBLIC TPanic : public Panic { +public: + // std::exception protocol + const char* what() const noexcept override; + + // Panic interface + const char* getFunction() const noexcept override; + const char* getFile() const noexcept override; + int getLine() const noexcept override; + const CallStack& getCallStack() const noexcept override; + void log() const noexcept override; + + /** + * Depending on the mode set, either throws an exception of type T with the given reason plus + * extra information about the error-site, or logs the error and calls std::terminate(). + * This function never returns. + * @param function the name of the function where the error was detected + * @param file the file where the above function in implemented + * @param line the line in the above file where the error was detected + * @param format printf style string describing the error + * @see ASSERT_PRECONDITION, ASSERT_POSTCONDITION, ASSERT_ARITHMETIC + * @see PANIC_PRECONDITION, PANIC_POSTCONDITION, PANIC_ARITHMETIC + * @see setMode() + */ + static void panic(char const* function, char const* file, int line, const char* format, ...) + UTILS_NORETURN; + + /** + * Depending on the mode set, either throws an exception of type T with the given reason plus + * extra information about the error-site, or logs the error and calls std::terminate(). + * This function never returns. + * @param function the name of the function where the error was detected + * @param file the file where the above function in implemented + * @param line the line in the above file where the error was detected + * @param s std::string describing the error + * @see ASSERT_PRECONDITION, ASSERT_POSTCONDITION, ASSERT_ARITHMETIC + * @see PANIC_PRECONDITION, PANIC_POSTCONDITION, PANIC_ARITHMETIC + * @see setMode() + */ + static inline void panic(char const* function, char const* file, int line, const std::string& s) + UTILS_NORETURN { + panic(function, file, line, s.c_str()); + } + +protected: + /** + * Creates a Panic. + * @param reason a description of the cause of the error + */ + explicit TPanic(std::string reason); + + /** + * Creates a Panic with extra information about the error-site. + * @param function the name of the function where the error was detected + * @param file the file where the above function in implemented + * @param line the line in the above file where the error was detected + * @param reason a description of the cause of the error + */ + TPanic(char const* function, char const* file, int line, std::string reason); + + ~TPanic() override; + +private: + void buildMessage(); + + CallStack m_callstack; + std::string m_reason; + char const* const m_function = nullptr; + char const* const m_file = nullptr; + const int m_line = -1; + mutable std::string m_msg; +}; + +namespace details { +// these are private, don't use +void panicLog( + char const* function, char const* file, int line, const char* format, ...) noexcept; +} // namespace details + +// ----------------------------------------------------------------------------------------------- + +/** + * @ingroup errors + * + * ASSERT_PRECONDITION uses this Panic to report a precondition failure. + * @see ASSERT_PRECONDITION + */ +class UTILS_PUBLIC PreconditionPanic : public TPanic { + // Programming error, can be avoided + // e.g.: invalid arguments + using TPanic::TPanic; + friend class TPanic; +}; + +/** + * @ingroup errors + * + * ASSERT_POSTCONDITION uses this Panic to report a postcondition failure. + * @see ASSERT_POSTCONDITION + */ +class UTILS_PUBLIC PostconditionPanic : public TPanic { + // Usually only detectable at runtime + // e.g.: dead-lock would occur, arithmetic errors + using TPanic::TPanic; + friend class TPanic; +}; + +/** + * @ingroup errors + * + * ASSERT_ARITHMETIC uses this Panic to report an arithmetic (postcondition) failure. + * @see ASSERT_ARITHMETIC + */ +class UTILS_PUBLIC ArithmeticPanic : public TPanic { + // A common case of post-condition error + // e.g.: underflow, overflow, internal computations errors + using TPanic::TPanic; + friend class TPanic; +}; + +// ----------------------------------------------------------------------------------------------- +} // namespace utils + +#ifndef NDEBUG +# define PANIC_FILE(F) (F) +# define PANIC_FUNCTION __PRETTY_FUNCTION__ +#else +# define PANIC_FILE(F) "" +# define PANIC_FUNCTION __func__ +#endif + +/** + * PANIC_PRECONDITION is a macro that reports a PreconditionPanic + * @param format printf-style string describing the error in more details + */ +#define PANIC_PRECONDITION(format, ...) \ + ::utils::PreconditionPanic::panic(PANIC_FUNCTION, \ + PANIC_FILE(__FILE__), __LINE__, format, ##__VA_ARGS__) + +/** + * PANIC_POSTCONDITION is a macro that reports a PostconditionPanic + * @param format printf-style string describing the error in more details + */ +#define PANIC_POSTCONDITION(format, ...) \ + ::utils::PostconditionPanic::panic(PANIC_FUNCTION, \ + PANIC_FILE(__FILE__), __LINE__, format, ##__VA_ARGS__) + +/** + * PANIC_ARITHMETIC is a macro that reports a ArithmeticPanic + * @param format printf-style string describing the error in more details + */ +#define PANIC_ARITHMETIC(format, ...) \ + ::utils::ArithmeticPanic::panic(PANIC_FUNCTION, \ + PANIC_FILE(__FILE__), __LINE__, format, ##__VA_ARGS__) + +/** + * PANIC_LOG is a macro that logs a Panic, and continues as usual. + * @param format printf-style string describing the error in more details + */ +#define PANIC_LOG(format, ...) \ + ::utils::details::panicLog(PANIC_FUNCTION, \ + PANIC_FILE(__FILE__), __LINE__, format, ##__VA_ARGS__) + +/** + * @ingroup errors + * + * ASSERT_PRECONDITION is a macro that checks the given condition and reports a PreconditionPanic + * if it evaluates to false. + * @param cond a boolean expression + * @param format printf-style string describing the error in more details + */ +#define ASSERT_PRECONDITION(cond, format, ...) \ + (!UTILS_LIKELY(cond) ? PANIC_PRECONDITION(format, ##__VA_ARGS__) : (void)0) + +#if defined(UTILS_EXCEPTIONS) || !defined(NDEBUG) +#define ASSERT_PRECONDITION_NON_FATAL(cond, format, ...) \ + (!UTILS_LIKELY(cond) ? PANIC_PRECONDITION(format, ##__VA_ARGS__), false : true) +#else +#define ASSERT_PRECONDITION_NON_FATAL(cond, format, ...) \ + (!UTILS_LIKELY(cond) ? PANIC_LOG(format, ##__VA_ARGS__), false : true) +#endif + + +/** + * @ingroup errors + * + * ASSERT_POSTCONDITION is a macro that checks the given condition and reports a PostconditionPanic + * if it evaluates to false. + * @param cond a boolean expression + * @param format printf-style string describing the error in more details + * + * Example: + * @code + * int& Foo::operator[](size_t index) { + * ASSERT_POSTCONDITION(index=0 && v<65536, "overflow occurred"); + * return uint32_t(v); + * } + * @endcode + */ +#define ASSERT_ARITHMETIC(cond, format, ...) \ + (!(cond) ? PANIC_ARITHMETIC(format, ##__VA_ARGS__) : (void)0) + +#if defined(UTILS_EXCEPTIONS) || !defined(NDEBUG) +#define ASSERT_ARITHMETIC_NON_FATAL(cond, format, ...) \ + (!UTILS_LIKELY(cond) ? PANIC_ARITHMETIC(format, ##__VA_ARGS__), false : true) +#else +#define ASSERT_ARITHMETIC_NON_FATAL(cond, format, ...) \ + (!UTILS_LIKELY(cond) ? PANIC_LOG(format, ##__VA_ARGS__), false : true) +#endif + +/** + * @ingroup errors + * + * ASSERT_DESTRUCTOR is a macro that checks the given condition and logs an error + * if it evaluates to false. + * @param cond a boolean expression + * @param format printf-style string describing the error in more details + * + * @warning Use this macro if a destructor can fail, which should be avoided at all costs. + * Unlike the other ASSERT macros, this will never result in the process termination. Instead, + * the error will be logged and the program will continue as if nothing happened. + * + * Example: + * @code + * Foo::~Foo() { + * glDeleteTextures(1, &m_texture); + * GLint err = glGetError(); + * ASSERT_DESTRUCTOR(err == GL_NO_ERROR, "cannot free GL resource!"); + * } + * @endcode + */ +#define ASSERT_DESTRUCTOR(cond, format, ...) (!(cond) ? PANIC_LOG(format, ##__VA_ARGS__) : (void)0) + +#endif // TNT_UTILS_PANIC_H diff --git a/web/include/filament/utils/Path.h b/web/include/filament/utils/Path.h new file mode 100644 index 00000000..48195b26 --- /dev/null +++ b/web/include/filament/utils/Path.h @@ -0,0 +1,303 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_PATH_H +#define TNT_UTILS_PATH_H + +#include + +#include +#include +#include + +namespace utils { + +/** + * An abstract representation of file and directory paths. + */ +class UTILS_PUBLIC Path { +public: + /** + * Creates a new empty path. + */ + Path() = default; + ~Path() = default; + + /** + * Creates a new path with the specified pathname. + * + * @param pathname a non-null pathname string + */ + Path(const char* pathname); + + /** + * Creates a new path with the specified pathname. + * + * @param pathname a pathname string view + */ + Path(std::string_view pathname); + + /** + * Creates a new path with the specified pathname. + * + * @param pathname a pathname string + */ + Path(const std::string& pathname); + + /** + * Tests whether the file or directory denoted by this abstract + * pathname exists. + * + * @return true if the file or directory denoted by this + * abstract pathname exists, false otherwise + */ + bool exists() const; + + /** + * Tests whether this abstract pathname represents a regular file. + * This method can only return true if the path exists. + * + * @return true if this pathname represents an existing file, + * false if the path doesn't exist or represents something + * else (directory, symlink, etc.) + */ + bool isFile() const; + + /** + * Tests whether this abstract pathname represents a directory. + * This method can only return true if the path exists. + * + * @return true if this pathname represents an existing directory, + * false if the path doesn't exist or represents a file + */ + bool isDirectory() const; + + /** + * Tests whether this path is empty. An empty path does not + * exist. + * + * @return true if the underlying abstract pathname is empty, + * false otherwise + */ + bool isEmpty() const { return m_path.empty(); } + + const char* c_str() const { return m_path.c_str(); } + + /** + * Replaces the abstract pathname of this object with the + * specified pathname. + * + * @param pathname a pathname string + */ + void setPath(const std::string& pathname) { + m_path = getCanonicalPath(pathname); + } + + /** + * @return the canonical pathname this path represents + */ + const std::string& getPath() const { return m_path; } + + /** + * Returns the parent of this path as Path. + * @return a new path containing the parent of this path + */ + Path getParent() const; + + /** + * Returns ancestor path where "0" is the immediate parent. + * @return a new path containing the ancestor of this path + */ + Path getAncestor(int n) const; + + /** + * Returns the name of the file or directory represented by + * this abstract pathname. + * + * @return the name of the file or directory represented by + * this abstract pathname, or an empty string if + * this path is empty + */ + std::string getName() const; + + /** + * Returns the name of the file or directory represented by + * this abstract pathname without its extension. + * + * @return the name of the file or directory represented by + * this abstract pathname, or an empty string if + * this path is empty + */ + std::string getNameWithoutExtension() const; + + /** + * Returns the file extension (after the ".") if one is present. + * Returns the empty string if no filename is present or if the + * path is a directory. + * + * @return the file extension (if one is present and + * this is not a directory), else the empty string. + */ + std::string getExtension() const; + + /** + * Returns the absolute representation of this path. + * If this path's pathname starts with a leading '/', + * the returned path is equal to this path. Otherwise, + * this path's pathname is concatenated with the current + * working directory and the result is returned. + * + * @return a new path containing the absolute representation + * of this path + */ + Path getAbsolutePath() const; + + /** + * @return true if this abstract pathname is not empty + * and starts with a leading '/', false otherwise + */ + bool isAbsolute() const; + + /** + * Splits this object's abstract pathname in a vector of file + * and directory name. If the underlying abstract pathname + * starts with a '/', the returned vector's first element + * will be the string "/". + * + * @return a vector of strings, empty if this path is empty + */ + std::vector split() const; + + /** + * Concatenates the specified path with this path in a new + * path object. + * + * @note if the pathname to concatenate with starts with + * a leading '/' then that pathname is returned without + * being concatenated to this object's pathname. + * + * @param path the path to concatenate with + * + * @return the concatenation of the two paths + */ + Path concat(const Path& path) const; + + /** + * Concatenates the specified path with this path and + * stores the result in this path. + * + * @note if the pathname to concatenate with starts with + * a leading '/' then that pathname replaces this object's + * pathname. + * + * @param path the path to concatenate with + */ + void concatToSelf(const Path& path); + + operator std::string const&() const { return m_path; } + + Path operator+(const Path& rhs) const { return concat(rhs); } + Path& operator+=(const Path& rhs) { + concatToSelf(rhs); + return *this; + } + + bool operator==(const Path& rhs) const { return m_path == rhs.m_path; } + bool operator!=(const Path& rhs) const { return m_path != rhs.m_path; } + + bool operator<(const Path& rhs) const { return m_path < rhs.m_path; } + bool operator>(const Path& rhs) const { return m_path > rhs.m_path; } + + friend std::ostream& operator<<(std::ostream& os, const Path& path); + + /** + * Returns a canonical copy of the specified pathname by removing + * unnecessary path segments such as ".", ".." and "/". + * + * @param pathname a pathname string + * + * @return the canonical representation of the specified pathname + */ + static std::string getCanonicalPath(const std::string& pathname); + + /** + * This method is equivalent to calling root.concat(leaf). + */ + static Path concat(const std::string& root, const std::string& leaf); + + /** + * @return a path representing the current working directory + */ + static Path getCurrentDirectory(); + + /** + * @return a path representing the current executable + */ + static Path getCurrentExecutable(); + + /** + * @return a path representing a directory where temporary files can be stored + */ + static Path getTemporaryDirectory(); + + /** + * @return a path representing a directory where settings files can be stored, + * it is recommended to append an app specific folder name to that path + */ + static Path getUserSettingsDirectory(); + + /** + * Creates a directory denoted by the given path. + * This is not recursive and doesn't create intermediate directories. + * + * @return True if directory was successfully created. + * When false, errno should have details on actual error. + */ + bool mkdir() const; + + /** + * Creates a directory denoted by the given path. + * This is recursive and parent directories will be created if they do not + * exist. + * + * @return True if directory was successfully created or already exists. + * When false, errno should have details on actual error. + */ + bool mkdirRecursive() const; + + /** + * Deletes this file. + * + * @return True if file was successfully deleted. + * When false, errno should have details on actual error. + */ + bool unlinkFile(); + + /** + * Lists the contents of this directory, skipping hidden files. + * + * @return A vector of paths of the contents of the directory. If the path points to a file, + * nonexistent directory, or empty directory, an empty vector is returned. + */ + std::vector listContents() const; + +private: + std::string m_path; +}; + +} // namespace utils + +#endif // TNT_UTILS_PATH_H diff --git a/web/include/filament/utils/PrivateImplementation-impl.h b/web/include/filament/utils/PrivateImplementation-impl.h new file mode 100644 index 00000000..3488b5ae --- /dev/null +++ b/web/include/filament/utils/PrivateImplementation-impl.h @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef UTILS_PRIVATEIMPLEMENTATION_IMPL_H +#define UTILS_PRIVATEIMPLEMENTATION_IMPL_H + +/* + * This looks like a header file, but really it acts as a .cpp, because it's used to + * explicitly instantiate the methods of PrivateImplementation<> + */ + +#include + +#include + +namespace utils { + +template +PrivateImplementation::PrivateImplementation() noexcept + : mImpl(new T) { +} + +template +template +PrivateImplementation::PrivateImplementation(ARGS&& ... args) noexcept + : mImpl(new T(std::forward(args)...)) { +} + +template +PrivateImplementation::~PrivateImplementation() noexcept { + delete mImpl; +} + +#ifndef UTILS_PRIVATE_IMPLEMENTATION_NON_COPYABLE + +template +PrivateImplementation::PrivateImplementation(PrivateImplementation const& rhs) noexcept + : mImpl(new T(*rhs.mImpl)) { +} + +template +PrivateImplementation& PrivateImplementation::operator=(PrivateImplementation const& rhs) noexcept { + if (this != &rhs) { + *mImpl = *rhs.mImpl; + } + return *this; +} + +#endif + +} // namespace utils + +#endif // UTILS_PRIVATEIMPLEMENTATION_IMPL_H diff --git a/web/include/filament/utils/PrivateImplementation.h b/web/include/filament/utils/PrivateImplementation.h new file mode 100644 index 00000000..7cb510fa --- /dev/null +++ b/web/include/filament/utils/PrivateImplementation.h @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef UTILS_PRIVATEIMPLEMENTATION_H +#define UTILS_PRIVATEIMPLEMENTATION_H + +#include + +#include + +namespace utils { + +/** + * \privatesection + * PrivateImplementation is used to hide the implementation details of a class and ensure a higher + * level of backward binary compatibility. + * The actual implementation is in src/PrivateImplementation-impl.h" + */ +template +class PrivateImplementation { +public: + // none of these methods must be implemented inline because it's important that their + // implementation be hidden from the public headers. + template + explicit PrivateImplementation(ARGS&& ...) noexcept; + PrivateImplementation() noexcept; + ~PrivateImplementation() noexcept; + PrivateImplementation(PrivateImplementation const& rhs) noexcept; + PrivateImplementation& operator = (PrivateImplementation const& rhs) noexcept; + + // move ctor and copy operator can be implemented inline and don't need to be exported + PrivateImplementation(PrivateImplementation&& rhs) noexcept : mImpl(rhs.mImpl) { rhs.mImpl = nullptr; } + PrivateImplementation& operator = (PrivateImplementation&& rhs) noexcept { + auto temp = mImpl; + mImpl = rhs.mImpl; + rhs.mImpl = temp; + return *this; + } + +protected: + T* mImpl = nullptr; + inline T* operator->() noexcept { return mImpl; } + inline T const* operator->() const noexcept { return mImpl; } +}; + +} // namespace utils + +#endif // UTILS_PRIVATEIMPLEMENTATION_H diff --git a/web/include/filament/utils/SingleInstanceComponentManager.h b/web/include/filament/utils/SingleInstanceComponentManager.h new file mode 100644 index 00000000..ddd538f5 --- /dev/null +++ b/web/include/filament/utils/SingleInstanceComponentManager.h @@ -0,0 +1,316 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_SINGLEINSTANCECOMPONENTMANAGER_H +#define TNT_UTILS_SINGLEINSTANCECOMPONENTMANAGER_H + +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +namespace utils { + +class EntityManager; + +/* + * Helper class to create single instance component managers. + * + * This handles the component's storage as a structure-of-arrays, as well + * as the garbage collection. + * + * This is intended to be used as base class for a real component manager. When doing so, + * and the real component manager is a public API, make sure to forward the public methods + * to the implementation. + * + */ +template +class UTILS_PUBLIC SingleInstanceComponentManager { +private: + + // this is just to avoid using std::default_random_engine, since we're in a public header. + class default_random_engine { + uint32_t mState = 1u; // must be 0 < seed < 0x7fffffff + public: + inline uint32_t operator()() noexcept { + return mState = uint32_t((uint64_t(mState) * 48271u) % 0x7fffffffu); + } + }; + +protected: + static constexpr size_t ENTITY_INDEX = sizeof ... (Elements); + + +public: + using SoA = StructureOfArrays; + + using Structure = typename SoA::Structure; + + using Instance = EntityInstanceBase::Type; + + SingleInstanceComponentManager() noexcept { + // We always start with a dummy entry because index=0 is reserved. The component + // at index = 0, is guaranteed to be default-initialized. + // Sub-classes can use this to their advantage. + mData.push_back(Structure{}); + } + + SingleInstanceComponentManager(SingleInstanceComponentManager&&) noexcept {/* = default */} + SingleInstanceComponentManager& operator=(SingleInstanceComponentManager&&) noexcept {/* = default */} + ~SingleInstanceComponentManager() noexcept = default; + + // not copyable + SingleInstanceComponentManager(SingleInstanceComponentManager const& rhs) = delete; + SingleInstanceComponentManager& operator=(SingleInstanceComponentManager const& rhs) = delete; + + + // returns true if the given Entity has a component of this Manager + bool hasComponent(Entity e) const noexcept { + return getInstance(e) != 0; + } + + // Get instance of this Entity to be used to retrieve components + UTILS_NOINLINE + Instance getInstance(Entity e) const noexcept { + auto const& map = mInstanceMap; + // find() generates quite a bit of code + auto pos = map.find(e); + return pos != map.end() ? pos->second : 0; + } + + // Returns the number of components (i.e. size of each array) + size_t getComponentCount() const noexcept { + // The array as an extra dummy component at index 0, so the visible count is 1 less. + return mData.size() - 1; + } + + bool empty() const noexcept { + return getComponentCount() == 0; + } + + utils::Entity const* getEntities() const noexcept { + return data() + 1; + } + + Entity getEntity(Instance i) const noexcept { + return elementAt(i); + } + + // Add a component to the given Entity. If the entity already has a component from this + // manager, this function is a no-op. + // This invalidates all pointers components. + inline Instance addComponent(Entity e); + + // Removes a component from the given entity. + // This invalidates all pointers components. + inline Instance removeComponent(Entity e); + + // return the first instance + Instance begin() const noexcept { return 1u; } + + // return the past-the-last instance + Instance end() const noexcept { return Instance(begin() + getComponentCount()); } + + // return a pointer to the first element of the ElementIndex'th array + template + typename SoA::template TypeAt* begin() noexcept { + return mData.template data() + 1; + } + + template + typename SoA::template TypeAt const* begin() const noexcept { + return mData.template data() + 1; + } + + // return a pointer to the past-the-end element of the ElementIndex'th array + template + typename SoA::template TypeAt* end() noexcept { + return begin() + getComponentCount(); + } + + template + typename SoA::template TypeAt const* end() const noexcept { + return begin() + getComponentCount(); + } + + // return a Slice<> + template + Slice> slice() noexcept { + return { begin(), end() }; + } + + template + Slice> slice() const noexcept { + return { begin(), end() }; + } + + // return a reference to the index'th element of the ElementIndex'th array + template + typename SoA::template TypeAt& elementAt(Instance index) noexcept { + assert(index); + return data()[index]; + } + + template + typename SoA::template TypeAt const& elementAt(Instance index) const noexcept { + assert(index); + return data()[index]; + } + + // returns a pointer to the RAW ARRAY of components including the first dummy component + // Use with caution. + template + typename SoA::template TypeAt const* raw_array() const noexcept { + return data(); + } + + // We need our own version of Field because mData is private + template + struct Field : public SoA::template Field { + Field(SingleInstanceComponentManager& soa, EntityInstanceBase::Type i) noexcept + : SoA::template Field{ soa.mData, i } { + } + using SoA::template Field::operator =; + }; + +protected: + template + typename SoA::template TypeAt* data() noexcept { + return mData.template data(); + } + + template + typename SoA::template TypeAt const* data() const noexcept { + return mData.template data(); + } + + // swap only internals + void swap(Instance i, Instance j) noexcept { + assert(i); + assert(j); + if (i && j) { + // update the index map + auto& map = mInstanceMap; + Entity& ei = elementAt(i); + Entity& ej = elementAt(j); + std::swap(ei, ej); + if (ei) { + map[ei] = i; + } + if (ej) { + map[ej] = j; + } + } + } + + template + void gc(const EntityManager& em, + REMOVE&& removeComponent) noexcept { + gc(em, 4, std::forward(removeComponent)); + } + + template + void gc(const EntityManager& em, size_t ratio, + REMOVE&& removeComponent) noexcept { + Entity const* const pEntities = begin(); + size_t count = getComponentCount(); + size_t aliveInARow = 0; + default_random_engine& rng = mRng; + UTILS_NOUNROLL + while (count && aliveInARow < ratio) { + assert_invariant(count == getComponentCount()); + // note: using the modulo favorizes lower number + size_t const i = rng() % count; + Entity const entity = pEntities[i]; + assert_invariant(entity); + if (UTILS_LIKELY(em.isAlive(entity))) { + ++aliveInARow; + continue; + } + removeComponent(entity); + aliveInARow = 0; + count--; + } + } + +protected: + SoA mData; + +private: + // maps an entity to an instance index + tsl::robin_map mInstanceMap; + default_random_engine mRng; +}; + +// Keep these outside of the class because CLion has trouble parsing them +template +typename SingleInstanceComponentManager::Instance +SingleInstanceComponentManager::addComponent(Entity e) { + Instance ci = 0; + if (!e.isNull()) { + if (!hasComponent(e)) { + // this is like a push_back(e); + mData.push_back(Structure{}).template back() = e; + // index 0 is used when the component doesn't exist + ci = Instance(mData.size() - 1); + mInstanceMap[e] = ci; + } else { + // if the entity already has this component, just return its instance + ci = mInstanceMap[e]; + } + } + assert(ci != 0); + return ci; +} + +// Keep these outside of the class because CLion has trouble parsing them +template +typename SingleInstanceComponentManager::Instance +SingleInstanceComponentManager::removeComponent(Entity e) { + auto& map = mInstanceMap; + auto pos = map.find(e); + if (UTILS_LIKELY(pos != map.end())) { + size_t index = pos->second; + assert(index != 0); + size_t last = mData.size() - 1; + if (last != index) { + // move the last item to where we removed this component, as to keep + // the array tightly packed. + mData.forEach([index, last](auto* p) { + p[index] = std::move(p[last]); + }); + + Entity lastEntity = mData.template elementAt(index); + map[lastEntity] = index; + } + mData.pop_back(); + map.erase(pos); + return last; + } + return 0; +} + + +} // namespace filament + +#endif // TNT_UTILS_SINGLEINSTANCECOMPONENTMANAGER_H diff --git a/web/include/filament/utils/Slice.h b/web/include/filament/utils/Slice.h new file mode 100644 index 00000000..444a3b27 --- /dev/null +++ b/web/include/filament/utils/Slice.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_SLICE_H +#define TNT_UTILS_SLICE_H + +#include + +#include + +#include +#include + +namespace utils { + +/* + * A fixed-size slice of a container + */ +template +class Slice { +public: + using iterator = T*; + using const_iterator = T const*; + using value_type = T; + using reference = T&; + using const_reference = T const&; + using pointer = T*; + using const_pointer = T const*; + using size_type = size_t; + + Slice() noexcept = default; + + Slice(const_iterator begin, const_iterator end) noexcept + : mBegin(const_cast(begin)), + mEnd(const_cast(end)) { + } + + Slice(const_pointer begin, size_type count) noexcept + : mBegin(const_cast(begin)), + mEnd(mBegin + count) { + } + + Slice(Slice const& rhs) noexcept = default; + Slice(Slice&& rhs) noexcept = default; + Slice& operator=(Slice const& rhs) noexcept = default; + Slice& operator=(Slice&& rhs) noexcept = default; + + void set(pointer begin, size_type count) UTILS_RESTRICT noexcept { + mBegin = begin; + mEnd = begin + count; + } + + void set(iterator begin, iterator end) UTILS_RESTRICT noexcept { + mBegin = begin; + mEnd = end; + } + + void swap(Slice& rhs) UTILS_RESTRICT noexcept { + std::swap(mBegin, rhs.mBegin); + std::swap(mEnd, rhs.mEnd); + } + + void clear() UTILS_RESTRICT noexcept { + mBegin = nullptr; + mEnd = nullptr; + } + + // size + size_t size() const UTILS_RESTRICT noexcept { return mEnd - mBegin; } + size_t sizeInBytes() const UTILS_RESTRICT noexcept { return size() * sizeof(T); } + bool empty() const UTILS_RESTRICT noexcept { return size() == 0; } + + // iterators + iterator begin() UTILS_RESTRICT noexcept { return mBegin; } + const_iterator begin() const UTILS_RESTRICT noexcept { return mBegin; } + const_iterator cbegin() const UTILS_RESTRICT noexcept { return this->begin(); } + iterator end() UTILS_RESTRICT noexcept { return mEnd; } + const_iterator end() const UTILS_RESTRICT noexcept { return mEnd; } + const_iterator cend() const UTILS_RESTRICT noexcept { return this->end(); } + + // data access + reference operator[](size_t n) UTILS_RESTRICT noexcept { + assert(n < size()); + return mBegin[n]; + } + + const_reference operator[](size_t n) const UTILS_RESTRICT noexcept { + assert(n < size()); + return mBegin[n]; + } + + reference at(size_t n) UTILS_RESTRICT noexcept { + return operator[](n); + } + + const_reference at(size_t n) const UTILS_RESTRICT noexcept { + return operator[](n); + } + + reference front() UTILS_RESTRICT noexcept { + assert(!empty()); + return *mBegin; + } + + const_reference front() const UTILS_RESTRICT noexcept { + assert(!empty()); + return *mBegin; + } + + reference back() UTILS_RESTRICT noexcept { + assert(!empty()); + return *(this->end() - 1); + } + + const_reference back() const UTILS_RESTRICT noexcept { + assert(!empty()); + return *(this->end() - 1); + } + + pointer data() UTILS_RESTRICT noexcept { + return this->begin(); + } + + const_pointer data() const UTILS_RESTRICT noexcept { + return this->begin(); + } + +protected: + iterator mBegin = nullptr; + iterator mEnd = nullptr; +}; + +} // namespace utils + +#endif // TNT_UTILS_SLICE_H diff --git a/web/include/filament/utils/SpinLock.h b/web/include/filament/utils/SpinLock.h new file mode 100644 index 00000000..e7ce00af --- /dev/null +++ b/web/include/filament/utils/SpinLock.h @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_SPINLOCK_H +#define TNT_UTILS_SPINLOCK_H + +#include + +#include + +#include +#include + +#include +#include + +namespace utils { +namespace details { + +class SpinLock { + std::atomic_flag mLock = ATOMIC_FLAG_INIT; + +public: + void lock() noexcept { + UTILS_PREFETCHW(&mLock); +#ifdef __ARM_ACLE + // we signal an event on this CPU, so that the first yield() will be a no-op, + // and falls through the test_and_set(). This is more efficient than a while { } + // construct. + UTILS_SIGNAL_EVENT(); + do { + yield(); + } while (mLock.test_and_set(std::memory_order_acquire)); +#else + goto start; + do { + yield(); +start: ; + } while (mLock.test_and_set(std::memory_order_acquire)); +#endif + } + + void unlock() noexcept { + mLock.clear(std::memory_order_release); +#ifdef __ARM_ARCH_7A__ + // on ARMv7a SEL is needed + UTILS_SIGNAL_EVENT(); + // as well as a memory barrier is needed + __dsb(0xA); // ISHST = 0xA (b1010) +#else + // on ARMv8 we could avoid the call to SE, but we'd need to write the + // test_and_set() above by hand, so the WFE only happens without a STRX first. + UTILS_BROADCAST_EVENT(); +#endif + } + +private: + inline void yield() noexcept { + // on x86 call pause instruction, on ARM call WFE + UTILS_WAIT_FOR_EVENT(); + } +}; +} // namespace details + +#if UTILS_HAS_SANITIZE_THREAD +// Active spins with atomics slow down execution too much under ThreadSanitizer. +using SpinLock = Mutex; +#elif defined(__ARM_ARCH_7A__) +// We've had problems with "wfe" on some ARM-V7 devices, causing spurious SIGILL +using SpinLock = Mutex; +#else +using SpinLock = details::SpinLock; +#endif + +} // namespace utils + +#endif // TNT_UTILS_SPINLOCK_H diff --git a/web/include/filament/utils/StructureOfArrays.h b/web/include/filament/utils/StructureOfArrays.h new file mode 100644 index 00000000..497a0fef --- /dev/null +++ b/web/include/filament/utils/StructureOfArrays.h @@ -0,0 +1,713 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_STRUCTUREOFARRAYS_H +#define TNT_UTILS_STRUCTUREOFARRAYS_H + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include // note: this is safe, see how std::array is used below (inline / private) +#include +#include // for std::random_access_iterator_tag +#include +#include + +namespace utils { + +template +class StructureOfArraysBase { + // number of elements + static constexpr const size_t kArrayCount = sizeof...(Elements); + +public: + using SoA = StructureOfArraysBase; + + using Structure = std::tuple; + + // Type of the Nth array + template + using TypeAt = typename std::tuple_element_t; + + // Number of arrays + static constexpr size_t getArrayCount() noexcept { return kArrayCount; } + + // Size needed to store "size" array elements + static size_t getNeededSize(size_t size) noexcept { + return getOffset(kArrayCount - 1, size) + sizeof(TypeAt) * size; + } + + // -------------------------------------------------------------------------------------------- + + class IteratorValue; + template class Iterator; + using iterator = Iterator; + using const_iterator = Iterator; + using size_type = size_t; + using difference_type = ptrdiff_t; + + /* + * An object that represents a reference to the type dereferenced by iterator. + * In other words, it's the return type of iterator::operator*(), and since it + * cannot be a C++ reference (&), it's an object that acts like it. + */ + class IteratorValueRef { + friend class IteratorValue; + friend iterator; + friend const_iterator; + StructureOfArraysBase* const UTILS_RESTRICT soa; + size_t const index; + + IteratorValueRef(StructureOfArraysBase* soa, size_t index) : soa(soa), index(index) { } + + // assigns a value_type to a reference (i.e. assigns to what's pointed to by the reference) + template + IteratorValueRef& assign(IteratorValue const& rhs, std::index_sequence); + + // assigns a value_type to a reference (i.e. assigns to what's pointed to by the reference) + template + IteratorValueRef& assign(IteratorValue&& rhs, std::index_sequence) noexcept; + + // objects pointed to by reference can be swapped, so provide the special swap() function. + friend void swap(IteratorValueRef lhs, IteratorValueRef rhs) { + lhs.soa->swap(lhs.index, rhs.index); + } + + public: + // references can be created by copy-assignment only + IteratorValueRef(IteratorValueRef const& rhs) noexcept : soa(rhs.soa), index(rhs.index) { } + + // copy the content of a reference to the content of this one + IteratorValueRef& operator=(IteratorValueRef const& rhs); + + // move the content of a reference to the content of this one + IteratorValueRef& operator=(IteratorValueRef&& rhs) noexcept; + + // copy a value_type to the content of this reference + IteratorValueRef& operator=(IteratorValue const& rhs) { + return assign(rhs, std::make_index_sequence()); + } + + // move a value_type to the content of this reference + IteratorValueRef& operator=(IteratorValue&& rhs) noexcept { + return assign(rhs, std::make_index_sequence()); + } + + // access the elements of this reference (i.e. the "fields" of the structure) + template TypeAt const& get() const { return soa->elementAt(index); } + template TypeAt& get() { return soa->elementAt(index); } + }; + + + /* + * The value_type of iterator. This is basically the "structure" of the SoA. + * Internally we're using a tuple<> to store the data. + * This object is not trivial to construct, as it copies an entry of the SoA. + */ + class IteratorValue { + friend class IteratorValueRef; + friend iterator; + friend const_iterator; + using Type = std::tuple::type...>; + Type elements; + + template + static Type init(IteratorValueRef const& rhs, std::index_sequence) { + return Type{ rhs.soa->template elementAt(rhs.index)... }; + } + + template + static Type init(IteratorValueRef&& rhs, std::index_sequence) noexcept { + return Type{ std::move(rhs.soa->template elementAt(rhs.index))... }; + } + + public: + IteratorValue(IteratorValue const& rhs) = default; + IteratorValue(IteratorValue&& rhs) noexcept = default; + IteratorValue& operator=(IteratorValue const& rhs) = default; + IteratorValue& operator=(IteratorValue&& rhs) noexcept = default; + + // initialize and assign from a StructureRef + IteratorValue(IteratorValueRef const& rhs) + : elements(init(rhs, std::make_index_sequence())) {} + IteratorValue(IteratorValueRef&& rhs) noexcept + : elements(init(rhs, std::make_index_sequence())) {} + IteratorValue& operator=(IteratorValueRef const& rhs) { return operator=(IteratorValue(rhs)); } + IteratorValue& operator=(IteratorValueRef&& rhs) noexcept { return operator=(IteratorValue(rhs)); } + + // access the elements of this value_Type (i.e. the "fields" of the structure) + template TypeAt const& get() const { return std::get(elements); } + template TypeAt& get() { return std::get(elements); } + }; + + + /* + * An iterator to the SoA. This is only intended to be used with STL's algorithm, e.g.: sort(). + * Normally, SoA is not iterated globally, but rather an array at a time. + * Iterating itself is not too costly, as well as dereferencing by reference. However, + * dereferencing by value is. + */ + template + class Iterator { + friend class StructureOfArraysBase; + CVQualifiedSOAPointer soa; // don't use restrict, can have aliases if multiple iterators are created + size_t index; + + Iterator(CVQualifiedSOAPointer soa, size_t index) : soa(soa), index(index) {} + + public: + using value_type = IteratorValue; + using reference = IteratorValueRef; + using pointer = IteratorValueRef*; // FIXME: this should be a StructurePtr type + using difference_type = ptrdiff_t; + using iterator_category = std::random_access_iterator_tag; + + Iterator(Iterator const& rhs) noexcept = default; + Iterator& operator=(Iterator const& rhs) = default; + + reference operator*() const { return { soa, index }; } + reference operator*() { return { soa, index }; } + reference operator[](size_t n) { return *(*this + n); } + + template TypeAt const& get() const { return soa->template elementAt(index); } + template TypeAt& get() { return soa->template elementAt(index); } + + Iterator& operator++() { ++index; return *this; } + Iterator& operator--() { --index; return *this; } + Iterator& operator+=(size_t n) { index += n; return *this; } + Iterator& operator-=(size_t n) { index -= n; return *this; } + Iterator operator+(size_t n) const { return { soa, index + n }; } + Iterator operator-(size_t n) const { return { soa, index - n }; } + difference_type operator-(Iterator const& rhs) const { return index - rhs.index; } + bool operator==(Iterator const& rhs) const { return (index == rhs.index); } + bool operator!=(Iterator const& rhs) const { return (index != rhs.index); } + bool operator>=(Iterator const& rhs) const { return (index >= rhs.index); } + bool operator> (Iterator const& rhs) const { return (index > rhs.index); } + bool operator<=(Iterator const& rhs) const { return (index <= rhs.index); } + bool operator< (Iterator const& rhs) const { return (index < rhs.index); } + + // Postfix operator needed by Microsoft STL. + const Iterator operator++(int) { Iterator it(*this); index++; return it; } + const Iterator operator--(int) { Iterator it(*this); index--; return it; } + }; + + iterator begin() noexcept { return { this, 0u }; } + iterator end() noexcept { return { this, mSize }; } + const_iterator begin() const noexcept { return { this, 0u }; } + const_iterator end() const noexcept { return { this, mSize }; } + + // -------------------------------------------------------------------------------------------- + + StructureOfArraysBase() = default; + + explicit StructureOfArraysBase(size_t capacity) { + setCapacity(capacity); + } + + // not copyable for now + StructureOfArraysBase(StructureOfArraysBase const& rhs) = delete; + StructureOfArraysBase& operator=(StructureOfArraysBase const& rhs) = delete; + + // movability is trivial, so support it + StructureOfArraysBase(StructureOfArraysBase&& rhs) noexcept { + using std::swap; + swap(mCapacity, rhs.mCapacity); + swap(mSize, rhs.mSize); + swap(mArrays, rhs.mArrays); + swap(mAllocator, rhs.mAllocator); + } + + StructureOfArraysBase& operator=(StructureOfArraysBase&& rhs) noexcept { + if (this != &rhs) { + using std::swap; + swap(mCapacity, rhs.mCapacity); + swap(mSize, rhs.mSize); + swap(mArrays, rhs.mArrays); + swap(mAllocator, rhs.mAllocator); + } + return *this; + } + + ~StructureOfArraysBase() { + destroy_each(0, mSize); + mAllocator.free(std::get<0>(mArrays)); + } + + // -------------------------------------------------------------------------------------------- + + // return the size the array + size_t size() const noexcept { + return mSize; + } + + // return the capacity of the array + size_t capacity() const noexcept { + return mCapacity; + } + + // set the capacity of the array. the capacity cannot be smaller than the current size, + // the call is a no-op in that case. + UTILS_NOINLINE + void setCapacity(size_t capacity) { + // allocate enough space for "capacity" elements of each array + // capacity cannot change when optional storage is specified + if (capacity >= mSize) { + // TODO: not entirely sure if "max" of all alignments is always correct + constexpr size_t align = std::max({ std::max(alignof(std::max_align_t), alignof(Elements))... }); + const size_t sizeNeeded = getNeededSize(capacity); + void* buffer = mAllocator.alloc(sizeNeeded, align); + auto const oldBuffer = std::get<0>(mArrays); + + // move all the items (one array at a time) from the old allocation to the new + // this also update the array pointers + move_each(buffer, capacity); + + // free the old buffer + mAllocator.free(oldBuffer); + + // and make sure to update the capacity + mCapacity = capacity; + } + } + + void ensureCapacity(size_t needed) { + if (UTILS_UNLIKELY(needed > mCapacity)) { + // not enough space, increase the capacity + const size_t capacity = (needed * 3 + 1) / 2; + setCapacity(capacity); + } + } + + // grow or shrink the array to the given size. When growing, new elements are constructed + // with their default constructor. when shrinking, discarded elements are destroyed. + // If the arrays don't have enough capacity, the capacity is increased accordingly + // (the capacity is set to 3/2 of the asked size). + UTILS_NOINLINE + void resize(size_t needed) { + ensureCapacity(needed); + resizeNoCheck(needed); + if (needed <= mCapacity) { + // TODO: see if we should shrink the arrays + } + } + + void clear() noexcept { + resizeNoCheck(0); + } + + + inline void swap(size_t i, size_t j) noexcept { + forEach([i, j](auto p) { + using std::swap; + swap(p[i], p[j]); + }); + } + + // remove and destroy the last element of each array + inline void pop_back() noexcept { + if (mSize) { + destroy_each(mSize - 1, mSize); + mSize--; + } + } + + // create an element at the end of each array + StructureOfArraysBase& push_back() noexcept { + resize(mSize + 1); + return *this; + } + + StructureOfArraysBase& push_back(Structure&& args) noexcept { + ensureCapacity(mSize + 1); + return push_back_unsafe(std::forward(args)); + } + + StructureOfArraysBase& push_back(Elements const& ... args) noexcept { + ensureCapacity(mSize + 1); + return push_back_unsafe(args...); + } + + StructureOfArraysBase& push_back(Elements&& ... args) noexcept { + ensureCapacity(mSize + 1); + return push_back_unsafe(std::forward(args)...); + } + + template + struct ElementIndices {}; + + template + struct BuildElementIndices : BuildElementIndices {}; + + template + struct BuildElementIndices<0, Indices...> : ElementIndices {}; + + template + void push_back_unsafe(Structure&& args, ElementIndices){ + size_t last = mSize++; + // Fold expression on the comma operator + ([&]{ + new(std::get(mArrays) + last) Elements{std::get(args)}; + }() , ...); + } + + template + void push_back_unsafe(Elements const& ... args, ElementIndices){ + size_t last = mSize++; + // Fold expression on the comma operator + ([&]{ + new(std::get(mArrays) + last) Elements{args}; + }() , ...); + } + + template + void push_back_unsafe(Elements && ... args, ElementIndices){ + size_t last = mSize++; + // Fold expression on the comma operator + ([&]{ + new(std::get(mArrays) + last) Elements{std::forward(args)}; + }() , ...); + } + + StructureOfArraysBase& push_back_unsafe(Structure&& args) noexcept { + push_back_unsafe(std::forward(args), BuildElementIndices{}); + return *this; + } + + StructureOfArraysBase& push_back_unsafe(Elements const& ... args) noexcept { + push_back_unsafe(args..., BuildElementIndices{}); + + return *this; + } + + StructureOfArraysBase& push_back_unsafe(Elements&& ... args) noexcept { + push_back_unsafe(std::forward(args)..., BuildElementIndices{}); + return *this; + } + + template + void forEach(F&& f, ARGS&& ... args) { + for_each(mArrays, [&](size_t, auto* p) { + f(p, std::forward(args)...); + }); + } + + // return a pointer to the first element of the ElementIndex]th array + template + TypeAt* data() noexcept { + return std::get(mArrays); + } + + template + TypeAt const* data() const noexcept { + return std::get(mArrays); + } + + template + TypeAt* begin() noexcept { + return std::get(mArrays); + } + + template + TypeAt const* begin() const noexcept { + return std::get(mArrays); + } + + template + TypeAt* end() noexcept { + return std::get(mArrays) + size(); + } + + template + TypeAt const* end() const noexcept { + return std::get(mArrays) + size(); + } + + template + Slice> slice() noexcept { + return { begin(), end() }; + } + + template + Slice> slice() const noexcept { + return { begin(), end() }; + } + + // return a reference to the index'th element of the ElementIndex'th array + template + TypeAt& elementAt(size_t index) noexcept { + return data()[index]; + } + + template + TypeAt const& elementAt(size_t index) const noexcept { + return data()[index]; + } + + // return a reference to the last element of the ElementIndex'th array + template + TypeAt& back() noexcept { + return data()[size() - 1]; + } + + template + TypeAt const& back() const noexcept { + return data()[size() - 1]; + } + + template + struct Field { + SoA& soa; + IndexType i; + using Type = typename SoA::template TypeAt; + + UTILS_ALWAYS_INLINE Field& operator = (Field&& rhs) noexcept { + soa.elementAt(i) = soa.elementAt(rhs.i); + return *this; + } + + // auto-conversion to the field's type + UTILS_ALWAYS_INLINE operator Type&() noexcept { + return soa.elementAt(i); + } + UTILS_ALWAYS_INLINE operator Type const&() const noexcept { + return soa.elementAt(i); + } + // dereferencing the selected field + UTILS_ALWAYS_INLINE Type& operator ->() noexcept { + return soa.elementAt(i); + } + UTILS_ALWAYS_INLINE Type const& operator ->() const noexcept { + return soa.elementAt(i); + } + // address-of the selected field + UTILS_ALWAYS_INLINE Type* operator &() noexcept { + return &soa.elementAt(i); + } + UTILS_ALWAYS_INLINE Type const* operator &() const noexcept { + return &soa.elementAt(i); + } + // assignment to the field + UTILS_ALWAYS_INLINE Type const& operator = (Type const& other) noexcept { + return (soa.elementAt(i) = other); + } + UTILS_ALWAYS_INLINE Type const& operator = (Type&& other) noexcept { + return (soa.elementAt(i) = other); + } + // comparisons + UTILS_ALWAYS_INLINE bool operator==(Type const& other) const { + return (soa.elementAt(i) == other); + } + UTILS_ALWAYS_INLINE bool operator!=(Type const& other) const { + return (soa.elementAt(i) != other); + } + // calling the field + template + UTILS_ALWAYS_INLINE decltype(auto) operator()(ARGS&& ... args) noexcept { + return soa.elementAt(i)(std::forward(args)...); + } + template + UTILS_ALWAYS_INLINE decltype(auto) operator()(ARGS&& ... args) const noexcept { + return soa.elementAt(i)(std::forward(args)...); + } + }; + +private: + template + inline typename std::enable_if::type + for_each(std::tuple&, FuncT) {} + + template + inline typename std::enable_if::type + for_each(std::tuple& t, FuncT f) { + f(I, std::get(t)); + for_each(t, f); + } + + template + inline typename std::enable_if::type + for_each_index(std::tuple&, FuncT) {} + + template + inline typename std::enable_if::type + for_each_index(std::tuple& t, FuncT f) { + f.template operator()(std::get(t)); + for_each_index(t, f); + } + + inline void resizeNoCheck(size_t needed) noexcept { + assert(mCapacity >= needed); + if (needed < mSize) { + // we shrink the arrays + destroy_each(needed, mSize); + } else if (needed > mSize) { + // we grow the arrays + construct_each(mSize, needed); + } + // record the new size of the arrays + mSize = needed; + } + + // this calculates the offset adjusted for all data alignment of a given array + static inline size_t getOffset(size_t index, size_t capacity) noexcept { + auto offsets = getOffsets(capacity); + return offsets[index]; + } + + static inline std::array getOffsets(size_t capacity) noexcept { + // compute the required size of each array + const size_t sizes[] = { (sizeof(Elements) * capacity)... }; + + // we align each array to at least the same alignment guaranteed by malloc + constexpr size_t const alignments[] = { std::max(alignof(std::max_align_t), alignof(Elements))... }; + + // hopefully most of this gets unrolled and inlined + std::array offsets; + offsets[0] = 0; + UTILS_UNROLL + for (size_t i = 1; i < kArrayCount; i++) { + size_t unalignment = (offsets[i - 1] + sizes[i - 1]) % alignments[i]; + size_t alignment = unalignment ? (alignments[i] - unalignment) : 0; + offsets[i] = offsets[i - 1] + (sizes[i - 1] + alignment); + assert_invariant(offsets[i] % alignments[i] == 0); + } + return offsets; + } + + void construct_each(size_t from, size_t to) noexcept { + forEach([from, to](auto p) { + using T = typename std::decay::type; + // note: scalar types like int/float get initialized to zero + if constexpr (!std::is_trivially_default_constructible_v) { + for (size_t i = from; i < to; i++) { + new(p + i) T(); + } + } + }); + } + + void destroy_each(size_t from, size_t to) noexcept { + forEach([from, to](auto p) { + using T = typename std::decay::type; + if constexpr (!std::is_trivially_destructible_v) { + for (size_t i = from; i < to; i++) { + p[i].~T(); + } + } + }); + } + + void move_each(void* buffer, size_t capacity) noexcept { + auto offsets = getOffsets(capacity); + size_t index = 0; + if (mSize) { + auto size = mSize; // placate a compiler warning + forEach([buffer, &index, &offsets, size](auto p) { + using T = typename std::decay::type; + T* UTILS_RESTRICT b = static_cast(buffer); + + // go through each element and move them from the old array to the new + // then destroy them from the old array + T* UTILS_RESTRICT const arrayPointer = + reinterpret_cast(uintptr_t(b) + offsets[index]); + + // for trivial cases, just call memcpy() + if constexpr (std::is_trivially_copyable_v && + std::is_trivially_destructible_v) { + memcpy(arrayPointer, p, size * sizeof(T)); + } else { + for (size_t i = 0; i < size; i++) { + // we move an element by using the in-place move-constructor + new(arrayPointer + i) T(std::move(p[i])); + if constexpr (!std::is_trivially_destructible_v) { + // and delete them by calling the destructor directly + p[i].~T(); + } + } + } + index++; + }); + } + + // update the pointers + for_each(mArrays, [buffer, &offsets](size_t i, auto&& p) { + using Type = std::remove_reference_t; + p = Type((char*)buffer + offsets[i]); + }); + } + + // capacity in array elements + size_t mCapacity = 0; + // size in array elements + size_t mSize = 0; + // N pointers to each arrays + std::tuple...> mArrays{}; + Allocator mAllocator; +}; + + +template +inline +typename StructureOfArraysBase::IteratorValueRef& +StructureOfArraysBase::IteratorValueRef::operator=( + StructureOfArraysBase::IteratorValueRef const& rhs) { + return operator=(IteratorValue(rhs)); +} + +template +inline +typename StructureOfArraysBase::IteratorValueRef& +StructureOfArraysBase::IteratorValueRef::operator=( + StructureOfArraysBase::IteratorValueRef&& rhs) noexcept { + return operator=(IteratorValue(rhs)); +} + +template +template +inline +typename StructureOfArraysBase::IteratorValueRef& +StructureOfArraysBase::IteratorValueRef::assign( + StructureOfArraysBase::IteratorValue const& rhs, std::index_sequence) { + // implements IteratorValueRef& IteratorValueRef::operator=(IteratorValue const& rhs) + auto UTILS_UNUSED l = { (soa->elementAt(index) = std::get(rhs.elements), 0)... }; + return *this; +} + +template +template +inline +typename StructureOfArraysBase::IteratorValueRef& +StructureOfArraysBase::IteratorValueRef::assign( + StructureOfArraysBase::IteratorValue&& rhs, std::index_sequence) noexcept { + // implements IteratorValueRef& IteratorValueRef::operator=(IteratorValue&& rhs) noexcept + auto UTILS_UNUSED l = { + (soa->elementAt(index) = std::move(std::get(rhs.elements)), 0)... }; + return *this; +} + +template +using StructureOfArrays = StructureOfArraysBase, Elements ...>; + +} // namespace utils + +#endif // TNT_UTILS_STRUCTUREOFARRAYS_H + diff --git a/web/include/filament/utils/algorithm.h b/web/include/filament/utils/algorithm.h new file mode 100644 index 00000000..ea5ca44f --- /dev/null +++ b/web/include/filament/utils/algorithm.h @@ -0,0 +1,226 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_ALGORITHM_H +#define TNT_UTILS_ALGORITHM_H + +#include + +#include // for std::enable_if + +#include +#include + +namespace utils { + +namespace details { + +template +constexpr inline T popcount(T v) noexcept { + static_assert(sizeof(T) * CHAR_BIT <= 128, "details::popcount() only support up to 128 bits"); + constexpr T ONES = ~T(0); + v = v - ((v >> 1u) & ONES / 3); + v = (v & ONES / 15 * 3) + ((v >> 2u) & ONES / 15 * 3); + v = (v + (v >> 4u)) & ONES / 255 * 15; + return (T) (v * (ONES / 255)) >> (sizeof(T) - 1) * CHAR_BIT; +} + +template::value>> +constexpr inline T clz(T x) noexcept { + static_assert(sizeof(T) * CHAR_BIT <= 128, "details::clz() only support up to 128 bits"); + x |= (x >> 1u); + x |= (x >> 2u); + x |= (x >> 4u); + x |= (x >> 8u); + x |= (x >> 16u); + if constexpr (sizeof(T) * CHAR_BIT >= 64) { // just to silence compiler warning + x |= (x >> 32u); + } + if constexpr (sizeof(T) * CHAR_BIT >= 128) { // just to silence compiler warning + x |= (x >> 64u); + } + return T(sizeof(T) * CHAR_BIT) - details::popcount(x); +} + +template::value>> +constexpr inline T ctz(T x) noexcept { + static_assert(sizeof(T) * CHAR_BIT <= 64, "details::ctz() only support up to 64 bits"); + T c = sizeof(T) * CHAR_BIT; +#if defined(_MSC_VER) + // equivalent to x & -x, but MSVC yield a warning for using unary minus operator on unsigned types + x &= (~x + 1); +#else + // equivalent to x & (~x + 1), but some compilers generate a better sequence on ARM + x &= -x; +#endif + if (x) c--; + if (sizeof(T) * CHAR_BIT >= 64) { + if (x & T(0x00000000FFFFFFFF)) c -= 32; + } + if (x & T(0x0000FFFF0000FFFF)) c -= 16; + if (x & T(0x00FF00FF00FF00FF)) c -= 8; + if (x & T(0x0F0F0F0F0F0F0F0F)) c -= 4; + if (x & T(0x3333333333333333)) c -= 2; + if (x & T(0x5555555555555555)) c -= 1; + return c; +} + +} // namespace details + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned int UTILS_ALWAYS_INLINE clz(unsigned int x) noexcept { +#if __has_builtin(__builtin_clz) + return __builtin_clz(x); +#else + return details::clz(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned long UTILS_ALWAYS_INLINE clz(unsigned long x) noexcept { +#if __has_builtin(__builtin_clzl) + return __builtin_clzl(x); +#else + return details::clz(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned long long UTILS_ALWAYS_INLINE clz(unsigned long long x) noexcept { +#if __has_builtin(__builtin_clzll) + return __builtin_clzll(x); +#else + return details::clz(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned int UTILS_ALWAYS_INLINE ctz(unsigned int x) noexcept { +#if __has_builtin(__builtin_ctz) + return __builtin_ctz(x); +#else + return details::ctz(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned long UTILS_ALWAYS_INLINE ctz(unsigned long x) noexcept { +#if __has_builtin(__builtin_ctzl) + return __builtin_ctzl(x); +#else + return details::ctz(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned long long UTILS_ALWAYS_INLINE ctz(unsigned long long x) noexcept { +#if __has_builtin(__builtin_ctzll) + return __builtin_ctzll(x); +#else + return details::ctz(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned int UTILS_ALWAYS_INLINE popcount(unsigned int x) noexcept { +#if __has_builtin(__builtin_popcount) + return __builtin_popcount(x); +#else + return details::popcount(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned long UTILS_ALWAYS_INLINE popcount(unsigned long x) noexcept { +#if __has_builtin(__builtin_popcountl) + return __builtin_popcountl(x); +#else + return details::popcount(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +unsigned long long UTILS_ALWAYS_INLINE popcount(unsigned long long x) noexcept { +#if __has_builtin(__builtin_popcountll) + return __builtin_popcountll(x); +#else + return details::popcount(x); +#endif +} + +constexpr inline UTILS_PUBLIC UTILS_PURE +uint8_t UTILS_ALWAYS_INLINE popcount(uint8_t x) noexcept { + return (uint8_t)popcount((unsigned int)x); +} + +template::value && std::is_unsigned::value>> +constexpr inline UTILS_PUBLIC UTILS_PURE +T log2i(T x) noexcept { + return (sizeof(x) * 8 - 1u) - clz(x); +} + +template +inline UTILS_PUBLIC +RandomAccessIterator partition_point( + RandomAccessIterator first, RandomAccessIterator last, COMPARE pred, + bool assume_power_of_two = false) { + size_t len = last - first; + + if (!assume_power_of_two) { + // handle non power-of-two sized arrays. If it's POT, the next line is a no-op + // and gets optimized out if the size is known at compile time. + len = 1u << (31 - clz(uint32_t(len))); // next power of two length / 2 + size_t difference = (last - first) - len; + first += !difference || pred(first[len]) ? difference : 0; + } + + while (len) { + // The number of repetitions here doesn't affect the result. We manually unroll the loop + // twice, to guarantee we have at least two iterations without branches (for the case + // where the size is not known at compile time + first += pred(first[len>>=1u]) ? len : 0; + first += pred(first[len>>=1u]) ? len : 0; + } + first += pred(*first); + return first; +} + +template +#if __has_builtin(__builtin_bit_cast) +constexpr +#else +inline +#endif +Dest bit_cast(const Source& source) noexcept { +#if __has_builtin(__builtin_bit_cast) + return __builtin_bit_cast(Dest, source); +#else + static_assert(sizeof(Dest) == sizeof(Source), + "bit_cast requires source and destination to be the same size"); + static_assert(std::is_trivially_copyable_v, + "bit_cast requires the destination type to be copyable"); + static_assert(std::is_trivially_copyable_v, + "bit_cast requires the source type to be copyable"); + Dest dest; + memcpy(&dest, &source, sizeof(dest)); + return dest; +#endif +} + +} // namespace utils + +#endif // TNT_UTILS_ALGORITHM_H diff --git a/web/include/filament/utils/bitset.h b/web/include/filament/utils/bitset.h new file mode 100644 index 00000000..281e5dfc --- /dev/null +++ b/web/include/filament/utils/bitset.h @@ -0,0 +1,330 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_BITSET_H +#define TNT_UTILS_BITSET_H + +#include +#include +#include + +#include +#include +#include + +#include // for std::fill +#include +#include + +#if defined(__ARM_NEON) +# if defined(__ARM_ACLE) && defined(__aarch64__) +# include +# define TNT_UTILS_BITSET_USE_NEON 1 +# endif +#endif + +namespace utils { + +/* + * This bitset<> class is different from std::bitset<> in that it allows us to control + * the exact storage size. This is useful for small bitset (e.g. < 64, on 64-bits machines). + * It also allows for lexicographical compares (i.e. sorting). + */ + +template::value && + std::is_unsigned::value>::type> +class UTILS_PUBLIC bitset { + T storage[N]; + +public: + static constexpr T BITS_PER_WORD = sizeof(T) * 8; + static constexpr T BIT_COUNT = BITS_PER_WORD * N; + static constexpr T WORLD_COUNT = N; + using container_type = T; + + bitset() noexcept { + std::fill(std::begin(storage), std::end(storage), 0); + } + + T getBitsAt(size_t n) const noexcept { + assert_invariant(n + void forEachSetBit(F exec) const noexcept { + for (size_t i = 0; i < N; i++) { + T v = storage[i]; + while (v) { + T k = utils::ctz(v); + v &= ~(T(1) << k); + exec(size_t(k + BITS_PER_WORD * i)); + } + } + } + + size_t size() const noexcept { return N * BITS_PER_WORD; } + + bool test(size_t bit) const noexcept { return operator[](bit); } + + void set(size_t b) noexcept { + assert_invariant(b / BITS_PER_WORD < N); + storage[b / BITS_PER_WORD] |= T(1) << (b % BITS_PER_WORD); + } + + void set(size_t b, bool value) noexcept { + assert_invariant(b / BITS_PER_WORD < N); + storage[b / BITS_PER_WORD] &= ~(T(1) << (b % BITS_PER_WORD)); + storage[b / BITS_PER_WORD] |= T(value) << (b % BITS_PER_WORD); + } + + void unset(size_t b) noexcept { + assert_invariant(b / BITS_PER_WORD < N); + storage[b / BITS_PER_WORD] &= ~(T(1) << (b % BITS_PER_WORD)); + } + + void flip(size_t b) noexcept { + assert_invariant(b / BITS_PER_WORD < N); + storage[b / BITS_PER_WORD] ^= T(1) << (b % BITS_PER_WORD); + } + + + void reset() noexcept { + std::fill(std::begin(storage), std::end(storage), 0); + } + + bool operator[](size_t b) const noexcept { + assert_invariant(b / BITS_PER_WORD < N); + return bool(storage[b / BITS_PER_WORD] & (T(1) << (b % BITS_PER_WORD))); + } + + size_t count() const noexcept { +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0 && BIT_COUNT / 128 < 31) { + // Use NEON for bitset multiple of 128 bits. + // The intermediate computation can't handle more than 31*128 bits because + // intermediate counts must be 8 bits. + uint8x16_t const* const p = (uint8x16_t const*) storage; + uint8x16_t counts = vcntq_u8(p[0]); + for (size_t i = 1; i < BIT_COUNT / 128; ++i) { + counts += vcntq_u8(p[i]); + } + return vaddlvq_u8(counts); + } else +#endif + { + T r = utils::popcount(storage[0]); + for (size_t i = 1; i < N; ++i) { + r += utils::popcount(storage[i]); + } + return r; + } + } + + bool any() const noexcept { +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0) { + uint64x2_t const* const p = (uint64x2_t const*) storage; + uint64x2_t r = p[0]; + for (size_t i = 1; i < BIT_COUNT / 128; ++i) { + r |= p[i]; + } + return bool(r[0] | r[1]); + } else +#endif + { + T r = storage[0]; + for (size_t i = 1; i < N; ++i) { + r |= storage[i]; + } + return bool(r); + } + } + + bool none() const noexcept { + return !any(); + } + + bool all() const noexcept { +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0) { + uint64x2_t const* const p = (uint64x2_t const*) storage; + uint64x2_t r = p[0]; + for (size_t i = 1; i < BIT_COUNT / 128; ++i) { + r &= p[i]; + } + return T(~(r[0] & r[1])) == T(0); + } else +#endif + { + T r = storage[0]; + for (size_t i = 1; i < N; ++i) { + r &= storage[i]; + } + return T(~r) == T(0); + } + } + + bool operator!=(const bitset& b) const noexcept { +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0) { + bitset temp(*this ^ b); + uint64x2_t const* const p = (uint64x2_t const*) temp.storage; + uint64x2_t r = p[0]; + for (size_t i = 1; i < BIT_COUNT / 128; ++i) { + r |= p[i]; + } + return bool(r[0] | r[1]); + } else +#endif + { + T r = storage[0] ^ b.storage[0]; + for (size_t i = 1; i < N; ++i) { + r |= storage[i] ^ b.storage[i]; + } + return bool(r); + } + } + + bool operator==(const bitset& b) const noexcept { + return !operator!=(b); + } + + bitset& operator&=(const bitset& b) noexcept { +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0) { + uint8x16_t* const p = (uint8x16_t*) storage; + uint8x16_t const* const q = (uint8x16_t const*) b.storage; + for (size_t i = 0; i < BIT_COUNT / 128; ++i) { + p[i] &= q[i]; + } + } else +#endif + { + for (size_t i = 0; i < N; ++i) { + storage[i] &= b.storage[i]; + } + } + return *this; + } + + bitset& operator|=(const bitset& b) noexcept { +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0) { + uint8x16_t* const p = (uint8x16_t*) storage; + uint8x16_t const* const q = (uint8x16_t const*) b.storage; + for (size_t i = 0; i < BIT_COUNT / 128; ++i) { + p[i] |= q[i]; + } + } else +#endif + { + for (size_t i = 0; i < N; ++i) { + storage[i] |= b.storage[i]; + } + } + return *this; + } + + bitset& operator^=(const bitset& b) noexcept { +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0) { + uint8x16_t* const p = (uint8x16_t*) storage; + uint8x16_t const* const q = (uint8x16_t const*) b.storage; + for (size_t i = 0; i < BIT_COUNT / 128; ++i) { + p[i] ^= q[i]; + } + } else +#endif + { + for (size_t i = 0; i < N; ++i) { + storage[i] ^= b.storage[i]; + } + } + return *this; + } + + bitset operator~() const noexcept { + bitset r; +#if defined(TNT_UTILS_BITSET_USE_NEON) + if (BIT_COUNT % 128 == 0) { + uint8x16_t* const p = (uint8x16_t*) r.storage; + uint8x16_t const* const q = (uint8x16_t const*) storage; + for (size_t i = 0; i < BIT_COUNT / 128; ++i) { + p[i] = ~q[i]; + } + } else +#endif + { + for (size_t i = 0; i < N; ++i) { + r.storage[i] = ~storage[i]; + } + } + return r; + } + +private: + friend bool operator<(bitset const& lhs, bitset const& rhs) noexcept { + return std::lexicographical_compare( + std::begin(lhs.storage), std::end(lhs.storage), + std::begin(rhs.storage), std::end(rhs.storage) + ); + } + + friend bitset operator&(const bitset& lhs, const bitset& rhs) noexcept { + return bitset(lhs) &= rhs; + } + + friend bitset operator|(const bitset& lhs, const bitset& rhs) noexcept { + return bitset(lhs) |= rhs; + } + + friend bitset operator^(const bitset& lhs, const bitset& rhs) noexcept { + return bitset(lhs) ^= rhs; + } +}; + +using bitset8 = bitset; +using bitset32 = bitset; +using bitset64 = bitset; +using bitset128 = bitset; +using bitset256 = bitset; + +static_assert(sizeof(bitset8) == 1, "bitset8 isn't 8 bits!"); +static_assert(sizeof(bitset32) == 4, "bitset32 isn't 32 bits!"); +static_assert(sizeof(bitset64) == 8, "bitset64 isn't 64 bits!"); +static_assert(sizeof(bitset128) == 16, "bitset128 isn't 128 bits!"); +static_assert(sizeof(bitset256) == 32, "bitset256 isn't 256 bits!"); + +} // namespace utils + +#endif // TNT_UTILS_BITSET_H diff --git a/web/include/filament/utils/compiler.h b/web/include/filament/utils/compiler.h new file mode 100644 index 00000000..7d62a389 --- /dev/null +++ b/web/include/filament/utils/compiler.h @@ -0,0 +1,263 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_COMPILER_H +#define TNT_UTILS_COMPILER_H + +// compatibility with non-clang compilers... +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif + +#ifndef __has_feature +#define __has_feature(x) 0 +#endif + +#ifndef __has_builtin +#define __has_builtin(x) 0 +#endif + +#if __has_attribute(visibility) +# define UTILS_PUBLIC __attribute__((visibility("default"))) +#else +# define UTILS_PUBLIC +#endif + +#if __has_attribute(deprecated) +# define UTILS_DEPRECATED [[deprecated]] +#else +# define UTILS_DEPRECATED +#endif + +#if __has_attribute(packed) +# define UTILS_PACKED __attribute__((packed)) +#else +# define UTILS_PACKED +#endif + +#if __has_attribute(noreturn) +# define UTILS_NORETURN __attribute__((noreturn)) +#else +# define UTILS_NORETURN +#endif + +#if __has_attribute(fallthrough) +# define UTILS_FALLTHROUGH [[fallthrough]] +#else +# define UTILS_FALLTHROUGH +#endif + +#if __has_attribute(visibility) +# ifndef TNT_DEV +# define UTILS_PRIVATE __attribute__((visibility("hidden"))) +# else +# define UTILS_PRIVATE +# endif +#else +# define UTILS_PRIVATE +#endif + +#define UTILS_NO_SANITIZE_THREAD +#if __has_feature(thread_sanitizer) +#undef UTILS_NO_SANITIZE_THREAD +#define UTILS_NO_SANITIZE_THREAD __attribute__((no_sanitize("thread"))) +#endif + +#define UTILS_HAS_SANITIZE_THREAD 0 +#if __has_feature(thread_sanitizer) || defined(__SANITIZE_THREAD__) +#undef UTILS_HAS_SANITIZE_THREAD +#define UTILS_HAS_SANITIZE_THREAD 1 +#endif + +#define UTILS_HAS_SANITIZE_MEMORY 0 +#if __has_feature(memory_sanitizer) +#undef UTILS_HAS_SANITIZE_MEMORY +#define UTILS_HAS_SANITIZE_MEMORY 1 +#endif + +/* + * helps the compiler's optimizer predicting branches + */ +#if __has_builtin(__builtin_expect) +# ifdef __cplusplus +# define UTILS_LIKELY( exp ) (__builtin_expect( !!(exp), true )) +# define UTILS_UNLIKELY( exp ) (__builtin_expect( !!(exp), false )) +# else +# define UTILS_LIKELY( exp ) (__builtin_expect( !!(exp), 1 )) +# define UTILS_UNLIKELY( exp ) (__builtin_expect( !!(exp), 0 )) +# endif +#else +# define UTILS_LIKELY( exp ) (!!(exp)) +# define UTILS_UNLIKELY( exp ) (!!(exp)) +#endif + +#if __has_builtin(__builtin_prefetch) +# define UTILS_PREFETCH( exp ) (__builtin_prefetch(exp)) +#else +# define UTILS_PREFETCH( exp ) +#endif + +#if __has_builtin(__builtin_assume) +# define UTILS_ASSUME( exp ) (__builtin_assume(exp)) +#else +# define UTILS_ASSUME( exp ) +#endif + +#if (defined(__i386__) || defined(__x86_64__)) +# define UTILS_HAS_HYPER_THREADING 1 // on x86 we assume we have hyper-threading. +#else +# define UTILS_HAS_HYPER_THREADING 0 +#endif + +#if defined(FILAMENT_SINGLE_THREADED) +# define UTILS_HAS_THREADING 0 +#elif defined(__EMSCRIPTEN__) +# if defined(__EMSCRIPTEN_PTHREADS__) && defined(FILAMENT_WASM_THREADS) +# define UTILS_HAS_THREADING 1 +# else +# define UTILS_HAS_THREADING 0 +# endif +#else +# define UTILS_HAS_THREADING 1 +#endif + +#if __has_attribute(noinline) +#define UTILS_NOINLINE __attribute__((noinline)) +#else +#define UTILS_NOINLINE +#endif + +#if __has_attribute(always_inline) +#define UTILS_ALWAYS_INLINE __attribute__((always_inline)) +#else +#define UTILS_ALWAYS_INLINE +#endif + +#if __has_attribute(pure) +#define UTILS_PURE __attribute__((pure)) +#else +#define UTILS_PURE +#endif + +#if __has_attribute(maybe_unused) || (defined(_MSC_VER) && _MSC_VER >= 1911) +#define UTILS_UNUSED [[maybe_unused]] +#define UTILS_UNUSED_IN_RELEASE [[maybe_unused]] +#elif __has_attribute(unused) +#define UTILS_UNUSED __attribute__((unused)) +#define UTILS_UNUSED_IN_RELEASE __attribute__((unused)) +#else +#define UTILS_UNUSED +#define UTILS_UNUSED_IN_RELEASE +#endif + +#if defined(_MSC_VER) && _MSC_VER >= 1900 +# define UTILS_RESTRICT __restrict +#elif (defined(__clang__) || defined(__GNUC__)) +# define UTILS_RESTRICT __restrict__ +#else +# define UTILS_RESTRICT +#endif + +#if defined(_MSC_VER) && _MSC_VER >= 1900 +# define UTILS_HAS_FEATURE_CXX_THREAD_LOCAL 1 +#elif __has_feature(cxx_thread_local) +# define UTILS_HAS_FEATURE_CXX_THREAD_LOCAL 1 +#else +# define UTILS_HAS_FEATURE_CXX_THREAD_LOCAL 0 +#endif + +#if defined(_MSC_VER) +// MSVC does not support loop unrolling hints +# define UTILS_UNROLL +# define UTILS_NOUNROLL +#else +// C++11 allows pragmas to be specified as part of defines using the _Pragma syntax. +# define UTILS_UNROLL _Pragma("unroll") +# define UTILS_NOUNROLL _Pragma("nounroll") +#endif + +#if __has_feature(cxx_rtti) || defined(_CPPRTTI) +# define UTILS_HAS_RTTI 1 +#else +# define UTILS_HAS_RTTI 0 +#endif + +#ifdef __ARM_ACLE +# include +# define UTILS_WAIT_FOR_INTERRUPT() __wfi() +# define UTILS_WAIT_FOR_EVENT() __wfe() +# define UTILS_BROADCAST_EVENT() __sev() +# define UTILS_SIGNAL_EVENT() __sevl() +# define UTILS_PAUSE() __yield() +# define UTILS_PREFETCHW(addr) __pldx(1, 0, 0, addr) +#else // !__ARM_ACLE +# if (defined(__i386__) || defined(__x86_64__)) +# define UTILS_X86_PAUSE {__asm__ __volatile__( "rep; nop" : : : "memory" );} +# define UTILS_WAIT_FOR_INTERRUPT() UTILS_X86_PAUSE +# define UTILS_WAIT_FOR_EVENT() UTILS_X86_PAUSE +# define UTILS_BROADCAST_EVENT() +# define UTILS_SIGNAL_EVENT() +# define UTILS_PAUSE() UTILS_X86_PAUSE +# define UTILS_PREFETCHW(addr) UTILS_PREFETCH(addr) +# else // !x86 +# define UTILS_WAIT_FOR_INTERRUPT() +# define UTILS_WAIT_FOR_EVENT() +# define UTILS_BROADCAST_EVENT() +# define UTILS_SIGNAL_EVENT() +# define UTILS_PAUSE() +# define UTILS_PREFETCHW(addr) UTILS_PREFETCH(addr) +# endif // x86 +#endif // __ARM_ACLE + + +// ssize_t is a POSIX type. +#if defined(WIN32) || defined(_WIN32) +#include +typedef SSIZE_T ssize_t; +#endif + +#ifdef _MSC_VER +# define UTILS_EMPTY_BASES __declspec(empty_bases) +#else +# define UTILS_EMPTY_BASES +#endif + +#if defined(WIN32) || defined(_WIN32) + #define IMPORTSYMB __declspec(dllimport) +#else + #define IMPORTSYMB +#endif + +#if defined(_MSC_VER) && !defined(__PRETTY_FUNCTION__) +# define __PRETTY_FUNCTION__ __FUNCSIG__ +#endif + + +#if defined(_MSC_VER) +# define UTILS_WARNING_PUSH _Pragma("warning( push )") +# define UTILS_WARNING_POP _Pragma("warning( pop )") +# define UTILS_WARNING_ENABLE_PADDED _Pragma("warning(1: 4324)") +#elif defined(__clang__) +# define UTILS_WARNING_PUSH _Pragma("clang diagnostic push") +# define UTILS_WARNING_POP _Pragma("clang diagnostic pop") +# define UTILS_WARNING_ENABLE_PADDED _Pragma("clang diagnostic warning \"-Wpadded\"") +#else +# define UTILS_WARNING_PUSH +# define UTILS_WARNING_POP +# define UTILS_WARNING_ENABLE_PADDED +#endif + +#endif // TNT_UTILS_COMPILER_H diff --git a/web/include/filament/utils/compressed_pair.h b/web/include/filament/utils/compressed_pair.h new file mode 100644 index 00000000..62bf2de4 --- /dev/null +++ b/web/include/filament/utils/compressed_pair.h @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_COMPRESSED_PAIR_H +#define TNT_UTILS_COMPRESSED_PAIR_H + +#include +#include + +namespace utils { + +template +struct dependent_type : public T { +}; + +template, bool> = true> +struct compressed_pair : private T1, private T2 { + + template, Dummy>::value && + dependent_type, Dummy>::value>> + compressed_pair() : T1(), T2() {} + + template + compressed_pair(U1&& other1, U2&& other2) + : T1(std::forward(other1)), + T2(std::forward(other2)) {} + + T1& first() noexcept { + return static_cast(*this); + } + + T2& second() noexcept { + return static_cast(*this); + } + + T1 const& first() const noexcept { + return static_cast(*this); + } + + T2 const& second() const noexcept { + return static_cast(*this); + } + + void swap(compressed_pair& other) noexcept { + using std::swap; + swap(first(), other.first()); + swap(second(), other.second()); + } +}; + +} // namespace utils + +#endif // TNT_UTILS_COMPRESSED_PAIR_H diff --git a/web/include/filament/utils/debug.h b/web/include/filament/utils/debug.h new file mode 100644 index 00000000..4c118725 --- /dev/null +++ b/web/include/filament/utils/debug.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_DEBUG_H +#define TNT_UTILS_DEBUG_H + +#include + +namespace utils { +void panic(const char *func, const char * file, int line, const char *assertion) noexcept; +} // namespace filament + +#ifdef NDEBUG +# define assert_invariant(e) ((void)0) +#else +# define assert_invariant(e) \ + (UTILS_LIKELY(e) ? ((void)0) : utils::panic(__func__, __FILE__, __LINE__, #e)) +#endif // NDEBUG + +#endif // TNT_UTILS_DEBUG_H diff --git a/web/include/filament/utils/generic/Mutex.h b/web/include/filament/utils/generic/Mutex.h new file mode 100644 index 00000000..d5976d04 --- /dev/null +++ b/web/include/filament/utils/generic/Mutex.h @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_GENERIC_MUTEX_H +#define TNT_UTILS_GENERIC_MUTEX_H + +#include + +namespace utils { + +using Mutex = std::mutex; + +} // namespace utils + +#endif // TNT_UTILS_GENERIC_MUTEX_H diff --git a/web/include/filament/utils/memalign.h b/web/include/filament/utils/memalign.h new file mode 100644 index 00000000..4c048bff --- /dev/null +++ b/web/include/filament/utils/memalign.h @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_MEMALIGN_H +#define TNT_UTILS_MEMALIGN_H + +#include + +#include +#include +#include + +#if defined(WIN32) +#include +#endif + +namespace utils { + +inline void* aligned_alloc(size_t size, size_t align) noexcept { + // 'align' must be a power of two and a multiple of sizeof(void*) + align = (align < sizeof(void*)) ? sizeof(void*) : align; + assert(align && !(align & align - 1)); + assert((align % sizeof(void*)) == 0); + + void* p = nullptr; + +#if defined(WIN32) + p = ::_aligned_malloc(size, align); +#else + ::posix_memalign(&p, align, size); +#endif + return p; +} + +inline void aligned_free(void* p) noexcept { +#if defined(WIN32) + ::_aligned_free(p); +#else + ::free(p); +#endif +} + +/* + * This allocator can be used with std::vector for instance to ensure all items are aligned + * to their alignof(). e.g. + * + * template + * using aligned_vector = std::vector>; + * + * aligned_vector foos; + * + */ +template +class STLAlignedAllocator { + static_assert(!(alignof(TYPE) & (alignof(TYPE) - 1)), "alignof(T) must be a power of two"); + +public: + using value_type = TYPE; + using pointer = TYPE*; + using const_pointer = const TYPE*; + using reference = TYPE&; + using const_reference = const TYPE&; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + using propagate_on_container_move_assignment = std::true_type; + using is_always_equal = std::true_type; + + template + struct rebind { using other = STLAlignedAllocator; }; + + inline STLAlignedAllocator() noexcept = default; + + template + inline explicit STLAlignedAllocator(const STLAlignedAllocator&) noexcept {} + + inline ~STLAlignedAllocator() noexcept = default; + + inline pointer allocate(size_type n) noexcept { + return (pointer)aligned_alloc(n * sizeof(value_type), alignof(TYPE)); + } + + inline void deallocate(pointer p, size_type) { + aligned_free(p); + } + + // stateless allocators are always equal + template + bool operator==(const STLAlignedAllocator&) const noexcept { + return true; + } + + template + bool operator!=(const STLAlignedAllocator&) const noexcept { + return false; + } +}; + +} // namespace utils + +#endif // TNT_UTILS_MEMALIGN_H diff --git a/web/include/filament/utils/ostream.h b/web/include/filament/utils/ostream.h new file mode 100644 index 00000000..cc4df031 --- /dev/null +++ b/web/include/filament/utils/ostream.h @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TNT_UTILS_OSTREAM_H +#define TNT_UTILS_OSTREAM_H + +#include +#include +#include + +#include +#include +#include + +namespace utils::io { + +struct ostream_; + +class UTILS_PUBLIC ostream : protected utils::PrivateImplementation { + friend struct ostream_; + +public: + virtual ~ostream(); + + ostream& operator<<(short value) noexcept; + ostream& operator<<(unsigned short value) noexcept; + + ostream& operator<<(char value) noexcept; + ostream& operator<<(unsigned char value) noexcept; + + ostream& operator<<(int value) noexcept; + ostream& operator<<(unsigned int value) noexcept; + + ostream& operator<<(long value) noexcept; + ostream& operator<<(unsigned long value) noexcept; + + ostream& operator<<(long long value) noexcept; + ostream& operator<<(unsigned long long value) noexcept; + + ostream& operator<<(float value) noexcept; + ostream& operator<<(double value) noexcept; + ostream& operator<<(long double value) noexcept; + + ostream& operator<<(bool value) noexcept; + + ostream& operator<<(const void* value) noexcept; + + ostream& operator<<(const char* string) noexcept; + ostream& operator<<(const unsigned char* string) noexcept; + + ostream& operator<<(std::string const& s) noexcept; + ostream& operator<<(std::string_view const& s) noexcept; + + ostream& operator<<(ostream& (* f)(ostream&)) noexcept { return f(*this); } + + ostream& dec() noexcept; + ostream& hex() noexcept; + +protected: + ostream& print(const char* format, ...) noexcept; + + class Buffer { + public: + Buffer() noexcept; + ~Buffer() noexcept; + + Buffer(const Buffer&) = delete; + Buffer& operator=(const Buffer&) = delete; + + const char* get() const noexcept { return buffer; } + + std::pair grow(size_t s) noexcept; + void advance(ssize_t n) noexcept; + void reset() noexcept; + + private: + void reserve(size_t newSize) noexcept; + + char* buffer = nullptr; // buffer address + char* curr = nullptr; // current pointer + size_t size = 0; // size remaining + size_t capacity = 0; // total capacity of the buffer + }; + + Buffer& getBuffer() noexcept; + Buffer const& getBuffer() const noexcept; + +private: + virtual ostream& flush() noexcept = 0; + + friend ostream& hex(ostream& s) noexcept; + friend ostream& dec(ostream& s) noexcept; + friend ostream& endl(ostream& s) noexcept; + friend ostream& flush(ostream& s) noexcept; + + enum type { + SHORT, USHORT, CHAR, UCHAR, INT, UINT, LONG, ULONG, LONG_LONG, ULONG_LONG, FLOAT, DOUBLE, + LONG_DOUBLE + }; + + const char* getFormat(type t) const noexcept; +}; + +// handles utils::bitset +inline ostream& operator << (ostream& o, utils::bitset32 const& s) noexcept { + return o << (void*)uintptr_t(s.getValue()); +} + +// handles vectors from libmath (but we do this generically, without needing a dependency on libmath) +template class VECTOR, typename T> +inline ostream& operator<<(ostream& stream, const VECTOR& v) { + stream << "< "; + for (size_t i = 0; i < v.size() - 1; i++) { + stream << v[i] << ", "; + } + stream << v[v.size() - 1] << " >"; + return stream; +} + +inline ostream& hex(ostream& s) noexcept { return s.hex(); } +inline ostream& dec(ostream& s) noexcept { return s.dec(); } +inline ostream& endl(ostream& s) noexcept { s << '\n'; return s.flush(); } +inline ostream& flush(ostream& s) noexcept { return s.flush(); } + +} // namespace utils::io + +#endif // TNT_UTILS_OSTREAM_H diff --git a/web/include/filament/utils/unwindows.h b/web/include/filament/utils/unwindows.h new file mode 100644 index 00000000..328ba4dd --- /dev/null +++ b/web/include/filament/utils/unwindows.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (WIN32) + +#ifdef max +#undef max +#endif + +#ifdef min +#undef min +#endif + +#ifdef far +#undef far +#endif + +#ifdef near +#undef near +#endif + +#ifdef ERROR +#undef ERROR +#endif + +#ifdef OPAQUE +#undef OPAQUE +#endif + +#ifdef TRANSPARENT +#undef TRANSPARENT +#endif + +#ifdef PURE +#undef PURE +#endif + +#endif diff --git a/web/include/filament/viewer/AutomationEngine.h b/web/include/filament/viewer/AutomationEngine.h new file mode 100644 index 00000000..8747f59d --- /dev/null +++ b/web/include/filament/viewer/AutomationEngine.h @@ -0,0 +1,264 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIEWER_AUTOMATION_ENGINE_H +#define VIEWER_AUTOMATION_ENGINE_H + +#include + +namespace filament { + +class ColorGrading; +class Engine; +class LightManager; +class MaterialInstance; +class Renderer; +class View; + +namespace viewer { + +/** + * The AutomationEngine makes it easy to push a bag of settings values to Filament. + * It can also be used to iterate through settings permutations for testing purposes. + * + * When creating an automation engine for testing purposes, clients give it an immutable reference + * to an AutomationSpec. It is always in one of two states: running or idle. The running state can + * be entered immediately (startRunning) or by requesting batch mode (startBatchMode). + * + * When executing a test, clients should call tick() after each frame is rendered, which gives + * automation an opportunity to push settings to Filament, increment the current test index (if + * enough time has elapsed), and request an asynchronous screenshot. + * + * The time to sleep between tests is configurable and can be set to zero. Automation also waits a + * specified minimum number of frames between tests. + * + * Batch mode is meant for non-interactive applications. In batch mode, automation defers applying + * the first test case until the client unblocks it via signalBatchMode(). This is useful when + * waiting for a large model file to become fully loaded. Batch mode also offers a query + * (shouldClose) that is triggered after the last test has been invoked. + */ +class UTILS_PUBLIC AutomationEngine { +public: + /** + * Allows users to toggle screenshots, change the sleep duration between tests, etc. + */ + struct Options { + /** + * Minimum time that automation waits between applying a settings object and advancing + * to the next test case. Specified in seconds. + */ + float sleepDuration = 0.2f; + + /** + * Similar to sleepDuration, but expressed as a frame count. Both the minimum sleep time + * and the minimum frame count must be elapsed before automation advances to the next test. + */ + int minFrameCount = 2; + + /** + * If true, test progress is dumped to the utils Log (info priority). + */ + bool verbose = true; + + /** + * If true, the tick function writes out a screenshot before advancing to the next test. + */ + bool exportScreenshots = false; + + /** + * If true, the tick function writes out a settings JSON file before advancing. + */ + bool exportSettings = false; + }; + + /** + * Collection of Filament objects that can be modified by the automation engine. + */ + struct ViewerContent { + View* view; + Renderer* renderer; + MaterialInstance* const* materials; + size_t materialCount; + LightManager* lightManager; + Scene* scene; + IndirectLight* indirectLight; + utils::Entity sunlight; + utils::Entity* assetLights; + size_t assetLightCount; + }; + + /** + * Creates an automation engine and places it in an idle state. + * + * @param spec Specifies a set of settings permutations (owned by the client). + * @param settings Client-owned settings object. This not only supplies the initial + * state, it also receives changes during tick(). This is useful when + * building automation into an application that has a settings UI. + * + * @see setOptions + * @see startRunning + */ + AutomationEngine(const AutomationSpec* spec, Settings* settings) : + mSpec(spec), mSettings(settings) {} + + /** + * Shortcut constructor that creates an automation engine from a JSON string. + * + * This constructor can be used if the user does not need to monitor how the settings + * change over time and does not need ownership over the AutomationSpec. + * + * An example of a JSON spec can be found by searching the repo for DEFAULT_AUTOMATION. + * This is documented using a JSON schema (look for viewer/schemas/automation.json). + * + * @param jsonSpec Valid JSON string that conforms to the automation schema. + * @param size Number of characters in the JSON string. + * @return Automation engine or null if unable to read the JSON. + */ + static AutomationEngine* createFromJSON(const char* jsonSpec, size_t size); + + /** + * Creates an automation engine for the sole purpose of pushing settings, or for executing + * the default test sequence. + * + * To see how the default test sequence is generated, search for DEFAULT_AUTOMATION. + */ + static AutomationEngine* createDefault(); + + /** + * Activates the automation test. During the subsequent call to tick(), the first test is + * applied and automation enters the running state. + */ + void startRunning(); + + /** + * Activates the automation test, but enters a paused state until the user calls + * signalBatchMode(). + */ + void startBatchMode(); + + /** + * Notifies the automation engine that time has passed, a new frame has been rendered. + * + * This is when settings get applied, screenshots are (optionally) exported, and the internal + * test counter is potentially incremented. + * + * @param content Contains the Filament View, Materials, and Renderer that get modified. + * @param deltaTime The amount of time that has passed since the previous tick in seconds. + */ + void tick(Engine* engine, const ViewerContent& content, float deltaTime); + + /** + * Mutates a set of client-owned Filament objects according to a JSON string. + * + * This method is an alternative to tick(). It allows clients to use the automation engine as a + * remote control, as opposed to iterating through a predetermined test sequence. + * + * This updates the stashed Settings object, then pushes those settings to the given + * Filament objects. Clients can optionally call getColorGrading() after calling this method. + * + * @param json Contains the JSON string with a set of changes that need to be pushed. + * @param jsonLength Number of characters in the json string. + * @param content Contains a set of Filament objects that you want to mutate. + */ + void applySettings(Engine* engine, const char* json, size_t jsonLength, const ViewerContent& content); + + /** + * Gets a color grading object that corresponds to the latest settings. + * + * This method either returns a cached instance, or it destroys the cached instance and creates + * a new one. + */ + ColorGrading* getColorGrading(Engine* engine); + + /** + * Gets the current viewer options. + * + * NOTE: Focal length here might be different from the user-specified value, due to DoF options. + */ + ViewerOptions getViewerOptions() const; + + /** + * Signals that batch mode can begin. Call this after all meshes and textures finish loading. + */ + void signalBatchMode() { mBatchModeAllowed = true; } + + /** + * Cancels an in-progress automation session. + */ + void stopRunning() { mIsRunning = false; } + + /** + * Signals that the application is closing, so all pending screenshots should be cancelled. + */ + void terminate(); + + /** + * Configures the automation engine for users who wish to set up a custom sleep time + * between tests, etc. + */ + void setOptions(Options options) { mOptions = options; } + + /** + * Returns true if automation is in batch mode and all tests have finished. + */ + bool shouldClose() const { return mShouldClose; } + + /** + * Convenience function that writes out a JSON file to disk containing all settings. + * + * @param Settings State vector to serialize. + * @param filename Desired JSON filename. + */ + static void exportSettings(const Settings& settings, const char* filename); + + Options getOptions() const { return mOptions; } + bool isRunning() const { return mIsRunning; } + size_t currentTest() const { return mCurrentTest; } + size_t testCount() const { return mSpec->size(); } + bool isBatchModeEnabled() const { return mBatchModeEnabled; } + const char* getStatusMessage() const; + ~AutomationEngine(); + +private: + AutomationSpec const * const mSpec; + Settings * const mSettings; + Options mOptions; + + Engine* mColorGradingEngine = nullptr; + ColorGrading* mColorGrading = nullptr; + ColorGradingSettings mColorGradingSettings = {}; + + size_t mCurrentTest; + float mElapsedTime; + int mElapsedFrames; + bool mIsRunning = false; + bool mBatchModeEnabled = false; + bool mRequestStart = false; + bool mShouldClose = false; + bool mBatchModeAllowed = false; + bool mTerminated = false; + bool mOwnsSettings = false; + +public: + // For internal use from a screenshot callback. + void requestClose() { mShouldClose = true; } + bool isTerminated() const { return mTerminated; } +}; + +} // namespace viewer +} // namespace filament + +#endif // VIEWER_AUTOMATION_ENGINE_H diff --git a/web/include/filament/viewer/AutomationSpec.h b/web/include/filament/viewer/AutomationSpec.h new file mode 100644 index 00000000..49e16854 --- /dev/null +++ b/web/include/filament/viewer/AutomationSpec.h @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIEWER_AUTOMATION_SPEC_H +#define VIEWER_AUTOMATION_SPEC_H + +#include + +#include + +namespace filament { +namespace viewer { + +/** + * Immutable list of Settings objects generated from a JSON spec. + * + * Each top-level item in the JSON spec is an object with "name", "base" and "permute". + * The "base" object specifies a single set of changes to apply to default settings. + * The optional "permute" object specifies a cross product of changes to apply to the base. + * + * The following example generates a total of 5 test cases. + * [{ + * "name": "simple", + * "base": { + * "view.dof.cocScale": 1.0, + * "view.bloom.strength": 0.5 + * }, + * "permute": { + * "view.bloom.enabled": [false, true], + * "view.dof.enabled": [false, true] + * } + * }, + * { + * "name": "ppoff", + * "base": { + * "view.postProcessingEnabled": false + * } + * }] + */ +class UTILS_PUBLIC AutomationSpec { +public: + + // Parses a JSON spec, then generates a list of Settings objects. + // Returns null on failure (see utils log for warnings and errors). + // Clients should release memory using "delete". + static AutomationSpec* generate(const char* jsonSpec, size_t size); + + // Generates a list of Settings objects using an embedded JSON spec. + static AutomationSpec* generateDefaultTestCases(); + + // Returns the number of generated Settings objects. + size_t size() const; + + // Gets a generated Settings object and copies it out. + // Returns false if the given index is out of bounds. + bool get(size_t index, Settings* out) const; + + // Returns the name of the JSON group for a given Settings object. + char const* getName(size_t index) const; + + // Frees all Settings objects and name strings. + ~AutomationSpec(); + +private: + struct Impl; + AutomationSpec(Impl*); + Impl* mImpl; +}; + +} // namespace viewer +} // namespace filament + +#endif // VIEWER_AUTOMATION_SPEC_H diff --git a/web/include/filament/viewer/RemoteServer.h b/web/include/filament/viewer/RemoteServer.h new file mode 100644 index 00000000..6272b872 --- /dev/null +++ b/web/include/filament/viewer/RemoteServer.h @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIEWER_REMOTE_SERVER_H +#define VIEWER_REMOTE_SERVER_H + +#include + +#include + +#include +#include + +class CivetServer; + +namespace filament { +namespace viewer { + +class MessageSender; +class MessageReceiver; + +/** + * Encapsulates a message sent from the web client. + * + * All instances of ReceivedMessage and their data / strings are owned by RemoteServer. + * These can be freed via RemoteServer::releaseReceivedMessage(). + */ +struct ReceivedMessage { + char* label; + char* buffer; + size_t bufferByteCount; + size_t messageUid; +}; + +/** + * Manages a tiny WebSocket server that can receive model data and viewer settings. + * + * Client apps can call peekReceivedMessage to check for new data, or acquireReceivedMessage + * to pop it off the small internal queue. When they are done examining the message contents + * they should call releaseReceivedMessage. + */ +class UTILS_PUBLIC RemoteServer { +public: + RemoteServer(int port = 8082); + ~RemoteServer(); + bool isValid() const { return mMessageSender; } + + /** + * Checks if a download is currently in progress and returns its label. + * Returns null if nothing is being downloaded. + */ + char const* peekIncomingLabel() const; + + /** + * Pops a message off the incoming queue or returns null if there are no unread messages. + * + * After examining its contents, users should free the message with releaseReceivedMessage. + */ + ReceivedMessage const* acquireReceivedMessage(); + + /** + * Frees the memory that holds the contents of a received message. + */ + void releaseReceivedMessage(ReceivedMessage const* message); + + void sendMessage(const Settings& settings); + void sendMessage(const char* label, const char* buffer, size_t bufsize); + + // For internal use (makes JNI simpler) + ReceivedMessage const* peekReceivedMessage() const; + +private: + void enqueueReceivedMessage(ReceivedMessage* message); + void setIncomingMessage(ReceivedMessage* message); + MessageSender* mMessageSender = nullptr; + MessageReceiver* mMessageReceiver = nullptr; + size_t mNextMessageUid = 0; + static const size_t kMessageCapacity = 4; + ReceivedMessage* mReceivedMessages[kMessageCapacity] = {}; + ReceivedMessage* mIncomingMessage = nullptr; + JsonSerializer mSerializer; + mutable std::mutex mReceivedMessagesMutex; + friend class MessageReceiver; +}; + +} // namespace viewer +} // namespace filament + +#endif // VIEWER_REMOTE_SERVER_H diff --git a/web/include/filament/viewer/Settings.h b/web/include/filament/viewer/Settings.h new file mode 100644 index 00000000..6682260c --- /dev/null +++ b/web/include/filament/viewer/Settings.h @@ -0,0 +1,258 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIEWER_SETTINGS_H +#define VIEWER_SETTINGS_H + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include + +#include + +namespace filament { + +using namespace color; + +class Skybox; +class Renderer; + +namespace viewer { + +struct ColorGradingSettings; +struct DynamicLightingSettings; +struct MaterialSettings; +struct Settings; +struct ViewSettings; +struct LightSettings; +struct ViewerOptions; + +enum class ToneMapping : uint8_t { + LINEAR = 0, + ACES_LEGACY = 1, + ACES = 2, + FILMIC = 3, + AGX = 4, + GENERIC = 5, + DISPLAY_RANGE = 6, +}; + +using AmbientOcclusionOptions = filament::View::AmbientOcclusionOptions; +using ScreenSpaceReflectionsOptions = filament::View::ScreenSpaceReflectionsOptions; +using AntiAliasing = filament::View::AntiAliasing; +using BloomOptions = filament::View::BloomOptions; +using DepthOfFieldOptions = filament::View::DepthOfFieldOptions; +using Dithering = filament::View::Dithering; +using FogOptions = filament::View::FogOptions; +using RenderQuality = filament::View::RenderQuality; +using ShadowType = filament::View::ShadowType; +using DynamicResolutionOptions = filament::View::DynamicResolutionOptions; +using MultiSampleAntiAliasingOptions = filament::View::MultiSampleAntiAliasingOptions; +using TemporalAntiAliasingOptions = filament::View::TemporalAntiAliasingOptions; +using VignetteOptions = filament::View::VignetteOptions; +using VsmShadowOptions = filament::View::VsmShadowOptions; +using GuardBandOptions = filament::View::GuardBandOptions; +using StereoscopicOptions = filament::View::StereoscopicOptions; +using LightManager = filament::LightManager; + +// These functions push all editable property values to their respective Filament objects. +void applySettings(Engine* engine, const ViewSettings& settings, View* dest); +void applySettings(Engine* engine, const MaterialSettings& settings, MaterialInstance* dest); +void applySettings(Engine* engine, const LightSettings& settings, IndirectLight* ibl, utils::Entity sunlight, + const utils::Entity* sceneLights, size_t sceneLightCount, LightManager* lm, Scene* scene, View* view); +void applySettings(Engine* engine, const ViewerOptions& settings, Camera* camera, Skybox* skybox, + Renderer* renderer); + +// Creates a new ColorGrading object based on the given settings. +UTILS_PUBLIC +ColorGrading* createColorGrading(const ColorGradingSettings& settings, Engine* engine); + +class UTILS_PUBLIC JsonSerializer { +public: + JsonSerializer(); + ~JsonSerializer(); + + // Writes a human-readable JSON string into an internal buffer and returns the result. + const std::string& writeJson(const Settings& in); + + // Reads the given JSON blob and updates the corresponding fields in the given Settings object. + // - The given JSON blob need not specify all settings. + // - Returns true if successful. + // - This function writes warnings and error messages into the utils log. + bool readJson(const char* jsonChunk, size_t size, Settings* out); + +private: + class Context; + Context* context; +}; + +struct GenericToneMapperSettings { + float contrast = 1.55f; + float midGrayIn = 0.18f; + float midGrayOut = 0.215f; + float hdrMax = 10.0f; + bool operator!=(const GenericToneMapperSettings& rhs) const { return !(rhs == *this); } + bool operator==(const GenericToneMapperSettings& rhs) const; +}; + +struct AgxToneMapperSettings { + AgxToneMapper::AgxLook look = AgxToneMapper::AgxLook::NONE; + bool operator!=(const AgxToneMapperSettings& rhs) const { return !(rhs == *this); } + bool operator==(const AgxToneMapperSettings& rhs) const; +}; + +struct ColorGradingSettings { + // fields are ordered to avoid padding + bool enabled = true; + bool linkedCurves = false; + bool luminanceScaling = false; + bool gamutMapping = false; + filament::ColorGrading::QualityLevel quality = filament::ColorGrading::QualityLevel::MEDIUM; + ToneMapping toneMapping = ToneMapping::ACES_LEGACY; + bool padding0{}; + AgxToneMapperSettings agxToneMapper; + color::ColorSpace colorspace = Rec709-sRGB-D65; + GenericToneMapperSettings genericToneMapper; + math::float4 shadows{1.0f, 1.0f, 1.0f, 0.0f}; + math::float4 midtones{1.0f, 1.0f, 1.0f, 0.0f}; + math::float4 highlights{1.0f, 1.0f, 1.0f, 0.0f}; + math::float4 ranges{0.0f, 0.333f, 0.550f, 1.0f}; + math::float3 outRed{1.0f, 0.0f, 0.0f}; + math::float3 outGreen{0.0f, 1.0f, 0.0f}; + math::float3 outBlue{0.0f, 0.0f, 1.0f}; + math::float3 slope{1.0f}; + math::float3 offset{0.0f}; + math::float3 power{1.0f}; + math::float3 gamma{1.0f}; + math::float3 midPoint{1.0f}; + math::float3 scale{1.0f}; + float exposure = 0.0f; + float nightAdaptation = 0.0f; + float temperature = 0.0f; + float tint = 0.0f; + float contrast = 1.0f; + float vibrance = 1.0f; + float saturation = 1.0f; + + bool operator!=(const ColorGradingSettings &rhs) const { return !(rhs == *this); } + bool operator==(const ColorGradingSettings &rhs) const; +}; + +struct DynamicLightingSettings { + float zLightNear = 5; + float zLightFar = 100; +}; + +struct FogSettings { + Texture* fogColorTexture = nullptr; +}; + +// This defines fields in the same order as the setter methods in filament::View. +struct ViewSettings { + // standalone View settings + AntiAliasing antiAliasing = AntiAliasing::FXAA; + Dithering dithering = Dithering::TEMPORAL; + ShadowType shadowType = ShadowType::PCF; + bool postProcessingEnabled = true; + + // View Options (sorted) + AmbientOcclusionOptions ssao; + ScreenSpaceReflectionsOptions screenSpaceReflections; + BloomOptions bloom; + DepthOfFieldOptions dof; + DynamicResolutionOptions dsr; + FogOptions fog; + MultiSampleAntiAliasingOptions msaa; + RenderQuality renderQuality; + TemporalAntiAliasingOptions taa; + VignetteOptions vignette; + VsmShadowOptions vsmShadowOptions; + GuardBandOptions guardBand; + StereoscopicOptions stereoscopicOptions; + + // Custom View Options + ColorGradingSettings colorGrading; + DynamicLightingSettings dynamicLighting; + FogSettings fogSettings; +}; + +template +struct MaterialProperty { std::string name; T value; }; + +// This struct has a fixed size for simplicity. Each non-empty property name is an override. +struct MaterialSettings { + static constexpr size_t MAX_COUNT = 4; + MaterialProperty scalar[MAX_COUNT]; + MaterialProperty float3[MAX_COUNT]; + MaterialProperty float4[MAX_COUNT]; +}; + +struct LightSettings { + bool enableShadows = true; + bool enableSunlight = true; + LightManager::ShadowOptions shadowOptions; + SoftShadowOptions softShadowOptions; + float sunlightIntensity = 100000.0f; + float sunlightHaloSize = 10.0f; + float sunlightHaloFalloff = 80.0f; + float sunlightAngularRadius = 1.9f; + math::float3 sunlightDirection = {0.6, -1.0, -0.8}; + math::float3 sunlightColor = filament::Color::toLinear({ 0.98, 0.92, 0.89}); + float iblIntensity = 30000.0f; + float iblRotation = 0.0f; +}; + +struct ViewerOptions { + float cameraAperture = 16.0f; + float cameraSpeed = 125.0f; + float cameraISO = 100.0f; + float cameraNear = 0.1f; + float cameraFar = 100.0f; + float cameraEyeOcularDistance = 0.0f; + float cameraEyeToeIn = 0.0f; + float groundShadowStrength = 0.75f; + bool groundPlaneEnabled = false; + bool skyboxEnabled = true; + sRGBColor backgroundColor = { 0.0f }; + float cameraFocalLength = 28.0f; + float cameraFocusDistance = 10.0f; + bool autoScaleEnabled = true; + bool autoInstancingEnabled = false; +}; + +struct Settings { + ViewSettings view; + MaterialSettings material; + LightSettings lighting; + ViewerOptions viewer; +}; + +} // namespace viewer +} // namespace filament + +#endif // VIEWER_SETTINGS_H diff --git a/web/include/filament/viewer/ViewerGui.h b/web/include/filament/viewer/ViewerGui.h new file mode 100644 index 00000000..8f843357 --- /dev/null +++ b/web/include/filament/viewer/ViewerGui.h @@ -0,0 +1,291 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIEWER_VIEWERGUI_H +#define VIEWER_VIEWERGUI_H + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include +#include + +#include +#include + +#include +#include + +namespace filagui { + class ImGuiHelper; +} + +namespace filament { +namespace viewer { + +/** + * \class ViewerGui ViewerGui.h viewer/ViewerGui.h + * \brief Builds ImGui widgets for a simple glTF viewer and manages the associated state. + * + * This is a utility that can be used across multiple platforms, including web. + * + * \note If you don't need ImGui controls, there is no need to use this class, just use AssetLoader + * instead. + */ +class UTILS_PUBLIC ViewerGui { +public: + using Animator = gltfio::Animator; + using FilamentAsset = gltfio::FilamentAsset; + using FilamentInstance = gltfio::FilamentInstance; + + static constexpr int DEFAULT_SIDEBAR_WIDTH = 350; + + /** + * Constructs a ViewerGui that has a fixed association with the given Filament objects. + * + * Upon construction, the simple viewer may create some additional Filament objects (such as + * light sources) that it owns. + */ + ViewerGui(Engine* engine, Scene* scene, View* view, + int sidebarWidth = DEFAULT_SIDEBAR_WIDTH); + + /** + * Destroys the ViewerGui and any Filament entities that it owns. + */ + ~ViewerGui(); + + /** + * Sets the viewer's current asset and instance. + * + * The viewer does not claim ownership over the asset or its entities. Clients should use + * AssetLoader and ResourceLoader to load an asset before passing it in. + * + * This method does not add renderables to the scene; see populateScene(). + * + * @param instance The asset to view. + * @param instance The instance to view. + */ + void setAsset(FilamentAsset* asset, FilamentInstance* instance); + + /** + * Adds the asset's ready-to-render entities into the scene. + * + * This is used for asychronous loading. It can be called once per frame to gradually add + * entities into the scene as their textures are loaded. + */ + void populateScene(); + + /** + * Removes the current asset from the viewer. + * + * This removes all the asset entities from the Scene, but does not destroy them. + */ + void removeAsset(); + + /** + * Sets or changes the current scene's IBL to allow the UI manipulate it. + */ + void setIndirectLight(IndirectLight* ibl, math::float3 const* sh3); + + /** + * Applies the currently-selected glTF animation to the transformation hierarchy and updates + * the bone matrices on all renderables. + * + * If an instance is provided, animation is applied to it rather than the "set" instance. + */ + void applyAnimation(double currentTime, FilamentInstance* instance = nullptr); + + /** + * Constructs ImGui controls for the current frame and responds to everything that the user has + * changed since the previous frame. + * + * If desired this can be used in conjunction with the filagui library, which allows clients to + * render ImGui controls with Filament. + */ + void updateUserInterface(); + + /** + * Alternative to updateUserInterface that uses an internal instance of ImGuiHelper. + * + * This utility method is designed for clients that do not want to manage their own instance of + * ImGuiHelper (e.g., JavaScript clients). + * + * Behind the scenes this simply calls ImGuiHelper->render() and passes updateUserInterface into + * its callback. Note that the first call might be slower since it requires the creation of the + * internal ImGuiHelper instance. + */ + void renderUserInterface(float timeStepInSeconds, View* guiView, float pixelRatio); + + /** + * Event-passing methods, useful only when ViewerGui manages its own instance of ImGuiHelper. + * The key codes used in these methods are just normal ASCII/ANSI codes. + * @{ + */ + void mouseEvent(float mouseX, float mouseY, bool mouseButton, float mouseWheelY, bool control); + void keyDownEvent(int keyCode); + void keyUpEvent(int keyCode); + void keyPressEvent(int charCode); + /** @}*/ + + /** + * Retrieves the current width of the ImGui "window" which we are using as a sidebar. + * Clients can monitor this value to adjust the size of the view. + */ + int getSidebarWidth() const { return mSidebarWidth; } + + /** + * Allows clients to inject custom UI. + */ + void setUiCallback(std::function callback) { mCustomUI = callback; } + + /** + * Draws the bounding box of each renderable. + * Defaults to false. + */ + void enableWireframe(bool b) { mEnableWireframe = b; } + + /** + * Enables a built-in light source (useful for creating shadows). + * Defaults to true. + */ + void enableSunlight(bool b) { mSettings.lighting.enableSunlight = b; } + + /** + * Enables dithering on the view. + * Defaults to true. + */ + void enableDithering(bool b) { + mSettings.view.dithering = b ? Dithering::TEMPORAL : Dithering::NONE; + } + + /** + * Enables FXAA antialiasing in the post-process pipeline. + * Defaults to true. + */ + void enableFxaa(bool b) { + mSettings.view.antiAliasing = b ? AntiAliasing::FXAA : AntiAliasing::NONE; + } + + /** + * Enables hardware-based MSAA antialiasing. + * Defaults to true. + */ + void enableMsaa(bool b) { + mSettings.view.msaa.sampleCount = 4; + mSettings.view.msaa.enabled = b; + } + + /** + * Enables screen-space ambient occlusion in the post-process pipeline. + * Defaults to true. + */ + void enableSSAO(bool b) { mSettings.view.ssao.enabled = b; } + + /** + * Enables Bloom. + * Defaults to true. + */ + void enableBloom(bool bloom) { mSettings.view.bloom.enabled = bloom; } + + /** + * Adjusts the intensity of the IBL. + * See also IndirectLight::setIntensity(). + * Defaults to 30000.0. + */ + void setIBLIntensity(float brightness) { mSettings.lighting.iblIntensity = brightness; } + + /** + * Updates the transform at the root node according to the autoScaleEnabled setting. + */ + void updateRootTransform(); + + /** + * Gets a modifiable reference to stashed state. + */ + Settings& getSettings() { return mSettings; } + + void stopAnimation() { mCurrentAnimation = -1; } + + int getCurrentCamera() const { return mCurrentCamera; } + +private: + using SceneMask = gltfio::NodeManager::SceneMask; + + bool isRemoteMode() const { return mAsset == nullptr; } + + void sceneSelectionUI(); + + // Immutable properties set from the constructor. + Engine* const mEngine; + Scene* const mScene; + View* const mView; + const utils::Entity mSunlight; + + // Lazily instantiated fields. + filagui::ImGuiHelper* mImGuiHelper = nullptr; + + // Properties that can be changed from the application. + FilamentAsset* mAsset = nullptr; + FilamentInstance* mInstance = nullptr; + IndirectLight* mIndirectLight = nullptr; + std::function mCustomUI; + + // Properties that can be changed from the UI. + int mCurrentAnimation = 0; // -1 means not playing animation and count means plays all of them (0-based index) + int mCurrentVariant = 0; + bool mEnableWireframe = false; + int mVsmMsaaSamplesLog2 = 1; + Settings mSettings; + int mSidebarWidth; + uint32_t mFlags; + utils::Entity mCurrentMorphingEntity; + std::vector mMorphWeights; + SceneMask mVisibleScenes; + bool mShowingRestPose = false; + + // 0 is the default "free camera". Additional cameras come from the gltf file (1-based index). + int mCurrentCamera = 0; + + // Cross fade animation parameters. + float mCrossFadeDuration = 0.5f; // number of seconds to transition between animations + int mPreviousAnimation = -1; // zero-based index of the previous animation + double mCurrentStartTime = 0.0f; // start time of most recent cross-fade (seconds) + double mPreviousStartTime = 0.0f; // start time of previous cross-fade (seconds) + bool mResetAnimation = true; // set when building ImGui widgets, honored in applyAnimation + + // Color grading UI state. + float mToneMapPlot[1024]; + float mRangePlot[1024 * 3]; + float mCurvePlot[1024 * 3]; +}; + +UTILS_PUBLIC +math::mat4f fitIntoUnitCube(const Aabb& bounds, float zoffset); + +} // namespace viewer +} // namespace filament + +#endif // VIEWER_VIEWERGUI_H diff --git a/web/include/material/image.S b/web/include/material/image.S new file mode 100644 index 00000000..5de5effb --- /dev/null +++ b/web/include/material/image.S @@ -0,0 +1,12 @@ + .global IMAGE_IMAGE_OFFSET; + .global IMAGE_IMAGE_SIZE; + + .global IMAGE_PACKAGE + .section .rodata +IMAGE_PACKAGE: + .incbin "image.bin" +IMAGE_IMAGE_OFFSET: + .int 0 +IMAGE_IMAGE_SIZE: + .int 17645 + diff --git a/web/include/material/image.apple.S b/web/include/material/image.apple.S new file mode 100644 index 00000000..bebc08af --- /dev/null +++ b/web/include/material/image.apple.S @@ -0,0 +1,12 @@ + .global _IMAGE_IMAGE_OFFSET; + .global _IMAGE_IMAGE_SIZE; + + .global _IMAGE_PACKAGE + .section __TEXT,__const +_IMAGE_PACKAGE: + .incbin "image.bin" +_IMAGE_IMAGE_OFFSET: + .int 0 +_IMAGE_IMAGE_SIZE: + .int 17645 + diff --git a/web/include/material/image.bin b/web/include/material/image.bin new file mode 100644 index 0000000000000000000000000000000000000000..3b97ab25ea2f49836fa60d7297812da30a85dfca GIT binary patch literal 17645 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 + +const uint8_t IMAGE_PACKAGE[] = { +// IMAGE +0x53, 0x52, 0x45, 0x56, 0x5f, 0x54, 0x41, 0x4d, 0x04, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x54, 0x41, 0x45, 0x46, +0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x45, 0x4d, 0x41, 0x4e, 0x5f, 0x54, 0x41, 0x4d, 0x06, 0x00, 0x00, +0x00, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x4c, 0x44, 0x4d, 0x53, 0x5f, 0x54, 0x41, 0x4d, 0x04, 0x00, 0x00, 0x00, 0x06, +0x00, 0x00, 0x00, 0x4e, 0x4d, 0x4f, 0x44, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4c, 0x46, 0x56, +0x5f, 0x54, 0x41, 0x4d, 0x04, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x46, 0x49, 0x4e, 0x55, 0x5f, 0x54, 0x41, 0x4d, +0x98, 0x00, 0x00, 0x00, 0x09, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x00, +0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x01, 0x4c, 0x69, 0x67, 0x68, +0x74, 0x73, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x04, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x55, 0x6e, +0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x05, 0x46, 0x72, 0x6f, 0x78, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, +0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x06, 0x46, 0x72, 0x6f, 0x78, 0x65, 0x6c, 0x73, 0x55, 0x6e, 0x69, +0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x07, 0x42, 0x6f, 0x6e, 0x65, 0x73, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, +0x00, 0x02, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x6e, 0x67, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x03, +0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x08, 0x50, 0x4d, 0x41, 0x53, +0x5f, 0x54, 0x41, 0x4d, 0xe1, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x07, 0x07, 0x01, 0x02, 0x09, 0x07, 0x01, 0x0a, 0x01, +0x01, 0x0b, 0x00, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x61, 0x70, 0x00, 0x01, +0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x62, 0x6c, 0x44, 0x46, 0x47, 0x00, 0x02, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, +0x69, 0x62, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x00, 0x03, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, +0x73, 0x61, 0x6f, 0x00, 0x04, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x73, 0x72, 0x00, 0x05, 0x6c, 0x69, 0x67, 0x68, +0x74, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x00, 0x06, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, +0x6f, 0x67, 0x00, 0x07, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, +0x72, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x00, 0x08, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x54, 0x61, +0x72, 0x67, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x00, +0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, +0x65, 0x00, 0x0a, 0x62, 0x6f, 0x6e, 0x65, 0x73, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, +0x65, 0x73, 0x41, 0x6e, 0x64, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x00, 0x20, 0x42, 0x49, 0x55, 0x5f, 0x54, 0x41, +0x4d, 0x59, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, +0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x02, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, +0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x73, 0x68, 0x6f, 0x77, 0x49, 0x6d, +0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x20, 0x42, 0x49, 0x53, 0x5f, 0x54, +0x41, 0x4d, 0x21, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x00, 0x02, 0x03, 0x00, 0x53, +0x4e, 0x4f, 0x43, 0x5f, 0x54, 0x41, 0x4d, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, +0x42, 0x55, 0x53, 0x5f, 0x54, 0x41, 0x4d, 0x17, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, +0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x53, 0x4f, 0x44, 0x5f, 0x54, +0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x4f, 0x44, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, +0x4e, 0x45, 0x4c, 0x42, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x44, 0x4d, 0x52, 0x54, 0x5f, 0x54, 0x41, +0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x49, +0x52, 0x57, 0x43, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x53, 0x57, 0x45, 0x44, 0x5f, 0x54, 0x41, 0x4d, +0x01, 0x00, 0x00, 0x00, 0x01, 0x49, 0x52, 0x57, 0x44, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x53, 0x45, +0x54, 0x44, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x54, 0x53, 0x4e, 0x49, 0x5f, 0x54, 0x41, 0x4d, 0x01, +0x00, 0x00, 0x00, 0x00, 0x53, 0x43, 0x32, 0x41, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x43, 0x32, +0x41, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4d, 0x55, 0x43, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, +0x00, 0x00, 0x00, 0x50, 0x4f, 0x52, 0x50, 0x5f, 0x54, 0x41, 0x4d, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x44, 0x49, 0x55, 0x55, 0x5f, 0x54, 0x41, 0x4d, 0x08, 0x00, 0x00, 0x00, 0x13, 0xb9, 0xd1, 0x73, 0xc2, +0x94, 0x5c, 0x21, 0x44, 0x41, 0x48, 0x53, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x4d, 0x48, 0x53, +0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, +0x00, 0x00, 0x54, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x52, 0x4f, 0x49, 0x43, 0x5f, +0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x41, 0x51, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x4d, 0x04, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x41, 0x41, 0x50, 0x53, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x52, 0x41, 0x56, +0x53, 0x5f, 0x54, 0x41, 0x4d, 0x04, 0x00, 0x00, 0x00, 0x9a, 0x99, 0x19, 0x3e, 0x52, 0x48, 0x54, 0x53, 0x5f, 0x54, 0x41, +0x4d, 0x04, 0x00, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0x4f, 0x44, 0x45, 0x56, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, +0x00, 0x03, 0x52, 0x54, 0x4e, 0x49, 0x5f, 0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x50, 0x44, 0x53, 0x43, 0x5f, +0x54, 0x41, 0x4d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x54, 0x58, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x44, 0x9b, 0x34, 0x00, 0x00, +0xe6, 0x01, 0x00, 0x00, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x30, 0x30, 0x20, 0x65, 0x73, 0x00, +0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, +0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x00, 0x7b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, +0x55, 0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, +0x6f, 0x6e, 0x3b, 0x00, 0x7d, 0x3b, 0x00, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x53, 0x50, 0x49, 0x52, 0x56, +0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x35, +0x00, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x50, 0x49, 0x52, 0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, +0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x35, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, +0x00, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x00, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x43, +0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x56, 0x52, 0x5f, 0x53, 0x48, 0x41, 0x44, 0x45, +0x52, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x41, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x53, 0x20, 0x3d, 0x20, 0x53, 0x50, 0x49, 0x52, +0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, +0x35, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x31, 0x34, 0x30, 0x29, 0x20, 0x75, 0x6e, +0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, +0x6d, 0x61, 0x74, 0x34, 0x20, 0x61, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x62, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, +0x20, 0x63, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x64, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x65, 0x5b, 0x34, +0x5d, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x66, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x67, 0x3b, 0x00, 0x76, +0x65, 0x63, 0x34, 0x20, 0x68, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x69, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, +0x20, 0x6a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6b, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6c, 0x3b, +0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6d, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6e, 0x3b, 0x00, 0x76, 0x65, 0x63, +0x32, 0x20, 0x6f, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x70, +0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x71, 0x3b, 0x00, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x72, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x3b, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x74, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x75, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, +0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, +0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x77, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x78, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, +0x79, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7a, 0x3b, 0x00, +0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x7a, 0x3b, 0x00, 0x6d, 0x65, +0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x62, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, +0x6d, 0x70, 0x20, 0x75, 0x76, 0x65, 0x63, 0x33, 0x20, 0x63, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, +0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, +0x32, 0x20, 0x65, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, +0x66, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x67, 0x7a, +0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x68, 0x7a, 0x5b, 0x39, 0x5d, +0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x69, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, +0x34, 0x20, 0x6b, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6c, +0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6d, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x6e, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x6f, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x70, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, +0x6d, 0x70, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x71, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x72, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x73, 0x7a, 0x3b, 0x00, 0x6d, 0x65, +0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, +0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x75, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, +0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, +0x75, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x78, 0x7a, 0x3b, 0x00, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x20, 0x79, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x7a, 0x7a, 0x3b, 0x00, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x61, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x62, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, +0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x64, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, +0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x65, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, +0x20, 0x66, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, +0x67, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x68, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x69, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x6a, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x61, 0x74, +0x34, 0x20, 0x6b, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x6c, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, +0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, +0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6e, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, +0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, 0x7a, 0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, +0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x70, 0x7a, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x71, 0x7a, +0x7a, 0x5b, 0x34, 0x5d, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x7a, +0x7a, 0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x7a, 0x7a, +0x3b, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x7a, 0x7a, 0x3b, +0x00, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x75, 0x7a, 0x7a, 0x3b, 0x00, +0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x7a, 0x7a, 0x5b, 0x34, 0x30, 0x5d, +0x3b, 0x00, 0x7d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x3b, 0x00, 0x6c, +0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, +0x69, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, +0x6e, 0x3b, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, +0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x00, 0x6f, 0x75, 0x74, 0x20, 0x76, 0x65, 0x63, 0x34, +0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x6f, +0x75, 0x74, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, +0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x6f, 0x75, 0x74, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, +0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x76, 0x6f, 0x69, 0x64, +0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x00, 0x69, 0x66, 0x20, 0x28, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x50, +0x4f, 0x57, 0x45, 0x52, 0x5f, 0x56, 0x52, 0x5f, 0x53, 0x48, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x41, +0x52, 0x4f, 0x55, 0x4e, 0x44, 0x53, 0x29, 0x00, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, +0x65, 0x78, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x20, 0x2b, 0x20, 0x67, 0x6c, 0x5f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, +0x65, 0x49, 0x44, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x3b, 0x00, 0x7d, 0x00, 0x65, 0x6c, 0x73, 0x65, 0x00, 0x69, 0x6e, 0x73, +0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x49, 0x6e, 0x73, +0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x44, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x30, 0x34, 0x20, 0x3d, +0x20, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, +0x20, 0x5f, 0x33, 0x34, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x30, 0x34, 0x3b, 0x00, 0x5f, 0x33, 0x34, 0x36, 0x2e, 0x7a, +0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x30, 0x34, 0x2e, 0x7a, 0x20, 0x2a, 0x20, 0x28, 0x2d, 0x30, 0x2e, 0x35, 0x29, 0x29, +0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x32, 0x38, 0x30, 0x20, 0x3d, 0x20, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x66, 0x20, 0x2a, 0x20, 0x5f, 0x33, +0x34, 0x36, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x38, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x32, 0x38, +0x30, 0x2e, 0x77, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x36, 0x33, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, +0x61, 0x62, 0x73, 0x28, 0x5f, 0x32, 0x38, 0x32, 0x29, 0x20, 0x3c, 0x20, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, +0x32, 0x65, 0x2d, 0x31, 0x39, 0x29, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x35, 0x30, 0x20, 0x3d, 0x20, 0x5f, +0x32, 0x38, 0x30, 0x3b, 0x00, 0x5f, 0x33, 0x35, 0x30, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x32, 0x38, 0x32, 0x20, +0x3c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, +0x65, 0x2d, 0x31, 0x39, 0x29, 0x20, 0x3a, 0x20, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, +0x39, 0x3b, 0x00, 0x5f, 0x33, 0x36, 0x33, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x35, 0x30, 0x3b, 0x00, 0x5f, 0x33, 0x36, 0x33, +0x20, 0x3d, 0x20, 0x5f, 0x32, 0x38, 0x30, 0x3b, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, +0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x5f, 0x33, 0x33, 0x34, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, +0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x76, 0x65, +0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x33, 0x36, 0x33, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, +0x20, 0x2f, 0x20, 0x5f, 0x33, 0x36, 0x33, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, +0x33, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x33, 0x34, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x76, +0x65, 0x63, 0x32, 0x20, 0x5f, 0x33, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x30, 0x34, 0x2e, 0x78, 0x79, 0x20, +0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2b, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x00, +0x5f, 0x33, 0x33, 0x37, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x31, 0x31, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x33, 0x33, +0x37, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x31, 0x31, 0x2e, 0x79, 0x3b, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, +0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x5f, 0x33, 0x34, 0x31, 0x20, +0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, +0x74, 0x73, 0x28, 0x5f, 0x33, 0x33, 0x37, 0x2c, 0x20, 0x5f, 0x33, 0x33, 0x34, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, +0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, 0x00, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, +0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x31, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, +0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x31, 0x39, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x31, 0x2e, +0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x00, 0x76, +0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, +0x78, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x39, 0x32, 0x2e, 0x78, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, +0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x39, +0x32, 0x2e, 0x79, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, +0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x39, 0x32, 0x2e, 0x7a, 0x3b, 0x00, 0x76, 0x65, +0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x36, +0x3b, 0x00, 0x5f, 0x33, 0x34, 0x36, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x34, 0x36, 0x2e, 0x7a, 0x20, 0x2a, +0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x2e, 0x78, 0x29, 0x20, +0x2b, 0x20, 0x28, 0x5f, 0x33, 0x34, 0x36, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, +0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x2e, 0x79, 0x29, 0x3b, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, +0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x36, 0x3b, 0x00, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, +0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x00, 0x70, 0x72, 0x65, +0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x69, 0x6e, 0x74, 0x3b, 0x00, +0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, +0x73, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x76, 0x65, +0x63, 0x34, 0x20, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, +0x6c, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x61, 0x74, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6c, 0x65, 0x61, +0x72, 0x43, 0x6f, 0x61, 0x74, 0x52, 0x6f, 0x75, 0x67, 0x68, 0x6e, 0x65, 0x73, 0x73, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x61, 0x6e, 0x69, 0x73, 0x6f, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x61, +0x6e, 0x69, 0x73, 0x6f, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, +0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x35, 0x31, 0x35, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35, 0x31, +0x36, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x35, 0x31, 0x37, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, +0x35, 0x36, 0x34, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35, 0x36, 0x35, 0x3b, 0x00, 0x68, 0x69, 0x67, +0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x61, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, +0x34, 0x20, 0x62, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x63, 0x3b, 0x00, 0x68, +0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x64, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, +0x61, 0x74, 0x34, 0x20, 0x65, 0x5b, 0x34, 0x5d, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, +0x20, 0x66, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x67, 0x3b, 0x00, 0x68, 0x69, +0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x68, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, +0x63, 0x32, 0x20, 0x69, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6a, 0x3b, +0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6b, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, +0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6c, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, +0x20, 0x6d, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6e, 0x3b, 0x00, 0x68, 0x69, +0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x70, 0x3b, +0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x71, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x72, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x3b, 0x00, +0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, +0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x75, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x3b, 0x00, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x77, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x3b, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x79, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, +0x20, 0x61, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x62, 0x7a, 0x3b, 0x00, 0x75, 0x76, 0x65, 0x63, 0x33, 0x20, +0x63, 0x7a, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x65, 0x7a, 0x3b, +0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x67, 0x7a, 0x3b, +0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x68, 0x7a, 0x5b, 0x39, 0x5d, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, +0x65, 0x63, 0x33, 0x20, 0x69, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6a, 0x7a, 0x3b, 0x00, 0x76, 0x65, +0x63, 0x34, 0x20, 0x6b, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6c, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, +0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6d, 0x7a, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x6e, 0x7a, 0x3b, 0x00, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, +0x70, 0x7a, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x71, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x72, 0x7a, +0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x73, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x74, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x75, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x76, 0x7a, 0x3b, 0x00, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, +0x70, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x78, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x79, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, +0x68, 0x70, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x61, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x62, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x63, 0x7a, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x64, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x65, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, +0x66, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x67, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, +0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x68, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x33, +0x20, 0x6a, 0x7a, 0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x6b, 0x7a, 0x7a, +0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x6c, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x20, 0x6d, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6e, 0x7a, 0x7a, 0x3b, 0x00, +0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x70, 0x7a, 0x7a, +0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x71, 0x7a, 0x7a, 0x5b, 0x34, 0x5d, 0x3b, +0x00, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x7a, 0x7a, 0x3b, +0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x7a, 0x7a, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x75, 0x7a, +0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x7a, 0x7a, 0x5b, 0x34, 0x30, 0x5d, 0x3b, 0x00, 0x6c, 0x61, 0x79, +0x6f, 0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x31, 0x34, 0x30, 0x29, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, +0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, +0x62, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x3b, 0x00, 0x7d, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, +0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3b, 0x00, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65, 0x64, 0x69, +0x75, 0x6d, 0x70, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, +0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3b, 0x00, 0x69, 0x6e, 0x20, 0x68, +0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, +0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, +0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x66, 0x72, +0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x34, 0x31, 0x32, 0x20, 0x3d, +0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, +0x2e, 0x62, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, +0x20, 0x5f, 0x34, 0x32, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, +0x61, 0x6d, 0x73, 0x2e, 0x61, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x76, +0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x2e, 0x78, 0x79, 0x2c, 0x20, +0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, +0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x00, 0x62, 0x6f, +0x6f, 0x6c, 0x20, 0x5f, 0x34, 0x32, 0x37, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, +0x72, 0x61, 0x6d, 0x73, 0x2e, 0x63, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x3b, 0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x34, +0x33, 0x34, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x21, 0x5f, 0x34, 0x32, 0x37, 0x29, 0x00, 0x5f, 0x34, 0x33, 0x34, 0x20, +0x3d, 0x20, 0x5f, 0x34, 0x32, 0x34, 0x2e, 0x78, 0x20, 0x3e, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x00, 0x5f, 0x34, 0x33, 0x34, +0x20, 0x3d, 0x20, 0x5f, 0x34, 0x32, 0x37, 0x3b, 0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x34, 0x34, 0x31, 0x3b, 0x00, +0x69, 0x66, 0x20, 0x28, 0x21, 0x5f, 0x34, 0x33, 0x34, 0x29, 0x00, 0x5f, 0x34, 0x34, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x34, +0x32, 0x34, 0x2e, 0x78, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x3b, 0x00, 0x5f, 0x34, 0x34, 0x31, 0x20, 0x3d, 0x20, 0x5f, +0x34, 0x33, 0x34, 0x3b, 0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x34, 0x34, 0x38, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, +0x21, 0x5f, 0x34, 0x34, 0x31, 0x29, 0x00, 0x5f, 0x34, 0x34, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x32, 0x34, 0x2e, 0x79, +0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x3b, 0x00, 0x5f, 0x34, 0x34, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x34, 0x31, 0x3b, +0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x34, 0x35, 0x35, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x21, 0x5f, 0x34, 0x34, +0x38, 0x29, 0x00, 0x5f, 0x34, 0x35, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x32, 0x34, 0x2e, 0x79, 0x20, 0x3e, 0x20, 0x31, +0x2e, 0x30, 0x3b, 0x00, 0x5f, 0x34, 0x35, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x34, 0x38, 0x3b, 0x00, 0x76, 0x65, 0x63, +0x34, 0x20, 0x5f, 0x35, 0x37, 0x34, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x34, 0x35, 0x35, 0x29, 0x00, 0x5f, 0x35, +0x37, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x31, 0x32, 0x3b, 0x00, 0x5f, 0x34, 0x32, 0x34, 0x2e, 0x79, 0x20, 0x3d, 0x20, +0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x34, 0x32, 0x34, 0x2e, 0x79, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, +0x34, 0x36, 0x39, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x6d, 0x61, +0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, +0x5f, 0x34, 0x32, 0x34, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, +0x70, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, +0x20, 0x5f, 0x34, 0x37, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x36, 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x5f, +0x34, 0x36, 0x39, 0x2e, 0x77, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x35, 0x35, 0x32, 0x20, 0x3d, 0x20, 0x5f, +0x34, 0x36, 0x39, 0x3b, 0x00, 0x5f, 0x35, 0x35, 0x32, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x37, 0x34, 0x2e, 0x78, +0x3b, 0x00, 0x5f, 0x35, 0x35, 0x32, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x37, 0x34, 0x2e, 0x79, 0x3b, 0x00, 0x5f, +0x35, 0x35, 0x32, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x37, 0x34, 0x2e, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, +0x20, 0x5f, 0x34, 0x38, 0x39, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x35, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2b, 0x20, 0x28, +0x5f, 0x34, 0x31, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x35, +0x35, 0x32, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x35, 0x35, 0x39, 0x20, 0x3d, 0x20, +0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x76, 0x65, 0x63, 0x34, 0x28, +0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, +0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x35, 0x36, 0x35, 0x2c, 0x20, 0x5f, 0x35, +0x36, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x36, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x36, 0x34, 0x29, 0x2e, 0x62, 0x61, 0x73, 0x65, +0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x5f, 0x35, 0x35, 0x39, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x38, 0x39, +0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x35, 0x35, 0x39, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x38, 0x39, 0x2e, 0x79, 0x3b, +0x00, 0x5f, 0x35, 0x35, 0x39, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x38, 0x39, 0x2e, 0x7a, 0x3b, 0x00, 0x5f, 0x35, +0x37, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x35, 0x39, 0x3b, 0x00, 0x66, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, +0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x4d, 0x61, +0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x5f, 0x35, 0x37, 0x34, 0x2c, 0x20, 0x5f, +0x35, 0x31, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x31, 0x36, 0x2c, 0x20, 0x5f, 0x35, 0x31, 0x36, 0x2c, 0x20, 0x5f, 0x35, 0x31, +0x36, 0x2c, 0x20, 0x5f, 0x35, 0x31, 0x37, 0x29, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, +0x5f, 0x35, 0x31, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x31, 0x36, 0x2c, 0x20, 0x5f, 0x35, 0x31, 0x36, 0x2c, 0x20, 0x5f, 0x35, +0x31, 0x36, 0x2c, 0x20, 0x5f, 0x35, 0x31, 0x37, 0x29, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, +0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x37, 0x35, 0x30, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x37, +0x35, 0x31, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x37, 0x35, 0x32, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, +0x5f, 0x38, 0x30, 0x34, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x38, 0x30, 0x35, 0x3b, 0x00, 0x75, 0x6e, +0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, +0x72, 0x43, 0x75, 0x62, 0x65, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, 0x6f, 0x67, 0x3b, 0x00, 0x69, 0x6e, 0x20, +0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, +0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x66, 0x6f, +0x67, 0x28, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, +0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x76, 0x69, 0x65, 0x77, 0x29, 0x00, 0x68, 0x69, 0x67, +0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x31, 0x38, 0x36, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x6e, 0x67, +0x74, 0x68, 0x28, 0x76, 0x69, 0x65, 0x77, 0x29, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x31, 0x38, 0x36, 0x20, 0x3e, +0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x63, 0x7a, 0x7a, 0x29, 0x00, +0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, +0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, +0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x62, 0x7a, 0x7a, 0x20, 0x2a, 0x20, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x79, 0x3b, +0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x38, 0x31, 0x35, 0x3b, 0x00, 0x69, +0x66, 0x20, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x32, 0x31, 0x34, 0x29, 0x20, 0x3e, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x31, +0x32, 0x35, 0x29, 0x00, 0x5f, 0x38, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, +0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x78, 0x7a, 0x2e, 0x7a, 0x20, 0x2d, 0x20, 0x28, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, +0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x78, 0x7a, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x65, 0x78, 0x70, 0x28, 0x66, +0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x78, 0x7a, 0x2e, 0x79, 0x20, 0x2d, 0x20, +0x5f, 0x32, 0x31, 0x34, 0x29, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x5f, 0x32, 0x31, 0x34, 0x3b, 0x00, 0x5f, 0x38, 0x31, 0x35, +0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x78, 0x7a, 0x2e, +0x7a, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x34, 0x37, 0x20, +0x3d, 0x20, 0x65, 0x78, 0x70, 0x28, 0x2d, 0x28, 0x5f, 0x38, 0x31, 0x35, 0x20, 0x2a, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x5f, +0x31, 0x38, 0x36, 0x20, 0x2d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, +0x79, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x70, +0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x32, 0x34, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x32, 0x34, 0x37, 0x3b, 0x00, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x35, 0x34, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, +0x20, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x32, 0x34, 0x37, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, +0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x7a, 0x7a, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x38, +0x31, 0x36, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, +0x73, 0x2e, 0x65, 0x7a, 0x7a, 0x20, 0x3e, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x37, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x31, 0x38, 0x36, 0x20, 0x2a, 0x20, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x68, 0x7a, 0x7a, 0x29, 0x20, 0x2d, +0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x7a, 0x7a, 0x3b, 0x00, +0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x32, 0x37, 0x34, 0x20, 0x3d, 0x20, +0x5f, 0x32, 0x37, 0x34, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x32, 0x38, +0x31, 0x20, 0x3d, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x48, 0x61, 0x6c, 0x66, 0x32, 0x78, 0x31, 0x36, 0x28, 0x66, +0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x61, 0x7a, 0x7a, 0x29, 0x3b, 0x00, 0x5f, +0x38, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, +0x64, 0x7a, 0x7a, 0x20, 0x2a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x6f, 0x64, 0x28, 0x6c, 0x69, 0x67, +0x68, 0x74, 0x5f, 0x66, 0x6f, 0x67, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, 0x28, 0x6d, 0x61, +0x74, 0x33, 0x28, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x67, 0x5b, 0x30, +0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, +0x2e, 0x67, 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, +0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x67, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x69, +0x65, 0x77, 0x2c, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x5f, 0x32, 0x38, 0x31, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x32, 0x38, 0x31, +0x2e, 0x78, 0x2c, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x32, 0x37, +0x34, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x00, +0x5f, 0x38, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, +0x2e, 0x64, 0x7a, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x33, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x38, +0x31, 0x36, 0x20, 0x2a, 0x20, 0x28, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, +0x66, 0x7a, 0x20, 0x2a, 0x20, 0x5f, 0x32, 0x35, 0x34, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x38, 0x31, +0x38, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, +0x2e, 0x67, 0x7a, 0x7a, 0x20, 0x3e, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x20, 0x5f, 0x33, 0x34, 0x31, 0x20, 0x3d, 0x20, 0x65, 0x78, 0x70, 0x28, 0x2d, 0x28, 0x5f, 0x38, 0x31, +0x35, 0x20, 0x2a, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x31, 0x38, 0x36, 0x20, 0x2d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, +0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x66, 0x7a, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, +0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x33, 0x34, 0x31, 0x20, +0x3d, 0x20, 0x5f, 0x33, 0x34, 0x31, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, +0x5f, 0x33, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, +0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x69, 0x65, 0x77, 0x29, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, +0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x7a, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x33, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x35, +0x37, 0x3b, 0x00, 0x5f, 0x38, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x32, 0x32, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, +0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x6b, 0x7a, 0x2e, 0x78, 0x79, 0x7a, 0x20, +0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x6b, 0x7a, 0x2e, 0x77, +0x29, 0x20, 0x2a, 0x20, 0x28, 0x70, 0x6f, 0x77, 0x28, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x33, 0x35, 0x37, +0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x67, 0x7a, 0x7a, 0x29, +0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x33, 0x34, +0x31, 0x29, 0x29, 0x29, 0x3b, 0x00, 0x5f, 0x38, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x32, 0x32, 0x3b, 0x00, 0x76, +0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x37, 0x31, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x76, 0x65, +0x63, 0x33, 0x20, 0x5f, 0x33, 0x37, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x37, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, +0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x32, 0x35, 0x34, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x5f, 0x38, +0x31, 0x38, 0x3b, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x37, 0x37, 0x2e, 0x78, +0x3b, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x37, 0x37, 0x2e, 0x79, 0x3b, 0x00, +0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x37, 0x37, 0x2e, 0x7a, 0x3b, 0x00, 0x76, 0x65, +0x63, 0x34, 0x20, 0x5f, 0x36, 0x33, 0x38, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x6d, 0x61, 0x74, 0x65, 0x72, +0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x62, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x00, 0x68, +0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x36, 0x35, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x61, +0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x61, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, +0x34, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x55, 0x56, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, +0x76, 0x65, 0x63, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, +0x29, 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x36, 0x35, 0x33, 0x20, 0x3d, 0x20, 0x6d, +0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x63, 0x20, 0x3d, 0x3d, 0x20, 0x30, +0x3b, 0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x36, 0x36, 0x30, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x21, 0x5f, 0x36, +0x35, 0x33, 0x29, 0x00, 0x5f, 0x36, 0x36, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x35, 0x30, 0x2e, 0x78, 0x20, 0x3e, 0x20, +0x31, 0x2e, 0x30, 0x3b, 0x00, 0x5f, 0x36, 0x36, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x35, 0x33, 0x3b, 0x00, 0x62, 0x6f, +0x6f, 0x6c, 0x20, 0x5f, 0x36, 0x36, 0x37, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x21, 0x5f, 0x36, 0x36, 0x30, 0x29, 0x00, +0x5f, 0x36, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x35, 0x30, 0x2e, 0x78, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x3b, +0x00, 0x5f, 0x36, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x36, 0x30, 0x3b, 0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, +0x36, 0x37, 0x34, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x21, 0x5f, 0x36, 0x36, 0x37, 0x29, 0x00, 0x5f, 0x36, 0x37, 0x34, +0x20, 0x3d, 0x20, 0x5f, 0x36, 0x35, 0x30, 0x2e, 0x79, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x3b, 0x00, 0x5f, 0x36, 0x37, +0x34, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x36, 0x37, 0x3b, 0x00, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x36, 0x38, 0x31, 0x3b, +0x00, 0x69, 0x66, 0x20, 0x28, 0x21, 0x5f, 0x36, 0x37, 0x34, 0x29, 0x00, 0x5f, 0x36, 0x38, 0x31, 0x20, 0x3d, 0x20, 0x5f, +0x36, 0x35, 0x30, 0x2e, 0x79, 0x20, 0x3e, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x00, 0x5f, 0x36, 0x38, 0x31, 0x20, 0x3d, 0x20, +0x5f, 0x36, 0x37, 0x34, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x38, 0x31, 0x34, 0x3b, 0x00, 0x69, 0x66, 0x20, +0x28, 0x5f, 0x36, 0x38, 0x31, 0x29, 0x00, 0x5f, 0x38, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x33, 0x38, 0x3b, 0x00, +0x5f, 0x36, 0x35, 0x30, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x36, 0x35, 0x30, 0x2e, +0x79, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x36, 0x39, 0x35, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x74, +0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, +0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x5f, 0x36, 0x35, 0x30, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, +0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x70, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, +0x30, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x37, 0x30, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x39, +0x35, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x5f, 0x36, 0x39, 0x35, 0x2e, 0x77, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, +0x20, 0x5f, 0x37, 0x38, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x39, 0x35, 0x3b, 0x00, 0x5f, 0x37, 0x38, 0x36, 0x2e, 0x78, +0x20, 0x3d, 0x20, 0x5f, 0x37, 0x30, 0x30, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x37, 0x38, 0x36, 0x2e, 0x79, 0x20, 0x3d, 0x20, +0x5f, 0x37, 0x30, 0x30, 0x2e, 0x79, 0x3b, 0x00, 0x5f, 0x37, 0x38, 0x36, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x30, +0x30, 0x2e, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, 0x37, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x38, +0x36, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2b, 0x20, 0x28, 0x5f, 0x36, 0x33, 0x38, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, +0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x37, 0x38, 0x36, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, +0x34, 0x20, 0x5f, 0x37, 0x39, 0x33, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, +0x75, 0x74, 0x73, 0x28, 0x76, 0x65, 0x63, 0x34, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, +0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x2c, +0x20, 0x5f, 0x38, 0x30, 0x35, 0x2c, 0x20, 0x5f, 0x38, 0x30, 0x35, 0x2c, 0x20, 0x5f, 0x38, 0x30, 0x35, 0x2c, 0x20, 0x5f, +0x38, 0x30, 0x34, 0x29, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x5f, 0x37, 0x39, 0x33, +0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x31, 0x35, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x37, 0x39, 0x33, 0x2e, 0x79, 0x20, +0x3d, 0x20, 0x5f, 0x37, 0x31, 0x35, 0x2e, 0x79, 0x3b, 0x00, 0x5f, 0x37, 0x39, 0x33, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, +0x37, 0x31, 0x35, 0x2e, 0x7a, 0x3b, 0x00, 0x5f, 0x38, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x39, 0x33, 0x3b, 0x00, +0x66, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, +0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, +0x73, 0x28, 0x5f, 0x38, 0x31, 0x34, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x30, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x31, 0x2c, 0x20, +0x5f, 0x37, 0x35, 0x31, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x31, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x32, 0x29, 0x2e, 0x62, 0x61, +0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x30, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x31, 0x2c, +0x20, 0x5f, 0x37, 0x35, 0x31, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x31, 0x2c, 0x20, 0x5f, 0x37, 0x35, 0x32, 0x29, 0x2e, 0x62, +0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, +0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, +0x76, 0x65, 0x63, 0x33, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, +0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x6a, 0x7a, 0x7a, 0x20, 0x2a, 0x20, 0x28, 0x76, 0x65, 0x72, 0x74, +0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, +0x20, 0x2d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x62, 0x5b, 0x33, +0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x35, 0x34, 0x34, 0x20, 0x3d, 0x20, +0x66, 0x6f, 0x67, 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x2c, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x31, 0x29, 0x3b, +0x00, 0x66, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x34, 0x3b, 0x00, 0x73, +0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x50, 0x65, 0x72, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x44, +0x61, 0x74, 0x61, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, +0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x00, 0x68, 0x69, 0x67, +0x68, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, +0x65, 0x6c, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, +0x70, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x75, +0x6e, 0x74, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x43, +0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6f, +0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, +0x20, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x3b, 0x00, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, +0x34, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5b, 0x38, 0x5d, 0x3b, 0x00, 0x23, 0x69, 0x66, 0x6e, 0x64, +0x65, 0x66, 0x20, 0x53, 0x50, 0x49, 0x52, 0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, +0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x31, 0x00, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x50, 0x49, +0x52, 0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, +0x5f, 0x31, 0x20, 0x36, 0x34, 0x00, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x43, 0x4f, 0x4e, 0x46, +0x49, 0x47, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x20, 0x3d, 0x20, 0x53, +0x50, 0x49, 0x52, 0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, +0x49, 0x44, 0x5f, 0x31, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x31, 0x36, 0x37, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, +0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x31, 0x34, 0x30, 0x29, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x4f, +0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x50, 0x65, 0x72, 0x52, 0x65, 0x6e, +0x64, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x20, 0x61, 0x5b, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, +0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x5d, 0x3b, 0x00, 0x7d, 0x20, 0x6f, +0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, +0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x6f, 0x75, 0x74, 0x20, +0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, 0x75, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x69, 0x6e, +0x67, 0x3b, 0x00, 0x69, 0x6e, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x65, 0x72, +0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x6f, 0x75, 0x74, 0x50, 0x69, 0x63, +0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x74, 0x42, 0x69, 0x74, 0x73, 0x54, 0x6f, 0x46, 0x6c, +0x6f, 0x61, 0x74, 0x28, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x61, +0x5b, 0x5f, 0x31, 0x36, 0x37, 0x5d, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x29, 0x3b, 0x00, 0x6f, 0x75, +0x74, 0x50, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, +0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x20, 0x2f, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, +0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x77, 0x3b, 0x00, 0x66, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, +0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x00, 0x23, 0x65, 0x78, 0x74, 0x65, +0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x63, 0x75, +0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x3a, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, +0x65, 0x00, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x53, 0x50, 0x49, 0x52, 0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, +0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x38, 0x00, 0x23, 0x64, 0x65, 0x66, +0x69, 0x6e, 0x65, 0x20, 0x53, 0x50, 0x49, 0x52, 0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, +0x54, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x38, 0x20, 0x32, 0x00, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, +0x74, 0x20, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x5f, 0x45, 0x59, 0x45, 0x5f, +0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3d, 0x20, 0x53, 0x50, 0x49, 0x52, 0x56, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x5f, +0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x38, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, +0x5f, 0x37, 0x36, 0x20, 0x3d, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, +0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x38, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x36, 0x3b, 0x00, 0x5f, 0x38, 0x30, +0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x37, 0x36, 0x2e, 0x7a, 0x20, 0x2a, 0x20, 0x28, 0x2d, 0x30, 0x2e, 0x35, 0x29, +0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x38, 0x31, 0x20, 0x3d, 0x20, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x66, 0x20, 0x2a, 0x20, 0x5f, 0x38, +0x30, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x38, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x38, 0x31, 0x2e, 0x77, +0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x39, 0x30, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x61, 0x62, 0x73, 0x28, +0x5f, 0x38, 0x32, 0x29, 0x20, 0x3c, 0x20, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, +0x29, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x38, 0x39, 0x20, 0x3d, 0x20, 0x5f, 0x38, 0x31, 0x3b, 0x00, 0x5f, 0x38, +0x39, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x38, 0x32, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x3f, 0x20, +0x28, 0x2d, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x29, 0x20, 0x3a, 0x20, 0x31, +0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x3b, 0x00, 0x5f, 0x39, 0x30, 0x20, 0x3d, 0x20, +0x5f, 0x38, 0x39, 0x3b, 0x00, 0x5f, 0x39, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x38, 0x31, 0x3b, 0x00, 0x4d, 0x61, 0x74, 0x65, +0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x5f, 0x39, 0x34, +0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, +0x75, 0x74, 0x73, 0x28, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x39, 0x30, 0x20, 0x2a, +0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x5f, 0x39, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, +0x34, 0x20, 0x5f, 0x39, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x34, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, +0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x39, 0x39, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x37, 0x36, 0x2e, 0x78, 0x79, 0x20, +0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2b, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x00, +0x5f, 0x39, 0x35, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x39, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x39, 0x35, 0x2e, 0x79, +0x20, 0x3d, 0x20, 0x5f, 0x39, 0x39, 0x2e, 0x79, 0x3b, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, +0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x5f, 0x31, 0x30, 0x34, 0x20, 0x3d, 0x20, 0x4d, 0x61, +0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x5f, +0x39, 0x35, 0x2c, 0x20, 0x5f, 0x39, 0x34, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, +0x6e, 0x29, 0x3b, 0x00, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, +0x20, 0x3d, 0x20, 0x5f, 0x31, 0x30, 0x34, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, +0x33, 0x20, 0x5f, 0x31, 0x30, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x30, 0x34, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, +0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, +0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x31, +0x30, 0x37, 0x2e, 0x78, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, +0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x30, 0x37, 0x2e, 0x79, 0x3b, 0x00, 0x76, +0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, +0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x30, 0x37, 0x2e, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, +0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, 0x38, 0x30, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x5f, +0x31, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, +0x20, 0x25, 0x20, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x5f, 0x45, 0x59, 0x45, +0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x31, 0x31, 0x36, 0x20, 0x3d, +0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, +0x5f, 0x45, 0x59, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x29, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, +0x31, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x5f, 0x31, 0x31, 0x36, 0x3b, 0x00, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x20, 0x5f, 0x31, 0x32, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x31, 0x37, 0x20, 0x2a, 0x20, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x28, 0x5f, 0x31, 0x31, 0x35, 0x29, 0x3b, 0x00, 0x5f, 0x38, 0x30, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, +0x38, 0x30, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x5f, 0x31, 0x31, 0x36, 0x29, 0x3b, +0x00, 0x5f, 0x38, 0x30, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x38, 0x30, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, +0x28, 0x2d, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x5f, 0x31, 0x31, 0x37, 0x20, 0x2f, 0x20, 0x32, 0x2e, 0x30, +0x29, 0x29, 0x20, 0x2b, 0x20, 0x5f, 0x31, 0x32, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x38, 0x30, 0x2e, 0x77, 0x29, 0x3b, +0x00, 0x67, 0x6c, 0x5f, 0x43, 0x6c, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5b, 0x30, 0x5d, 0x20, +0x3d, 0x20, 0x5f, 0x38, 0x30, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x31, +0x32, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x38, 0x30, 0x2e, 0x77, 0x29, 0x3b, 0x00, 0x67, 0x6c, 0x5f, 0x43, 0x6c, 0x69, +0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x28, 0x5f, 0x38, 0x30, +0x2e, 0x78, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x28, 0x5f, 0x31, 0x31, 0x37, 0x20, 0x2a, +0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x5f, 0x31, 0x31, 0x35, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x29, 0x29, 0x20, 0x2a, +0x20, 0x5f, 0x38, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x00, 0x5f, 0x38, 0x30, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x5f, +0x38, 0x30, 0x2e, 0x7a, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, +0x2e, 0x69, 0x2e, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x5f, 0x38, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, +0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x2e, 0x79, 0x29, 0x3b, 0x00, 0x67, 0x6c, 0x5f, +0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, 0x38, 0x30, 0x3b, 0x00, 0x69, 0x6e, 0x73, 0x74, +0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2f, 0x3d, 0x20, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, +0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x3b, 0x00, 0x23, +0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x34, 0x31, 0x30, 0x00, 0x23, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, +0x6f, 0x6e, 0x20, 0x47, 0x4c, 0x5f, 0x41, 0x52, 0x42, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, +0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x3a, 0x20, 0x65, 0x6e, 0x61, +0x62, 0x6c, 0x65, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, +0x3d, 0x20, 0x38, 0x29, 0x20, 0x66, 0x6c, 0x61, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, +0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, +0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x76, +0x65, 0x63, 0x34, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, +0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, +0x34, 0x29, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, +0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, +0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x37, 0x29, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x76, +0x65, 0x63, 0x34, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, +0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x30, 0x35, 0x20, 0x3d, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, +0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x34, 0x37, 0x20, 0x3d, 0x20, +0x5f, 0x33, 0x30, 0x35, 0x3b, 0x00, 0x5f, 0x33, 0x34, 0x37, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x30, 0x35, +0x2e, 0x7a, 0x20, 0x2a, 0x20, 0x28, 0x2d, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x00, +0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x32, 0x38, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, +0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x66, 0x20, 0x2a, 0x20, 0x5f, 0x33, 0x34, 0x37, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x5f, 0x32, 0x38, 0x33, 0x20, 0x3d, 0x20, 0x5f, 0x32, 0x38, 0x31, 0x2e, 0x77, 0x3b, 0x00, 0x76, 0x65, 0x63, +0x34, 0x20, 0x5f, 0x33, 0x36, 0x34, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x32, 0x38, 0x33, +0x29, 0x20, 0x3c, 0x20, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x29, 0x00, 0x76, +0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x35, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x32, 0x38, 0x31, 0x3b, 0x00, 0x5f, 0x33, 0x35, +0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x32, 0x38, 0x33, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x3f, +0x20, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x29, 0x20, 0x3a, 0x20, +0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x3b, 0x00, 0x5f, 0x33, 0x36, 0x34, 0x20, +0x3d, 0x20, 0x5f, 0x33, 0x35, 0x31, 0x3b, 0x00, 0x5f, 0x33, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x32, 0x38, 0x31, 0x3b, +0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, +0x73, 0x20, 0x5f, 0x33, 0x33, 0x35, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, +0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x2c, +0x20, 0x5f, 0x33, 0x36, 0x34, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x5f, 0x33, 0x36, 0x34, 0x2e, +0x77, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x33, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x33, +0x35, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x33, 0x31, 0x32, +0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x30, 0x35, 0x2e, 0x78, 0x79, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2b, +0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x00, 0x5f, 0x33, 0x33, 0x38, 0x2e, 0x78, 0x20, 0x3d, +0x20, 0x5f, 0x33, 0x31, 0x32, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x33, 0x33, 0x38, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x33, +0x31, 0x32, 0x2e, 0x79, 0x3b, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, +0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x5f, 0x33, 0x34, 0x32, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, +0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x5f, 0x33, 0x33, 0x38, 0x2c, +0x20, 0x5f, 0x33, 0x33, 0x35, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, +0x3b, 0x00, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x20, 0x3d, +0x20, 0x5f, 0x33, 0x34, 0x32, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, +0x5f, 0x31, 0x39, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, +0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, +0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x37, 0x3b, 0x00, 0x5f, 0x33, 0x34, 0x37, 0x2e, +0x7a, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x34, 0x37, 0x2e, 0x7a, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, +0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x2e, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x5f, 0x33, 0x34, 0x37, +0x2e, 0x77, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, +0x2e, 0x79, 0x29, 0x3b, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, +0x33, 0x34, 0x37, 0x3b, 0x00, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, +0x32, 0x44, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, +0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, +0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x35, 0x33, +0x37, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x76, +0x65, 0x63, 0x34, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, +0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x35, 0x36, 0x35, +0x2c, 0x20, 0x5f, 0x35, 0x36, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x36, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x36, 0x34, 0x29, 0x2e, +0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x34, 0x32, 0x34, +0x20, 0x3d, 0x20, 0x28, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x61, +0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, +0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, +0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2c, 0x20, 0x31, 0x2e, +0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x00, 0x5f, 0x35, 0x33, 0x37, 0x2e, 0x78, 0x20, +0x3d, 0x20, 0x5f, 0x34, 0x38, 0x39, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x35, 0x33, 0x37, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, +0x34, 0x38, 0x39, 0x2e, 0x79, 0x3b, 0x00, 0x5f, 0x35, 0x33, 0x37, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x38, 0x39, +0x2e, 0x7a, 0x3b, 0x00, 0x5f, 0x35, 0x37, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x33, 0x37, 0x3b, 0x00, 0x75, 0x6e, 0x69, +0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x75, 0x62, 0x65, 0x20, 0x6c, 0x69, 0x67, +0x68, 0x74, 0x5f, 0x66, 0x6f, 0x67, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, +0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x34, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x65, 0x72, +0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x76, +0x65, 0x63, 0x34, 0x20, 0x66, 0x6f, 0x67, 0x28, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, +0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x76, 0x69, 0x65, 0x77, 0x29, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x5f, 0x31, 0x38, 0x36, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x76, 0x69, 0x65, +0x77, 0x29, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, +0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x62, 0x7a, 0x7a, 0x20, 0x2a, 0x20, 0x76, 0x69, 0x65, +0x77, 0x2e, 0x79, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x38, 0x31, 0x35, 0x3b, 0x00, 0x66, 0x6c, 0x6f, +0x61, 0x74, 0x20, 0x5f, 0x32, 0x35, 0x34, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, +0x65, 0x78, 0x70, 0x28, 0x2d, 0x28, 0x5f, 0x38, 0x31, 0x35, 0x20, 0x2a, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x31, 0x38, +0x36, 0x20, 0x2d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x79, 0x7a, +0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, +0x72, 0x6d, 0x73, 0x2e, 0x7a, 0x7a, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x32, 0x38, 0x31, 0x20, 0x3d, +0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x48, 0x61, 0x6c, 0x66, 0x32, 0x78, 0x31, 0x36, 0x28, 0x66, 0x72, 0x61, 0x6d, +0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x61, 0x7a, 0x7a, 0x29, 0x3b, 0x00, 0x5f, 0x38, 0x31, 0x36, +0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x64, 0x7a, 0x7a, +0x20, 0x2a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x6f, 0x64, 0x28, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, +0x66, 0x6f, 0x67, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, 0x28, 0x6d, 0x61, 0x74, 0x33, 0x28, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x67, 0x5b, 0x30, 0x5d, 0x2e, 0x78, +0x79, 0x7a, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x67, 0x5b, +0x31, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, +0x73, 0x2e, 0x67, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x69, 0x65, 0x77, 0x2c, +0x20, 0x6d, 0x69, 0x78, 0x28, 0x5f, 0x32, 0x38, 0x31, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x32, 0x38, 0x31, 0x2e, 0x78, 0x2c, +0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x28, 0x5f, 0x31, 0x38, 0x36, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, +0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x68, 0x7a, 0x7a, 0x29, 0x20, 0x2d, 0x20, 0x66, 0x72, 0x61, 0x6d, +0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x7a, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, +0x31, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x00, 0x5f, 0x38, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x5f, +0x33, 0x32, 0x32, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, +0x73, 0x2e, 0x6b, 0x7a, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, +0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x6b, 0x7a, 0x2e, 0x77, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x70, 0x6f, 0x77, 0x28, 0x6d, 0x61, +0x78, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x76, 0x69, 0x65, 0x77, +0x29, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x7a, 0x29, +0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, +0x73, 0x2e, 0x67, 0x7a, 0x7a, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x65, 0x78, 0x70, 0x28, +0x2d, 0x28, 0x5f, 0x38, 0x31, 0x35, 0x20, 0x2a, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x31, 0x38, 0x36, 0x20, 0x2d, 0x20, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x66, 0x7a, 0x7a, 0x2c, 0x20, 0x30, +0x2e, 0x30, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x37, 0x37, 0x31, 0x20, +0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x76, 0x65, 0x63, +0x34, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, +0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x38, 0x30, 0x35, 0x2c, 0x20, +0x5f, 0x38, 0x30, 0x35, 0x2c, 0x20, 0x5f, 0x38, 0x30, 0x35, 0x2c, 0x20, 0x5f, 0x38, 0x30, 0x34, 0x29, 0x2e, 0x62, 0x61, +0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x36, 0x35, 0x30, 0x20, 0x3d, +0x20, 0x28, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x61, 0x20, 0x2a, +0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, +0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, +0x30, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, +0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x00, 0x5f, 0x37, 0x37, 0x31, 0x2e, 0x78, 0x20, 0x3d, 0x20, +0x5f, 0x37, 0x31, 0x35, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x37, 0x37, 0x31, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x31, +0x35, 0x2e, 0x79, 0x3b, 0x00, 0x5f, 0x37, 0x37, 0x31, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x31, 0x35, 0x2e, 0x7a, +0x3b, 0x00, 0x5f, 0x38, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x37, 0x37, 0x31, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, +0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, +0x72, 0x6d, 0x73, 0x2e, 0x6a, 0x7a, 0x7a, 0x20, 0x2a, 0x20, 0x28, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, +0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2d, 0x20, 0x66, 0x72, +0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x62, 0x5b, 0x33, 0x5d, 0x2e, 0x78, 0x79, 0x7a, +0x29, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, +0x65, 0x6c, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x00, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, +0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x72, 0x69, +0x78, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, +0x75, 0x6e, 0x74, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, +0x6c, 0x73, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3b, 0x00, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x72, +0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5b, 0x38, 0x5d, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, +0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x76, 0x65, 0x63, +0x32, 0x20, 0x6f, 0x75, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3b, 0x00, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, +0x28, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x37, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x76, 0x65, +0x63, 0x34, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, +0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x37, 0x32, 0x20, 0x3d, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x73, +0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x5f, +0x33, 0x37, 0x32, 0x3b, 0x00, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x37, 0x32, 0x2e, +0x7a, 0x20, 0x2a, 0x20, 0x28, 0x2d, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x3b, 0x00, 0x76, +0x65, 0x63, 0x34, 0x20, 0x5f, 0x33, 0x34, 0x38, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, +0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x66, 0x20, 0x2a, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, +0x20, 0x5f, 0x33, 0x35, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x38, 0x2e, 0x77, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, +0x20, 0x5f, 0x34, 0x34, 0x32, 0x3b, 0x00, 0x69, 0x66, 0x20, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x33, 0x35, 0x30, 0x29, +0x20, 0x3c, 0x20, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x29, 0x00, 0x76, 0x65, +0x63, 0x34, 0x20, 0x5f, 0x34, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x38, 0x3b, 0x00, 0x5f, 0x34, 0x31, 0x38, +0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x33, 0x35, 0x30, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x3f, 0x20, +0x28, 0x2d, 0x31, 0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x29, 0x20, 0x3a, 0x20, 0x31, +0x2e, 0x30, 0x38, 0x34, 0x32, 0x30, 0x32, 0x32, 0x65, 0x2d, 0x31, 0x39, 0x3b, 0x00, 0x5f, 0x34, 0x34, 0x32, 0x20, 0x3d, +0x20, 0x5f, 0x34, 0x31, 0x38, 0x3b, 0x00, 0x5f, 0x34, 0x34, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 0x38, 0x3b, 0x00, +0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, +0x20, 0x5f, 0x34, 0x30, 0x32, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, +0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, +0x5f, 0x34, 0x34, 0x32, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x5f, 0x34, 0x34, 0x32, 0x2e, 0x77, +0x29, 0x29, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x34, 0x30, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x30, 0x32, +0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x32, 0x20, 0x5f, 0x33, 0x37, 0x39, 0x20, +0x3d, 0x20, 0x28, 0x5f, 0x33, 0x37, 0x32, 0x2e, 0x78, 0x79, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2b, 0x20, +0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x00, 0x5f, 0x34, 0x30, 0x35, 0x2e, 0x78, 0x20, 0x3d, 0x20, +0x5f, 0x33, 0x37, 0x39, 0x2e, 0x78, 0x3b, 0x00, 0x5f, 0x34, 0x30, 0x35, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x37, +0x39, 0x2e, 0x79, 0x3b, 0x00, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, +0x6e, 0x70, 0x75, 0x74, 0x73, 0x20, 0x5f, 0x34, 0x30, 0x39, 0x20, 0x3d, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, +0x6c, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x28, 0x5f, 0x34, 0x30, 0x35, 0x2c, 0x20, +0x5f, 0x34, 0x30, 0x32, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, +0x00, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x20, 0x3d, 0x20, +0x5f, 0x34, 0x30, 0x39, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x56, 0x3b, 0x00, 0x76, 0x65, 0x63, 0x33, 0x20, 0x5f, +0x31, 0x39, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x30, 0x39, 0x2e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, +0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, +0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x39, 0x35, 0x2e, +0x78, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, +0x69, 0x6f, 0x6e, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x39, 0x35, 0x2e, 0x79, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, +0x65, 0x78, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x20, 0x3d, +0x20, 0x5f, 0x31, 0x39, 0x35, 0x2e, 0x7a, 0x3b, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, +0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x3b, 0x00, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x32, 0x31, +0x34, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x25, +0x20, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x43, +0x4f, 0x55, 0x4e, 0x54, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x66, +0x6c, 0x6f, 0x61, 0x74, 0x28, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x5f, 0x45, +0x59, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x29, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x32, 0x31, +0x38, 0x20, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x5f, 0x32, 0x31, 0x37, 0x3b, 0x00, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x20, 0x5f, 0x32, 0x32, 0x39, 0x20, 0x3d, 0x20, 0x5f, 0x32, 0x31, 0x38, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, +0x74, 0x28, 0x5f, 0x32, 0x31, 0x34, 0x29, 0x3b, 0x00, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x34, +0x31, 0x34, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x5f, 0x32, 0x31, 0x37, 0x29, 0x3b, +0x00, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x28, +0x28, 0x28, 0x28, 0x2d, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x5f, 0x32, 0x31, 0x38, 0x20, 0x2f, 0x20, 0x32, +0x2e, 0x30, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x5f, 0x32, 0x32, 0x39, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x2e, +0x77, 0x29, 0x3b, 0x00, 0x67, 0x6c, 0x5f, 0x43, 0x6c, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5b, +0x30, 0x5d, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x20, +0x2d, 0x20, 0x5f, 0x32, 0x32, 0x39, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x77, 0x29, 0x3b, 0x00, 0x67, +0x6c, 0x5f, 0x43, 0x6c, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, +0x2d, 0x28, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x28, +0x5f, 0x32, 0x31, 0x38, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x5f, 0x32, 0x31, 0x34, 0x20, 0x2b, 0x20, +0x31, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x00, 0x5f, 0x34, 0x31, +0x34, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x34, 0x31, 0x34, 0x2e, 0x7a, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, +0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x69, 0x2e, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x5f, 0x34, +0x31, 0x34, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, +0x2e, 0x69, 0x2e, 0x79, 0x29, 0x3b, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, +0x20, 0x5f, 0x34, 0x31, 0x34, 0x3b, 0x00, 0x4c, 0x53, 0x4c, 0x47, 0x5f, 0x54, 0x41, 0x4d, 0x0e, 0x0c, 0x00, 0x00, 0x12, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x98, 0x01, 0x00, +0x00, 0x01, 0x10, 0x00, 0x86, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0xee, 0x02, 0x00, 0x00, 0x01, 0x20, 0x01, 0x02, 0x03, +0x00, 0x00, 0x01, 0x30, 0x01, 0xce, 0x04, 0x00, 0x00, 0x01, 0x44, 0x01, 0x10, 0x05, 0x00, 0x00, 0x01, 0x80, 0x00, 0x28, +0x05, 0x00, 0x00, 0x01, 0x90, 0x00, 0x28, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x56, 0x06, 0x00, 0x00, 0x02, 0x00, 0x01, +0x6a, 0x07, 0x00, 0x00, 0x02, 0x10, 0x00, 0x56, 0x06, 0x00, 0x00, 0x02, 0x10, 0x01, 0xbe, 0x08, 0x00, 0x00, 0x02, 0x20, +0x01, 0xd0, 0x08, 0x00, 0x00, 0x02, 0x30, 0x01, 0x8a, 0x0a, 0x00, 0x00, 0x02, 0x44, 0x01, 0xca, 0x0a, 0x00, 0x00, 0x02, +0x80, 0x00, 0xe0, 0x0a, 0x00, 0x00, 0x02, 0x90, 0x00, 0xe0, 0x0a, 0x00, 0x00, 0x96, 0x09, 0x00, 0x00, 0x85, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, +0x00, 0x0a, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, +0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, +0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, +0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, +0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, +0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, +0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, +0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, +0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x02, 0x00, 0x5c, 0x00, 0x02, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, +0x00, 0x60, 0x00, 0x5e, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x02, +0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x6b, 0x00, 0x5e, 0x00, 0x6c, 0x00, 0x6d, +0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, +0x00, 0x78, 0x00, 0x79, 0x00, 0x5e, 0x00, 0xdc, 0x09, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x7b, +0x00, 0x7c, 0x00, 0x02, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x05, 0x00, 0x83, +0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x0a, 0x00, 0x02, 0x00, 0x88, 0x00, 0x89, 0x00, 0x8a, 0x00, 0x8b, +0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, +0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, +0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0xa8, 0x00, 0xa9, +0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, +0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, 0x00, 0xba, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0xbd, +0x00, 0xbe, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, 0x00, 0xc6, 0x00, 0xc7, +0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, 0x00, 0xd1, +0x00, 0x55, 0x00, 0xd2, 0x00, 0x02, 0x00, 0x88, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, 0x00, 0xd8, +0x00, 0x5b, 0x00, 0x02, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0x02, 0x00, 0xde, 0x00, 0x5e, +0x00, 0x5f, 0x00, 0x02, 0x00, 0xdf, 0x00, 0x5e, 0x00, 0xe0, 0x00, 0xe1, 0x00, 0x02, 0x00, 0xe2, 0x00, 0x5e, 0x00, 0x5f, +0x00, 0x02, 0x00, 0xe3, 0x00, 0x5e, 0x00, 0xe4, 0x00, 0xe5, 0x00, 0x02, 0x00, 0xe6, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, +0x00, 0xe7, 0x00, 0x5e, 0x00, 0xe8, 0x00, 0xe9, 0x00, 0x02, 0x00, 0xea, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xeb, +0x00, 0x5e, 0x00, 0xec, 0x00, 0xed, 0x00, 0x02, 0x00, 0xee, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xef, 0x00, 0xf0, +0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0xf5, 0x00, 0xf6, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xfa, +0x00, 0xfb, 0x00, 0x5e, 0x00, 0xfc, 0x00, 0x5e, 0x00, 0x51, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, +0x00, 0x7b, 0x00, 0x5b, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x9e, 0x10, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, +0x00, 0x7b, 0x00, 0x7c, 0x00, 0x02, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x05, +0x00, 0xfd, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x0a, 0x00, 0x02, 0x00, 0x88, 0x00, 0x89, 0x00, 0x8a, +0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, +0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, +0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0xa8, +0x00, 0xa9, 0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, +0x00, 0xb3, 0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, 0x00, 0xba, 0x00, 0xbb, 0x00, 0xbc, +0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, 0x00, 0xc6, +0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, +0x00, 0xd1, 0x00, 0x55, 0x00, 0xd2, 0x00, 0x02, 0x00, 0x88, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0x02, 0x01, 0xd6, +0x00, 0x03, 0x01, 0xd7, 0x00, 0xd8, 0x00, 0x04, 0x01, 0x02, 0x00, 0x05, 0x01, 0x06, 0x01, 0x02, 0x00, 0x07, 0x01, 0x5e, +0x00, 0x08, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x02, 0x00, 0x0b, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x0c, 0x01, 0x5e, +0x00, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x02, 0x00, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, +0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x16, 0x01, 0x5e, 0x00, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x02, 0x00, 0x1a, +0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x1f, 0x01, 0x5e, 0x00, 0x20, +0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x07, 0x01, 0x5e, 0x00, 0x5b, 0x00, 0x02, 0x00, 0x25, 0x01, 0x26, +0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x02, 0x00, 0x2a, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x2b, 0x01, 0x5e, +0x00, 0x2c, 0x01, 0x2d, 0x01, 0x02, 0x00, 0x2e, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x2f, 0x01, 0x5e, 0x00, 0x30, +0x01, 0x31, 0x01, 0x02, 0x00, 0x32, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x33, 0x01, 0x5e, 0x00, 0x34, 0x01, 0x35, +0x01, 0x02, 0x00, 0x36, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x37, 0x01, 0x5e, 0x00, 0x38, 0x01, 0x39, 0x01, 0x02, +0x00, 0x3a, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x3b, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, +0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x5e, 0x00, 0x48, 0x01, 0x49, +0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x5e, 0x00, 0xec, 0x02, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, +0x00, 0x7b, 0x00, 0x4d, 0x01, 0x02, 0x00, 0x4e, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, +0x01, 0x05, 0x00, 0x55, 0x01, 0x56, 0x01, 0x08, 0x00, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x02, 0x00, 0x5a, 0x01, 0x5b, +0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5b, 0x00, 0x02, 0x00, 0x5e, 0x01, 0x5f, 0x01, 0x5e, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, +0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0xd8, 0x00, 0x5b, 0x00, 0x02, 0x00, 0x60, 0x01, 0x5e, 0x00, 0xce, +0x0b, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x01, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, +0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x62, 0x01, 0x63, 0x01, 0x08, 0x00, 0x64, 0x01, 0x0a, 0x00, 0x02, +0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, +0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, +0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, +0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, +0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, +0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, +0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, +0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, +0x00, 0x5b, 0x00, 0x02, 0x00, 0x5c, 0x00, 0x02, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x60, 0x00, 0x5e, +0x00, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x02, 0x00, 0x6c, 0x01, 0x6d, +0x01, 0x6e, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x6f, 0x01, 0x5e, 0x00, 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, +0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, 0x01, 0x7c, 0x01, 0x7d, +0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 0x01, 0x82, 0x01, 0x83, 0x01, 0x84, 0x01, 0x85, 0x01, 0x86, 0x01, 0x5e, +0x00, 0xe3, 0x08, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x87, 0x01, 0x88, 0x01, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, +0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, +0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, +0x00, 0x18, 0x00, 0x19, 0x00, 0x97, 0x00, 0x98, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x9d, 0x00, 0x9e, +0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0xa8, +0x00, 0xa9, 0x00, 0x2d, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 0x00, 0x31, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0x34, 0x00, 0xb2, +0x00, 0xb3, 0x00, 0x37, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0xbb, 0x00, 0x3f, +0x00, 0x40, 0x00, 0x41, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0x44, 0x00, 0xc2, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, +0x00, 0x4a, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, 0x00, 0x4f, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, +0x00, 0xd1, 0x00, 0x55, 0x00, 0x56, 0x00, 0x89, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x5b, 0x00, 0x02, 0x00, 0x5c, +0x00, 0x02, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x60, 0x00, 0x5e, 0x00, 0x8d, 0x01, 0x8e, 0x01, 0x8f, +0x01, 0x90, 0x01, 0x91, 0x01, 0x92, 0x01, 0x93, 0x01, 0x02, 0x00, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x5e, 0x00, 0x5f, +0x00, 0x02, 0x00, 0x97, 0x01, 0x5e, 0x00, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x9e, +0x01, 0x9f, 0x01, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0x5e, 0x00, 0x06, 0x09, 0x00, +0x00, 0xa6, 0x00, 0x00, 0x00, 0x87, 0x01, 0x88, 0x01, 0x7c, 0x00, 0x02, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, +0x00, 0x81, 0x00, 0x82, 0x00, 0x05, 0x00, 0x83, 0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x0a, 0x00, 0x02, +0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, +0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x97, 0x00, 0x98, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, +0x00, 0x1f, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, +0x00, 0xa6, 0x00, 0xa7, 0x00, 0xa8, 0x00, 0xa9, 0x00, 0x2d, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 0x00, 0x31, 0x00, 0xaf, +0x00, 0xb0, 0x00, 0x34, 0x00, 0xb2, 0x00, 0xb3, 0x00, 0x37, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0x3c, +0x00, 0x3d, 0x00, 0xbb, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0x44, 0x00, 0xc2, 0x00, 0x46, +0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, 0x00, 0x4f, 0x00, 0xcd, +0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, 0x00, 0xd1, 0x00, 0x55, 0x00, 0xd2, 0x00, 0x02, 0x00, 0x0b, 0x00, 0xd3, 0x00, 0xd4, +0x00, 0xd5, 0x00, 0xa3, 0x01, 0xa4, 0x01, 0xd8, 0x00, 0x5b, 0x00, 0x02, 0x00, 0xa5, 0x01, 0xd9, 0x00, 0xa6, 0x01, 0xdb, +0x00, 0xdc, 0x00, 0xdd, 0x00, 0x02, 0x00, 0xde, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xdf, 0x00, 0x5e, 0x00, 0xe0, +0x00, 0xe1, 0x00, 0x02, 0x00, 0xe2, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xe3, 0x00, 0x5e, 0x00, 0xe4, 0x00, 0xe5, +0x00, 0x02, 0x00, 0xe6, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xe7, 0x00, 0x5e, 0x00, 0xe8, 0x00, 0xe9, 0x00, 0x02, +0x00, 0xea, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xeb, 0x00, 0x5e, 0x00, 0xec, 0x00, 0xed, 0x00, 0x02, 0x00, 0xee, +0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xef, 0x00, 0xf0, 0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0xf5, +0x00, 0xf6, 0x00, 0xa7, 0x01, 0xa8, 0x01, 0xa9, 0x01, 0xaa, 0x01, 0x5e, 0x00, 0xfc, 0x00, 0x5e, 0x00, 0x52, 0x00, 0x00, +0x00, 0x05, 0x00, 0x00, 0x00, 0x87, 0x01, 0x88, 0x01, 0x5b, 0x00, 0x02, 0x00, 0x5e, 0x00, 0xc3, 0x0e, 0x00, 0x00, 0xd9, +0x00, 0x00, 0x00, 0x87, 0x01, 0x88, 0x01, 0x7c, 0x00, 0x02, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x81, +0x00, 0x82, 0x00, 0x05, 0x00, 0xfd, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x0a, 0x00, 0x02, 0x00, 0x0b, +0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, +0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x97, 0x00, 0x98, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, +0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, +0x00, 0xa7, 0x00, 0xa8, 0x00, 0xa9, 0x00, 0x2d, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 0x00, 0x31, 0x00, 0xaf, 0x00, 0xb0, +0x00, 0x34, 0x00, 0xb2, 0x00, 0xb3, 0x00, 0x37, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0x3c, 0x00, 0x3d, +0x00, 0xbb, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0x44, 0x00, 0xc2, 0x00, 0x46, 0x00, 0x47, +0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, 0x00, 0x4f, 0x00, 0xcd, 0x00, 0xce, +0x00, 0xcf, 0x00, 0xd0, 0x00, 0xd1, 0x00, 0x55, 0x00, 0xd2, 0x00, 0x02, 0x00, 0x0b, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, +0x00, 0xab, 0x01, 0xa3, 0x01, 0xac, 0x01, 0xa4, 0x01, 0xd8, 0x00, 0xad, 0x01, 0x02, 0x00, 0xae, 0x01, 0x06, 0x01, 0x02, +0x00, 0x07, 0x01, 0x5e, 0x00, 0xaf, 0x01, 0xb0, 0x01, 0x0a, 0x01, 0x02, 0x00, 0x0b, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, +0x00, 0x0c, 0x01, 0x5e, 0x00, 0xb1, 0x01, 0x10, 0x01, 0x11, 0x01, 0x02, 0x00, 0xb2, 0x01, 0xb3, 0x01, 0x5e, 0x00, 0x5f, +0x00, 0x02, 0x00, 0x16, 0x01, 0x5e, 0x00, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x02, 0x00, 0xb4, 0x01, 0x5e, 0x00, 0x5f, +0x00, 0x02, 0x00, 0x1f, 0x01, 0x5e, 0x00, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x07, 0x01, 0x5e, +0x00, 0x5b, 0x00, 0x02, 0x00, 0xb5, 0x01, 0x25, 0x01, 0xb6, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x02, 0x00, 0x2a, +0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x2b, 0x01, 0x5e, 0x00, 0x2c, 0x01, 0x2d, 0x01, 0x02, 0x00, 0x2e, 0x01, 0x5e, +0x00, 0x5f, 0x00, 0x02, 0x00, 0x2f, 0x01, 0x5e, 0x00, 0x30, 0x01, 0x31, 0x01, 0x02, 0x00, 0x32, 0x01, 0x5e, 0x00, 0x5f, +0x00, 0x02, 0x00, 0x33, 0x01, 0x5e, 0x00, 0x34, 0x01, 0x35, 0x01, 0x02, 0x00, 0x36, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, +0x00, 0x37, 0x01, 0x5e, 0x00, 0x38, 0x01, 0x39, 0x01, 0x02, 0x00, 0x3a, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0x3b, +0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0xb7, 0x01, 0xb8, 0x01, 0xb9, +0x01, 0xba, 0x01, 0x5e, 0x00, 0x48, 0x01, 0x49, 0x01, 0xbb, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x5e, 0x00, 0xcc, 0x02, 0x00, +0x00, 0x1c, 0x00, 0x00, 0x00, 0x87, 0x01, 0x88, 0x01, 0x4d, 0x01, 0x02, 0x00, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, +0x01, 0xc0, 0x01, 0xc1, 0x01, 0xc2, 0x01, 0x05, 0x00, 0x55, 0x01, 0x56, 0x01, 0x08, 0x00, 0x57, 0x01, 0x58, 0x01, 0x59, +0x01, 0x02, 0x00, 0x5a, 0x01, 0x5b, 0x01, 0xc3, 0x01, 0xc4, 0x01, 0x5b, 0x00, 0x02, 0x00, 0x5e, 0x01, 0x5f, 0x01, 0x5e, +0x00, 0x92, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x87, 0x01, 0x88, 0x01, 0xd8, 0x00, 0x5b, 0x00, 0x02, 0x00, 0x60, +0x01, 0x5e, 0x00, 0x1a, 0x0b, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x87, 0x01, 0x88, 0x01, 0x01, 0x00, 0x02, 0x00, 0x03, +0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x62, 0x01, 0x63, 0x01, 0x08, 0x00, 0x64, +0x01, 0x0a, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, +0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x97, 0x00, 0x98, 0x00, 0x1c, +0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0xa3, +0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0xa8, 0x00, 0xa9, 0x00, 0x2d, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, +0x00, 0x31, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0x34, 0x00, 0xb2, 0x00, 0xb3, 0x00, 0x37, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, +0x00, 0xb8, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0xbb, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0x44, +0x00, 0xc2, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, +0x00, 0x4f, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, 0x00, 0xd1, 0x00, 0x55, 0x00, 0x56, 0x00, 0x89, 0x01, 0x8a, +0x01, 0x8b, 0x01, 0x8c, 0x01, 0x5b, 0x00, 0x02, 0x00, 0x5c, 0x00, 0x02, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x02, +0x00, 0x60, 0x00, 0x5e, 0x00, 0xc5, 0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, 0xca, 0x01, 0xcb, 0x01, 0x02, +0x00, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, 0x5e, 0x00, 0x5f, 0x00, 0x02, 0x00, 0xcf, 0x01, 0x5e, 0x00, 0xd0, 0x01, 0xd1, +0x01, 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 0x01, 0xd8, 0x01, 0xd9, 0x01, 0xda, 0x01, 0xdb, +0x01, 0xdc, 0x01, 0xdd, 0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe3, 0x01, 0xe4, 0x01, 0xe5, +0x01, 0x86, 0x01, 0x5e, 0x00, + +}; + +int IMAGE_IMAGE_OFFSET = 0; +int IMAGE_IMAGE_SIZE = 17645; diff --git a/web/include/material/image.h b/web/include/material/image.h new file mode 100644 index 00000000..a3d5b42b --- /dev/null +++ b/web/include/material/image.h @@ -0,0 +1,13 @@ +#ifndef IMAGE_H_ +#define IMAGE_H_ + +#include + +extern "C" { + extern const uint8_t IMAGE_PACKAGE[]; + extern int IMAGE_IMAGE_OFFSET; + extern int IMAGE_IMAGE_SIZE; +} +#define IMAGE_IMAGE_DATA (IMAGE_PACKAGE + IMAGE_IMAGE_OFFSET) + +#endif diff --git a/web/lib/debug/libbackend.a b/web/lib/debug/libbackend.a new file mode 100644 index 00000000..5626cee1 --- /dev/null +++ b/web/lib/debug/libbackend.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae281040e5b25832dc5388ce3ae92622e6227deb02a22d8341ff25146b3c57e +size 10752424 diff --git a/web/lib/debug/libbasis_encoder.a b/web/lib/debug/libbasis_encoder.a new file mode 100644 index 00000000..597cca0a --- /dev/null +++ b/web/lib/debug/libbasis_encoder.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cf54271045b6c450613a90a05f690ea4af0f2a8eeafb0fe00b12986aa224e2d +size 7371558 diff --git a/web/lib/debug/libbasis_transcoder.a b/web/lib/debug/libbasis_transcoder.a new file mode 100644 index 00000000..3f7be319 --- /dev/null +++ b/web/lib/debug/libbasis_transcoder.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b55ec29181e4629437ec4a96b75604c8727de3a241153bc67cf465d5200d20c +size 1090976 diff --git a/web/lib/debug/libbenchmark.a b/web/lib/debug/libbenchmark.a new file mode 100644 index 00000000..3e28ed67 --- /dev/null +++ b/web/lib/debug/libbenchmark.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f35b8267154543ed89d20b0d325bc7dfc9ce730d2d4cd535b76edac9c5379125 +size 7992602 diff --git a/web/lib/debug/libbenchmark_main.a b/web/lib/debug/libbenchmark_main.a new file mode 100644 index 00000000..3b82b860 --- /dev/null +++ b/web/lib/debug/libbenchmark_main.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:155a621e6cd4ec6629e64ee140609b0a7aaee1ed80fddd62527f7d8f2d9d5c2d +size 21976 diff --git a/web/lib/debug/libcamutils.a b/web/lib/debug/libcamutils.a new file mode 100644 index 00000000..df57374d --- /dev/null +++ b/web/lib/debug/libcamutils.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f03b35e1874dd26fd36cbf05e830856f174814d20e683453125a5148b10a0e04 +size 355158 diff --git a/web/lib/debug/libcivetweb.a b/web/lib/debug/libcivetweb.a new file mode 100644 index 00000000..8bc61557 --- /dev/null +++ b/web/lib/debug/libcivetweb.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3ae9e16c390ff2228da8769c6aa02e8f998346b02265755611e489e89b08ef6 +size 1204028 diff --git a/web/lib/debug/libdracodec.a b/web/lib/debug/libdracodec.a new file mode 100644 index 00000000..197df3c8 --- /dev/null +++ b/web/lib/debug/libdracodec.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb789711bc47fa70a1172afb0854f8aaf0b9e63350e6984226652b07d8fab045 +size 38874058 diff --git a/web/lib/debug/libfilabridge.a b/web/lib/debug/libfilabridge.a new file mode 100644 index 00000000..49f989b0 --- /dev/null +++ b/web/lib/debug/libfilabridge.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37f7c1e484eb9b6784a5fc38218c42b84f96c7056ae5eb45a05e93a5fddca0bd +size 1125414 diff --git a/web/lib/debug/libfilaflat.a b/web/lib/debug/libfilaflat.a new file mode 100644 index 00000000..29d01cd7 --- /dev/null +++ b/web/lib/debug/libfilaflat.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51a8e9094a2dfee22af42804f99977c9d9130fab206b7bd2d1cd28cd4a75676d +size 982830 diff --git a/web/lib/debug/libfilagui.a b/web/lib/debug/libfilagui.a new file mode 100644 index 00000000..444e1c27 --- /dev/null +++ b/web/lib/debug/libfilagui.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:037293e287f15c63f6c99ea892979e99f16a8ef501e12e62ef3075a1efe51642 +size 921284 diff --git a/web/lib/debug/libfilament-iblprefilter.a b/web/lib/debug/libfilament-iblprefilter.a new file mode 100644 index 00000000..a1d97486 --- /dev/null +++ b/web/lib/debug/libfilament-iblprefilter.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e5fed1b02b2a6ca9718c6fe59f34a1f55741cdcdfae8b4862289d631b3961a3 +size 263470 diff --git a/web/lib/debug/libfilament.a b/web/lib/debug/libfilament.a new file mode 100644 index 00000000..0ce64251 --- /dev/null +++ b/web/lib/debug/libfilament.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4a39b80cf54179c5bad411fdcbb9f0e1ebf3a2c7d9295cf08c46498b8c98732 +size 36965046 diff --git a/web/lib/debug/libfilameshio.a b/web/lib/debug/libfilameshio.a new file mode 100644 index 00000000..942141c0 --- /dev/null +++ b/web/lib/debug/libfilameshio.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0454e6acbea44edc699b208cd057eba1737502901031a09c073cae064eccadae +size 520308 diff --git a/web/lib/debug/libgeometry.a b/web/lib/debug/libgeometry.a new file mode 100644 index 00000000..b01797d1 --- /dev/null +++ b/web/lib/debug/libgeometry.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cd824eef2d49f70f4457499ba190e8ab10ac04035ec2bcf6c04646ab138e811 +size 1650226 diff --git a/web/lib/debug/libgeometry_combined.a b/web/lib/debug/libgeometry_combined.a new file mode 100644 index 00000000..d5d5df1a --- /dev/null +++ b/web/lib/debug/libgeometry_combined.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0838796cb9c9cc28ce48a3046c629b7083d1d8d96508ccd2c0861387ae6c971 +size 1650274 diff --git a/web/lib/debug/libgetopt.a b/web/lib/debug/libgetopt.a new file mode 100644 index 00000000..2383d7a2 --- /dev/null +++ b/web/lib/debug/libgetopt.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3035ed45b442f07ef84b31b04146799b8a195c45aba1bf317483e697f909c17b +size 13152 diff --git a/web/lib/debug/libgltfio_core.a b/web/lib/debug/libgltfio_core.a new file mode 100644 index 00000000..101a97ee --- /dev/null +++ b/web/lib/debug/libgltfio_core.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ac9b3136159f24d9b39fa3aceedada93b980543d74a7bb5070994357b92ce9 +size 20943778 diff --git a/web/lib/debug/libgtest.a b/web/lib/debug/libgtest.a new file mode 100644 index 00000000..95e62fd1 --- /dev/null +++ b/web/lib/debug/libgtest.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57729bef98f6ef095435ed2f38ffaee85441364fec1f7e9dd39f5137fcb380b1 +size 3180972 diff --git a/web/lib/debug/libibl-lite.a b/web/lib/debug/libibl-lite.a new file mode 100644 index 00000000..12d93fbb --- /dev/null +++ b/web/lib/debug/libibl-lite.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ca3f3f5b4bd8c069fcdadca69281cdab542a1e86bbe25232841288833fdbc63 +size 4067344 diff --git a/web/lib/debug/libibl.a b/web/lib/debug/libibl.a new file mode 100644 index 00000000..99deb18f --- /dev/null +++ b/web/lib/debug/libibl.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43477257e7a80c95df84ffea6dd78431e1af3555a9dacd5e3aa5961c932a8f43 +size 4978276 diff --git a/web/lib/debug/libimage.a b/web/lib/debug/libimage.a new file mode 100644 index 00000000..d9d2e0f6 --- /dev/null +++ b/web/lib/debug/libimage.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31d19302bc3672a415562edff3223e0cce0ce4ba84c9f615f33fd37be24f2de4 +size 1322170 diff --git a/web/lib/debug/libimageio.a b/web/lib/debug/libimageio.a new file mode 100644 index 00000000..a2403aba --- /dev/null +++ b/web/lib/debug/libimageio.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:310a7a30ce3fdf68df247260eb11f9ff596077206b82d9f569cb924d8831d8ec +size 1167254 diff --git a/web/lib/debug/libimgui.a b/web/lib/debug/libimgui.a new file mode 100644 index 00000000..ad034501 --- /dev/null +++ b/web/lib/debug/libimgui.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc26e6da1b82f26e7b75b397f4c13f9ed4cff801b2ccf73fc2343236721704ba +size 4245408 diff --git a/web/lib/debug/libktxreader.a b/web/lib/debug/libktxreader.a new file mode 100644 index 00000000..7011fe8b --- /dev/null +++ b/web/lib/debug/libktxreader.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ef599032c8d0cfa401242b77c58421789da41798dff05af7dc5fbd191cfbf57 +size 383738 diff --git a/web/lib/debug/libmath.a b/web/lib/debug/libmath.a new file mode 100644 index 00000000..3b703f75 --- /dev/null +++ b/web/lib/debug/libmath.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c8c6dc7d2a41e79ce97ac574dc3551c9e5ec74f95aef352865e1e96eaf2c7e9 +size 412 diff --git a/web/lib/debug/libmathio.a b/web/lib/debug/libmathio.a new file mode 100644 index 00000000..f1aca14a --- /dev/null +++ b/web/lib/debug/libmathio.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:429939f29dda431556ffcbbf32e4118492667ed6f3c269f28a199dbec1c1e0b4 +size 233248 diff --git a/web/lib/debug/libmeshoptimizer.a b/web/lib/debug/libmeshoptimizer.a new file mode 100644 index 00000000..03006b3a --- /dev/null +++ b/web/lib/debug/libmeshoptimizer.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48edf6b455bf0dd92c78d6f6ae770305f7688d93ec61a8297b87609398186cf8 +size 518054 diff --git a/web/lib/debug/libmikktspace.a b/web/lib/debug/libmikktspace.a new file mode 100644 index 00000000..39baf734 --- /dev/null +++ b/web/lib/debug/libmikktspace.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa160ff2456faf79eb02caff867794d263866d23424ffdd5d468813b2f88df72 +size 132298 diff --git a/web/lib/debug/libpng.a b/web/lib/debug/libpng.a new file mode 100644 index 00000000..dacd38e8 --- /dev/null +++ b/web/lib/debug/libpng.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1adf9908b95a5cc35a0432d94aa9dde336697c4fbb8edbc99b1166158e711efc +size 1137866 diff --git a/web/lib/debug/libshaders.a b/web/lib/debug/libshaders.a new file mode 100644 index 00000000..74c0bc69 --- /dev/null +++ b/web/lib/debug/libshaders.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee677d68a700d4d45d0060185b27fa7408856a62b3f39af85b39f6cf9d908740 +size 219564 diff --git a/web/lib/debug/libsmol-v.a b/web/lib/debug/libsmol-v.a new file mode 100644 index 00000000..38aa088f --- /dev/null +++ b/web/lib/debug/libsmol-v.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2900f1bb6be56a342b24832af48d2b81cf29ed405a9ee40dc3702861038b40f +size 261126 diff --git a/web/lib/debug/libstb.a b/web/lib/debug/libstb.a new file mode 100644 index 00000000..d4df4077 --- /dev/null +++ b/web/lib/debug/libstb.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5d0be41b5691478c9e10930bca20dac22e0ef5ac60c2a8a638f72a0ac77913 +size 273818 diff --git a/web/lib/debug/libtinyexr.a b/web/lib/debug/libtinyexr.a new file mode 100644 index 00000000..96d301ba --- /dev/null +++ b/web/lib/debug/libtinyexr.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdc1b1f620a8ba04400feafa2d8ce969604081efb0dfbe79388a0f5c826a5b15 +size 2244758 diff --git a/web/lib/debug/libuberarchive.a b/web/lib/debug/libuberarchive.a new file mode 100644 index 00000000..45d3c67b --- /dev/null +++ b/web/lib/debug/libuberarchive.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9aa9431826e6c6b638c4bdf997130fedb056b149ba316e23a92a8ce0917f89e +size 86082 diff --git a/web/lib/debug/libuberzlib.a b/web/lib/debug/libuberzlib.a new file mode 100644 index 00000000..ff5d8e2a --- /dev/null +++ b/web/lib/debug/libuberzlib.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67a71d65b1306be9ba3aed05e43b172e9789672714e7c181a9de01ae44a89b11 +size 640776 diff --git a/web/lib/debug/libutils.a b/web/lib/debug/libutils.a new file mode 100644 index 00000000..358ab89f --- /dev/null +++ b/web/lib/debug/libutils.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfe0e2faf5d072172f9f5af651ea444c5e33cd222e0d4457c7a7817f7f3a86c8 +size 2970234 diff --git a/web/lib/debug/libviewer.a b/web/lib/debug/libviewer.a new file mode 100644 index 00000000..e4be5a1b --- /dev/null +++ b/web/lib/debug/libviewer.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce61c0ab00280b518a67d1578b13ee9163e2ac81a4fafc07a7fcbfc693ac9ebb +size 3358704 diff --git a/web/lib/debug/libvkshaders.a b/web/lib/debug/libvkshaders.a new file mode 100644 index 00000000..ebc9702e --- /dev/null +++ b/web/lib/debug/libvkshaders.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f2da606974516047fb5a7440dbf2c78a5bf4189ce6b98568faf3b3b8f5bdb1a +size 3002 diff --git a/web/lib/debug/libz.a b/web/lib/debug/libz.a new file mode 100644 index 00000000..5c6e0344 --- /dev/null +++ b/web/lib/debug/libz.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df56ff498b06ad2636f29c3d1dc59676d7ddfbe7cb1bb9bab2952451b270c259 +size 382342 diff --git a/web/lib/debug/libzstd.a b/web/lib/debug/libzstd.a new file mode 100644 index 00000000..0f7bde68 --- /dev/null +++ b/web/lib/debug/libzstd.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8909f37a859a6a9f23297a81febb20f827ccd2433a6d659a58dc3886ea7abcf +size 3601048 diff --git a/web/lib/release/libOGLCompiler.a b/web/lib/release/libOGLCompiler.a new file mode 100644 index 00000000..6541df0a --- /dev/null +++ b/web/lib/release/libOGLCompiler.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99dd8a7c5e215f78db310fbc43f169bc0508acc4252362878ba80004dd646f18 +size 520 diff --git a/web/lib/release/libOSDependent.a b/web/lib/release/libOSDependent.a new file mode 100644 index 00000000..9d815811 --- /dev/null +++ b/web/lib/release/libOSDependent.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1025e310965fa15348bce43b142641ff39bcb164897a27830c48e94766ffff8e +size 1024 diff --git a/web/lib/release/libSPIRV-Tools-opt.a b/web/lib/release/libSPIRV-Tools-opt.a new file mode 100644 index 00000000..4664c4b5 --- /dev/null +++ b/web/lib/release/libSPIRV-Tools-opt.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54eb19316daf1fa53484ed055738f79bba0d0727f5027630a7432b1e8ed6c601 +size 7418752 diff --git a/web/lib/release/libSPIRV-Tools.a b/web/lib/release/libSPIRV-Tools.a new file mode 100644 index 00000000..12a6e949 --- /dev/null +++ b/web/lib/release/libSPIRV-Tools.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae8256ec69f73e6ee7f5a97cc95b90e08435cdadcf0f87fcb6192bea4bc2847 +size 2697384 diff --git a/web/lib/release/libSPIRV.a b/web/lib/release/libSPIRV.a new file mode 100644 index 00000000..01ce1837 --- /dev/null +++ b/web/lib/release/libSPIRV.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f72c49bcd3f157f415c65813db6d4be3624817d2beef176aa9c644000fbfad1f +size 1084208 diff --git a/web/lib/release/libassimp.a b/web/lib/release/libassimp.a new file mode 100644 index 00000000..da678a4f --- /dev/null +++ b/web/lib/release/libassimp.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a33573959a0f0e33995dcd452aa78924480a28f3f5f7bc7f99becf5170273ded +size 2418896 diff --git a/web/lib/release/libbackend.a b/web/lib/release/libbackend.a new file mode 100644 index 0000000000000000000000000000000000000000..a0bf5c0e7b0e2b298d92a3003efe35c776250b06 GIT binary patch literal 469500 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

lTCDg3V8V6pxOOEs9)z=vRCkC*#>TOkMC+ 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�RJ2kCM>JZ9;Rq@(OCKP1V-AtooyjkyUJ@^B-k% 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%0Df_V`__8kD4kLaFIR*|`y_P8w>~ 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 DQhM*J literal 0 HcmV?d00001 diff --git a/web/lib/release/libbasis_transcoder.a b/web/lib/release/libbasis_transcoder.a new file mode 100644 index 0000000000000000000000000000000000000000..e3bc216e632f5cee1a57ed8f00888fd24aee03e5 GIT binary patch literal 284132 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 z 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

O+G@6=ix*w&5nU0s}%0jQL}#*&UAN4q&+ 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

1Qj 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%0A*H(}y^Rc7-RYJV+C{ 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 z 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%0D%&7DN8v~GYCIDG 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

Jtc2)1ii0(XlkUG zl$97ImdY~XV#<~|TJlc8-HEFrkQp(Am_Qc9@oTL=jO^M<=UY+>LoaArBGCQfMVlmvrG&a0YX4ja` zh6-MDA2wLtlS+YL+KI0U;5IbRzVUdfN;V|p0?MN@d4G`@ME^_MED z1C!B(+5ns&!ctPWzE#M@wNHr9NEv2pdDbrxaR~Fg1#Ehu*j{p>)B;kA*f18^=Fh8s zRWWuE#~Xzg7HUij$s`m1#v+2(Sj-v(uek&ha^zyIcV|y-1s$7bu{{{O#21flcn+@G zWwGHbwkL~?V6l<-LY@|d_}pqNav8mljH7EfvSPqmH2}fLQO%97(hf*{-`5QnY*Q1c|1N*k*R%nsYwe!-{4|CnMIHcdy)7EJM zdII`#FK!6!ez}~+tA2$@wXi{7U&emR*bQ1W3hyf?{p$g^g&(dLrZXJ0%z5WG!A9LW>QM1n7@}|mH`nVgHEZ=d|JLg*f#n8Sj;WfLzm->x& zkO=9Lse`E-*#-Vo;*Sg?v?EZAL&T9HW&Vj_R&ZI&!}o9UJkK{7!;?|welgNv&zIN#4@}GBWxmz+@ba3b;uJVYZ4Zl zDkmccpDiWhnBF;MH2vlqj+s2SjM*%PlU;XeeZ`{UTSbM5kKck!d73P8x7Hu)3uy1? z))D_ZgOPi*y@H8Br1NV{!s~WJy?NwbZD_!oSL%h0K&U=9!{RJ*pSDN9OInzsqy%nn z8QvSazfjrv0<*{id|amZqTH!1WduC(6=5Z|%Dvh$&MOnACdV?*FC!3Gh+a42d&-zNb-4Dua>lN6UlGB3KyGKQdw&_5DCFuUA1q_z z1%hWkj`g=da8nPJv6MjY5)VsJEIai3pqC@ug}$tKdR)N7GF1pcB!B2UPYdCrq%Yz&J$ zrs0?>zg?+tn&fdlq>(AA0Qwnwf@>Y<@}#1GCpqQ|$-e3IQ+$*uF#FV}dCCQ?OMsZ4 z(a5H_i0oe)7TcGxXSvd%5F8jC^T@*Rmddi3Eb@0>;n9V$prcKT^e43Ddum&ob6rmX zga9Ck)W+pc6Eb1XX}hBoA#@kMrd4=%xE`!o0t}w__c8|1T6o*Z=gQbvEiy)U6Q!qD z_+HX8Wwd&X|4T-c^Z7Dbz7{e_y}(-_$AZD6s4n($aSk&Q)}PrPg>m; z?6(gU*K0oH6fzQCJFR}havF(b2kA2k{!}NcWw99o$w>S~93u_G=)#gB zhL`xfHV{J?hK! zSIV%AX0LK+NZA&;R9GhVnl_0B8dYE#-v<6fuZD8q3x}NUA9N}x zs99`(7I{;P71Pm){f!Q+`<{rfr=Ull$71v4Ui2%cre5W}C~OH%(tfRsO<}PGqTtT! zWz1u-g^az$We-Xeo?d{$AI3y1@-}}}MS*m*p^%nqI!Bg^{lc}(6UxPg?poHyA`W{~ zIUB-ai&*U6SZuM7nB|^S#Oj<_E+Sgj@=h*i<5}b#XbA95{5l9PRE#ZQk#{+6>%{(= zm~QfvavEF0T5+w^spVqtc1`!Fasu&7gGFUwAW?{aG>R`IW_rhzvk_WkAa-*3a)<8% zrSZ9zuJw|_+%=QOmb1Yu@(+!F5Cjc4e+)rPFSVhZhRi}~6UUVkjDJrfT>xzI#W3S| zN|L?L=NGxKjD5goB0jhW7daH78b<0r#L3+-6Mw_XCi0=ySB$_SA89%fLc8?H$J!wB z3qw&Fd##0pT_<&UIjso~V3D2L=-i<#ope_oX(&3H)3okNV=_u(`=qUd^W|pXBrYfyv7zf27nX}_Th}qSmD5C)uQSKGs9eNuX3D%g!mz3Gd+d^N-3A@| zqCK`kB*QfRlU4-(elHqf{4f{+4^>odOd zxyWd;!1X;Xt|bfY$PZedyvej!0Q-1NTsIk(bAra8H^{da%iX9^PybQt%Rd!|eMhoA z5jm14YHSpX{G?U+9Krb>7Wo-ynVV1N+s!Xpm2W2;P{d?XCm|z&U?)yS

1J+r)Lh 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libdracodec.a b/web/lib/release/libdracodec.a new file mode 100644 index 0000000000000000000000000000000000000000..baf832a66399921c0b5247aea701280c343c022d GIT binary patch literal 1717666 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%0D)}Yzo8dKi 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 R=NJI2wa*QZzs_ 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%0ALTeSu6U!dn>TeKIE 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 WPieaIX_y@Q8@Tum?9J;zt^9vI5?v7h literal 0 HcmV?d00001 diff --git a/web/lib/release/libfilaflat.a b/web/lib/release/libfilaflat.a new file mode 100644 index 0000000000000000000000000000000000000000..a735b6136c09fe1b8d3746d31f95dabf78c826b1 GIT binary patch literal 30720 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libfilagui.a b/web/lib/release/libfilagui.a new file mode 100644 index 0000000000000000000000000000000000000000..afcb6871c9ac33ac610a5d36e3a5a3f675e6d471 GIT binary patch literal 73028 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%0DyrCM=#;k?OH2eF+$BPx2Mu|kVp)x z9I(Uun^r$yhaJD8p6ehpLX=C3<|MSz_#ls5x(8F)>gMTFcU4#pv@Yib(^_D>4gW#H zo-|q(Dw72(uNAY9EX!o!B~7ao)>q8&Y4gp^zctV}hYEHEtXA0Wa6Vt~*}^HEu;+Bm zcuGqDLmkWt?xf4p;*C)>l;vr0XeOQ(5TCoJMWspIXv0}`%dctcu>G1gTA8*inr*i1 zxe9v`efFC*5 z2%SH$cg-Sk&#qa7Ja*5v0%)6q8yccy_so%6eizMwAa~PHsJWXKp@TeNsa$pJB0V*T z@_9FFGXr_eT{V)VcR3YB^YB|~M?=y|;*Z_l(KZrpnZ31mhj(ZI_2OV|4-oQRNlEMQ zC{1g@?i8o9g4866w<)zppl_wSJSf&XQkUKJiSn`N84JoqlRSfpLSwqv)I;OBbc-H+ zn(;P}+u^FTCBzglwM2h}o|qeF2i zbC|Jql-ypA)u-6Iue7ZMW%R5Zl4UWQ!!-`E5WQy6p6?cC)Ft~)5pr`;PU*grn_m)t zJhEb{fzcY%OB}p?$UKJqdmbdc`!JSMW9`FWlcl|_E!GZGftxGXKc)kSZEYzS>gfTW%rRb^>12FF9u$L=K-x(5%DhHYCPSi2<3bP z@lk;;yuOEz7}VlHKSfuX@aYC+u4tw|hVpn2e_EB*$ULOsn_tKXfbijkd-|qfP^bu3 ziyC|>QxkP~EN~WJ4fvE}qnIt`h$j3!P8<)M6U1CG4}VV-^Th&jk~mqMA`B4{VX;sw z5~qsO#Ob2>|5taN(NPvr^xj7(qDVlBfI#R%$kKaFAPEbBgcLvpL$3)5B`SzW00BWM zO0NPcN)@poDpKvJG_fIyN)c4BfTH4^%_fLMfgc`W&zZcLo%hZ6=FWTb&F<#hhsvme zU{pm2JgA21BI&P*TBwaWsEc~2j|OOnMre#CXo_Z zc8Ep{+9MWmh(`iCpd&ir7Tk*4&>3BDI}*_q-OwF9&=bAT8-36h{m>r+kc4DeI#4A= ztgM412TKmYP^94w+$nO^VHhqF!Vw}Q8mXQg0x8Ld%)Jvbz7>Dt~V}fv- z=$ri{Jb(u=8B;J7)9?@;#&pcUOw7V;%)wmD!+b2jLM#$1{$eb_Qt{tECbIiwVy%A? z%dtWP^{cQNYs5gmR_yZY#3TQ#_}`xwf%|$fvTqQ5`pY6g-zY-!P1uYr*otk~E|T)s z@dn-$jriMm2RraC-oyLYiCx&O+3&$#e1LtvS$~L+@G(BYr`V6rZ~&ice$|U8Kig%k z{1?LDpsvZ4kcYpJa@6~@o<)kRof5cDt8K;EO zY5am;aR$HPcafQ&RlkVHm6A9I1DJ}OD%p8eE{fz;6yev1=Ji@$$9%kA?ffc%EWm=i zLDxACEX2a9rJ{(xT~zW$7L#6amf%e+$xfX&b@BUzT^Se_MFk(GEeE3*oNS(PE` z8LJEx>6f*hS6?J2DUMwaFdnSUJ-d>BfS%-C5kIvicvjH2@d3z%^W)t~gQ#NCBhWflcOxR|Jd<&nqw`4dY z7|B-jvbC;kqY}loY{zI_=e#|J?Nv)ftiK&68SnG<1a@FYcH%91dfn#l?JU`aw=

j9K z+{De?!mZrK?R<@|^9{bqxA->S(YQPKF5lz(+{s7M^ z5Abtgu~H|hjz0Ud_tGzTP&uW(v+Xp?8)vUVJ zu$orOYOAM?)wOz7-x~Ne8cH^@#@57|S~F{InUNf7Vb;Q0TDV16q_r}ywYD}EWo@%v z*O7{-QdyY%TWp_;qIN#NiMAMPZ?Uohp$GP!OAzm>T?S~#6X~P=njZeBOWLI)QLzYb zRA^*^H!(ImE;=DrT-1p%p)J~kMur2*)Wv|(7b+xp!=k+LiO~@eqEe@lxdfE_N2NIL zt>K1%oF{$vE8`iQ;yx65F4XtmH2~#(xtcFjIPb28a-M$}$gh`iCF>+_v+@j%Z6BR{^Ycwj`}>LPf|*E{iGk9XGp(314G1ZmbYhGa`G@w4^K+9j6`e~ g&Bs^VRBk1Ha{qQ|R~bHk0u3dm>Hq)$ literal 0 HcmV?d00001 diff --git a/web/lib/release/libfilamat.a b/web/lib/release/libfilamat.a new file mode 100644 index 00000000..40c18683 --- /dev/null +++ b/web/lib/release/libfilamat.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88a89a1e1fe1231bd7166d411c1da61521719e7bd8735af04adffde7484c9d39 +size 782752 diff --git a/web/lib/release/libfilamat_combined.a b/web/lib/release/libfilamat_combined.a new file mode 100644 index 00000000..ecd55d57 --- /dev/null +++ b/web/lib/release/libfilamat_combined.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:563d73666a6816adca8f0317fc121c2d2e4e9b482ed716cf5bcf03cd32bd04ed +size 20181704 diff --git a/web/lib/release/libfilament-iblprefilter.a b/web/lib/release/libfilament-iblprefilter.a new file mode 100644 index 0000000000000000000000000000000000000000..8033ca61cf805aa9bf0d387bb326935d1ddb6c26 GIT binary patch literal 43100 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 K=F}1&ll#9xuVQlm literal 0 HcmV?d00001 diff --git a/web/lib/release/libfilament.a b/web/lib/release/libfilament.a new file mode 100644 index 0000000000000000000000000000000000000000..c68040d0f14e4c8be9f504e9838925ceca8b76e5 GIT binary patch literal 1928420 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 z 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

;iY$fMgX-zO& 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

  • o-V_A>Qw~N(r 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

    9LcZk4_h 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 z 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%0AJfRz+*sN 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�+M+}k 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 a&K);{j)U8zubi!n@Sv=;@L-eljiu@% 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

    PWAcqkSWIMU6J2WS3m+2q6 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libgtest.a b/web/lib/release/libgtest.a new file mode 100644 index 0000000000000000000000000000000000000000..f5b3b58f571549be8b6f16ca479a223c584950c2 GIT binary patch literal 367934 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

    {rrZR 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ℜozKmw= zvtRTz8$y!0D7KPvj!+A$9W>wvnG->9Kk5A54$gXPKtg|Xe9{2_gBF)6ZX^BR_wo5q z4iK4rJkJ~1STLi=_zm8lmzaS0T1f1H6sb`MQn;oO`I;9vIM69IJyQ*y0@{=b*Q*J% zYZ;KJ{`q%9{y>RG{{F1tnOo1%z-mDYXUO)IdVM6qT+AuYtiYL4HJU0gd@MmYW)~?n z+oye#JqtUXW_1>2#FM{#^(@%{s2w(bLIn?O(WrIxE>g_pm82Wz1GSNq6kC@9Jz&nj zsq|LPL;@==L{kvBVamZs!12h`YsMoYoEcw1M6!q@r!yjXO$Z1;#2-FRdJX<3;-9>L zp(wiKVKs4RAyD>FECWeqtuVSYM^p?zgBTSIx75{w4H-4328mSAI}+K~m2@NxB&UzO za^b2-TvA^LssvJ?{Rp$?U-C$U2Qp3ZcHoqK?PJ15p0(2~nBB70fIp~ki;&y|d>lYE z9liL+9Y@rtL?U4!fI*!GgQ~^RV%W5i{oq4jd{7DH`gu5b%=L%m8j&xv_7RZvDuVCd z@kJSTt(VGzasklw`luS?Eg``J=BYX{QU)NSgWwI13Vu8ch=<8DiiR2TGVA}UV{x{o zSzsq?G57o~wR%8ulYrQuCW4iQFGa%uY(=hD2 zIDJ&%#b*WY3Cu1+kEx@^NF+l^BqP zumC*^XBt5CWa)wGtxC4`i)-~@^;RVT;KjANkAf{&TIBh2goT2`=%rOLxP9*#UEvmj z7O4R0u|pWyuPepj`Btg>qVRl+z&;04w-1}TID_Q1W@;Z2^3zp}9Bc0f*^mAa2(#osUS4Kw6HsWXC4R0e5Oi@h`|;q9}nIijvWn%t=KK932~ zsn8zd$Jms1fXo*ktb?!zllMQ*fm+d1!06jUzK71G(hw*O8sv%wjetQhNNI;3U6}xL z3jQE#@FC6~aX_ku_yqUGpE_(BsjsD^;+aZQ2cQW6E=l#91a-kqusG!*(l?1VXkh}h ztHDn2$ZJusTxeahJh>NQij1#=$H7}pIpo$(vmgMH@J7wH&@xk={pb$09gi`>Vn&PH zaRrfqbR$XZs4;Ij0zbV4gYfgnRMtyqaef#}17@c0{UUHddlG@x**3Ph#V44ti?gPlJD!M$GZ#ua-`g zg=emW{TyP+QH0?L-%IMLX%Ge?7`i6v0&fr?^n%VtP@Y&sRtT}k4ZM@!tBDq8MTjBH z1FxW-!V$qM?0ZF`C9je^cSf!-5Jq?L3@36z&EVCfr3yY7>f^Y@pL#&6drMIHRWAMq zT+8@1{-NuT*gUEE2)H=n$@Bu~Y-@W(m3gwU6B#)QZF=wYyyAC5Cns$Hk)}Fu-Q$%nN5NO^@_AM zl;Mp*4*+BF2uf0bgLEq%gaVFm-DMcE^O?|hmV$k_96cyHs=^|nkmiY9MotOqhDVPI zS}%h!L1l9K|2@hiv_3g+5K2xpWfDt^<9bp0q+j=cRZ6W=P9LRGdN!W0jYCo?Z;EcA zHU=1s>W3*YW|Bg+ADad`=PsN2=&eqPhPzFq8I{tubOaVjHAL~hG?|J;u zpVVs3DWm{4n0l0b2-$lB17D?vOlttzGfBqsBqW|QAWG{LAM^a9NMkM<-_^tA<4F){ zRRxFcD}l_I%~d=DcA#jR1^#AP;E%+95W-%eHy#5mve4;j*6Z0Y6SIAS7C59W{=hz! z=!_PCV17{n$Pym-ltsvACIi;30YB`8kF&aAiWQhp__{WPQKUcJrY7AmxQOh-Q@GCVJHtj^VyL$dCZ!3Pq z{?^0W(Qi8Ry>vVpYs}5+n0_y~WQa%z3Iu@hAR*Sx5gqH*ZVH?T7N-jv$X>g&|Tf+2_ zW6xdV;P*(o#~3+G`6@U@MYSK+h_?=C<4A5kbbJ^+WTn@0`XuCu2TT@V8Jv5Lh#VU; ziC7Q-(v9RCGFv}j!JaN9Z>|Q1W=@l$O$xl5xEN$d1E3tfEUD=FvOV1F4iFiSaZ=3 z1C%mxZPimS$_8?=U9`}|K5$zTCnAk_PATkbM$|zJWI_cr<>C8<*{AonBHlpHHB3R8 zc&LX{V?@ycq2oENO}+yCV-=G6&z(j882X^qPAZXd^h)c{7^3DouzL^?-%EVJey1r0 zJE4fp0xqpvvg|AjW|m51PuYoc~?Va(mhz(jnZRnDHp&xW>e8-|KMw18e zl7Q71ibX9BN=GF)5RW1gzJ=$^M3bz8{~5uruJE6RZz9W3qpw8Nj~pVB!+2Q)~4l&N8$KRn@{2 z0sZhw`7~*hrn36XT0JrHM59oj4Ofl@C~KUz6|?z5BK1uYWA=5B$JGX%XEy+>Qurv6;IC>Jsbq=Nft-{Ve8 zB^jM}N*$AKfbPt^qYX3f#uTWScj+U3-Z9srH|k~J`6Vmn9YxH%!-gX+IPcm(_UGN( z3h&Q*VnXvCV|9e*9n6J>jkhgyyhZ%p|6RoYH!tGI^!@K54p;}7_y04CIH|JAX#hv2 z)*%{!%Ff@B`Zum!SIlL(6tzO79@3AU^?~9S_U@n+sI5BX)*Ju~X|1vr_y!LVO?`{? zb5vI-X^kRi9YS;SC(_*hD&h%5{A~h2v2TP@b_#qdT1TRiqoX&0$bC%W^mJac9ydOT zZ2;F_3K8>taCGJn1fw{^(1i!vRL=Ny4+x^;wTexIx|R{*KhiA%O^_EsEA?&f*d$%6L>Ql6AFkdNI%b$5#xpx{UGXwH8Kwq zrW=B)^=I8hqw$af5SUv0#4_GpeGibpiyOU*CvV`B)E{Vcp%i4Fh1c%~GlA;zC)gRH zok|lXB$awr9LWVq0W~0kS_H+paSt2gkHmw03j3I)R7!a0 zOcz;3Dd>x&pqkWo%!NiZD&I@oWj`hV{SyBRgyDk@_%D*lv+vPQ@O_8LCfr|}eGvMh zr0Gb|Vm9`~2tuJ=UoLouk3=U!`9~lCNifenst+1s<2Y(6h4&<#? z<-9+d?rnL?7!EdrHJ!*B#Ts{>MX(0_Pl6aBtU>QZDGzJV@I0*925TS$U|D6Ex;qE3 z@8g|0<}3AKjvd~l$Pra@!Kt!l@zvuLTNyAG&SP?s`oLwVBqrjJFJSXT3^u^36 zXz)0Y%jn_oZ5VQX(_}9}Lnme+CiOYNr#DlT2v24|stcU#EhfoqHRsuYK+U&ZT$TDD z0TXwOk9z0pA*w}ksc$uDs03MC)%6lIq&0 zhgsGaMl|RSWU3q-^Bz7&&P=uL5m_#_fb7<$D4Tsbo{0tq~6i>`kQq4#G=`Y>Vi9Z z2RyYBX*UHqkSHSB6U4W7k1isU?Qr}~1^$?y&FOuXXTEDWp3KZd=6$^rt zTlt(hmM&aF+NUucX_;`|gwl#?e0!Q~0v06(z?cOzAD%e`8D|cP#ZzrlgBrwjLkE** z0N!Cy4FuN(*8!ve^e$e5TV8$ue|Kb$FtezsFMFxAmI_IhdWW6*7}tVO}dR5j}j;rv)FZY38~jj&=)LCK$kQ`e4DP}e{b)O5WfsZXRzN^d#1#*eZ0Lw z`<0BDJ%p?m5Y%%MFu-_pKL&}2L7)=nFbyR`)pD@RonYAE}Z8^m$f$2cokh@5= z(nk{|v+h!LGNv_|J(+2?BEKaCFqvJ%Y%sn#C3r(a13qmH6g7_+pvHqp{BtB8$V@op z0D`w*OvLsRoCxQ=wQ(HB(_7&{{O&)?oO(cGmaqB&pJ>MyhZ_GsR~_+6RVV)}yEZu~ zQKN5S{yQb+*|?7;!wD1!_+MWoPAfGzTi}Sz93;Z$M^m3lXXDR__QY(OhBhbd2FRoJu(|5xIeb!9&5y@iHI>s6zd$%lERiYlFOjUPom?|X-^Bdaig`Bf zBO6Ctc|)sMAfU9w)X;0arajVtQia!(gW8%DqpySYm(>d@`WhQ-y}tG8ioV8K7v5{V z)S|B$S1?p-jy?01wtyBQF}(<*wV9!5YU>plea%&3UhCxi)z8hHr zFV%Wu5OvHo7aDQJnj@J>dbJtx*o)3h6#s`UxKGQ1yCEdg1J{!`jSy2eM|hi@Rg?M* zs~XmMSXh||E21eL;YRf9&}G7u)-Xe&>J?!~G46MdJjY^4m)68d?*D_l24X7U)fM~( zye9Ixg5QAGL|#|$8wl#i>k57YsU3M;!Ef;WlE~`{egkR;(Bi%BjzB4bG(bKxN0=2CBPWwPr`lOy?ckN9(_> z*ttT^Px7XJ6W5Fy;*Wd=0HzZH*X&q!^Ch5mljqf@9;con=_DFY;1u^pI0f|Cif%9? z`hVCh@v0q1V5=PdDaZ`Z-l$+DfT31TGft>BvvFUf57G4T(l8{DBLeT-i?O;sfqky7 z*_h501!(Gi8(O9Hlo9NB-2l6b!{>NBWSi7mAKwRvZy()q=eKxU1-9Qprs}_aRGU$r zoHZR`bP4>J0!)3(mPB9KLz*y1=2?Pk(SOZ^kX_MBfb5!yBD+Q-8n&UDvvxV(<`BwtYUd*WRpxHJ7;FZ-&&i!4Flo6#M2VxtdU0tC-F}5pQPg2 zbLCQ?#q>#T9SH^XFk$>kkZa*IPr`{D7B4>aQ&~1xu9vf&nZ7qaEM*{9@ChaPG`iOy zn{z&30|1O4rZl>l^FD#ZWDgnMa44zKhnErRIgH^D_j5w$+Y3#8PV^I4Y-Ai5oW1~0!1J_{MG`1*Jqn3!$>Cz_{zL`WFOLuc7jcH#Udwpfq6^2&}h+f4Ep zAv*adOB=jm43j=y0K`Ag2^S<9S~)BrAkiQz6|K$3Xz*ttx6a^dL1G27*W_SFewKq( zCz}>n57qIKyBX%wjmz&g;XmlyY-0e(YjwsV8eI`2m~kln^M>GgZFZsAN@+H)LJnCt zyk4}TTDVmwd$R(;Z#0#NcIF`9MA(R4U~O^JJm0XZO)E64O|}Y zaUcW)5|tU`o>8d*81*$&7-dvs&X{?J?lOXp9%Wq9+-V2urxVJlvt~~c0S!VjqnON5 zkdpbnW)>G1COn1rhz8co5?Rl$22O!^o`w_5rst+n53B_(i?Xl=j!c~eN@W&O+R!@k zL~AfnN8~`y00xEKBlPg`M8k`IlIA>ow^j(1`^P!K=m0OVqns5duR)_VAO^fdi@d@& zBZT0M5+5>d=ck9f z6-FSmhC}10q`pap0P2qc;vQYuk6*l4AU>qq@xa4j^;mO;tbqWcN}x*pR>!|VorVY` z96247KvZHXXKR!L5JUJf@BEa4CT37EXuob2Pz{PC0pJ?n#Pq0M{{?kM~n>YPo!as2-%uvWE7}6=)gX;1t@Q0_yk5){*w7YT5?}twQ@T z_3irC`DLh4BLU{^wx@;=RW)HOJ$VRjCI_hB891NfB-?>rm|$yPgE$9ayD%nJbIV z1zXkk^T9OC*W-DnxICU5K2Cwl(C})r{NyNXb~=}Q2#gYf0D7efZYQ%ik9IC(7Xag7 zg52`sTGa1Irj$X*-O*1W5Kh6&WB0##Zsey33VCi)VQ1I)Ngn{WCi_+#O^)=VWa=Qh z!4#v96!HpqJ-H$+lAg-1tGG+%%mn1od;30%0Yjq(K-hhv*H1V<+ht#XrQZQ&BxP~;1f z^)43R7GL`!d!cTR1qaShV>m+{z(DB^NJSVjvfc$8JOj4?Sd6Yx;wABAKu{fcieEQL zPBB^ALdcOgPfQ^*Hq_MeGJB#);;$t`OzN5TcNf5#HG6<0cbkd(=nQlz3XX)y_#ba~ z0nq`y-aFzNrW{Ea#wdo!gbV?cix8R~-*64d{tq;PmGE1x+AQK^c+U(8h)%SIu3+=x zz5Y6~oU(yNQQujm*f1MJlW5DVd$~#K8y4_)CZUX%*bge#3sWCU%TwXagZN9y3r(Vw z6M7F2D*oS!5=N7s*oldz(~4%sxDE9%u@e?e4=Iiie0!fa&Ms~BNV-DyDxG~~Y($rm zl9M&j?GrxoB8}eiH)`}Fa+)+~!d0v5k;cIt@U}>CQb~Pck%Bzbl*@a)9>iFk4s(jcKrWL<;;i7y{NGtaJR4^~0~Skd`IWNH;CJKv9qN(LBy5W-|(D z3(|{eUUF2>21>~hW4eLJKgZA>9EUsnzUC5Q-AB0k5mi9&nzgbPHTCwOa5J z5r9C6A5Wiwj1wDX*MYxG!gKgvc-FC;Y0TkGHdb`Qkzh>w6t!-!R1}olt)2DwdZWVi zr1NIMw;{Fg%@6(YIxRA-tix!%WxfeC$z&W+G1Nyl^B|+CxWg<{DiD#RL0mBjqLwTg z(PVxy!NO)Wf{7a*2Z>!hE|?(sCQG^aPScXE)-Vi#Et&Da z<%!*jG6d;^=&o!?7Y4Gy{-?Ttgr=95YvxXZMngcnRH!9PAe9fL%(mu;k~`bZ)}`J^ zJc3#Lo}8YYq~u&O*qQX0eTZ-AU&Zq$d0meg1t$_>lZcAXTo0RHIT22E*v%Q7avy*X z<6*PED2#{QoPklM=EH(&YmV$5j!exnu~YMrF{j2q2m4ydiAwz^+fa`G__4-UozRiT;Vq4X!QbtT<>fCT z<%9(C#A=v%SVmg0w6XwQ@k!)L!bW$DN7}APYKP~K>)cBH3vr8Gy^+el)0K^Zk3|#B zh_9&pQEsrsLQh~+S_TkJ=CIOQVIxKXpr?B}j*Omk0B6mEy}(Q(e}Pk(z{sQ7Ks?%E zHN1pp#+(NU1)5i)m${I-#?LXGehf|uT9t@MEkjUHq``{NDx4*pYy3fizHI3h|3*T5 z+^PQ{6?*JTCY&ejNi;>^B50mj=gc8X5$%R7g<05WnXud0Um<~1?N~i4tjqoT@o}db zqT&oML3}@Z-;w$a{{VXyMvV?V{1>Eo381hJGt2{11$=!`aa-`l0K*0$6d{b7cL zHe$UGLYOl}!TT|qpx*;*?IrE^TJ}Jh6Y2M0s9!BNIaCtnZ`LcOW&|5BYo>*M>VcBmc#vquq@MH@aQc{0_*+HTVdHNXl7#p@%&(I z-}=HDlq7)BzSW1DA_WlGV7jor2L*XTJV+Z3Z^MO-rZqkkge<4>1}jFk;i4%munjR< zbHwn-3MmLtW`P3EuuKELJATzC#UP**oS$&+T!3kQ;K8Vl|hJ;W#%2ZM!1hqFe zf+Mj2A#=Uu1MMvq8CDn>;58uR02y+B7|6h~5rr`pA%d1TgqZQ~ml@RK$9#<%afBMF zvR9)+rvC$dLWdqc=6sYxm2Lk3l1myo7I!e<&(TDQS;yB%SkA0)i|h~zipGDPHXx)5 zKHHpq=KCLc7#i{nT*7EQ1%Eh==7#a~g> zf~NpOz=b9tdxgnV_n3*SDQKK}g(uR7wXJcZ-P3ST~aO9mFp z5))yTcqKs$u|&ClsaT@$+c79uAJObl(chXS%85?G62p|M58HnU(VYyV8@XN)bj$r= zpgUk5K7|RhfaWHADU57r3cg4-hfUh#z!3JDGbgfF5IolLiq5%DNZ87L1@BUJesT^!2WU5bdhZus; z7JDwtNMxF`LO=1Kdi#Ko$0m})^JUDDRp{RdnfP}ybpK9T_wNMf-ktN=-(%+foPc`Z zOrO$O?(W&?mW$mzg{2T_+3Ajj|EA=>u5)~Me`zRR92v~__LaJ~^cQ;b#_$%wfF#992zMPkCf5k!@3l{AL$Gi`v%MTa^C>Q^CSKIp#OZN zytNI_e`UdI&wu#Dt~0fW-i8M9r9z<>PoDMP?X#Up#lmo*n_XOK3(!~TKUdpMU1|Hs z)~)^Q<|f-~Zolmug%S1a%*)i|dx5>}C~?1CiID@gb7ZNEDHzBX3#E~Mz)aMAOSk`R z{pTPGmA4m%c1Ne_=~1oiOE{Ca_IGasjtS7!3Fo3En@fdaX~|$;&(5uVrR{~{l2t=J zBLjuOa%l;Qb@OUTd3#^6H$U86Ebm>?-?wEOsbonRFBUIevTbN+TYo{Gl!`q|mx!vPL&d7>2e+ zT4$SR@b^jQs0Hrs?vh(9Trz^86?*0QWi`$jTSm$NqOaukbffxU|K0#j4P}X7nub1H z<0J&c`)fwcBc2dPnCdcyk6s_Z=R`Q12l4lG{C%j#nL%2sJ5DJqRpsC(>nQtVjYl_6 znKBzuW*Xiff!}oeK#u0kE#^%M508{L*JA@+ZqIO`2g7nPzV80M@?K&BxGfdjUETc{ zG8kC)zFH?a#dUG@iCQOxE7yJ5_P(C&ZeM9BpMIql45ee+;1HJ1HsGT~68cW9Gi}Pt z`pVng-oC9{g~$A))^RRitLQ{3{-)NMisrICWppl2{!;5CT-YJm=V~2$0sg+gA|8}d z%3Ae%~ag1~BsSLzA2%7rMIzYVxE) zuRQ+zBxf=oqa8BAuTFBNy9Ev$9GibXR_C0wz?}~!7|caQy>Hh!Gv;>;Vvv2k?q;m+q27Yqum_cY zh8E`!j`a5v@4v2d60c~$#qZEG2mCbR01E%^2OS-SzenRovOEUAWAVddl)4GqMY8?< zE-6|T0M}^=yh5J1rI9|Yv4tC^I4AV=_ZPNx_b+zc4loQrWctVJf12Xd$`f4QJHw;Xh7s&f48Q2>vkS_COSY zyK$rfG#;683>Dphp?3>Jv@vR*SD3xerBq37Dvb?1U4+5?qb2+S{xb(wK)hnC=Em7D7hFs1l(Y$znda} zZTw{_02%B9)eyYx-N1}b9;|5aT-rV~(%mt&}E6ZerB3xw)ca39uJB>0l%3-+SeW7%*&R`g@Ix6%VI%Lt0fq_jG+Ic zM>vVa9M#8;aHcJEITPh#UqLv>7mskxCImulkUCORPeFGS;~^*olf;J^=q9A_tf46?qdFL3Nin|qnu;c50wi`-BU}T6)M^8a$NJ>zZ~UE zT_bv&+XV{8lZTFSj$R`ytZPG8c3r;n-0Y@Rop|xPqnxAk3wf09SidTFA)deCXlJf& zUYG|Mt)AxX-Njx&LQ*-kB#Y%eM?1~BB-Ax%)P1kv2w1vw8aPHT)KPagHHvPRy0+Bp z#URkh4~}+@xOln$@0Bi|{o-inm`x*tgKUH&BQr8RJzyV%Wn`0NaH;cnWzp6Zh8N*CXdXZpd0 zwffoj^s~;j9UC|1R_SLy*UwgGJJ#Wme)dPS@6Jbu1EmEV@e4DYSpi(;4I~cCp#?In zw;kiuVz{Sr5c`jDQlY}&yySKF9s_kpH)$&3;pdMb-0sF~XQ$uyH;-{@4CcOljC1s< z5X=32)P|vX^$+b9F1BANn%06e*rwaB(3Z_);SS!bHir$-0TH8 zQo*W@&g?lHE$VT2?>N?3M?$|JO!y@HJsH1K@N@B-jUTifH3z@B_??R1Jp4|>4=R;{ z{-RFD?+pAF;=7bXu;}C z{FdRj9KW;hgHd*z<6e0FI#-*KTsqKgy7#&er6oKrKezl?UW zkMnYyTt0D}Q#-GFV3?18ew;IDUia`&i8sID%_Sp4QtFS#Imvl*$cp~!ILGGezv3?j zmVFL?iQX6Rm&*Fod$)3YS-gUgQ zHL#mX<=&-Bp$YZQ2k(G_(VG{!y?9GuTi@V(YLk)21r)?XmJ#hY=55%nyXpjd*|7{^ z2*s-40;(HN(ApP~X6m|Ip&k_a3$!p@pgjAL6P(0Zq}cm$v7CzTCr)rCbFms@X2N)3|h(oJE5C zuM;3J%H8D=uBUx7og};?xVmhnGYO#Un`?2Sjd8qr%S@Q~JNuv}(JOGJF^&fxo(cA&y$<)IEHBaBz%X8Yj&-RGo8f$QCeT5czA@7|L35L3 z#s}k~R;hbiL6Gz$`lxp~%;oj zZ=2;Lfn8kPHVcjd?e8HX?!v9-BEszlW;v4z#o|zr@9vxB*t8%%HVa5}mtnnSKQ#+z z_u6Hdf1TybUv~DMfqoZyYzeC1^7{1RhI$uf-B2$W_wxG9U8@(h)t@b3{TeM2h~J{u zY=3_jTf*%#vz&x9|5v=n^2|PmZlIM67mDS+0!v(VqBGe%*o)g6PIT&oVg*gN;-$8B z<@Q}CI!Qg{_nfGC&?~?(&c=dYf!~Ya7+KWQ9OLN|o!RGgZdgAK%XsTaFut|`&|7#x zsrzh#*LeDlqYy_`N>W#I=GlEUwbksLpr(sWKD?m zhPVtk?>rgci1q#MlbsYPwVw3MxAkn{V|eengzl3kJN7H__tPgkiC6N~=Wy{4y!gV& z&fLX|7rP-nhDJc42u~rj0_%noaYM7q1OGU==LvTZ~T`%V4mn(K6&62=LAu-fV}gw zU7I)M^0^B;U;;xc!0V?@(OU6qL7nHI{7Tl$K4YHVgQq~ZLP_IOSb`VQZO>-!>O~ za%8YnC`fyOgO7{|m;wN+AZR6{o&2{E< z>Dds6VeB|r@cL7o<2~&$fBMqXmjpL>d(Wv(5~?e%K5!}&Xm^g**>V5zQynlL(ab)5 zs^hFFltp!)Pw&^4Pj!xobWY#6yNLSM4^DMzdq)NaC`X>a^^)?yFh$!_r&e-|ee;|n zd$~d+c9JiZ_lj@*hI!C5y2X}y+dQ%A_Rn)>gbKp0&x0CwqS5>3Id&d@|9PHX>-WMH zv05p$20yqf&C}P;QtDhh=#Zz6&2uKb3R?YwxhV3Zc}_w`^y7Ijh6>w8`n#c8?Gd$u zesAhhf1c+w1(L#$|HciS9T&Pe*v*5zAh+VEszmAgPjg=Nl7tBs4G$H|I#zJ?d}m5u zDKCqXsJL;yQ@a)6DXM3;&UdDb4DK8p+C3;xJ!2*00{+QXJgNd&A{;|0#K& z+q7xJCVBrQxnB)sd7a!pINwQ#`1{s;>U+Ilg{bw|e8({V$Ms_i6&v21RC!q2k#` zPlsAC(gSB76|hh7&R2%Ni1MquVX2B`phJfbo$eg9erRyf){5spJ{=Q6G5*ujoh4H| zh6D4Yum`p)92w{pK2^vNEZ_1b358{g#qPZ_ikr^R?!1E#hv#8=ti=xyqq%#|fH_LZ zgX<5S0do|CH%9FMMN1iuTX@@gG%x-78P4?e;Lof;Exec2zITQ*N5Vgt*{wq(a9c`X z3Jqx|+Ky;zZ#?Y8+bv5pkgxFDynBh0^4n};O_sZVi5}YB((h-MILG*9+F7QP zbi;y=n1Y|t04~wi$Ue}=-vR1P_;un3<6mvY?*jZ@hTnzwU4-Au@q+_Ey#haQKJ_a6 zz(Ccj@$1G9OQ0d1J~kFXLVFP#Dia*Nq&6}vt|#+*4bI6v#OYQU)-IUp>*x|fsFt8V z)1b$A5s5jwFRd{%A9s7?$#rSxG`|gh`a+Fq52kMHepCHAzxsi+vv_p%Ow)w}{Z+yK zP1>2`*U4mZ@Z;}|h5e?ChW0mpcl*tg19&n6oCL~5##!Pw=EI+9J`bvORR|t8%`8L{ zx|ydk&WxZLuObonY(^t+yL5M1qf;N0lbL|=lFoQFI^bAft$P}Et;?j=y^Zl$I=8#D zzOY*uu(3_fE%d`!W(x-!_2BPi3qp6lYII)a_uYCv(>e;pj!kRVca|IT`Aj;qrMuME z1NDZ{-;SR3o#}i!jj&gdDGZ3`boAtMeArI!4zfaqihRO<=V{baM`L z@3Fed#C4U4@9LgrjhmIwp`aHu>v8@H=8`iJ82!(HNby8`_7D4Hv>_x%`Dz#|Z-9Xy5@nh{W>0+X{s{ACwt=%wiz%P(rR?IK%CwO6W>x_lf1s(QxWWJ_mGQ<~yYqvcspB!wJV3`SWroseNmI z#UnAGpI`1wl3Xxab61_E4O_Bc8n$qH;^{5sDVY`x+a7s(&solt4NSB`4BSPjkDle6 z0`+^Ch$xC44s1ZJhRX_3b@y z(3Ox$xTD{k?Hnf^X;^7X8DLTOa->{NU$kW}fE(Jf12ix0_?z&wmflMuTEt-Y7i%6e}UhIhaENkC-c?~#y^3o6qWBs=&Q!^Cyv7nF07M_nc%(&Y7N-yB-L z8)c4P8m2OkA#!R=Zrx|_I@Gb>6&x4rntx(C{v~Ri9N#fwU&wdlc(4AVa*m1X8Sn1E zyGe@{ZHMNByLaO*v4{-s9=YPIzn@o2cy%wX_8%qAPS4NTqs5*!6%p2k2N24$$vq1B zDHlt25pxV7z(`(Gwhl4=M&dv`X@Js+!77&?Dzt_K9JE{<>W90s1iZt8*EdvLI%Nt~ zUAGgmp@$haOW_Jzv1ZXCy%1@Q>IB~vtMG#VsLTsB)7nM84)P<7LzWpdQ1rVc{*Jhp zh;9HjK(8yJo+yvvrWq<5^H&cIEp*T6F2Ytvx*F~l;|4B`FbF#DVEKxR;CSllxFDC` znC(J#$NJ8T0p^N}*5}q_BadI{Ly8bTI0D!L*B;j-u(^E*$P!4vC!w!m06-DbbWjHI zRiy18zX&`NCe0wwgd{ILY-l=uxj`h4ManI9PdocGM0jK(O2(82Mie1cGO#1V=9GBRH#77yuxlnex2MoEGJ3L$ zk{bd{U%Ya|=Jj1sLayLKPJbT$kc()qNGfKa^M`&{<4C*4Xbf5 z5Sa|HNS+T7F7M2ek_-zj>&0%UvlXj6Pp0s{6>B&olTN*ua06FUvIw&y8jM*y$LEP* z{!_V`!AD}(NO90b?A_F+Vg!A|OCv078QBIut}E5ywFau;e+@TWnSMX9hF6|(26Q`b z?}X4YDH2u*BmsoD1TPI%gtR4&Nu@a2d*v>S2z5wk*vv$zGkBkMlV+%kkv=O7-=uz! zmIl1OA#aM^kd~Y(PqtzDWYn1R;i2J0Bg5`|;QeLr*}^-`MWaKZGOBnXq*Ep-^}3mk zHYj`;EFQ5Z=?Nwr=3tmx2nM%Ji3@It#1f(CGLOYY-US-sw7JN-C=?ela|D6H)d04z z2YD9#g@su6Qz}hc`2~xf2vCdbKh5_vq;$_7e9S~f(VcmvJ zcohpTc#d!g5-WicCv+dfk`N@I+l4Mb1k7N%5WQ?Rq$NNp)mt-keqVQa%8E7H%jMzH z(j`l_0oai(i=ix-9U0+`8CV-`$5x30GUW#|27)G%LXA(EPpy!G5zi5;E4qxgNZvSS zni3ZYKt6POVN*T;h-KUSO&~snu2`WTZYvIr43`MlSzMyflOB2mnx1Du>g`8<{0y(3 z!fPkcRq*5wc#_f_(65Hamp%&JOdc=7-8HzgSK#70T%4%z?=kofdhr*gph7N%+J+x= zHx#)CMQ*ZUd^Ip)2OzZjzz@YKwZ5|<-=4eVeB%zQ>b+@<^H4R$c&Iwt^K7#@JGeJ@ zNiNq!mmXYSc#Qvxuk175QBJoHTDryS+wpqXH@|yvVGWo z)8TbU2i})ZxQ?j19XN#(2)A@xsAahQl016Mdvwp~NAuIzj2&F4R3Dn%f!|L2`tcjU54H}9e8DpK&ot!o44orsZMa;_3qJl}H?~MGFX4bD2t81L=?`ErV)NA=TwjIj#4G3^yH>6cb->4m_zbaz>Hqgt97h#8?KIZ!DYZqiUV*DNf;5aMTX+gy-z-%?y-OpjwmehKRSIUfH4KlRBk zUA|9Efgp=YN-#jXGajp@d( z0RbwNP4DQwxg^Lm1LUodF(~W`{p978f+^>jQO0_UFnvFhK3f#PewDI91Y=ox>5VMhqO}& znP6QFU?ZKa`HgEkoALuHxvMDzmygwS17e_vqi{4i#%=N*$fU20eJX|AhTX-us+k5& zNBA#%W?e)2F1OJWcWq&>y8&zB5uoslX1;18zdKc9rD{#qMXFZWd#cWEW7<-uhd|Cm zNKJzhY>dsFLc-l!y|org)rVVah!8Hwk)}s(E~(`;^FjrEB)4o5L$uAacXB%{d$L)w zjji(-k$qqC%($9u!W`BOZ36*O14y@c4?1ZWV^1chsn1GHM{P|=O+9e!=0Y8`ou*C- z-L}tXhWkGyXOG$6Dj`@8$fkw`YF^MrQ~Gqy$E47c%o*ya&~4*Fg-=rW)teTngi?Qh zQe2lU9i=YpYsta8``TPwfpkXOXF3kKG6O{9(-JTb!uL&G@ZAe4I-Bz$KgP~@6y{YKmV6x-;M!5ypwXh; zofWIlvK#U*Uvoi7f_QP=bQ;+lw7$B*ByziQAUAz|1z5jIO|k67`IjF`y~}ZOu2R2A z93P$quQzfq8$!k2XU(d{;;}!@5T85dY8RQIVy!lUvKRRH|pu*>DDZF3ifV> z1#LK`4FB+g$5A$>)ElgGVmpsS$TMv#b@V8l0HbZuuA$)^IQym6HCDJC4>K4hW*KEgXsx-b2Yf#ItJ@ucxvwBH<3;^7SV^AA6vh5XOM_=es^)FBo$0o))iJ* zPpMqmvfvx?p%vbkAB(+LI%{%CWsOz7(g%~PSJ0jibNiOv5jTvnvbV8Fg!n4QkW;B6 zEUPj9@~)22n&4Os=C0x#Y@g#0UKrPMA}bG2{;!<}1n z^tpqaeN@Uw+>#izBGyC6>441yb7=xh`x*;Obu=0?O@Pp_0qr1X)OJ05is0YYwbqun zN^M*Z8xdgzp^mY#Czz?BQb#Fuoz;w9(CFjV@Gc3CZZq@dF63kU1ZTg+#v$AO4VZzOymkN5e>6&*e6H zii65RAP2yh7#r|YWJ@k-rbWyh?V$#{w!FbN%f6a)YuV7pDN4Y0`6TZE|wbLve( zrXeovf%?LYLZm?rj}He!XzD11@y>Ze#?nm{J&mrH?kM?`!%B#+zqN{ttR$8U>;(yo zX~z#zOPSe4F#yaf^)~A@ai|+jbB(4xa0k2oZ?JG=(r>o@abn%K>V6FnVt^n1+U?8& z1GiY`g+LfT0~TBZ7E?Yg*`0wxD_P1pOMy>?82|`0A zLbM69|4?f+aFB=G7fcPM-f6u&gqrao%rt03M-f#`A5-tL&I&ajyZl1bjUBcN$RV7WQPicF83stcaQa7;YxV)XNeZJqdp$i=4ZtK(#qyd>X z8cL(-+tCX_TSKkE>pv)$(FL^mOchIP=UlEub}Hp_Urs>bRqwX$idZ+E)PR=<48Fg> z)Fi|<#p_lml55df6pOd&*3TF`wlz-8YaONMDfJ!;X6@)<#=}Xn4J@3-#)c~saE|)+ zN@HXCs)U*mevr93f#j!9iNz)@St_gY;cIQpSOc#f|MR~&p^aNJa8J;QA$ z2$abPm_<%m_lWlA&11URk4|rrG{ycB=g{}kp&c~8X)P(``_|kLNTX_sb%MgmdS3*G zqY9#nY&xAsCbr+U^-oscSZxbbRm}DYs=ndg-XAeRV*$*B;R{b#^L3aoWqrU}J}$tc z{76`n{*Y6%!mYNvF@b~AtPf5Ab4}GCYkgA!elY7p;}5Pe+JxswYiyX!wK^d`86AeB z#uu`p;U}Az^D64P&SbuA<9Ljk4_jfMsLyShnLxFtIlBcJ9N^-~d##P3S@4TZXfKXd zjj(nij+&g6TozG^4z1B#6BMN6N35+c8mvPUG#`yv6X^!ZC%uy697k1{g1XOYj{`W0 znsmF#K+>B^kp+RYX3En0t*|>h-9{L4;cYpkHl%tmxwXhi`<(^}HI8Mlt~n+?6(rpbf_eCQ-l^@!gmqgcyFZz?B(~JvjBlDEZsjYcA#lr_weM-3I zxJ_i_ETOoes!vZ4h%#u<^j_A-$$HpQpRusQWBeZ#NKaQH-EZKt;!*TR5$v4HRIOuu z&Z1kwuM=LVEgPBR1rm&NB)yb`Dov&G~6B%VoXrcN2eO=hOKT)9} z#uooZbT+CXRJaii3YOd|zpn?X6OkaHvivu#*g$42&8X z4!SjU#;{f(A^#>`@G7RI_{giiI-I6d>SQYg z9~1m$2C(LECc>7Ht?`KzF;J=0DL7fuIssGU$!gE=5^CBVxOv+eH>*iXJu1t^E9}!_ zy5(iqZKvs~YiKhL3I{FjMo{rP@sS9Rew#bD5A9}EkB(7Gsqb3h5N#MDynM{MFdp1$ z6jHOsGfx>m zp?Ru)V12`dP9>DkV9hu=bKY{O7K3DUfJE>gX34q1;%6sy8Cl@&8S2L zXBb!yT`;5>4scdF+w!XB3DLSL`A9>)qc=*{y{y3r?|{D^m(bM*fOYupYkn;5)R-oG z+OGzG8^M(fjA&Usz8NIzx4sIGpmU!_IjgBQ#RT zm+4Lg9gpsFLV^rSl9k)@`GM|X(m?*G>IM3)FhRx-Ds0kwkGDmrE0K z?e#l0)U095>m5)y9|5K4_2au2H!qEf%M-Z~LBkZxTmo2n7~g!Il;5W#`YVKN*sF7)bN&y2k9FVsz#;es?@1g>R5k4 zHTMWF>B(jKdZF#lQ>oKbYQ9P>P^r^Z>I{`yh-^D+C(3&og)d;Sd&E;I7+TN3!S5-v zqw-@KIFS`_NHsg3a% zAB^U9e3``lowYX(Dd|jp&AJWe;9T+idW^YEY_(ho8{!MSM*AECO%s$DAz)gT;&Un1 ze@22To^HnwNyN{utlvlCbm4;OmasctsXthoq2<=Px__vKcOSm<%RzfW_ty9Re_aszfTgz7vLkzud zTnpM#m)eosdcC0hG4}SVn#(3SMvxSx`j}%>m)qfhk}tN>>6HV+=De`KGb?z{9#wON z9ZsE0H_Cx=-j0!uJ?ybc?0ABXHXZ-Ia$Km^>uJyA_v{JbFx^2M`;(SAPm);2ZOq`8 zjVX2Y_{F7AKkxHz+S)7ZZFHai@-u22}8L-k|_wV~1&X14{j zga4BPVK;{PZ|hf~>xUn-eGT4CW!*gfu%c>UxQ+I&Gi62HGVVCx{-v+ZzV#5tDGuGZ zanibI(c^4~>`I5AYH#?4q^sO!hqpkE5)7g^p?yyeL58Ot-v5zCmh$=`99(LSi;B*e zddEZxn_;Wlqf94;5Dwn}U>2`^hkbq6dL56DJT5cJHk+W)QAOl#;q08FXD5f*!Krk2 z+S@`LrV4KVHb_wWUo^H6Qm7ocP+-J)Eg=QL_B;O;*q(Tw6U26-N;N6#UG|I1dpi_x zf~9lU;Y{zuyOd1zyX`8G)|K!mipFaqRXA7S-4X6qDcGPW%f^v&3wt&r5ga>-LmOP% zGF?d9Nj0lf3z9eErHB{qY7K|FJgF!gFV(8ldnY0oeX&fQ(F8^1o+uSp=$@D#l zuN7?u{=Ly2rb?~>gS;Z-CDCG`-w#fRCP9xFM0tCLTR1;thquFxBIArt#;C>eAGQ~S zxb3L&4Z8d}ICn9JBVz8gXN5|K6NnJ@LiF$>Rp0CE`j6V&cj*UL!wsal$BJ2dp-f@G zcb|yn_!=e^1c3(}D!@b8m@(0gTtLA=d>!rtlU~dTxWGZp$Lu_zG7%GRqn_u*NoOME zqYiHf0l3-6_Xw(w+uQ*f4^z9Onc(;+ez9qD%B##Yti)+Z#VER%Frxn1 z4(|_&Ah;=d_U~9kI$@iXc61a!I3>isETUON;J$z#-bEBRg3~di`QboP^C^1-NZ0e) z%AixeZ>t}zl$Z!YOuLJSVlnpAu`zI9M8~9;sJ}S$Iqe(GeBp~zIKVfTgC5<+|4Xps z)ApJ zLbT)d~0gCr6QQq^tMF!D2w){ zZn{`LXNR{mhdD>HFdK50&)ZCikL6;m=KCfrcEFxptyl{k{yNe03uCcq9MT^?p`WdO zQKVsP=jk>c>OV9n=eK)dB~f7sDM!9y$uFIF5)m%Bzf4R6fJWWt>WXV&H5F}GCp zl5$vQo(FX1j+#ix5vG~VV9BuiB-0q~J#>OwG=+((Q}gAC5t7!6z7o@lY%Kh$9nOOjI&H>Q$<4!D5MPUETk;b79=eOG zaI6>Kf87pm0g?CVzr7NG+!Lj~5w#4wjjk_McMn7?o|kH5eaiZ#a59e$LJ`ltkUJ>( zVAQ$~mXF!6X*f~`zKtSZ>+;VQq534y2THHrzchwMG(n3EiNg`=S0kw%e6ka#J*@8A z!*kq$>4c)fBTrCUTwp~o|g-VA_N{E$lYr@lhHZQu+^4szWy*Re z;(82CWj5Uw4)MLXV^Pe}VwJO*Q}(yx!&1-;bc`rs@^}#=QO-xv22w1R>O)pyPDmN^ zkd?m37SQIVyJS!3g^SmfaMEzk_QhrSY+{Jz`852Z;QS*U#_D04nIhie5dv()aph!9 zk3<5N@~R!aYyF8d7I@SSAN`|=w>d^B_>LV;q}AoBC~?jU^XJ7M$)*wCa&j9%O*MW!F)r)?^SZ7u@YjaCKy(_p?L>S+w%~SZfMyV zHe%8Zt^I0R_RgKaOy`U>d>3$bm9u#+z`27<9+b(JDdFT#4-YCw6$(NAOnjlxhq|7|N5?s*2KD zwPC6IQ<1~I85i^`r~P>-p>OhM5hp;XAdlHPe?(+fsC>=O?Tdlk3O`=p)Cs7%!s8;_ z1OgvkwSy3Ao)WH6(SBdFG3bRMcVM-q)Gs2cdoVPQ68AIZ=lVlcmnkahr06ZQy=^z#hGmHawH4q2Xc=5W#0 zDdAW(QYOpM`}Ps4nLeY*H0%l=2$;^KcdO~)_nAH6WTbSaac}rEjdZ5zHIeo+&3~_s z2-k0UZG?MdTK_>E8-CyRk5PEqUl-}Gv0H#|<=yH$x*6Oyf0{y{_U2PS4iI{zCmhjB)v)N;!{cLI9rgaH3jB0>#~O;=cIau~PGS7InC z`8zwjXVAs{D7cJgcMTCs2QSbMH7+*`|4mRe{<{BY~iEs#zo z4agiNmX6MU>(v%%EbP5wE%x0tgzp)4@?+|y+_ms}MGrSzmu{9)QlNvM6wX~|DV)yt zpYcH<>>ZVLDCLc?*`n0%BYtNeIiUljafbDV;;Oy^>qG|J{ziC%LKtXjc$1}?!w=GL zwjv9xsrfC@_0ZIEqlFwV`wtPAu_r`Fu2wQGBxfArBFBUC;JgkxXl!nMPxSDc=C=1n ziJ~cUy`_!`s$^Q)Zno6|qz_j$D4QZD%Y>`8-y+8Ydi*HU+HkAQOx8bEZ7Z6z^Y+C2RplYAWlQh;;G_ik$@R5wx6cY5gaQTOZF-sgT8;Y0bRd zRt-oft_o{Y#N-ZI%(OPXqXI)sxAU}jpM_^K>4Omlm}zaf(^hko`il(DS1kNBmQIIV zfDki(m1M%0f}(ki+8_Qb&nFI?-hR88#xj;z`~eTi=R_CrRXLCQjm(x?1IIcERqX3en}qzH8z$ZVXs z?NM&Jsr4qroKy+}k9u6SUCwRtvPBe8FBHR*ENts&ra| z8Uiy=@4`^F-yG#1%`LZ+T_pD9(g6s$L~8ON8?*C%AxGL`%{kF3z6b;GFka2K3>}6O0eWF`uoWGi$tb26aUuk~iSD zlo{iEnky5GhQxFc^$+x^) z=aIzt0b98a<-9Yv<>ZvJ)=l`_5`D{6!A`z4UPy(&^%}$J>tf3w=VcrGTCprtCEpe= z3}V{LOjy%V$(s|ght$WkI==p*lD8yamQDzPX(R0=aV9k4kfc({TNAO#hH=1+rLm~w zZHd@Z1mhZ-xEAvEc=jIC=phM9m3&7c{-EH|WSGfBrLYcO`znsdLUJm3dt%cBX9nL% zik0j!{9h&SNMtA2Y<2xhCGVUtw-`^mQOW%iUc+fD6E18aL4R}+0(|GhSBFP8dJX%{ z1;SD#-<60}#p4KOV%`mvyek3M(!>_rMC7?j-koTQYcSJv;XuDfPTD^z%9uIHx5r8% zTPIGWRIix32a+W$m|Nb5>=BiGcNNvJDg++;98*(K_IncjaU;X`12*6jG7L_@r|~j; z5{c*0AAZOZ2mB`fKkmK+JgVc!zuzIA*W<);2r-TwC+j$uz3ZKMqtmgoAux7i6I(Gj ziF52kfB>xp!ji!D?*2DAKmsHoK;pjd`@Zj62#~lDH;DTX_a#7p{=e$E-ka$e4Hzf( zejjSy^y})bs_xfaU0q$3WjYb{NHM`#VslBj23FJh66^w+z}6XN6XX=wFz6ziv&a^V zO;*giY!5EJgEW|~bV}>yi$wrAXNvL*aLgy?1OVYe8h5_n2?mgooB=D?uIU-jsHJ{x zJdD$0Vg?}g4~sPHw(K#ssftm5tJ`7^A@+-JOz5__!=!yxrz#U4mX&d?Xb|9~*COzd zmLo+(1YX+?Ze5^p9i0h@Et-Nm4 zD``8(rYmuxiV#N56?UUbTHB81+7dF-;$o~es?B5kq1&Ft?NoJ!LMF5U5@YbOsq=}^ zZI+9UZkAzWt$QnGv}-isMw%>jred;(^$MQBo3*+2Luku4RX@@=-xkCW8=q z#33Fgs?FS}&Qbp7;kXs=^0I+m3^lU~CNw{0@yi=HpYnVfwwSnSe*3-n>E?`B>kRV- zFxEB`pQWLWSbdgXhJCjAm?$=C4xfhRDn$?3MRa6M)2jO*9}H-Y^8(nW&~dYOr1;M; zM0J3}cM&UCC&525-R7Mvo3}{HOu{7O3eNSAix2ewMs(s9m{pRo z@eAp^C-QAWp*ZUz+Vacum2QS1)zVJ)RXhgvF66w^cm}3BM`|)DaYM0C;4`02=M3KO z_-HcXVp}Y+_Qni-3AgK*8Fn<^`qL=dwT5dhFYfHP`Yo_j^h2{-E zWA$mUJjZ1jg?nN1K-vN>4A`ugEZp7V`D(fUMZZNV&?h6m3S|qRUwC5xUa}R_HIuMr zYVRN-@?2&;4?loh0*to?BWq(p8?iK|o3^?Ra1i@|x zJp+=?p@QY<*68h$@j`=cjoD$sOt;4F1c#WqSTTnl^hk0crUbjGH+}2=Bdstv6Q>?^ z8&((@6SoVe6ow34KV~LDk2+!Ir5=6Kbd0R)F{eyjsN1Z2{4$~sU>M-;R8YkoY|{~N zfV-s51fsrMVoMdei|&(wJ$oQqbOs$bbDbcbI&qWnWkL0_aO~JIt*y(`bh^i_zPely z`ijt_-$5jJPfNnxmL6oc6&%uW+O*x$_1H5o!)NLWu@)l)4&m*$)Rnyg*_wn zk2c(V8z95bvd3TNvfe6Xym%E4ftdSiAk1(h?U9grn2kgVb`ouvyjn4uA9?5CmLVkm z58i5Shs!y~XG~oaY}54Bp%Y}fC|xW55^yz5v`K2w)n)TRRIXEoK5TF5d@}M)Y0WaI zUtL>g(?k_QKofX>AvdSNr3*bO<}N=QT_0>^4bd%eT-icc(lqK)SUtvFP_#YUbj?kV zj>Q#SJs(691UWM9HxM4_GKfS)%yY-nHBwbH%TY*sFeZ#9hPs!_+b*?_q}~=GLy62;=VQ>c=ic z=~31jW&@8X+fDOo8KvJc3p`QLcg$;YRMc&gz@tamYt4(a%~oYzq@!Z%%uI@kyJuec zqvG$I@rbrQFrC!t(YAWO5_%StO1{3a$LQ0|w=rYvGmyd5jgK%Fx^~x|p7{IiuFJXF z&9epY&iWV{h?a?v2d%MxOvd&Idq{Xcbp@UFy>O)94wq1{}8DrhYxAb<~!WPP&xo}ktpCSwp2OjXb=f-#Va31n~3W?WkdD(oNS zWS^gfgNF}6W6bPV$dgDQ4{XASEeC>`8@P;T=*vB*(0vU-g`NPUq@SRB0*A~;|2|C3 z*92Tb3CbVlb_||z=N%fhDBSlk*x$JZzRj4!B916dLMrG{zp4169rClIyt_R3`Clot zML9mpBn4fouAMq1r9;%GV9?b;4k%55<%HL9108rAQ%tv1Jp6RsP4KN{dURZY%$`G7 zg&@ZV_Ev4-(gcR*$(@quwyEQ@6s|33&Tp#V0*Ye1K<`^d%sAU{Ww2Q)SFY3jmxz;M zC`^jt*7)=u`D=*@qxsov9h@DLQ@c3Z<7&Ty%*^Fe=HcYgMBo^XFFpww6iPS+eoSz) zhsNn?@u7#=6v!5bVBGCfI)DwBTwNj*9X}Ztv6i~kXOE5bGP7$2zmZgmF!zj|33Afw z$1RtRpM>xXXyI^sG46w843-oK=4sq;o91A~&ML;(kwJK`2R%YSu=sP~)xhtoz%@g& zcE3(*OK7=PEaTCeJtk(h!eV_R%N`RuM={!5+hgM9DrCOyk#X%Y@$|SOH&kz zUkI;w3R!!i_(k&<<@o~j*e=FvWgcY>-8jQM0JuxyB@rK7H;FxK*2s7&brj;zld&7- zCOxCxJcvCemHEwuio{R&9N&|>+Mh@<4hs?5Ek)*D3+dI#k>}3GF!lrdG;EFy7kCB)HO^oCo zEJWrB<_>Ta@y^=ZpiqmRf)yPsB}8?Gw3~I*$grnlHx=W>YA^fE=(t4ZFhp#U$)sCc zwDRzxqZ0`Iu8Tgk8` z*}X>j7Qck{?x<7;lNx5d9-Wbl7_q__i#iET zK>5l?(M*NYe)uq@dCM~$r7*dN7@{Q>WCEem{9=e3#9-v0$5|)HCV4H^zEB~{qC8rH z0zV_&Rpr}hX&v0(FDlP?zcWm-5>pZr+p>s!RVbh8aU2%`Aa{3-6Xb4G0Yb&gJyl~! z0xtt_Gf+?k(d4s0vPb_2_vPeX>c=AFTiRk85#Ggr{NuKadxi%Yugh-P@!f21Dz zltmOiQV+owt*3_~iqua;xFYNgVwNR!;&Xc%o@rf8d|Xa!Ss(SE4XxUuXvy}CC(rmR z7EfNbICF9TQOEi=TswHz?;&b8aE$d=jX^L1a5oAzakhyv#Xcxen;6K2fp(`Zer`zg zIDHZ?TB>$16vb^{zMA20jmh9GZmfoN9n-j96l7i?0ImK=pa2v+ZY} zIXk4LwMj~KM;&YjmpQNLanVd36zY9Ei-ZU}m~+{uK=SNqd?uyQF54$4R48BpPT2S- zF+?@ra|wXcZEwMuXv-vWR-4(eRdN^X%77T{z=ra#B1D@yRKR3!1!ktCVq^!@Ff5$b zQnLb!J+Wie<~} z;^wz+rKPq@=KL9@3jGaxyCnWSvJ@rV3UPC^`WM59jOBKWFh2R>lPyIBg%cr3!Yxq4 z4(V~W;FwAGmLtgLl%WOhI%JC?TbiWw6dak74=A{!h3S{$6Az7F^b|eIA(F(!8nz?eFRFFT%!B@o#laP2~fUng;t2ASLp*aHB64{ZOw>hww+rTR$i^ zS^YtfM!0~$NsIizCvfTUw%IZSuEG81(u^t;Mjh+wPCaycEKNlhC(o45Y>wqqxFWwfzHB!iEl?-3CDVh9?AcaMK$RdAd ztTuj$sbRa-y3{Yjw#<~F$Hy%;W!SCyaMahZElFMIsGwD5yR@#j(CEX~Znduf!zGiO4=*6(+YU~INhH{IPP9VME3qYJ@^n>b z(b&?^7D=1jH%KDiI$~;e*W?mJjl0Fzs3nS7gAlz`Vc%yFGlJ~T{OUp%VKXgqkyW97X>Ebqvn5_!!x%@fe2Tc+>ea~~kYm1Y{*j({eg}VWx zJyk0b0utk#3GX}KN@xk+m%nF`e?UY4m2Sj)<}dFEptG$c9N%R^D&jjbBjiUc@{foM zpc-$K#CwDzUAOYR5d}HG+0OfI{u5$VYjT3vu@lBau**#XQP*J{DRH(n3WfSyVA@5R zr~WotK<%3FYed=7eYW^s~D#ddz^h8nVPVLs_>SdYljHJJBFZIu$_n2Vu{Whhb0Bqp^pvr41nd>BA$w>>&{Uly<6LtY2+Wm(eFoUan?} zzHuCo@-MYn292ne&=;p8HeOl+wagbjE9JZFF&&{Xi3+^FLb35ys6t00ws@RQxkB-| z5J*o?;*07-f1gZVsZvmifceWq8&QC(Yc911Xybx2xok6#mWZHjp<0d+5$9VVg2+D^ z^I|GwoFzy8*_Rh(i@9o^Wo)t6Xo$154Wbw7a}}b8cn4}W_H%)Q%N@MZGpIscN)pUq zWJcg`HVoFGq<_pw_<+P$6!{k)1MG3p8@My*^{V)Shg&g8VVD|358=Q3(c=TggdTDn zq&^p*_Z|+q=z}t?)3(@3*?1MkZj0ZBZZwdfTer*Pj@)}fV2j&o2GMOhxD>oWrNb?+ zLd3?8%V@{pGJ4>#Re}UMD&z8FXwaw(w_aqUDmO;alStf16GFTCZFfoF}^5J3pOw`TEFhWY0Z`8**Vt zs{TgwX~9$$rWBirCLSvfcvD_2_;N2DVQEr zO#{fNR2X3DBe*(4(DBD3nuiq~`3}IpveC$Wq0{nxr+Vx@ZlJbRB6h1rQ$2(85s%9y7wvn3aSb0%X6EM}dm@vCw2Oo)^+QAJ zzNrGTK~PA~owATFkRtY~A3b!q0 zB{Pu#AvUC8(Zjgyi8!b}iu*m6yBv2Hi9Fmy916B3!74Mvh&ikpy@lzzqf?j6&uM^j zyL2z(!f}%oaYQw`pbA!3nC^pF#8K0_6tueVJ#Ix*t48OQL2J~_UYPLtA}o=>vs1(| z)fjCdSbbrQ-Qy;Eil9|B=*W~soG?veL2C->wJYMJYIJTCv=Wc!C9fbDOvs2hWtyIY zRT#okRm5r4=#eZ~4PkuZXVm6~PdsQv4LI{;5ob*sonZAmoCC6mb0$?s&`KY|QCP(J z@P?MBFN1s0il`Bv?uWRr%$FtULJ(7o7@v6p-Hw2Y+hr$&18W!HMU&|3J<@p$$D~xh z6w%RiBIR8#Z8rB|AV0qh(OQ^SDIJbQv{jTYnHEtmIUZH)qxz9>xQJ;V4lzO73Y(P0 zL`uYEzKpp~S8=S#DQdN z!^V6U_q@10TKXtl7PO!)}EaHm#-}r*v3T)Kag$g1FD$Yi5 zfz#I_g0+YgMwA<$27wl*BW=32_sQ$6DaI+zmm#*li@ks=?CA$69+#4q!LfB9+aT&j z>7@$$28+1LrBydKaMqmJF+I(Lu@k2PY3W|1T$`P?QslQ?WZHCNEDaWMjmwCwGR^tT zbyEc{=->I5Vv+5P$i7M{I zc1PSbw&HdDqxnBTtWuoeqti4?6xS zG77z~W{9RXxafz5i+ugl0WR6ILO&D4urJ&>z|jWkEd;MmY>fp#c)hQs9{q8GJCZD{ z&ArzhxHa-#&IzFb3G9$Rri~Wux-xj-eTdw_#r}%syC2v!I6i}jkMfTZJD$IA=^Z_) zA=pTCclDA_{PmeVetk?W`Gzy{KUqYNh&?pszTVW>uq#UI?EJ6f^fb5OD@n_F5!L*2 z`kK>bcRD-Zj+D!6HXSObR+;gcIIF^rvwfNrK~AY!xAH9bMjPBO(cCvo+upMZL)@N- z{D=cz|1qZHvZZ;9IX_KK`WORE?iumC^X-=J|Ed|bFd1FjI1`*5G9leKlTuS(Yin>+ zYS-iQ_O1HZL$6=f#v`gsh(>yus6qnFwwb@eFaaonyW_yLWR+*n8gz8ktC=xT?{IbUx zvCHU)ZNJC-4%V7*8RTqF@lrD!-zCf-D78-TiraSGbrIz)1S=MwDLIbQT}Sl|6PR~l z59@5pagtYolMzG9zAC~z+;W_zT3BOKE&O!LaTXQ>jBSvi&+t;l-*A65ksq_jR9C=O zAK`|}w&%&-fCokKz4l^fI0*6t>~LJ=Z>n=+SSn$@$IBY+{lEbz75+vTvSSGlhVz`Z&0K- z+omREWH`N(twV~$B`ng`+3e|vN0B1)1{A|Fs93+GW%Caf*G}es0Q6JII3j?C*@E+dK!j0#%C^?ntdpGJ2$+k z`Gm~kB|5YgRuS&hd`f0-xTav^0v|p9Y$Dn)(R=q57iC;LkDzis>_p`*@qVDNT0SDZR2TrfE65d@{lpbC zMF0?D1-T}(*Q5xja10FvJD_u1hq;ogun+s7g>P_f(lR2#D8w>yOU4C%?*GOB=$&eB zlg5lswT8DI>BMiUy(_bqTvL^xY;aRE$30>SpQ3$mk9CTEAhX}Q4(faj_`3J8AJo;$ zEZNnZuiw7J=CUYWC0~Gi)Op$W#TTF)g?%VR(7~Xu`XJNVIlw-VC`DJ9!8N}E2GV&Q8EgtpC*Or#k3R@#dkuLGVeKr*Dy`4>Z47W2=cw3N+ zW^D~ip>AJtLK}J9#2G3XZ{mbi9lru(=i{B+===t@6D~_!kr_Ukm>`WK^-|!@&)N#- zVTiWoQl2#LnA{e-MZ%Xtmx&Rk7hIb3*^Eb#VK}$+3i6@H`klM-{a38uQ8}a(#k2TN2)W2}|I1^$hMDnOsXE0Mr6WXp|YQ>2J__A0jv`nfgCM2te+3jXg>@ z3l}5{<*$TaKll<|RoKXt!z5e&$!l#gGQ{Ogj%OK*@h@qQHmXdMQZv$= z&>cD3xt!j$ebnTe($zIvo5rve0vg2BsA!}2XK zwFjjq_^F-D5`wqt+DWCQ2BXhG*j3pzI%o$EgcqN4?QF@ik7AdMCb z(rCdTjS&pe7{MTo5zrAMpd&^=M~r}u7y%tI0y<&@bi@egh!xNgE1)A*Ku4^Aj#vR5 zu>v|`1$4v;=!g~25i6i0PC!STfQ~o;9dQCW;skWS*P!%+;KSZ^f)F^A;{>F}2}q3- zkQyf-HC{k!ynxhr0jcoZ z(k8;vCc;t|VF?*65FuTJr4B3uP}eb#0y9N?*F}8SMSRyq6zL+0NE8Za-7ccYE~3Z| zir#mxsscq2T!hgUg+iD>%5LxWF~gm!xlDFpQ~X~Jn?0p7v|uRc>;#n)W50FR`1bD} zSDk`hw~P1=sZ78Q5#Q}1zT3g~VB!o}-n34GQ4x0xp5ag-UeB66cebi5`+Ruk|Y$EDMFrPp}>+N zXTkzG9Bo>Idh?yjd1(p;slcceLk|d4=W{Q|e0$E^5 z5i?073oI$3h=j7hk|K&oEDI<}a#>)eh$52A0!xZ0BH1jkq=+ICy#h;$C?er2u%w70 z62AgUlKd5zDWZrZu)vZcibw_vEGeRhq_Dt}B8o(E7-ED6g2Q%ClqsMH@xnzV1r#9$ zxTvInBE$k0l@w5bK%bE1=;mn{REN=p*P=xgswI%9hk;JEqBtBgv@#!Lo zPbZ1b|EobrT~VfpCw5UUi)1OCWU0W0MB`Q@_~;_RM~@PHi6X&Aj}lQNl73R4>{GTGM0k(I823<{ zKo<76#qa3mfE40-mRYn&^bZ3rV5E?M_H&=;X|V9{$~+-A!;A&&r+r2o;Z-5Ce-El~ zG#^f3bCjG;_Y3#|6~(XOM;}la2GWH=^s--%8T6puz-oZiLlpD0=yyadXb_@mAQmD~ z6`{ZcBaB4VfARH$cW?!b)D^hhK_o&Zy(+9j9Pd$7h3G3K6<`2^MRKQ3O2B}UBDqr+ z$(=gs0RzEBGbw2T151i#QqlzmRlNrU_7bo}B%|u2ISgzc)Q3E~ZE1`7n1?nBxsOAX zBSGb)ZwzRW#M%ZE7U!7kbbz|p^`B<6tE z{0E!?Q-M?dK!)3`;MhadLhj>5wFp>jw+dKn7wt0;K~F@VVBWNg_8E53KEp2BXV^vi z47+Hb0UyHxltlXsyJ(+b7wt3P+*VMhXrEyh?KAAO&j?Se64a%vpzA~%6?pR$VJc#Y zNU>}eZ8PkoSdI%muXsnU@G20=gkFuONFWnJG4@7isF3&8FgG{z$5$lBg_3abu>{a8 zs6&W7fr@AjGCcH!E!+_kq7x=KnOliI7lV4*dvS}g*MgHJ0ua#W<7Su$(ymH` zpcmZGu=geyeaS&PAS5I%?uBkHg!Y~IBSJOk^)QC{IVhSzp#-M{BCbXS^AC&J^>rbh zUdDv*`-tg1K*J_#J*0;1`{L$3S_iZdu;Dhe;Vp(cq2h{y?6nz&Qc!k#i4WMIH#i`I z3JxsrJjXzX2g?wb@MP9TNa17MxG>g5*ocoKkNq+pV_n1PiO1fq%mQ|Uz7Bb;OqJPR zg-rD}^2IlTjCB?^5v1ROHW>CjK*lm2y4SvVtAc&CpwEJ~^9A=kn()`;+nt!`U^KU23f4tui^vX*u_4tqB!74eun<2JEMzc(~ z3T)FAPHJG*;lHUcz{Ul_nn3;K2?J=X3A8y}-2|x9=`M3; z+MzYfdXd81F0$>glc8%Mq9Trn3@q#-MYmm~=(dX#-FA_p+b+^++sT$9U@aAFA|Aiz zYdLT=Xt3R&vvk;NkU$qB(%{?4a>Of*hv#rt4eW4I`3H;wks9AFQsdi2rY3fgPTnrk z$=gMyCJ2crKuKh3f;d)8dOfJB6K-d@$1GR0B?@!n+TJ>1+I8*J>2s%OoeOrwBBJD_YgK{}jLmxT6g`XN(dl&7(x7GjQ$7r16s9YHU0h_3Ur{ z(QZny-yJ3Sq$8mo^dIenfib#a!#AfU=Llbt^8&_f!sbHxR-g-?L3hug0A=<`aKJB# zK$!&&P2aA;`z3w_hNl0V0vEY~6HOEy0PPTbY+rAOpZGE>%wOi$oF2vkJLzlh9Ykhh zMV(~(YB^vPt!08G8-bVwpO@%>G)i&J(aUo6odbr@4IU2Z{3}vky&k zco^-3brl8i1oN`8vY1p~uT(vu_3n|K#a2qWMkgmWI}bwIEaP_wa*o)GEmLe(#9eT2 zCA>i!D0=FnI&^#wfngF56b98gK4{k3>3kR0WZ>3yfszv%li0r#A}izu5Q+OcA+lVi zFcTjCGwvY0p0Sevu6a8quruHu-qseeq7hOkDJ3(*6(`yr;5>#RXM*=d4Yb5Vegtt- z^KdOqmfM7&>9Y_Ng{fO~Qf(MM`0aqm{&*VtQ7TqiZ z8m>$@uy8qRPt8bZX0tiL_74E;ZfHsvFuEU1j%=JP#O>JqVETsv6XgdpBMjW4{a_x1 z0Tbf~Gbjw)V*Oz5HQbKwPfu+aF!6rvl*<2V90;O5_3xf(QiCA=y)(065PwGBZ5YI# z&vzOI@n>^=!yx_~yDz=j0LKL0tY|X#eH7CrW5im~07n(Eo;W5Z(8-c9&XyQ7$V?Qr zUdw>#)JJUY)AtZ9#yrLHNm4gXu@o4|%$TwAzcj#GKCK%Nye%~hfp!cKLuI&e^-X<( z5#P>KzE1kW0beC)|Ko@~D@pspitQ^&yB|Y%PDwiPcw$&e(wWB;Ra25qhZknD;RvRZ zbo?<#AC;t&;UU*>3`|Kn|JZ`QO42ct$M;~S957((%*Ak5XwFud2)F7IzB!@amMclsk2|2RBprS1;Zh~(+?Np7Rg%tr(EzxTbV@Y_+G@~VkO!@jq+3ex zh~yIDl^f%FKR&YqSNv8)JpGelM)y|#7!2v%4O~>8H#Oi2Fa{|Ze)+7lLAY%S?crIu zxj^hMq+FAXQ9w*Z{e_d8!E2546XUiAFX}J9+>&1w5JR~73wk%DU?u(KyBk4?it^tO z+z5(kls{2-f@10~`Cbi*sXz6#GQ6>RSAPThQ%s9~rQE?#%%`I@Spj|F6GZp$`a8w^ z)ZzS7l5YMzL#Im8-z`$Bi@NKo(eJIV-}F{4hjkxN*w6&@bvML_vpQq&8xHs!DJl5L z#b%EVr?vAvMBz0?*re!j4hJ}RK{iV7hBg{H#FSW>@|JK|nOw!%Y|YxWqop_jk)|Ap zZ*}YDKsY-JY#is!1sVrr<37ZIhQ}r`0kK$J86@7k>Mv2ad_ z7ornojse`1@UABx6LxNEjm(V#S(-&cjMmwqTx+SJ0B77>CP%I84ZxaDx zi|7OF#{&<06pOxbEr^NZp24^C*u4S>uH9}9MI!fn;j9# zQ`$PyT>dN*5Kmm7GvqVRl80%g<0Ch-=pmZAd)QY z_?#wn#a{K#4~@AF?UAwi))1gt;J&c9g#*F*D+F)cUA@P&Tldi(hm)9$WZ%+8t9!=# zol`##T;uW|sS49-S17I`tZRC1LUx$cjb1{+jcnkqWv5BG>8&NYOIk+CXVJ~tq(LD? z!p$tnct++e7e_NwBD`nteRD_dy9GTG2h*Zp>P;(hyvwn9z+{dXa8RbEGi_+K)fgIi5l-LG@TfVwA_`2fp&Lj{PwRps{m*HeXBZZk zAH(Ejo%+}s2|g|s$cAwdNQs{@!z0sjmv4jI-_jRtCO9>VrSuT};#*Ga$?Z}Qj~tOP z$Z=Mj1HX8PB)_hT3b(6HN@PA0j683<@vSLN16M`)wPX*srF$wjqVjJF`Ztjo?8DHB zzKw>pRBX7IoRNMnpqUV9XC@As4w4IOs61>kPfMSPDi@f7`OREh1TlVZd>=^q#{?LI zh56<6k_2B~qVM~*8AMwDPa zrwV=42F}Q|H3-^(!8O98ws4ngd;MAv476|-sS^@uj{WLNF=Ga`c32DESy@n5Cv#n$ z!mO)CdI@+TG`DV)7Mkn6mE5H%xWq zgj;g!(N1SF4k#$%RoBibV5{@vBUT6@yjOedw+WQdJN#9%-EW zMlp$FPWxa5K=RS;q^ZqWxh2pdeIdFQb`d8l+)6I4J z!zWyav3Um3UAks;#01v%V`oNc+NTh0GCL-KbF{hc_C7zdT*l4+T~p*E?l{A0XPiWG ze2{j+-ueY^iZ&E(lCCLqmgU#fW8V5f-vrp5pUeQ{BGfBSn`T$cu2)v_o z^%59M6RI<%y>HbG1P(URX_C+(Lc2X!yWF37lt}L;f1Z$m1q#bFm$qFi%u+J(Zk4IW zVL|Gcj?bVCN%-mMNuN7ACx7a6?IOImkb?abDJoj~R0UtsHC-mLW6D39TN3PNQS6fZ zV^gtUCbcjYVmD-pFz-V?)a7IpuU2p`$56aM`%7x$nEVG5kk?N~%9wX>Y3EH<})=u^qM5U4gu7U~iDNLQodw@e$`-mNEznn6SBj_#Jy zI?N{}0dfsZN+wzs zvt*J~1ht3wbRI?$n#m^xU;SU^q_CJz3Jtaug0hF16c)K86;X3vfl1*IpA-bhH8d%t z@DJyA?l1f6{NbEZ*wzs_S?o!KKTm7>TJ!f?I3g}bX-`O6V~PC$v4#|_rE2*gg0YVp zu`ZhSKa$p4lC%N%8z!l2veekJMB3Gev9(eY?XaX;PDq<1#x6)r*geU{a^xngRBqa6 zg{-j6a${Dg%+%Nzr3u@mG;MTSQCL4!(?+P0HW`2OREe!tWp-Fq*cIg8LtdYVC$-@b zPqGOSnl>lmDQ#86Q>+}%dm<#Q8h^JURLi}HZ!(tKNMSP@JU#V`-I9yJki)P^NDXWw&;l_>@5E3p7>6qvHzs7wg1$Z?fR!@ z*~x!us^vVXT6#YD9Ao{S{4SgFq}FKLlZv+Y$>&-1lP|FPCpE3WB56bLH{K$#d6r8O z%YEuHkbdfl#7dvKDm9w;6l3$Bx+byhPnA5ut~_;JVt1apA!$9nA!#M}8~F{1&Hu*o zM%tEdsBGUi8e7hNV+ELb?Hf&4?{79`i@w=}ZTqICRee*noc-oXyt(?#CYGG1SK+DP z=_cC5r&Y`Jr-|VUo^HZ6JZ)oJkh=@Hr=DJoGMA8B|8!H!sK^m2W78tP%hp9|+UCgT z*{;YJ8r_Lhw877)Y{D~*EeoHac2_;qgzbH%DeL~NCT#e(G;Q3sRLg>IQM)U@)x@&x zTWj#N?^{i@>&UjGQ$G`I;tHJNu@BBdP@$3&+pJz2~*t3#05r6xhRV~%ezQox1XMd<& zefDL`oo9ap^qMxY^ltiN#!8wtVWXP_O94EP2np%2@GpO)P_+`xnMWKi7m!f9@5_{OA6au@(5S>A9b1ho6(!&F8Fa z*muG8?^@ZQ=XGt&^QvXi^QBKPHuL!bPq4kuYpnWtO}qTOq}|0|&I=e$FGMqKFdjzY zflYWJMw^Kr3txyu%`e1h>tBd}YV!-PTlT#0bH)z6@P_3S6}#}ln{3GUexZ%|9_s%d zDp-Vv6?kClzZaub;>Vuvp@Ku-i_=bgFaD`>-+SG1<9n!}?t5=oy1$5G1uwp-4SG?v zjCc{nroH&@Y~72$WCvc<*tHim?ZJzZmj8X#QuKYiEdBnq2yM*wC2jimCAR$gP1(R7 zB(l06SlPaR{w*8ulE!Adq-jfD!j+?!bgkwkmEC;FYN>ze1E!7rVXH=SfB2-f>W7lH z<%bfh`e9?%{pBXw_?JQ7%fG_tdbx>Z`^(K4+mDCyFSlUqI$n?Yk!o4_BfQ@DqbBV9 zj~s01kDFMg{rD|>I6rQ}YVeo)6HQzHlebyLPnxj1_$&NrQ#Sjjzh;|$sx>i{0uY#KX)zgze#)irI5F0q*i=CT-n8+2Vetph=QAijs&i2E`b zUYT#&vl_APa7H{IUW)I)|8Q=!uJw;rErX*!WZDco%)9AF(;_V6J{gwH$f}=v=_VH9W98@5E?1@2ZyG@1mW4@5X6^-;IB2@o6#CWt2IXFhZ=i;zZ1W+vYEec%vSyW zS+@Q6O&i_(y~1Yw;kVk^Kd6>Ve@MXu|A(j9Dui-Nm}lou`d5PkuCpAB0KPxRCfF?AFf{HGkE#%D+l%?_YK8O>Hl+{vE9BdWWaktd96DIzGj= zcT8f%DSu&yQ><*)#~RB{wXwyiR+iIAW79jQvE`kU*mnG%o0i7oHp>2 z_@{<{^15ZxCm0ShKY7El=o1uM`N^AF1&ZxNF)c4$wG^hKmf?69iw8C(Jw}_0A4}6w z%bN5!tvo&csjca+TlS};mg@93Ea#}$mGn2Y2PoD(1GTKp$k4WDVDigAO{ej20T1kY z1|~oJ=$?t13NkVIWn%Kn#N?NWnxUzP^_xk z|FEOoGa{4E<3sQL-UV>L+QZ@=)2uJYLz2 zJgTfdk1EU0m-?fEKKW9K#0KV5*2sLR6j>AUr2&#AUQDZ)vEcWfkCE0VT@{(9EU+Y!$W@fZ=-! zBw8D*@yu!p!0_t@(h!ZYd-O7|P}-$2ZG0i>oLVUD)|h2>p|l5CYbmR|P^!Z7PCT>f zLezM=5I~m-rM;-27SC){5ppLK;b}>c1UY?ukpw|~bCCo|{ZJ85JYOVTgH%@}m0;#8 zl1eqLcOM`*n38cw*t9-UW45l3)RbN6gKByfgWBQ6l9g>JMqYKX^fbGTyhbDYN{TkE zFTj>ivK|Sm=nL4ReSyNMzJR^c7hq%i0c=G-fbBuYHmd6fu%7(^F_4lmNZ6GA0NdLi z5H% z*yaHM+e^E+Qv|18n7BfK?3!*uB93>oo)rgD4q`giRd+uoXi9wr&W(_6`A9)=+>A z8w#*_7$A-I4+Yrip(uQHsB}rzx?{I#={-yuj$W!BCXJLD)eXbT%fqEaRyG1j$w(wK zMoNFv?v6y!tWnZfi8Y!y3WYX~ktRsmjxosIJ4PZY=g1go+7s-?IOMZ)6DgfMnbM1s zrD+n|I*p!}%%pVtY)Y@prF8Lpq+0e$jIV-~lGQR`r3A5e;YyIT1_|4;Qd$m%(&NBY zQX_5hD!iG8gzZ`-t-{W4m6XcXu7-sO+q)VA=iF+_?YRcIJJwL{={3kby%tIDb@+k? zt^;WCdg{Fm$m>-m{hswJlQ88iF2n21Wzsr{?J2_qce6}dkEv&)gmPocr80?4FPAoA z(@_o#dTc^6Y!j#-vx#rcPi&GlLo(hB)-T+Qiq>vMf$fwWLc%U?mJZ9>?aioN8@Pok zuHHfw@2sGT4^^OIHosEZFS8?+sNz;7a2vW+YO0Ohio)9NtyJvlR^;B@D&3T{ylqrR z@iys}#0GDZYOy!phPKvk14f&-ag45R14i0?%I>)x$;j<^H-0;RcX~TvJ7x!(TCxM! zZrFhWyC^w=gw5JXuMh3S>l-`K=JH*bn)mO*o0?r1QG<7beTR2rY;4_w2~oShhuWyZ z>j_mfQBSL)32jz^Ck!4q(5t4`oK|$L|CCrGpZy-H+c# zkK^~&6L_jWAsxb2_M~(ez0cE;C#kE(ox;nFloXssG7E{e>@=#raT=gCXOL_>D;>pQ z$XTjj$T?*6J&)wVd8rx)i#4cF>r(@Ml-BUEJFG^6h(3XGrnz$F@|=}5Qr{=EvKp!1 z6Ks2p^e(Hak@`Qus%xb8wewW^imP-jFP(h>Ir$fOjeRaqjl(X0=t)S}u!}Hu(6(Jf zi9Hvk6ZqmzUzAQ_g17{<&S2hTL$BcQoK;<+a=ovjT;Hp_+?cCWZq7B78+{$+wq7R| z9K24YFJ6~UW2L$-?Uz^yR3L0J5^cc^G`QlXbPp@iElO|HQabxKrAKa~qDgnqdAIIJ z#ZPEc@1m*McRA9F?gDAH?JiY%h^N=@qSAXvv|e=}WdIU3p$;||+Kf6H%UkMb91gfg zV>$mm4bp!1X)LeHlF>?cB-bgq)xIr%aKw0!w2i0_v#L(@VTGxOzh$XJ97teo9e zz52*nqxpUCbfS+8Rnvt&@(qYUePkOeE~d)16;ovgi>b0>#Z=k#VpNvXmnz%Z7l8fx zp|b4$cpA|km6g*|ZGWmPtAr}+SAu%9Q6umN8jU zvUUiP<3r?al6HOw&V04uLuK^ilA-i&sEo;G>riB~y+dV8Hq}GrT8TZtORZp-jBjh0 ztg}g!EI^{IMV?kk$*y5&v3i)?*m8B4d>_Zj6jKcBwGGRY80>X=qQvZ8jTu;k4Emy(eeW{vPtYbGO z0d&S>{JuV!e)pV$E-0OXLQ|%IvRPAr!$x|l#FKUiFSIk1T%3aHyHAx#+#EL*eKLD0 z`ee;ixjTs1JQZb6A=gqfl{4)IGFbO%sHXQcyy`yX70NiYPS~UY|?vpdXsjD+UXx>b`D4dBGv*p3a+BjPtBD0+w@W5<&D6) zKNo~AoeLIhor`(3cCOr%^`9p{&8E)7pxQnUtU5do5H*zCLc$)*lN)Oz=Yu!n=W`y< zm=EX`^HI+_dfGQ1^<*zVJ;N8Ep7{$<&w&M~=gb0Bag&m)g{Y_JLNq^YA;88g1lWRw z06Ve}V0RV*tluJlEm{Py^@{+plaj+o*r`PTyS)ft4;BHe|6+hGTMV$O#Q?js7+|GK z05)a`AZAgr6bW0q1YlK5p%gw-wwSnm}8>$?JA<5vKzas|N7 zt^iopN`OsV39xx90kMXX3M6dzN`ReN39ySR0hYZAU{hBCY{M#m9bN^n+|>ZDb*aL!tJl&tkx3*e!YoLDDg z$<1BQXXEuUmfQmyXsSNBLB^81xJ(``vz{A~&-QGjoYCdT(Uz8@@7I>gV=xRimCIvg zwx^ti_u+DR9I{T9)5yHSvu>Bm%a?7{Sva)*%5psA7 zEi0$DU|G@nR#1^y6)3W}f{JXYpdwo{mtn9A5<-=Ts3tmsD|nuC5|}?xg%GnAk*uer5{Y(fFY$B8 zKEie3KICrMN6gy0j|i#WN6b36kC;`mpNh=gk0Q(VQ<3uhRAk3~Dso^y6*;>fjJQEb zJrcI$fILNJn|ONcfP5PQ>H$FaIf!P59z>~$l+2}M=|SS&zJpZbkVC}19*3#9;={zN zvcvKUmF+kTv4V|0f-0sQAq3_gq2kMq5CZFu5CS`npsvG|oTFsvQ5vmBU8D6Vad-Do z;_jiN@-&RP6Gw@=mw48#qw;iQ-RGr>s|oSp)x^>9)tsZ#s)?g3_=^g9!FE;?OV3vW zot$GxW>B&aiMH+-+TKRVK}x0{2Nv^>b1aq}CoIa26Bb*K^FH2loUo|oS!a)PEH3j> z*(V5#J|_r^fhRZ?BTf(&v-pdZ^n$HFL0B9*fwpf@GU_Cf$w;&XC(-sAN-8NCc?wue zJjJn?af+~5e2TDGeM+7M!Z)6x6>TTaI&g|(ag3L`eu}WjI!##gJk7BvK22DRIZZES z(+jrnG-0vzG}=B*Nxw5lh9c1>ok834C|N~G-?PAC@L7(07Sn2o7YljT${LQv23~4!4K;SMhOoF$ z!?CztLs;~NLxrt&Y zZ=#rX3y)g%E&N_`OKzlHzlB!oZt)(-siht$s-+$nP|Lr};k7glCh@FUwem7_%EDTC zxy;t^tWCA@3S@2Pr4I6}6SeY6WSz$kXoG603x?eW9^;W{vu~sE<&SR!hHg>yh+9!Yb-zXf$utgPaHTgo0&MmO^s;#4H7i%A70(R4vI;eg)GJJYy@J zrR39&iN8KXuh~gn=t7o4I_&FN3Rb4NEF}*=anO;H}+|1*wsmtT6>6cGc4$0@N8J$n8nMPS`9#YA&ET6Mx zZ9X+$$zSZrr}_`)D>Up+QYm&mpExw2Cpa_`i8i$-2wF(V8YFB}Po=STswar5>8a2@ zc}6bQZH|Y$-401a2!O0{5130*_EB%lT4H;FVHNVBP?#vd;ic;D7-{;AqNX zlaWf6*#kI%iw02hYx#@K1E~I;1Nf-fPo>z=0Yqo-fuOSli8g8=$eKpULL_YEKzvu5 z1}c@%_6@}N$RC99F?JBf$I?L+hzn9L6F^zs-5t61Jx)HEE4HhC<{&ZlHGCFNrY zm(ydZ_DSOimy+>>%ZTxW%kJ^Yap>L06EZU)ODVc zo0RmL2tE~0RA?CmZu3*Xpqd9qL9cte~N zaSDB3H>W7HDZ4jCfoM}Om0k>*N*~6EsWem;Oa)n$l-#Bydm8X6ng$H!O;b)`2=nyd zbOnp$#p%HA4kg($h-;%}5F5_TAg&#pNnATMleo5QmI6)X##st9m6fv;Xey7+!YSj$ zSqe`3M$J~9Wm9K^quSirfY(mWCdlkLXuS6v;_kpXRPCra#NEkrh`S5s0H3vUXasJ> zqjrFj<8ugythrQp^IXDV`8=wrY#!k-d_LhYc|PGVb3Wm)dOmR2I-hWuy8uIM#R9@% z!veygb^$?_E(8uE77`9q7E-ly7ZMK377`BS3xPw$B9yp9N&m%2c2RPblHw&u=2LQe zi82(It(Gbiu!=3E=d(+dE3$TNDZ29ZQiaaL>X#}w58Jj3#V=A)upCUEu^dD#M#9RM zD>tAjT8?jM+6s)A@hg=?Hh-mZ6C-;iil3rntNM zUV^DZnes!ef0^>KWoVi5042tiDX=^%Q|j?NAJ1$*C8x@ipRh^gXn<`l2foM46_s5s zR~lQgHYr)?!d{zDYAF)SmQ6|?V0TkS^(HKbgEynKshgE-6q~nMX`&sZjEkF<9Aw<0 zj0cp_cZ-sXjA2^85C|OXcbVte3O0+hiQfUr*5qexz z$tS&XdfrzF;w&dCl^!TqQwalXcCS*2V)JBXi) z58`LPL-;xV5Pq&Xgr6f09YD%t9QgT^&l8w8p{83wYS?Q~2WjsC0(}F9=VZ*NA6e?=S0)8#xpN-4X14aMsC zZlw6{u-wov%Hs%IO&Y-7?8z@+HLn&3XlQ)zBigxXWf`vWn zrh)~#&rM~pq7A>Pw9=;ER9@7UQ*wlo>|4r9#-$E^Ax0H9ZgSUuJ4{j+# z71q5LBXMLc@o9D~__Vf`_*7L3?i{70=r)p-NLcx8)O3QL?%hUBMR$l}19`fhr#C5O z^>-X)Gz-36bHQc_fhWF-<-UPl$u)4e*X@E&n&AWzrx^d_aO{vK6$ zpC0GkrwZ>A$ExmwPe&;!dVpjV61M39N}i&p2M?&idg9oqdg9oedg9o+dg9ogdg9ob zdT{JsJ^0ikOMOwBN69H9>~fa+N39?mPvf)I4%)nI^&Pe?Th-VZO6n;Yl!IgzB^!}w zCvsHPaxO=OVb&dbtfxnom#fBT#ku%BC|8Bq)yP~mPMeUc#y>SJSAE^GFjs|z){0#9 z4NF-rm9NZI-_&+f`2)QCsa$mwjy7^tC^M0;vhFHo`yOhdcD@G+UFo4>9@Zx2;dy$V zO7r%~JoUQF>hgeBNj{QkNVG-ys9+r>TamE+`D$bAE7WIMUA~IL`kpH6fO@J{t#>a} z)VCKAF`6DH(j#^hAYvi?UfGL?*w70^RP+K7J9~kM!@Y=zlf6L1MPB|!FAz~j<+FQJ z`QqLnf=%oVY*r#^bh5V!ntB6~2fbCD4Jc5b)y5Y9xmlDfDgfY$0>Yt^9(U0rJ5T@| zPSEd~0;=;`0dTle037NIfJ5&>!l7Rwa2Q%h<;TDcuC}lc<(C&y`R#@3FWH$w@Zx$Q z8mXtGcM+2QMJO}4h?<*Bk2C3!Ehs{BE9rMx5rJ10p}E~fXzoA}nmbiQ&0Q!$b2oYU zdqrrjM<0|g=!5dwS$e$GN6p5O+Fg3iD(24x#j45%7psjeQ;OB`SSjWet2q2BRwv-O zlAezgs}u2jhMsS^fF|`t1vC1pw7Xl_S8c+|`l7=s@T484SC{*$biQ;O8J1rC)JXvE z-w!Wm^ux<}{W#omWUz{UfZIv04$!L${nW`QdlMO!y#5@nxIbP_?T?qU`*XM@$Y7iL z(*U7Yd+F7={^}IKT|6;dvrGFDy~99Ih=q2ih!hV1BBKTXkqLOx zX3(ou132O3$gu1mpw0l?ae8^5Ugi$uaD@W_H+&%A#^OnvIuNgx4^(HO>;}rHri|0B zvX`lBJ(cY-2(O9;;nk=?>aQ4^jNg_egH)1V*V6N@LF#NgAEM`rgVZ^AzD3XZgVnis z?mHOIqX!cYrVsxACB1iWF4=kJ*Tn7a)BSx@)~;AISrTU~FIhv|Q__xxN|Z>ABr4RB zwW8?VwM(wm%0p_T6+IN!B<1p!?JDG)bIv*Ee35~RjEkIsi*S*1&hYPT{`25H&w0-q zPU`qIoIa>Yls@Q5qz}dtr4P;%=>yLsRzX4%9@CQWSVB?N3)h{b*S*kIlJxo)+I14s z)-ze>d^0K;g$#jWK&wk;A@3*af2Jj-&^#lBfU8n;UV><*?4C@~8((N@Rp_@VdJ}>9 zrs69&73IcM*tS%slU_k+vr@Gz(m^V_f=?PtwJ41s>-nXS){~~^yij9lG@4G6)$&%v zeG#>@G*-*Klzq}=wFIZLTB6cfEeYwYmh5y{Ek)_9mg;oTZ%Svi^rWLdDEev_Q9Do9 zKXgB)>;JQ6re@$ZFN6A$3~|*WVyB2&e+I6`r97V@uHIzeYC8j0hZ(rK$q-l18Mq3} z6#a-y{aa>ECiY4*X;dww>JqWvsUOS4-kg-*WQx7*Oza(HV(%god(W9-&p!)$5m{m{ zK8w(^vd}Nc68)TPoiq2IY!VpFCV{zZN#HtL#x@5n{~U1`FJh{QT22lQOQl?!BL-S> zaM+cD!~Pr`PUeWig&Z7iIQn}zB=D4jy^LI(6y@TiCRdzH&%cuDj$2T`C_j-AA7@&{$xJAv?BVOj($g>&Z*gDA;f*5*bXT|j4Be_ ziAC7Xl5$az*sd(Xc0&=iUlw7zzesG46=8eM(O)gX_MYgUh`zcmMtm$5t6?RGF(qO( zxdf{@QZ6YGtJNh~Z7RWPdkIztOT_AU304;z{k0OT9*F*#qhDUef%aS=qFnz_ODbn= zjEIy_0c2HBoEB-S5|!{Oy`9sgTwkTy)`+^UVQ}Xz8H4)>PHAIY=qcjMyN^|p{i^|A3?Vs z!u@K*Ihc-%yguR_O!r06e-y>gQO8EyC^qs&u~CAgYNV=nR3F90D1>`;R3Ag$5&3ph ze~s)th8#1dk0YmwTsEdpAUBBIKc-J2kBhuE#!*k(AJf00g}&DROclJ=zpC}Tre^rH z9GRvOwawQYVM4}{a>nVA7J*me`q#|EaW&rCAWR~`MWNhbQC=wFJyJ9tVACQm_R zil`M#VX#uljZK^XWS+Unj+1(|gHZY652`MkkioLa2?Cs2A?`Rf#x3gl;a}Ik! zbD|$PhrN_J^t0wfzj&UbnpQinH@{Hp^Q3VwPa0SAl1AJDX{0Zpo6G;o&{VC6%_3@@ z3%DJW^2CCenP0%|n+4o%E#UTaLEPRf;MQwV^aB?;>?AF+SynF6W9G&p1AQ$JwWKd_ z6~Dv`U07n>?7I$V(r_ilwH=ex@4k69J<-c@~x-&Lw1+(NZyX%B>A>hA3UFe47oho9s zh+5GGc~?uhc|-E<+#v7%4e}n{An*AN$@|R)dG9*Ru5yX80)u~Iby>J>CC>=D9CewXbizP%rnTPT*!A`<@5R!72EF zgHzN22dAV1{S{k&_5qty@qyltT!XB&9Oz$kcOU2j5W_-D39)pbM?<_7;`BiOnuOUtrc93UPU=BopB{iwfrj^cU{qTRjBTd&h?FozBg$%sU$7 z-|3<7)pugMU6|fGJq%{lVNUO1ZtwMQym>$95mW>{=#jeGdZ6OyL64&1`azGT;z=sp z`Hy-Gg^EXd)3|$~EqNO0y4vtGepNg0 zG`_4|dKwwJ3iC2_E!oTXyt~ZHkg#gK48m&lGQ?B2mw~4tFGIqb@G=N%*~=iTw_b*X zb>L+X)`gcLBX#d(kb{r6Az=l38-x|2tkCBPJ6(1vuTN^%(r(+-SbnRngQ}g6QSZ;q`C*TNQ2{^&m z$e||P*YNhx@_j|Q+}Fs3YVb9JJ+v-g$zjmfklkwB*9h{^=B1&w=2Raz)fc{ooQB>z z)n0y*NTDBzH26s(vwkG9?B^u1>nDj^_(>x7ek9`SPav@Ee7LY zEf@#4B0Yb9`3z8ZP!PB(BVu;bri!UL@hsrL97p}(I9d(I)LS^U7D-sUkw!6DpGDGb?z>2%go0O;QL3xJD0(j{ z%J{NMkHTG%z-bgsZlerml|~!RDvdT+j4{!Unbc@8vlMNVV`eAX_!TWF#;DL$UJUKZ zVvI@_aes_aMeTTu@hfUR1|RD&jL=;S0s6<{BU&I$ATL&0#TqrJ*T;(G^H`&n!b2>U z{o=%OXdD*e;)pUUjwWRSjes^2XK)A-EA|B0`0t0|HA8(ZK zs5l;vd+|mCPR`@;sA>{nni7phn65+^Z6wjiW6lY`oM<$`ZwasRlVD1doB$h>NX{n( zA}GaZMkP80qC|+A6sH&3Q;Zh)A>n6*UrsUPrvh6-JPQ$!YP8Z_F{zGXMyeP{HDdYf zL@HBkKGonI*ZoxHSY#S=tSXHr4QWOjMmy5zo|!ZGgBg>B*VHUJy;_QGS-2X?LUS_9F}Re4LHA~s(M7ZUEE%UWX>v~!6_|~7 zj6i%LP0|aUjxH#4niM*Hd{Rh{3>8s3UgY%gLJ`Ed5cfq+9|sgWT^CafpHU2-SM2n0 zxe%{}7%O)Ac<~pCoABCEv2UEsEP640MtQ~%$lHPMlQKo zMy|A(ksEJj z6VY~yI1X$zMo^1u#Y9;vCR$o0yTMjWOtd;3v)C#fv)}48zG!tC-?vKR)R)F6jSFAW zxZ@>_2VNSlbZxKQ7}J$^7bb$coZ*k@5)(OHj)~GP$3#t+n3(EvOuXsB#7!3_yt<8U zT}5`&II-J!%{of&Hpcl=*=6jTs@{RDs4(gAa3zAvKK|OS;xMX7I|+&=?KI#|*iSoEtOZEHi1`_?&qs zus8v~o0G_X7agv3P6s0VooPS_Ik!-U^H?0rvt~%RtZy z&>*lZP`qj=v-l0LAmF`5PH}5Y;7ozSHG(Z)GmhxEzBP_CS8E)fX4YX>)(vjo?5rDK zQOE1XSKZg^#xYu+8yucOH;k{TqzyVYZ^QVAD_%^s3G{5pL2i7*IMvnph8*QOH=U#0 zTjwbER*rJ#Z;dlu^V#B9m%e43>%3l07rxpuE_ALkX`{TiMLS~~x^Uaz?VH+dG4*oW z;O(2fZG*ROCb#jnDzFD=58K9HYrZ?irOtJyaiy!$9a5;?F|G-@X~($H)sQfgJCfA$ z4oU6okkrYJaf`<74oRi&8eeed?;7&PWd*X~{#h!V)y!(PFj z!LwHP*q(8RnYleIZ0s5L$Op(;>^?-^zBBVL4_MIthn#7|9uX}Ov zB+zhzPX7ryGbiZWpP&wS35}@yd9n#o?9VX=q;8(k}5DjY>c@T^orn zw1I2p$JRB<2iJxdpQX#bk#KG#oEr(}M#8yq!nvhskwDw6;caL;xAchT9p&LWsoxOs z9#Fpb*bBZle6SaDk56OWCFB5vZ&QC zqMDWR>7((t+UOGtwCkCvvG9!I)-x67&rDcPPm?$00nY5rf6{in%)inCyv@(F2ygSR zwLEW=7yGEXC{%zgP%zb{$?_An7{c2tr~DQ`i3idI>IB9Fb_6^VfJA{xfqsEE0#|_YNhGld zfn-3-OEf>PHWNwYDp7{xInn%rs!pQZm}JToNM{oLKAvR$CSTT|YE`OElT5jWx`S|s zBs;?sn~YjzGHTn&=7(Boij3b<3N1ELXmOe1Xgxt_@u|d8E-;&Fp73IRs`-(2o=UGK zrqQc;X~b3~&?+#PM)Qd@lQ%-#p6O--ofwpkl`4UQbR6bn;P5cRWEJ{mVl@>|C7Cp< z$~5IFp&*N~Ys_No2D0#Slx4oq0m6+PCl67`gCF|_D3U49RK)gV1HG!8_n{o)6sy5{iv|LT-JJqHff=-dOq#7pF zQ4NY0HO|oH)G`>gwG2jYErYRF%V7A_NyjDE;ksJDt6s{9^@x>#YO1Gwd%e>k{qJ@gV*$ji75_VtM#unJY7Bd`n zvITaf#oXm>=T_oNZ8amH^N>03CB;RNLSE7tl`mOMFJBVm@k{eHCo*j&-!w^X$5?i| z8B42@b}Tfun{mkP?Pe7FV7tjh>Wb)WwVMg>$D;H63myLs(MjxJ(WQ3~SV0GRWgSlY zdLgW62k z-xP?MW2xoNvDE73m|Y8VEVYX{(FvKSItNgt^LVPBH*@jSGS7q<5n_7Y%ri81(t?@K zpX>#*fa>uDX}YsOQ_n@3Ml7P4uxJ*dGQ4OO8Jg-}f*M^ii;;IkzI9|Rc$uC{5Xcp% z5@=bLU2J0+t=(m_1S7}G(olO^CZW0&67pOXj|r=ItPogUm5un)VME_Q;Ks-j}z~+S)?vV9PAW*5wvj(c2j8+eRsHheN0e-!XNqd53A;wPRMG zHH55f?BM2JU}YE8_C4&~?@=t-mz5rQz)IJ)4$K%sdpy96{~>Nd56wyp#2sRw>=5N% zfn`9I9Z_F%R9N@BeNPiPeLag(>nKJxDlPzO}2YXP4Vng^YjQ=Ia|osj783DNhTa>81EhIDtv6bm_Lilv@2#X8TK zVwdNf|I}U(>7c+mppGtZcz=O|z)Kv&U1B>+pyCn-b(dxhGbZ*5IrYjpc;sCX>j>bU zzH)L}K~{;^Xk=bH8b#M=j05haYqOU0-U<f%Q8K6x@q}vU?27-(z6y-Z8L;ta(3RAQ@0O4;UzV zFzYc;{XmTKLaaSFN2NUoE&7qh$&XGJImlYmBaO!awem=}>^#aj)#W3db zQrx}uQj8{&x)FHtQk*D+cq>j6%Dfdv_j_-}iNc|e>f?uWK8h2CGGEofr1w?)PS00y zqHyA?I3oKgP85RuXro&FM0?&3dfiWPqHrX%cI~G)QSkIvoG66(<1I-bPoT!1h+C-P zMB&L_brNVmfck0xD!-Zaz z?|kosD=rCd!s(N^2sBb6lw1-nM~KE*1R7qE&;gN3&e7Tf0ntEKwCXcdLA27f$!G#yj8^hy>n5`HAPN&P(qK0R(TmRns^nNyJ7ZBD zh*fg&Gl8t#3E>^5UJ+GDoZ>-2yo4F=7|V@Eqa$ANIr9slAL7-Ya9b?_whVCBC8z<~ zwTax9pazl0q;fj}r_X>2O=O6Z6BXNN0ivpwa(klULhv9-aR84?#%@}&%#?y;W=eT7 zGo?OR$%SA?GIslu)dcc5vUVlJQ?iChMY6{||5CbX9tML>vy^|{MR43Dr zRH`ZgcVnuWLAO(g(Nx9P4pY?^wUbo!B{MEfz2MbNDwfiS{2-0M&eEKIxEHo9out+Q zb(BsfcLM$yq*IuoxRx8sz}njktX*edEj?4cP_>!ZXw6h|E!Uf=eo1@ER9t=4WvTCL zr&*K>vZcI|t-kM0&QWqLmz4uOmm_pUF7$A&l54r?TlJZKV7r1)uPcb>vBDWN z|4P__O0qZv)NLgR_*DT>0!dZuGpeCVwuPH2*%rMgzyx75nE(o-wj%6Kitmj!kJ?YvffURBo-RZpE0)kqz7 z?g4jby^~#BJ&Uft9*xm@CD+EY5ZZP^CX)@tY>~krvR*EG=zjmNqpLZLh$%z-lwi zx0{umKrgo7aHGZ94iAtuU;bHv*4~QOt5&?edMSI%%1g*AK>4-NHl)qjGQ-+skIQX` zE^Aku1txR~QQnDicbA9@UDWM%(d4+x**MF)h3@T!p6Z5P=ytZn@E+L~OMApucMr`M z1^jwtTg>Sdwz(H#LSVO7w#DOK#xJFh;B)$%ZZAdFy819Y&_~s!R6X`NUF83Ys&c?x z|H|10+mTgfKmPOkoyHaYXl(YYSwqDPK&K4IHkdmAI}Es|2ApkhS%`o^h=@To$DBz- z)+z^ys$bv@pbiI_6?cOSK;V$4AW#A;Hx}%@)=RXGT}!c;zu9~ zN7M*Jl@KjLjEtyJh#4W?2yr%|#vty6@Ee6l7*($!GDjiWh3Fks;}D||+VZI4qAz$1 zF>{O<>qXicV`_xFW@;q9Cc0dKN`dHc`Yvaj3`@qHIZ=zO4Uf|>X@WWNdV)ETGwF=T zB;jLwn} zXQJh^gjUFslIw}FB{k2Vxh1tg5E08_I)53fZGakCMss>u$@N6=idy81(0>&wbX6@O z=ZoCn$o$lgF`gD!7dRHUU6movdV^NM8?}s)vNzIDYkfm9=Wj@+Z%sTdui^0$P`>LZ z2d_Kpple;$!TP#r+^(Y$wE?tm$U0cv5cW!l@J-sKZPG4hQ_1zj*e2Hf-(r3Kt!SOR zMJsX($lYSK@Yxy}bjqq@n^t|>&a5BXX2L8%XhA#lTGWoST9QT1-cc*qEfKk9$5}M3 z$lBG8;%a1N7f)S#9Eq;?WK#;?$5TF_TK2KFu}`c0eYJ{(3uGzf0n|_DahK4 z5Gx024Psk}$U}(4L$wZ(g{%z$CiAQpum)4ln~TJNQtiLG8@^X;WGMn^*XT?t)q1zm9^X*FKKz5(1jSI*9KD)Q}> zbAsl5O=a>muB!pneoc07u34g!Wqy z)?a8X;THFQUWHqH{ve!o8xcTdr1g<{8ENrOqCjR8P4lBHj!9}>r{4+>ga#U^>={=YYNzOKNd()`w~@4)!F@l1FaWan=owOyaBnQwxl@E_5wE zo}3HfXO@(1Z=!cutG>_7Fulzv6tW&Jxvg!PYIY) z;fe6^iBHn%ZQd6=tfHM2nZ&4ic?+UJ6aJctN#C z(7Z?@j>ja6SMRcttzXsJldW)58&0N9y-lVKA1t-DUT94Yo(h`rsg^RUQ!O5@rdlsd zuQW^qrdhnLm1ecPa3`lpe>Xw6+ePHl*!1_9lxNeVzgN=e@3(36_kJ4veU&Et{g_67 z`=^V3Si1EsUiCmfJzex$Gw9v(4CYLGrd6tIvzbggzbxy^DlQA9lq_kKorRMUDc594 zqvkA}bY|h?RTfSrvc$=J7Eab3{oO2_T!{Xiqo0#wZM-n2a>&Xzm#lJfEk1RSD}A(= zi@)<+roB2VkZw#Wq*+#>)yHXjNul)>Rb6O()!kfZMKEIBg%;Y|k)rmx#QImfu319N zYbC_ITVlo2?5u<+5=sd?qtr@(C`8sOORXJe}5J@U~VG z^Qj}T;5rhEuCvO>Bc+Z!x&il4omCDoCB&OLa=NXftzSK{MG2$|RMumvv0fIG)>&`y zmgrEuv#h41pcOPQ5my=rXQmM;tce9b+(eU!CaVtPCr#E*G|y)16D_gX`iUxRrmDQz zsTzjR7NqJ@q?i`#|5Ujx7O!&nwvuCOtM!pKAh1qRJ+u-`@Jk?GAhr!d$!%6WKJweF zUs11xm}|2tS@@f6R)hE!zPcU0vE6Ef=xm2r5aLa{B`1)(5ZYb4Rlx~f2dKI`s2u39 zn$Vu^K>JyUfKICwvoW2H+0;(>l}`B0PRHz_5dK{dp88X1`cF?Z;Z=024<`9k2onl{IJDW`P;1R~MWyJD-p+%2M3xQFA^f90VP@S)> zG*f&1nod}FZKa#)R0uO>ocWzSZk-ug$vC=s6D+LG2`k&=6PxJfOi_L_P0j7JRby#h zGaP!g!WoEpKxNHZJa0^#Bfrc!E1PeVRn1wc9Hn~ZEPf|4K4;~dTFSijp*wHhDlj#3 zd;y2M3oIygw?JF7ZjlY}Rv>?gs=XylM=b;C%T|%8l`LDGFU+-Ns=`-b%LN7nwgjF8 zqE@X^Q%hduNU^huV!#`YY+AuO@keg}l^ZC%+yn+UEq*07u_@;dOPd6}zUiDl>~6~W z!__A9-|H<9@|L=&x6V;9@hwNiJRwTnI!DFow{lc$e=DOkEZWOb`PR{PpTBi>(}%aR zH+pX|J43dZov~Z8o3?Dp;cd;qlx<|ywnx*RJ!b-~@6n+rLR{@RQzdqvjJo!5zqk*( zwlBxJQxUI4)SmV^3WZfTHd=mNy15rno z++0XLVuvd}!a}7;ok#pj!L1_#K0lJKJO)Aq`i^Ncd~C`8O`JTo`1tDyFmS?UZq4Fv?_6@ZJhy&Ldpx)PhVx`=&Q!gZXv|+)^JuJJvba^-6->{SwE#16 zCH-+C%+-~(2=nYP!PhX6*G?Wu*P@dvO!2j~giejav|h`J*4Z_=gx-jlcw;T2ctbL^ zH)uECShbw9cHc-`(>LtPD)?6H-dc6=Nw>n6+*Nl9enGZ z)d1gnC+e^7ESENSXZ?-Zmb$|`tC6}Zr_Sr%isbdidn!}!sm#8&ny4(fmxeFzExr$O zCj8C4)ok(O<9q8J&F{f#u~ftZblij03Z44E8L*b^@TJ06KUgo}n;x9gzXz+$QUk(| zJy`AVGY{6k)Rr9eEujw{tPbe&2a9(tZyj}?NBE#es}nx*(TaPa#XpLfOyTn%EpBbA zvPU_Kta-Fv6RYsuk5(7@gO8j>YOfuBLHIY1RyX|iqnt+`I(Dvwe|)rh;C-L0f2RdM ziJ90Z=;SA>7dq?7dQU5Ol4PrdZg{f#pxd6T?`S{3} zTBQfr+(HVld9EB_^B}U9vU)A#Wq|$0w`T45mV$^&g#W(|Qh)2S=a{xxkd(Eb~3 zJkVyD#Ra2L8f?ols|&VSW>Fz92_d#Dv&;~iCDbjDiH`w5~xoY5DsYZVKz5R!)V+XX3LIs7iRN~#=3BN zeI%UTTnx9rWO_!}FH~3r`pFUYx~cLJRh5*RBJ3cBAOZuk5jLlvp^-Suh@@N@Ntu6i zgg7XowjPPEz$nV$QI4;KD7+Lz+1ywXsWl2$Yf-p56s7YhX`d5~SQIT{i-?^fYJ<@> z|3zRmngH*kZMH(680vyzYz_cPB4&ul_de|3Q58~dh_N{Uw8hxJr+Q=TZ@e=UWBBAI8{Rhlu{2=$pN<{QK9lUTBSjI}pS6%|frw=yY9sN?3pFdmvQrnCfEb@3YK0<}i^xX~C9|;vGTTp( znRPC8w+WJ2P$FVPqGT4INM;#QE=ZKj$`i?~E|JVy63MJDQ8F7zB(oVue>suNHbs9= z^v${?GMh@0%-$rC&c48vfL}67A<6a@GbtlkM!Pr}x>x9-WP8Wd)QJ%H0xc=9ohcIB zxQMeNYAY!Ow=L!46bbGsh2S1j2+k*!;KEZSxVTh;OHUR3yi|g#OhvywRrHI~?7z|m z(`-(%*3;fM2N=>A_&Z6$V)QqU(&WS8J^`V zo6iyZXWO4?;o0_IYq{BwOWA~efy6g9&`!y*|5gUFWr8zaT`hwjZ{`<6kjE}^QWgiUe0gnpSVvF|t!jV)z@ zq?OwDCeNNoYy?pAr5M~6I1}(H6Vp*;Ea3h!`$Mg>9Q*y{*q6JS-d{U23NGXV@X z+d+J^bF$eE=0l6kHc!UmTO{!oI~2a8MVJv7ZK1{fynDaJ4uigEvA>`qTG5MZbvEDh zR<_*oR!r9-saB~PZMDPEorQ4kwb~KO<)bOHq^n`%ytmNTY(dS`wpUs=#*%ZJ0+UTPKlE)A3i*WoIbW zAhlfr^P;lW<@DEnm;DuW)@6Uyeb;4YqU_U6aADnq9E0Re>9(_AbA_$!=8UJcn@QQz zZD%Vr(T%Ycfn7km>9)D=mf3^x{2n`tvz3z`JKIvey)dD@j=T6?+@p^l4_u9Fz)55Ox;_jrE-Q%{G90U67JWGr0v-2&L+K1DUKJ3=?*|}ueN+n@- z_erL&rDCSf$$h=gF5sWiy|Uv>E$bC)q8LzBuh3|CB^qkr6}F}TZRZtkZeNKTzkYF3 z)-N9VZ8>jj?zcH_9O#$xz43m|_xQvnwR`B~3J_B|k>Y)QQQ8$Nt*|&Dq<2jZqjZf-PTDA4+`;m(r$v-6yi{b^GV0`gAgfG z5Lr`pGaAKHqBB`~x0j?3!QLZPv>uo34)XV3p>5QP-KpGZD~|ts7*)T5O6!W_zgJX7R`9BG^)2m&gcyJ8TtzQHaF5L%;@WHrx?sy5Mz3;I&vB&X{dV+fX2_8z3+_fi8 zd@qIFKau8FCrm`IQ=sBh5;(QxA0oG%+P|Xpp2`Wvgw%PS*}O0jeuhTunOyngidZZn z|5KAIpJpj{oynEYz!_IQug|#hnK|RiXYEX`e0I*b@;P<%Z_c>#@j6F8=p21_+PN4k z6QV{$t@#{--BKPB1#RLSgY)MYTs_C&-nke&J;&gkqwjTr!N3dj!!OWR1s4)*oe(V- zVtYu$aS^q-3v91Rc~^9`lM8HLUts(30^5O?Vmsmz+liN=pK*!p{7dvpFGaui(q7?o z`jYd@hf6vp=n9Afw4N(_jqfL2+3UQcc`fqjwY|ZU@LRc#j=$xwUM|pbYk#6G+={}% zt^Ii|+K_|kk8Eb;o+5_y6|$*#@n?kZM#r1_R!Qj~kw&$W-iGe6e>YJRSC zep}%0`ZE6>+{H)T^ZZ?(@S1>&uR{2{_^5vXkR0gZe_aMiV5bgd1jB9wyZ%Zm3~@zR z+Fl6GwQC2%L-C#dvI@CfpTHU10=uRS{Cx96{Y}jElo=tm|`T zSFB6dg5z8tnpbg1k?}5Nw#U;a%kgy4LA>iDbrbK3x0GjsE5Xu&6I|cbq7z(+mX?~} z`X0AhTuGKzo8U^e)JOsjClj1td=haOnutS{nh2ep=+F~FFAA+~CKAV~)Lkb!F%~3I zSD7SDI+CFKk{tR<=x3p|z+{@lB)fQGo09A*v$VWqqA5#um0MavGSPG=yDIq1ezHWf znT(CSWS9Ia&C_HT&s*+=@k(*Y8ytZt!bGRQB>sZQaF`-tDt^J#3#0X?xW-LwHpTTf z+OdeLDixK6RF_=rPp1;mh7h~IAOg}DpGZKZrNQQ^qwydb!Rcsd{uwg01~OdZWR=0l9A&s(sQV1sMP<6CXqSeOWZv z&7#4Tun$fHpKKZ=XVV}n+x2f$RW>yZ*)DlR(3XwmhT6jJqk)Ds) z=6u&XY7o$t@-drKfZ419%oY^5-0tcEG22vt*;fUwIWbj0n1==Ab%(0kvrzI1C?v1+ zLc-1~bj|aBpbM!QE_D4j+&U-}cSSD#HGL8F@x|1n7Q1*Vq2&}~s-u|t$zsCUC?=fe zV%NV^5hbpFsb!VOZc##;y%J(NDi%*7xmr)g4=HdZ|mQqH8)-oE52|HaT4VKDia9&1(yD}HwN%t$q zZB)4{{)IcK+{N<`ExX+H%c`W@mGHt{Q|{u)ht>+?9xiwBv_qRL$LLu(MxSZv_Nx%1 zp%oa-slaG)g^M>x>MAh$vcmQ6+`Sbpo`vv&GZt1WTs#2LwkojTQ%Q%!SJEP*5;J*~ zE_uBGaii3?9@OINaW`3yyTy9kt<}5sP4_{) z_&cx1pI3uRo}vXdV6vcrd}|x9*4!ZZb~cdjTmvpv8(chI+iP%fzx4?PevpZ=&_>sR z=}u@AW9f|qTinQAQQgQwYiwkL?`ULg^ocau$h4diX{nJhSQlxpk={5F>84R4eM00v zOnG{0uAhGT*-w7>8-M!8|Nf8p39HefmMzVrUH!iv-Rl4Gc%}Y7V^yudY^Y+>V_O|7 zkA0Q)IpbEXLOu%VWt}JwKP%^RM&~K^^?zSTX3-(Ax^UcdWB_n3NjUH6!KcSHABdUsp*c=PVA z?y>pqj_$GZ?xyZ>@a~rGaq{kg?s4(%o^E)*w}ol{_j*i^;P>v7NBDd9$|L%{2jvm} z-lOtJe(yOv^?_P^RhgO-}AOS%HQ*`JgVRGwLI$I^Rqmf-}ART+TIJW zJi6XH(LMU!3$%>d_YW}L_JS`5KQ<4Ue1mF`e~49a@?Z^1+E^84({GBgcGj3Ql}* zhRc}`&J2%*4>C<-=Yw;~2OpH09w#4^m`2;zFDQ3?J=OB)`+A6FOnv>5^4!RfpO5 zLr+^XwjCzmW3dqOu@_9GBiDZHjokIIkF9z1eSD@o20uPm9-|*$D36JceRPkRkBfAV zg^w?l$I8c7%47ZGGTmeA<7(Yw@8de%tn z0o}v@k8YK*|3~8T_>cT>bNfdU;^QCrB76O@KiK%k!nFQz0CI=J6#R)WC4UkGQ}HLF z)8sHO|0EE(^G||7&u@#4@3%vc1HUay>9?J(`F1Gsx+8CWI}ADZPerrvPs2s$Po-0y z{!BEz|2z^V^v|U>^3NlXWB)t~T>lHH-TI3dr)-jX-6zRMf+M&5UKV2ZxG3ts)D=->UN=s*3X=zD)p z^!>jl`oZ55{qXOJe)RW5KmL2X%x)xqPkbeOpG-YczR#S^_JZ%{nKM@l-KgmF~ z;3t`2@=qs~W~Bc#4msPw{GZOiRQ;6CSsHaejfZdgX##i5uRPgZ?f>%ApZwiF|M1hF z{_Jz_ApY>vpZ)C9zx(wc{MXMJKm6>IfBJ|21{_y9&_Pf9R+aLbs-~aa4f9Ip$`nylR z@zE!r{QVC<{pjz1^Y1?Sop1c!4?g;>Z+!B*AARHNfA_=R{U3QF0N=m#^G|;I51;=0 zZ~y+&Pk#Q-KmGJ)`UmQhpa0~?|Mfzr62$E&p-LW gXP^H1KYaF+AAIuJ&pxnz_K*MYPrv@@|NZm-9|KFQ(EtDd literal 0 HcmV?d00001 diff --git a/web/lib/release/libibl-lite.a b/web/lib/release/libibl-lite.a new file mode 100644 index 0000000000000000000000000000000000000000..015dc5b84ef08be6b8a267cf3f12cef68ee658d2 GIT binary patch literal 283686 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

    -bPrn$zG8*J2!5d6Lz^Mn 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 Ee;o;&3jhEB literal 0 HcmV?d00001 diff --git a/web/lib/release/libibl.a b/web/lib/release/libibl.a new file mode 100644 index 0000000000000000000000000000000000000000..18e6a081f5c9a26b6c54eb488dd45031b6ef0d41 GIT binary patch literal 346040 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

    PL^M3l`FOaecBSD}Zn*suDlZA(FpAMl$sX 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libimage.a b/web/lib/release/libimage.a new file mode 100644 index 0000000000000000000000000000000000000000..1fad738851ce5cb4273f05fcc07a401b2f366db6 GIT binary patch literal 55822 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libimageio.a b/web/lib/release/libimageio.a new file mode 100644 index 0000000000000000000000000000000000000000..66a70bd235b0d7a89e20c1b31251cc1ea3db6451 GIT binary patch literal 91778 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 z±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 z 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 }gJBy@P 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

    HxC=6USKmTT-Y!ljt!h`tH#oe+ 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

    Szj$GOg_JR6s72=sPbuX7@?6VeAHZ9?MNc6k$Y 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

    ~YT0b2pmlkQXTk-$ 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 ~r~Q|1XbMTCNeIFs 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libktxreader.a b/web/lib/release/libktxreader.a new file mode 100644 index 0000000000000000000000000000000000000000..564fa68c839e4c833b0abff07ee8d01d755196d3 GIT binary patch literal 27560 zcmeHw3z%G0mF_yPI#qqTx=%WxlXN=iQ`Mc&Nv9uG{Z2wiCFuZ@7}_KOkhZ_e*r5FsKj&BM%+o6$D2R6|VzaxJE@31jRuGCO8H}<)xq(A2Wj7f9-Rs z>Qq;q>V$y$-EXSDb><+C-qz3n_Eo-&%e{C+W?RGycE85u`wNZAK z5m5_K*#jpBOFv5V*8}m3w)XB#Uz$oLhLWjB+vfD8k!`lSeGq}^FHFmuYYUL zuHn(dSaLkw)i=I-cs$v+ZS&U7;jzT-q@8a4^!U(dvTvY&)4u+FecOBDPE93;HaT?r#;3>5%VpC&kQm&X93P6d=TQ5HFHMeaOr#S#_D?4J`ucXnN4#^1 zbfzbq;%}NrjV02#5_hAb=Z){0=<`k;MQX2%vo${nI$VnUVxLm#ZddBJQj1gJbfi6> zU9<5wIy{x*&?zxDGP`v37Zon=_KNflPi;@_9>}jkp*YQ~WD$x{y9;cH_HE0h&q)0M zC+M6`506eodN)BHhc+Z86NAI){TCz$(-Wy85@p!a1F*-UinBX+q+v9zG zTLvP1eck92$<)4N9}D*ObhIZPPwz=hToNBh48;?vRAPU8Jb6icG&#OIy=Q&*zDQSF zTU*yY?^~er*?pU(t({4KV;!logf8o+F8av`$s!DNFbAZ z{Rcr{u96(zR~e6wVttrM#mACk6RG_&krRxGWN>eMa$KA z*G~_RVsb)r?IVHKPztT{lHsBB9!!}sQ(RgKwQEmuc=w+4$>EBLZK`jNO?Pc6y4_QW zvB}Y7st+Sjb_R=Vw*$p$)h2RwDI#6F>~*S}#*8(YO{KLImCgZX9^`y`JhN!AQAXC1W<*yO7c5!c~4Z#;x_E69Zh^NE9N;p7X|sl9ytX+|xfo3O7VKM&880 zXcB9esibm1NCB5&b3uFefZpGVHXO5y8Y+s`3$%0X_H*zqD2mrJl}w9?CXWeYBjR_y zi@VW?Semb&-h~MsxuS2;%)KaN(zf!LdWJ5pizR8m!0#ZOXMtuWaz_7wtXP{rW7hOEXllD6g^;RvFB*S6jci&yis0YzK^5WS!=#uIDJTUvH1^~ z;FU3Hb4*H`heSZY{D63qiD3ua2v~-B8M|s?<)&aP=&D_^-!d$vOIGpnb;*MM%8<(S z(K^X;GFcR{E2dc8p!kg1*>#19Quca})3-QvH%NKSlrX>N}9Kqug z5M{X~Y>_@}#BJ3kJkM;2@23 z$)kt>`W`#&C!{WU$O>45!V>?%t(sRbu5f*bT`?xjeEl%{P%&gW8dmyHH@JrQ0dkGV zOqp|tQP7O2`$$-|eCGrStp+Cb1(}L}Bvj@w0q-mm4s%t&g%9%^Z1}L$t$?TODP%&n zgdqjd#Tnv1HHM(@HYYT+jc=6Mk)Ya0P~Ts+xm zvjp5`j;!le+L$3g!=q3zyc-*JyAG|K*We1WV&Nl8v0tdSBUojt=#Z3G`z*g_lL)hkbEKl^= zd2;#^0S;&wiANgHVYssyzt$w_fO~*^C*2msUb$KRn;^x?LJ|a%Vu%0mKSnCl4p~u& zC6!{|e2xP&pYBI@rr2xGvezFdGotK0d>r0i$!9h$U(vL(xuvx&@?XEVzyYH?SW#)t zshT_QjOzId3JEN%Sya1tNu3o6*EcL(7BON*r4cI!1OY98RzMpd0_XsA0-}I+Kowvv zU>@KMKs8`KU;$tupa!rAPzzWLSOTa6Sbz{945$Y*0G0xl0nP+80+s_-0Ga?R0nGpc zNB|k2091em@Bwsy9}ob%`KA(*FgqKs{5eHFzdKok6;GIA*BlnTfSg`%{B?-+bV~IE!i75k~Tk8;Ku{}_!&Qb&W~U4<9U9(#E+Nx@d7_y zDdz8^ONzDjq+K1!4^6^)i`Pa!6)GxWv_AA?gz&6@Mp@>zC(og$t)d z;!lzU7GADjKCTl%7_9Ayn~q?MNIFjA_Tpq-_J0LCV_HmV<$H0MG2^`R?bG|pCXr?) zJ+pXQwZH0|vph38DFrYJYf5CwWGZB;WNKvk$kfU7lNpc^C0C{67rle*>f74h5O0H? zZ+Lv)#NH%p&c|4LZkCa0kXcUZ+;cpuc#2wTbzW(1&8nzY&)@@0579X}UA0#Icb+6p zNi=3E2yJz>I)9ZX`N*sqYjwdk@6>NuX)P~AZ}4Q>TO~VFaBxzo*1X%h_-|D~ZU)J$ z(7%Jhj^uZ==_IN8&opXCl1bm?3YDdj(80HCIDccG8qsx0pDWQ)nNCOw{Yp~lkCH|o zlzsG3S*K6Se)^mopu6NUx?eWvLAjicDM9^prK0@(Y9)PMHR*134n3$=`Cd>}`lc47 z$23#_h_9mj8eb(n?5pzq(x=i>dQg8suPA>-ucTvslOFcZp(p)SzCZd^`u9MPUI>`_ ze+DYb50+KZ(`8k@H_KH0Mnj@MR9E}HJYT2(Gk+01I$zd5TUSwjXWc@&yN>ALx>|ay zZV~;CXPv-gYGP=5FqxW?%HbRoMmEg@`z38~G%>#Wf=EwGTT7eOxF?;SoLbe|x_dai zXL_JzaAK@=babEnXhy;j9A#VGotCwH-wo0g}a%@_t2AX$6 zagZ3DYVuDF?;dZ4u~BQJ$8!H>(`H4wdwL=w!Ok+uXtSQ?vXtl4Q?@RPb`n9cMUGy} z)^*X&jD9Pt`^r;s1vA<%@dhEG29tk^Q+R4)#XzCDOX6U+7NriI(#sMcU&WQt`)8~x za&{V+9){D=q?&aH`AjY8RWEL}VL6XU~!=dm)U zyB`{i2`Dny)IkLI^>t2iG*t0}+dJaJfWIdnXWUkzT9IxPB$dwEgV>e zG*sO~872E>R?lQ~;q-&>DH?mQ`H|ymv}<72u{>TB2z>ge1YhWyDs@azV1~kzswbV|Xghlxq9*IGJYi&nx>J}8#fPWjww^OSm8A(fSjuFLlHzIG?9f3JYDSw1$7Dk7 z9C*Us?A5!XY+(@>R*JBhVl$;-Hv41UXfz@$p$g)lBqTrcu%x;)zuOkDFQdTDYNkb# zbE|lw<}}kMft%G#3*6JyOba5Xt(g{7PFXW8Qk7(NPRF`ACrs@TTbQ_c9ZR%AnJFbw zwtm|;CXDcG&;A_w0yDX2BrBb6aq5G#^zR#)MSOuYJPhlhjLc<8rEJ@}J}P5@E2b~s znk!R#hpWo_)5)p$WHJ>W!1`rxd?FQ}WZPKoDYMs_=Ofq_wiUA}%yD}`JU)17BJNlz zCgaIV2a}ULE!f;DMI_fd44a6sVI+fVIbUR+Z&>8cRG1w_MkjU;58Ad`u*1xb^d+_I zntsmtJ6f>9s6-a_)YdTtLVYkb@pBaGweX5uo;1>L%k1&ss)7lS6C8g?Hyg6Ys$sJ#Imwa zeU;O0#d(AU)gr~d9I$onwz54WAzWTX^Kc|#Ix03p1bNU;N3pg5LTK@Vh{rOF&jAw^ziA9bpHETZBx6{jk1zNudv(kvMU z4N6D{h8oi^4*P)-V@)5f`q(Ul5Jw@Y6;qIChJ=*`D~YewdA*5Wvit!+f}|=Dz{w~tECF$YjVD@ zxfluSR>00zFqL^Fvw~c)O%-tbZQjZpAfs8557ZwL+@N}4t`L%9s(F+{%un&tLJOGx zlU-!26vwYNvm|DgWPVm)3JVAvQiIu!H3S*IlqBT+y$#O+=YN4+Ah^@_OME8=y@qvo%AMLg#f@uXM8BVG~5ydu8r6>*za z1gt1n5)0e>uvf$(uZTa`LS0DeWv_@6UJ*a=iukry#2Sxkw0VR#6c2~7R3R_8OBU3s zfNSVVPs$i)(2>4?@xUG&L~nk7-lLO zK~6ssj@Z`_AA75-C+x znp{<-8o5Zg%JO`^Djj}*pbC79!J5ppXgx1}OtFfIy$>@#mNAaH=6Ot|Y+DE24zL3@ zHjs;B{~-^%EJxcaM*A{MqdD3YIod_Bug=2`=4iJSqkTgj_M9B;qS&|OVYlS4kJ(GR z8BDn|54|mi{#a4;d-Bjba_A?DqCb>}-f5$A0~JSqDi6IXhkjHl#+X;~(5+lyilcu( zNO7k9Vb;jf!tH-dE=K*DJajDbGU$&LMZYl*9aJ4&a%~@TijTgS6UUo95^#x%Cb(lp zg40WmN+q}-TH^^At89TB1!~m5Uvc#g3*QXeoWU&Tk z>scPFLNd_o;R~xkEYW2P1J2&p%ZM!eVb;Qq0K*iIMz97%tXNtb2Vu0F8B4#Q>4Qn1b|( zV>PVA$}(2GFdhU2RBH}5AyEyRNTUQ8WZ42VcC+%j!FwA2i1|fEK>li@d{oI>8zcTU z#o1h`%+aG5h_Mgql5fY}$SE?cMaA%q0UwOxN(izjylvvkS*j!EmpGTq&PqaB!FbFH zP92#V*U}m9@@x4iPVCgu(oC^s3~RaC!hAKqwxX_VCXPy}$W;NuVYZB50yTMb+bRp@DavN$Z4j0hzuHi@yj@2@c&1=~YpCx=Bvwh9f zX4{d0+Q&tZY+fhcTn+PjcA~)*^9FX+SW*y+K6F?9%ps^a1Cx{!UMY6M%}psMyf|pd z@2cD?+*5hTMKM_fusG!0^2UR_p7BLD@lrj54WQdH9aA!H@=5A}n1rJY3`KS;VbCuh zMaC#p*gofRzS00|#nA|ldnykC1k_^^aB-ecB7qD(i`j?M$gzf!sEuyawvwnFZqzj; zQIC-u7kfJI>d7!?awB7BSPB_?8&};2OF?9^Py*fEzv zzFcx6W8Ym08CymdW$fNdA!Fm|LdF?DDdgMpka3bw3i<9lWSmEoLVh3*8K)YhkRQt+ zqZ`N=2BeEakaX_b-0z-I&_SG;>lkIHF7%?6u5qhT?lEr^LxPN6fp2|WqY%$>5PXbn z5gx6~kWX}jYJ8>S>|~DOt0!#IZylP@MD$nXHzfOAUUXxL|df-?#GEuBMq z?D<>F;gb1Dj>1<@u}0_67SnpGv?c^H+$QCgQjb9b6EGggj=!eD;KF-G#ll{TbDL+k z9$fgqrvWc~@*xgv1!66)nB@F|nW7w~IMxp9_{<5zw!54-WgYh{s^l(eGp$8Y!KJf# zb#m$@u634WqR==8M|~`cRbCu3Q>Y6TBw}OC!yFHR$0#!f%0?OC+!lL}gJj(A$2uju z!@N&03M)cz2W>`wGGXP*rw8z0%=X($Lms`^izO`2S@ImQ7{ei{CEdaJ3+ zPb;-~TB+xqR_X<(mAdw{Qd_5$y5Y1^H=b7Nm8X@u?X*&NoL1_d(@MSOv{Iu}pGGHZ zl>6;dK!Tw%4*7UU%yePiUu+3U=*L(BZQ<^ZQ2?>|IvqpBNMe|Hm|y0h!|DIOhgvT) zh4A)Q%5Hyox^Znj*^}LTVlctx)4jt2a(446@c_x2Pw49G&8H}$v-RX<8%8=_7IVQx zF6`Rq>_B<#o7sVeW&3!MCm&vm^GNom`KY^MFP_C7UJRS|s5hffTmqEZ(M(CMU7u{+ z%x9?J*#r3Gl6j}%1i>yANXeq9!~zq6B1bMEHsl%?^<3nSI>f|m>g-N2ui7@)F$v$x z3Y%;Y!dBED*0??35)bURc_h}dBeCkVgs2mrOrR)XFkh^!4=cIT2{Z3-0-IPgH?|?n zY`A&mc4l*1GiU2bWqZEGd97s0;xNQ#;jo1F$td1TJ#AQmCKB7}y{L?H+A&j<_#9bs z4n9yyx0Eq!&@|2w0q+WM?#rJ#`|K*>D{cF9;a(O%*p5F<&T0Vb2_y|+%`R$V$JQpVt{rv045yijfgo&zCg4$11R$vvwthN0URiXD${p7Htw9D?MRlElDh45o95L z4aO7vo|cGYycPCfhho$@w6jT478`=OD8EF;y6qFwsllY>*wR?TQ`T4_wKq9r*;jh3 zv<9Zr*5K$c?t$Y-=h`J$_gPch&RNgp`x)uB_^k=L@H^G zPo%B=$+VTV8Dp#u$;PrBwy7A9a5+{9+%L*T>wCueJ_=^s5Ud=Bl2&4TzcsPTO7BT# zs)DN8)@f6m!HK*?FpPxp;WW%*GyIvJ;;K8GWz#ZFbXc*Q;24@f1@|@41Q>hkW?IfW zH@Rf)6r$KM#qcxsQ6#06nh?-_U+gZjrYYi#J7XZ zu^xo}K`|<`p_#zTRHJO;g*zew4MjcP7kJhr9(+!=AN zIB`98BwpK*vg6VYr2BwoR0wLWuxm8K&$Zna;ZoeF83ExtM|f|BmoowtX2czu;p6n| zzDqN7xI4Q#;knm|;7pEbMs)&L5~k7{oIBlMAi90{?~{o8kp>%ViantjXAe4&7F$Fm zhmu39T*5O2bZhD8^hztS58YJATQ&j0SwN2X4Bfu53ZA1rexDVipADVy)k_>#ksN3WajKpr2&Xv=nI?W^A5EAZ^ka9C=4CS~Q1B^`w&Khjmgh}uHo+#BE%ZrVji;_;bH?HgaO$_? z@kdv3b8q~jEfKyB)?B;*%BAG*Tmy3DBL@D z&0!RmycOwZeIp^NmgGRomKF@OEz#~Up;%dOPd%NDFSI1t?;!M6LLjs8kv5YmUEatX zDsy?GRTOY}+vk$u@^;M2L+(5y&)ZdRRTi0$_e^JqDpZ&A zwX3u)=j+hizD^(3o!N9#zr$v0(gYo09i;GL?y=2ysxmd=mBDYs_`J(*k%m!FE^QhRr zZ)`h0yIewQ2Y(5Y8<{gV{^2H7NrkO%-sOgwMHy5)q;}TlB`k6yAm7HSb`_`3S4OJc z{EcY2qn)PHAU_hIZGD-!++6#j^3WGWegSrZXx(kDPNNO!r z)*_N4(~3;7Q89OO7eOW}AU}&>%2ek;KEpSn0`|ITX3z@R+e^}%3~gt98)+*Nh6XIa zL(>$5p=}Dn&^QHQXq|#EG*3Yo+NU544O9?Tq#n^C^@tX!N3=*iqDATvEmDtYk$OZ? zkAIYMO#KUQZVH(dEyC1j5vE4L)LUH@`Kw-O$)x`dXQ>qUvz-%2(z021^pdpvlr{sB z6glbrza*_V^#cG&YI?gCRg$#oBqnz3rDLbIl8_``dYr<)A&{gq>02;bbYHBXeM`m$ znC8i}UZHbUnw01TS)<>`KK)Pff73sx#ObiIla43}I;srNy^0_ADrocw;58*cZzyGS zg=)}IH9$WG{04AX3(zfqdjZD*uK_;d3(#i(Uj;k~_%+}PJwTrZ+z0p};8%dl`~f-& zxCijBfR_M=0s;CY;46Ud0iFlEuPi_}0PX@j0{9u=PkmMNt2biXeTkvO>Sg4C=Sy z#fD8-Uyq9gZ<<#_`nTcu?z}~${~nGv=GBt^8QeE``x%Q#{~;X5&sakG zA>2NAMKz8Y?t8yVbULfg))@2G1s?yiFk$XDx{>7lw7-@hT^O+;K~H5nhZRuf%s zHPff97T=dGNq@?!)Sp4b%hnpA|BHw>5OHNlqHl%Hq9;NX^hRhceI|T1eIvY%9uLRp znecjgIlO^h3vZ;?!+msF{U*A){v7?*`bz!I`X=Mv`g4iCR^LqDsc-Q;T`%c}8Y=Y< zH#8X^Z#a+WpBkF!wuTnpJq?ont%e}|wgHm9G(g`6ybic^S%7{3c;A_jOu%u#<&BUq zz_Wm>mZJv%UH}|f5uk6Z2NMzMotp0{#IeM+-5TB6{cgIWThs694(i|R4$?E-t@OKYj1fI;^hi&HKGYkakN1}8H}?kV zcfB2Sa8)N=v8u~=$0~#VWtFBsxhkmtbXAZ(hHq%T0=RFrOpmT^q^DN<=_ji-dU5q~ zdJXRXg!{5JE9izb8r`<$Lb_{>q<;r@ihY00HqxIyE2#ehmy7-KtU;pJ&KmL^S*y}N zuhr=OweO*Cuf0Hjd~H%czIGS=Z0%0^<=Wl!`?Ul5Kb*aXt~z^|?q_wOb4$&}*p8Ub z&~UxFyyM;Sg*&vzl~IzPP`1m*m5a11)N#Ldr8-91m()qW_7!!4w0qT2`v2iln6m!| DC?iJc literal 0 HcmV?d00001 diff --git a/web/lib/release/libmath.a b/web/lib/release/libmath.a new file mode 100644 index 0000000000000000000000000000000000000000..6818b112c35c08fbfdca360b172de793412c328e GIT binary patch literal 386 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libmatlang.a b/web/lib/release/libmatlang.a new file mode 100644 index 00000000..04e70870 --- /dev/null +++ b/web/lib/release/libmatlang.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43e27c40cd37847c2fbf1001e1b1a930d587fe09c4a0aca9ba1cfdb38d5bcf8f +size 494824 diff --git a/web/lib/release/libmeshoptimizer.a b/web/lib/release/libmeshoptimizer.a new file mode 100644 index 0000000000000000000000000000000000000000..75632a679ddacdf327b4d8fe682aa3d36c78f061 GIT binary patch literal 86730 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 Ur7KULU%GyKRZI2I!rNE=4*@54O8@`> literal 0 HcmV?d00001 diff --git a/web/lib/release/libpng.a b/web/lib/release/libpng.a new file mode 100644 index 0000000000000000000000000000000000000000..d6f9d33c61aa5a48726dee0a0be129c7cd2d53af GIT binary patch literal 265054 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š$=f5wRytkqc1U&lSQTjvvRZO*13#AwpmgYU_dvqF}aI0 zeY;IsqN$GRP}!*uHAb75x7mFw@?xzY`Co@q8MT9a{a&@sQ;Tr;;wscgS^QWdr-ci`Z#1m(YJYsDcrC$*X^t&; z6`7SC3M$gR`9^J@K}k;&yMocy*9W3Ura#@*cD1_1P)UtR_oE`x=x~bzfkpo?>X7#Q zKug8TWK;i97Udf8wBDozx0deSgO!_vNM{eUYKcox%?6&wA^PHG*;xcCx}O!KT2!e9nEOC5jkl(6e!{ewayv&EqYH7Fls$eMbzBafvk8Th z-8-k?U(*E8C9u_X1eUD_4Gy80$i`kyAm2%gJ*$Yuq;1SjQBjL;Jhf|ne(!DtRlfG7 zym-~cS6)fz;JJMSKqHbfdA}60p?aw2KM&b+%gDAj5*LRky$cGYd#Z;HK8+&Jglr^2 zv3quMN-f@+WCO7jPq!!8$PGId78K*yVqb;g?j#%9w%0>QtH6hn?0AcVY(2BE#tTH{ zvJkqwet^Kwij3r;rmvmOElMvh{)88bd$i)k-|#|#lUBU=9+66o?g6u*EU}MMVbxk<<9AwZrnAmly9Wj_{(WcvAq;5*&>7G zQvSVuR)wfx~ zCR6f%G_sRxZ|0}>>?H=0f@p)5y;IlcRj2;3k*zB+cq8%fVu0nG>tEb#KrH?z?) zgT;HM`n#IF(A^fLd3JiAW&T(#vqc#r^Y1mY=kJ&ksVc0V;xw-ZK@j@_0l{}{-$76+ ztQ*a2ZQ081$@$3}rWLq(icruRsi&IRy1jFh-*w%b1(2pc9<4mar+#NEBLJAk61R9_ zz*tM#OHeSXxv!P2(HPyhV;db6#)&A#ShupH2{*ld_pSvZrR|&c_q_N*D?3X0ubSNB^x3{wwT{*WvTx?>pP0uaHQBdgb7_Kl^Y^`ei zKiP(0=ZRWH>@rc*XWH5EF??1Z5k@3@1!KfDM77PgPwto{2BC;f0kRm%ZG>%p-A}w) zy?wf!9kXL45WKmqlO4O9z6tNOi&yXMWXE{ybL!knOy3@io$NWUn%pO8P=Th{d6*xI z|K7>22Fp`=xiAT0cWozVJNXQD%CV-|&Mq}W%f)j|u-P0lJdIb3wzj;Y)u z6+(Rj3IGp1mak1_0) zM9@F|(U0olF4>{%3Oy;OY6;JTXUb>dfAZwd%B`BziqgvGGLN3Q8Y|0ADp}DerHZkf zTP*i{+w^XN3Wnl9mYp~NQ2K4g-;_`NCj5rtD_Qm&&41H#yY^mpy+@fZ1@t$0cj-Zd z_btQOF+WjCI*;}qg~FY~Sx2ptaV_{9{3&Lugz8@oXJfF5=spG-q&H7e>BbG4Hf%hbhwlz&N5xn0!_@5L z4x~TnKRc35tiqjYNdc=Xw)@CPc5)xT<!t^O(>0W4i>)9LogUe4?aQU;BW!e;)n=K5W%2_c|&gsvj=Bsd>uLzII$3+y;7T-;kk-9-~2a*r6`I`Z|V;AvJu^$ zi)U)F=PB{xdI^gf+8yfUAxiu4gi7yWLE+es?!6~seXT|!yi>MB;YLEWleKyzw))Yb zc~QN+D=&TdC81f=lddaXhRM?+vo~K-e_>HbyQ86baXoeFifdk0YlBej1V(41FR5oz zJkVOE&7=ONH6zL zq&`GG-o%dY9u?9ntU05;Ynh#==W7)b^nH|w?X?s_x)ZlO25|4CZ#nBF>f&*sySA3N z@#4@4U54s}&|Ozc-*kz(dSWf*>`TK$XkJ6P zmU#Xt;YFeO6ZK+J?s_>kpLJ@TM>cOf4PlY~q)EqZXwklYaZy++wdqByimN_uKKpdQ zPJhY*;YL;p-7`Y-f2lXTqrc(JXM|%z^VLVy^v*a+n_D)7=hPn0 zJu_S#y6bBx=d2elH`G$jJ1ZRDd)%`5GDy7n?+r$JdM&}Jx1!S}>4_FBwwJPD+l~d6 zxHoORVRB*Tx#5Z=jRBdfG8-soZ?^>WwhA%lFoV}xJZID9aB}VK+2{1V-F#kvnE!*# zZ`*d6*wNHEJ+IYul1>P!73mw4x_feAfvi*KhZ95dKUy?j6H%;ZDXvbX-T#lhH;<2^ z*xtrZ_e`cH=?oc2U;+W@BrJhIAPEEk7X}0c5fu@4Lx8Y^kU$bp?^Ovqh$t#5C|+^F z9Ys(91qJtARP?%_;=b?bbwPQbbEi2S)Mde{jBk1j_b^YH%&C70xR9}VxISu%RG+Eif#vw zIDJ-i!&FaX|9BAz$#wWq(J|un*~7HH1HA3tw`^d-W52`D=>7>JzYbwMIG1xyQS1c z9;Hd@QJSP4P>ap#R+^+9rAg{hnxr13N$SxjNj>@`sYjnA_2`qN9(|J3qfe50^hr{W zK1u3S4S6jrEad5Ja#Z(EQZtU{SoIqMw@fg1+EL zcW=_a9=eibkc54Gld!KZ*jMN+$gB4gRQY+LL5aHkXR)EHlf{jx;rJNgIsZa3mm1zE%vvd)&30iT)?ni z4upx`2((mR2SVys1RMw;+eON!Rw%=|O0^=oPGzcfLBqN;h=+~AOtml7uzpKLy18jB zX;oT~ZcfWk_oju^_OuWk!1FRIgC4Si>K*LJeVCq2^hJ7G^?Q0qEygC-@(==6hBDO+ zp^&;O6r$aspxW62rME!oE!q?PBcp@5BO|2l$6=8#GlKLRK0GbJ%4=h*j%s_Wkb0_> zVZG4GCfeO9Q@x9ak6PsteTj#k@bG&pRA64FPhFg8SeIwwVKp9Z$qcEDnIZZ(Gorr1 zi+!0$|9fUW-Ix_ocV-#Zy;+@zwq)hgy9n5afZwu^>D<=&>f+YOr!^i{x6Y*RS_kPs z>kN9dO@wy0>8vh|7}k}ME<|f0`RZ0YtdDdhx-XKc9>&AtkpiOU@URCDA8@qK5p6-X zVO^As?U>85^VK>$+?m}SoW;W<*{E@LME#DyxouJ8lD7HkinfNex-H0E+cs0JZyQou z+J@-ewh{FyUVP0j_O;EYi`qrh73~nS9g?kWmronp1!-ry40^6zgqG#>q$_iZ)D1Zy zb!QGLn*$=Z+oJ|M+vlr=9Smz( z2jqQuhkRPoAwoMk1nH#?8T4j{hk=CUU1?{k z8|{#~+eTyC5%msUd}yPfFYJ73%#Em}*q*#J7s;>6&8ORPgS0s}gLdM@hR%ldK<5&o z?Va=K`_4t`R|FjB43ZXg$){Vol+wLjiqykhLh9)*hV^0>6!uz|O!WZ*zU~sDE4oJ1 zny!X*V^@@^@+BHZ&cg>*2f(UIYC{hm<7}m~$zC=$KKoSbd z=yL@AR1i`J@M2*%$7gi|J!c)w6J?bUDDmKR(3y> z=-Tf2^dJHrN5EU%k>~#ILAtmwLw#ImSo;h6lUmZlu-5j#;laCb^Av9A(;fq9XV1fE zZqea%W6=@nPWb10yXZ*k)1pE6?Az-wdb?MYmi0bNt?3QU;FE-U4mU63hTiDimL4pQ zs3(gJ>-l0(`f70|y@!C$5b#Yg2>PiwpXQZBXjRD&x(8n<9x541D@u!Kb7_%!qSUaS zD@7q+AmG>1e6^@gNL`MQtc`W(aZgU^iIDF_4J`&G`!eoG(8YKl^%tEGcO>Pr0GFgQd{4UVW?gAMET!64_I!TGcw0Skwqy9|M#UOptB9v>2< zT|+YH&mj@D_$a8rqac1OkIJXJjtbJ2qcUjK(1^NWC=SyP#f!U#A_W3oK)|a*k>^_o zXdH%aG7NMM<8Cr6pKe0HT?p7X>~x~72zYu}kaiEtpwEXz=+dLlP-~73sauXVthK$ zPj?Rw()QsQ^b}q!8G&v+;w*IQ5$Hc7&Q|vyi$Ukuatu1h=BrgB4eK8x#}Ta?nXfkB z;enATe*4HwT6)~s^we=@t5=T;srT^r1&j%nkBX?PMj6(cQ4r6YMxhc2co_lz90gL| zMZlk<#?qSOgLLQd8T2%+|HSqB6M}U23D7(zMCj`i#?$^2M$u&_qEaWKQYQ{VrB2MJ z%?Q|mfG1DHgy01PynW&*_3eomW)OJbL=d%Tbf&subVyx4Iz-Qmj;L2g8`c}6!ISq! z=hFcMEIA1^Jqd(dc~U;Te^QXXI|;HiCPJIXRH{eE7}nEckj+bDGU@Fx5%m!Qz8C|B zeLp5&{W&J2E;<=9a&m|sIvG0PWW##)WaRzw$xvhn_zeM#W0CjbvH5h}*oeAiEShR8 zl5ax56JybqV>9U8u@QRcl*#I;Q$p(HQ^1x}P~f|#WU4O_@bf7lT61bdtveMX$f?MC zW<+g4z{6)E&nFP@+nJ+i;aNjz!&yPvb`~1u zETlLaDb7Y2mzT$5lg)$K}(4im~)s#VGYo1!%084jL=+ z>GJV4v}XJ$b?bPHpW{Ksed9A}$M}eP1_3XPA4K%}_0B z4BAwQ{#%LuTR8*$w-Vw%X{Ne=67rl>hdd|ct9SA6(WH9lze)MDeDX|n(`3WCeKPi2 zH%!h~&*R~h$+L*woSaWTO`fe9rx@0vDX7NsDVgeOJX|*gRNp)W{b))=Jv0R~82r65 zB}DV5M%2YqF};`yVpmT^!z18D1niy)V&6u<*HeSEe`*FTs*2F|s&mydRU!3im0`VE zh5YwcWvZ_c@Jm&QR!xi0gVQ4Fv1x|&%(TA|?V5)2sz=e*>Y?;eHH5c1gMO>VtY!M& z>9gtQs~@Ku*00kqAZn}`t(Mgo)@3!wa#an+YCPOg15JEyOePoZZ%7%QkwgK}<{B3Rs(Xv?sY5S}N2E8(Cp+Voy8cJ(t!b@P*?p8is^3{ zu9p101O4##4r=lFDD`{{XrG-wQvGy(NX@?>q%OH2M0Z~hpWR79oJqKKP8#h1l%>mq8*=T?t8yXETv(Z=#7CguI zd-eUVb8&xQE~3zF^9*q6AM*`^?w)U)Z*84#Fq@v5Z{(|25Nf?K-vF21n{Q;Q&-wZL z`39Qtm-$9pnzz7+Sj!g}%(MlFzjlFvp=*J$)Chb84yj8PBK}nijf;@sbqkHQ)~yST zWw^h4p>eT6UoJ#M`g5Uyk#`XyUbo0tj+ZwtLP?);z}Jfm)O+6|BcHBZY+Pc{eT$7z zYVTsa`ed_b>AOZXNz3-~Xz^_gszp53V*=BEQeCHhk(w4*2zI z<4OcHu0p^?s}Qham2njUuI7LnIN;V*#?=V8n*$zNWuS9%=o_ny)hO)7b;h+u`W@?x zHAecjb;fl@`m^hde;DcStTV1R(mz~htTh5FZ$Zkn8<6rY{Lmfu8bP&nBl37;qmfPY z%Nvb!^(_bfw9&W`#qHl{_-NZEaO9~?#!&iU6YBowCL=?Ae;*?K>plabcGdkx z2X#4)f?2B`Fm6Jk>mNYl-OB-+A24o4z{3cj=N>Rd();}C=LbMU<7T{Hw3!=!`DUbb4Ptp-`|Y&C8J8x}l> zpsOAtSvhc^z2TF^}$YwwfIp4t$tKu-TA1*`iz5qdsJdw z{FubL=P?BBd`x1!`WVNe%O7Xf{q(pIp@mNvcNyxzClKewCnVV?PjE6?_$*rb3jVp{ zS!2CHTc0)VHfWdpKJgracRyzgRNp;^gg-xL+=CQhoY1cuJ<4Tg z;3GSm1x%`}Xn^riy}wXZG}KO?I-$PM8b7OgT2E~qQJ67(Rzt=3>dKyzt82$sRM!^< z*#@#F?4Hu_wW_|dp=d%;Z7-Yu^_E}#qwn=^S)V=7jBrE{!Vcr-LD6JcLs~ z)Owt6&YU?kE)BoVKN{!fJ7dl`liyfwIIa@!eCHn_>G>QDG2F28oy5dx@d}wEC^eP^ zjSIT>G%iJMX`I0^`Qd!Tl`9HjvJf25(aF7WV)8rlYMeTP56sG%*%{^K)!4qOs4LgJ zgVl-?j4x0yWtdSb8%e%75-eL8Vss}ahvi@;cKGUQVdMsLvxcd#fiyX}v&&UoTj#_( zuVw-pF4V&I2(O)OviNIcQ&}@n%5riDl{*BLkB8lsZw_&~RQ}dDY3jK!V+ruHY#W|a zQC9;i7@c!aV$@Yu>POk3gXJSWT9tD=N=-@~il1CDeR>6qqmZlEUQ9wBvVlZF4$~$Z zQ`ope3@g$(Fn~Q07JIav0Mw6(~j8Rba8qzV;M8ExJnOc8T} ziuwstr$VredCleXFkI#0d(S)0IEwtt|OoRd_nV#W-| zs6=>kuE#O};fA3~cKj>%}gm1(lZ4=-Sy)@bqg4p$d4Lk3kWvzzc-W=zAAYfI~Iw9-E z#2n%10yvm<8r!aC;{uf8EL?!f5XJ?^K+|yn&}zfL4;My7vCM}MqkD6MD3m|Es!Me#qTJLFjRua+>zs&4m1FojbEWiacb;1QS z*|>nF_PBtiY+QgNoP`VO62=8}Nsm)#u~&05Jdf)hCo;`WOHQN}?d=lzlnEa?&G?5J znff?1AoHX)RpI%Zd2Tvh`2fNK)WJr8BJ+~5s_ zRg0|4OT41xZz-DTJ z1$S9s!Ce+uaF+!Z++~3UcUfT3D*sks)9v)+eD(-zgm5rf6i9RtPb#Xy3z%FBvqBB@ z>C$QrVnx9|Avgql4KL(~Xk;7;-i3oTP%>ra^H3*vX==PsKFqSqKuVL7IK|xWDF)|C zME~r=X>iBAA!4JP=Z&ZVOou4tlFupF2E3yWKRq@6Ao1y76wh%HQy|YolQlN_wJs|l z3nh-L;Xq;3_H$YnA5wg16A40x$^uQlJoMDQw;fq8zFm*wg9s*ho8H0y7kL55CD(VdbWMJPamUD@A1!#Y5aRJ;$ zHZGut@t)AOpa;1-@EW%G+XRjVj9PY^)W9PJRvPJ?XXP#qtl2BgSr_}O;PS(z?q z5FeBi1#ek>2{gn-LaMZlMHY41!dF!4KE7&6VuzdH(q5du6TlU>FX&O#K@JFrqzVc& z#u0sJKQ|TSq`1DV(9(@C1(zlRL@(e0u#$k9l`1g5SS}db4C0=a&S%t|uJU%XBw;G^Q_o?-oESWt)Q@A-ll05j8gy8k8vGdVo zxNiaiD5aC!OQ-Z5Mb5uU8SNa3uf&k&wm14IYUxiNaYJH6;V_PIwz7TEl<*~7qy)9X z>DBl%8Uzht1D;H~9AXIN9pug|y)*M>90vkrd6MI zl)&SBg;w3cS4abzRa(`uR+utk3cq6#FHby3$PfVr`=W3~fw6)|j%;{>9wpw_o%VQM zv)OHaU$hav+U00EYZf1(at_Ryp0oinjsw_yCL2R-qa7P-@fI*Z;T2r*JgBc#Jml-c z(>%DreYZPw;w8_meFNbI9<{+WOIM1!GB2R^#VRTN+$*UcCX(t(s#609CgxlRS-KSv zmC;IM9bF|$H#wX>fKUz1P-m3tMxZ;!NYLp_cP`_++wrrrsDf_v#^n2ixH8JgvJCFA zcmkQ-bXjKIsoTy|oUAi>YKZJKG>g+lKkABKE;WpmWT&9Fb32D|R;LkPg7}StFC@wJ zx{w{Hxdb3%%r@fcI^ZfCkK|v$pOvb@D>+XLB0TpAaO+9h6j#4-0_ai@)`&ZY&h3dw zp-Al%(QwS1a7XgrQxsD85 z*9Nfe!QkbWo*-O}x2aF28mJ74TOfrtVm>~Ndj-lsIF9=>h-AIZFm0$L;w{0LjQ@bv zl7hqSSoiBF&@KPssK)@l7T9Ld_Tej;G9WE`<{!&2&5e)zQ3EV>@^n=?kM}4+_`no7 zjL@okAI|av2hhiqp&_E}t7XXbJ2(O|T4LUZA@1+qnep0$Qh7dvYBU;14tz@PtFl8?$O;IHj^8M}L<|Ah0_*)e zeRJkFeuiOG@?0fe5Ztn%^`QDVW9KE$p!D*aD`cmOc)|@7Zgon;bsu$H{yxL?v_o!O z+`4h2*?N32{v^Cudr*hG81e z5F_$ZfVL5aO!AbA@6&BZW|4OpS`?pTxD*Gx5j<6gR%+;hhhi27kxq3^dy4dSc{k!=nT;{OfvISF`)^7%N$C3W5c)L)SpK zsG~+qVxbUuunx!67{$csZmg-}TFlj9;Itk9WX-}^IJ(Oj$T2)|o>4#iMEHG!xZRiz zh&E5ZAvT!HcscTzloFP4PC69}mH_6nN=WgJTUWU)Op>Q$hnD7EE~6E?k>sBqO$)Db z9hrT%X?@X*?3)(fKY`;bgrno7$+X6H_zwwg6YqBVC-;IC+f^C1AeANvruE0U!!8WsXuz{3!E;r&{`x3~HknQ;fi~ zDn<7xW-YI|{n76vL9Q8Xr6F8R509P&U?bQpJQ9y05T-Q{1{SKdDHslUr~_(k^uAA? zU#(|oPM7_uNlGnM?yuH)kfdlzwH_V>MVb+tS;9DTbm$akodR{@M}1jOvNVE|{2?R- zT?HzHKTP4Jlav!x<-+R$doIvg4udygyv7fN+y-(yyH8>VZ(ur#DbO@9r_vlhg&CpPa1PP6)nnsrxrW4^Ya^Ock z2_5J&Odj`ll+Ojj3yY@DDOSh>yu7Y=l!1(;@Kn?p?%=qW2BH_v%tbqaBqtR20UtBU z4;`)r2fJ7dtb~hG>om;UP_(-m!)_C^fxpgyS!vuakT^A#7@>JSorBMt1Nu=FIt*q{ zO>;ozY0P#9;W|aCg=}S7@!u1M?Dg7M3ruR95!@Q7Xet{Y1GVOrR^cDUXlMCi?GLfQ zq=Xl4si+6n50yixvlAf6%MjPH+VNW%5}?lk1PdYMZvZRt>cl3x2NBVqSDM;e78Y#G zBBa8X4|mGse7;?Y;fM>A!GOOGIqO~+o=Ds3At*{C0SSQ8-C3cA9^)*rQVF=-a*qbW za=PE68nJZ&j{p+Gh^Fww$JNtw^$6j-XO67Fd_hwRFc7mUEL(NDkTs@P_1>tnc2sZ2 z7-OV-T@|P@IAFo(kjOYNY!5RIbiV<{;RHWwr8$nEz0HF@LQqE#&GZ4f>%f6W&YuZ3 z?eImBNe+hh-3D?2XRy8mgN+1wIGzw3JucAl{0YryBg{ZQ} zLfg=bAdwtEzyWj|)nF+`kBk~IS7cbQu?liJANB;W0eXWm95Ou@Q(!ztZ#0HO!-Lsa zA@UN!=|v`YCgdm|#LYqSLE4Pk9D{w4SWz1&aOm*p#R)06KXZgs=dE}X(H_t8po9#> zeu=OofZ8x|Pev)#?Q=4DLT4hr!_gyo2=`&uU!|FDqY1CZmniBF>9;}*FJYfDWokpE zeJW8DW&oa$(-6|mvLs|QP_;NlXU{Xg@9m^G8pb3w665fM5RUUKS?Q9=;OberoYxaV zI1Vt?;su?KfUjNZbj}>~TS6)hS!7tf*g%AhbQl)Fo>&Wbt{Q;d06h$lNI=esK_T(` z@?s>q->?dj;YYzx!j??L#KlF(c?UpkZV`gr0S|$ORW#gz$(jK`wgzyI!Hjy?0=wp5 z*)XC}{j{kwW>ii@p{vY;7b>X|3f*B^Ik6G|qF^^g>U!I>IwVAh8HdEtzDz66jiPNp z7<$WQSO+^689uv|x!6P8 zUJUsKK|f~-E-siDteI>s4B1_o5^okMUjtLYcBr;aT6sf?)jmmic09)ODOSXd;mS@7 zi4KTp;U+Ip>W}EbZs^n@LrzElEd#=vM$Wt9-=m`G#0(aOT(<|T9?2N*K~aYJiAKB=sB@zev{ z*V={;dF@r;HFKUDXsXj48vp=h3xpwJ>{nKaASCL(#mG|tBkWl_sb?L`IMHV-rUNsr zUb@BjsSV{Wq}JU*PX*%me_Vmbf>w^J4fxG~Sjqf^2=4+rO_DT)J^UWnX)&%OU`}zq zOH-{534zV)drK+<0BUf)gs8w-1GF8)7x_GqYIS$%OM?9tCzoF${&%U?=?qCjte;7c zWkksdd{B51iAp$!<~iEaW;nFDEQd!Y!Q zNVoFc@Vr6Ac>`=g4x9o@zX?!zcGuqL4l3!23_eS@`nYUy8eiki@Mw1qP|E-U*-&p+ zusW}6 zHdzJu83UdHZOm_r)n)AUsi&RpShWIc1unnb(pl_)PG*<^2akh*5Cl)4E{0dJ;lE z*Vt?BtDe_=T2K+N(mWx6`a(eku>=lo8u`1$f~14{yT_iTuQO0utlEI<0-P1t5(@#O z7eLv-*jNZq!}2_jz!d8oe`MUPe9t35w>)@1B>>&(O8&wa(^$Qf*L&gvDhpqZ-Lgu6 z$_3;vPs5Y|mCJ)KRs#GjpxyL{Rf#k7qzBHH2f&JPw%QY;ul0-z_5;87#RjVgGFt&ioHc$-KXH?b!NV0r78}~aWI{<+gn@S`Zsy!J2&8xd% z_HYYM61hkZhUE>l<$9{wi%$1s(62WYdL9oghP8tK@R+O#CJ2L!>LI0kQVoC>V+{b5 zkb1x<3J#R0%lIH#?ij4|;wPSe-`=Hkq~{TEJS70`i-+{-Ujlh`kP@EbAE2qaqW=M!sw-lksXksjBGwWAiCS$A#Pok0 zpDGDpQQst8h!Lck0VO5rLJSH;Z?i`702}#lG}Ta3onX?fhL4^${A#yhs=fI8(lF_H zGeBRPe)X$qs)asNt-#+kzMyrZFBRx6zBFsI&%$w7+&u3~2mA?c-pAe?eTJK#eJyaD z5;x2I891%!PqWtgu_Cw?H~0Hn5^eLR(UmDadLYHG9!)XTi}-sJe;=jLNR;le#tJG||DeVwipXLX+ zQqX!V%_e#_EsZ`!;P(i;$qHJxTX{qqtZdq0<p)NExqnlcp z5wxz!=nj~Tj6(Gk9$v`kLG*e?A^n`ujrM2sR9ARBfGwmw z2w2&&8(rTrM{Q~uw6?bF4K$jT*|Zk{`w;M3OMJkb+bSCnP2FgFs~q)dtDyCDD**TG zL*RRv-RPIhp0p&Z8{LrAleTB&sF$;X)<3iQ0L>yRn|{yAp(|UrQ|np>tvg#IaAWIi z^%)+%Y26oiFs;kf0X!^h(+}`FZOYVDZGzUCHix1rc-YX!RNL_PPXxZx24BfPYLl%R zBSC9XWFSsIN5H_yVYCTn%0NqHbQiFdwzeCrF3$;Ct8#|mM0QS@x*ZSqwE3}YFUS%byZp<@|6XpdG;*=R-kB($Pk zNT1p5)OPGzJ(i2lJx%Axds)-HknZZ(@ve(J#)?PtteJ^~*eV|vNy0mxDy0Z5ql-9dUy@H1~dQSnMLGKZ2 zMRCx&su=06E1sw};bChrqU|UK?@Pe@5_~&+pk#!484r6)s!9EfoBbuziRPD%P#a2v z)&r$Az^N!5LGPEIPCE~6M?c~3#s2x~o&iDY{sH)oyKO+WdI=A&4Z!D{Jp;1oUjrJ{ zMFWG@ih)4)xO!lj+H#nw9>?EnM+B|6j{tVY2S;Snydy896-Uld*BlwN)*jhtK&>1( z*HBxJH2+^XwvE}nK>WMsw)GipTmI>L{p+6EF6&#?Prn@(Kea7;K`A&hP5OAY9G=!^ zxaHV3nLBysO^(GLCc**yT zS^!)#AN@iL;$OdGOFkB<=2Gsy`P3gfcf)NQY>`6fBk*a)r1<#&9psL^vzx-&xO;FP zcBaWU$Tnn09Q*f>Lj3>-TzEh@zu}#I?TZ}`FwVjQP7XkBa}DO1$Nf4?8*q{`NuIn9 z&XHl-0(PJmvdN1pl&R5kt6HQo&HS$^-PmC_W^+OuVsNVm;3?>Sgg>v z?6BxkHur?grB!>p&>vLHkUcDcgj^^*T-o>#5(g1;!{L^ZjaU&55yKZGHykJPI3>cx zd?Vn7<7}sRhzIcELEAG{+k=(QM>GwubfT`yuwmfV6`h&&ymQRzJ5hmb%7@;SOOA4d zxK*|A!@(hpk==;%SXbt<26jUh=n&R5Viu25aXM7Gpwu^ZFc@Q)c!ApiEo=;Dn~1@$L50|;aSjOa&zR;Qk-=!*FDKLa*g&@oXMS>+(xXf|x#po=sWI6?vvZIovo zj2I>hgB_pb03#E~(p5y>2$j5hBX2VbvvTGUA5Zy@^X5`eGoNM%q!v~*90oCFE60E? z89q`y3_*Nm2%s*Tu4-^+%dU3q9>wR_zuKKhxNPRFn8jPiEz+|W^}{TK(!9X zNmQsOH@w9FO4s2n(2hye6YTL!S3Mo9`~>C1_Ouw*r9y1ci&5f#qe4EHK=2=3kt^hA z8ixUx53;7=*5C@Iy78?6#3~r!ESTxd^(`tC8x#*(A;_Y^or1?lsgOH9I&Fr5kuae1 zaRXElu2yvw#eC1lmY+VCXISHF(t2TIfE&v;2XYhja@(dCr4Q6?Gmx9YZ3Fac^hWR! zoMe(Y1?6&j+&DQAa>8T~R3PgACKUmfy0n3sp#vfIF~&8a0>vk%!m^g98bMLey>O5* zkBus$BB;=O4PySy+OiQ|aM?7|4_C-}826zVqR5j+EwrIkJuQk+*)Rv`|4=6=@u1Iy zy7gmwm96Xi$HB-x1sw+_@yKwkPp0P>l&c_UVlfBC`+UfOIgNgjm%@rdjj%XFL&GwJe+10_kc* zp5jr5$z_{+NDtoyb96Jr7^FZ)3jTulL-RD{lG_MIoJF94hki{1GfUIJ(|0S#?QF-F=XYc^ zn$$RGhrM>(-tdYOcJy4nr{yI$Jy^5@$iLz8grvNb8o14 zzvX2ozFd6o%@`)@t(*OY}rpXj`<^5fQ5p8Q(h`)Bs~X3;yuUAM#lKO%p!MyyB!+OE=a3Xe~STxxzcAeVKFZ8E+4K=gPs4rtg2ya*I{VaBZxl?q?XyGA-SSKN$cvwEf99G! zJ*w~e>ag>-;mp+Boh?ti?B(2w8{RLTdGGfrLl-{L`s6EL>s-0+%Ttyg6)5pgXcZkYV_r=6TB*W%J-`qs@){qxg*1+xndJ?7LY=Pp@w+m@%_`0SU|w%z&hLuln0X*WB^ovu}Ozo0U^I@Ypk^{e9WBcRuvo+h6{k-oD3SBhRcp|Kc@w zZF_#tSNlU9dLDkH5Xp;kGmg!@!fC!%;?zb$m7dv z=UjUIJ&(Nf-nYz#fORBeI68KK+NHKOmDA3z;5@WkyFz7CYFKk<+ld))DOCy60rv9y z0S8BjSJa1Zi2 zTlD%VQzyZCClIsZhwaCDV3mZfy-Sqqe4U{EQj=UcgSFukZ;fqv4!dZ>Uc~!;@-f)p>*c2*!+9h~z?mOF07u zF4`ftKP;Gy2p`X_(Ne$^@uUqt9K&o-3R@5We)?O*EOo?8CgzJ*nmo?Jk`y|U{F%}u z;uDsQSmKdqz~7iZEB1E6Eco(<(^&Q-6iC#dCR>_)jcL zBJS>X6At<*_NECJ{gmydY0k-}PSUVRO`r3p7VoBVYqiT%*6U^v=*{Lx3{8P`)R2mrt_?O6w>`eLVTyRf793z0{=u<4j=yk%SO{#z z8>Yx%3H-o#eFEcB!=D5TmjbXd4_0RII(~%ttY1c)cn*mp4oqx`{3&7^KCyCA1>9Sf z$K%3qJg!SI9Kp;wpz)Bk%qbb0+;mzH*_=EW8z^;NlWN4I+_m?H)%Z~`Do>FuCEtId zJ(H=srjrRug(JixYC&54!*btB^>X(P~!=h<^<((4S>n$6xM48)0RBn z(-Ow+*hRS|-7Qbhfy6m_I)xbDn;a-J6P=&O^k3pP1Bz~%iyY07ZG2DGas;PoOtCeW zn4a?3p4>TVAo0ae*72%dQSaJJYb`IdXfnmhm{OY5h|S-%Nr8tJK6j-N%sqi}a-=EM za_FdOpqxKy8YqVpnwBmn6@;In1)TPg!voDI6~q0e8OU*^W?YlgTumw}N1;@cKso5t zEKfcMC4rvNRLT${z2?Xm`I-m_`-~Uif*dA8s1Hn@&d1y|(zvwT1gt{Xp)j9>6%9=m zXWC3HYLaAn?(oTV>8lI$NJ!lCu70IecC91-v9*S7cX#%zGmTAnXoiR;k>}d(DCO9AtORvk~Fb6bVrc+6mP4VQs(9(-O zN#1O|C^3^Q)Z~TqLe4@j1a-S5EJ-C=;;K}FVp8O;%RI8uZ1JZvNir|gxl~N5EXRs! z!Ys@u#lL`%B@1eJ1gNZZD2perUB>lqG9gEWTID|l7zHnNC{ zaLzd=z*%WEcaXCJQbvp`qP)cyLM%wMpNLv4D6acr&EZk-qSazAJeoLzDUW3$%3R_~ z#d%4Hg(CX`$9j}wrcA1x0nZF_?@r65et}7vYtF-jYCgOz58-n5aZpnmJFTMKF9hmv z5PG%~CkP4lr2os=dmwo9@ned3w%M$4;7ud;vPl!+mEv?b$*bS+QKyNO)eRM%H~KpV zztPSy44=$^aTby&m}ZH|8TkU3ZpHtlSgEOinh2%he}Eu3ONqer8hik)*UJez?Y=#D z(RH&n%W)P4`qMEmp7Qw1H(-bG#hkQx6{h(T7S`rM1%UjK*okWmnZ(zUn%= zSlHX*tt>!V0}PFS0CnAya`>mc#{TCI!ze0YpVtFzsS{BD6EeHW-QQdQ@p_ zI*G{`P%v=d~S|jMvUI2tb220oA)>4|@Xk!M-78#QZ95koRDEgL0 z8`L@ISRxO-j5c6FBX8UQ+Aqg}mc-7GKnn%10b?R3$5_B0-H#WHBWdCfdzoDF8dMDM zP`01NoUN`>^aWdy$hH!UNqn{f&EOz+7jNO%J&hL*0pJvD(Zc&z zI)zJ<5nan-hFWV`lP>M>PqR$K+(!K99j-tM3{FBM7=Ff^VwW`c^M(VF%x#6PWHSHV zEg((|V^C=_jaBT86|);e;C+%A7U^gsd{bD#B9K_LM+o*v|DiJ8Rlg<#r`PX-Kl&A%&54Fr}LJJx3k%pH>H<5JAihQ`57j2z=k^kTySwFNsJ zk!Q17&94}b8XYE~^aW@;ASAMUp?Rg=kW7d`LzRZ%!#yihE^vW~m~2zX4~_T^gGaty zVhHGu0Ab-J15vfFW@`Y3+2h{M@zA*$vJO^6j6;f_Y(cQon0GqMCBUe)on+BD+*bf= z4&XxUYU1ufzGIz$$jGy*g=w(41|m7RvR4Gb#MCrNUT&%;(N?)_>=Y@*#85`1c2ZT& z=|9zSF}3PwIrIjt<*-GXsO1^ff1J8)If;^_Z~ZA4S6xZgXKbvI!d zQI*My%U@C{F|`VlCS>&oDS?gw?ku39Tq%M6;P%8%7XM`PPq2xUVEHk5yqqmV?6yfQAx@8 z4q0*ydzd!lfDtnV88SenHdIOB5z|#TDUK|muW4C=0RhVrBKh=)X*821R5v}(;F>#= zn|r+@CckBS8RQ|H1r8M;1shQ-28v`_5=TrnsYXReqg83ZGQ@AB=tWvW92pxb?azKp zzG_j$aIUDGjQv$?)FxF;XR9x{gPj*_^SSzBY$|s!ehXMj3|NFZ09fH^d1fa)%tQP1 z^98loz@S)TW$9S~5Q*`HQ7Qxka8KzNo-p%pO824Gx^&z*rQ^;i9d}YXluWov7irCd zav8)l+AOHhk5Ddx#pN{M;Km(|jWhZ&zMF6G5-=p(&%DdM|IX-V-pmide&!BNKL=lh zy)U=m!A7w_Uqe!Du^%huAIx4zSt1QktFZoXXb=>!fQN>FhX#G`&=7EFfP4!L@t2?> zUpaMYk6_b*Edf={Y`a&*K?Zv!>)WWWH)` z0^PF@Us2hb@^+cyx%z~a6Qm}5y|984#Exn7B%IC=^`rB0e|07;6t+Tr{*-`%i1);v z6^ze@h62cHEoX&IDxI0U;F1f>Js9kc4Y7K4;_xjKhNMwIIYLsM7b)??K2dm*7zR49 zVsqp0tt5scAM8tTC3MLGfT~FnGc8>*jGTB3bK>x=5Upc4p%89l!v{;)t`oNf=4XIG zWSnpb-v9%=0n|c2toP-?x-x`^6x$E=I)E~S;{bdIrXJvy(Y=8e2?sd7YB8IJAo^Vg zIG9O8Faa>gWi)boLjDC-x=9n`R!faIXK*GvJ?TF7dLgrfo&=32LSe+phw(U1 z4A{O21tRBA(<2a3pEmM_{CaG5qp*j^On{eb7?UvdMru8j;{qd4o}U|-D(ML@&w`=B zr|}eALcn)CFzGUT#%tWWaX1(c(7jFq^c##LZ10WI^t2gp!r-}%CJ7C1=KNqn-9-bA zWuQa5wq1o?66BthgO^A&I{ab4FuIO^P3Os12ZsPGD^U4TniFo+0mGQ(hN%FO`)t%bfi5gg-P?9n0pV0Z8hm{G?!Go2b2m>-$PGtWf*n&DeCZ}>yR9(026t-?7Au6yIY!;lmo8n_c- zcnr&D6;6*C3R5rUaC(+zM)zV>a64zwjyt$1K%{p_5qRRBuKmd14U#va<8bJH(+%aP z1+h5%v?TV#9sw301*hDPbo_R$dc_a5 zIh(b=1z|S0@5cW_evqyfL7*@B{6xf`Xq-9D?YiC9b1~__3J&KQu(^%excDq&k1KL) zG;n2gs%Jnr9&v|{X<-(Ck+?OZ*IzgjwUD;OqzhJ|(RP?KhKmm2}X0%?Gx$&8V2v2TAH=qPsSkbHwYdv@DvE?Nqe z^QO4Dd1dZv9<-x*(BlaDzh9wkDCNJa(3a+;uEqJ5PA*q8qaHVKMeAT{1sq^T_~+x0 zFZkm6Q+lefP%i-SHN(Tndo(Ad`>~RSLVAhi4hc-GQ&>q+_#O`7K_d2%1}lUnpCiK? z;*p$zK74OH$o*^+-slPIE%}@B;ndIC0tM(#r%?kcT@G5fO}^VhC=a8o^Em=&hKf!J zZ}Q~pbn@_ho-mgt@y?^`;;hxe4|t-vVVfn47dk6Vj4X!CCfrd7Uxj6GjE_R8G791Q zNv_G1p(gA)P(~rBRd*EPu{1u~pw%!6rRY&81t%y{c@%)@3wt-f1qm>HMWu2X2Odv7^t%G|PN-3=FY$xkiIXN zQg|zea+AS+zrgH~>k{V&pgL3x$Y6z!7&b}vu%wT@;OVtiA<<pb1^9?PCJqV47d3`{;i{#4C?jNtAw~ZOIeb;t-Y8ZN3O*U%-IXMd9hen> zFES{3mUE_OIj8TP<(%m(=U`Yb%enYVEaznKO;}QzPI^CU<7Qc@3@GbpaLGzF&rM3_2XO;nsJAC1DCMbfZ zk0_X;JO%Udp~NgS4uk`F@zE%UyQbA21A=b+T!SUi`5%#E_Eknygrh2~YeeDigrv0_7np1_t~Wp0n4~j1*l`Z1XYncUj()%C8alH{ z(0gecqn+FSjlpSojsOU;&eu*6X{Yx>zQg#kmCjB}`NSE=3l9}2Z(f?fPYAdQXWWe- zkLkp>iM&+pb}I_9I5oCNW}-ubZ^4;3m{P;1L40;9)^13E?1FjXfm5&AeA=A={7*+a z&dRguZEKo#@a0?2xnUz^{e^?=CAXsYI5LZt(R@Y$H{dfye5_9rVavaZ@OnZ7sZ#)S z=cVfgAczr46KP|gT4}h$EH8wbq(#H18P;AQ-1145s0j|FMNRbI5UXh%n6u$^0d)^W z-CneVIS0ipxgsUYOI{0b4Os8EWXsy>0ERRZu00_`jX323y%NxlK6&>AwU#Xy_P&79 za5x8;^i{bTDA4CnkUKM)J1j4pliQLb%*HA+uazCH%gcI&U;0W1o#!t!;dD zs?Ti&;CUQKYr~X7e}_PK20rnnF;Db=b{jrW444R;=WlkJ-HN{-=0$iV$vp{e9>H`M z;PqHt2<-^;RafOj5H~DwasJb^@yJQ!B957y>{|a9*=2EDCo{XHelR#oJ5xV!@8Dqt zk_R#7Q%0zG24=2Yagd9OXQQetla@>}b-nT17D2l9a4lSw*T&A~EANq}p?1~L1KcR# z*?AFe0jaRG1mFl7=l=OSdseN^63mn{R774NECR zY0bpt0@>8E+uE(Gu?ncdblYytz{!Fu9qk~kAVq}Okrga= zW5SRL(jW{F;f!j|BClm!9DGbeOdQ&Pyz*&W z`H1csZMgEfr$*eK+N_7N@^-oq*dkK}r_0!_piz)_Zc8W(Z--Cwb|5%==ib9K=Yc;l zTEWvcNu(DY&SeBQ7L$`^TL9pd47Bj0qbCYJL?2#%Bi>{wWMq$wYXHvyR^LP5Bw~Rc?sTCInI_1k%yi6^A77qxR+Te!=e%N#H zXaFxZJGqZTaF8QU#+$}MIE5eOILN_HEi<#B{E`ff+CQ25-N_xR;0`nhhlcoY*r7q@ zv;LX5@7Pcm?J(P!neC9gc}S2gc1{^xyF3tn%%KY(a-i9Gt;KI{*=Ix-%r&Ep`+U*Q zaNY2Q5#77n7hUxe4m}lxAJ>E;re1!*vAU|PY8JCkuAeM zvWl(oFol#4VLU%_r#QR@7}kIRV-7nnhCIn+W}2PGn`W4gviI$5TzI{KvZa>#)0fO_ z@#)g}&;x&y@}UQ=nef@)>3x3r+JayH+LETfw(v+F`#_$CyQr!{5SNCe@^uB)7b4o; z4=nhuj+4&(ArPY}KBO?yh4F!CXl68pby<4I(6c~Ub0QCJtS7l0bVlsBvps7D+jQ1J zvT}&(0V*Y@3Tq&}8bZZ+?a&@Mq&Z*eEbW?6rg}WN;*zqVlyJ!s+YylLe9H9M7JtVD zPvNOczF;yTvQms1Tu*e6pgT49VNLJXQXjo?DQJy-5&FrqVTUzkpp&eWK)*sm@Jx>{ zo;9U>@6+Zh zcl9`*Sy~0zjIAEA=G3c4^x)V!@Eh-HPkfxZ>%i3*{bMUc{;D2d2P*4DztLij(4B|1 zJrl3LUGYkv=j{5^0UqG%4__C+1l(ge#Ir}>om5rxem5`-pbSmUroGcDShe5_GGP6JAa@M2jej0cb-3p@HMthF16q@-FH!L`43f(a;xL!J zF6V`uw|bZj$uKKRT6lb|Mvg`m#)w>a(lzXK-WrB25qq6N4)PlUdytQr*TTssFQ9X3 zAvv*&UW`61;yJ;StYL=+8YU-11LwI^{Cfg8wx)t}#Z(#eJ0wB=gbd`X@B9M|?&8iK z4K7IGc|<T>ZN17eVy!k4Vv0LxK2KJws#0QqzSCYX-E@!k<0U0H*e;cKfFGZ7kB%oJ0l z95KV^d6qGF)#Hg?9=KA4hM5Dk0@qml(rCa}c`UC2&=xFjEg)bP1gu4_i8})pJ756> zP)2LQ&K9l2Gk?~F_)-;{*QM6LF`(#5q$L(dp3K^QS-I&C+$KB{ zi^&~c@JdR2j^}0Ask+%S;?uhT&o6iA>3#;2f}-^F?!TPdVtR+UkIZ7A%cNZX!Iml) zZsvvE!oyN{1`Acd4#x_|1j|!6NQuqYuzJG0DZ`yNIrADUsbX`dTqs?`&cJkrOJl)h zAM5{RefeubY!77K=-(RUL1tiF%pTQ;mI z!q4#|Ya$*zJx@p_F|p%lgrDa~?QDD@4!^*+&UaVEt|Z-fv1l0kK&YEX$CZ{ny`llfVCro)@rRcpIIF{fOYveg1m3--*3>ruW&lavBdc(%`15f+ zh1J0i98S_s)Sle5>p2uSy<##>1;Db(uyRJ#+QW~Ej;WVS8{m@|90zrClq2r&A2gw|aw3y}ljb;pFFx%M|0Tof%ZD-asT@H@I0s&|YASKw-=2U9 ziI7RKGoa}0Xq=O4rooX>jg7=i zEIU79yc6x-%FHV3i0AUrAI2W9t zs$+DNc|NOyTgZf2a9B3oEhpwe?RuY8e0)vyc?k~I&H;zu0mDA*aJ#f*nq5C@#*Es! z2Cnyc+{nmz*Iy+&;&8j9Z&|WrbNyCPv(lXU9?G~cNs7A1Z*_*pEHFuXEsHZ@R*k*6YeTW z3*8^kouLVpZv4M0^Im1;o#J%zzg5=N_S7!_;J;8yy*^k;(N~qFii^sMO8bMpx3G9< zN?&ugaK9<5YtvYsreZzBF4M;2#41H^2wD-{h+1jLt7kt-#>Zy=!?uXD_ zQzyc$AClMec`3ws9scjMs5Ob;X7YW|>cl?XYO8DOdQPvHA-y>E1YelCU}SY=s+KWF zx3CTy0EWcG5RTF+YU-f`pf0s@yPc_4XRc~OikOaJb>ym)ORs>cjvr26cnKb_F~~nk z&JjB4`CQoeN>*Owa)>KTiHFsT369KgzPyP)GC0@rllbzYu!5s43a7?B!>}8xJPN0g z|9Cmu6fX+Cv*0WX9;?{P6#Pkr!|d@%oHoHr6TB?Jj}kl~i8CY5$@N0`BqIL_avVx$ zR#}5hD>p_TKf%dUJNTlBhv6`K4*5@%s!piY&@7YcYNtDg;L01OlYg|FgG_kKXG+T( zaB?1AZODI;j-U^g>VhE-IQ$O}HxxdE{A1d3Q#fbryb;Pv$bYh@@~o`LKh{$NgiyF6 z(1s|SOJT4JZgV=t>4)#OzVWBB0Cgt+DV|fvB7YP{=&AaY7@um?2mz;gqB-~g@J|K5 zVyBCnAotv-ms|=LP`Dd~!A9^J{;|%`htl*>NsJ(IQs6iaB=?L5z)xI%3Kzu#;3^JK zKW7SS;^S2Ll*(CkQ|lY1P5>j$iuoSW!<^@(b0XV+b}YSnpp_vrsxjzRlfS$J^PMyI zzC@>XBaD-ywoN0T@o=tn@_FR1h!Nn;Ko4`}z!s~IOEderEA~7VTU1Q`@v+0W-VF4} z<%taUc17f$5c8KM-o?BroC;0Mb1T#=hNo7Qxd)9EuiB(e2aV*ZANeQ8SdgU12KJ}w zpCa_OoHo)CEY10DF9;q|o#O?McD52x@Eo^W{Fv&pP!rHj!8Xnv7dn;5ElqdB7)#nUUM zf?+eIe|pKq7$(DcytraG94z!a!rLHt2`&|(Ib)CT zfY>$uSPCzJol}0oS7Gc{xKK}y*G;1-;z==r`-o2P(*h%fHX8x;E!+(JWGJHjMvyKwQ|UG{jj;Tq zAMrKxUSCLk<1?*&>}l$EpPyF3)6^?|xG#c#srywcdP`-}ykHjH7Hmzg1>4XysS$b_ z{+)hGZA(|BwWIgaa_DiZJzbvOfwra}LRW`EYB$V=-wGka_d|aAEtH|IXkl8bTXZB^ zi*Hk};os$Hh$yOQk zRjW?wUkLo8RcE3FnYQ|8W`X)3vj8rdx~bQ)3h3LcLVCS*5BjlnA-&b62hEN2Qa45l z)cQyPy&vff4@t$e3xA*EZ+Y8dx&?pF;%_hhuFol zWyb>bQ%BSK9j=RLo^7j(ZPU8khC`>-woM!D{`7_2i{8vVj6TmjoR;MsNq6N9qHTFm zdNyw`?Zw|W_}h=aYw`!v9r;7lf=;G&QKz9qmvtJZmUcF+OFLuHdsXKk-Q49Edc4aq zYEKu_`k>2jqR+e7>e;TQ^?uhANPUl+c?IyIw6egjwicMyBLyeHbr&A4?PgjVyCKS> zxOuf3qI}%VuP*9tS}VFE%GKTdYJQ<LT2mONy9>{vR}0UE@1t`1t#F*W zs|WJvQ9-n|$1r-O$9Vdr#{~MV$3$A*vyyJ;If=IP>`&kI>_xX0<*NIN3e+P-V0_UO z_0L{Y)8FY;MW6SYMnCqdR`>Nbtp|JK1I^CfHR?q??CuQ=$G7qDdG7-CFZ|6bE>KH~ z;RdaEhIM1{Oj36i*U{GELb|=A2R&F)PrFJQ=>3u->D!Vc)GsBb^=ApZ7%eQVQBRc? zsNJPg)4wd8oxZR19QwVq2hHzuu6nDFY3=Q^${_l*kFEaIr$Ei`TR>0rJzs4rGp!fP z;P2?QGF!cahi}U+B>EW-f8t?9zd2w}KbsEpYc$lehs`zAdxy<4)EkH6?(4&G_s$Wx z`{4-Oy)_7T-wwjvqQSVkZZPiN9fG?bhs-nRv7_c2^yyIx4E4)VXx^awouaNBIW_&-k>}E_Bd5{5BdgW6k*4+N$iERiGqOg#j)y%X|4#HF9=;!0 zK+hf5ihM8u>kPBE)-iFST_H>iFUq)b@dsarfNGxVwEU?j9bCdhZ|G zOTBptp1wH+Pis#7U+tX>v|Uwo_t!alpR>=s``nugNy8P?oO=TyN+2Y;yi}CKD}(?d zY9)ahLI`=1gxnjze(h&Opg<9M6M_1mpdb%1z~E761A+y_7A+zcsNpjzA}SO*uznQ2 z-+!*P&)(bq^goHF@sX$;k`+T|TFrUOneR zTDx}6=S%MI<}6OGn7gEY&D=BG4Re>d^>dde_s=b--%!4heDG z6@2ro<5wgXA74(dJpM}VzR2Cp$4~yB5GV`<_;ju1w>3`KjQz-6Z2vnUk9v54%)ezH zC(HtamG5E4cuUa@odTq6A$*c)XqyEDE!i7dKJcg&>Bib=3sY((#n_=%U97OP(D_w{%XkkcY=u9KgDQKX8=UuwpIm;3Q}4D{ z&u$Nv^tEjJEp5cx0hYDSspM(x$J2&h^KK1=iaf{T_tV4vAW5HnZ}dyvX+3|b&)ROU z73wIhMHaP$-9GtwWPS4P61GLh(UhAxXUJwsZ|q7@S?&Vt0Vq^|nTq(qH!QoSRsZlwpSfE5OL*yP%N_q)`Aa1HXd_-O zTpXiNZ7Rv5zyMIw&Ne%p03a~{BmzKHqi1)0b%Wz4gxlBX^+YEI{FDA>G|**xOU-lb@cV~eq%(k_rX2)SB1I$%G@Mjz$)zJpG|l0MjWI4%R)t^%pS zcL)qyb_Vbmn;(HT=t|8WxTf3|Y0&oycarGPom7H@0*BUchtW|r$P4CiQ}dNC74I5I3Vz){N=mB2xKUUh7&@W1}o74>M`YpiAtkumGG3vM;(e4;{0`O znNFh_kPr(7AXsk%%zFS)_wd1L3pzDHr)nd}z+)JdkA%*Rc1w83!H0fGTKp&ap|iSz z`D)1V_wA70jhk!V#PO$g+G?e*3BWIQPdtv}kNIC1u@@(yaJnhXRe{&+EZ3irC98zl zDu@6bE}=Y3DG0~1#ObLbZe55DYobGhv_VzVg~XIi5TYxtraE%#K-Ue@kZ~(XhbWYc zmG~oCOpQC$6|Gm7PIV;E;YA$w8stsVl?iT%vq8>Hddf=G75f@esN>fl>qz7iB)XV_ zuC#i`K}njP>LdcJ0ZVBF+I?Sn!j;-il!2$!2k?)Zo$xOJOE??-APY z1b+tZ$-*Z$EbE0>Ex?Fz2gqog46p#1s0f(=iLJmc)Tp+#k#uMyK$E88M(Uwy{#^nI@jzworN%C)Cf5ERVXQ9Hyoh{XVfjcD0&+e zkE>m)5tY`+HPS}Ck_>H_kz*&AVP@yTQh6C>3SHG4?Q=I8QQ%cVaISzX4uo){sT0B* zV>e?M5$U-E7lUUW0-&4^ztASNav&-&mx+;_X13b1EG6USJ?pj3^p5J8x;fsSjQ3A= zu$vwH&AaX9-Tr2R-ArIKjgF&{lr!2@o1OcSajDUV4ef0?ME+z&JlOmrJ~f86E@?i5 z5g-|agq4Vh5E`ROAoNisMKTXZDHRiZd{d!X&NBN$HdK^D>+fK40q zbOw~F;kC;<_$BM6jjlSQatlP}ilgb=kIg8~PX3sd#uORcT)i>`Ylp~&nGz>@F#W5b z!kIU-9LpL@{o*Kf=3bxg^4byHgz(~7tXaQ3)4q*7%pR|TkY`)F+RVLGE2ctd@2D$D zO3C)6>JcS(W~uCMC`E2#HFlrbvEu%E$7=G89ZUaH*5zwPmMq`ab@}vtrcL+h2u{e? zUsR`VzTLCFmE5myOoccVBA^Of?5dJtx(++yLKmJ@x99rM2?2(EBxd{gpR#|6iB(uUS2N9% zmBA{ar)CvRPfb_p{JL2uvAer zzDepr4nH-@%e;AnX~RmJmRgN(`Ou(B^-O3`zR8hf`%3zwl8$?~z8Lvpy)O*|-GB%} z`YGcl%@4t2^y3DQcg;cTg{{Py=Cw@L1dE!b(~z8juJdCFE%~vNSrX?gL^z|RQ?4Ax z=8EAUL~Hauv+Q7<;4qFL(+~6r4l)AF%D-j(npt)H3xu|deQa9#@*w9#E+DLxw2d&d zJR`du$Qsz(`c<2K;NEwozzC1c9wQ*wh1Gqy{I03SUvbCGom zO$VC<+7yS0jG&>6v*;j*lS8;xx9MY5`AN5cUdw?l>r4Kx5%(spQYuH4*g~iQMI8K_ z*io7&Xd}%l&g2BO0=5O8YiqI9HCbTjn$NXdb^d=Pn z+i`e1F1-EAwzr#cp?VamM}_KF0=>e=vOe71R%}E2OT5u#8sd-+N)Unt3(x!9HzLLo zVo!TSJmX(ITm48gph-emG$iB8EG%B1&HFhT zW+FtCc%MiqT&YscuEf>}GxJ<683!J-8WG zoVAlbkVua>{zoeega)54P>Y#F$$CuG zSVkGzW4QbZvd(J3qk-tTKxLhaWa%3i2$!6&c!YHsYQJ*KbsHV@Xa$h-q$8W ztxAU(4OmE6LEV0Jsma%yM7V++w5s9?d>d)8LTN^=`7QFdCTJm!Xz75Dp@m(;hp=Q| zLHP2v3E#Jyko?RR6@)Jo%&UakEeGwQFa>|FT1pVQ#wb*Jw$yy`%!?l*;v_isSYB7w zVL-K^R<5xidglnAgFtAV4qZt|3m2S9rBK2G>!=spM0y1-yjlr@J4Q>PIhLllmFr9B z3}04jK2W1gk1wdPGj~D87MNHyh+k(leGdm~&9!SSA+Q$m z2$V4)xPDjjW#SFKtOH}swVZk6pyXf|M}_TZp7o8>k(iWaR%1Vl6K;(f$Hjm_Rh37Y zwbc?=QmU{D5IBYA8QQ73qypMibHXbASZ<4lg5(b1Bc@SMKY#!jc^SAUIrB^UWmp=F zq1{f^$RHq0(UUSgV4fl*3^fCHeE~)-Of2@)LJBGnriYRJ0yx|JiRsN&0M?ZOEM`Q5 z1TqK!i`oIkXNYhxG6?7p(FQP^KefvMQz%Wf9dQF-GPinwA>FiR2f(O9^9C@({^kIK zNFivbz*C&|Tq?_2P}8wqK}$43Wc3Vcb6VMiFJ+BFj`p zPzXB}jvN6rcDY<fe42F8E6kTfri_Nt@C#MEhHDps;l z+sHIhqmxqll?pRJP@p%sWrI=stgku2`vyeKdpB@SnPrD`9<2}koT{1DW%mGYu_ zmbnkxU{Hf>7PN^M`5e?BEh{&;W_J)iulU6P$CB6DIlaj1gkqX}T59pB$8VUfP)Stn zX03twy@4Q>`n`^Lcl!Nu*@ptKc%&hs9@ziG^Fows8h#fAUK=g*oCy`j;@@X_t9e>xGngD(1bj`Y%6#qO9E}2Gc(#za4{+z_~ z+6QDN7vv6W2)R>O$OV!HEhRP;`^E+}zjaA3-mG#MFPhKcrhc zX@O0<`pm(Gr}~!Z=4P@sSQBQ0_*|Iz^h{DUw7k|@W_oY_Z-qV+ zDWgzt0?Aar(t$L*_M#gv{@O!~Pf7<khSdFSQ$*IYd&z*+4r*B?^V021x9W%tv>D8cKHB7!9qL+NZ;q@ zcvG+?BVf}ppyI&`AH53agyxu~&61xQi*4Ur&5ckm6LYRjNMuwa8YJ!s!(|zuDOuJb zF3Osbb;0ssH6A;kEgfkg0<@78-l=Jg){H;gqXkO?5z)Me$bXiAMF~@p7`}+k5kAdt zsWM&5eud6sy1sdCG@m%e7&!O?VmrR&7 zcoDGtQa9c>^P<1h!r>SGQc~^(#01}Zp=cZPJs3r0zD^sNd2<-(305x~al!JH-P_VY zyt0lB9zlV@XbE`GCf z@nvW6c5cVXMC!w%iW$ZzjS!udP&EeY^tw32tc7ebUB!NFW6LPr0%bF3X#}8@s7Vm@ zT64$os~vH;oP&fl1lC5?LDIA1?#Y0KNKGc9@&Ul#w0>LL0P3K^F*(B~1l?%4<Ke8h>VLdP^tQ$EYheqeg|$l}w#L25OfF6Wrsc?J6>A(6v@2!b4#hhjZF# zgHEdw#kKXI)-nz%E&&!>l~nvPj#)6QN)SzT4)D-l|Mve5zWUKc8Ipz*Vd)+vZQJ(pj*XD^F%wrqis; zZLrp`-Da|lg>R|#OxO0nAkcJ2ApJEhp_BRkh|UCJ+^ot?0!T?y?av6EKoOc*HsQ9^G z@bdrIaEftDcRm6iL-m2ymE){IFwg=bE(D?I92aRGRx}!7H(c}RwMl~s(0|ru?`BD` zzZsWL0u_;?^Kj6Sar*tm79b213^67D(WZ5Gt3~)7=^q*e<yeHHwJU^{Q?f}+HN*y8|bV6094lb*54Fb|;fUfayW zf>1tYfr8mo#qdN66cvMz6~7IH04~{W+8}hc5Ap3kZ(BAGU3kkSTE>8`3_|Kwvqb}Z zeiRKnTx`VHxz#)CvTGI^&1e9y(`Ri(wLK0iz%~Z`ZnGQl2%O#MvzUUj*D6EqIz& ztv8}t$2;4#O=e86OhDeWAO)I{lr$`x-k@0f^|@2gS>Dw8gJrE!q*2SBX2cvfUpxQ# zYm>d*@zUfNENfr>!z_H96^N|o+Lcu6Id&zp!Lh(5Za$5I(ekKizINN?wA4=5zD@_i zrX!{>n99(CFX}_^*vN)sUNyeUV#!ubU1z#?26+f$8y#oz?zi-#xVbUYkF*dAQuTIE zw4+zvkG2)RSjmODEK3Dc8M;I@y=A8u^}-xkA$*KlvnGZQJ=fM^j^%<8$<`sVQ)5>u z8j<8R+eQH%^V&kOP0Tu2(|VL2tfv48OnvYBETd#$ihPbNL>^n8^(=D`&>ux6zq`T6 z1mhB|u&NzIHNv>Wjfp;tOS%lkC0(|ROYtbtuKL?Gjm zS@DB$DI1YkoJHqA#GnLx{xB|ixe!Tv-41}Y*ktVSgthqTSO z1Se9z&A6l`9MC!v6OuPBMMdM1c9sV#W?VAE6d)INg0{cy)NIBj59Z9cgbGGaFfM5- z4kWe(#lm~@wW*3SJcA?i3>_XX!A6l>GVo5~9XsZR1HHn0w0b7DBqXNG@#!bAb zBob1uIS7X7=*+e9EQv;tElAza;|DFiD=Yqpqga8eK`}P{c&EXxP{46H3MxAdrlElJ zo-&>&qOloPtBn-0_huOXUlZ%{PtXn{2V6)FZZfjGY&N+;8r|wJQO&`euRn|}5b_!Q zPbL(C3QO7=PhqvyUVO$=B8LvpWFpI2?dkS?tfP9AWDq1rUR^X6rfcsHQf>aC#e57& z%!ho2`MAlLPnUuDblGCQ>gLS%*yxGU*XhiBwuZxLNjNR6;?##HO)LM0?|Mdr@P*&$SS6dhU15cq`&p*<6n1u{1=V(LX+h#f&0(fvBGqd_A(D@ZrbCFW z>Lmh*b~EuxS?Wz~SerSY*k=wvc9avnM?=s#?13H-UWc(cz}O4LH+s!y;$pt4sk?_} zdSy(;v?i;a7j5A*9NlS~G;7V5&pG@5;K%jH@B--+KCT~Q*pJzj`1PZ9C3Zcg0n0SM z-=|0b0Jd}%TgVj>|9(}0JuScqeUMD+Kt9_;la zAX0hjtGW&&XoEN%tOutoHJ;C%Y-(+zquKGaQENV%TgqgV%4W>-6{2VJos>I96=$8` zlw+<$rt3=ie&dEw3VhiU<{-j6Tw$fgq@6S$u$)?12OjfZGH%iu6h$srq}YrUT$d{4 zmIR_+M=n+E-Zh~dELF^uo~6Wz8#47ay}q<Ak^KiTLfHTa~0HdcSaO1iiZcD`!d%?acc>Eaj>O)~Rxl^<@B&7t%1>E9`i@ zX31(O!&cZl!IwRsmC2mFgIt$*Ud3B(e{;IYKzx~Z*=T_ntAtLcnvGrQpWz0x)ymHu z7YErHbXMIDixw+L8YV3XGqgs5#x)UwNnvgJ2h2q@=9pwC2@Aw;3imbGq!8!+?S z0{Qyf835L7s8UbJRB8?hd?R!7wN(T-SkDW37 z^FX1F*HrHz0+MTaCC~O0+svcqeqK{T(k8%ZNMKhLFhbb0mnj z{-`%5tKJAsGA34YNte$~>_JP$AbM?fGA}r8ve}7QQkD)U)g*P2#!dZ;`@SS0pQb;n znX^6^s<8Vbd7uB2NKFw{c{rpXM}d#jL^O~#U<_7{?5Tt`Ou(rP7%u`2;WR1(HI#W4 z26R-=MN;e${ng|zixAAaX=;t!II2@Cj$gzP_L%x+v6zigd?#JF}_&^O@h9miI7a19YGV?BWv3Zb$uKt8~irZ_OYQhtF7^OY@K*fZ6L@# zArMry1q7KzYZRGQbjuH$X&66&6tl0`UC3_l> z&0bO$iLe#0gw`!iQoyR9et4k)CrL8mLf;WtT`&`0mP-n127RU<*$M<9L1Eq;tb~O}JNv-;CF@KH8KmwYF^X^*#Iu{VID)RULVB5#gvexr2_JP- zC*Xo=+=_qYr5eV*G=1S+rLmuu#-F0%GAAHHnrkC1=B1U%T{^hcu(uwwD8T+VhVJrV z{+20}&Rc(OxmfI%VjrxBUxrL~sp)k4l>8j|^jGL|9osN;%N4k0Dv3Alj6!SbuR4Nms1UG-~3G*uf)tTJ>;8aHcttDW z&mitp_BAX-5#Z_6ght1v20)?73_iM#xX+-Z`FJJ|hDf2q0PS%Y?5iG!PFY&dVlJ)aNaXB# z0gFgVD(N$FiSg)Tf-o{N9O_bNEQ>abfot4(*7c$po;7KfAr%5bKBJ(3SK7|;?2Fn^ z?Tgy5?TfY`l6u8@*wX_D=o3&@ZbbV``_nhOa6;ftS}pz zHVkTHOIt(pU<=d}J{NFR8|c+>S1AB_?>aQ$p~C|seKt1@Y$5=5s4U@YLO;d=9frw)wM9e;go z12RNQ61PyTQEC_x$wug2ByYd0v3+B#5xS_qD3d+)_o9Q4?%5ADj6aOHPb2PYjPq#6 ziQ7h*BPQ>}mYTMfjj98&dpyaad9?WXwXKyF;4e+bWgG^Mq8{6n*N z2esh_-Uv1J?-jI^S70gX_YF7LIzYLay%R<3+Il#2;_|R=3dol9Kw<90keCh*DKO;b zNXxh}lfC4^{Liwa=+%H>tS5dHNK}IQfck69$XbP2$C$CwVn)xQm1S&Sdk$rL?e}KJ zQJ)vTbZYl)InnTIjfo4vsNuKIVy~ihjTK5O!q>Rr#<*pJJI)W|KwLk!!_*=pl-Kz7vtnD~0DtVv8 zIcD}kBH6?n-Vj|3cKM|!>W=o4O+#Y?gisQ9*@-eVxN2mv<(pfydj6+|7m&rWm27TO+UQ(WDL5?; z4>0_;OLys9D`dpXlh^&yrBgarZGC&U`O8-=p5JQx%2GPe`3<_zY*o9vlupd5S-*TL zy~fC=RxNA{uUfcZ$;qVWqqENxDlS-g$|~a84U;Bp^NMel(sySq`jlgv*SV&gcg_;( zEuX)D#DAl|d4Dm2bSw6C46?6w!hTg+#569_veIrjOnT6p4 zgFG7s5S^aA5~uHK4eY>K9}C1?9LiWp zlQN2fh)!B~2G!0^wl==dvlC~}JU9%qbI%^$YAc1;w+f}RYv~@FBWN*+09Qirr!+v( z>Lp48T)@xmwRHT*A;*q%qKQXq={WyPS?hf2&Xp?`G3w`P>4ZQ1Sn;jV5`ju@&~$sH zoD?tVf=t^Q$e-QNmG0R7tk5{^KG>C(`1w{>I^e6VS&>y(cv53@S2uN~lRmzJOt32# ztyuD>R9Hg*OD}1}k1G#7bhyQj=Xa;?ZL5nMv0R{e{Z$7wk7(7uqdOh1f=KpQ3r#5=);l|BNN4tT}~7UrEz3 zjWxrPvLTKrg=_2S7^EtB36-Q+*`O)>d_8?s zpPjx3Nzq($eLa0g0gVcxTBNw|)YCmJV5v!TeSZFm1xuEb1(xi|i%Dxs+oN80?v5*% zxAS95!7KK2*@eYMteD-Pb1}f#V zkMJA!7c%ns#}*Jae#cmS)rTncE2nm-FuoN6{S+?77B-^@?tz#7|N_ejyl-I6AQRs)I748 zC0O0LP*Z9{-qbX*mQHr@E`pDds0oD%`)#jOwC^cEV8LM| z0Y7=k8K{rsACBK!cvn+z{_gZW$2u~U_7zH|jdKSSZm0iI+wF|;ZdVuYR%lRjWTF1h z4x+p~F=c<->wCY$9pK_Ah1VAzJL_Z@?_MZbJnN%{(M{iHM$oU)gu3 zBFv}n_f9v?#ZwEfXg192&)D-_ZbIR9+PekeJqz_Uy%j194Y&gP&zL@;__-M~8btz_ zvDcs*aPhQ4Ynti`t?fP0O>*({LIq7_g$n!Z>` zOTM~Shq4YyMyGX1GCHk8lF{iMl8jF8ko0wWhorC5JM?*ahdxj5(C6v@P03P6!;e_( zo56HOhjGm4Fpe1=#xbMAIA(Of$BYj6n9%_rLmluj1U{x@iH37!t0VJzmCe0(8>_?X z&h1{Tyg3)=q9HWC+qTxX)<i!ryhZdiwR+_Rf8?)|>njH$SS4b#5a!7kAauE4#*#!?LS4*}%=WyZ*?z?{f1) zZl3EJ@7yMCF6pkP>$-Pv?n~YM$uGG1P4_#(t3Jnx}$SfrTy-{o-|q88ztxW z*3*l6cOn65Z*OuP1>fNBMG9Z;eV22uQ+UmodV1{`Zf+dYpZpCs4~%)YbB~PacV9yF zz8y97;l9M3yIt(A+%9o1Zx<(jxqamRe*1>|zuWh@%f}A5tH%zypO2mB?ix2hX5KXU z!uWdnrSUsE_to*e?uGFK?t=c*ZRqcHkN5B5p6l;TzVPlSxt_l(Ce+hwCQNefuP5y4 zZk^EYo*bB*{CJ?A{&awq)k_2Y$vuPh^zR1WOMeD;b3YrL;?A15OLFPNdisTlxNzJ$ zF-q>^@9!r@?%yWH?!29=?&_Tr_v4-89A!k4=i)t-H=}ukJeJo|z1KCs*B>?*YBTbQsuef=2H_cwYDZR zSXcsc@Af7er$p}cDTD5^J&3lp$He53srB?9rjk)>|w_XBD2@CTygd;C4i-{<$Qr0aeke`8_@R1w-G^p6 zchiRsPVV|plzfZ7f8g)p1K@}QX2B5$^d}cJ>**EE!=3x9X1}|$nI=D=;F;!Z(o0it z{(-5x@xU~>^S~&1fWOBNjNCm3#qPTYRo#ydO5DW<$L`AqC+@cg$H`fTKo$I5&ENV% zK*%9SfsjM`-35nI>CmcMe<+yd`m-|=_k)>n@;ox*SN#3^%*dU0*bH~$VMn`*XT|RN zSygxUti(OZ^+tZ**DskUC zDt6ED`=z7feXQ!9{aE7O;QE4(C+^E1kKN7u zZs7NEelPvw*nR1bljN(PsHZo7g3sRmiC*`ePsHwrpGe#nkByU?j*XH#kFBSFbL_Fs zJ$P(y@;Eo&KX#6DKjP*m-2CF$xz4@J%^Otxi#buUZcaV@;+*51yM9i;yM0d6ZQ$?O zIcf599=^)oTXQ0J)!Z5Gmbpi}M>uWv8oxg|E_SaUS9RwfpST;3kKLX8K6HH3eV@O7 z&hJH^>~sJ8$vFAxCxOBzKk3}Rev)2rbLPBx&Yd@}*IhoZ zFS&MJl-$bSz4IdX?Rj8f-qFd==GD`e=FNBR)p`By8z-d6eJ4c8BmDgnf16IIr!Sts zr25JU{qE`c%nkFSe62=TISNX7A<$leTxwUiz(l@nDVohP=3V{%KvEz(s2ppuP>qe z>ZO$5vXt@{m)6ramQsGhl>h4~l;5_Zo<6vO@_$}I`I{>!zi1`p-(6Wxf4q|NS5{Jf=_<;vUxkJFu2Ux@ zzdE&^zIp0Wmt3?O9$me}B^R$@PFX|A9bDYIhLX!pucz0aPRU(d+dOdb(1&#@PaMD=C#^TT65=V9{$V+AM=n;#N^&5nngrp?3laWBP(1VpAaqY4a$ zRKq!l2t)g*+v~SGNA*TGML@Q=xNg4bsBX6JQK1#_2XF*n#dH+%GHTI7J&5T6qCDp# zOjZZBn!Usn$&?n>tRHuKM+Xle@IXmC2SYX^110ffbWcW$TdrlGl9-MUSIdAa&(+rT zFWn7S7S%ebb$-CYnzokW!nj`Z{UPnF#0Z=OMN(&RIT()Si^^GLCYyjF%m3B(wix`I zTN~SNxA-S4|H0zwzrg(er~mVR{Ez?f?7#d^qv`Gc((g~k)6rnwzZzZ5<{$s**+2ca z|DC1B|Mma+fBp~r=UMI9fBk>|@Bex2UxuS|0G7J#M*X-|>-1|!TwHZiVg9|5gz7dA z+O38M+)P64(nLNy>KxQsUBXt^&L^|MvUD@O9-RGLz8#%aOT*Fi^7476vbI>xZ_bvbZnt*SoGwT6 z>)B+m9M7ip!P(^q_%Fv7m)9kC)FgUNXLu{Iqxh8Lr~ z@nSico{dW1ls3qGH$Y%K+5H)qerGYcp{SM?<4>c~w;Yygc{#d=2#mV;RGx5z`isS2 z_Oi6`90MG7d%xL&MuKdS-TRGN@3_ZdIf+Gb@?g+P&m z;q%hE8Dr_{lQizTH6pqi+>@&9@`Y*3k0x?5>R3=xA7RbbnnfuW!Y>PnMj>-lRnl@0?VkoW> z3N4Na+Qr5RHqE5aA&KQd8f;iVVcFtf8#IZhufQd#ZosOo5j#JV`OIC)35UG@cf11)L?VgXP-+ zbJ54x)O_l$K65l5TAMoji?$}F3%}~t zB!?5aD7)Qx>NX;UGu%dSTlU2`b6XRY2eJ1a-ka#~JK)uu6CG^_{Lt>?bXuWg$|5tx z7Ab2TqMWj)5k8sq|=;w}-xkhZN2jF5km>t|qmgC*o4SX?XAq+L4E_R~H29wj#aK@EYf1;0E zSGPB|vA}8}*4T~8)>d`fcmp_8>)VyrZ+A95%nQK0+TMI^V9pfJ>z$oy2IlR?mb13Z zc4e#ViG#)}2R~UEHrgq-EFK77&f+g22XANNVd=^<08TO;OOL>=_W=vw{18u?d^(#= zW^*#-v5c1r-2G;mAGT?DO`WI?y|pZZIR2XfiIqx4Rmu zzhCRJw+ZS`h$W`0>iFfTKk0whXf@zF_5IvRK^-=ZcN?vMvDjak=y+m`C40j1H=y?O3033SoCOJ`^;QF?LG`0ruOD*ObyFrm++a{8rptIeTddDISdPT6}?&q$MiUv+HJNPa;~veI=ugYW%+DATP(_U?`1bimsmkn zQ^S#QFrMBl&_wsoH*knpcPFa9Bo08TQNIEn))&kMpuoC~e>;7wRp^S*GS@NN`p+nG zAL&_0kn;jI0qg=tF$w$`U-*CVM0{OpH&JR$DdXxp7!AiaSJ!3wI;;oBNXm4)m@VhC z>+zXk_+V){J%Bx`RQJep{d3p+Ft243E+5=o?GQ68M4P%z<0^Q)2| z8qh`}9$Q6`4T+34@epoy*V$8Pq6*dwtFDWJ0VVM3@?Rknd{66_gZX4^?Lo(6+oz}_ zqD>)jVIH=!FhS&BC%J*u#yoA!O&*t+H4sdZWt1L`(()o!G zXRXY@IcQMf{ zzsd3K3n;8Tayq)9+=chw%)s8PWd(ZI|0$%YNPt#9?3S;TV)kY-nqDj~^Q{lQE(=f*t5N{2I!W z^SAELlc+Q2)DdMA1MxY+3Pefl80A7xiu_|*FlbG4m|s*js-sZ!va}PP1)QT%wCqj; z&I6A5o)}z?@-ORzVjCiiVm>~-2@Z|iyt2%K!cAKMS*tO09;*pv22%};0I{H?A>j6> zN{-)GJzj6n7Ktf=>J0XjfyHdsf}|dg$deh^5&|cW$FCN->2#_QRf$C{*{wQHCeG)h z#dI`Di?5l0`JV4bJrAsX^dY-nA!znnzjgGzWl|t`5IHs(TVtFgIOnpbn=~Id!Nm61 z!I2BZna&)Um4+oTN|9fSH}sI(MI{u@$7<>ohLdAgY}ALcVvIDud$!ETTW_@6Xt9Zf zCB_wmdX+@ydl1NhihpDax@9I>e4K>{HLsOcEq#|zsIFZ%eZ?^Mx>*};zXZ)Cq$1(?L^beRHOt z;RwqrW!LOPRdu&o4*4;UjR@Hiq_iq>yG8ueC7;Skn!=NKl2cviocsX#k-ne`%YbRNV)7flNrB~+^%dPjL z^0UNU^RsuH^0P!{^RxGqj;Bk(p|O~bW_%VL^4TN7XTc$#J(3%X@hyki(*44lVUpNy|#m{6t0B%bA9^Z0BGB=J5(pzX4U&EvE5MKP7= zaX4>rE24>sD$&{I254ii-^C4*#?kXNNN8#FkwM>M#OW}^yg!}}NB5=wUaB7*?l<2X z$bRF823*j`hdrll)7=k9`3Z>sWUXkUx*o2yAyv%gpkRPKPm0IG4X_8!Gw^sZnhV7l z;VMQ8^`5Lj+%f?viM{dFs2If(rJfW{Y}O$utLw38LioC_L0kC%aiRM0Dp3P6y7wSUW4LXc|4- zY>c!~aL1!qXW7M!*vmJ!q+eYP_?xlEQM7A#&%@vU5RP|7i`hhd0RgjOCShM{V4|LH zIek-?Fl-GSMI>q=A}5YsIWcD0gittkdBo;^L4eQ*Nm^b5WKJp?_lS|k9gbqE5bY=s z?3}N5vbnLbqRuUfBW?&cq0bPVJD9wm%uWZB74^?<7RwoVr6{ z58~K*5XY9_h*r4S>AxZVvwvf5_VnHOV~UO@s{HM-#1&TY(&`Et_ZnBD?#|Z24YTV@ zor`rusVr?1DcJML;9`OO%oLs%+m&7p-+Ny#=%eX=)L4iKrrK#}ouygU*n z*xOCQ#&BtJCS`bY$Y&|A_q9mU7}FY7P+*Tn!I5@hgE0z_a#?A!4OfOBi`NOF9+!UO z9YROD|BB1neT$~Qd%VBj==67+u#gb3AvdnZSR^O23kINLjSLq{2(k^+Cy-1IQY&We zs%ipcd_j!2P}@oRt9XpVFw5$cFrhv9=UXEaap%W>s-!BtTU(7f6gwVSrTCgd9ahRW zkd;tNH~(AMK(8X7@mN}#Mx>iG|3ZydDD!rk_RK6DlN-e1(S!`$xO(?BSjFf$)sMz|iW8L0>MNdN zzTVuybqzREUstQ)w)$*#b$zoOwdW&Q(MH22u9Qx3`{!e1ZKztp?9npo#n)bHp-mWJf&6Q9w*jyl+{K2borLXl)hkh8mEb)p^qumvg33awg zAJ0zD=CGG8PK}M`7$%&kmRL^8R1IKN*beIS=7Z^iw?r{ZSX5qv(Sv_pA^<7(2YAS$ zHS^!nI(*aH+X%=7?CaN6RVj~+iU2h zvGB{jo1SDiV|aTi=rH>#cALFuXbzg1(_37=9`$>OPq-Rf_xHz>D?|?j=UVV8INuDf zJZ$0c3LdDp7{7b`Dd)%1g}1P2H!EAOH+Xc=Qbh0GVVt}W;0 zQUPiu$WAiw!Z2FInvysioxuu0j}C}82-h^f=p$@aLG{43^;9}BuG;l}YTg8>T^-@%v+ayG#_qYk^ z4(d2GrOVM^30X9=_Lkj{@AP5bf>YHBZ&vXWoPux2?9FXT!j@;BZcyd`mJ4~$%>DQl zFIFo$i~=RdsWubvJF&h~I!&jzoenRWwZnu6S=R0T!ve#b7Xb~&bG<5O0X|8~2+)SJ z3}NAm<)Vvgm9sn8f%<7SUE(gO`$$(-Y5DOQn@|45D5u$-EEW3U%$bqDAU<0!|F_5Y zqe**!>y``4v6AtS*4b4{%k^k}hP(r~@ZPbPmR1xUPer^(utuf-I7+tA&ZlXMhUXXd z&(U-=zxY_kN`lqFa50p{XpQuz5zo!qc4p62Y+LR_yO??h6ZFeSR$=`4o4z>vE;6O#aZRNiHbMm*pj*BzR@jcPH3W z6t-Z9Ufi5wKYczp8$|-_KeuOhBgl1vMKNkQ?1`MOk^K3-Wh5cnexjiW5wc%o7%*B6 zI!()P{AhOUk0lL^tMOtX8b$~Irsw%(#_e>0Ev9NA(>i9nLK{2nV2n^m)f|wc{NaiZ zd!Q!Ossktirkj99HS4ads*cYLS_BH% z`R;q-#tL^5hx=GrW^=y{((B3Do-!QCjU}u!{8W&{df`a*R~|$3Q@ORs8%PYZ!_6W` z;rL8@^pdxW4Pg{4={VPSbCI{aj=}ZF0TJB4%fj*IlbIXFD3(QEb`%h;nqyDfuaHK- z;NcN3T62mW&w_@&{Ir*7f(puvtVy+6#+(^|j#<=!Y`MXIx0W4@bcGxogaDA9-Lw;! zs{tnql(^pPdmg)BBpoGSRi-Tpa)?7k6nvAq??zWu5*=`^ zLc6{5IJDJ`Dj@ZGQ%EjykRJ8=Cvq#_YGH0i5FX$ZFT!WthKaGm5;{PlOl7diY`%;F z-_v7kS>udcVm@q_P6rEJ_-rfyMq)5Q++omwgVEiDy}|Avvu*8fJgNoTqM45LGOTFS zwuXIOIj8}-GeLa{mU^ye8R45VpEfFfvgqq4~zV^A3XVoxK?2ZmcbYqA&8 zGCan8R&&u_3WC-!a9i%4qZZ~GaP}TsfFB-9IZYkYiwpN5K&uO^FY-7OS{A+wYoHsP z37`OZq7*DjeD$r)Z3DeoJ8xLq@vuNaTVgJ_+9J}*{P7Gv7dMo~$iZG}*yMKIz)a7^ zL+B@bicprzF+6s8;}8`7gA4#e?me!6jPs4&4CqY{7;I}zAFdukJw7_8fr%~wIcURd z9{oH$-*E9%y;)Z+Qa_ClPATYVdpH-ny~*`J7^GWpH9%MX4d+Vr)tgsuFq`=2TijS> zrWRc_#B(EQnao(1jZ2<5}rvT`McFaHONka4Ju{x0)sW?)ZR!P}M2hC4q92FzP zN9PrMTsubM#cQWu@2ik_=9s#7;*L-FDgW}i05MjkLNF;!J*!$pEe6g(an2Z{i))>n z4(lHv>=p^6WELsjTNb#=Ram_7LMfH?Oxd;}VeHz#N^-qo%(;$*(GZF>jjAhyar|kMOcDZ=UfDF$w;QC4*m-2H7Aj zXJ#J>cP^r6R8$>x+oeChEHN>s`?6J%jW$CIIUCBVs?5K!a$;~M?9>yP#% zP3Xt_JKLWSjKJC-GGDsQ{wOaYSzGWy!@K4E9YKi%6zOl3bzU~5h)EEnv1oL6t3FJ`_R4xQ-ANuT%=EYyl7G1(h$btUxZm z*|~NRKqK&M42^J(|6aNx%qsXo_z6Y4ggSObm}1|`r*jk$1m1HZ6xN`Kh%QjX4Y8?( zB0q>ri~!yS|lt5LLwp=q}0?xksu^xY>TxF@hB36{4_!lLEu$4 zN(xPS&BsGhgo+PtN5l7XZ0TVuAI`>zbXE>y;#Hac@Gs`*QkEqiRLYEm?eOaL=H|wZ z9P(~#?7Z2+NiQyiRV#1b;5hNkTd#o;eT58`S4fbE&dJ|AFGfDhE2s%`J{H8;h<7~Y zVz6T`l;l!ITE~`kPcYUp`%Rq~*{>I|`ypFwHiJBz&`Dxjz@8gca^Px?95qpHub5=- zb8^m%LNwvAMU2IrM5wpRp$dl2QtF&HLq@7y&*n=x*L$}HBRrr#3@fE?Tk>_=h#fS} z<19I~mxHD*QcRERA(a=Jtoj^k#C}!3@4xv~VU9 zS7+ArBOJmb$?bt;PQdRRjJS4p#{+wEIhx!qt~`_+T;di&*s^@X0r6-KeYTl_wco2? zv>T&BMt|2lJmgC+M;)Yu=-}y`!}rL}r{|x$2w})_d<)_E;xb?)hh?T*58%=pHfax0 zM{^CZ9h^>b*pNKkhOrlg6~+KMR0ooM*S5~{+>U5!v`$sSCJyi z)Sup9RVG{Y2-CYKOaNZj^0RSRL$b#`M&My9x^a(?)51!Y@dzc3D^*uiLUel%M}vLU zU0u@axcN3l4B3FkLR7)1&Qzs%pvC4Xr7gi>m?l zms}Xm$MBM)QhzcVQhCrCi}FI7?~HE9$FV|ygVAw3WEiV?tVCW}iVmiO+@-;r1!cUj zkbCi<*Qp(L@rH+7&((oHzT~M9 zy1uJBIQT^*ty2^g*<3yb7t$@lHN6s->=hrx<=mSqanXwpQ-#BPZ4%RC6Z3WM8%AB7 zE7wk{O)Ht7An4m@t$aHH4Tx8hL zaAHSO6sT>285XND7$PrmydD5;{bq?vIeX?Q79w(6Wm&TWo-o8x0+fM0hi6ZVto@~W z^&AJOvvc!^L+~OD+WjC8nt=zk~q)DuQW;eh}N3-jU|h z57dD4qMlzq*ObhNl-*$$(SA`2Sh`FTa30vd>3F0%v%eX938b9N=NM7TBSTDtoPiI>hqP|z z03Bh$X<=j{p!{HPZ)yS=#1BVrkP`|XJClXBwjG%5*0R{{LLzG!igZv!yXoHl5gexMu*?7*^{sT4a8lbf!|>`tC*s**qG^}(24c1`;GVK6zb-fzCjEMa7i zg#~v6gAxqeN*H}l@4q7B$$|fY;{dk_&-Bjk#9^Uq`Tfr^c5@OS0#gQ0ivYiDv!II+ z^g}0l%n$BT1U&0BpitN$#5sXU3hr|vqwr;Mt2&`x;-1jZyr1JX>mk;dmhtJNWv@8T+;1}SRV%Nr(oB<_0(4(q836|mQ?c;$_vMO{JXjf?vd)t{Zfg3kp#!Bz-$ z2=Ily2UbSxyH>Ke65|qz5?ny8`}725kh{PX6hs`=gArQ6C8*fkPQkp5Mw0>{34mZD zfJ50pu+ONZDm2=Qs@C@Qf-2sZi*6Oxv8H}80F!OETL=v<1nJg02!SSmm>o(eFWAt8 zCDHubG0e{vMiST_I{QFsaM^jbCb=2Rz1^SRBUI$NxfkAZf(-GUHQT)z@BKdUMKx}UYrS5lxqFQF7kyy6TpF%(Ktrs?nsviwZO=fuV}!>i z8`hC4<|Jswrv%EITRbzyyB$s=hkMH`(#<^5=sL2YQ;>dw4oV_T?15ER<#)f{n6w*j zy*N>Ue>>PF2MwvNmqifhWG#yhP6PYYy7plU1yPv96&S}BiQS)uEVKyh&L&^gEx)Pi zS=Tnls9^mqLks6AaZe41iDk=qK5?Sa*@@0lmj5Mu9#!`eZ!-j|og#b50DEt*!<`?wS20t^BEys$@;N zQ+3R0jUoifcJbkURkGLG+{V1<2-4~hudck_DVUWn;hw}HB#DB7Pu6AnD&m`1u-smc zi_G59F_s0qTfc|Xje4zJLmqKt*ne*I)ZXj{2R&VcqrxZZ6+w1Y7HnnbIiFg!wB znjL+u9&ztpWQ-}&l_9GSAjfzZ(2u&21&nb*!*kYU7*wR(@rn!|NQGSDH95GQe*{MP zP&OZWxLugpz~Rm!sp;ae+$F|?)yoJY!WfWfQ!3^fki}}j6fTeeV&i__O-GG&v?R!L zjqV2{$lMP`G`SxLO+a`~)E+Jx$C^w{9VNJ6&KU&cEleFe;VHe7bC^I1jMX8+7tLGB zz+Xq^W7bK_ZpZX;tzc>z^8Zxvlk;KNho;mso=FHR-NrpQ^b99U)-=6K9+Lh-d_La} zWmWL$B6nb3DD_itHP)~eN5dI;I>9L+vcL%2-X800U!RE?E6 zXvI3Mjg0xiJ?9>NSP9v)-RP{`o&+D%{@8b?zb5_4_szZDhf)<`<~M3LLCx?`U3sl{ z;t`)A$N6KgmSkAvG~F$E)zbaOM<(#ic&tu=ZQ)iH`Sla>nK0aH<4>5x0fJ9Bgnkl& z%?yH%o1dPBpqfE&U;W6)>Bn~gv7NRHDvmseDd@6z%NUfP;cjs~?!6yVFB^wy}+!3jw4E4o8lN0f2EIVgRRcNf4%+i;DxC z5q{NaFlKSs%m_Y4YZ`Oh$fr&ml}}t7OvvXpb2oxs@1uOEyS{xN+$$tU0lxlA7+s6? zN*+j#18oyM3u%;x!t<3L?AW_C5vc3I7|9}-su3!I{9L!q-odTES%JVf zxbAYsG4WMi_#q(l)(xOB`AcP~!iZQ0`wnra-^fp5c~^SzLR781XixX}8MA(%f_x~C zkvOtYmE#sGj)4k`K?5YLs{4=cMJ9k3O^hb{qvhFUS?0*@&H4Fg&McMVv(ch99V#S* z)Di=WjL!FPL<&Zq?9=LaYo3A8vMDiNfZ!JqWgR1t4JJ0@yfG_KFl(?5X?Wsi&l*Os z-Zh?{B3taGbpO#-%X)+AsHXH5b&HEX6=J_@Hz0taUQyER)WJ#P}VWZood1rsMx zORgBW3Gp8>aX72SP{o@!qB}*@t;qg;&YytEvE}82@!<(XsWx~LGst)>eP%7(=CF6& zxt5o3u>1eNX+@7zu_gdZMBlGmKg|pXVIR^2A?!n%AcXx7)dZ!a0(pcgQ0an0{2_%E zc2yJ>z38m8QelO)L}4Xr<*5v7{X=0reZl{7g%u1_tn%E@JW=IwE*qrOf8lml;+Fen zznJOpZ!6}Bg?&tSI?Uy7P(D{3&zP8p*pH4)a}w&X?)VpEQNDO!YY%pSs!0e1aFs2vtp zbJv3Aeqc2Q)EL_l2Hlv)KN*{mNUc_aFbGM(#jNd zO%VNrO^+WyleXagOa2bUpW2q{fSqS&U?wCE&q}m9#eW(g96h>8Wh326uxM&zv z!R?xds%&MdY*{Cybfs-|BG6#`%*g#B8sf?9b&kj228m~HVYk_Xzc69SCG5jy=!|1PE%dQdpOK=@Qa_WHU&THjRg?l=Qr&kRqrdMk*l< z38b6v9*?w|MJg%R6G*F1K)RJhDmmB_NVlGVbUTZ5n}-Goq}xwGx|2n^Q-E~m2}oaM zk-jQG`sxWtUuTiNE!Kk2v2vs3EnK-sgI*M>fv4 z4BcrDUfpqvJ!moUvzQ;UHY=!ajg!u~U}2h}nop468o&ifQ(tsK7!()N_x(|)h43~r zpV&)UO>uKJk8d2Q7UMZ-HokwLmplmlkLl!Ipd|!bzu889 zv(4Al?YE=#&9`diF&f{DS#dTh=L#AFiHnG64x_zkkljdh055gW)(eW zNO+7YPDs)JFQfS!j?&}l&(qo6w4_#ZX>Z1xWquXXyVCBGj7`1-7kTzu|3mZr2e&Qg z9v}7@FV|_*^cdcv#JC_g7!tc7HUNRHI475bWS_}pOG6Ue*=%-t<}m9^3GwkRqE917 zz7APy)&X}JPn$XZb)hdVwg_y}I`jzVaUUg3)dYt z^;!500^ENujzeUs#W_q2in>FHr`mZeUeGkm6N9`(zs+ zTfoGqL`)^8bD0>pTc{x}F60;KJ&}PmZOf1}QBpQcfm&SuD zv?g37M>hH6^wqZLirHP;FLsU(_M45{0p-ycEhK;nxdLxSW@`2I)4_nJt;#jrc@Z#+ z%w9)u6yO4zN_5r`Lwb7?0i1n}%IaH{8#+m-#{H=?>Luf}o-^82wmHlK>?o*~Xd1-I zM~Oy?hMG@Mud&M+Cg`Oqj5JneWXq?3j1jyAH5}ymy++*CdWlvB|9_1f&~j zL%nfd)qNYoB7GD7hK$VNtiLKd-Q5~(vJxb61q8dp;;FMZno*sX2;Bx`tEUOzg9=+B(lv&K&z;HxeWsUhB_}yF3hf4 z6}-rqOQ8Te91wA-?+MPkwTk#g3pIjE8`bzX3x#8scGse(ShrGV$TsolWVA`1Jq< ze2>g7@2~M;aY9vz8?BZlAu_M*smhJo!uvl#Tc({v3fpwM2}+Z7Nv-Q%bIuf7@)l?J z`Vs<+xb+W%`PFPXK3jM`nZ$R-O68R|<_8F_4x^9V4{)2yHoaIXu_>t{SSD3h9DU^} zv~U4{xb*<=sR%%vcmR-BfAtzURPah-whG$XrazFx;6H*eP4i9!R!G<@0o#(a@}OUE ze!|iN^;^`J*9Nl!qep21-WV{(aDYzWv^0Z_MvdCF-NcOrBknRR~fYbyEe8uBr zwAmAd;JVQo!9vM=ZrOJLU9R;M5=>I<0TyA5cmhPbnJ54OhSN{fiXezf{?j`!x7p|I zlCRgg$my^Xk7BpO^<}+)yUP&ayTi??Q5En`@?l2ru8I`8jj)pG>4wQs7Dx~uPXPdC zzAJ@rxW9edylHte8O&i~nWl2i8>^V@opoc?$k_ccpp7d8){tIu^<|{;P{(DJ(|L%A4+e7JR z`aXBeKY(T}t>lYq<{x|~5{6ydmORjw`A2b7vpDMJAH{*<6poF3{h#94&f+ko8;S$P zNgNyd`y2Sb;&_w8A%z4wHj$sb38QN;Wj#FEo|7An^;l>|3SIyS0vXRoGEF!-55^hT@L)P(H8Y z8%p%E^iZLx1>r?t$9V<>Ivl-c7UY9o4rUP-1)@|Y6R4P{er52%{;a(P;sI2 zrTnsHS2b8ZuJ^VU;{%E}6__@cB#+*nQsUGflS~|cbb7Hkb1Hl|`vCMjF$ADT)RNCp z_yFEPMUF??614~_8pZ-#IJ?(>|Nf6<*MpZJ=mV>v&-lw#4%E(S-K$#H=vy;PjB9wJ z9{{A=CVda~hzE&2=i}2GNfeYP+jjN@p#D55?%xSJ*|KA`56E-mJD!dvW~X`%p(lF` z_4{0-_rZ_y9{zPAjNucu!q1EejXF7*g!iiq9AA~#BqN%QTFwF{)U$c=aiw;ai2zBE z|H`9N|4_iM#BxhNX`<8aKeqz@+iF)Mg`82wwG2W2HI-{>bHt6Si1c4oml~Z2qxx&= z1gkx)>Oq&EpzUA~!*2f7be`1@mi^EpATXgoEI>vVi9X@g=&>{R-20R(HHyv<>n*Gu zMG;;5ILi%g-t5cMoME6-93;?c)H-k()p|H&!+K`@iV@J^QRkr6iqi5&<^BPkz5z9B zXYhUw^}VDDf)N^p&IK^Mt`fWSxU`6nWuSn}I`%Rp*1f4b3JOVptpge!#H*&K^A;+; zeVTOp{qET%p6~scyQ*z-iW9cPwOP$B_tgq+F1QdIv3(rb>?8Luw!uCY2%oSdWj;lY zRYn&lJo_Lp({?-mA}s5|G3*t_HW+Io3J|<15K}+%3ANIeW z53XHGK}bHA-W}gB*S)A;-AjaEJwgeYrl5n&j%z$Eb-T4AM&!<~XOjWV!200qa)fw2 z{5#f7MXJiZJ(c1FW7G-&JS$dcv+f7v$+a0(b>8WOS+LJtM2*0AYNubSL`2j?UYj)O z0T>Q%oEQm4iBRTV|C|qGO9c#!7rJ}@*FtxgXmy@}9D(Nn zwF%wukZ9ELpxwNVtx~2+UWRcMwPhHO0 zl*Q>J-|_qJVliJWjsYW}v2$9%6({6Tm$|?$cDlgVvP!^xNht#8v3POZKf{2yg%Af% zv|jD?gzn9$2>@NG7y`$f>6H&Xd5O(Ao>0-P@`HwKyf}oqUoe)3|{!C+-6lhAx}Vmz5?G z#}8(X)A8&kALOTKqk$ma4qlg&AZ+uHUuPt~S6-_4i*5z%?J_fXE}-4=n(tttjG~E| zPsc4PcW0CFPy&T)cwjphq!9Xyt-l7R{}jl8iunL%n}1oO&&i-S!5zv3yoK59xN$#p zcff#~zn0f5$WnDR z(MkST*3uW~cpEY*VmGDO3#>%o&=SdfveD>f-lUzRn=`LyngL@dX z5lGr2n($YJamI?B*f86omFU7Xq_*3|i?X_g6askxECmlmMvGorQhD5o zKFHHO(zOc07?A&l>kXAIH8UMpK}4FlxXsgdQUAVzo2q8U>V!%-VT1r1vzI78o{F1| z`#elVk!{ee!0-cS?dX$X3%U3R!-Qq)rAFn##XY=` zU%rQNYYbh?2rEB1#VJz1Px~!pmqn8fR&CyEMN0?*AK&nBFGoegv%i#86bWn48rqfY z2E6H?%g7F#QqJbBHWnk01CHBxd=l;E77jBSmGj2Dld_b6M;cUj%?tXH5df9c zF4kd(?6(j*!03$~Alj(Bd9}H1jRy_(bwM4*WRzHgWbd=rE&TLH2(&)ZKo*5>-mKYIH!ArWF!&$6#5ENjro8vhS zmfMR&I}yMCI4HOqZGt4)IU6u^oy$cza{#@CeY?tpgzkeu1zs+MRb(7raW8|%ZOkiF zp#};{gV%189D*ip>DvQXMf0szZWxi35J3o{?yYe>qUb#mhA}vH7b?++0?vjK#KW>_ z8#2x_{;+n?yGQk1E?>t}7cDsZ$sN0gQwQ^+o!0?ig@i(>0Sx_PPLdN71`%Cp9F&Bx zrEtRJCMgY*^=!Tsu>J&lw45^WZ)mj5Eor>#%Sdh22H6R(Q(e{%w*iIGGnALSB1QMO zscuJY#cWT?m+Cv6{+x=OjP%u*X{tZmc0Vm0>RYFfJi@7$xa6su9;_eE&&J?+(L4}7 z4z%#_IbZR(aERUG- zq&vo-&vv8=52%bxm^ws=TA{X%$lm1@d3(4k{4^DHEg>z&*K-PAn|>te)CViURTf<@ zzf=<#s=SL2l;ysaBih+*@r^w~0~JotTpMWD&&56Cc=S^-qQK8R&P1U{?)(bl;A%^m zQqV>DHof&t*)`=HS}zZ=mo^px&$ZyF0*lykY^RIm91k<3ZpAbr<{fK+`k;nYLY%_E zIfzze7?+%eSXp(4jxkvp;E>fd0g1MLJv^CuA`WOzn5?m}for3|K0$q+s~`$zkKZ*L zhlg0#mTbS7FH+PEa5c24B@+qmD{#w&5{Vs%oyx(U%*)d%`n)YE>j>Flw{m6$rFl{2 z8tAl^$1J9@%_)JpFCYmkv`NU1xGHRVV?Ic32rP6D8^4-o#n?*YDNZM0+RB^G<**1R z0ZW8US|ctj!p8CzYHM$N%a{o6PQJ!frPr@tS2q#ZYBRZD5!0PvV8_L2;LOehuXyu8 zX;=%)2g7%-u7BFXAKVag-xd|$*W5B>ROfCLeSbI?H55?WG7`6W#ZO6$l?1pk&M)?};v$ky%4x3VC@JNAvN;7_M=(5~HF$>v(;sbmB!%u>a&5J)r(kvliR91Qic_c7DRRs+LoD+LOU_^rJ1+?+j@jj$&N@Hb%4# z_B(pOVBtfaVywH%(KUm&ku`a#(bkjzaHB^C*{#gWH6Aj!?&Eggc-f|bucr^LfGqof zq8UuD>`22C(Hc!Jug_td;#wxN|%{3UQ3^x2Z1K zNh536?V>Rq3e}LlpfaY2CmRP?MjnE?+ocbjlG&Y9UJPtqh@fK^D)ThtF_kTSuDXu< z&t4yV*r?!P)NpuzCUR94A2xlV^!N{~XlX(>e|B0#i&-_`3ILD|*b!bWwOJoc!jY7z zj51b6i&`f2R9c7=6Slk#qTt2le&^j9pmB^S-?4hfle`VE_NLyt!lh39^?N!EH*vK{ zHyQy&!_j0(9RhsoAP<@ZsmbVXySiC2M(cb4TTi!Kyv-%xxHrHHQtl@%M?gRMI?U|# zZp~uWDj#vNP zF@{}i15h{>K~vEZ2`nn9MBj+3wS@=9|A1=cKaekfK;{f_r41csC1dzAVIVQ<5QP9{ z*rwT`>g63Vg};6deyu?wFph*T#hT|GT9qPH&J{s`Sqqr5MNt>ngFiSCHL{OyUTpOn z7pNZ(2KSA{a?Cv)K&+6{U!h!4P_ocIBne@P3o+}72Gz3|6L1JAdkAiEhAo=GXmKOh zcLb+tNE5sbKn20#U`At%jVs@Aa>I&QMo5rdF1PdG5Nm9Pr*OIa<~M6)-&OG)b*b~U zga>#+);D;~){;nV>X#vg)vhTVI{G^ghq)riT|Iq7nNwON;brL$RPPvG{P$()XB}y5 zCLHHcMkOFNfm0E7`u)Dt#-!q9MLDPX@t}auwhNG7HU!Smd;Nlqi-%u?OF#V#;<5t@ zHX0179OQ@e)O-ecC9!c#2@cAYY0sHZ*|QDz>0;v!{wn*#m0#{LSC>_cqjs06sorZYtGy*5u%b|?{==!Oy!;sAvJ6)rJj z@J#7sq!vtM7U|TDjhxHN`Kr{9)vCU~XBr-%T5 z!2;!55vb%kbtOh7J-2o*5}Irpu!t>&&7S3E$5!cX(HVSnDwq-my}9k2>3}K=#uu)@EYeip`(q$^E|n68+(mJ+Ul#ClOT@6=`PIs%_7#GH~vGbVzYjM;oJIh>6bBgc|> z=>i?%M8v-Rb~Jp?{B7brLJg*9(#BoggxQ+vh&8ICuHgO{V1>;5ZAUQW=8TE%L|e$& zM=)2jwr1&DC?!9AfteSi`5)%w%p{Y893N-4ES4@EY;;Q23-&~^OW{K~!ioMn5%oKR z;A6NeP#v4vec5#y=XZWPfH$!+)WMz4+{=B>6KF@jS|LCH5@)waDormlrUf%%nvD-G zx#l-J!S2Q@Ua<^aKexfp>-p^85HLOBlAWF2v8aK`9SaV1#U8p{5_O%!BqpJNtWku32Fa=g&B#cZZV2)bAMZ8dx%|3~7 z=0ppJQ+XnuC!F%54I~u6zk$bHL?^P0n2fRd8PSod!-}vhCw0vJec-luud+I2_9~++50Ib_S zilBgQO{X;0=o#!L%{7d5TeA4fM`w7BRD%IbVxKddknn^ZKQS8e;J4P46(L~~IE4+{ z7igu@xwIuUAOijeCn8U$vC4Qw&lh4~d&P6xRsu19`~kzNDnbRB-f~G3tmh3p(Ebr< zV+5bHr((l<62&i)26S0lK6P=)3+Z6cbRkx_1eBHqVSoI7yu5@fM;VDqa#WillUu-a z^E~zq7{%n%lKM%addjJ0UX%h#WkTQ?=YV$A9^joZWdrn_86p6%m-eMqMoin#PN$By zyeW_#ToCCn82RwLPPS~vBM8emcO&&8VnISE3?%IN2$GwVn5z~ixQcYxls8XkZ*(uT zY633higcgyYj`D9AflWyQpQ)N5}JdP8LB6ML!zn_pr{y8Ps(pI4;}aPx7ifP&;&?j zV!>i6(U1?mGb>gVSs?|UR}{lC=GWRnp^m1$v&%JAVf-`hssk23-QmGF1IwnEl3@7L z89wey?+n3O+sbMsR3OAHdAeSqRfWS-4rUgCe|#1IC6P3Sg4m(~63U@;YfQm(3}A4J zd|^Y|Vb?WxmU09;Xw!K?K@-pv>vzt=H-)U}h*ETK>RJBWf)#dCNXD=!Zuf1!tdj~u z+7)N|{$Mgep23>G+-VZv*hN^uY$_Z$(g@D3s%km6mP8CsSyxbSSyELju4cH6=nN0H zN~>vL(6AOQ6F)1XYVeB$SU4<-8@;hBdf1Vi;~qOYB%S047WOC84Tu+vmav}x8$@dJ z!Bqwf;wsk0*l7+ZJFQU5xCrOb*7Xdk=b>8F+2Cc?uhm|8HO=Bx>PbmVekMoDj09WDDz}`m}I4`1SR45!q zkBn*hQ)B0(5_KSK9ve7>8zaH*f}UsYwFK|Vv?z9=>J(~3laN&Hn7B}wDjgI{xz~XD z^Cw@+X+j8%ykaO19hv#e9s>=$FOg^s?YWgLhet*p;SwBj+SzO{i4=dA*KVfQgR`GM z3?}E*`^{IX7}5rjEnh`u=-q5S!I4q;s##{X z+7<-ds|>V(AK^fe{g`|a#&-|DHzb=1CUD{-M2)TnxQc9K9wrjEnt3InJs&mh(f(-I zw7ir!Dd8#&gfI>nk>fL5nd5Fn@iLW$2E;ITweOPy2sMCcu#`^r^>Ct`VFmZO+Eyf| zR%UHsBI%KJ*(rU-O%OhH6!AAb3Ko4J4-|6y)6oW{v&16RMM%-?j;ppjgA<4z7u!vw z(2QdY!dFE1emJZlggQqTZN04<&M6W$1@ZOc`=jAh4j0!3n4z(1F$Nb zMc{iiSS%N|PfXD*y|SGb17ef8RY?jX{6d0}S_BWC^>h!&%^ek*0(@#w?ExM2uTti0 z7X7(Ul~xJJ{!>LN!=$^CX@&D{(MQoBx`1}KeSQL2p{QcL#A=&ciq@SBI&s43ggwYFDqc>pzA3@aLYPRC1-;%a3KQ8zd z1%notqE+`Ck|xd@w!nEV=5=IA8;f3#t<>D5qnw)&wWuK|Fwva|J@!d1IqNDR!5VF9 zoY0~H^FuSP30=Z!>5q0;#7z4q^)Nc}NmtPTMg>u>g?R?s&nT;23N@-3}U(p}td!GsH% zSvjkm>P{m6PxC?*r?Pq3WUsM%{Jw9zIw#HUajn(-QQn`DnGL{DH&YwH3b65pGEax2 z(;J*>!J=IJw26mtWEZgY)1S%`B&{BCI(Nl2ZvKGX&$`LN%~#v6SCwx)Q2y$H^0(>o zx7D2;TogyDX8e(8e+Sj19QPx0#J_&Cy%iTiRPh1-xIY+u52N~pVWc>)FMcu!le1Q>2ZORP$e-Tx_5=N&eW$sQ?I3*$;k^7UuM|iW#li8VEdH{6@CSj-|ZN(T|7Sh6* z-sa=QV!^_Swz-#tOuTl<(7?q~Rv=u(klA52@kJ&a3>Qa*@QVEm8;{$|-#hc%Hbx>Z zamFMF55O!Ne_V*N*Qp(L+jx8U5IOYRC>G*{lS6@Ad^J20VyNb6s4${dFDE=mMr{ud zb1P;n*~K^?jqu>O)oZp}KUl0-Q+@@k-FgSH6|Kx&cS)4>9#JJ7|H9`^%R#jrgLf6689x52XuZfW{sgf%m2 z9Di^p!M$+!!Hw8>I$j=~@;KjaO{tEIX6owAA#?J9@0n>ooP~wj{vlO>AkqkX zNJY2_**|*!+#lqh*Vu z`y4P7G&uqR$93QRhTolQdKJyMxA5Gq2;N+{2NiYIMo9#(-RZtXwlEv)gI46m69cL4 zD)4AF=N*2!;DHQ*+A$zK!1QZbK%T)0pu8-sES6JoiCHQG@&8&HBmRlcMgtV2%eBkx zl4Ak*uvJE00NfJMnzoZDfVq=Dq+uuH^aW?vxeyx;A2zpu6H zA8O6Regi96#!3%0AkOt(Z@eurx>m%;8bK9qs;_5vepD)u@{P*&4*mz)9Q~Dx9N_jHe-Brnd<*%|zkt>A3^2IU=0C;JvAM4G1;JgPQ$cVAuvLL9f<%-{|!Z8a>R$ z#^Fh`b98t>ODD`)V1Q1JTi@Z4_7Dm>J6sPyFnZ85-^4=%y3wM(;OKW+?W6A-o&HHj zUMy$0&yt@1VbkP~(kEggpeaCs!pTWRH?2bcm=SYU4?(Tgc#0lbID0PZD?e zGVzfnCH-e>$~`<5qxl>mWR_n;Mt09fGaM1XhjepIXCk8G2Fud&a=a*=j~JCTDoyw< zsa-uD*%c@?J9mWAe&YuuV8L6XJttS`B|PlNl;F*U=O z>Axx4J38Pj-D{jQ>qu@CdD1<2?hJ#I5qf^#6cfN1rLlpaAnxKh=BqUn@+Eeq z6)CiKz-P4)vV)dFt=H=`caM8~#P#q!<_&UngfLE_9X1+!-F|Numhp1d8%!@?v+dJR zD__Cn?8C_77u+PXy{L#!Prc0a-IF1G`DSYK)C;{1TMPNw{jPa<$j#VM2dT?CZ6s}i zJ%O2DEVs2+_;b&Nm_zCW_sK{O`r!A2Y1P1`*!bXS>mST;w@v9f5Q`tKBc`}YsuhZS zzJR-rNLlepWQxO&YC2VsBg2Fesad{SLvm09tL7hy5HBq-BW8+|sxSYc2#r%NSZ7zN z)_*8MXU`t({wsFy{l_Z80uAW3+T#>mN@IMHs?lwyx*RQXwF(`@8NCvleC9OuTHggkG!nPM&2K*wc~Y{p1FiMqC)=bKyX zl@drqQNpG}GRAK2=m3OdzQDre{cJ}~rZ`Pn1_+d8z5pxlxEEo46s^@1*6IqZ@K`*| zfvptQtrb{dyBe(FnrY9G#nK5nD#|7-MD6i8HjJfsIPGr2%0;N8vgmYGcVvWuCTvGy zCnEn`$DHYw9DU1W3`;(kVjR43v=f!_ywh6{wg$NoTRuwrOZr-ZivrTto{d>Uic@jq zIrCY6iupVhi=2+{RZxO2DYGVhWxtThsVD?KSOl2PP1m_oj5ksMXPRA zBBL|<1pf4=kuEtSLsXh*2$zWS7h@84gt5sVptzU5fJJe?a>)cNoM&tE1%~NAuaiczDfhJgCilE9Vg29OAEu*w(|*#7ayh!zQ zsfa%lFL=9&vy~XPGdigY_nLA<*?{K+#KRM+J;BwbW~)ZGwP;KSwMnRTN0*b&Q0J}i zZM!bg9$WXnB0Nsd7bA*}4htRbe%y1~CZ4rakaYx8&Sw+3QsD?o>rxBKEb_YG!86|W zYnQG5w5gf#`lsE{uElJwH`*ffO)?L73uAWF`;hS+M@x}^`o)Hp*n77QEEmgWI~zw= z#0`7Akz3j!l_gjV-68Zj=J5ZKEa^V-X&3WqY{}ZF&_V5OaUn?8oELX`U!5!T782g z#r9z|*R+x}xH@G%h@-Q!$&IEu3~jN}NHQSaA~f}jD0R>0;qgkv^T_ zC=WGYVGCxx@NW~fXLlo9wpYsiXDhhIoDS@u7`2(_raB+vvo(V%(d6^pwG;n=wjUxP zDYgcu$zN({QqEmWW=O)xr=F6mi-?V~=bGb#hil~%@0Q{WyY6t@N<`FX@PJ$xZ&3gf zXZZCmWvWJ)cMic^tFA|7Eq~7i*5>(lp z9W>8UP+QHey z7UjZ5P639bGu%Ca*0X9F&zR!5b#R`cNs@MC=ix;c~$hL7fy?OJwc!Np#6r;yc;AW}XJ)cWP(i(D&BX$=gYe@jC(>(au|II6N_d*$)rcHxen~+ zZ(?_}hr`*jWxqzJTNWa?rE5R=8-|Eu!EIDY&sgf}H38o`Q!neo8quCC@d}S6;2g|X z82L zCbJHjRl-FcIRy>geIB14pZF+UZ%<-=0w<@c2H@g1v%F%_!C99y#V^cIWTFv$B!$F7 zFd{FS_p+uJL`3%va3$uKU%_TaToudA??ESD63@!-F_>A$Pq#m}=2FrnU7_N&sV5VY3V>6qL4UOgGfb zWP5yq&S17mCNqY`*moBssDuj3l>!j!I~oyKDkE1fcUBxlri9y%|2*f@=$utySuTc( zEW2=}BKHE_l?6`>w`zFzL^ zrVs-Z$Syh^DCuG`qtMFR6%3`Q_;3VcCF3Ja;%9a{*!EJ;)Qez$i5dztQ)V5*GqUw2 zPhvJA9pYAJo`Xb1PhHDg1DnMSL`6?s&s+oXvKI9qDoRU9z@p5W<{F5Xwy1%q$cs!k z*g*rCb4Rmqv8rq}U3DsdhYnU`Byz(4??AP`h&#jLL&1$1&H4MGq-sKXkv+o;6xU}Cv z22|%suGQ?pzD~pa@q~ArrpV$U>BAF_Q=9)8=4RxABM0T%@CGaWaDRAT4jgnaK(&x* zwo&*oQ>e||;+^tAjwg0yHsdSz_6gdcf<6mv^~fihveDw5#9z` zj*;WZCt*U*68qrz$k)w^FcMOv)(W2-DuiT51y<04*bAd^4orL_WB0pZ(3pDyTQGx2 zd7`=!o?)Q5SZ@ia?-}p7(BgoRk541D6tX`cO3C^yA|M{*S?v`^wcxO;H{0L9WtMwQvtyM>1tmT@CD7P$ zeaG(+qfqDLGr?spe+HmlsFZWUcT*WvTwH)x2NlaDK3e2rTm=u8kK_P2G@5QaXv%fV z2eib~C*oH=`an_TLk~ROn^PnsXRcQfIzNY;qqu0CpAz2_?a?BV!-HnkI;zSC<9X8@ z+;Srpid$4ah$XXql4|E0y%`Yb+v=6`jmm`^0&O6IPK%LahH?>eu-U=1Gom|aIJwi8(iJ}6?Z7N+8N#?rbfifNP1=M=>8M2~!<_52yZBcdCup8Y+bl3DEjBIjm znK?3CsZj5tT$7qD%ciFVYU(iGxFAiDIPbAzLvH3i$GtxqwM#i8CEZ>hKF*4 z_5@2KR48pmV_5~bai9Ah6AKvyR*XcWR=^X=uL538h)G=xb0h5N!(ny^498_4!(eCsmz^iOgZqG}MkjZjau(>oe{ydc{Ys zN;kcuC5_h2mATzBXH-<8+VNCoiM%YED2~UnK-(tjp_5s;Pe46E+(VIyOe-&6#XBYs z<5v^AgW@iuou3_)OBiHHqBA0xsEy%D)U>jmZ|$Wx2NH-@$h%UJZbmgRXr)Zr7 zf#w97a4{;R15EIfvFmnJ?O)wo%FIT;(>7YhZ}e=;yqhVRBC8Yq=e*~`b;N89wg1k{ z1;g^TxGVMQ%Cn|19nCL3)}a&d;Fu(r4_Tz?-GeXQtE4Rt&n4$7w$oS)^{!B}d3`dszW;2x=x1WD5m%y->p(n+7k_Q%% z>9`Eb*w&Sd?4f21c>d_Kw%{rPc`t(yuv>rQ+86Txx`z2X^CYQPaN(3YFh0W7Om-(H zDgyp}0yASR*DzJWfwP~z92(&eG@Sm=bXwjlmN=HsErz*Kv6>)N!7uSx17q5QnXmf5 zo)8Lo`rH`yGjg8juW_(b{_4ntiC}n*!@McRKQm8iV#Eb1^Es@*w=xw5mrWeXid;Bx zMR=4gEX>C8YW?VI2p-CVZ7lc}g8IIqZU5ulT6k;4SRvZ=;728M1SC2;`lwH`VbK*{ zB}^Q&s@}m_jA+TNv z+ybz$va}CiKa}!qe~xeEJ*cD;nqd33+eXBMAXyvoWMrFpSwc6_R;X4Z4WB<`vaLXS z?hpIl&j;6XR&Oy|PTDcyZBah+U=*fyK%SD;s10-=H5Z;h&^{iS4u(~+Wp_F+LZ({1 zi<&P=;O18>w9j(^m(ng!O?&N4o(jfJAX&z=OIi@<4t(=+Oa^eHApOs@|JP`lQy|;E zIQesHMlq*9;1wr(v03OAGru)E9hv2%owd^KvLI4yCtb^b{lNLG-&f5WX~)^z4^N(8 z(wOe~* z;pv+v(N!>v+K_1ZJcR{tmXqF<$3CI~Asg#-`t5o(VE!tj=d z6v`_!vb+a{yQYvKTUK3j1+`<)n{gDlEH06v)eX(A`;3=t{O2AtjDzO(Q;FVnp8@SZ z_e2s6Za?h1?lYkM=K(t>e#+QH!PrTLLhGDyo%@J=0?*gnp_-#-Kvt|kwVq{SF{-S} zs@Vx2}7wDAu)-_{>I|0Vv^-$-c(tsAX4C8%o|~f4YT^2PVvGeAXGwTK%LB+aT5tL zhB)Ssml6>{D-EjH4T^Z+AB(`o2++beM&N2DS>1+#v428{^-rVQ3_&^zqAk)_wvFPU zwtW-7*WbgggX+^NR?Jna5~1B$U?W-7P{c>4qgE`_)|`II#zf>;HVKh1KW?10a$um# z7@N9Q0a?x$%550vrS`eWEUP1(3uhA9lBP4Zv0K*jzI9k5!Fg=FYY9zP#R#)r+ZN-} z__wX)4QG$HZF7Ca@L;IS2Bxr0Z;e@_5$1;#0cVsz5ZvD(XJy`E)xf-XS)yTRYla&N zJ(*Z%`HIeehS}&?6t-q|MLJ&{(HUV5H_-u%nv^Q(6Yi@DCX zMyb}8U(qfMrrz3@Zo^U?P7&#cU0uF*QT_F4BwynVo4J7Z_n_FQznt2#lKEHDTGRvP zzCR{-nVi8p>o{L1+&re%2+SjIP{!MfJb0kBxopPnmm&)*>xWsXtIQ$=WoQ-AW0$)u zZC3e4>auKn8Qcd6$6{I1NsPyb;c=gz6z>YT9e7z<4<@eG#9IP)c(@p9lL*j-(fxI` z9N@FNFYkBJGihsHXTCf2b~-rw*<*EUq|OGjSlHCHaMr}Dh%Jze;c{o%^wXVXgHj$V z1g)4YW85L(8c%&Kx#7XK&UL6Rvwk?_b)%@tzH{I{oMJ6xTtr?WiKTmj#(0Wz2@Dkd zz@(YxK&Yz+;3i@->seqJzPs5MJXPopZtzGSxOE%6*>Nawfdwl~@S0(Og8Q}*MetCe zJ^B%`<)#dYM;D9o^kr#D_Aka4Q^X1T7ej2-@b!nH^?vW@7>7aqZgUS$6V_|(+HMnR zvhl1r^~ZRzH@m^3%-!)2sS@PnUiMTn0U(F^{@{!!-M>foe_L9gKHOdQF;{uX%FB0a z>{zbwl!d2mEpfgFJF_q1NKBwmvyZOsDMmVJa|8om@t6nFdNavf0yH=>!h^hs!ogdH z#AD7a^*^@OwNC^e@*npWZC(Pz1_Wcgp#NaJXpiPJFPG!n5t5DY-EVlm@$km)*D@FG z*5fQxTi~+Qu~n1D2j01oCIg?%Z?lCd38N7T1IM2tAT~E~}5&9y=YAL(REs^D@Sr zibTa0WyIhse+;Xf5J{jj+E&odz=hBW5uJk2U?)MgBK8BQB~e-UGkFeRLAkQf5VXI| zbr}iJGk=%YZJ{nh_Lrx+X#Pi8CT+DS$)uA3cjQydC0{X^Geu2@W`E(}d7#`l1~xE_ z<|htlrgm;*Gv!Yh;#gN0Ths@ae4f-tn>2GN40q1E&kKT3oTuz#+aEQ!1IZ{H17uCqK<%a#ndJyz_!p{Xij0#XRb~tjuRR0L)n9IrClfpU9 z$M-ka8dyVNGJ#8(qnaT4;BlXB_XQaT0MkdonWbhi>?b0Z3zY9gx&b41|wijU6a~yQ}M`GWvfyn@udphr!}xycpAxlgHqgfQIFn8Ez0RN=Sx} zH{-wg#@2t%zu#~T60DblMG#W966MgoLpPXMxZmKNB6I-yC5;D{Tn!;PvS|u9b81^G zpxK?Zwn9GGZ)JlC4MseqPMY17kver`{J(wubTGKak&|*!!#sThlD!$290gk?+H-d0 zcWpk$UdVo|BY(nt;EQZ+9arX`l7k&Sc5ppgj0#^id;XIeZhDO5D5#dMfg+=)rEmL# zdCkX&>CPs@1l_e^q-FQ!`6GJ@>vFxuD@p4mzL3WMUn7MgIPi-;g&wz?9O{kxsy=qk zduqN3@0Fk&Jo!y^JU`Z}@eNg(DBbu;^`I4aE=}(iepRVs=Q23MMLiLL|F6AkjgjoA z&b`ALo8{qzw~Zfd^P1hAoxS(=?c3cLOlD_#cPE|~(=$tqLx$ez-u1}yQa{F?MMxWo zApdY8i#UlD`3H%Rf)sv`1Sv=m;ShfK2a1Tq4eS=Ztc;i!bcC2Mb)3^W0laH& z&Qf}lxMF@|aeZNJeq~|4i7!|b({bl5V|chXs*Z(f>**L@lSA*rd}c{k*qT{Hb@+bN z>iW{!{9s7-v2kEr3%sB@ZZbTsP9Y^z18m10y7!*@7W=ZMCCK_RQe zTv-07Lc{;@dZ-eAIop1`0CI8JQY??;Yf5@|w%^{_-|o)w^*cRL>~uR@!<~I>PcWw! z&CT?B?L(zkm>u@bsX#kgVX-#1`u)A$l7t8Nj-A07(x7j*54*joa@iK(OUP#1M;;`i z0UXlksOuce9U+OOSYE1p3sNh}p!>vtM?}e_Qd&~d)!Rsts!5c9f5#|H*Cn$+6d zV$4TmA5do>n2>@yK<%9RZ%@KsgCkFOvx}#KjkVov=4RkWW9v>sZRpa3SoeYJ> z>Dso?D}xis;v8%aSU|Hibai&z&w|HT0ZoNs3KBKnS-J-ur!<#oico4 z*=?n%Or8Zo(27(c`r+f^SD-L#71C4^zivxudL(G>gx{3JAxRwgBo0+lN@B>fjaD$z zPoVvN3La53LGK;Zfq5G-mf;T1uM2y4#E4Zu6praXVsJ}0omTt~DbfS97mqJ-+CZ~X z@_e!M<&uZ=i^!90kY_C~k9(f!DdhfTkr(b=^2U^+3#`Qr6Hx~n_f;L1olwTwx0f>& z{}L?QfCuk#Y|Y4oas%^xf6(3McAz`Yz;0-Rxv>>>G*ds~I@53_rk&p9(<;uo|VJ&XR!R5G?)DvSDVg2fjNHU^oEsEkaBTTA6 zSeGKTB&nnsaZpPd5i@FW6xFLIr%WxipcaIZlf+3ia>`V~IH|BmoFw%KMbtdDW;92GZ6fs#U5{T31ky!b(kw)$37E3scs^T1AzqpbY`|Q*8o0{EVw2hk8Cz16vWYqFNHG23M=#)w0f-sEJ2nFD{&|tQVXlKn!|e>Rg=0Z7gj4#=yDj> zgFw}Wj7rsZ7VD^?Wi<$wa0LDnS5%d#UZZ%C875%a)`x^jBW^^ZH6bJ&pjWJft5x(o zgvDaDq*ik)gc>KI^ceafNu>|mq)`bHr2|1DpiUV*OoB?-kh*G(FiyJ}g@Rf&Zp5mx zs6pLJWr^Ob1Sm#6s!3e4JW|XMu4-8XrA)=eUTf4UieQYcp&Fzus~}5QtU`+#u7<=> zttv_iVJE4=VH`peF&>21s2--03Z@$Y|n`5d-x) zQc4py(AQ2@44acc>A^xA#DT|Ny@FAx@<1ADVCn*L1A3tbOHi*vovbX7S5F`U87&Yp zdc;%**+PXl9)MH{!z6KfxQYQxZ9*3Msu5eWfrO+{tyPpoNn)sRO0a?^M@mffMk8?h zF|OCiAd1(Z@2OhgcM?PmB@VGrPO~bFpjKB|u)h^*XR1svYq9D`7=4%`ClB&&Xw`*j z#2|F?U=?CoWws1smczl?sVe4)iij$Jm4k_P+J=#XTq)Ox;!4#uNC9Mr21+L8oS<%* zq4+Cx-EEj%FltYpfK#R>d0BxoXrZG@*yvxu6%NEmY$!nkhyz7KuNVUurr0^W3;a-X zb)(gsS)IM;P(iVzxEQ{{zJ^kxmFi;3@p%*rXB_A2JR~n~>X%93P=E5o6PS#ZE6;cx zoM`LZB129H(3>X~9d>#2l2PT2bwc#Mb!>Ce|I8T}&;FEF=Mw}RfaE%YB68CVLYjf?KD)N*8 zsmZQad$+Tcs)AC!T=v1o^B46q54tFm1+6zWg zWP8E6%xUWIsv{RKX)U*^u^&6dZ~R58icYe^VJas{$VWzwVPXqjk% zUfbyDQD|a@*ETM1?``5;+)?334PzxF7!cE>r2@l{*1;vX4z61S^s^O|>YLqeySI#i zi0z2Qt=(aN3BQjNeO@6%V|341zVgrzKuEbEhlNN+Rt%(wxg6;kRne*3?G>ZBf`e0d z+Xy7-!!26mEwps=(V5+jdPrJ6>7`^MR~vDlYIbk9J8*BcUE4rbYq(>A!e;HIR`4dk zEbCcs7+^H#g_g585>3{#ogO*V7&D}t5VS^et(d$d!|||X@RemSzZ_g;BTXZO?4Z3b zt)(7%&4(_)F?`^JX}bB1Az7Z3qFYQFK2Y8&f3R%G;MeKXq~+EsR)3YD19zFa^>L)A zcW{JzsHjuOS!|;?9?O2o5p^R-v0F#PthdYEK8#DGy zj*%krWtFc;Vb0=YWimzPoN7#hBWR>5!uq%?6p|`ztg{js9h+A)xZ=p3!A_$jPBMEy z*?1$`UxJRRs*Ti?7`3LpnwlvC8QtKBYiCdd2_+89`muIsCV6@-PoBnXIAzW$9q%qxUJ5e>z3*&O>RpjyL z`Do01n4Pim=0lC+%yZh%q~2u?8Sx5N^sbLFO=`U8ZnEyD9YyInhrQrYz}OqVp=gOj zYB;nwO!Z=cdn4TDpz7-Z#%wiAvb$b(B{Y7C<}9OBdyJojN_`jI@uc}_1M$YS@9nG; zP-Zo6NhC+R^#X+}uIxnS8(DGWvra*gXT>K^Qh&;nn!?&;KW8W035Ij0+_ay1uXn)3 z42j%v;zfI%Q{`1ou3TJBoyZLnphY~)Vyfr2QQ+FpOVJ*`_A-4b8*kPTwIogEN!#Vs z)^pa*?#jg)^_1<7zG;lqV0%Cw#le}FtKDTSNp$_#!JOZI5X>b-Ba#VRjN-wnk0vrr zE!PaksVHIhMhnmy<=7U-jTu=@{i@lPS9I^&8k<+hV*S6(dDU#rjl>xL@0cKCE>)sQW7i)l@%@`i!5|LzBIrw=z&c3y~HSk%H zID?;rI34CWhm*%GgA&5Wx2u?7k3E{`k)$qkcdz2;f^8vI{jvJo{MsJBm9D%5LcFIW zS6~)Z3>5NIbxIMQ{?9AH=4T7QztKEFDySgk7fW=XSFB?kHcgG<18>?^k_10Ut?S3h z2s+FuRXN0B*-Z=U+6#&zH@9Hgp{Unk0;fV!8E78hAjri1}V* zT8TXLXv-=7B^O{$8K%l1HmNDYc=|J2(#c_IN3%pdRkiFy1e0|WRQ>2J?j^`R0>j5n zro`Bhkm@}e?9-4T1zrlMsBDi8NLY@}NPQ{!)Kw@v8_ep}CH!A`d(s@)pDMe&*p61s@9=CHx024PXGtd0 zre`n*dpI1cKV^q6%upxfokrL6O<#jMmu9SL`-zra#Ttv ziP7|`Hfqp=lp@aJ*<}dT1`HtPNrISe@PEby^z>^Br9%`iYD<*U4GiL2gJwCdS`D`R z1RRpIi!XJeYVrUTqo8bF0AK&oHW++?3$udgbvwh&t}O1)ZR5+AIyj-~+Q;bhD{JpC zobS|VcvcxQRltowIj4@zN4u8~@qWs|`aTvj=Rmlt-sG9y|^l-(lm?pyYQ{>~f^iK<*Ql0ST@L2oaa&wRq>j9}|+ zC_ReuR7(q6pXkK5_)>}(h2FPb!B49Csjj5r@q%}$bYy+qTtI?RJSDHp9+nDf0OpXIsC5Vj%gS0l`a!+~>UM-?e zQk$tAR?@_2Vf$vhX2(W{7{RvRbYC+u!2xOX3&u$OaF z(h)bNKc#vrIwq@!C8uh0+b=cyz@AmN`9z!LT5(!X?20f11-u=Bn4*Qz45VCPtds3S6K-rZ&08$vQb(q&@E$@}G91XC) zH^XCr#LeYBHIQ>)2 zkPE9WCz^EoCwn-9|DgETFx33WG_Q~9V+LsvTnVsqJ&GKrMIscbq(xk;YbjO?EIziJ z?tm(Ta#LFpN-*2 z+m5Qc6p=j{};nE_eWlzPKt#3@UzYwMi1x-1R73~Rg2iEfsMV8ujNT`RmsuyM+US40rRpZ$i zKI||VpDe>+co-L}(@<*+|1W)(%lIAsiHf4v#j^CPC&l3L;`aO!jtZ|VFG$6J8v&4&0<#z|q$_TJSk9O*-bk6~H^TVQ-dzxQUB7w{$a z5!Gmi?a~Ob}z2GjJD6Rvdws==kw=^*{xRV5+1{A zVURVKPkJkr3kw@fSVV_qtB@BKS_}A)X~q=2zzCMZKFm#+X}FAEFvxI8$9_XzI_;9N;OzE}jk19*me0QBQxVB07{F z)Wc7RTo*N%UgE4gRDt84m30K(ZL9J+S1>_y$SJe%icVV$hS+Le=L zZXRCe7e+hg)he|l!9hMaZ7;MB}Sp}l8}6W9m}`pP3@~G{MCQg3l2A*J*;!68yK< z5`2!}KU4{Rj^K-|Waje(zxn}!Um#eyh2R$n{`-dseu-f3bp*dm@DuX{ze4cu1ovwM z?_Or=^90|7MwDj0N$~W;1YaQd_%VXtBKYSYBlvBCpOw__5R8ADsoy2|2d^RcJ%ZoZ zAozWP*KZ~GLxSh768sUtdu}86V}hU9Blr`7Q$qKr1fSYx>Wc*bSUCGR!TUeS)a!o_ z@QZg5{4~LT{1bvt68ukT@lyn!|1+jOP4KRB1fL=Jy&n*Kmf+f(2|h;Yn6Nn9)5(W-zWHlaP~uj{~@VABKU~l{+Qsx zI&ptO@GnHqeoFAaKFZV=3D)jr+kQ^))R3vyzX9-f1^3eg|B_lT^CZE)5xP$i{GCrS z^=X37y^$22A^6`w|G;K%-%sm~Mqw$%1bf~Wq4sV@-xCqSjY{p;)3OSfW&;4!R) zCT{!ev-r7w?D*}R7MrWBjg^_%hh{D`OQrw$`mM)~zuP3wES{U^;oIfe*@g8Myv~jD zt&QdL=UdISW2NKAj^8&Hu{Hm(<^<8+ZqUxH&Ye$5yoPyi&E~Pxapv4_a%Pto7g6_L@P{LHoD;3!5iFR+MY8Q>P-jGMjyaAWedSf0f7mc*ult;_D z@>Uma&!gp{k=CyjAYF7N_UlBtJJUi?(nzH9W};;KoF%wYu`IoXSodTIIas9hR^q%T z2S?t*bJ=emrT9)<(5S@%ihmSJIF+XH(X!da`0{<+Ci3!NP6!fn$<6bHov4OrqX{ev8;ZL zVv*AOayWBdQca1yKZmmnBI!-$aJI6(G`qHrR~~IMPv&suVv*7*;#jLJdSyHLH1n)g zHhC;HHCoEndSo!CPFOYc6ca*X&c0vqZJh zD?la9IU-IHfewq0$d&pW-YHDUHi>Puq8OW$&lC4l0p;~`t@YLOGqcT<_Jwhrc=)7# zk=P^BU71^P_6Jq4GzT|1r zB9TUv%_5P`5>Y&5Q_g{HwNE7%G|Bz+@Mfbrd15tkr_NdL0$WD{K2dBQ0yLvi|ajeapdAEjfas!&t@= zW+_@8GvfE0bw@@SlaNJI+>N8=28$&8Nz z>>H-+Fnt4*tvoU_mYG{TZ*-z`pD(oxmf|rZDi0!8RhYby9E^eU@U!a{bKCRc$T~(W2Nq|WeoKKsr$%drJk|LhHysX zj9@a@igLz+7+kx!F*FM_)8Z*=IhtvgIfhbZ)@O|tM^VX`4u7p<$YeYdA4$>4qBv_F zL**V{DYDBV>;e7kI#xxm+sC2^_cMC^V{ZVs+3okcoimpYkKKZs9=lgBh4pD1)xkGL z27~?n2hN_oin~6;%hPxZ;q3PIf%@MW6y(>}$~C-q8eYL$lu_L2HllX>%4RpZ5_Z~2 zqkcJx8|_-usB|`KCre*s-M8azCyv%`aK9G!bNUmfZ{HaX+W5T6nXB7-m)qO@)3@=- Ly)$@b|HS_SoJz6N literal 0 HcmV?d00001 diff --git a/web/lib/release/libsmol-v.a b/web/lib/release/libsmol-v.a new file mode 100644 index 0000000000000000000000000000000000000000..a3d7e83d02c96a100d00d38d5d94368919b1d172 GIT binary patch literal 47208 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∾xm=5nQWkn6mmImi4$C@qKQ#p-cgML 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
    Wv@6rjt_P9WEvE_0&bDmt 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�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

    94{37)m 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

    @rs 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%0D)S`=w$9o{7epVZi5YS0RD)8+K=PL|aRP<>ie?E zz&{jB`2I2de12%<0K@khpO11r&348Onq7bDGe{ zwK+Ct{)2X4+IT7~;65R+8vIC)#&V^%o(|M&v!Wa1R8;;CPjM|8R@#T zJ2!+5lo z-rtK+4l?s*(1%Cvq_Lw<%0IoI3Xj$HcR+A8KNZ>V264sZ4&_6<2pn=s>57EZbpy;* z@#FYu#mKr#C5Oko_O>?D!ajKd=rZDwG6BT#9VqgZokq>FI<%N`Ti6 zPCqdk5r56CvY@r+Ro4CGxYch|t0jX->d({cW)TtHJs2h#yTK}Xc06VujXMB`3^?gKCn$sVX$Cb^;pes)(eG_g=}6F}8K&T=i_nu5$# zrn}2R`3Mg@l(^1{@Y3K-(|adLh-t3OS2Qs1nFR?Y%oQvx?edDG>5u{m+-@C!4dyPN z7u&QJUkbtoP-f4w)X}bc`fJcQ}F{A$_n_$qpb7i0otPER~0b zT0oQ}g@k!hA#j<%_WgHnji(E0utf9ZvCBEw4O<(~N8mXj;~LF%8o*qaA?b5`A61u5 z!%xqfPQfm4g{vL!i4rwI+;)jF*J^2^@nEASJZn$QQnWD>LXB;3W_v`*K*TnD6qqlxMivsmHKwDWISD#qNr4h3aE zc}xH5rJD9V^tZ^LX}`i^(=2Hevydh2IW|($nxu7w8-RmK1R=+sb4jF-#S^;_K`5;b zst$fZ6^-a>l79lqN+uOUhq2HBenF6MSqiGnO;mNDflEvvBJ&WRBt4+k3g?hyIN`@u zTdtF_?6Z=?(%hk(ojA{or`IFHxJ{Db=dNTZa6)QL--xi537_>uC5ya5o@7$6~RiZJ9nJ?8npvw2~A1h0F(f7A?_Y zZ!?R~PQ1bH2*W~?* z&z;_<`!N@Je~r&&#=uZJ#lfu@o@AF@SURsICYNJQC#)XFLz9J32er#>rTRKaKhBM# z9vU-O5vFm9v|@9>)3@I*&i#d)=@>3hNU z%%>&ca2XOR;p?4r((`=orH}@OaBM1-Xw5niuxmqErJ5G1r!I%3<7T+D4wkL*_mX6? zU_bnc=F6sXm!&$yU&6s-MzIk@D5bfoz&B*l~7s zx{o@#!KzPu{a(Josw+IYy*DGH%_MsnG;kjHHueos%V}eWY2+j8f>=l_H;Zltz2IvQ zEXBCPPJ-o^75Kqcz!#9ll7Us2m(!5nV5OA=N9!UKtOqndmydzqYTp!9;c8p9SdAVa zZ+)dnA)DO6Q}3eA?HGY1~| zsH#c8oKrd!ZmV43Fx@T*=h@^y@< z+v!_0GHr>vn5%-UTtIl_-L2wHB`t%CNy|OA281dzL20$DgL3oEx`%E8EsVzs!a5^= znmma*VpfFGqTfUFmlC3lFqgfw_Cwi#w<-}Zw2-=nKQ`D2sTO$*JcH~iiu@~-XM~Io zpJWEfcrIm&+m36X1d!)26q-OD?4s*qddF?pN+4k-45q^1NE%bM1O5K1z7krf0fdy7&47uuuI1eC6q;w`h z%6b6_iqs=whq#^QJP1kDi{5G%xW~h$xJksoiT^!I$l-c%igb7D>Sgz&(&2Du*`tEP zzINh626gGI33ex!P{V|D=irk%?qtvA0wG$894|U^ zI5U1A(Zmy0)8kC6lA|iK0H9hJpJYy2kJYZ8(67a3q&N({$k5&9iDlW zKoEud?IwnN>zFk$g13^9Ym5@WD1#&cXJ^n3i56Y@BfQ>uxebjOR(*u@fOmtRG&a*M zK6$e zufgQh&b=ErdN8xrMI3pBL%cR|v&Y*L=jzrS|AiaWoyniSnu2-K%O4E(JQ&`A#{Nc-`;GcTp_k%t9FJU1)YVlrlYVkt zvaK@evBLt#42qdGK0v2Ys1uT;3VGpkivo8BUMLj1V;7IZ<^^21HY;A?Z`eFU&Aetv zP|1Wfw))$oz_NRD{vAmGE6b(*UOry-;Cy{d-}jHAY8tuUVGV2a3O#^Q`abP%IA2xA zh8#7Nya-)3fR8uIJ=1fK!F-PT0L`zRX6%8OwkN-xo(oE+aLuBPV#A$l&JWNcBlVJ@axpck!dUGA)-^};qt`)X0_eWZqY!f z(U(Rb1?W}9TpETV5rp(r(n`P#$XH%p-^ar@SOuvm@Xq$UCLK(<*M*TRlcXv{zVxN9 zlj^2Cn&~G6+DmnJPpTRDG+8Na*LfRu)|8-CnxI*Hx!JOym(z{>CQf(B@)BbZC}Rm7 zC_^`8=p%lK(y+&WKB$$-LyjMh*&4!lhA&Wx%HlWt6LiHo6_0PA-?WGZ$W2MEg4xsj zKWt3JA?^>@5Xv2v(HNm2R;$@3eq7Hd(a7G|UFOqz`0164=RaxzfYP`2>CU4gc-uLE zO~jRLaeN_zfWo(o@IEDlNL)$&9}-zj)vH{fn*?wHzxs*4+sb+=CilFR+|)+i(KHTR zi04keINtl4(np*ognz(J3t7ZE+lBPwx(tCm=ijMd>3lJ5Hi3N7XWg+X4aly*4c(2? z+k5n?j`xQJ%Br#I@t{t(guZO&Z|;9Z>2d4giy2CmlPn&u>gq)u!j|FWy+-UiZ61H5 zLY0tpEa4F@QXvUBrRyTBdU9w;LtJ=%;v*GND=6%IVh^FGAu)IUwLq8ir zF0k8cjg?Y}XS$rCbu+I5In0}8v#jc_JT^>KY#y@6tS*|q;%=`OXkqUObpBgTX3H;sN7E}!aIYy((OGX}uJQxtDCyx^*vDF3IccYPJZ-;hj8M*59}y9aKM-)t#h%0c{<$ zd1ZMz9})xEG(*)D!2Zwg9{4x>#nQvIDWB8?HEL_Fw$&OalS1R375=*U84wD>9v4r}`r??;Q5Z;)JbuON!8^jXj)I~)=3 zu(V6$6l!db*T!1T-zg)0wM*f<5uJ{}l2khmg_b;8Xxh~#PQ*}0Z8i1IULv(H_&cT! zh%080`LXjG5ZDHX=L;h?rDbiw zffoGOIduR_=KG{Q0Lq}nfCo1La>&sG7FPlGM)E28TvWZB6+K2!$kS71!ws+Mwj-sqWM6S5p4a9C~+##HfKkH-P(yZ_@b1BZ7C%=%9hQSE{-4~W`{7497Qhj z^5;>DmX7l?@g*yCU##q!ZqfaL*GsSfMKQc0>zuBtp3)v5@kcre5MACqCu@JT!{8 z-;E;({NKamEg5utH&IxeG|#yN!0;6)*oYn<+vJtk$nSG`z@GGZ>8; zH2n?1Ban##)3U!_BDoWFhrG}Redt|z#JWfsbH&6}{j|kvo8C;E4O(pG68h^F-d9`= z17+}$zVt1x043wuHP~AwB5j?y7UXM_Sqv9v4LIgvI&y(&V_|M^A&-jawL3*NSxOg1 zp>Z;Lg#mzdfCJtEi-*wdtY-T9Z={dMTuH7!EJ&cGfxhv#{$#!rL{i+C@e#@*4AbOJ zyiG0DG4*Z-0cZw?tw{r@R*pG~vZc*7x2F#io9WrPV|FP?4_Y9LH_!K5`E@4V8AS!umbJ>K^A5--)VHE2Wmdc?2Q1~F zK8sgSK`tK|GwdoR-i>p4jRt$AC`O;jhHiH0>8Rpeng1=5wceXT#8AQr)MJ>rGg_96>nM%@TG&#`mw5hu6B*B%#;`m_zO!5fSq^ zU?Ev&j0;uFA5iFZ_+;UO^b4f~cbUWs*!^{oyzwk0I>l!>VEMOj!W8>VVtheUIHti< z6uIYDtf3M@V3l)rddN^0kdyTR{yfi)VuGbiba?J-FSr5qqBq8H>^VUI^&D@`=4J+W;_PIndLVCR@nM9@6BvPMSgYHOk|1Fm~c9aQ{^zP6~ z7?WJ@lPpZrz0c7)gIeOFHui{0F0;hDTX958B=aFP!3MK+diLr_ z3f0<2`XRtjF_FGPcA;jcFJm1}Ip6D4GBQwH_@6kqy`0t;_!aj_xnh7JQ#92%AyB-e zE!&1faao1Hd5B<_6GDo*MJC*x`I6JlQ0&!J>Rg{Q*iIBcgtBk6wZ-|0*rI z1r(Lk196AL7kRXPK+LQ&FBj%udV}H-Gv**p5vZ<+Cg`_=R#45Nv+6iwYsGI6gIzj{ zhF!?XE|-9AFJLiyko#J_sX>TcM~w1#M%0ifOM>TlNer`g4VcNox$b5zFI|R#9(0fc zA(IFC5=^m0C>wbtgtyIjy$;5`RC6TkU}|FN!q?4ZEUraWu$P~VtS#U>Z5MHJt(w*< z%iPHKy?xmHKJSQ-x;~^(2*_HZC(PIqaI>T7%pTeIgy>pukdnu;i=fG~zdMz=5R<;< zauZ^cHY1s`54i*Y#|cF7>eZ~8Y)D=R{5$CI{uEj*UDix(6aq-t4`2(}!7c@E+yaD; zrfCPyy4Fz)QWB2n2OnO;%2nv}lXGh-)0(oeUcqwLqL+W^r)sft|X_ zaw$Ss&VIzOICWPh5i4-VIZeu}89D3LE~rpv)+kxEHVIU>AlvAMesns?{v#b<35*pS zIO2?BoiwH5)nf#AfkBg|n&qfPz@cxC2zDjuVIngPHJuPrY#088ZgjKg-xjc(R{T{2 zyn%>0RHC_`JW!-kg`dIon#f^WoIH>-fik2t1VpG(j>#9t*_XFdnL`y(`#MsIys*5o zb0F0qj|4q&VJWw>P_FETzPQ2_`P~%<0!M6PD}k5DhCc-d;p@@`5&60}o6GTM_(*Hgl9xm!TLt3=`>NC+(iypS)R>Q?`IIOB_ zF`Te`Vr<(J_IT`%C%7TU`4XIj#1axqNbGxLf`c)$!@=Ql39aMo?I6#*Ksm^vWttYqcSr8W&SrBq>H|((M^?tbWwP4XyE^s|9^j;UrNhT`cU$u zJ&nUenrVWBpo9m928NKsWi?n8L&aI(>>8;=kUq+25Fa!_woD9Wr#!~kw{co$`FYb04HUmLG-9d-k|$1w9aw*&?T28G?&z;JYzMZ*oeM)p8SgffZn!Kf?(Wejv>t}AI~ zJ|E2lcPzoV6@@uv;!QJ;CX?VK)66w9ZKj#oT$^deh7foeO^hvV0!ZdEjYK3Avy`x5 z77B$FMTJ>daa*ytV#}Lw+q#X6R32&V(PCsFvm8Ru{3B8v5P~XUm1j8|JRRFVICwJ& z%|5S_FU-IH^S%1BCgyc50KmXUI-7ek7(|3%Ju+}$KrzNdWt3Hc4GsOt1*;^d&IHf+A+%%(5~v`}nvh0Tj2JFUOT8KV z(k025i-LLcrAvlyUKF3acA*Or7=-c3YZp3m7coX8H&q^1jbw!ENFgc;g+f6gsPspE z(1awB27`e>AaDd;Mw!P*%)&Urgz<+Vh;s=?P}tUksGxS}2wE9Ng2Dt&AQc=k0>=+3 z$Pd?bU-xxiH++Zx@7%u9PV}D8I#=3h&54=IT)g{U{LEz@cJGl&JKD5II<1R2%(PhS z=w-qjw#6QY;Jb7^4#6YcUAiIIFM}r(_UN0V#}6Tq;LsO+5Jk5rrw5rlLKq>fL|BE$ zI6>$j3=VF~b~>fW8FCnua&qn=0)x_M{7B-ALWp57=o9=Wi1Qf+IUzndgMuO6FvAH= z#9SsshY1sGzX=r+!OxUn@RKBm9JWqLA%yK(;qzz7KVKrbWUj*7%auoYl*d0F9zLCh z1x^FQLKb3ScgR94?B?vgIkPNeAr=}K`oN%2!h}Lhh=_*hFMfQyRxA$2%9xOd2#v)| zLKYDV)gx5z`MBNL#9AtXVwFx}Y0SJ)HQLNHg5%yHbQjJdi&S(ucbP>NN!Tt5m$T#0 z!YQJLhsGg>t0B=jsoWv%Fe3>qLLs!LgbG(E$D_t&BSE4gITGX%h73!PK@|E33KKL3 zDdFT1pJ$m*?s&u>9^^md-w+fUAqhjMj6sxeq-8iBISJ!khvP4ZH8^uH|DJjS_mjNE~r4 ziNw)JO33IKiJ6RyI7VV3$S)zSf<%z^Z)1+RmE8RcmALiK;2;u1E_kyxkP~$s8o{&B zU_~%USRoS<8(9mhFWc-ght_o{>=RbUgoVBiJw?p@3*BsQCvMG!S6Es1Ve+8k9_+he7nXOxeOzG zD)grbr=OtEpQllO5;M_!J|{qiqS$rpImMF?9XTIPIysGylSLy`babA>(;}Wc8OqR# z54ET|Lq}-SBAatsH0MZ*Mvjz_$KuYBP}pz^i;2P*Hl##RqAC$Zk%*mjq!XR6Ifp|E z!-f>`a5xkA5Y8qeK^d743=wh$Wn@N1MrI>jeDg1YrHlX4MQCv7CMYO0XtN31gnD6z zoj%!;Hj&VBr725CZkLBWKNqI@Dvc4s~dS{TigMK|!({jLPF^P#*{N zaZnA72S%X2@!Hn5eb2US+qP}nwr#gj9p z!fsWWhE7s7Q~?7H2?+@a(PSnwnMvEWRV$OO4V8&Zq@iMH7fOY06G>82lH^E|BuR$<3BU(@i?%q>$>g( zCz|NBR4K3%&FAy^yr;+WdB3}XrN{j~b26};lNK4v@F8kQr%@R*Bta^YGbHCHB$6Qg zC`kLMLK^z;(N6^FXBwRuVz}rO%$RxiT!e6j@Cl2%=OUb+^Ao~{|8UVxVMYk^pNZaO zh>v=X#1t+dY}~f3?PHCJbizz(JF-uhk0eTb>o<~oL{(;4Tr%of?bkmJ= z3Uiz4aUm{LT}+`kL&#|A!uc2H^pQYrUJ zu84{rhU_zh@{DR68(8YD0I=dB&}^R_o_J)VkSso&ZT3f5wG0Qt7)S7Ti(@GV!ZJ3- za-%8N1_-zOn>d*~X=9eGSTo=A8JJr5YXX`DsRd|Me=Q)s96m7cqLQr)ay3$N$UiXM z!NXC6)j+aKMsZ6yZe<#Cm>ZvKu#m9K@0!Dz9!vH43Jr-al^ub?-kmQIfWADO`?LV_&5X_UX>qJBaVlwOTy%MWk1^EIT7 zl}5}O6DSPazh9NaYN6Qh`N-*0CUTC)Q}+R6*wKyaYCB0{6g5P=vAAou#9kC zb34GGaFa?dJxSX3>fr@CMw-(Qbrg^Rr&ji&Z|C)oVULXH?Mv<~{zthjCgR2Fb^B0Z zFK(d~lbuRMbZ4hW$Hp@jvb$BhR$7{#L}+nY70QDb0l=5EGESmshO!}H{^)5-&E6Jb zu3y~E3dHB1_``oxqotfbmtXLKPFB_&H(C+!VEmLg8Xrco?SROd9EWYApsp0HcR-q| zblYkoa~>Us7^*NI91<)rWlCThiAyjH1^6=a{UmcdABe2DLFYML=&D&(!!u&IM1IPnO#lWv^-MuNUb>m}suqmKTC zeV79|gYL0aHX7CH@4a8%x5mMX^5ywG9dD|wUJXF(+7n*~zdpCJZnMN};;Ow%o+Nv~m zg}%DT8{$NVR`V-;;%OXx`X=GY!!6GdTfitYov&*aPw|U8#6{9i+%%4!^(EFhdyuu}r<{28DwJW_F^= z8HEx&*9v-5;BP}#JCKZ0qs#uw%>N)-pv@Jn8Jyw%7@;rS{*u>E)aJq|aNc7Z&k7KV zcN-8ly=5p}z}625htz$1rCsCVYCE)@nx})@CI9;s0$K$6B8nn4AfUHhn8G zp1Vqtro6h$;ZdbyBkln( z&GaTutfnQ+dYIrUelSBar6dN_VoaMDqSShNSAt@V58Q5V7K6093^n6L<9cZb3%n?A5GSp0b-IkB^2%|$|7y>&K0p1#;^{Dc6)?(Z)EggTp`ouks<0vb;}uz;ek^pE9I6K+c!C_QB0Y?q-5dghsxoM)OHys93^g-M1{oT@x4eTm)@!=wDiKObH5Rr zG$UxeI+Yb=a_@fYMJ3S4UXSf5$QjNT6=Q)A-Erx}o$jBlmgzKnXO*Et0@>6VDTf@G zU29HuFFUAQBix)z;I%2<{pFe}Hg$QgRd2CrjeYk*Gske`apeLzJ1taoYjLjbHF(Y{ zOM#4?3WUohR5A*BF)=uVW?Lof{5h*|)s9-Pa81+b#v8xolX19;-W+*4l{eX(z z&qu^P;a>lc(})sc%d^0PadDwK-_w9D{AnyC{V16IR;X- z3eb|of}W(TPqI|y#HgnlK1;@2(>Q$LYqD4=CBLeQ!o$3nPo(BS{2v#=cByQ|#(heG zo@?NX zc_dDX@d>Ha|LefpC9SJt-@Ez8$HO@dN+)7vB5JgL2fxPNz9~zzFS#0Ze*c4Y7_YtYN3yD5zJ*l!09Odai)-$2oM=v5| zfwm!u2J>xb7kq%5>AQqC*oV0z0Fg?70phYC=<>hRL31>zU|^Z-7p8!#CY#$tOOc~r zW2vPmb**Gwtc^Uun1;cjxr9B50XL~FbcSfm#}IlhA6_S(@R}~zbOoAI(tvw?^ayk} z#>MSm4ySF|zT2myy7`i7G9U`%WpBqE_^8xZEsq^2b>M+!0FE z)Z_8u{I$8dJX6!maak;zoH-Mq8$8es=a7=1t*O4ShdTZ6powcWmQVMrW?MnFcS;CJ zytqe}7LnwgKphFhsy=B{;w+wDc#P5<2<5SPhnhP519UeN#`Icbvz?L34^$ywlF(vN z+;UaC;YcVvTy{nY(HWQ#y%`Z_@Oj~P4P}fK1IQ5R*}SGm)&OOI zo%rpvOuxYWoQCSkuGVZp^qXV7r%T*WR|ru@VgZAiTFfVPOv(ifp9QYc4zhHR&uSNC zft;9N)uhP(Hjrc?m`PIza0OLpTR)bNeY;IkUT=bDF-{fTj&Bxkb* zSXnlzSS;iqco?6tPF zEtI%q+*m6nSEI*tWV?s$@0+R}TZwB@Mj zBsR0K?%Mm9yd!i|8y&zL-!Hhe&Zgu@GV~LVuyc(upj@>wdvw6%9>D7}R)>^$op1Yp zf=Wuxz7c^cj(cDIhpGlTcJT-tAYLb<)FiX`bNi?bfx3-w*bkr|y)a(oO5Am0aiM5W;cTvTGQc`kJ;S+1_4m) z)}g6lKYk^HbT=}ESTmL(TRlIw1_iP=#*@`MmlNOJ`KXkJYCqV$W;>T#0;29R zU0T=@@m(}nf&HRtM@_Pwv`ps?vC!{tG(ow}luGK{C{f`kgdSDtVknqDk4nK^=xW9J z97xsbk?A1<;t>sHZSLwjZBCp_=}HFLT^cg(Vz*BC>wzK=kr33`Zm2nBp@f{H2pa@HC-Ms5-3 zy<~;cIMWA|*s0ubrduG|i$nN}SEYU43TM2;D<+dHD_xJ3(&awecplW+X0}mFUn&Jw zYr5Np_}Q^jn{^tqg*P}lrMWCvvBo?#QzUST3N5cw3XzMk-SecE8_b|=iqtz2ywGpS z22t4+AdI*5H2cm-BzO|rPV4R6NL8(}-yS!De5suTu3voetrdv7c0ScN@n$^sR+?MG zdF5TSm>c5Y`m#|M!_L7n5)R<0Tbheq$$f*ZPQYmi9j#Tg;w?h`BrOHYHzZ z#ihVfu2w3@>1h8lvcS`EgFKtEyEf`VGHI;E`4t^hP@gk~C0PL_uf=k{peXmnTL-^K z7!cXDF9AJ|mLcYt-~wHr{U+as@XxNx1VcZL68^m`_cE@8c!7ZEtjTzHQ{`QB6PGc? z))=W02)6&C@GTmgeyn<4RahB{HHX6*Q3f6VGGz<-Rj0%W%mPtz6oM@YsAYT1Z*Kxs0F zOWKN|#9-4#AcRAXE|~S8%|iOc3ZC@6s9u5s*WF*NQfYfwC&+5e4f8aUL%z^YdQz~p z#ErFGz-U~FmeS92Ewqa{@m*F9NMyYxjT(##Bg(1g-!%*23_wA#&9-!6&|Bb$bo$US zV8!QuuLO>z?@BuYS#lZFBFEqgKR;xxDA9+JI3uNxFeiA2SW0n{(!Mlmj!6MJBMP-W zNL<%=42DO*m&1}?0E=~ODuQn(54gg>(h!rq8KG{u6z2L!`v%BHki40aTp&`L^=08z z7R10BFR7KSs|&@Dq!*qKp+W_@oeb{9g+@>66kcDvR7=TdMuIyaH`v%!Gcn}!_dJ7N z_m9nev-;DaP~*CX@V)$p=c_9sQGvrb#=nSx5NZOY0}JGiLu8uxyUNhb>I|C{0GYL` z1jymd)Hg`^6ITwgl)7|Gu2rr&Bo`+Bm1gyDrLPaWQM@|?&ox!HBE!~--TTk~R`m6w zPXQU&`vww$RC6AUKsrr+pxu!rDbO(cB>ZYbjoam>q#S*MsZ%0yMiM`dswFWOywCY> z7#m_*)85@QSxeL!==bPy(mLT8m-Ii0n=cGLlDTHx$D2 z?hKHmgQA51>D0qJ#m2u;cn_2e7mfiV`P%nfz9e*UI;bM&mw=nfxk(ds4+fGPGWe;g z@L7OeL4LG1TpfOhBIP?&@KbzKO{BBQPE2*x&^)9yvE4IZr*otRgTV zQD9z!^)tK<$Xb=4rL9tHfh-n@_ko1YI(W(IQ^^w}Vk1uZ6lpBGkAC$T5gU*255F~j zW=c*I{TUmdJea_v(8fWlkHMyC|zA ztGKpt;uGZ>dC?Y8>>J1SdrR*%$EY&wIG4JC?-Z*u%mF>)F1q4d*=BHw93kfH#q z;elMyj3~v7FlB`lMjM48y@jcJfdwcDH!qDJZZ2h)Gl44W9PA&sx$lT)d*Ht$a?spA zYaLpiOnA8_ezD>kIP3SxDgd!)_9_qpT|(&`Nu6ew%UT&@sYW0SK$k&S&+CQx782f0 zf1MCQx#Bqa{6nm^l}G?aTjFP$pBD;JRV~In@r@@!57a^0SHi$R+ma&Cv0c*AGzog5 z;G$CW5Lxv8g^8rc`R_XEh7m($VOxpOe!S!XWk6N~NJ6*#(wru&og@weToMXWsCBv! zODPuzkOumJv_FfU$R3!q;T|zWbkLYT0r@Q1l}gvpCwRr%J$T*cQU;k(>>#)>RG`3G zwzv@Fe`3=4qP54M(feGo0d7;Q=W7uKY)>$|IlVeFNj1jFkpqO8{wh&Q(G%%o`63kz z>XdrOL1IQos!8w~?DRf355vcq*b2MCc6`t5hPP-=zlQ^oVv`h5dZoPz-S7X1I-x|{ zRSaUYhPgs^{U_-#W%J8^%0&(o4k)o#-dT?5vd-ql@#tAsD`{M+;(8UM8`H*Lwzjo7 zE-4k}q!HrxGB452&lai9T6vbn0q@d2uHK_K4E#fwui`G6Oc=v1FZ3T(k@6?j+Prh_ zq_|R><7(5L`ffRSp&lPW{4{e~p&=S@?IzXE|KSBv=wj*Y?dr$uuiNgRR+)6~UV!)P zv;uCmAgDM}bu$PkSsfbZ7}Tuah;Gsm4a|9kMK@#SqSpE zloLf--xzJKPSypmS5FVW2T0dFUfnflQOkJIyGpaOG|4Ls6H0bDhJyD-mNKVaCInfQ za-Nh%+H_wT9ukoALrzjI9wNnc35!5CMNyVZoAJbMsz+vLykKd@6mW|MTc}EL3>%<4 z0&5V9s~)iFxI0}f4Kh7t6M(M01%UaHn9phm{?1?dT(z=JN6EW4!^fWLs`U(Xt|iFY`<_16Nai4&5>SzL-&MPY1F zF%A1C{-I@fTAmN0q%{w>!qQDDv-8ah*~RONAc}BAL@mnKO4@HOncIb9(`&H?3QX2{ z|F_+ZNWfB@?{Qnw1WqD|u|;?14LvN{X$4B7n((87kh%UeANx#Tia%up&fMVFf611o>&?yLlT6+AW zVN2Tx{xlIqImZb1>foBHuomT3gEIcEA1;yus8c+WCrN#fpdB{V&h54e$~CaE@j{-9 zIAKZBr5#upgBB;kkRmjXkJXYy49%O**%Kt^rPk!^o7y06dw~xrz(iX2UEt9(G7*V6 z$Q~Z(+~1rBftOV<)E*`f@zI_7D`;*vfv6`n^V-Dm&(#X;B>V9?f(=$oOKpQ6+%MiHhx1m~^+{fdk8290 zLWpc@WJa9R6&#rzv!1HfXzn~d6QUDS?p%gYl?6>eR4n(5^iFZQ9G=?#`Y<{IHnh8^ z7_vm+DZvPhhsG}S+Q?IXzx%mEA@ynpJmQ0~$o|;EQ*fpXuwPo3LNc*o6(HgYDk`vV zb>UJakn8Klf-e&OFjcd_#%d2rz!!Y?N}N{8MJPY##UiW#hw;5^ktW1ua5)xR((pI0 zbYNisNSAq$vF;T~!!jE(jRH&+p~b0BA@%7E(%o^XxbEH9U8()C?~O)oYzYVsXUXxA zIEGt>D1t_MBO!rZ+v2_UqZ34bJE&q6UeMa`*#o&#)dmWngSdWdvS~Lcz%z>SzC}^s zGboD5mM!F;02Vz!q{Ev*bZ$T7G75WIt*}14O$>Dhn)u<F;Neg?xW9BRQ;sZVGm>_?}KyQrbh>9aUrkeUkUt z-7-Xbs~7_s(TOu}6Cfq7h!tqt-n#N)sfEmGlrRW$e2|-XcOqzSs!~IKyg2Ml8u}(H z#R{wVDpa=axFJ%+8dO@*iB#FL8DzQ0>>5?xXVzWaFJ6}WU7o8aU^2%zyJLO7zX?DDA>P7cDLI5L`XI{c7M~@+MZKu-!u~pTi36?{kN)=(<41@lI8KBu>v>Gh)sw5-uGHx?{khhEuho<_>$c(LwZMz^Q6X7lQ^2;x{ zVmqEdJ1L14c@K)&4t$sjPD6!B&##QroYclu>$)+YsBBAZLK)iiLMON)U!n-tFXPGN_+Zi+3-_GBuzc1d42ejV&N|Y{IS9n9r?-X}ZJ> zb@6fs$!@xpQSNDjZ~pB55p)?T+#iMA*v;prFbmeD0q+2WTBUxt6WFLOCuQ`2xJ1hu z;WriXP*|ENbCw9eNwRqL5-&&Nv%eVR_PlhIUbS{03$ws3x{yTEVujffRUX*U!=`1W z5qAY6aaEyQ20KQ4zIp(9K!v~PElwoOXzk5=_!Q5l+ImL>Ns<}Kd)MMOP^qzAK|e=c zQfJ|Zv0#conHUm_Q9TX~kEH5nTgy?b^I@|<&bn9;0hypnB`Gt!V2_)l&=hxW)k8ADz0Tq!JilZt|6L?tG`kGBciMf7NJoFWC2 zZ4II}KV0jdhbFh6cuA687Y0f0)mr>iSHW z-=UI>+Tlxd;%QEC4+v1@zzm*S0}@7GTe?BYig9A*08}_z(TGt92ewUEUH#KmFb?^8 zgc18=I4&|Tj_%se5fm2AYnH%V+7#b(qOJ8Dx*SdT&ZOy1R-^j7Af12H6iHe{q>Bz- zX5S-poJI)xo9|17a;fI4a1lprE;uO5^JtQy5!10}+S#Ya6ISR_$J9)ytSKllt`fV$ z6jiLolftr;ZYp4NKt*`CU*z>}(G{0)J6w8Sh{F1#NX-xy65!6|6_L!8ctyB0qY2nKDx+)*__Kc&!OLyIS&_;R`uR(#^v+?L!o#$3clf2V3-^5JhmWalQ5vgz&4DWDuoWPu&Z4K2 zY(BOAyMOYk0TvFYjskUnp|VMKP$zPIEMwG?`1Rrr#`s>nP$F)r0cM(IvClR}Mbp`5 zGkw0V36zVm7SJ!W`anJ{)V8|N3#!*3J9LOdj5TZ!3LUw4Oly0O`IJ`uQAQV5~40INU(4UM7bgG1pH zf`DxFWN|h0igv@)sn4<-Fti*-Of|-AaJ4FMH7|#$gn~En3Q4tx1Xo+k;L}6Ks+lFo zgAkltkzdVq2Ww+Ux6J;4G6L`qM@ruCxxiCPVOj#j8p!uio#vrm)S6pl!jiyIYv|h| zwdNj|sN}6sVog1AYY&Zf_&_mC-7r6JgQ#i@W;V5kUWq#HxBO47xpV=lwYatFN42&X zP^vXIY^t?&Yga^>2BTN?tZ!~oAyl_y3|=zS!NA&Hh*5gud9oq#|JFs;UklyZmaTdA z3pHCBdaoM#l}@Ug6-|}K+{+oZQK3c@y#XqyqDd35rH})FLzSkNnJF!ij}~ePZ~>VF zodk^p5mjvF(I_}1SdSYAtr<;I5BT4m&@e=F?M)(kRW1*tDabhz;FqY zzvBu1A|AXw!CoxLa$pF`AsDU+L1{uK1UsE@3BgOa1i6HBzas4O^OVO=`#jH6!q5MA z|2o+J+!f)oYj({9M-hU-{hXijGk)6dJijN)vTSq>T{IfH%FZ(uBgt57sG-)-Xe=g+ z#bU7-hr@9UCq{(Qzfu$>A|hYiRqyJsu3@&jiag{h`njI#heHOLC_yGlkg+V+iiuE! z8m3_sqw7IJkT45jAyhG8AuNPOn9+=;VeSYsnu$pXI%HBecN|^)rD}Vx=^XQx~^2_!ADm$B5a06qjFRlDvio=7zrcM?QZZ<&9}>3 z?z-~v_VHLGswyAH@#xCcG5Ggv&zKlV`ae4K>lrh0Y2-fR6a4rDIWE%^OHXn-sq}$^ z38W+ZhjtndGJbU^{aHiDO}~0(9Z#p5K9r#jWsq8(P^%(|+c zcuIVrM18Ewx?Gme$kH_Bh(#=7@p#1IffXxO>~uQeR49vnBNI0IjclIVcJB0>5Q2h) zpj0{+3Z+7!M1{egPlC+npGbmSa#f2+mBHaE)fvG%kFj_$Rg*kDH#jZ9F!e*q_8l z2};$VCqeO~6IBg?a=96spet|1rg$o!icl19n{G2V61T->;hJWo$Hb577_sPj$+D}E z8iokR=nRzys}dR-B18yk5H*B}8!js%h(@DJG#Xjrts|kPX&No)qtR$I3W`xskSHif z6eL3#N)n<-L}7>%QYgX^US`6NE;B+AiZG^Vw4<4#VHRd$87KCLqX>B}F3Ym?s8mP_ zqj9sD!lX&2nC^13QUCsTaDD?NH8?#q@g9ZGNdRkl(K_nuCk>pFl)5iP}2h`AUiK_XO&RqBiv^Fny?Q1A%*@ENf? zZ0VMt9I8q`VW_OirHYZ=2ETA%gX14-Uy34 zNEE_B5_?R;_kEZ6`&f8GLxY3F8yp%O8p1IzI5g&7h&QHtgBRkqBq_0En1zDjm61v%3$uRWRnVpo!lV#yKjFPRyQV9=Q$Lb1+J4GP zWQPq6dl?xr*sbffafIEtZJUfGCK8h^hY;*wk1Q4m(vg1&A;D>yCW%fa(`2$uD$9H& zD$&4`4I~4%?cLh9?f3=9nP z8V{p{46RVf4~N6Rz`(#jnZP*zmm3NB<741PCNNND6DSkG3=)TgBrrl?U|40xzjvGt zahm?=o~HMI?{_QYPM9zu6dDePrZ{0JisFO`mnMv2@km@zgN_g?f~d|RsL)Y|;!p{y z8VMzoP@+UhDWXJmC<-d5V5gD)6XkuS8p(t(g+(o zwCTfU^B@^XVwl9h5J4e?;2%g$CL3)O6k%bqU|3j~Oy-%HDoBbj5=O>jp@aoX2!&t?mJmS&HPcL`f|_Y85rTz57$ic3 zFbvWN(n~Z#v_dHwt*{ae27|$%%grZUg`dAINIW)8Au(&%G#u`yFgXi5-1D|w@|rb| z!#!{Ep7ONak|%lJ|83jinKl1Gfgxts$yd(skY5jZ(C4c> z&5ErVerWqX*+Wc^SRV$2DoCd?@#WhSfK{beSr`$z1L zm?OwKkC-Dkf+NTpv7a+@&VV$@>P&axD?~U*dwNXbY5{kv)utXA3 zB#}5AA0eXPe&ouP2ohlzON8CFX?hn=$SzBjT< zV1?X|KJpYsm*yXN3d0}z3;Jqn17@(lw%ev{HFQrBYRmlI|bGYjOFoF>zNwS)?YMljJ3$7NtdL6psm|~78HnA!u zx+BieoDpY+6KLs1bT@$>Y12)^jM{uAHVq?vrb0iaVT2YP=s=4Ox}%Xtmj1r~AJhN3 z-s_gJjAeojdJ{Nd6Gn4_H^J`Kt=`14SS;2w?SEK%_z%aTAH!ofJa*Ao^dTyuaQOKD zJK_KT3*(GOxV#fOq2Y0P_sZ<&m7`SaR61GlZ3NjKpA_|9(B`_?)a22k@{qe(f zx%`Is;CU;Ga?BS)i4jFnr{KA8E{vmuh#{&7!y`-K6*_E} zNeT<{dTwafgsl^FO=ux^f~4Sv%>;!_!M$dJM%)RyxDzCAKdVKim6&M*CrsPvWFDcj zJ_037&?89O$%HD*8mh1+C{)vSf+S{IPAY3BQ;)}^>1=9|N@b{3BO^0AGz5k+w9`#B z4PinEA%qa(2rDIABB>zF*p9`59orU0naq|$&^59kvQQ+E2&;G+LhPx{+hI>*R+Gbd z_%RIXA&=1`eHL9C6C zVnHM#BqZ~B5ScgRVG=UGeVe!K>b7IA9(#2=C)vHXPmJhg9}cygF!nMv?CnB5sos%5IuVG!jnfYJb7Y-H-;Ej$U+uZ zw6Y*$7z-O?VPsrkEy5NSVG%Z2n2E4z)+Vc>nnKhw*)YZ+gN!i(Lm{p!#1*1yXPtKH zS*M-otiw-q_~C~ik`WR#qY0WYGn$|Y5gO0q@mMGn+LYiKXEqKp&TJecBs^88<8(IF zMXq?b7hxhS!bF$|{zQlf6N&IggoyA*goyC}w@2o1IIODba2Sgjaw8jAEQSk-C>|a& z2~Ey;6|ZfPQY3!Q5fbG2?%DdtDUYzH9ph;Sr6XTCX{9qqn6%QFE2T7uZQHgvF3Sda zkejX}6SgZz(LZ>^n|iN1L@x`y<(P8mcxt zZ}c?FjcsYeLEL_CEP{L;w~n#!+?g6R37-trvq~*ADwN7q37>NLDV1=9<+6!NSe3h> zp+ae>G#VNjI)M{7fx;1=LZNJgBbM-pBP^jTOL(60I^uPeFfdT&xRpE0Ku$KE89qZh zFMLWLmXMQY`EV(6k|fEHucWkW$+kS#c3P4OpV7}j+%V^1H^a_(*rS|Jx?qP-sX*iIXhq(T@=lAbroBgclRrktijnT85+ z3ds}_6oM5fff8nd6)52$%!ErJ;UR=5L?OYu6rxF+!6Es0VWVd0B6QPZ9I-{`-hu|q!jyDd$(@{I-I373Ve6^C=&`Px@>r5M3sghrN zvd(m&4fPkQPDeHb$Eb0h&tshDIXj=jhTD1e$39F1@k1f_&@=?a(+%6H8HRFM95%yH zBSTp(9>elEgk(5}&*<4ZQ)ddHXn2&4zEL$Q!(bQ&$8o0E<17rK5a$iU^dY!mA1X-^ zWP+|#sge{Ef*wPV#Ug~XMTCgp!{G@BU-|34@4JN~BtrgQf-HyxiI6`wjJK_w!@q`bLMO`n<<0FBdV*7D|S^^ zQ^ndS$ZWLPlrx+uwJC?Aaz^8fY&6*fjTSUB6J|c2un+Tpc)LS z!JrllF%^?BHEWV4S&fX*G_4{E5`5pm75T#thr`pibva{BAG#14s)=f%QH`lF&9|Lu zG(n@$Xfzs85QUyOsFX}aGyc=N1PsO{8xa5izy>s7;nRl&1OtbJl0YyT5lCSi%U~D- zaTo+h1}USMQjFmy0n91ckt2z=SXvmn-hNOQ_1V+fqPE{gy|ArxA`Z-lTUQr^P2~tE z;zS?Z>?5!f4qe%t(6o7XfjkjdH=2mx`sqgj!vtjm$T5j0kR)Q+GHU~CqOT3rl z88f~j{cgqGuzy~^CaVfNv7?Eq?s^B1DX?_`Qj{xLLO&Pxi+1@y5#TM8xpG=<>}@91 z14|D=i5UPX_DceIlSRMQzBaT>^1g5|hF70$#z1M@%&E6pmC3h-q5HZsmmN6emCzV} z1IjLzTudD^|6JXupNK;a4%lI=q%k^%ZKe!4Cy}cNx6fOH1eGf-#j>*+IIsTxz(Ki{ zqt?ul+G(-s`x8&x%Bg|cCOgf>RK`CX%?C(oUVgl_W~BVYWpdl>^?bGFF7rwfGAJZ^ zh$Q9v*4(%d{i0g9tK7wR>H=arY}{QAi2e%S;tbW4Yqux0RfKXvjx34rDGgzS)NYMT zfDcfsH6`q&3+&l6r6QS2RU@T34SV;Vw1(hWxM`MehY0Hwnl1z+&1nBAX$&MAk6`{P z{{`B~gZ1SjOH;6MN=7Kgio{X&se#&J@eH@=F{8QQI>Hu^(QQ@s?v%*0Z5Q8)A3z6J>MW^wSL* zo22|{j{ScR8)Xe6ZyzA4iqNA;5GFy%L26`gw(djiHHt=Ptb4;88a%m%DH2Pg0$Uq- zdh*JfQU3IZIS_r6xC!|FhP_^SWqus3 zpj0Y%1pXygMg7vV+30#N_5)>mA-d1+a(jRqJ`tzK=o1m@GaNEhs-&q{b9aYDtQi}s_e5v{fl013t|=xWPcJW;k^ z>v5q6NXwAt1XTgWbYhGM=@VEa^v;FJ3eT?X+A(-G$Ogh3SZfVu*I$fX5{UM}n1FpuPsi6lgKtFQYrG!0RHZI(PBAx~#CNC{ zM3NiB(1!Sxr+n3X=yS$GhqW|&Rq|=1er`jDi+(Qv_RiXooQ!H_TiOpEciAeKb*t*k zr#ME&f5|cKh3Vz5nO$h3?zE9RdcMHeWchAO9?;Xk%q8U-4ghNwbLrS>_W!Ex(+Zq0 zU~;U604DO)571GL?DXL-=e@7r#Y8&@+L=) zsdjwbasboLb(BE27N%s#a3bk8x@YHHx#U#h##4A75#ht3wu!QeE)6{V_Ctz|6+<)c=pIWK_WeZ zd`~+BU?LT_ng^7xDTQ;{Z4$cf+OZJiih3?ENT3}jAv@;Y%~@&rzU91~AZh3vL1fhr z+7uqrUGnw&S=W&zYCcq5K$#;Kfmwpq@%h#0Z^@?&lxl*52rAaQh#w^MY@2+AhY2xb zBs5wsR)-p9+(C58-vcw^#|{wYftd=2YADxZ!Pl)?d^!q64%Zh zqhH2_7Y_A&nH3Uw40=5-#;U0-WyWuX2s%`~mpWUPy2a3eC zZ-gK%psRSI$~+lVE?E6xz74d{znr4La39-oY3)gJ5#DfEILD?xa3F(TIWBdS0mKaH z2ndrVd@ZVvC0kX(bRj(YlWB<&8ao<$0m^=CH_C~l}!uI2&iPk0~P%wpI>5X+zj zfm{K$q`AxGvVjnitBMmXbM%1aEk>8ui!r*zsA2fa+-C?zM423(pz4Tg!m(?I$DM4Y zWIr|Vv$!x}`^3_&jAXbohHg1<6{y)T5rwp^fk0LP0l zOzn`!9DXR+cpn_+HA~Q%F#yHU=@P4Ql{^M{&k=Oc@9IhzuwZ}{r*+?KcoFVh7E&H^ zA{$xbf333}7W)gL5xi#~m=lh?e}Gi*sP~xl&*cio^AbuXv;@rP>YV1s{dT@o@=1ciqYmewroMC?>#2GLg)(rb7X)Cbjn%ky zV9=axAd&UR%c%4SP`%558_WQI070wnlzrOsgYk!uljb2Vn&A@afaHNL-i_2kXr4T^ zJ|2@?WE+xkRCdBqbWj6Kz50Ior>83d4RRJThKWmbFwP8Mc#~V)giT7+9kZ^Jw#Zy& zO&In*MA30{92Gg%Ff2yTmb>CIvUy&9op$K~JON$OjT6y^XJZ42K0@e4r152mXHJ(2 zlXo=oFIedoGPAOKqzy=sUpKY~P=!>1hY1t9`1fLr4pS2Ie?ahT2IhA(0_P73*{d!A z9Cb5MmM13qrwU&M*aUUxN~jxFTPe;CpvDpn6xrxhPVTc>_8M`7vgqEWhmeIaYSfIO zXHdNSvP+RP8D-ZL4g=!Zg?ZB)^cZpHF8tqo{lXZ4-Mg~_;j zPjC+YlPcw-BfZ$AcSw&LziSbV?aozI!6NPHQQp#h*A~QIEF82q8EpcfD26v}b)&kdSVA+ur0ao;HH}qmYF|hSxxCl4OP3>by zD)SiDtiwjDBsT+rC?IoUVcCm-vEpBY7th%*q1>V6oC)78;ZwKL6v7O)h~9Miw*)>~ z2Wb!zIN1{cN@pq8+qYNh6w)t3lhH25!sChmUZ{1AF~fR#m)*istH?1Od2~i8(rb-< zD`AZhU?qCD(T{YNgl%@s0!EpT- zLV>K~vXO-Fiq6Dr^7Y)2F!OE)J^ttm(}B{tP*?#ny)s<=AY(WUJ;!J zLhV%mnoEN`?ll6yO7-_EkI52b0t$XK9*cT99K17n?0*a8OCI7~8GJk=4dW5rj#9(~ z3LMNHh$Cs{jA=LWh(dEbny)PfFLsz$6;kM zGUfKWDoB00a<6(iY_(qf`!5aPr-4AC=4xoou9Z2y0r-i0j+`(eYb22i*QeqE=r&Q- zR;CjvelU3ZwnqrZ@B2;?o|iiXtwCVia?AdOVax0-SSnPe;8nH#2m`q8Y zj~&G6dVrfuegrU#8>X{w#N4l;a~9Dg(9qqg5wVghXL?z>Ut3IHcara+{5ej`YsaCo zg751VYT30Hc&a9;k1jpwOersW`)w?JWJ~{ez`=xR$z)(C$rKcEHTv}pe40Z)_Nx$G zj~M$?I5dtlNDiO_Jhzgfs6Q(DCCQT*ahD`etcuMbSoBg?EE|7fzuI^7oPiDzn;Oio z^TC;M5|K^V(XaN5p^gY7m;g!cDt7z&H!5)7FTe6ZxP=a)x<}>3h#9VZi=nSGxQCbo zDP7t!WuFPe%($$;EQ~KPKtTwq6Cmis*U)&~%;A&(Ip~k$Ej7^+pC9QCy4_mozl<#Z zLRlD5*nHGxuTTPb#p1TWhiovhByuoh@+=R{qk>Sq5(hfPdysGPl}=PuNcPq;nl717 zf9}`bF{lVjZ8Wb{P7n3b3MpG{Dyid{t?-Q!@=B0U*5hvMTMWyo%L^t-z?dg|k(qc~ zU;vDk*q~k|xPkgm`u$mv_4ORT(iF*L@{qnTgu{>TP2$RAlySN{wR@|%$B((~NHcE> z`lL0f3F-%cgzifv{!J?_#;XYrcujJIHo#Q|8Ob|GU^A2UAkW^YamZ{-pF5F)#KH;4 z3EZ4BH5C)k9?gWFbzeAO-vLe#3%^5>YF#3liZ3h(4L{ z8m{442ZlhqcOwRfT5{4|cd2pi#)NC4w&v6=gn1YAJJsRzqm(#5n~Ipj+;qOI{aPb~ zl_iDN38QZ@^mO?eHXwGXp;hsnE~vk`&r=)=93%VR1@51_pbCwZ2{_Dt?hnk!T0A{&33EA<>~=xp;?%VNgDBV}b$*hG$!17g zZf!sV{AkxV^8AD5HAMrimKf(Tv2NHt0$LT}#Z>*>1#Ct3@+f)*YZR6&G?hgdwQP?N zDz^DZ^~^?1t*HEkiQ4s=(<&F*2FSEF!WZOui#a};gL0XCu7k-;#UKz%k94;!hK9-s zP`%?5S%LW(!W2x{y7#T@idIRdOxzC~mm8t?-O+V}JV;Fvlv|e3 z7)31u^0xbH5w=9@R|n(=7=rQhrY$iVJ={_fA~&Y;Ka|G?_PQk6;!@`3O!{TQu)?#_ zf=DrWD2b_svuai?ITOjgN(hmt=*;)gq~@M?plQ1hBcRyxpNKnyFY-il4qAqMoDBA3 zIGMQIs(XPPs#uCm^HWpJu{qR5$(8(D2l8!I()G8`cG70R@W?5giqK(WYbWa)NL*y^5a*w-RiOb zu1RixvaLtg6xnQIYZ_j*sV1Gf~WifbrH`g==8w z-hi?BU)j>iN;^r`t2q~0K(#}FaEnvvV^OPrlsZc$sLn2CTC++nTyTcQgbSy+0{psn zRD^CdM@25`_MFK%9osr$>bQ1E!pB0*82{A?`K#Kbpx>y;Eky`Xu#$1)aD!`&9>)d~ zFAmzoopCpiwAnMXLpK&C2o%ZnG`t_{C&1mzDFsl4Do83w{)LKbgkDS%uvK8oefA<` zlx=zKF~3gsNGNx*mW*W*dd}pBWcETRVF*R-D`DC?<#Hu%f~jjyYW$HLcoGA<+JpZT z5xelwJ7h8Z{ZMd*OsHI4dTZA%e6)Xj>7L#{N(H^d?L}7x4!}?GHusRHKEz`#lq;67 zXVMjWY)h1xurwU(7w3*GQU=n{mn&rO`w6>{t@rc}a6XZ=mmQ`Y*Yj!SznlUt_Cl;X zjinMbWjkQ|%tdTg$l3zNl5faH0F6w61{bm%faA9<%Ol$@bk6%3x(Xc;s<6n9c2ofh zXM}`5o~i~2tI|gs;ecBfLl7y16yM~m>(dgA`ZD!S!X&OyaB^sSTx~8Jv#s?#tTtZgvS>A}^vt#j*SM3XmiQaFNWbBFjzG!hY_`a*D|7(X)Ee@PR-ll!S z%Z2tr{!TDU4fh<`w)npl`#mvqhXU5af2>Y`lm~LG{E9hK3R@T`{1!*ytjgGGdlw~}*I}&7583W5shbB4T zcL1i&P&gJWG+^G7?18}OXWd})Ve)A<3U4|;@J&F1+hyz>-SXA!Q}u+7JGMOeJM0i^ zNMo47g()bRjtzrh7tv$0T&xn)@n&qR>ToNu4~|zL^fbQS6vnhl_88YXVlPgNvcVZl zgTI<$&VjUV8sUd8{1E?}`J0jnAbut>YH?*>OVKL1QL76p_d zKrw5>XsM*YLEyNa^tzbe4`nOMWg`IrLEFc^0*n$&r`rOvl4;;&G2 z7ZgcH=ND+WPsfFjdXl$zN@y>9o+iZ-X1VN>L2+%5Tp$F5wq9=xI>ve{f<3tZN6m%e zr@88l=#&JrsT7e0*2->gd#%M)skbP zG!kOZ>kYZYg$%t2d77j^%^pZrYJ@szi9*@Yye1BvB3&DbB-CQ=nFn(dJM-&bWkJf&kR?@mn=X9Xbg}b-)$79jR zjp>oQzQhj4Khxkn#??q1y^aB>*T#%iv|T@$+1E%xy17VL0$5IQwO-X|d!+*sabbj_;an*9oJIvg~Qm-2_bnlGv%xIMK(h)h$*HSe0T zhI&F_QQnVBifWB-!uD|IXGpCp^yr1=jP|HDIchu$1M_tBWf&hUEZ74S7pIG0iuN zRumL(HYTlPgIh~*)G^mb4l_=&g2wQC;N6jG)Tq#2jJ*=ecJ6haZHZCsRlT;1(5FK+ z0vwFI0oWyZl`oy<)^+=TgU0^o2!aawUgt|<4orBSSAiE8FJ`e+7F6FJwo2htrUj2E zpz`zy|CW7@3$E$!a|+Nsz*z@s9ypm{WDkqOcZ^L*UkS`t1p1vES%#Y6eXXyv;uO?e3!_jzq)uw zQi*)=A8ODM>BpyjM&J7*z(U__I1uz(Zm?hyC8c9_2${782Lj%RN;sd`l{AT(3ytL7 zvIII{Vm4kEIw1y%2x^sy7PfUrz3Am6>en@YIj~fhY~xlPqj_h>6&2)^jH6J4N1lUz zM=(Cx?W_2`xcoCZf5V~a@)1C)2iW#X&~Q_9^Olzs7Yu=5=S&DtwEP^8FMOlCbVToT z5r77brPTpPBM~Ll2x=g6DgJoTm{x;jw8nI@o~@Q+B=D=Bxxz__N=>QYG8{ zTbr0{gGAI1K0!e1x85>dMH$Eq*ouT=)`__heh`z2bkgf+gj55#q+lEEoNLFgGr7Lu zQmTJ(aL#Nb4NXC>U*VB;hN?C7e^|@DmE;kslo9PNE=bgPyMPM?I4%67!hEkYLi&% z$}1wHMU0@&Z|LEfHq*zz0+w#`sX{9KD_|#(df{{c88o8BhSLAV$v1{&n+(|7^`_lI z364zL)E_9EZNr={P=v$qO)KwH>ETR&iD2a(eVHjb?h{mlA2%IA;}jA|z35P5>of7h zWno?dMafucI<%}2oUU{JST2K=F16$r6wJ(d^uBXeK^cT$Zci6u+ZeUW_`Tbfw&Xyw;F1T>RSQG{ zSv2tYoJ^Y-)n|Iz3)onvs&T}t_{g#p8?1SMGN|dLgzv%itB>GRd?t1L=zj}eCaFU~ z?O%>#QjTs(vClx48m^OpTNM(y`k%F+ zz*EFTS{_#-%qB*LRVLCiu2Sf3eyutokzGpqGI*2x#*852RwlGVva!i)SY}eX%ZZ7B2$si9w^?0uO>H9eC`eN}HbDRG zp+Z6Pg%@4o;}qJpE8BJ6(s-#Pp1ixlvz1m&xrKUJk+hf$_Yq7tnFF70%C`_g%v==! z{~AFF;d@BXU&w$wqXU=_nXH<~vgxHfYJNKwkY8GF7yjafA&iiMLPoN!iL9G_D6iW8 zAJk!68G-R$PgoL%WcV<0qo;(X*t}fg+T*nR=Gj<0XG-bNbv^mViUde$3`qU&TGt9e zP0oqmTZ6Ab;OE6}5`vu28xYGh*MAz#*iOV$*E2wWwChXMhdqr1_6!vZGRMr~m~=o@ zLnAR(Xvbj{Wk+J6;=X~` zA^6j$juK0cq!Dh%S1BShMNL#G z^|%6kGPp^iRT4CEODle`x(3!~IAf*(fH_ntT+D2~^Hpq#f zoZ=YAj>3GRG!1*UD2@0UW?`aChBp+!`+&WZ!baG&_vrPG^eNA#NVx*K*snEw)wVJh z>byLTaH{=1!N2BW0 z_F*e)XZW@iQ5@|;p48~rbcmeVe5mRNS^u$gWlOB(;yCm1U8g}^VXMB_$PldAcqdB+1=iJ9tf(*W z9X{n6N*@5#`W@@>vQ4DKK;VoCp~`xvef;zTuBF;2h+T_m(pF0fUv|}KdqwMJfy1vv z9SIDMWOWfBk2W1^i2TO-d@`kam-z#C_oTBrpl*6HQhNldokcV^T zZ+%1}Vgvg&%d&Yr;Ay*nag4MPToInxz15kPR8T*_SZoq3#CFd^Zcn~;f9mig6q*iI zCm?X;W8jze>)q2PJm-(Jn}36r{qYEZ3ZwzRFA{pVaQs3#49t&&{*=qAtnQC}PlC)+ zFB!Cs|M0UGSd(E)h9WlHqP21;ua`M#u2>w>gNnxr;KlT_I*J9T0X&zu;Ddkkn)8R# z-#BtSJ3WW_=wvizLPv@(G*iZ z(rH2ba74SY-9(a$^{ykXQtS@>ZYRf!uAld`Jk2QWe?RVvf%vDue*hmz{;`z>XO-}R zZ!_mZgFZ+<1*?Ceg%Pz^2LTA9xGlG_cQRyQA!59;lR)U27tL0H{p@I~1^B4IwH}s| z0X|gCqJa>5?`Y5jj7f=|HUCLdC=TZlTMUVb5S=d+fR#*UF)87Kcf&G2w7ERbHmh1An+3oM4SOS#wJY`kR>VPcK`bBG^&xg(~=~EL0bI(0#M2X zzy!<$;hL`9lOA{IA&)!sxMMh)?yZWTRlmJe_8P)?Aq?$B(C`c)EN1dErY>U`>OL%{ zuE(}L7BfVM5ELQEb#QRq2iKoZ@JAv>EEba=Pk#L5LF9wR2TicS1{<82pb!g^;Dlj= zBp8MbF$soYL+rjKC_!1b9EPpO4+{$m+a44Y78DdDsIn|>w{Kr9ZCB|UBuK=AG&D5W z4hAD0+_s2EyxQvVt9txKkTo0RK~9>SC^5tb9h_hYKIYlXfGJSbQD+`RaP=YaA7R0l zk-ky0*ow5ZTf4PlTZ)@VBb6hK^l6mHCy`O5$f!@^L*+vc1*r^Dkmhopt7sp!CK{E- zno^p+sz_+A$W&zJQbs~$S%zgfT!mzZTDISO^G#za;hV;=t%OZ0p%TbVgAoxC5&|Uz z31QoK>(@0CD|T6ref()X_VKY_Z|}u$!g=N@wI59jW1?i0?v;S#t@_)0l?StVQ~ zvq;Er?&gM@yY9~oH?xR@8~3Lw;n(V@){9WRh@;brdskd>IptI_iV>I7zI_!_OFxyV zOk2xTW)aCOkYN@^3W-D{ugoeUxriS`;)juGkwKGifq_vk;bdr-#aXLmS-W+Q7cY+! zy^EJ+yaxuEz#xZ0D1<^_U|Dt>Rze7cP>7Kb8Wy2DEDkbax?zE()$l}gCPEQ6g@q^?jSwAPkj~a16CqVBZdj~?1KZ#TiIu&<5pwv=4=;Oz!$a_ShnwFzyu%md z6M`2c#0)O|`SS_!%nY8n^vs_ZWabb&a)aeHLR)3GdT(72t1+Ax#K94Y(1VPF8+LGn zg3N>)o^Wu4VkR6M92}u(c$=7Q-uE5lrC<4tkUR=azw|2)!!T&WV8-8(_`VOr$VjDP z+q)LDV9O(N<<`Q;R4VaM2!(qhZpLL~!h~srMhJxoCu{^+Mh)>4?K)k%KFmHE7-mH{H=MPwH3v4TiUXx1jamzVkM1E*4}tnV`lB-;%o@WY z%-T6?!`1s@2Q}_K?+eQ@?NA@>{~0BsV07hszGULJx&B zF&GFi2tj2T^!>YlenLpYYCIxjSs(L!P~U0H@cTCcBSAqEf-#TS;Q*UJWWSjej#=R# zN1($B_X_F1E{cKG#gPVfq=D5(4eY25DNsRy5ky8{$G+onkzp8R+fFp1s^e`V>iB53 z;P^Jd@tBB($K#>np6$PcMna!I%ogTUDVaY^Lq;4zCMMouVI=e^%rs0Vj2a{?NEmVw zWz_JkG~Gi=X~Q&-KrI z{&{#l|Ln8Rd@S!{*|KFmE@2u*!bpd17+S*6G9DQ{KC*7Q*(NsIbQ7CxMq+c1gf-|5 z3Tx1Hzd^rc>NXzN+{RRJ06eU@o`+!Vp>caRn$>u6?N25 zLlw1bsAbER9mhi@R9K-U7Ai4TVj?0Ua)&;d{GZUo9oZ*zcVwTCJF?UCgeD{-L(8}$ zlNLcf`2S=6|Gye)h>yqcdQ8mlaed3;EbAZ&A}b=|APS<$IEaHNh!dnm zkPjB6MsOCvG4BUIrc0I{YKXy88}&%xnM|KPeeU$RlLfBy1a7*#mdE9_$SiB~d=B#j zS~!cM6aM`0B#O5G#Q%MGf2Y@4DZ5D~neMN{u$x4)s!@kwC+b#>8jemfiN+pT9jCoa zI`U#T?Pb!DN46KkX)ht2)DEdSc46INq|-?v`skz5h(`2LJ)-&~ZyO;yJaLk1{onun zzyJ5%-+|l5O>)!YCTYmLm($}UxOqeRu)HA=;)4qx^AU0cMF=1BVn+}wf;e0}j*vJw znQ=1VNy2nT(Qt%1o*s)(;3k=5l1XG@;P${xGRY(pcYZ;Wc;Xin6f_CHPm9MVnYdgY zMs~x<RGtc0g9hwjGRxEq&l;6@?*&=45HZD=WB z24OftI80&LzsoDqV1twNp}__lY_NN<>poc}t7Nhu*>4%SEn~~r3zmmaX|N)lG+0T4 zedxyH*#!H(@5|n8Kc6tHW&QdPF26j4k&oPM*@qw@gb>2a1YaC+5rz()87;yhLwkiako31Jw<5XLZukKv5K2%{J-GQ$YtIF8|kCyruxq9{t3C~}i9 z3F9V)m|@IFn8ZXeOcX`YW)n>mMRB&-Y|duWrcG|5i6$}8Ld-B`T9z!?k|Rrg9L;?E z*mA@XONJQY#}GLNnHe!eiH+hY-Zz89n*+2e#ZF~VJ5^*nij0I25s@%K#*fg%i4x*< zybP8ugSPEiW>?1LxbCMx^yxiiP@a~q1eZZqo~yZ)yKw2LJdK&I)A{=O8=-_FlyE+O zBb2FUETIIao_-SS=TFzh{U{x;U%&b0lTROI!^t*bqXPgb+dmCE}rR1{d>iOFZT=i&@MRmxw=HK}KBR z;r}1O2>Ri(0)sMN#-Pmi`?+i`C*PCrK4-AIck$cQ;IuFDB`!^6YF!^1Ui)~w*!Jeue8chz5bVZZkm?tQh7s}9*i9J23m zJw(4H6PJwc5T;=y(=ZJq&ZP~*Fd>XM9m9w>W5l`dxUR=-(et)gH(u9y#^`)q>vgBG zXU|@Qo{iA6mo65ei=AEU!4MyO@WCjfjB>~cbTCS}F`YmMhm;%BAsv(((;@ph*w;Y^ z?b_{YS8hx%F(fL)Jvg$Fjm(5i*vKYq!p7o+Jt$~a?AOSQjAFmU7v-XG#^V1GHKK4> zQ8>bR5JkiwUSdd8hjOHU;6OQonWn4m*5Xac|G}DY7bM9P2#tj+&e~393 zV$SUxV?-kw$1sL5qLD@#|J*c{5NQ|_Vr<6zzklvO_xrv-4k7;79!tnEuhxtwys;``*XJbGRet{8b({G%Afe8R2pD6ANj4~xqcqlovshSr4l;XF-; zU^)bc;1I0&Xf&$E3X9=Uc=Nt*{(N?^7#52+b2xk3irY^xr&Z-IzQ@B}+}0G+y~oFR zT+@BucTD?j$H(_LUhiW)exLDuJeTocoUO28w!)4p<}II6{L1h9y07{gU+>jk$7{Wc zgM-&#QE1gEh=TO4Fa*~YhA?ZVvmkb-Q&t$a{9HRyVTjH}KGIfXM55=;wIazw2y#~q z@(B+i%w09eCp?4@LJ(O?&X zG2uRZhi7>>)G;wK=LVk91PNLu$f*fju$=QePh!Hg=ZTp;3^NyI_Am^?Fw8Q-1sQQT z#N5PmY>t@Yj7`jKn;mm(o~c}pFTOB~Z$@^^a=Di!Py*u%F~kQSRG) zg2EK$@sMK(B8o_kTo4AKTtvBubXdgjAPEwN5FQ>R8jVycqDK>)G+eH*@Clqi1u9U) zAQUmU2@Fnw!Ff}dOwL*h? z6BI!cil7LZ@#JZOG--+;O@WHalcp+W4vuf-Z=vKmGI5@q-igQKaTzxrsxL@NY_SEM(kG}v_e>eopqpmU zLg|IxvdSv!LN&5#G{I{ql~q;`r9py-A%a2?T_YMoLBfJVXtY-$(R>j_9BsiNqKZ5 z(X;Qn$g>Cq?+HFQI5@)i5hmCV?t?|_BaH9w!F#_`rr9M_LcdBVWe?sp`(}@rh>=if zr44Op`#xg6e(j}QNNB%qrlIVb-Ky0P;oDBxX`yA7S%Ml=t5JzcP!~eWLS_jO9+goO zYsilh+pdWvqXZ?y#E_j%r_&{Gu ziv-P!@FLSiCVC3mz63H@f=D1kkU)k>piFtfWC-C94&e~?8CEzfWFh`SW`!C4eCBh9 z+u`Bf>wRZfVc))O+cKGKJeNH#A)2v-NQi{Q;~$S$Bc5>-k24G-jtIjL91();U(CR30na)X2*E65FU$|6OE;9EX_W5LYBkI>e+aBC;Y4QjrF!h=??Zh-egpD58iB z5|_Bdr9n#?j1fy3jEM=A5aEQF&=DCC5ebzL;e-(>rIZi}5ls*gO$ZTAD1{B2FbSH_ zpe2^fWD-BH!IGIw5+WfCnZyrlkdWXI9Q@!137LtgG)bng+yi5r1Wa0}1_XdGNC)IV z!X6ThhY5@c%R-@uL?VU5K`D-dC=8<*4#FtJ6k?9$Gy($H={c|D3^Ky=VSJ5(FTSAI z18!4-JvIi70SozGO>fEprS(J$DUQ?(T^^$clvqXG6fTu@T|$EohHZE^Lv|;)ex-jug?4iiwrrKUPr`sFHW8 zvK>)@QQO+rz|;2#bp-@FfDd)`79GYX^s8#bY4$*soYBl%Z6FjpPv?0ob|NEM3RBxzN+@`kC3JI zwF?kzr0e@{G2gdGfbtxMn1t84qLn8g@qnLk;x^pI%@XJEVW2)d+8QToMxFdaK|Mc>(VNTh}R6n#!v%}O!ynnp5}ByN~YTE18Ok@yqW zg(gnr@6C#7hPDR8LYmzMJF(_`Xxm_gidx5K#V<~dyU~cu7E^f+@FbADt zLb+JFwakI!5L6}A`m}0ht3xo2IQ*8^?=`eDCMQG&0}n2uz~M@E$yY`|+(|3gnna3_YB%@bef!ccoYLC6svE6x)p!ev%)n8wbYV^9 zZ~4@H6_S}hJ`N2Fps6^&FI2)bL-$qEm>ZSnLv-|D8O?Bn&Rf3T-%7peaiugvv-mI=#;*7w1P7#S09jqX7`~Wat5x=$ zV%zciT0Ee0Q~kCXAukGOW?z_#8b?bAqWwQ27*8Z=zwt!VX@qWzpkDOn#{S(T2ISG{HWp%`yNSH8?j%IW1ch6vhb+L`K7s=>MPRnhh(6DJVrfn;iQR5&HmXHI@pY#meD8#9juiq=xww}n82B_25IQw@xP0D5398vwH;F} za=->r%jdgchYqrq1cV@|2)9xJP!0VsdflkCplYNPsdNlUys4%w(Ok<9=DC)x_usj7S82*{M1DhCx~~#- zz#l5oaW^@ZVTKM^K7$7!S#ju%T1I52>x}+IUIlaR?3|pT)-(R1!jg(sXn=$@AFhIA z%8s!9k0Y-2VARF1;co^gVht_bYymlp4{<4IjN;y1X*XYOAJLjfCi2faf?~|lVP-y6?>mY2Bakq7R z$jpg3Z(Q&b9HS0jesy@D6TwtK3`5lAv@Kr?v9u5TAQzopm25(~5qgV>nQ-`j^=ixv zy&jtc>LG0-ZuO-dg-6CZn5E5k2R(P0`KKjPuNwq^gK)8WQ-(97VPofbDm)LFxuI0lVNa*koQ?x$HTsc~@o+9P&y>>JD z3st(Xqal#VwI%M|$>Uk8LFci0k(7mwJEEaLanZ8--9p1YCV>&RON~5Fr=nSU{!$$* zNE7mVEdinD0rxdb!pbs(x7-mF{*}Vm$0V*(0mc}3O#qqfl3kfK{y?*tD!$ZC87*~k z%?bZ?!uhkhFZK;CyJQBUN|p9K97%kX9k_dxD+E0J>$&sj6GnyjJ#yHS1R?IWmpm&< zI$A$;G5~G)8*gzVYx_ox0oJ=! zkhENdS%zWR4;-C26E-QlAd4-Xkwq^m^-H=}&@eF^Cx5wkSt6%8WJM)oG(GjT=Faa2x`h+zu4_ z6g78wuqYUtaf(^hc=+gp8~_Y8bUSP$iA|jPAyUi5UDBxzdREZ5BoH}bt}SAG!5ucF zuI3ViLtY#%PCm#3#U+~?1;x`6!V+ce*g>&w+k1I>%K(0|Q!OBOn%n%g=<#7MHds!) z<@T%9Kt;0V(<0y^d&QAU-3Q~sjtIc-b58$1f5c0)94nZuo18b3ivg!W_mU3t%8W~5 zvP3uRnaHNMH0&rzywE1%o~`gbx|ov-M`%nHSDx)C-NNAl7nugI^gW~wB6jf1q~oMR zAm!)(QYBixRl1q06g8{|5^lj-%_`m&@LR}1g&^_+5Cxe@-)0^%mtaNcQ_lq+K&iLj z39CUI_pV6VLWIL~V*N(nA&{uUQBY^?PI8LX;g zJOcg5R9OQ;t#;I1YSSYIJkOCVaD1nNIEvgwA5W^DMH;U)7wru7*wQF#dc;G7fBma! zaTH`>>8BHD(CxO(^UgFL!WfQq8Cq zd5B=5UsXz=_Dl=zX}Vq7g=O#!yo4~>Nt574yo*U!m)_$jXK60BrXgA_cmNt>Mt3m& zJ^sn?KQO^67uv%a5yyG}43>c&$C>FE2aeNn%LAUtlUP}wUlS}(ElGz9$G|jQM9H+0 zlK{IL;u;a6$1|ho6Lm=taMtxVrRsyn;b^xZ%rzz%q9F^qE*NSXYEcqkISh&3oJvHO zU-pUqQ;3=ehVWxxmV!RL==3#(`G__OBG!ZiXxf2YV%X@>)Tv}@N;s=2;3uIEHP>!C zZ*(hb^ERectrRmC{Lv)*>Ig)g9HgO)`2S~$rz5Iv7;5{p7; zT~x)=+=9&$3As5F67?@Dtwg}|b>efd9960gN?(Z%`vq4I*J9K%0}rUwj5keRVPJdh zA@}&yHzuC<`vMRGaf$N9PEZH|=DE_hO!xGoxU%xM&f~V?3eD;^T1h{#f>)yLL`IWh z(aw=gRw#aGhf;hp??OKvb~!%UKAwZCQ|AElrSeE7u>IWh8Z+uHUxA;YNl6M?PxE1| zqrF&Iq0H9ohJa6c23IcwVgK860mD(Q&ULH#eV*yjW5LIANF*~n%g`Fg@CzKQVvWg7 zkdy@!{s7dkLoI?4oCF$tlQ~Szdva=3hHrEz&`Ij8%;P(zRu1+mK?(`3`E!wTZDjkz zDzT|qDF={qnXbdyC=>h`E>@^ax61EB(}>Y-n)4SewrtmrF*3B-H|_D%;lUjL^4Ld4 z5vFCA|0(Cmt{bfU=V^`VNz?*JKQaL?!-MSXCCS;5zlk{eV`k^ZdPfQ^7+|iq3W;wB zIytx{OGhbI4vRaNzO{Az2SFX_ed}lr|^H~ zyduliC#E#LnR~nCayFq0qZy%ZORS{5081!cqK7T}!0a2UO>HE75V_?u#5!S3K zG6g4#{VxCjOjD{#AU)v21}Hu)VTnk^!!bY zB!+OaWsf7`;l!&cYTi|qfQtoV?9&5;)i@MC?Ax^wGc@pzSW0D#LsT|GnB<1bx>$$+ zYKKeMYDD_7!xxrgfhrvMykKV}w~70z zk;wEIgit(8c1#EsEY;4ib;VeMqWHUT!ZlPC1&Uj`s0*V z46i*tETFb9x+7x4<{Lrya@A(yj`*M31UQW3;S^o8h}w@;J|uvTC#n|z2{M5Ejuh?p^vnPRz=DAvR*lUuyQf|FS-x|e>XBWT_ghq? z-dxb`+CzvEPg2r-(+q4ty71@hck#*t5cRFHu{ zR3-rWd3~fPV2WOYL@H_jAjXC!97Dy$Mn!a~bLqm0aJcF!mVm;1^DJpZg9P6>4l9i} zaRB<^ki{lE(#$QG^cTth)d_;vOeTDlfKpi>DT0;f^yxhaUC@mdOORJpi=ePp@JiKh zFvK}gFiy>aYo`M6=90@UM*%=)62u77EuHeetA|jj!8x{Uy)%Y-;r}I>1oy9-C_YdW z4P)ZaN$IDSUq;{73ol9ItYh5URwt=|<|6S0*QgHED&cM(>x++k8N^7Dt8tr zB19}>@ADjn3HN)_rJT^8jgSbBIl%f zW#wE{ICiMO?D1a*av zeM(Ls;K{4=B2Eoah!YGhk|T1UUx{4U(}=56L*bnGW@&SQrxunVx6SbtR#A{V<(JWa zRCr#Bj%Ee9Bp*qi=z_BeqTCazlIhbu(|&HSy;NshN6Z_htTnjIlqv^=6GFqJcxo ztt~1;`j~#GmV=O)><>A3u~uw&@o8n%%T;-vBQ2%hpXJLNsVHvw$dPmq*`!{=EU)^^ zA2e|KWRS{U9mg+kJN+MFt<_Ol*cQE5Ldyi4xT5lNM1&mbmC$&1e>mX;(`^LU_27j0 zuCHQ<=7I>CihZmB6b2Pr%u`R=EGhfVVUU!9O`EpE3$On=|Hu@|5uJdh#_!G_wnYEj~Lx!GBM%S_2ldgS`ppEGF^)eQ?%pcj19QIM4D&?^00j#Vove+Vf z#|NmlUfrzC+jW2h@#};lnEoqHm5K7MNBHG<(8s%@)(74Grz;={wGL9fKj%IgF33*O zzE-a&+>h9oWKGz1!I7$~-8d?MW;dtXkpJ#-iYo0wUy8cQ^YLbhAhZddhU)lu|T?^-edm zCH4(C&aN-0<8(M0e^1E5`F2YlVu}?Jvr{Z^a;41?r6)NCEiM!PnXw!iLXW#ORL>k) z5l5{^a10L>Il10eX_%oXkhalvESf|3vLczUgO+Q~bm0a*96|WZw3ss|^hj5B*|aqj zsgx=-GfWoA31a!CqtN)Pq-`e{=nZ5zN z2Rh@NA)rgv*6H6i0xrYz5A{(zXRPqP7#hAR%Uxmhd|U}}#Y2|1$jF_EnYa;pgh#!; zcm>cJb12~l;&cr{vz^D1`qu!43%Fk$*>~|E0CmI#(%CoBDXy9-LTVkE){Ghz{eDWM z%5ayyqI5rdhgD32)0i5V&G2=S*DnG)w|+tZbweXT?3i|JAQQ2ek8Go+9P#btUf;&4 z4z%6}OI7=p^2^}A`SHJw$GhXyXUrYNR0*9Sa-=fZ9IoEv|y5jR8QUjV5dqq)~ zp>aA|nAewap*A{(PW(-b#Dse!huZUM$dm6!K81s7@C3GqNa|+twWhlwnG=|_Yiwe4 zkuo8}zwpV2$|rE+*A$oT;a-@0id@r$TuRUZRTX_!;L=SoF)pHn$it=97~NZL%}(a(%sbKAJ&%2p3##MqQ>&^gUnNGD+{J;O+@oV$$b)N*)^29s87?-G z`4w6dTqILw!>yRNPgSHw9N(AMe_K~{0!>zUjDtBOy*Oi^4dk;%xb(^6i+218H{Mr2+bQ2QPm>wz-CeT$F&h67hnC5gbH;A5ls0D|z!&#~@Xm|PWW z=Ojo~vcqm<@@c4#zu^z4&<&1-?0b*QQ(g=pqS;dOvT;wN+f(R|^3W04^7>_J4v1QZ zrgS6=_W|En zP1h-0I{+8iK@j~!0pO8k_E zq1rW-{2fWCdZ2-rwFQOnf_+|o7~6|MZZ2$QWZYh;9eL6TlAnAmoE&MTr_SP@l*D~i zT=reyp*_^Xs9F9Z>FAX4K;dBKZn4aI&Cev+g0>bn_cLCtHda~ZRrx_M;? zt9nNfop@p!oh_bEz9*Qu<3cu0>laF4g$}UsDCZhZcMkAL6}LRDoSfjPWY!w9kFh^K zUk~R6SkVkF3N;6;>pAFyd3`$~+FsWvY#rYeE&&+#m?$una)ckO!q7a)qT~LA#ebGz z5z6>hMff(FG6W3JXcYKbEmns0GGw$W5LC8-2Ww>g5GW%uGW+=azv7c3IvnXyCal#i zWlc#KtCq}m55H7lEqk?#Y~|3RTBS8ZKmy!>4zOtLtl~h`h`MH9l3ACmoTH9)%wg*p zDhYFze`&31Y1#0Kk#n+7g&bzpT&&lzng{;$trNGM)e4*F4EJZ-x%D~<5VBaIBbVyb z&JKBF+|S-hSz)GoZQBHM6j3TA)GB2fT^sD{0NxLL2JG)RE)M#{jhK!7&Ub`R`TY|u ziX=#o+L~g9h=>rb#6&=yj}jMX|I3L7b*_jHt_C}zH|Z@jaBE_10kGrhn$c~en@6ig z?|Djqa2y2Xckx&WMNfA}e_m4nGWCCrC`yDj07zViu9wTJdFeICmaInJ7=7l_Ydc&v z0snl1$%98$rOF1@&|2&!QS*{_9<3*g6Rg=(WG^Jy=FwR}YXoh1AT0)KS|*6}t;NtZ zXGiiGMDy)}KbncS&bh?t z7ixCE95o@tJ;e*SiK2@kXeEV755c| z|LZ@w3kL0PxzHZ@A%^!M@G3xb#z@Qb^AFuhca&Er2|CBt@=9h%NVI~YQm1gLP<09FKr6_Di1KtAw{C_EzNxvc!{vAC~q7IXmyaB`dSF)D%z zzxk}_st%vgpCc#Z84ZhhyIZV%osA5 zj@t~nFGWAlquiw*?)db zy<6kenyiMHI%pBGu1j?blFi0kh*y$fv(B1MQaZ7rat~I$_f_(Uf%2A5xC2yXjT&`_ z2NJYSbAepy+!6pGv|<8kE1g6{5HOXh0}N^>)v2_6NT*KS{HJU$6$+G;|0F3#QYT0qdZ|Bt zq`FA?`}<3Y0>%G_530Y^4k-zw9FS5Wm7+_krr)M3gFq=MUCn=!CjU#8D)rL*dxd&` zdV6|$=(s5(8*9^JgXWBxGGsm&BPLAGgI)(V-j|*RTCyxrlB8Cp9_bnB^?JQtuh;9n zpB@A+T&PHa!XHFW>hI6vG$~C5NsoAFXN(Z>4)I3d{o&!^iNWNq#f4Kh(16Ppf1a3A zFR*}TqzDh*jwiepDv-n>Pw4-=C{CL+`TM(xDr=Lb12FzkRHisN;vWQvKXrm0{!u4F za0p<7hFPA*@awkCr4o#a<&7muY9I5~WFLkRG8qYNTj~ z0-{5Nc64@gZb3 ze&={}m@ZkOqpL)z21l1><3Z9bQsk#5rsGqq&XE%b&Kol~x-uP^mo6J@(K)rM!&0M0 z(LupL$E1gj#}1v&-(SOz$t3Dv)H!pXJax)(a-n~&&=YqE(3~2UqmxtPpG&g? zlk<|>q9u!12L8Dmk}xp;oRK2Aoc{nBVE-J}(u&I8zn1e*fb`_SbH@&@j+u>z<_yjZ zZj6{PSFBX2RhcYNk_1T@*abKXa1G!T!0Eu{z~R8jz{SA9z_q}!z>%=o!8uE~=SZVW zB9H$5MH~@_!}&Wk)D6_9zh&~bbE`w=Hb+j`8UHL+ZcLU~aKwK|1w#By5Fi2shg$%* z4H_~4fWhlRS54pMn|zzz;+uPGxt`7{W3g5Z`lNcisGaV1yV-1=Y@BSHY?^G5Y>;e^ zY>jMZ{{H?pG8-D9ZHx>3ZD4FscNt%*HY``b{C6}^!@mU!e-tN7_!F`zlQyKSNVE-Y z!k`Uk`}u5Cy5A)Bk!n>&zvvYuLUhQG317k&dO;t^%uU&ojeVPE^J`vBnI}{0dLp&@ zhtPoIZeqo&IALPMg9yNX|N2ZKi9>&?sh2`?L_hG@k?GhmBSA*ONt_9kn2`W0V^f5T zgc(p^epE2uB>0yS1RLV0WfcWfTqIoV`#Qd2UFq=@BN0>&KK_=+Il)#@UgIR)k0FwmMfDs;; z9he%JR13J15jxct3C)orEED_#Jx_%{7SWd}FqBvn(T9j-4^H4C6r+i`eo?t?Hyn5+uv8+H$$1v0UMAzz7jb4$A=i z-=(`;mrpGVODuogGPm>{BxNV1CMBjx$~5I5Bc(O&QG{smR{~Lf{qUir?oj6NpCQBF zg;HsNl7P)BrAnt#OSx29RT-5<;?TyUQtEP-YGTPswJMsUMrVu`DMA74{Uiw`^VETp zOqTikC%q)E_lA{cXwjPDmsYi9{mL zka3W3Zmc^J5@|p{bH*RZWQh|0Ft7{!kwuUcJORiU$s(IuS4b;ll@VD)5{E(`a;MXD zT!EUVLL^9!(2kC3@DY&;?ktjoBcbCUK}SA&j(U!Hj%IF-Wk<5HW1AzJHODh%ywrg1 z#c9sb3wkMGevw#W7OJX$#FZhz%}b?L8CP((H4 zFIMGBiT@Qf0-mHBS2kqC@NdClg}?M_OUuGl*78beRdr>&8VZ9pp41iYX0@pjrAf8w z86&GjR*C-HG1gXa-kAAYvFXBPi#6^j&ABsc`H!GBk!tK^S}ggyRq{C^k4h$IRO5aSmF z4;XdiFt%V}TwzpEtBME#;)4fc2jc)nFXIJc*HjwyH*OiVj9A8{5otUcuZ%|H&{w3m zD1|$bL`6Dpie$xNQH0_dGDR@{)g=B!i1-8XFRCb}D4HNq1o5Hhq1XXK(W`i&t5_H5 zqK(&b71w9cSR@W>)gCWur_14rx1tS`q!fsXh>3`Yh=GWJ?%--fGqNW{F2pVVV#Fi< z{tOUn5NQx+5M`(!rXZs56~U8+I200t{zRWsLxK9_kE;zgX&Mgw{o4#fNYjD;6emag zg8=cT4p9t;L$Bd59uD21jki9B$Kh118f6>)u;$dEhXVCU=t3`i2O?^L_#3jnh!Ym z;-yO!%M~kC%ut!4 z3&F17%(a7SFc-x6iUe;#TkwN58}2uNnSg02pg95_0umYo^aG3oXUvR$2M_epWdjYU zKnNZHIsj~dfdqgE*e(D9fk2=O8xL3lcmN4t2%ra`24DsNfEa*YwJP;>TdvJYfl(mz z{S5tqIUo*r1KNI|ewcohew2Qberb+=jeci8M!!YBKfWRXCa@*2g;){@4H6Ux&>gGRn+MMw)(%^TrNho)<*;$!uy0s1)(u<6lCfiK8sBcu+df zIdPz5V>K}-m|7LeL6!3EZ31NiT@nU1#A)Uaiz6j2A0Zr0@>` zg`r#<%1V<_n9wVz6|~9-oq|e1b?YZjYo`^{dTE`MwyF>b(xVm4kw2ex&st}tW9Fu8 zC0obZtRSpt{MR$9nYGMHX8m9tvvRP0VOm+ebXhl8x2#&$EUQ=s)fLNn1SPd9a00HX+{-4C{rp zYpqv$UR{4GyGo-gbh#>%t8o3TIR7W8Pft&s{LvgW@_#CNqTv4oG{UnFpFMi=JkRjP zJi9zMcy4);1j#e(3HBuN9P+F{$OO+GPZledZHWW?3m`y*{}aRWeY(%~$@P?CQJ+;$ zQ5;968N6O*qXrO|zz(W?7T0Io52`WV6P_wOP3~><`yl@44PFVjT!*WDN>qI znoyW5@ec#@Z~AE7Xxcz~(L`~=M6<;1jE4@*0R-UC)L`Rb@M>OYb~R^tx-DceYt^PQ zX)F?l!eG-^+cYW7zl1`90s-RVUuO%=)|f3ZVYarCQT+Y0Y)z4}_2s{%BL|KI{6%bq zz~Hr2`)^5;9JaEUTUb|HR$EnD#x3C1&$mUj+q!9i(u$;Y2#5QVq*KGR%-ocbX@!u+ zzlsxoDlH=ZD6~#!9iWxLAF8!#J++icts-%#B@Ai-c~M$BT}}&kvuS-z%Pnx)WI?!foujt^3xm+s5=t*YqsQ z)3}~t`K{gdZDm=GW%#XO7_RHOhTUmBb>(=L-&v03x31;4j$QhV=dUR|jp5gw-#3=0 zG40ZC9Lwhd5-HTJio0> z*RR{cvRl`$T-Py7%kmVK;TI}T>8U$UW%ym+x_#>wj^!Dy+xlycTX^bDf$x^8EA8q;&!&M+;7y6<#-$k1v*`?$8 zt?Brc=hlT`dWJ8^H0CK>(=t5MaSXq1Ti3J;zcoF(G5oqU49D+FyYS1-GYrQu3%BhI zyS406pVPU1;dx{YVqeW^8E8ZP`rb*1u5*YP~hvkbei3&U^?({0_-@*B@}EW_~3(sDh&(kmp(uH!L5V3<9fxv7;LT^pM;nY(jg`7PJFxKzoG!XZzWGHlMv`>)ClWo_%NA z*>yIZJ!i|=aWxu2ea$+~Jn%EWCOe`k$5^IUA z#8P4>v1zOdtRyxCHWCYoeZ-=%j@U-*8Ow-W#42J@U{7EZv5441hS;1osPr`J=8y~k z1Rw%X0JCHPJRpq4Q4j}G5C8xG!ubOfWy=Seh$09PBtrr~Ljn}Q0thI81PmBpfDFtK z5kNsu00b$25)-$!{b2%SqA{b7oZ#%B9(RBtTolCz=I-7JtLmJ2E`@4fl`aASZs{EZ z-iajcNR0$hs9&=<927rnI@P-1g1qSi9W_qYk4rH6_iKbCWe$Qip3~Oig3lO`(iEMA zTa#}W#|cR{x;An&h}1@d^k{#yh)A=I20_Z8M-8Nfkz;h12+|>-urUxpB&4K4!axLl zdH;a>x}N*F<2vVipYP`^_Y5XFN>NJkc*4f=UP;qUo2o0`epvzq1QQI&i_Ciddj!Wr zx;+O&bz=ntnwiRO`X1Pw=Bhn9Uzv(Zxv2DWUcBdtm3(gbE^J6tbM#QXt)ioJ$w*m4 z{$gA{zo$v0vXj8K@t;gIXXRJvO(ylCKjjCXupUvS{T``;QnJ5Oh(nRTh| z4(at22`Pw*xxahxfRa<)^yN*X@mca5&znV0AM#V&90wR))Ee8QX{y-Ye#;DdFN|UT z6QT_1QZ;f8X^JWQm&PYMmMiA|=H~mZ@XV^}-tTegHH-A82Uxeh)e81g>ZRs*=ht1i zPXGmj;o>GC5{(>f4@~>C!rW~|U&h8Gc9_>3-ZPS`ZU^7HseM2vT zI7Zwcp}332F><#coxH~X8YAUlHD&z0p4(RtE%RwSm}L-+KiL4oA}Mx&5szrnAT#vdkQiAqnfM#E(m=6KboVyt zcQm9pne5&ersSxcfqGp`2e%{HOO5%*ER*DfB+y?BYX55~7a;B27vkJnmHZ5RZBBZ{ z=antJiM%3|jzq;-Y;YEN-K3QG%6>Y2O~O#}Wo3P!5{+rqQoCbqd;X@;$w8tdI4_b< zd!tRpHUG$Mh2zrXvRNsMqU3PbO|K<5>S>4K6|zINY6>j4WD;t8k=>HOWCo(L?$BPD z4)kdO>3?;VdC^F1X`=J~vbC=vG(F9jZTaD8{)?FR4*(*{ycJZQ4pkpVp>`Z9X5Vi- zZ29eSm*@li%^2BLCAcr~xOk_OlEmS&3_W&B&96_YG>#UiIHna;8YhfJP%qi<-FWBJ zwB?}XZu6RH)tP99&MWb6$lkcskMEJCdOprk)hJ1_o^36DwP-Wxu)+AcBF(oqf6ccg z#(--;i?Nw4O5okIF%5mSBQ4e84;u6+z?O2&fM(EJ_p43aV57OhL~pe}H@;WURp&2I zjDKZy*g4bp={7-IGQNvR6m6&ota@B4AeB3Ozu#!*OPKLvw(|$4Q9@5E&vc$0+vI7NfPS{1+@m{Eqav}nFxCMsi+^~RNz zySHEpF`?qfyBoj6Bwfw>b?VD~XHKNE>`sGbcNEHd75?*yYs@7xFhxh-wD{1= zDpzLV#4IGIs`4|Je`{M$A)C}Pqy4Lv{pH^k&60^}{wT2rwdHvOiNiv-x!HK?MjPzD zM<#x(4pGD1oUqCseEV!bVz6@#@eTjvTdcL*dbUjYvdF-_NZWJvGUgCXD{4o9(Xs|e zp`O+>JbRQF!4vI%+7a-iJ!XL5hkaDPPV?|C~O0WZbAI+ydkwGGs*Wlr#t_0f~4@O)&}Swf7IjMGvKlAg!d!o4=$<>r*wI`S$MyFO;-J5(ECZ5tmPHkf9oTcX^)?fg`Jiw z?Dd!y{0ZAOpU-s3wi%x0@vI`YeDzcTaHi6G8EB`MfT6GVG@Ih%&mRgo79;6r#s8%h zWE}qR{x$NzZ&I%J_GNrN%ECB>p+Q*Yjtbq$QR>Gq^BJpe*`A_5RQ4}ZT!0Fsf+&U| z5e4^D2GMSRsl0&js@EoNQ>2@spMRW4jC4KuPS}dz5dXugiL66V^f#H*kw8p*ihwxuof) zfv-+~}`9!mu2{% zC&QlK{_(Os_a{dhP&KeC z`IW`^kcg!jdHd}*!H@ZFHsFi)iVBAdTPz;dnKIERU#9+Axu?T}dj{FOQwJG}{`?`= z7-8PdNar=Nk4;`XPfKCB7QAd!bfgt`RWrx5s zVE=Y7hW}>7eL9lG8>p0*;uW{s@WL`s^fKRhpl|qj6fi@-{lD`$g$?!Zfi+slHf?8{O@Gzaq{9bywH<|pA={Ry?~0gm^_a6&=EX`W|#;*_Tml9 zug60Y=s4dlpc)~c-Uh#w=qD9FzDkSANdM<94k4~E6y@Di?CGF}1teQE3tDqdu>W`4 z*zhx-3dEq=5O^)^hb-!?*6&G28;IX|a7fiAcAU9+qWV2EGeo$lIPk8m}8 zl3sWt9|c}IWKux^O|Hc3-V`4o1?rX%uP*n z)4cf_v^yUe2O}*q1yQtRz{MwNa+z_wF189IM3&7|{g3byP9D!KI`>_|?{_aMv=vKs z#NjviMh{Dl)8WkBLU~Qg_wDC_O%Dv)R|`i)G(E+;TOsMsH<>UN^xyzviIYBuFur3y zY0m?r_Au8IOOK8@nz5My*Kh9yg%9inH}tU@T88bxHGf7JH@gIAPR97;y51UHJ~Uic zTa{3K$SCO()pX;ztDq!gQ(r9n2lFffFMO#YLW-D5QS6(Ew#zrxe)73AB4ge})G-HdDnRQR8HYQmVJB9V`bo7nZJ*D{ybQzA&&_yoBXovU5&7OLincqELM2Hjwi&# zql_}#_I_6_0>$+fF9$4p?DuJ=sEi&XQ^*RLt6uj;sj{ycgE+BGr4@;31)=< z_q~ArET&lChp!hzD>jT^xZnGiN+?N+++7|li^?BsxcqIqweWH~R)3NN ztG=P|W8r0cSu9~*AzLde$&+!lMYT=Z$M>c_ox)B2Zt3y7!LX67JD$aTu- zD$=LrmZkk)-(%ymX~w}2UwTteZ!ksazui$`j|Uz6Y2zN5hVBHfEvKPTVw_$1_;=*X zZTS*rrfPkPq_<=ae}b7zX%2jJ4uD#tQ5kh)m1hcK(H_h%V?6e;%FK*bO8Q9%3KTIJ zI9})>SnWG1bf*z>wzLz=+!!3QX>6^)y>+2L-zRspUxTb;hTZS+sC0952J)Qq24VBbBnlKr+Z^-AY~p<42)Y!*v1LqRcX zZc%kZ`glHX=H+TVb*=TD7SxZX*zUkWAf>-WtKK({a`fC@edDK&RRNuelz^nzzYR7L zR-Uj+_CVixiztxM~>x zvaB^EXw+21tBT2&pRX|02rz4kX7PAV#*dA1RXy`Odf@y;A4Ym#OS@QVQ8aQGYCM?; z1m3lKocuE=&Rlb-w&I1j*zNEjhwwW@)`R`Ut6QGka#Pxg+a+x4Dge@p*xxG@)7O>; zF#|}y-2`)f3Po^J`Nmd;p@kvhRbhtu*n!k{hweh*pkgPfWr|04V?IwbF1Mnau4-6V zEV;Xw>z+aZ3)C7p9-v#A(M+Ze(J}k>G7w`=iu_cm3Di~r&pp!Qw`e`nwBj94nh0+% z@k_9l18f_e=CLJ4+*rLV+@{5!5#xB z9}X0Hd-R=hR+*!)y*QEJmSv?F5}9T19&)o!e}T%n_x1MguPJha+&-7T-@Z{qOLZ^H zQ_dNMZtRSUs})!#DCe&ka8Z9_Au`52wYgA?ZJaL;yavEIRLBdA`9HjXveQq@CT|A1 zc|Kk}_~h;9M9zgFv$vjqWcX2i@`+D(De;w+1IyCE{btEyjRcj^r|BQQc2ugB3p&2> zhTF39F&R;Mc*>xjk*7CGfP%4a?<>{v3#%`a^X?xvc%{PBI;j5ig_3!F=>16h+JH$Jh=L#84)|$DT8AH*(8rf5 zMy;4SH?H#ga23$&Xo)6|5gp~*M2=Rc6vzS&w8yr z2v~4w`O|T+czG`MG+jSwNZCPfjoEPBJx{BlK?~z7nbp1CN_Q0~%=+nX{CiQwmz;OL z3IF|&p@31!lI{1|$Qc|vp(x~g^4cn)h_e>r%=#X5<7Kd6_d4Bwmbvf{)v?m`mo_gH zh;oJR8oH&EC?>&>cdAS3s|o$o!pOIy?{UIg)@6Jw50w;R=m)~rm5mW#<29yIT9{+{h+k8+(pqpx7Z^d4erjxNt-A+3@9#W1Ekqoo!(!L47W7FvNnExD72uEVSl&| z(Dk}6C#ih+(V#7ap-;_fd{eLgM-ZvseY>v}`aYL^__0}%bEfXENbwNtVYO1JwfgN0E6w^i z=h9Xsbl%MAOYZOgwcX=#UgBF?dZeWFE1FtwcH`oA5m({}`0*OHp!4-9;VC6G`~D_q ze~4$Bo#Rf1f>LJYn#o&;P80NXo^2oBafx35U66F(e?P-Ri?cDB^Fy8(miPQ3eQbvQ zZ=6P}LS6Kz{3;vlA9TKpBD}0{=(Jv)d;Ej@LZaVp%6<3*gwZ>|YU5)`H@7) zLRzaw;2VVF5>Upk1e4^i9%)&os-lcqdXzl&n@&;h!)h?A7wO)eA-}zgDT9Dz%s;Z? z#4>BftH{@sU%I%bwyk6i1V1O3{%+eX;O2$@VjFzaC)M`GeK%FBrB#BjYI^MX+f+@B zpiih^n-Xv9%}1}*ueK8owRPB$rB;PF&&*VnHJ*7P;`o0#+J)1u|F|mxBb0?UyZ`gV zGZq;XMw_!DOM}^v!fZAR`RkaB2ZcDshlPVhqoB9lr(mSOlMO&oU?DmGBe+inv~aDw z?gfuZR3=tpgY5++-as*SJBzR*z5syQF3X@N zLu~DBs%kiB6y2UM@BUGs{NoG_#%{MeLjyAD3UHzoa)p7lPRhe!%g4+_=PU*yiqk(4 ziwHo!pOl_TXM0pmMhx>*-qc4*!99Y}Szqoe6_LL!CX#W?f-LllAj6L1n3$)2s>2+f zZmm^NS7`GGP|>wJKDtKRi>N?!?v*KT2t$bTRdp~BX*J@Y0cip7$u&UBB$}64{b?A) zV9T2%^?5g8w&|Do&V4^hTXka4pC*tTjbd!T0OEV2iGw$`43w#=@ODG%8*+5;e0%K_ z8ry(V-G>f;mI#{1P9LD4s!GrP#&>oipcH1Hm4%&%1%Q`a!CJ}pF`!7T8_Nv&0R3kG zOQfQZBtsn%N*mS&viY(j#K!is6*QAeFx>mJY*;K-puIMMI2J}g-xL#?Z$~Tbfj(n& zNQm#h+CXFMM?UcLcF?=0oLwQ+MQTMh7l%mlGJvxC%ry^GWOo8_Fbt}7p*VvJ(fnq;LKyzy> z!Ubu{Zm=Zi#cDBstg=v{B=h&jqu>`m-VnLcu3pEk%z=&@pnfWMHZErGBlY68)gBhf zhPLj2ZI$AFp&hoDu^l84mNQT7**aOPCR{^GpaM(Bi^?&sLNBjPw=s`h{wFkhr? z9(d_I%(o2c-6e(*jsU7XQ1MNtqh7V;&Sg;Z0nw0szDN%BU>WpmI}NWke0AV-6i=px zT=+;NJOAR1Bn2;mLe==k9?y1tBA&M{g4P?yH;IP(E4Mm!SIL9aDB-V*$RnPl@iv8A z6A}{}isUS24#v!3Z)ZBSyk z2hyCCQ%&e-i|!;NYQPA0b`!8s2BD}OTN<(eg>sIKO=+@W4eJCYX!Jpy`a?w9OQ$l z!wN>c2y{HNOQ;Sws|knNH!j*fyLr$-^RXbqYreoDF3x{+_7~z@@@qjLPd`X~=8uwY zom(Vy-KFshpyp@UVZq=nQ*!?;B}%%D&Fed)Zw(-r2;IR)IIUwoaUeH;!*PErm50@P zB!8%y6uLC|!l%{H${VJsjN1X!w<2EnC^q*K!!A^Xyvb?b?E}tVA`3r)&oCeV9frdX zZ`jR+!?*i%e2W90odGyy*ZMm=8B5g90I40`#d4dAD2l9EYxjgDG}VFhRO#QZAnSbO zZ1P;Ux={Bo>M)C9mp5c*X2sEeWe+wfs8iG_uXIg{UHBgA7f1Kpc0fZOwDC?_wo^HC zHiS_JbIU3elfOF#q#AKRi!)UF!{7wjH+R*CZ7W6twhsX(0LqducoX^M${J`%cYwI? zj~Ml5?>SQTSLkSi`p9;*&q-0>MK5%uWAa5PyqzZK4PYh&d4LXuk9{XLtA4{+g?$6; z;gP;`YHlklpdLnCVd&_877aQ+q0|~p$&2^%4u}H$Df4+0XQZBVy248Q(N{xC z8_$nc0E*cT)t>?1!*QxM|Bex)u>uGtc>ASNYHgG&$$IXqO zD*p?hL|-cNJ7GNggy4LL|9Y^3d3y`S$Mr3u3P+#n-JY=Y?U5eNh|ofk^I-iT1}k}E zSI>&QAqHEZUkb|h)QJrarS@Gbn$EODZ72*Xw*Zv&My2=m`B) z5Kh&B3dW1Z{E0*S(rfKCWF|8}{nggVve1p0m5aEg6NgTr5o5tgJY-ZKc!YGoE`c&b zw33Drsjt#It@X0Pd2Hn-id=U2et84xofFZ;@u*fgX*@)k<{lY{Afj`{K3JE{Ykp%7C3nun-!HZ%JUFL_@XPw^UO)}99I}kup}yP z0fAC#aAoMv?*uNxUVrpD6WH`m!J1(B#ijRXU!>PfHI(vO;rv)?CC1ItE*Bz@0X)az zST#T22eRabG2A9dJ*>h%gJMoVAebFPB$f;Iy)EdZz-2n(Ldty)CRH*18Iz0+s8ga(@7pzjiBld zaq1sPu)*892?aN{zmrR^P8WhtCZB1#^~L>yIt_JP0VGnz3LMm$K(A}wX}f(BWB>6d6;SY$iVXm`#_YOu84ig>9BOhoYZvg7jJf33LT;Jzt zm(%~_G!*7eB=KB*5ZB#Ei{E{kh)c@Lsi_Qsvv)#t@oH+6>nQ}HGT(y*P*eYOJDZ|y zeo=8&-D_gNy>!6+?;qkvA!y1J)z~3RE2MSE1)f-)S2%1LIvkHk^uhg>kSnsVtcdIl zrhXEAaoRZp0=VBUIvK{C7 z_A4KM2kzvres~r1x$)WFAP?B>SAA`ygECBpD?t>Qq>ImHFmtp)GIa-{q-TzGnniBY zCJL(*oisD+Zh)3&KuB(Eh79Z#40`@19$meQq57e7Mu8Sxv_v}W_oUzA?RotidSgsN z&!TF?uj>xwhf=E%L_mUon=5okMlm)W3`_3+Ph0!@9<9}m;blGVlkTYESdn~B3&p|?WjLbYV0YRdQap! z=x^2VM+tVd0D+@;AR!__sGx|m*No2;)Syc@b@lW0%*ld+NQ4}@{5=QtM z5H|OG6hUglMT_VL0Y8)4e~~7oYPTVh$~I zgWewk=+!$Q+>0R3tTk5dBs5x^hv0)OSJ4$RsGBlDBfR#wyS>zC(eT0@<+1M}@F@_O z4vf9DU9nvP**yJ7vY!9F7pcP`3IsB0=x!)Oz}ROI*@q$RUMrm;GRVWNCfn;}N^5^m1Srla8p7SklAG#HS8*^8S6q@uDbfj(0YZ2+mns>jsv zlZ-9^;MnF>LDZir=s+p4(^G^UNT~2cod&V`&=|_F+LP)JXSC5opG0Qh15Q(RCIG#GnxwyOwnCNtbiC##(e`XF*1^dw|Mq^?C$qWO-!C zvqM^ow}@G4{QDH>rwXzJTAE>xQcOB4WDbeMSl)xt-YBzVH#@z9eCiYk>tHN`Aj_bS zu=uWJ7wMsIu(F>j&H08&l?g1V10T(N0a+^eYhF=CGl;t&ek+7nm=eE*r?x}oW_ZO@ z*Dsq(!kmO2xsFQ4S0bC+u&c~%px%>7#COPyM2uprV{cg@L11YCV9=8jr%*5m+&Q~x zcCtJD_@P`*7Qt{Zo*G6g+7`d{<$A>70>kV1VkyoYm^rejR3?2WYq@x-wF1hzs16({!5I0s6{sZruSYIODxhUx23m!#+de z+V}|oZaU`)bB~ubjld((&zDQP7vr}&1DJMep?Wlc)a`m`$I-2$tUYpFXx#;DUz@r* zK-yX!Rupa`j;?%qPXVCoX2OLn|1n3U3uTpu@fzKDRYCmZLq?+zhqK63rChqRhsp9l z4JiM#CzWzxhq=J_x;i*QjEbg#zkz`jE&mvMZiWvR5oLAmBF(G&i&!-OQknyRr5Iea zY^=d!YW4FLMp0+f>E#{<{|3cFRMnN4o6d_&5j=iHq&@$l={z+Jdt5XqqluuJ;nDcI zzytd<9aYH-G!B7LeoCu!ODlYAcK}%OtsSed_@ULwWO zAI@A8n0|lI;Q1`wNf|T*>S)8lHIrDo+A2fmIjfn?5(ksjt$zM?e^4ORYsQgi$i^@m z4ZG^7{#ahkT^;{c6Fe0OV~>K(4>nIFc9Ra1za8uO7PcrincUn<4HCMcAo_~K3}Ds~ z)%1$51*Ld<4I>cKjC!7`pC#+~9r$tW?<=5&l85EA9{E}#rxk1^2ZduZ`=~cHu0afy zD(^jc2}lJfjQ4Y!T76s|(!!}w{!=X^rBBP{i^3XwTy$8U(3ZuGRx;5673s{qisognf_}4RWy{V z5s3$3W6WPE!^Qi8ouf`x~K1fbvj90aK-#k^Yugjt&J zk#5X;|5-Af-@?egzYa3xy`9rF*>?wG|3LXn?<8{Eaz9l^LmnL$Ufs23B>1ncZ zytcs35=P91Op%w6H}?zt>vEcqPX84}YGURw$f6VN=mJ@KpwiGE6h%#!-Bk=%9^NIK`qU-rCm0C4 zpITX)=?VMv(|TG9A2|6Y8f2FKwLsfflbJY@;RcIN5S=q4bjE#I+?U zgUk&|`7npH`Z=A?T^Pq4BO&ne?r45~%bVW5e9*(yhdO7!<-A#S4p>9k_k;3puj!)$W7CuA58~t7^g&?BrQ0){P*aC+^vQ-Cz18O5OERC0<;0TLcko`zZ__fFePRz#rWoVyc3+KqH}PT(ureocr^SG^`zbAwR6ieYurqxF zq5(EbXBEsgh;`naW-|Rn{$eY+Md%0>5>gD!>|Fyyoa@#cCGZm3+VMt{RhLJ>0o3}7 z(_{_-XeZHF=uu?a0p4QZ1>&hJ&okJO>*=&W!fp3E;5%;(+?rI(Ht`Z;`*|!B%N71` z*mK(cycY=XzL$kwFA&eCnEAe72H^Dql-J3kP(?03@X_gGfA~T{ikF63n9X5{F$urB zQkBZoj$cT3HgI#%eH0A6pdkF|0?l;b{Q|!ttc!zT8PR{q(s%rz#n*a^SjY-P@kzc} zK?^y`;pHt^j&=~|JWBO%h{6XH_7H~6eMJx$0s{q3w=My_u}mhsdLN$CPA~Bh61#(E zxw_kG7>-#iP;;L78I!Eo%KuO|u3YNwq6D_!z6GT3*@Q_EpM$-sjJx*Rp~I&-*9|$_i1s)$@^v^iyTzc`#cln6v1t7{pQt4^rf$#!nyU z;dlFD=jv(GJSu)`yoIWA?1~FT{d9U4JWE9^RK9uT%?wJMDHUNy4kqvj z{y5Lezu~6+S!a&a>(mEo^JZ<5!=}2ymbvcmQp;gc_XD~C_-Kz}{{?wrT6}cxgfna~ zi40#u`DM6Huu}M_^u0Q}KfJYSnNZC|Rk95DaNG1#nG06Vr^Vr>JuKTEwmY!hK{d0B zsGlQL8y+BNf0kv4hC>DDNgD(v{S~3G>zHtcFA_#l!7gKJEoz!{u-kS6OU~8l@Xqut zb2RMh31Ua-x;cW=1hR%TV@vIJMbdG)=$~}atbWjWp<%4`0H};rIkqliG*rlp-r%|| zV_^$7uc!2*@^=yQ2sl`bLI`NQ108%)7zbk>(*{4Sr1C@;#LdT0dh$_u&U9McC=XvI z$o@)x?O%Z%e0u&KepWNoGW1Z4l8M<{bKAaD!Ex_&w@8X9lycED597N^Y=qsB_>vDa@#=QDllVyRwWi zohPxiC%o^>@!9XG0v*L-wG|jsodztHpOky*1XbIUi^9I1P0~(>+A2_;P$fsATAzK6 zI}!>~gXU=^A_ka`uK0wd{*i8+db>K}KwVE!QO{6_l_W&ERT)UV$UqQVVw;pm&3}?4 z-dKS~x!yoJFg|f!oMSR$-i+g=n~oyWfk`cCQ2C;Vq?tBpLAWt z+?tqjmvbgl&;rFNf`a2jOYJJqFp;@dw5?RcE9?JA$2*D`V+23Ni3GZO!nEI znAX&Yn>^U)EnsSI)?4d5hL>MmYt#2bfTG(Wf_B@bBY*LWwc>t=#z z+xk;oynl7sFDp5JRHpq`lJe5?Q$#a00|85^Lw{R0%RCL&f)@q=y}D74gN8{xmOR<7 zLBCfJtI-9_mgub!fSDZ>mc(=2B~oOR6t|dPy`~l9ZUybw=QLR0ug%^n(f(=r7vw&& zQX-e~8gZ4+jiTDP%+J)md;1jGcn>@MO5Uat)CpdY_$y7IeNj|92hTz5n2RBW_xZ4D zYJskP&{nWcb4$4W%j!+@~g%rZx)-fDacco}-o$t^sTMW9_90 zqOg;K>8ye4^Ix6#b+^FczvYxyhdnrLMJEPdROKghCHH=1_%OOMBM=B|l8@e25sF5S zUeQgF>d~VBAPa<%TA?DsrF7{+7mB`Vwwt;C)B}ZExbC;!OzJUH0%iB=Y>csEZJS9v z69vo*^dF>P+5b%y`i-U(5D8@ChPZsuQ@T{n7+SwT=;twlc&+^U-$jgGAxTS~o?w`x z^PzQxKvFH<#%w-+=9CI1Hn{uVfZ8Ve3WBS_@LI!fH4D1a&_u`CVZL)#+lK!?2(gV&A)s`cT8D8L+q1 z-jYluhDpxzd7*YPyMB;A)N0{gL`=fQWI|vN#AH!H1tmgZmd}KuMLE*Ia^$&>+~-Q^ zQ3CXHHHe)w#>A+th{m4IOYLEGt+RYZt2&S%2TA!gEhQB!>3kU&`>h&5_N*3EWl6{b zI%REJKoh@^G_$bLHeS?sm{3br1UnXrR6iT2AC}V_UAF8%b zG^fHnC`|dI*QjMsyX+01JQ#x7YZ5?(0kkTAAtgWM?HPZ<==dR+{ynh@Bst&Y5$quC zJh*cH#WQqzu)x(s!YC8j!Rt)z^aMs@3^PNd*Jx*}h3f$;cxxk$df;kA7N-)CmMj7@ z%OQOaJNSX;$s`GDnxNQB6x{yAjSA5dxFuj^&og^I0v7md@SnVL)w-}Jk8pBGPV9aQ z;zp_IT-2{Rkk))1D4`oGCwmVn+&Gx7*cS&dtKEl=k_7(F0vw^Rp+eldLdz%G;>>pG zIHPMV<_Lrhb5o$q|A?_NLcwUmS`f{9r>UZoi5I7Fud(Evw&cBDaG&D1jO*QXoI|FJ z9exDsz~bL^1lW2hxLw#avh3?uS731<1AIJ>8Py$SZ)NQA;EIpJl8+LW%^zkqtm640 z6&<&V`b%qoCp!Xe)6W4US&fXbp?eDWo5WN2`ani;&wYL10V^oF2xk{%#8=Yq|t>=YJeehQSARVm^784>6 zTnCzN@lnkVvxSyt-%3SNdylH7Nm;Drh~gpYtFHYGD#6g!J~P%vXxZ-xElOh~L+Vi-wIm#C)E0&}6jwDI11Ou?M4 zqb9FHRS|;bZ1A%$Pcp>l;8slV56}7rQJ5ieE}+V2sXE={A0g{nP)E&98BW&$Mud0r z)PTNocP6EX@~{7CbE?(!n?7GH+YR+X@07BWA1CE!g z1NGQK^Bxe$bfaJl+!X1EcXQkPW{tMcyL?ev;43>qY2(-lbFIw&EFdP);+_COOh!S- ziGF5>YoKiwQ2wsJwP@P9c~=wLWKCG5p`Izdq%Y4;5Tv3e_hcDZbW(8h>a@H*P5&)w zG_eaCvfj=(JoEhs@W0*3Q69czL|DBM1LKK(G!_M;seiUpVRvj0yYK>jf9}12m}u$T0#|wBbTCK`lYcP~~7S4DkFgZCBU`GBpb# z@uWI8niK56Aenb&guG+ob@K6FZZPb=y~0@tipEguWx))dhakCwVxi&qXoiFsu$s4> z-qV?n_QJ0b)Q1$XF`xQ`N_Me-}!!m>(^K_@NFt*>0kZA03>}k9yL*>QrMmMR_{chP{o*w1zi>ziU zVJr!qj-u9_S#^@0Em2T<(6u1|zWo{ICO^TCZ83;4J12#`Xd2XoR@f1kIxQ%dkm;_w zu2xGsHv<}|UUUmv7Cwnu{3TCm!T^pNt(c)EoLLYOKZfk)FhwZe$GRA~P0;z=BJHp@ zFcrSbj2HN?4$)a3kQj}HMDhQPSkA}I-^w_x*}6a=X5BA9H;YT+!&6fEV3vKV>XEmO zN^7`PVauGkxBn*Q>z+L+w?`P{{E^d1shp_>Ng;280nPeBUMZDgrUIR)^d~*~v8?1B zsDTSYss0&_og5^k^7Py)^acmPxw|G&7SVa{g1jhB<_;A>kffRU#GEc+c zZwsigWRv7p*)=8#c4$oyXyyd=IVlXksx7uAkae_}6U1kqzo;5n7r;;tv0y|G+X+?X zP`kl087v)$QbCA?EA`!7dQmQ*2>twdis-*r7iBnug14>&vV*d~Cl4RO#<#pJp$9*( zrlINV5$3T#`ui}Uz9{`+2zdiaZ|=WN&883va~M6#f3T(2d)O1Z_>xJzHncLkYuURO zqG0VxM4?=z7xk-9ofnJa`Fk2tQ1KlB>%7huJu9j|zIX0sKv{tEX>Klp)9DWqvo&3~ z`kq!GcoI?y6JcudKTXRJn=GBQPuDS9P62ss)=+oVj~E^A?WB$0md^N^sC!z?@ZqS- z`jTvLDy|fMR=dm;^@pWr7Q^j%oxF46B1OOi(ZU`)6iex?8SDv=#1ERo@jQ8tOysec z{vln3;XEy*7qwewsWiDTzDtNzLHDDYntRsv>_`=epW=s**p?|F&r|cU3ILn<2PNY{b}o! zjY@>IHbT*SX`1%9Vz*_}-Joomq^b~0J$f3Fr0zw%P&*+HzVi?c%^$j7Dil8I4%1z? zHG~II_9lj5&|)PpUC=1XXKaF;0bdidYY{?s%t$}aBU|V|frcDXW+Wzub zrSH}m)AbpnAGyr(o8F?}8AigC7_Ke@Ju_2ZS?ngFB+6}H23vmv4*k(GZA=*d{|_6z z62Qy#47tJl*Qy>OVJ4AkxplJ?wihGGBV|Ia*1U*e9c-Gsf>4T)W2@>%2kHzdeM2n7 zlLrVe1pA2cdmh{!S{=%$%n~x|xi138a_i^lXeYyHEN8yHd^L5eG5~x{}67 zT?#p@NdQH72ASwP33 zB{VU$-J!L|)C*0dNpGT-cq_d?=%P&dGgQ$M{mjwAN}H=M^!_yK+b6G0HS%m;B@POj zY?dce?q%JCE-grrsc4+=#(P{=2Ka%pOC*_5a8m95|h{* zC;6zea?x=dE@fvI;MWCNEmvux$V14($-iwl($eD-LLfui>EEl4m6Gg~i)p%PG9XN$ z%s0<&p_20l|2+PAPu=j=4frO6Y$SU|HtWmt9L=-i#Xg}vdCw}lxZpcOOpv1dNm)UF zi){A~nI}Rvci!`BFOEz1d;nqtzy#U zf(Fi1+*qgD)L`xJ>z2BzSMEOxnThJ50hyT#UqwV)J;C-BPj+SE49ed8^Bs(tiPN|x zy~dldd-;X!ucW+9->xp3&fRNv+-WS^y%!1Tq9V7KaovRA*>i#9B__WvHB0bH^ReA= zd$Tr&`b%1mycGV*n?iC;uNNE~_GV~Vw{m3xH-TR#{W;_E*XCQL{^VlNH}R}TuC9!X zvD~rlY05Xl`$W=wun9!9i?72snS1k%i_TKVVTZ!o zjzcS-#g2Mcrw>1p1pTG-n5`VAIa6@OA@6sc`sojQ3je0YOI8lL{Cz(W(DJ44#8Gu- zqH}QH-ijMAI;p#Hyu&wz7rfrh3>GGaqyFumS2&1(q2i^* zxx^nQvU}D^^uqxjkCO{4WBT&ww9n!n=^=GQ?pNoEfWaK-uFl!F& zPd}SDqn>~=l4vYwo#pFC*p!qK0isHEJ*qm z*5Zn5^bPek^TkCwrkPggS-CQ!Og@D=jM%T{^lI=dlPGWF%#W|Cf^u=;4Y(CKR{-}^ zb^Eb%Fc_?O6$eV(K7DeBS*V{&PM&i}v-T%i0sobC=y z-LlIFr|ikYCZ+~OHeK+eKO4pGlMch_cOo+j#NON%80ObWbhq0UV1Ds;uSu=u-`i@E!1 zqsBj##~9~e2(J~?qeH*lA-TMPWz*+N@QLCg((^f73SU~qfpj+5E!%HoP%{{uXWTE> z{$kKUs6^02xRlpGZY;x5v2iTmf@V|Nm-;@e@Hx7^k*3G<$d_0AMLpy<8~_fi{e?mI z-LoV4HAR;;0&Ei}Ki|=G(7O-G2@p{h7Uq#+9a<~6`|Ev-olYL{U^@>`6Udl%g zao-$V7@q_5s#}44rmh{{k=(TKG7D02~v zs!gpJL{4_8vavNFX z_xwh?5 zM7MBZMYyqIi80|cq%3$GZYgvmQ@I+74;zUJSr^qKpEffu#}l*t=1PS!3Y#Qz}a2NKvD_@ zMRUW4-U7=2tfuphk=psDP2#oy7Nj{2(?5Qf`oF4kAXEXvNbBH9S*Zsrf_J1C5G`7* zUI)WQ-(%3g@gx|`izohhj*bVl+4@tq^vH44Y~zP3oEW$FU_gkOhvFDmEe3`S1gDe4 zVm);RIF~X@0Gi!rY^$AO2RBi*E)m#-6W$VK;VTEK;VL*zg)V7`KqOf3L=c-4yzaVt z$Kzm5R+TC7yFH$B|AF z0W{FyfT36kvq*PJ%Wfy&!9RD;dWXL#AOC#u{=1ngGj+CBJ52lqJsvh zx|JY%^>3!P**Cc4iZ`v7AFO_2;sRM%bXju^4P>%}a3y>Vp{Y;WMj|aS4=bxLP zVshDCTCCgzv8l!E-wL6AZ{z_ZR)twGOw$iUQ1B580wtv;It3JLn7MGoAS^&_wR_;;qxs6w>FO zh`JM6Kqz)HQEzrbq#FeNVU4zLM5-4M{gNJ0W`67%q)S|7YrAA^iMv{``X_&D5F&i6 zEz{7amPU9BiY6A_Umk~sn9T%2$vI8U7BRVcUz`n(8swxnk{={5Y3j=<@h-=w%8B3_+h3xLP1CWR z!B7M*au(^p?#>5 zE@@4D1}>E5ok^9FfuEP2s1pJ>768U$$)$7R1F&$>Aa6@u`5w{N-l_3gf~Ew+U}T6z&~E zFeZ(+k|uXdFxa#e9NlpLi}6jrg#~nCNl7t+cB<`*ryF}`xCBb7t3iNnGI%Kug0}$R zo@ju{#1H@~uQ%Xjk9=@vp-rsEiXuTS0sSK&Z5ec5m|}=+f<1aJ;2jRTX{7O7E57MS z;253A3#|VdApamBv7#^{ygQ~T2U05)LG|IO(DE6Ym@maxbOe`E+M_9Di=28FTQuFn zNU}U#YiSs^rXBDcD{zsRhJdK6FY$Fvl0xHSku^o?c>kTI5^MvKA}g3eOVC(0;`baT zC*=e)toYld&!YKxle_r(If~|rB^uQ`Y4qa_wsBK&LxYU3beBDiy%fT1HsQ4!p2!e( zxY16!(h6eZiah$ej3B`CGMIc72X$AC1F36!_YKYDD41BWKF$SJvhIy*S~LJ}56To_ zdLWedxMC<`^^!=JwfA(PxefM9C#m z1woAGCip6s94Pd<# z0V&diKO$J%G{#2sR%Amvb^w4U!fu=QtZ;GFE5O%^@y(8O&y=>sz#u3<0WVfF*kL;- zac{k@$93yA>$Qx2t8?a5j)BW|zc%03ce`1kjgccPAm{{JDFJ0pda52&UCQ#M`-IJ3 z?c`(Ez<~N}x$T@lM509-#V;pbUGD-SM-Yyql@dX?x3q-<2|%}4`DQ$>=BL{>#K97A zWgtg;T!+F>s8*GK2Y?QMyud-X{$oKd7>NeVSgDwjfr^LGuyAUfMSCrjxHmK!cJU&< z7;T7co%@a5MKF!}4r9`Mo^TRYhF$6tzr`L1!AxhGYXcPwj!o-@iEW+3G8j>`Z6Z)Z zlNH~Ac&x|l&BlbvdZtobi(N6t#9p!SZ?>~x=PVZsU!9(q3S42bcPEp1fVc4o6PKeL z<2@gPyYcrSfTFc*X4mOQ48^Q0m_f{H9pCX49YGLvK2gLDh8+gLGy|i~zo%fKb-J-& zg87N4Q4ho$y$-OH@S~gl*+?smEvGsQ&RrW(9M!uD^EJnDBH`3XqCZf}1Fe!n+`PL~ zf_XV54(aa>Rpw#AQ0=2nWW3WnJ81TGZqdBU{E$+)d&OkbzULeuUHYk?D(~!^R0Uct0508=fd{~dYq(s89 z4r5k)X@vy??Td6^Kh}|LP|z+0yM*u7p)v#SKZ{fcUxBRIWh*68!WzY!!dc1Xnl-9* zV}=?vPG?q0R2$gMg#m<+xV~UXM-6W=YHaBmlTL+M4bUF*YNUL62)45k0@4)+PsZ{u zWO(rOiwodU=&OUG2Dwc1Cpn?2@-Fg-Jg@m6O;l_JXw?JzpB`PNmLxQ`x1{M8DQI6YVWCRkE)q7^!(XSJ_av+VSp))>&1i&nFe%Fay2qkv%J4A{F zLx4dyn0ATPA&#xNn(L)OX$drVw9}(Hf#UlRfZuzq3) z99g2~gLP$al#yTEi@xE4W6SQBo(Yx3TSzSA_}xGwcB`B9uB9mPux0eyU<8V14;cra zFUJK(8Rtlf1>6xJ#%tPOnAt28nkxDv%d$v<_B0cq`;o{w+%&CHO?(_yh86b<#Iu}6 z=@_6%A4ZMyU$8YI=AmvnZJg_>TqOBk5)v3!kYMQ{Hk|w)l|~z7T?Qvf5%xh&98;zc z8dp@;y)e&fqnoVFSMC+S@R1PdH{%EGO^}Pdco^b09_h?-F@Q)3umXqCT%DYT67wtr z67Y|zQEPcxEPX)O9VMkhK6)w41EG`cx$6q@M_m#NkCtaPt@g zO<5~|Rv9o*&`&seV4tI2|8rNfle4*aqo)lh!TGk(V2y&Uxzn~>=$B$~nyQfA4Xifz zC#}>bf}{1vIJwS8o1_~k)HMgoWRr4=D|AclHzF(qy9Bcu&?EsccX=|7@S znB9hzYgs%Xp!6wP$TP>mlH4wk{}wBhb@sez^@r>%rb2X_ePiQ9)ek5JKzrXPDg?|> z;-A665~!@ziUkffJuWF|ZCa&JRmLD_0-iBZSOb=9-=1$Gy)g*M06Yaes7cH5WPLzP zQq2?+SjrZ^;Ku;bf3B-`et!jpX!%ToE1DA(D)0$NW{|2~zU*dX39~EmjHbvr+G5;& zQv$(C3@*4i?xJS^*)Y;puVK^p;s^pXvNbUo3p`NPM4MH<+PU)iMd229Fh$_?*9KZa zS5p3g*xn@lUEW9={EjuZzIj`pLUu6`mDP+z&SSG`n>)2&qXA*Jk+a2dtl3Ls2^MbC zbgPkJ13Nt>dveZScwM*^`#88hV(-@=xGWJ!g289%${S{3Iy7*>myhR<6%qQ?8ht&j z=~iwM`M|?>oBf!FGr!?=btE_1#{d^74;!{!e@>oDj#k#uWQg(O!A#d;ixGoCKBBPi znF%&c2&(1Gf8dm+f$cnci5-P(Z#gN3Rm$#=lDuR}qWlOy@yriSE0ID90YyDCEOY1e zsAMsc8kA>x+!!8=(qZ~LauN1HLYjF=P&7_#%e^r7S~{OCO;+p{%#r3a~Zk zr$x;O0>2)jU#CayHk3qtR0N1*Z>|Pmw~?82T@v-hkhw}?zeDX}%GQ{5e}%~4O*+*y z^@2^|u@;-sm_)ge%FS^SnSY0evDbz2YDdrYPc3)Q!O1C$_3%UMCxRJQ?)FgJ``ffS zVQX6JNUOo{+{giGK8pt+f>{S+HbU@bl`RQ+Ne#o`OEpm`^{)5Il`3^A++-+n3vNZW=Q?}%|H{}HfgPwemI-9v&tbV( z%-C4||I0lgoPK#Hd~LC)y>LuHKREQz&X&u9xzP&R64iq8Jr0FWy-BgL4rgrZGP+B6 zms~DsTpn6?tXMAILYqq@Hmb8fQ6;D;H4fe4dki!@_8k9@uQJ&cDi=QqaC!C#LgZEb zLY{H+M0c?yihy(pSF__A^i_WnX!CDCG_y78VR81wj+hl6ShuBmqOx~~Oj8=rgX7*E z+d(r{OhKi|A|7mb+#GzRC86vILS;FFlQ>(72<&xDTZ*s(Kz2OE=AO94)R(H8z3dh* zXp%-)*(@0>-*BGW{yKNBPj9A*=}D(LM1b(W&zkL>ip-*kS9#i0_MBQ- zG)+_N$X}ui8!pfk3TFCzs6c}&MNJ1y0Q!#C9N3qj7jDxsSjHqMx2>)o@vC8?K1%Er zn4E7W-^W&tA*~34Oib2k`YZ|^wC6LHzC&RUy3_Uc={83aNLpGO*hb`bA(~b>w1LdRK|J3)jnCFrA@+D zXs(|-Z02r=0jC?9jPOxRKcqI%U34uL#N;mw+S7K<{@^7JLI4*7cugU17xaTx7uxdD znXIsO`;f`-_$)npdxA0&XCx3 z6OPjg0r}f4fd2-fiE?UUV`2A4BEmaJ1gGEsX?@*YYuYI9qPxPkWS3pVzqDh6#Fuwm zDYG|p86aD$CBMp5DF5ist-a|*fP9hbg7bD`Bcq+da>>;poLP`i3^`VLyS+J? z&DN2KzQ?e40xeKUplwo~s)#kBfWmt!+wS|FWGgA^8@(T)ct7sfKWANmdt2EU5Ayh_ z*w=ewgCwC+wzWwE#&oqQ%B+Ks*-a#AZhz67?F8cA6e|B@fI)9N*@#z=n%AC%+5uCK z*5AQV{7A9M#CoiluM}Cp4XoI?q*Hp^BFO<8 z6$b`iOEU;B%Na675b`7+!t=cb=S`vDeT>S|1!KU&L48M5NQwsrNQwqJd54!tJ9tH% z8-1n^*mqjwaBXap(Fq0KMg{CUN~)gq+72rnw_3}V4bt}oU*7^G~~7R zN)BK45#;j7$(w=GzI=x7uU5HlI9c=h?2P~8YHanb&pTs`pJur@qtN!;%2uN3V2qmk0Kav!f348I&ict6<=L||N zOL3HfJGhgEvZ&|=>EH0Reh`Y263CT!k~k@%X; zgUui9_)6DipXC4EM?0i>wgM0%ArllR1^vvjph4S3xubSAF)WB5+8xeB*zYq#|LtL} zvr`@FQZaaHt#u$KZ_8ae6KkV$e`acFfWckJ(aGI%d~*|-q=vOe4Fk)TC)7ed>ro|z zR=65uLTZ(>3OG)M>fBOLRByy*

    vaOl*IM#rzB;Cvj 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

    ebG~eqp_jEa>S3SFwki)UlfI@my_FST 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 z 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�RC~CINEBY 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 {j*25 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ĞbQlYiZ%{GW6L9eo%r%D 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 QGNZX#TRO0sd%0o!FETj9W&i*H literal 0 HcmV?d00001 diff --git a/web/lib/release/libuberzlib.a b/web/lib/release/libuberzlib.a new file mode 100644 index 0000000000000000000000000000000000000000..2e3a8d0155c98a7d70867490e188847264d3c4ae GIT binary patch literal 23926 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libutils.a b/web/lib/release/libutils.a new file mode 100644 index 0000000000000000000000000000000000000000..5f382a6742947193c7f693e1c11b5a83f7e6d3a6 GIT binary patch literal 131244 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libviewer.a b/web/lib/release/libviewer.a new file mode 100644 index 0000000000000000000000000000000000000000..8cc1d41d94b13fd9bcbf5272f696557b772b29ce GIT binary patch literal 310496 zcmeFa34l~rl{bFgtE#T*u7<88Xb6zxRY4MH=%%ZBCks5FAuI`mCYc#^rqXm5&`odY zg(TxbCt?y66*Z$|QCrP8s8P|xPt=TdBA+rEl^LUE6esu>BWiRQ6CIpE^Zm}b_bs*c zLLkof{cWhXoOkcJ=bn4+x#w=@#;r&faZ*1pjIWYGPAX9xO-@_(N-2s;5tw{(An1QkWxHkUS3m!Lu~^? zn}&OPk%!4rlB|Gre`FHl0qT>eA`{;h}W<_O^kxb|jV_%-k}Z>21#}Z`_$|sHv%GSkr!eYdV?a z5b2?Tw$7o!HSI0<+r;47Ep3CH?diV3AqYUvn$79WHR+a?*2eV4b**)2k%4t8rDRG4 zMM&_iFj8P_ZtL#uYi}Fs8<12|HR<%w_JO`z)7_cgZA07BnSp`60hhK(Go`kzzrXu- zj|WJpLCLPjD)T6b+^}?J23GX-4nf>oCMlcs+cHBd`nvlDRu8mwuuN?9VP_ocCQ*YL zfJCLfp`R<(;AFE_H`Lj_BP+?mnb|rON?M27hK2{P%M1>-ZPSvcOR)j+($+MMQ z4G%$d+_ETKq%AEhCe2zvwhV7gcS6dfd>vtFP{PvMl*WISs;17q!8D{L(*hat$?62M z;0ks!&X@B%48A#*LnJ&wLjC|v@O%i*~z#nPw}Z?XQrKHI8S*tuRy+5 z5A+T9Gh=+x-dc-_)6y`I8SMPqOv}qub8?7;@hbw*Vc`Ke2H(a=;tPWZc3+7 z`7*s7DpR>ho`uxLPa(JRd77|L0p#Gyjht+le9Ms=vaJ=m7;46o=%P|m$5K*IKqjIu zM?P01Sv4fnb!&S1yG5aCb?he1x;>q~b)c{!#=-iO}Xw)JgWGTo{%%5O}vXh}A6yxasuZpKeA zm1=9hWw>)7FB6l9n`|1)3^}yAnJ=FAi73hRq6;~kM~O6$g}FIC#$<93lHm}R+n?pq z$cvvXQrQTgBcQ~Jj8FJQcJk43Wiwf`9X+J(%*wW*ww8^_9?3}7$bd#` ze_MM-^sJ}0@&jaU@%lBn6|r7OK|q4_Oud(GwYw8nUIe&aHJGb zGRxqTftWfT$SK@BO^hzDgDEJze&-rkWNjFqJ5&6%>pQn?_eKZ7WsG~R>Fq$%(LN;K zTCT4j9_s8K!~oe)=g{payw>J4cW+=JNr3CxdNC|CAcWPowqpdOShnjhO1!8=)<5B6yln#{GopHO_}!EHCth6vQn!} z^P`Ly6_VoQ#C+9bd(P+@XQyEWx?TfN(EQxGgv`YIvfrZymrGD5s%W=k<;Xay%z` zqYO{qHuMtFG-1HLLx_N`Ei`zco85CiL2#DacRjO_{F97SPbf=8$Ca~Xu2`R{5giIN zshJk1JyphRA-VC(hr^Sc=^B`VnDxk?+S#~ntF+TEn+W8xt$UECmt=-2cZ#VP&Cual z`coQ^6t^0Mm~*xgkQVA(CQw%_2R_4XOCbUZ+f>^pAGDykSQu;9sMt&aM^VWriX)l2VHi!?(CzCpJ24)?g{DWr&Y?xEYw;OP zDdh~?73{K~Sxqj$ipfb2inDn+M)x{o7Qc|(pBX_DAT3&^sk)W7_qO$Pwr|P|_I1N< z@9T9;+_OX+n~UiwCR3E$WNLYLUtfr87HTd#3TtlTWyH&GMm7HsEdWOE?hZ{`!>Z11%<~t_+!+?@RFjz+!Dow7Rl8aHQpusE)*`&`pK^^}Se-Q0>HmrSn=#%{`N?N;*!gXcmoq|P9%qJ$?KRu8ug zbS%eA$hn|(lIV+*m+}ii!8&jTx&gLQa$>|qiE3WiIkX)kPgq5GmdrOcSjR_Nl$c~q z>-M&ezFRln-d}jQ`3(6p5!&JeHQY4Vqi8xe5;ZCG#mQ@I?b|wZ4(XdD{^A5Sx56mP z^bNN6^>?*OZG5E))>{eWBeGo zn$#G7vsyO1dbm@q`SKPvqw42P&lDVg$)3Y1Hs0+eRCJ^}Z}O^GNDmjUJ+KFHQPVKn zx`(!Q_9bi4e~>)~?x$2b$(;%TjynhDp-wgr_jh1z?xwyzZ`!HwSiUb(asaDVc4kz< z1qc3pfouEw`iHxbhMESOD0l<%nLXE5X#P!>U}g!5Hyc){Rq)Z%Fv!z!tys?@iwkaC zGhue?WM#bF+ll!m*vl;)G8?9gVd@+okg2m9u~Gr`Av3U*Cy=)?N;N5(T^aOrkdOYF zp1xtMeBH^*@3(HlBxRw^D$r}$xUWLz& z#8^h!aR_mIHxCPNsifO_C?%V4R@-r{%gFVnW%UL#rRa@mF^^xEf~iqX**?Sn%9=8jU8uT>v_U%v6E;5GT;^?sQuUy^y}!S@Z?O-~TcjMQe`Tcub5?z%ogEk*&X>jh4dF=5 z|LWfv-cVO3WTt9r8ye&Z`@`D?dkkz6H-0fPGD5MNja_uJxoelP3s1Pn2flTktigdag8)LC$ zvIo}W!0jd(44#(O@1jfsyNH1$=~s1hZ`?`pf{0k(g=Vt9uaga^z%GfHEVSw`XUj*< zUNngpO24Z2)*doBoh$t~>Sak#GBvnq_43Vq>xEXR$pUleYOXTC7?%1mIJ<#!s2F!Q zO^~tFWMNUFgEeAUh1kc7%|y#*Em%^#yCN%^st*O1qDy8Aht6JPfjYEPvF4hBxU)n1 z*Hg&CaNn{W;dL5Fv}QRYvn+*nk(X&=ad7|bY2H4V&fEqO=xys(y9-0iy;*K5?l#Ff zj@1GQl0vF=12{`3uzx#)otH&6XnI^|o?^_pK5Xk_(z>Xm2x;~0SXn>N(xpiI3on5) z;!v^?dkF^zF)@sHig4AtpBxtVL3()uG#gU+3u3RE-1@DU$k^@(Y6;T8 z?6Z>EbsnlSVy9kFj;(8G#f61yUn)ku(~}WOotUaHdOXgLIX;iYf|4|=-ApvAE$7%y zT%=$m(xml;N8B(Bk$aqenb<2{cJS!NEKpIpv-@>CfKZF3 z!D;8>Sy>SQP9`CnJXFliL7XhJdDy1S!*cY>+qQJ`D9vC-o2J|zxJBnKi%-_@+To3z zw`GunF8pl(HH|#DgTcR4Qa&snM!^oO%nY^xD`{Tx(wJ1Z*$D>R-~mAZ{0==Rl!E$#R+ObYF=AgU=1xVto043aQSGn;tYhO zt5{n)ev630=~OY7AUB%${1w0j?3H?1q0Y@vx3UYao+1K_bN3Dn+|F#n){QeGLgVln z-3x_??12XF>&$ez{kFEW9>mJPKy1gdB#daQ${kgoWt%uj3&i5kI+RSJ0>gui_?5xT zhuid`Itad@%x%~?B?5F2+vjSdj60UA>WtA(W_b06&DH4bp@6Y{RkOQJDWSftI3CaMB~w)uZwb# zx*0lKNL&1rdYWWv8k4DvaH;VaWHIUTaSlC#&1)bsS?*7?Yo}2b zaK1?~`5cYDX_{f~nkzVLYe&MICy(YbbD2e!5tFw>U>eyJr*b1|pNPcnWb_HcCcK=E za;V1@WH~hk?g?3jy*JclQ-g_5_P$UTgZXjPgYNgB2R!IO4?5;S4|~uf9`u+8J>fx5 zdC-v(j|T5?Z;4CJ0S~(0gFfj&4+&Iqam)*F!V7TP3$Q!vruHBnMFHxXJ73g$8y*{R25$X67q+o}2EWk#_G(V3j*vROQfBVl@ zsbI$e(lMUXUpc~3_4Ne>I?dE*&}jyZzU@o9M@IHOu4C?w2+@D{=(A7$UI*I)(EX1* zdx~Rzd6&X=Z=}oq=6#R+*K1W)?=Y`4_JvW*hdBRu;UYi6&oTAHP=@70_E%=;o;f+fa` z;-roPouLRghDSi(98{@3t+ENo$Vp^fMDz$?`teB)t+R2+3p%Pf@|b`|-xE~KcvQbW zb>Ab;UM(Ol_dQ_iAGin~j)0VhILz2bKgUt*lcugmw4CeMUaK)+S;U1m12^#XH*-0I z$U=h|#7)>i_W7EJWXE*A$e!Odmoq_$fc*mByAs9%Q_7O;nl2<9>2lwj_&w&mk5QKu zu=j!li58H|lYJOqiRS>02mlcsz|#Vl=>d)j!14em1TfzNoD@Kf2RLX-ft=QPJ79|3 zY4JpPki9=2G@1|Emk-*T54uNzm{pK|K|cbJ&haTDFY%N4pc4S;2*>o-fI{`O_vJ|T zm&15Pc}m^U>5i!oBcsoJ;JeqT_y@Bi9ni0;sw!S&hZxNdu`fHs-uw{v0Q9?mKKUD< zH0Wn2D{4R;CHs(Y4a$t{$GpcU z6?;A9LiSVH<%<^KxQR%p>c23fsHRqzYHciv9*LqEg5W!KVT=RPmBwSZqb8vq;Sbz9 zpx#HAoBY04-tQUNi&rky5&fNmkG+T-9ySDl8{vR{A31X0BOifE?ohSu*B}1zZ{K-U zV_+lGaOcQ9qmMlMq*F4;1(elEEu{}LBUo99bh1Kmj(yf~0TR&PJo z*iIWRHb|gqG|7I!gF*-;4bie_aZy+hreABsju869gawg_@_}*$@~a;9L;T3vk!;AM z4KYx9muyEKeP})c%+x4>A7ZM4Dk21tbM#}KBQ1n)Mv*zyj0KU2{tlF*W-1G!Zcto7 z+zmuQ#n};s^G6!zA4xY5WS_>PruYSxQY9Mycu4EJ=K$lR-dMv*m~3bzr?jB4m@#*< zEU6}x>~DFWpTy&C(f5#W1m!F#p%6q@DXvBp+B!+)zofw?dy(Yj1;r`}Jx@X-A>Ggt zWZj`-ro{cl8!c7+ViMG^9aLj;8V150OSEz^9TjglD&F*K@gt^c^;|W7m;vtFF}%Sj zQ%c@+Rrm=fmZQ^83c#o2PYJ-MqvITr~&>ODTEnc$P} z7d+4r)Fp{=T435DqUasdjG(V$L0-oq#x)Qf2JLa;sx)H2&g)bJY`0Spu=6?$$q0(O3@l<r|L_UZ=ve^EwqK#8elzX~U$;w#7^v_FOKA zZ90(;id0meXIdY&h@|U$WX8a9zdq+8fg~;xxJg8oS%xfEOC1L%^2HrB2&( zs-Xi9@@t^GG~b+=Fj}U;9-PmE1hF@9`!g%bpQ_Lm!50+@Z4!qvVs~)>JwnEj zg8GAfPpB()NMa)t?jsaM=j91g5G4H;{LvVa9Y-yLLQ?2G6p?ne}B?#HjWA0NyA z_;Kgsd~?)ER^fcN^TkFX(FHw{`m4d~=!3qe|>b7haPEU+BWE zEck2}9?OEO0ZHbo$Kz-jN{0*aSu=_uMPkiQKQ*K0Yw*v}uVVxHxEZ}KVuT#S;-ry1 zWNF&Z8C|ivxnL3ji()cTngH{oHeHLNl^O=s1!NJg9EX* zaS)d8+_bAGW`}Npkk3U3$&TEaAA+{azBKlB{xXX>5o2RtC2|b;W$k2{RrE_EL1W-& zA~>7VKW8!@y!7#xzS1Mg>uLKI(WmXVOns3fIk9+(?aWqFrFZND; zo5cuY@6wO4cgq8EW5n*|M-;-z7hilayn*X2z+{)LV}4kWj|!j(cEy8Slw?;7*ama? zPL9S&pmgv!a@#kK!`ykY6UIBqSH7l22W16kZEFZVWhUhG{b(F@pZ-ij&GnQ z0+GlOrWmXUv5SMMPcO_g>@TQ@?@2mPZ(#J>%@nKipERu0d@w9 zE3-lJKobq^t0LB66UY?{JJ>YewA7Gd$r9FHND(lai?JQxHW!huwg~4`TVx+Uz=GvjFLeQxSfR}UXq1byl=d*wiVntwTOlCS}p=j@uFDi*&YPE(m zjyVd?3dHVrBA+z0lCNMf1(vV#7mA)Tj1osR#C9YCswDu<00KcB9OPh$U=@+*dCTlV zWi%|QIOJ4M&X|3`xW%?s%?9W3Ix`+-y5^hf6A^pYYRFmub<;Anc=Jn^ct>o@ie!s- zM4~w2ZCcO_>!TKi%dHX%`oM~e#r}nf1MVDZI9*g)r&6P0d|t7EEhpX7QS_BsIPIgT zPY})TD2Dt;z?04^ z`Q+7>y8X@UFUCH?X+RkOQ5+-0h`s<*Cu(>BoeYyZUf`Z6GVX;4c6XSITPpi0-(-iy z0Cc(B5HlHoewPc777o2G7a+PG{VoNFeqeeavJ30C9i=j2?nnf6r9*qsU_NX>oI%ij z-0dUWKEgoI*n(_b;}tM;X<%YNdKFCQz&M*9CZsqCa~+Yd2MksFxOA#u{czb-!AL?y zQlOuj2{vGn2Ce2#C-?!ZXZCTedX^g%*i|y}4nm)XFfm=RZ!@o@nY5_VJc=s$u0)`T zACLs}uE_$993B(RP-#Z~8mSmSR?bBLV`{FLS#f~o18Y3QcZ&UkhzS}j?9+f$51>j;f2^4Z~IeNJi0q1ok%CyZ?>e);|R;R#>RM=#) z=8Dk<%F1HqFZ) zct^-YsY6{ES_iZZaadg_nDD{a$0X(Q`&N?t9kbiHn94sE4}EZzUZVIK z3Nwq=1o;H_gf%~ElkhJ|U0mqx+O8ZsMQphIXHE&>{9fO`m2+^5LsSsg>rR6BK!b}PT zoQ>k39v-)U#u@8EsRTJEGT9741yqxCAfPr8@z%|@A3zFoAsDj5X40c3@*1|R*D)EWwu8Js{o`;*5W|78iYA{_gK zNGAxy96Fl4ZZvL*XzY^=jZd>@s#K9Thz&QnrK{qwRgk@SndAekx&T>*$ik3c5D*nz z2I3_LxI+vPku!qtoCq%EPG1UA$SnwvFCnyvG9;p_;VB3a%uLHz)%-b z&y-CKDrPuR2N|WVI8xU7k~78n*g{rVA36FGaIvi;O6w^-r?75tv95HmMq&q;1zh*7 zE`=GT>R92Vt#G!;FpM?t4h{=rLF$WRVBifyq1xj9fg$s@LK_zunh(}Nd_hZtYcTd{ zl^~QB3X?B*invA>55^(_bR+C86LyyyPE0Sn#UQy^rkAu#;5nEjrWZ2HYZ{d5(ncgX zMr1k4;V|+6n^+lJ5Hun}<@{v#M@aJv&o5L};8ML&1O zj##x*>=8!FC5m2DpFz{`5ryo)E!^cpm7{nBVMBJ1E$@*1 zx?AFAio1q6_B6DlVFH1Isp{0+Y@U?4BJu3z7yzAP-bX5zET;vQ}i#JzR6IP8xr?<$#t18$P04<4LbcNN~Yr&(J)jm7` z*C<2Q*1m3>al{e6L(v(_+d8^$2W+4RvH0ZNC1v>XGm4f}cfmhAo_|HrP<4NQ4<28j z=*+V3&t3YJ-|oNW{`>C3@1mvnUGt77hOZ_J=|!7v{$<%Wf3^A7O9N|fSUmUBA6q)| z*){QjBabXSf5y_U9{ub?OZ~ax=UVv-EJK@WM5pT`ZLJ|}#kG*$_l#(8V*@|^0Fur3 zqegU^yQ>Ckt%)AP;01-T)p-YA&B(JD+$F4qUwR?0p1&=|rxz5dSwRWb>ZSJTzHb;IQm} zC&e(fHrpRm9dxq30f#X))-<<-X{KRbR3JbdZ=r69P!rMe2LJcsBMWedy~hAe17JhZ%nIr%jzT|<{xoPs|)U1&r37wlw-P< zcSB7ky-6H&91Bw{La|aKb|%|0R4jM%!X!6yP^^q%QHnu~F|1Qky}lZoCk$3?(hn(xPmtz%1tjKl{ip3~)9>vb5*aZ}uVVDs`Wp&b|=@ff~2S^3zB8t6|Vi!_u zCdKePi$ZJLkO^nMTHbc3{0&9<8$>4d^+D@iJvlKLXEP->^Yrk(tpZ0o$7UO`+?_C9 zu4{udgJN?ib}_{+q1dJ9*itM`u>{5D60Kh`Im*UA7& zBX)Ln6;W(H#THPkl41)fw#bvJx)7C642E>IiI&OS_$lmx&gb*`WP?_0;`ViLd!KTR zr~C`CD>Zi`CLDGY*^*das1nxaZAsh$bU5KKPgro|5*HZGRqgEE*|!7dJMHXgU6rQT zVv5yJEa~N`p_COyis*)^$Z_uZ;;~wa)p~-y<`--l0uskf-HNNS8LLyd}LRUC2|9F#}s1I|lpG>Zn4BT{C$b1ddZe4~w~+sNOO- z$UCQV8*I;@Lz7ZH&<971ZPlukAtROzs7~gCQu(0Td{A9JsGf|u4thUbIrbbz*2f8@ zjJg1-Y8K_y4f*Lc=7XB@LCs{8$T+0&;){Xq@NNupPNTiISpNm8({OM_-@DDFAqCdF+kOyY~ z^3IDw;Ri1Y(MK+tMqjunOix}Ep=T~Br8})~_?wmy{jP)V1DEzwx zA-b#bm9)3=Li(4=nc*K+UKIXynw`X-l|0SfvUOm!K!&Bk5n1-c-3X}WYy*L-Ks0-Sk-)bZ*@5QOtlgHS@i;< zUsqQ~M;9+7`iI4fqCZ;wDk3I8$~qEpFa_)V!$cyB61A4uIy|DH;O|0^|@Mr!AkysOrr(b~)C zvD!8|T6+oow02AQKWana)3rwQ&boG@H`jH9-%}R~e-Lf_XX;)_U#Y95U)6=fU#d64 zU#+i;{&Rgj(bM$}^lSW1)i;*B851g_4FURWLlYfuXr_-gE}=&oucXHtuc99{UQN$7 z)`Wl47^2gSNxHvjDSf-Cf_~VvjK18wJp6+tq42XyLiF*gR)&9dRSVsD^(uPD)vLmP zfAwnm>D9BtcVBZYz4Mwi^v!G5(!X6ZpN?M>r?)O$M_*f-2!ChkT>96g^GbfX)S%xl zy^Q{0*?Riyvg_!hb~yZB*n&K={Cc9#Eq?`lYk7davm#6%UAck2ymBM`)5R_}kZp=ttKk=@*vt# zufLcc+;B>g@K<#3h5$W&Lm>Q5H_W2{xS@*f+*D0(-L#lK zxG50+*f-AesiGYLpPR$$8HSKw{J{_ ze|Tdi{F58E(ywmZM!&srJH2>gXZWo*bP75o+&l>)m!!vZ=bJy2hHneQ2nEaLMAu z+u%cfcuO^oid)>>y;EJP5U~rMR;}YFfZrYNn zYi?^yHP?2uH!h$jIPHp|wgET}NpH=x4GqIrY;a+?Z3u^2w+}9iZW-?0QKkIbEv)Dn z7VjZdYRG4BVT9duRl$MT;*|2xXX(F*Jo(io>yt?dd$Z@sPgdHMX)k`tRUcgLi90{- z-H#kce#)z#c~($N3Ek*pYr6Zp3wtNaA2neIjX550n)CRal7w@UPEB4qTrCSZ)Z=csaOtm#1Q^Ht6HX?`XGAJ*tVQ83 z=7dToU#Lfzf1HOxRm@|JYMZ9w52=J3v*P}cgfZ;y4&J_NwzPHV`JCR&t!en8gu^yZ zw#N(QIU02+?;9RU_iat%MDT4H568G}mdNpwbS<3mxZ{3J{#mK<>O;PS`dt+kmsMx(Qc;7FABBmu_= z&#_}RoELJb)qW-~jogSibhY;pQ`0uWs44VBP|f-W?ch*MkYk;Xgi{m!jLRPr)A)Mw z-6me47E-%YdB)%5)Ye;^nz>RIDe%g9+vF8%SpQ72H>n)^Vr0EF2XOvj+C2xEngo|6 z5m^5@#LIPf5f?v|@>7hT%J?aQRgiebz8ZV1tP4w?hkVi{`u6?~f!ecpUd5xF;Bn z`&`_ykvl#QcTNL)0OFV7`32lB#~p3};#c5)4EOmcmj$*FuMD76=bP8^Wo5$HVbAQb z7F;(igkq{hiK-n!Hr7aBIfk{sp4r_MU#J$0EV9hyT;A*g=xG)gxVLzU@7n3e5j-#V zxj;EAVV2M#z9SyH9~t8?kgbC%>$Jxjzzx({(>@%$SSeK*x!$CvIQX5|5 z>~3C|kNOKW=5Ab=Z#mAVuE6r1lSqpfRAI1>{bXF>26o=D>p_q?@7Nh(cpJd4z#>1q zyZgVd;B8|DE-pT70x^8Mzx^AG4`BJPe-H9Oe)sQF9%BFqbcFY?^A2G>;yi1?e%g7* zw`0z;{&vE7$G4OE+1Z7Cir>L~hv6g8>5?YG-oww}%U&OBpN5S(FrCK!oc9Ad+(8XT zHlzZM<%Bz&^L`}f{pp$09@a`y?lOgMJ6d<=MWL>UqoEh;~a4(i!JIp-7E176;kdeZP~Lq$_U_dI z99LO;^t&!Yb2q<(jMG@U&WIcbe=p#jYxGIJbIpgAdXAsj8O8}6*mdS{Ouj&&9MxYq zx#Ld&?^6zdwTKfaKWIc?q_XfB?P(6G2{=skcrW7FP0h#cLQnRH)uTjgtOG83=)0ruI-ft4&kN zCxUEOPH{2GYSY6A%b7xfV)a0 zYawTKtc+{iLgvVM_{N;7vQ3mgId+D^YE+CgERTn`0X$P!C~b|y!hXfUZpFdw#sCW$ z8We|Xdq6d|0m!7PY@f^Jn&EIQ6xAf4+$))P<%wFBgFpb>5{@}CP{+*0C7Zcex>cCD zUu5PUm>hEtYUUo$%zd;lbFujvb(NR5qMhW;*HS2kT?gTVSn=MVs45{YRjV8`fKxW+VcV>;9j^kVuJmbzx}m@tupQN6dlP(8>+&H#STFv?GI!(ofif*Y zD4&!H2}G)CktUUSW{*ne!Ur8KCp?f0gVAmy*p*NhBDd!K+8hbnj{j zh+)tYI#7n~R;m^$*|5;*@o^IT;Tj3;z+x1GfLYjVgt{twxsYsJyiOSW6>F{M>)j_P z%w4OnhZEEqyq(CdM&Aty8RY@46X1+xj44kLRt>AGnj8*2T4w({`$*uu6n0P&u}!^4q{%3%htGt>Vr4 zLhXkojM|NWoMpL7P&IgOnWa}>yZ#bTdYnGK=<=$f2g(x0nC&{AxEGPw@x)#hf8K(C zqIYyr62Dr4gMiQaZQ zVflXCE8kJ4d{ssZDGn3?wl=bk66MDmO}eZZN{?M2I#h2fg0upv5dEi@#B)v(*d;G+ zKzQr{l}hg!z}^M%@iEIf-*I`N+B7jP5|vi1$2-LGaqDP)bGIF+q1{lSvYNY_0fxcw z8e|2n=xg9Dn5pDoPJ<^R;WT)hhoTK$5Sj+xMN`#FDH*D?_85tp9d>z7B6yut{XN*b zRBr`$sEyUE4)G?ASWp*hta`h=yDL!%H5U+kXipL;)`2y=6{sd&$BEdt!E*uwQP>g^ z3K0WG2EGNc)pijSjaUk-5*5{cR9GiWie=ZTS#ST{1EQ(+i%1AbNf9```w5#R2ylEw%?7AM6^j{ zeuWOH!{8KamnIqT7QI$y&k+!;%K0XGcnwNTiP>&da$u$83|4ZLP%Op{<^6#b9NwVd zcoerw^cQz<;PMB0?o6~73=L6Rycv>r`Ju(FVO=S7I$8;uuRxcLlvaWcMK1kaw!&6O ztqe~(v*F^@q5j4GfJQ^C)+VbiGkV@iXoBnlcfjgvEMfI-zX)GC;T zXk}MTW4}-6?mJz0ZV1FL3`LbaiEW(H3l}lBg*jcys}VXfNo%ohoTA(!YcXteGgs)p zp>4OxnBIlQDN?yY?+}LyF2^xptzm zy_Bb_coo|vyI_n&t!n04wY3P{J?5H2gTo-0J+|!jF2*SE7pbv|(ZV2)*eYID4iCegB0#lc)!=tRQL)*B~pkL%HAK zx|y;~I8Q*qaKHNm_dS)(Y1pH$>xyYlI5;@uR#p;>0mfq$_tRi$)~F=aEa2{tjA|L; zm*O(zHHZ5`?D6X&`&%;R#R-}`RKOC)BO0)xxHSm7F+u){xMJ~vr9^5wdO>~N4*kX~H8pT(!&oy5W3w%|^{$f-E82aMJi1URv$IwR;hHy};li+1a@e(<5 zY(nV_#%nnThst<@oO8m3$nBujh@Jv&N(Wkjcn#7ajeM~R=zs%iWDT5GRgYe`Mxp1jHz3^%MtNN@>* zLjH-Nsk|t{jazqOI%lPhiLPVGn>LO~RHuE_DT@fU1B3##OBqEhAu}+t)97Y;IUFe8Un+rQtBR_n%L74j{w5lRkoKM)PfYSQp)Yjta3~XD7!%XWXVuh z_TWwS8y4Cqhf@gY6ICE#v8&?|kvfqaDW@7K2~mMH_IBi#wcB)LnkSZ^*x3XE{iu+- zA)HY6S{yr`a+)*bL*|WGKx*tkZ=8iW>r}aE;LbFwj`<>F%4jh+Ki67@69$WAqFwVa z=sE&NsL`W_5oU*zhK2EK_sy!QIC4jTtwkackggZN5NiZ|in-G;r2Kt{NM2zyyK{aNQ>C?{J1I133_AuST@ z{wEk^zp5De93lHrH3BNWSFwF6s4|VbMpTxAoMp7QhBh|1%mOy@j*7;kU>Kyc%li=o zkKCrC+3Sj9Fdt7yi20)a;e#+xS}1r!g4!#wzxT24evCVzsKdev@RKbH(>8_@?EeM7 zb+hg7awsH&+jnWr>;$`E!h$XxnSCFZck4bOJ066;C2lcIACU%=tB7P5G0@1U80;sC zqr!0yhy&}*0G9^m33>qLFe?I9-V9=f$}8F_K!RFNpv>7tPlA2$NO`D80i~LORRj*y zvil~MBeeHWrR>OtxdHu-6gZ-^STYRXJ+*B*? zlzgTS@{VhQSEwq*As&~xHBW@~GA~$IqBNi_0?-5Yy%GyoI2LYV-D8gm1XmxPeFDR^ zD4vHT1gV@f?y6xVm_b z2n1JOz77ivS2tf_MTlk-*1k#zTwR_%B@kTQ8h1hVF~1-oaCI?1ClFj+ z%%=o`t1s^(CCm?8-Mnk&g>~y;?~xF=x|nwh1XmX`&RJq<0T!=xa10Y*xVo4%O1E?# zk`TDMm>(1ft}bSr)dVcK`Y>Y!FkrYA#r&9rz}3a`s6cRaA%_HlD=?d~whS(*1%_)O z%p%WEO9)(DDLf(&TwTa9f#B++8RtlWW?Tzlmb&wTguvCM<~f1j>OxKn1Xmx;yD`cU zD>j>mcf1}pgL806fnnrPnP|5uv;SYxJDJQN-q1lk0E zMo}gJROl*RiG##^BRG%&s2F_nT4-_8mZi@XZjF=;FY(r?4}DR_@i>RMxYjey6LA~` z6MGVdV0rc>K7P$Tl|>)s;*Xhqn2Y~Q-eE5OkGY4r_`l^I=HmahPR*sFJzADUqyI1$ zfB1!Ncq=Qs|1cMSc#J^s?gKWtba;!Re;0$pM6^h-*I4RUOQsD zi-x%!g@pL~m-q%Dw>@L zj>SU`IkSZdkOmFP=?~nPf}#*8QbD*K_7R1tD14dY z=y+bWC8Xgdq%F)MZQ+zjvw(e`h@?7NgByAw%|hetktRWMNn6CEE%HdKQKaD}q+OXs z+Lco#jXU0Tg-FAAyN@&pl1tiEOxjf*X=89C$|cHoA#Pn3aqDd2p(4rnvMlWAm9sec z3I!aROxZhpTn0iE5?%PP)ol2W2N+l2W?O}9_?ZU;S1n40_;U{73;T5jVT-7pEk-1b z8qw}B)079c<@_QT%Bm5PtG@(xEEeHNc@cBGW7y#IhyEhdDI1pAuJx;gg@=Do}35nQlIc1IN$1RIbie4M8%NMhmESKg z-KPrDjZc2MRiHw2;~YdF!PTW3{^J3`RY6cF(PQIwl`$Ni*Hz{*V7IIMgp4@yc(`Ne zP25%HF?QWm{^XCJ&F(7mx16r>ClCe}#rF<8pVw7Z(Yc)hQQ2K(8L37|$dEOUlDS>w zY?8gMvgE5sSDDB3xvR|gKX;Y2zRc~^{kf~W$Je3VEgd#ob?w9A9f9EL>m2^MtL*2- z|Maf%e(5UX>U5QH_$~TIGE%53#Y^iv`z8|6ZO`pIeK4ooNP@kUMk8nL|iSQ8_bbV1ze~j04P3`pzIb z0)icklE3Lj=gKe(2wB8bpfew4Vq^jkS-8r=!$t_g^BgF@!Yc#cc$^nEr=)OP zggaIiwhB&{Vd6!`${+w?rWW&f&h!}9Az4m?FPJmq@pm>mloXo&p*7SUWs;~7I+hR2 zPoQv^CTFpRq%i1BDl_Sh=#=2330Otm$ebJ+QfOpO&G;3WJ1e4Gs`w}eb>bU2r$k`( zUXE#0XC{K3`ou+w%2^V!L?mv^7155HI7>nu>PRth8;9`%L!Hp5&ytW6>v*^U@DH-? z!u$qe@y-x9#XJ&~Gmu;-4r4qn0gnN2NkG^=x0{vT2%ICp4FSK)=6inMEAO83g%SOo zgO9z4xsJo2+aKY8es`P4`u6Ta6WM$iI(7=5GK+eJE>_URS?D68jymuT&@R!qidnX>zF;F5ZCto{hoCK89fYS&Lf5MP6 z%YUsAAHyqu<(oPczsuX<@7;>Rluj)#7r<2Zs}59Xu!2taTb!C%qG z6^{}8Jc?)SG=g9EsfcezkvSyo1&Dd9T}N;zj4L=BzV|*ZQ&Pku66`>NKaVJ!>_dWI z|A-Ae*jCGr7^HA0#t282GYS5Tkr+ve{YmiqF%GU`V#tWOa3{+Wdy(MJ-|{|Vlu3L? zFc?Eqe)ka!x=OJS4kY-kPEuhP68yGE^5Qs=V8}cPjfBLF1Vb#Bj+qiyTuJZ;tgS*Y z$F~7PA}T5DCck5eE>qLnEcg^cV|OWQJGY;B1pP#=OD^Cr1KhV`(v8%9B(N}BXa0l} z%K@Ae0Ps41Qv$%jn+{+kzzMm&Bv6h5aGgouL=*wkcu}4XW>u0SL6tk7#2(HEjpc(5 z=7SF8gZ3+s=Dd{gC_p;L`|=~~%?I7%MHtavbvJQ&eg32GdrE_jOU^~6k9v>KX(lK#decxLP~C48`u zz--HP@&vO1x-G)%WejyDk(?yN?mf_n525a`BEZylNEd*?)71`izX!z>vjfGI$=+EP|UwNP)xfzVbKM29?>^+0vzz5`#mV;C!MgEzC>8b1?C%_ zXy`#X0WeqS1i%!b1AP#W>@$LM|4>*Y%JD0~pobOcly*JAphp!5k|~iM)2}GK<48~6Ct|IvB3ku|T;9$^c2Kl^nFl@I{XO1Ti2JHdJ z@9l$O@IB>t1L0TpjuligWKj$VI;wezbq7VLU$yfM;Nl2-K*b-p2p`7ACi@`{qx^61 zu(j1SkJBz%@5E+P=YAQ^xn4e-ZH(jQ*=%oPXi=N3h%Grz4L|wk8m{ZppKJJ^YdBZ< zvslBUC(#wdxiB_G!#m-0yl;TW4o5@1Z9N%0l}AJH*U3-kMI-&00k{t5my4pa*7WX# zkJt{YZ5Ter+lD&(daWIq+m~2Z;B#%%+4PBk^8q zB|yf*cuFj>@N@uA*6aD{(Y)jF?8k9XLFm(ow{rAZ51 z*|koLjdc%Gl^RJGwn^=GQAM9AsjUYr_eYilFxvQ85F~~ zQ-DI3uXP>HLhG zpF<4m(re(AAJV6voA?>Ws%cmF@P59)bA9eg_Ss0#pNO2?INo`ObwQfNCp+R)L{}E; zLxj4=XCQj8h7y`Xp-S&00GH(4!P2y(84JkZWUTog+j_rEZLBIFMuop-}bP3=p6X%XHbr&hyjh zTL;?u)15f1b~8{>seOw&Cuf%{Y9ROJfj6MVh6~sieti^s^9AvY9E*B{i9Y zvli#owDicyhMp7>rT74Z2_rWm^7XKIT6%Ci^1{i)sFPL&8J?VYq_V_=>I)xOk=;1T zAr7Gi@3;(Cj&gZ1L9u1kyT-FB2kIn%bY@_nZ@@1Hp(Y%_1|RT9dT9GV->o<$CI0{c zHv$S>ADBxNrcm?L4sVNHQuJWOODVKuG6&XSDX^T)Sm0pAIL?1HV&nR>=i^~RR~9BB|O%Q>htSwlu1EJ;TAsds>BGbgE{4CBfv7-xpD zaEjKMVJvzXEPune;#^CuVXSyL)S6*j^RhJBhH-X{1HV#q8wVJPhOzj6P#XwxuKJ&5 zts6%5pRNhP!NX4D=QkU28b7ejHLd&wogZvjp+?z{*^>=!lntYx{pU|3H^S1h*4s0T zsClG#KbxnvIg@sf*a-=!7w8T{U9O{d-QOXw@{itrEPk?4=(I1c(md=9-S zVbQzs`(PqY-%TXw-x71_RHB03HMfEuo?8+A-rNi5w|M^J+Nd08a--pepy^#04H(eszhryt^U>lg96WB&B;m*<~Hf4AWL@G}c8pr0?8LHAd_ zf*z@?pwpGFEO{$Vr2gEZ3+ZiDGsBNmMWSD<0_}&ZW<{T=0`1RM&7m(lV^ubrtkW{N7Yw z5&l&D1@x`@3i^Kiyzue*F#W3jGWuQp<@DhOEBx_>NcfS4MbR%cR1y8}hHBc=I6Zv0 zF+xu_E{+~+tRebYV>SIpW3uE<_)B;nPKN$?Q!4yqQzZOU)1v4zO|_u2shU30JU#r= z<_P_^d2#d)&4{&oNj1HFNwVYvOHBI0k_vkFm38!mE9>cnD;wzZS52p*SJ%;9*VNM| zabEP>mNn3imnG;E9kD}74$Luj^OvN%j@a)%R}_G71QZGD;LmLS2ohgmG$)I zRh9I~RSW4Is~hNhtEbbk)lGDAbu;~OwMBcbwQwvnj;p#hM0c*Kr~PXx=qvdBY)wV@ zg*65}w01fDVQoEqcwGg3XfDbQHfAHf*BP8&=YX zH&)Q`8>Z7ITPx_Rt*@qUwXUS!;`xi4H`CW{oKC;KaWkF%n|gXr`bK(xdL{kubOk+& z-y3hPpi%t3fZzA=dmg`cv{leQ;P++xzK`F(<9GL#3i|n$N_u5;BVI@Yz2ezBvH_H~01JqzhbPbK}J zx03GZTS)KfucWd5h4l4XD(TcM3+dSb97sJlo$ecY4SoLg_4J+B|26&a^(*PlH&lf8 zyde^O*Be@h?t8I3jFT&5=Z~P_w?tUcp$NP=HqI(`dV)s5^yoyF2Kw_VL08zg9 z07rS^0Yv%s1HkhGTsfPLaa2>8f{IN%pPWUTss;YjVW#dQrl8R-5^ zbf$K5Q?gM7zS%od`-{A!rc|G)Ek|jayLQpd&dJ$)uD0(iZMwN+m;B*CZ3Y{=%nxvb zGjHmLY8M{zTszp;+nO2Z!~%f7%?!w4p$6kFc#`%jT-&F4s4tCCC!Q1UR41Q?)RET` znGMclaz*FP%n)$z1YV54!nWMFE?Fng6&Tyv($>CXaO1k2>g4VTkBFV%2-guF)XPdU z+1%FA@fVpbt$pn~GDFv5TD3bffcXhMyp}(?R8#0g*&6?pW;+JeS~jLs&T>(!BXynA zzJt!;u7%FM?IhyQ9JX!aPIYwk1uk#vd1c0Jax$xMb20_zg??oYp1N-2ADupzATtrG~YUai4=wjV{6jh2%;s1&u} z5{7Yg#wo(W!QG$&iQ$1SQX*_VZVyv{!cY&c8Dl3fBCiX8&#iEr~{xhC)^ zw}^>=J;pJ3r?MQM!wX7zK_~BL3i2|4wfY`z!>|-pUgl$^W>B6igq(p*;_9?pfK8n9 zs$lSveyL5@&TcU0*>lwSw+by*h^cdK6Co>LKgr{{yeyWJCHB)s;!q=m&2H25=E8VT zoyo%c`hxaRp;oPl1j+(;kaTsI(!utPl+;ZhR8igdawA=~+wn04B zTPAPDMMdU9GVz_Y3_sH}xc-d?#A~j2I(5RZA8Ux5g9Hvp-~kLII`R0sc+KR5bxH`N zvtw~~oaaFFdER7;xHNIk>9 zn2)KZ_-RD8e6|yX@++h zZ_qo5V!n17x&ab~3AYi78_XHzqGT3Q!FzYv^RW~WaxL!SX$I zthq6P$MUeWDe*{P8Jq+Md~LK9SYXByrM#W0^dGQiQMXsWR_)bveW)JSQ^HrP1Rku_ zIeYM>Ea!^N645}Z1rvlig#@6Zg`XeI{0%P1wR$xs~eNw!Lpw$;PlrS6E7d|q`mW9qBHg&V=VP3<(S9S)OVKF&+ z0PJz{!ZOdN;2zsq7Q8a-X9=GLfgCYzQB5CsJ0k(b zYsa)b6@aA#;baed>Iu&cun!TiT-E>34(w-#7u>Kq9s&9QTjZ5*ZQ0m_l&lhQG>bU! z#>;I)Nb5@|f7X{Ftx`cH3KM5?+6Gz|(ZD(poS6%=k~jZ{bTYC>oxSU_cq{a5%}ICw z^_Fwd-7})F)!!C^gJ4xzEE57P$38)xQCC@jP})pg$qu+tlu$ubHe*L3%x)D+*zG{P z6e^k@5eaUpyAq{xY=cz_F#{A8En%v^55VQl}3)seiC8%azz=jW(5H9Zf z>-qil-uvqma@-u`;EOIaNClKSGm#zHLuo3x2x*an!w)!+0z8C9ko7+AHwQJ!8M}~x7S4E0$5R;-nuLUSU!whZT`|NTSUg;8W-Bt~pW46P- zyz%Vf)9J=gQPo)|8X#K(c`GQ|%elMdZenYo9KMO5a!>=L!%(MiYIhEAQsKZeL-|fj zKzgBPxZS|HBLB&ZIUf}`8tcaXl}s;&3e)|414DxZ^%M;?)ikB>^onSC?{E*VQN&mV ze}YIdd~UQt)-{E9;1|blE`GqE z{@~m(dex1xX~i1qv#^h5V945(>FFEFsDa5v)?g-M`O#Wi`v$Cz%urir_h2>B*k?p5 z{V^;zJ679}b?e}g#fy0mse3zi3Sm2{{e%%+gdIEW*vf${TRj$a=AFqQ_`X-FJrVVOaM|77A9z%Phj2)`2i$bQg_&dVR8 ztG`aAxhd100lx-X5OU0nVrr3S4kP0~`$;p(Y@-oC!njBH#Xf3A6ZsfxHOAIVZ->G+ z5>WVFjf>3>0^&Z78zIeTs zj@AB9)jL$_ZICg$L0%s3Y+5lwNM!R(6Xsz$V#IPsr+iE9!*mtJu$Lla1Tp?v2w@(Z zqlC&*LjElzO%bZZz7L{{C(gQzUB;Y^9dyYi4A zxrt+~cKpgo!OOTf^D>ZKU6Wb3 zF$;s$!99e1IdpkLq1fXP=0px&(OM{GZjDIRs8QvWZ9{FjgUUH0)SVmKu`6f(Ujc3Q z8s+xvmB>5;)6m&Fm>C#av$1`BXARzY4@cIv4(!WdXhRwsJP=`Xx^;P)Vi#c7&nn>0 zSp;1mfr*#PhAQVzh5>2^!NSRftwALVExNoA-s}Qh$suDiu*rt!*%Z4bBKiNY_a$(4 z6;a@R zoKvSxovJ#uJO~0euzaVj{re(xF)O}kDre5DGkj;RgDB?sRJ3NA!aX|oN`d9s)oKHG z>fFmtxM5f7#c&@C>mKJS8!ksd>zx>`MU{yq&cA_JovU|P48d5<)mN+7ey`5&C3&Sv z6^^5$tzhh{t7r%4rna@28>&gP1DV$LuC{@J*1;`(9j%$3&fXTong`Go1vXS<7z*Jv z*pw|61i&L!2!lDG6>tq$(}-qZuV-q*YBjcLr!)xB3GZ)W4ydNT+$X$i7OjJwScD-B zhpHD%Y2e5BoO1xXK^eJ8P5DX9A*Zx)a=R|T!4yaRh`Pw(0VP73F;CBMXDOFZh@#{b zi{LJmUqa#h^@F3PQ^^(`0&Y@W*mF{3l4pTv4AGUCvHeAH7tS*(c+vY2V}+6Cfa~3 zSAWZ@fUe!!zG&$+%Ua^M;tV7ol3W@|c1O*jn8NYMxOxIdB!6Zk&0iQrDmfB~CU-`P z&3hvyO5GPR)xJn+;-QFt z8IGB1TWp%TBUYNYH)g1>$10NFjTwob$6|@?@tFF%_zd-J{Cgx`p(YW&FEK-XIDx~F z2p`73aeTjs@B_&i>W*ZE`ebsZx-U6PJ&O2G@b5XK{V_R5eWYlv+Kqo-Et;byis!25 z@$Wq)bJR~u=Boc|&QL1JJs(&q?p6Ybt`Iq z+e#_*2=2fAEB-xeotOODG@R?gzaLIB)IHN*sXjmbT=fn7dwBYJ$&b%4lK0`?12~-e z{+X{-x6eFR-GhIhpLt&Lk24K*->g@whi4_!Z)csaK0SMm+BbWynwWjQdjA<`sehT9 zP}}E23iB^W?wKDo|89PhQV-0pN`4!W|1%$ra1^<>o>h^&^Q@?O_gP5TcUFaZ9RH5s z-_OpvNWFl}m(HqA4xe44{`%}%b;sFtYS-EI$vtN`sC{QQsu#$kpij~+ORq^MX2;hx ztN4bCRlMspD&F^66(4+^ir;jJihnDzSVg`QxiIqG$im1!!VUHPNILRE_}QO~EQxe>bYax!nIqBIL7>*_19H5Evi~nWiQw;IM_$a{q>o_4MS@eVR>{>SJw^lXCVr1 z#JLr_vA({ly0gBvp{8zKM{`YETW5PmO=tDGwua`WwKa9kZH+a}wd>j&U#-4Hv@76| zz}?r@&W^UhAv~23yC8|j6S_0)0~eTUhq^W`?1r-4 z7#g2T!ygs^KpmVnasc7W@GW5{#RTn>7I{ za5I%dHXm%enSwZ_(T98FE%Kvru$49F^h!l*D;x?PZT+nxl8EBu&~s{lg{!B16C6&N z9$fT}-omiwhs>=T(Tsg<{T(fh8wa|3275Qj8b?n3ge_O=0ZnIQu5=1yPy&lV+#^r> z-Y{vA16N@y)`A#ntFFRb?9A#m++pwVBh!8kjgu}kImzWZNUMoO#7;if!?kmIy4nzFHFke?5!0U9q;I0l$t&+M++15O~Yi^k-FoY>#GSn z*H@Ewu20UT6+ULjtR!$`uM0=^3hGmMO*^HgOHW47b$E(tL! zKNC}(hl!>}Q*Zp*bobg!N6+9j?d@Gd19@#v=isJ}ta)|li#$PfI>|n`gx=^0Vjz#z zl$olox~zA7u>6vfD&M>eCkZ!P(|K8@qibCdQP_#faD5?jQhyyRJlw(^K_p=wpMpr5 zmtm~J>0TVu6%BmtN!6ux6+3)iKZMi4gIhF;lN9Ib4Q=asZ(M_Qvo0Uz4J%lI>W1ac zqeww9oFta(2D*ijAeNJC+SM3KI(i4%d;2o&K|~1*N_28IPBzNBT9tpuILsF1nxg7P zJXJG51AJ>wFAk~VRjd^&*H**TwF<5+3^#C<{pIM8OD#xe>K1*YXxY>YY>)z%o|IZP zuI}v|3~SDMKbpGh@akH1J^aD`k&nHFIU{w1gcCm8F2{KWGC#(zy7{+dSMFE~uoP}y2@oMD`?24*hIbxi}wvVi>;q=knE#`(rP zPHSs`^Z3I6F?*tsg0UB9{lJI-WYsl+6uG@noyS=HfoTTDVUZHmC~OQM z1mS}NV+xFOjEVO$at8szl0Pyq26|~HsAtv8i#r6Mtbah@LIGI=8cpq6Ldh2e(0biwkv zJf5owOWsIBJcNutT%pFWe|0sM?oRbv^s=O(1*<@sEb)4Q+<oA@fGSHjqX}byCZzrBrM+Ff{ilP@)rINsL`m!|9)d#$J~6$u!u-19 zAf=%sI8i&HzL2zVcA+*{Oi0noaGsoMSM;pIL4o!`?vreOJYDZprKHM%)opc732clH zuIk18DXe4p{#wxBG_1ku?#^{))?+J&$DzQ`+o1U&8`83+)7+8}d6IH)&nnigoa#@BsHpKeyF2+|!o#!&LOFZ(K5z>B4a*z7xxY1MBy2;Kt2* zt;|YXqgT!=J8r-k8W|A+gMB!XrVh6a)HG^=z|1zhOm%$^&9&0&+WNFYcS_mX6W6f1 z=Ee=Un7O14?(TMKcr~4<1`fv*pjy+8BOW~vdFCcE83l)ItXuJaS?mR7y7eq_DCw%@ zOV;$RWDoCg@Q9x0*vqh1!z`2?4+B?a)(!UdbPQY$@pO@hFb0IN$>YDUNu2Tp-8W1@ zb`1kvy?q_mbap}kukFP%-{I)ljQFK66+OVox50i`WArW7gQ=9cA+xq$no-JBO`#4| z1GM`fc2JWFIGMv6zoC5yce@LSGq1h@;~9>yx{6xrDte{2pU<#i#kIyuk^U1nvs3_2 zL)Q?Fu8|a0<76fonzd56W(vZnS>J}u7UIHJFlR~>rg7B`cp|B9NJeXZWn9LT`gR(= ztE;$-qzf}s=+*UW$p*Eog2rldsIABp>=xg4X1hgO*50t$Af3z;tY_c?SZk`%OIud2 z>{#E{z9kHpthI-=j)23!a)@7+>B8PY7+}ueo?d@b0E!H1BNA8k_HGIlLgR9J%RC1+ z2C+^xgREKLyg*G2j_CGvwQX624Ze;59X-gA^(7sY?gwk*zpQ6Ihx(&RTCYfU^P*7-y`r;?^^IDT_Ja=y1J$nZ*^lV zW{HM~yuO`gJ}nysUE6yrFA= zdf{MgYimt)zTB%rnw!Rf+&w{Vhpy9uo@X~Fb`dhk%xNTf0+%P#>pY$Gj^n9hV&{Yq z^Sw{9R@(Pu`wbdg4~5r<;6F8WD6|OVYWyY1$bKJ_={P;LVeP9a?C)h-n@%UK6ZwFd z;#*E5#au@*6F5z_fyEc}Co}rM%=XkxkDw3tHZz^KpH4aD`=go0n$tsr1{B{mCZm4q z=|L@G%JpkAh3ifa1sVgY#FZgipp2Z}#XSuJjIbZ#<^Bs0$#ag&9QO3;Yp9EyD{~6g zd!ul83MDgAl3eVkt(C%@L0q#lKxOq{b&dZty*G6){7@0k&H@h=u|tE-uK-;&?#*FJ z%6I56?}Q&->O@-~1!plKlNh*pums(LCBiCP8xb6Mi{F`sxpU(NcxiCB6BAsX%Dut^ zY2e#&9nC`n9j%>h?eNlI9#z#^lUb){@$`t3u%tn~+S881DRAo{;BEO0{jyz7-cOC~ zlzv#IvA+XL1~^E%yLk_uT?EH{21y;~86+nQliD?F9KQ6#ycaWOOlyxfug{-mx8RhU zAF2DJMW+iX{BF1!p(S{#^Kas^X!$j37IhBwv=`ESUrnGLYgXj;kDUCxUybnP`<_E< zr^_2yiIM67BFaBkezr0qQM?V6OqP^YlqI8yXf&F@pGYj8G@>(0`CX!qMM{31y>(cf zy}iOH#gia(t2j=VpXq-TRjGs>!Tn`BUYVpD(h=NOrW@py#gr1g)W*GIy0A>oAmEek zUFZMLE*VRerf=L>{)Xb>L<0ZM{jWFy*7SdI=YzvoAQloa5)nMO1j2S{`hB--ERW(E z4z7XYHaorkfJax7s0i-kqYmj?=%zESSmU;OG2M!e;yX6DF=Z~HJLMJhK$A(YMwCk3 zi&ACjTj&OP)GlMVGP?}V3!pge^W)BS+DJ$2lJxJ@Wq657*`;=Z0uaF6YkJoP#1kw> zz8{WfR4xY(QsxgRQ&}1%AxDWOm?(klg&e+cBc86M;|q8%E5lWBunr7Y;3WwY_sCIQ zdQ5_oxh=|){Ea%&#qSb&RDoVU07EAvf?MKL253r)!iaEAf+WZ9DU?wq%lLwQnWzRb zke0rgUPB>jsFY!wq7}HO3<)9y>=FhS5Im+xwq|7s-U9&uJ*%Tz&8$q6mYBG>k5-G8 zmQpT+4G{@FDgsr6cnI6Oxw#Bn`^SyM^gA||uQAGe{{V%X(e;qvsKjLoSEd9|WEeeFhyr%R{@Riqz;e!f!if8_=L z)A>R#>d_-=n^F~NBb=laM$$S3l6a57sUleB7ZmaOKgeKBQC7eKag97Nt1~iqB%o=I1=3_@*wJpqG}=&85R6Y;*-Y$C0L|6&%%t$t(gK z%m$g4gcP$AuGuK1=bnJ>7Ie)bioi(lgCa#K^lS8V#~z^P<0**r%~v9cz*8k;Kcc!f zmjGHD4Rm?@a`Tl?urLdPx@l{~W`nGU!qXw3%$*f_t2-*pH}_n}RM$kKcmvGH`_G@` z{{}GZaB2Eq(BC5nVd3zaNCX`}{T?t#z2H*@y&h#V-Pycf}HMTp%!RPP_}Z4c;X-_WX!iTJocF7rzaB80SZUi z-td)7;{paAIH@$!(=fA%n4Vz3(e=-jJo>_#pD$k9&n!i+c>P7^e(64Dux#1z11l=~ z$M5G@>9XlF7k}r-1G_nPe3okYzv!h@v2d2M{Ja)e!W}4#aKci0)JaX!OD|xZR2wZ0 zbu{swl5tB~(W88}LW@&tD5@VK-1spa!S9ekLpUP3ffi&P(fQBssvw_3PD0yq z0~6~?THetBNn*7?5{Ht+I)fw*C5aUZNgPU&s2kGcLlQ+DktiRW2rXk(6Bb2x0U;kq zOdFMWyeMK`PY)LwFe@aJ=%wgb?yGi4CY#BxdSN7vVS*fi1x6fmxL0FD(FTx6h zS%enCZvk!^!fzv-j_?TZ&OkVUa3;c|2xlRD7U67!lPGrv!ea>MAl!!Zxd=xQr&qYf z5Y9t5j&MH034~`Md>(LTBb-Ed4#F1^+6Z?btVEbam_oQ0;kgL+BRmh`L4>bBIF9g@ z2)_wFUxjcC;R1w6el=yIcb<>%D8dU69)cJyM7Rs#LWCm#UxX0RixAw3XcfYjP`nx; zqBRH(Ago0=im(nLc&|tBbwnEw?vHP*Y(%&RVH3ig2%8a(V6t#A!j}+#4Z;b8uSIwW z;p-3{L;fX{j&L!;g9u^!(t8l55pDzA5`=drH&!l1m_@h@;X#Bg2p>Xt8NzXd%Ml(y zcsar+5UxNtf$$21M-g6$a2LXr2wy~a6~bc(uSPhGm#nTqxE0~G2)7}8J;Ln>S0UVq za5ci+2-hIogYXTMj`G(b97X(%2=^g;6TD{2=^lFz?)d((>LNZzRFJ6uJzPUBd}k3 zHAc?_rfDXKz8lA|k1QmW(o0-Ah2Ju)+yFF_<@CO9DnltnDO&E>n2|L^j+G;Glr!zj zt0VkYT+H6k5P6X@FkzcSh=+y|HbzIwy}nxLOVHU7ZIk!2O}1bIh7~VwWKP1pocX6& zI&(V>(-zXjIBL2{D$5t(-7G^ z4QxX4wEF9IYYlPirVP|Ni;!xaoz@tgz=LrREf;X>m4#OTuYT!zag!Ju@j_NqUSXDr zQ7k>;G9VHM?Oj9yT98M3ho(KEX^(*RIA{yFOZf{0C>J|VyRm6b59d?fP6VK*d6c(m z%EOxSFer}+Wq`Yszg&QFi999k)Opf!gznb)m<7t{L3xy4qzuwBgsf#2v`i=i+@<`L z0+da8tJ$GEkx%(~B9INCd{k4O(3B@YIV+R_?o$4T0A)0WPk%E!N;&$ALDkjY9vgY3 zsb11wBS(L^l-p}#q`wT@r}Y;DE#k4tZZJMRi$%GaQi@Vg9_qDy4Ur?WkO|96^4#p| zZ+AoFFl9iV;|NKfjld9p9Yaik%uUdUvL7FiWtcypcrEU)tOKEKsyOY|S=B~Lh)rT^U zgxHvZ77=jLY(YOh-R`tEr}1hTx^=2gzqj5=oH4Y#zurj7U#6@Vjt$6Aj7Ww_eab>^VhaN+JVyVrWpahffTPCk5 zn++4ad1K`OTlBtk33&t1qb^oYO_!#q+)U=PFI~}3GulCU9N6|?q z;m8(nSD7Bn?WCAvk_w)vmtM=50PJG=xHJp6rU?KhHW1Chh{Hdt_L$(#Rc{$|k?G?4 zWG*fv4_8%Am8ExAF}$dKzIo5)25 zmCZpm9FA;QkRjJa_Oo1Mu{>mx;r+Xh<&R7k*K@hJ;(53x!f{>CxRB}M`c*EjL=ab4 zzkJWODGVX_X_fzZL&!*ezuZOLZ#<-5?$G^mMEA=P^viMSmjHJg;PF7eMEm&1j)F7i zAsPcqQ#XXooN09Q*1J4&X5h`<%o*`m&-O@dpN;fM=}2NF zXs!WLTPXvih7l5};n^624Qv(mNdcG4PSHmnnMr9UKbd3H91|gAUexV0soQCi>?gM0 zm<$TIWbVl$Gm%f`dBQdxLguI@Goi^$kUAK41(QJmm&_M}WSr@dH;3y>@AG%S&Gw)@ zuqkz;Gj}@!9dBS`Wk0vajn3Td#*5V#XMnZcGd5QC(cJAuJ$JiF&)pzY`zCkpwimE8 zXWLETjSZ1Ka2L=F?M9xv_1QP(%-t~aBh;rlcl)CL;UUc3cFzdR-TE*EfZ$UR`$_E5cAZy-3PBL77FC{rWA;(PktQ-PrU;% zc3)OPPlpJ2$i4xaZV;8p0Z}VM4$if*f;<;lR*)gr zMfROsWSDE^AcGT}IL$>iBFK>IB6~C!8RlAkWMMOh!&2rHXY?PW0RbaOaPjFFFj{&*K!^?hi-=(AHXNJdQ?udbajZ3o z5|f)k);jAKe4p*gyn;J&sIb{uJHigP)+}sTYrn9`S`TitMc#23Zoj`nthFcaleX5O zD(713$(cOSf=kr(NFJL>wk5<`zepM6T}H^><(cpbtG5=PJ+yQc>!kLOc9LIg%aC?D38$2H|~P#zJ= z0Cy>WqyXg^&a8o^QWyjCDL+C4hC?VH)Rf0GWfG zSW_Mb2yU&kIr>%cuMZ5f~1kd{9#!)0D?Rc~~d|+@*Z90Ok2X%A@&|4-f&IsmRmq zeVX#9raTJDlQ^9s;4bC=C_wqFAmuS}1^7pdM`*E+(;0b`4{9&KnDzpU!3!`UlmYHi z_OJi_cKhsLe;&=Je1Hhxd`KSUeVX#9raTJD<3btWF6BQJsPj2N%GrF%dx-!}sN_-J zttn?U-raZ1GkAw20EW7~jQr=sD@+*Rr$MPvZLIfs4C?C|6$28?JP@WLV0Cy=rP=N9) zgOo?}DIXvL;~|vyY09IT@+c^e3uS=2l)qMh@~eC^z_3-;At{HyyxW+d)Q+}QZWJ4$))s!bRy^W917Z7nTq@*bT(`Hs z$0y@@z_|8t_sPjP>?)9t8&eJ5-y4eJG+|d)X4r6}`4e8edldLIF?_Wg#(D# zaoNn{P6m73e(xSeM?tL}%9-FepYg`|3^h&uIRE=uu0wfpR=}a0@sIOdC#_U8&UgFA zdF+TG&f|PW*OB5jMci>dleZ(5aaJlmA8Rj-{`gr~XY?ll)gfhTg z%70&ga-IBIvQy`ge9F6sz<3Dd9h&lpraS`5<3btWF6Bc7DA)T|71W;jl(!Rsu@K5z zHRWMVc^H((gfhTg%0DhZxxu>ImG-&#!m1@;=YA>WWIfYo7$JCy4SPqYHoI+{)aD-64ddarbKSh>?9H#c zgLbalvvb{Ki}LMU==_>bZ3cFYx~Wb+JJ;j4b6C$H9@zP(c>d16f7fUeS+q@d*JWih zAQW7NfG9EY#4Ec)E!u}=^Fsu0K!$p3F$xQtEt(_jO+JgZ$+c*K^^6v_w4#+kW+yKpT=TeOgSEuin-3)mv}TKGijVcl6RwLroP)UAhM!q ztiI9nPMHDW3JcGGMvB>LdDD^tC!9uP*@}r^vDb&cA%h(EQl5Hs<=1XGZd<$6+ALhY zizjt>>cUx^OLdmxhBwusr7R}O&YFc3T&1M**~X^SCP(WOdOA+UNKfB{o}L<_a|ZUN zi`8>9r@_IbN`w0PCf(N)TK%9scEVM^XK7A@r7NFF+Jq*>oW?+3-^6|0us4bB(GA9l zS*e=@u^n3oA}M1G_s3Ix^D28G{pfpk5?8Lm(AeBBkD|It4 z_svW7<5D&X(A_JAyBocghP|XRVc&>aLm~;h{9zmTvmAH6`A#FcC3!Ux=yA9hjmt}T z2m{xnQS=77=)MG+VE5WLSRW@_i4?j8Fj!^~gj@)KD6Ef@7AmNTu(~UbM@Ycxy_(f- zV$~p4HFtE4m^f>$B+E_nY6IwEW)6pxT8K;Bhv)1>3u@9VTqYbY`C90pMr*iy?bUqU z?-yYXU+IXJT9Zf(7x+&sH3+v9mrc1WGt^XwAz+8vID$H$8T$6|7>a6!8c%^CD$5Kt z7GekxU`P*zhBM`d)~0X!Ae$Dp$SK1cXbkEu{(*)oWG}J1#p;L_<2n+W*0@l~U3+}v zVv&vR@oK1gBb3UZ=?wQId;lQ~2Pu?c-(=rxeS);@OzL0;w6EXV#c^u!gzfrG=)$v1 zrBm>sT~TI))#7>oOc~k+M%=Fa6m{kC+^(GQb>)oPm7maEd7MIY<-_4!*2x>hs zHiEN~n7$DDiAQKJaSI9`e<`irq8F;pduPMY( z&`9q{$Y}P7<1yqI>5ET+A=gM>T!^95W~5&SBR!{!EC5^Hm&-_RC-eQkMw+BR=KJ_Y zTA!`=8)-gUKPfv80V5rDwtiA}9suqd=|}$8Nc)WR-h|Ag@Ar4;DH-YXpJAlar(&cJ zY1{LdX0_l<`qI;6q%SRGf`Uf+sOIZAzX%H%>BXmD6I~;{xDZ1@BR!lHBYj))IHQJR zq%S!IhFl|kNg;+#n~_e#NY8)yjr529*GNxsChbh}oz)V($o05?osqHMNmqsp$DI&` zI{{aQHi^fBS^^tO-5_c9>9{Bkl%? zk#i7Y3$0$Z*nf3d*-T!Ed;^=V)aB)GB@iN_s@8_X20hQ&0 zz;A;M5%Jsb)u6a`-QeJ{?{Ym}h6+ggq&GssmUDI&)@^u>hNo(dk0mcgzDn(XL0&M1 zse~^t7z;uMV{~fX!+E?I-AVHxgRvma2Y>Kj3gR)0 zEod+~$DH@z4t6B7kWrv_3|wc(b-^taeN;biaE8uH zPn!9(!;b1tvYUaxUCLi7KzV79vOcQsr_4w7CqgKP9o3%@$^dsMj|C{B(XcD4Ywp|T zhvO4I66~4cwUQJzPGyI`mzq+Mf1Ap2DN+I1<0mgDzDiSF%^uCCe1HfHhfv<9DUWK(^uEckPzJb5`G*B4UlydC&8NJV z2uzCKE})CMHRY_PoCW1c@!J91rTi}iC@&9E9?7S?iwI1FP~M>_k7&wtA%8+B1Kg$j zn*e1fs@O2@$z264^N@|a0vGbRRM0XruBc&*%FQwuVpB&hcTAlDh{;0EE zHR`L^;SY!R?G-_ZY9DMD-TEfG0@`wdM`(AsTYv?8uvw94)<^lt0+cUz4w_&drRS_& z-kh~7eN@Uho833koORHdK~0l6t6Xy*bS6@R7pw2lnRQ%dsO+LS>!6-UIk!Z+P$ln{ z=pj1S4$H~+7;wY)AU3+1=+Z5Lnolt@?#co87q3F7l4&$UBa<;HEs) z<2#}9cCSbd=i3gx&^{hwJHjrskBg=Q+_fFQ57-WEIZ(wbe40*nQKnxQz}-=dFK3R0 zP<~NgBlBO*923d_cPVc#(8sRyUGfR*V|NAn7$1=LuEc_M9FUhj=D!*1J_E*m%()rs zJOf63Eaw?8^f5kA!u#ve$K+aUSI)Iq>0>k*#~u1%WuJ5(D}10N(8qEQ&h_W43lR_W zF^V6*kI|G)?`+|ayzFf8A$hur9DYo0pI`VH?<#T`Pt8IF&i%|0c$crAb-Dd4aHvEJ zocb9K$rrkcOlxsZ<|nZ_&4N}$@ zRQ+{6M)wm(LMVq_P#qD<0Cy>WtN`WL2Px|ds(#9RL3KEUa@YmcVWA9gm+}`1P+sM% z2WV=6E+dyU{gnBF>ZHuL1IIAKE~rk*j2qxC#-|v81ko5&Y7kJ4@1(S zZybh{L*J+OFeJupo*(8PhNSt5XGc%tVaRU({4m$2S!jNUp_>nU^8An@?)c>NA)uiu#V z`i;TsH!NO1fV-Oh*q`I|<7d9%I6lrZ-^cg*K{LsDg04$zOW&0>S}{$Qg?Qd5gFGm- zOd<~ouK!NT?<1!p&aHb8xzU^cPT$s zfbyGzl(nzSPnmsXqal>Td}X6T8Q?DECks%1OOUemf%z%34=fu(Im`!^70Lj2DIYCB z`K>|9+6U&R%s#M@5Xxabuo0mQaF_D20+intq^x~le#-0v8xEly<^vlR$^dsMe-O7H z!)9J@4^q}XFh6DXflY?^@xy#zlknq{0q}Y8vjr%>Bga>i->Y~9JrP2AtM0q)lM{sNR+gOv3O+Fxg0L63(}4qHKw3uS=2l)qVk^7X-)m$!A|S`ywh84IBt zwresblmYHi{-*+z+k)*po@qt*=G3Fn*)Bq`(~SH+ML;@E9@!EHd)y4M*4+4g{wE7yidYQ zLiY7S6)JDKdgFS(-Sh2qV&jK0R}_6q;3@SDz6&6MmZnV5}g{*-EOPp16Ze^%to@lzDpszfGrqCv60yYsW230!Ix&1o(-lkM-#y`X6T7v8uNo^upNBF&mp5R+QbYs zZL~hC`LVT}_Zps@k;dhB2g~n5d7I1I8?8OMJTtT>;u4Zp!z;NCWkI#mOCVN8pgeTx zE^2*_@vzPr)_qQdel5=Wyc0V=@)F%p!td|l*AuP1PVzz(vA*C$=#^jV@0{2|bs&;9 zHd|kG66goztWhVnP(`gTaRk4NW^5G2H-9tTh`Aj?xgCP-lY6s?)Ezp+@^LOQNr%9X zm|aSq4hG;$Q+z&m)SFxdI3qDQ%xt5xpAm0~eVj)rZ+r1C@>whfn2)7zQv92LWlj`}L2NBqBZWuTr| ziMpNU^KPB=)tz)UyiP^ZYp8E5h-9fw7-{nxXrBzfu+h|QFhKitt(3aWjL>dFzflX^ zA>HOHPPdtn*KLY&y3NCRmBGv{tbqcR!6eV18DoBB^jt(&=FrPqnWytAgXz)mOL*b##OEHGj0r zI^d7?SzqTUPxw*Ry*Mq<#=IzglG*wuMM>Hbk_;N;{K$60`W6G>d&EF>igAS= zrXf|5=BZyXnTZlzlj0=+rT@kjH{xuLKN3Ov{bH9M2kU-LKG z$?cLj6QB61;4>3WF%q7O)`v`Eq7rkYj)IV}6~XBcWMOzQ{}{WkRLsu?mnuamVv@vGYK6!eu+0A<{n0+?|J8m)wjzkQzbx%eIPq>l6b*zq9U z4&2=<-U0N0OaeO+VmnerccPb=4i5e4;9z2$hrSZyvee-dJ5r^0q|n!#V)~Pdk%(sc zNtf6~cchB!A_rK1Iy9gTJ~CW$saoM8K6tzX!)ztMR`HHh@=g+xLrH%!rBYk@ikWt4 zLCB&2BoN<`O4>;Wr~YJ|XjdOjYAnGCu^CRa~7SZ8}i`BR2x0=YaGsYjo!^g0-eE{E(@T&c1e`5#2ojvb; z@Q#l*MMfz(sgsj#@_tHA=;VZ(ybm=1Zal7UJxm>qI!BaPieeZ_!_X|mZ*|j%WF2y{ zJ)22>tDsB~#A&u%^+?8y0#9(z@?4-igLBH6$lWPMLlN3A_|7fn%5KEp3cF1Eo zG9kam8>ip)NR=$%Uqz2ouoIopPJFEyKdE8I9XtKfVz|8!Pw&Jt+AJ-M5`2&bNqFlS zNtlPaNpyDIfkn3UDK_NPg1p4@YC;L9Np2;E=~t3Q@#b1`J3auETMJ=6pY831_{Nw< zC?QveNul6I>1|Y^MQ|>^fG02&8NgC$6+(Aa#$srrLAgU_i%#l&yYotChEPRcIj0>U` zGzmdbWse1c+7AR zGb#{rPz#|P)EXI;hID*{7`26=z$qT&Opu`yFnuZx)8sM7rEMNaz`I*h=i@=QhLekF zK)DCqAbAh`PSJbZnrE}wzr8nAbPpL#Cl%1~Po)4J&(e_MqHE_7#)&RoH&3Jj3At&` z$AcgRq_D{MfG)5^DT=#C_oRwGMZ=8?2&BHKgVf1h?0h_k;U~(tX!rq|(ku->ZZ^>P zqKt+lT@}U}hNCPENB+XTsKW!~>_GU~U=fOJd}SU4eP7f;5mFvASgr;{L)D0ViX`vA z5gK2V(b%?fvVCk|_&Q-pE3_n}mrcRWJ4lJ9FUmBbWlpw_CMgbS5!3?K&jFzFzNl2) z{8Pf1`7ZSLXVpgCUDMDL`b2kyWa*0**KnlJCk=H_Vfw^ahi0QM%t9}SUSC;E!KIa0 zSWqIC1{Xx_N-PVgiB2DzyUiqA<|jw&maWm}M%2CPklH8uSnPO?%nkOY?$ zrOlMIIjLDl!@`5oX5W)-#&SW~6?VBF-85)&)}Dc8%-XXc4nRTBfGP_@#ThEbP*H+{ zPyuBIp-LI5grSNFimXr5M%yB`?No&ydb%AE$)%o?260&8_* z)`=X9-HEve;1sxrvXV@N{Y&%N7aefikxb+{CDfDT9#`ESt0lzbJvf)6x3`C!hja zWZ9%e(`?eB>9Dwfy59UmQ6zSYar3#DYz(XPSY%TwBC||PukJ-64WSX?001Tk06r>O5o2Tw0?@|UI5yRVh+qv5O-m{S;{*UL^O-zVFo>3#I` z8)-mUhousd5{`V+1vYfE?uTlKPPkgR@a$U9bbp z#SS-V4)zg^eU}gW4#J*wu+u8;*b>k_~Mk4(sn>d}FJXHjAYJ_lQf5_#hR? zq9WIG`+-?uO^8Yv>j!QtqOS`E@%y<-bQl<}1@xGc|7=iH6Ue_5`Bl0&Typ+)dLG$T z%m4@o8V0t0D7tVyn%w%4^F11|o^ZbRMXY~zxwAEPNXd`=C1AIKkAK?$>g(;)bM0xT z9)?`%g{i;4sBFZNX4}LU=KT@tNv0jOo)R8toArqE8MXdJK7q~pF@GA?zfxF<6EoHX zeVrL`mTTnk!?n%WH17Uz%t3$=J-N1(dB33|m-_!loj+clR7NBkizo1wWK0fySpS#s zR(SEBo}bOh4|EIxIF-G`-bt&BhfCg%L$hgYELGV{42A3`S?OA#=H z9zm;2>tkdnY5hyKkygJk&WEfhLe4T`<$5A`Jri{5Watk`)b-=pki&FZ>IypY!H^IZ zAx>&4?5>OG2v$7UJ=Y{*NkDT~MAtIQ(X11NiD7IH@o;SGBoEX=fg zNFofmB+7@TLVFD7M-J$MFsK3}A5stoUJ~U)7d*rT59xxBI56@d1;?F4`OpQig?4_V zPav?BCaC2@5@GTsQ9dM5%sV729~u`-7LW~VCbl~CbiZl|DpNI@7@!6qM)xYtRP4~-3j7Vx)sWwn~-L*me;Z`H+IJ+>$6C zoQS;+>T`zfa~Q>`$u*W8P67E4EU@u{MLv+2HpKM&vth(XNBTEnr z_ccZ?M^TL-h8+kLJokMBQAwWve-qer5x$eV`DJIL44sq?v zZ$&9{)G(sAkWmIhDcT*vH%{$fqnY=fz~?r@*?jWVR_WRX>Q*WOU?!O{S}kI8gN#0K zUZhd#b0&BS4C4X@&VQ$mGaXsdrp$Ac0x{#j)$=;j;X#=dFxy}jexv)yz?%;lhU<^D zyoqvz-b{$u98_RbAPFM|>@N^XuoSsaRR~Med@cdTuG=Q9te+FKP2@gL-HnFn^KfH^$++24%^twG2XLRhV!0%H;D z*MtL}h`0^UhwPqeR{UI!O5t){m^1;tXei_%aC;Za4rvP_@G|4?u2=|)2ZQvZfjJir z?eJ;M@|dD|7q%*;k(GjC#12okRa>b zg&=<}kXnBMxu+219|W?*rM}k>8BITq9~Xmy7;X(db!Q;K&)+Ykw$n7Mzc=m^GOq4= zssrX87L|!oU+_fzbt&SgbfEbT2GIqY@6p`6Q*S=0D-5PneSd9l#d~6q%uJ~*`!T=8 z711_^9xQ}+w4jaIDdn~8;_}}5oZ+_dL?OuU3ZzzjG|kaM zkWUJvXYQXZ1o^Z;Y7K)ShAoxftcAlh>aC375svamryPdMlf1<;M@*b{;dP$B5Dg3cM%s2Uj1Fxvt@ zPXy47>)0VdN5ft|cV85A{+8YEpnEoeZbHZQ3pzlBpvyCa&lgguhXY~(^OJ=j4+m-t z$QKJiJ}r>Wh(NO0<5Xr>KoNFmMZn@(Lxm{93;D9y>7d&aK$q3%b_zN`g`j&WpSx`i zx_tq3do{Xkf(}q2=-w+f(qGw^#C3?HgaLH>9jzB%ETBTrZ5MR@K8bao=+z?ubO$xM zX9XRgLeSkE$ng-B~YjjWOl@of1h7Lh{ub_1dF8nR&Z~6@`9V5YBX~1AR z17He2;o}Z#&X<2Q*ex?r&mLl}@VmVJ`~`tJ)3wBKO-IL5KSCZ|MPPQOQJAQxM*4M%?H1fo00^I68|HlFb_ z9JyMyVdI7`m>~MO5vm|%=4a7m{Dx-Xk zOP>X1YTCKrh~?gVvFx0ZSay_x}vB+@CL&JyR0P9umvmJhANipCOiS=Zj_k zl*F>1#Bv}{EC>Jp7K_*%w{!pd$Jp}d{^?ny4@$pvED}m#r2`XK$xb0MPLI2Cr5v7* zAA($ccXMzTi+6b^*?q$p$T%G$xjqt*D_Jxg%fT^jP9|R=HjvVXMf=RM3D4k?;RmA2BC~@@5F;}r1bA{7ASZ&BOE}mm?u}h?L z^|URP<9uRs_WNk?1`W*FWHiT|J(n-Yi75$kf+Th{T#zpY1o`}b2SM%+7vz2sBy#^; zLEf5hhD%o?Uz(C2Um`&s3m4?}gfrHXMs7{~H_*sE;ey;Ff<*40E67je3vwhem99OK zfQ)vq#GHAD+qHKG1i95 z$O4Xx>>g@~z2Pl!z>z&0*?mq-jO<}HvQM3~ksT)^OT=MhQQB{0f$~H~cAIVq=Twlb zr?t`&$ko1=P$T_vPdK7uLEXX+_1bGt=R>=Hw<@j8_94DqE#|e_-(QrAw=tz#`_`DPQuaqMW!Gy_i1IrPaf36&F zOFCnf+p&*LNsh-zj>Ad+(#|!pBT21+EXQq5?7vcuPlU_yO)N)bo~j%J7B-d+pT@@0 z!JQwP-X4UBQhGO=juax^5E&!mW$DunIM%Qa@g=vzk2L&V{JW(wvLC0()3{|4OMjYe zHm0DEu2PMPW~wpgi?-k^fC|ALLW%Hx3gPL--+lad4}AK6M;;SumJ5-eR#)R>7G{Qf z9HWKpc0MeCGE-nmZ^J%t`WfRB5q~yg552sMMK4wlLgrd3KM>;4iMOd1{$7XoQTW%tGhSnG+eN0-c6lO_R(&w)9<# zH@MUmL=KV!sDnT+AB(~(1h-C%*GY#+|9R1+*GiS_LLxA?q6d8yg_E03Y-`6Ht({W% zjXFAdz#gxJbggPU+XQK;(=WDi+8gW;ox2Xkj~ibpYiCWWVK_b06`?oQH6S5qwiyC88o zRkWLpIbADB?@f{y4_8ZYm(<7cAz8^g4)|#L`+)?iLi&l5;o^vt_gun9n6UO^ySohD zPIENJ3`2}R7aV$T5ghE2k?Z|=F5}+`q?Q>Vv%>3bd5|9xXQ|^{ru{6rbcqXGCS4`Q znq5X6=k|TXE@@=tLm0iBcfbJQPVODgW;Fd-LGA1g(ss*1zsPVo6{QRBkAFG8{6i;G z{_9fyEUh?1fBa<1KPBZoXa9u1$^4rglLDz5mv?FLlo&5Co|kz8ABxA6O~;y8Y&f9y zTk3OxGamZL0dD(hFR!1__PYSSG3^{D!ER;}PiN*e>OHw&#|m-2Um(3Y4i^(;oG_jJohKYB9d zeh}#P@0^4p-`-Jwc^qQ44O_oeqnj(NZ@9gL))u&rFUMQWFB#q&fjFZZlVscn z!5K~xBp-*3VXrVsvmFfZD6Me#b_W?o+PJ4juM+t2J8P1&KJb>k>una0u zOt7$I`Vg}g!z_lbn1EsS*xMKiFuQYhQ!$Ce%h@iSJJ&|dKwp_ zzg;wDeTnjbJBJ&hYo+7;a;O+5(JkZIGo0H;LrvHho^eyRTiOjVv$Rum!jVM97U0x#A6S5riS*Ip$vBP za{R7n{6fV~;Gp%R{6ipkO@ka|CE)T776l~$2Oa#4S~#2_mwRv#n;s$%L|2y?IBrW* z!Q#t+6OW{9!iEDW%VlN!axl~wGQgaO{BmYW+;Xy2i!E&0sl8Jql3)F#ulo4*s!#P~ z0SLAdRGF$z_)6ws5(a{p=o2~I$0rHRqngLADZ{%7=0$XP{r#-e#<{m~2-9NyHE{tg z8|4t2)z$~;3pjA?>0JI%GF$^dOIX_}9q%xplw1Wc{}>5$w#0dWpyf6F&xTf@J>*wH zvDo0&VU4s6ydEVTjT*R^TX#XEYTEm#G~N+fUdFFdLHh_axe1*KEqTQ}oYUv->Hdy4 zj{AdWc|F$4^oW{}rolJtZSt-ACR!{&$o4iftqtbj7-l>F%2#ozwVJ(qm^?z{1C?qdAA z9`S}UpLI+?zX{>{!CjJqTfNZE32jCT*TwE^*$BW7%nzrKR6bpyoDKcGZ=Z&z>s^8U7UQsQBh z7#L{lMeZXJ^NfM^{*I2G)qQR49jiJzyE@tjGrc_n$b33tCf0WK_IBg@-+-{QmumY0 zq3-R(*DoSw@eP^vJspFC9fGzT`ct?RvU&6Ykw^@XTevVN$of8CO{o^^=-ebk(G!$9|HhPkHC zVenAYoZZ(uFnDc$Z+pi8$)lyGZEaTv75Q=0oH>9N>*yV5@9oR9d!>FEHRn6xr)IMU zPyv+n8tTI_^XyOvUpwuMnMEBgwSBO~Ead?bBgj99?9FbqAC8%&gS|Z+SGD!^iEti| znbX&I^gveaYjg&y&oeQzylwqWfwW)6%xPUi-I<=Yp7xH_?U1F&H*S`#Z|fc!^ss&; zZWedk1d$B&6B8egn^q5rIlZo}Z?KKThSdAwV5XzHucNO+m?Vf5Ni&@cP7llKvyqo#@z|<*V&0CL%}RE z`g*0`eFooAy;v<;zyAzIJ8$ z&8@4_S1)e?#CwW73+1RHluqdHEHX>b)UYR8R*+iUQ)HSte$5ay%NL5wqu-P9kBZD!91qYZ>0?D^9Cm3Faa!!POnUvB!ck|7%}NJ# zE|3rHH;c{q)z@520{Bj`nY{K5S1-MsB>E^K%dc6vtmSG%4i}pZw+t7i-T$PnmQ%z;IqaIa~W ziy;*AOuhX}rdgrWhI+V;NE`#87!1!A|D$P6AL#8I%(d(jl&*`e=o#$j8IbYgm!>(* zNx!_Ut9Nzguc%kwS_)&Y!72H&wyrK%3FLgN)ST_)qsr>ImU@Bw;*C%o?T(|lv zkJ9@q%<~*=4uSJgyRX8mXm9Jr5SWG$(!=0aE6h?!T;12f1K>jyW{IS%SbYr`d8`7% zJQve_{7Dx;`uNcbbB+MCZ0WeBoz!hv25liD+cB3aa@X{Bu=)I;WzM3BV$ZtOEbrBW zm^7{DdS@+jhGbpa)z;JDO>XYDprM<#tnIzYOZ%o}T5H?dH%S3UZ~w_Mrwc=u^}<@L zbWlHSnKRw=p#dM0zp>2OZ9{{-D|(o3n0=4Nho+g+D32x~K6XAi&C>#z2N2H|-71hjU_o0l4(UbhB(NCfMz*1A}@t`@(cH`py#Qz~pqZI7Kx` zU2G%zTclq|>Bmqer|+wq#d4NR_HWRPf2{*1B8l7+An69^EF_enhL~+X1d%sswx@T zndaP7n7T^#S7(}M=xo2rO6K@Xb9ySEwvzsnndZz?j_OLzuVM^Wc-c_ zh~3d6oTP7`jauZ5a*}rs=jD!clDB_0cytCLXS9>7M`xq*{wzJ>N$xYVQF$jfFzQME zpZrAKkx%kIdInX(Kl(}fXU{OFrTinHB=0{1+UXkwCH2r5W=RUR95L=Q-={cRcga6; z2DI0;@RIiLXPB{@xhMVn46_tHiN`<5``sB3xk%O-10~}_b5PUJaZvI zG9}1(C<$MmW1gKVI3^0rQ*)>xaz;bRnw*20xFe#Z{c#Suz0A#!zykQ-TqMa1%}Ltn zCe=AfpPmb0`U;9T9-vfTSxJ4!O_k!3`h&Sv)-=&fg(MJYHKB=$jy!O0-8JI@3LUOs6@gCy@h z6Bx+ZAkiiH`q^~tlKSLCyh=+kGRTZ`X95`Io39N&c`{r)V-K>IHw z<+ihtBJHeg`<-W_nB&I~pzPU@r{~L%#4nx=dg9NJgnyudj!#399;PJ6uOUf?376;F zki@6YhRU;lL*g$GZt-zQ!b=3eeh!Jh_Z-C8*CFxk=Lpm6?~tUs34|<(R^EHhK|}cc z9s;)S97vH?(h~jpIc73ND_}AX2Pse1z!ZIyqOuC6=nsj&imR_nuUxT=;uGgUH(jrQ zp!@kbsIBK2ki$oVZBXiCR07Tz`u+hS6L$KrLLdH~VyM^$WxQL=HMyQj6Ut$(0H#Xf2jb2QVF8C0>m zjE2^?T;0@}>B8!wXRtwL$jyVjdIH+A>dLEEx7KsFuCC(AJ$sj0A{HK^NGw{p2ou$a znr=jjdz?8m|c9sGhlRx%SFNVt%l9 zQ%1$^HX5e{dF_?$*IvE4sT@9rEAC6FIZv5JWS+kkBAS&AvPl4!(3}DQD|u6* z#ZXN~WNrwCI@(`oi6YyoKz9AmV5V!J4&8lyi^oAj%@Q?RSqWt&l~v@)q{&n`AW^KW z5)Zbv_7w^sj!YVAmnvUn8|s#+q%XI=Mfqyl&~TYb_;MSUQ@tEiwRNw=?y(zfXu3Rr zs(FP!x3TI9Kjy~jEB(NYH7osGHP&9`=ee=&YE|wLYOKFTo#91m>t98R>~K|I)u4*K zXk){*$|sG+#@AEZIlzrgs{(8^uU6+O%LmX@wMMx2hQ)=BAqK)H%Lr?Hd)I&vN*zZG5$w=8HC+A5hWe3;b2CtGbZ-vQxIM zdZE7|>S`AGnXIe5NI{8w?O0b=6~I@uDRY{>-y?O zKX83blOMRgw%M<5^>r5q%GSRoklXOuK(z670nAO81ag}f`z6*;b*Vbb6H!BT+AsX- z`Wa+5d@5JnFjJkOtO~D4b>l3B{^yf(b<=FJB)(>gqBV8%m8q=RzLfg2 zhyh=Rs%bb|O;eVyr`I%|qx?mhY&BC^bA3pfE7g22T3eM;XM1L;F6nQX=9=qC7Z~v0U8>$kv=q1#@#~^+25*prX zsPlXY)y?lDQ{(|uy(@^J`etf-FTdv9q>paAsyd^lD+{*HORCvO7Tk;1ZVHg7s_Rnd zAYOibcR(st4L!l~jlBU`S2guf=l9AtZzhZA#;dFP$r^a^>H#tbPCGXg2V`8+c&ia; z+M1@VMgU(;^ZSBQt*v^$L0#6RP+NUl4n)m1gT_`5qV@wpDz$ZgZ73K852F5q28|$I zLc?|=Q19Bt4;f@QJcyNuB*M%pcZz- z)mTDoI{6K2KS%P}VDz^(tj8P}ZxJb-uDLP!`6)h00o_tc#RYrL1Zd+hw$# z8Y2x?>CLPFGu3Xgc7Jz(vl?a9DyvRe^~!2cvA;3yGER+V?Mm8=4-%|h(X)>Co;a^X zPY@xsLF{;8qP@DgwVUKvUBduZwe_^E@91x#r25tEI6=Ulju0D_)ugOuWnHYS*C^|? z%6gr$E>YHEWnHQ)oHJaa;-56G_p@IIpY?{ubsd9kn3z`Au7O=bF|vRjtZes;p&3q+-!ZtceG(PR|T3 zs%fmdE27Y}5b0$q_P53+KO0k5p;}Uyj(+W81 zU9PMZ%DO^XS1N0z5xHs6%GOrqZ_&%h$)cgYGBroVv!~Jwb#*Q43N*tyuNm;k&0s`K zUjytg6b6U*r;IE7wGA|X19YK3b5m3IP}g7vJ=tsjy1Es>y1Kp<|IcXjYcLhDaE##| zu2t6Sm9y*`@tWIUESFzo^*!7msy0SI(%X1I&IMwo&)SotLQKS5_)oK5MpZs#4F=|4~ zg-X#Sr#{Q8eRr|%G)vtT1HC<~`6wGU&-<6wU`}PNXno6?HCOA2TeD2uaIlK@zVNrB zt$V8Tw-&*5-D$z4tPO_M0@hq~_5L~K+M&)Vv!$$zQhTN(k!6sGvNkGfld^Ey?{mf_ zVS1P&#^xLQGlLx@TCIh8KFh7cqe2%7|5w@BzkI!H$mkSfvz1nIr^CcQ|LE{I6^f6v_V?tS;BfNuHx z_Xm1;bIzGFbI#11Idf*_Ug3#Kun5z3eBNJ6%46ke#yriLI9_l^Cjaf68-OOBi zxW7QYz3w>q(=#@}3u2z4D9jhk9DpiD0si#RM&x3iVlynfNgzMJ#0<;a%wa9fu*epR zo8|Y1zJycBJXpXOweW|JSbRdiKl7-?^Yn+)dy8fV-yin%5iOF0{e4BVJL?Yz-VBlX;sXv(Utw15aw@gH#^iDBV@pZ=cP|XznE~3R54`qHVFa!y84frzrLo5J) zz<0vpH~TX(+FHfQ2(_~coDpsxLy_6R3JCbWvN-hqK;Wdc4+MgzAYZg%{y@fQi@WX* zgw9x-CJ;Vr?YV)>b69#X&tJ`KBIm7qgXv#e`%%z$f%m?*O}T>pi!r$Z-&nh2FnGzb z%<%_9mt(Sozl+I|dBw62@&_YVtvoW)uURQFeAi(VgdNm1M94#Cq1}cutXs;gLABaNN}lz zhcA+`ECvu-j*ia6PlQ2OOxd?SZh9_@uHbY>3Tu;R0(WPp=N9nk4)b74WD1i7EoWjP zQFR+UnH_CZUnIQ3GBSOU%#|^K$SR8#{OP_m7Jx4!eUMcPp~wV_9rA_KKe5ID!oG=C zicH@u%V_as`ag>S1ZG?MkuNjjb3XVxm^y+lGc*?^F;7PeFg(xNJ2ErpTSl)hGqS)6 zh@>yHh7TgXMHVyYi})8?>l5}*g577HPUfP+fytK1z!wfqvGNILOtpqo!l7x_+J?i^ zV|ZkKYSmsiGQ(n$eVOSqt*w~h8*CLYBQVt3BpJc?W3ps?U==VUG|V!zeHq~oV<<9* z3lw10ZH6x+GQwI)D1D?r!AXN6CiA9dU+2-3nKWS-7~;Hd%MyjaGp+@gMZ1GrMamhJzd#4sv8T$dTb7M}~tOAqP1^4su|B-X>efL5`4v9JncK&+8yZ z$U%;fgB&3TIl>NdgdOAvJIH~P2DbWz9pnf*$PspsBkUkY*g=l4gB+O-a%4Klk?9~u zrh^_Et32SOM-5YpIz5XTOLJa!-ivICtYqN&|R>2s3E=OmHO zNg|(M!BoFwu&Nko&pO(L4*?La4qXr8xII!Qz`y`9oYBAV;%lui=) zog|{^-jQvokSuJz)tBT68Qi&N^%11KqryN4X{%>H4-@jc1kCS$Q7_tI!Q#% zfQ^#80Xxu1BJv09lui`oGqTVSIkzrYT3l88J5JEfCEFr0XwBr8&Q0~PU$2OMF{MaPHp7mG+>j_Av;A0Y&@Nu20z6K z?37LtQKZ05=_C=w3hb0l5;-{y{-BdYPELcL0tU8%C}Lm-I!WZ@Gx#ZJV9)L(5rqwG zlukZ_-^pk2Q{=#&-AN*f9oQ+IB%6aOCL+IlU(cBPxGqO%VG38!jL~@q;S0cO?ju{(xG}B zllxVdlp)pQnLOpzBzZ3WA6H9KCe>0Hn^DUxxA96!CvP%iJ-lu<+?yg_0iaE46~;QJ zy4jFak9-jy7rc^Mm9e&IZq_fYntUcrQZA-dXY48fJ?qqvkJpiuGj(oZ?3+4ndEq^h zvizP~8C!Rcn;p34HhIpEC1v4{@nXIeKX%LQej+Jde&S-R*H7H?a3se4x55xyOAql|lFY2`cD}fkd6wZOY&#wHI*gl_)f*@^jd7NueQ9+ zC$S?wuX5UlA}{)Cu~L6pd@p}I``BMc?i!Gk-hq1=8yIlQ+mP5DxR0?zNQ?|Z&LCc0 zIyvZ;&m!?n@BzlIAu%^YQWj_6RZy!kP<{yIhaN)tAuvExu`qx^>h zDF0!%T>1<2i(laVR^5K#mX9ED@)vj~R9+I zx4i0ClDz3xHI+TT%4F>DuWGT6e_dNX`fG_@`n6XneFQ~ze54lZ^+;O$@JHg==a1B3 zA7@46omrB6AgiWwG7B%`{5q=^oA_vL`P8ElyY{G8>F^kGb$hH9>;G6<{Fuk$*`mkl z$ip6&lu?iWoUsXyyX8xDCFNS(Uoh7G3AeoH2}xP;#4j0Jk3`QWC8gh!zhZ3YlWuu8 z5(l5e-Qwd&w0laDyFOJ@>HpLtjJ^L*1rZW8LESy(;8eQvYbggI5wVpxOdImXGJ%g_G47%1c=vvR#kvlyn z$vvN|sSJMZQJmj?t`^(Xckj~uh>*J4ZRr^RorAJ5L#uOqL09*TV) zFOvJ>c{e-t{B82`7bIov3y(9l}&Wji{FFt`m z^P-#WdNCq@+CWm~G)2Z2e0SdECnw)-Tt?uzuOi zR=)hSJn|JZ`zz0&*{Z4!M#D{RT#LjaXdTH zxQ=}4bxFSXdQGKulRq-nsYxxis7Y=X;ew`N;8Mel0dWKP`SvemvWjUq_zS z6n3lWpBP)v)Xg?G{j>bZ8AuKq(Ky*Z*n|)f?MDE!F1E2*?We;uP zW|LYpmAm{!QhNRcFZJvH7dIRCmjbz65$r6zW~^6{Ti#bJDPI=jeS;^9-SV;$Nm)~Z zqsp60FnCHN`EW^1++^o>HQ`I9QbA}HsZ~+_-Sv(vvqIQ zVRPS#$X~rB$zQ)!Q@Q@uUl{A~*II1BUu(;yZ%eG_+g@eB+sO67+qKx(x6|T3dpn+O zdAp80Jn$wW=*2XeF_8t-Q+RR;WhnQlS=mw^T@rA5tpBvl*pA9eHkRL6VoY7HTRRS_}VR zY?A8(_X`gWO%)BKPRF$la!$fcdhWfLFovXeYSk zJ?)V`)LwXpu@mhDH|yO|sLjrH5?ZnDopD5h_3wh8W8TGMR#%~wyuK?6-`*94AM7f$ z7GSixqKvP*qKx+4P{!VFLK}gd?k3<`UFYsXMDEue8Q$-X3}d?sxLU_1bw`HX-BI0v zJy6}TJy6}rJ*c`fdjPYr2Uu%_y#!puV?BGJk~4avlKuLk zQd9dF9SPdNoR-cYSC3oN&Oc52YW|vpatd;m>jWIg>w^^5Q7{0W-i!%u`x5NymR=-lTg0`Tob0k?ccPhv>OclBb^7v^0Po5^=@+F%&4d7MNgdT$Y z(R6^vPZx0Bj7^yi@QUf^Sj#>Ibj_y%PJpq^p8|U1Qxvse2B6Dk2sjhQ*3JNQ{|rE9 z&jfVAOo2{`EuRVK7c&8!J`2#-Wu4YH1N0PQvh zw-XubI|tCwb1?X(04jer2ko_F4%SET1LvSs`h1S|TK75HYwzc1uOpvRd!70mm`k6d zy*kfDdySln<{m!}*{9A!_PO(f0m!~&9*9ckBm2Dh$i8kqvTvJD+4sx`=IDH6|8_pI z_g#SOXBVJO-z*St#+Y4OfI9VBh&r8E28o;HAhuYN>$p{%pch zs?SnnAH59OXDmbZdCMsK(q+J`Uxw`amm&M*Wyrp5IqI}~xq!o-?9g)5>6_(P#>*R4 z0K9F5fD@i<&kBIgu7CimRsyja$t zWS^}Abj><&7`-0Q3F`$M0%gv9@ypc{5!5sPNo1?Y)gfG*h$=&IdVjiXt11A2Hjp!45 zfbQJ`=&Zef&f6>C=rLQm7tkGhF|wxa19a9t0q2j|{C$9K+6U-_{eVv0FW?X|`)og; zYxbkDMjrrl!T|v%k=e8ZfG#@#z8@Y0bo4<1$C2452LWAh5YWMg0R8ZgfHTQ#%ppK$ z9|GU^4g)&)uz-WfZ1`b7rymA%KA`gQ!)TdJhXot~XFCr={~vydmf8I!TIS@JXqgLN zQp;TV5||E0&@%mxpk<~ULCefKitG!HBKzv20uGF`O-Di0{TQ;ZIfm@Jk0JZvW0d`? zW58TIhU^`WBm3~<$Uf;fvd=t@?2C>II9|?H9tTmc6O{b~Wj{gLPw?y~DEkS@{uO2a z3fae=ME1!ik$uid0e1!1qLUzMe+t^ur;vTeDayX@6fnn6A^UfykiFk&WFK={ zNMbWjligp+pPTvf0Dqq0&ujeI^$edI_;U<@eo9Yy{u!ur=^0_J#MqiM!aNL-GeVO5 zB_8ZNzyce7R>0BswP%I-0^4;~SRk-tXN83V`}mx&NMH-k3pm5R@oNEBBYIyDaJgaU z1!0-Mj$9Cy3+%!L0e1tsUKCaeY~V!!w*W?86jlpt=0#x*YJ5>xi|PBKuuhQoUPP%U z=;~AUe#HwBX934Cdo(X@iiW-w2Qb+V1v7e z+XXhJi?{JS`|)`-^A5 zWnF*qtf1`fFP=kU(*W_jz}_1O5NkV#es3Ejel5sn2Z8FqJ)eFqOSv zERbvPU|YtD7X@~3toV(<&Wsf=p+AfjzeOJ!CtikAG*0{uU2wd3MPO^ji&q6U{$qM} zoO>K@sZLH3aRu(eBoX)CN+*lB?Dp=JI5*HY=SX;{IKiDfroQiinGZgXrh5DI%^A zj-#KGrii#a_!<3NGDXC-!FBZW!W0n~2Cvi4_ESY%6}&c8l-Y(kB3#)y;(MZeVUCE` z1x);0>@Uh2J{Jdw?2FIEfg)Qz7rkV|Tq3zRm%u~kp*M}1Ck__niSqzvGv|pzM7C(2 zI8fE;F`{yKfjAb4QRQw$1!IY3!Ed_eRQgJRIJ2~VCK~63e=K*q& zL)tC_r1LUyJ|Ml9QLYaN^3gJJ0U)1n$ZUcvSSBt6WF?1eBgpP$;vzu4#a0v~RVz2}H*@=rSkjw1$Yfui>2NsSH~qZYE9~G;<9pbsVBxv1F5Y0Eo35v6~}~aK!0N;z1xTam2@)Nsdo9 z6RWwK#X~?WqXheoBie5vM7J&CVIcZZg00*_IW}{|t}Wu1Kpf_Xfm;bNVk_kszg0W} z#578D*CLRNNCnea4ZPbUp-A3KxI!AZh z&c{RV?Svk}pQGrhe6n3Uj(jsXXyJD81m*#b*t}i*3W(htacsMIQe@{j;=AqQDInVI zAXYthh^Ns6^jjIeLp%e-c#fE{Lp+P7lUViNDP9C(7$w;Fo#Hnlo6ZrR?-VZqv6Le=?i9Zj*)EPav{Sqc#7UmGu#+2_ z(l3Ztr!U0sfaygEHuMYX0HZl#;uqo-AZBvJGLG25e}BQBhdI&7FT|@Ly2wGTcZt_9 z+3zB@eRhf0ffzywHfEPtDzPaX@!2l1HGJnq9I$V7TW{SixTYp-PCp;@20k!!Xb0`b18qWr>C-gx7Yz0_ESQ>w3{aK`Fm*cKeUHt z`BQsn@*lgGNN4U9JA!lpC0O5m@FV3l`(Tr{>=QcyzGol7yX+^@-uuPQ01c)D8@(Tj zQYP-_mTM*lZQlrci>-JxDB;9^@?6anR|5 zV6pHJvH0!~ShPLNS#&*2^fT$H%svFLpSECwCn zEJhq57VGG#Y&*hP?Bk%Xju4Blk8l=OIcVrnxGm$3BJ-4^Vi$-!`zU2wc~pECiA|JX zlaEmeSB`uz4qm#j=x}#d;1pa}q2Togx<9PlH9j)11Wzr-^ka_>cAG430%nDPy0G5Z^$KSEFC^f#QvB@P;KiCB!k z#92(cL{ytEfyL-=iN(2Z!Q%3_oJHHqgq%oEWyWRBVm=3*xJ)e0U*;^XaL|zNz~c0G z#Nx9nV6pHDXR+!EvG|6b%JnOpMW?F-ntGL3%)ZK5Easp?SD~u2SCRSKt6WuWu2HsL z*Z6!th!Sk_3q{rs#@aivK2bU|?#U3D7P%437 zXQ@<&9i+#}QmMAwqqPLrtF_b<1Up+3!THv}UBN@{+6K7ZZKPhn9cn|kt8IYm-xjz@ zZGro=t<)R1(sqO!*bca<^f=s3LJdpXgRED32}_3A?IjqKodB?d?IkQ3&JdV=+g`$w zp-l&As3^bN0sQ)OkjQg?zXS3sqdG`^z4!O>WI(C%a15wY8MD$@tBAVEdh^BMMJbEh2I!gUOw4Q^$=AbJbrTzf5??m`+ zoumOs^rHkD-HDh???g;ybI1}-w5F3Z5JX!!=x`?qM&e{AiJZnu9ADa5BGb^hGjZ(I zSsH}IAWE>You$DNo5~ThJ4-`=Sj-WdI!i+l-{FYEou&7IIK>g4bdfMo&+J01=68`k z0Ad9t*v>9gxuadEa;G@t5+^EsR~iPQ&hHY@pm&LA%)3PN35U$2r!xOt=|kegK|49o zQBHJL);jO!|m0Aeaf9O^2;lRCu_7rRR2Ew}DQIo_qG z(x;m=60}1&XiPWhBg}Oi@mV)%6cCFzVq-VrzKbIcb(2N|agrmha72gh#Hu@#*inu+#}Su% zNFM{ywkIKa_oOn0&~IgAPiX=W6F6cHM=a&P*YoF2PIREB^a+*6K^HjaYENk*KplE< zhP^mL`mK!YB~2oR95II@mU6_}UeaVBwsFLl9C3ytF7=Y80MWWPvFh2ISPi1z%JAOO zR3OH4#Ah6_m?KvAmZkx*g(D7e#3_!r*jt(o#C4A7-iKHX=tHcA^^raWVk{-tOpaK{ z5i9#hGl1B{5r_Ivw>sB{y458PY15Z-cj+t51W_MKu#tUM^cfHzP=bB(9#v{4N6ddunhnGXj@Zr-2RP#Rd(s>r&T~Y&epFuX zepKFoe#B!qJ(Y3&q|ZS#m4g;@qK%wrJBJ+L&#(CNB0c4{{iP(i2R#Pi!4{Bp*wkP8 z2=11e#+AZfOH`}*5JW*4Um@MgvUT>xg^gRD6Np#=L4mcQvAAs z5=QtyX_dsj9Vo4a{Tw7AC^CGIv__IY8HAk62TN-u_QhbS6`M9hS|`b4hD!4#dD2j6 zfy6!=DlL@Q!lBY4iLD+gEym{XP-%(84h@x-O7fMVD8A$SQd0bq_oX=2?E|TH{I?(A zSD#^0o%n^rq&RusFcfimn1t}|MfwD9Vhg;%pk;1eQL*60&s==kGq2GD4c`{xa`73g z*I)5vKA8Ssy7#9|N=jN3Km5=`uj8YmEgL?VTiEQOf`T{I#{OQJ-`LkECltwSh_@5vg#D2~qg=d?dm)uwr6i~5^}Leo#&~rhK8{)J zx=+S?9`L!+;`@|_EeqawpjlqC!lJkDtAg)t(iheqc)g&oVNOBueF??*66ynZecMB! zkk|Yt-IP#&tItp{$T6WHUNpvky_Upsikl%w$b=PC7v(jnRjXD)tJeg2h^_v~pY+=W zxC(0}{NuGaN~v^=XJH_2#a@f&a3I7{_|P^>lk%FsStUCgpC-W9p|Vv$L?#e89&aAN zJ37<^J|0)pJhvH6QxGaSTO;Lfvp^3ZAic;?ds|@4Ti6`m^IR9N^J&aPy`+*tyjL%p zXvE?uaVL1HugCZ27lyT$Z6G7P2Sg%*+sh!xFCVSthUEAVQ0^PqE$FkLc|}qyE_qz` ztIgkPrV9T1G76wKOqTIZYrp-idi5LlZSN9NYZ#yXYNLV|-efXKQ_0UOaLI2%-A&aZ zZz89r&YQ?tqLz6Z?;O?_yF5;BGvNxq9WUDWYfiTI+V8yVyuaq=@lOV-XhlWycYw15 zz1i{h7au;EfDf|q_krW3l}4}lB`=M?alBGpF;t8XY!toyn6K`OcxA0xiZTSBiR#2ZNIg)_Xl@Y)-#!)T;Y>8X>e zeaR>&BewwKv2IhfoQDm9*!LSck1S1`XbE>@XXk6L6wYqkvN`{nb2hhC0!B1GWct#B z82Yi_qQGcKAQa^&tNlQuXLo$DPYmAn${rKGjQ90`LRv(o?@<^*Ns;+}X-RVy#6!}IVDy0fNPf@d(XxRbc4UxgR5S~X3TvRJB1dc;edTv=jC z(|hsCLtYW0ba|!vC`4z);Z3tdjg^8NLQ_;qL`@XMAZt$rMN9ND<&q%8x2nUdnB{pR zO}d-^L;(_gB_1ysQl-QB+`3#Qv1wWyiN?PgpH@Z;IEgsfJi4k^nGb$I#`Kc1-5fqr`4;{_ySdA$kX^;5BC)wTp-_~<=l@${qA zolqn`dH<~9l~H)SH;&TtJv#|UTCmoJ%JpQ$6?ys-9=h-hP?<>4@6R)(ksugNktW7A z26zflg(D?q#pqb2aA{4#DeUT{_x9aPDQS|?mbP+YQ3>T&VaUI?3bD0wmtVWv^&X51 zHKi=8D?PpJuBOT_(L7nLQeEOBq<}0}Nz*j+4wmKOoeAwvL#=5R%S!U_4)ZW0GNEaz z3k`n5xqmKvpWGqwhs*toO3LkNN2>ZX(^7O>QIJS$aVD+Blh()%0EXXguj`3qP3fs| zb$F*H%N3W^n;16r@J@^|!-prpL(JfK49PU&sG`&2pnl$RcVbM&@d2Drm75TZS&URb zU~ZaLQPj2(PzP8hvRpzH1qLo&dL*X0GF4Y=?gmP3UK0<$~^BBfD>mN;1$aht!Q#I9WGZ(69mS(+^#VjG!rawcAH|yL znXVVlHoOuC?6TNY|^2hNm2cdXRN|rDaFeue+rNTSvXflh}sGz^`yxaBb*X8GvseL6( zvD%+xdJ^zafMW>wI-uBNFXbtjfprHFT5PbcDuKHx%s#?R8f7KLc6dc~0FqI@AS zfod#y*_9-Q=?GnwD@Cgx!}ue%9xTsF8Tf9ef3?w!N*TixxR_z;x}R0aYV|Z#597?! zg)))@;c0p|*FPV+7{Q$Vc)~K}R^4px7|M&`r7;EX%xwi}MO_Ds3ooj|qtXw9F-w*B zK++_4X_7-QlmPBra`X_dL}nG4pa2?H&?lE%@`|eDUWQ6Bk5;2z0xygTL=6OVD?yZy zQLiZX6=<|_XNz)bBYhu9)HEx>hB&4o;%$gCDnhm)E~$t_6`>5TU|2vnhavH|rYZ4E z#2^Rsd5RnxyrYt_sV8X!!br&rbLDAY~HNo8_uEHp8m0yHIg-4C-GdKLMMWe9&*tzfmX zE9fe_f+)Pg3dUDdK{N)h;4OLuF)noVU9zf=EVS0P2_8OgL*<6CiI4i1nAPBG>N65l zF6fg4<~X!`s+;Rv&?ib*Ep4KVr|Ck_ri)~4x`4muP0m8+G$zV;b)ppbL>cdOdj&pS z#CrwHL>ceZW-@i6jJHmd@zIGgp1KrG?YcjUPUt*Usv7XTOG718f(MRYRd8P@Y@L%`?JMa;m6WBF!El_pOHGC2F?Z z>UhEJC4;Qt_VEVLeJ|k15^6ZB`vn|1IvUREfvK*vjxdxZ4sybKc@`_DAsBFQdOkg$^S}4ROqx# zttKRYf2XY~oHjV#w>M2q#6Nd5O-;f-cQ#Gs^R7N(EdHE8Q4hnPizj~!Al;v%bY=ch zo&YRC#W<;|kdj;#f0C-w3}kpOmsP#!t7A`=D>VgWt1}t~48m?a z9-}&2Rou5xZWv<~VUE8c0Hpd`S^;T79Sm-S^scK#xHWesNn_4EIW9Ilt{UJ<)yCAM z$MXz+9!rJ0BJ9OiYj8v0m_{pW;-^(MD2J(Yiw zR$JMrwpF>q8Bc#?>t~*42TJFzW1+Rc{@YPSI36 zS}j6%mn}Zo6w(uXvSh`plTWsilLuTSD={?%%?dAAZswTQKuV!_s{kqYWX{i$18I5&7Qj~R!n@#Z$&CO0U-0Vc^2zp(XSnFcy14*7yS|3P^ z@?U2q*ZVnYrx@fs;AEJJ9cqs1+Q^76PuS`Z79Gw>*qXW?v2N2%#7UL4KIq8HBVkQL z`pINi(x~d9qr$7R!=g%OcS&WZTO57)SvEVvEZnVgGU*5M2%mS+hA~eY=5n8_5uRlRY0(Z%s?lBAJ49MS=y9 zzTqIyKq_;AmI9m}%T&9Q!vf7s3p6(^&}fmVc#~mW;!>-?4dpfwNqC+7XA*u2>Q8rS ziY+Qk%eQSNfl>u;ioU)TxL~R3f-Xg0(4`pbTfU%6i3tSLg3cNU))sUre0>{-E|S96 zw{hN-m<1he7aM`#A7VjQrGf?B%mktQ#oPt84{3`zTGVKJmRPQ6t1WC%8H<@V*m~l_ zjfZNfmE9gbc_6GErRt?pC285P_V9SRQP;6h4N<8y$1l2Gp_NWmE##-K9IW0W!qm~V zLzdNn)I!+W^c%C{z)+M_Oq!#3<1AH*F5WPPEQ_~lwuP8k{Fo&m_IpUA>gDE{X)PJ; zP(xc>nmJdr#JjzsC7x8y5>F~;iDyxG%o0!CGq^d0FSUwotd?UHen+{=+ic~cDg4fI z^Bhp~+@|-@d&Qa#3csvUrRY=-Ft0;T?u<1)MukVGx>vm0f!83Fs#=ulrw&vTRH~{` zs{0+N=BZRhz3vs$9jMmYcm*{oF?PKz#;&*5B}<721vzYx!szlaEbN@RM?%54tg_?e zK_gC1{$M$4D;}RClcL4SDP7iIGCk4tR8rR8o2DeY#5im-D~co}$niX!XPU_Osk%te zCUV_tvrLvLj*}%#QG7w77~Z`;10U0yL0$4V&cMlzOlelqm>To>B`dc?DA?v}xgEI~ zYbLlirX^%Y>|CN>>g$^X@ew;q)j3kK;#1vjtd5+#1!MIDC)LEgyUJa6jp$U7t-?C@ zWNogWmR-bl=%3a^~jn{ai0(_f8-&MzCOuOo&WOY})CVnM{#TvBvU|Bv6R~hP? z3$F62E2FyTKu*f=>J104)})MaD)*{d_bQirRd6rE4=uyXouhL1RP5y{SsrjlLpjww z*2~pw_8OIY6^%QNxFH-;1^XnHMJL*q{+b4!vFJ>q)m#eHQO=?>kydjSnwUi=nqTt5 z^>Xr?cdIqj2d`l7Xyk<(%Qt-uVgxEoPIJuCRUfj*oM5c3oW0^Nc_nOKagyd0yT7Mb z?5>Pg9No4c*HrN)p_Q<8p}N9KRtnmlyTS@0EN(|vxD=Z!##WEubvwGkZrv5eR+zTc z!(Cx_WnE#n;R?GoSJ?fpc7-e2+vpu9iLIo6TF(60_BMua?PQtUVeMe2vpYOiB{xm! z+Mz>>qdUh&rTf@s-)@~sWjM_^Bjhlp?^LNw?t#7uVdnLfN~N84z;1|;Rg(^>rot0N z?2~?Bw+TLGYCIVVZQCZg*CKi2)w1v8Xl={J*q|V2T$I29H%?s=Uo0+Y0y6e+5I!(1 z6E3Q?)VE4dAFqSNZMtwCw?rKxC+BK_N>w9D<>*|gRMj;qCwCL4SRY{brzNPHGYR_U zjJe)6|DNXwrU_~uLC;gMleP4wHZ>4CmY5iG24#UNnjS6|5Z2btpulF+0j{(-&D<|l zDRr;FIEMlwsgta+lkk&ShGDdvPTb6?|Ce_?S~A^F#lD9`$D5+3Rld`88GE{^4R)n5 zIPAw*-YpAZUCk=vlFL5Ef*G<>&UvE6IWN~eugunm$vePtmiR23m`aiGQhxQ1OO^%h zmKg^s`s$*p4slvNNs?_=j*QMq@&P*-f zte?GcYgS>Vnn!mr;rgYzNjR%uSVENL1S*vf431*?f^o+cf+gu*Ha|b5FSk}$TT}Pl zENeK~+?u*0NQWD>^_GRFD=n$UErS!h?c4gOqg|@UB61O!|j#mXo#{iR%yl*V2K!y=A5-Dz>V;zcG6Y^ zFB~A^3wc1b6EpFKS1G_<1zbI8s~;djlr-i55l#-#Nn4yF!YV<)F`;d87I>e`=p12yH#`>9i;^+=M#yg(I8KbbYx+K%w^6GHQRh?*^+Ir4t zrCE=#hSV2yt(D=6Gt)UE#yvUxe6kjn)_rkkrwm^lC$@gru(Zt=SFX9Nw{2{m_i43n zR@U>rqLQ1!cTS#njHjmidqy;ue7%G;N%h+#-ETAddVLYM#t78B@@SA64THRi`ed)i zsjZVeV$tXhI?g)ZTVvSPDgS%Lus=|1tb4+aGAETQ^E8!%q1y+T;t=#)ZKHBKP#v;S zB|A`EvDR65NJ#N?w`~~o0tjuPO9m>BMpdz=Jtt90_yNM1n7%LtT4I58FH$>Yn}n6V;^x5< zgrn4H#c*N_zsSmcqRL%Aln}FNYUQ3-_Bmd|MdH3hV)PvEES0|=Y7@$#Dw-u^o*FE_G3D6-Gyn<8+tDpn>Hg8a=WJ7ko$+5SLACTu*q-rIM14- z49uFO423I$F4QX8tf^Rh4LY~$(v)$-JGlZfP)1r>VG3 z_8S99X4mzGjgrIVx-uR9s8OQpf$EHus$EG+HB2=f4cTng4Xy`KJ5->F1d}Eb%F_gf zmZK&FZ=zWfH?Z_6y>es#Y zsq>{4Cj$=dfQ~z+;sZo7vcv?um5Jf9TT+s!&7NAcr$bL|u4qjPOhzX~ zt&PoQs|V981y9$Vgi~db>t{P<176LQ_#01%ra7tc*h39Ly6!kJ+S!;!!y~y}!dbF<<%p2b2 zFBj+~09ud@%LSN}3YH5|t=;g7!NF6ptr(P@F22QG{^UH0OK(1`R_+$}43)fsE$)>n zm406h4!*ujFbC82t5l{Xhtn4KX-kQG^V(rCf!lYf|H;kkHh3osR`DiToX!vSRH;nb zbK2q_p;A@RH?JRHcRK{hrm9rN`tAXCj{{X@mM}lQiLL6-lZBM;xrD(|3-_+*`W5b7 z(e*3byQ1q?HL+g6KX>DzF&Rp7iYzXXb*1CN+Je?Kx=Tdq^8T9EK)898LN~9fhysgG zc1cOeax(tJ;bfZWDA#;d&-(6J1-F7cZhj5LID2IGjjY_4soeGG4+&%Pytt@ZWUoqA zT&hR+ynwKHUWS{bU(M0?$kwR*^>YA;xHg7+I9eGF*T!(mihKvnXN@VvaF_Uc$8?%9 z<}Q}YD8aNBr(e5Bf)o{MF9+s~9FuO~4 zY`E`esNk9^li@pR?SMj~H=Qum>s`AG-gpO-t2dkORa=_PvVCccMZC@5*(HuBznP2|J2t>d{lP!_yJ(R78)}LKo)SHD;>VOEu0X z|Lo3_)5*V{YKbOC>|b(^*hhmHj{YGU$^xmJvQZ;B?t<1t0PqTwDv zXKxMnTv8ia_qo&^-(;*lEH9a=Xvf#`0;w`~d@VFFUJ>8%#c3X#%2jpX9Pa6W_wO2E zipuQxI)!^Gy~Xn174A`A%2bJc-)UwgRW6p3XgV;JXxVG|FN)>FyqIZ^fY*2$dlU|v zzh#+NGGS`>gSDltmo%5Ud+CbqUTXJz@g{5IT)aIZA!xA%Gu0uk{4D)40`^j=2=OMO z3xodqtY{ow*efxsdAg_yY%EwRGEZe3Y$?O|wZRLuxwoip%9LyTDAsK?e#T#!|eeA0|oP7Il?p@Mr^u2Yl>1k%qyu za*v5s;=2ZPaKx*6e7HSgeZ^Ih{ytF#ca5W*Bcj&*$u6n{-`8Xt_R2aT^i#R(vEp(~ zc6`|;+t@??Z#LORIMvx?59O*T(_|;{j#tq+nE&71)sTaQ za!s~9j^-F`8^Dc~X&!LegzT?UnF4)In~;?;|DKyL|10AEQ|3R`=*ux@0iFEA8(SA! zcG1f44J|ZI>tY<%HD(KELo=K=;Qz9riJpblj`dhC5iK+;h?Qk``Eh9d-OUxQiPd*E zm;JJ0+Ke$>BD#U|hnVo4-`#9G-w@*$zEy#Zsmu^&H!+0!mvdHcW~11 zDGmDm3B zP8;JM>k56`Pq&f?dehsP%~C1N7DD@i4$O_tZmyk(e?SLo4V`3>orFG>gxzGdH%8|d zS_duX)c?z!ZGyn3RT}#0^ooH_-?YKc9LfQuB)=?=Ur(2RO15txQBTs z2=}~Flgd0-Y&esM#p=Af4C2;Z=dHfP0Zgp!u6{TsT5;plFMr`x1))%WIL1N~fU z3ATZZy((*Pn{f>w~JK=cfN0DXxQLxgoX@jY1{_F zY4NPhycEq^nr=#Ip=^G7vBLX7m5z&GpV0As5Z&rD`RD(pQ`>qd8?W;y|48=NW+ka{ zktF>TQj+x)Qc}4$I8CAKB;!bSl6DFyDdrT?zy7@kF-w;9Vg;|`?FWAoey8zXPi)v} z`)-c!tNqAIuHW^y9jp+_JtQ$rfINP!Ka&CMk!i$7`Q?Fg?b_|yl@nRErDaJRV63rh)O2jK(R6CZ4 z^QU}atU02IRy&qxeFb?Urac~bx)awSNpP&fZ}b~cn2GooqM{pe`h8DGsmEKGt{I%e z&01pCOqusR`Tav(52AJkfo__M7Cqo=lJu$@HQs`q4oweOU|RI>@4WBXsiFYwpPZ zz&1?<(bH*W1;LhLVsO~C`oHKYKTLGvue^K+?}4h*me!}KLLGb!1pkUSAdRbyr3{~p z-NFCGtpg8kftBI~T4{*#)=_&azop{AoqZDBSOn)0uEE7!=Yihkob{%(GLMxCR* z3@;OBsWMGMc(0e6f3lNq52J`T((n?mr|?Du7+1^}m@M#LdR6d8!QR9tlLcCp(%o8+ z%5P-hy%Jve>AP@=hUYSd4(_~yPRLT~ftPOKWzE8434rgz5l{8CT=Cunvhc9$a8IdL z_(cvbwzP3KNBU1N0x1TZp^6wrDlrxen2p?CP^l**RmFN`c(qg!{p}=5=dsY(IRX3> z@ed3~+ZE}4FaE`<{!jQvR^m#ETIS)GTZwO+Q&3Dlt0_r!|JouiwUhn1S@H<0^d#c`(PvO_YO8m>uzVu=ie$Hpg z?e&_!nNyJ8$ord?_^0IUXY=07D|p!Z6JWQaR`l;qro^X#V;X+%V@hJ0%9N7Fm?EbU zUrL-|Npf2CHi9BQ|3cPpUapHoXF+kJ3iTU2`|@LT>%RoZ zdxCO{UX@1+@|rh#uCP&_T90u8%2cxwqp51z2s7oIiNv{oLsdVwU1M(aL`MpD)fz0Qkvux6u#6XKlcr-TMmy?6oS2&(?8peOLe6FCJ1g^e47U`T=zpIcZ^ zScKoh6O@ET=$vZSaS2K_Zs$r$@`}*E8lam}znhbwRJFkK|3-CMlc0DS7ry=&@p=Ls zxL(5oKzAo#Fun0Mha&l9f^w(cVV)>_-Db;56QfJ)WP_EDvl!I9XBT#=Hz9W-3b6=CD(5=Dlb(lq-qW3w zjb20-(oNTHU>fG+zG26lr93&sB~Rv*G|4M6=V|X&s-iAW7z`hK{xOu@PX#|}a8tpf z@nwZ_6cjaKE8WUHrixOfNuwfeY94LbxH0diGpZ;*(hGeN({x^u=6ptbz~(B^%3DcHwK`t~ zro_r!EwzJ3N#>LLV};H0Fr7jheLPAP_(_cl-!fU};U1-WZejD1oZJ!}`drRmK|S50 zBtgf9*`0^noZ;j7MR2{<$$u?~8qqj^G(U%?>+K-o=>`RbE%G$r5s%_7&S}=7AWt7> z=RHbdQ4XxH>M>mLC^d9tG$_t3iRz$dRpnL-#w7Zvs+jQ1BC3MVs0xi(#Z(b1tHJ}c zi>e~`S4C4A;;OLI#K|hMifB^}#D>@^tYCe0;ae}{6c?)|7O?Zx z6s2VgUbO0lU8|w+^SQYNEsLF;{uR}gpXm)&7O|-f&sB#dQiWEPaJ4!nHZHiD?pOo! z012-qd)7c3+7+N8N7uk)X;Fd-pH%}MO;iyoaCr?hi%A(ObUX34D?~+}rn-<))a0ca zN=k0a;*!E8;8G zmC0bL+`(I+TvIL7s-3?TeO|AL3M##gmL*aDzsqfk8&iUAiBR2sw<$8b^!!Go-l4Ze ztI{C1C@-%$`MQ|h8yBc1so197mA5Gm>9sFEi>dzK-i85g)Jv^u$J-&3sctH?|Ly3& zYW-Be@Y@xyUfz=}bBY>0n$ui&f1-A6;q6LVnN+5V9J*bJd*XLl6sS0Mdo)mCZZFlB zYJCTMDWW8AsnZ=w;!Aa(d*S&Pvz|q=*B#Ng!sGemzn~kc*+$)g>g%MGb@CmG>xIXj zz_01}^-2SZo6NdHiF;fH&c)9c9&6A5&_(>`6Ev|bzr$pu`2_RQ+by(J{hm9p=0#>= zeu#d9C;dK76(+8fI7yIf13c3z(@lJSY`ORO+Daxm{itb3xzf-BfE&QVe z7$Gm_HEOBPY@6?lw&N?s%^GmAY`yF2JEQGrqcXK)zq??9qH?HRs@*1O12ijhl2owy6GnS*R9wk?8YE%KVTY}T+SM^{F#no4yY_989s zb;QV;Q4gs>VdIiAl(D2{)VH;hnY3}VCZy3z;)SS{x?B_1SBFPypdx$y$iyAqHXDaj3Cm2`vPhm5JM@-%V}0Gw|)a(w$GP~a9wsuQBHnIalPES z`18Uujq^nh4vWP<`0RtAWlUsocQrvFDj$C^JG({8l5ENdcP_6eyEyMJE%VUb9}U0h z3#F&0hlsZmYg8pWwi+*Gzm%R`w{C-Q_6yH62xd299-Kx^P>X)hCon0R@{6d7tLAGC z@)i`|u$-t%5OJm^;YN8SIr#;}885w(m+P&O`RI=?G+`czxl${ip@g~8Do@>% zx$0D&I-j}jt~_;P=5aCCJ@+}N%30RN`GThks520eE+`Hb7Zko;H>$dfIF`gbam*7R zg@xi-3iHU!_2bG{t08m!c3cHu*k5Fb>C!h_dkz9zE2sC`J?&;n4o6Zf@1(GeA45l!%4l}AyBN)UX4@)p5!&NafTn~mFs_8t^NVD*n z)cpmtyumoLnx&jbb(~!>u>SNK>=x#F=p~18ZcZJJmGJv+G0X1v--> z2g};wGD+(X+-4~#c)KN;aR*+Y9Th%wr&;Iz@LjCB37c8df{px${gio>C_x~-7Q2_Z ze2pEXxC!08_zaq`QbGoNwP~)`TR7myzPKqFNVQ;tX%=io9hPDu4&80;4uSAJ>^2iN z^T!r!27b+In(_u8VYQem|-eW7*m+X zBx)%0aZBwZb7>VSP;Y%_cv-C#nR&&~y$8IsF z{f$`-=E|&hLyaDJ+`cOqQX|&r1ku6+ual9Arh`qWp`+=Hd}}(?l>LOcB0tdNNM^dS zH4VREtx0A9^^|B$Bh6SMb3Od%_g0fxKfd(lmQsAaLNcF5sXl)TORao?zfkXv;)6w2 z`ix?0I#gm!hg(|nXTE7oN8Vy}O#J=ne`WVD*U!mckByq##I&i72&Wb?E5+}7o5qGA zq~HHHGI-H+;O{gXqUqp2EIrzv@lPv#=pAc1+{&8HEEV9+df?zhc}7|j%=L?3IY?f% zEzF47oivLTNN*!p8av=?E6~U_3Jv(%31r%$fIxeJ)iwiy9R!xjT)+I2L$z+YLCURl zMn}QY8i7zJfvj`1lHtw*b2Hbke&JB3vQ-tZ?1fqsmDxq0*&$j&(_s9DDtM&P!`46GM^NH-;ke9$L=CG$XyAwTou>`U@5VlHng9uv?ictEqz~ZdUV^ zS5!t|pkOgr8NoqTy<}tz7HBbIbe@dR5Nm(U2oH_PlKFlNMdSl3MJRokKyHM=H01jb z4aQuLKH;E-8}AV2z7X;c7c4eE6c{0p{}U}dI8w08s-cXJV(J?jWtAut9xYgGW+-!v zwdq5Vu~r`8^l{cw!oKkW`-!O@VgJVh!=mf4JO?HG;C;cYqi|q?Rh)3}6Kh`&XH2yA zY3@&tUNM((@_d@J^q}72FmOPf%NjXl+BW6 z`aiX{WM*K7z#cSJJ2N;_VCl?Nx4@weH`@v~RK<*0P$Y9b@w7t)%2a|sT+XJoMFXMF ztUWa|Jloo|nVEA0cAr@#kzWde)&jWh*FB z?l!ksMG^meYwwQ)7Fcx_2`;o6l}N@SsK}(VNNBOZ9%8O~Z#Y!)rge4$GK7~{J9;E@ zX^a{p%P{Df>*-%R)UZr7`a-e0_a@Ex)6zO}06mqj_aHs=w zJ$r*;AoE!PiwORe7CY@v53CXpe0M$f11)2DtgFn@gR9Z8n5+Jcg`AD!3l>Q-)>sC% zKRvXTJK@j&fN^H$lEdqG*LvXwBOmGpIvtX*$dS1o8$#wz71>|~_|i98+sxo_hoF00fe?&%!%I@-Vp=H+{ydJi#Iq}V-H`L z_3Dd!VVU*){`6fj0N-wl-ShkXdn{JP?+@&?IFNpSaG%A)_4_mSTTOyLbbyE zlR)5@Rl$Maaf=`64`iIclGR*~&{qP*;$O~osK-s4*b1r{J{hB(%u{gXnCq1rjOREU zM6swNavHLkgbk*j5h#N4+aET9Qb9F>zO&?U#QpAms8~BxQo)8PHaMB5ir}e{{pw5g z8kG3_=6zM>@vykxr*URhOw1lB^Hfz?ykcijjd`jwPYuCyt5Kiu7>%381w=NI)X(w#aqk{l87$mU4Ac74B8Eh~J zVS_;m8w_IDU=DKl9pvyk$l-U8!|xymHoI))`W@u(JILX8ki+jFhu=YtfP)+X2RQ-` zas(XY2sp@rojaRs0S7q(4srw>0;8PMkQg zRAho|bv@*$>mf&74>{_2$WhNjj(Q$))bo&|o`)RuJmje7AqVzU6J)FBAxAwAInq7k zNcWH<-9wIa4>{63>YD;nGAxC`=IqE}>atY%g1W5!!l0+axNd!WcL?DDo1VWlb zAjC-oLY_n*1WE*YNtEg(QL2|jsa_J{^haVvsa_JLdP$V(B~hxEM5$g9rFu!kK|Vot zj`E2>FNrwLCt`X@#F0J`(@P?b^@*5X5^=Ooz~peB2=tPO1AZc=mqZ-$6EVFc;-H_1 z=_L_|{X|SJi8$~lU~=S71bRutu|E;hOCpZ`iI`pzar{rj^pc1XKmsO1fJC5|L<|BF zF});W7?6nRB@qLGL`*M<7z!j}dP&4!AOVxnKqAmfBE|!Wm|hYwB1pval87-uBBqx_ zj0zGk85Sf0y(D5_kcjCe5krGSOfQKT93*0TNyP9V5z|W|1_%k5nO+hxL`cN+l88Y< zBBqx_3=_~ zERMYbFQA7+Sd#a`^pGg6wueMm2lp!OAyHaw4~f!hd$duSSIm&+6*HuH#SHkZlLt#) zF#{Hly)eBb@`@SKykdqlub2U=!5$TP#SB;#_QLd%h>HUy%?2yPUO+F2ykZ8d<$4wO zY9p_h0qeRR#l2#NG_DdPFz*#JV2#!b(@P?*6eQC0l89>s37B3nLmFcSBM0}uiQxaj z??N=~u3xf{scC=z)qg*tX*K^JUE9>Or~b1AVNLtn|K86MHLbEZwhC5Is&f{8>T`GF zN1HVDzf%S$!9;D{XzVwe1%!AkC|);=w>7_+rzHt7MhhCVkyxN53$YA|&6;KG)+}*U zTceB5^|iXOQeUTw_4;}}SgiZRF@1wB`umD>G0C@47c+gEbYqdvGS>V2=2t#c@U1T> zj`|Gqybt7i_=94w-!R|xgZwyu(3s`-n+x%dJh2=(n~}5I541x_obwx^cOWQ+1`Kmd z0O%hFg2vo{-&_;``by+{g`7PBpdUfvV!#k@1%qOE&=4QudwS3?7X&FpFlZD7!A$T* zVeSl;5n_l@R&2oEpro>54gTIru3#)r_8aSxE1KJrZw1TAmBjbSmCfVHw+V3;i9V$& zi`-IGf@4c*;$o=^#((j zZm`6N8*VWc++Z22@wXM}{Ydw}(K1HjZyf%1-sm^?-gt))Kimk4Wk9jaouF7oHwuuL zR_3=t%tc~75?jjP;=Nr+953TH&XuWX_6$`MqF<b#HO1oi4Q7NH?~*si|;GcFppON z&u1%C5;?b22@bhM69u=_G-lmmi50ihGKz2Un+I;e3p9@35;QI#arKtp3(>b?&=^|L zZ;q@87RDkmwW4Lr!{6>({pP+~?-Szat-5%#(k;g5N`CXhO7{yfxsooH0HL*6q4@_x7sBN4NWpskc`&=iQELkQUuuNnE|X zx-suJe(~jRYM2{-1JS?wO(jwMn<~MRztKd0tEL!fH8ECLeq+5=(frzKDnzkWNxYp> z-S{%aFTP5tVeU>rsr@OH#PO6W!JM!rMulq{lfssmAFgGr4Z~K#55iW$L34ljAy_LO zdQ?U48CW$aMpZS;@m0}#K0#s;6057Cw`{E%G>fY?gB{}GRMkHUaT(b|?g)za?=Zw< zd@sQFN_=m+&hC}F(9k%#FYt~ zkoWZ-cEx@PlI8O zNz;uPNX$z^V=P8uFA@jSVCE;0m|X{|s{^!Ub#&uvB)+W!w1Y_WuIo4Z*L_BaVRdz} zsxF)!0Q>90ppOC2qh3`bx1Qe|QLmK{AJo&ujC!{livU<&?^z+%1F#2xlK`Bn*BX8R zm&(pbuVAcAhx*f>gZcsJlTp@qFT-z+&BzjBQid)zXH+nb0Ptf5F1ot}z^9ogl8GXj zxPf3trY?HduVB1e-*4vEe?f?e^>wicfP(-WtKU|La{%PuTfvxhuisdBZ$FlZJw>>|V} zJZx;p5w0QH?{veUxB^HYUUM=y5)=jan-K|`pGCR~u@s5*5kqVTpqRJQ9f|~vfsJ5I zjnE0-YZNpJkeJp8op3G^%aB;z2%T^<62(XyXoOC99Erp$XR-W&pt1D<%P7X*@Q2W` zAL@>d{g5u!JygLs48Vzp@OuVv0gw-yRWRl?^P68Z>jB7@&CnA8>Gwy!Irxt~0U7y6 zghqd?V0;hA(LdtX2;wXtQyxZu@i6?_!@U97@~|$BJba5W;t{_&`VssdL45RxE_OUp z!8i@b#Ygai1kvkHx|si`3dW{C`OWQrdJB*}fV}hP3dZz5V~qYYelZ{x{aH79J?c06 zJ&Nu-^ikcIfW*{Cq3StEY(irDqxd0#*z+g?wB}`vG0pwvxaR2hQ=02yQS;l4)y@6J zrsfsRUCsLgZC~?B;%xJ~#g*nY%szjC#Si*RCGpN*sss!EqKU65RQ?CeA!w)9BN}62n{6 zG74Jw&FL-BQRcS@nu}ZD{J&V;0>elP!`#&ZW^)kW6D@FTUt9pV_g@Y1_FseMh`$a7 zkvSG0OTwnIZp)5zE9xjz8He1c~4-tTl_>& ztbM{Tw>^R3ZZ8r?pD@Hle82gmVdg%WEX1fMgW}^SgXXj+al~KDMQX{DhFA;8mM3w> zU+eia`8zV@)y1S78Gy)%@8C17But!hEx7xBA!0|8_a#--_QnIkiQ#{1Ajvo zJdQ-)zX#3Szr*fE;bH9GVRw`M9yI3s-7*&A@66x*=B2;mrvRe&Q@ZiNQ-1TKr*JY~ zOhal3QY)Xrv3#)+sqdch8$Uc%(LDPU&gF}ro~k5P|DWncuc!TD=+iaKcb`TRjD5P2 znEZ5=;KHXhvH9tm#q;Ck^1%@=-CI6IQUnw zo*fU+vS$%~wMO{W8b#k}jqnSJ8Ld%t0TN#$@oj6I&ld+<>tfh*WsOPC!LpwF7?AnT z>0%!s7XZ2X+yp@SW?@c}Rn}OYow4zxX1%hPfgeMb~9l65Fz?1P^9wqQ{FhjiE1E z#)mKZ%}Fn!Pt1HVXfAjWXYj?c7lUHMi?G!f(I@r-eE3D2#22RkzVf0W`nH1=wS!5G z!o%2hu(nC0(%T_OZ_l>w-#%!((;hK+d$#q*NXkT}^MRbOr&G<$cz5q~kLL(m-F0X4nf0X5C)5ENekvZBMM$lHL_ zHyvIQ`v5u80muEt89;J6z9jm044Okb;=I3juOs>vAkzVv*AWN)#bQ9#cEm~luK?QJ z5eM?c_W=C}ka@A=qv%|ng64ou=puQYg2wnxmhlPxmcHaSSG|O@`C`*cy6D@vf-$zU z-<;4Hhvmie&bl}NNRKYCt1dX-E^@o*Vnr83Er9IrLceY+tXFFq%U`v`##d_@`(E{%M_z?BoOu<|@vC2;e4p14e7|Ox zqh3RkjDIa?PI+w+z_S4^e9aK60on8#&Z>(YfE)ni1R&>Mqxb9aFT^ANg7;hSFT^AN zGR%$tg7@2r#P|O)#A$qA#rMG1gW{dn4fDg-;RPonG4FLm6tBa;R^ege>uC0GUWZ0b zAa(wAG)<2;f@Z%r&@@Be2paFdVHp$gH|gK#f&X5DTIc^;7i<4r)!6oLzwzzAE1HM@ zjbriRK{>Nes==sszX7Xqs4Er#6!p|B z@oi77mT{~nmNL%v)S%O=Jv9Vgy|fh|m)i>q8#8+$Z+e$`upmcC`y@!nWO zxyX-keORcEwh~;-=%eZ4U>~i5(d#Wh`@N;%q`VmV7N85>0(1+Z-@K)*2J|~ZNA(4C zR$o9r>#N~Nx>(v5&?AKQ><4Jyej3h>iy{30o!C#i#aK`1mVO#efs0*)_URAY(ftAa zu)l_*;9_!rK(`Qjl+aWCwGDt?CUn*St*o(j0HB)&XgGf@b_@V?*g!xh4+Qknfg1YI zX9G3exWaVrK^nTzpg~A~I0)&2K^pAlQ>ND-ZEPNd_S`*4+Xzzo2cgwIdK>Mz8!J!Z z=-X(|GjFp!FTahPK7-Mo?+iwJP9F@L_+qfuM4T9m_8gWALht2*(8swNPJD~0xj^5M z3qpBAKxo_$5Sl!Mgk}su&cY!ev~CCp9T)<`I5z}MFkmQ{8#a_SF?uN4Y5Y(PC&R^5 zJd1flHNz|%s-d&3VczDU8V-qzoy_|ldEz9Y7lvv$&n-l_Un1=3ng$VufP*I*-ar+<-=}Ab7xqMo}oOO9ze*22)@9<&% zkf-4|xHwI~RigGA4(O2K8qS1^ckwJf8V=|ugw7qV;Z(OMBy`Pi?Ip35&|Skd9PJhd z2t7&YB|>|R(9qKdj=*Ey2sEELW&|5;CIJgZ(3F?)aqS42@>V<=dqzNoNBFU5B=op^ zq_!Jm*N=p0^d1E>8Z!#eaig?v0i7}m(7lBIL};&fHJl6=1K$O7<-34>_b#A^-qkS4 z{gJ?e_W)e{9)MrIC+)lFJwW@626XIbKqrjW_JF|j(SUwU=xIVPj@B?I?KK9#5o5Hf z#>Zm-oH9n+3)IG**8AyLSnukw=my)z z!Zp7AA&QUq5XHxSs2xP{f)9at@I&-~vE$GKrjG-SdE-c9(KzI+8V4HRj025R!+6->w(;x+dzp85yoMv^;uQ0)AW!uD z2+-V*G@LsZqwp-oe+1|>Lg##>bwJ$&t|o8`fjd8vePchNCkVYrXwQ!|93mG3J_dBe z$AISJ$t?I-`!oCo9*r#@gU4?^ri=cL=@U$!{g^KLD$@feAU$*fUG#eskS<_)+621j zxlAu(di4al=*>*;X8OPc%5@xR^V|dtht@?-0rJKbAa7y;>zcvzBBqxYu&(t??_hdQ z0qZ)<^f{(~DqvlGCL%p-BGRKKvaS!Ap33y>iLC1jq|Fr*wd1I31M_}l-ua2FtH&gy z-=2hY-XzvFhUrO6PoKoP<}9vzs*H)(YGJS9o>pIEwWu|*iW?h3Pqpo)*vs>r$ zv0yU0^~}jM;WYq=t%UBHtl<>BI6%Nve)O9H=#VMeNkHGlv-oHV+T#;K=T6an1hkOQ zHB&UaFJ0zIcrO}@ty@2V(pU9zSH2|XLbPO`@P6sr9x^^0sPn-_4qXe9qPBNF79`Y&D?|e!! z`JW>F8Pdj*Pti5jeX5;7sV$$P1LVy>*H||LU1R4Abd7y8*foBbft)il&^7wZMA!IW zCc4+undn~M&IFC`XM)C$GqtmzabYGfC(Htk;#r_^d=_Y&n?)K|W+A8VY|t1r8#HFj zM)z7e8{KQuY;>VP#6%{X}ioRcnoRbToqMn~aMeltMHBbB; zYTofVXnglMXdL@o`w2A8d=AWUUx3EWFF@mmFF@ne7o>6V3*_`(1RBE^fyT5&Q1hZi zQ1kjlQ1h-uU~c~+s`=O=Xyfc6?JCG!#k1&N2ro9Ykh&dHh`f&qwHzHP$FrD^Jh7C} zHHB=LEqvTr$cEWpNKr2l&}%W(Ja91{^A=OhWAJE9Tnr7*;>VgLsD0xSttZHSvjhsw zT?&OxTngwXOXXlUZz-Us2_3YIYFwuE0`BN#fNoj_=nsURT&DE~^dh0tmjk+LIiMSs zvq`ouhssBEWKY?8?FQK%hUqYRizl1sm ztb{s;t)x2NU5T9WE1}NWE1}NyE72r7S8`xk1sWq(fyUTXS|89TSOv_lR)NOg)u8eI zYS8$2HEB#;jhwlwL1X1=(AcvYP4eSvG)a#&Xp-DDU~c3ZHp$pE(A>l|T3?WxfoJjg z8Z^oBHEfb1=51dihmbwYJAyoMme4C}w0=S^t_5^7p3L!Uwf=xkC3GI4O9)-P zmd&@Bk2}_~`Sz`)S}qdMa~+#+z&bn*TgT=bjYp$k9a?TCKjy3lrwi9p&CAzAjc;y1 zdcX#%Id22f6Pf;G1L@6UdK1#dHyfa${TsA_;N{2$C}K(xRJ6YcDmq;R6rqPZKP=H(lq=2II%CIs7@@A^}%`K2{&=x9U1RvkuLPbp2LdHKQVEGm* zVm%+f+CoKqi$~*!EzrSPetfhQv?g!WxcoG0D!1}FPE*RWKz##yPlUr$FTeTs8 z_WBCU6@3M^`)vc;Be#L={B2}=!Zzf5x(#eE*#@@1-Uhb!Zv)%swt?*-+d=uA?HU&* z^0$MFNd!#at_=gx`2;K_VAXaGZkw3iy&W7L;>QPHBj=;9C7aW}23N}oSo5_u9A&o< zZ~y?~*wU+n;!dv}1% z(>uWC+dDxyZ>MB)%uaAIfqBs=vjB$M;0k^7N;e?KjF0@Ev)Ub|nLhyq&y5Q7eY%tr?RoqRx>1n8^-Ks!&sl>;R6*7rz{ z{vPQMzbBc=Os{6T=zDE43VaQK7<>@!w%{P3(++A=0G)df(4&O*I0TLNI|PmA9nz*E z>%BwJ>yAUvc-~=XeB5DZeDYyxe8yqqEIbU2uR9ElA2^KOe)=$a`^P_k#pAX)Hg2oDD}nqxcADTsVSO>wgrjHtHx^t>7qFoPLzO zeg08&_}t?dUBSR()WG;-K%RyVbIvhs z1~3*8u=*IHj4g!jJf_VAbU&e2_|f+`pt;AjS%8khvlxFIZg(1?bB=4XNrBMSfSQ|* z)5Yvy-gn38VvgX^IDZ@_(CY*~hMt4~BTs5`QEKc-=y=;n==cPoXHRPL0KH1+>>oM& z{RpjX{1IB)`J*-;S>OE#-Hba0t?fJot^IHcT03=$TDy1(IlWIqYr{`NYtv3c^9xTy z^WU8YjUP^f#@W-_XQ1)ZX<$x10~-6zfX1mapmFI8Y4kjcoPlRSW6W95m~|GKFFXs) zZ#WCh?>-9_51ggukDrBf=gw*iK`!SUBp+}Nk`Fsa&5uUf9Dh#x9C=fjH;;LR=ctuc z%-eX5TKNW##({HC$Vq;jJ`ds-&vOLobpiId^a9eWF3^5AG5tN$M=!AT&N7{Q5mJr3 z2&u+h)E1$tNf*KU;fs)J+$Bgg;}WF$>=LC~dT;WB8<_z5%?{{$MVej<&cpOEv-PoVL`PoUBJ3N$nP3N$nR3N$n0 z3Yh!s3N^Fz3M5=}MMhG5+Zfw7*t-^BtRc*CyT)qlzy_JI(^)6=&H>ihRJ$Ru9o`&_* zYX+Af05ghv>Xta(Q?Dh?@?E3Jo$yQ3ZmqLAchO4Yu{GZAnDtz(XJ6Fg1yP3m*4(s5T{THX4sGSceTd9HOvb+LqXm%$swp3myql5ac0Te!OT z?=tX5zt>{1XtUlB0)|D9O%BN>aiB?_OV{{c--=5&*&S!kx zyT2j$*5ld=x;pZx6Avwzm9T9y#d<( z?r*RPogYCUyzvI|d;l_u1RrEU@rm>*7gSev7$Fn5$k;8nIIrQ5YHq_ zL?*;D2A*vKz*3?Cx3omz2Qr-!ObST*hCX8%v{9h>vO2t6re#aK$RG=E5l{`G3kQrB z_O*VoWhcHvE331wy9D3R(ngcNY4&v&Byl@_QmrmiPp#7wFR|(R>YrM5X!U$n=Q?P3 zT$b%4QmtztrQ;PXcvVr;_RaBg>2y`TsbV7T5|euJ-B_tRv6Fn)V3aC1^93(WqP7c6g;$<5W-Hayml%qDoQtA-u}-alBj5DOdLwR9e?AXTJ*4Dca=vMe9Aw zX6NfBXl&2JjGEfU>)Kuto8Y(CC)Fes#_cCE55Br)R`2oFctdXeR?j_W8*@qe(lX;N z^{PuBmzLfotLrr`^;2zp&8zI13Q05m9SBM~ydMK^0qOW^f|RnvZD2fuFD!Y!Tievs zX6@l+AIfTnHzr193$}dfxpvK87ReMe4fqeclBPf3u4|jN9aHPzZdUoqlL!WuuBoZ) z_Vfd7v${AMs`pC@)^!T1m%hc8b?a2xO|9D*!^X>5ZZ*vxE}`Z2%7yUepzAW6j(VkQ zaLL*2dhahOT|cgLJnPg~N!C*x%bS9Zdl(rvpw8Xn`t|w_4H5{d& z>{GsA&!NI=Hm^&C4P1gsOjF+%Md*x*v}|8O$sEP5 zr=ARIr(;Kse9}3@t28yeB<)|Ij(8H@-7bx-B0HcXZd}90U!mpQamjfc1-JWVddkf^ znPtCsYD}elHR20X@nWP#9bbV8q?`H0z2Bp3+?8=2+Dn5axGHt5DfOBypEzQtxA;@5 zu65PBO=OT0H;Q;GJGE}7j-8^0jeeZqe&i^^I|8p~FR7U^4xt6!r-ji&j!(+fdANu_ z<1U%>XYtCXtgg+nA8C(a2yZX;*DR52xqrh#ZP=e43RqSBO&aY3}mHQI$Cr_^Aa z@z?n!MOmpV`e)d5)AlL?s)&;H=LQbft}e4% zC)|XTzA>O*_4kDaJc*>Vr7aGT_Fgvwt z^{R}b+qP}f=2=mW#Q%D&Lg}65+k~68vG4E7Y}2iSe5YZv2VVBpRvlYg7(2yHq)quU zq}@z(b7G~0>%E{dNKhc6WoEudK8i}n=tw9Eu-G&jQJR_Mwx zHKC&BP)M2zj7hXHUKGVwq&C65T}=@b-%M5T$}!tI8f9Tdp&Ue8Ax8l67&Ux5#Gun` zlJ#u2=N|(;>V4JG0JZ990A96St4@3y>_b`TgPlpXt+MuVE?PQVd{&39FsBM+CB`8C z+5xJI$>Q%4ZPKZax5KMaJ3r8_W2>%`**0z3pg*(~w~)qfT*Uec51v?JwQbv0VpSwo zRbXYx_HX)1*VKCMxPlkTLO4ZLF`HPie1&jg#kaZ@W3J!+*^a7GS*7%@^y026Q|rVj zFf|jkHplBf@v`?OY=^7wOp!{8lQ&J47lmHKH4DjNzqoD;b%_M9p05h&lpi?1(QeNAQ^9@pFw| zLV@+m;jKitqFO2lQ^d`D%GqN5%^upM9YY)n_9MP{YtBr z&-0bGEnBsIsT-mXMJ+A|Kf%nxm3V4opm{`FHC-+2w2(tcC$uK~w;e~vxstTnk;Y9Q ze|q!(h`d@Qw2?MpUBlREuRdEzS1lk702(E3SmCiXh%um|DAysLZl{ya~IFxQ&nG zQkig?GGVy2m(e30di;s59kFiK6cs+!2E5{bQH3S$a7(1tZQiZR3v#Sd*5B4~pmml1 zjC$w#&D(W^1MeW`udVsUQ96b;Z5#(JZYSwVQPOpqckC2PS+zW4K)b`GJyF6XId!Ks zcYM=tNHgjpFidx8)-|hr1mhOg0qg-ewoaA*5LO8~XFb=nt+K-ygxVMcT6FB#u4~&) zH09Tnl+iApiI)XuQA%h{Sgf5s&tW)*-@3|;#QM8D~sX zQBzTs?GcF+((&C1aeo>oCkTwu-mTiHmrP^o)D5Gn-L2!5b!|GFsg$4-J7=i^c5E|E z<&td2M%}u0Md&a6wLREzktV87dpRJHTxn|0VG&49P55Sk1Tjji zY08oJPaQjVdZC5f&Z0Pxt|e`!y{geuzP3td(fMR*YSRwSxxBnAWDvn=jN2?8>t3n# zx}fRF$CFvy%jn{;aP0*Txaaom)#^apYNTUc@gYVkZR<%4+if~?7Hk_PUBAng>I9fV z$OYJvfrPY-%D}fRub&A?8;vi#yn5P4J0liUAvz4))!Bb))kHn;yNZFc>iS2P!< zV|>tmWFO@G=c#jQ(7bco_Sm+0IqN^7{nYhn%cW^&5OLOuqwe$Cwrx99x}O;4(@Tdmn%3<&= z7uQsA8oUkW_MI@jL)cSt?2s#YoW`mJx%3vzTXksLx*4La)Qsj>$L@&bZ2EZ#ZrT*D z6+kv?W}J+_*VHg~Ys;1xaOA>w)QQV*TsJiATG{DU}=E& z)_V_3F?b-^;)!byB29tnR)5{$rUYH6p=+I%E%7#tguy9}?zI{(h8$Lj60hMek)LqK zKJtAFd7|g{Leu?zzm}YwteMF-hRO#5fn@yQGr2-?N^&6i)?1VP$$liYpkF-%wB(>a zIhdS0ixe~w(ac-sYV)-D+GpAVZIM=}E!LK3OYsB8<@i$i zSw4PG!FQw(MXP0pOIPh7Sz0+5jAe&4z^eOfYD59G8^D=L}+OFt>Cb*-wIg9 zuyD{yvXX~|lkgS%M`a{|{*TJT!~Wqz2TDSgCOIgioRIFaFI~TkXUnhxZhfZ-@Mr2d z_II8{R!Y&BA@!*WFJxY!pu%j@l3M^m*{lMkLNVe2p6S3d!&Y@sb*Xf%vQ>POF3W^7IkYUSTRGuM?S?8DO?u30MshgpM58Zj&zn&cCV8eyDf-2+<&D2YSWEty5hfrB735YjY20m}Lg2YIY7&k;Q0usY7 zF?_`EOAIrLQCeb@k{HRvfC9mq6(Xada2W@)oTV!l5H1Vc@<>UIgl|Hs0#Ztvn;i;h zw4Y~{)s!dF&vDDfEMxr~w;_)7Eb1PfcW$vbtcYyg&`S_hpdhTD)dgR;^L;F27qx^diwELuWYifYFv?>iZE`{V^k)m6H zh)CCALJ%aq6BfuvY9lf|im)t-ur>sBD%g3zatc+uM8+#vPX3-V z8~>n+P65a+G0VS|yTRAE1lD^YLt((r7$_ z=4lu(OB_ULjYby0@E_?vZSWF2W4dH#qkqh=nsPk~OWW*7*K|Kzmq5yA>5&Q+yY)jTp;7_D}>d}Q}y z!<_Gup>F{OF^h?LFp7CzceM*uo?z}O^j!^CC|W_KT@hIwMOul+9!W|Six8Md{fo%= zETfuYC%b-#wkHr#nIUkVBP;`BX6Q{mqW_oTkPP<`*`CBv5<_n?ziza2t5h{zdYI(u z0F<#9p5-*KO2f%nH(wT$lqRv9{@0FVPU^zwj}M*@%ZkeT=l zDwo!WOhmNMTaqskDUv*d`r65rD%npalgM>{`KVcE;=gbh+&U8Gv^4ks+&onYyqLHd#KQtK|go?=ph)lyw4%kZV3lNmbW~8T= zXuUzmuLgC_NkDU#P4kM={YB(5?Oj!T8m8PQN1Ddx%k0tO2w<$LS8e6rU}KJcw=2u< z$pX%>wLY4?7LTgyh{!Ua#`PP9XHwC!+X&1PSc~d23^ZfyoD$z5u~CsbxLGbA2xd_B za4%RnQA5g7Vp>qSpE6-G|}w;yb^t$urap&~mO)AlRlF$xng=EY-7PsAty=lbQDyCz9eCnCCmvn%!!)j zgGaB%JdRkfz8t~v48eX_<7lRZ=(R;?2tQ4gwJ=%b$#BEs+yQ6`0euCrd?+77gs7x9 ztF=bpIpA*$6x^aAH`iDZXe(7c|Ow63@WLDGj9cjpXO)<>LiNGP2r1>w0 znG+%*ueFm0uU4|$!**UZya4Qa8*@cJV;HC?A6a*a})HF>tcli{b zYMN>Y0CYA8mQx9uHIxqxlV*@7%^)JsOu~tfIlEhlppo;ziugjZ zJm_d_BXnxLd>OP~=tG(WNnsT-G+ffvLL(&6cVr4#A~ceZDYU0idSXb}WI7@NX01o&W;h7+)tkF`ji?x3>7KFz{~T^ag79jN(;!m1@KAIEDHD02BY zUZ;S{<>Pp*0xFk}n2bowotk*m4@;Lo~GH z(s2NjjHF><153}PhJ};yWncx_;L0#pkOTG#vfF$V6&h!Nx)aY_adxZRLO>u>FNR+D zjTL33Lg)nxHC$413y&rt&MjzmuFVkuTT-Rms6ipZpcOpEmWdBrR`3{mCOl>ZSrLHY ziny9!p{it5mt4&*#@g;f$iWO9bvld4GL5>Nb!3?a^UhMTOvkJy%QUKV7L;WgvN>zY zG7S!#Wo789x-VbP@L}PX9T=aGLb9P&mrX9utGv*7$LJA z)k70xwLZ2OG)f@8?E*e5*Xwsstv;>->-b8_4i!j=MT(BW!LK)j)0U+C^w#hjVNAnA zA9D-{2Qk|FBk1XMx})LhV|;llZaWQ-v5To@l5 zW2W7@+8wF~V79OG`T*^9C{vm}LXyf#mwIR#dUn)D^TBe5ZgQ{0f=n*frEySlrzJ@h1_CfjKFL)CnvKrbUwl14d{% z>#~hb=9Jda+kDiE%EOwDC2C+jZ9zDxwXK!y$*@pKTetiVpbFB`$nU}Av2#!$Y22L9 zr=(1#!2DXtye~9^Foa0H&`gp&7&YR`*K|4S3PiRbpRI^(M41mC+-N-W{fr0#n6yW# zDRaYwoqng7Ynq{Xc!Cl`^ZAWALg+I-D5Jv)Uo~uB;G;AK-kb*V19C2qWuS}@@L((4 zpYYo~WGzBVjA2RH-1zWAReZwg7utx=A-R=LYk-pc2#dq$aDc-um`p-{B27S2WW0o^ z3XRKtj5$jH0WP_T&R6_V6K^g+kvzdrY(>NVGWDG(Zw2lZ7}Fu=y<#7}87^76+9}$P z$O&f)(B)`rN5CewkdA1k`8yKSB3FHK78Fa^LXq?M<0|Yg!Q-NqX;vn^I0oTIK9_1Y zanG<3=&rvJ?0(}LIPmaqzcaoR#|&*$g9@LWSXzbgGL{yhFJ!}UP(z5b784CN%u0S^ z{d}37F2pw{6!Ux$OBpp?4|k^mb_3=k-nSc&W&{5QbUu~NCLuo2m#Zgif@%@Wu~iB| zgBHOwU8OM2AQDh17<;;&!yo`_1*%Bs6OK~0C19SK;|C`)pSA$N2_KDt(H6?21n55l zv<4agtwE=I&||DY*)pZWDFueNCm<}pi|mRcpc}!WOK1^QrHn+L&rpxb=%**MPAM

    E}QBg;Y14r?TA3!5RB>DH|3MQ9>I?8EkyC?Z$5VSboh zEg=|Fc^Idf#zR)^(Pxl};*iO^CON=ZVgKtv7)pcPt1APS?m3K3c!tqwj) z4kBpL$Qo=B%Hgh33>tWrTM}Vh-~*l>fV=02DhF(~8br4X(dS}ZKzE`&NQX+Q*rjj~ z0ukv^2;HK)P*hM$JS0h@Q34TZ{v^#-QT$j?Yb{ZP#m|QnYbz)LaHWPw4-0x8yayty ziAV(Op~N9L6zE z-H`SdQHd zL}Whz$r8XG2xbldP>Qz2V62#Z1#6;!ndoU!J5S#$w)-0Z z>3L*SdFLGVMz{?K343GVQg#8Xqd5|;ijh!{m2j|wj95e=gP#Z@wiqpZ;NYB(;;d{G zk2BrDL5y=PI*S|}oQZRA&|Bi_TJ7Lq6XjYsI~0x!N~^>4G994)b%_E2U||amH}BDPL%US5;cZ%+1K9IRsUlTbw%0aP{q!iW24wh zb)bV{p$8l&!k@5C9`2WnL0Jg$f1R8^4Jj&+x?g@IGLD>+dREq?je__c#}QmAY+fd@w5kf&|g_4 zy7hSn2gg#7Em!Aqn#7y+n|!9s)68v~K|9cYftF4_oZIMBTDHB6Lv z@hz3p0OuJr6qqGX7=#TeZyo^i6oBWVctQq876cBIA%)`+VQDF4k(i>ecWC8HprTbd&$`vBL`*x9H7rzGkr>yO$>B5Dij&$Ml75|15CwkQ70!y`XYOdwMP|@XSE!TU`P8jJPTH}U@wZuqY7_(wwPrw3^?%6l`gr@1HE7mw! z4Ad{h4goV9XnqU}5in6rZ_+hg&xQTTIZ|}w4MVU|5XRMP$J7gJuZO4LLQ{Y z0X#d#bNXo*b3UA;;&P-^xE7(Il{6~MLlhD%Zi;*it)&?_<`amlQ3xV}qkvK9UI&V^ zl8)dp)0cQ5jycFD;*jG6z3AZJq-6}j7#!Iga_S;uWD#0HMx#Bj57x`#=30 zLeJ(zSZ@ej73y3==lofVU~S`s-2E1jg}QTg47NkC(k!;d!lmHO27sxY?wElT`6YWL zrq2Ck<)FUIH4iLzCPS-ZRZfy4)HR!WvO{8eTnrPV0kofkGdhYBXAY=vg@cnH#mQ+H zKP>KWaArkuO42#);LHP#9dnk%>5ElPX<{)m^g!et2a1^)7@8oHQ3r#Gy+V+CBCz&# z((x#@%0{(HH5PYtZ6;N&=KGulL7`Z3maQm5vm1T7(0pbD+n&tg5)h{U0k*Ea7?`dX z>VTnXt>n1SeW_x}b2-Ef;8r=#loldD|IZJ@NyL^zF9NS$SC*r!0Sf#QOwMP=sn_(Gr zgQO)w6F3Jh(WjK2T~&;h{D7(xRK{@QI<|2R)8i#iIT0Yux|U;`?I7b^E%2mc6D2~( zFC3in66duh5;5MAS35X3vWx7MtaN45c%1bPP7WB8(=i#H#r3Ss4i2J7o1ccaJrF|& ztrUoClUOl&kly#GM%NM1u_T58R)fWzl#no%HRYP0i2SH!-=kq~iUU3=N$(@GX|(&a z?384HbqThJ6t%A%4rkcVk2>Jv4iv|r!LOY0oQQx$uPNpgg`DhklrltHlJa1YPR2t%%B9EG}=L>!2K z<0O@L91}AJA9%!>PUjKlj4bUQtq2Rj@=&9NuOGFj`(G$4ifJ0xE|)uuopyaQgxT#t zab(a@;5A3EgAVe}IAm()OGi6DIylAG#<}R=>_Y_O^nb`89Y9zu>V}F)G37Q13vHAM zZr5Qf+m3}YcgY%!V8Quiho-atI&N``Tqv&w)JI`VSfRJq@nLyLHi9AKQ${EY*A5xvV6SA*Lz^XLQse}7ZjDE8 z@JsZhNU4V*VX~D(UXxQwlc}UgnakGv<<$RrGH z3z@DI(=5Pqnnf0{#Y%R>l4BbxmtyH0u+Ri4NfayD7OS)^RucFw9U~T`pjap*#o~rF zIZBqIL26et-4V@cK!q8aDO=7e1>L2T;>s~}7_dz2wUqW@*EKmbiwJTD(0*dmqA-k- zb4q7FMYi2-YI!o8^kSrRdpS1iXxH1UBy7l1A4nui=B0^J-+EUZlaiaLbeVET#c`e3 z#6e@6_rZjcU^Uo`PvYjOc&KtpDM<=kRO2*Lm-cR90Su51-Vki z_TXk6cV(~>2C40hWvdj!p(HeYILW&0fg60K)wvazNJwrPpk0+kx+zJ|ne0WTD!az1 z(qx`AL6cCA2f10=Sb`K0s)5-<*6!Igg;1v@ zDXc>wfL^AQ1r|w-lE7lvJze=+M?c%)^Udg3gLv41_Kl8|F^)d!!Zi#y1C!N4Ph%|Y zHyn;}p>AUwMv)s`U%9>8=METh#N8z`qIA&Fxvn7#50`{^o&`y4xRsc*$dk2 ziG;F!qwOsl(T7GvM23xSPI|X1G%d0gBW56SMv;zP@2CbuXCWaMh4~|>#-+AZZGhLZ zNAi4JR&2cVOu_w6cSbs2rQaQOt4fbo>A_37-6!)gR1p8&QKMA;XeWJZ1DTHv@wDgtAJYd^nVRpU6inl(M^A)fARQl0wlock4 zBLdXmN}MZ~(>(kD0m&UQ8J*Bc=fQpdfb*LRo&u<@t`|_5I4Ho=0uIay$R`HJa&@Aj z^aJn&=;SN?3|#EUB3D)wc8*d8u>B2h;U0+$M5;0E9`6lAET-L`T?B9h6>0Z(8S=z} z9%V$HR?uB$CTgdDX+>@N=N&Co%vT_1^V&|G!e=7^kZ z4;)IiqirLjjw8-$9vT5>-y#8wK5kcArAkD*n%lp2${d*IL3q3=%YT=FPS~&^Xn4&r z&O6B9Lv~htz|HDWzlenaoL`sIS`0nc!kO#foR&CpVwe*H*iX_6uHTm80nq zUD@RQ_DPt=|0;j?{f+M{_2m7HaZ_gl#W_CVn@JhN#U9edGrr`tA)L2k*e=H5I|j6T z9*JiemEpMv7lq)+(Qi=#`VQ??r7;xCe{v{>j9M(fx80szVJQ~NJ~aGN;5S0vcS##m zU7$^yK4cKnP&CkYM8tugef$RE0f~qP>K`5A;AI`?fLLfB9P*L9YkYvc%UY~j$-BD_ zc907sva@5VyWLf1=gOB@F~cxB0=StHu)`!QwlqS651=TI{)17VQ6QJ%WO)6G3fE*T zZYpE-zV?}$Q-$(Jtigl`6TUfF0k zjY-ZnN5(*+Vbr3M8la>&%n7@U?yRm;^#vj-LW6?v8$7uKE((cHRVotzm;2eYl`L*2 zDi;$vKnN!nq3`)5gLibF1@(PJ&J2BpJU9t6DZi@h&BBgP7~rFs0lCZgQ{BO<(**3@#X3EXV?b+{=`;09-uugA^Q1a9yP<6lEJMG4##x!gEC zE$Tt%OEzN05Z6(uJ#%==^KjG7YAB3tg<>2hI{Y$BbbY8-+_}?1#*dL>i5zg?d2vLd z0~{*)$-%+Tony=P#ZMyDNP6wEV;!6VC^g_ZV-@iprbDj8fsz`>_bk7h6e5V8%QG1~ zAR!~_p*WEs50>yQv~vGdnFkguH&>CX4vBu4oLKG# zP$WNqX$JbmXnbR*BQg@-$@tF0cNKi+;yVT31M!X1Hj%#g4&%EwzN_Lp2j8V^>rY|d zxXG%@FM054(a=yawU2W=uEEoGVah=}r-D@)=s5XSgDqxPjCcD)vQY2gwo}B z^2jPTOcpJtisFz`Tv6T`$1V)SP;B{fC?CWXJP=5g532HU9Y;po7G{#p>REiyI_Mp{ zTi8KsDb%d`gIBmJbs>MK^)umWuBN(b#2qwo7WaC?)aVj?BsqLY+btP3%ci*=A2|tp z@F?$f!sdx3_~0b>+WL_9Bwde>P9@cWbJZo-NCsLWd=sCTvvQJn z?V0QLn3*eQv8NMetF9YWi@mlREwi(=Qpo~X`~N^vxS7SSR&DPMA;8WUE7 z%EA(gtm+ic;Yz?gZ$Wk{T>d&|pFowx&e=DNg;K21W02T{fDRWTWW%Y-}&V z#%&H8P=llDs5ao?uC6%c5)BQ&EgP(YAi6J#Dw`Dbp2F z20*7L;wN#oQGK6iRGD5j#=d|SiGZ5@KD(KXy9Q{ zuq9X&BBE=pt?k4b+Id1$if0s+he7~wdR5e(MoP6fxo)3`ui1zyh5#HGZtQdsF_rPk6&TPo1VbO^y~96y96J%>c z%>%;fXBR0l_)?%M3Ur$c%M_@z1SKx-{x1!ZBcpST=oq;q(fshcA7_lj5goPmq!#S# z9bg{r5!UVeN(voiu!??xgg@PD`6s}juGM1MQ=MP7wJ(U7wJ(93n-!E%+k@3Vt_$5y&;qGQ08sH}w_Dfm#krX;%(?Wu09Nm4Vea^P|G9q|w@kWlREq9#R z#W**GXt-2?RLh6t-9VCO)Ho0OTTO3(o)r7;&tl(X5g{FeyYtTC6+4I*lw#OEOr!2ZQaa@!HuCWYUQvMQZo2*l$rebQ zW}!G!K@nLYf4(omrn-b7TnY-a8SnKrGPr)>p-9DeCfeMmu;B#{+E2;d0k)5g+DoP^^xX32e=T&Pc|S?DJ0enSwgT zrOrDA)OjcLt9!)`7%R;$C0TC7mN@i;Mf#XSPdp08b0FMxp#rzyI2Vp}Spm6wii6is z2)6W;zG>mLKpt8T6hZ?yJ;V(|xgDg3&XPZsia0u5Dn$#OldN-}iu+dFutM*W5wm+P z?mPTSmdBs4i%?6L*f&eY))xD%th**^RmWOn|8dT>Xgsh5)~leui0^znT_;aX70X}F zyUM63#`)aRBYmp05=HK;@I;JK8RVi=NHDO|?Z%_@*WdtWowzbpirZ&ON!!thXla>Y zU795?Fpw8|K)bj}nn#PaC)>wTBWoR-SX<(N@(OB<6hUbokN&_AoOciGQ1%ivRE3rq z(Rdq(ZP_fMVGB|Vop(v`MqT<#&|Ju~Lu%r$c9eLkP}YUcb3rv1NZ`oYW|`0(bHn*s zRHr-UrpK6@JY%QZ=2l8MQrX_vufsnc9hBy#+DxM+Xl^`CsM|;Euz5#wqunaA3WP4Q ze$_hM?37^FzV^l1moE2I-OW&WNsy1;*tRQaO>9XIYp@%Hrx9bULA5#!LaGb{2sTfh z07>r3tCcD^4b^v{nrm5#?Y}^%5Gyon0iOP%-LRQUL)oEA6qU03@Skjq5blY9^b%c} z6$%IBu`v<4%sgy1%aMz_`3=!+kSZVgi8=Bpv>bDAQcT_7OWI6aktNxZp{soS`JG4U zS*It5acY-9wDfv7x;Lu1ltWTk9#G+x8yZ?%LwM?&IM3q z%#hrU6lUmi)(K=ap3d@0ozijdV^xTegIgGJ`tT0e- z#*$ZbNM_*w(q+{+r|{4O5*o5cYQ)NLM)<8AiJ*1tY`2gNFHuNF9=MR3*L&bvHn61j z@7-d~j=Nh8!g`?c%q%$ng`7#IBy*}Tk8?Znfd;c<<+}!}Qf^XF+|pJcr6LP=9pd53 zP`1*pIa$|mm5S6U))hfNjKhqj+glork2+=%`D)VENdyqVpTan-bi1%-M_BN{Tnw_$&@8S z1n>@rD|z$tswFGPAdZ}(k3%Iyg==`=1|9YIQGqlO3^LIZlx$09r160UScApLlf1YH z#x_N#8k;`9V6O5Yr*nYQyzJA0P?qzbR7Z@`!afcnepg+@V>XT_Q!!zTFzFY87pPudM>-X#>)c2iaZ$hXxP4mTqUe;2>|o@=5)|0&R!xcO1GxweQgMJIAJR zjt^3(j_bEwx?$79!BxwMu$QUR;GjTl;>sp@Y#Md3A$g3}FWoxWR&E_km*%CYGzWG> znhkF1leTU8AguU5~eP;YM|w zD1(1Cd-(rf)cR88|2rli=Mml}pv9R$@PA?gLE8k-=rJaM?)|@I0;*y<6vx^UP2m4` z0RLZh02Q3s&_vw9iy8Q4HFUV(QDb7kxSP?v_|kIkX0+t=n-@f2&r=S8d~Xw;DkiKG z;&M$c4OZkUBIMI;cwx_$ z#{2(~n0$GaOH7McPP|g!snzI+%%A1!K9j%flb5a7H?EKvDE>z*@NlEU0^&Hi|AcmP zZe{r&lhn+Zbvw}g@7Y5vmkh66P2D8p&Pb`Q7A9ku?qEa3EH5ysiHMF%`rKtWbG)Xx zH|WL2-9*JOgGgf(4V`159Psgx#K>6={_~W4%0^sv;;i*2Hy^xR#af zRRtRM0u0tsuy`epm)M(|i*@jLSON9WyQ-I!ldMZ7oB_EOucVZVcqyW4Z+3_j{H#CJ zlLbP(_-TQ!P;W&bgV=IrkRlu`#H0dk3`VQ=k>ydM>RYO7Ipwa=z5URJSqdLEH?`2) z-Bm}Bg?1>aW-m&`-1LY#%oNGm&)}G7tr+UI?nBcki&>SP1y2x|s$x{exd9X#*@A0O zMfL-g%`%R&8Y!W2^;lu{vmQfk;F@jDuN+9%>q{~l`d>!{4J1xpOT1px@GPO*2+lFxg77JCX%%cxSP@iZW30gle#L)|YkuU(Ha=F}TECG%pRRZ|apBgX81x}J&ycEIqqZjEl6oJrt??~^x zqg16xFN%O*<^P>`ce!`D2Uz&~(~lQ+XJ=<;W@mS2=k41ERs$T9p_C^%)r)=~Rn4V{ z(u1&`W6uZrDL~-)V0;-O_%{`Jhv<0{9`Wp87=kjsFa%xLi#tsHdM%Dot^$fHpZXek zE(q!AgV=q|V&615(C~8w4f`q^(dctZFT%&xXJG)%u7hS*dJ`H6OpFv)`cU>!_0s_` zY>K~O_wXFE`GwsWAZ7~?Lsc|qQ#+V8L8u^6m&KugcD??v8%W`66M~{QkCtepTEjBD z31~2uXaoGXca@#gFm3$-Qv1?~B+ZFd#EfWvr-l<27gO&zCQj9R5g(=45iEimUM8FH zOM&UPACXh~Yo)<7iZ3RrQ3Ag-y8_bSf#m?TeKkfz`(r=GX+MUqn3%wBl^aWt<1Nsh zOmdT%R8q|ZQbKvYF7=y9oS#yDpe@Mie+)s0K{JWFlbQHU&o|hx7xztF24x^|9kj(x z{skaD)E1#rvO{GMVFyMS#s#8})FH}Xg5M8u0HCN*F*N{zf%pJ6tZG}-p)|k|{&AF4 zqXFnMe;BAzAa;a>gp{McP9c;bYGWYkdwH{9i%Ab+9>W}=-jyujb3V#0!VJc{I!5r~ zf$&Pfnn`>bIj)=lLEraGU>n%2;*%cl`rfjA57UyWPQc{%9;Ke4>4IPeGDSKfX~UFd zptooZ#-h}dMUArBlN4Wg7g3JLco|KEqWdeVLaQWjUAiAuq98?|+wwI~z93bpAoTzm zHPS~d{1=~N-o!dr8U_SueCz+CYG9MzSqE3~q#k-y2LWXKB7ue-C2oSJw~LFToA4`m zyVy|hb}>EBG5P||sEx=xbQFw((CqjKnQ%~JB@i5;SEtdY8Uj)^r>YnEP&N3pCX?3S zPW!Z0)F|Fnr+&ED|F3%U_YyufN6e}*4D=XG6+9NDx0}(;^iL6gAEVI6AqJQiw zX^TqlxI>w0WH|6{v-(w&{eBzt$6jyaz}&%!=&uevtrM|Lg@|X#Y3NS&{s^yv`*85D z1gA&!xZnxxqlRga1$?JR$x%_gI$y9(8A=!!SExl^7d)Zca3_A73e2B5%tjPXNOono zj8#9#VJyD5;P@*xaq&dALzyU5wk^q`^PjOK+ zSmP47Xy|$0*wmRt)PDeeO{m(~*yBxisttCMM5TJ}R;`Wi`I<52WM(DpgWcCOhM@hFbWF zeL?$u4MOn|FxGZwWjiyHiL22DQ3hz)&g5)k3c$v6C-wbogD71;BO8i?8UrL(f@E!1 zW_D|1lG{nT*@DVGKvtS3(-i<8HbBLs5SOu*Cr7o?v!GX7{op->3(&h^5RZgdh{k|4 z-7~a^DAml_&Y0cWo!lk^mW`Gt77-COeN0R%B1$%LwpF?J3$?h2kYPyf6q0ad5mByo zy9{T#JK5Nb>^Pv{Jw-%OmrrRxJ5)rJXzfY&w8C)nrRGzeX=$ER8fRT1g`jF)XNp_ZLBB{J9UtdD!yH9OswEohIK8MfB~p~} z1GIQcBSldkn6$YjQj`wx=`&*hcSjc3WV$mmz}Ru1CS;Q}2P___-+>c<{f6#@rU{Jz z`z=zG@Hd>@E|X;XR2G$+)~dr=qP#XGn$}84z@IvpA5c6_7NymZo9T5WyR&@q%#}r? zqaoG6yLz%HgOpL71=T_ABIY-v9)X=1?krEX*ON(8%K<+y-JJ>MGkv4~j4X-~W>Q)X zspdQ2G<9XO8IyxRTs8S{ zN{uX4iDB%xi0dhG6Vglr+ z5QrI&uEj)=Ivz5?Pm2{0$E@1QRb3q+##FU%Off84*-me^@jvNr0eM<6QO40W+nu4V z495SMo>jrifK~@fk=Kv5p_r&p&!tXtetRrHJzNY64XiRD*_n;m6N)xs{wiqTS}{?+ zaIw$AyBCMewM|aTNr5G`X_w@osV%R#P-=P7Jl-l*z_6MEbW(9q5%VC;i`fhVkOlBj zw!FBA4B)LrT3wO>-&|aj15Ys1Y>zP~1L{o9Ng^veQe0Gs&%wfpzD>p$B&x|i`?yk^ zOcu*aR)C*hi;FTfoyl!lc`;X}7?X)L(C8yXsk%Opuj2swObEFa7Jjc2nQ=mtt>Z!S z#x!-sG(MT0PHVve_y_S=9G}^`}wttq`Trc21Ud*8L5id8-MtFEHjFC4^{3y_M`= z1qPLXe}SpGmZuhod{#n~Z43?NxSqNp2BJe<~p=_zfaJD$v_~ zONtV8;Nf8S`L#Zxq$t}W1FH!X>H`{8-(yBeQPkHpG{6>=6lLoBx*d2~kiq2vctc5{ zG)d0En9=I(i;_Za?s36RfN~TWa(dRxM&_H6n6cgHZf|mHnsF|J9o2Y}NEmA9r;^Z% z(+gc?Q?^qnQ9M4wO?IdH5WP!@qFC%{Dn;qwQZUQR%(Qk!O!zdH`S7UX)Kc&kyq>Hq zV=AT|02Y)IrK(zLm{W~eE=(Y5V{1!^VgcEKvaJ-RX)OYyU&^9{(9$#@#Wc#mf{>)|UFxe*hNWT@ghK zD8%8I^63PlpRpSgML@E zN)>Hc&_BJdh)VEJ84Zz~bVkb=Ymt^sa{?IbS4P+HSo-QZKHq22yd+eHM?erPO&2pIXo#{}1PnDdh$~T{R%>TQhAYjO z?ry6pYCFD_SEUMsZ{|v=K@;NvEr8bjlUhI$0GG>)l4_N@v<*}%{TvFSYTYY@U{S@v z6+{WOA{GpnT5n7UgsRO5fl#d_AOt;P$@7wBQ2%eJAS%A5x(!vT_#GTy7G*~&sLMe0 zY^a`aPgfB41#r{dDbyob1<1cv5Q4^%>Q@tX_llx&0K0WTK>_}lib7WHlW-?j6y<%x zJjL%Hs8XZKORs6g1h3YrqcQ#~6MxcEL%1U3OamIaG_WT>CEhLR!Bfgqlb3<1yFCn8ll zLHbeW|b|a}lI*dF>Rdae3?JxJ`BhI#OKT7FjMY?XJ1`Ct3*0k?M$kEHSEaLZY4aXYhSJ-uel#i4I4dToude$Y_PR*pXlb%mH@V z-!ER$=O)RS<*HBBg8cX^YufV>S#`gE(;vYfKTkYWJB@oAM`1B z8jOMU+k5B;-FRiemfc_W5^{9~7mq z1l3!m5tL6iU)&b zPv-cY-vAQrC^|hPO8J_keJUyg*8d@4zq6g(z6(%&+e1Drl_6V*-}jKHh;SS>HMN`w zHKGgZc)SU|P2Ty3#7oJ3sL|Cn8CxA!%5!i^-^+ntO71uCj8)Teo-sOeofwW3S170e zcnvf#M(;3QVcUl>3-ci7Aztaz9i4#gqpa8^@oyGeMKr zmF~%P`8Wij2buB^QyykG*)Cs~gH%x(PXPkd4efVGHD_=>NM5Rmf^|9cy*>Z z5QbDRrA*QtWx?JwS+nT5NP^4%z@bHbQt?wvd73HDa4E7z!x|XKv~DZa8Jo-->9ne$ zX2E75tzE&+*^#1-62Fb;nL`bxJj;|QrkI#wW=b?;Q}|1FZsWG=ePCT=iiJx>eVo@Y zamJYv!xSr1VwqxNik&IXG39wK_2h|fG;gWD@cfRI@7}r{Uvu^hQ{ot#%AdWn{88x$ ztGgVz@Nm(~NvZJUrt#``u48WFYFFFyeul4>o3ZKq={whmLX8%g1^6@WIwpYM6akE^ zKo#W$#%BJ`F#Vw}@Cd^^ z6ie3o&di#zxh88=RFu`x3@Z#%USi72OoS!-x@Yl(dpucZYWvPEgxw%ASDY)q6{TQ|lO zt+jy|vxQ7IU=lIWFMXS%)mIy1O~6Fp$6a5oZY9%#` z(DtL<^dGIrcJrGdrO|I`rLbGx*3NHs%+Q*FZ@0dq70Mp#)OMWRmc%Lsxw6}n5$aGH zajAI0)EbpSoe|8NTr{eJdBjSf(qKNi6^R|pTUuk^t~AzyV%!LrC{45=>$@~`gSBGY z&}0_O+tR3~f_Zy-NGqnO4AO2vxyj_Ai6WRcXNHzXzZaUfcu8qN{Fp4#S}{FE`6x6W^KnRfX6q-2 zhA2&$@+ym%t@`i2)!yoh4PdXBXfkVewDpq-WJ<;Xg+xTl-Pu|7lO2vwuL1x9SrY5} zVoI@aj9dsAI?}bQ#r_vzu!uRlBm7Xm7kW=yHCqxB5w}i5JS;H@4@MJlxa9rBOze#7 zztSuoE=&XBGq-kTljiVEnlUATMa<>@{U0#XRKtl@L$>xDaVw=cij=@diD`To$oF^*a5n1WW=t3NBO%JcQHGWYIow z!;Z39;d$20~ zYg}sbmpPBlO!H*Zv$!mZo(%=lT*BV?FL4}7GY`yiDd8`38e72WYtS)qJ6z@V)xXGX zINf0?#|4IDv5w#&bGIe-GfsR`zTJXc>zXDR6Y+`HDgR;ID3ps|I+SW zV^n)s^vj0%wsvZhe1H}IL=J)rKZ(W=>XX-&CMJ1k7@zYHG(u&F6S_q_~)Z z*jB4xiP>cS3Jo!(HB;O{uqoEG02Q_s1e<9k4{=j$=2e{B+yaZUMXwHJ-DX+CLp&c_%v#LKOnFyA7+G4R z8w_n|j#3}^HpS$XfY>i)FFOC_a5HJKeg#u3j+&^CXQ@t03VAr(O>pA()X<8)PhR|ilX5R=T4Te2xQ>dctrp=*7Yd3Ex1c=@m zsz$qITWBlxnC+ovZMW{=Aug>wc4ugJ+HJcEVc2)8Q*5C3%u!K$LNLrxroACF%u(ij zg)pM`he&IVvV2hpBj(FOG^_^-VZG^S){|t!XYE)i@Gu ziHUAB)dtUKYbFB1q|f=se=i?}m|%*BDVZ8$jJ9+Q9m3Hu-C&(ec~6UE?XFJ8UZ!L* zC0kn(+oMo*+oz$cLA1RmCVx#8OH{9rzB5@&y=i(?a+s2<#WVL&8+~63i|!j@Dkh7i zpNiC$Deai@ffhBUKm0+ae8`lKnDQ}GK4Hp#nF7x|Vj0aD3E5_JkI$n`a;79Yy*M9~ znBfZew*{Up9NXn;Y}@BOn`5-K0#E#L^foQ6pbDNvM6BR#G0zlohG`4-r@U|NuI#R^ zGmBWsYoYP*_%9A7{LZ5Q>O(bY74H??zWk3*IMj}UTBX%|AaNAf%KUE+UBo6PCa2*P z5iz!gkN*cUhUZvOiGf~EsD+&ulh*P9|Cmn2vu-@6^Ry!kuH&QrF?^Y9e#R10T>jHH zYA>(%nV;^+`n#XKC8s%>U|nf~SPhdl@X`Mq^RxPn`r-^kLbjdW%)m03>fusdJR3_0 z-)m|f#NPEGsd^^r8_sGoX(J!{&k@;V^2wY?;ySR7k*s%dCT{m6Ht;}LmGu;sQ>Jv_ zTzP;fV%dt)TdtUbc!)wFkj_ATSo;t%mheLsDhE@#_^}Wu^c`T*!;09XJ_yyd_S+qC z@+};jHSxGVzHa>0r=Y&2Vhiv3m+a%Oa-m%vw(`7x1}~utLcF>lY~x*sIo)pl9h2H$ z){|xp*v|X^FIl0mxK*Xhj~ARYpLUV#g*^betFx{5#pQwD?p&DRihW6Hn~VDxpB*FhkG zFsXttY{V|!GUy=&SSfVSA(XM-8IoqwZlCM)r@ha=I#h1Au*TheVZD9RKX7Je(jHFd zivGM~eS7+abbXrxwP6b=$#jP z-nZ_W%-RPZEMgyjR5kcecr9~q7YGWz+AR~ZL$R2G(0jywUMHyWfT8M)nY(d{lW)T? zDBi8n(0A@UF_8`e`c5pH>~-*ZM@rz>EY9Q6F>-WC;3%_y+Si^jN9e-QFv*06G$!3c zw~lvjhQtBQX3LM9y~LE^Awx6fCp9Fa9#<=HGyb<5HpfXd@}{zs@TV8N+xcyO?%@70 z&bo6>2X~v_hNa)RWp^A$C-?~6M%}-c& zau(&Qc^e(xw&pon>F<6z-1K`+hu{4ex5<$k(S9M$%m2(v)$n@oqJ^`D|3EHRLIE{Q zEDU502Sta2Ea9M-aF8_|6dMk*g@f#jmnqC@lnxC1hv7khFc>5VgF%Ea7-R^8L5MII zqzHpSj4+sv9A+Ik%sO(Ib>uMX$br*vVeOiAzUy(_#Esb>y(>$bl22;dOQ7h}DrJR!5FlGv2f-G}p!I$Pud}N34zc|nR zBL~jHhRKGLy5TS#Icz%pVbhVrrXz<$bnR*2?s)ya3Ev}2SS)|AfyQgLY#0Q zk(8B%xPyjz!2zkia9bw;i!hQM4oCmrk+IPtA=ChNkraiIHsONPckPlZaf_ zu98*ss@?FC)$$1S2>PbZIYdEH!MC8DRW9msn zE^Iiaoq^7Y zjy3!r^LDw!2J(Qnar=Pj?}*yo+mJnDuiTxh-y3XatVv<@-#NT{*IRrf7T%+`A^Eqf zPJ*=lkT7*w0fS!e8cu zvFEitsQ(o0wof8(jZ|1~{Xr6XJ@eBzj<-ZPpa1`MK8N#N|HD)FoUgc-FTgU+ z7u>T0BAoC4J;znh=DvG+bqwdT{^Su-&Ntngml!x-`3Fz^aK87Czwp8Na_u3(z;PZd z@Au%1k3aH8Jm+)%5igx{K2LK9`0vw)_N9E-^W6Xc%MsAZ>_2t-k@KB@@Kq$vm#Ifb zZsYIV-tFS-oO;CQ&K2*vwP2i`_)}+BQ1R@&IO7C5IOg=rJglq5v0wEh*QnK`wj<(r zFqZ77F8_8HdHLl_E%Kcv5IBbrHW!PR(qJus%B)1sy)J%S9_Fgs#b;VsrDE< zRjn$!R_$^2OSLED;ZJdSB7O_;nWVK(Rb#uJdWwDV)YIbJQxH7wnP=G8XR5Qs&(vVs zo_SV2T3r$+tD|7Hxd>Zrj*@qnIlE|nfZZ@Z$bL0HB=?Kv@@LVUEyi<`gE$y*F4`>r z3|LPKmxow5+l9vm9r2KTBEpsX@LOlK$@{EaK8xQ~D`)LvpJUr%pJ!ji#>qd$N}|0D zSE%){y~u{!;@D+dRra&(G1kle5SwU^mgm|zJ7|BI9k<7`?a$R@=kS~Kd@c6*^R?Of z=N3_TxM_GC64UG8j?pDZ?5cwcUXRv^W7q1q#V>Wi>^Pv80KHx}19a=f$-U}HVn987V_-zRBzZhC)9Yn2vA*7W zjP0oB6<^lNV(goGapJdnxYwqCeSA#nv--JWb$xs{>I)>!*T%^Zm-~5 z1N~k}l20RZ`IQft=+FQadNs%ugByGZmXMg&;3LLXHHZ_N8+;5BNPOMk6DDppK!cqc zdPT2>|HUPaNX%~7o-?+*VVr2+r~^_x8YRi&8cAYWBfPJ|7B`9$s~h316>+E$YMyH3 z6_*>~+78yEu~!UejQcv+45St|#!ISfH&TZh0o` zHN{DEb{(nTn&Lb<8}_PK9`~vwro4*RNZH(1ljLp4?R#|qa>rkd6X#zYh|~?F+Bd`D zb1|YBNKS0#6|gJ%jrMXw^ZH`MR#Kq>giGp2kK9b9~fYYS~ zuAN|gS|rJNEhI6z1+Ir+(_6%eWi9f7yuStN9&6zh=UR+GLFblU(YxhXq$VRZr{y@L zwjs5@C9Z&ACtCL8;zCPY{=hzc%_|1JHW8`MUQ3d{eq9o$UZ>pmuS26h{6`YM{AUuf zUEWNR`@AWMA#YAbZuFaRV#%9R(Cqd%A@3J&!lvGwih>&`X#W;&b6~ySiW8IGnhunO zZ_Pk{i2e>nDsXG=G!ldjc?BZ=-Au2Y+~YzVpif@ z4PbLNWq&c%f5TmqC0PF#|(%^4^5J8?MzJAu>%CvHU$os&SSZ<1FGO~RcB zY#vg}l5iOU`!dPPzD;t=HUh8wjQY+t_?_?L+X3iMx<`J;zak< zO(2z*x*7TW)R|mNN!^0v;#6D_urAdtk8dT3sjapFG_O?>Tiq&I-VDgjR@(tN(khOf zY4xyt8IT`Z;er6xsdb#_)p{pV!;l)=dKXf2TJPran%0uo(s~cFU$%~8CtD|r3#~Dw zbaq38-fk}&=6193?&sJn_g>Bxx$SJN+b!>NOX84wA1a-6C$TH;Wcdalx7_=|@z8fs zbKJXLG5y^yfUps%UGL&50CoYXYwsRFs&5-;xXnSN<{`DL4c_`^Um|s)4PN(W7uqDr zJJKZaMH=4qXD8F*#Kknc3I=;JTbbH%arV<@cu$;|;lcZNVuJ@Q z?Dk-m@SH}$b)y7IjDB(dbZ zi+KCsDpEgEinaG%;%ufDuOuAse#=>}th(&$tnaX(W?}Kn#(OrbclP(3&B{jM$?Upp zY0g#74(D9s>=gZ3kz1Gj^nP8|zg=ZEuibUdR^yMnr=27YwEF>-ue8J44?RAp%(mip z<%7!d%@08LL!8-Xy+6bf^x=;XY1W4jY4L|%@zsYorY~-M_%ku~k(Z78$SqI*ND^~D z`UOm{L247F*v^lB^(M=3V-V_?ri_VbTB zz+Kv-0uO!+>=OW<{kS8rZzA;@rC66wfZgX4OeUXn0``ng2sr-}V6O*o>nEL&-S($_ol-l*5P3-5z^y}O{EJi7}D7Ixu%0a@9FC&`-# zu&WF22h4L_I5c>z3-^j&yYT)%8QK-;F0?OCeY>G*UN=67*zLv# z13s%88e!MEadc-lK15>Ox+B@UJI|BYa7yNP=R+kngOc;Q^I;NOMaiAr`EZFHp=9?S ze1yct_CRuS5B{0NzUaY6O6->&e3TTq?^DhrJNM+p*z}%!w8YN$jiaBrySKp)UQ)`w34`t?2>1F(Hxo-2Cvm_FHrXN< z3w`-?NxnkhAN%qdsM)a}CnFo#4}7wT{rF6YE$+u>No-9&K3kIa_XFzTetZrnobAWw z!d2|Y=SlJ{f_LlB=YvGQ{wj%S{fWf<{zPI!e|1Bk>GLcK9SCDC~xkr+G>B-qG-P$io@kc65! z5I745@`WI`a-d4?&_E)0av+hrK9I=W8c5^@3DMM@}(g0=}?u#grP)Y=1?NBYABJ|GL%Rh z9SYQwLsb&r4J8sCh7pNw!vOC)jDHRiLx-s(<_#kf%Z3q&9m9ykfnh}A0-;_Rrjqz= z7?J2U9OB6Rh66riI9~=k8a*7=JDC8phjVgpRu1R8x!5$EFGmB%hm+-B91d&0KAf)r ze&-QX+6+JvYm+&P<7@6z7I_=nxOXDwh7d0`zKJZotZ$rc4Y$fTIY#C{dA(* zYk3o?*CtP-j-N^Jg%kOHkXSiUC9!WJkvKY$NPIhyNc=dFNc5Tn)B%%J5~C*(iP@8g z#6p6vn8d#TiH(y~5=SNxiBpq^#EnTrqQhh&F>o?ahfP*VOq@(47EJ~TwsJBJh|`m4 zY8^U-rq=u^z??jV(}K5p3aE*_Q}~xq(Zwk=!(N+06>d#|7DTtH`~a}}O{J#Uq^Z>C zlBv|_+Nsp&{;42!c&ggy*{Rg%k5h^7TLkYmjUS}S(^S4EOe4N$P9qYlrV)uP(}={8 zX+S+OO(pT|G$PS{I+5r)9q>NW`5}nn@M*&Lq(f&*VqY z^fxnA(SM#vjrN&EjSihfjZU2fQnP2NjV_x-jc%VseD5Xr;aU7BRi35t{o^d+yW?yk zF=#fC7&V(n%$^O@g|k%>Yi1LPy|anLL4qHj&A$SP^RrbFw`LQG?sJI5@Hs?c{2U^& za1KzH%~45gnnNTG&LPo{&ml>=&n3~9&Lz>;%mwC_xvJN@aW}$PFl{t2Xx_bR2D0j^Q*}0P%~dH=hvXx@0RoH zfc?0fds*HJ{sX4L6&z0dffbN^(Mo;;s#^&{TUYX%z}vHu|A-!1#VfPp^rz=);%dTb zURgf18fX_*^Phlrb2S9*yoS5w;cEcRU&DU}bjlj=wrUNJXFJ#MUm)08{wqe(T550O zTC~?^9sf;|C#*x2Y3ukcRGGVu+WU4L=>I_A>Fa6gU$7qB?p%-de_YSo8(6Om{BbsU z1Mgs9Yc}wX2DX0#FV9YF;GGQY(gxnyz=m$*T?}meMqWAc@~+_D3}uXm8J!*?QiV;6vZcT;)ZZenE2Zen56Zh$xK z0m6wrggbICl0WSOaKL`T9loD%$L}ZHt@{Dq`UMb#? z9H#V^!vz09P3Ik<^x7jd#&#S*%|rC(6#lT`N2zGTQL1uDO%MBu(yP8A_(e*~H@^a6 z{?{0M@{F%haWVd|&0q6v2Km!t$mbsedy|jx?FJ_19HU{o{21Q>UN;=$I}PmMF*3Yk ze2_uDbc_!+up7tt5Ci-57|%1XZpZmhgFNs!A7)@9j{`2xIL?O~~lMI|-)70>Gx92M z`3xX0It%12XZcKn*mIW80^}=#Tsg~U8(8~ue2zgLb`I#H&+)k^oOTX{Kc3_B3~cIo zKHtDLo#zV-Y{z-N&>){V55!C7`63|xc%Cmd$UQCq()R*i0?5z{fUqqWh~2#eKX^f9 z_tXWD>~szj=D&SnRSsbHOPxE0&m4d{yFMzxd^6nuU+CR4eXaoG|cyWhY@n=dvxK=@A+1Ua}^^*{`4wn_PeTDLEcpw z7UKxApE!iS9iO7ou1`TJ?1%OcrdTG<#pNX9 zv!=WRlF9fcjVq;kQac`j_vkZPwKUmkMAe8gKG`}uJ2UIKXP<55&TgHPR3q7w{%l%W zuJ2EERD2g#JQ!nRVxml`G0|4DCBY}j6us}x^RxTLO$HJiQ>B(YL4vAyV!L+SDPYx5Cv9Td2uE2UBr~=rPN+XB z&p0BxfP_RBED$Ux5~xVPhAvwo5hDer0N?{)e?EAxE|o6kFBD!Xm6!7`Eaevp zF!VfMytHzmu)K0{wN$<`KVK@W91<*DdilV*`J?J6*sH5`o6RkwYP1LR4r4W!?z2gy zvO`vu(_};qKiJ;h2Bz4p&GB-%vC*=vPPu6}+np_>@O3ZhC->EjRvqCtZ+Yxmr(Nq- z?T*8OWL9m*v1{?l7V}jbR;#|6JZmJ3MD(e3*S+SPo1Lw1xa-}DQEfM88;#BWBTj{{ z*;O~1&14eEwal5hRJvxHDa%@`+Nrf<&6+dMR#Iux%BIXSwQBYh-15FX?pmF??UvVU z%k6e-2TzYTyRKDf*ztO!U9lR@>439QZ^iA`UAcMHS+{D0bD+_`>61*Q2LjQq{}+8& z@C^@?PyO&M?*(~K@A2Z57fWX)$${M; z1OC%DpZy|0jxA^iDg&l6DnTt6f%gzU;fSB3i0&W?zK7@+IaC7XF;wm#M%gY`y}g1Q zGQW8oS&l3IZv{?)5+=_iPH0>Pb>Qzr-WH?ip7Dz4`h(8*QRw&p-Av{tazEWc(16&% z7-W%CgBhX=Gi0I0b&ACR1b~;Nv)&3p6Y4m5fRZRgaQix9KMmWx&x+{eczyw}i z5{O)1rlz^@b4;FJ{92Qoqkfq@i{Szj#aAY>Jd~nbTof2UU4plnkpGdZJwYJ~LFj|?Z)-!lyEamJ^I{)ZW8N6<2|a+ M05YAU|JQ8%3zlt_VE_OC literal 0 HcmV?d00001 diff --git a/web/lib/release/libz.a b/web/lib/release/libz.a new file mode 100644 index 0000000000000000000000000000000000000000..f007d1467c1e549e0097f7ead177a891de215e33 GIT binary patch literal 102060 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�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%0AA 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≷ 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 W|Kp$j>h+)g4b7=l=q7h%Uka literal 0 HcmV?d00001 diff --git a/web/replace_in_file.cmake b/web/replace_in_file.cmake new file mode 100644 index 00000000..3005fa47 --- /dev/null +++ b/web/replace_in_file.cmake @@ -0,0 +1,14 @@ +file(READ ${INPUTFILE} INPUT_TEXT) + +foreach(TO_REPLACE_STRING ${TO_REPLACE}) + + #get the index of the current to_replace string + list(FIND TO_REPLACE ${TO_REPLACE_STRING} REPLACE_INDEX) + + #look up the corresponding replacement string + list(GET REPLACEMENT ${REPLACE_INDEX} REPLACEMENT_STRING) + + string(REPLACE ${TO_REPLACE_STRING} ${REPLACEMENT_STRING} INPUT_TEXT "${INPUT_TEXT}") +endforeach() + +file(WRITE ${OUTPUTFILE} "${INPUT_TEXT}") \ No newline at end of file diff --git a/web/src/cpp/FlutterFilamentWebApi.cpp b/web/src/cpp/FlutterFilamentWebApi.cpp new file mode 100644 index 00000000..ca9b6870 --- /dev/null +++ b/web/src/cpp/FlutterFilamentWebApi.cpp @@ -0,0 +1,218 @@ +#include "FlutterFilamentWebApi.h" +#include "ResourceBuffer.hpp" + +#include +#include +#include +#include + +#define GL_GLEXT_PROTOTYPES +#include +#include +#include +#include +#include +#include +#include + +class PendingCall +{ +public: + PendingCall() + { + } + ~PendingCall() {} + + void Wait() + { + std::future accumulate_future = prom.get_future(); + std::cout << "Loaded asset from Flutter of length " << accumulate_future.get() << std::endl; + } + + void HandleResponse(void* data, int32_t length) + { + this->data = data; + this->length = length; + prom.set_value(length); + } +void* data = nullptr; +int32_t length = 0; + +private: + std::mutex mutex_; + std::condition_variable cv_; + bool notified_ = false; + std::promise prom; + +}; + +using emscripten::val; + +extern "C" +{ + + extern void loadFlutterAsset(const char* path, void* context); + + // + // Since are using -sMAIN_MODULE with -sPTHREAD_POOL_SIZE=1, main will be called when the first worker is spawned + // + FLUTTER_PLUGIN_EXPORT int main() { + return 0; + } + + FLUTTER_PLUGIN_EXPORT void flutter_filament_web_load_resource_callback(void* data, int32_t length, void* context) { + ((PendingCall*)context)->HandleResponse(data, length); + } + + FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set(char* ptr, int32_t offset, int32_t val) { + memset(ptr+offset, val, 1); + } + + FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_float(float* ptr, int32_t offset, float val) { + ptr[offset] = val; + } + + FLUTTER_PLUGIN_EXPORT float flutter_filament_web_get_float(float* ptr, int32_t offset) { + return ptr[offset]; + } + + FLUTTER_PLUGIN_EXPORT double flutter_filament_web_get_double(double* ptr, int32_t offset) { + return ptr[offset]; + } + + FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_double(double* ptr, int32_t offset, double value) { + ptr[offset] = value; + } + + FLUTTER_PLUGIN_EXPORT int32_t flutter_filament_web_get_int32(int32_t* ptr, int32_t offset) { + return ptr[offset]; + } + + FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_int32(int32_t* ptr, int32_t offset, int32_t value) { + ptr[offset] = value; + } + + FLUTTER_PLUGIN_EXPORT void flutter_filament_web_set_pointer(void** ptr, int32_t offset, void* val) { + ptr[offset] = val; + } + + FLUTTER_PLUGIN_EXPORT void* flutter_filament_web_get_pointer(void** ptr, int32_t offset) { + return ptr[offset]; + } + + FLUTTER_PLUGIN_EXPORT char flutter_filament_web_get(char* ptr, int32_t offset) { + return ptr[offset]; + } + + FLUTTER_PLUGIN_EXPORT void* flutter_filament_web_allocate(int32_t size) { + void* allocated = (void*)calloc(size, 1); + return allocated; + } + + FLUTTER_PLUGIN_EXPORT long flutter_filament_web_get_address(void** out) { + return (long)*out; + } + + FLUTTER_PLUGIN_EXPORT EMSCRIPTEN_WEBGL_CONTEXT_HANDLE flutter_filament_web_create_gl_context() { + + std::cout << "Creating WebGL context." << std::endl; + + EmscriptenWebGLContextAttributes attr; + + emscripten_webgl_init_context_attributes(&attr); + attr.alpha = EM_FALSE; + attr.depth = EM_TRUE; + attr.stencil = EM_FALSE; + attr.antialias = EM_FALSE; + attr.explicitSwapControl = EM_FALSE; + attr.preserveDrawingBuffer = EM_FALSE; + attr.proxyContextToMainThread = EMSCRIPTEN_WEBGL_CONTEXT_PROXY_ALWAYS; + attr.enableExtensionsByDefault = EM_TRUE; + attr.renderViaOffscreenBackBuffer = EM_TRUE; + attr.majorVersion = 2; + + auto context = emscripten_webgl_create_context("#canvas", &attr); + std::cout << "Created WebGL context " << attr.majorVersion << "." << attr.minorVersion << std::endl; + + auto success = emscripten_webgl_make_context_current((EMSCRIPTEN_WEBGL_CONTEXT_HANDLE)context); + if(success != EMSCRIPTEN_RESULT_SUCCESS) { + std::cout << "Failed to make WebGL context current"<< std::endl; + } + emscripten_webgl_make_context_current((EMSCRIPTEN_WEBGL_CONTEXT_HANDLE)NULL); + return context; + } + + int _lastResourceId = 0; + + ResourceBuffer flutter_filament_web_load_resource(const char* path) + { + // ideally we should bounce the call to Flutter then wait for callback + // this isn't working for large assets though - seems like it's deadlocked + // will leave this here commented out so we can revisit later if needed + // auto pendingCall = new PendingCall(); + // loadFlutterAsset(path, (void*)pendingCall); + // pendingCall->Wait(); + // auto rb = ResourceBuffer { pendingCall->data, (int32_t) pendingCall->length, _lastResourceId } ; + _lastResourceId++; + // delete pendingCall; + // std::cout << "Deleted pending call" << std::endl; + + // emscripten_fetch_attr_t attr; + // emscripten_fetch_attr_init(&attr); + // attr.onsuccess = [](emscripten_fetch_t* fetch) { + + // }; + // attr.onerror = [](emscripten_fetch_t* fetch) { + + // }; + // attr.onprogress = [](emscripten_fetch_t* fetch) { + + // }; + // attr.onreadystatechange = [](emscripten_fetch_t* fetch) { + + // }; + // attr.attributes = EMSCRIPTEN_FETCH_LOAD_TO_MEMORY | EMSCRIPTEN_FETCH_SYNCHRONOUS | EMSCRIPTEN_FETCH_PERSIST_FILE; + + auto pathString = std::string(path); + if(pathString.rfind("https://",0) != 0) { + pathString = std::string("../../") + pathString; + } + + std::cout << "Fetching from path " << pathString.c_str() << std::endl; + + // auto request = emscripten_fetch(&attr, pathString.c_str()); + // if(!request) { + // std::cout << "Request failed?" << std::endl; + // } + // auto data = malloc(request->numBytes); + // memcpy(data, request->data, request->numBytes); + // emscripten_fetch_close(request); + // return ResourceBuffer { data, (int32_t) request->numBytes, _lastResourceId } ; + void* data = nullptr; + int32_t numBytes = 0; + + void** pBuffer = (void**)malloc(sizeof(void*)); + int* pNum = (int*) malloc(sizeof(int*)); + int* pError = (int*)malloc(sizeof(int*)); + emscripten_wget_data(pathString.c_str(), pBuffer, pNum, pError); + data = *pBuffer; + numBytes = *pNum; + free(pBuffer); + free(pNum); + free(pError); + + return ResourceBuffer { data, numBytes, _lastResourceId } ; + } + + void flutter_filament_web_free_resource(ResourceBuffer rb) { + free((void*)rb.data); + } + + FLUTTER_PLUGIN_EXPORT void flutter_filament_web_free(void* ptr) { + free(ptr); + } + + FLUTTER_PLUGIN_EXPORT void* flutter_filament_web_get_resource_loader_wrapper() { + return (void*) new ResourceLoaderWrapper(flutter_filament_web_load_resource, flutter_filament_web_free_resource); + } +} \ No newline at end of file diff --git a/web/src/js/flutter_filament_plugin.worker.js b/web/src/js/flutter_filament_plugin.worker.js new file mode 100644 index 00000000..992403b4 --- /dev/null +++ b/web/src/js/flutter_filament_plugin.worker.js @@ -0,0 +1,199 @@ +/** + * @license + * Copyright 2015 The Emscripten Authors + * SPDX-License-Identifier: MIT + */ + +// Pthread Web Worker startup routine: +// This is the entry point file that is loaded first by each Web Worker +// that executes pthreads on the Emscripten application. + +'use strict'; + +var Module = {}; + +// Node.js support +var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string'; +if (ENVIRONMENT_IS_NODE) { + // Create as web-worker-like an environment as we can. + + var nodeWorkerThreads = require('worker_threads'); + + var parentPort = nodeWorkerThreads.parentPort; + + parentPort.on('message', (data) => onmessage({ data: data })); + + var fs = require('fs'); + + Object.assign(global, { + self: global, + require, + Module, + location: { + href: __filename + }, + Worker: nodeWorkerThreads.Worker, + importScripts: (f) => (0, eval)(fs.readFileSync(f, 'utf8') + '//# sourceURL=' + f), + postMessage: (msg) => parentPort.postMessage(msg), + performance: global.performance || { now: Date.now }, + }); +} + +// Thread-local guard variable for one-time init of the JS state +var initializedJS = false; + +function assert(condition, text) { + if (!condition) abort('Assertion failed: ' + text); +} + +function threadPrintErr() { + var text = Array.prototype.slice.call(arguments).join(' '); + // See https://github.com/emscripten-core/emscripten/issues/14804 + if (ENVIRONMENT_IS_NODE) { + fs.writeSync(2, text + '\n'); + return; + } + console.error(text); +} +function threadAlert() { + var text = Array.prototype.slice.call(arguments).join(' '); + postMessage({cmd: 'alert', text, threadId: Module['_pthread_self']()}); +} +// We don't need out() for now, but may need to add it if we want to use it +// here. Or, if this code all moves into the main JS, that problem will go +// away. (For now, adding it here increases code size for no benefit.) +var out = () => { throw 'out() is not defined in worker.js.'; } +var err = threadPrintErr; +self.alert = threadAlert; +var dbg = threadPrintErr; + +Module['instantiateWasm'] = (info, receiveInstance) => { + // Instantiate from the module posted from the main thread. + // We can just use sync instantiation in the worker. + var module = Module['wasmModule']; + info["env"]["loadFlutterAsset"] = (path, context) => { + var handler = 'loadFlutterAsset'; + postMessage({ cmd: 'callHandler', handler, args: [path, context] }); + } + + // We don't need the module anymore; new threads will be spawned from the main thread. + Module['wasmModule'] = null; + var instance = new WebAssembly.Instance(module, info); + return receiveInstance(instance, module); +} + +// Turn unhandled rejected promises into errors so that the main thread will be +// notified about them. +self.onunhandledrejection = (e) => { + throw e.reason || e; +}; + +function handleMessage(e) { + try { + if (e.data.cmd === 'load') { // Preload command that is called once per worker to parse and load the Emscripten code. + + // Until we initialize the runtime, queue up any further incoming messages. + let messageQueue = []; + self.onmessage = (e) => messageQueue.push(e); + + // And add a callback for when the runtime is initialized. + self.startWorker = (instance) => { + Module = instance; + // Notify the main thread that this thread has loaded. + postMessage({ 'cmd': 'loaded' }); + // Process any messages that were queued before the thread was ready. + for (let msg of messageQueue) { + handleMessage(msg); + } + // Restore the real message handler. + self.onmessage = handleMessage; + }; + + // Module and memory were sent from main thread + Module['wasmModule'] = e.data.wasmModule; + + Module['sharedModules'] = e.data.sharedModules; + + // Use `const` here to ensure that the variable is scoped only to + // that iteration, allowing safe reference from a closure. + for (const handler of e.data.handlers) { + Module[handler] = (...args) => { + postMessage({ cmd: 'callHandler', handler, args: args }); + } + } + + Module['wasmMemory'] = e.data.wasmMemory; + + Module['buffer'] = Module['wasmMemory'].buffer; + + Module['workerID'] = e.data.workerID; + + Module['ENVIRONMENT_IS_PTHREAD'] = true; + + if (typeof e.data.urlOrBlob == 'string') { + importScripts(e.data.urlOrBlob); + } else { + var objectUrl = URL.createObjectURL(e.data.urlOrBlob); + importScripts(objectUrl); + URL.revokeObjectURL(objectUrl); + } + flutter_filament_plugin(Module); + } else if (e.data.cmd === 'run') { + // Pass the thread address to wasm to store it for fast access. + Module['__emscripten_thread_init'](e.data.pthread_ptr, /*is_main=*/0, /*is_runtime=*/0, /*can_block=*/1); + + // Await mailbox notifications with `Atomics.waitAsync` so we can start + // using the fast `Atomics.notify` notification path. + Module['__emscripten_thread_mailbox_await'](e.data.pthread_ptr); + + assert(e.data.pthread_ptr); + // Also call inside JS module to set up the stack frame for this pthread in JS module scope + Module['establishStackSpace'](); + Module['PThread'].receiveObjectTransfer(e.data); + Module['PThread'].threadInitTLS(); + + if (!initializedJS) { + // Embind must initialize itself on all threads, as it generates support JS. + // We only do this once per worker since they get reused + Module['__embind_initialize_bindings'](); + initializedJS = true; + } + + try { + Module['invokeEntryPoint'](e.data.start_routine, e.data.arg); + } catch(ex) { + if (ex != 'unwind') { + // The pthread "crashed". Do not call `_emscripten_thread_exit` (which + // would make this thread joinable). Instead, re-throw the exception + // and let the top level handler propagate it back to the main thread. + throw ex; + } + } + } else if (e.data.cmd === 'cancel') { // Main thread is asking for a pthread_cancel() on this thread. + if (Module['_pthread_self']()) { + Module['__emscripten_thread_exit'](-1); + } + } else if (e.data.target === 'setimmediate') { + // no-op + } else if (e.data.cmd === 'checkMailbox') { + if (initializedJS) { + Module['checkMailbox'](); + } + } else if (e.data.cmd) { + // The received message looks like something that should be handled by this message + // handler, (since there is a e.data.cmd field present), but is not one of the + // recognized commands: + err(`worker.js received unknown command ${e.data.cmd}`); + err(e.data); + } + } catch(ex) { + err(`worker.js onmessage() captured an uncaught exception: ${ex}`); + if (ex && ex.stack) err(ex.stack); + if (Module['__emscripten_thread_crashed']) { + Module['__emscripten_thread_crashed'](); + } + throw ex; + } +}; + +self.onmessage = handleMessage; diff --git a/web/src/js/main.dart.js b/web/src/js/main.dart.js new file mode 100644 index 00000000..6b1342ea --- /dev/null +++ b/web/src/js/main.dart.js @@ -0,0 +1,44 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +(async function () { + let dart2wasm_runtime; + let moduleInstance; + try { + var Module = {}; + // adding this as a property to Module means it will get exported "across" the web worker boundary as a handler + Module['loadFlutterAsset'] = (path, context) => { + return moduleInstance.exports.loadFlutterAsset(path, context); + } + Module['instantiateWasm'] = function(imports, successCallback) { + imports["env"]["loadFlutterAsset"] = (out, length, callback, userData) => { + console.log("This function is only provided on the main thread to satisfy the WASM runtime linker. You should never actually see this being called.") + } + fetch('assets/assets/web/flutter_filament_plugin.wasm', { credentials: 'same-origin' }).then(async (response) => { + var result = await WebAssembly.instantiateStreaming(response, imports); + successCallback(result.instance,result.module); + }); + return {}; + } + const imports = {"flutter_filament_plugin":await flutter_filament_plugin(Module),"ffi":{"memory":new WebAssembly.Memory({ + initial: 10, + maximum: 100, + })}}; + const dartModulePromise = WebAssembly.compileStreaming(fetch('main.dart.wasm')); + + dart2wasm_runtime = await import('./main.dart.mjs'); + moduleInstance = await dart2wasm_runtime.instantiate(dartModulePromise, imports); + } catch (exception) { + console.error(`Failed to fetch and instantiate wasm module: ${exception}`); + console.error('See https://flutter.dev/wasm for more information.'); + } + + if (moduleInstance) { + try { + await dart2wasm_runtime.invoke(moduleInstance); + } catch (exception) { + console.error(`Exception while invoking test: ${exception}`); + } + } +})();

    Alcl`#JSoU;>63yAaz>rJ2F` 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�~4v$eD0fU&_r_{Cj8tDUgEYG?ER5B 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%0AFO$nLTa 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%0D`45W*v{?dl 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 literal 0 HcmV?d00001 diff --git a/web/lib/release/libgeometry.a b/web/lib/release/libgeometry.a new file mode 100644 index 0000000000000000000000000000000000000000..e6b4fcf43661037a9d353ae7d882639ce703dc25 GIT binary patch literal 65450 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 R`f;N{&tGHyI(&|b{(sYoHQ4|F literal 0 HcmV?d00001 diff --git a/web/lib/release/libgeometry_combined.a b/web/lib/release/libgeometry_combined.a new file mode 100644 index 0000000000000000000000000000000000000000..c195cad4cac698f9e28c532ecda60fd85d3baf0c GIT binary patch literal 65498 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 Vm6;;nljddQ`#ZCneij@?|3BY#K%f8s literal 0 HcmV?d00001 diff --git a/web/lib/release/libgetopt.a b/web/lib/release/libgetopt.a new file mode 100644 index 0000000000000000000000000000000000000000..d01c025d633a9d9d98d1e7b46bf97201a600cfa9 GIT binary patch literal 3416 zcmdT`U5I2y6+TtBZq@Cs?o5;9DG{vhU2wxPy)%>9*~}2#y~NE*6!RiNo_g=}+@0;- zp6*Haoy2{b%^xNtkrft1d|MF_6<-92QIv!vAbHU|Df*HJ2?it~5b~hJ?^NCX8N(9t zm|^V_)cTUwk=QQun#@)+bsh)C2|5g^3fnIz%x4O1oN?fcGQ3bz0-ujokPL#a9 zn-`<~g7E7Ncc{|=G0rD>5y<_~gttnGd_3k=Hr}P6))|b3N9fLIIJjDFw!7_7h~QSZ zH`W8*)y>TkIB;i^Jps_-#cS8Dk-Qik9v+Irivkb%FJ|c|A3nC!=?r?qJR5iR^1adc zsw7deCq>r1(%B#NhDAP(4n4cxDaAV5*(8q+iDmWPb}@RqOJOl7#)Etqti+Fxdqs|o zC)uB%+7tY)RR8o{UcO<3IXni=HA)*-TG4S&%5(DEF)!Crsps@hNNUCB>*Q4WEK4)v zd|lX?*bAPU(uSPN_*E*JF|>l2RAAqxhfO8Vx!BP+VNtj^m4)}9*@IptN|!GLO0*1k z5H>TGtW)q>+Jw63!)#61DeN?$@u2I(2uh6-rANV0x+tynopy0QRSgfZm8A4F_>NA< zT2sSj`rnVEriLKi8?pvtiFKlkJ6=eSDWhmAAiD0;;WVcsF5$Fd7kfx9>9=?X{*}{x z#5)bCrAyh6NIebFgb*#{<9@ROG)dpdDP|@#F z$~b{{6Gx8oj~h?$PQ%~LyHYvJ>J6`u-agxL6_?Bxar)CBAW9z2iKF6Frdt3zy9f{q zmlet9b4|B^i=n0rjZv02<1<72SwQf`IjT>EScW${)$-yZLE&Du45voA`4@o$G1IH? zrgw;}NxtnCN7?8f_whMp?SFW;f`hh-D-NYgVNfRXiSMa?HyaLHyGr**}$O~ z_C~`k2gxs4iJF_P$+g>byitUMGHyIvtUs1_fcrE8b*96m7v1xfOzIaVwPDsT!7*(a#-pPur9gv`M%$Be(X{o(EnY0(7)#n_5 zL-PF^>iCy*TYEh6_5uVFjiZeA>L*!iBxXhcO%lD!$g1OfFzU7+c=)U5)w)4(zFn9v zNP9dYds>lsK-#azWFJvvuS8^C64L%bfOreUUqwvjT@despzld-UY63nDxvx}X~@1K zvHwCO?TrW~ZblK&E0Lz>l{RlFY2Q%^(UWn7o{g*K`?0h?j4jd4xJti@tM<2Xjp$YE z{2e=Q$8h3cWU)_3yFwJf{T&DSoi?qnOA_ieAOZ)RuK zHt*f(p1Fs9!M>Nc`R7IFQl1qDxZ3jM(%wOlZ4dJ0-N9%(8%$0nliu!dIsZ4cws^G?JuLvI$e*r)go;+RXo$ER9vWw5I0J> z=(h}y1Zb+$X+a-*ijyBk1znfv))H#_Odp{H2-+?PmUEZ4SPl}LGv#b(4MDwyaRWmP zPaO$QZ;?YBd=yl=0GtvhBJeG~Owm!yta7%gt<%u+_ae+n_Q*9Ud$FbWIi7hVc$=4~ zy}~YhL?k5!*#(AZEL>&LC~vT6%r0)=;l83VpsO?%bi<(jGW%I5piv!t0@c%;jLcbO m9+Kvf$oyGG=HD_lKZs)U<0vxEsEBSVO}|0c{9F~J>i+<%7zM}x literal 0 HcmV?d00001 diff --git a/web/lib/release/libglslang.a b/web/lib/release/libglslang.a new file mode 100644 index 00000000..a861b87d --- /dev/null +++ b/web/lib/release/libglslang.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e7cc9f6dfce8e065f3f35a6ef74825ee5a72cd76419d1b2d8e8794732be1b0 +size 3391640 diff --git a/web/lib/release/libgltfio_core.a b/web/lib/release/libgltfio_core.a new file mode 100644 index 0000000000000000000000000000000000000000..edef6d5d14945c411c9b3ace98c20a57e485491f GIT binary patch literal 735774 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

  • E6a3K<0lmpyo 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 Ly#8D9*&6y!<5g=) literal 0 HcmV?d00001 diff --git a/web/lib/release/libbasis_encoder.a b/web/lib/release/libbasis_encoder.a new file mode 100644 index 0000000000000000000000000000000000000000..742d5dc7a3d064d65e5bc38d80313a9ff7bdbf9d GIT binary patch literal 949302 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±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