From 1e10fb6360e7ad48fc02b1cad1063ca59e574038 Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Fri, 4 Dec 2020 10:18:16 +0800 Subject: [PATCH] copy for 2.4.x external. libuv compile with 1.40.0. glslang compile with 8.13.3743, desable hlsl. --- android/x86_64/glslang/libOGLCompiler.a | Bin 0 -> 28700 bytes android/x86_64/glslang/libOSDependent.a | Bin 0 -> 18174 bytes android/x86_64/glslang/libSPIRV.a | Bin 0 -> 16200370 bytes .../libglslang-default-resource-limits.a | Bin 0 -> 671802 bytes android/x86_64/glslang/libglslang.a | Bin 0 -> 53065988 bytes .../x86_64/include/freetype/config/ftconfig.h | 604 + .../x86_64/include/freetype/config/ftheader.h | 814 ++ .../x86_64/include/freetype/config/ftmodule.h | 20 + .../x86_64/include/freetype/config/ftoption.h | 982 ++ .../x86_64/include/freetype/config/ftstdlib.h | 175 + android/x86_64/include/freetype/freetype.h | 4880 +++++++ android/x86_64/include/freetype/ft2build.h | 44 + android/x86_64/include/freetype/ftadvanc.h | 188 + android/x86_64/include/freetype/ftbbox.h | 102 + android/x86_64/include/freetype/ftbdf.h | 213 + android/x86_64/include/freetype/ftbitmap.h | 330 + android/x86_64/include/freetype/ftbzip2.h | 102 + android/x86_64/include/freetype/ftcache.h | 1088 ++ android/x86_64/include/freetype/ftchapters.h | 145 + android/x86_64/include/freetype/ftcid.h | 168 + android/x86_64/include/freetype/ftcolor.h | 311 + android/x86_64/include/freetype/ftdriver.h | 1232 ++ android/x86_64/include/freetype/fterrdef.h | 279 + android/x86_64/include/freetype/fterrors.h | 285 + android/x86_64/include/freetype/ftfntfmt.h | 94 + android/x86_64/include/freetype/ftgasp.h | 144 + android/x86_64/include/freetype/ftglyph.h | 665 + android/x86_64/include/freetype/ftgxval.h | 355 + android/x86_64/include/freetype/ftgzip.h | 151 + android/x86_64/include/freetype/ftimage.h | 1240 ++ android/x86_64/include/freetype/ftincrem.h | 344 + android/x86_64/include/freetype/ftlcdfil.h | 328 + android/x86_64/include/freetype/ftlist.h | 297 + android/x86_64/include/freetype/ftlzw.h | 100 + android/x86_64/include/freetype/ftmac.h | 290 + android/x86_64/include/freetype/ftmm.h | 753 + android/x86_64/include/freetype/ftmodapi.h | 785 + android/x86_64/include/freetype/ftmoderr.h | 203 + android/x86_64/include/freetype/ftotval.h | 207 + android/x86_64/include/freetype/ftoutln.h | 593 + android/x86_64/include/freetype/ftparams.h | 204 + android/x86_64/include/freetype/ftpfr.h | 180 + android/x86_64/include/freetype/ftrender.h | 245 + android/x86_64/include/freetype/ftsizes.h | 160 + android/x86_64/include/freetype/ftsnames.h | 273 + android/x86_64/include/freetype/ftstroke.h | 772 + android/x86_64/include/freetype/ftsynth.h | 84 + android/x86_64/include/freetype/ftsystem.h | 353 + android/x86_64/include/freetype/fttrigon.h | 350 + android/x86_64/include/freetype/fttypes.h | 615 + android/x86_64/include/freetype/ftwinfnt.h | 277 + android/x86_64/include/freetype/t1tables.h | 774 + android/x86_64/include/freetype/ttnameid.h | 1236 ++ android/x86_64/include/freetype/tttables.h | 856 ++ android/x86_64/include/freetype/tttags.h | 123 + .../include/glslang/Include/BaseTypes.h | 577 + .../x86_64/include/glslang/Include/Common.h | 291 + .../include/glslang/Include/ConstantUnion.h | 974 ++ .../x86_64/include/glslang/Include/InfoSink.h | 144 + .../glslang/Include/InitializeGlobals.h | 44 + .../Include/MachineIndependent/Constant.cpp | 1428 ++ .../Include/MachineIndependent/InfoSink.cpp | 113 + .../Include/MachineIndependent/Initialize.cpp | 9450 +++++++++++++ .../Include/MachineIndependent/Initialize.h | 112 + .../MachineIndependent/IntermTraverse.cpp | 309 + .../MachineIndependent/Intermediate.cpp | 3990 ++++++ .../MachineIndependent/LiveTraverser.h | 168 + .../MachineIndependent/ParseContextBase.cpp | 663 + .../MachineIndependent/ParseHelper.cpp | 8707 ++++++++++++ .../Include/MachineIndependent/ParseHelper.h | 535 + .../Include/MachineIndependent/PoolAlloc.cpp | 315 + .../Include/MachineIndependent/RemoveTree.cpp | 118 + .../Include/MachineIndependent/RemoveTree.h | 41 + .../Include/MachineIndependent/Scan.cpp | 1925 +++ .../glslang/Include/MachineIndependent/Scan.h | 276 + .../Include/MachineIndependent/ScanContext.h | 93 + .../Include/MachineIndependent/ShaderLang.cpp | 2146 +++ .../MachineIndependent/SymbolTable.cpp | 450 + .../Include/MachineIndependent/SymbolTable.h | 899 ++ .../Include/MachineIndependent/Versions.cpp | 1296 ++ .../Include/MachineIndependent/Versions.h | 337 + .../Include/MachineIndependent/attribute.cpp | 346 + .../Include/MachineIndependent/attribute.h | 149 + .../Include/MachineIndependent/gl_types.h | 218 + .../Include/MachineIndependent/glslang.m4 | 4044 ++++++ .../Include/MachineIndependent/glslang.y | 4044 ++++++ .../MachineIndependent/glslang_tab.cpp | 11224 +++++++++++++++ .../MachineIndependent/glslang_tab.cpp.h | 555 + .../Include/MachineIndependent/intermOut.cpp | 1579 +++ .../Include/MachineIndependent/iomapper.cpp | 1601 +++ .../Include/MachineIndependent/iomapper.h | 305 + .../Include/MachineIndependent/limits.cpp | 200 + .../MachineIndependent/linkValidate.cpp | 1807 +++ .../MachineIndependent/localintermediate.h | 1077 ++ .../Include/MachineIndependent/parseConst.cpp | 214 + .../MachineIndependent/parseVersions.h | 245 + .../glslang/Include/MachineIndependent/pch.h | 49 + .../MachineIndependent/preprocessor/Pp.cpp | 1346 ++ .../preprocessor/PpAtom.cpp | 181 + .../preprocessor/PpContext.cpp | 120 + .../preprocessor/PpContext.h | 703 + .../preprocessor/PpScanner.cpp | 1315 ++ .../preprocessor/PpTokens.cpp | 221 + .../preprocessor/PpTokens.h | 179 + .../propagateNoContraction.cpp | 870 ++ .../propagateNoContraction.h | 55 + .../Include/MachineIndependent/reflection.cpp | 1272 ++ .../Include/MachineIndependent/reflection.h | 223 + .../include/glslang/Include/PoolAlloc.h | 316 + .../glslang/Include/Public/ShaderLang.h | 948 ++ .../include/glslang/Include/ResourceLimits.h | 150 + .../x86_64/include/glslang/Include/ShHandle.h | 176 + .../x86_64/include/glslang/Include/Types.h | 2498 ++++ .../x86_64/include/glslang/Include/arrays.h | 341 + .../glslang/Include/glslang_c_interface.h | 249 + .../glslang/Include/glslang_c_shader_types.h | 185 + .../include/glslang/Include/intermediate.h | 1820 +++ android/x86_64/include/jpeg/jconfig.h | 60 + android/x86_64/include/jpeg/jerror.h | 304 + android/x86_64/include/jpeg/jmorecfg.h | 446 + android/x86_64/include/jpeg/jpeglib.h | 1180 ++ android/x86_64/include/openssl/aes.h | 92 + android/x86_64/include/openssl/asn1.h | 1096 ++ android/x86_64/include/openssl/asn1_mac.h | 10 + android/x86_64/include/openssl/asn1t.h | 924 ++ android/x86_64/include/openssl/async.h | 98 + android/x86_64/include/openssl/bio.h | 854 ++ android/x86_64/include/openssl/blowfish.h | 61 + android/x86_64/include/openssl/bn.h | 575 + android/x86_64/include/openssl/buffer.h | 76 + android/x86_64/include/openssl/camellia.h | 83 + android/x86_64/include/openssl/cast.h | 53 + android/x86_64/include/openssl/cmac.h | 41 + android/x86_64/include/openssl/cms.h | 512 + android/x86_64/include/openssl/comp.h | 72 + android/x86_64/include/openssl/conf.h | 216 + android/x86_64/include/openssl/conf_api.h | 40 + android/x86_64/include/openssl/crypto.h | 463 + android/x86_64/include/openssl/ct.h | 518 + android/x86_64/include/openssl/des.h | 174 + android/x86_64/include/openssl/dh.h | 343 + android/x86_64/include/openssl/dsa.h | 282 + android/x86_64/include/openssl/dtls1.h | 56 + android/x86_64/include/openssl/e_os2.h | 311 + android/x86_64/include/openssl/ebcdic.h | 33 + android/x86_64/include/openssl/ec.h | 1581 +++ android/x86_64/include/openssl/ecdh.h | 10 + android/x86_64/include/openssl/ecdsa.h | 10 + android/x86_64/include/openssl/engine.h | 842 ++ android/x86_64/include/openssl/err.h | 259 + android/x86_64/include/openssl/evp.h | 1586 +++ android/x86_64/include/openssl/hmac.h | 49 + android/x86_64/include/openssl/idea.h | 64 + android/x86_64/include/openssl/kdf.h | 75 + android/x86_64/include/openssl/lhash.h | 204 + android/x86_64/include/openssl/md2.h | 44 + android/x86_64/include/openssl/md4.h | 51 + android/x86_64/include/openssl/md5.h | 50 + android/x86_64/include/openssl/mdc2.h | 42 + android/x86_64/include/openssl/modes.h | 203 + android/x86_64/include/openssl/obj_mac.h | 4577 ++++++ android/x86_64/include/openssl/objects.h | 1097 ++ android/x86_64/include/openssl/ocsp.h | 412 + .../include/openssl/opensslconf-arm32.h | 169 + .../include/openssl/opensslconf-arm64.h | 169 + .../x86_64/include/openssl/opensslconf-x86.h | 169 + android/x86_64/include/openssl/opensslconf.h | 166 + android/x86_64/include/openssl/opensslv.h | 105 + android/x86_64/include/openssl/ossl_typ.h | 190 + android/x86_64/include/openssl/pem.h | 501 + android/x86_64/include/openssl/pem2.h | 20 + android/x86_64/include/openssl/pkcs12.h | 282 + android/x86_64/include/openssl/pkcs7.h | 404 + android/x86_64/include/openssl/rand.h | 89 + android/x86_64/include/openssl/rc2.h | 51 + android/x86_64/include/openssl/rc4.h | 36 + android/x86_64/include/openssl/rc5.h | 63 + android/x86_64/include/openssl/ripemd.h | 47 + android/x86_64/include/openssl/rsa.h | 589 + android/x86_64/include/openssl/safestack.h | 164 + android/x86_64/include/openssl/seed.h | 98 + android/x86_64/include/openssl/sha.h | 119 + android/x86_64/include/openssl/srp.h | 131 + android/x86_64/include/openssl/srtp.h | 50 + android/x86_64/include/openssl/ssl.h | 2529 ++++ android/x86_64/include/openssl/ssl2.h | 24 + android/x86_64/include/openssl/ssl3.h | 307 + android/x86_64/include/openssl/stack.h | 78 + android/x86_64/include/openssl/symhacks.h | 52 + android/x86_64/include/openssl/tls1.h | 972 ++ android/x86_64/include/openssl/ts.h | 643 + android/x86_64/include/openssl/txt_db.h | 57 + android/x86_64/include/openssl/ui.h | 368 + android/x86_64/include/openssl/whrlpool.h | 48 + android/x86_64/include/openssl/x509.h | 1123 ++ android/x86_64/include/openssl/x509_vfy.h | 539 + android/x86_64/include/openssl/x509v3.h | 1005 ++ android/x86_64/include/png/png.h | 3282 +++++ android/x86_64/include/png/pngconf.h | 644 + android/x86_64/include/png/pnglibconf.h | 208 + android/x86_64/include/uv/pthread-barrier.h | 68 + android/x86_64/include/uv/stdint-msvc2008.h | 247 + android/x86_64/include/uv/tree.h | 768 + android/x86_64/include/uv/uv-aix.h | 32 + android/x86_64/include/uv/uv-bsd.h | 34 + android/x86_64/include/uv/uv-darwin.h | 61 + android/x86_64/include/uv/uv-errno.h | 419 + android/x86_64/include/uv/uv-linux.h | 34 + android/x86_64/include/uv/uv-os390.h | 30 + android/x86_64/include/uv/uv-posix.h | 31 + android/x86_64/include/uv/uv-sunos.h | 44 + android/x86_64/include/uv/uv-threadpool.h | 37 + android/x86_64/include/uv/uv-unix.h | 368 + android/x86_64/include/uv/uv-version.h | 43 + android/x86_64/include/uv/uv-win.h | 650 + android/x86_64/include/uv/uv.h | 1508 ++ android/x86_64/include/v8/APIDesign.md | 72 + android/x86_64/include/v8/DEPS | 4 + android/x86_64/include/v8/OWNERS | 18 + android/x86_64/include/v8/libplatform/DEPS | 9 + .../v8/libplatform/libplatform-export.h | 29 + .../include/v8/libplatform/libplatform.h | 83 + .../include/v8/libplatform/v8-tracing.h | 318 + .../x86_64/include/v8/v8-inspector-protocol.h | 13 + android/x86_64/include/v8/v8-inspector.h | 325 + android/x86_64/include/v8/v8-internal.h | 390 + android/x86_64/include/v8/v8-platform.h | 448 + android/x86_64/include/v8/v8-profiler.h | 1058 ++ android/x86_64/include/v8/v8-testing.h | 50 + android/x86_64/include/v8/v8-util.h | 652 + .../include/v8/v8-value-serializer-version.h | 24 + android/x86_64/include/v8/v8-version-string.h | 38 + android/x86_64/include/v8/v8-version.h | 20 + .../include/v8/v8-wasm-trap-handler-posix.h | 31 + .../include/v8/v8-wasm-trap-handler-win.h | 28 + android/x86_64/include/v8/v8.h | 11779 ++++++++++++++++ android/x86_64/include/v8/v8config.h | 466 + android/x86_64/include/webp/decode.h | 488 + android/x86_64/include/webp/encode.h | 527 + android/x86_64/include/webp/types.h | 52 + .../x86_64/include/websockets/libwebsockets.h | 5787 ++++++++ .../x86_64/include/websockets/lws_config.h | 156 + android/x86_64/include/zlib/zconf.h | 511 + android/x86_64/include/zlib/zlib.h | 1768 +++ android/x86_64/libcrypto.a | Bin 0 -> 4648000 bytes android/x86_64/libfreetype.a | Bin 0 -> 1111494 bytes android/x86_64/libjpeg.a | Bin 0 -> 378260 bytes android/x86_64/libpng.a | Bin 0 -> 366830 bytes android/x86_64/libssl.a | Bin 0 -> 759408 bytes android/x86_64/libuv.a | Bin 0 -> 1843736 bytes android/x86_64/libwebp.a | Bin 0 -> 851588 bytes android/x86_64/libwebsockets.a | Bin 0 -> 318426 bytes android/x86_64/libz.a | Bin 0 -> 122998 bytes android/x86_64/v8/libinspector.a | Bin 0 -> 3297932 bytes android/x86_64/v8/libv8_monolith.a | Bin 0 -> 46947964 bytes 255 files changed, 166377 insertions(+) create mode 100644 android/x86_64/glslang/libOGLCompiler.a create mode 100644 android/x86_64/glslang/libOSDependent.a create mode 100644 android/x86_64/glslang/libSPIRV.a create mode 100644 android/x86_64/glslang/libglslang-default-resource-limits.a create mode 100644 android/x86_64/glslang/libglslang.a create mode 100644 android/x86_64/include/freetype/config/ftconfig.h create mode 100644 android/x86_64/include/freetype/config/ftheader.h create mode 100644 android/x86_64/include/freetype/config/ftmodule.h create mode 100644 android/x86_64/include/freetype/config/ftoption.h create mode 100644 android/x86_64/include/freetype/config/ftstdlib.h create mode 100644 android/x86_64/include/freetype/freetype.h create mode 100644 android/x86_64/include/freetype/ft2build.h create mode 100644 android/x86_64/include/freetype/ftadvanc.h create mode 100644 android/x86_64/include/freetype/ftbbox.h create mode 100644 android/x86_64/include/freetype/ftbdf.h create mode 100644 android/x86_64/include/freetype/ftbitmap.h create mode 100644 android/x86_64/include/freetype/ftbzip2.h create mode 100644 android/x86_64/include/freetype/ftcache.h create mode 100644 android/x86_64/include/freetype/ftchapters.h create mode 100644 android/x86_64/include/freetype/ftcid.h create mode 100644 android/x86_64/include/freetype/ftcolor.h create mode 100644 android/x86_64/include/freetype/ftdriver.h create mode 100644 android/x86_64/include/freetype/fterrdef.h create mode 100644 android/x86_64/include/freetype/fterrors.h create mode 100644 android/x86_64/include/freetype/ftfntfmt.h create mode 100644 android/x86_64/include/freetype/ftgasp.h create mode 100644 android/x86_64/include/freetype/ftglyph.h create mode 100644 android/x86_64/include/freetype/ftgxval.h create mode 100644 android/x86_64/include/freetype/ftgzip.h create mode 100644 android/x86_64/include/freetype/ftimage.h create mode 100644 android/x86_64/include/freetype/ftincrem.h create mode 100644 android/x86_64/include/freetype/ftlcdfil.h create mode 100644 android/x86_64/include/freetype/ftlist.h create mode 100644 android/x86_64/include/freetype/ftlzw.h create mode 100644 android/x86_64/include/freetype/ftmac.h create mode 100644 android/x86_64/include/freetype/ftmm.h create mode 100644 android/x86_64/include/freetype/ftmodapi.h create mode 100644 android/x86_64/include/freetype/ftmoderr.h create mode 100644 android/x86_64/include/freetype/ftotval.h create mode 100644 android/x86_64/include/freetype/ftoutln.h create mode 100644 android/x86_64/include/freetype/ftparams.h create mode 100644 android/x86_64/include/freetype/ftpfr.h create mode 100644 android/x86_64/include/freetype/ftrender.h create mode 100644 android/x86_64/include/freetype/ftsizes.h create mode 100644 android/x86_64/include/freetype/ftsnames.h create mode 100644 android/x86_64/include/freetype/ftstroke.h create mode 100644 android/x86_64/include/freetype/ftsynth.h create mode 100644 android/x86_64/include/freetype/ftsystem.h create mode 100644 android/x86_64/include/freetype/fttrigon.h create mode 100644 android/x86_64/include/freetype/fttypes.h create mode 100644 android/x86_64/include/freetype/ftwinfnt.h create mode 100644 android/x86_64/include/freetype/t1tables.h create mode 100644 android/x86_64/include/freetype/ttnameid.h create mode 100644 android/x86_64/include/freetype/tttables.h create mode 100644 android/x86_64/include/freetype/tttags.h create mode 100644 android/x86_64/include/glslang/Include/BaseTypes.h create mode 100644 android/x86_64/include/glslang/Include/Common.h create mode 100644 android/x86_64/include/glslang/Include/ConstantUnion.h create mode 100644 android/x86_64/include/glslang/Include/InfoSink.h create mode 100644 android/x86_64/include/glslang/Include/InitializeGlobals.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Constant.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/InfoSink.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Initialize.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Initialize.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/IntermTraverse.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Intermediate.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/LiveTraverser.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/ParseContextBase.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/PoolAlloc.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Scan.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Scan.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/ScanContext.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/ShaderLang.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Versions.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/Versions.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/attribute.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/attribute.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/gl_types.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/glslang.m4 create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/glslang.y create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/intermOut.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/iomapper.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/iomapper.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/limits.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/linkValidate.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/localintermediate.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/parseConst.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/parseVersions.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/pch.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/Pp.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpAtom.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpScanner.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.h create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/reflection.cpp create mode 100644 android/x86_64/include/glslang/Include/MachineIndependent/reflection.h create mode 100644 android/x86_64/include/glslang/Include/PoolAlloc.h create mode 100644 android/x86_64/include/glslang/Include/Public/ShaderLang.h create mode 100644 android/x86_64/include/glslang/Include/ResourceLimits.h create mode 100644 android/x86_64/include/glslang/Include/ShHandle.h create mode 100644 android/x86_64/include/glslang/Include/Types.h create mode 100644 android/x86_64/include/glslang/Include/arrays.h create mode 100644 android/x86_64/include/glslang/Include/glslang_c_interface.h create mode 100644 android/x86_64/include/glslang/Include/glslang_c_shader_types.h create mode 100644 android/x86_64/include/glslang/Include/intermediate.h create mode 100644 android/x86_64/include/jpeg/jconfig.h create mode 100644 android/x86_64/include/jpeg/jerror.h create mode 100644 android/x86_64/include/jpeg/jmorecfg.h create mode 100644 android/x86_64/include/jpeg/jpeglib.h create mode 100644 android/x86_64/include/openssl/aes.h create mode 100644 android/x86_64/include/openssl/asn1.h create mode 100644 android/x86_64/include/openssl/asn1_mac.h create mode 100644 android/x86_64/include/openssl/asn1t.h create mode 100644 android/x86_64/include/openssl/async.h create mode 100644 android/x86_64/include/openssl/bio.h create mode 100644 android/x86_64/include/openssl/blowfish.h create mode 100644 android/x86_64/include/openssl/bn.h create mode 100644 android/x86_64/include/openssl/buffer.h create mode 100644 android/x86_64/include/openssl/camellia.h create mode 100644 android/x86_64/include/openssl/cast.h create mode 100644 android/x86_64/include/openssl/cmac.h create mode 100644 android/x86_64/include/openssl/cms.h create mode 100644 android/x86_64/include/openssl/comp.h create mode 100644 android/x86_64/include/openssl/conf.h create mode 100644 android/x86_64/include/openssl/conf_api.h create mode 100644 android/x86_64/include/openssl/crypto.h create mode 100644 android/x86_64/include/openssl/ct.h create mode 100644 android/x86_64/include/openssl/des.h create mode 100644 android/x86_64/include/openssl/dh.h create mode 100644 android/x86_64/include/openssl/dsa.h create mode 100644 android/x86_64/include/openssl/dtls1.h create mode 100644 android/x86_64/include/openssl/e_os2.h create mode 100644 android/x86_64/include/openssl/ebcdic.h create mode 100644 android/x86_64/include/openssl/ec.h create mode 100644 android/x86_64/include/openssl/ecdh.h create mode 100644 android/x86_64/include/openssl/ecdsa.h create mode 100644 android/x86_64/include/openssl/engine.h create mode 100644 android/x86_64/include/openssl/err.h create mode 100644 android/x86_64/include/openssl/evp.h create mode 100644 android/x86_64/include/openssl/hmac.h create mode 100644 android/x86_64/include/openssl/idea.h create mode 100644 android/x86_64/include/openssl/kdf.h create mode 100644 android/x86_64/include/openssl/lhash.h create mode 100644 android/x86_64/include/openssl/md2.h create mode 100644 android/x86_64/include/openssl/md4.h create mode 100644 android/x86_64/include/openssl/md5.h create mode 100644 android/x86_64/include/openssl/mdc2.h create mode 100644 android/x86_64/include/openssl/modes.h create mode 100644 android/x86_64/include/openssl/obj_mac.h create mode 100644 android/x86_64/include/openssl/objects.h create mode 100644 android/x86_64/include/openssl/ocsp.h create mode 100644 android/x86_64/include/openssl/opensslconf-arm32.h create mode 100644 android/x86_64/include/openssl/opensslconf-arm64.h create mode 100644 android/x86_64/include/openssl/opensslconf-x86.h create mode 100644 android/x86_64/include/openssl/opensslconf.h create mode 100644 android/x86_64/include/openssl/opensslv.h create mode 100644 android/x86_64/include/openssl/ossl_typ.h create mode 100644 android/x86_64/include/openssl/pem.h create mode 100644 android/x86_64/include/openssl/pem2.h create mode 100644 android/x86_64/include/openssl/pkcs12.h create mode 100644 android/x86_64/include/openssl/pkcs7.h create mode 100644 android/x86_64/include/openssl/rand.h create mode 100644 android/x86_64/include/openssl/rc2.h create mode 100644 android/x86_64/include/openssl/rc4.h create mode 100644 android/x86_64/include/openssl/rc5.h create mode 100644 android/x86_64/include/openssl/ripemd.h create mode 100644 android/x86_64/include/openssl/rsa.h create mode 100644 android/x86_64/include/openssl/safestack.h create mode 100644 android/x86_64/include/openssl/seed.h create mode 100644 android/x86_64/include/openssl/sha.h create mode 100644 android/x86_64/include/openssl/srp.h create mode 100644 android/x86_64/include/openssl/srtp.h create mode 100644 android/x86_64/include/openssl/ssl.h create mode 100644 android/x86_64/include/openssl/ssl2.h create mode 100644 android/x86_64/include/openssl/ssl3.h create mode 100644 android/x86_64/include/openssl/stack.h create mode 100644 android/x86_64/include/openssl/symhacks.h create mode 100644 android/x86_64/include/openssl/tls1.h create mode 100644 android/x86_64/include/openssl/ts.h create mode 100644 android/x86_64/include/openssl/txt_db.h create mode 100644 android/x86_64/include/openssl/ui.h create mode 100644 android/x86_64/include/openssl/whrlpool.h create mode 100644 android/x86_64/include/openssl/x509.h create mode 100644 android/x86_64/include/openssl/x509_vfy.h create mode 100644 android/x86_64/include/openssl/x509v3.h create mode 100644 android/x86_64/include/png/png.h create mode 100644 android/x86_64/include/png/pngconf.h create mode 100644 android/x86_64/include/png/pnglibconf.h create mode 100644 android/x86_64/include/uv/pthread-barrier.h create mode 100644 android/x86_64/include/uv/stdint-msvc2008.h create mode 100644 android/x86_64/include/uv/tree.h create mode 100644 android/x86_64/include/uv/uv-aix.h create mode 100644 android/x86_64/include/uv/uv-bsd.h create mode 100644 android/x86_64/include/uv/uv-darwin.h create mode 100644 android/x86_64/include/uv/uv-errno.h create mode 100644 android/x86_64/include/uv/uv-linux.h create mode 100644 android/x86_64/include/uv/uv-os390.h create mode 100644 android/x86_64/include/uv/uv-posix.h create mode 100644 android/x86_64/include/uv/uv-sunos.h create mode 100644 android/x86_64/include/uv/uv-threadpool.h create mode 100644 android/x86_64/include/uv/uv-unix.h create mode 100644 android/x86_64/include/uv/uv-version.h create mode 100644 android/x86_64/include/uv/uv-win.h create mode 100644 android/x86_64/include/uv/uv.h create mode 100644 android/x86_64/include/v8/APIDesign.md create mode 100644 android/x86_64/include/v8/DEPS create mode 100644 android/x86_64/include/v8/OWNERS create mode 100644 android/x86_64/include/v8/libplatform/DEPS create mode 100644 android/x86_64/include/v8/libplatform/libplatform-export.h create mode 100644 android/x86_64/include/v8/libplatform/libplatform.h create mode 100644 android/x86_64/include/v8/libplatform/v8-tracing.h create mode 100644 android/x86_64/include/v8/v8-inspector-protocol.h create mode 100644 android/x86_64/include/v8/v8-inspector.h create mode 100644 android/x86_64/include/v8/v8-internal.h create mode 100644 android/x86_64/include/v8/v8-platform.h create mode 100644 android/x86_64/include/v8/v8-profiler.h create mode 100644 android/x86_64/include/v8/v8-testing.h create mode 100644 android/x86_64/include/v8/v8-util.h create mode 100644 android/x86_64/include/v8/v8-value-serializer-version.h create mode 100644 android/x86_64/include/v8/v8-version-string.h create mode 100644 android/x86_64/include/v8/v8-version.h create mode 100644 android/x86_64/include/v8/v8-wasm-trap-handler-posix.h create mode 100644 android/x86_64/include/v8/v8-wasm-trap-handler-win.h create mode 100644 android/x86_64/include/v8/v8.h create mode 100644 android/x86_64/include/v8/v8config.h create mode 100644 android/x86_64/include/webp/decode.h create mode 100644 android/x86_64/include/webp/encode.h create mode 100644 android/x86_64/include/webp/types.h create mode 100644 android/x86_64/include/websockets/libwebsockets.h create mode 100644 android/x86_64/include/websockets/lws_config.h create mode 100644 android/x86_64/include/zlib/zconf.h create mode 100644 android/x86_64/include/zlib/zlib.h create mode 100644 android/x86_64/libcrypto.a create mode 100644 android/x86_64/libfreetype.a create mode 100644 android/x86_64/libjpeg.a create mode 100644 android/x86_64/libpng.a create mode 100644 android/x86_64/libssl.a create mode 100644 android/x86_64/libuv.a create mode 100644 android/x86_64/libwebp.a create mode 100644 android/x86_64/libwebsockets.a create mode 100644 android/x86_64/libz.a create mode 100644 android/x86_64/v8/libinspector.a create mode 100644 android/x86_64/v8/libv8_monolith.a diff --git a/android/x86_64/glslang/libOGLCompiler.a b/android/x86_64/glslang/libOGLCompiler.a new file mode 100644 index 0000000000000000000000000000000000000000..a04f042d370f46698e9fb9c8cf37452157012791 GIT binary patch literal 28700 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 L!4187BFq0bso;AT literal 0 HcmV?d00001 diff --git a/android/x86_64/glslang/libOSDependent.a b/android/x86_64/glslang/libOSDependent.a new file mode 100644 index 0000000000000000000000000000000000000000..e5dc9130890f6be557950e89d14d4f0ba2e0ebed GIT binary patch literal 18174 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 literal 0 HcmV?d00001 diff --git a/android/x86_64/glslang/libSPIRV.a b/android/x86_64/glslang/libSPIRV.a new file mode 100644 index 0000000000000000000000000000000000000000..75c40c412cab4cfa4ce22a2f6b50fe92c385721b GIT binary patch literal 16200370 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

a<7%MAPYr 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�LE?BR2Sd#fTlLjTrxCdj8Oa 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ðlk@Nn% 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%0DaT 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

=cRBrk%Q;_X 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

=xSafHIr&T0CfAvKQ91b< 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ŷO*t((=9Vx8>i%o5+vCJIa5B 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‹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

xc2{4xW0 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 vq_Du|2JKj$V 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

_8B`C$`hOa$L>i8FYqV*)46 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

?>LQlsxC^7A;uwC zlpsVW>WaDo-;SiT&#l1hn($&rzA)+Bqy@4O7^#I0VsF5n}p*_t$I6-jU$n zB-0{m?g&Iq!(?$e6~hVjqMy2Wg6H*>{e?&k@eJU_zNv*o+&rxbF5&C} z79y@8WhQe@90g*R?W%%qUirD7x}CVlGOA5HGQ^9V(3;dXa#U6YQnu>QNu^Klh~FnA z4F47f(S6IQx=SwC_Rmv5#3lIiqO5v9K9N_J>ELjB;~oKZqNv~Z` zOjq&G2E(lwSC4U@2%CohUntT3<|U^#d)L#Br33%zy zDwf?~m2oHNtb%fP@hEp@b0{}UJyu*!;Ly#`Xa)zVHFlJ<=R_2y72 zk2SnnETW`D-HG?h{XL#_{JR+I?BY{}52}w!q(>R*^YOp%fe7-D?F|GP-=-4ic~(3p zG2AhnlfW035x%1N;!flwj9f?cE$0cU+V}=RfYO!l2L1G`?Gu+^|8;7!gA`tbwQ;2M zzCy4))fSvWV%1!TB_lBaH@FA8iF|R*osDVe?1<>j<`~CiTL0Kptq}dAvv-W+B@>LH z65`<2-*_HvUaD$iHuK%4t7@;FqbgQshw3=cbp=@6Z_~C3>bs$GuGeboTrV*%^3-)_ zvedBqeAI;+=TM{UT{m8sV_WrV3sGrG)PtjBgn}YCPrZ=OYRNPVxS_usVU^%!$CO^3 z<1Q)B9V&}!=xQrcbbM@vx~`=taedUMX=wCwwLA&B>Gk`1`v6hXgS6Y|ilJJC^*oBb z)oP8Xd_pOtx>B{?Anu-|h$~X7^Icu{rtvZeC2Ea%e}R5KL%rUj0-0B#E^8)YO|LGa zS5Ze4fVyod0K!CL%O*6$L3NNVE*a{}Nk20;+-VEvdCp(eovc#*3H{)t>eSZaYx^uy z!YS${`UH=2VTIF&iP4(q1;Q*cFj(6VgsmQA(`Rc?@lbYkYMyhPdU8}He;27`?D=d* z`Ce)LoZe%ca-2z;dtJ%tMy)~Ndl8|56xEdKW;B^KblY5o!q~0E)hjV~9AfcKS;@kOJSQ3a8MK z`kaZV?Vi}ta6i*oXt(9bA{oKfSO;i3$JY{gkSb&sevXzv#fsqX%eM! z)Kxhm`8ug990`@{&5Wx6?x+pLsyk zYBkxN^02&4MqPMbA4ZG;GP_V4ARnEUOdp>EX3@uIX(ZgC<#4`wCSO|95vQ4$`Ng=+ zn(z^xCfg~nh}M&3yZKgwEc6T0Ms>WxZP44NHHsJLvchB*?mXQtH6dL#srOVn+A>i9 znrY7n{q3Tbws4&tzkbN&%1O-SL`tuO*#4?MKfPvqQUXtpNC`#;C(Smb1P424DN&7- z7-OV_vyV7k;m21pM`TLhDp^Eik~9e8Rzrxo-gAu1F6Xz}HYHBlp%%F0%csfWfl!!` zZzT`q!8^12-P4lEi^YXTUOYK*2j#_`>_L?z2=L`gekt)i-UhZlndwf5& zF-7dGuIg#Rv)Lt}u05?xLa^5suIAM&RX?sADX=}lO}`2lG%U8@@z>YEnyMQtVsG0`JW+j^=83dOi4mBkp5 z*uh2NFyFb%|7ORo@ST2Y3n_{OUwsAN2hqtqSu-GJF>NpUT&^~qD!tE=1LT87WSSO!bZ&jKQ|w)q-U{pS1gc`vVPxHHMw(IUBL9iw)wnJ z2Y7T+*AkbnkrLa$5s22|b+%{~;GUa#8WsX!{aXvgmhGe#4A*;9x0hn6L;T5>Db6T$ zW2!cU)Pt$A$D6F^X~#u7Ca|`vOJp&O)M6hF;2?8i36S`vBCK#BcVt!iZ( zu+xVyDVdy%+hS6~*p(nb`P;=Z zh-gLX3SB>Jadws)&XqLuOW0V*S*LB(3q^AJp>VIkNg@}g7fCmxJ&WXnGzQ1e4A_5} z4!P2#Q6r=wRFXlXj+9oeK9whRQ%QyMyR>T&mD{EXSc^EQVQkAtX5boR?r_Rbip|1E z-BGmK>G-tMV;TkW)hlD&u;v*g8cc}uO6Y8i{2A+1**n6Pvb5hh8Miq(=?Kt!hu}#! z(I&D!Uqy*A@>#VwAE`}bZc2KsP>l`*3QWuY4Rt)E&utihm$tw~?A#wgzc_q(x9 zyJCnmR$Wlk01|7Q4l`fp^0V|#-7>XlNL4EIL}C@;$>N~$N&L5J zrrx8}SADOSjpQY1b1iL`wYYpWb(|RXB2^{spubwDBgKoZ<}x zrJPSAlT@7JX}_U2SLs7)q=);HmWd1u#c7Rd3iiCH$cVx?et|QN&tZ5r3qqH-<3d`GW)9 zc{V#I<|<-e)K`;*TTzD4d+D>pm>IYWW2Ze^kC_9MSvQ2}b6CfsBF5{rA%vXp+jZ`5 zuRUm!E@FIS-D!L*gr^RMyU;<6Ure9m+S~%BW z{m{mvFmlvtyjbiylI4A2+>T1R$+U`jPeg(QTF8j*3LnsM(Da3K#AG+_3t$Mx56-$? zPR<&qD18Xbi77`Ujds76sE39zaNa=5mmY-bqpcHU!+JP@lX|^I)9DqIVw9%KA+Y{=7L=9-5tS8a zPqz9*B*e5>MPSd(79l%p;9}oGAP37q)cdL{42jztnneZY3|MBxcjN1r71BDGr);D_ znz~rHIQZ3MfhZmpct1mZ1~O${Y#A()TAfo|0gE%W%?hne`v_&6NG9lIywFY^w)Pox z3TkE+S220@_+04sNM>13Z})~ui29;pS%TR-SO!GXf{y4<95xxWI@wD|>lr?oq34Qt zJ3Fl=Nmxs5u_!35GS#zVCHHAZD4VY8NG?zx(+8?_)S?Iwtw1-CWv$hEDGs(^`FF6| zCR-?;CPk8XF}7m`RiVIS!m_>BuQ#v1GFI~R$m?2q3E9UuwR~K}G+G9EnI^~HzJYkY zb}-HYkpS$IdU>o2eRFHM(X?R=NuiRw9YcWE268AIu0A>gCOdzexQ_Q0qN@bjPCcOY z4M)A5BUI0{_4jFcDq4;WcRj;RD zFXoZ-MfN|pQ;!bO98g^a56Ty&qm67rg54EC6^PYzBerVzaE^KhOQu95Q8~MH>m_#P zVzNoLLD9fjfo^#JnIs?JcSPjdY)Edct~j%b?s4#QC;s@DsNP(dvYfGeI6Gkpl%&7v zVhLX*KF8~tI13$euz-@+tq$+$cKAcRo<2c6khH_~sj1M<%CXX6wJsuoyx{FpPKZvG z<&>tDmH0@jD-aWET}wWDb+w2eyh-0jc!dFzJ|WY0>F;FsbJ}WaOr3M4KK<=$a^w)6 z%Y-=lOb*$>=1mbXTMY^I<}M1(lTPO`JPJ8e4+utz43?m8#%x1GFI@jv#0BBVC(702Sui zK4kNO`drFeTOh_(XZ1mfY;ep@Yr?lPQ0{8YU`F7kVplJFiw#flmHzOC=$^ej)bb}J z@0kdg9qQT6u25(I%IXaT;bdjjvy6vL>dt^_A%1_tZ^}g|t{c?k%?RysRY09?yFCnL18Cq9;?!4Y7tCFg=MKdR45)q8 zvSJ<74DGCCYioQtO$Ul{E-kE&NJjEX=Y(1qkqonDM6N#m6^w{d%*dw)>ovdcBTY;? znO1tzK_cW_+}@-UQz2y1(ePVk(#aZPVA6R$FE<}SJg*amCN8AE2Ew63=SsCbS7dZ{ zfTFNfYTfO{?24C+f!myb5?Q$em1?&m%=Q;d_bz=|EsTomWX=?ku4U>qHt{2+uSNTB z3;FGBcG7>qDFOyVrnopw>vZuS%uBUP47{QSJyHz2hYs%>taW=`W%M9^n15y+oLcA> z72zrj8`pN)Ce_5nH1`)JJZifS>r!BWndvL;N~;j{1{>xhJa&CiEux}gUOEYv<^fJY zZ>Q_QDA@>DQ9y93Jl0aoJ~Sb-h#&OLSelFoF?w?$t3)94rj!aVvhohpXSTI@ZtgcTJ&66)L+o89R3ia9)HF>+*r>O3f$L?Nmd!IZ*5$0?+_1Rr-n!(L?y^R z$sCU5hq!`Z3ew?2kbR4gKPhgvd(RSI)vU#VKDSG`)PPqhEpb#3Wl zcX6bd_@*|hCgYpJ6#FQT)sC9M9Quc%UQ9|2_R0^I95p>~KI_zer^d#lT{2(`_lvM&Zn3p(R5N|DqAu0_c(&nRhhI;2za z``iD*YFyT0E98j_<1k!~q!UV|1uu`4{Y2`67LpjZTy0>ZH0t+zVi{kGHGG&jI-hoG zDO;*mlgc_ry)dPgqEefBY_fPi%TX38QZuB#8&V{XyXnWJtmTkl6lE!srsKUxm8m+7 z3?Inymsz^)qX-}Fl7`_uR?p(Q`Ji6wJgA)Nj=@d3ns+kP^-S_E>Y>wd=`~hYi?#l5 z-tMB?ceUEbBA!+or@e|6;X3h>D7KC|pwe9_h^zKTDa-9pmQAH`ffIM9 zr#J^>rWde|QQ_=W;T%SEN4Y3^FJbjz07lmoXbz+R1 zMKq7Bs&+wm!JJehD=*@$zbjf!NKvu6M|%~8$uU1ywG@|Jxn6Kb$=CGud$q!kC=(OeY-6d{(AlNHVZx_~6Lr3-CWOPB4 za{c-nybeQLfGxD279OzIBz;o&Br{`*I6AJARah85j$ynQd_p#_NH1r7)Lb`AqP3?xF$efk3Y?P*&`5 zU847otwp0%k8z?2(@uRgjz+7)D(TvRC<&5n^saGYAgU+n+rH|UDh?#;3)dOobm+%I zxqMa~O+6ohfJ4-5DI_7|YQIKGA5AtP#oq_hKlK+%ttT3fXazvWeY1ATq&8E6HTS$<)|6)i*X!Hn@*8PyL6++kdYur5w z?tTLoVtCX8K=xJl@NXCOgpAICP8p53o|YbutBQTaf|rHF7-UoWlH|3?umq}rc1a$q zUtR!G)nQTrDQ z0PU++yN^bz(|A&IS>O_kyu)w8I!Jr&?B9>ZE9WNj-_k;s*L3fO?buAB z!nQQx!Ev2L-Y;j;33ad!(b>Hpw<=n*-wDpX$2g@2$z&Gn?W%di|GJFhH)*O1gLJGL z1sEshZqGGhZp}niOvA-oQ&7yog`XhHFf(yJZDA7${bu`>Fn>vt7(BBxsu7-Q9nRJQxJ7n_x`k?6tLJm61OcE3$#1QS zK)%2`0+(<-{vcruf7D9sUPS-ahd;#!cFPFKJfuEC-QnD9R5P`)Rh`qXS88|XM0Lej z2Ipc@>K38LsZ|)ReWSbP;nZrbn;RstVTaxPI&koX^n+j!21YEeEu&&6MRK8HNeQEevC_e6tERu)o)#+G;3 z?CP#@^X>6`(M+Bc#z3Lov>g3}zz)1udMbfPwZv$SIccYgvUA(8Dj_qh;WV;0dX%QA zQG6ey{KgSUxq9Md3e+l{eM{X)c%CR*sBlM!L2V0YEA+Sx>CH11i>mf zt`C%h{?Mvc_E!)PM*8%(`3>H*V?M5J`+PJyZp3LL<^$@3=B&5Eln)d1} zY60N3`)v%PBD_Rb@u4>8*YF#{SH)w!zqptp>RW9YbW_s`bmGM-;2LI}AXQMVWSBwc zhxp@kel6f?XqcEc{D^zUH3&p2-f}Vmo!8!L$sCYhm>WUuzsl17H@ovwS}yw#-1*t$ z%}+|sL?_Ynlgd3sUk?ec+nFTz>-8=eFr9u0LsrP9o=zV|^Sc}PDh+R=ZU%k;@IGmZ zb2XR=(?J|GJc}R;u}N#rXmV}EINSSPyqbGtk{^$0Ttwzn|uW^1G?b`a(or^pM`9??aa#5LXN|`8STEc zUUg)UpFvODU7d^G(goc7u|i6)fZ`U>Q4YCK4m)e>u$)_}OK=)xALC>UM5_JSX({@4 zCFc)G6zX;O3uV`{o?k55xgMZg>Hg!c!?%G{8E6gb3-G5cWKE8d`;L<%0*if?Hzf{B zH?m8hG&8+3Ei6$>2n^Z-+GN+k9-;`T=g=Vg5fWA*>mE$2=}0)v^^ka{9%b~)ITU=# z;J0+>fGF>xDw9hg@%p<9?sMpVc#%M8qC*mpuFO{9~9b*=gix1joc+`LJM9N(ef?5)*A_~kcU1H);Ru9=Oy^N-#okWeeonhLoxPUC z)!lv&13AyB244&&+eaz|AMZ>ocaK7iL&W1QA~rai6Y(Gesjg+mji{pSV4dOv?VWb2 z?)g_K)w<_1(8*65>->!($JEi&Y0iNttjE!LI*jSazpxc~?*jeaXRK8T#xCT&{~hD} zo+=NlL&Kfs;zk(rb!1IL{d%3ng6_vK?HL}{L)oY)+2pq%#XU{3~ZIzctzkMo5-`d$0<&qeo}T8W5kU9n6iiu z&iyPCcl&0=VS^=NjaK2&mwPQ38074_#OZKKKWd#&?Hodj3enZ|OS%F$DDjvgVM08!=XApo1nl><8qPW(*3mV(qdjOyDGicd z?xCI|I88{3IoXMgQD`J*80)8{P3@QBO>2ksQ%uoa()!~~m|Ux)4;}1`ebil`L=q4% zBkzJ|i}L~9oUwlzJFQ5yml>yLJBscpn59MiJpft>^K&VRSdn^Jq9D~_RT4K?K=~4F zKObLU;(`!zgcCLCTI*u9K5Nw~so>PFA4~QBOvN+c8<5i0a?f-IFD#7I!l27kwgE+l;N69x<(9$nMiCVs^}kyQwME>#jZId_$J^Wxq6XBWcvF zz(sNRYb+AQNo#Nw?IdWbh~|j7A1BgQX5lf-R1b_7+)1p7b2K8Rg?QN)pCR(!^|G@G z0WUkw_KJ8%JMN`zJKEL5ldI4UnCr81L@wZLM|bChRP=>QNVVYU3wfx>k3?=3`wvJN&Y#=LYB`}%@oAn zI_wo4VX%@pn59lcLlX5$4{pf#Z(~6w@Kf^UNxq~X+dSf>)K^pLT&pLJlw3^xN=kY` zCK)Nc1xq48pi7|$Va6G*ay?t8Y|ixBWE`?^raABvgvW)9u8z0+H0p*;UO1WRFaz8`NqAcG>!Ty6k~#HWPw0b_zXqjq?I`SgHhbmNxXi7@ zmgcKrZhK{>xN;-zmnMGMn_qMsVB9Y=vr~jAWvb0Ms!H$@Y|X6G`29?+=I<1B!z7bW zAnvuxvL$PaIx$6;{nC`Zg|aEabK}a^Q8p#BFv&01>W^n-svE{6Yul~-+=5rtH#|h0 z6VxMv%5gy@qr%yw#)Vum)%O`<_Z6s*Nz4_+1e-lv_+UTvO@JoPHZ=J@d+oGWpr%lw zN;>IKt^HlP{5n9FXZv&sk$)W(eLqID=jsZ})w{6@g)Ta9pbTC=x5BRi6`t!>2m|Zw zvYwwxRtXLg7KMMftkMg#BCBL7{sgk>S2XCD#h(fdNkasFI5qs#noDvtcoBcD0#~gS zIB{@T3S8q4P~aeF)GI$y!cyKu9N57Rl}@|^$Xfq< zt(l-wbABG8uL@s#`cu3zqs3-@NG`8nI;xwnVRlh7TVPg-7ZfPRtg72FP=3-sPf}k< zk_@$q4;`fHv6tE&tu;}E=iWq|eQ@zlgU9S@%9C_%7f0vZ@ zo)-2oMm9@S{3O;K%=eHTP6o#;@nRbwB0EaO(WL@Sq7F0{OiYO}nB2F%(3?iOPbTIP0Ir5j5XM|J-VYg!YU zv7`l`@8>bUxFxM)6PC1aDo}b%($Y^e7J5lbhEV$=% znj{NDSF}tawL(FrT0KE_UG1Z$PiZ6=tlZgKT$JhtH~d01u?mK_@@nbE=R@|nn`kJ^+aVNP>^Tx^L=+hjEqt||3GxbI!Ul!OPQcpH~ zNY;n+GOMNVoFVAMN?y1pQU1TqbBGQ2~bf`c(vts&Ct~jxz$24X)oV!Ft zQHTl_qV@PrtXRe_!7Oyecf`}VtYt;Cl^BifZ8`Ubj^uqXy%?u&CU`tbi4(U}e9n>z zDw`Z=a%WAB1Y>!sT@4v+E=UoMCOM6UO90Ol87x(wqW3bcIip@&6YsEyjO|~gF2@&f z1dB(}CZ|U~r{4hpYb046JQqbqojsmIsHh6O@*XxVdSIefll$~8moG|%Sg<;CZ0+oJMVI)*qM_lY=73Noy z@+Yz|f9WP=Yg@*gLwrN)O!fRY;#=Af0WRx5tWvUg3~T=UG@Tst&cbM4ow1b=kUD4J z0OzEmol};iwnm69FKC37YcYr#O+Zv@;yNxT1WN=mz5=8Tt0ArNsm=q~j=0ozXR1APB0KdS&jwQ!8W%{mU`mjs`9Xg9wI2IbfAb>Cr2tBh=4VF z%I+iDq_s4C8UYn3OZ5a?wBi&zo$~wop}4AVCL&!uAHh77eE92$Qz1^eV{bgl6*yXP z&0mWh-x8&D;9vSXE&t+V{{?+wAQkMQR-aPEM+wT8Eh_1QXlhxdr`e7|O~4E8hH6S1 zx^eQB+vA9O?=*?pr0$DzXaP%MuH)d@C<@O~eD_q&Npy%>U3-nxPBgC6ZUS3Ip||+i zI`i!DyAoSCgFWC9=Sid{j``L^&54Riex>Xx#CdP0b$_Q{e^HOrm6>!dd%lQGQISZS z$~gh(IqIuyg3|NQ*WMUYPxK_Q8fP?0)VL&g5l4q!roV=$hCH;{wNu2Sk*D4xArj*Q z3}xuDv1mo=gA99pPxi-vgE2av*ZFv(^APb*V7`iN`>!n7S0Z$hCkf9!IlY`>rD_x7 zAjM{JJgoX?a;2Kh+8hZ#S&wyi77~Gk{*{%!nRi(z#|URDAcV4=f4#5h)0Z5M5!HkJ z=q~6|7&FOM6zP^~N~vMn_!+V{m#>m}-ZYrCzS+dQr^vRIY_&ea1X#rlO+&MW=9`S| z4b53(jFO?b&mEd4?4g-%hUObHG*8<@vs@3&ivO~qnHFVeZb>>cOJhUxK+>Vvie_CT z`_4pvWNQ%91`;L#T(%k}`y?@R7-?DmW%jtCHAkjxWENzr4OkQUEf&FOM8}_elrn*SWJ@hUPN8AI8>x%-s3+51%_z zTPB}7SDLvqZ;}=|@8FB~h0dF1?p$T&&Q12*S!2(g`v1DQv&hVyTkN^>LTv8L&opwU zIVxR^*unpmDxGMbzp8Y z{^@F-yK(Psp8Im&$2{-HeShQk4aR04&K8pL%=DC7z=DCvlK=XVe_mj-?U%CIyJfF<{|IG70&ArOpPvt(?JfFsW zsCgdFeS~=)#eKASuI4_*Jdfi(-aJp_eujCTZ0=`rpK6|KxKA_BXLCQtJkK!qncUAe z&lhsP$UN6_pJkpe=03+fU&{S5^Lz#Ox#oEu_p8kFeC`X(^VQt1G0)d>zs@}0!2L$^ zyqJ5vd0xW(7V~@?_oe3fcJ6nW=R3LIWu6!nKh zcX8x+xmnkczsMhpBY(GG@;LL)^6%ovNV!?p#y`m)iz8Dlm^`K$cx?c#{wRROkp%(x z7qnmCw+7%x8~B3(_;K`0%C8K-U)TM5F93yi=zhJQ0KeUoPYwK1XW$5iPmBNIkGh_sNMiv0XWg%&$ZG-kSUp}vu3)pO zdQ;=SC{ic_&$`}%-lRQ81mLe~{1-(k1MoHmJ~9CBs>h`$G9v)r)3m?b`ldWSVES7h zD1V44|6l-KX8NmzwN=;in%;^ce-8}UbEdyj1MnA2f9C|?j_Fr@0RGMK^0A`Gg8}&E zru{Dm;B8F%Q!}ha@_3(VXX^m`2Ghg^u?^au7<#AtwpW_4NpD^`Y5Ga4Qp~Inp@|z9b76rKZf7=D%!%ctp4#4j+?H>?;-(uST&j7r?Y5$}E{B_gL zIRW?v)6V(;yoZ558h~GG+VfffKF_r0vjDuSX-~Scv49R~+S4uof7X1rcK}{&;70`D zCmDQJ2H-~-d=3r3|6%B7Y5+dL(9fIze75QDq5%9n)8ADA_&%nd_}-#78a#XuD1V*7 zLsmesxX1K&?*RN5)8C^5@V!lcPYS?~H~pOyfS>90D*zvB`gK9x1`p){_#X@& zP71&W8azx2z>hcmT@Zk093*zZW}mxx!`T4^EhUof&vw56_)`3r>{5{c5=SBJpI zhQP;%z$b>lCxyVLguthUz-vO_(?j6rgurKnz-NZQF9?BO6at?W0-qBCzcd7Xc?f)N z2z*`$yehB5__ZPM>qFo-hQRAX;7dZ_w}!x%hQMzRfiDk%-xUIH2!Y=l z0>3{5{$L3F;Sl(vA@IjT;Ef^hr$XS*gutH-fv*gKzYqdn6#`!!0)IIK{%Q#PwGjBa z5cumM@Hax>O(F2NLg4R&z&{9q%PL*sr6M0E0)eQ=<`DR2A@D6B@GnE)TSMUAguuTG zf$Jrbgx^#oYODSJ?NLonw^bmMv2s|qUo)ZGk3xOAezzaj*#Ub$4A@E&7 z;6X2#ho251hTBxU6g^ zUMg}#2wYaY6E7912!YE=c;clZvMQc7lh^+W0UMeE1|B081NF+ewr6Myz z;4?$u5;2f?sfa`mBwi{akpzjCibzyJ;-w-IVUT#K$h;7^L>?qwDk4z`iI<83$qJ>xeEfp-ppcL{-a3xW4efY($K*Am@pDhJ z@2Shjj+&w=D*$Fz~662Tw5e&hkD`?{xbEnkgmEI$&{V}GCOR&;2w zz+?82#O%oRVOxR6?B5gv?}Dp0KN7Q>x*GTe$4b9qe%cWRJ{NrEM`HH4#5~D0jNkJu z{q|l{{<<~-FLMj=?`i{ISR!x_Tg2j-_AftF;4%H*<3uAIf%o+5In>m1B>2d;^zGYC z3HE^k-z}kh->w3m?!!IFba^L%*ZA;0reE{B2z-(cpK9O_mI{2T5BDVQFx{_4AO4Lg ze?RTbkIePqCzz+wjsiczhi@_cda0AZ_wnIV&A4A)F7OH;-qNgB-$T*-NX*{kls0{h z()fwlHCxP^BGK|AnWlA-$X5n_sHV3C<}YFtO+5!`JY3+zYt7T-?ov;+4?o{L)$4v8 z;=|uH_4M0S%J1jHJD zB=t}6%b#RQY~(xn)_TyNO^Mw>L4M?3zx*+#{F%QK_`^PYx`FpTTHp`*aES?(>*-wt ze!u$%|Ng^0c+B3v)dffPqpSIm7tCL7%&7d)2%hpI z>891Od2~y$!2jl#|36b=h32;>`|v3SenEdJKi-FX<5;iz74wttZ`!$`T*~+M%X|3W z)J5PkeYnKV%Js)i0-vFu<)8irUZ~q2v)`AS5-VXb`H|Ir`N~xH@c=!JkNfZ|O+E89 zepdPLm8P8)y8SVK{*ea0OADz#W=B6@>iJ5yC*~jEbNZThh?IZS{1u5jY|0;^`M{Sx ze29U!0X6xNB|iKv18>mf5uWCH*t92G(=$jl*IHA4l*WUH6*neWihNKg_22Flk9cxq z>`?+A>%%>H@pKP?PxRq$oA17%2%D>^4KhWTRPfaIFefS=xd}gtf z_oy`zsW9+z{oU97@>haixxU^<%5Qc5;NL%)@)dgCec;32$Z{Xw(%*f{hfA!nT(dPj zH@JWBuZM@fX!v11d>8ZGlr;Hn2fx3bo>Q&cf0tkWbW>u3E??l6Uu;Uu*8Ph4qq>_C zQ}p=O`}MRi{hF)!*zrEx<74mZ@9yQppE2d%1mF3Vf3ne(sMGYh#V>!idD?oQl>gX= z?`GPwE(BiPRmxxPmw(7SweBMD*t)!DDg9f^M~Kv1p2y+xQYn9c2aXIg-%aT(a5`r$ zUf0*hy8JHYuSn!O^Hiec%Ss>aS;DVsdVbc2dwR}g;3+>6^F#i_l-Q)}iJDfpdnx3n zrTwJ5Ap-tB#Nc^G2>hlDDIbelfG6wgbPaE1{vx)Xah2;)%})~Htqv1CHnyJS@ud%` zr!?YWQNHC~Ez$*ks^9)1^VDHCfyeChdkwtyV1bV|Z$~1YzW1+V1RnEG{@Il80Y53V z{2o`CH!ovI@*^ks^?00alh#}Q=))0P`YM5MltwoBa8JTLrpy1uhcg`d+KN7pKJ51k zv8%5W4-&XHdJ$jaZ>{-2r76We81pni)8RlL{wMSFJ_Yh4o)#8~coz5ty8eIquy4r`+9ev%%6w0^O z(>;#=TgEFt(#iksai*c`^f<=+Y~HvRA0haU`NuptbpZUT)bgiwGv5^py)<&DU%zJo zipQhW@;iC(0nl@4B<5%E;I}{kxu#D0b_wv(=uv+CphaINLg&fKzo^T9m{9)Qkn;bV zF7DOb1MN5`a%TMSPI2yc`T7F2c{C#Bt_oPQ8;?3lvVQr)qfC3E{!bq%geaRbv$}PGW>7sD&;%rGV;$Q=BY&=fuHQxbEJ7%yqCaZ z{;SUo{5N|G+?#EY$hQW5Uti$Sn19TJf2PaF{90Z;BYz|HZ1BJ9l`qurm>z7Z5j^+9vjpr&KKEym7!EdFOAJWrfZ_sehOA(29@MSVz zthl}&rk(=kSE&`(x4(feI9%W{zb(<6HbJhmR;mG7?SW6Tfl!B5iVhx_$-@S(k= zp1=C=mgcF0{_crB+|v|$=zd-7!XhQya-!et@?Vb>LJM@{(5l_31L^_$5zCJ|Yo_8b$ z-+ZXRKl8uqmH!C&n-|%X06$XKFFOp~%PapX6RdN@^H#?6jX!{gWbN+?9+JW5WJx`; z8_~VYw2o{+?sSgGuElsb(>-ZDi@;~H`WJPEexm#N{c36I`%OssGbx{}o&h1{p9?8} zPY4_~leGTxP~DP!_dy6f89XbbJ<`!+ zR}c@VZ~Bt*`&#`y!h+j)_-hD!QV4v81>f7M-^O!a3x2y*-u~|MA@EHhaLeV_pDQi6O+Pn>z#A<1epWp%S#Y}^1J>jC5o7J~ z2iTRqg81?5Hi4gH)qkidFL?O91z&35QeJ#8Uj3^q_+YF2dJArsFR|#b+$ulRf{PE> ztKakQ%6Ct(;GR7s@WEDla5Lyj;BQ!P)Ic9@_ZPKYU%~zkHE^j%+UB)qoCUZ0RTBcg z%Yxhe`pSaac=)Y_2fM$6EV$iY)Es?DJBL{KIo5)oX2C~TaIx9FetB|7>X~Hq_d=_@ zO>groxQ*v^7Tj+CW(#iDv(wG@(jFUc-ujQgZ9M-N6e-1=8q_1N{lWWnwF_cL%l88?phylZQ<=M<|Rn{KBXc#v)z4Ln%C zXWz@X*!6oWbiwlNExNMHA7a4|wAwk{g4=Zdss*>{yp4R2D@cd^EVxZqzv9i+^MA#g zi-(_@-i~m|Q#&S3hK4=StnxM~?y7N9mW{PS5iuaJ!wynEHeGwCzfpf1VLizPWT_>%%sF zI-7n4@l$2>*T&Ci3vScNIR+l=*OgXzyI-ECSMX!gNtQLfHvYYJ11WFgf00$*#($#) zxAA{y2tK`)FR9;d=UE};A2RS@`7I%EZ$3(S8~?`{`~>lTp@Bap=JJ_@mauI z@XZDu9535{V&f;g+I02*iXOPD!N1UnwAmZq<3h&eA69vrp3e#?|4>NzFuC8&q7$1x9BJS| z{xH)jZ;y-6uw2qFdt7cb@F2b2ZRO7LUDZN6c{9}lVLRRb3^+4{*QtGqp4w%ufp z*NGOM?eV(Rg4^S@*@D~SRU9JUS>D%|^w-AQ9}PT+w>btL#LxT?_yYzW#DndBv+}B@IMEB9ur;QIR2Js!T-^Ds!fiAwo!@ zOt%pKeO~+fdG61CyVw7C?&JPF|L6G~|7RTs)$987UFZ2-=U#iQz4vux$I<(vPo!|& zrpHv;=;<}*v~j+dSl-8ZpSiD}Z_NGidxSk6ef?Zz?(641b6-Cl^27YgI8O^t^YU@t zm62bQk>B0=>2>Cr`*C?SoX5rQ_x-r+X8rN!yL~gfNrt!1@Xi^2dWH`UPrvv&zt-~J zhbPSaxNm32%a8jR=6>8Kgr{;3VtwM~3*B=yZ7U-|0! z^T7SNKg_V>m%f&cSMsA{d@zfV z`{Qnkxvz)x{ikV5d0!9z`+n2^zTf2Q?Z5i{rag;SVg5Yxc<%RlUYHi1*5}W;$A~<* z`26r#?hjoomwua;b#k2-{CwqkKVNy?&sWI@<^D^XpRbbZeJ?*>CD;2LRnuR}Z5mJC z{2z;|#jo;n;?FhUH^iT7!>@}!?+^bV{(OYFpJz@CPyO`s%#e({uD8=Tz0UI)bxLHM z$9kFj`KM#XeoxP+e_2L;c}Bj1?bqjfvAK^&{ZIW#=W4AtjfZ_u-`LMvGsd|lW1KtN zczm44oBQ*AdQM4OdfGiMHz_a+drY()%`|w<`{?&_YoZcV3 z|I7Zgv%L3bu(|i=QFHIl59ZzB*eal)`ejSn4s@9txcU*7dtqwSL6#`C!47nz@8 z^U~)kxz1bIc>Mm?->>v_uFs`&zIuNl_21{aIqEa-?|1ug^z(o}E-p$1a$Bn3%I5W~ zxv%HX%>8lU=M(Qwv*PN1y-phtp7!hK0Y5)`-{xlI-!=F5(?2oy`dR1alkIr7FZX?C0O}TiDxB zcURkZeEk0TA9sI#_s8SLj5_sg{662mnfrXlnEyNT&3Zg$9WT8Ok=Bo|=htjrKK`w3 zoIZZP&hhc<`83t{^``gZxZdk8Yi z_j#m6u$e;vmAGtcUHfBf^qJ*>|1jJ%%j(&Mh1-(h@7vDVo$1^3@b3Ik_g5`ZYe&6Tg+1B>!^&6V|arEzh@#C0!n>HTDr_Fs{OU?cG z`s;O`*ZWzi{$;tptK-EL{ds4S)$#Mg4mM8j=V|8N&$O1(md5FM zpRecr`x^Xtyk5rR*I$?L{-hqJE$!Dmt3R!a(|SX)%UzrWA>@SEj*{Qf?g=NsBMeO?_h=5@K{{rLKQx6k*9jQlU=KHttZe(%qCbMJ#+ zhx@!V{Y00=|7Py}nPu+% z^z*;>ZSRcpL;B2Q+BmO6GW;lW?|<8Tnc_O$2Y>$cK997#_tRfz^E$e&W8O`DUGG{B?4lR|gxX&uhB5&+B<} zpO-(M`uaR7<9JP8mab#R*!X?E{yM+c@%Qh%&Z8N17MXjUH_W}xDsvxCdFzk&*{=h= z&uL$2OV4-S=Y{6p=YREacW!a@e0`snzdz{n8fAH(m){3@ojWb>b!MA;9lxIO{?xMh zdVdC)dw*^*_x@yEr}^`dU#Hz@w}N~7jw_+x+|?WpO-#AncVy1k1wz9k1wzDd`5r#Jn8)@ZR2!rZSH+b zuU(`qjnn(~uDSP3pCd|n??WlOUiEqT_xE}J*tFB!#=cF>bFq8h{BtZ`f1c&NZ#vI# zUHR)y-k)+dU-#WIysNqQ(?74}{aj~x@27qeIQ!}EgZO;?e!=^h^?Z?ao#~HXpYKxZ zr_ampk9=MyWX$U#^M7ZYem?PW`uWhGmp5dLe}5Z~kN*;LKQ8{cP#=F?tMBVg=K-#_ ztk=Q(e#GZh#>V6Q_xDG9{OLI&ZE5}Z_@6QN@wX{X=ku@UGCB{BH}`ohG55#gm*)Qd z{&(iSZnv`Wczu1oj(zjb*Li>ZzS8|_tMBXK19R`Ee~#Dtsehj{_0#7y(avw)=cmlQ z&;RQC+WP*NwBKcRTozhCy>Gf+V&AgPS2e5;-nR$C(=@ip{ipTtWrnBEFsCi$%jEu3 z{x|b9Cb^y$QhqygJuf8R-n?>x+?IYRoBL07s+yNGuVKD}`TpkR%@>*b`1N^@^kpBv z|6D9zSNiwg((&?j_2E`I$Zg4eT{TRQ+tM$-evUWy_2cg|PRjLGeell_rF#eYkJ0~B z&hz)Do#wXWzJC0??XLZDU8T=9r!Cd-_4AXt_u;VUbIN-kjK)z`25y4UA*kR9Ljny}WPe_q1#XWMb{eEHJ({-nMwvGvf_{2}w@=3ak& zIQ!gk>wnbub$gPz_xU1o&(AXVb@-{dum640$uzg6d3pa=nfv3nQaTysHm;v;=H9o# z=KefB(fnfToBw<C*5ttY35g$(!4J{k-S**FMf_Hm}#LzW+QH z_jZx8$>z0Y6Taq;zVw)Mx|`|Rssrsci< zd*%WJ&@An*YUvHz#{kY#|?(6M2b06os=3b|VU0?b5SDO1c>!cG{ZcFWU zKiJ&+*3aC>bF;aR=W4qi^FBOd?(_ZJ-0N3KH|@DCjnnHiG57s;F!%Zc%)S07bFb4W zp77Fs{qZ~0-1FCE_%j*4BEwgk`{Vt{)P&rY#^cvTXB2DR(>1Cd*B6+3-ro=M{3n+8 z&l~&uV%~?Uc7E_a`0GDD{%Te~y|$on);0HWb};vGjyCskK5FjceA?W{`GUERvzED! zr%`xX?#J2l(E!W)^ZxzjetrI}c`K{q_t8GDbZ?cmbllTtpVYV8&3(Sln)|%=EUuET zi9aDnBi}m`@H=A)aT{v#E;8;HZNa4@0)wxe;$tKvpy%E9t&wp>(l#o zQnCJZ-JWIc{k+=TAMbO`J^z-u=hvD0dj7%O>ud?+y_4|bv5_nHO$hlb9AHUwWO6~J;9%k#u>+ffEyl?Hyy>EVA_5J$yTY3FiR>#Nlh`IMo_t$Cs zKAvMN@8j|Fq>pE^<-Lxd|Gmz7%X^(7>zmiv!`$om`|n=oEX#YHtIWO50&}mk#k{dS z?#9~V*ZZIK{jE=0-uvIt`rzxfySb0w*MpDW-yihxe`*Y9xchxg>Pg!8cyDRP*Zb`MKBkZ71j~D${ruy{y?1`M#rySt@A6V} zf1k@gFX8*W)$+dIeazp>%~9t)zy42;5&0RGA7Vb%{AqK)uJ-pMI$7Rd&p*X{s?~YZ z+>eWY-oWpd^?G4CUVdD5wmOTfzONszf0yO&v;07FAAi>8Etgu}`&=PcGi_;{-e!J{`SJTY+|k_o;6G>5$EoXcOa_rZO?9c^9t z&y&geoJk+c`#7&K_wnd)k>=}O+t!cQ=^W1S&$Yade`$uVH23;tY#q9vnBlWB{6q7S zxt{BI`Ro7gJ8e^ZSc)H~KK@qb-v4&yp6_Pva@b+~Jpe~jPr zXJz=48D1tG*xZ&5&oW4^MHSUuAgU~FHYz4?s|VR)p74)k9VJM9In4S-t|5y=heXW>+`K`?#FjGb6?MX zU*LXZrc)7U7a`9n)~|s+1%??w*C6^U`=y>AKClqb=q5gg^g#3x%YFj zxv#^y=AQR{dVlmfdFr#@UmO(k<@y<6eel<{#%K6cb6-D8GrWq8-(LsoVcyElR}Ywb zAAFtod|StUIj^j7K9Dia#pd3JgKa!M-($`F@$#Ly_ut=#_4_;jc}ISH{pZ8`erwtF zfIqIAn0x+Eb06m^=DyzxGyDT{uU|ebwA_|{@$u|y?)yE!-1qCRPkR2`jQr>ff6P36 z_E_hE`R2Z^O4{{?k7wr$ubJU(GQ3xY_cizR?9V%0ZT!_zlXF{|hL5vxvHsQdcxOIW zvUp2=s@2zilc(?HSKs7(d}Tck`ujCL&KCLI{$>1Q!qd1?OSIo{mQU|}$Y+`RdV9{? zA9owfJ-?MbPW|y%$K1!?*4$r*N&QM&8h`q|#+mw+wq!p3a>bhWUN)~P<~x}06Q1g& z&(x`Y9rN<$e*W)c-pcBqX5Pl!*I_Kr;_;WWd|BIXdW}ot@j4C7FSEY&HTU;r{PDQd z@;xo@ud6pOKibCc`(0-4>mfZyr!7~as8a4fjo+^~cC-4;?7ZjWpKR{qf56<=&)f`O zVD9~Y-rW08EjQ-0rFFHJjq}1{&Ce^{<7-}Tgfs82&+l$^{5sbAc9_-id0mp>{_mc6 z-`dB#Qvdz&?*ERwKVJNL*vE69?e|a{|A*#2PQOm}<5j}en?J5AnR}hx&HZ>iY5Pq- zQ$_vv*WuIms>rvoIzAqMU-c}@$L&$^{fPhE(dTTxKF+r@{QdBBKJojAjT!lEZJb`; z&kvh&8O>{lj5>NLnkGo%g`f>N4gW>1x&olPx-v{c)cl*evKKRcU?U7OE zybSl(fxSP=GxFZI^qTGeZGFqSpFPp$>(_6Who?SwxAlC7+fRj{ogOcJDdCCuCKY*Nv|QNE$!Dmea1d*$^AUw_rLD``lS1l8FhmHvR|DC(tiDM zQ85iBx3SN0y8Vl1)z{-9)lc8^rS<8r8+-p-7Vq`1$7NWC4+-aaV7TS|JaB`#&v(AL zp9j{M`|onQ=RmhRoYUWJ#t@^ce4I?-_p4> zZ7J`b?kUoi+|M)B66Ut#S=Ws_<-Vr<{%5Wm_q1`=OvQ6ss_*k{R;+&==h+$llJzG& zS86=^{CukK>+P_NI=7hny7Jel{QBx^%lrAHq8%5XR||8`mybGWU8L`&()g>HpJT4~ zg;V|{>!;q=PJXg^)7URvucvXpT5qXur(2!#GwNJo?&D9NT}fN2)7$EdwY<;kCd>PN z@36ejH+^qH+S2&Fj=%ot`}OCe^w|vcd9UIs`Ej~uy)JRE<^6Hw^_yqZch9Qtby{T9 zanGuAhmF(Mp^k5^bkWYa|I~;7>hsBe*Ym-gh6eeb9Ge1_%gn!jM~>&nk#UjGxz*S0!eoBQ=@y5~w;E?RIu^|R&uJXsZ5;n*%lr8MyY_o_ewfAm@%cVs z?#D4}z8f;;tK*pZ`TytncCdb?pY@@~*B$2G=eg$lSpFAt&->>|+?&~Y+t=#&pYguYiY|Z{mlEO`u4c^&%8fU!SeeQSI=KJ z9&KL7yrOxd@HDRf>i0)ZwEb3y{if5+w{gx%w5z$EBNBOja7O+@bIvclaQGI>xU9RWvJ5WdYXW_c<)$0SQqx{;8{5Npr%cTOj zO?7ULKko!rz6m^iW+-h3!Ijtje)_T>mp&Q!E8$h+xLgNU{rk+X&F!ON8cc3`6y810 zMQ@m27nXj}`>N^7$+ez7MP9D!BIT<_F1;3=Ho0CO*#h4;{=93`| z2d?_{;HuvYuKN1Cy6PVk{XY@;Bf|&5uL#%Aw^5xZ!zUp>A$%HK`Gs)hm%x?(6t4W& zaOJm)2Z+Y0d?mQ@_2J4lhb!M5uDm{-+(K>0j~Uy z@X2u;%cnPKa+~I*{4Q|i8^e`95UzYTxbi*W$`8x%k?<$;!!DW%zbjlnKS%RYeqly_ z30(O#aMfQ2SH4ty5K#M7zARk%S{dE|uFuo7hpSE(xL(IO5B^#7XE1zI_(Zt!x5Jfx z3a-3^>- z{ou;$=U-`@%HNQYf580u{1Pet|6F)1zoLa1z68F1^!ZJ=?)O%~n@9dfxQ6sQT;thh z`+Oq(^)!BYdAP`0I)8SV~ z{%rVl;iKWIKMti-N^{XgKUziqkv#C5z>zam`q z_lF-6eQOHu5PmHDrtlNs%fc^!&kVm9uKX0Z@^`|OUkF!z30(Ov;L3jsSAM(rps@O> zd?mQ@jp5242v`0@xbmmLmA@3O{8ez}XTp_#0IvKpxbn;4v*I|ehb#XBT=^a1gGcP= z&T!=$!BzhNxbnwm_$lyZG5(?OdEuAAm7fAv{!X~^&%l*`5w83vaOJ;(E5B8|P_BN; zw};nFf!ww)T>1L&`jI~x{zJY@(Q$Bnf5Jex@)yCCp9oj}cDVA-z?FXyuKXIf^6TKr zZ(A`xLG@Glig4u{z?E+SSH2ru`JV7!qR+$N%8!IAKNYV0Ot|t3;mR+8E58O_I@ZZL z_}<~A(l;;VHuY2avT)^V!If_SSH3-5`7Utf&x6;9aSn#-x_3NW`N?qQ=fdkm{RMF4 zSHP8D4Of0MT=^0^7WP^Bs&M6Nz?E+eSH3M=`95&v`@xmJ+I(z&$i@G^0bVM;HYLOF zgg1`-gYXvNkHK4pFNa5ai{69Ri2P4*<+s3<-@S7FFQ#RX=DTy$*$1xt!Eoh|ge!j< zyh_wR3$FZCaOKCsmA@aZ&#lgZEB_i?`FG*UZ-guV3taiiJLM;+ekxxTu6zr)@~z>@ z_kb(k2d?~x3?B{G`kV<@od@8`FN4>PXz-m&FSKUEr^TpA3I1d@wwwS#&A9MT}=Ee2?&%@H*iO;mR+8E59bg z*TF|d{cU#5|0b>H)KAqZ465b-}kIV2$@XnFH zBg5~5ca8kK41XG~@vnqyoFBtAp0DBB@Aq)kFBd;xNXJX{cY^EnhiY)`w>Dh$kASOw z2e|6=gDXD>uKW#f1y_CzT=^|<wHufwNDofYtv;XlKb{{yak)oS^_ zsD3J61Ab4`Z;;_F;EN)Ec!sx!KOgyS8Qv4F@ehM*oFn0jit^iaaP4;jT=gG@xf8NguaLu;?T=iSPmG25yz6V_Si{Z*&0atz+ zT={$8%D2Cn>#aOG#imq(p>aOK~CE58!1{P%F>e}!wlJJ-w)K>bvHPq^wI09XDnxa#+W zD}N?j^+&>0=Nh=K2kwC@{}5dHSK-RP16O_{e03bJU*O8`xNl)Um9GLd}4hQL*41YG&s;J@a}6x{{a&!Kn$uKcTT<-dk2|2@1!jDJgpmyS0+bRMV{ z`3f1nD_oz?te)Zf!8QJ);2LKqxW;o5T>Cv8uKJh2Reuz`O3e2Lxb}MsT=nO`RewHQ zb>4?7|0!JgKj6x59WT`LcUzCK*_+ryRb0#|>|gDXE6uKako@{{4p&xI?$0IvKB zxbmyvn(r34@}=wMADHat-f-pXz*WB;T=~v$<P;!*#ye z09U^3{)PQizA{|-rtn&E9%}_}7JdR;`BUM_Ukq;;b*_Lbe>+_HyWz?&f-AoauK9ir zSAGLr^|y&P-1WFtzC2v@_k%0n1g`p>;HuLduIqsd;mThESAGgy`8(mtFN7Zw$7=~( z`89Cm*TI!9Rljh3Dqj|^d@Z>04dBYRhj)tccY!N^9$fjsaOKCtm7fe(elA@31#sn8 zz?EMOSN>PH@+BJ-_F4HoGkjn8+~`{yxaxF-D}N6B1`9<*4 zqy8%y{x*DM3eYv8Ig3$FYlaOGcxEB_8$`5)oR{|;Av*Z6=?n*O-lf67;bt3L<9l|KTm zd@s22ec{Sq4p)8*T=~1;%Fl*tzOTTQe;cm+cW~wZ4p)BX_~04)xhGut1L3NFI9&PD zGyH7$^|78u!ByvaxbpYHm46tn_5V6t`4w>Ge}XH&1+IM6CWYq*N1e`a z<@>>v9|Tu^99;QHaLsoPT>1HM)qfYR{6}!r-wap2M6<#^tA16u>ePVidf;%l^6lZu zp9NQb09^U&;nU)H-3(X$VYu>7z?FXsuKfFO<$r=JzXh)RuFVVk{7{U)8eI8<;L0BX zSH2fq`Mz-FFNZ5X2Cn>FaOG#im0t!|emPwE4H^C;T>oxR=!j-=suKdk#<>$ebe;WQutdp1F%fsJ-e;>XPuKK^gRe$T2h5c0h9pI|JKV0>j z!b_LT*X;sV{$#lF!{GB{UL)Ze|8;PUe*#?Ne+a%L>OT%w{paBCM*b!E+VIce%5Q)x zzs&)K{a3y`T=}|i1U^=Z8KbTN*t8`dTMXF&r*JGxbk)2${!6^{y4bu1L4YF1Xuo6xbki+;&{fe#f`%#}&e>eDZgAy$!j&HeSAHa1{l5*K{w?0L-33oSLpE*C!j)eNSN>CY`nNsO_BH&>@Y09m zzpnMHd^x!Cwc*M)ge%_xu6$Rx^8Mkb#W;t+mA?tD{1mwIk7xKo_`uljYPjlr0at$O z)`k64eh0Yn_2J4lhb!M5u6!@J@+08NkA`0w^Sv2aCz2M3p2v`1axbi*W%AW~W|1XE%8hslB ze0jTekxxDuKYo8<&S_X-v_RIKln!_ z^W(S({%QE-@Jd_d^V8v~e=l71AA_s@GjP@a0IvFos--9dv z3tai4wuOCDz8YNl+HmFD!Ikd}KRD*w3x0TbU-$*#qu{E4JzVvtz*YZFxau#0tNt?h zRWY6~;L3jsSH5h!!anaGbt=O({=MKDe=WGie>l8l)Nc=0{cdpm-2a~NGo#Khxbh?6 z%1?zWKNGI}Lb&ov;L5LoE58n|e5s=g`>%Xixbn5&$~S zuKbPgi=zIm@Th;L3jlSAH#A`O+Q!dEd&xm9Ga^{bumnW4=eg?+ot%e=GcK zxatpttNvwh)xR39`gg-s|3UcL7|$zk<==)YzX^VQ)Y%Nz_)B#x?7zle7OwHvf=`b6 z4dAMOApEh&9}a&pyeC}wGvUgQge!jyT=|)Bu}}Q!Ij?xSHA2qh5c8) zGF<&{2!AU2))KxvyenM!9&qJ{z*j|`5%9I)x5Aab1FrnjaOGcsEB`TE`7hzhm+Vy7 z&rf2U+rgFJ7p{DLxbp2YybF9&?Dqn=>Rb$0ehOUqJK@SNhAaOvT=}oz%6|`6zS6OU z{ZxK;_?DP&ZFtF2`M=)~-Z;DyT=l!dRsRgQ>Yoc&{cGW>e-r%37|$bc<)4HrzXGm* zS7|j|<6j5Y_&32d{<575`~OSyxiVb!_k!;f^Qr}}8Gbli`Sx(-&x9*~9$fir;L4AO zEB^po`MGfAUxzEd0iz6bn(sM802WcUcU z@}uF(-vL+tKDhEPz?FX$uKbtqLt~uZ!Ij^>OJP5i-x02SgA8v0KQ8ur0$g=Yg)4s< zT=}cv%HIoD{$aTCZ@`sb30MB_aOMAm_l)_L>sr{)-r+mJZwhY$SN((Fs(&Bxbo-0l^+aOemq?H$#CW8!j)eDSAGRt`PFds|5x}$(YKP_3i~`h zd=I$tHQ~x13coe#w1eLr-UqIHKe+Ov;mVJLD}Ntc`A6Z(zY3ob<9r9M{6@I)zrdBR z+`X{R@~ZGhW52E7%C~_le+FFnbK%Ng4_E$XxbpMh%0CTP{zJI(pTnPt`F;;y9R4f( z`|w>)_~-qs23P(1aMf=PSN-GR8viNq(xvm`xEQYd6>#Nez-Pz2X2CW7xp0kt0bJu> z0e>>;uZFAsI{3Sh-vnP9UiQSo{wrS@u6zTy@-5)XcY!N^GF4_E&`hOdggeF@(fUh<^Eek#8mT=|;t%~7WwT>v9|Tu^99;QH zaOEF`7scb~DY)|Q!j=CBuKeZXAI zf-64-uKZ*0ic$X=xbh#tm0t^2zI2bmzU>aILozrxf;6b+&~oUk6?z`rinyd`GzQ$HSFBA6`f66R!L% zaOJ1Nm46oAFzPRbEB`56`LE&1m+o2EPvy(Om9GO=z7bscj&S9Vhbun-uKX~#@)I(A zDtu`4?J0QM@aN#ChOdDuzYebaw!I4b*(vH&ge$*4T=}MO<&TATjru3Rl^+UM{xZ1o z)8Qva{d?icFNQ1sGFR89hb#XIT=_5H%6|)2e!J6)inkKE|BuW4r+g*2^7S&j8GJ(Ytt)&)cn|os z;X~lckAN$GYlhzepC0v}g{#g|xbkb^DD@>?>z^qGZyelhx19sXGOe(;6iN5Pfv z1Xup-3?B&Bc*en1XA)fbnQ;C4To1tCDxIJIGPvq5hpYZaaMfQ6SN)QG3;X;=>HMF! zgRcs&30J-zT={lzH{C0oK|E5Ilm+@igmrC$T@wGiNye9n2R4}(43eRg%Q9F3~_(InV?*X42`M&Vm z!~4UZ2_FNm7k(rBityQR<>$ebe*>=kO1Sbr!j=CWeoypso3ru*)A5=WULO8NcwM;a zH->)}^F0Qxd^fnpKLD=$Fu3v);L1;hEB`oL`Gs)hSHWAvywg>Wk zt3P|em9GWYcp7K;f$*DSzemEg&X0jV8u=69TIZ+1-;4ZkxW;)UT=Sg0M~kJ4_CemT>10h$`6JsKOWvZ#xof{ zAbc)d`2}!Y&%Bi3Z^Bi71N`9F?~m|q;pNXO?7#B6z?E+dSN=e_^4;Ld_k=4y46gi0 zxbjos%Fl!=zYwnDxCGuS`m+YE{5rVurTQ24Q~9!Rn z{CK$5;bgeh+uRIa0KYo=xdN^_tKrIThAUs<{K7sfzX$xn*l$g^@`u8eZwFVt4}4zK z?+0HRJ{qq4IJolnnctM3V)6eUg>M~Sdpg5kfbSXkkIg4o{V(CW#Mi#h@L%C?Mt-LO z`QN1Jd;LA&l_Os}!yCfm>7(eN3_k)Me=O<+kKGpah3kHEV1{1=9}bgs zfwzjsSATe$@FDPy;Wxrn|5muhGY_u()9?yWe{dI7Szto_@KHnI1 z%EDE@7JOpl8^G@mZx2_#3taj0;K~n%D?c8t{A9TDbK%M_fGfWOuKa4a@|)r6bBPNJ z`}|1srz%|e8gS)X!Mww6{43zY5^SN;*W@~^=4yzn->MI7JNa6P|&0Y5tOC5Gk?wEC?2+rm}9 zGF)^_7f-7I{;(S5%Q~90X$~S~7-x98TSGe*$;K~nyD?b9R{H<{1?|>`+G+g-?;L3lT z;a|dUjpI^scws;94&M&0$8Sxz^7Y`#w}b1v)ET}Z_IqB24~G97`J3RI!l%HMe;ls- zLb&qp!n@^11 zr(fp5E63NK&G4o0+vEB7E%<}s@5A-)GOUF+D4E~!H}J0EWiHKsJ(czGSAbWH@mI<4 z>hOCbUmt#7cysuJ;m5)E2|o$mJp4kq@|VDsp8`K5>f8x`I{X=UyYLs`Q^S{M_8Pym&Q{8K0n5@AN-W?CUDL7Sh(^hz?B~aSAIBL`AKl)r@@t9 z09XEb`1A3&cpa{Ou7Ed=er|%R{$}_tQNQwKh5c8)DqQ1l0av~?T=|pX%J+sVe<}Q? zIKEfG^>`c)*W+2Qtz zT)4)6A$(oz_cHkU@T=jP*UcGz8(i~!0dWP=@-#_ZKgR4$wxbo-0l^+aO{w8?U*zXj0_wXm+%0CP5 z82Q&S{9U-}Z-iHmI={g6e%X#!=KGyussGAXfh*q}uKXczze4_BQt;mV%}SNr{fg)83z{(2mj*6>Z?r@(&+KLh?}_~mfr$G~-cdk2T#Qfh#`>uKaYk^7q1(Ukq3NWw`Qd;kqyW z2CmnOwjER0PvtAZm9Gz1zByd^uJ9JI9(uq#gb#r$KLW1&t?=$q=MH$!@P%;Ym%#rP z`Oo00vmUN|nQIIC**oe~fGfX0T=}MOdZ?h3^nwYnI^$!&^tb9sH>9&hYq{Yf%sQ*vR*R z>$Tbu@Q4?UhHoEVxG}?Tg-08U?t*JPv*8-gQn<$R23-AoKf^zT*NsA3;HqCb-WW2f>x^4zCgUUU2pEY`FS45Uze+4_E!0;aYFg;aYF^!nNM! zz%`!vaE<3(c)ghKNAM=$zrd9*iXG{AT@v{!aOJDRHLpY9${z*Sc#eas&Pj0f=R$bB z80RH$)gJ>_{Ttz`{}8-h)PEeV`p>~t|0THUe-5t~^*6xdFcobxE+5cw(SFOrwchH& z4~qJY;mRMA;oabx*8sTc41+6wCA?pZ=Q_C7+dXjAe+aJnPr*-$`p?1phrgQP@4(}7 ztLQuUaZ%^*@c!XD-jM%|j+gRP;L5jvE8iO4JL;bdSH3q~`Agx-UjiF&iS3euVm2U}GzAL;}^tlII`62MWkskq9{?-h?1FrSI z5Ux5);L5LoE58n|{MI-Aqo23L*wZgNz{|wfcFXX+;jc!1fB0+RP2u|d*s<`47o7m# zJ-*O8!_R@M{%E-BjDsH%^&fyMKNsFK@{2Nj8C>;0gYOx2*28r@vvs^dmd+>XcqzXF zT=_b1Yj>}hY^?$1g`H85X zdLG#x-X-R{FZ`JB`f#0Rj)r%S{BdwSzxRc|75V;ft>+1F)t?H#IqKX4SN(_Js{ayP z_1}c|iuxPi%Kr%0eE)=NJln*8bzC%_ec-BJ7q0Of30M9YxbkPgC&#=7z-NaK&+seZ zb0a?u{&4s`@TK8%;5vWKhpTTZ%r*8@YBgNv^K}`%3I2MF=XdxU;icjRBpt7`-&Nsz z!Gnux!F673oZ$z;Rlhr2b$Y?|cpnZ|{z`b$80h#6pA1+1x$r%s&H}j3w=3YvuZAnX z8LoVZN%-<>*uJh+%aOIDNE8iEce1Ev|*TI#a09XDIxQ@${aP|LfxX$Mv zz`Mk8`5CVB`5$nd&v#2ty17k#?w->))$a$7hhfnWxayC9 ztNyKU)xQJYE5`XWT=^H^n(rHMjb|lXP#{TaCSH2}Y{#bM<{Gpg{ zhYarue=PF-;i@wP{!-+xgzNly9bA2zWqxbaNWVM+-yy!XAj6-BznvPG+g^u%7QO<$ zF?)?llmx@8Bzn*@p$9q}$srfQRb>PZ3f-8S4{M@K>0(^b=1#smrhATf2 zuKewA<>$kdUkqOp<9RK^--Z7Y`8Dt+aa`8H?+O1Y!?(aUN50II{EpHeQ$$_?{(I!B zz_lK#!?hk-!-vGY+QMTw74?S4$8L+xfvf+c;mVJLD}O(HQH*B}T={3=>i<%>zK`s4 zxax0!tNyQW)h`(zVAgR_{c7+vG5*?ct)FIa)jt@n`X|Fxzc*a<&xfo2PDf-7I)w)~ECTyz|Fg{wc!;L0BiSN>$U^1b28 zUj|qHYPj-u!HX|!a#NZO*KvFauAeLQCcI`G-*4eM?mxqId@J5w*iU`mX(>S*iYrR zg)3hJuKfOR<=euQKNhb1IdJ7KfGa;1uKYx}@{hoE9G`>_jsCm~SNGMRe!rXii)=sOV@kPM!ph!b@(1|&9^3eUE~ji>*r{-gRh8uSGel;fUBQF z;5sfN;Hq;gT=_fT%0CTP{sp-5AH$XZ60Us7I}7`-{C05VYr@s%dT{lp9bEa&aOL~K zwXO!ib^SjMUbAF=K9k@Fgg**b{wcWf@0iD>aq$j5gzNtI%MAYxu0H!nH)nW>y9)cS>(z4bCMEK@o!~l8?w#Rv;9BQRGrSdC>%T2r>)}|q)^3>-h?I=L@F8lpaTm@_#Ja z6|VaG!d1UMT=hG`wXTkbYyF%KSN*f$sy`a8`s3iLKNYU}GvO^_-9D1xPr@~xx8ZA} zpC7<=fBG|A`9I*w?{-hVppKXFd&8A)1=n$G16O}ehbwTiTA{|j8#Z#zCv*ni#sR)MR2bGYt* z4}q_a@f;1;e2;_cKI>e#?td?Y>;CsLxawaGS3mEB>$uzxSDhE(%D)Cz{wuih8{x`t zKfAF1%I^qQzCK*}=5XbYgR9Rc!PTD&;mThESN;~b*41>luK(x5bw9fpuKU@K;L5Ls zD_`{BKl&MOK@>w7xbA;<%NZ{W)R1XsRNd;lPwF4FN*es}nq7*EX%uLsxl>H+X3 zab7wMuJhzE8Qu-9b$(igp9R~}l3^1Hy*|GnV4o^J(L{Wfsb?*do-li{jA46b!G60Y?#7Owge;i^9e zuKM%gs=pMj`ftEn#Jc@3!#{^>Jb%Jh`2(lpsQc4>;L6v9D}N+h`D5V9p9R-( z8~|5;#=@1K2v>d%T>1HM2A-=p9xDZ>-=$W%o<823NidT=|pX$`6Gre;Hi)+u+LI1y}w#xbiQ-mHz@hBG%!zaILp(=M}D7c}2MH zAM3-FZw^=aOH=>bw7Id%F%pRdDpTvotUXA@lc&2Z%_KVG>0m9Gj{z6D(Q)^O!dhAZD2uKcBN_4z8e`ZEKr z{4BWg&%?E@UV-cS{|mV8XTOE(es5-zmN@B*RC*FOSE|wHbaBe01a=gljyH!7IiW7G?M{_|=hr2mVs{hw!aq zJYQw_MtFtDZ~tVzVESV^Ue%-ij&O~qT87t#-yC(Cz%~AZ;2KYN_u3&)0C(`5qppyP_@dzej&cKb8NDj-&cn0lr5Z z_g&!+hgZ+={os1Mx5)6;@ay97+djj)z{f?tCwxx$nQ)ySE{ChnW8hoGeD8w48U36M zSNz)M8^p>X9dgDXD;uKb;F<)48o{~}!ZPvFXb1y_En zXAAqO{Pu9=_l4^?)`xEw{pkQ#zAIe$0dVDq!Ihr~SN?Xm^7G-!FNQ1sF)ndQ5!<7hgLt!w-l57Wre~bxP#F&<)-){51H%;b*~54Zji|yDhp7zFmA_Qie~1Ul{rO zGW=2aMUj6MUOW69_}K98;L86Uu6(5z@_#W+KOHaScZVzA0GSHqRx3~wCArNoPceLg%1 zVV{++3Rk`cT=~{;<=euQ?+sV}9JumV!L<&@!nNLJW%wiTSE8S*0F7z90U2)SmgSVi~JfGfZC%lQfF zxG29jT=_b1<=ep3=Z_u$Rq zYoBHKdibkxzpzc5SkmyketG!rQGfRg-v_Sxhrpvu(NXZ7;|s@S_(^cp9}HLhOW~E` z3)f`$c)04%hS!cd^WfKoKbPSz!EcWIJMefo6nzM<80+WnaJ}#OC;YmoU-s4fZ*+Wh z9a0&t{WgND{sC~Ux3(F6EL`I`9j@`54cB$M-q7>VE`Rel1-2l5s(z$BXjY!IiHCSH1yU`Sx(F zw=VGeV!fRYSAHm5`3Z34r^1zg0Svb zoZA6#)jtfb`d#6w-vh4tm%?=(xC*ZPop9yvhwI-jdm_W1g{%Ji@R`w{PvMV*Z-Fac zdU;|0m9GX@zBXL>BjDdyT=~!7%CCnjU*_$?ekxx9u6#YX^3CANcY!N^GFomkJ$ z!c}J}T=~!8%5Q)xU*?^{e(n_etpHbkKe+Nu;L3M`>pHVLyhrT!40ylrbK%3nuZ64r zP4JG9e-N(xV{l#HE{E&iLwpae`ai(i#(sZ;_YL3r-NOEBzB|ANM!pXG*ziX1Ug53a zs^12#ex3@~arqlub*_Lbe=S`3yWz?|2v>d?T>0g2<=4ZN{{gQ24l4@#uRiY#SAQD8 zl|KNk{PFNd;<%gwe<6G*T=~o3%1<$$o}Wtb|L=tF5?^~T!ykj+5cx&${o_2p4BjyO zGq{Gd9$q=V@NL_zp3iJu`e?_|B1U1lN2IfNQ?p;4z${ zp74tCg|jkz0DPCo56|!`;nzlf99-j{1lRZz;(PnhR=>VU&3`9 zH^ZyNaVha${x9mdYhF8Mcon$jdjPyk_!e ze=EFR?Dr11#{Upp{eK*;aXt^%IA4KlJYT`J-;MAWW1PRiw~6DsRSZDKSNq)oeqiKx zhTj;zH+)if9r(2Hrf}UiwSw#OPVF+hGkj5;&wIds4etXlu~oi7{o$vD4}tdyzZ`yb z_!#&D;djI1k3|o{D@A{n!PmrbTn<3a)(V)rI~1BgRt>-ZI8h7p{C`xbCA5&G2?`)$ao@9sBJE-!ptPT={Wu~k;kBYaC&QKR4Ojj$xbj!SmA?zF z{A{@LFTs_66R!NXaOHo7E5G9>h5f7_eW(K0dTXBHhro}EIz8a3(+95nNVxLXz?HuX zesJt}HeC6oaOK~CEB`fI*RkKjAB_E0SW{HIrPIRn+<(gN3Lg~tCUE5sf~$UaxIWL{ z3$FSX!TZO4FNco}zaD;5_|5Ri;Sa-ygg*hlDts|q^SN?st*43x*9&x|31+IMQ z&kFmj{N8Zo>%f(73s?SFxbo-0l^+aOega(isqj);<>&JhT>0nVPnFE)-+=4>bR}H( zr$52xMV&2h-T#*Rys*#mo!~2?PBr)k;kDu4g*Sm~{0G4`{vL3RzYlzI)E@{}{fpqL ze+yjor^7X``!jqFe07ZHnGAmsuJL>VSDmlm>!W_@wS~t^`Eu|tB3~D-b=VlL^?VFm z`EGFK2f&pd23LLpT=}VRve4p;sbxboBC%0CNNekok}&)~|hhbzC$mxX;(zC2v{{o%?tg)83~ zuJv#tT=`*e3kl#2iVI$W=-ugdT>@R2c|EpY9k z^t$}-QlDq!{;QP#V^M_+-xaR>Z@v*?7>hQ_=X%+1USH2xw z`Oa|VFMvN9^)H4$7JdtSVfb{o>MwvR|2%wg)cFLi{8w<*FTFnh7u8SY%fVH@HeC6J zaODqzSB`ac1YGa$bjtAV@Y*Hw{sTlu38GZy@^?SkZ zj5>Yc4~Jh4SAGm!`McoC&xR|%6s|tM0au?lz?J_Iu6)IB3;VD9ZgAzB!<9b-u6z%; zj!Pf7`ac4$_ftm0KZ*X&ge(65T=`{i<(I>i{|3H1_WKiDKOd&jcZK~_es_3LoDcWU z@TPFpKNh|+#&ZIEWB3Jd6xD}OFr`3vF7kB66!{Z57}KNqh20=V)k;JPka4Idf%E&9H&Z_1Z} z9~t@TaOL-dtNu~&{i04Mxayw`KQ!_K;iraQ0zV^s6#Sg<>F{>p_rgyIp95F@`S5{} ze;0my_(yQn`30_g(GP{kMfoal<*UP$KLoD)QE=r?hbwrTLCtl$6t zPfE73Q`VwH%2rXUvZP2#yCf;1QV}hpNQ*TRkqC)MmI$SfvP7h0OOd6Gl>E)_ zKA(T)d3-O&Vdyb0=XGA^`#p1CGxyK{IrEtyCqGqA{&P9|YL&cdT!-(GlmAOjzTh93 zb0%M0PQH$u{FQR@cgo3kmXm);PX2ZIn%Gx!OUtZ|FWF? zWI6c{cGR$v-M*KRhKT|F)d`dvfw$ z%gKK$Cx2K@KKtL9b0c3?PQId?d_y_;CUWwfgP zh2o9}6Z}zm?|6OPSAI$ycYvIJCdlb$syu((F(<(n$xn*oeko@@YvuH_PhKsKdr&?y zywE>cze%5ddVR^4kdv<=Ctpua{$@G(+vV|PI@LMBACa?OPbc{E^3}1vLlbj!!5SeKvVw}xl?H|sa)!;Lxmb3k}*`Dfwfn>bH~sFZ>Sqk?^kaQ(|sC<)y-3lT&}Rociy{sXtRr{nc{z;YK<6gL3kz!&xWD zy5x`kPfhS5a_U!=$J27^68Xtd{{}hvo8{ymk&}NyPW}x!a~>mS&Y#H1ePm_~h zAt%2^PJXYPbvz(%8uKZf%KA<^C;yzB z{5Uz+Ig{nQ|3630_2D8p*CCtb)ZZx|8RvCkwyfWzZ^s<{Nj{I9eu~QJr?i}YYRdb> zaW9wCPh0uxk?$y<75;#HUU+x;r{RO;Z-x((^Znen<Ab`n4>?*7nPH*CMRE0PQHbld|NsB?($FLe0$58&oDXpv2ybBU-amU~UA13b<`L`4NJ^6!?UnZxYujKjSj*SVvRsL+`_sCxi|4Tk4yg>G2 z>zkf`mGENnUf~zX$=8vSZzCt)L4IYdS0{Oc@NV+^!w1Q!|C)SF^gmrrevX{}*UGy^ zolSD;AC!|%ot!ym>gP%DLh`Tx4Zn2sMA|c zodF5{ik$NuE$4hE$S1^cr^_dX&yh2Sr3t=L&U}86b6&s6dE6bAza0H!k0+?~u1K#H z^E^{NI`S3dobQG56_Kwkr+%vhzeTO3l^&Qo&oBjn`A$;r=`uaDy{mGkc{Y>|`y zMIQf|I+)<8oSBbD>X(rJ5dEAbk8fwB>dDDBkdyBqCx4Hed|x^F0dn#aW7vldml&-%3vY7CHGx<>a4|lOG``KTb}5zMOry zRL*|elHk9{Yi5lx^{2c+_+k0A;iu=$oIl4sQ%?Q!0gS=`MyB81g|9D z6#ZN+=Mc^0ZQ_nja`N5eSH~TL{ah)hpT=_f=`5$tBl4MXUQfy6<7BDl6W?n*iN-E#7O$jKKyHFN&)*HTiY<$L0|wdI`e6>{p|A}4>RJa6o` zr{v_HlT&}3ocv@t`K9vs7)ffSoc!(t|3gmy1>!g9(@8)7;Kk%6;(Tk!*(denyzg|4 z{FA8DT+Z`VXF2sBkzW>dhRDeemy@3@uNHL{$jNV#liw~UpDkZj!SroxWv-11K0 z<>ln7$jLXBlW!q!74;vGlkYAkKUhwFn4J7fdE+?lJbAnD4RZ2Z+$QRWN;< zo-_Hg<>b$olfPO{zL}hSXL;W^uSewU{~>bn!{y{>%b$z-3*_WC%E@n)lmAaXFzTON zAnP~j+w?ripCu=Mo}7Fm`H-mJR8IarIr)d=U_m&?hwlas$gPX5W`eB9A~`0=c~YTPj-!H3KF_flrb zsXt#{B<}b;!B@$jigo-x!FR~}MgD~N3#94)JpO!h$qPh3g%iA_yno~?$hrQkD(CvA zPJ&-4&maA_m!B2Ky-Q9%-4gsUIj>*(%jtiRoPH+B&x?Mh%jsvnoYxCW)u$$8(YjhuOQl$VNi?;*Am3mwYKX`Eqjd z4duLEYa-|MS|>T{+f7dWm*nJMmy@3(sjFvy7bj=gO&nv7Gvs%BkN@&hyM2a`I2h$v-duJoMW8k2;U?pzg= z$yt~Aa^}B5{$0#@i+q3h5jpuB#WUwj{%kq<^X25Pmh(A~X7Up8b*HnO{3G%Lk?)(} z1LV}7Am15tm?}RZ>VGaLze-O2S2_7V<>d3n8(--*()*eG>2mTH%E{N3lW!#_e~X;_ zqjJ{qDS7Ug&nP+h@pAH?%E^BrC%;opexIEDsU`pKeOp9M{sKAmYstyCma`Ar%h_)| z6Z~oUMKRCOa_UTwlV2<+zd}xar~J$~?mjvBJn;pc{Yk!%oP1?D*ReI^cf@h8ls_Ea zSkAu_d#{}OUFEH!&Wm#LL*-mQzb~&7b!N+{zgpfb@*Cw{!gt6y-#zkPkKZrt&cocvxn@8=v!@N8!uTbJ}4UXDU}<==)EmB-7dRM`ZtD3AY4T_vag z>*Qz09XBTUt#anmOI|7J^pSJEFD3Zv^7OSu`o~*x=JT#R{xkKNoPPc%eTW<1?7_?UtG?4T`Z^mrE>QFbqU^5&iwC^)6WBP`gvJSoj2r5 z;=IPm`8>~Ld5keNOI|7FJYT*j{PP4~C2t&$_wN&YhkR7z_b2$@@-dM=Dc-n9x0ilg zF9|$}h-jBh@j%JIPl>zQ3IMgXH8V$;nTb zlV2&X6USXAZy)}f{EF~Ha_Sd7J1daBP0ycvX*u~?@-b1rzMOm$`L~g8E&nCFo1FTO z$*KRmoce?1)PG;TD2_W@PJXSN{3iLPsPjvL|0bvYspYc%VEQ&af8JLqB3~W#tIEk= zA}4=?oczsl@{h=w^AmFBJX}uxEjjrGa`MaMqvMvSX%)gR+Z_K&6 zoPTejxt#n>a`N5fkC6Wn{fv`Wj;}il<>Z&k&yM`M1ph%!{X_D9qMvN#Gv{15 z>X(v}FDEB|nVfthIr-b=fLocuI7`4w{3agDrG%xAxx{NHl&MJr^^ znS5zE`Py>wSIEiVDkp!pocuF#@-NECPm-SMxPs6Zy?@ z@;l{RKc84JbAL98I(g*OKS$m%@|ER%!fVPo-^=9#Bi~luDZHbc_ema*Q@^{Mc@CDd zF2m&1nJFhfPfmWlocv}v`G4f(PdqPkUC5V~lRrmJ{&G2UzFN+FI?Bm+l9TT*|1#EV zko?E+NpkYj<>bFS&c`2pyz^tNoY&Wz6MUz<_=#DSPCEbCoR6=6iu{Z?@M#HthMfAf z<@A4ryhPk_eS)`=Q@^X6`aR{R#U0Ni_=|GtPn1)Cnw)=+>*EApET{fvIq(1Ml=D8u zp9y|g&ihe0;{{rJmDB6X>-YTf+F9Emb)KB}b1szA&t-DnpJ^oLxOd2@f4`jl+$+KR z$mwUOoPI{i>1V#2I!onCV&PZGbHv;>$eHJMd85exD*rwFV1lPAX9d!?>2-WOo=;9m z@WS$ykv}8B%ga|q{sQ@5;kD%K=T>s&e2ctLobRLZA7jo>$;pqBlOHc9zf8{iMPJEz zzvx#v>-(pi`UR?Fok;pNy)NX7$;sD{ldmTyf3uwY?Q-%@$k}iGWWZ$sd-tj^k#pn)RFXZF{_+y>I2tFX{$x4z=g6tQNKXCD^53KXopSQot7Qe!x9K^PKUJPL`Y)c~W#!bb zD?bqZTqWmq*{yQ&cgxB5k&}NxPJX zoUf1hl#!D^S5Cfxoc#52^7qNfKO`srlAQeOa`H3fY^rlh1i^=KRU$my<=RA}4?NIG=Fz`i&piFF7{nv=@&%@+bJ|a$fgcB&U8Id6BrI zVS+c2kBa=w34Xgg{dWb^KRV0fe;1W{M7}NS^izZ7SyfW0Ve$fT$J+`1o}9mL^^u%@ z7Rp;hKVQm6hOd=x2>&s`f0lE;C)LdQgX!Dj_roc2`aexh|7XbKJvm(LQ$eG(_IqSYt{!Faz@A5Cg|BMH@c!~<;e+Ix z!{3#YpCKo|QvPn#StlpIP0svx%m0jZ%oT48rvEejc%*&-IrYzwQ@^~N`d7)>x7W$p zpEt>=f18~8z2(&JFQ@)1a_Wze?~M6OOz>%P`dK0W=IBh*Ki0^9%Hq^sIr#%}@&)4q zORN|9;&SrU<(uQUb>+$_jh z*So*v?32QEv;H9SkN;gxs-&EL&XsqH<5rW848LAZ{Z?}7-z}$p7x~DjKRCgM$=5}G zru^;jd2;d_9F@*~kt3wh1>`um`q z{G;+Jk?)`2gXGkoBtJRoOqZV#{-vD!S~>ZBa`Fe|T>dR<>YUYSBW{? zCTG7rp5V{On@63oa_UTylV2()zfw+qm%Lsa_jft@y!A8ZNxrC@d^I`O?KS0nvrb$*s}zWe3FBY#SK zAUwSa>92RZ4_R2=Kk{eDsb5~sJnPF@muuwIxkFC=emVJP<>X(IlYduEeukX<|K#Mq zk(1vqXU>1inNQ&>GxtCFl5+AF%QwWjTq@raev_R1ZF2IDALs8J-4FbDMt*AC@lt}n zF8?R;Z^`3hhpBhv@pet>LwQ`br9P3j&l+RuTRHvzD9;^t>`w4Mb4_$-gKkKU7{W=J}?a^?FAhUoKOh%BlZ_oPKu5 z$?uVq&($Dv&g2Wo$)7JLf03Mg6Zr+PF0JJ)!n?{@_nva<50#T2DJMT$PJV%${6_iX z(dSnA2jTz8$)DUXbIyEDtZ;&tlvDp=dEYqhrE>lqt()ZJZarFlW#01f46*g9Jh;{ z{0nmOL*(SAB>0E&opId7^4;MpGuM}VQ91c)a`H9h-JLLR* zfi4N&Lr(oyVF|G7YA4^e=dA;g71{S68Ycd+rs~m_lor`8XqK1 z|7Uu=Dn-7uoPN%ebDeOZoZ~i?Q~yRe`{B+6?<}XEC*}0>tek!($*D74{#ndnp8WKf z+Y&kR{7U|8k<0bd?Sq-qhctQDXkuR0t<>Yrn zzN-AW@Jr`#*WU@Lh8D!|!tH=WCMn z2h+Fd#~1n2JpKq@$=XtM&{PK8yYbI|W-bVg>_?_|* z;hp90g})%D{t!9!$H=KaQBM7(a-N@8%E|ARlmA2hX7qnTJaCvlo=Z;sv*o-$e7^kE zsNYadzKNXty>jwh<>X(KGv}dl<~&_aevX{{Iyw0tZ&ku#7PFXqi>&h!c{wjIH@TPLk_eOd1$Uh{n8s1BOX?Q<5^#{tC=R`T{ zGEGjM6>{=xT z^0&hm%E>R6lizlnPda)%%#YpjGI7U&1V17l6Zzb2j?F(^|IMubOcj(*39lrlpX&0` zamQr|-bkJ&Pu3skD5riWIe$N;dxH0tzZCO-A;E{phev*t{HOTF`FJ_~FOt*$=W^aZ zT$|vVHo?EZ!Di4^;^s7 zzrCFO*;7vcPs{oHJ1-{qP&xg-nc(lp--!dykkkKM`MWXyZ{&HS&i8V@@3u>RIP$;C zYeoIk%~`)m-=-h$cuqO*s}z#ce+fDBzeG;|m&s3$>!|AzyrsNU^U5#h zyh_M9ue0Rzf0_K^IBp|3{kN1e|8{cvyjM=2UFGyMNX~IzlW&hc$I8!(^_?W=xHILm zBR@}`KlbM`d6Dq1mIXSD&O!<=V1@Z-PeX>mcY4~b6*E1XCT+bYk^Ef>szc?Nj z#c#>nZ`s4k%E@0UC*M#`{vLVhsQ;k6Z1_MqkM~#Q)SoUVKSxe}ot*p+a`OMm$)6M- z;7qrje%>a3hMec0^72J-z855TE&1#5xN9Y+{w;Ez-yW5de@ae%l$<`t%eO`U3+2nh zm&@sYyPW*5a`L%u%_^9_P0#uMm_q?M`O@-9kv~U1H~b1Y^{Y^plRqRUU-XX5dGh{tX*v0ta`KnU$+wkr z-QH3DW}I(7Ir)L|t0O;APJWu4`YYsBqRtvQ_4mrJjQj!l-Qn5p%$#S}@Z9nq;pOCw z!z;;e4ZlQA{mbONBY(5JUHI+tF5yqe$@i0!A0sC}QBHobocszo`Jd$E_sYrVzAJP7 z%(pNLqI$kG!AnzPLUp^}OTq=J*e3iUY^tnMkDEv=3{U4Sy&pdZ$t}pW}BxjywI9Je1(Q{A3+42`T+Vv^BqzUDPX5$Rnd?Qqh@AYHa`r<7IqP^~g4dSUkM(Vk z;MdFBN4`yhcaZb=>Lh3Xbd$4xddqoy^_O>z$JgKlA13GVI8)C2=gHYu%M$!6`Igvk z8xwr1{7B^YB=}!)o^MaMKXd=EpL5CC&xPeY-2q@We_75vN6VS#1UY@qlrztHa{AmTr=P8I=DAd_c}TyUXcwsGNRA%9-c8a^^Wh z&O8^&>2tZ9d9IVw=MQq`d00;W*&obYN9I{b&OA%V>GNDU^QA7%yp!n0&?bg zhMakpmov}ma{8<*XP(!}ndc4i-0^kuL3zn|o_|zM|If+k|7H2w__{DA!6(XhME(Q$ z-tdp*C&ufArE=!8QqFw#$~oTy@>(&691mr#FP=}{Ao9iKO~T8{Zx62|XMa|gb6zdw z^xsa-di9c%?;|HaMoxaBocsrJ_QS_=)^TZquay55>%Jkux5)Fwe)u)P|CICiN_ERz zU*?=s&i*MR=kZlSo{GoUISF1_&g1cFIrDEOXJ55V@Q(84vELp@@b2;lBL8%PKQHI` zcBq{FJW|e_-;wit`@VcbJm1bu@K5DDKYuT;6z8==PXE8l>Hi-&{pWl*bN|qPemVQ3 zlALv^E^i-wHkXsXNq$r0yUSU}-g3_Od3m3h^I$pWJ5tWNye;Q^7s%;nnVf!B%jsvM zoPKu5>1U6eesVpMxn6tXd<)3QpD(BXi{$iwnVkL`$?3m^oc`O&>8FRhf2{kH^8dnL zkWY{2r6KZ#;iKd$!pF;Zg)fxT&vN-&(a#!rk(mE?a^AQ3Nlu@8<@9+-PM_JjXRdqB zTv^{&EhVS_a&qQ*p`3Zvmec3ea{6p0r_TrE^wV9=JfD#>&lly)bGV#7-;&ekG&y~K zBxj!MGQ-Mnd?ZOdF1qYuAF|V$(iS+a^~4k&OBSn>9d`jKJSy$ z=R@KIz-tzVF{5euiKX1#K=L|XXoGWLZ%jNX>wVXbG zkTcJp^(EracDfxpDL&SQgZq)CodOY7pf-w6$=MH0<*eh)34Xi0eynfj1b;-{KJrf`_;Yd|U$4lS^9VWnXM&u^*Hrobczn%C z@I`VSkDKJof4iK0wJ*UB%2&mHJMpp1{eb6@?~Q!X1TQV;`Sx5n`?;E&IoFXh=PTu_ zVxCPBytSO?=dSYcab7*;^xt1j|AXZ8KSECbvSeA!xkFBVk9|pjFfMQ^L<-R zeu13+m&xgWjhz0!lhglBIsNaG)6XeSWUepAEiC8nA)X=Ua}?#}i{kn70y*FJtR?Rh zb89K5pLX)%@qXalay|#rMgB>=AJ|JypMB)KZ!=KN=hj}8^SGWSr~i-S%yX%nd9IYx z=O#Jx+%9LHC-(lo*Ef%xc@~p1&oXl6Sw&8t7t5LFRdVKeot$~zCug1y$(iR|6pXKzqU(P&_$eCx3Co|Wbd6tvYe_L7f|{@;+F63_Ev zzahM(oc-BO&Urm9r~hZf-6^M^eRBHwM@~N{K9jkQ^pjUkKSkyAQ%!zr?5mn`@-5`_-&RilcgyL& zi=6%+lhc1+IsLpT=eY04`5ed$InR4@<-G6rjhy=5%c;LhPW|8I)X(29a~-LFx}5sw z$f;jhPW{Gm>bHKrFOXCJdpY%Y$T_e53I4ZyZ1i)|vzhCQpCV`foF=FLGvxGNOHTdz@)^-j zdpY^L<$T_CwVcnzZImC0J`c*tr=H7P zmqU>+CFgT=<>Z`iRr%ofdVPtU^SwgO=i;uFbG~=V>8G=tejb(6&r@>x86c;hSLF0F zRbDv0UeA(~UnQsi4RZS5A*cU6a{50cr~hovXRa^(l$Mu?eS40a*G(77Ic{w^*QJf* zTqiV@^E%~zIe$;^VR@72bFiHJF!?o+pC#w-70#D)zMsp-#C~2S=X^KGyT*RlF6Vqx zFJ!I@{p6I>Pa!$|l#tWUIdb}`ET^BV<^7`nW^(eKHk?d{l6lo{}FQf znJs@X)_sBelkhL)T=%Y(^ZI&=oa6o?=l#GO12Wf__XqOHM@K*B%gJ9P9~Sv$@~Po% z1UaoezwXd#(v%C zQ|!+j^8B$6PZ*dvf9mIwQ@@;ib=0pU&mQ%!m6N|gPW~Y|`CfAJ!{y}Pl9Qh=C%;rq z{wF#4y>jw-24&8Zd?7jcDsu7{%gMKplW!|0-$TxRcv4ROO*#2@mon!`zLcDNEjju6a`NrvQ#rtwTzcf$I=L(j{ zSH$z`DmkAk*dXWgmIvhZqn{)4CgCMt&YVB_v*p)B{&G2=WRj`M0O=X~#y z^SP`C`gvPUKkv)wXSSSvR?AO_&%JMylmAOj|NqJ9Klk9w^`ifR za{4bVr~h;0^iyBX-|M+X&gb4_$-g8g|GJ#~Y&rP_a`NBF$#0XBKWRwjJjtIT zCtpEMzN(yjV>$U2a`F$#$v-M5KUBUa9;YMa<>a52lOHT6 zKV43Kj-32Aa`NBH$sdxF&o(S`ZsgC9lP@nPe}(+kSeI+%_pcY&PuIh)GK-zX>FLr(rlIr%r`Uv;$xoM)pCc!~K~8>)ocw=s z@+XhVoE!ObfC;y9_e2%v==SDuCocwum-XFeDPW}ct`J3hB zd&$Z7k&}N*PX1jv`DJqQU&+b;DkuM^oP5D?ne)6e-ajuc&lCUu#OiYLb>-yS$jNt* zlkY7j-(ODtZ8`b(TKV04`>Q9tYf0~^7E9KN*C+EDjB=|4#fzi*O z34T~kKc|n+Twm&(DIXs7>&nSrC4V*Yx5?Ru_sZGN&&bKYC@24poc#N8@?Xfwua=YF zBVQ8d^_TpQ@B$Mu=Slrya_U!?&t=Z?pTlpKlfPX~zK@*z3v%-B%E`}=lV2$(zfMm6 zfSmjhIr$RrWX_ZPS#t81%E>pBlkX@e-$_pXSvmXRB{})`<>Y6}$*-4_-z+DenwU8s z@;T+?%gM=Cl9RtiPQJOE`~!0G-Q_%92Fq8(J|8CM@iJRpIKGZAkk1X@C?~&FPChj$ zbDrdL%E_N2Ctq1kzOkHq3px3&a`HXp9pijomy>@}erDvS$Zrb&P~IVYjl4wock=S# zyA%8md5y>)k=G8-@owh2Gzl*#r~l$|`mZIY|N8QCqkdC4^>36@{}DO$pOAB2&n5WF z@_NzFhy))er=R(9>MWIC8}+xz$?ujoh)(TY zT2B6XIr+Db^T}By{@?9;@=9^v>;zvRUljj822!PxpUj z)F~laf#$v2Zvi~4QkGs7Q|e-i$LochD$t|Gv`m` zg|KhVV=SiKia`KnT$v2dfzg>Px9QQss z`F?Wp1Lfo=%DFC@CT|wUoiFbYzEs{he7l_bzsl=JKIcc7^CX{N&h^-N@(NMsLOJ!X zm)DJaD|y@S4sy=-9{F97?<>D5e1N<~_-k_NkCrpfIdaxzk(@f4&VGpDJS1v&N|*D zXFh%9}@(bnUzmt>SCMSPH&N}8;m^tU}F`u*L zjN?8cC;zgX{2OxeAIQ0m`dGd?j{CWs>*rN+uAleGsee$uIO-RQ zH~P~5nSOpCUqa6HTMc=9JSJ67PW?9Wc$!LekbfWjbdqlk?b#g&ZiumKR?cs^E$Uig4dHX z=d0z+xtW~#w3YLEr=y(LJH6$+p6xH^_3St~`N?wfpUZi@xk}D;;IDG>f6B?{|LoX$ zrRPunbUFFza`JWMKgL2fO7Ny~u28IC=d>%RZ^6~|7+$wVNb>z(dO8J#B{|<8M z-y^4fcRBTY%c(z7{$uq2ww(PlT~7Tua_X;>Q~w7!^>@pu|A+kIn9m8zvVN1kO|KW8 zOHMy$%XxizzMR*m4dvvU$jRR;C*M_0{zWa@|Ps|Wpe7@Ea&y$?Q&iZJ|QRHPfmV}ocu&N`NeYb zE9B&Vl9S&nC!hO^%sG=UC?{V@&N^0?^Lntkocv94^4;a+d&|j>kdq%LC%;fmez~0d z4mtTfa`JgrWX|)6*oTGW?6=AZUPI37#~b9-xmixWhn)PAa`GeOyq+B=CqG|KeyN=N z7Ww#?&oA=T;RoehKc~LToHN(YrRCH=N4_}fUoIzqwVdm>j`B%Sr<0ue{pGy=9VGug z>I{=}zGLM-M}D3>E(20a2Uta_0HFoOSs}PMxCv%W5orn||IVUs_JSrkwoc za`J8EhA`7h<|RhpD(A*MRL}wiJW|E zIrHx-C*M;}{xvzr9W7@aKbDhUEGNJDIG+|XNdK}^UMTK6F}?t$r+R!okDNK5D~~d% zYI5o~mh*hoLQef|a`KPKd478>!AHxfKSxfTMe@ty#5T#vZnbI0rzl)rF4>|dva`GePOIj>C#zFp4wW?Osg z`60cZsgqky{+tA_EWa-LyjD(~8|364kT;Av-R0zm$jJ|vlbJMh9vlKIqN%K&OE2cS>NSyj{CKo`rpZ^zfIma*6WCz`Z?BT zt_%C2pq%=}<@8@&PW`%a>R%(LesekXACNPL?sDq9A}2pWPJZ@rJ|kw9{$+uj=dq1) z{>WB2`TykPPyY7U{L{y+6nC60Cx5=2d_y_;CUW}eBC|7$tHqGoNm9 z>OUr@{&RBbzbvQz6ghQ1lyknT<>WWY$sb7YBXS;J#W!WnA1^DvD)!H%a`Fx3#Kgp`OKroEE~riD6bhlQBHoE{F=zGl#^d4r~Ys93!=^;IrWRj8~f?0ru!#f zR$e3O)J^cK7^W@|k%30qg@;*_&ZGv}{kBxk9IraO?*+1jt z9CxyOeAJ&MUl2ZDzBqitaX#y)a&fcx?XZI^@rkldm8z9ml;wPX1as z`8(z0JIm?kQTaJ>+^6Jq!bixdKTb|R^W_Dj&Qf{N@GS}ci=6t|w`9(lI;YC{I&!+4 z^F33}`PPdFs`99ZQa^_PYzEPWA zh4elrUrf%NFOoBdI&$)Dptyf)|r>{cyIN^*Ue9 zdNq_+iQ_hr(@$IZh{$)8bKD2z9QRRqy;$E@<@7U3&iD%-i z&Wt-wP4FV}C!&5ed6Y@jl$VS2XJ|1n(oK{%AS%C&>BwGCjfP z$f^I0{GvF(_j0~o>`L(8<>R8xe{%N2$??HC)|dTIMt(`uIaf|UHRMwwUr)|)ua$G$ z8{{{|{^=s8pB{1^U;X6tGf=)M`W%tq5yf(>Og&&l2+|(~w zf%I+q@px|JOUVC;+oBl(F@zg2?YBB%ai^1@N4ul)4zF>>ZJQBM8Ea`G$W z z!;kZikITO$FB11nN$?NlLn6O0!I#UgkNIqu)6%bU-Zway;HlkN1=F|b^QsYrO30~y zmYnY&RZj34@-|VZnf$`=Hu6K+vhH|TPX2K@@6W#>uO0Qr$a#L7oZuhG>E|ms_1DX( zzcs;k$>~4GubJzD=aWy1^D2?xXUW+=m&&Q%P)_|83Eo!D^YdNuzoX9wcfm$;mg8lW!^~f1jNELvr#1<*ehY^7wdp zYKENrTsisma`Kzy#98P8bJ#(Jq&y+-a^j5i`!LB{hsokQD>-}{75<18?)uNMx6z6>Ti@k9Qm#CSHkzmIp4qJqa$D7 zugv*B9$rj7ApC4O_0N|x&xUf=rHPz6_sYq4m6Lx_PJXDI{QGk9v*qMh%gJw)lmAQ3 zod1(EpJE3x=TE+joO~TQ*S%ND*>COT-^V)MCI2n_X*v1l<>cQ!&gUJyzT(Gwa^BCG zo!|@PBeKSl`a=F*_-gsw@bBe6hwqS|8s~e$!K^^~_W1sD$$9^$aDtbVZ;9iUm&dnj zQ&r^jbB&yNHkap%JK81q9rE~?P^ycZetO91XNa7BhRZLHJ3f?O5dMk$!I;l-IqUVc zoPKu8ssD$Z?^ERaJL^E{+w}Tg9sQgpZx()m{Fd-q@}=P|<>cGR$@h?xe^O3fQ{@E_z$Bmaw>_5DpAZ{MX(J(Tqa)3@pMx+msbME-tw zRr!PAm&lpt4RY$-EGOSXPX0+b`H^z+Z_CLqlBYkDn*Q;*{P!$Q{Uj&9SN?P44<~r` ze=_Gx{WIk}CsvTJi~3i{$zLlcf2W*$XF2)jD%=D>%?)($;sE3lfOpZHtMua@b+@*_mp22 zb)J?t4<9Kf|F)d`0y+6*a`Ic{%z2lbIp;i*)mZvAJx}ua<>V{L$yb+?Z!RZ)lbn2a zIqT9}&iseTxvm&19})9^U(WUXZ28>Ce

<_wpAb|F@j{38}0Le&)>eNl7`^rDw~j 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∈(=5LZSf2*ANyX4G2 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

57lbrk2P0soskspqI8!2b~FUxtoeXgA651+`( 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

O6!uls|=AK8(h%_5W$*BfzsXbM+I#i_4S3 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

C5A`dEK2?HlH_n>AfDucy-)DKKJtD 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 z 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

+vFn6Ka3ulePGx&H0?F##aSt`5QT60;`+Fb8xT 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 z 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

Ys=F+v@S} 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

P{esB5SvyA1?w5M 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

ya_!3v`4%(R!wg*mXYbI&r3*2;XFr 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 HNdEr-vz-2H literal 0 HcmV?d00001 diff --git a/android/x86_64/glslang/libglslang-default-resource-limits.a b/android/x86_64/glslang/libglslang-default-resource-limits.a new file mode 100644 index 0000000000000000000000000000000000000000..0cbed05357e07f4bdb08f55b595fb4391dfce81e GIT binary patch literal 671802 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

T+#Fk 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�Mi^DV_(f6)%Ku5Wf@tt9S*x^Lx$5trC8m_~Y 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 L2PcTa?fChBr=0$L literal 0 HcmV?d00001 diff --git a/android/x86_64/glslang/libglslang.a b/android/x86_64/glslang/libglslang.a new file mode 100644 index 0000000000000000000000000000000000000000..0692bf5c0cdb85a2ae0b9b3f11c285b7d44b2b54 GIT binary patch literal 53065988 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

  • moeUt&VKp; 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

    adbc|ehG^F;lll4=(cV{#zLQ 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

    u&pT-EBXvyX}YD#|ZQOZu_xiJJ@AtKWm&` zzvbwD9^Lh-pJzFrYqz}(!5iCAd#Amf;N!WDH#+siZjHCud)zpOSUj-;QON_G52Jh!8CJh$;n@Z63v@Z9=Kcy32ocy9d#Jh!79Jh%Q3 zp4(9#o?Cwy&+VuH&#k|V=XNw1&#l+uxgAZ#bL(8^TbgD6GlTWly=S5S=Hj{a4;(Lb ze3j$nj(_6#BF8^=yvp&{9ItWw5yzK0{#3|zS{9`9AEGFn~raCoX;(7 zal8S~?P!PN+~>5k$MIM3+#A^$Yz8}e%X=33FUoP&*}l@n@kgEbSjQJT9_RQ*#}gfY z*YRY>-*G(E@vj|Ecl=w&GaUcSajqZi%ilSkOD#zD2&ZqX}o#xR65QVYzU-8@>S^v#E z!o~mM1oCwozuj>@{cm}8FvyJEJX?MIKF4G6+~&X6aW_x7<8J)@j`OL_b0`aD?9LzS zJ@8t0j2TbwDW2Xd1pUQF!FhbjJg4J(%&`)WV&HV~gHX=(@qF=P+J<0~_$~13#eam) z7XKC-YP-*42i89pJ3d?%^b0Y)+}6-9gI9&pH08MgUL$@xoZA%U`4-M~3;kC(w-NNN zn9p{f#}4#9aDEo(p{PK>?z7o}9uq1CA}p9eJzD&Cln)Z$5A*p@asE!_;o@9g!^F9~ zMv8NJjTRpm5vsSl{c32|LcC$vD@f*ZBKY1K#U$*t{jrPyuQ2J5uKP3;n4VE+GMTQK0)H?Ja54GK8U|c z;{SzTC*Bj^%gpxiJH-1V{$6qZ-p#|}-yr@e@$K*z#Cu|c@P?1SE8ZXR>_5r*a3q}l zB# zfFCV>8hnh8pDKO^;?EJ!fnO+o1^i0!h45>|UxVN5qF*G08-;910 zoc+h>3*qc1Mt=>?eqZYB-$k!Q{3lY+b8+I~3-QVD@5LX5|3~~2_#ZyLPyAEFcffXr z_3VTbIo-s&!h8F8fAJW^4;4>?A0?g+AMN9(h@Xh~9Pz8+dE(c?3w^vud@AB+iu3nh z=7>Lqc=pfY{G>l5@zscbLVP{^IdOjf!r$Fxe)`)IzY%#p67R5osQrH~zCZk1AOA_b zE8^KtgY`Kc&i)wm(eNm2$JD!sXCS_(_!Kz5M`fPt;X@>zK0RHXt~_vn_gMFO)N6gb3 z@%&zuo(AXlr}XpS{617YL*AG7F&Qs@GxAIjUktz0$N4*xeBZ|rKTYD_fzK9aKhnF! zcO(8j@faM4FZS`L#o15tW${Ch=MC`{2Zol{D)E1Dz`sWP9h?C8TD%vIcYY9`5C2uX z4F0G11Mo=fpK?C4AA2Y9M-hLpcqP1#_*3vf;??jY#9x3PFTMoM-;-oLUxV{^lIgYZ z^CZs-_+{cN;a7{Vf!`#)7JjSv2KapO1~~hLv7S8Md|cuaaD4i#IM3&-509KKz{xntmfzaBk7MKp7)8Q zGyhAHpXbV77k|nAp&5AJMCRf71l}K!&hrV|BoFiN7H59%3p(>Y%)|UqIPRe{e_!!e zY=9XCiciGy=I`7x&!_NXCH@nX$BO@n^6BCiV}G0Xw_|?pZ{$n-j|YV6IZ3=4>plLi zFY~+vpDppr;CF~~J$bMASbV-77M~BV66bo4_X%WuRw4d%iRb6~9dRzlkHxth*NOAI z6Ym?w_Z@)G`%eI#Cd+~c5$9Bm@m%r1r_2v-&HC88;&QR_wiT7JLCA_Z6E(Y z{1EKVeJ(x*&i<{OKZWou63_E#JH*+4@o#aS?+W60o%y4%9@t-;=dTVFpNjZC;#{8$ z5a)frQ^a{bDoy-otRGJjKM{VK_&IR)kLGj@$LHiCi605SQk>_Pt`)CD{48;<582lX!}cy;ocsBl-+W(gzpj_~bFkf+DSjFJ4)Lqu_lVyPe^~rm_~YW- ze$|L``?XYjKWwKy6X*K>EAe62j%*fZefWFGoIk8jN1O+uGkSx5^S>j`{2z)l|7LOK|3#en{}yNd zAkJ5DIWqsD;>>@TIP(t|XZ~Zvng48Y=D$Fk`L7UXexA3}`p=Vi=D%N@`5zN!{%6El z|M$h2{}XZM|5BX!zY}Nvf5e$TvU6xZk<-ikUB#K7{qY&k{6|PU^N$o~{tR*E&k|?; zE5w<9ia7Jn6leZ9;>`b;IP*Uv&it>4Gyj|7%)ddL`M(us{%zvSzgwL7yJEY_<-+_2 zi!*Su4^KTPp{@vot-v;|BtS9sH{5qZa`$;_W4-#koRB`4{7iazn;>|Fh!Eze=3>*N8KJgE;dyiZlN{aprH2^U7Ra%+Kq+=*-_k;+g*l zapoT>&irG=ng4Wg=D$*$`L7jc{#oM8KUbXj9}{Q(XT+KRRdMEjOPu+69|+D*=I8w$ z=*+)e@-YAJ;>_O_=kJ+^`41Ln{seL6PZDSTlf;>y_X*(pGXDgLXMSGa&v@qN_4IV+ z=XLXR=D)`$|AXSp|FSsqzah^2tHfFVHR8;_O`Q36i!*-!$7h@_=8qC*{=VYOKTw?c zj}&Kq{=Nj?m-)|;c;>%QocXU5XZ~x&nSZ`G^FJWY{FUO&UoFo3?~614C*sWil{oYB zxLN1VK8a`k_BftqJo9%GXZ{}Itp5?>%s*0``7^|sKTDkXuMlVcDdNmOQ=Iwdh%^6V z;>`byIP~#hHJmIP=dDXa0M{ng2m?=6_k7`QH#{{yK5yUoFo3{}E^Y-^7{!UvcJd zhYsOfj?CXjocRZcGk=OW^QVb3|JmYK;yls?;{1MLy7=3OFBWJ2$a}=$!&ire|nSY1)D%5|EIP*u~!UHZB=8qO<{zP%+PZnqXlYM-=_>ZXPByr}s zUYzk|;@gp@Li|_wtKz@I-xBBdL?4RtdzsI~`Mu0Wao)#avpD-L|0d4$2n0v3g5GwEY9z7&K8fx_a+yJ^Lv>q z#M$q6ia5V#nJLbGzjMUd?{|Utjrcz7A#r{$^Q8C;d~fl*IKO9kU7Y<|-w|iO)=$KL z$NBCr#Mw{vd+~udfBGMB_B;JU{2avZ6K6ltj_6Os^+O5b`TI?D_6t2!;@?L6VdCuP zIb3`j;*Sw$zs-}x<8c0w_pfDr*bj4p#Gi@yiQ+szJ4yU@#9uGI5PpmJV)&in0i0jE zU%V6i5%Ioo-Zz)iH4y%i#E*f$C4MISeeo;dpNZcH|4N+qE!ix-2=Tv&^E~F?;yjNT z?AdZXwjOzSUtUh{M)*Mz{|CIU_&zv)FN}Hkz2pdqXFt{B#QDAC$>RK8a=bXdm%Kon z{YWnr=l6_L#Mv+OMsfB_oFmSDiSxwSFYzI9_N#eJoc(8>7ia&OSH;<%kYmng_9y&M z;>TkD=L_*nIPXu)Jg39|Bk|er-^BU7=RWaV#J9(o`7cDdyLdjzJ;g6W`7rT9l!u7( zd(~sai%>pM{05Xy6Q7Rq+2Y(!nE-_0^%7r#@=WmuP`*>V0_6qbkD~mD zIQw%xDgG47ye~5A$^M+LOZ*Eczc0@IoV@=r^Sp+*uOz+}9$B8$>PZIwLK3;q)ocDF+bo~myRN{BR zCyD2=g_8)jmJR0R^#CcuqtKu;z^S;iUUiPp1P~v-`{FylW z-)h@PEX4zx7yq zQLY)-u6RH6IPrIo=NNJJGdxk8{RvO?asIv{-^EUocVtdXa0_H-r{OnUd-QJoca5RGyec_ z=08b167%6Saps>O&ioU_nSZ7@^Uo1y{>482v^d+(E8=VqZ;IcH_VA@R-}gK5M9hbM z;>qy#eFEN~?KxhY@rR4E{wIm^e9md&JfAZ`oc(MkinE{XByp}+uNUX~bAdSP^N=|6 zKOxTT=5ylQKE5W-`m7LVeHz4BpGI-cpEmI=mrFnNL*7q35uPBi?2B<6jqN{5o;QePjviOt8lPdlqe7rd0Cx|otI&rr18R9=8|3l(DzxtRs?^nBA{7>Ym6X*SN zzZd6qkN*)r4ChhXC$yZ;Jb&9+oab+o#0!xpMV!|wp626ci!*1_S=2jl0Q=lSHH#CaV-yM8U_=RjU}AU+sAK%9Aoiu3xtQ^gs7mN?_D z5g&*5ohHus`@|W)P&^xXUK2kBzCxVWXKfT`{AO{+NA_XFZd}8Go`k zoma*A{mxqPPWV2kL7exi z`9nMr@%zM?zei%r`ONEp;>G#>(I9c2$2dZq=PT012jF-%L!8Igr)}l`c#UuK5vQ7hziZ$_r>pme=pAX|A@2xe~7dG`^0&EqvL>< z%a`@i1T{A zN^yQ)TrJM)_*RKe!27NdKOeqToOyPM--Y186T6>a{e>E zmpJ1`h%^2;amJr3&iISO8Gn;_CF*~xIIrI>73cgc7w7zZOq|yVJ|iB$_hj#h^ZNFW z#o51NgE;H+tvKtmRh;$NCEgD8={%_A@_G*Q=OFQ~;r+!~pTXj_=$Cei_>0JMrua5^ zo;dRth;w?Uh;w>x6zBZEPyAE7??Uk(;7^G&{|n;GUoX!5YsHy=qd4<#7H9spgIg{y zwv!IxksU&Dhl#U)&Jc0-&&d?;g*@5fhr%a`^S%Sui}U*HGVv+MQz6d#4!kPP{z7kw zv%gS-_^rs_C_WdyPkar${g9UPnb-fvi*HB#;o`r-M~nCC7|MH!cp|(&{22IT@nhk4 ziu3yP1>(Fuy+)kBBeqoh2IT)toc*u95@-LbJ>s__PawJF{N(ldJ;hfezOQ%#{8;gA z@G;^$;1`M~M2G5enfPJwV)3KlCE_FDPm1&U{pZEm53SzE*NXGH@n6NS#rys#J{=x2 zwB>xh72Zpn`A3Me|J!lm?EjW4{x|aHi$`?|)nlgkzlfhB&ivKlyszUD@p$B4EzbUU z>&4k0Z?||d^86z{0v?+A_E(G?-g3UNzhb=jeB?P?d=Y%Kcp3Z@apu2Dyc+S> ziN6NFN1Xj99~5W*$ydeSN1nIDKZAcM{sH_uapn)Cw486euV$3^Z^)A%z6G8n&iIqW z+5hu2amE*l|AYKR;*tA@>OD`K_wBr2yg%Y!67K=$w&i>Ua#Z!^zTk&N0PvXPj5veWb8~bBNi?cuW0P%B?XQ+4qJX8EUc(yq6 zPZ4K-?;FM0-@9CV7V<9=p9g_PD&i>?E#o3>HzoS~t&&QF!tN07>B=IVE zia7J1A$_)hs1eblI7yOE}%}F z_bdBBoYxC%6X*2;9gb-^KY72BZsO;o{)5DMeZdjpyuRRgao+cAtT^v`cBVMLCpu4@ z{XlLIXMJuKXZ{j#eveir&VDtIh_gOVinBg%i?co-h;#mI7QYqq`4{oI@D6D$mlyMN z6Mqr$hlq1}`-yXU)5V!TL!9}?i!=WOapu2Hob6$T_}8fa1LBN-RGjg(;*4J@&iGB@ zjNc;8`_B9(&i3%PINQU4BU>)7J(#ZE;(@NAxTC}wf4n&3bH&-t^Tm%q{+q>lz0d99 zyx!*tao!*2Iq~z6f0a1%tP$t^3Ac;$dZOROUq=4!$F`iG55aqiFN7Z{&OFD8|BUzv z;*6gt&iI+)%aCV|IO87^XZ$nbZy?WmKK`*d^ZzW)JUhi1-|4uP^ONxhh%-kfj=zH-yL{dob{;@XML86vp(;L zvpye+vpzqH^L@9A59t<~u8!%UaT_x_)I1p9U7Ybl#CiXw5#o#=FV6T0;%!l%>wJ8M zIP*U!&OD378UKbj1LBNdBA$Wisukz& zjJz+-<^G8{*GpfD|A}_^ojC8a@Q*lu_aySfmdl0p=_1bh#EP>%eZ^Uyf#R&s7;(Pu zsp79-zFi^C_$lIypC^7B^4u@Z_?N^P|GN0?$g|GJzY%Btzr>lR?WmUXpYex?GrpfV zabC@0sF9^$7Wc;`|+)#p2BWtT^+(EYAF^#hGWl z_$QdI-Qv8S{U32&&)#En%jMF5Jn`Zi;UmRUyNCXMw0N7CkY|aX(<|gT;=B%Pia7J% zD9-$I#F>AdIP*Uv&ipTlGyigN=C2cH{vX7df15b-|0T}+ZO61+F3f+ZIP)JS&iup0 zng1AZ=097U_d~ouocRmInZHP!`R9xGL_2vvocE`z6h9s9r&^rv`@T5yeG{-ea1|9ElcKUJLh&k|?;DdNn3qd4==5oi8+;>`by z_y8>5m&BQWxj6IJi8KEX;s+cMn(y1hd0&n_;$zW%0vRor7vHz1IP>=vXZ|7L%s)b$ z`NxYh{{(U7FA!(`$>Pj^mpJp^E6)6niZlOH;>`c9coOFSN8-%?r8x6{C(iu)#D7Bm z_G4QvFZP>_7yk|Mhl?}*Byk?+o+f@E_A@URzX-=o*NF2tWu7>XQ|=evh5Rpyr^Ahxi6~$CI1qbA0Hj_kVZs z_IRzgkM|d^L;UgL%rjPe2;$H3@$5@$-HB0r4vk|Adb} zCw?X3U-R)5;;RtfARY&A6zBZ>MV#~P5Ajoxr(0&|NgFe=?I8i)L!9~hi8KEoapunu zKMeV^#2J5uINx`QI8M(7?iN29`R@~FJzo;P8u71-&xEfNXZ$zfjQ>-d@oi2CCFFc& zd@u3q@V*J+x4?(`_)+4^5uYv2{JG-Hf0>V8E&ej{PZxg;UM$Y~JR&{~@lT4+g}*5N zFnpQ#V)*Cc%>T7G^KTJn{vG1X-w_R!%aQY~yEyar7H9tc;>bb6|B77ii0_7fDBjgBAT#_Z z9@0QyyLczO@TZTrIV}`m)7t6Uh4^T3)+a`s^%)|LG=UM~9r3~mK0Z!-8{*FtXMN5S zXMLuMqnl`8miQLrzf+v~7l_PD&iq@&&p`d#XN8_{IWoSp zIOCJV8J{A~`0?V5pCHcoY2u8ZEq*uZf0sDt&%NURAihSN`Im~bKA(#-{%di@|0T}& zwx_q8&x}7robmm{8J{lB_zZEzPZVeT72=G)O?(38+uh<9z@HLl{0riYuNP>8F=3##m|KwFV6ap6)!-1zBubyD2`&_ zcJU)n&-vo4XN5THQz_2*`Ib2Izc0@GpNcd8m*UL7Tb%j-5l1l)duC_?xqKNPC(ihh z;*1|H&iH(B#uth+{!VemFA$%D<+4zm^XCb1wucqsM6@Gqp z7w7UFEYAE#igW&)F3$LK#2H^C&iLu#jK5!;pVLRgx!qhQ&iJ>*8UM97<9`rmd;kG# zpNx+ZXMA6A#t#%{{1|b@pDNDy%fvrGJGol?M67>G#2H^E&iLoW8ULy{<3Dwr=ay`h zz7#(l_548`vpuj){3^un5uXAN{6WMo66gG>5?_Y+m&7@L zUKjrX@#`EP0JEcS#Ggfb{z?2*_^;x-;CsdYg-4tddNW(J@7u0zsC=k+NKG3Pk4K(i z;)CEvi|4{eix)QWTde<98)Z4~GH|5=>#f2TO-|3BiK|B>g0-pS5JJ0CdzyNGjoW5qfD`-*dV z2a0q4k8ykuC)SKl6~7#>og+RKexdj(c%k@b@FMZw;Pb@6f&0Y^@WNto*5_&Q+YtY< zIM1uRAzp#_I&rRlR*S!e_^-q{z2A#}kNAHb9|E(ZcG%$B_F$d!zpFT>_h50({{(T? zCrO<1|0Ho+7dxCL&iQ|?IO}tfIOqSB;++52igW(Y66gG%E6(}9K%CS2kT~c6D~=Bh zO{(|*o8p}RtHe3IYs5MK8^l?kMsd#ned4TA``pko+a7E^Isdzfvpzk;EY9g2FV6XYmE+tuw{Lx&cr@yBvya~{UW@HfnfSZ#3h_1YSHPu5cjr%(_&n67yN~x2Uy1tk7iWD2i?cps z#qqX*)5W>Ga(z5soXcyHIO}u0IO}tdIP3GEIOosfKK`sY=g(4c)@Qjm>+_X3>+`)h z=g)Q@|6QEN^oWn_C`o`c01f28<(sL-+EoZfT9N1~lvD9-#hi8KCIamFteXZ+LR zjDKI8@t=q@eycd+cZoB;3r=)%elk8*obf5*j87A1{Mq7+zd)SvH;FU;R&mBJ7H9m^ z;*5V^objKCGk&W$<9CTOzH45~_R08z#TkF3IOC5MXZ!?l#!nP~6YX|}IOA^W2@%!<_CR-EgBzTzJv z&p`3Z4hX$4MjYXRQ^jNO!Z|*Eq4?v7FBE5eio~A|hW=olIO}u2cvrlz*vFq1XMJ84 zXMNrfKN$5{FWwLDyGb0Y_rO*k-zA>M3A-rtq>UNb<$f_dN_-ML#>ab!&qREp_$Bs@ z%#bX86+Bb?s8DzyTb%Rr0&&jIOT|kuKdbt%j@8Yp+98%;rsRxuR{Jo;#^)wi1U4q z7w7wq70<-_?*8g>J*8d%G*8f}a zZ!n*K67PY}*KYAg;Qxp(h3}W&a{1D`ihqjuUOt{6{w3mv`1lC%&4@q2$H$5PhWImm z{5T0&&j&MdFR@e?RwiZ120yZQZ}ts`aeTv){*g?BDae=II4F`%g^aGvwFA{`2KE z!c|(BGryGlbnJ7RoP0w$`7Ux^ulADjayn8@eyqHH z?7u*ML-_l0^4sO)zmbzaEw2*u&&$adj!(4m@m5 zdHa4;&fDv34<(;}=I52yj{VEX$ybt-Z!GT{b6U!u34c^h{z*CcSLNiV%gKK%e=@GS zT2B6;ocv+=z?hSDx_C-^b+i zeM(N>;d1)EB&Y9WIelN3(|5U?zH8<5{ZdZfujTapK~CSJa{8W@)AzibzS$m5K0ox$ zE2nQ6Iejb1>3fTuzPHQi+e}X1)^hrGmecoPIeq)f={rbH-`C{yeM3&)cjWZ_Ku+J! z#GI zAgAv=a{Ascr|%PT`VN-U_XRn9$I0nCT~6P*a{9h2r|&X3eb>tAyID@(pXKyDE~oF` za{6A-EBShZzPaS|%`c~KQ8|4}$?023PT%Ts`nHtQx1F5656S8KsGPn7<@9}4PTw(d z`c9P7_YL`^+-c`NU(WAa{#;JqEpqzqk<<4(IemYX)Avs~ebYUXd`{?lp`5-K%jsKK zPT$IM`qq%s_YOIIo5<;VpParO<@D_-r*A(weFw|wJ3>z1S#tWmEvN5?a{8{2(|4ns zzT4&W-7lx_Avt}I%jtVYPTxy^ld1o@7;3xwv%_u zmDZ<=e0cZ}IekaU={sId->Gu?&Xd!3k(|CC%jvsXPTwtZ`tFj`_k^6jXXW(G^l0*V zpl=R2eGACxTSQLZ>*VykK~CQqa{AVl)3?2xzFp1NSa{Bg=)Aw;XeV>ujcch%YW99T+AgAy9a{8{6(|5g`zB}af-7BZ> zPjdSHCa3RNIejxcmV8d=d%2vxCFJxiFQ;!6Ielx(>04h;-xhNEww2SjtDL@%$mu&u zPTyDL^qnTB?;JUO7t86pR8HSDa{7KDr|)ighKthf>p^*u@N;tdX6&1M9_X7>PTzcT z`d%fc@3nIJR+Q8CW;uQ9$?1ESoW9-U^zALD?^AO64wKXOB{_XxmDBfiIep)f)AxNj zeV5DW`?Z|D-^%HGR8HSNi$>)c@dFAviB&Tl)Iep8>>3h4JzK!MdZ7rwo z19JL4ET?Z@IeiDo>HEB#zOTrC$d-1FugN)w59IXyR8HRwa{6wQ(|4bozCX(8`@5XJ zf63{aF@B(l&%e?4A~}7pmeaSaoW3{7>3gf3z76E`Z7!$p{c`#~D5r04Ienjy(|4Sl zzEkA%ohzsBLOFex$?3aFPT$RP`tFp|_gguAf0ontg8s?Z8}!XCr*D2aeXo?$x0IZ| z*URZ!T~6QICA1 zpUdg{ot(bE$m#p1oWB3a>3iW5$>)c@x#jdNET?ZVIep8@>04P&-zIYU-YchXM>&1F z%jw%sPT!~H^c^9m@5^%fPLb1hmYlvT=qBd2frCzH3gS~zIV&%+eS{`E^_+zlGFD|Iemx7={r?U-`R5d zE|SytBRPFn%jvsGPTyT}`W}$e_ZK;RPsr(;V?gpbq3@+~`WBJXx1^lDH^}K*O-|ps za{4xs)AwFEecQ|FJ3vm~p>q0;meY5FoW3*V^nFuK-}mJ7{X|aRb@Ddxa=KN{IUJGG z_oSS@|H|o``Kjb{Lf<@c`WBSax44|XrRDU!QBL2Qa{9KC)3<}1zCGmheN0Z@XXNx9 zE~oEUIejO~={s9a-vx5|u9wsIOF4b_%IW)qoW8%w>3dpE-wXqj&k23A$?1EkoW7UK z>03ok-&^GLtuLoHChHzDwow{Y*~Z zFXZ(7N>1N{a{3;Y)AyvDzUSoh%@;q=$H&X`y+TgkYvuH;Sb2^`;eTzedY8WD5vl9a{7*u z)AuzweczDN_Z>NXKakURo1DIT=_si+~vz)%i<@Ehqo3f@;z76H{Z7HX3 zJ2`zHlGFE5IelN0(|5d_zBAAOcx-|yt~{YOsUOhb~- z1ATML>03Zf-(qt5UMHt-WjTFo$mx5BoW4!u^zAOEZyz~*pO(}2IXQh_meY5VoW8T< z^nF`S-w);WMLlDx$7-xhNEwwKeltDL@lAO`<-`#ThelMr*5jlM`Kbw3W=$lhc--2@b zUL~h*X*qo>%IRBEPTzWR`Zkr*x0Rf}kICu#l$^f9<@9|?PT$FL`o1ow?*ch}-x4gV&yqs2%a}Leq^ldGt zZ)Z7uAC}X%zns2<I@-z7^#3y-7~rI&%6pkkj`bIeqV!)3=+PzP;u2eM(N>VRHITm(zEy zoWAeM>AOr$-?ei3ZkE&cYdL+tmDBgAobN09L(b>%ay_4XPUxFoPT!((`j(Q@x00N` z)#dcPT~6P|a{9KG)As>6eFw_v`>dS4W90OmD5vima{A7f)As{8eLt1ccY~b1+vN29 zRZibO<@8NABKbVf_d+>+FP77{u$;bE%jsKIPT!m4^u1M1-}~hB?I@>jPdR=2$>}>- zPTvu7`i_&+cZ!_8bLHR1*N+y;`97A7a{6wU(|5m|zK7)WJuav38999~7@2&2=$lAOfy-;d?= zT`i~Y7CC))$?5x@oW8%v>HDXgzW>PSTVPc3`JrzSIeo8_)At5BeQU_+TUSosCUW}T zE2nQq`Bm}xtL}0>5Ad9vzN6*zog}C4OgVkumecn=Iek~i>AOx&-|cexej}&vDLH-r zmD4xt3(4n!zIo*Iy-ZHu;&S?ylhgM`Ielx%>3gS~zMbUs?IEY{<8t~wBd703Ieo{< z={r?U-`R5dE|SytBRPF{$mzRRPT!y8^!-gv-?MW1W_U6AoX|IioW7UJ>03lzJ4f2w zlJcS9wdM4!FQ;z{Iepv8>DyIK-$&&19U!OgP&s`^%jr8oPT$3H`Yx5zca5CBU&!gZ zTTb7Da{3;T)AyvDzW>VUn|XBd`JwMsa{68?r*B0$eQ%c2x1OB7cggA7N>1Mna{Bg= z)AunseP5E(_fa?a-! zIp_15ob#C@=X~Cgb3RMuoX=-+&gTm`=kt}E^EoKzd=ASwpObRV=bW7L$v5VIKR;K< zIiG9goKFQg=X0~1^Qj}}eD0ESKKIBupAK@)r<3fTuzPHQi+e}X1)^hsxm2-aw%IW*OoW5h^^nFcE-#6s+eMe5;59IXyOiteoa{B%# zr|++F`u-)SZ@RI`=Y+l&$?1EsoW57c>3g-Dz7^#3y-7~r=5qSpC#Ua&a{Bg^)AtEE zeFw|w`+}UlzvYfuJ%jvs7PT%+C^j#^Z?|M0XcgP3D%jsVE+u^6>^gS=9Z?=ia=YhU? z<@CK=PTvx8`j(f|w~Cy;wdM4!FQ;#3Iej0N)3?8zzJuiS9VMslD{}fylhb#OoW6_Y z^j#{a?^kmA?vvB^u$;cX%jtVgPT!1^lFtc!bIR$PPfp*f z%IW)toWAqr^!-3i-%sWA-5{s$HaUIw$?5x}oWAK^OWt?-UMQ#U#d7)3fr$zPHNh+d%$7uCzYQAOl! z-~Dp>9+K1dxSYOcPTz)d`ra+4Z#y}CyU6ML zsGPn}%IW*8oW3v0={r$Q-x+fHek`Z&YB_zk$mzRFPT%k3^!-In-#_K_{YOsU0#lRE z5BnF9v;TE+_P;^S{x#(6UsullP2}uoc&MB+5fzp z{j*I^J`e1lSI+*I%h|t#oc+tozsi~JzyDN`p9pUzr*CUHeLKtP`>>q8{pIu>B&Y8v zIelM|(|4MjzH{XC{Y*~Z4RZQ^C8zH`Ieiby>HE8!zUSoh%{U|7fB#AUpZ`|=&%gA| zDQ_5`hsh`B|MdkD@C8uvCIen|k>3h4J zzK!MdZ7rwo19JKfl+*WFIeo{-={r$Q-#6s+oiC^F2Xgv;D(CaYd*tl@ot*uDm9zh! za`sR6dh&T-{|n{pf3ckX3(MKRvYh>E$l3o6Ir}$}v;Tc^_U|ZX|DJO8?6>X*^7)}}4mo`b$mv@|PTy*B`qq}yw~?H_E#&lVFQ;!; zIeq)c={rD9-{<7?9WAHtn{xUtmecnWIepj2>AO`<-`#ThelMr*5jlNN$zRKp_I&&+ zUmjj?cJle5?^Sa8mX_1EqMW`p<@Bv5r*Bg^eOt-t+euE}9&-8)m(%wpIejO~>HE5z zz6<2^eP2%Bm2m(zELoW6VI^gS)7?|C_Wv&~695A@9|r|;!*`j(K>x4fLbRpj)o zEvIjNIek0J>HDypzWwF&9VDmkC^>y!k<)jYoW679^j$3H`xchUc|ZIsIequZ>3djC z-{0l*JtwDc#<|JoguXfD^vx%y?^Sa8UMr_>9XWj)$mx5JoWA$V>Dx_C-`;ZiJ|(B` zFgbl+lGFE9Iep)i(|4JizH8<5-7Kf?*K+!PE2r;KIeq_-)AzibzFFoapC9@bmD9JB zoW7Oh^sO$Z@9lE>HkQ-3wVb{W$m#pA{Alj9o_*yP#oOO8a{5k`)AtQIedo*R`+=Ok zpUUaGK~CRoa{BI*)AvU?ebc>}yzlhAP)^^A<@7Bqr|;Er`j(Z`_a-@gZz1adP@jk<)jsoW2X?^j#*W?GYvk-xPR>46~puAeR|2+=W#jv43V?XNIB2Lcsb9*R5|<4 zle7OKIs1Ps=l5E#mh*Z319JNQB&Y8QIepK{>6>YO@_C?d4mo`b$mv@|PT%X~^u0k& z-$ru!wvf}ey_~*X<@D_%r|$qceV>!lceI?oljQWBDW~rza{8{3(|4bN zk<<4JIeiby>HE8!zUSoh&G=68IiYV(IeqiV>3fx&zSqj>TT#y6WxH9<_hH^6r|3d#I z-z*E0&kud`%IRB3PTxv$`c{|I_jWmb8_Vh2T29{w?>;$wf0WbrcX_$^JiuRae(%S{i;~X?eGAL!d$pXtW##m} zNlxEe<@9YJr*CsPeeajk_dz**2g~U@LQdata{5k@(|4|%z6<5_T_&gRDmi^O%jvsQ zPT%8l`ks-~_kzXA=YhW2<@C)jr|*?=`j(Q@_j);ftIO$oo1DJw04M%-(qt5){xV;uAIJ2aesx6A4Kjhw!ReQU|-d#9YfcgyM9 zMo!-@@Dx$7->!1{J|d^@06Be!%IP~=PTvV~ z`p%To_f0u{-;>k#6FGf%%jtViPTwPP`ks{2_g^`EGrymFe(0M=PTzuZ`WBa8885%3 z<(xx3IeqVv)3=qJz8&QB?IEY{V{-aFBd70hIeo{<={s3Y-}mM8T`s5ZdO3Z+l+$;w zoW4KE>HC|UzNh8%&G13;IiYVhIekmW>03rl-zswY-Xf=OeK~!b$?4lxPT$UQ`aUA3 zZ+|&`Uy;-IH939f$m#ozoW4ut^!-du-!J6!{Yp;XgYx0I((d1v!0hmeaS6oW6I->3ffyzP;u2eL_y(VRHJuAgAxEa{5k})Aubo zeczSSce$LtYvuI)R!-la<@EhSPT#-f^v&{7^7)}}E;)S*$?02EPTw+e`c{(Dx3QeQ zE#>rmKu+I>HeV>=pcZ{6A^X2TnM9%)7%Gv*OIs0#uv;Q7B`~N6s|6k?o zf8o;P^T7VO|a*S{*~qIf2*AR?~t>9bNO#M()!#dFPAgTAC&jWo8~>` z1H(tiIiHv1oX-?F=QB&r`7D%kJ|D_CpH*_sXQQ0+*(v9I_RBe+pXHp-aXIIcecAth zelC%7K3B>)pKIit&-HT7r>dOuxlPXbG?a5bUF6)~UUK$-QqKNE4p^K$mjvOM`buzy}T`xlb4e+fDJ zmyxso?Q-^SENB1La`t~f&i)U}*}t!x{Rhd}|9Lt4zaeM;`EvIEK+gW3%GrN|oc*`S z*?*s${eP6Rf4WbT_nrMOl(YZEa`rDQXaB3^>|a*S{x`|l|5iEs-zR7Pj&k|ajK{#E7dUrWyZ4dv{Ax19ZZ$vOYW_1-4{!``bKTpp7i{$LT zNzVQ|5&i)U`+5aIq`}dWz|3EqWKQCwhF>>~wFK7QHa`yjJ&iS9(e@4#!>DMHm6ZXGM z&i=*a>|ajK{x{0mzm}Z+@07Fu-E#JCBWM4|i?0;6y{u$OLp9l8OA!q+f|a~X{`KYT-$Ks* zZRPCWRnGp8$k~6Coc&*sv;Q|a36{>9|%f1RBDE6drxhMfKHkh6aiIs12)bKO32t~*9v{(`jr z6XiFAFOgRb|5(oa-SUE&(&itOmka+_J}GNjKJ$j;ec>F6$)`pBI{D1-y7GD9jpWSl zE?*S+KJq2uqvgxOC&-z3O_497M@{a@;sSeM1DN-CFOsF z*OoJ{+PWie;Be0lgu`G)Xwa^@Gi2UdB4&htmox*=f;V0zG&;4ccJiEl40`iB# zZ;&&mnw+1DZz&%XbK1#=hCeAE89qeL{2B5WBR@|*CVaJ=Ih*AC{Ql4KX)))xe13TL zZOQYT7k-JH`Pa*tQ&s*>%(+|6oHla)e%TZ9RWWC@nw8d9LsacO=h~Il1Nh{7xBp@t9Ldeoc5|dD-xma_0AySBU&T zdByOFa^}pC^Yeqt<;`NwT6w$hZ{=;mf0i>p%U8+sWKJ&m12LzRoH^Ia`TgGa$jRR? zCqF>mFRnXOJ~Vuqd{FotIrG=Zne&DGxtMcU&Ya)n{2lWgJCo4b59{!WOYxr;S!Qt8WB=5_^;g`rC2`?vqJp4vE^Y4~F8TmHyf#HwKUk-mpz9@W( zd_wpv`K0g_DSVxr`G@3FV$L!7^zf|TB+rvMdF1@Q(6aLPV@_rHs_-WA72)^Fncq*& zoTue$W6mTwb7so6@Ih) zT6`{XagoR0FB!k?B;2!Bq_{8{ozk$+o0C48Nn zIa}rY{pe%zr7`D}d_{Pk1IhDT9bQn*{L1q6k*^`&6n?LKYj}Hk{@iJM43Lu_DrcY3 z@(l5MX@b01_+mNNT`Dgh`|Ofm7Jfi}W%yb7)!`WqCeNAqMda5;zNEZ#cy0MD;q~RM z!@J0D3-2YrJ$z&eA1i16B6+&YkkE;hp5n=^^L$A&-zh8FOBi4-bD^J}mq_IrF#6ne&Z&WXw4w zXU@O!#gQ-kUGki#g%^|046l*G><mQ9di?beGQ!e@?zCe6;+V@cHs};Y;Kj!?&dH zU2^9CDc>A({*iwfUf}!Wc^(ZfBIox6R+k@-{B81o!`sQvg?EuN|5-V6UX-WLleYIf zIdc}t`F)0)<+)?dPWk2G$K{2>&&Zjd|A*vxGUrNpk(g6e&YW6uexK_7@`^F%LHVuW zgXJ~CN648!SI(S;@;WhRqntV0 z&i?rhCGQu1zwZk9@|a&+PQJdJd>8qQnA1zXAbh0!t?;pO<}Z>n=Og)|n6pEENj$fE z<(%7TIp=m>&d0fheoCGvUQ~W>T(_pYdU!qgE#V#HcZ7G7Gk;hLe?iXYQQwrejroh^ z?Zdy2Zw&uR&gUUd$hSuRtbBX;rH7N}*)~2;c)5IZcvblW;kD$Q!`sMvgm;oNe~A3C z$d8mi9zI(>FnocW`Rh~om+}=c=a~GJ@Kf>$;dy>ep6Ar?f^z2HD4!kqn(}$!t>o{7 zcaSsxsT4j;emv&Pl&=YYQ@$>IjeJY^7jotwk?)H9N%@}eoWCT`^I&*BIrA%|@SEgC zFG-u*LVhadx0Rm>?=Mdma|X$oKTUpNOZ$?pw6C2t>|=h**${#DZc&;S0np!}Nn{}oT+rRC!ye`5-- zDW4MgJ5zX5`N;HX|ARL2hWXRHle}bsH18$9;mS0BTwX1FtUN89F5P5#@%VqtPT>pW zoX%vU2WMWjXh&iJa&5UU{dqwbS*HlOG@_|Ej!Z%$Y7Hzf8U$@~h-+t8wdE8FjB3v++DUwP%+uPfx-udC(UuUc}>=T3RXc%D1U z$v-TQFaM=`LY^h&43?J-pDJhmY&r86%Q^q0^4H__(oQ+^_sg08i=6o<<mNY4CLa^`oCGk>6*`OnIk|FWDpljIrW_5b^F<}a5se}kO) z+vLnYCTIRBIrHzIgYb@vOT}wG{?;e$N4o}KChY51-`!xAC7o?rz{1m=Kekk&vrtr_@IWncq z-;u)i%8Nz*rxgC1JVWNR`G2SI3;s+#Cj}y(D~0EmzZUu8DZI4&oygyq!fVQ_W=Y$x zK?-j!ZxH$WQ}~1O36bxU!UxFbMETG|4s`3K;G-ZwDVb=!Z*o> zM1EHaKOoPLHEsUU6#j=iN950^@GPg2&)cn$za)iUCT|w`Yf^YQ`P9hYoWkqK7exN9 z6n>BV*T{EF;oapYBi~P+K3m$kJS{I7J}QO3BIoDLr={>Y@=s#^k`(^2{LbuYdwwqO z8NNmSX!za~{)7Cn$p4nYPs{s9{({rV=L*j*e=_p-c=pBPqPUocD)^%6Wfyl$@9MSLM9CPnYxl@W*oQ<7)Zh=(|P!bNDX#$?y|$=AV@_ zKhxRdeP@0SIrB@(nO|Pc{AzOM*OoKCt(^It<;;IX&iwvz=D#9m{%dlc&o|{i#5pgP zf0!Zd99PJj#B;b#&hxob&hxfk&hvIu&hz$%oaZg?x#az&Zy`B-OUmh6Ue5kC8i?0=t}{hyGt|6n=$PnVOQD<{8JPJXkT{82giKjh@|{+;6d<>af#nSYC%d|Nrs zd1pEItB;)fH9*e&8X@O?y)5T`EtIp*hjLzC*2;N#*(_)Oy>j;dLC*ds3dF2-y;7e&!2rt%Gsx~oPBD@*{6Y=eVWVJr?;Gao{+Q8Fgg3YAZMSsa_-AQ z`E_yro8{zp%E|vBFBo(Fma~8U^U3qC9QiBdt876NYZ!3(3h>k(0kgPQI<2d}lfNXXWHyl#`z?C%;5aeutd=UOD-*a`G86B+rd}QTdQK z&r)(;PH&gX_3;z9qbqykb1heNy-Ud6mddl(WwaIr}V-v(Ni-_F0p{zmT)f zFLL%dA!ncSa`wp*Uy$PU4Ey9u;aAAnr<$C7YRlQDv7CKc%Gu|^6y8(LKBMFx$Mf)t ze0}&dIs43!^ZIj13jbKn>%(1g_BkMDpI_wcb3)EO=Tmr=3z9F7>{C?EKBeUBQ%TM~ z)#dDSX9{mBXP+K&_IXUsKF`S6XSkew#-;Ena`yQ!g|CqF`f9(tR=nOgBqyIaQ}Vvl zi+oNw`LgnEk*_Qt99}zx*O!lsuWz=H-+E=*`+sfaeEzwsoXWid$q$l~e_l@h4LSMw za`KP>*dU^Dkp!poO~NO`N!qtpOKTFEGPfEocwY*`L%NL-^$7V zEGK`#MgRLev&+d}BWHd&Ir%%~&eM?kdyBwCqGP1{slStxpMLg<>WWY$#0jFKPD%CN=`mc zj^sI$FDNHpQBMA5Ir)3!arGGrxkId;>Z8=5q2q<>dRx$-gWoKS@shJvsSLe<>VL3$$udy|COBl?{e~g$;n@wJ9*CJ3(Lt@ zmXog`C*MlGEIw}SAm{t*ddT_yy2s@8@}_;<{fwON2OBQu;e?4B$w2_w#?UM>7rIr%^3r^v~FDDN59T_NXr-X|yj zqnvz({K@kqpG{8w8aerLa`Fx2`NHr=?2{jj`Df((oM!q$$#ZTJKVNyJ{POT?@$!el7s&^P zePHu-;K?5Rq}qFhw1K75#*uPePEXZ}1n z`9*T_TjX4Kmpo&9-Rgv#{8>5qON%GZlllgyiEA@DZHwj`7PwkX)7l`Kz@B( zcc{F2_%u2BIdbx!$;oe!H;?&0$}5NeDz6iM;nm6WyeB-joZs(MSkBwEVsbtXDl6yX zpvrPS4!TwTT)bVrLq0CNxqMpqeR4hydQi^W&7N}JZayK;6~E_au)J{i6nWb?&slQL zbD^B`{7}w$u99<}8|9qmPC4hfU(R{{EayCr%Q?@#<(%gQ*Cd}S&NG*s^UN>jJg=8? zZdK*{ez2Bu^6lj02grxV{TeDC8$L}=evX{{XL9lzhg?;|QDXMSBd`9^Z`-Q`@jkNk?*XSAIB1UdP| za`H>%*T(#>vOP*)7@XO^T!b`|GpIhWy_jY-inDc;~{6li`&&tWa zC};n9^73)rMRNAvB%wtR5RUnlPvzE$2k{D^#5_(?gxKl5KXpZCsOCV9@hpOZ(<`#A;W zyq{BCemdTtEG_5#mK)`~-%?XvHQqmLB_9=iJILwVLr&kvXt+$+wfQi1|;+ z$q$p0pDzD6=FF9IKC9%+*(hHXa}LQjg&&h|56@aId7k9+$jO(Mb6+aT*}t)zd`mg` zzH)w_?Lc|n_&Vk!Ils4drkt;vtdQ4^IqT$g!@p1AN94@UQa*W}%*iDuUq)U(u3Jgo zD!j3rd`mg`N9E+7lsAj{R2-xYIK$y4FU&xCK6 z4+%e(!cWPWpZA93c`~PvoO~7e@VM?R@(JOs<>ViblOHH2|Ezpb%%34AKTl46t(^R3 zIr$^obt8d*QW3aa^^RbGv{tO`A6j&U z&l_{<$P0$wFK5n!^5T&nEWavzguG<c4NtHhkG@&Vz; z@q%*ZSCW&jE+^kwep_7k0eSQAfpYTC%E`}=lbbf9pO5QKmA@MPk(~TWIr+VE z@;}HI#r*Sf@>y<9o-_I4a`L6+OJe>V@)yFJ$X^NXE*}%#M?NilwEVU33G&y&7t6^n zm6QKUK0D^@lfN1Mmz;dM>dEsYUs%pL7n5_IHRL>3b>+XrJ{{$2!n@1Yg+G_VN6VT2 zmYg~7%E^Bz|01sYwR~^*A9C`4%gN`jkvwPeSIWPN`BmlQYstyqFaI*;JSg8CK3LA2 z5%TXNKTCcv{B8M9;p^n&x5~*Mk^d2MPRgt1O#ApNPtD|co{4-x`QPCcQ~1qt=C_nH zr=6VqKzaJu^I3WB@ELOQ^W@}L%gJw&mx}p6$;tmFC!hV6`nR4=<$ghk!Yvjek56a0OmXptTYw|ofw~ORuV*b@~ zo~yF*ry}1#UNgM8yjFP66y8tH{IPQ8OqP@XNM0|lyHegFe6O7R4|4M7<>a%}N}lt> zF~6vsd?`8kdUEo2$sdXN-R1Se`^cMykCxvRK0)3le6hS$_)>ZM@UP_L_sPlsCGQw> z($!9$XP5B8a`MIGs;hiu?DL#_aQJBXu<$oi_+mNpH_Mr`Q%?R5 z`G~mg-|~s!`RgRlnf#S<@>S*JYsnYK{5Ep(o#f;P%gK+BzZdi8$X^V9M?NlmgZ$<2 zZSv{izsjeC|0#bXJojzM^CVwDPW}e@oS0Kh{#JMkIr+A7^8MwU^B_6r`I?;P>J53O zTxswBd?sHTdv1`g5C1WR|0-vG*1E~_WKJGA`Ev5jaoro``@);b$+wb|e@ssPDfy|G z|Eiq)bUFD?;J^Z$=LTX?41ljocxyhsW!DQA8iIddAw z$#;|IjqCQ7Ulsm>ocuUB`Gs=wAIb~G{Oxk`-^j`TCC?Xg(%q3f&&$IL%b8P5UNZ7E zSkzW_yR-QS$ zvpj3~pcMYRocXil%z0Z*exp2RTz9+t^6+DF@~7nF^E64GC;5W%d@;YGoczsl^7qQ~ z#+>%@g5d+?%o!>#9{FkVtHS5VONM_YC%-{X{zrMGnDeXr!SIWkCeO2K_{H+-;bl{J zWjXVk%9+zjPX2Lut+?(p@+RSv<>X(NlV2_;zgB){%>PzS{%1M)%*~SLSvTh7ls62& zR?eIX@|KZrAiq1jx%|HHo^ta2bf9$-gTf5p$Nw$As^cGiSg2waA~5 zPYh3gck(=^hhHWqUtCVUrhIA4sVDy>yp#OX@E-Ed!iT5um*mW!FK5mYIr(k!&*Qp# za51XN&7TCodR2 zQ%?R(Ir%km@?XgF#{9!_^1sW;=V+Nc&zv#mQu(Ff<>kz&A}W)dz0tMoSbsFe2@DXz6yeyv+`M2e7guf?$D}1Y*{BAkdDAa^|;_GpCE3{Il|Haorc?--geVlV2n!ze!GhhkQ@W|4mN*w4D4U zZIb7?Gv-_--xq$PoH;e+ha=xg{$qFt`O)yFK!`r9uuJSFB?<1d3AnpC| z0rI!Pho|tDY=&iQ;M zXU+!sTQTQHIrrsPIrIOLbI$47C-2u+aXuHxInRsbKSjQ*oP8?G+2>X{``jUCpXPG* zxlhhM{p9TPw48lL$l2#*Ir~hJv(GF!&)W()`>d0*&vrTcd?RO{Lvr>xCTE|l9g_F` z>v*p6$g^IY_WGfmocxV)^3CM?V}5Hn`3F;YPx*DR&j>m5UzRg}Y6_n%XZ}h#^ViGC z{~#xSR8BtY1IhCzpGQu*NLF?d%Qm z;o*(s^lc&U5`BBi%Y{E7CqG_ZIr3BGoaa0_eHY1jJN~hpzN_W*Js@uz`}`zlpA&NS zIVvl$Q?)ub#qhle2$gIs3Gf7m4SgQwr}PuM+vkZeLN4%FD<}WGd}dtth{C_FKDFfR z(@@SncgxwQm%MiD`M8{YhRHid{slSvyqUrm%Lm1rPvrZ;*T}iQ2j!1P{;>SX@QmG( z_lxUZBBvSAHV= z2l@H%^YR?=a+l?yXKFDkDWUP^vv_-*nw;SJ^O!n??MPI}2djQopo^5f;?7t4pl zoTYN|JLTl}%SXnXGjj6jyC=_+{1x)&V$Ria_NgT&f2VwM%;_ZOx;^B~e_l?0jQo|D zKVSZ0_!2qux5~-ymVX&@ew6cZ!LRa+h0@+$Wb2VUXXfXXvrjqsn7HnZa`vesXP*Xg z_US5T{v&esc~SmZ>@!}@K8sTLNAiDS&MrA~4#>%$lkbc<86QrbGx=O8JinaJ16(g> zepNa1>!$EVa^`oHGyf6!vFP=pocwq>`FG{ym&wWRmhXw{9+ZC@eooGuj6IX*e?0P6 z$T_#G<$2@tD!0nX-ytX8QO-GcmsgJY&&#WXkCAr>e@9+D`~&$d;oDO99y#+*$(i%7 zocv|IlIMI|T(`LVj_{f(yq>&4muJ?PQI(0{4n{9nDc_1{KOPKLw+RYd@N`F zYB}?_rtsZz=AV=^|D2qBzTV06Cx3;Ud^I`w+H&&kjyH<;))-CqGnP zHRjKhX9|B)eqs2U6#j*r&(HrXXU=gs`CNUH=Si>p^8B&S_44B3Rps=(Th4Xc$X|~+ z{pEeb2g%7#N#V2PJ7UgC`Nr_|a`Hc>@L%N_(^7|e4To}oUh|Ak@I~l+vLpOBWM00IrERnnV+p+ z^87!JzIo*Q8IbT8lgzQ~bWbaLONk(Q_8D)>GGRs!>9ua=XCJEWA zkP(tu3HiHS@Atp^ydIBpKOVXB^!7QQ>+`*?>zwLz@5Jacm6iq`FJ0N&eQp%aOd;Goi7e|z8>89x8TnA zh9}VWehhbhI^6lM;AvE6EBqz-9=PjYf;)c$o==!!EWb%Y?*Utraz94*`>ePZe z-w5vd-Qg)!r!U;~C&8Vc0eAh4@HbR{JG`d+9K62#GQ5R6qJQW--B!2>* zB~LXVbpCVXncz$0ufe~Omxte%w}w049`5{5_$JjE19yHA-1${-=MTW0KMHsL5BM(i z^B3Itqyt0exlj4DaOaD`oi77Ft~yQOKgip_U4H=F`C;%Isxt?ENWKW}`n%xH{{Zio zJ~)o9!JWSicl`t(htBgS^^+X#`UT<6mxQ~11NalwZw`;6{(Hj{%0Gsul79(*Sw0V* zPre0SPre)8Tz&!GR{k5ji#*0Bq4PW>j}Jd4&jF8?Ay~(J@PzWJ@Wk@E@HF!G;hE$g z!gI;T!^_C0!mG&Fz^lnO!5her!&}ME!#l_y!<~;YD0I%wXM#JQ6YhM4FkT)0iTddP zpCIoJKO-L##wWqAD?b-rC1bEZEQYs|?}7Vve}udK?{McIz@1MzICRdJ)n{6`^CjTU zmxDXs5?)W+)ehcRJ{0c!7`XFGqIk(*l+S-%1J~0b5eMPf^mmTK8_DlP@zxck2gud4h%@W%4wLxUTN{55iY>&Vl? z+sJdmXUp@$x5=x)UB4dO^;^MR|2??t4~2Kr?T&#DmM?@am#>7o{`XP*b!8*J{RG$D zW5oF|eg&?#+eO@g>+MVt58+d_KO`IW-+D#uCmmc*S489p?Zv{tWkg9>IHQ zKG9Xs>;ADk1AMkTJA8?}Jly$eaOWF`@m6pjcOBtA?s~v4s-FR2d>Fi~)@uUX>opDT z_4*3#<6H*32t!netvgz=aogAMfh?od7x{DwRy{B6yr5Zv>5 z4et3=gnK?U;XZG)kK(1&OXRn1aD7}dqF)#v0`CwlC^ioMvwRA?M2sN68Xjmw#74L- z*BY@ajQ;>{qIsT#=T<+zz-P;Ez}^2nxcg5y>c4f5I?ohv{qw>RnZx)i@UrTsFx>sT z4tGC|;GSnoxc-^?hz?=AJN%UT=?`~5L*eVA2e&*vj8BDcQhpx%p?nG4+q)ZHTpN54 zo<{q_Z*b@Dz@3jjI&^&#s7^BYOY(eh=ZnFeuN%gj!t<*Bhww`B{&4UAQ{mN=pAD}g z-voDl2i*Dd@S3V~1>QjZ!l%LiME)9iytvOea381H;LhiPJ6|b`*Mj%b{@fAnx0A=! z1Lnw8h}usQxIP{ikv@#S46mg6`Qh%TINbfzgL_18!F4&ehV5Kl|bC=Q7+szyA(z8XQ&;f5TlrV#0sNUF5pEep?r`V(!kwQ4cYX%k z`3-RAx51r119$!s-1&du&c8S@7+~bD&(A;F-pug*@>k$~{;&ev`RZ`z+rgdh0(X8C zypGoWGq~O^6)_7wU-<>_qw>}8nA%S^!n4Vb!JDhjIk=vVj<^Q*{(l?p+kFI2qT7u= zDY&7?UnAG6m^=gA{bYx`p8{~#F9A=l`t{+i-wf{h?clE81@8Kz;H@>!&*1IkGvMFK zzlLv>uY{kIZ-8Ht?|`S!9KMIAmS2H)RGnLJ&*vZbeC4A}4*nt>#PPYUFEiji zUo8ydE8#!sxYz_gA>RS_dGBBtKMwy*b?(63|3kR@PxeLd7bAZy`|Q6{nnOCc^TpxL zmxVju9PWHuxbuVH&X0mSKOgS=a`+u>*FL!OhvBY&3-0`%@PAbQr7uJ0`I6QpHQe=! z!(UOpEZq5)aOc~>ogW4-sQP2!&M$*IzYgyFQFv|DKMQyM5xj-+(WeLh6Zvb|Xa6~$ z1@7Y_7u@@Qr6^uOYZCdb7CfH*tZ5i;123n1f4DeeC_J|QV0;*#3isoId2n3@AYutT zjq2})yPtz__j4+YUx2%xn{fAYAMSn<&G>H}qs~7i-2G$;kp{S1S%vk2~f)`s!TaQCwZ?tXrRyPxY}{4Tt_8ci@Wbba&5 zlfxr_=862uAH{1v`@NpFk0=iJ_SSEV9gY;m~zFAIN3b!vq12JknPZw0R+e-G|$ z8w__pqv7snY8amlcl}Lp*WUs6`>W5xoxcKi{)O40>*ahLxbxZI-cRzty}rfZUf(is zuWwVh>$ics{`+v({}Ar_(4laL;pT7+(wbJh#F<&pmL@ z^CH~admZlWjXCeX`A7Eed;+-hIpNOdhdW;_jMsyEo}Ht3i)a0KZav{XekVk6KerJ% z|7mdN*GBPoBZK7($5~a_md-G{50JC zT!yFBZTt@RoMV6e-+Fb7(obS|O#NAIxc^EaxbromxSxBA{5uWd&UcIA@4NW3?|tBY z95OMAcaD;u4tM?aQQXh@MgFy|aOY1)@vc$oUxYjVB#L*7l8>nuZX%~0>CR`0;@zX< zbHbf3AI1ILWaM9~2KVvUFpRf=SJ!Q~hu4#LgZGp7gMT3(0-r0N1s6vwfXCM#tPbNF z;Zu~~1$RF`z}?R^xcj*c_dFkk@#qWwJB}jPrI-q3fV+Nnxa$`P<0as(Umxz*>6*cv z?*n)K6S(s;;jd@|=EI%;4qia{eefyrqj0a+S-98hFSzSJg?oRFyD)TJygw&_dw)(3 zcRw$~-A`F~No`kUcv<<|aOXS1M=3uH?)+G|w`&pH`BiZDvl;F>JK>(s&v4hj3U~ec zaMynfcm33hLf6anGs9g!58U+&!(G1?-1Qs5r)mD(;lACzaPM!E;FVQp2Hg1#VSF3h z+jR!+I+x(i--7p1KYzl#zrD0LbpEcN8t(ep;C@V#2k!Y73*%+rlhkKZc;sW~$gehV z*B=OXemLCuui(xvh5NpI58U}5;m%)&JAW7Me4-_x^LIWa-1)+A=U<0A-w5vYY6hbDhC9Cv{$a4Z5qsgzUkc+l;NG8OFAbfi>m-IdpBwIcA-MCkqxc8v zJ@Q*)xF4_fh~nPX$oxle|9m$rjE{w?!tW&|G?wu50WqYZ@qds{Oo&rcuM_Q&M=-Io?H29aNk5dxa+qFRUQ?&sh3z@7gQ?)>#Ieit73+DYVBg603s-|uCJ^yF~wpP9mVPI%tP zBG10c!vlTx^9$Vd8;0=~aL>69-0S`cyqIoyI^6lM;LdLi<9pz~-@F*becu~-)7Rng z)X#%3{sjJ-@~QMfcI2u>t)B_*`nkh+A-MPFnqj;lyo35_4foH??cqLG4uKa}oloHv z?tD48^UcEeJ8;i)U=;8Fd`p90hQqzR zpM~)+;J&|J2lq|<5AOPV!}uY%pXa#&FQ6N^2QMX0xaPn4M{ck4Dd5f*2;(K-o@WKP z&%@Q>{v1lXC_cc$dG@^v-1F%h#s|Uuev%n*-^AB&*IyaNH^BWk?I*Y&C!c{k|2N$E zh_(N%OXM8VsnN7>=d;3{FCE4!!rf0Bxa)L)XI4K$;jhcbz$?oa!ku3UcmDe@{u8{J z>Ys=EHGnJd9?HM4?!P&IEQ|aW2Oe90mMw~Z^30OR^T7RjXeGGwwcyTofIHtE?(^pu zxbu_X&aaH(gQE1m0q%Z&g1i11xbuI)o&Oi^eo}w)-~6NYlNs*(>rs5LW*_;j0z8xc ztX3Fr1Roo;5zz*&w_Qbafa~FU#E0;L(SsZA53d*_@DcFF^6~Ii@+EL>R>T^39sR); z_*e4X@Z8$o!(sdsJiqe4!o9sW;iEN&SnK~=->B=A2%c4arU~O&;Putdt8n*I1YSt< zEDQJiE5kkix8VuZXGeHB`7n43^*I*qKBvLGpUi<*QU9CanRL55;qK>WcrN9y!kv$? zA!s=A*U0s9K0e&}SK!VUfUnZ+z8=Oazz-;23!WutFQO6L`)8Xl-T@vbT5tm&!o4p2 z;l;E+kAQps84vgVvjpz>tbu!;Tj2kH{KCDxhvDx36nvcezYq80{Ks(j6YJYx;E}&Z z?ho!K5#0TxfxDk9a37DQ;O^&5xcg}p#@~ax&ky15vp?MDlTmQ5?`LqY?+Up4Tn~Rs z`|}ZaP5Ei~7xF*g?&mMK`$@MkbiG_Z8{GBt!Ck)?-1Y0iUB4;Z_1nT-|9!aYkAQn_ z-UAb z{vf#LKL+mlli;5JO1SH9fV=(}zA zpAGK%`QWZ!4DR}M;jZ5l?)q)vuKzyV^+&*c{u~eY`EwQA`ETLQpN2bs5$=5St)X*n zp>>G|?<&s@?<>y>_s`2!;Lg{9k5ZjZaOXdOyZ$)1^HboizZ&lRM!4%AgFAl??)rbj z{c}XbwqOGze~o;cd`3TCq=h@574GA%G(5iQRD@TS*9qfI;LVkPCyaN3`#O-l!uUY= z4AuVv?*8Y(o&O))+qDbcK=lv7$IDN`UH=~3^&i1q|Hbb@*U|M8!d?Frxa${yyZ-BN z*RKF~{g&|B+TM0>*Y6IWs(fF#>raBa{tUS5FNC}PO1SHP4|n~a;I4lj?)q2YuK&XJ z(DhoZ?TrIZqx+X^aOd;DGb&#RzDM#u>k z{wBEV?}oenLAdMx2KU_Vz|3-|h(b=jwAjytw*Y0(X85-2ESfJAWL$T(^4%K281*K3g7pXXyOxiQ%44Zn*0g zf;(Rm?)nYkIW?bd@cHVq4?KnP6XDKJhr6HkaObzeoj(o#QT<$mpO*g)zb=0OcmIiZ zh0fpgQ^8$7E8O*S!(G23-1Te1UB3z3^;^STzaQN7hrrKk4&&giKL!4$@^i!ZV)(zx zuMgu};V)|cIS|H=!jmX}2kz~C2>15J*d4mQ-ro3dZ*R&lo)PZt%@f88!@a%b!gv+9 zxA$GRx3@Fg+uH~3?fnGq?fo>2PlS7W=Y;V^aBuH7VSEeR+j|D??Y#v5Rr}j*xVQIj zcv|g0$@hfr53Zjc?)tglu3r%D`nBM$-w5vd@4#KZ6WsMj!hJpM32@)vErmP37Vi9y zaNp0KfcyUOKHT}oaOYF*4V}O98R5>q4tKr+-1(MaydB)H>kWdt&M3I^U&EbW26uih z-1$Rr=WoEBzXva>{W;;j(0Mwa0`7bfxYxZD-2F6$JKqZKe1Ev}L*dTPhC9Cy?);0v z!_A1e&%O`S|3`j{um6wqA^QKwZ+^dneVzWypEHj15wgf{Y4rcjM+?Rqkv)n>z9#T- zu>kT!@yOdPqI@Ozn=6A8RyBA_c_VmRc^h~;xj*OOKC{jX>i0%|kn-L}=X=N}BLA}L z%!cQXFN2R&9Y1gF`U~a%L*Co97w+x)3GV*S!@a$?;l(xozu;x$kKvW%@%7#PFVY+A zlEK^S_i5nW^!rTk{`!4(xS#LJ1D~ni7lbd?@4bEQQ!f)oltx|;cOxpmkLdSR;aBwg z+VK1OeM7jfbK4B=>+!aMXV=f&@4<`8JHso;KY%xs`*}gnp}qWLz- ze+FM8p9G8};+t{?aR z-)qWsH}e19Mt%^t+e3a7K2&}hK2`n;e5u^~m$&yj`Ay`H%J0Ij$^V8wlK%^julvUs znzwJ)kALFA3o4%&?)x3@*RIo8`E1-!ES9e6W&2Y5GmSNITlPxxfHk8iKbV)-ECx5!7pf0B=d zUy)CQKazg|PoxJXv*Fp~^WnwhOX1b!tKqHX8{i+xx4=iscf#k$_rur855f1#kHas> z&%*zdUxdex72NS&gQu6@g6EUphnJK81Ft8K(D}go!@Keq;l1SX;iKe9;M3));49=A z;M?Tc;6KT8!LP{k!~c;Ng(uV-pkIe)k-q^iEUyf&B=`M;=hjSKANelwrtrb?R`AL4 zcj1fWo#310-QkDiz2TST1K@wlhrkoW3HHNL@XYe@@S^g`@GA1@@D}p9@E-Do@R4#q zf9(0skgr94jeH|~k9-^atb8~8p8Nnjc4Pz3zK*~%$WOux$^HD3`>!JR^Bnf(azD>u z?;*d9`Xl9jzRLO8^2f-plSkA2oAU?cvEdix3E>ar$>8zh1@rOqF|MCUo(1`W@>k#$ z<@w=F<;CD#5$lrtiEAIkNsvppM!gI>|!%NGD z!0XCK!{3vC1|KM&2A?RO4PPK%0N*HI4nH7Y2R|?048JVj0lz8V55Ffr4F5-d68=Jh zVE_CXo=AQLo=*NdJgfXZyrBFMyqr9m9v}I*s49;GZzxX;Z!1p;?Mf50Eh|Afa*8XOl-;ECih^mDxXOeK#8e_5Uc zURa(QUPhh?UR9n0URRzM-c()$-bVg9yo0GF*5wesxn1M*klzsd{4AIo2ZCruq}&l~XEaz7s&`Nu<^{a0RI8~L~7 zjo>}xE#RZ&ZQ=9eo!}ege!e;Kk0bjzBJYd*b@?aoXnLd22zVO#ICw$%WO!Bi40vn# zSMWaaCGgMWtKlo<-@*^bx52N;_rRaX55iNXeKx#jU&r7Dk&V<@w?JkppK7xLD~uaLh7|4#1LD_rL%c~9go%lpG$$PjGT z5O{j|Xm|}TJrty&ho?XDe{x> zZStStzsaw_pUQuSr_B`1|2{mg{1LpEJeppY@VZx)$ALGICx*9{r-XNwXMlese;GbP zo(DcjUI;!%UJ|}sUJkxZUKxHwUJL$UnJ{&$$J{CShJ_){3J{`VOJ`a9Qz8LnOd;>g2mSApM;pyeO;l<=X!0XD7 z!aK{)z(>e0!e`2VgD;cchOd+V1>Y+F7rs{>Q?D=ixH~G34?inU3co5(1HU8B43C{P zm~&2eDtSKmEApc7lJZjU>hcQk7V>KFZt}YD!SW{X$?{h41@d9llt;558G` z2!2q00{)BqJp8WwGCao1!Q5`bQ^@bZUy=UvGKb8CScGsCLACLT6`4sqG`Aqm(`PcB<@}=+? zxq`W^fv1sggy)xk2d^mK3vVX>5#C*X96myR4n9-kB{75Hd*ZTMt)Bly?y7VtIlw(y!u;kD#<;2q?D!w1Tr!pF;B)ca7pT}$K%;G5;i;D_XC;aBBZ;7{bQz*83p z=93>@NL~zHSza3cw){{S-uMXSiS+Cs%WsiTj3Su zyWt(>KfssDkHU}2&%mF^FT%4G3;OvDURiz{-c$Y;e4gCzr}O&$Adi_WxE=fN^7!z$ z#e-Z@ctLp@cvE?1cpG_6cxQP&crSTT_yBn+_$YY=_(XX%_)K|S_}B6#@bz-PPtbGQ zCvS)RRe5K4v=YHQKZK{2_k-t_4~CbLkAl~fPk^_QPlbOXp9P;PpAX+GUj{!eUkiUC z-vm!xGMK}5_{;Kr@B;Ef@Z$0l@JjOY@Otvg@OJW>@LuwJ@X_*r;4|efBo95lHp*ke z56Tn4FUeED@5s}`W4{*MUN(4Ed2V-X?A$|r_zlBa<0l&6CqlxKmTlIMh9kmrS8mluZLlb3`)k(Y(X(Dqh@$Cp=! zCzscSXOuUF=a9F67m>dMFDvf=uPW~fuP5&bZzcEppnZJ3FCT<_ANdIQVEO0pD`kTH zkS~C*k}rdAl&^vBk$($6CinZYy}iH4cOidW{yqG@{4o5f`~*C{=5P+4 zQho`ZL;f4Qg!~V98TkWvMfoFmE%^&6LyzlL@>uXr@&xd{@}%%#a=$;_bN*bO5&1dt zm*I=#x#8c)3&3~Ei@^`eOTo{}tHY<43+7T6zF6KEzCqpszFXcN-uR86zTbE6`5aTe zH}dD?1K?NXL*TdNqu|kWyW`=B%!N`{W%OD7ypyDKz_fxJv>i^VD8=E zzbM}e{y^Rzo>+B8z|Y7hz$eS6z~{jH*a`J@mI`U-jx8(lZnCrBaXF|T0JUe`( zJP-U!xj%pA`pe|Sk>4sW4L>Ze0KX*n=h$5TfxI^I(W?aWY6wp(ZwAjHZv!tSe-Bb4@V@dv@K5C< z;B(|-;cMj+;rr!Zz>mpi!+(*_hhLK~h2N9=bFp!sjd#ei|6xTOt>nkyJ>_TNL**CY)8yCSE9AG}d*%1x7v%rI@5v+51#|M;UaT4X{zZ6N zd3^XQ@+9!W@>KBB@(l2b@@(*?@?7xu<@w*tY<@KW**;OXRj;o0OL!*k1r!HdWz!28R;fY*`FhBuM>bKc&6+RB$A|ABlx z{Gfare6)Nw{B!vM_zd|G_yYM!_$v8%_$K+U@Llph;G63N$IIXFbIShV| zEsqO-Bu@;FUOV{vDd6$t>ELPPS>U%x1>8^Z_6Tfm3P-+@n*cYx24cZDyL_k@2d?+4#09|S)l9|1on9}B-Gp9sGz_w@{X zJpLn}jeKnFxAWmI$(O>@$XCO&$Tz@q$+y4@$alg^$@jyn$Pd9A$dAKY$K z3_hz~;1l7OJ`H>-d_{x6*TQ$mx52-c?}aBF6Vy2XcYR;C!{>o)4TJoBMV!nm+ywZCf^V5Aio6vKzy(CPQ@%Rf%?9}FKO9}o9>Erc&n{u}su`9}C@`Cj#d-Vx8c6O>jrOsJ;;9u z_x;fXxbN>~z)M(En(-@9*ZpYbo#R%J_Wc`@3z(Pf&g* z-1m1U;RlpI3-|rqeR%ZWgZ}@9`~EI*w$Sw|seCfH@4s@uKTtk5-1$my-`~}OFISy< zaNpm(3;$jD4sajW!{ENZ8wVc~?S|E|4)K{to$^%&sVG9 zYn5LI_xWcp{D$%e;LiJcKXIQe!;okHWzq3<4SAoJ9>H5E{}k@?QraA$>+ADU7I=5< zSGnO$n*@KqIDA;^;JB^^uh=s1`ta^L543=fm3M(pm46JMC!YXcE}skkR=x)QoqQ*J zpZo}XRFz=6Zo^A83j7Itb>qO}}?P<1SIP zV4hcz&!hYexbsip-v9Hw61wj87Gb=57#|E&suYWIrw@-o=-!0 z2IN1I7laR&7lkjBSB0;V*M!F{7WC5`epLC^@IT}qz#qta!;{Yq>JNu!l8=U$mCuD& zlh22DmVXETNWKexMScN(PktGmd|uFhMDEaa%q))quOQC|uOrV2?<+3~A0sabFVZaN zrvZGW@=f4}4@Q>y9;a|yp zJ*T+OmM!vrf3-Ymp3rqXF3$`9RbCJt|Lb7>HQ*WKb>J1{o#2h-UExFJqv6x#zW$T9 zYrA|d@<-(J;ZNk>!IR7nwrdx>sQedr1^KUV=byscDIfjS(D{#%XMoR;XMyjMmx7;= zmxDXs4F0e3t>Cw32Xpuco^C7u-z*ow9z|YCY!5_#! zhbLVW^uHXQPQDsmUj75TzWgw}uly!_l>9b)p*&u`(D|>DCxRc6=YpS>=Y>~o8fE#LG_2qft@5&3pN6Blzr^@TVx5+!fkI1{ipU6kU zlPnFkYaG0od@;PDd^x<6d>_1@{0I0~@@w#K8 zmhvL-?(!1wY4Ymu#q!$l!*XBu%lq3!c{}7|FAuiM*8_7tm3#p5rR5XgHRY4wJ>?7G zBjiirtL59^JLEgz59KG}u~!7!brxPuej8q2ejnaP9=%}b{xDJ=3%*mH7JgEm5gu)2 z&}SidN_jDO1$i}iGkGoeDEZs)S@L%9Q}U1CH{}E2udE9C{~TUcJ_X)hJ|Es+z8LY$%v@Fen6aOZEr-&FoK{C#=!LZSP^KzS_qLU|haCV2+<4S4~0%r(Jw z6@eF)SBBS+SBDRjw}gKwe;dA0-V?r4-WUEv?(5R|d=hJI(En%1=aYX8FDG9FkEWkb z{|Em-`S0Mf`I!gtBn!tcrtz+T#YAW;XnSd=-48{5yD`T0xy%@Xhk$aM!s4Z(S#-a~-}= z{s`_m@rs77Z{vDFokZ}t@=S2o$q%pFAgEIqK3V=I+;tkjUuzW9X#)RP-U049ec`V( z3F-`hca@KWyUr|lcKw5;^WZ(@YvHc58$Pf~aGd@K|EXZ$=itA{Z@_<-KZZY$Cny%W zzE9*C;0X!^x0?^1QeGCGSzZU8OWp=vK;8phR6Yb=UOow4Q$8QwT)rOOQN9=6Lw*WA zNPZnYR{jV+Lmt0)=$seG)5BNE^TOB5%fPqDYs2@*Tf+~@yTeb*2g5JPeLYB@|8K~B z-ADUB@^4TlVc}r^*#plcKM5}&{|#P2{tvvCJYI>=IX9E1gLjbUg7=aahYyxlfqy1% z4F5{r9==xI3%*A_0)ALN8Gc^A0De=x9{xnW7apfbur4RyspQw-FU$Xe7m>#<89M(r zOQ@cQk7zyB)yg7O96e!a3RJXNt^J{92Q z<-U%l&nNZdjgbFD{w{o?yaRlbybpYjyg&R8`FQvv`9ye@;=y(;fWInV0YdQ3Ev^V4ZkXn{(9(sa$6n?o~%T$y=ma-*siVc z!t#UgH|0m*UF4VH{pG*Gzm`9SuaZZU3f)gm%ag*d%2UDuO?p$Zy?_QA0Yo8K3e`G ze5?E_{Dk}l{9pM$@VKRe?fMt~nmj@2(EX&2{3ZARc_#RHc{cb)c_H{dc`^6{xv#70 z<1}WOp#Pf4=aRRE7nZk$x0d&YcbE5r&z6sduaW=%b$OqSFYFB=aKt*tKR>M z$~Pkamiz~JTe+{p>N>;azal?Yeht1}{s_KP{uKVZJW1Km{p25c3V7D?!5m(J=a;_< zZz?Yfe@|WkK1SXMK1Kc(e7n3e{II+`{IPr}JYI!hyGFuG%BRC?$Y;Ypk*|SIldp$w zm+y!FC_e~)BEJAn^k&fiWq3*X-|#B($MD|rMCBr$e|bL~El&zxEzb`BpF9`*H+c#8 zKk`!WG8JEV-bZbCLwSApG`E^@zuiIbD)LG27V>HEh4Q8Ft@4%d zh{`WKzug`1B=SA*M)K3}&hqo{74kdqo$?3pn0mf6_8ZUJitzrBQXU`vjyyB`N$nS& z7kC9eN%>;%%e8|1oAAHn_298ozY*N;Gxzn9-G4UaJB7&)f|pl*7~JnO{~X?0`6+Pc z7r_T9zYOm8nQwv5Qhqz!`IGQ1%AbY%edfQx&no{r-1(<)uW$VFq5DakI>9<7hWquS z?C@O5=YrRjzXoqE_w}2-zTegiZnpvQLzQm=&!hdS3w)XKJ>d6Le-!+f@?+so<+I@N z>jr)LI?(RFsC+H*<>edT-R1k>L*zfem&s4VH_Fe$oxcsgr2Kuj^YJT$?hhI3X@7t_ zpB3In`5f?}@{;h+<)z_U<#pgc${WBR%iF=@*AM#d2!BmJ0A5o*2;Nsd5k68r6~11+ z7`{*L>tuWXc`Wz!u_lM2OCx-ie zGd=tlm-5x&&bNWrQvO}I?>BqEdnn%v?)*r&*Ksm@sp>3& zZw7Hg8O`R2HsNnpW!}VJ%D?Ej$Ju)-G{4AeE4#C8u(gy2KYI7 zUU(y&H%h_R=zQqwpnDyCzN&}(b>$nuo$m}!Q8n04y2E|G`WRkE`5|!Ur@#j)@9U-E{i~!`?~C2NAC}-kl(7juh-7} zUgWPUe*o_N;XM2$&EX>4`G@e5%0Gd7e~4E#bbZ?>p9t=J7P!|pe;6+x#+$;u|Fnj? zet)?4pW*O*>VF)(Yl~pNngaLr5az=#s?Iw275Ps1E%{II2l9*XzvXw}|H>n(g|3UQ z8;}U@>ndb`$7&L6udfpy_gT3i&;CmcLB@-Fb^@*eQM@*(hn z@)7Xa@@eoz@)_{Ga$kqubNErd8hL*nZ3q03@_XPJn+9_}3C|@z3-{;aeuvjp{tmpi zJX-b8{b8v5Mfg&AO87>3TKIW+9{6wa{O|;C1>5@uJhi+cyqLTZyp;ScxIf?53Ep1$ zuJG~lPvA4(_(b_Y_$K)T_T5Yg7Uw@-LYl1?Y9HrzTcb(@1%A2zbD{+nzsz* zvl#hzn+f~!D))8$?Vrk*qs|ohYWQ}!uj}tR z-^=$R@8jz@{7>ai!*gjrya|6zejEO-JZ7EHbss(}n12HJDCJYb$H}w9C(8@Lzm%7S z&y`nzdk%Hr-zo3w`g@+vw?qCHwVB|n9HmP5gIU4;9(m$%`U_Xc@ikKgru{mI02L-!M3_c9&a*SE|D zZ@n+5pA+u-72v+UWo@{xZ`l~`>sz)9;~$0baq#o%^K-bbSGfeE8xx_fd8cY zA-Jzs`5V0M_d)&N;m*HUFLYgwC?6N@>sw}l*E|r^&kpzXEz7_UDPJD$>svO0SNkET z{}$YjOMAe#E8h$5$ED-oB@PDlKZpBzmGj|ilwS;YemC6D+Z=?y`eSgrN8rBhpy|}xQ^2#bRB(MzXbPjnkkGI4&#;K zzo^gZa381dz|;H~Y}b2m=ZC@@DL)eK<8&^3vhwrc&ToaEP<{v8$MqR_vO_`tKf`@o z{|#@X{A0L}>%>h%*XwiTlfivl=YfB(e15o(>&o!x+Rv-QeVn$0msb95xbp+yKCXwu z`>4)nxR2|Z@Nbo$3-@uo1@7Z|7yRbVV7<=5XX*I;4ZcABCwzrG`dgvvwLzX3{+&EM ze6Ktg{6~2)_(^#M_yu_#_%(S8_#g64aKC=t2mYt>{o#I}!#H?S&G~b<^NZmHm0u3` z`yw{OYb(DE?)*>iZpxp4`+W|-!N)59JKXsg%|h3GnewsWexE}M`1i`Efjj>y-23fo z@V`~33_RnmU_Y-5&n0gNuOn{{Zzg{qK1BX8e7t-Je1m)ne5d?N_;2#%@O$#r@Kn2l z?cD{>BHstEDnAQvDE|dMKz){6aKlpE_{>x9r$kfd+A2K|qR=a)}}HIbW zxbx9khOT2@eqN<1+|S#*3-|Ljo#8LU2>R&`cm1(&KX3B| z+|S$0h5LD%RbhNr7(WHCpgzyR{XEPA_+aH9!ktg?cIZ0pQa%mb&%+dg$B7xttr*<- z+VEP+*N6Lgn@;cv%6EnPd7F{&Q_7El`+1u=@H8(*e?EY(;l5w~AH0$B-@$#}J_Vns z{5iOvhq(@l-~mP^A$h9(`$PV!=1kj zFR%P>a6e!17~WR-h_<2Y?tCivNafSP{d`4k_)_Kb!JRJ;_xjd_Us9d+aOeAn@d;sk zMHt@;f1ukv0Qcu8e}<=x9_&|_;7NJ~^L+#_rTkO4^C{mAU6)qMr-l1`QV2d=`C@RN zPin!JD_;+OT;36WTHXad`oo~_LGWvHgZT`D`#dlMK19dMQg{X(*DK*Z?zY3LD8C!- z{5g0}>=Eb z_hP;mx{iLlmjIrmR#5*Xxa+?P_v5`1a6jHF2lwN>+F|^iFy0$pLw)vx`|;aE_z>l% z!ku3S-=h4ta6f)K0{=((<8bHyfETYF%=sSNkN4uW4_&YB$|r*R@m@~&YUT65{dlh| z{D$%s;66V$gJ-G}^xq2Z^K)-_1Lga{{rGJhe2ns+!<}CN_wl$MzDspB!ToseAUv9m z$0Kl`=WoG%T;GSMt{TkeA$*AZUwFofah@-Dv<{)`{-!(y{GjTjg>POE+-^pAtc8JB zfV)m}`0|xOzBSx+hQX_;&r$G!@|p1D)q?u-;Em-A;nU>H;1}ep;n}MP_1DASlW&GE zmVXDoDc=pxRU@c>0KW8O?B@%341P!RyafM8eg__BRZ#yaJfr-jj-mTWj$eX&YIt6G z4tN=P5qKqed3axW9r$2*OZe~a#CYD|`|#Xd0`CVeDIX25ApZj1K)wjxQoaG+PQC}; zTYelqTz(nu&$--(`*SYQJB6-`Kj)GJK3VlM!xzZ&!#Byxzz@i4!u>g*=5T)ws1y8x z>U;#hEguE<=aQzu{kf!t@QAL#y03>Pl<$W7^Ek)g{`}FeaDQ&-9^9WBiuQi!x}?$V zz68%M&jc?a&j+t8FAc9PuK}-lIG95-xIbsq5#Ch!zVJ@+k?=wCsc?V(XaRhx^54K0 z%6GxH9t-+E3je-I%;y8X1W!LZ@VoF=hJHS&G3cL?IyL<$^gnSCTu6#axbIn-KZ+9L1kbEb6*peXs6MV?Az%Rn1 zJqi2{Jb^r-OX#|!k|%;^m1lr|dpx)wd=>8d$Exs+y5Fn`za(!1za@Vcp6XO^yM5qU z<^AFHdE`B9vePY zo({fBo(X0)UJRb+e9(VY_?z;Y@Xqo!@ILZ);q&Bu;LGLx;TPo-;5X%y;K_at z`duDkQ;;kkbawktE-`4aGVl`jR~ zB5w&lAb%U~{7`tk3qe04;cMhe;QQn&;I4lFp6X&y{}8;3{1$wO{4V?_d7>VnbG{-^ z3V-ubaJwbp_2i}D%j9k0>*ej?iGL01kB6t0PlSIU{|5evd?Wm}{0cnQ<=}R&!{3s} z{~&ZeUFC`4>*TM(_sI*uV_ykww)9}Lb^Kj>5_6*&hM=Bo&eq5d# z{EX_of!9{PJly%V@XwWR4|jev{J8St;Lfjtr@j^RzYgyF33xN*&%m9J z);n~6TcP}maOZQvU;88ICl7p@yb64|yaqh=?VwH{cuskL_+a@W_-Oeuc*LEc{v~)k z`Biuwd5k`x^La}i8}58A_*&)j!js(%`e^{qB5wkBekgpb@+0Bb0z*4!{KG+v*C5*U%~sy z*TYB1H^KMGkHSyMPr}pu6ZCl-o=bio-d&!gU+8*`_&>Vt0_uwDefv1w^#Bju-QCg% zh?JyscbBAeNjE4+OLt3m2?ElcN=m2X`}=d>7i*pGdLP$vx%hZ-&pvzhnKQFz&pGb# z;3wR3!*9Fihi83f?WqheeT`!x6)_oeX2VXd7j;bq+q zz-zky0UzRi1wP6B27HJ66ZjGL7x35a5&H-3-*Dlq{ZZkS+*8Awx~GRvb1wv6?p_pr z#=Ro^x_cFPlXT``@s9TkA;tRp9ufUeJT8J_m%K?5v={Y;Thfc z!|S=9hIe*94`1N^0KUcjG5nGHM|il1*3K{k0>?=~_h5Ks_k{3a?m6M(-1EZqy_Da; zH+sGT{EmBF_*?ge@GOz+b#;LkbMFrC>OK@c!hHmMhx@Pa)9!QNi6dKk*2A;7{|>M3 zegxjp{WyHC`@it@?oZ&?-6IVQ_4yyohdgwT2G1D9+Mfnq*gXS$pnGNbWcO-th;qV6T)8RecXTg`buYm7zUju*Pz7HNbnzi!~yteygcxU(P@a68$ z;fLH`!^1|m?M4|CxPOzo$AFi2PY18> z;SyW>Z@}ZY{{t`M9(H)({;lC25q{Y{G5nr;a(I|?HZPPLUNeccGe7)@dwKX(_sa0u z=dFGdc$B18zXiOMdoOr>_rCCH?&INW-6z8zxi5l8O=j&`2G{zT%kcf4zYc%t{vZ6E z`v-WY-KLzgJ?Cy!+ZQXOj`?%+auXX-d1+Wlwv9`|42Puy3*Ke?}iS4tcCbNi3LTe%;H zFL%EK-{<}S9y(p*&-KHO4BTHa+#|v(x+jO%bx#e~{lpURFzIc(rQv1W>%(igH-@iw z?+^dWeK1`4x$r6(tUU|hzq;>%uX8^DkCV~rT!eq)eic5${T+Oj`zLsmOjbYTsKEVI z(>*PGqgTX+5YMaPvh$|2g7IjdZbbCy}qt#8vL;PeE4biHSpW+8{qoA_(Slx-kziIr+(k@ z8oZe2Z^5ZHv|C^H0_rSy*7dU>#dp;3-=qu~zwPDPUML~@SJdc|3d+|>Qsm8 zdm9?Scl&vAb9f0qzikUIkj=(JZ}`$I=KbIrC*$E4JwF+){4#j7tX6*&T;pUryol#_ z!<9b`@9g>WaE+7u@VTCU1Xn)%guwlK%JY%o8Yl7L;k=&{!#c~TfjB0 z+QU_U1YF~49DL+Aw!bF9m%7h}Z}IQ(SPI|l`E79hO!{89|4ebHlkhjiY=4}GM<{N7 z6`s)jZ+Le1`|x7!PvDi^U%?x=zlXPT4>K{;=YRD1@}qks_!##X@Hy^r;Vaz}!FRZ) zfS+(r2mjkW3;cR5Il;vSNr9k z@2yU3xay<}!Hb39)k5%gA^6Y`e0~VNEd;+7f`16XgS=nW4|=^C*Ye}up9PV>;$8$^ zX@>P@b$HVi=Jntm-5bF*|JD119S-q7>q;L6v7 zZ}5C0c#O_gzX!avdw+O|HI^R?SDoqbY+Wor4}RL~EQJ5+`OWZ5Ypu?9xbi3913iBl zUahOuxdXrG`3LZ|p8p8Xxz6f@nP&ghIEmfO{u~S+<@tngJ^!2qe#`SY;F>om1uwMT zwp$k7a+Y}=_$1Fafb07JJHsD&{s;JumRA2Kc)1Pcqv4t-Spc8s`6Y1Wx5M9hemA^q zciZk6c(sk@7vNjnAHx4~e+pOqP(NEe?e|QZ?9bugtGzvO;3GXBA70)2GadYf=QF|e z{klcq1%J2plz?j^g#N|;tNpHgLii-lCxt7Y7yjP!1>v=}+V-lz8@ktk zE8hdY-Sd6m%Kr>cu+6snD_r^Y@GhSJ9j^Qt_z}-vfal(B+kFTx=l&F~`jP!SNc&}z z=cB_lubUDcdxvc|Exc(T^E~i&o-Y9J+0*jn;d?z_8LoU2c;cN_rv+TkOZS3z_IzKs z^5fx$JUMVs{^ZZJ< z@(1AM4_KW);L6{DZ}I#Cc*28LC;CkLulh5kdk|dtBJe?;F9BD+75uvA+rgC|3omlW z+BXrd{ATzsp5G2v{u(^yVXJ=&u6z_fZ&m*c@q7%p@;TsdJf8=yd|i0kKde0s;mQw$ zKll7l`1f%o$K&WN6r6+*K&UiZ{Yq8ezTX=i80&$ ztN!2M`PlHy9W0j?9`8@{jPQx`&C9^Mc>Y_s^6lV%dcG4}`7!YH$85V3;L5Lr_xJo- z`0U@T&T;r<&!2)T{}Nu{xYhX&u6(>X_W#xYlRTdYu6%y@zn=dJzIlPwtp%@o!n___ z`F`+Co*x8Pel|SuU!gw#Gas(}E_h$h?}NWw__<7|8}OT+{|ByoM1P;DKg*o7I#J=u zXMiv9d=|L!<=|0HS^bLeT#L=yz`J?A16=v>@GG953|D>)y!2_??gqH>C*jLHe-=Jy ziPd=yk9)@aHC*|G^X&ht|9|v+Qn>Pk;I}+q6s~+-_%~;5dkx|DynQ|33q9WluKY}R zgmYGZE?oIP;jKLX7hL&!@O_?t2vU0N4S@R zKX$JN4|CPF+X&v$y$igzdw00O!zVPx$vU5Y`Z7n)!om+H@M$}?{j|$-`2|Nhw}3g^>enr z&BMW!PXgcQ`4n*F3&4y1WAzKerwuo+4&UkdT5#n%!HeIvI^EzUTbmDuFY){+xbpMi zIqq1UMR4VJ!Z&$-FMRX>tMeB;&0X^|@Pq@+|AqHoYOeD*?Z;Fr%s(Rkb6fLhi|oJ3 z|Krc-yMxZQ(23d&Bp- z_k&09`cvTJCR_bk@N%A?2iNa~ZHH@J#9_GB37mmzJ;@dLnQ_*h8*ptm^kVz}+K(%1 z+n*!D*Niuh4%hFIrGP%{RlNPBPyPSN;sVm*+3QpEj^MPvPNwT)l)VALQ31+K)RLTAf62ohPJ$ zNAu@ua>L`bvpOY1@H%jf&n9ry=?&Mo)pd;8ul#J}wQgq-T>1U*q~8A1aOLlY;Gvh= z>sEWxdY$lat*=N5SN)tJ__rZ=gAlw2e22HE4_xh;1P^X+uV)%u`Bm_No?i#o{Qn8K z?w_8A-}X9};i~fl{=Ltqy?|?;E#k7k{c_OrQQ=yDk_xVMEScc?J(z58)hP|vI+lv? zaGk7uRp45e(hT0f^R3{@_knNle1EvspG<{o9m_0u@6OiFd2rR)4A(lA-SE;~tj>P8 z)}@?>&-MIexblzT|9Sp7T*E*K+ z@Lry;4A(lACh)VKZvodjlV0##KUjPE!nH19JbZ%ZC&Tr*ya@i#^UL5`2eK1h+1GpQ zg=-ziN%#)WpM`6E#WT3pSGD*za@feeMK(#AD+(# zSH2QFh2ICS3fKMa=J0-=Zw*)eNBB9<4}j}__au1kUiNyY!IfVMALaR#aNQr-4Zq|0 z{cz>a!;AH{_FRT*eZmv?63@SYD<5g4)zkis)W`lD4X*VJiQ(-$pB%3Ht%c!tJYO8H ze0_M`AFVx&;mQw&pYZ%}xbnZjYxlMKi{ZLIy9<8I^ZVe+-+&kIXZ8PqYrWPB_|Kky z1J`=CXsfKA_SYNF$AT-L5ni*u{e7)tRUO?QEP?!L&zFX4zPA=U*#N6w4?fzx4SbP% z2e_`ghr)GzHwK>9uhS>MC%gX!pX0t59(s_qe2>W1|DOC<;%dcxql0v;9eg-$GtH;!bq#%5uU)kD|~?aF!*Hmk?^gI*Fa{mV2#k~St`G)Xwp6?KX4+_Dj!vFC)3*ax@ zm%#P;_&dB#OMAWB;5yGg1=l>uCHO(Fa}BQd-E(+3e?Pv4YrZ||I%}8q?+MSxgloP! zHN0kP`}^tPs$UF#$MdD&%GZVWY-9Bs!quK0@JRkX>H}AP8eH$wIdHvCm%ugeu>r1m zs@-s1zx)Z;=g2wuS%1G@hZk{w46o|`9IpB8FzW;N?_|$MfNOp`DSW@rE2e|L^*Wj0 znrAKz*YTuC+wc1OT9zdZrI+vmNfz%{?U0-n8&ZFdb^*U@|7 zQ$2qWuKDc?@De_ceFd)h>QC^>^{hQ%Hw5lq<R#}KKCb%0mH!2<`E5NnqvMs{N6V4l;NxTie0DYKuYK^wHOvpeSGoTU*LZ#c z*Zchq{EXLm4_EyJ8w2;FURN5pjz3x8C2QK>&jHu_q9S~y=c~Xq{@cK#dVh9+Yy1y{ zH}d>Y_zL%#a2g<85Kaawj`ElS3yg@Cie*wPH{V`nQ;Wd1} z=R<7@+`kQdyOH5D+~dH{c%2mR-R^oGOYe&#?zxda?p_#P$G2M!UfPc{RpIH~>%!0Z zajX^mihDbF6t6P~uFuo4aP8k|@YG&s9z2~N$Ckk(y03?;{k!28z5af<+J6bI_TPc4 z{ZHU({~P#@W;Sl3{~kDg7BsOx2f?E>HBSSN<(>hq{8#Yqo-YQ!>|Paq%e^LC`PT4n z{dKj6Yd&Wve52>b!ne3jfv0S2{V)rjzLEKIcn3}5bfJr}6= zsp`B!UdQ<`n?rs6M|q8(sPJh1dV}FX?n&Wgef(sFs~^6CxA8i~;A(#jxcZ?!{Jhs` z3|E~VaP`ArxcXrUT=u6~#aPutP@cOHDJ`yzO7XUi{#pLSmZpE1<(o8Z&Oo9}|B zb>9cq=gvjAK6h@y^|_feeQgO*YNg4-D2%k9ewTu!}Yn746e_e^l*Ld z8)oBb@z8m~k&-aAuI5r9%?-#2-4zBz>_yo@{gzLDs z1FqxVLAZ{4N8x44MgH8N3-Ds@cj5V`TKk{Eb)5VJ*YP3xR{MJz4>_jTpM&6fU#Exb z_>djG&g-f+LuH!=|cWzeuKu|VSN}YLtAF0WGx`0wP}>5>gT5yx9=!Do%cY0wd?_2e zljpyJ_i!&4g4cuVdDKR5t%vCWSN(Az_&oR_Z_h%w){|_5Ydy(9xUN%VJf59Yw6|f%{j_i^hd(JxM0G)|2Ffr<-YY^TM@0CxmM~Ll*c_&*y+^eL^YtJ*U%2$Lp@O%}x@*UtyJ>Lbc=PSm+!z{A)OoA)F8eZP>>*30ug-`SRMY!^> z;Ws`14zA~96YL4>|F0L@pOe6qF9@IL`66)T8^UjSzA0S!0dTEf9|G6<^11LyORW71 z;L7iTU-$e0xbk=5IhI=ef8okU-y7JUdLAbpT+ibqfk&Kae?JvGmY;`bf)DfdWP@ux z_Sf*$o-YsI;$9hk#l1QFx_fJQSYOxMA0EMdFkHv&S@7JRp9j}@*E)Dz&u@b3xOx&k z%=2gAtK6T$*So)j>+?OAntTA3WX*+wJTj9zd55e!k zpM9`8|H3t&5bi)=f2w|h5IkoHUOEJC0B`Zpw$}u%_Vk9Y^L#(J@>Ai#pRE3LxQ5rQLQ}{;aWG?2;R^0&ET3Z>H+`L^L^l&j~WY49?jY_5w7Qh7Q#Dv zekokf2W^HQ@ceeT=C3ZmHBWv69xJ-F^B=hCe1O;WeCWf0<3aOX3E>MppA@cqUidT5 z7ldnmtOC4v3~T>)aOIoA$9cXbT=QwY;g>z%53c+Kc&3=vo+)t6zb%IM@ceSP@;l-C zJ--*O=Y7t>6UValT!JhA7~aYA&*6GLD9j&$`+c|PBf#}MPHK4OAZt&0xbk1ar+EGw zxbkh_p<-M84shj1!TWoD99+-)EQ0^-`DJkB55X(MvGyE=YyI;j_;k--gX?*p=kR-; ze+^eY){(&dRV1#pCoWv`u^HfFJf8&~G{EW>ga7UMQt;89uLA!j*xFMAuIGc=!F3L2hD`n^ZZ=6o)7vRzSi^G;CkNYI6OvtYtJdT@(z7@gj{sLb89ZJBYfmb;p7$vT@8J0&aOG>kb^opr{E*ja z2G{dGJ>dPaT08r|m7fL=o6Yhw;CepjcX$)eZ-eW3pVRP*o<9#){t3Klc5BZIxSmsp z_-EjLTjY-YNzB z>;LTUr-3V>vMb!T*sNM@H@|~-}b?y-8Vl3 z*K--S;5u$RhU9$THp7_&@O7T=1J`p;GvRrjTK&0j<@drjc>W+<&plm(=YD4OZ^4y+2Vdj) zPjEf=6#t~v({Z?hkE_IR<@3Y!oK$hR#`8DurcLd0umb$GdoB1`pI>bZ*Sg|9@YDV| z-XGqwg>82ui7rwY2)X;i`WCuKNGL^?rW{&)LfAKZP%K{{UD2 z#6K0df6sb8F}zi4tDga`_Gg8w{T1P}yiOH(%r;iPK3w&iz*WC5yp-1&2;b^H2CjZs z0-y^Q~m)dh1d985Mdcx`nHz~jC$FAUfE_R8>%p05U1z6Jb<=i9)wzP&Fzy|;59T=~iH zA)fyku6di)aIJ^m4A*-29q?}cJ)%e88t1p*`(9Xo{tHjv$owrlhkK+m_Ww1m(tDj~ z@P(dF1=o2-wm$*83b4VjEBGX z*EJcg*R>R`{#gre^wQe15w1E%;p(6BaP`j(xccV-T>bMLe!}k?zK3`B&&}v(t-Ts2 zz1@T1Ke?xYPj=4$Kk8l#u6`>E4;$L9m&?Pya&H3HakUM+jORPR`??Q=|KvUtuKY~+ zPS4MUzj9v>5AE{+zr&S30WaYB)9_C2PvANqcmtp5`S)=B{$1R2f&2Zm=M%uA`S{5J zkLR8TUeUb*yq5cSaNYmX?=xr|j`w^!#Jh`=xVoijo-YE|d~8+td(YQ~M@(kzsSj73 z4)7+P?*i96?O^y0&ku(y|1(_uvmgZD6oMZP!SBH}-}MBZIJx!12e{f3^V0u+Kc<6c z_Bxs1+Kk8MHzisyI0wSMdfyl7f$&vE!1_Z#qK?*G8Gj_5T! zYC5a`4zBvquLO>(cAgJ{tA1+u5znWGr%!L&%>&QrUI4CjO{L+ZJzoy4^%!;G&ph7{ zu6%cR{S4Ml{f?IQ??Ly`$X{|F4_AH>ylF0nl z3!Z-sS3bto!12&9v(=9c*L+tR_-4;%fCmk*x&`5hvRM5haNS?40iWmj+HmE6fNP$l zA6)n22E$wXJp6FD)-6nh>;C(4xYh}*hiiSpF1XI?j>0qgeES8s>OX;N-9o5qf&1~e zpMOSzmvfH>*Y`0df{*rmGPu5vF%SG^65GG!;IR^$SA=U`w-LOZ=bOQm?*TvT`95&X z>yCw|^L9>zE586f#PdtwdSB>w=X5;LJn$dLYaaM7_|8PuKNsPex4aA2yyYwS3*TRF z;hJxZbvx&bPb4 z^*qbq5PSw)_pj%}RcBKOej2XxpUZI7c?(b4F4X6LBHyt8YWyglGz8BFzcbPLrx0A% z1y$jy-y#I>AA(N`!I#5pPO|o_hO0e?;B!2G6t4W=@K2t<3)gcx;co`^r^aV=_;-`7 zok4KbNef@^`HXNq?^75ac}kei4Ji)Sb<_87U4J!%$NAanG=-~9Z@8|%2Ep^qusXxw zx^DUf-rw^x;mWUuANKruxSrEF0@w3Cr{Fbz4fDC*&cRjZ5nRvvyn^5NI&a~6ekb~^ zz;TjiW|+?q1Xn%{yuar&!1cV(SMZ~rF9z51K2_oIXIXn{!u7mQYj|_dw}$-I%y!>oy|5~`Ni}%B)dHyh5>vJx{Z+reaT-R$a;JN2md)~lx zy%zEB!0|BL^HJfN7flb>=V^BMF|U&wt~%x6@#b1PE5r5tPD^+L&$opuKN!Bq^TXk~ z9-j_>=J{E0<=4QA&a?J!fa|*Z5d0_4AB8J_4Sve=x8Qny=M_BZd~45Jxbo5e3Ec0k zJRbztb#YqwR?laID_;a2{Woh*3AnC{zk}EHe08{h~`NwcQ?-Sup;C@fC)Y=mTe#7f0h5z9BlyKz>!cTd= z2wczad-nAG@WY-T1y_C{T=VTK;VG6|JJ-VX{LX%O>YbK9 z3|Iai_yW)0gX?*p2zLYbW9VI0KMGvW@1%lv_k23I@IE^NZnn-e)U(kLP#7^}NqnxUSQ$!8LDo8~%%5 zZ@z--K4zqQf%{j-lelnQzbAofek>C_Nh7OU0A72H^=DzY?lV?{>w3Q~e5KcE2v?mh z@Ni>oyWQcs|2P6(*YjiG%Flu8Ih0i)_}&ow99++#+=j37_S}c-bMrrVgmLzIKfrbV zAM1YLey{KOxNyDiGQf9vJ_}sWcNB-G8*lCT8m{@_TJTYxuLoECZt$2BtbR|p^5fx? zJUwS6^u6d99aLrS_g6sMv%!9!FsLzpT@GK*&e}duH z{CUHKa6R9V2d?8oak!2T72taRR)?<}Z0)H9*LHit^<2pS__-lgX9!%+mHY}XFx2vM z;JR*I3!muujc`3zatIz}nAJZD*K;C|;6Hi(8C?0e{|4^g2*a&@0=S+N$pIhe`8;st zE5P4-{yVsy6KMsX{FAk(9bEaJ;CilP0$k&E7JOXe(4RYCA^hMh^9}IA)vUh`z%@RP z!FNrz{3ZBN_j~Y6Q!F3)q5U_?|Nb-NfB*jF`55r$?up?EyiR8Lzn;$nKjU5ke%ZYe z{BQS0aJ_$9!((}S2EtW;Ec~_C{}rz7u7vA2wh5lbx4R3T#Qhjt-v|B=eA#r{A1^}i zX#Tu~_Lq)Jap9_yAp|cGg4YPaJA~lFL+}M5_>K_#MhN~X1drp-$EY9ldb7Zfdw+ff z|E8V2?~1`I&9MHj32(Z>ya9ZL*J%RReT3fdH=geYSAHtIWP5Apbhz?s;j=xz5w83( z_+8JRge!j^p1p&$=Mh}@1;YFDh}ti@zYrbX+v^0uRVM>n_ZM=&4|ttCaNRE`3y;~+ z+Fu^7d;@rG&o_bVzCbUy?k^04FYr1;;i~g1T=y4#gFo{+i{ZLouoYgolfB-ZaOF?J zhkO1kT=y65!B2bsAzb$tLOr$jjmAUr&eooAaNS>s4{z`J#BkkT$Ohl+`CM?_UnmU^ z*TvdX4zBM_tp~5-`9^S^cXfr&@q7=su3tvNAA5c*T=Ra5;Dx(d`-sSRJn0YCo-A

    A2;47Gds};A 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%0DtXuqQJGjr+{mH&kWc4o(Hb= zy(m0}ukSy>bNP6v0argXgZK3QYz0^Q`@^-}8xBA3bw(5efEyp_W zmY#0_*L@mY;kw_W4}6Q)=?_<(DRABIF&D1$#6|F^JM8aT2G@NZ+u*f5zZ0(fDflwa zpMz_@@izR6=kLRHAHoNC*`3z@&v4yW5cOQ(IGN-5m~hQ!rhvcod>Z(Itt^Ht!wub?4(iRYWbbv?8@JmP+9Pj9&L z6X9(<|2ur&_tyT!@DrY24p)8;yutx%&jGmd*Wsr;e;cmr5pUr+4qE+>aOGoM2plJC zJRcjbdh&u^q1Sj{We3XYB7f4qto1{4#u-`*rvY_qTBEXFtR5dOqZ(z;UAG9t$4v zq_rn5T*q}8;5t6c4$t6qa>G@p3|z;D72##QPF1*$>zcvadcGB0`QGrcp8pN5`*;D~a-QRl>Uc~cf;mY5GH}L!;xb6r31Rw1A5SIhT zkM0MK0bl6(*l^tsoEm<_^XcHaA2>h!x#tVRbsSy}9`m&IXC=6<`!t5<@qBZ*j@x^{ zYkIy9T=&iX4%hZ-7QDOH`4g@>TjAPX?S}vEb@sz`pY2unde7g4EB_vT&hww(I&P10 zC2*X4@O%uo^2yUH>D z&)Fs&@H?JA z0@r@zD!f1?YtK!%_9L(0lRf_quKh^(Yk}kHspliZwI4|g|FN>QCmCG(k! zexxM)z2|?1Yy00AuKh?W_|H|Wo$cVNGaRn{$T;{cuQLg*{lXIXE6=ZhE58R`s;af~ z09^Zpi||>VzY16W8T_5+U%|Cs2z@t}|meo46M)C=N$;0?1_`}@OHe;Qo%mk05E@Tg^N zIi7`Y^WVJ)*M9Q_T>IY-@C8||{h#5g^X<*Re%Ags5j;{ZtCJM2{b_c1InU>YEB_OG zvgdz=YrokTuKjOo`0U))&h~KC84B0_cPxB;9;-7EuKno(_-D^Afh)faUOcbW-wD_L z_Y8cL=P$su|9uQU?fK_$?SDhv3S92r<+JvLgKPhr0N%v&-@&zi%nD!b`J8a=ugk!7 z-K`RQTM=t#HMsWUE#VPo4jACGuDaJhH%d{p=jpRY^?-{$#L@RJ{{ZXWm*_k!@q#jKq_ z!1X*}ZMe>B8pC51w>r(?sxuhA-}A%a%Fl(z`qApohbzAezR⁡L2Zurzv6eufg>k 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

    *F9p~6R89DI11(<{u6zgh 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 ybw2g2?>YC} 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%0AuKQ^2@4W4G7P6)5tjy}Nbpb_ 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 cb~f?x?-{1~P~JBVQz6idT^yMkqa4TMq$(Hs@d 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�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

    Ir&fI?ky&I5PLcVykoj0fbrFZ8gS^Tx|^ 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%0A$v+5x1M#Cn%{kfa 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

    ` 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 z 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

    &Q^d?`s_~et5oW1{;E??{R z`|hcC!rZ%~_?&XHAeR@KL)m5fao-J_dHvML%-5DoWa_XtmL*3@gTR*imuei2b);sd}FL0dY@Fo}~!;}gVOH*U{(xx$X zE8n&!{%mQbz&xW|T|w#6-A0P!bp)lW{-ex0Rhbi!eVL%Q#r2-2|H(dS7nmKXJLS

    5@TvGi$LDNLv2m7sKWgk?tt9M~nowV37 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

    =y`26&IsL0d3UUqMd4 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

    ANlyPq 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%0A5l)0$xQv z2k!i0xbxqJ_z&V1NYzT6s!~J?Nzt`t6xYwr`-1#za=bMK3i*T>!n^C?vYCQ+TeY|5r{C&8e zuRno%JwJ!L|Cl5h>wHSM^Z7%(7~Jbw9`5V#v+#DB zvu%_wiCX_IaIa6F5Pu8q_uHqyz5cV|?q3q(tKoi~whQj>)7uYs{tDdrTX26pp0?w| z{d%xI&S!=@|4fKignOPB;O^-Fe?kj45MD+;5?)d>6c>`hS7HB0mQA z&kwmBw=i#3JD%|rY@BDDTqSrqi z-18TKd;U^z&tEmf>%cvKGq~q(4fp*0;GSm)-1EjQosZu&xSq}@gFF8u-1(>A&ew*2t~ndQH_2at&z8Rq|5!c& z{;7N#-1oZ%?);Z<=MTc2KMHsL7Tozb-Gb}vd}g@wx!}%MggajY?tFW=^IhT2kAQE| zdX9tpd|nLSr~E2-eto~|F1Yji;m%)yJAVuAe7f$zb#^`r-1#za=c~Yv>$si^@uu*9 zl~QxN4DsS{-*2T5uL<`&9pIj)8{G5sh5LR7!rea| z?*6%O_kRU6K5*y9!=0Z3 zcYZb8`Soz;_lNiqxcB{ExO-yv46d{Dnc;uwc_bIy`KRFblz#^9^Q{rw{Vn0{e+lmX zSKyE8`TZTZ`zOHN{~_G{AH&_h3GV)FaQFWVcmH8{F3tZh-2Jh8J@VhmK8QW|I^F%r z;O{oCR0 zKLL0DdAR%kfxG`6-2EAP2lp|rjw>5{th^xH{l($#Zvc1y^KkcffV;mN-2Efr?jH|# z{|vbM=fT~-30_R=unk^Dz879W{u{in{1kkI`~rNG{3hJ<$LbT@N6()L?(-xE-0M>w z-bVNPEc|78+Ys*p_wn|D`*`1id!8xq0lMGWaQCc_@=v1Pzx@X8?_=B*;``xabic>o z@5#@?=gZ^1_HbXK=Sd3p``GD1JPX|CLteP&DFXLAb>Mn>jA;z_`--hYyc7Hd74-`7 ze(+(+4-fIN@V&}Uh3D2fe*~{BUmD_{!h0&e5k6V|9ek#IPl*2t_xfLh`~BoQ@bWs| zM6UJ;9k!e@NQbq1#r*50`AAx4tPhc=N`D%^Dp?T%3p&!pX!a^emS23 z?tBTj^X1{rKM!}lE!_FH;LZ<&J3kxl>*PYX&#Q0XejM$DJAW#~FTlO;H{ssLSZ@Z` z+2>~_cqyGHIpFRu1b2T4xceKx-Tyq?{T<-$?*@1ONVxmQ!`(j}?*6%O_kRU<|5mvB ze}cRJ7r6Vc!rgNl?#FL}e!+e8<2O0n_nQ~~qV~54-2G+Y?ym}We`~n=JHg%G3-11Y zaQ9D!yMHF!{fpr4UkP{r_i*>`gS-ECxcg7T-5AAvi63-0ITIBy5{#re!|=X1fGuLyU(2K=m! zw-Ma?*b?sbe;w}gZ2&yA&WCs4KHnz5eZGAN_xbiQ+;eV%d!B9Z3p(E8aOcm#J^yvM z=f4a0{D}qx_tEpGgnRz{aL-c=?)`cW?tD|YkGCh>J#WH&yd&T~-f?gr?+mz)cOKlw zyBY3zw!?2~zfQpK%Fn|+|4q2(k2Ns3FP=Xc-1Db}d;X$u&r=%id7g!Pp6B46rv=>e zw1az|0dUVV0`7Sx!9C9mxaU~}_dF}%o@W=_^X!Lvou_xw}fo_{vn^RI{de!qb`e+2IQDY)~oh6dN)`9yH%^TM4k z0(ZU+-1)|E=U;<+ecpx-*S=4MJO2^f`3-RAx4@nM9q#;Txbv}x1=n+-=1dI#M4l5q zUS0tHzPvhop1dC1_xm#3`Cf46$HJYT40nDd-1#ry&hLXee+cgUKXB*o!JW@AJh=YO zXM;Om7Vdqi3itWh8t&K6o#6iYguUSY`I-ITiS_l)WVrih!ri|J?*5f<_kRy}|30|; ze}}vOG~E5MM+Dd3{fXi3e-!Ti$KmcT3HSF4Re<~Zd|JSrZwGh&ZTK}kzJ|l^$UlM~ zkuQR~e+&GQ^54UKzo+5O{|$FO@yOu%JD&>fd;z%gPs5$B2Y0?1-1%N`=lj8(pA2_? zCfxZi;LdM`JAVl7eLMm8`FStOSI5<6-TzmDQ4iPofv3?;sX{yhe2wxs;r>4G0`M=D zuMQW-)Ptwg4J|^v9X!ACZ^PX`9G*-!ycgnA;j5LO2lw$Vh5LBFgZuN)-EhBubq?k`3)(ykpo^uSmn(_-TyJ% z{mbC)|2)Ju!QFod?sYx^-=pKb2;VQi0r%%kX~qZl*ZrB`?#}~ve_^=$Ys1~&2=4yY zaQAnDyMHL${iEUTp8|LPY`FV3z^7?Fx4;+4kHVcl19v{|d%^X0J}KPur-ys~tZ>g? z2JZeUaQ8n4cYjm3`+LIO|0dl1!{F{819$&IxcfhWyMI00{olade+2ISQ*ifRg1i4F z-2G`L{O|qE1b2UKxcdvi-Cq;#`5VC9-wp13AGq`5;m%KiJHHz4{Cc?a`{B+Xf&1}t z6YhMhiNSStJ`>#e9B}8$!<~N??tELg^IhQ14}&{D2JZYq_!qj)d;;Gh-wB^5-wXHp zUw}J*9qxHjP71E`F7-bKcYiVXUFFNbGwbzpQ}}u1UxZ(l_k%k>1n&GSxbq9(&VK`U zeka`d)9|!9uD{_v-o)=eT+cO8UmvA{C)4ph9^yIS{`#nJh?j)>eVfW5UJG7U^E3(Z zR`Bu4cZRQ$zY70R-XDHZJ{0cnmm3GqtM&f?UO+x4#23T;_rJb{d!2uPKchL%z@5Jc zcRtDF;Q8QuYPjzWf4!HAs;GX9%_-!5UHMsjzObxE{J>}EGJ%3TS_q{Z{ijKDl-1%1U z>dL^1j#G5dl9xJecP}zJ&6Hqw){Dyu6J3!5?$ncmGpG z|KXnI%GZTo(hv1-1;43Z4$u`INBKA5N#%ar`+if)MuBj2Y0iU6~AIF}@d4J!f{d48hX@Bek)t?i-SNSL5 z&ij0KkN3AG^0(CE@6&WXzJ6&#d*t)#3mgAEX6LIaKPDu<0sgV_o8VtBh%Dsa@WlG1 z5Le*N=Z+ou|2)qS<@3R}%d5kGlh=k<(Jw>j1#d2Y9llIH3I2n83cR^~c>g+hSNT`) zf8`6#%r57XfTl%EB6el7fC<=4S|eb@&7Rr&AX&i@XNt@Sw$_x0f#{AuNH!ktf{ zuQ7f8w@^L}+}DR}@CnN2f;;~V-23}1{0H^C06!*g1NZf0IDD(FGw;Bi{{p^we&qcA z5`Im703J`*ncv`5fjRX_M;J`c@aFV{=5dBS%3Z#-ckLV;qE^Se_ek*3m>LGUxH8Y3z_)A>y$hO$k)Ti$~VHllplnD zCqD%DFD$tTzoh(C_+#ZF`;;_6aKCcMQ^0G>^T3sA#D_-<~?&#deIckn#&eemM)WAKXd z3-E^W+wfQ9aT5mjx1~GK2Tm4{*L@b_)e{7M|fiG`^)eH%J+pI zl@Eh^zdnTjtNappVts?u3U~qem+&I;&G1I@-SB4ez3{i>$KXTdC*i)n-G(nwJ|FP(CI6qWn>KCjBzW zC*gVI1>gJCUPitG{*wG_ zcpv#z_%iv=@NM#6;J4&w;3=m^UU;5|`+9N!FYW9KuP7e~Zz3NGpCq3FUnHLmKPdkk{=0kw{G{H{ zKMt>_UkZ8}?tEOmvG`zn9=wmYLHUI6Qu<|~S>g5NIpFK}N7l0v{4eFJ!N+HeoL4Wx z^XZq4wxc(T)Xly|9IE$i=03DHi7^5kqaY_>yOdXb#ElU4Bkt=9zImQ9saKT0Q`OVZ*aeFa{>Oj z@|WSxC)Nk`yod5#;eOwy zAAFMX1K`e2g!_D$1OGuiE8$1wYv6uf*aLr5*Z=)+KQCN?Kd1aZ@b~3uk_VsHmdew^ zeH|_g&!p>TF}Sa*b>PJxi#*=z!&k{W!@rhygV)e?;~jWg`B=EGGjrevm7fnUtn2(b zcpdpya6c~`fS+p`Io{vk`E(t-39l%>1NU_}ZHnN2^-?|q{Eg$0TmkrW<)4E4x>^Cg zOZh7BJMxC`#LXke+Z6tcybIiqm$%_nl^+cEb$d3vk&bsEeDtEoI;?_ElW&Ck>yGc? z3zh!`{?;Fn{!{Sb@;~9euHJ^vR6a(3fzH=k=hMMIS3V=$*VQNCKPg`T?tBIKU&>d3 z`?}f$9#8B4Jly$L;aQaL1NU`x2)v~7BjCemgfEr90pB8j3-0^}@IRHG z4o`kEa=dHcx#eHLo!<+uqx=DQANeKtd-7}WPvpttu z6ugqWHoUI99=xZ#3;b<)clbj2Som7`1o-drrSOaLPvB|w`hN#JhkO^@&r=uRZ|;w* z+hzC?c|83^X0QJ`c_Mi0o00P;JN&Tnx#6)6MDDjN+}DSC@MOw2g8O-=2fX_qk$L*U zo5@GOpFbAKzYF(u{zLfd%6|lR{&VgBEuJIv!{nE(s z&xiZ-%1`037f14+)8j>aAKaf;9)`+@C)#ga4)cO1Seo;8~YM_G=g1pI4rO zKd1bkaDQGICtaj3@%?{2cz888@^7jfA+y2*Xxa6Li`{2 zFy(KDc+T{}eZPDz)_+hC{<(Te!neq4z}K9L^ga*YB!3ycQ{ErGUp@wYL_QOKO1>0+ z@{!1K?SLn38}S416elBo68^aS3Ou(w)?>l-EG$nBUO99~TR1l-Tp#o#rSF9~

    %eH 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

  • Et9%Ez<%h$2D?b`;`33Nq$}fgneiwX;@_XTy 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

    u%z88hh+r{j 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%0D&KALoHUC)f!J2;| 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

    )tpI1b-QN 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

    ftiWao#>bWKmfNqe*z|;4RA+#j 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�Tb&IS|*68Zj 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°`pp_~qD8)SG=!JUjc%hj}et&rmVhJKII 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

    PMKm;U=|TwxCMwpDmx__2WR6G>6JgFD4nl5 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 z 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

    v$jse6;7k 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 z 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 z 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 _9?7UHl< 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

    DL) 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%0AXl;Sj}rP}IKt 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 z zd1U1U^dt?uhN&A0!i$V+k+=%JwF|#@jfbeYVRn8%h7Y?M<|x_cXbp3gc>4rV<|-Ak z=S~fSN{KBDF4@Oz4MR#oTW6`kvdvxUVGBb`{2-204=eHKny4^OX)1SzR(tBkf9}>O z-POPJ%fa|?lh7=~ja?qTwzJJo4aOfUq(zP@j(iG#I?RJkV7b$QaeGLpw6C@DHhNTW z6Qk{w@kQKe1}oYtVFq@H$EUP<=UJJnNM6{N;y!;znwVcSq%w8JFx1(4>n(Ij(?W|BG5gu2dn z=H0Sh3rOaUI6O52eel#Qv!>ukG0OLOXUh{yNlUioL$UPhn;vy>>t#;5ZSwC zT)ucY=qYS)v@o>+n=uN#RKRVT=%n%$z!EJ&0&CIcO~Rs}kXa}FfL0=8MrIn!weHvkTGQK7cq52y@U}P-fTfR6ZH2c3N?%8~ zQdu_FS-Ykh%0h$HzuT|S{h*~Hs8;`;V0P6~DsO@pcz??b&}sD7Hae!DA)4q5+V=&D z`&sd5WGWN2?F*EtnL@F}A-X@z#ju9Km>JqL<^$%Tk!?v)>oTL6+O~?lGuo$G09Um$ zVe-5)IuBZJ?~Jfi>A>C`fQ@Q_J0n6Zx)+pM$76F5ZC^9UsFi6@s)dFY@`OC&JrA_T zylbXI)2^8$*wr+x|WH%2B~om(COg%h_@HjzO^V zA1^M0+#*Ad zgZuMWVtXtVmm4uXWC^Ip-&0IGO5$ISrF#JfV=Gl;ZYMmFmJuZSz^)}ND@ZhQENMAG zB6}@qc|pQPiMm!0qyc#|Ru&}3!c_zbuZ2S4s$G*-6C}s@)v+9xXF&_B*Vah=GZ$>= z6X=anH0^w}+*=9m3hB4B?Ohsgo3sqOrVQjci{1+s+`%SS-99NAxhvE~R%G9lMlQ4H z{Zcf!%c9|OLKV=!wdey=G&Lh?y%g%fzm~^Bvg9LU(3gEy0K1=uQ~0(soZ=s5$!X1b zK1=>*OeWK~KeEnX_#jKpX3k}n9E?btC9&vcNx}_7KA9!iJfeA7(xGWtk_5ZTl0-x$ zewGxfl`Lrmsj>MinGr=hOqT3}?RMH|vZO{cSrTbNU1z-S0a*`F5KeeMo+Cayo*(oT z%7Zg&TJYAE{y1cYv>nY`jNgKK+7>88h3eyL@zuF)US1+PV>P&cSg_D;Uxsg6s4$RA zbZ@b6VNRHYr+;n7#^UZmNApcU=1dTAzo49|fn-^Q4i1kom;O$dGv!8EnX4(G3~Gy@Y%+WY|2Sc_HJ_w2&deu0n>0sKgH$ zp;`$UD@cvahfGEk?JyxjZg$#eLPn#RkU^SI*BSqKc-CtHA>)V-kKX`&g)&)6*0h|o z6^9Hj&C{l46Ghcm4yG6gf5d*m5op|%t3n@-gVU&b37k?GK^D5gghxK49=0;ik<86T z214o#BO^oV4rH()g+(`{2zM{?$&h06h~|ZqL(@Wv1iK0;BBByMq=afEq^uw{HXl+M zQMAK^6uH@HqX{XEWWB z9YX>CCdWtYyWn-2SB>C%6KDsIW%pckziK?jfkkkA810gGSI9bH8wxcGNKq6W}w}M z?RMH|2AW1Q0}W|HU1xmVu~`oU3^Yf4c>DqAE0kZ&tjS_1C}aj7hm{W-1#MXXPNV8z zIK@8g%!=k*hRkY+v>}5P_2ZF6{N=ILnb4N zc9@VMH#==KA*0bu$RJIq>x}!KnDtsf$T;G#Zx`GQ%X!!fWKGLPppX8hrH<_1_7<*h zM)>uLwzv5UIQX@Tws#r{j|(|%@7m8*w7pk;6HKg-J7#1}u%z=je)zlmB?UxCEPhF? znrU6o^a~nPy?GrnhhlLqK;xhDET!Wl^aRNag43uv)bK$p_BZD;7DphmAF0Cq2Uv7t zk#GwkpNvH|k7!;jIy5a7NwBL}BqA#DV^OG9V$llrM|<@m$9%{TEJzu z0eh!~w~(?=TEGV~1NKcKHUU58Fkt_rv7JnZ!+;^!*X~XSiFNiP3>f0>bTAlZoOqgP zdOKilc+dpxvrjb!3}Z|MeJ#-Qr)c!LK#xq(=zoERCr_xhf;}P7%cp1xnd~XUfK^g7 zJrlC%Q7IbxNhn!AMPrW%^rk5qyGx+APSNy?&FbDEMbi!s>*U?A)p7YV)M2r^W1~In z9@u6NyC*i;!;Z!ld)U3O!5(&RY_Esi2b=3*_r=zFSo%1OhaH1$^|17L7{*q90A-@t zNAT)1I-~MSo^-q*{hlYCE=Wa88`h8K2@?L6gdkleNca&TLAp+mn(_*76QtgG(tUzd z&66Gzq|-5+t%c7D5~bGcQZS%jx~NU=AWvD^w30@yva|t`M!vE%{p@zdqx0Db&_133?Y9Zgs)erWJ9+}NQqr~DbQ7Qro&aqLK@(jtN}wx_OE#SV zZHELeQtV3m`IT#iUNALW#NsUSC&z`G6E=n*%@%I3R2jQbhJqbHgj#%D1PeF+!sf!C zSh&fkm4CrCJ8ChXMhm*>z5ukw}*KFO*flIG;h}G(6m`A33fGWB_b;EXRSiDGHbPh z)Y$y2H6z-X&psGPZg$#eW~~~{%vzBq)OE&dpPThsz^v5~A0D3q`U+*Tl&rBKv)JaJ zrMqU2Tc=~1c<3!RL086$V?f{)rQ@mi`-F>l5$42%uW^EhtyZ&z6}K`-g*mYel701HW#U)*W-3s zd?Owui*Lrq$>Lk_BWV%e8R&RBj@DsS12%<<-i_PSA~o>6cwkz*;Z|UNKOT}6@5bT> z@zQDW{oA0}qp;;V1q$m9ycyeSI|%FT@o)?tP#^7ds(iFPoV^Si^Xa!X?2gJx%Upn? zsoQMm;*M7M{2%PfJs-N4wAoJYFqhx+4uM$6Lat+mwBBfTRDgdSGoq3?t&+-nP_umx zrK5u{ScSgB1n`Or~M9b;eeVU*x3*)A!G47mhVyRy1L5p`MuNp*N|? z-kIt6n=xjn%T0Dz#&jA{=sS!V$q!ko=->~wrzSbpz$c&zedlrY@17e}9dpL~?t*O- zZYbc+vDM7waiJ7{^xOJoP|i1&!#b!FOCG0adU%eA#tF%Jb42O_TjdD)UO#L|#VYaVhby?mBBbZbNn>WBjb8L_4R6Y@ z$`r=0$br@m3+IgOwG=dmEOz|7NKD($MXcYFjS_3! z$QWOZks|`RgiVWjHlf~ z(ljRNsj8J;N*X{6)=X=_-$4Zh0oGli7bUHVrBfA_VNBlqWpW0PipTOC%laISj^%P3 z4srP$k;2OH^9o+4($BNo7Q#1TMUUezaaYRF2ci?;v$2B1A;L#w1(BM#eZGnCAz8se zHsaN(f(KCxd|*~%6CA7Q9Im3(4IAxOv}tt>lYbWw$;f7FiXEG_*2J{6VAq`1ful@) zH1sIxTjE-VNTbdnu5E~!6=E2zlV&}erLku#G$b*U`87TpjO%**G+eAH>*Z=AWAQ8c zyg}9KS>Mxx`A-zW+!C1v)+`24_w zPbv!!;m8&hZDHzz1$Tfv|P&DqBe%iF!o1@0M=2w6R8^L@j+eANafHYI_k| zO1wDjt>l07xnqwUFFw-b0d1pm&m0HU=ge>oa4B|Q|i0kAau2Uw!Wqo>Tu4zu% zJk6VxV!v0Ai#*TQ2;0chy?H3b8uf$aIzw`03_Oj;ZWq2iQ?jBO+I`J;8WbT;em={z zhEj}^K+iTrlBATTWwUWPHYZHZ@rdr7_qjO^3UsQ9!qqYNJj0u@iHJOZLc|LUk=lZ* zE6(=$jthN`*YnrZi*g)JLodz|ovY;~hKRRM?%mL(UeM6|j6OnOgW!tz@eaHe()|Wz zHPP!=#*K&J&5%aB%B8v0Uo9C>PX!Ocuh$vldm$0yPY|!45b?$d5pOX>>JhxUxsh=@ z{L-7vA~cemi{Kr=L5-%!wa&UT#uuVf8m4vk%70hNVAa!w!byO4=M2a=D$Xj#Jvp{B zF=(tQ{7Oe^ibK1PdR{h?dLC^T8t$htExBl5Bdb^rdl2tgmMqvcHD0iL(b(1>JJp)? zQjCaHDbe^t7PLO!v0_|4^DF3(I#>A?fk{-g2g9UlTjdId^19^xb-;a+Stnz(;+$qS@Y?31%0_1rGnJ)X; z6hY`Y5*SCgj5LF=bsYyh^SL~vjFOwC_9PIQ-xZ+-ah4Yo{V&e!)89@(U}Kh&R|8y}RXsUAbK3wXtl2X+ zEb&W+jDlxwgt{44`J>jwS7#T9XKop_La#U4mjkVn7GG|%chaUgCt-=d`I0$_P_N&P zPC6Nz3xC2%8MQ)Rm$Bbw;q7z-+ZHR#i6XcuplypnA)x{F+3mRe-hZKtERmuPG74t^VU^iezesC`XK>4w89JjCGXHAQRI z38H>_UsHJJQkTXqvPy3-$U(`TzMQe8({LDPrMs?s@qVC(Ca~lr2?BHFWo$s}c$PwuZ=DfYRa7~WC z=QyYqtH^fGs06WTFxdvI4bs#w`*x@$u4_~uhGW9w*Ee|QP1Oxkd^&u#NYa?68+~ia zmI)$Kn)9OQ)?{XZY>J{K==%9_vFU3X);u6lyn@&l#p;mu#9A@mHgo zt_Pp9D*OqjrW=xNrRK=+D@?o7^+#k-PoW%2IhytGJ~?@2C5i~FG&_a>J}>V3%-vUq=TOjREx(JGoCgaoMzQ04jKb~xu2&wGxg{+=_bznG7s>cyfxaiz^le;zG}~!`M$zsIoAH`vgSjnnAkkhtnr2Ve+n>VS z5?O+5g3SZWj@d@A&lw{kE<5aV8Ft+6A=o#I5s|WI`Lk*Bcs;n2@U-BQ6ta=-Z7lni zapj*1J3b8|c3Ok5?AxRZD2|Qz2n5-MdE3dxTLs%owDk!-;~)hVh0im{1lnw3HSCl= zNyyBjEil5rJNvqJHM*$vwhmmuCq0f=_Kt7Re7lcCTP?T}Pg*eN2p1fjTIx6pSDJ|( z)2d)UDn^9Yp~p%s)(vCh-pS=&7_d z$1MMn(RNYCGMJTL+p5go3htW_&M_;$0jy_v?dwwO**dFJ_c+N#%X!pfj67N|bXMP* z&JoeWuA}F7C?r~RuF54C&a1_6el3OzYB5|`i{YXet>*FJHuK_iw+wX&t=l_^>k^g0 z9T%6nT*3vHxinY!a>?L~rz>Q)k$u!{6o^g_Uzz%Wnv!3cZn`S|$_{#pq|4re@#j=_ zwXDp>8=X0<*XXPc*R>uO8BR|q9MIT=@2i%5|IM!naveuG=LS z4S3D2J0usr1H+?UW4%+dW}WGFz+GwQ+vJNqEC$BiGGHmTug0LX0q$HD?}_m-a(d+= zejB4%vxNS8<+vjLu7uz_Ksn3qj}u!H*@JEnsvqzev_bM{{Hcv;QezEv2Jd4vSlzt! zc>IB;+R^$%*Icf`r{z#}vd8!d(4LVrYF-xk!e7sNTr+^jDOv^B3o-8TiM8!SO)r}( z^+*)NsVXm)+1b=9Igb2e_NLcTqNwd{aorHJz;}GkcO|FIL*{#3lyIrl&OH9JnBPXD z5#Z21m%*?i(##zUHy#AVBBSch6!J^6@;b8AOvUd z1YPMt1#Ccifz{Lx6(&_2_463@gK`UTO$!$g;oXlcV%VMJu%xI$7{62(?91!yYj(lD zp3c60$}T*)iO#vH&&i9sUIVxCIn5%h)1!MDWAWZum@ry&hj7JSMzI|-dmEIEo_$mM zv!E7=50;9p$RQIDIa(JvMvCA{kErFO0wPks*ji4OBDlaKM9wN8!V@`Lir^xU5V^2` z2+#W$`5w7A)k5C4_L$XYauhBp3FX%m5aB7m&R2fDRBk)w2A}gr$!X2FNw(4PZk?i4d|t}8roF1NigEjz z-}=|}*1zF%zNvG*W&DH-iNfx;CA+opodWWCKphO|0aU7F-fYLN$j_6z;XA+i(`}w6{HYNNpbAnSi?r3$vWL8rL z8D<;$H>uvC&6YkSqJcu2*s>8Js-9hP(O4|+4?{*{ox@`#ey8{66i#-dX)e~l+Ho=| z3>hS70zE{aEBS|cO`R@{7%E@1LmWH(Ft^U?a1GVDG=;;sncNiX2OCxMBry}om1wzZ z{%~2FSF=s0a%K!lE9U&ydKORNhgVu{tZauLbSKZ|0c zbEK59=tYxdAPsmIrp0oqC>iBny=_|DaL}C98nLv&qluy|%jEFZfMpXg$F=BHq(>}z z4IRC%j@~rEb>0HsCs15aLZKj_^%Z-^Y8$W_JY1z=N;ekdc}v`ULPUHlYbBk`wB>|| zTTO_#wIME#w|zA1tU=ot;wng_HaZn=YdEMq>ml1FnDMNR?P_vtZ#ZcGBl=H>|I-ku z0$lK}(1Bvy*0O_S6XH8cJf{jPw38%?vA1)A_vZzE-ebdK7m5Q9y{kZ1=+!SPvYVvg z0)?n$_moDRx(hnZ%IzU(qw@}hM}-^+bfb>XlJvqC^*Ju9M-yhq<-AaS)o0hRs}qQWEHp`B$~BfDu}ZHyD3{Rj7jc>XA|sVaS?Sq zceqsJWUr$VL=^ZYcrZAe{+hl{*dPkuXj(V%{W^$ zY21t!e@+LRep>m?9k3=gxUuP<#6qpx)f(KiTanp!C?5$ACpjY^Q#2#|(_hn$SYP=# zB%clkqq1+)k)-k#+_7*xtEBT28d>F0<=gfH8N|^+s62*L-i_o(;b2tuZ`#|cJW!}S zh+T=#Q<@I$Yg=+iKdx$@asg*PSydcqPCMv>MCBgHi1Q@#9g_Y{SCB$_s{cH1D}>em z^3@R1Y3b^;l6GGg)U~6`_>dq23hpox{?QUC65Yjo}9Hq8|bg; z8NMjqjV4F%vg~}$xMi{+g?jB!UsGG8)K?(e1H^a=Oam$4F(*Si0_B# zXy?}kK*aqmgAB#2x*D4(a+UsJ?X*pB!0|9==mSlQ=z9zUPDp55E;@qI1F5AarCjVo zmORto@G{T4rUslPabjSw#D#{6ed>M+=Q5t^mHVMFw&j;6_$5KM(V1@zxFW&N>BJ=B z(ypZJn9|5XtMir#&~8ik!(8Z-iX-=+kTWBpz2%yr8$MHjG}exu!oSIJckoo`^=x-A zmMZjlzii_xpd0mS@d!e-A-n}p=l+IsJJ{Fby)1m7R!2CD4C$t0(htn-VOo$knNHUt%lUJ z5aj}5m-*ts8JIBWu^QT1J{ z8BgGoP1mD7JkNjh_DCyp3dww9WZ;ucWCO~`Pd5FC43wy<)560UEV`d;A{;e4OD6Ei zCN_^~-Y1(Jn)b;i671@eO+-W`{wJG+>im6Ub#`Mu2~uOTSt9`q(od-@!p?=giD{TAsZF2=F&Q9^jXV-^b_<`5N!upCkV~ zA3zfigVU(mZ&4KGL9z&-={!G3uCX$Akj#>X4+hCU%()ySt0U455-hrdgm7ykpByA? z9?`r(;?T4~LV{fl5+b4!e~<{(${?|V)Y$wW$%vvI=JSp7V7r|*nn9w`%pgIUP}dpH z{bkl`0fWR5A0BTA`U>UMGizEFdxOI#C}ggt%CAA`+u<~-UXJGB3FOt=%y~X!-m@}a zk<2}Y4?^ZKb1p+>JR)t#V9^a3!o7feGGy31qIn_X(6o>t!LCAvh^WL58KGJU87oMQ z&4)}z6zwn}a}BoJX`=}ljb=gyX+m9RyxG?nG9(fZGLHE0_%+a1D38yqX_+?76STY# z(a+78D5@@vSpfs03SnjDGq(?2P zvCTGQu;_*i_*AY>fz;qf=1uTUmS$(ro`P2?&QMb+;iFH(o*b5+Mvl&h$E zAg8(Nu8* zaW9NoF>^H^-*soMJxOjU^bY=&=8bVlI{tfFpkF<))ORHH9s1Z)R_8TCAH8(4UtqcI zM_4q-?w_&5KSq%eAG+Z;Z_3p{OXFeR$L-Y)m_*Yi4o*~ru zpTP;O|HS6PpIG|JsQhy(_P1FwUpAC_&`lt@5DNH2RGvr6kxo?G630%*w8VIEWAC@P zoz$B4WxkVIX+J27v^pZCp1hfcs8FDt+{UUa#J)~?8N4CWnV=}EYK%Pg- zo95!?sd!CODy>C1V1;;f#6SsujwY%u{4Zu`SgIjf5q1BA$i)>g#8=uJ4lCmCXA`y| zUKw8vU1eW56rxp;v9SmB*lKuAiWh(fM8&yi<^g-9;4d!D7W1UFfAi^uHBapev{6Wy z4|06-r-iuMvrOz!^92P<_^c5B4Y@As7e~!~lZY=#{hJ$-MSq9tn;Y@>Px=EOu0j6+ z)KuwDk!*{F=Cp7d7J4S2$!K`1Kq3#JmUjyLdnHtOx6nwG4N>Gh_2C^)?uYd63Q&IxfJE@kgytVoWmh5nNAL@gZbQ;fg*d9x?~tRmb2Du*oBt5>%~Qkre#c;NDm^r4?w=Mbe?we#{Yq-TW2Az~k4q_nvYu+w76^O!4 zA-=1mkpr#V9+F1pS=wkxI~(h^w7nz^BTCSYN=m<@x#%rB`x~2WKU6NgHd>!P(qA$`-xl~7A zp)0vsM_-p9Q+lIW?kSh>xF9z`*Ao+aKciFOl7^POGb@9F}7Z;BTx z?)Om-8kB9~!|7u-3Jr^XG}$1IQ-|=Fu0DyqXS!nY;Osqa&lMvh_cSgXF5TxgZc@Po@B z#`2Gnrp3$8x&F7cPG1xWiP~giY(OzhR8H)*r+88Sj78g>0^L!x(IC(>>D)8x+=Hcw zj%(+ZG$&^cmo$`9-M)zA(%e4MWe^QnRMM>5t$Wvy3{J?bEomg|G;Vv9L2bo9JyxwL zJE&ZuJv({~TBCL<+6zYoFAx=HpzPu?Xlf4kxEu!^ty&|@J=WDAXk%R(St=M#RJHRo z$9CY^U2~}&ak0*?^~NP#vkEgW)wwi>UM^XwU+CaO)y+DWX5p<}vkD7u*SRzcAJSQ! zet)cpvV2jkyw=sgeWG}&<)X^)Ag*IioAiYlPT2c$5!>orvtQNG?-YCfYK##|-j_CJ z$we@HDH$^7x;g!8l}o7kMl#?qb2WS~88kzFlMG!N5|xC{GcI9BEEzOIijqMyq_lxPWwZvgE)>abFJlVvX}M@r5iG(E-{@@b{F!9>0zv)D6BcyG>H zvu(o7HJ%8aWZ!n#*Wh;SSDM(LPd zaoWJ@%4P-P(t@qzZB_0)A!m6%RCzxUytYkWu$jWbU#L0UvzD*ez|MBYhGl4Q86rz- zOlcHiI4lIMRnlw>=FbHGfDrx)g|IbXCLttr&6=WVAX@G@1iJDQKBuv?B_wTSSX2|V zWl|bmZYvILc}a70t|4eb-TDIUnz5OrIaO`NG@)thlpCEIwV3s@mJ{1}Iitm_d98&j zw8iG%3(de6B~e=blFQSW@=qnA_Z30&BL&UcyW%Pp{PpGV;bp1LBwpvN`O{JD{D4dI z%B6*Wh7TOIn8hL*x0Q`CPer{+S=_uv!KRY63Wf4Oti__%HmG$e`J@Y!anFxR*^ubj z)PQS{l> z2CjxGq`Isb3pXI5ax6B$Vi#|SGHhR}9P7W7>P)Q7R4E67<+@VmqL8p$FHyY-33Kh1 z_G(H)5tsHBS*FXqm(r|U7Dv^GjdQ;!nO^MqeFKF<&r*-Lyf8Yzn$X+>dm}C{jomX2 zWvh!L2fE?shUzNj{ND{$rdJQFB$auNWN;akWPWL=jxsX;5i)(#da(M+`gqt8doT;7 zp3|hZRnQ*d5LQmx14Xz-Au~$K*wK~kBkcLFhRg>K71l!ot9u*k9xG(w`gk>cOF- z*OIfru*%`cW?k`QLVJE&jBl)(XU)QX+`C_4Z5#&l*K%1JpxKzu7SDk%sunSS!C&u3 z=%Y|DG3k9xOwSJRH+Xx)cl0xpdfyax0(W^FnPh6{eSO?w&a-M^iGDq!_|YyD+vo?y zN1)M0bS01ex^Vz3QG47! zG>#-RaogDVrI9%+t*E8t^EBA9py%kmwK2AiSf33sk4$>5-q;7-jiNnwZ;X-+u+(#% z#`3e+_{`TmccNx6w)zs%kZ;XK%drc!sQfWG?G3{*sxdQbL-Twq%FHp3ZsMMMH4dee zpBivLWBJ>>0jH5?7+d|9QNNEc;0$t7IYD1k=@9~&xNl?Tj?4hzk7ycdO5Z;BZG zfJKs+`~4I}k6lo0s^trTkJ?EEYWa4KX)sE5M#k3RaE^a{9&a`2rq3hoghK2Og4bey zQnCM5vA>-rYCAT)Lic$x3+6s?EI2H>sH1!6=;j#Poi@rU>8+#xkFz%qv}?Tj$Iss9 zoa-dH;_kg~j&t=Qsn8mGnBpk6N?e*oc>WJ6r%8A9WXc^1LkM|x_Jz^S_6DHjZrt3qEyYz*MKrd z?$v-YM;_9EejWK)DM~r=v<8$p@|*^gIr5?g^y|p$r6}ddTN+U2$a@-4=Ey%ZpkGHm zDMcwqs;TN!WsVHdfHFsN4d~aA)k;yyk+n3S%#rmqpv;j`8qlvJV@pvoU-YZ7%I3J5 zn0tGZt|vFbFMPUwm!E>+;7p88{^Hp6^a#Tyz;l?2<@eJygTE@md7)p<%a|wR7eg_B z@pvYJui!Uxl(ttxxbaA2Ui%KT@mHD3HwI=e5jNXKag^=19$bTphp&pi7q079V*IaM zeC7-BZ!8pP`a8!&)E(sG_#TLU%4{d^jciPv=OLR=orT{; z9}2T$>W2|L$rgZIyf&QNrcbtYT_7jbXDP^E9b_v7IkWyC$+s!Lu#TJsLpFB~iq=cY zMJ^veWUl4G*SrUQ6#sJGY^l7tN~tzDF?(~H4&lukK<+jbr&#BLIznz^$W!L*fjS2| z2czQGLvAUReUf;ZUp!`?C4ME9El-L^Q6s2}|0br#akt~IPB(Y1xnBfw(ZrHvpVe5w@h!iGlEe6RYY_0xz z`r#6`j>M0$gsqby;u5y_hfCPXAi@b-$2iY|gsndC2T0hO48Bj;nneknD@xe93K*ZT z#pUlOVe2nQ50!*1{LKFjTJf>HCvAvM*kb;_!8dzQNZ9f;BWM^%*kVSC=N=gv61F@| zgORYs3?AhXJC(2%GV+7OI1;v)3yC;kiy81VXD)v!StM*l5XD8p7IXOk(Rh!9El<;K zAYls(8J;L%Yo(FsS`8Gwz|{|*Az{MS%EVMoDDe}kipK%;y?w|jnirjKo~C&PY>V9K znuivpc$ZcmV0XC`{UvO@qDs_H!j{q^hUZq5q>!(vuD3QqWNh}6u(dNoOceV`*iu?V z`Mj!<6!IPAuFNkd-&L;Uo^tYiRWvbM<}CqJOceq}WT30vIsxD|8d2@?rh zo+6>B+Mn6MS=6I;(zV;#bKRyTYex`g+N=0zQ5k>*7m<~7ZWI^mm|7uow;%#*=M zb;o~c6udIw6StSe044mP=9RS@2m3$F>vmn}7_EbLpw042P&=1JHkynAav)MWP4 zJQj`$cT6duwDHVngO(NL*iw`#&v9*lvO>+Q$&jC8n9rk*azY!ROwGk@s3<_+F7-ya zJ3H2(cynSNd#V6elxokTI=HcaRB1(guN+@i8+Y~(Rc_8NN0kNi2O7%t!e3E|9xO+d zdH8VuQ03tx<)|_b|6e&Ys`p>jAZsqF`MPc-jEBSD)NmJ?MX@n_sp}XLws`o$2&epA zSVLLcuGx#q$$zLlO4Ft`^q;hkesED%-qQdd+_(@+OHoSA2O5BG7HjyI29!CnTm$-b zq*7Ng_bBB^q5)-&)HI;Xk)aykO~mEtDn%(rat$bRWS9n&IkKh(^y|ooQj~IJEe$Ah zWE~ACbEHoL`gLSfDM~rAu?CbmvZ)4?IkL3|^y|p@Qj~IJI}Ipv#3gKD(io4lE@6v# zzCXt(m#|fW;+7OQCzr6rc$7@J>k_siT@lJ9Y?Yv5V=iF}P&E)CVJn(1xr8l7_VM%> zGvsUP8F+S%e zEY4BFmKRdGC}E4q7!eei61F@!&Xl5rE#Yxmj98(BE#~2JTavIPy!M1G&r@zt!j>n; zZcxIO@FF)TVGBH^i4wLL%{|5MMEfIxrrYycQG!;S&?QaoLvA!GVT(NmS_tJct<2gtwSIE0K-mfL2V|){JG{ZzP7F(CY*M&)44!m3Q9Omj6d{H*I%a^Yiyu$$NZILIz*A zppG_>F=sql+j6ag8#?gEP-Y+-X_}GsvFh$iYgDb)O(nFk6FSP@&f2}HrfDa}I>ul$ z5o2{5O^dB=tF5w-cr-!t*t*}N=swsfML_d!jX_lR+r~!q4~YN|bwE}i%8yEikYtj5 z4vq?WM*0HjvUOXWN5=>Fbib7dhOlIDv4i|YL5|Z}L~^E<6!MAb_G887cbvk% zDut({M=-?Lyxc+FR*=)R7EyktmK5?i<*uAxPQIvI$*gkn>=c#K7TU|o$#d-+Kcb4b zN~5JZuXfeR9ZBfdSh}jp>(W~{cVV^tZl-G?Z>qpupQ8B~cMVR$bVHjC;oUfZ+|5c( zxpcb{QRMHJqwgt4Kaj5DJE~IhaJoK|IgS#TCtbj}j|d&F%Ha{I4;?`0FSQ49p=!-J z+P>*;5{Xya0IXC1Z?*xX+Y0LAHdNGSKaByZ_{(D+d#VbCSG4emEoB{KNv76?K3LOD zVTIZ0m>4dV1KsvcW{$s~9d!?{8mmGXVJP_~<1lEQhieLkm_H=~`Mia2BNy^oR#zWO zKxkwY5FW%#Aq2d3xsER=vMHK~d`aIapWhN? zJ=1l+KdZ8S#cJOK;S}jjs!(SY6U&54eBIQE5sG;+U^5FqHAVBt?y;H|&Lg|OsuZgr z98@(WLDDfl)l0q<>JW>HD()ylR=}C%z*9B3>1F^;H=pp6k?oSvvk=U56*L93q3*qt zN?LsABD`B7oQX-p;NIAdaQh@(a$|h=q~to9AEenWJmqk9y1%Z*#{-i)7;-NlUB2l} zO&$?RAx}#l7qpoG9F|!9=I0UiXAZS?j&PKt{YGfVI5Fva$2pSNJ3hf=D$UrtV(56= zn|4%FfRmka?rWm$G)I3PMumQsqb~$qn%sp6hbad|u4`N4tKAt2;i zp#VZ1-;sK%Zy>Y|frhI1%tqVSA*Cp;5z+NB+qLTnwl2IymIo2zneY~~XXSEBEKlTo zcQ2lH!R_Y`kiiImm>IGXYJ;AGkLtMvvc)Pupc?27kTu-@;T<3_Vr5=rnUM}hcYti< z{txc}F?L|S-#b8<30!}7fWS*>k)5~$#LHBCF9_}caZBUyE|2r5`Q&4vO^WO8@^Ix} z@m(I@wT)0LyRL@2Jce=@8@OlU^siB1Csr{Bm(ah}c#z0Rb^+WF@;i-Jm^>>aFKui_ z;%(?manA(w=5wK?>5Al=iOtw*xH}^N2=9#85rTc(5YQH8va=aei(SD3 zHM}zderHp`EB1B>x--HV_ctc=b7uq(1#)M^k)Z?EaQQQ)7RNgE;hhl(MRo=|aFRpN zoe^$~@eb%aBP9Dw{^PrS%p!g`s&D=TRNt4so>W>=Pj5B;Oynec9wVxd-)XEwxFmZy zBrk0o&EyEZtT9{AVf6u-{{dQ>H{i62K7O}>uZo?~EibIvaDLH9nw+gfLhN9^#+$W@ z%1P=3!tDVm#AEjk^3T9z2d;mQ2=RS1@F#37x57`|S`eFzsl}b((I;vx2vhbjc*Wfg zL9NA=)mK)~T6kl{w^|e+^yBBTABcL!)ZzqZC2X~*fb1#u!-cGq{BXhXen_LKOylAl z)bKGrkWHBQdZyE0nH<{fAZfsV=g8VthOMGk_Mloe^Brsz?K+x5BU?rInePQ!G2A{7 zFxV<${@y!~isGX^O>^niTScCqPhlmKcZMruP;V85AY;yWgsmcQt%KMqV(^hd!&Z@} z8Cl;gXshTXLMnh&w6PO9F5D_&MWAUXuvNs2GsG&kiaag0x~;a#LgLW`&137n|M6B4 zD@8!_yLLoWf4i5BYP?nCU6oOw`>1pil1#F1!%?w0BVA6qjKh`Uq)Ap|xK%V_Cofs- zbAW|}TSZEXD4&@sNg$mY!!xEMRS$SEgdA>DpFcR`I)Jb6!JOcuAE;^ zzNlQuta9?~6qV8z+RMtxZmTG&h^sVO>K$7}zTRb`(T%Mlj-M3qy7ad@yQ<7hzkAEI zkT=y*==v1R$GB^7qT_}(9m2bD0J)o$oN8USD-lKhemVM{a`Xe~6TYJ=B@d@hGMVEj z0mD`i2aNlO(6Lp-^xvS>2_0KSQ6LwpK9QpZoBk$|c(o0{N(Jy{8$i0PpgwLxaiPib~+}8OXYyuD&qLd`jWPa*s4%y ztB93P-IY3e@e!^m80Dj_B5z-53WJDk{@KTScC1iY6ko zRpfcfENvBevJnvnMpZG=89on{Ecsbn^)b&qmc>zE-O=-37`Phb~t+NTw}p%5$++_gUr7G;V;)zlB+0|?hBIF!6E(qUQ(tUxU+iAfSRSVmPu&Nu( ztsYDS&7)Upxq4rshTUc9pDQ%qh>F0&3m1Wl)>hz|$i|?LDKLKJ{KbBDF^j&sr=|!` z((DKBAN1ZG?zy2enmxBZ+IhpL+wQqB$M3n_v2V$q+sYK*G%M&^O#s6^w-!Uz0z~3JvSDUK@59tOcHy?CzzF{8GBbu zaOIEp+*mmeTA~emZcN`6Mum<&H>U3Zx^xHHbMx@HYto*Z@S?6sdv0D`EJu58!ehDi z?o*rtKTxZ*=jJ*W_S}Br=(Okd?TNPLcTb8@``G`fx43PJ@YyM7C;5G7h8(eCPdoF+ z&YA1A*f|?)C-c$HSty>LfT$OTQ0u~{Guk<0Gc3Wj`WOVu5`0j2>=ZBH}w}^~ym!1F9QT2^uI-)q~N&q+rMwG`CCi+&}xoStL5Z8*}i``vK zf1sS4)e-r|0{pc?-?*X1zWwGA8g&Qo%?OEa5q_r?_#>Jryl@jA|Bs516v20pa360c zYRvgV&`>x%oo*k`5mvm9w~y@-z6N~v<$XN9&~;%W=#c%W?@WA;z8lis-fGMvLXv$1 zH-!97;}=Z+G$b!=tVfs7HuSQ_PE2OBv?c80L2tei#t%)x`6@G(2_ zM(CbrKr=&&-!ws3!cCK>;b9+3(-&>^p*$H=3vNH4hMOiRTDBN+#qaSA1Z|qQko!%O z0XA1TeH*R0n-B$c!?sU#WCk@nc*~SAkrNwyX2#w&Fi3$d(Qg-d21I$tPK){K7iM6hm&mt+-U=@&QEV zS{{7OkKG?*|BlX^@U~)6ZE#ZFo7;22ziom4E=4zh(!*Dv~t(y zaa*ygoPviIk`wp|4@YA_t?=bQPg%*wKm$TrE)zJ7QeJvR7~4(KM`g^tsbW zb(LSqG=-uttgq6GX$C&S))(@Z&3n%oGRnO7{6Uf&HoCJEBSPCkUbD#KYE z8b)B5s97UCYqKUnS*X(MMxJ473x7;6_+NlNA&%X^3kh-aQ6Bj@s2?`Ys6B*#Y;7Ea zwThvPHx%fv7=djKkj%w;ZGG+LOe)> zq`1>eMW$dC|hr&1ppaIpMYok3)W)VP8kr8g{!3W_Ov_(QQVRH*7(p1(&v?x%;qt zx~gV`xFg$ve&- zi@%z5x(V@zA$e)zyCj}u5qeqUJ|;6doDc(4`-Qwg!w*13Ll#7 z!hFWm{$`o*B>M~G1VOV*XR~~k$*YFpIM~~A26aO@*t_s6q(~0-@H4*@v|`I|7^i}R zJ?4Mu5K>Vbcr1O>Cpg&i{QN3ba^`MUi9Xm1LB^aM?15_?#K9he=Lro5d!A-weXY{L z-U31@fK`NpJr+7CJlOLz?F0_?m~p>Y#lfDZ#a6e~R#`|qnxJ`X-8UaT*kh##Xny{o zi0a12*{H?`d)`%P#B{K?3P~o}FW{)yoRPjvx{Sk>V&X|wV|cLl2}4-27;}n+ga>;{ zizuI&DoG)qnC^I(*!qE%lCrJzwv#SHlN;psT99F8$u&F08rfcRRTj@}}BhzCK0s zG42|igz1Jh9m2bD0J)o$oO0=QC8EgRFGt@~j(#Bh*mqQ=c| zo~nZ3V2=wXWyQfB$ADXh&~dQm>87y4#K9gjFCS zrGq_BHX`D{s47M}!{-7CYvU@~it%loqfyp0nQIJed<79qf6S_YZ*;JSK=^|_gv}r9{cFtN z@L=y_BIF!6F34o4$H5-xc3OagJ%%j@tqTZzy6090jU7zuYvHNzOsF>5GXg3<-9z4@ zQ#SMrbINw5E44jkV~#&%yYPgPQ?_lXuxYjfeXH46c*^z-hU^E3xIZ|CEIn>%1;gpSOCkhRxY%C@t3QpOWB=(L^Fhxu=_O7_wl|MdZW92-8h&G(E zG5vHH6*^AYnEox$rEStFn}^5!gihIn7xfc5W%KG{IXYz%o>?rlx8;Z72bv6>vN_U;`DLvbipVQ?_;O%sM({3&rzA zhUBE8V+JTL zohk9Ps45;1d~?L{S(y-ry9`f9W+3CElrpj&bbu0n*ih_Gu?3B11NdWv#2?02dhsSP zd{%wlodAaiTpLn5%HM~lh4a@Ra5=(?54gtI*63s8drow~wf%|IY$rZT-@yUbxkN~^ zFCj3}0^Vud&g6|l^3ui-TK=@5mo+wIGNYxoali$=`8a6tb>iDgzXx0_RC>ULu!Kwg z3Uv3GK=YCx<;j>@aBUMSI^aUlvL@t;A@~M@mi#W{e#t+;0T+gj(2wD!+@?c# z^XmP}-KOFc>s(Mr$dim?$de#EHy5$U!H`z2k3U@H6i?V{#sQZj#>XGg0oSfnYOdj@ zoUDE_@*Aj1Db+Fca|oVfOF%9@Jk?yMq8h$kK~lSIkcBn;F3HpFv7zz{>)6;Zk-3%!U-Qv$wHWHW32RtX8=RE)<~AL|n^*5&?lu*tSm%N|LT+Q|YZ$S}!KgG{ zMd%uKw8GD2sfHafuHnrw;_z4L0oT?P1srf;9)OQM;9{~p;Nt)70oU7Sh6h}uu`=2W zE2rTs4h#*hzxR?U{{(y@qJDg6}MgC%Rubb=20T*CaW`Zfz5klEPC^;(^7k5M)gsn=n+mFep z@wXSz#b?-tBDwn_@Hq^qDtiV6nQz*m}m?NYG0H(4z@YqifUj| z8FK$J;sIsE$@9g1;0eY5v9}_OjWRBW5P@$7dd#mQ1i&C^9+j{jF`VrsPUoH z#flXjN?j@}<>PFj#=7PxR;254!$NCUZQLAiaZSqk4;^rErvuikGK5D5T*8aiY;I0t zQ*QXg$jmS=IIDDqxdxo^!!w;2nHlCH9ud>po<;o607s? z4z$YVq{LT2&p)fH5y9BYnP+^c(-Sk{Lp~gMLmQ%L#*io)T2qRYP}2!rfSbLz2u9oL zZH!pudRisKZ9qmlNiM6=HpbCV2BXL@wz3RW=Iv^?eGBc2V_aP6LiNL{lxF+dlMLA! zr7s@2!-o7`1^K$xB9c35Ng?l2Yn>xDf94e4rxfm5+ngcB<}V%Oeg)Y>YZ2vpYe^yR zSMJLG<>Uj)l}sroA6&ypd6KcSVsd)zGgXF_zGvfhw<^P-8X}U1*A9?|crb^3qUpJn zo(rpm|NjD|>PRhf3}i&#F`CEvgg2vh0^5S~dBmGpJC!XB6yyJ4CKnBuKkH#N+ILlnE!v>cZNU$WWQvpPNgl6#%_cYr137(SGpgS4*5&a}Gp z&ba=Lv;LLU?b!q9Ja+({mkl5{cL2Ft>%Wl}5S8JM`g6<^Kbx+N%RgVa*0h)ACH#6z z8j5zg#mKJ5@S%!+^sX^D*7?FCO5jbhSp9Z z$t0_f(G}1dX32v?@*1^nB3N|MeZ4jHk-TKHHKMjRK{6KX<4YTTwMN#ag34Bex=!s- zkM)hSwQlWe7s4f0QEWQNC}}NJMmDU?^y-RdZJb(fNxy3K)lMOVRU*1a)y`!yJL2Qn zdRa+sT)VhTa!ln8yW|!M}AVjr833*O^7pTm_TM&)|1) zpo{-975_WxyAaGuu&H9*n{4~JP2M2gnqP+|qxh%L`3qDo* zb7(}N-}!IR^OLz092y}%ZOPpEg#24YHcKnvy{LJ-v=SaYG?}fS^_oSW@D^$wulj`d zy5h-kMeEOs9J}$h=9v}V@YyEPO?SCzx-q!eY@V%zTjkAVt)ooc`wN%x{l}XHo#M29 zLEL_GT!myA*1Df7BT~r~66yV>>CqlJ9rZcs+^-C-OuGKxX=T#EtB@PwQ4UVN+7ycG z74)C7_&7JY0mLIoxB1t)A)PoH?QP=8{C)cz`oH-HJ9}-uj-T`?E~V=*KCK_6h2ysF zOpDBoi+A~#R<}+_n_JuGnG|bYZskr-i&NbHr>4cePTzTHG1lq$rs&uv^{A5q#4b*!=>V4@2q|9K8 z>ud$|T&c7@oZcx2IEqitRSNM$`mnQ?KNhNgTCsi!mRW1QmR5~P^Yiua=NtB?QDz{E z9gVg4ChY&QO{}Z7dBTtWJ(P^q=!s_h1M|h&wn>9GsB7CN*-=EukApvkG{KV20LfQO zt(u-g1cSaPWOXUlc^e8cO>zuo_>w=K1tUh0s{@J-6@wB(|REt{WT0Y z#_~zzMC-M*k;t_371OW23(o6lS0Y#1MTUb?wcbcuNf&&_r}c*vijwRJ|8{zUnI zb@D6+*B0UJlu7p2-^{Oka9E&s(k>K;WtruJ>u%I*J!PEPl!ms}Z_-Lqyk#3#>(?na ztJbq*{T&dSj^!%8^AA<8u*vm6g(x1gqh#ljst1PW?za;nUka6l8)yBwyCZl%I-jo= zt6{20AN>EJ^$-954bu%v|Ib$Pe`Ra=e--tAxBCD7T?F%l`v0f93H=%M|DAgX{XzBr zUK4~qP5r;dG@*}H|6g;o&~H@#e{{UiS2{ud|MQ9R|9?-F|A(9={|`Mw{y+I#|Gx|W z&|Erb(!AH!53gzq_lq#)a2Ic1`@RNNEaEP-fr#n5ykEWRmDHXmE~M`uBjQpbB-!a` z%f4^We)Ziiiq+R1iq`JL-y92!9I)|WmIzN3pRlQDwbDi|qJLmC% zY=S*?x0xrMr#D7(8RbciuZG@T!*R@*TD<6Nhfi`uNVB)tI~SEsdXl3Hp7%~_+dsm# z=YwP-?~9ok)Q9vay`Mpm`T2?cnKQ)KdC&6Xmjp_(Ujr)Siha^N$UHAIlQRKS+W_I} zqo+dyz%v?rL+NSIwF?gB911^QlIyzL4xD{4p&pev!z7WGLSfD^1==D~_}qZb*=H3qK@Cj|u4NuwUu0YbhbuCqcN-|=%#^|e9?lF(2UpV_Ec*a~VvIf|FK zf_jEQ4I_~J|6+OGO1 zf+yMI?BXN%rcY~&s<+S@TNU{B)#3($uj4jmzN#QQR)0-e+6?Vh#jc_uN7+WLy~;%< zwTbYk);hGxrO2-)S1Pjl?yDO1;g zLQfTgMCU_;lI&9K?9IVc+qbLEX9rzH1kE$}e_FhPeyE|R<0M(sd^!j#t|YrP)Se9f z5$$xfk?ZB;L4y}~Un+i&taI`pv9t2v`x(M^4nxWC>C6TraBX&))(#3T%dpPX2ix+( zIYnRF(Gil0-*RfY-8#G0YVlO*780HKL;4P8ywiw~WG6#joTjM~lg|jrOB;VLLoaI# z<(M(rUjcc>3%&UT?3|mCi*wQZ2Y_(?GYo=#CSnw`nGHCbF|}9?JVY{_Pr~nPeejCm z4ngxDXWY*))cnVG-7fdgYy>a#$8-*!&gYI)u6%IO@>=Zl{XvEa#|}_8;K81Yj72QWLwi$&h|J*q}4^EIMbjj z=dSAOr`2>!ZdAomG%fnH>Qz7e_M=+({4zlE-Jr5@D+v{w*)(-GKsv)h>EfMI(g-tqQB zIqs@hfg*^P>F^CAoVxt?HY)E#)P%pr`fU~0^;SG}Y1k&<$Faigp=0V|FR(*9)25p` z7w#V-YQ8@TVWvK~fc30gwd;pfsV}U9Oa!x>Sk3;-`7-C*QP1ktzmShf z_GM1%SRdc?=_#s3VYmHyGMV4>tXXZ+&Y^?<&h0jLE6C@oo0Ar6Tnvq@B0tHHqbX3& z2IV3fwTbwPw2Mu!Yvx)&u_T^z@WeySKH_!5`&6j>Yvgv$nLfo&-PD%4zl%7!{|P(` zp&>ea0bwYfkNzHpkP9g*0-w11vl*6PTe|y$knfH<5bF4j|G+t>`e@R+0UD~}GaGI1 z{-vn4?hm`R8%K5)br>FZ@`%QHjCfH! zK0RR`qmubDWJKRFZTf^aqqZsAg7Z1s65h<(*7JQW2>FCsZyEWd+Jkp_G>`ZqGPica z>l%w$&uqe7oE800M<~-GwjW7fJq=)kuxnpn#5~W2wvZ`V? zO!EL!yjAO_`dDWayVbNDmjqw3+~Pb&?seiH@)%hch7V=uAgwF1Gp#OtEUv%ftbb*7 zd-ec2&mBPLWdq2~9YF5Z`aEd?Q5o*2e~)?MXVbOurfc}k=YL|_OLIJLx6n}Z&Lg%3 zwdXO8qw5IgG5+dD2IKM=4}O>!E{}2EkLgF0#|X(J`~4QW0w|BskY5SOYt)ty!J>`i9;4DCeoU_^Ng*Fr>ys+*g9zs_vUfs49wV0$ zfl*$6P}_#wu)OoZE5lGK%=?}kP?>alPHSW^Qc-bl@3%MoBx zZ5dwWXqT#tW3`5ew}s}h_6V?*21L9mng?NJbZX4wsL9~Zd5l~m@7+()yb^vt3BM(~ zBFtlK{*SLGHdSoz+E19r2u-G{uZPZg^i?UkT%Cq_jAht9KSV943!g(H3jNw2d5l~N z4vmm0kCDmTF@;QdjGi1P5K^&oo(UW60D34Ki z>_+o!8@;Bx+%(-7?3PoKySD`6;KWNFqVMK97$NA>d;mY`Q|wLG9(<6y=eU%+=hY05 zYj+(M$anA(&0QIhYv+86a_zb>tQxeNWktDmp95kzJd_$gIz68}HB?_}n_u@umtS`^ zMZ@IRIn7ai-5ca&_9uAiHB)}w+o1j{q~4dlMam4eINJs(%CBqCB+(+^96nKg-EwCy zuLZ^Fc{&x=V6e;@2>EsFp81LVI`tFzb@*wN83^+0n8sS#XC^L0F2C+m%DME%Dww{| zvC43BhC=yu_d@#vh=e~@VbbFu`H<1E%9BJe=x0J!mtrjh%l8!I*Re9lR+?}GA3uk3 zEsYlBD$~tXq#Uc1XS&%vGbFjWb|-05-15nmd;Dh&h9^XcZ7)(4n#4AzKqt1Xk4oa8 zv?#F+zw*AIN-42zb0R2KyCc4cL9UQb{&C%I;7p#?XkHkcYnV))W8qB~3Wkr*Y)NXfi6O1!?Sha0-KH~!t;Yq_(sPs*W zPCVdP#?)dGcqm19(f}W`L%=KcatJzUaNZ1X(!lR9H5oKVU|ue9av3y_L7|Xc2F))* z^3ujlB%WjudRgOfCNnw=ACUQPp~YvW__5lAFUX*|2T1y`1(QKzNVa_=IfaLMNly7b zL?n>cu!|W}i`%Ta&M-Lz-ex}nuW$yDoZ_w_C4mf*Q+Tmsh94xS%!VTK6Uiy~nKQ(P zlaf=eAZn6b3#gDQHnjv~9@NapCIFY5B7lEm*bsnAPGJCeMuV>dPEKKuI21BIx<2k# zZf(gagRxW@!L>nOHaX>dc*=Iz5wA}rr?^X?=d~RicZO$7dy=7iD5ej*Ix0pUWQ^jB z$z9E{$-L-bOAj}hL-G7-xLtf?mwWLhGn-)vw$@F zp(;MJ(e_Q|QWVcyMAyq~*KQWGb>S_tJl-shc#GMya=9gzCvtvPRD8v*&pVg*mz?qj zg)Z;rx#` z3kgm&n05#7hK5rOPcw!@(a@Swq=ay)!9w4~sRkFpXv3*S$cR<0r&U5+oocWom(^&) zsRq;LlD|fgVc=8)3{~dsYTNuAlL#gke|Dh?Pc^19UYP_Os{>wqaQw^m>l}y@Jk^kfl%w(F z3>HNt#ap#*s*iO>v0F{caY^tc z8(Vy;0YOE=sRrx9@S*G+q;*Ahrq!j7#r1cb^{=dM&mKVMxdZ6DYyi2r1IXQ4|BtkQ zs0?@1D~nvqF=deXs%z|i9@6~p5qycN6p#PjwxIS?jqa!Hsm9H}H5hlQG3I%7s&UE- z?WY=$OtLe!)D=Ld8ixF>ki15177;AESkI19t?*Ri8G>Xi*k}CaQ;mh7vK67OQ+vZ> zedDB4jX$wVtfH82a~Y#kjkmqJ;?FPI5{IW6?-L?1eu(Z-wNIGLj`(;+ry3P%jBS!* zYNtJoKpC&@a#0RXHHL^}`Kbo%=FqQBHJH`~8eg>dRKw$P#lWcsGd>5f6l#as2(~Lc zqX?%OO#6Z;$Ek*=8RepAFRe%k;Zy@c%I4(S#lQ0HrnuL&gz!}3E{2$hJ>VeWsfN-b zeoU_^Ng*Fr>yRq&gB+h~uy;bjsRox4fl*$6Pju)GbyE4rVxttULy5WjNxk~3Ib zN$N_`W}%UedMq3P*3^KAH&XN1as=2^TZUIT+NCPvSgj%AZJ~LrJpyc{0TFMC=0R8) zof`8vYBJLEsRq}`FMdPO90$K|fZzR{YW$sGww~Bj@iW(c!cz@sGF81TbnZZ3mEtYe zJHu0rGHjn8q88MJ&!G{8eis#|8e9qvjgaY7gUQ@6g-oX!o*W-1(5Z&-c$Fk_bgIET zwBC|a4dJz)YIvS({o+)^lVdmNR6}^|Mssi5Bbx4V({y97TTaQT#>0s8#3|3wck>M_ zsOZzY6hG-xY(Uo@d~mAaxc|#jjXkhHK9HAa?t+L@4d+{Qs_~Sd-7G6Q)p!Ajh0rH8 zesnsCJT+8bYP)y3l{?iqhN59kHJs+?RO3ognq41grc;euK)oxZ-k1J_lo@QXw+&Ks zs_}*(;2b{Dsm24&UjCC%{nM$io&d|NfpDt9?wOxB)lffis)3(InStO`gK4a#eP-f9 zRC=m`+6qoJ4u|$*;EzAmVA81|`O2VEjkAc5G3)%0)umY91Uz+(; z1IT<+XpvKmlk9dEH^KN+gH^|;8juK2HF}`ZM~_Z5;8@1gq5zLR(WwS}%+>&}SlJ=y zRKs~wvKjC0pHQb7TVY<_#p+?fooXBkg+g|x8b^iXrHvCwJjo*Tvc^?RW^@=nAoG); zMNT!`SZ%@=oN7!2l0Iy~oN5@7+n=OU4HlPEjol$4fxL!Y%$Qp2WYtBd8t^td0KCE( z#Hoh!t0a&Eooaj)ip*$)Qw{v=?^I(OKz)>Z+^Gi0JgAwGO#tpxLje7pYA}FL8-9Xb z>Fa<`HP|B#g^Z7`kNcII9UEMn!+qdqXxWlK055p~Q@m~$IyiW67hLQEUv5`_(LQh} zo@Xyn6D*Filcabbn9Z;R+mf0c*8xKQ1Y#)E@g1*tst+6;JU~NLd}gEV`@p3ro?3{m zm)Wk}&t>bvTV#0Xu~bP7gI*wdMo;lT2FRVs6S2Q*a0XExg2ph{6~ z4GMN`!(i)TXA%2k4;CWcV)m?DZi(e_gJL+XHUF<`c5|}J4VMjd9M~a*z2NFDEYVSu*GH3~B384DAjmffR zkA3XWz%2p3LW_yc&Tir|Ab@y)Jm@o8BcmMX&65O+qn(o0!g`-3* zVHKF=mVmOvE#X9RH~SibRUm?{CA1gY-o1qP_MZP20`eTD`+b_j?7cln^Pyh%GW#>1 z1X^+QF|4o>ytfzd{4a=7aob;w#o)cYo}VAWO4hP9(5>Iw8-k2EuE-|%Q#AizVr-2Du5NjdwW@EE{^PsqD?hTJAwE1GWZ;^iud+C!w_ThGY1LZ+pDyQ z@-tH@!}DJrEcw3n5W-FthZinvOnrQY%0USIDrgXj15g08Ca zx^(g%Tv%On!h3s}iQ!T? z;NIKI@%Q^#cyBLT6$-t#m*xMlgp3xq;hI99_`SW}zU+v_s7y|>qsjfglfs)~`$@VP+3+PI3gVtjk!Pblk+uKPvr z?PcvhM>s`#lPc61#bD*EU3{hY_Ockr%!>i^-d+ZvnxZ}OZhCL8@Oa%Jis`+*Ua<P4vhyLw0NLXXRtQ|;nhweGX4*}6o?Iau5qco!4z z>IL0i_VKP>hHV5|mv4o0t7C|uc`79Iu3lFT;HtV*3_h=J>Y=kAJu1 zEy4v=Lz?x_x0)M!g2V+3txWQWmPd0D^td4&C$L#?enyhRw0 zd|RR6Ey64&;~U;0%p|dQe1ZvUnz47qUtRg*w+ORx9?wJ@-XhHO9bi=Gc#AO8cLiPQ zn%*Mp;c>5}w+IU_>b3M1VXrQhqqhhPkL7%e^gXM%2!7B9ZxMFw6>kw<;OO)g;SJxh zWA*NdU+slkfM^@}L)4OUj#6=pT?k+c&~;+$*i1Z@jm4>;p?Kc?H;kH9YEk&aJ2q^F zCD>M<(a1YCAmqP5hZ5@ej@LZZS1oM;LPJ%2W~1#pHl-+zrRaLO19t7s3tJc7BFlq_ z@l1G&*|T!FC6*_0Qe`i?;JzEZE!frHbcDnVkz68EN*)w=u=LFi&$THN;t-eN>21Lv zWwAfukk{^y5fXnQ{1M{M|9{8k!1LHKCJqoNBP5RTZ{It@ zXOF!7cdGoK!b;(y=QqA<34* z4QYe#G^R4SitaAtrHv=c(90Tc3tH+L?=FVkd}V0y72#Vf?-g`DMvr*C0Z%-lk2y~; zLZ$C6Mp(ilv1j3UA4}609f_el8B+^xd!U9l`k-jppE>S}@C^hViMf#blbqnuW_%U& zHymN`3jKIL_5+d1m|EQDtb~3bXxYEmkGmX#{BQ%K_oMyMW{qr2owst?9knqj6-y``Xi(o;?OVxtBPtStP!5I*{8%}PNmm1&fxX7RoXYqhGO$j zgvJ&iLY*RR-s6$HRX=Q;LAcl3vUOPVueW6i^!wM_GG*O=(9p?WjPB)2K8mrf(Yu|| zYko}NANfepvV%}^RxW<;h&TvaIltRAWYp;GMRf5AUT^y__#B4bU(mnI->BEkl7iRU ziYl?Zr^s)_!q7j_7!=gLD0Lic^LpE;1}2pu_b($JP)3}5(La50*F)&w&KG*!#XESt z?frn7lJ`027scnPqDqJdiI5a`nu$F8Q7>?vZh|1NLktWW6ztGa>fwgEIs6h0N0d@$ zFjc{hjR`Z2T;$;KLd_$m&ND1-Fk=2fp_=?RVO^|P(JN^$6_)aGwoqeTa}+Dmb-7`o zwW~I6UT@1axhB^*DxF?$%bgBbGZhxzJk5(16YjF-p2vxYrU;EutlcgdlzBnoe&$fC7W+&~zV2yQ?6a6}EZtb_GfC_npUn9P zi+%R4c+r(VUhK1SL_^j(-B|21eI*zbD_HC^ePz)7VxpTC`yOukneb?_FFfvN!lT8$ zR~O6CVqbWsf6k|aV0@acHj3@w2Ys;EcU&y?_i}Vv?63A8TXnnlx7bJ9$PY*0IZDMi zTiICbJ5yNfSE!ZX6XpAa;(783p^B>=_WimqZ)etF%&-L8lHNJ41BCoURJ~BgcRcN> zzG`W)4-HlEnT?tV3Ti<)ieo9Lm)Wjew6k^LEwVg_7|(>am^~|(TVi=4Csj7n1^3;0 zv8D^s@@V1j>T){5J&AvD=}d|7)|>pRn0ZQQY2jZc#I;(6r-eVr_$Z}}JRfx5=sTaG zhweJnkrT@PSg|kqTtZ^f`L7P{;+^%Cl5AJ#mp~3#3GFS(_Cu+5Ky(V{S?9+c#npC( z-T9vmky&{qgwe{J$uj=+Kc93Iqnyltl}wkl1M~TT*!@1PAY)R{RjqG1{9%OhvS%fT z7>i0~A1zbyaVm}=Fg~6C?r`Z8=}OHXzMV3)IQ<>-PiMN4QnuzwiPtb4KvVM^uv{w9 zEl{EipEId3^Lxv-xtH9rzEf596E3fmp@}_ zal2C=K9U2W$nIqae&7(4yy}K!?|^JIQ1YrhJE2UEnYgf-t1B`+3S1W?(*r;A7HEE) z4>CQN{~UQhnTK>O#V5%0@ceu&R^o<u7$jrh+o&I zXg>!T?Mg(Ezh92NryTu2I>~obrR3ps3X?gG5-?A?k)vLe%iW5BIL=*aZ&bW>PiBGZGJ7%r6qF4KeK@28T;^kAz(p-c~!f31!| zix*3{6#OX>$mcDD{Sq=|da$lO9_Ao4vI+h(>A?V0Q@k9cOb_Al5=InLriWLof?uR-hbt#EGjB_e2^3LNEWxS5RdGv43d9Lh>J`Rjwy%CNplFBYlz*iC*W+f9D{ z-){0RSef9XTWc_sI^SGW+O_mm84eOY!$zP%Y1RnCAl7EL6N`l^y>40< zgvLJNg@m~I;~r`D-^UrXZj+xKgEha&&lKqQoBT`}I+$8Ge=)k(ZNA7RKVVj7f+_HC zgtCKBa#k)b?ua-DTa{?HGs&p&w-?dnux%)kyWa>thoN^q{mcA~dfo0wu*ol~M1D_^ zmo49k#-O0~MXBRpn@#?x1}2pu_b($JP)3}5^blX%=Mg&k&?diYx4|a=)qt9kFLY47 z$uFv;AP0$%6nC15Jp57H*walA1a^plL4$%FT1q|KP?x|j(Qrg5bp}%v?AVwv)5t{* z9xv29a_T(8;szt;FBEFLF@LdQMH};%3QPGoTd1+FIf@nOy4P>#LsNZ2|8fF@pMg7@u#t)&i$!`|*=ZEB_jSEOT z$s+W!#+^)Nw4a*rJ-0ySv!TVWtHrr!lOIlpi~8dr=r6*wsE7HCsj{XH7xnNYI|*`v zphdk4NXeSIzht@(NR!!LUp+HJirZgjj^AHD;EROYC+SLk__`-0Pws^M^=Ih2Qj9%; zdvLtJ{yalo2Sg;NCVvr0Ax}%*6|`AkBbko%o1aLg!_ORQ?FACabWHn5XxLw8F<(!- zzs@AFcYN}}Dk&9!y(_-r${+8qvvNd3O>D8h&h+IlDps(+&h*;OM3<=p?XP=yJTapE zb>T%5Bidj0>S8(CUl*R~8tTfziGHEZwflFjc`8L&k&P3nrki1qV#33%j)1ErW_$Z}}yeMesoJ<$0 z=3lWt`Cc8W8?^glgv1}l`@CP;{u|s&t;BSGZ2$dc2l7s~|L`+^4z%K!)7kCtMla_7 zu0V5JcXiX;g6%)g&tGFDQ|BW;j5*^Gw*SDj4r2R{!G94Nw*NfM$odvS+kgKc zqykt)*#2Xohr;bYPt#6d`;QqPiB)X>d0K3BTWytv#G?tC$JS+RJJ=~jK=XBmA*!Fb zsK(oW-c>d1AC>-)B$I5=jubMnIU_xVbQy=~`9dRXJ%!tU*D-`8i+3C(-2PKqMET5A zNecPI^zX{%Ql~K7{#&K#y)BkGNVxr{w21OEQza?nbIM&gznpwgxsqAsk|DpL9cMVR$bVHjC z;oX?_FL$$&Q!d@EL=^e^<>-6L(GR5E)MjlH6?Yy^dzj2|l)zy7j|0YiMCjQ5WBMBC z07A$1ALz=xg{n{FXu+nxiRo9{0IXC1Z?*wYAF-N`+fdx;Ma`!%KsmWQ=CP-$VA%fS zf=OAi{l_tg8WXnvJl%LHLfHOeCWcGpfZP7#`1`9Kw*T0wP-y#)n7JGux=WPE(1EPo9Vp<2$B$s;^pFH$g*Hd}gC2f`VF5 zj^bDf>SeZT*FS7sc#A9#BE~b}EoRTk<(62U$oY<1yySxWZhy}qT1=tKH%1(aPwg_t z-}T}MD^4(Z$5w!EHNJsFcfGtseZMmCK$PxOH6$->Tw8`- z*7%8_eJ|p@DCo`4g_fo(k`GawU;;q67quM(`%Gh`CHKq*oXwb8>;N8pq68E8olOF- z*wrCuFUlGBdr?7xNq9>OxmCnEqw{M!jxW4h}>_l~~?W|jg0z0#9V|XeWCOsGzQMJ zUxdbmgoOlEX=5dt!w04@GH(Dcql2O^+{ga3LE)E6O`&zRcZ;15r- zFF{TaH26E4rGvjqYYp#=tR5Ij<7EglI%XXp{wU~CO;UGmp1-ThF;dFt_LNI4yy-x^T(mZZ}uWuekL zV-c3H2G50VU4tl3#?*p0l4)p*rV%Jwb`9i;@8BB5}+X&sd@`y+Zd0O(gpk;~3`eliTpE=a3B_h*)BQz`# zSa?OSc)7i5xu%tj+ThRGlT5OqsS_KnyxmA!`u-XEfF0TOT<$gotB6%ZfI-1-z6g2 zM!pplDd#8^Po2$X_{pNqR3|MF&pgM{!zYV|;`vVy=_02Vg-^UhWHT(mw)%`l!j0Rp+73%no^E|c7W9N53LsficqwPz?QWVEhbiK@W?NX1e3vZF-LBx0_yv6KUx!e-V z6FI4}|DJ7%(HS4Dx%!(9{-kvg2QHB*5aW=`E z+^E=lG$u8&lVd*+DMKyBIxC?c2wHXq`?0Y@kRQ;EkN2bfqStD@V4iO^=F4fN)u>g9 z`J0)+$Gs$J*RjMHRBP}xK zr8O14By$vc`5$Za%_dQl@uUi{53NEpVVpnHmVO0b-tbO9u70bVB z-3VWjRQU!xjS4WTHiXISh<^)a^pd2kOma-^Cgs(ST$IC?B=w49`Ad>uH-~=pk|d^$ z0F9>t{E{S(%M}AJNn*wZ087AjsEuN~!ZV8Sk|d^WCd%=WBu_KSMbTbbkrKj7k|3mP zPOjZO+P9nHy{&8&gfB^Yjv=NVkK4vV!j~i|E#k-YnvxXqVYT(83jFB8FG*tWgoKwQ zaVZfP<@E=(?rojd`5oXD>yEL0g)d1GzjF9uz~V|$SBmZpjdavw;Rvv%21LA(n#YzS zz^2+VijbpSsxpq%8Y12nn#bBBz*ZU%@up}Vgq6{$F^{7rSJl>`^g2AQk+;7>(R>ho zKLNk{dr4BZiLWO%ReV4dhfgbfNfI;}#Zz`AorlmD-2m_EG<-=?8Me<4Q48wA=g^2k zKkdLvlDHHc8X?n5l9af*6&)4aC2A!rS_M5=S_|Sxy+C1atWVg5qLc3*;U9XF3@rZGDtx!{CJZ z^|AStuNM0CNxC)>7-(4SjyNyF=i+~8>P@OBd@T@H8{c=l>y-&r=ewx3F8GBHz1QYa zBGcX3@J7h*H11~d*D`QvuN=w&rb zlly(QgoLlO&TH6i#?)e4@aPl0tOhP*yMkBj;1G1buQOIMm-H{I32w4qAHoueAuHX= zW$Pnyeh)nNtsOVnqte)!@Fx40MP>=hjCDA=$$mBWe|VF$n!xC&uiaf3Zg#3jt5aT=k;i*zv^E;rSDn7H(_T83J6kkq7*UN0z z?wYW5;VrT}-ZhDMi`lbsxh0k-a&oag#07?43^bH0Hhhf6-3WlVFk~gvMv^^*>Y0Oz zDeeaX?SXpu%60=TdW^=yBJ)d@dBVw14>ui!s!+` zbd#!D%a5*_72TGUi8qcWg;H&;?W&s+JjuQeaxos?^l5D&uNH5Ot@>JSZC^b^!5??a z*sm(cj@3O#OPitHs#xV2a`c$T)?VczliEb4v2%x3xfJ<3@D!7QMU|&Sp)X3%bXZ|2N>leb`RRO)Sx`>!bb~wa}1M!XWoUf|rTm`?nI%vGW zpK(>BUJ&29zIr@qv5rXP-de>f+mPcb`d+!n-EAVK4t`waQs&1iO+Nh3Kb2fNxS=&Cz zPNn$dXCl;wG{KTC2C0uLfWGL}oU@5w&~rmpmtx%vmS1Pp=+&I8AF`FEtMewD;E%od zg%eb47~mtX=5!RiuE#!drE~v5yivEu*V0PoA@pE+NOV3lD9JX)@^%cCx4ynRpB=O% z5j4->|7r0G`k{uNzJ8$Q(?OWNCE0eN_GIukX}Q-%u9uSs4gQArrQ#Qgos$QNyDJag ziy>_1Fq90R&TKFO*Jh__?V#Xlq+floEiar?^tBxwA(1&=(=AzT4{za7gi9&9m5HZp zA8mkdK!hY)6Y}EpJB?kKJTfFNZTwFedRgNoL5K4-=*>4`=iE9`oHH%PKY9p&a98=! zpmEafHk{3vT08+BA{p)~!|&_`@QSA#f_9aiaX)PfcDGqmSLa@hRahm(IP{|n1@Qfc z{6H8orWQ+_mCz4FBpU{~;ys5TKU~FlKZ4zD<45bWl)J<0B-d)taO^JFt)$8hqUE$! zt~L_yQfqJ(eq?XcSI+kMbfMKn12xm2E9b82>!;OpOm0-gLvEX+UiAwne<=xPw1DOx zL*?%vRA5!Yb%7L9_dm^Or_;_m)5G(_P(1%H>v&)Xi;ZTqY=$M+mM=1$AA*qA!@3#Y z@e5Ct_B_7>8mi(m8*QJ_mZI8bw6JSurfgm8EMlMRn+YS{V)m?DZi(gbjF#nm75Mt% zGdgz}pN_DaHJUl2<1k@rW)^CG*v6S*nNWoH6&=n4ucu1MKckA435!3Yb6sl1^T0c8 z)yn>nn~TaBT?=nm+j&oF13a4Z8`k!nNQSu~^BdOiGd~ct;>vwYV+o$S#r&`DNSxxR zy)6HaiBVUl+g&_AKb)1Ej+R58;KsWUWXu^AxbY5L>mY8tWAF(=!;N>IW@LTapd0Vb zBBTOXMY!>fg`UI(%Gkmi);vu+fgA6balTl^jdz|FTisS$Wg+osg66Sx-`M!MTdWiT z&2QQXQQc;58`b#6JMXGoLg=|$>yl)WT?t3U=8W_M(q$a36fa+IHHJ6db?@vYi`N_^ zyzx$H5#=*eB`M?+)9I`bZdQsvIECSjcNZy}Z#hVK#@kcjf$Y@K;+&|X$fb~oNd6>*hDOTFX9J74cI)8OZBar~r+*QJl|;;J$?{cbZWy$V!Zih>eDvHcZ(o);c*7d&>SGBAjjY0T9>h%36*F|>U6~HL@y?S?(L{u9 zyz@L|mTtWBWFsODjH+U!Gkh+Pur{uutr*|7+8t#*#C5;u#yi%2FTyF(n^d9BCW}c>Bc*+SOtM@yhF{d_{KX%af1?_bmLvr zEa=9&G9cY}C*-D^0W{rwLNvPPZZX6-{K=mw`6+tt77Fj5yM<8s=WY%9OGo(Jt)WE7 zIausGuh8*^HPG#4AJ5%lSOHp>Z-sNKYY;*6RN&~jTdo|+Pq(&?9&L`^VDdw+c5TJp zLdYDSANu9%O7cUSRM<4@rEfI@3vVGD!H^9A5%;Gin~0>4rzKkm+RS@!3nA+_KXD5o ze&$eXV}wVqFl~FGAwQJGWE8F3Oq-t__dvGlL zQ!g1SkPy2YxO>hqJL`X>^7YK8t(RHTC?nx{wIQUd}uoW_#+CI0hf`H-I;^ zA)00kiK3x3rAP@iozSDSlr=>#+E#C4#46X*Dj{wIGTKRUS&gsZ zKBaKi+DFRfXAW||g6yHSi1NL)q>%S3cV+)_@`2?_rj(Npu9>}R4v?6fUi-=Z2(5|R z)@Rvb-mS`TsD_B-;kC^v*0#}Y&0%-Xb?UiL4v2cx=}*s*T4pE6h`wVqkM#*}Ms0Vt z1uyf6H?y|Me!c`EazZUDBcD{e>j01Ddv`@-ZY}wiYi9W+T%w1LumQP91>_plka9FT z0~SR$X+?9xV$N$5W`G}^dhT!?gFBEYE$Y$<*s6-%FwFx@@m8&y8s@iOvmXu@oP<9T|x*|K%>e4&o`a910S5~)Y51{kh0d!tAfZW^x_!G(-0Wzo&OH zyUUKtkKdQBHk=>-$YDm4%a31r6fsYuCtznjYcSv5N z_7D*)y7N1u{|P}d7VP7~(N}9^t-d=^*@{rtsSN=&GO})M-KlVi$wlWyMoBBo zk8gT)#r4NpH^Th*UP4$UQruCsFEE)M@llWR<2Njm98-HtdG(}=a+n{#nMjuB$HQ(8 z{VG46XQB7RJ-DM=w8R@+gkzz;Q?AJ5(i z3Hk9{N(4rE{Xy;86P?%j6W|rwA8!2$^W(*@9KIN^xRTVBqGv)Q9rai^0<5V45pSgC zvE>M`skV$FVYpM4?}H zAwQl=!J!c{<;OFbJEo8+Ki-q0H9qp=g~#hsk)!;0=AreL#|w|$XwJ3KYr2b4(~ZH!1*h6dxV0{Q;hZ|cB}t_`aGTt8gek`bMm3dV`h_dd zS^pc*X{OQn3#=&#lJdAu#D5#u0D14bM)n zkTkISxq*2ZqnH~R=Mjqbllym6Ko|aRK$r9jQW0_o!g5Ez-*I)D_}P*4-5i2(pFYj; zG?BokSYrRd9RZGuI|ANtBRt&^@NF7q@oA|$0=7|i1WZU13CvFE*;wVzLbxTze|%cF zme|@Z74&}TGC{kUck62kacEk>Wws8_MegYI6Dp9Q`Zg}ZKP7RP4c{;J%rVbkTR{Dw zhqkh+g|pH#SFH5hnEssn$exDR-b&A%>2E=OC8XY${)dzqY_SY+rBBb5O54Nf>a>Wk z2sp}!s}$mibcwTcMiQ}r`f7b2IV zhCDW(qlR@I<){t!IcisuD>-)ppQFa4I|A=1N9`^mWX!rRWOXUlqhR?l5;e{4)VD;r4~2W5Gn^FvV|OW9SER+ecK4ul<^M<7o4{RFRqx~XoO|Dw zixP6qf$M$iCZK3)4zJ({Mk<;(NpMk{v_A#E@5x*L)iylahlnm za?A12;xw~AWgNU20A76P2z|3Z<&Y3wQC~*lNfvRhtas4;4Q*Qiw;v4h{uFTLlYz_r zl)uh0Ryg(hEv(D>tmH7G+NQf-wg!oCx!6~r(npV$i@~vs(PAgiP>OK57<|n30<9S7 zIB2<;^QM>OVrnnO2c$&B$?e6s3<`Dl&ixT~{ahKsE9#rk?Piii+$-z*FwERx_`sRp z04=f?!;KD1_@1gKjd35FfHuwnCw8L?n<`vWpp`#doZ_ zXxj$7%`OD3a0dI)whiZ3Ng(}Bpsx3l@w~mmbbIg9(ce>{$o%}s{>+)hhqG&Sg6$zm zHVv!-S5h-)2ADfj)1wMQwT%J&j?&Pn89*}{d>wSvX(a(1%sCX&FS`q*pHbk>t*6)6 zolZ!iVKXejwxni9 zcLK=YB{x)kkLkSFqdsu-tOpvZ;xijsTCG1(b z+%iiOITM(p(e4zN_Th@V{uH|WEySVt1-|LySKK*Z%`5IcYb(I_)4t=!C8s~@ zt-GBUXAm>*yzsL`dgsL8g-g3==fzUR{=AzY33pyh zBQ4ZHhlcjAV*bFu@v{DL)l!iOZ6an_KkdAL@_Y)$qB1&FJ1>}g4wL<|{&437WKE%c zOl1_@>&^=omts4$tlw3E-FcCoL{)&D7rqMg&Wo9d4EI7!?7YCwd@GWu$P`Ps^Wp#^ zCfO{A6{q4GRYW^4oGZ<6=f&BIeTl0gHTO1sAK1TZF<-q^X@3O#T9seHDc}FCc3Q-Afh84BV+z-vsqWnO8A%q)#zMRhMb2 zeisHZ(~oe`&j-6O=AnMBLfHKXm!X>gb+dB%q7m*L1Y}IQFC-06q@RHljBr^3vXzFL zVq3#53`|SmBO_3UlnZUrjQuc)GA@|1r(GBm2%wi~dYZZ9V;2T6Nt1r>Yu2`1 z7#LY5*%6^gvR3s}WL5-sl*4`3I?nr2@zW8}E{tz63oHBv2ZO%+E{w=d!`k73_zP}7 z?84yk!Z|gT#4ZfR5fZs4Zn%jNy$j>yZo1*DUnrd$MzGATG|C-1fs+FoeU|zXr)k!&x|+Ftz=Pf*1O+84BRr5BY&GWQ-R7=d6T&AR^gTkSo^0H#{XjT*Y`l zWR&mLI}C8UFjkRf-i6`D;=S&|fFD^0nabH7KeXpv7>q$z*)9wwa#9teky`X=(k={V z(f3o~E)1~dgJA1G2o;|>mnHcWHz$gb+po{Fc(@BA6wl9M9Xr|wy~{;;3*YqVDyqf#c6PZds|x$zYKvw$9Q&qr zg0X9$Vp+esinLhcA~~#zg&qcu#*ST^m5XfACgLxyE;jx2Fu~Pkv9B5?*il{A7!xFn zj=ILWAbpLZ@_!PfarS4<&%jLJ#ygDHsYrPyRyU$Ko+Mj`7Z%j;jlk`r0=Kt{%3;-U zihWxbxP2AN5!EizVjU7gM^&->#lUgkjw=^AzD=azp6Znb&ONs-CaA#iY6|{xcST`W zw+SsS$%m20IWIFQ=DPbRx=D3eimq;ti#RgzI}Jkd{CF%?DSmaP>1pGxj?J(H+v+wN zsrwq;2_WxA_yrx)xs6ACAgQZ^hN}3?M%%l(Qm(eH4t8yq#n#2nV)n^)brEd|dsZ&D z%+k24V>#dKeXWI^&@B|Md{dOYK!=5o?}Qw%=1%AV8+6|r`e}6Og#0iYt)S;&_Mu3J zBjJ!AW;1krP(L)xo>aet+J4KG*;8ty1%gVjyG0{faaH+ji?^^0~^(N$D4Om z?sI6z+vi9!$)1FxVsl!$jC2`?E5+X~wHm`6Z=L6O$>NunS(b3eo6;i6r>9C%;F;-o zRtPsM#S>0pxZ~|qW%DV=67G0YT15Hjsge}l}8xv94~GfY7iiT<1>Aq^_8u9dBhiXvdp}P0>VzcD#9-GD|z&JZwb7f#Fs3bcW6a z64KUHjZo-L}p8RS8Xc<5tX#;=^e*nYJ84T12x-w-yx`|aNg>f!FU{}PaM;8+n4*|7T! zxE&T?_Zzc)2y6g*L0<#sRjWUyv!)eIg~#pFfmycX_{+n-q`f<+2=L~^u93Ot$it3e@i zn-LlI$FY9%6Z_-vGlyCmMeL7b>=ePUKaRzu&%ypUhQ!{C1cOLxuXxUtKi(h5%DImb zZP*{j_-QaIIQGXeel~E)UfLh$+2fW(`{RTbwItdf=hek>v_DR0Ea&UpXM6D|{6JFC z{y3Kv*dMpl;j}+)&>Y);_P9R|xsfkN)8Hr-pV+}Uo|(Fah1=2l=diK(b~F^vKS896 zS(H)u#J8hth9%fmx6#PAqX6;`&|U?l^G`hLtCns@p`j{1v(fh3(NZpsrRZAJ3A^^T zlC2Ak&Oc!qM2u%bqw`OCl%w-cA~~tD?jM>W)B6*A0`;5P*>D|||HG6{daOP{F7ojy zuF9uC<%A~?Iu3#oWl#*!#9f&X*9x0rexLCrR#-f?682G;9t^D*A+Zwi(~BKk@s;cB z50|=!d-&rh$MW}3>cWZpdw2(|`5yiho2lMq-;(&@vMlPk_Yz9!@!QiKPw=ecZGw|* zE7Xo;$MSlA;!Cn^LwH5~B!(mImG#SoTY`^g9pKD&f)*blpG$ma-S3yQDrNpiVxW&% z8exR^l?&Xl_QS#z$Ks`hE1z*4U7>7{{gV?!FnnT>!i{b=L|^p80!7alElfQT8a}Z= z6tX7diqGI1a`eQ))sBB+5j;8Jkb6JS1BHI9ANzrzW{ehZARS;O^aJtDzQBGgaUA4_ z>)pH`>d6T|$?bQfFdfDwY_ROyXtqNKA8z$O=pWM|iJ0x!!LiSFqfJ6j!>~_|?1YYu z<{~+sV}Gu)_o~^>vfem5xnmE-a8&#ZQop*I0cocH51ZMPujklSea63xy%jTX}K-vJ42rc zjr@ui5^&Vsp7V21Pw%vZLH|xmwhn9lotBJ1zkjDCBmbR8T`+$!cZ)CTP`HWFyPMH# zevCDx8ZTP*6eMTm;^JP2gOF8;_CJbNh8n#sM3)Po-)VU^=p2UD59v>)Z_#q&px~XB zqDm|uAoB9^!|}$Ta2S;W1v{sV@YI~>e_Gyg2K_^!C&or@N301q$wpCCltE*doafccEko-X_F zBuijWIOwwPY?fX2-Swhh_`GNlY04jDO()wWRer4LfHjXbmys5H{Gki}RFnP#{X=Oi zAb;j+VjO?qHS{g@@Me820+K8lA63t040nd`iu&v_?v?esggdMr=*F=s#G{buOE zm0bRe(PFt%e_CB!yqZIieZUU9=QwD2wL28XJ0QctwsAqvgM&Wv&ENoMx!_|52MpW6 z0sn0W2lxCq92~ri+E|L(7{cPvFce2yRWl(;H@^LHA~B`Xa{dQ{gZDuH1o}j1WO9%b z5^z)>fXwLz2QcUd2W%bI{NR8Q==XyIMh09c;!ZY^hd=7_H^l@&*p4=A(4g3kDMgPp=qB(>G)yf;r!lJ7PK<%+MlN!2hM;-m z)H#O42_xpu6Ewb{U!X|Q1^pr+DIezu8tb}5ks@7l4GGzz+8QvgfntcT3$C-pQl53Mg4pdr)P#Cys~~f!^|CC zeZZN&2zGw~5a+fdxKigI~Pc7}CeIL-bvv-|}tKJfIK z;-w-f@Z{u8;g)H3)-TiS_?bhknr3J0J;5-|&SJiv_%+20iM<)ge{aAvJ9}4b=gJ>X zv$JwULrte+nw{|vU{tJNnw{}af&0nJfi%tT*-eTIji%X!#wji|nr8RvVmX>-7n*4r zFSn3ul!mT0ifs-iKj?#Lc1OiD`)&@WY4-2kY-_&9X?EmBK81>ubCilLFJ`5@z}1<; zH2WKuSUgHMNcebv%5J2X_q zXEtggC|q}yb8#$%YZ2SE)9h?rXp1ckBE~bJEn&~f<(65R$VrtQb+IWjO|$#N;@NCh ze^Wr8un*$EB{HSl64k??Pan)?mkDu*%lK(F8!$dfDRX`wcyIo&q1c~gl|HH&wEJU( z#2@DG;XdX%N|^jOxKTJK{e6rB)_fmxhfO;l7~d@TK1Sxu7v4(wIezEcqASTtf|KkH zxFJ=&yuL2+CE2|pyrO;@!x8t&`gOuBA;p|IIP*uK#aDz+j2`FAS*Y|i#RyAyvH2c! zcXJKX7u|`XJQuoBnof(3pdlQCyJ!U8`~t%F$L$IR;qh6R2eGqOGb zX@TD+#HkppA}sJ@p*O+>ejd|KV1XYKwiK&a;ODW}>aN-<3yDW#HI1$NOy>oDtP}yw zr{967K6RswYP`VDyDIIC7WjR_Eodh=DmJI3PmnI-aHSaXfYlf-@cRd|uw=2JV+j}d zDJ`OWda5J^o|$fcr`X)oDGV3*O<)#db4$k(F7Q)YMEU8dk`(x?a#v=R!{?VPnOzRg zNl__D7KQfGa@Z~Ki@2}Q+*0pY;OFaIE+)Ld54ftztJBNwa$(I)yL-)L$kIeYaZQT! zG42{Zq0Mj8A+&3Ikz1hTluI`$5e45~&V5fg_e1GkzM(253)B4=<~T~gu)vQ4#%)A! zEbwD|9HJ&T7WhShd`Y#592sodn?&N}HU?HI3`^S>q}dABsx~fe^uq9I%%FkUOE|mjrfgi`;kDsu>kF5$q3;bCA3-_Ya z;=2M|3Zeym-oCm8pap)ctD7$#5E@p6>)g^z>WUd!;8&)D7WjGC6iq~EfuE--v$Vj^ z!$w3L7+ytBXXsoYA#Ghnt{C5n`%u<*T=R<-__6j02&YJITZKBK7^IxFi?6i6kHr8p zEoPtve$0Ssitl@9fuGQLtS*XafuC2bf&9XJGg{P#!uv&i2$f&dciZadNc+19$T?W-JU>;&qCVhu zD1b$M%=Q4V0X_@oRewQ%rm2w7l0Ei}xRsyr1LmG5lJ}#F9iB4dZVVqgk<752Nanxo zMDm9}4JVRkq0%m-ugVY>hlZg@sA?u8ney9y9+8+*X}MuxFp+#U=r=>32#vhM3kf*t zKF{eUl3~zKB(rr`^ApL8K);_zX5`?XP=@mtbGO_qgG?l|UN@1?GiyWLGXdXFrjv;Zv zi23sbjVFIEP^4(`_aY%FALj@f>$*gdB3*M03E8f4+)N~MO$HOm+2Yjna%D0%n)8t{}YKPS;W1v{$GZf+Ye3n94v6= zXF!X;y>58tqKRbS;XU;c5cC&ey0?eG~|SX?x~&4Uhk=QOGeDzC8<=* zaeO;2bQ8(nc+_+$ZX%f}ej<7ApO;J|pL7T&l24`YO0mVI+=467MDiKTav@lJ;AtZH zGLaN`a&nb$%S1Bkmx*Nj%%Rp^AhBMXv6}?LL^6x{dg6&>hQ!{CWXDG^k<8u|XS(vo z6UnR`(NF_hOe8aY2aJjpOe8aYA8;8u&_uFlj|WCHku0=mU_=wiUR^9l6Ujm|P2-5m zOeHj2Z4__85Bgvt*-q@*PGCxv3CqMPrc^x^TisP# zWg+ostfsMbpXofM%1RN?{5OvwsyVtxL^YmL^{z^Lqbb#WNixa)2S>%`v~=BH0ftDW zxb3%AV>qQcl37@?nEjMx38z$*7EwMuRgwbFOlK>b$3JZqhEu9{E1T0DOE{&fw21Q4 zQza?zS>>+GDu>T6S2DXCo|B?d+CqD2IqarXql&mfb4$HrO4Zl98b4fVaaEO9r~i1| zRb_74-KH)>mL?L4Yf_|-ao6w(ZGM{$p4O+tE*=tlPTg7fq?M_8pLi zBE4-D>WpHLa@H=s(v&KT0cKjvKvSyBfNF~G0BA~8Xgq2a#Wbbr6{{f7lqza=%~Pt( z#R(-kX-YLp3z||bW27lnf&KW>4^Z4;SZ*)VV|0Duy-aQ-73^hN6(lI_W%>`XC)sMi z#nJY<742mj^gCgh?pVUTOm*&NBIW0G;98kvfZO*nm5R*mMP#0(!Poo-@~Kjs?z{>2 zGKp%#H^8-xY(bk2pj<=9VJ9H{DERQz_Eli{CTe7 zNcnjk80sV$;Px6W6`9+M$UIAfulcOsqlOQ6-h?$Qstuo%cR`yDpt5R}s2~9abz;HSEB+hWY71&yNu1QWWqA0r%nf*hdHq+eZlew|#^# z>bdX{!cmClH|VP}gvFs@C_2z;CM22c-F^mc$TZc9O2!Rpk_m2=5x#kblqw^PYx7_@aJVIc-?hyjZTqRoeH01=6vvP59 zFT_E}szm$u`y;h8*4sjK@d+LwYz8`qp|u_T$@DE+ZUQKHgdnQK@&O_*bIs$8LE$lx zBLt!GC`m>nZh}QWLNL=^FHwh7GTpTgoblZ=Jwh`vT$1sQFF(d11mFAE>L!631%^|VSyWt#?$FvieLt;W9RxyX0^oB$I3y92J|>(g~!?I7|!u zme_g<=a5ck7M3iYaV+5+lF}l|r>9C%;F;;O%I3YVS)1V;(tniA2OUc|horQK^3zi# zDezh4uFNWj&o5UpyBwaAqEgyIduciB=8&R_xI%MFy<-l^*Sne_z#I~ARh3t#UwqM3 zWp3KtM=nFcIV7Zyao6xknC7?X5ZbkA&vFZtoO0h2xATz0*@@OO+`}x7 zgx%{A$rB_x$_o`J=r?cw}6hQ!{C z1cRwGWABRnT>0bm46K~nnrOp%2F728QNgjEf$`UXOD)oR2G1U66s>0vT9i?=p24e& zMox~rUvV<}vV*sfidz}AJf*wP?kJQLay_N-iPnWc%GZ>Yuk^Gu7Njd5b66a5iJK zm;xF?7A_Ki-`UBa6~{Ray1{eC{S96(ixtomLO;%o{XiHpMvF1dO6Uh7lFed2zT`N_ z57*4RA9}F@Pb)@K$ZtRo4m=xSwFFbho1p#sYNLk)>n=sLZ2`ELZEq5yDddrgpUhNh}!)3OcN|8&I|)=ti}@Jg>O4N$uv>;S#GT`qEi% z_%vTqMmDb<=+zZ3uCg3&$}2~j-L;9tVU>vP;k9EJW=D$o@7P!^Qj%NOjxUqkp|;~P z@#=9G<#&|ijw!90U9&PMbS8|NC{1}Ldxc(+FpP6c~gAk0=ZL7v>j19fmuvF zp7ySd_0EdrD6K^#r)Wumzft?0B!<6WG>>=Q2{g@>5`j@(zgHXbp7T0SClRgK_ATqz z>#8Q-SAOLvg<%#~k`ATlGf*V7&JGEU5snxJYlet6Ow-tM#IT*Vj3VU7OJ#nf))3Kl z)HK!}G3=xnBHH1a24Q9Nh?vF&m$7m47&>PYjV?d;O^Rj#zbC=(;;H${{CkLDW+ zj@@`m)7Xv1Z6BNXHeC1EaDA}k_*oqYQQ~>Iv(AUp`J9}NIW8(HJx=J6-JNTjH0P(| zM<5r*{{wyN_;XN)jf*fOp-@I^Q_P37-R6!*62cfoxo zxJAdP^jwensJXE~^M|R&pCMP-*PU$DJbcnLd9PnH4PakmLKPv$)*-{fUwpVC}$sei${5{96SzLW$}HG> zAGrXBrx?P8tP_@s3cl%sm&7|`r5V!2e932rkAIP*<$>;Jx4{d5v*oBQ?rpi-@@=-_ zCgZBH*#nHrY>Y#dL6XCb5CJ8$3$QuxJNTpZTxZSwHR$-^l$Y5tHmU5Gx+RH+}F%Zs$t$M(#l?gnhBAqVSE} z&yp5nS>?hFRSfE_Lv3&5E)}`EO~h2uBUMwZtH_l~;qR{08@ajE3z_VzD10L~WKE&} zU#n<)d#-pfLsgNvO8D0UBGf&<9`Hrf$zp_>uePj80pf{(l&&>CSvqiNsv=`Gw>6Od#= zGnX&Cg&UY+eP6S-y@eZBuO$0%D3Yvo!AfLP1b39feb>6f`$7-HND`muE!_7p3oHBv z)4`Ihg^sYzPQ%*ag2<%;Z{g5nB$qr?a;UA z`f>$AY<@1cKXbm&8|-a|T_b$&IP4Z+zQjW-eeWW`sLYvPXo;ppa;c^%+nqEXVfTF6 z4()599F{76FfeprUo#kZ0I;wRCU!u4<6*wQXZ|_@b3~2pAb}6Z#>Rf=4IM&o*xd>< zPi?w~{;_i^WM9jwm7&kl?KlT~5~&>e=guL;b)VRP|EaSZZ1@a)p%e6c=dH-DiSf&w zNj4d7n4cB8>&DOgSi$-`>?FYkTTIo!#(hpDx)o$9*X zVa3n<1;G$j#+C?%u(FthZsR_05M8qhZIq^!gmpPga##_^yd;?H01T7_6VerlPaMqb zi1uK5tk+;}K$0BH9saL0n4rhO+!)p*nE07*E*OHz*!F@Um@Fm%+qlnYqH9*6jncG| zVD1W&lA|TTWCviNB$$w{G<DXXXPP5X(b_D2$LMrQ&4{C6VT4tHguOn z6M`xqRCitl;=Y< zSxh3fai2a!*Q`PtrD-M6{0vD-YmcJIwxPQunh;c>;b^WuqFSx+;l$0M-{>5HUllWu z+`mTGo8vm`e2+5p1iF4KoJWR7T}Da_Hr-*{5SE`wR7*HHAlxAmr#b?(ix16-hcEO%_vqWWRvIO+ESaP9jx>l!IH*&j7t<==Oc6sSe+5z! z!-G4CR25Pj!$Ux?Da|4}0i+H^5~CA2hD7cZa(N70#N4i+p)Z-Q?NsO7Y;Me(4q}f8}Oh8eA?J`{*Vj)QGCu zqYzFM3A9JAC1--vt-4(H?MwN#3lvIL*!Jj2aaV8KBhz6+iQ4ukBr&SmqbI9`QkTo` zT}e9W(>QL9ZIrI_mqzJT(2EI}dw|QmFJIoCdk7n?4TY~#zpr;7kQSEQ8$qCsJ#vq+ zIQGarA*k3R_q-Mpd$Ht8J(^8Gro)C3 zwFxLBF{%>KlT`wm3&N8w_vX#-@q*x`UGCLg?j3t$d+s4(Nj4X5O4YvJff!m?a&JC? zI_$_j#^SIe_k^Irj@QXQJTiLQ9|3@ z&La(nS&5;vUx^rQQP~q%D!HkGii*D#Fr$K3JCpX?1*3(Bm+DsO6UBO%u-MQ*QCnwV zxNu?77ZE6OtX2_Ud;GmI&5OAn*kd#==CNMyl=r#ORxySV_(W9Doo1Bd3SdITUa)%T)a$Uga6Fe~41GXe`_!&oz zv3-OOkz?#&U=p25-$?{m8uJS+(X>b|)wC#b>|Pi-HVsQ9k(&Zo*bzBE>Vb)goS!vS zIX4zwC*OC^z83|QC^IY1_IJeL~J8xI*sulCw%J?f-6eFowj+HIg^ zVf*hWsR*Hb;UtJeb-Drr7YJ7%>cU7{G&JbBdl1Vllj*87`>2;*b zI9w^_;t>MsF+4-$ab{u3;zy1pJVQij5#`fUB`NUCv}lUW`A%VYhRC+eVr*XTSi&^EgYA@ib zDz8qbb-A$SrrnKp8L~8yP+XHDeT=(?PiXVobO`O*UgQ=iIpxw#N<_i8mvi4!&izn& zns2B|$-?w3hB=NBFq|R60pm6zIL;7Z{5(WWaGW6$1@a};CURu3X>SsVm)jUvsW2>U zV~}PmT&vo+xX}y4r!j*n{_2>ShTD4XeU+?!-*$ ziWxdXq)Z2$A>v_EG!daQL_AHIr87i4Y(&I?;Z^i>hRy{N($-bvit+8=T-H5Z^NY?9 zVeLOaI7NEfD%2UpAmyxGe5Er)SPU@JVg@=xgc(px(T=NubPlc1c!irNrgLb$Vig2B zLj*Ou<}*Z?ixWz8(itLATF@CHWsG!&h`cOcx$I})gycUoWK6RUF_x5Z%O0wKJS_Q?S?Z`Dkvt;F39ym^PfnT)Gq)L; z;0zJgZ+_wo5&X=d)($doh6rODz=+|)86qquZ4YONFeLV7Bp6Jk8QUu^bLEfE5Mkxq z)9(nQWT)Z!%Kozo5pX! zNglr>ILZEopom+`>#s5VdI+zm?@r=v+$-zHGR)jQmw6)|^yY6vOXGokOeT3p?fiv5 z$pZ}G^6$GL*zGHDdL7PYj1~`oMxSUII{eO_0IgW)IB5B|Gwzpv2g}fTM%nv;gbe+7 zCiVki$QUiIa8|-)=!i)6Jo|Bp;~+m=vU@-DGIU=kGpa|)x z`ZG30(lR7IW8=WhOdQ=A8=r1Y1b4>9)Nc9_ov{JQB&$u<(V{ap4BR(_*Q*r-SnlG| z5!O_A#>T$HlChv~9nE32Lx8dsK{u)$?sTHmwu~a=$V+8@q}CA8cGNW19x?2s86w)@ng(HI^oW?oQIpP&&)DD^`PU{C z&5hyrui zhNsE+9A|8JICg{1*bo}K(eRgX*F82|A6$HQM_UOusDn-(;J|q?qmP3(8W%ii7^j)m z=Q*b!_7j-N2;tA1e@nIesspJ|%IeqQ%K04Uq2|XAqiY^51c7z>H1@+!`V=edA2^@G zQE@)U64y7;`5b3a2Z2xX?*CusbBypV7cOqm`5e1~V_*0p9CSX1=MK;3I0W32z%3yd zl}_=f51xC#hVwa`E;*lr<3Obd&gU2sozF21LxYuRD-mbZ`5Y(0iAfv^I-di-@|mGu zAEjp!ph)eGI4^rRpTku`@8@&;WDBYipGN+CjtAk5!0vpGM?!c-{Vfuwjo=}?vcC3~ zfSKE0IQX^zocR-Am-9KcA!dB|!rE_PT}H;qVMetpDb8hJZaJ6XD(LdnNhf!}qm0qw zI?(77o!kNEvO7R4ZgL!SE`xKUWQ1ORa>uz4mKd$wXDXL^Ho^JHD3fmoIJpDW$iW^aI2IDHuVd`Me2={j6T#P0uLCcmUdPK+eBKtS*KygI_K~56>#6&t zef*Vy=)YapED$XA8EpOl-7|!nx!0jo%tyl;376ZtohL{O z?OX^A?O(fatj_F zw=<52w1@*@#k2TE7141!&Xwr6opTiXsjiB`<97Z|T8w2?4L4MAe{UUP-I6D_R7*wf zZWA$8M91xLvHD^lUigU?b=(eA0PH3D7h%Six~S;8(2g zYgV2>6*Zss#gH?}9tuU0wLYX9%{I8B9PYc;W8RmFzeSCX+j){%*v>ax9r)vRBJ&Mv zhYKRZH5|9Yv4C^x3W4Kx7)MBCT-tCq%k~n<$L$<9ibTi%m%fAN9JdfaXZD0qSYCgM z;dvoU2M%&@B5pcxkYVN)r!mF^XMPAUTI>von3aae`lS9CZI zT$d^(KM@i30~Y^M1=pn3JPzEzR;>(C-Lx3Sfn7Wr-FQ%I#MzT+b!C-Lp!orb;LV@k z-poAAwr~Dq*uMFb|F&=b+-6r|AJODvX$H~qp3b8wH`k`G$`Aw!pFu+#^jnjL8Um5F zZxM-wDy_@TG;r|d&-Fpy9Qs6PF^=DIG83C&s{ZBNsV1L(n{O>KsGjgc0-S32GiA z2luDOPUY*#sM-u%glG?=RyHBE2+WmAkB!gjP_g9gQROeuP- zL0^JjqG4(&I*n1qc47=nH*%4KGX%{er_M1XP8czNo}h8(e1RfGo%2OPQa;WRG}d*A zB1O998WOTy<+$nSIgz9@r;eT*5O_;EdZC$)-epMR=)Fy<=#KvLo1mkAlscrKqd%D7 zB%20jbVvVPhEEFN74;8Dyp4Nhy=yPP%pG?0(3_tQEseKq`igT=M-QjNj{a~6>W&`f zGe!$n#Hgc(C)pIp2?urbj=Qv@H;XHId)A-(Q;>LmhPP+E3PrL#3qSK^tlag+!S*bs zUrruWiucwreNV7G%hU6Jvl3Td!S<|>$(S=9VS5&+)BIW0d2N5$r}bo5t|tq`F%7#=`+p)uT^bp*4pWbv9~ z3Abk{EuwsSsw4%TnclB#zUdT(+p}I&HkUh=aC?^0BFaxsm88IDmAf*l96rBX$?S4? zPKruNvM98dmcwp)R>XaU=9YTL_AFoTDj)EQXRb3T;?-&YeO*=Nrrj-Z8L~7HzH3sX zk8#)V32lCx4xwG!i`)Vwr?TrNC8FTl%en6<=YA;N$Tw7_WMTS6hB=NBFl^7_fN>iU z9NV)P??wX<9NV*^K)$5fM2-wL?M))_avK9H6^5m44AN|cYgHQ;H+o_CG-go6Umerf zQ&li*&*FkfS+PBfW5C%VIJReb+!R)b*q+5ibeGBjw>^vF?`NzA(){AR%pCMXng%e(*Jvb-8PP(e^CX&LbX?-nI&LMlla?SiAU2+p|~< zaPGg9*R(y08Bk4TbR@#GJxgdjIuaUf&+>|uI@+FvnqBkuEau{b5}mX?D@qI6o>j(3 z+p`32xDi0ZjVDCoRn;j-f(hd=mNO3XpWE^LV{_mc<~cM9KX6Xf96gLE4ZOH&-V*uA z*E%Z$FR2dTXN3dLtY*pAJLy~!6p@|hXKn+}HMqT!Usknjoy4nBe_k~sK+{y<#?m~m z9dIf?+e^ZQH5~akQZF2&!9_yRE29vA=t~XOHs3TDtZhprQ-d}9%trw$E;|#7s4?li z^h_T!4q3bR7fS|fo}Pb&mAF}yV6YZ48FMmN162*yn0bG}Fj(`LksV+hC8_RoB5^7P zHCSVz)!|^xW7-J})|halSjAw?W3km;wN(}pkH%^mTbC~LD5n$w&96KVQC;6o0k;j- zysIj~zL{=7l1VlLj*87`>2lI#9Ih0*+v7c>!CL?EUb5KRv4n#)rA3raPnD#=Gt)_| z5N=kA{hh*auy&TRd7xtn2Wv`;C_g<_k^-Mq?#irk`22Duv&-Q*DJrEcw3n8{ZmK%hMu1;=9f@848@slE6oj!VytIC|&i;*rv!oeES$GB_wM92I#9YVV{?OASt zl2h4rlM+$z?d9C}lyg6np6(l}QnD~Tn_-Tl1O|gO4j8u)!7*54{Cs4c;25k$fqY4| zi5wYh+M7h;25a8Fx@ys2jdgYV zPJ37tu5%}5Qdi8-V699C4c0ttiY6j7So1VxmIiAcHX`D{@G5#bL+1hsY3nL-#rQUI zBFg#|*ZiWv8f)k05F)*873z#)e(b>7#a9}vu^8aoe<`nNu*M9irjo&$(Ao!UUa?X~ zgEiFbng?sl#R(&a0+-Vz4GO6*wAdv1i1s{ESCgJm@mZ z?UG=<>JNif)^F`T7t_Tr$%f$2@M~}#EarlPK3K21Db5$i-{E@ICq(8smg#nUv|bhG zLbFV`Ue(xv`5xD+G7)?|tyhJY(gpDF)6$hW=Q~c*UJOZ!qdQ>wUZ4P_X zoE>)gq-tf@v-FCe4K_5~!=6rfJUHx4I_+u6H_1LvCl33!{h9wASn(&4!)MsziQj5D z>{p55U8#BVcUj;|Q>?(Rt^SNI6wsf41iDX#Va>GTc#I>3X8alA_}3<~b!sDru?@qw zsl%Yx7&nBi903Y60n>?Wt-2WzxO_%pR2#vFiL-lXXCbZ%vY)20(?;vTR;yw?EFF3T zvXbLn@TNG#_AfFeH0 zuZrb(twofds3iqHsoa&5%i(XAD>=0sJ}ouxbKwAq$urXL9f{DIxM7nir|k=>4Byu* zB6)GTF9pS>#uyI!Z%Gx4KPLOChW%2hnyacHM}_4qC`uP-rTajs&~9uKW(GfW7EjeVMH~ES z`kOL1sY*M@BWJ5sX#g>8KvgO^rVZ{z=lZ?q+^QG3t$UH%rMlVCK5e2h>}F|5M&qYn zJLY%b_-z?($yon>smJ`@7Xr;CFj~KirP@8OUv9we=TLEcdB*x>hBgA!&8baaw0?Or z0t{(*NE)C>UjoSwDX@N-l|i=BaC^enuznd$3?Es)>=3M9=0hm#6|1#Nb$oULadR)) znoPs!%TFLne938j)Ben_23Gv`WTUpVU)9j3JNh|PIhEoLD56hmeATEsS<~~IS;@6a znWxg)*D{^b#$?PH6=yi=eULWTnHn?9zHPM5s{V{PO)+vMbdD3M>r2EVlXsZIy+@qq&;K)_ucoUE!2Q__Yp4WKHBm;g746xiS0>&Ix>D70gK%!8cb; z7aqa4mUG`*J@6Y)!dXzfI?dMT!SWjD*8SD*FbgXzk`pbY ztD4lXn8uDP6B{{i;HtvEpz%0Dn>ZrJJu1g$0g<~BDf|{~#Mq&&$~j`Ttphf=5OZu( z&SBUjdfU}zf7A6Brkvm8WItSG^2pj>$$;%sq%fnMg(w0$J3K1`h{_|;thA{+P&(py{%(w`7tCUUzOr~$G5lQJFaFLf@hZN zckB2zS~uc@PwNEEE+fnNBc`WYF|HY2IV7}`G|epeaTnEwyF}YFq?)a+bRF2*g#2#p zkXGn`*l*bmb0b4pe+E%T(pztM@Y4ERn)N|8^h1cm)mFML0g5C6|5A#eq}k^=s82Zc zo6FgNtug8PL^PT!#mt%3gCUA#xAa(MVJ)J3Y*v>M&LC6H;7zUErrWmJJolDO!stKT}JJcNe%qpsrObyVT*F6vBUn z!HrWqo{fGBwY);A9T2*QJ zB>h0(kLtWwwe@LsS1>qlCCM=)X3$nL-RAE5-Dp<$v^taXg`uBgSSjA{TVBCxxBR!B z^{X&jZ^DwzW<&KuSF*Ih`zKw?ajMz~a-&lXlm<6T!QT zok?-Rd4ugW<_0Y3_gYnsXmLGPaYfrs(~xm58;arv#n_+Atj?|YC8Ffp1Ratx`9}#| zr2c~f3GB|T_#lK=)c;4~ZQLvCjgtT~w{IwXNDB1k2^yB1Td@-{^T!pJ4x?a94x?BE zyFTi46bkHSj25qeMxW>~3b>H{6SU%W$3cftIAbM?AIpzIxgWw3iM9L8ei%|l&@r9IdQ|G>woYiMiqCA+^r6CaS2-8=roy#|?b;oGY+Y!JEe#^Z zGodYE&&uVNS(?cCkxKD57sS1VaBuf_n1;p<%=egvOaxy~X$UW)H1slZz3SmvgUiywHQip$ zzF3>mD?bRM7J zoRr5O_?dsgjz4Fu{NZ`?KGRUr9ZxsyZmK56Lj$L9&4ei_D? z#zVPbc>KZG2H-bN;qeD!Y{T&3@rRc+#ti|FKfD4>z~c`lJU|O{O!DpaiuJH`$fcN@>}@y8fu*@UC%S;EI3N{je7IaQJZ zACq3DZ0_NzCw%=0sc8@mtf;8W%@WpPtgW{nm$nmCsh@`$k}RD(m0Q31FBMkF>P=!I@j+-=T^PQZQYC9 zF4Zrd;nODab2m#vG8#V{E{z(l7j5+YBr%y~N1Ay2;jqH}(bMCP)80*cdHk^j?2bUi z`Ntm&jRw?htn%ZJT?xpTv}Z^fkP2xWNd8t5k3U!f43!2P!DkJRKhVUO?ea@ZsSAh1 zk3aA(rk|fj+}w-uW}l0`MV9zV!0%$h&-@Z##q`-mZLofn>1R{r&?b`eE&X-#Fn(YM zrM0K$*RYaC3aJ9!F@3Op_S;`h;fAW|s?U28Rln|=0S7M3hN>sZ3|qe_b?pPnj7foG=I zDVu|x!f^fQ8X+w_^fhQW|hO|mn)fF4$nzZDM=QE_R@0LtsjlJ zuh865?^r+T>s>At{4OT0Gb!TL>Bnces?1Hh`@PGMrHSxelOlbLyM|9_^V@U??b=@C z7AQHDT{kHa1>auIeNQ>}L+J~?p(-T{)4wvzag=~z{U`^F+lb&;Kg#&4$aKN6el!Z? zOR7!e$Y9gnBoZ&TF|bl$SlY%Q%~rTpwQ+Hy7luz`237pkF^xS{1;hGLE|`=R>qj{T zoE?H={iw%HVTFkGqfA71sT^?YM>+ofvV_e(Y*i3iKg#kyoP|#76_X z%|5KF+gun(Xjm1lb4xR+D`sf@XqgULKk8vqG!dcoqn@VB()v*k8xe6}cojXJp>u(R zv~?A^VthOGT$J@MuK7jlM_K#d5l)fbwhDDdF-SRU7hh@pD2oARTFgM}N0|ZD6ipH1 zT}(m?r-%pAW*@Iu1%cL&qGs2;ew4X5p~P8QKN_V4tsgC8r1hf$H{1xI;l>m0SK&0BE0O|FPNoUB8JXZ+OswDh#JiaAGlyC`$iTap7&}!kyo-s&r0wBdObm&=83_hc zX~y0aLtOdecQLVYZfl|q?_y&7Oc)g$?_y&7T;NiR^e!gP9%mH2i%DovM$x;Nyt-J9 z-o+#|mTRx|;ur9PK6n?C%L%-T=^2O9yO^f9A!m>8VnS}@ub)VP=O`7oSP4v3x&*^i z<*^r;9EzqYL-BlXM7r3LG76t~s*=sH1l#h>n%>0(ApbYHA&tG?n9hM7^;JvnVuFUM z_{>Jzrz%UiIF_Po5!j%;0Mi!BWz#xtQUVb99tmRXv}`G#7&?1KAF`Bdd8xJwZ; zYxhBIB-!Jro(CXXd=DH5ElpMa0pY^m;Z!AzSebvY%%2?}O;x_){tl-qjUAZpajKGu z;Ol9s5?)Gs;Tdx;Q}Ow$rz(BNMR!rvc~m^Pi<$&wau99C%;F;+g%I2F+VR#o+ zr;V@H+hVz63Gbqm7EykBsw4$ItK5}Y{6+Q64v5 ziV*Iin27FDIpFT1IQ}y9qPr-zDhS<0vHS~{qSIO**A)81cTwKH8phFG6zl3{2?!0V z!gcP%OzMgmx{E5)L3dFeHboN=x{LBOWtQ%uJZwb7f#Fs3bcW6a64KUHDAq4`QTUld zt-6b1?5l#|E{esZ?cpwpA+a|j!C)%Q*t_CrSN`}eij{L)6K%MQV*KkcDmd<<7(W=e z)FRzQdGx4XZ?yC@j3GMmF*aj)Z}yQr(& z-{D=9u>7?qDn5UMyC}E#D?G&d74kZN6xyV?Zb64D|C$$c z{L{u-EW1XcUS@&=V4tV{uQGlDM$Z!ZH|y&VkYs((m;_#4--_XWA-tk~aT)i@`u)P~ zdlFs~2fcX%S{klMK27Y>EPu{E7{YS_|A63hb0Q!Yrn9pdqs5;<0~(%h55Ke5IjD;q z2b~M(jQgc=?dR+#cu^F01+q5p?a+ZMx%?TU#d}WuX?1b&Y7RyADLe3i9QN%!&RO*gJ||9|0jYfvkfkB-1Nhm6KANM1CkqmH%ApEPQUp`oXhYn8S-X* zECETjHRiGeUS6Nd@D3roqW)AF_saTm;SLiAdh;>R(r`ucvovwyfFVqrRS1sM%5-)% zW3*TeT6^Na?`$0yENb`$2PKX(?(40G#NnAZNt`aI5C^X0@@I?|>pAsd;vf{+rtH8l z$3cnXrue)AYf7BbPg$LN32Y#w4DFJamK?y-xB&nXyn#jNWf7eJtr^TrgQ6I&>v^a)?v*b zXUqun`{Rrm+2=ZHGyKKeEjQyl$RB6SdX15>rc}F$mOTZ@S-H5l7vdmfRigcWK}LN0cN(yqM2uX1#o5;f-bztul z69i#9+OR=`Vmqc3J=UNT;g@KbT8d6%RI!~H1JjLMLhgltziZjLkNnjFkEj!LKFjJeT)*Nj+&cD<&VF~7@@ zhU*#iamMEAbKwoqamMEAvkK0%Uwu}G@QV7AB%Wju_saS|8D{SA>I2Tajs)-*0CCP- zl>M*;PKQ^Yf5E(T{?plf#;A1u;jjgsWbZ;wIOyu*0#efXyS*mO4bR{$E=Q8L8_tnh z-tf}w1cLGzC`D^0OkdMy!?S%#ZFq%YI2{bWm2EhG#*O3(L@TXx@C~VRg?`;!(0|DE z3mpACq5oLq1-wCo1iblgV(G=3P4~CqMMA&zQ?azz(SIQH+eKc$J4Hyqd&8sMZ{x+K|K{7MLnP3p}^LM(10tiZ_buPZ?6D0HDpkK`N*^aK0 zS>#3O4I(7q&9{rC*Pbm&=HH8@HyvFkv&f6mJ4Hyqd&jKZx7skwgvc)8h7A!TV7{VV=)k4cBFo6LC_U60Wu`a?4* z8~O2R*YE7l{83=V#HTI$1?CKnu4gqpf0CKL=a??EI^T9o{{r1#61)CeT}gnkmots$ zA-g(gUp0KlKL)?S*4CIYB#Qdilp-b6a6;?SCB_uNX#0E{Ay&DmRta$%kP%Lj%WAak z;4qZIC^CedEJ2ldx7zl1;Cjz7E`IO_8_#=X!+O{5wF%5J6p30~>R9emEPH4z5{JFC zq`>>s?o>9P{-d>dzf!ng?OA2>ImhyVV)?q(BFYcck^&!6?#je+_^@&%hnK@g*-iEw zATc?mHup}1*2FD;#uoE#Rfc0Ui%1?@`x3?4CfyhgyL;hk*Lm{t)h_jB)vn{T%s!A2 zeJ5xd>l50v+5v0}Ugi;PdhIi}`x1!ANwt4cTeSrf_~hEzcX^n%LkVqO?a$Pa+Y(LU z5}o(34aoT_AXlnH%8_rNs%FdBmS7c{$hqTVP{=Q}XE34Zx zd(nAzFFG&nMQ&a%ayN7=k_?E-aC65iOcOul%qo}oa(LARPn*PX&$yb;n~TV5x^^_{ zwMuc}Lx!RGz9D@55hC=hnG?Wg{)~RCRU6=IzuCVANjlzsh7NjjkcF3p@Org(2(aA6 zC%?3&KCE{0h>5E666m(c^3!rR8(2Z(adtPyAliD-)!X;Kw^nJ`4c}W@B zy!K_UuK4LMEXSMDmYUtQ-H5{~5#7UU`!URp6mx%WB^N2lt!oFCN$yaae4luAxr_2U zN^-~A5h7W9?S}~mrMbdfo||K+0m5z${pJeR+}&YE1LF%-bF9O_mn*^^j_@roOQH6x zokD9vS#PA(Q^LXc-K+{|)5g6t5d$m74;k?e5gH|+tYW;d$ z)#UriuNi2# zwMPs)X@-b)xTZl^89gGValxg-ZyrOvJLlrvKcQ%T0>96L-^F3BnXFXtzq#Wt#AYSf zRB`)nY(3rB(d|2%+d81hD832fy*qI2DE{eM=MvRt+)>Iay6#eR4vi@E54W37b{JzE z8iAj(FgHGdpHXo1NW1x>rt$Qa$StxoWUrZc6WU9f79I!G{F|c56Zz&F3Xa`)OVi9O z+hp4!8m@b6xIWmOka72W4%uySPieem9AUUDw)mt2e!NJPk&F!3~w>n2D0mNrEOvQws62v ze7des9FM0>XokIfy-@vAiZl!)b8qxYS~Vuk&%cE~U$sAtGQ+aOVXUQn#Nr;k)kc|f zkoTkQ%>LX=)Ld=Xq-J)B?w({%!`0^yAHQ*wp_hY@(Ycwg5n#Cg5t0Td(tkkmEe0D$ zSs7$24LE|2ciAO1J??r*3%n=8{+A_@Ipa~fCk!!+9s6~+N-t}?&!J%j3P zew2z(;2fa$&0MuK;=&==C)=OwRw{g8&VHAp*{?vu9sm#@Ixy!Vf|Kk* zcq8!g`rQoA3E>s>4If449&xX%@6IrD`%5`54ghCKkm^tJ(Oom zo~=%Ugl}+kU=HkNj20(>MxW@w9Jr9330iTg2$i{SbQe}LOp|u3S9jWvbR155mRC*?aSJZbWaoVvN!Yk{?GR)jz zhJZ7F3G8yDlDmAljK{JK#w0_20tuZVu$wVj+zlFiq6~ox*)KsW7CH{f5NE8n4C#6= z8UMgm6c^KlzE7vPUk4TD=STKu&MZDgU8|ENM`3h-BUlBl*yFeXbH{9YXJM$eF^ncX zN<*h+0L^Idf$gf(B4;?5b0~a=DSZliN+B}+n~!sNg3@(#dzSaZNQQ6JiqZCl4h!ns zzyb^ED)t^CT2L2?=gV-jR~+MbqXl(rh9%gR)a>X^0C|(#Q1v~g^A3;tz|n#_XsC+M zY_xqrT`3n2p+wgrwrdy0v2~#>wzU6`vhRSCqR9TAp4nXnSdr;o#^qcE6?Zu!g5eB@ z0TmPzdb)}^=Y*KEV#bIG14b0gXF9Xo=^63Nq8LyyW8m~KhyVM2E4-?nS@`|?^O>pc zm+RH5*wx)&F_tNA7A>pKH{0Tr&kxYDe$Fvnyg})^D2U{14JeJI@*7HdV-!sGBPbB| z(k@{b!SlFX8lyZXkf$5mDo3-lOB`_EJZ_ha9;olKT_O^6UA0TFGS@D7o`R3ca6_Hz z8;ad@Q0m(9`Mg1CQ}JS&B2(%Pw{Ob%XTkfXwzFlSmbtNHuy3k$d9zIOm=L$FDmMZA z`ppotVBfm7EZCn4TYPl1Zcv&l)qt&uK~%( z(&ZwhM$xDeX7&c0a=filx315!eGLmgH`ls%iMdE`6jQYKYaLWF=zT5v38MFNlfuEl z1aAKlcul6gPj%Mu%!(!meKQokFwl8EyYpf*erTRua-CM|5vB;%m03yaiD3~OXNv&u z0G|Xev!!mGU@y}{Fpts2j|&2aURs(U$fR-yi|7VdM5hHsbZS6;dFfvP`5mr^f;H~e zt4a^Bh-iow!wn^@tQh<9MRaq0mOE-#Oc^{>VlLC+n383FiR)-vM2}kZUPSvMIyNYx zX(jNQO#lBDQDz&P?BSq@Oa<=kW)X-+Ka0SiT4oVtKZ|%w{F6QbSNmB6LH_}05L+nu zlUc-T0;mu*Ge-3eP#*&o%_7JF-a^$acrD=dGgu_Tp|c1F;jo&YjcIM(p*vr!+5B{= z(7ac76J*T~bWbWrV@czLXgR$3#qQ$-5aJk=&EHviZ6=z(4@r-W-X7NcTXzgPWe^@q zPkOBSETSm~ZmbXP-s56#iwuXJF_~@Nxw{X~=7oA(K@tkwht80{=1LDviSl}?Ru3{B zwDgPhu=#~?0eoo(hf8#1T6LD#8s3Us%~Qp@h0c}4#^`J39}76C>;Zl?dQQ2U&?S|9 zWANPafduEM=atV_YCn47#08Y;VKmOIf2eULw*B@X5X9SqieU6{E4!LuY=zLQ8*uPs zygdkZS6YF~7IGA_J;*8dqtn{WslA)GE^`hF=f!qxowoySs1TYBbXsCN;E~E`+A+jY zh#jtAydAnnwO|XYck3TTR)-~pueB`AvFor~lM)R?S@p(YHnQt)Z;v{oIGL6sef(2}FIvE-+FzAK4Gv>;7~LgZOs$}pG0ff21U79-ky zX}KKN?fuumMLx)EvwHr+u}H)rOetQh#!gg<~hmx`pCOZ zq}>S31^a?WXupUQ96C63OP3g-*})^;kLD&inLEMz(E_}?E0?(w;CqR6`8Sxp43pI< zJ-a<7<(^dDMld~x5XjyDg&Y`vbHxhh@%Z~&<@udFA3Giye{&TLJn{J3=z;n!$KOPP zuB-7ktkep`bpg*)sJa!iaQtodZ5cPueaPr`%wXq402^A##z3hUg@_Z6!Cgj@i?p*rbtNBsZfeBR93C8gfwAAQC~> z&?W%V!EnDqhcz{MsCT4Hts$YLHdASBLsXZlrXhk}+n`Xp>X}KKY(td8&7x)X`DR-j z8zS;mogaOv#SPI>;;wW#`*rju#-Uxg0`Ubg$nBW8XSeQVIurgxEH>g$#veAzCE9tPf* zgS>3_DFMjCck-VS#~RI-?GiQ}^u{Q>Y?mdg~ozC$jBBUjz$})c-bzb2BbR`&wUw<1;N?NL+ZY4_b!sW0!}4~ zU$z@aQ5*Lt2Am4syO_M9I`4PI6TfVC07;BaPZGauH;|&j4=Dzm3LabElq2eckE$=^ znEGJ%vRxXhDo-qa7UW^s!F6A@8;~gH1;vNODK-Kcj)dEXylR73UbZ`W2^;nCw+6Kc zQn)=OqY9OeNUP9=AyjcU22o&`N#LgkeA%v#$AIznJY#^n)8?OiePV@o=lQ5ryKBB| zmocd};AOj%g<2Zu`Kh>@Gzm#1=l)-cXenyIzZF-i2Tn?X`*OyXN*cy#4%fS+C78$c zn~%&T=Oc5a`S7hgAHMZUm%rh|CTHgc76&I8JF6~?s;(8SZn3tBQP+E5FzH~KJHcQv z=;i%t$D!-Z?`69)p!XdVoL}uA=u?0Ou|bzVS?%~r02QLXi&4D;)bBt=s~zM3Z=ni9 za4cZ81GRxB8rF{8%#vFNmfT)DR+O`I=s4eA zre6t1`j#NlkATfu-?NN|m$I`PxS&$#7*)z{apzlFffv@7kbXlk&pGm~%x0~QYaKc9 zZ0tL(bFl0yth5hPa4*X>aWm!Z0b$#%E zOS9huHM5bu*l0`oC>^|ad>4|a`gx_r-tu~~*Bs~30p|}PiE{o_AN)&w@b9IWO%2YY zo5Ka!{-4|63_j-9ku+#dQka&K*tg0Zscc?DHq)GYs||sI(Xo&F)(FiJ+?*!}3TSGG zgK+`w)&^5bG-wy*%Dqy&BbYgL+#bqcuJEVbPsd$0R{`i-mr;abp!0`@pXx=%&kc?B z!t3`?GcD8-EHrA_r#W1)QR6Ru&4vdr=IZ2X8ggma#+SL6NywZ&(=<#s7`Y!L)p z?~v}$IQLnI%js@uJd*P3>0TtrPvFeH^}%fcn2k%o(l5m2ELgJfkat`?G<@0T;tm`g z#{@YXP(!Ds(%yJ4WiS^gghKYUlW}YyV_*%P%2;MTxaH=9Td{HRO;AF)#%QGwtW|M{ z>{?{xgDHsIRUDkwEB$H_TwlKLf}lF)f2KvKj{3o#%&>bK;qro{&ZK+XkEq{bV_>3OL^^?WCOSG21_so{-)!m-r+qE>mPB zg&xzbx6i3Tr27J!{mCgh#S9eMzjBns8?j$I*jSbLO$al>4Do**;ut0VF@%N0KU+jl zRKJ!^5=NU3Dpark5#lIcam@`u$q(`&Q*GG#eObGwSFpn;y_xx*^|N*G4YIoSnLR(T z79MCZ17sM&;f{p;!-q7$tjLS~` z)tdND5Dx=Gx|M__rJ(HZzggmU1LA!`h5b25+(azE(LO$)J3FLn2c2&Y+HaE%4h9FH z+bt;Nz*R}_h~QdEcZa2<;0J=N1fF=PKKPLa`_J#zZ7()xe!p`0Meqg+eyN||-vY34o%-VUhM;Lt4JB!d87*wPmAtue@N91( zOCdYZw!!W11qIu;hE8R)Hy%M5Xw8f{*%&8dRv=?Y4V?!1h(==`O;B*B1+ykAcys{H z?cr|UA;fW&RQYzcIJh~tmArkI5EpMHZ{I7x>AbN0pa7gVkdYdgu_&CB&*kGJ|Ka<6ho57THj-zv9*FE~o_d5QdKOf}!t z<4OU9IJUgauUPtk^!1Q5cgy^p9y4UgC8=Bo72N#j1ETr;9;bYapaM?rgwHV%-#n;? zl6>6bR&PZioB4$$Sur5_qQ~D!LMi(=FExK{Z865k!5XRnwxssoYH(>ADVkP zIGjDe@HS*&eE#;rzxzgZ4~_$KufunZ!X{K?I77+WDUyWNV*-7JUQmB)a~ z?r{`yliDfwH>ty$<>tGs<@VM1E{(%PLi_MSTchg{*I&X}(7rK{m5C6nz%8bDVB0EI zXZu=;-v)72nFP$DkkmffNT@nuzmODd-yUQ|d9utwu<~MFnJ}n*r_P;3dx4fiPy1eF zp06&}x9{D%%~inmJ+vn=fM2g8Xk&o9 zk7T`W3jtJ!+9pQz4p6%S<(qjt<3JAZ7OF4=hu^a6qb7RB!IhluPI3!(@m(iV^uF$) z!HDbLE~vCV3sUz`^(%yCdjcm%uI`}~s2mDhw!fp0y5|}rU-zO7BAjQI+kZD3L|&9u zw!OjLM{dVkiWh?}XtJmJ)bh5+9s?MgSQq|e&HYs8Yli68+ z0CM3C@gFNLM}{=Jo%IXF;JM}NggvR`sOOcRAehwNK5k(GWx5EY=+1g?+-d^G76;i` zPnhnk|0)VydG-Q&D}-j>0w+gqXFW`){0?09qoa_W^-fuxkf{Ic#WP@52lec>)>dDqd&9*a-idA!HM=z;n!_gD}Kx~}$Ez{;RA z-?m#)@jQj9Yt^GY7OOD>Np5cdf+<}dg~w3Opp^NPy#dap*cN-l$U$9$NF;xD;vS!A z7X`sKax@R;%$3sV%>FC?n%hsxPYXDyEG3IF0eDXNbAkuP;JM`y!d^o?ue=|@q>h^h z$V~@BN|l2PDfQ~bFad{&Oy6;UAnrJxi34K{jja%xy#SmXxsC&NSKgviUv(7HaX96^ zl?VrIu7*f6MccHQD#LP(%!$l@h0tsv;9x-f`c1f^(igZaa}?4{xlDTlwCAedOwES% zT2MW^Jxd>dCgAjScrbHgJ~UI`y1d5C)NjhuU6ul+<#cq?OckAZaWiG~Kz*0Z6p^6o zs+oe7xn|1q6soC=)^J44l-&iU9oZ^aRa6JKN5sa!Y6ZKF?8q2Ax4fUQCzTxayz+R0 zNgYQjDASW6MLRM#)ASWsB7`uFkR8DhMhNs)2+cZylOq=)Frl&!aM^B-LL$T|n_q-< z+>&&1jo1uG@04f4)`JLhd5^tJhXdw))bWo5fTXf%41O@dDBpn1FjrX~32}olUi9AT zc+9C`{&d{y<_CTiJAUq~=Lx+#Z^rtz_g2qSdviYX7qKg)5--eoyy3}`hxu}`gPsP& z%C7T7V&~`h_twjx=V}2Ym3N{H%b@3Rfx z#)T4%*{5RzCNlpOLbHE5@o}pLS5#i10n;6Y#H?F^@dngs)jGaOI(a+81nK`IdTxUV zbNQpaO#cp;FT##r69AIRKVtCjiFq&pV8(1da1;B~q7pE$RB%H`0GyHF3%H|6cD=yB zl&;X|^Wp98&BWoo#BIgS*YPQOU$RTwNmZ5WA&i>p$9QgJc9-0TNqb{Gj(23T&Fw7( z?Amk-T^N~F?DBbT*JjL~{ttI`vZEYrZe&I^PkIGw8J=ENWLhGij3@ndNY^Xjy%}*%rr<8TtHzVK&G)ri%w6e~7|Q z9*9I~$WC7r&-N&o>{n38fnFGk3_Oo};Zv38eDd^!Tjjt5k>@&|xED5hpuWpqm`Kod z)eFN)ZMV50+wqzR_jP_d;{~T7R4BqFo z&EGq^&0F$@$Lbp+n02wwG(BxE*xTamZ`)qS?+wEZF2B}`zIpOfKwfb7=Q;wCZIXY9 zlo~}lB{1B8&6a+8s{JSng4G&*ZnP3@*>`21y&7!Uw-rp5UH!{Mk}7Up;?RXQ2jOFY z%w)NJoblH)629%{g#J3q`s*_B*F3nyxbG@^nf^>?xq@gvFUb9)$)BVOB$eL0f!T!-31zauhPw zcFO%ww|1=UpOJ*~Vmrp=?SLC9gl3&iOKb-`QaOuu?B*!M4p%VV4jpp)XC&JPnY}=x zgs*)K*(Bup@bl-sgFBr+t-sdXu=>X_l#uwMh?lK$}T}@ z$-X)1o84?ChkfPL*8{I$qm|EurGMf*3UZK55O`vaKxZZpG9&VpKNe< zo7^&Yl6zXx&95?dlEb?#ahW>--i#`e=KnRBw!BeR#(zfU)U`dkHOubaq|$($nXTC9 zoBaU_gqIB7d2bBo@!)+O<=KQhy|5n>bTWA7{W_e-gLk6`>bo4g6A8Mm2Jf&kXs5B# z?|BMUH}H&}pzKIZwMSRm(PHm>b@Z1?x*~+pF&#_U%aq%i3~Xr!FQxNHHz-BKv#*33|tpQfZxFp-bou6g}K2TpmdLYI8bx+f{4Lm(D z3SV;M#ItM$zU*K}fycmJ31LQq|rz-J`5Ec@@=@2FVRKdWvLRdcEM#nqzAqmCL zv2Y$=_jaz1jb;G$jT$$=Y+D9ak^ zruyLS#nromnlX`m(%Y8wWjfv+*fS(i^$QgbBPZ1>=j8$C!Xb%rR_cSZ`ru`X`%27N zk6sKHWM7J690N~H{5voQo)RctH844anJF3luxlW`KaMP?Iad!2m0c10dt{B!9Klw3 zf}pUrw(h6W$+6(hJReQgmT}-{Yi$6!(q#bQ7U;RQxOu(OzrMJAJ@DjEbIz)pgW^bY zxT!%f<#Bfw57P3=@!f54h?zX!{ejFNLl4vkKOBHri365LLtM^+X~h+qeKet>$eqc| zM$^O~g8o%Qr}6t_aSUZJ7daVM1Tvngp;H;p%m??}d~h!mu_9hmyI%~!8s;y%DB&`? z!e4c8TCeceBe>r@Q{7_;KZwH){tQXtkP5U1xCp#o=+NWja5}WpM znIbDG^w6gG}uDII6P5Y!I-iXDfeZqcFiP*I7VMdrC#-@EDep6y>+V`-K z7@PKi2#V_0Qb`(tKzM-rBg9d@mPm6$Q1XM=4ai@6wV{XfT}C_ZxTR~NUCdTl%0{7V z+INqjwC6VM)8e7RokE1XPQ~%WoA&F;_e+B9vT5JT334)^p(h)|dbsw62SuOt0Q48K z-gb1=9&g$Y=+Hx_hPaO-jyLTG3fH9%E_L~dH|+;>!$Id;0dCr7X(ulO5 z9L^|I@5R3yRcA@KY5$z6Sl8JsHb$$rPYXDy90pD`L-v0Wd{hjU{a?afLoNHi2qv`} zjn!MoO;3T8>M3^lK#emqd%t=Mf_T;RTCn)YlGR%nTOl-?Y{lhPZ((=ke&DiO9fho# zI^}-VG+ezkw-()|{eg?fh)Xu@KO`xR_Hffakd+G|Sa0ZUv7-mJjkh{$H|<{vjN7zN z2~|hzmN??OLT6Y}o-A_^ZrT@V@-{lzw4cGwnoav(3ly97eZRhk4p?)W_I&{$YT^Re z79|%J0Ls5YXtpD8a^wmCp-|ZuxNLVvAqC(f(icFqY)w!5o!e(gRf~6S_kkocw8GA9 zT&91*-z?E4uUP$)Eh^c${n?`SJlwfWhP5EX$GGg=UQYlUUQrtS3WP>hu>m+7RTiW1*ePsSg8M*yIR6`Ex(qbRl1VFkH!bhRQn%?nHEvKnX zkWf;askHXiNnNU%TPM(KZ-G#|>X}KK?5&d=ZWb-8&o|rRc$yP?cO28=z!*bgD}-kM22PG##{s)5 zFVm^dI|}JIoO0hvggtlAOwl%NrV6lJBXc72Um-MW1P%todmQ14N(H#Ar=yT&%4OOc zpgmXpX6kKNuLae!+o|;N`vOkShX*s)@uQjg!sRt?rv9NkPmpJ>qmyRpXLlYqQ$`Qe zciBu43A(PDDOj0nraVuf`ZUHGIP4}K-K{-a7OjFzyWQGb!;$I>w_AI344zw-?*d9J z=cwnE*C3eGadd(*-2+mz^KvU%zS2tPMVLm#8sG?{0(vWiW@`f{M=mO0LS-ay*#?e6 zqQWVw8x=Mz8_sC#oG9$7vEiIX?sy&~lI(phH$Zb%W5=_D`Mg@DeSUN8iVJRZy}h}vA;o?P6D~#bnKTqo#lAUi>rO=@3G(r{SCbp zLbIcRtMxZbsGJ5|cA}#Yf4gPG`S}}LaObQf3!+}5+k(5FNJ{w)6Mp2xJJ@fw`>=Bp zEChAFkAFYn_VM0^aX${(Rp=^j`!}BZ9Njc{K`=3x&>a(WYSeMKeyh9vvKHX`VX;K< z=j-WtI>)$j8IZ0BQUzYSiU-!_=v5EW?Ssst;cv9ItQNvTBXIML#1E;~^+H%)>-wQqGO0x) zLL9aGYTdHC6AFi>ZSC;tJm=L95+#(khX&@W@B@lB38#FW4TdWC;Nn3d%dix(w}#kq z`Xo`3Ly8xYgq+!Xj^xvT@#i54Cd z<(0*u16@(tdbiMuwmjbt9CuX_;bY7-bn2$7Yh);H(tP-?4fq0+CI>75_?G(Ach;xA zzxal)sDY3Ni*FN5KdNJ%b`E15QTTHX{yr*z!r!QMr-*%1-_#Rt*AP&s61-nS zpw(8XeyX8jrB{OA@&rNlf6wD+X^^o*mR`^_1t2_D?;F$r-XnyY%&LQ$9TLrDU_gs~ z6D0lbm%Cf~myA}0EMXw&%gdnA>W4l>j+T!SC0WvvFvu0Wl$ABebPU2Ypac>&VkUHz zc5>i2Pw*Hx_a zPvB1FUbO^qMlevuU25xUmJL+IKuVcd@q*pzV{9;-6w=6uhtFmW_h;ai?S(lI#i+<=i#dUpW=L zM{=lAn_FFlZkhNgO}uLvv5|g+K{vgWePKDUYuN=Dmfmh#$+SqhrMH+p zJs+OVzH_v>r8lY}2Xzf{@g|Sv0g%qcTtK12nmRqy7p**+2MHy$nM#cZmFo8TRP?1% z&7fYpghuU(n`v=iF_tNA7A>pKH{0Tr&sWrJap#z?8td-vy$cRdH9fnbG?L1TD4y?8 zFxh>ekORvsZ@Ke$nFUHL&oa=L&2n_I%<`-|kC$1D9;okfnT1Hub+ya_E499GHQ4hM zeEim34UU&0-x90SFCa~`>y{#2{ujIy`LXr2YIc<*w-ou3w10)pZ83UQ*MCxO7C=&2 z6_rWBbIL0ayk-oZTRyiQ^}O<(O6^+`-l>4xbOT7Kx-9uHu{G7-!vaCP6!{CBGsst; zF*LS9XjXtwL`eMT1?;X=fXkX3g)Bun<$evKi={|51-b~bC`70M6Pf=Cp;>`?2~{Pf$Ks@1FIfa21^nN%_usyYuYekHPu!G&zwVOC;1{qDW0=gf9=B=Ph+kfOrJ z6a!8LA70#*0%4}S)WQjjr{CiOoqIcyc={bkQQ;>P15O2>Qs0!*>Vwa$FXWv1;PZ

    MTCzr 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�g*=tn)S>pLz3E_Uxp)v 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�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�E=O>N&x_u9wA_36Y0$ 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

    &hcNA=f&tG^yx{mtO&Zw*)fX>j$Q4OjogaP?mX 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�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≤NEWii;lxf3xD^Uxxp?;^O-b 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

    vJx@r-%Oq`K91b@bKr6 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�ZofHscEb)FPgM8(?V3=$P4`n_6wqsPLfEHsxQA$Qf5U)irjxI zx3@34=W=}{v{S2bMUNZ2)0%NbFS+;~Kul(>*FE_`PwpWT&6HLR{-tT2)S5vfOEkl)*1}r>RUV;0T?jQBjaE&Qn!5i+M<} z)T-@AzHK71%2Mk18{M>(su^ga%)fi-2~$66P}VVC${DO<`CgNsP%zeU9j?q|Ns_to z3AARXpIPQMg8ot{kLD!3&OM}NrMh@ikpd^_0-NbL)0WRY~WSgQBUFz0F>;Q#YB+gQDuylJOtAxYCgu!9L-#tQM zAl?R#s%}^!FY*N?riCSDhY1ga2_N_byo!jjG_*WQQ1!V!^>9p0Ob!_sSiNLUOj>v5k&%ut7WR6{s9On5p>7#${@8YY|& zCQJ+yCWi_4_yjd)tL)}{-j~y2y%Z*#5hk4N6I6A_uxcgu2$8iGmA7+<7g2K8Fj@1o z&Py@q3Fk}aN0u@5tDcx4d?($#NT~iC%crR7%ffN42@|dl6Li1{XpLAhfCMN-mN)w_ zCEHp{<`0@BANzVWbM3-~S8|5{S^5JdHwlmfDK`(13j>Yhb3a8b{7+%RogP8PL}SKV zeQKa_z3EX+5#xT+CgLH?uXbXZ;NfAykTBsGj}VOau17VR%fp1}VZxj+;lVKBL!Y1~ zZDe_rVB!mXYQUIFd}_cbwI0=Eba|Mt#v^EFqlS6HrxG)fM|f02I3-MYCQKL;Cd>*G z#)S!!!i35&;a;DhmTH~dQZM*&TC9JC31@~0^L>J>`3Gs|Sb_ktV|*3r%+5a;r6oNL2`8^VOIrRxwKs@2lYBtY3l z%Ms{0KJm3^r1s&WDtU+O-fS?QLXrMm~fXz2zDK}`P4uwdCQ}ks><_| zjuiE{8I^#mYhUc1VL7_D8}8-Jnsyy2x#)U=)LJRv0-Qv?sErb>U`rTe~;HE&zS&DuO6Q%zcq=L^}( zapC+mwACWqXE@Z~>LlJ}D(+!9f^i8K_pl~fQ(bqKKMqiPN@Ai=+^uVg^1M7~V%{D@ z_g(#*%i_k5@5|_l#w(qw&}yCN6(wMeYFQzPyw6s7U0{Z(lZ7Bj(<-K7r-j9;g%GBm z9isaAPD+VnLrpNbNdmsiBq45di&@R-`c`D{{f6tj-+5^kCLoC?@Sb14;j^UIV9@0M zd!IEyVok=q)Q|e6M3A)Fu)@2ZE>)e`o9 zHRNqWMBicb_sZ< zIIIeu77$d*Y@zUGl+W=*3}Jys2>51?gG2Fp{4Gp4EKE2eOc)#{92F+~Jxn+@OpwiB z-2;#U^%xqK7#=2!3=_tL31Vwi>Mhz!I~37pd6n+zEq6=%NvfqCMFkJNRjZYD3KMn? z6H3B_u3-~AwG(}c zMVfi-Q=-y>cg^wX=135s@7mC(ch`S+6?%{6KD}ovA1~e7$9uICoLx$vL`T8dnEUkZ zs%7e{bt(M<_pZzk)mLjYgS;0LE|g6$=^%qqbg=WH1e#pm1F}R5^7j_L?41QQ4is`$ zjoOI47(r#-r0y8Y6meI{uiQL^hSgnUxk(r3^!lnRit>OO^+(AK)ff$>;ndW1!YcRi z9V(#mG+BB|LNo3}eiO{3_-Nm=WXa~Ul)6-AV`1ufGGchtK%dh0BAE$iWi68(@2spV zWyd=!You>X@=b21rc(pcv%W*qStdedIyD$Udp$`!kiv*`7cpvdlIO_=)m$qMD#-|+ z!ALuHg1q|8_cI`yyzPWc&iOt^()T$R`J7Ok6+R~v=W3rLJ|WrA${gi2p+bqIR5{W< zNH{gC*dkxA6i@s|HLOlIRnREchhhbCbL*yAxB0Aa8AeOygdfP}-Sp)$+)H^Fx8|x? zT0o%XTqoHi)kx@kvRWda!N@$GT_g7v?#rR`F;FsgoHHy(ZZL>hm=6#E32;` zb@3VK2Ymg?pXo>4>7F!xf`*qVPTyWEhRW+)LF&YxzVuz|)rs4~4iI~YA8EuxJ&|B< zcDqNdj1*ml4Di~uv}m8KsqN<_4Saly(h!XU1=|B-X2=`K7wu~wZg{89lg$alI z))q`^QjAK5Qgj25o4PfiCyL$Dt96AMN8}4k8iHWPEsG4eohAOm@(y43nMa>ByH=ak`EALQ(!9o5_iv z>HNcgyXXm<5e=AbfRx~Cl;D(*>CW_W4@RKAt+VKqf!ec{hLdCU`c)o@oaL!H1*)vU zBOb6Kx8tYr9`dlKfceRCAv(``6|{gA7KhUcIaMTbww1r=9Aw#|Ue8J*CcOLBxSFU zB5NnMI@h|Fauw}%b(##Q5UDZiK$xsj9eYEnQt=AXrzk#+_|ynW79lph>#oka0n;V= zFh-f7V(lLR^CZPP9}N1*it~8A0jDUw2W6@he}&3sD*o-Gz|p!ysW49a4rA+hh~P^Q zUV&GO_H04j{sJP zsw?eFtcchwVmlBME^p<6^(O5?=9%0C&&^F7NE)%E1bNbGVkl|El5&$6RGOgra#6p> zR0Mh8Ug8`I3&sOM6H6H+mXsjnk~fkj*b@xi!yvH)8A%>un0%fzV&x+DE8pjc_6e7g*6nafz{` z#k{Ai7*jPDd$#-?E$vlV7R9!uNXptHAel?ajz*Ft0RPwkzhRKiGT;*zey4Py#d9UB z98?jCnAqoWn1Wc6SXE<4SVsYqA$d3ul~W6I#%4`R<5sQg4%*o+EhRDJEn-^QyuO39 zAH}Q6nEZjAUtk{&78<{~x*~G{GZolF!UPKh9YL0OvGSYR%yxj#%;tbvV~t@Ra6v+? z#~jbK4mRZdhAEY$oNJxtQb#M5CBdbsv91b4)i`@9>MmssK??5G4oLoyCXF#*%#o;* zDRQQl&t?b(GC4vr37T=*%f`Sik3L}x&J(!|W9(!w-fs*506qstBwS>%;lbpP^6suIm+EI9o!0VTad;} zQ#lhPXrU4PLjXZi+Hz*$m6s$;;4%e@dXHo9nFsC>F88WH`d5Nc z1%_vZK#9%=T}|PZh(`h8s~mIP*%Ofm=O1iU9!BTv%iQD2KhiW^+P=mrGUVJdjX$x% zYOF6=?YMH@He^vht$#`XB9j2@| zLTs;$bbyrgP?+tOm5zfeWhDd2rmMmP}&K6`}js#hw(nB_7q zaW%!8l0yGIX7{I)oL!pMSnamwhF_9iw^<=uJV4~wj&|&5%jcRh4WHZ z*`${o?9dXTC+A?t_mYDh-%Ad50$%b-UZ7?_&RfqGd#Tm-7>9{{hE=?E;`5eC^)0M` z^aNnZ#a^sfLy(@c2l~e4meVuJv#BHxPHD88>z%-PgfIkpML#&)Agk!L;t2O_a2 zvLxo|R+T?kzWN_6T0-eRTGDK)j-3KM+rI#t@jyRbn{Hly6}8P}?nP6)ZLViH;GW@t z({Pa$*22?~MBVC9*=u4vw^~)M3DobJn4i>|n4i>|n4i>|m`Up8%_pTPv<#%sGLS;c zKng7bDYVoShNy`mkuKwH4(95QCV=_>ddvfPzHQa(xLL;_DAh3&h@^`nn0ab$5Z72s zt$p%N8wxuubmMT2A#ypZasnOD0eK8Ws-|)7a+fPCGn=X#DnNV2rO6~_h1Ghdo6Uh` za!xU7#PVtF17{bvx1?iOVLe&p#jyi?TlkVGoUJUfRX?#2@AIPDt9gyMW$wA)h-|#2 zG-#wd+i${!feI*$bq7Ob3uDrptKOUgy-QuaHv>^)479%kM-RoUI=dP|_qjsvxQ*6%b&iCYUn>b6* z25PJt)7Ru4A7ghAiEyw|>@_*6j{_5DW=Zx?jJLaqHxUFCIf<;4wLYLCkCJ;BNsd%1`5{FDy7tr+?|47=vB@N6-im^Fci2~10Xq{ntXf$hN}M_ zSgloveg?J*iN{-++??%+FBb9ZaZg!4qO9&k?eTvYagIQ$ePus^z?ja%P7c*1lP+V)x_Sh-wwtyj;vT%o)I$B3Y%Ib_VxtI9U;fCLr3{39PFS-}H z3C2%Zg&|^DN&Xeqp#e>lEZY&Tm$GID$nUBGEj7D+#cF`5V_X3&ON%_fRLE~?k=1Es ziZMx(jww>mB;xFc8}-H{^8=;ZhS6PqEg03-)d9Aw6RNZnw+TIq#r~GJB^Jw8{v%AC z{HF3_B@?Lgwk*JrCVrhglbGTtBN^(MQr5$PY81(1j3fu&ly!569e>}jIbPEZGJ2R{ zMnHO)^gM6PJiGil^UMt~PcoEeB>E8sJojos(FyTd83oZULag}4yjmGov2p(xcuU>}6oox{N!# z*cod>o>INS+K30&-rDd7Gu}3rZ<}bg+UCmIaD{ck%~0TFC=fYgJ>-{ZP0Uxc zCT0|^*pwnouw~4T-!c%trN-ytV?67z(K{Iquqr3uU;OzA;+no(_)5o4YtT4pn99urQF{!dL+qDqE=aS#<}id#$VYX&}PS z8E8KTjvjJdHR^f@z2OQ)H@Mc{CZ9suWUx5U7(Bds5$ZG&IR}`v6{N*A7%lJ$!SObj zgA*WrFh967;6CU15}hgOKl@MBew>IOZv@k4>xJ}$`kt*v-tjGxHd|*usd?TCm{#U?z_PRtceehU z+Q0P-)&jvo1Cp@^b_uEJ=9O6ti4e)?j?@x&el0vrL3+Ywl`bn z0LR&SMz7$`#-&$C&vOy;?D8{a>%lzBYRQ!hY|e8v-2?;^ z!B_(x5M|~oxeXGKi6r<>RGO)mfmsg)<3y^) zJ_#}0NmeZwF5UzT7w-r>QuQq#MD_Z_nCCzs!q3^sZakh@NS6GunZ7X3G1+Ls&)%zqi9DH2oqI8R~*u#^>C z{L5}cf1@;g13=Yh?g20g_5hU4X9|jOA3(9ptpJG<+zL=Z?gS{7xf#GHX`2Bm$lgV< z%<%=!i-D=#FPA90 z&_T_`jw_zuKn3>%BV}13c1|bb0L{Uuwc3f$(}83~him?Kz^Ju8(}ZA6_Y$F?!E5o( zjGMzuV^ciM*tJ$&h8FRlp=+&7Ba2WrBO|SpH9k=6ZlL7nnqsrJNm+-6*bP20dpGQ* zQr77Kc5B4WahnA@CADrXFs+8Gf%(m%F~pUAt0(aQu#^=XW$7U~ZnH=qX;uAY?=VVm zuw@jlS)>oR8YOegl_Lg@iow7mH9I z5eiOnB%z?e|6I)iTVNOFb>Q&!{a1nQs?hG&qw>;>8D*E`@d2+1)X2t2s3Y7TDJ4Q{NpK$HuWt77+20%|&m&WoA2fb&IuGw80<115?TgCil|S7K4Rl)VOpXFpW4(h$!V9jeWVRZ`q7cwtzQDtZB$E5YJ!c6Xp71>{ zjga+8dzOuY8uQ%kH!YO?QRfO|Q}ff=%TF)KkNe;&r`Bk$b2%zoZA*=0XgM0#YP)n( zx`JD690_x-gcbOjm|7w9ls$b>&CWAth0!dFY7kP^hbV@7p&3T14){NOvn0>ra&R&429}p0ralH6!+ghlkilnSZ0y*8l ztej$$u`5#9S0&G*LW1a+l+8X-vAMvsLKk`1GGOWNesn=9a5Rll*SjAS%<}GszVV^y z@C^`_IOE+9*Cl_`lUCm)uYxw!yvi%VT3`V;+N4Vc-wsK0$tSgNuDhcmSpd#-x70Hnp{2#;o2MnKs zDg`n;q3<74>MTX+V0s@ZN{w~5DN6p1hR*qfHk9?ivJ~a|Kgy{yYUQTQ)XJJrt-KSc zwh~tBP*Y~kkFwP28=?3awR)F{|HrqgPyRGHdF@Y=lPCT(Ir-I04gPpP$@`;h;`TFW zc9Gs}dl#4<@qe|y$<{UQ@TckJSDAV?16D@Qwfc|pgN#mme`7O~(+vKgbbezQVd+I! zMdFu#q$vs4tyzY?i=j&-Zy3B^#09Q>d|z5aH%Ms@R;FeE)``8yy>Ole{~9+t)F<@UFl6yHUda4|bz6YNtuM^)qrh%(TVK@v**hx<1{H zg5x8`1qd|r0(%COD9>IUXq~AWqS06;b+?XzdAii?`6bK-``|T z{!^pXxu>7SX3wYh_!)luQjouZTYv6Y^~R>gsyBjBYP_*3|1CrR567qh=`AZG$BTo> zXDRWc>HMI-^NpeW#|%Hy-&@t~@BgV2@hxeui^`Y}s_l8|OgqR$@(1Qr;u1s)VM7#>%+BSHQihEdlDAnv;9{m}Y$*Dc)-&G3%iL1Sbw)_$8=YaX~6{=w<| zpm&M;9BTNP-t`Bs;ARJ=lzY;_rkR}b>9y{bU+7^gJZvSfYAcDmd+||I;Y5wWr{juM zs081b&}$z6Yw*ggq7m9ih5lqlsp?ybJPv9Z)sJTQHiWztQ1p7VA13TBelT8~$cFQ; zdvso3^tQYuVFGUk18+rnLSUq7+h%xG;}$om$AO5-)+3zfmVz&T3thFx4#>|duFx;8 zP|*_>^JCOMWi4*Z82m5isu}H}woxlnf|fw=N7qQO>fUx>?C3JO3WI-*UNx;b7<;&k zfx_S)iC2BS6&OR(7*%VLk~PkyG1rkK|2I6zKeb+J#bW#AKwyC@a2XIOR`ZLa|Bf(| z{EuBZpRcOv!6@6Uu4McXa2MmJ*UrGK!LNdwe@d)R#)}YH&fc17yf<|AR?6znOq#0< zFu&SJvYyoq5BIQg4;$xU(}9^M%)s!(*$XcNmi~mkArdHhbCXZ#g&m%C&O#~Oi(fVu zZ7}g^##-w_vTLkokQT3^_Y9YAq1oR6Y@YSGWM-uiqo|BePnq`u>1rx|H$_s`ut2ih zHz|7BNV0lU)o#Cfmmx@i95bm2nn>FicfSWiNGm_rDJGd%$yTDM~-e=<)(wgSSk5u z7^k2^;_|z#YJ{x8!;7L3uEEuUoX{wy3-4g3zbEALmm6(=vi@zeTLgZw7f7*>-Z~oL z>_H1#*R(+fvrSJM{?n<_md5o}`vm7X9IdPk4gq!wi zmfvNU-cMqGN#c1V!DqXg#BX|->-U}yh>AAbqW63^c1V`qGh>$Yp|OYAoeSEFpY!H_ z6tGwN^5zeo#bm7cJ~uh7_cdRJ4}E2FqAyVRwezdg&TVZ`J3qumWz>%U{VmwKJD5?( zpZ=&qW;o8zCMQ`Qb+OIn|GF7|)Es}1#qs(xeopRHmUY;lzaPyrJQS}T4Zi>W6D^~Cnk2;ZR6 zKK8%%>Xd$zHT*Rsc_mVmH^pxN5=jgKO}Pc+J_TZbdHtB#)5BH&C4v>Nx`Kn-f%S>2 z=3C*uh*yhM&A+LpK?jpa3m}oibD*uT+P())59p0-^{;815G}PnjWt;ZVjow01`wI7 zH;u*4hKP$_{10~vsOgunp11ffuQ&Z6Mjq0b2~bu25VW0{scnrTQdJWl2LI|HANi{A z^Y!{ENK~`~k{tPn-0w zC;#$H{zJ;YMsf>9k?s5NPZ71Iw(r9~`)k57i!HYAb2PqaG$_r|Q)2Wp7P{_Tq@hN8 zdW>hkr^f@0TM83V^fGg`0R%&v3>`LQ zEe^0b8}JTkrMH9sQ-II8w#TQVrmWY)Z1)gXdO0pEupsAN+#_z<-K5{1j2def!}sWP zY0cqY9(FJ=UB&$!Sjw7-yL*Y!ugyqB57x+wD3Y?41thspYWj_lq%Q|PoazLgrf@tM zDeL<{JkEd7TvTraexQO4fu*ch!h%1W-Qtghk+S+g%)La@k495}FjVJ(qNz79S>j(zKI!=?xk^N8 zteZ@kn?}rFaXSbq@_>gu1q}aQ5ztEi+UhNpTkk1-#lzkMrl$QuV&Q~gfoi=N^JL}L zS~=qW{kE-!>tE)%Klfv;!H0B;Mv~EKX$@lu7LAca5404&A+;9iS&-({8$7=uErt9s zLdWgE8aYU(>bdSve>LP~1XvG58tc}dvCB9AaI*ErrDdjFZ~f(*U8o|l&vIR?F|I~Lr?>ymEVJL zSQ?`$wGp(@>9m=oot#Fy$SR|gMAm%>)`c!>Igm)A|NH1Fe_*25r!lH_{spxAUD~@q zwEJzDd-u=o$Hwm0$@4&2VNLo8F;u89))#qp@pfRicmjCf)SD=3+8SKkB^o&%U+MU@ z#V>ih+A18%Z*uTIx%aRXk;37ZmPI4iS=`Hw6b|E#`&?@o&Cl>i^+Z;xVmAWQO^12b zKY^<+J_4-T+8V`jFSd@YH)PBEXd#9&EOJL_x~BBFsO;@aZau|Iw!SKZB97ZV$1&FC8BjcAeiiYBl_ZkA77! z^Sf%6C+(OuRLFX-TZsre%V(q6Om>xJFN$CCm&s_+EG9Ga+>_d&C2uUwn9jAaF3{LK>z*F#eDO6R=N^Oehyo;CPIa67Vly# zkg}%5rrfk{a9-%rw{%`8^M(I-Ubr2MwW)cb%%^_Kyig}zb<7Jz;J3^RDfqk33uQ?9 zpPd)Vc;wFuO_M$r8+F!@?xvv*1A@62Xu8zyOzvqQhF9!oi{Lq!(Qt|V-1iV$>MG$h zNO}V-v0rc}Ex?a^Kd{994gvT3aI6`~!?bB1PMhA#RJ6tsfvR1ZP^^c^t<1MpSoi)2 zV&v8VoGvs9yu~S7tRfyHS@sM8dlK#Y`COt!hw7N2(yr;d=o|$(`Ft(cM(? zF_nBNEa@&@>3AynZxQ)}7O$aBN*AwHXSKj?(a*h1vzMp$ORXXKi`#&_O#-tRZq4zM z*#`O2;9FHYoI5B!+gT1RiqCQS;C+BdRrA}>l8%4^f0nY;np9BwAjso_WbHrp7j==U zBRU}6`7VDY5Lx54>B-arXe7~zuNXYKJ;d*D#a{y=>RQ{;QFv#;#Thq}*bNbuTE`ab z$DO+GAlhR3>w%(iBBgoxn{zlKn7(Xifq(o*(_}#x6w7di74VP>6DSw4NLB7yC_kWg zu-L1tuOjb(syl06`8$(ARJP!%{>|ddb7T9(iA6nQw~k5C0=o`vQ8;VxLx|Nd{~=VH z-(#`1{2r^-1hKJZxK%;^vs-cQw-HtEUi5D;)K}>fSsv5(G0Vo^=P^Bw=R!re*YaTc zbiP_^N8B|(yL#B}z-p`;ap%?QIFn(zfr>uhVNZ)_wGnNdV_torgQ;lB!emK${J(@n6-TTnpPAjn{6R|l`iZP%vNOP zDqYy_;yH7bE}fCPh;~=$HP+iEeJ@>ldaY%_J+xPD1Z95W6YcmeoaZ~jPWqVKZP+brYA3cItuKyP}E|W>Fi{X;W?2S z>6d&mw5N;znlDF1Ry{ETvEFx+-|0CcocoLA|HGH!fzGuXyxkhS{T|WCad~GC4^9Vp zR+Hbk=IrnASSAiMdgTnyTV2KqKLaW9${A@+-8csXb;^r?)mX(Hv{QIW)Mp%|7ybYFL3-iWzjDUq4Jc2m zqnhtHrP>>$QLzH)dw%7zLkuZv2xtZ}8xy zTnOg=ir4)%dGHb%Q-&GN%AU0>lJl}lBGr@?Y^=2)?elI~dHA2XX5)1zf?tO5HyC~C2iC*R?cv4V%%x?=?y-dG`L;a=u-%?|2n$$lxK0TaBi<2N-&G0+pC8pp$X@&23k{Eul`qS z;*#vQJgqc;89$o;7~d$8_~0RY_3V1^%+YUl#bw z0)JWHFAMx-fxj&9mj(W^z@Nhc{U?m5m^gMsyN;zjdiLnmt9!d)Lnn_M(Qe{|b`{-A zdzN8MWaI(m6I;D93!)O06Loxra%n;Yv{CmkBG zrZ=&Q8s^3q;#pxw(6=_c=LrWCG#OCPs((Sd**WLf=SHKC7PJx)UfQDE{zkSZpELF^ zXfiuGvmg!_{i+~NU1JPiUQ9;B{;JD9CmLN$6v`pqF46>Y7Z}+A=9y&&gs(QVQwY=J zSGw_;ho_BPdw!@OYLU%$0}470DCpY1AhCDBq}jRiV+)*fa?Z6+kJ=YG1&RIzU4;)R z7O6ioGN~1!Z*9^aNS%8Zv^!O^7&!pJgyB8P2UeNs>{l==FD;?7t?UWS!YgP@%RLJB z&Yqfwq;);;P}#2vmi=)f$G^A@64XWp5im77+uvSjoH!YAQrmGq=Gnos@Cv%@D9@gzq%m4 zPeGHtm4Bz<^8^~@A1%?x6~smVtA@{fEB}Zz{!fPgfX9z6aMSMr+SYtm4;Mabkod08 zo*o@0W*1Ls7d_Jr>;wO0z7IF??ltj{?|H6X@+%GhV2?kpfc7fqvO1?BQm*((-<&oxRZ=LVcB@EfP8Yx9i(|Q~KIL*8@f$?IQV0>znmY z{XQ@<{Ma}kvvafhuluAKPX0a;TXzJ*ap_ItRD*+5s-(URdU2+jG!gM$BdjX zeeBQ)GcYjjJ#pHEaTAA*m|QY?+++^2kxU^xhE-n4fkTIn89QO*zzHKpP8x~Zgvye` zh7X-kJcjD)5GpP%88~71xG5t>mH^G7lPkQmhIi>wGPPStGC5}Gplj||nDHA4Ej2Kxlazt|c&`I@}?)Z`8Csx#_ zd6UTrQ^t*(R9V47*3s^yaSop}iOsW~T->jN$s;Q_lf6KIdTiT z6Srp>fOW&+@H^9q)M1uDx&ibz$30}quyJFDmmD@`D4gv8^qHH@u*nM>ele)sS+nwR*c0^P`7ghGIf5)b2$}@xrx#Q>eVdCsbfb@ ztH<6Yne?lpo(ei{?D+caxswgyEIgyBIny$vuV5G_AvCj2|{} z+~J%iY)N0S*TnJTCz{zZE@_x$)l!?sK;hlIb~A4PTJ5U z>N&+fU_v~+{<^kd=+R0>O{}OKJ8DLWCX2RJ4|D(eOv|h@{(vM=lUz>y-Uc1F$>ke| zMW%?k{`BO~abrhMNLJQQg&HHX#K_+7UE*xZM@^}IN;iI}naI^c(=e7CKeTd8{S*#{ z#7d)n(h9f<(yR|RaZ{u{>m$ATt+$EwUu_fX!-{C|CEPFJy0sqKTxc8|F}A+!$}-kZ z5#4q$oJrQ3O{Yn6^;<$sv)+n0e%RznY|zyAKsyZ&aqDGmQ8{*eJ-Mh9sa}1h9#b4T zdHgP;M@|@7fnBmm6DN~-R? z2;O@bK63Kpi4}bKa>&q%$s_k4Id0O(3gp&*Y*Rdg50L6mG_(?%g2Se4+4k(vii)8# z{tHiavQ3hWS;k@`d8pYJ%-naayNqeZI%Lvb6R|5jozq3%PT8Jbahp9&ww^X$Ce-Ub zx0untE<^BXyR_{d3;!$?kkBo8f7FZ;fTm18-L z^6l+cI@`v|oT7eCqhcpwUvz4*vrWwYBvR(&4RYGVik-YNfUZs?W-mOo46^nYks(fD zte<@@L=k*HQW>*rPF?6UiP_&qievU!r><4{`kZ{Hg?-$@n0?2o)g(O}SqQC6*WQ+d zO($Dfce0YyTBx_|!`DY+c!V4*+cOa3V)k1ocN2T7VyA(fECbda*07V+j2|0~a62Sq5A9bnnzp(UadwE=uSBYy zou)W>_Sx1br}b>7k;t~40s|I1dn4MQ*bt{fnbW1r=@dK48F)Sj@JFVk;Igb6&%<5{mLtr5LgUAM_*UpSwruswnk}cvNl@R(uB?W_GMKrwUAfjNJPp;@d_&A$fV||z?C;$vww;} zd(55#Z*PRaGQ|74({eUIzi4jA3x5@GD2Bji zGubq4{EY*%`R|!XEM{L|!Dr&TIUPnj9Z|cew*e>&1$WsU6r|J7DUI!lW?vQ?0iz$d z%qdbi?G9jrPthGf;dwB98wBF*vfI;jo=W&;A9~P{?VRTJjx-&L3b);k#b;ri1Mtd7 z*l`zGmXnviT>R|Ny1OORO!h|G58cqKIr&awyM48@6_RU%k~LA;^7aiGu2fE4=4)MvJ*?W;HVxv)_x13gvE8peL8w z>nF9hep9w9hV4E=B1QI-$k+CguZVpI98!8p#6!AmVq;j^w6Oq#M68QC2xQ?P(%!a> zbtCOuSZ!M!G>V}d-n9J&)4CLn}Ul*I zB}eR+&vNokbJ|}Svwy9sb~?xG+0kWA;UK5|sR2qH>i!=jZ8Ilk|4?Q8{QXFL6zg&b zsuBaq1yS@y+uPGNpqiH1Uss9M=0}G(9cMdDW7YOXrJNJR*z+YU*9jg8%QcO~N7-K} zZy}_ch*y7FwKD2t^bMCsEvHkyT^Vne)8FZCzlu(_WGd%59G$wv?5h#qiN(=H+AmcN z$)ez#nB}y{k9KLEvmZL9=TAb{cvQ~TPCI+9wGgC2`{$WoLRD+~I%k>FjI#uGFCWif zgSOYi;+621A)q`yBaSHnTq%aEs4C=qQ>unI&E6GN&0=GnMwd8w@n+}|G2KAxj7>p@ zF=Hk5KNs6T_4X<%Z;q*7Y&~WhM+t4wjQBbld1DNN&q4MHFm*?0=sCpMyPtDVY_%V< zmqXj&n7uw$iIO$9A314=vkOF9#Wtd39qn73l}=BD_hmdgZ+#%E08Bq-i4W*@N*IUHp_r2?-YDPNs^#f)`K!7}vE_;p2{wqxu)pym5^;w+bDR@`&{CIm*N;TZ_gq$2_cYDsvWjS%on9gd#`B4*l zT+`5Ay&2*(ww_)KYdx*W5Wh*fBl0Q+lvd zda!+ZFqBXz7|Qc@b;b=DCsbvjbVI^*2Sc{{lLSMy3I#)%3~@ujEfNmZ!uIKv5(wW@!1<=AP_XW}p(2RpO*(L>fT0qF z(hUXc&PGT$6s$Y06v5AP$dP17^{Xs2%?s60C>RpnCB4c*!l7WOez&N~Lc*b0LCEY| z6b#j1$grVcsQ94*hJx7~$?wcVMF>sBr3iiv%G}!zcBR?q352cQ91^kgYXz8%CQapCSG`p$bNBxEWx$R(A<8c8t=V!&fuK4@q;yXM=^ zPnD;5E$msR_Tw{aC$HFPAB*DwI-V7DD#P=UzVHgL$g%IQDuciD;?sg5PJz8NA5<{$ z+~f91#ZJT6LZ<+aqw_&(Uu@4im5;vduOma8onk}aUCr>GLGyl4(8PZGq=imXJQ#sw z#J*=@F(e>}M>9v*Pc|OnG#Z?f>+EgcGnvmgo7mUm(R=$?HDcm%O{zfN8dy7V6dsA# z_ciI~B%lR(N+ApF?T;Jt>AmFXCdpG7@>F8-jBh zcrKGW25{m2-HXzUf4^&8Q3-S=B+YkiG zB(M+x6o|ZT;4!kiLhxy19kO1DCnEN{jaNFm9hK9?`MX`i*I~||F$xLq7_*;mQtfn) zf8p#nD5uQX&;GWOrfzPZ*#L>Hf_@lzUDF}3Hw)Ai${M3ssNR2!AEGsaGTW;gN{z%y zV)jkrzhs;zn(_fvKgOZ-jpIi#Z9bTacC(NIXvhMdh~hzWbbCCux8Ez2*ArHbFGk>b zB#HNfu9+|j)m!EaEzTL_;MIts%-l|P+e&9=`=!FQlH+eGSVN8N)A< ze)iVmVO>K!nDJ`_Ub0dvznC6k9Hg!N6C{m;Y!|cfmPH%spa#V321Ag_cJ>K;c#gLR zV!Jsz9N=s<2oI%@tT@6qFhAaj3MYkRmLiRYCJhw)vg75Ql#iSAgS-9Bo^=YIJnkQ} zFPw}Af&-CJ`^jj(XcIocY!GZZ*XGc0JLKE*8=A&*dd2VGc-Cp-VbdtH&pwsiGaArq zEm(Xupnk4>f(>Y)+kpByU3bl4+xhp2zjxc|8?*m8v6u}gX8&xlVK=fbZ@3QGYHB~@ zlx=bI85L|kqk_#xaMOVJR*`8y%l?A~gx9qGry7vc%YJw=o-EtibSi&S)A3v*+;rI0 z1e(quuj%03j&RcnCY7z};AM=Mji!T_1||-1n@hZ%wwJWGBdhVizG40#Od~3hKHlT| z)j_4&o%t?TKd3&BvF%HyLe))GbZ>M|_=-b@F-qUyr?`gERZ;aBi7(c&iBID;P<7E6?-mJ_WKW{~c-`;){9e%Uj z;Be0&$S&XStJ(3dY>HPf!TZwL&0Yo3MtzV_WBb*~c+u6q_hdQ+i+@M9;`a;BAGG)~ zR{w6r=fojqSLek0i3Koq*m4V$ZO#IX`oIV;jNc$eK>qvS1q*RW%({MP7{}XDr%&GC zG>F-Y@n&EvRAFM?-KM@m*r0^!e$cR23e@xqC1Bxm>&xB`?n2KN+vU#O$@X z(d{gIT@)``2BI!FIWy`-jzk?CTZgn~%MgqB&GD*iAmTR|oKcXpG;hor@iDwtns2`n zl^Ml9E6Q>Xz#F)D36$mD!F~kpzZ>4rEt5IM>XTPu0`RDXlmltKkR`2WH7$(b4@{Br zou3!&g%{QaaW?buRB2C_$CoiN`-SOcNUNiLU2d7PCtefAOJuuZcW4I`kgFYM1I@1W z^On|6pjdhKLohd#K2tF&J?podtnWPv^Dw(3Uavatd@qCWd$9{qO7@Sr$JE!ZoEQ^jgS*r%#8%+G>ED^uT zOni`^czQlCF%GJ`Ka08zsxIhTWxl%I@nV#{!O0se)%LE~uaUhJ_G>#@{17isR^S~& z3?Ddp({BKasxqDNLR+lX$cBZzmU2cG!R0DAz?c_x^R?E^6^Mz@D|mGqHFbUic#B;N zH~v36%kHC5H2C+Ir(iS>RQkWO`1hS!VFv^%9hsPWDorfbd3>5W^%}e;mp}vBv!Ao? z5R8B#om8Mg0jKM31z9dC{dEVec{1*+!8sZ`U+ehRPu_D9W6&fRg#R?$Bg%1m*)NdsuCZ8S)aq= zCeRafwAWxIxhE8$yF^LzvDDHW-aAEecsKazIdlp%kN-3h_d#L+H0;lXoBdFgr{Y_& zRVVu_*eax=ncZ@oo6;LbY(=J6WBVR^9lha76gQCV&h}dkpmQ`nCBQ()*1b}!GJA&B z&d=x%q)?KjjXCKRe`S`A`!w`6=(wBNFV6Jp`W7i*Bl}Slu-Q$n2V8Hc&w$#>e!?0h zHE%|kv>q%lxWF*KR$(2RXD|6rTp5;lvSJj?d|87pUHiRY>fyS~n!@)QQF(p*|JKcF z%PFwGz?+9i`ZaXuflBCPUkfw$XUz|B(1$GKtIoSfJ$x-*SZFVR7j8e=ISz7I6k-Ya zLsfhT7J6K&KT|o1l$RSukG7mLkoZP+Yx}H|)xj^2s_bEZjJOBT!7-LP;^g+3mDzdv=C9@BE$nGblcyv0`>15xE z0jxs_=2ew!=+0=owThu8Mm*=ej2!f~?=?AiN^&s7z7f+3*s&9G&{xW^=UNuQX|#^MFbi$O zbWaORzp)Yhh8c6)VzZ*zJ+8o9Bk*Io0BZMa4Cpe6iXLmhkQbj^Ed|^l1?*(k=E8#i zMgjWUDHK3DtP-cu!*J<~oZs3z7gMD_3*k_%KGw*7?Id=AW^IBTOtZW!ABNjdNyF7PFou(!o~drYH#>;-dV^?hd`b`)oNk6hPN zf{#9GVA|mHVOq3nG+J8r#Bjf8TqL=qav4?@_Vc-TEqSHiPSn+3fm11n?QkpodNM@avi$FX%4) z)h+3=9qnf*dkbXuv>%16tPt!coUA=KE43P>Me>itqdTBU+{t|YBb?7?na_V9pZ)E} z&@RvwqNmybM-0zb!gcZ+X1HRze`1@CZ5{RTi0K>eLBUuL_b}~;rA^-Mwn@*m9-bz% z@y~OkWBFN*Y-2u~BeOE}ULQ*1z6nmBkB@PlYyd^KVd*OIeqBu zWIvB?7vErYL6?orXsULGl)N!rva`J&l6#IppSTQ5G5euNRzo8LvJOKnVrau|^y3Y< z8@dbnx;-QU)*2a&;TZcJIP?Uz{B_v0U|)Qo{gSk}Li=hNnIBDWv7wQ<8bw`j66OVi zne*4+6R5Ut8%FoGWHESbSxzCp)Y~u_3k$o&hE?z4Q@>N=Y$O=zZf=B;P9kzN#vt~u zT)e_hT?fsB_}$nDfzr2>cYi$EpFDc=N@p)LK)4>~Ek&`>`08}}1}bKZF85(lAB8u3LVcHJuPc@A0h%6k* z%3SGm#U!G^5Lq)diN#N6R##V6XL+MP)yQ%hVD~7zj1HNypVPer`NkN)ZKe2~(VUDg zPkzE9j~@9i=J1P(6_sVET=$C#2Yug4bl;dKaJQUKH+I1HR(pf6Ynk)6GUxC8FiK+k z;~ezm#h~^ag5*(G&*9@NTn$intk%)ThM*v(b**dXjK4RLlZc1q>x z4)(-*+t{gg_CE{eaynd*?64-PUAFKRSQOqsmx!8{Hh;LoDi5-wrfC)kAGJK!7 z5c=^jqKx}S{2b~?r>I+$hexM>{JIpj&x7q7*wZujG3uxQjNpZFtmXCK_pZTzPM zeYR9m!&v;hXkJE=t4xyNjw>xSZ&jXUDBq3W0@H=Sm}!&e27+wL8Zj81_<{Vd3Kd&%Mz#r^-@=% zUxM1ku(P*`5Y+U5(Ii_5CCnx^WU(WvI39b%H z(5&h*%@1O6*+F5d*lo^8_IxCZ!p?!eBcTNanB(FLA11{~9_xBXdk#MJhRkfppvnD; znJ+@8RSa>Z*xXr?^LK!mm!UIB^WI$onBsje}o54sD?{m zG*jR6O?`hAHbS=ce-G+AA58((vx)t}VyBEd)1{8J8;pploN3nYimlC-Q3(o;elffMB}Q2xnE`YubJB0Vp2+HFdVKFG6opXulpAf?`(|L%K5#CV+Gk zLoLa5P&2NAg2{si^4ca|e)~8WcCqH^LM&oE_tb+m2@Hd-hwg^cD3(5k#(16FM^x5ISN@`R)yUW`$`$>IS=xj zh$DQ46BTdDiKsoziK>H6)Q|pyw*@K#{$ts1Hyi^0x%ReUefe-`4HkyIuu9g{lHs~pIP1Zy(|_GcEWJx7r%i`{;rQ@ufj@KYNMHW$6GkO3 z!0p*Px#Z+51~||NQ4?eP1lpBx^k->$7zH&LhS@PeR9K?aLjWG*B+Xa zmX=8#5-XNGz>tg}*~|V-TFPYIk^IFpfvj=q*-nO@c{)e!teKh18k0Pir*zhVT&Ky?6UCh@L6E(@bC7?*Gus4 z>+y8}z7E9K@HtL5$`oes%KUW+7kM{PW~9@PgNdhwT-X?a7DR1wRv>{*1K5e=C;p^UbfqdWG#4mI9eC zscD#p%aNyFj{KGIg2>;Po$2pqJ_PeH1kQ2ZhIzOX&T&4Bd3eD5A-C)FU&cJVYQFa5On#a9r{R;|lI!V8IOpxV6Epsi z`A^9Q8;1O+=HHgg_!je@OJw{TIOnYZ=3%$xPsBXzHGd5A-v{%+aXyQA_|x*YV;)lY z3_)J*G|WSO^I4dOBIeIy9!id8lIf#h8cWO}Nqv$Ft$M%=|Po|F&qx zo14$Z{uXYp!ovMwDCVKH!b#HO#|g^Jj7W8kCuaL&t{;F%L5=Ul#K)*SrDdA^B5Vdf|3yig{RM zeg)=XDV*cK4D*mYWSL&*oiGpU%&)>cY&O3M^N^fS=jfS$dHC7mU(^5Lj&_xn1^QO zy)X~0%va&KF*37S$+=c$`5$f{+ab^OU6q}ghbzoC;&!2z`Ik5jUvHiV^Dxx>cU(_L znP*`h#+w(yJWMe!gL#;3-VpQfw0Y+Wne`ft^~aA>E8vR&++L$FKTFMLV18DZKZf~P zV?H1Av%&mr9JjZaFUS1sfOETigzNRs<{Pn}?>FCt?Vh~hXL?~zHLTY-%mZ&P?#Db7 zvV0rlk2mj)dB`^Jhj}>7d?4nbuK9S(LsRo{n1@zyo|jI=Jam93tC?QrU>s5 z=HX^|vOA@hbF(x1!$f?K!$ImC%)>b3dH!}h=HVgpTIiV#=Xr8H%)>%B&)?3&JiK8& zS7IJknV*Y!Sa1DTVIH*=Kk=Ajr)WY|9h^FIeUUN0WUJXEm!Ak0HOIImy# zV;(Mmb9+t3JamS0e|Q4((A#_g=HW)`nTvV21J3zehqSY-!>^X#m7O_Wr7%GD{13;&W6l4;@uw`D`%eYT!)b8tKP4~^_03Pg zJhX&!|EY#~xD?L)=S<8)AM;L_hg;xSz0@QeH(s-O_z|~{cOuXEd;{|^5zcv7gL#+@ z=X!mDd01%qKXF`IYW+XpdinvJ`^kRnx0@}W3-hqc^2IO@`{5i<4a`GcY!Lclj6b=U z^n%l`R7KowE;C;OFJ?VMFmETrxxFT4XZD|3aL(JqxZJbg+>SFbZx@@tih1h^=k@eu z%-aw+FZUhH+gLa+cMbOchpp#J><`btdAWan1_Sr$77spZ65Mq9tz@s!Ts=4>^~>LIsRX8 zJ5m+S_5B^UBWIfD!#rFB=l)+9^UxE{%gu{<7zF3#9)o$f(|S(h^#acA)fn?I56*F( zit&7E^Y9UFN0wOsEX>1)aP01>C76fL;XFTChI#lJj?Iu-hue{#;rNo;h})6B0bJj; zxE(17;CgMs@$*DD^ZRi8Jk9cXF%OL_Ujy_11?GXbr&BQxt*z%8%tI$Qx7VGRhil=S z=X)>@!{Iy*OvgM-h9|3^UglsP7Q#8t(|BG1$CuP&n1@vW-afvGdH4j*^QE=PfW!Tl z&*41IRKotY4ddWET!neqVfi|khhNMu#5^3Z%e@5ikP91-4#qqbgXh7x zuE#ta59e`g26efxtNDj;oNU);`;Ti%|m_6LrvsyTAa#{d1zq$n1@+#&SyEy!;_Xj z9rLijye;P8Me{B=ZtSsn_!_s5i!J{m=HX5Aw=fSY%vWL_K7jLh_%n`6o8Vlpt+<|U zHUA0w?RRi)mp`x_cf+}TkHS3s4(Ikd1@rJ1JXxLe@+QWad`U07zWjpy;SV@_p2h9y ziAi5ra%aAz`eEM6z;nUJWM}rDvT)ABc+6Whcoy=LFrJ!ld`T_9yfp(P!$>brW8T8! z(_yKS`I1_UdAkqJ^?M8R_7t4Q^G~opybe#MF}*Cuao}%!&-ovUdH4uAJZuFd ztC?QfWoPE$A9!*YNiUaS9!|nQlB-F28HDv30#B|E>17nw>wb6=OE33gy`F?uhR;a8 z54Q^+!E3-b<2aUlW>|XRdey{w{f#`wlfrtH#Kcrb&k5O?{+4i#CmZY41@=$>m3&QrI?4h@Z_+ZUV395F1GwO9Jlk?Jp76M zKin@53%BD3*dJ!WF-@r*n9mpB++IJRe-%7A+@+Vla6J4Po=k6g$&Go)N{(}3Nxn@l z2XH(r1J8zMVIIzeb37*}yrpSvLwR_zn(3uK=HU!D?`Ms`JT!xIoYOH6 zt<8VJ_2_i;az3kL9@-<%`8=4NnTIZL-hV8NdFX5X$6+3BgmZsrgn1YO=jB$#JdA*I zy&7U3?y;U0n1>1GmtYYV%_-59`fKVjjLQuZ(&4#=IrwVKLWP6 z=hvh=ht9G=Ok2I(7`GKbEG_=AS&+ov+AW(0gKn%?1)oyC^0f8|cKKBRBpUk@e+ zgj}gkhn(9nSK6=mkMB+HZ{$i{cgS(~BULAzzw$rcC+(g8<86`~%3P_Q|M5ZT{%a07 z$5SuuSO3S4OAZvdQeFS!W7GY8{^Jvq9Wr;S!y&JY?bbKBLgh|f_8;$(OkD0%vU6b> zk(K$!r)lR|Nh)N#6I`Odw0S-GZzXXgZbmlf{B9AU{y z@$4k$53^F0ass}~N>z^dX%Vj$@fs1Y6>;8L_&Ao+44%S>IsNc)JEsrV zZx8)DD|OqUf9pT8Qn%~3hyIOm0?-!G+Zn@lJ4mpp2E0Pl!-liP- zVe*f4$)T-S>hST3d)U6@&~~JJi{yA*Os?sX+L}%TY5(32b0o% z`1nvQSH_P{_aDB#Ux=Q@$@q(<4qqQHf`6O*UNJddh5Pwo8IsN)KAzl{;naZSM6sA0 z2mXaGO#9*E(kOU1zbPiihqvJQ)0cbrII{vCUcXUH&MI2L7bNppOpgB_Qtzy610oaIx8k4q<` z|IB2ZN9s8x@$$J3A3u}R(eyGsS=A%u_eREfAUT0AFUQZh=;@Pem-4B@$N9(LtJBWC zFO_--er)jE&GB94wO!$x&~T*jype4Ga;YJQ^1OzG*L##p4f~HLA2^)&phM2i@cNB% zsR94-OVWP*A?G#xoOI8?L(VG4PGi$ zE%_lGoX&rl^T6hW%+~nK5WOZFwf&BZ$apMJiAFIekfl6$Dd~A z$G}^f7lXGl=i`)Z%uhhRoq1V!*w4elah8X7%-;Q{ ze(fol{BBr6zxJFfu08!CK04xaBEBf%D(6O!AJu(-E~IA7=H`7+6Q4tvf|wjHn6 zRWqFKuPANns__$&*6T#{5wbJ zzgY78J4f*L;(d~Thb8zW;x~!w_~ zi_UWzlm8{rRJboQBm5&-5I^KRKI-jz$alo}^!7b?7r5TO2j}a#_4Yk@4_trr_C0uC z^yuw-@B-o6K) z57*oG;Qaei4;$z6$oDee4)1He1M}R^d=2JpfcekxLFR+uL(OZzhnug#ct)D9gO4`f z03U0<2|nJOfA4z0d>itU&3XNwYQ78k8RkF2XPfVV&o$o%pKrb&zQFu%`19uJ9Wt>+ z=6SFk7n|pYFEuX&Uv6FmzQVjXe3f}A_!{$*;Ooq@;Ty~=z&Dv!hHo(s=S*SQmj3_Y z<4-O44)eP3UFP$#fBtCR5A(mryeabg%=ve){pPK3xqq9tf%7~$d>gLU?cjNE`ScF( z{N^3uh0OW)&m!hMkS}iD3tq~ce=j}Boad?8<^#}E!F&+BviVSWHS^){TIM6+bxUH!&X%Z)W}gyrubMcq{X%@HXbW9dBno8~G0AbKxD$=fk_0FM#(je;(e;d=b2_ zd3T&&a(@r8upfSwC$qy2u>5fNAoFqXq2{Y_xx>xZz(<<%az~r*NB>xJzQ4tI^J!SG z2h8WeC!2o+pK6{9=hHLHn<78kd;^XTbIlu}XTCeuYk@oZpEn;3Uu2%V{a<=nY+eNY zOU-LyJj=~{z*m^(hp#f9f&Mk-LouFp=F{OD%z1xulR3}#wwQOqc($4IPr*CPPe*>2 z`2-&S%?l&H$DI4gKJ!PB-)~+N^Ygd)>$uz$t_Qr{eFe{BekSHEc^XA}2|o^*zwr2B zC3v{Fa}wwM7yd<(dHOlX2mdPhkA68k^n|&h_kw#5|MC_5Ldg${^xPfkxnF#u^vsO( zJT3V!4;<$U;^8_=UmofCQ1aTN=O^=|=bK26o+oI}|D^v#>EYv!KF`M`nXvdg^YOyq z;kja5ukd%4uy{|sNY9z#p^H6jB0ZfXuj|!AJp2uTJvT&phD%<1?i4R2J(D6mvm~!Q zPl}%+JugRk-j=-fyf0oudU#y&c@DRgVe#$tqj3`8j*S zV+&#No~n}9^*UWV{Pl`G%_BW+C9ge~ieDi;y&^q)US0UH_VBzf_|?*Lcch2sU*5y# z$ps%EJx@n^UWI$lo8q@h&xes7KHlIxUrWyz>Dd$M;rk?dPafP31fM89$MN@y ziu5dq^t>b6sGg znJIpi^zi-ld^}4euj5%R-d}pw!o6pU}uP|M30e zeE$j0V+>31@R}&@hkXAy@8SE$c~2+l3HSBb(>F4nnFZ? zRi)<%>1h<{IZyJsUTww0eR+#@gb8@*}??rmnOI~|6i$5bh-$#1>ki7Q%Bfda-3Kd8uELnWJmxlXx&lX=OJvAde zO(d`5Ia~Z$>1iM7=`MNg=`H@8^xPcj86|n`xko%a_Rj4!HPZ8h$!pIX@$j5L&d>9ao;M_~JuAdtlb-dF zo^6uXo}J>aOV1yXo~%Nd{lT|;0r92MQyT8ajY^W&@l+RoQ+k?2dRj|fd)kRFlb-I8 zo_>3BVt0Fz&^^#%n?X^Yx9qHK} z>De!N9nZhw;ctQ*&oOx6fN%E`;Xa=7;_pgN?MP2k$?JH|5r0p5Iz)P|l)U!v{Q<)` zS4t1x2hi7x?*r)Tb+7b?hweB((<9@VCwU#uv+C0GMx^Hh%_oE6<$f$49x9-3i}d^? zc^%I_@o*QDJz2*j-z1CAPZ7A!Pf77`*MvQlB0b^t&SCMMM&jXAmp!c`J(o#d*Q={| zI2B?~zevw5lGmP*;^C&1Jrg25GbFD)kBf&xGJC@7Zo=a8yiD@i^PYIP%ChIvNY8f3 zYtQ%M;h*f;AL+@9m!kRhDkL8M$sWF6p|4kE$?JG(iWiZdrf~1MK=RttUOYVKpX0eQ z(sRA!wdZE>V$w4@(lb%=+A~!=c?*O?2IQZ|K`SSJ+6&5buRYtut4q%>ksiKJqHp)C zaO0OO!D}Y}aXjID;KSnE{bb4Ocq)n4N`8+$XGD5hNM3tdi`SN(j**_LC9ggG#7~!= zTO&Q;ed@yE^D{xbPV#fESNQyhu=xBuBY7Rqi{f>Y-($~Pk)DqvuRWiNpCLUvB0axK zUVHY7*OQ*3!bwcB_<9wG`}~|JUO)Lgu2*G?d;^PS|iC%m6q zSi*J;&rRie{T=B!8c%rj?OsIuEa^EJ?%O?l?nYR=r;d2D1io>?YTg_ zwe(yO>FFbR?YUn3eCfF@(lbu-+A~r70_m9@=~*aw?O7z=Mta_f^sJM-_G}ctP+j$!ehX5tqoKWEQHk)AG+ z*Y)Zt-d=hJMtW|Sy!MO{zeIW-iu61tdF^>hyo2;Cj`X}MdF@#veyQ|)5$V|_dF}Z{ z{4(h|80je(ov+x(?v}yZ-X-}x_AHF_ye4_=c}u*j^sI~Yd?|VD z*&*IddVY)ag!dy2i_gzd;@y*DC`9$*C^SO9$>Dd+O z`Canb^S5{(=_wc&q~{XJYft!G z@34e%4ov>zc&>@`43@n1+$MgL^o)=6Oq0C!%oZOcJT)8O7hxsk@zjr(=F0- zo#eGAeC~5t!uk$N{^NSx5$U;K^4jx|_;Bf&8|isL^4hal{5I(cp9d5cpXUvd*PbuL zMnTWb%6)PpwGLnUdG>v=qNXdcx<3 zg~i9yL-N|wM|@QBdmPW;NY9;;*Pe0WcS_H+NY9g!*PeyqqorqQr00FfYtK6IyQF7p zq~}M;YtL`ucS}$1@JFm<@p(QL?%O?lu3}h%k4^sLJXehLoGy7CPebv0q^DJ+=TgaQ zPZ#lV(sNy;XQ<@0=XUXXrRV-g&m)r8p2x(;OV10Do;M}0J@1O&Cp{Y?Jzq;+dv=N6 zFFoONfy3h4Jx};!WU}~nFDO1C`8l`y32^T@Rq{HX8sZN~&zX^)^Cho67mH7lo*t2& z{*u?8LE;ZePxze2u=sjCAbIV1SbTEwdz_yqBRwxkUVB~>e@J@XkMw*ddF}a9e2Vn^ z80q;_^4gQiPJTIA!v64Z@*mgh*zDw+WbyeqDLc*o*?&$EpPEG2b2{96&XT;2=Unk= z(sOB~=PJo-&o$!HrDtfQ=Pt=>&v@}ir00=H&wR;i&vW84rRU8^&uYnQ&nM!KO3&AD zpXZ+?uRXtu&q^KMUU|wT-z1Co6ovb7qm=mUCI4}|7lr$FFDrTNsVM%u^wf>?G?%>gv=VxTqpjL^bCvi+%0+S zxnF#d^vsO(JS}`B3uOvqAh7>G>wovq$pU^FQ%dr6*s7?hiDg81U(XWW0PM0)B;UVF|IUm`tiB0ZfXuRT4)Uz462B0a+;uRV8)zb-wKB0aMt zuRTwSFO{B`BRy|RUVGjbe^YukMS8xKy!QMkzD#=liuB|UPr^$U-|okXFHe5X?Oqn1 zCoz4WimH;=@tiLHmh?1_^t6?{_FO9dw)FIh^xP6t8f?Ri9eh4eff z>3LQ1+ViIPyVCPvq-V3_wdZT`_oQb}q~{;WYfqj^$uB2M*dJCV|8ct?2lwrsEqU!Z zRs4PFsTb)vTk_g-zW4{y(<#!^Tk_h|UwpOn43G5OBYEw4Kzxn#%!>3Zki7Q1B>tiF zydCLTD|zktO#CD1`8LwCSMu8Pr}$dw$$x6{O|tlQF9G-C#!2GqlHcS0Q#I1lK=L}C zv&27^p0<&m&XU)jtHeK%o*N@QBP6dqcZqM1p2?A(Ig;0&`Qo2S&#RH16_VGU)#9H? z&*n(aPRVP}&*B@U=buPVfyzlJS$w+}72lNnoZCGc?)y)5$?JIPihnLWXGeP4NnU#{ z7vC&By(2w0NnU$~iGLwI_e6T8NM3tpif@sg1(BX5lGmQ);$KS7+DOk9$!pIy;@hNW zZ=~m6$!kx(D#8c^fZX{oFjSdX(RrP^mLB&^p(8! z+#tR~dPYQg?v=duOcMWAdgerWo|U}zye$5m^sI>Vd@OnG*(APGdUi&7_DNoQ{u19M zJq1onzDX9}?j_-V+$bylee!$Uf2v1%8cANq(_DPF^t6lgbd|jJ^b-G3dTxsJjFi0g z+%5i-^h}BLJT7_dd0PBu=~)u#c~A1%^P%`J(z7Mf^S$J?XOH+E>G?O(Q>bbZN*3Sl z$BF-%{G8jpJlyx6nv&P?)Dzz;J?BJv+Dl%0I*I=#J$)lRH%nf7hKui$o_ixbQzfrG zv&8?9o@XOHuS;Hg-WLC#^n4uY`AYKI^R4)P>Dd?Q$yF^0C5vzO{NjHmKj(HY3HR+@ zLGn7Ds^SNvr%|NmJjrWMTk*f7r)#9=TFGnAjpBbx&&Wv6eUjIn$>RS=&*PDv=OwQ_ zuZka(p7$a>>m{!}o5lZ?p6??)e@I??{t?fW>+p6jR6Qw87T@lr;lBT5i|3Y}nvtF+ zlGpK^EuJMk?IS(iC9gfb)urd=NY5zECo9MO{~qzY(la&E^MvGeJPXA0Nzdz%o>h|9 zp0(mfNzYf2p52nyp1tDvr6*U7BX9R(;J)2Uh#xII6(T*gC9mUYARazzk@J6Eq^E=A zwWqUqA?dj`(lbQz+A~7Du=Ly)>6tEh?U^GUJ}Z*z^?an~4asZI3h`s5XMLn+o8+}; zr+5+R`6JSkRWq|c_;xQKUQ~KY!~M8XN%A_L>f*(ur%9xzwdA#@op^Z9e9m+CNKZe> zYtK#M#ieIdq-TQUwP%WW3F&zv((|I^wP%TVN$FV?>G@Rh+OtKxl=SS5^z4_s_WUbe zT6&JDb>!p5iE!V4%8Q53GT`>A9qDN*c^%I=;wMT^he*$rlGmQT;wMSZkVwyH$!pKO z;$@^~dZcHb3LT2+Viq_CFxla=~*p#?fFFfRO$IT(z8qQ+VhKeW$8H>>B)Qg;oA}IDI^{~yM*(9 zB0SuV=scH~y!KQPKTUcXM0(DWy!M@vvf~r<&w-JaxpwXCkwwMWm;-e|-duX7MS5mSUVG+=pDjJFM0(zky!NaRZz(3JaH;WY?h z3G1cn8=mVPmT*f9~K3w`+7dYIb$A@;}I{$Bo>*Zch@Nmx^ z(%)WOd#)ERDC7TFe33Q&&!{fYFyx_5iUFUy<_)U_3SbUK98u6ROTNOFnKUBOOJX~M& zc1PcbR@XPX=;0n+-)iFFoP^gqeZSV**aP7zfAhC6CWb} zu=p+FZ;OZ9T#mo|afipF^H4=x$J15(M(KZFTzl4uYtI4kanh5!cxF6ddsUKg78XBM zT;Dfxg!G&wdF?p`o>Zjnk$lxiUf=Igx7Ul(qwBjwT-Wz^@eXpi%}X3!Up@c15+25> z$BpUYI-WV=db!_-7nXVZL42T$=U;f3|MMlE8D-}Dz&$j$2@CxSqJl)FXRgte| z{w}h<T-gs(7v0lv!oW%wHNCGd6TZ@@R0zXji9&f~xqa~=n_ne#ZX!~A3P z?=pWF=dVASKLX!l&hzzs=IJ}yiS0LkE`J98Hop+tHp)q`Tg)_=KQ?dmgZBCZ)H9m-p2e?HP{k*w37w3p>DkH1dPY$HK#X1nnOWA8!5te584O+%Fw% z&il7x&Cf!9y!rXKzC2*w7Cza$J$$P9QRtsxUJyRp{8;#0^Bd4V-<+S@y}*13^3R(u z#c^Yi`EvMTbAJB%Qu9^FFE?KUUtzuuzRJ8b#<|A441Aq=Irs+iittV5Rp499`T6VH z%pXO5hxudhUFJ{1e>8s@zQ_Do_&)O&;rq>Bf&Xp(8a#dAPp&XL{=W$ikAds;h@X$n z$L*P4k9>G6Nb?)vMa;i|7dPJuFJ;cpSwG2qC-T|myWthge}PvvuM4kc-T+?9ya~Ln zc{6we^Oo=?=B?n(%-g`jWB59s?clAgpW4Aq)_H^$C_UbA8-B; z&fgv|p9Y_7J`+CGd=7kuIUi4)ZO+e6nrr?U=3%}$Kc9Gk`O{dh=gr@RFEW20zSz7Z z?oTZ>=jTl>H=m2g*H)PKK+h`kUhp;M{qVT$I`aYW4d#R3o6Kjzx0v(uVz-$;f&32h zCU~4~m-$%ukLG2u-S?Q6hwn451mAD|9Ii)yo4*84;eJW@akve76`sfZb$EXBW$;4g z@4$MooeR1-Kk~H+nu`RyxnPF&fA?P z=D%Tmo0*rz{k4|n<>9T&E5X~C55@UyJ9D0IcQEJqc1LrbZ+9{0`F0O;o^SUuZ-H_4 zH9r^L&-{G&0P`7GuR-Rs;X}>m!iSslbALyg^SC?aYsYcQ7vq?`VE3yo>p9@E+zR;l0dHg!eT+8Q#zQ6!-x1uJA$TSHg#yUkx8_ zehqx2d4Kq5^Bdt~&Ci05H$NNxfH^<+WwQD0r84&~rkdXgpJ9GCe75<$@VVv_;PcHN zgfB4X=gmBC{s{7m%xA$Dn?DX;YCaFX-255%3iIdStIS`5uQ7iWzRvu0_y+T3@J;6L zz_*yMgl{un4c}qD7QV}TJ^V-Wjqp9@U%>a7Z-wtS{|5fI`A&EW=b=2#?}q0w{{^1k zoS*Ac$ozlE7cu_}Ufld&cq#L&(wXbUN#^`~pltJk$X75w7GBx>ICwSll5l-qT)2O9 zBAkyKao$db^Km0OKbMG)8_`cio{t;RtHSxX5xpjyj~me|+=#vi_lx*Y`EQ1nbq${BrmJ^Um-==1Xw7L(O|4Kis?z ze5Cm#jB~VkJv^^vta&5&c=M+42h0y(oRiJ@e7mXU=c8wad0Y5w^Y-w$=9j_en_mH6 zVBQV>y!ln|MdrQXi_NcvFExJ;kFzZ|ABg-4^N)~UWj+k~HRk6WpE+)F_S*kHUMHKL+n*{v^Dw`3<=K>hrO~?d*q`w*i*t=L-%p&yC~5Q1g87;pPS4Bh9mM zy*Mp%^-hKBg+33kws^Z_oP53|RwETovuY;4M9)S(cnxv9jYm3PU;K8-*A}k{PbkND z>WS-kt`-k}ZPIuFgowdXoeE3^D$6sGu zds;_&s!Cp8A91?4_Oy)jG?l#0!#U#G!|fQhmp%`Fp5({KdOa(yJ8FB4-1Mc&q+gD%5 z(J<0;L8PawxL&WTi?>ZCiTfw7cVRqweIFzFHj;l-yq0+Q{jemIx?8p{{*0GCZZwoU zZm!aPuK0=Rmdy68BVHaJ`kIJW5w9!G<6an7EAb}C2R~1|rMSM%4yPgMah@)D+-#@9 zc+M6-ReJuBdEj;oms?NrmrA~ocz^K*;$y}2`Q+2YTT1>(am_D;C(+b>GR~JH`A@|4 z`PkvTcEb|ZOXqESTL0^Ri0e2Hifhl^@G#EtGEQCJi)4M5NRN)QkGSsV><{DD{d~6M zbwAG**XxmPM}3{?P|0imL~-q3Abx?Y*PjvR?Q9soUT$;A>pb5P@pqHC4NK_J*QZnt z6Q3;M%l$I{)!`wp*X#ecjVFvfEMfJsk}=of{erX}_6y+PL;2njuU{;a#Gl6wmT0`KFR*U&x;+&aVGc&smb!p2p(Z^JOT*qU#&HAe`sPA*#;XDf(LEd45X=r+7X_ z=jF9V!2M$LkMTXvhnZ*pAj@<7Jg;M(&f^}vGk*Uu>p2$RKW(0k?|FN{9y-r+=)8Zj z%6fPnw$8jIzW>7fTzvnHd0TwX+Yw%FS$Mtx$wIG``8HKF;^95$!oobqS<#&13Gc`K%&IvWo`46vQRKF(kZ7RGLSe^Spc&(W_d&0S>I(sIXkITeT)65@%^Le@9 z$6^1cFR(oKk5|oKN6#{I?gyLAIsWbD9DjICeOSVmFrG2#?^3DX%|C({!F8W`o;Q>- ze-iod8u_p=Pp@ju^$PceHBaZUh&>$76_VeIF^Av3%DiE^HI?db-VA=Tc~AHQ<~)C$ zYJL*(k4K#EUlE2F#>wmNE0#Y4J#U(G{O_ALL;hp)HgG<#jF)>noX;PlbNv5W51p_7 zW4;o4is5+$?kAXYy(*bELr)F!p77S@qu>{thxY;tOF!{#u;7Etj|!M9d>vSbhCKal z%RibaL!$F?`TQ1lK97ao3Pro^a(R37n>n}R!HDMz zC!Wc|e(s+|&Ff@hsnX_roTx&?tC_bz&w1u2z%MfA{&q#guQKO2uQ%s72b*&~Cz`jz zc&3@(3+Lb2Id9w_`1f@Bi^#9Eo(}M}=Dp#YBfi~y81g@vkAeSg&he*kK;t+${`}_i z&~u7;FL+h+!SH$!Z)(nQ@^v#l9=<+?&iU+bJ-pq#+5An6hwo3qp7-F>EdL3de@A0} z7o2}DqZbbUNESYSmfjZ5=gHE;dpCsT1H0VtUN&L*#GL0PKbwz4{txr;8u+l}%7?GX zmvDUJ`O4AeJYMndCgImZp7X%JkI*+}YE$*Chx2fj`N`oIljZz~w>Lix`L5>Sy%EE5 zwRuxGAI}fp>iEZ6p5y29_?SN$J$$|%y(Rn=>nQ_&)4US={fK{T&h_H+`*^u@K97&i z@$d#K_}9t*csDdZZcym$!=xn(pSR`C=V#Hc&BRlctmk@o4RaoUTAP1`{Ke+H|Ij7k zz07(4VL-(Bd}ofoR`^G4 z;Fp@e4Cm|TIG!Hxp_b?Q|D6%P*L)m$rkHa)kD5P+{1S5>Ki@Lvc-BOGgZUWrZ;kj) zbI#{)<{bZD=A6&t3uP{d^U0pF=Im)`&YtGx?_vCHBHqFLQ{;O@ys!B;$lqzs@!V_v z0rGs^71x)S%hy-Y*}uek_M_)5^S|J0%*Wz5v%&lc_*U~$czk51c|G`E^H%T!<~QOv z#^;xDy?ERxj6c}Z`Mk+e=6qgbwmDzV*x3A-P?#)doA-rxGY_9t6PDiQmEku={1)>@ z$d5KZ2R`1sBYd7Y?e`?NgejV}e&9B1v^Bj|zzwm81Z{a)_ zG7s+^8J3a}KiNDy=OZjt&C6lGtz#bk78sVc<{Zyu=6pQiN^|yKV;-I}5th;B6EM#4 z=2PGgM|_s~eB@s@e*^xG`7s#JN9N(V3t{=pyaW7K^S99dr};*B9{j;Bd>ghey^#42 z$d@$#1Ael3evIcdbB_OXbB_N)^H0%#srh&C9uersak)Dp{-gOT$p0DfTt&iOlzBWntk+k_9~1H8&G~rx zDG{$~UIUNMHi&pL^UILGFyfb*k3jyah+k{|B=SQde!KZc$d8ZsWb;3epA+$?%**2T z^p%LeX?`y9t0TVN{CecKMSPbz_vhcuxj+A7&fD<@8W6t~y=FE>1-w{><3tu-AD0o@;!btvQ^NPr?GcN|;WX}HI%$fho{4Dh3 zM}XsO2`^&a8eZL;PYXK3oa1k2&T;bnetEgf-z52O!w<3CYJLKIOvLXupM|bz=KP$7 zIp!bW`nc4b<5^+Oc~~3qjpk2aJloAVo*&FPp1gR%Q22G7pTg#Re5q8#v&|pJc&eIn zJax=D9=`61)&qn`zGRJYml9ylBqxyk^ev ztTg9%)|zuXKbmtq`^+E0dhrhyoHx#Yer!-W=f8sanV7d~=3L)~=6pU$b91h5TXU}O zW#(Mpo6N7pcy2YH0v}_(6@I^Y3(U_n^Yh?y%m=_1m~%cCnZJPiGV^8dmFDlmKQZU| z@MiN}$bV~I8t1(~ne%x<`_031(9=ta%$HCbjssP2K334YA^bS==J2xSZQzy6cfxC% z{}0~K{4^XtTbeh5w=wSszuf#9IA34O^&JDh*78%}1I_vR{QJzqxolV-GUs-A-kk3z zxY(Te_2!)CFU&d5e~9l)#&TL_IH`l?o#7`QpZP}^w&qVUXTF&^`&*eaf3-RD{mq#l zXU_a2bLO8jXZ}@l=07oKezQ6AzngchotdwH%%`SZ+~?`6(> zKXc~qF=u|FIrGn&GyjS?^BFlp-&iqB@xcN)*{SVl~`wLfFp5EWQDK2=Zd2{$k^S1DNBmST{$Nz#k$G^m! z&p%ud@ipdLug}dn&acfmo`dEbPd?m%;(T&EMa|h?+MNA$Bi_WEe|J02{1(jfMdl;m z*P8Qk2b#10HgophWzPQD=Iozu&cA=XW6u0)^U+~qljSpWJ`e3H^F25|d~d!N{;N5U zCx4ssc#`MD%;j_YUXSC+$>tpYspg!|)6F@bjm$ZpmzuM`t2z6xHD~`obM{X#zdW;= zsfW!k#ri&O&iQ%9oX6Xh=Imc<9zHuTESt?wfNwVspJ5i3pUgjl|8CwB<1cbj=J&WA zIi6DH+&}A>GvC;}OQtq;t~uwwtvToa8gusFXx;_=!_C=0+MNBf%(-6k%qO7##fZOV z&g;v25&y`X`_Jd*+<(3{=l=7LIme&3OwR2%7vs-1XTGvI*SAi@8=JHLa`Ojqx!ukG zf?sRi4*TIi^G@*l%z3#FnZJzw+2&i|^UZ&Szhk}>zS^AUIlIi4BfrOd6}({C%s+Vj zS`RuVK!7J#*$SF=xKBIrBr!nICD+{7iG^pD<^BxjFNz%$fhjocZ16 z%;zhYN-sX2$Cxu;#hm@M&6#gw&U^=R=5H`(euz2qlgyc)ZqEG6=6w9~4fBP$GV`*@ zoPT53W_}R)-R3+m`pul@MF%6EuYAt!QU>QmMI&C?d@b^I&G|S(6LaP-H|O}fn}^S8 z4a>FW9OpoDp6}gf&i;qYIX|<_*+1W$pn0LyZ>1}M@9e$blD0nw>KF{qI^O?xsVb0g1&M@aZ&o%!9J^`Z@=HS$J^SAJWpUgjk z|8CCLPZg<@354yX<1b~-@t+d$s^%R3x#k#7s;xQ4-^rZgztWuJA8yY6(dHcggorcTIsSLeIsOmLIsRSd?B8R~{=dxGpLJ^HH@O|zU)G$DXI3)D?vbh+@h0X? zG0^kOo5L?MZwtR7;#ZmTaj=o*9RFBzJdBWfFyfDxbA9KVbDYncb37lKb3C7#b3EJ3 z*}u!2{aKZBZby1S^Ddar;X6Ed_z?}V; zn6v+SbFSB5b6&shi1Gw1d0IdkrBADDCepO}x!)Th3T__yYB zkk3^$^AB!c_8)D|d#WS`P;3` zzd*j7Ip5E&vpLUOdYbdR<@$&ZHZP9zmOCPTkNJDZ&o$@m>;iM zkDIr{JU?T88T>u-Ti_p=-wyxYd@}r3^T*(YYUkW8oaf@^>yfW%&U}4y<~x}4{Je`f z&jW`<{C4ww7|(Qb_B>|J{2S)XziZC?HuGO_xx36u;Qmh5={e_IVb1(kbLMxNGoQQOk>|63IoG$6Is0pvGk?B0^X<*K|96e})#mIU z8S$~^Jig5}$JIQwz?}J&=FG1(XZ{Cs=J%R2U$}nG`Dea_IrFv5&%$w_fjRS+m^0tm zocY1#%#Sc!$bLO|1Gr!B6`8*AB&Sy8wPa*Tk@Kep1uW8Qw`R2^G zHy?@q{^rczY|i{7bLOX;_eB4z=FBfMXMT%0^E=F$|JR)PqZ(!g5bhp^^9tt6oA<#u zPcy#>en!O4G#`O{tBAKVABp^R=DggS%!eX>zd7?$%-O%locX2Z?B8h4{8n@J|7Fg6 zR-?>-IseR;GiSbvImgq|ocT89?C)#N`~Y+2?>A?DiaE#gf;sa`%$eU{&iod0=Kp8T z{J-YRpU^nxJTqV3oa@`vocVLjnZL@M`D@L&|KA+(+sxTNHR7|)d3;-HerIO&Q!C7w z-)heMPIKmSH^~%ozh%CFIrA0GnXhind@J(_7=Jr+=C3nn{w8zg?>A?DiaGNym@~h` zocRsr%x^Jge!n^MsWWrVGxH~j{}?s`mI~&$JDI8(@%rXj$7hNzG3R+^XLI&n6Y(3( zD`Bjo%rAnEGw%R@#+>7M$(-YPE8_2)b3B{PIiBt298Xr$%shqRh56@r3Yv2~r6XR> zye_um>E_+wjm&$(JDYPnJ4L1JuP|r-Rp#u!!JPd=%-KK5oc+_y z+5dz&`xlzCe^tcSna{{fZ)&$Wdww(L?c+gn-ah7Qk#l?T_OYBf?>|;CXMbID_BSzS z|K;ZF?{3cZ9cIq_DD#^!KQqnQ^MpB%hs({GUu8ZY{oj~B&h29U4E&FXA2jE9N}rwi z#azjkaDMVGddive_}|3*8{}J>{{-)Dz6;*R{2%y0^P|GRl4Y2A3HU?i<=`{TYr>z2 z_)F&ed-|K^&C&CoIrqblBmTKL_s{>CbNv6BGk+2u_zJ@a+l%=M=1Vcon&zLt>zn7# zou1}Ydvo?*Vb1=m&Dr1Ioc&|X+5dn!ukVkTbDkeJ=lr~B&i?nz*}vYL{a=`~f4@2V zQ|DynkK2X)1(?A}Uca6)=ks<}n16=;HRj~hMFb|(y9hP^^ncr>x4)VX5Z-gJy zD$~b#X8w3{=4+cX-_V@-4(7~vF=u{=`9~P%?dHrsVb0GBSZH1?E3=-f%$Z+j&irn3 z=6^G1{+QM|=ac#4&6%%lehS9f(46`1=3SBRV}2uilsWU`%$a|}ocV?3%&#(Mew{h< zyUqJzoWGefU;6x<^Engwa^`QsYntDjFZ28L&8NaIHD`ZUbM{|n&io{nO0Z zKi8c73(VQS(tHl)VXgVI@E^>X-)qi%;R|xk|3>tbFy9TYWzKv9bLKBGXTGyJ^MlQq zA7Re?H1q8k=Nxn9SDK%jC$s)*&D+3#FuxhT*Zev7Kju{nX8QBC$vMxR;o0WwuWZi# zI_B(eY|j46%x}RsyO}=ztWuf?dHt?V9tEr3v=I5F-zs#KZmFCQE zH@^ns{K1_0A{XV{Kc7Utl=*A$I_AtbHfR1abLP95Gk=RY^LLmtKg0Y5jB~Cz^B9~bLOuxXMVIf^W)8# zpJ&eebLPx{V7>?A{KTC3{pR(K%Itrs_Br>%8{lQlnXhEdd~@?g=xJ@<9p1~lDZHO~ zd-&bv%ug_9{%LdOUo>a_Lv!XoHD`X0d25Vwzd7?|FUdL2w<2H3d;+|=IrFW}neS!J zd_QyM?>1+Cf;sa~n~%XbUo>Zalld~_x0$~W|I7Rfcvgp;^Y#n8tU2?Q%$aX)&U|Zg z=6jhl-_M-+yUoADI477h|FU_}{F(K9!@MMXlX(mHHuE;{zs&o>vo6g!pR?g*&HKSC znGc3HH)p=JIrF{D=cA{e`OEOT%|C=sFkcUU+Wa8=Mf3beXV(8i^YZXd%`3zAn0JBi zH|OUWA9q>Kd7gy)iRQE5^~_&_H#L6)-pTw6_?70rz=xYNKiZu6S?0{oGiUy7bLKxV zXZ~CB?=a4v%$Yy#@|^RTuR!Me6U|G&>zS8)d_D7?$Tu|~4{u}MqIl-=I+$MwA85}0 zVdm_=%bfl9nX`Ysc^{1Pd2{x!Hop$}_2#$3e>P|S4|C>=cFH;b%$GK2zOFg*P0X3U z+?=1Q-QAq|yUh9d+4q@0jrE;x{xRp%yZ|0AT4T=q26N{3ntzJ^1LpiZ>=IYxoX^jZ zFJt}_yn#9M&CHqaY|ea7bLK~wGe5?h`8no0FwUpUnO|#u4CZ;G`HAqo=3l`NnD2s@ z=$vytnJ;6`d;{}e(9_JkSfNaBXY-2ip5|x5uQ#ucN)xeych22h5qz-8JWYGGE4=`HJSuH#6UYakesN{(AH3g)`$AY+eUG z(Yzgen)zk$MdqKtmzr;aZ#3Tz-)dgvn9Ml;GG{&uPqgFXD$JKN{~P^P%*&v^rFjb8 z#=Ho;k2&)w+&?dcmou*ouVQ`y zyrntwZOobPW6t~y=FE>XXMU17^9#+JV4N?TGyjG8O~`*^ejogxIrI5?Rz2-k+JO|A8!b@D0bN+iBoB6(s`A~QRbLN|wGvC>q`JU#?k1%I` zj5+gj%x}OrpE75Dt@#4vH=4f(-)qkN0dwX{^vpS*%$G4|zJWRO&CHqaZ2l_7+0&f) zd(3wrKhb<2e1Z8<*gqGU7l*GkuMFR4eg=H6Ir9h1nJ>{R=X~CVo-*bSz#Ev)hc`2S z8Q$4^Exf1s7Wnn%2YG+NJWq+txF?$bik@la$Kv|C$ej75=FD$2XMU?W^9RhC&wX{y zd1k(h`QI3SMf0OE{tL``T)M=(3-aB~i(}sUm|qCL)4U;i?lnIb{-ilC_gV8tkY8ec zD=zmf^GD%Z%-O%goc(*v*?+*C{iS;6+%7#Z&TR90;f>9iKihl+^4-jP!F!uCe}_5q z_n0$3*PQtU=FG1&XMU|Y^FNs1fbs7&XTDUQob&l2^4aE#;f>9Q7R&tp+2$kQ-OT60 zdz-%izr%bp{2ue2@X6-OupiDaUjcvB{D0_KW`68(nf3a@{4eCcF=zguIrI7Y=A38d z%b7D@#hm$;=FGP-XTFblKCIUb=FC52em3$m%`b;9HfMghIrCqbGyjb_^9RkD&v#AE z`DDJFd0ULLiaGNanGZnza`R#Efe{~OJ`wpb5x?Jj2J%mtkAS~m&ioql|BJ4Bj;||w z-#(t&wr$&OYTGtaV`|%WYTLFswJ~L;wl!^klUdjOeR4jp=j4y+^qs5sUi)5a@3Z&L zNn-gcaLd1eTmB2&^3mIR_Sy3B;g-(@AFc5hf?K{h{DboC;PxDH1l;ly;Fezn|6=`w zTmCHE@>k)Oe+RexH@M|vw)5;~TwO0EgeR5ffsd3IfsdEh3*xVXxorjhw;4R7KGngC zcZa7`eiB@d>wIRx6Dq$2ZuvcM%U^?A{x00|-{6)H*4_;uumypAuzW&z9E~$2-16mu z_?sa8tOnQZqfbLG-V%O6+wBa$B<}^!sBKS$>*dI24!oS|Y=@_j?}uCdCR|@8_IUu` zr8@t>Eg!Oj3j_{3uy37}PXf1m8o1?)!7X17K2G&p!u7b-rvu!^KMHR7N$}~aKL@^0 zz68EPz8`M&kHc;J58zEz=Na6_AF87ZSf4E)32ymxaLZ?dTfQP(FB3jB;eTkHUE#gt zec&VI)8Uq%2e$c2iDLk3#9DrN?1l;lu;g)|6w|uBBZbSc0$$#@=`ABffr-j?=Y*x7CYr(5(zZ${y z_8XtxLHu3dp!6{qZu2|Ni%)|ORhZM|jo;<@1oRHrE1##t6#M)?+So8R{E$jXm| zTYe(k@~eaRhamgA8E*T#&x;>}$JTf*z-_*6z>6#Y0dDKz2Ryp+p>?4WIP}2rTm8uJ zM9QZN;va+TZ#KB?Z$U3!0zN_YE5j$sYr_x7yTWaM`@r?M%V#>=*3Ue+oj-TNlWMyM z;dZ{d4Yzy%-15KRmJi+CZ78tCfqk}oGPvc_!7X0`p23y%sQ|ZpSGc~6<Ogzn+lPs?Y7PgQ?%!e`4X2XXsZ4uPMl4G*n+ zGcVp2o?7|t@U-&&@J;ej@E!6=@Za(^aIw!8cw&8GKitN19G+hJi(dRD+}7LQUi>B8 zj>j)v{5M>uJD>19-M|8mqrmwxj}EtaPXyng{YnLYAoqobmzRNCKdZy7pY`F^pB`{~ z-5CJ4`m^DdUj(=OUby9t!YzLfZuuv0%LmsDo%KJS`V$^*`K<7q%IAfbkXMIWzCOI5 z@~z;u9y-GNDnA--^(Vuv{#y89)!7QaCO;3i{B^kH-@`5c9d7wpz1@ba|CUb#w|rjs zS&h>dZuwS0{Bz(&^wAM+*8{!1_+a>0)fopLC!Yr2E8hUO>$e^7sLEf0$CKZJ*N}gL z+jY@TcqZlJ_Hq9c*qXrpSUxG-@&(|QFAleSBe>;T!7V=+Zs(uTaLaFi*U^6MfVYuf zf?NI;-148`mj4O2d|Vxv)=$ePg!`soLcqWXV$@qX|M%8!IsmrsQ2uRi{8f8`g$7t8m-#XiU2cAs*=i{F6H zRG|R4jpqg2#uK`~`-g$84BF4gaO-D0FP;pZN8>377yFceTm8yjyf)nGcZDa?2KvA) zKND{G1#rvnh1+w*qj1aLgJ;utp1^0y-@|RbzQb+4VhwQr(B{kPCxY90P7Am7oE5I+ z;Zp!^<0%fe@ic>D9>T3ZKjBtC z)Ic|2n-{Ae9d7mG!>xWExYaKLxBBJaR=*nD>UV%!{qFGDZg+ep!EL*<;I`hjz{{x4 z9=PSNdGWh&+plkMs}pRH+mQ9&@)6;>4D*QzxAm3i;w$w1h@PvxaGqRcK^=i#qv?%md^yYd@i`< ztHCW_4{rJHaGS6GaO=-3xaAkZEx!le!R@}!5xC{=!u5E{=P}&!!G?JD(>xs9)^lpO zm~>B??Ljj;bBy2sTW@hkFWd=FMa@?MEP4m z{6~=SJcQfz`71B}2_9GVqv{J`fu)1ij|&f{e2yUgPmu8xfJaikloziAzo2|w_(geB zcyMjIA6#*tVes(!#6&MX6Mjzl#c&(XYWOqdkHPJE^;x(b?>FK0T;c)zvFiVXTm4YO zTp+M5f%9VZqr$CzT)5TG0WYNO7J!$Rmxec!SBBeo>cee3&Ea=dXCU0hGZJp&nFhD< z%!RjB{atXYe+X{%&%v$!HMrIP0Jr)-;8s8Ea5pfUN2?zdZuK+4t$r@J)h`CO`sLtO zzcswB`ql|Ticz{rzyOe;aP~1K?KwE!^sVgL-F*{q%6FpB--XE5paB|Fz-s^9Hn`>Y!7YCSZm&D{;cqoB zKfQRUQJ#JNu6%O%CwY3ftP_=#xoLbUuT&DxBC8YtG^9y_4mQ8KR4i( zzYn+kPq^hn>B7L~#qvqvmQM?}d~vwt%foG6TEQ*f5nj&6eT;^ekWYqN|JTATzZGud zIS;q|b-0b^y%+xuxAhroyc@9fxr)Z02yXejUfdUM7AZuv8C%Rhm4Qs3UdEgycOXFq!=A02M_OkO+}T&F3YYH+Jl z4{rIMLHu{%Bv-xYd6KxApcBZtLwIxUIJ^lih%A9&J2P;5MH0@J!m@ z?C>1&ig3%~=;g+8RxA828Tb=cA>(42;)xQY0`gh@0|1sR^hnV8o zf2$t>ZuMist$t#-)z1gF`bFWo{P1Z2x9zro+j<)aFQ9oG3Ag-WFTNUX`*jR%bU-#j*-hRNXeu$}_^J4WQ!|i!pY`FD5nHNt7*X_Sg33yfYvjW`ew}D%}Gu-my z;Fg~Tx95!;;FjM3xBMlzLh?$J~!O*h2fU3AH;ov zYw-X6(HtIKpX%tvd%$BWKN)UYm<>;^Pb~G~YvDPS-vPJh4+r3dl)nYH@jQgv{=V|! zpWwE?QD?Y{f%6r#pK;+0@8GfJ-{6*ysW-yed|5srysYY^ftQzOfm{7@a9fAf;C7yA z2=A);E#X#w5ZvmIg4;Nkz%9Q9Zu#S0{2biIe-m!we*m}f{{y$}hSV2IY+fv%1aA2> zaLX5iTfQ9J^6lW3?*_O01i0mAz%9Q6Zv8m`AE9}_1-JY|xaEJsEgx#OD`@?+d{VgO z)50xZ9KKTHEDzr(Zw1$Fj!#FpPNzPj;Y(F#GTgSi7H;{iaLb>ETmCxS^6%l6{|>i& zEPu~FTRsuo@_FHw_k~-&KHT!n;g%l&w|N->xAnOQen9D9bGX%i54ZY}=6Lqs>c@gx{iJZKpB8TQi^HvcdAQZD1-JT*;8wpk{EGTN z7#<*>3%C4IxaAMPKdH_M_)qymxV>-ZIo#@pn(O|dooC*uP9(T(H!a-qS>cv154U`E zxaB*-E#Cuf`N?q0&xTumE8OyX;g-J+xBNZ0<-fx%AAFu?pDmvVZu6K5ZtK%GhzARD z{a*$iP4igYi`R!IQmt0-RPv7SZ1T}?ZPsTpJf1!=*NZQOcT#?X7vBNb+kt!z!*$#1 za~j@U=e?`&PVzhOE%K*udr!byctrK*2i*D@V!qqKz_Nk!X#GqKkE}kVhTHt+@ZtsF zHos-yHl8YQ8&3zg&0}}Cuf{n9ZuQ5&t^NwQ)!zWO`n%y)|1jL@-+^2GM{ukE9&Yu& z!>xXt1#ZV}9<6>7xYbV&xBA)PR=*eqx@{iblM?+3T~!{M3T?)Z#{Tm4mV%Ws0` zP@OYg{0h9J@^9c)=L_8O(HFXZX#LNlI`QF_&jq)9A-Lu1z%AbdZu!1&%MXQHem>mS z$9*h^TmBH-*TsEK!7cwc-10BsmJhSY=f4l@r{$x-EuS84`Rs7ZSAtu<7Toe(;pP4t zosUl+xV>JCfZO?h0$i6vKK@>OF+6lIx8Z$o+wL*=aEW zU`yP)=*@8{F3a1$YE)_XfP2Jiv>;fZO%hXLu{s`2`Od-0eU(-B1U{0*@E-Xzg z7ykyg{SCRy&0ApE!1*$d2)FeR$BQR{kJdQTd-3e>Ny-=U;w9nJm9OH(>%eWjb%R^q z`ogUbGvJn=54Zd(FTM$G_ceRH_))m^^Sl?o4!3?j^y1Iq*3VB~{3qP{8F#to`mz2b zge+b=)(I<22!a2w}1xQ%Bf+{Uv2ZsS=ExAAO-`)fRB z;WnPDa2wBkxQ*v2+{W_(ZsYj@xADYY;W@vyZWF_MYy1V^mM;#sd?R=_)oBH{aSn!C zel*RPf>2a8~$Kd0x03@5SMEe3ggW zI;;h^d1(Z<=VN|w>t`3Z^>ZBDo{vp~+x#x_;;Y~`zuVz9p8aqe&uzHPR{-2seSQnK z`d{HzKh|pZ54j!^!L5E;xYf@JxBBJbHvZ~xtKS4}_1nO${&2X}9}lLA>8Wk zfm{6}aI1eFZuPIjt^NnNJ@5JfxB79``26=_^JV!Y@Ek7Yli!OMgO^mkA>8V;gj;?P z+@42`f?IwG-12MSmOl=+{5iPgpTRBv4sQ8~Yd!nvt3JepTRsci@_FEvuLie#J-Fq& z!!6$*Zuwbo%P)jmelOheN8y&g4=?BAKAytu_2MJk&j0_w?YTkNb*`SRXY;6Vdp?i> zZrjZPAFgp$f?K{8-11%F-BhO!-15`mmY)Z={7$7g^f8*cdkxaEJr2WkAF*Sr6* zK3hH+-16z*mM;Ofda?QdwkVaDdyo_9rt7YPjf`;iWA z`D}1|K2{KJ&&Nu@t$t%K-WqQE+trKrf!lf*?#0K$?f!I@7heds`_?sHd<)#}XZL&Y z<8WJV58&3fXK?FJ$W3nEYGL0t)I=k zcsscDa|GP_GXZY>S>?qy!EL?mgUxBYqqxB5O?Jm<^yD=ggBLkhS(XUG7z=Ut`X_WY_6{FKiBesFt!)dg<( zaqtVOGYxLfJvPAY`PB}%VD@eC1og?YU(axb?pu{E_O6gxk+7 zo&t}n9_j5`|Mfp`fAh(8yZ=A0DYt$H&R1Z*tNbwPkCvZ@uaw_{ACfDEVdhI=P)cY#y)6pCSK4 zZofmp@=V8Vr3F3)UPL}4NSz2l z>dZ&Jf$~e>qvRWd)Umk>?DJ0Kw=2I7{y}~^NS(;~|G+wzkPlJW&99w@Y@I|M=R5%U z3(7x(-;lq7|1JLn|0Mqb4^_o&H<->hHlAqmFz_VuNbn5u81Q`Zc<_qyB=Gw3RPgrl z4DkN)Z1C~&Jn(t)Lhv>6;_!X)vhWM?%J2YrP52jieR$ZauK!Kp@#U@IndBYdMdjV# zwdB3we)56v{_^4QiSn`V#q!DUZStA$Q}TK6Tk<9Fm-1Ec-|`Lc7}Z=qx53lO_rMFt z55X(TPr#eW&%(ROFT+R3Z^CEG@4?r}AHfgEU%)TR-@zZtzrerCf5IbHcYO)_ z`ZF7zP`&`3O}-3XM!p8#P`(M?O}+y@Oui33Lw*FlQho})TYesXR(=(JSAHA*PW}KM zqL%C16L@U-D|j0D2Y7z@H+V()Z+KIAC|&>BI`1xz03R)n2A?C3179ys1V18A0ly|s z2Y)Wl0{zS^|Jsxg}f*{kGwRzg1jQUvAjC`4|!eqD0yS}Jb6p_MtM8)8X~xbKsrii{QiME8zZeyPvc5xlz6a`J?h( z@LTc&@VD|~@Gx~Y0(_ag zI((PB9{jxA?&EE{kL7KU{~_-Lk6hoas~+%V^8WA~@?r3j^0Dv=@+t7@^4aiu@`doG z@)htl^7Zf@@@?>;^1bje@+0us^3(8@@{90I@*D7d@_XlTZ@{jOu@*nW< z4cz<&4-@z_;Qu`@N-PftPa}^CFDQ=#uPRRrZzWF!?<>y;A0^KLpCQi=Un(yO-y$yq zKPs;bzbUT;e=ctb|0r((|1EC^58u%BzbibJyf-|dd=NZ^d?Y-*d;&bXd^$Y8d@j70 zd8YTepSaVdW*@QRL;} zapl$EN#u3mY2;1dx#X?kh2mE`^4wdF(MP2^+XUFDPE!{xK!Gvy25tL4k# z2juJESLIvb&*gjI_6=Hx;j#6F@Kf+i@(b|d^6T(=^1JYM@<;Fi@|W<5@(=LE^6&7? z@?haSkFTThu<$GLDDcPf*znKtMDVap+;Nc-9$%gTo>`t9UPzt~UPd>TBtd=5OLd@($? zd=)9ez_D4;~;-3V$O{1OFk<3=h}Lt)E=*IP!wc@?;yyf%EWyb*l1yd`{-ygmG+yc_(!ybt`Fd@wwYpXJv_-6TL_!;>w_+$A&_;2|Mc)Yf5f6u`S%CEv3%m0E8kq5w+ z$)Ced%HP4C%fG@SwR7YA4bLhM9m(@`t-3rCyoWp{e6~CRe6Kt?{H{D5JXm`-&aCj* z@;vag^1|@^@{;fh@(S=a^6Kzm@_O)v@}}?u@;30h@=oxd@*eQi9b6y!!z;^&!F$Qa z!e`2-z_-h1!>`I0!hgwEz|(Ye<6IA~BHspYCEp7lB0mD3Ev$*05T%jd#($(O*d%2&hR$Tz`5b#eXK36Cj108c1C4o@vV3(q3I0xuxH4KFT# z2(Ki62CpN33-2WV0v{;<1)n4j6~*(oTO^MN-y)9zKPHb4zadWse=bi8|0&M`kKEPG zS8jMxc_DZXc?oz4d3ktEc{O+|d0lvKc@y|Jd29Frc}MtWd3X3Rc|Z6K`B3-^`55>w z`DA#sZmyrR;3?z_;JM_>;icv4;C1C&;qBym;Qi%?;gjU2;7jBe;M?Wb;iu$x;eW{= z!QaSV!bAMw`t|`HNB$k2K^`os=kZlU9u{6*9tGZ79vj|Uo(Mixo)SJ!o&ml=o*jNj zo)3Om?hAh+FAe`8uLO_M-Sx93JcYagJdeCNyu7?Eys^9syqmlie58CJe2#nse1m*E z{D^!S{JMM&{Dpim{I`4+JVp=Kw~g>L@*VI3^8N72@?-Gk@-y(B^2_kC@>}o)@(1uO z@~7|<@;C6?^3U)$@}KY!Jzal7M)N%G;>aVwGsvUEi^$`_tILzZTg%hH`^q!JC(3id zm&gmkcgTyw|CE=5-;-B`e~{OKhw0_|))<~Z-U^;Y-T_`*{s+9ayf3_+dQSqEN=!6+t>BY51vTg8J=F=6P{N-0A5Bu99~yG z4&F{a72aR&51%Ms1Yaay3EwQ=06!|<4!`U7T!u;1>Q$q8$M3n2))R-J zLit2^PWcRY3HdyDJ^502NBJ7~DEVgiT=_2ecKJd0MfnN%WBEDw7x`6q^ntEFf5B78 z1K@e&&*7Ei@8B)uU*Ut~zv2G!&@pk`$s@r}%VWYH$P>VS$&=3tKE8sEZ>*2}d+u+&cd*MapN8mN&r{S&S7va6-H{iqN_u!M{ zkKuFVuizWyAK}O4Kj7Ep!DD$IUytSC;Gg7C;XXrM|Kq@;%M-&B%TvMA$TPwV$#cM~ z%k#sV%ZtK$$jiX}<(1(Z<+b3)? zL-=g@Gx#C-TlgvY7x-2AFZf+~DE%NOyN`P$j|hJ!j{*N7j}H$u()A}9Jfb`;Jh40r zJgYo6ypp^S+)rKtK1g03K1E&)zEoZpzD?c)enQ?F{#4!({#)K1o??{iTR(Uq`A~QZ z`55>h`DFMw`7HP>`2zR?`EvMr`8xP+`BwNj`5yRP`C<5b`6+m)(XKxi;K}6I;ko2@ z;pOCy;C19L;hp3k;A7<9;r{YqaXeqwcFV)U1LRTQ@8z-K!N#~gB!Wkkr-UbwXMkss zXNMP&=Yv<4`@;R?rQt*6mEhClHQ_7d4d8p_&EXg1ZQ+mPUEp8kz2K3@x_%CXr|2)q1=O#S9{2n~H z{1H5Z`~^Ih{2km^{smq}{u5qR9wM&iaaT_s4&Fi@1>Q~`3*Jqh0NziY3_e1h20lTa z2|ibz1HM9@557rW1io8d5`IEn9)3k$6@Fh{8~$A03|@Y`TPJPd!Q`Fc;p9EwQRMyL zvE)PG3FM>TDdZF28RXO8x#a$EU->flk_m2q*THKmzXjexz6;(_egNK6ehfZL{wI8j z{33jw{5pJv{0@ARJOI8|{tSLf{sw+U{t5oK{0IEAJeYpbhFzEbBM$=)q5emLN0i5a zCz8j5r;{gv=aHv^7nf&%SCMCfHZ8P{b z<=epb$veW&$^U@gllOtYmJfo5nCQkc0v=C34xUXu1zuD>3tm}1AKqBL6y9CF8a`6K z5k6bK9ll1s7rsw^7=B)U5`JHP4*o@c1s;Bq>*pqf6Md3!%cSc z;tP)>@uLdtGuLG|yZv^ikZvh`DZwsF+?+jle?*ZQ=?+4#69|FHB9|eCQ zp8)?Np9T*z#r4@A9!I_qo?5;fo<+VE?knF6uPWaOZ!X^t?=C+IA0|HypDe!s_m^LT zua*A=-zt9yKO}z&KQDg`|4aT6{#5=Q{z>kW!1MY%%v3jDq2V#)5#g!i(cwAdap9%q ziQ)C-Dd9ck>EV;*S>a3Nx#0)o1>ra3#o({yW#B*LmEhs0xxUqa$CKBC=a4snmz1}H zH;}i7_mp>qkCXR;FOv^|?~xCKpOue+KbB8|zn9N|`%HKJnG262UkpzxUkT4IUk|S= z-wJOg-wp32KL{TxKMtQDKLej3zXV?-zX9JYzY9Mu{~LZ?{v7^7{ucgQ{uv&5hU@=7 z@Rai42|dpPIpksCrR9;~4dpT6J>>D>6Xi+ai{z={Tjd$yr{vk;*X4QP59Nj7FXbiR zALZrXVRhYJ1)e}&3!X{d0AA3p|Ka82e(?J8&hResp77!F0dRl$aQG(qWcUlYKm4?O zA^ehjIsB%4Ej&QJ1D;`)Tek<{zm-1@52O4UcntX^cyjq2ct81Lcs}_{cv1O#czO9( zcun~)cw>3UM4rc^pFBLgn>-f0t-tGAV)$6)Q^Kdp)5GV>v%*)&bHg{u3&MBHi@{II z%fN5QE5RSgYrvn&>%qUvo4|w5cKvAuk0@^sk0b92Pa^LHPc0t+&mhqZ!KR8?p1eT@YM3i@T~Hf@ci=l@Y3?6@GA1u z@VfGh@TT%S@L+S@apVg>HOF}=_(gdI_zihAc!0bP{Dr&`{Hxp#9(SG_Pgi(kjlUN> zk$eC=y?huvuY3%=qH-LwiH-kr&cYxoM_kgFA z_k(AY4}q7IkAgRmPk{H4PlL~p`@^@%7s9W}*T7qDa(&wZ4AGX!ixdbn!{5^Pi`AfLXSI88e^V?GS=q`4i^Xv3=XQA0(INh8 z@Bw(WVZs0Ni|{KWUH&Hgw)_eFrTi28gFHk^&-wi+4+Bp+%5673Jd->z-152M)s)W< z?;$S>A0e*@w|rChI^|o!FUWhr@5%eYEk6w&Qu8$no>smBo?pHOZutXnTMy^p-Bjle ze1!Y~y!9?OufO1XlnEOXHx$zW(Ke*w%6g-@M;a**M6nR5GDtEcE1oZjpzK@{YX@}-H*hD zPn_lICxl!5yl}f8DFL_pkqU6TAF1!fJ9+V;@JzGaI7h+dMgz`(^mOlt@;qU4n zh1>nb9eBt&F8=^-`S0*$%Kw7f{YdPzn8&%UetfvykK}+qQa%sd?nlbQ2hVf$E5q%6 zq%}OAevxlGxZRHog>O=RB;4*V{NWWAxbe(~TYfj(?ne&8pQz4pxZRK3gpXY4wtEL| z$MrY3-H-UB^PI27M_rw8a67K!zz6Jg`2=t~?()FxxGoO2<#r%}^;&SSCzu6|6o z6chZwt5MdH}rCAyUF1_(|pG!|k}<4lj4u z)!z-b}mVX7eL%!0r6d7Ct+-%Xfs^@jC`?=Z6_^J3q{a$IavFFNRzF{ct-! zoQB)^;S$`=4-dTfCodi@qvt%%(l{f*?RZZGkD1r)S30=mOTniqUk+}^dvkcqe6D_L zxa9}IXDUAoZs&)&@YwlX{e^HlKkS0fQGOrX&JP#i@d~*5SK)Skcm<;|AO1|ji{MD z*Fz)aW5O+;0X|0gEO2|iQ3$?G`J!;k*MJ8o-^`15_u}K=whpJlt^NkMt)K1irW4&d zIRLlUg|qP6dX8}sZs+Y+aC=?&2DjIRU|BrpE7>?Vo=|YBpA2rV3z^{dx{wQQuL~u- zcpWd^9^Odf>Bz;aO2Mlx7UR#@S@7sfZOXrdw4J9JHzcfKNP-M`H^tT zFM-?fxCZ`GbvD55b>T2PgO11JaC=>N2)E<-q zPGWcg<&(pw4sdm|!W$`{6Mjfu9)3n%8E*Mj@E6Lrgc-g)o?6}s-cUXS-tU^LGXlO zZJZMz4S9R`Yk6n5y&q#BJW3L`Uqj)( z@|p0m@;PvO|HcOR5aqYP?d#Nk!Z#^@9&TT!ehI&?{9Ab9q;9`L=Js3 z>Hv7y6mGju;P!RuPHS*Q)hw`)VnQPrRufe}4|2N$7U%hz5e4g{ZRQ036ZC#~@ zS1aVklLKB#?hCIVuLSQZuMJ-%Zv-DBZvl_m%8jQ3e4Fxp;RocS;eN$kotg0T^_(w* zzf_&=@Y)Sr{sg?4{06*({29Ev{0qET3s*l>e$ROfrt!ppS5ZD0yse4@M{ z{HVMN{H(kN{HweTJWNZsU+v*`zc3u0Px;aCM)G;^Hu6RA3G&_WS@Qkxee#R&KatOar!VIA_Xs?P`~qSAheVwQpJg4%t;I-s_@Fcn}>I(0s{2=%s`2_fQ`2zTK`9}CW`62i^`6c)cc>w&7 z{3HCdJX8_S`MM~N4ZkK&0}qhrg};`Uh5wY-gGVUg)@M6-40%6za`||8X8C-0A^8S) zY575TRry7DZTUlZBl!n-Yk5dt&pvmS$Ab5fr-l!e=Yfxvmx24s>%!N|+rkgZ`@%2E z$HD)W&x5~_uZRC5KL8J3(#`u>cpUj{cnbMTcy{>@cnNvLqCWq9g#Y)yQU3kXOAUE^ zcx!nEco%s-_yBo1_&9kz_&j+#_$qlH_)hs)_%XRZ{HlBn{E>VY{Hy#lJZvd9FE`-{ z(58BY_P??`9=y3cJ-nAZAAFL$9DI$u4*Znd4}MMF6aGv-9R6EA6&|g$ z>)RrDTKNWeCHX#hQ~4pdT_;?C4_5vPe6>6PzEl1L9w7e={~-SkPgch5Z@A)~^P5v1 z30_~G5Z+pz6h2X&13pKd2Yy&y4t`c%3I0*u6#iS@5}vxO+uvUBZ1R5aI`WC|=JKiV zk@Ds6N%Gb3t@3^Feey%_AMz{kMCIIm-GDcizkm;yzkzR(2QT5d9uCPv!#~O6!6TJ- z<4FY1CC>^kD$faTAukPYFE0C_f9|C%*`PBL5ryN&Xa`qGHJZ_V))om;5)praXE{&-GJJ9vePb zo(?`vo(aA~?h8LIF9ClcuMPhsuMbaL$?b1Pcm{b_cw_k(cu)BR_}rf@>lR>@^|pl@{pxG*TWTgSa`51Zu|-0(d9|t zzVgiQ>hkRHUhp!Sl)M!JElDz&pviz~{+_!8gc9!Eeduz@Nz%z~k0(;eSpF9D4m^>|fj64^7n!Ff%zPvJgv%CTPu-p%RRo(;s zL_QS$K|To{tiD?h^Wfp-tKkXdJK#CwN8y#^7vXK?cj4XT58(^tAK|OyU*Yz3_R!@$ z=l#6$;o%{)4imy-%9Fy2$aBFrHgx?g1Rtb)dH5`OUHEEwYxr(?JGgxxUqASDJgU4pJg?jjUR>S*-cCLg-a|eTK3_f` zzDm9rep$W+eqX)=9=@^L-;?k-@-y&K@;mT4@(1w2^4IVQ^7nAdhpgzi9(E`n7H;{Z z@DIwTgj+rjyg?J!hXU|1@=EYo@@nv-@|N%`azA*mrf$1^;nCy+;lA=I@apmz@PYD` z@Cov@@V)Z=@N@FR@LQ%Adm<%U{Ds%6%$%u7@e|knrvD*zo=G`0&T_ zwD9-xjPMlA-ToGV=ad(Rw~^O__mww-ua>um?~`|izmyMw|B{b@+t>H!!IQRd`?Uye zU*F#exAX8>_z1mzU4~cH`o9fdnbOVc6L<#YKftrfzrbz3B3JfYC*`zXG2lR`2cB2n0NzC25#Cnb6+T-&9DYzf0dC`*1Go2o zu7m$rc_=QjM1^7r7D{|tYw{CBur|AejLxgMfxoDt!cPXaHb zdSsDm9GJ}>z`)uZOXTTTfR5kevZLNFYfQfH^J@uvUkF*{uQ`= zKlN>R-?nZ&{0+CClkgs%v9-&8hTG3Eh+frme(mQZB!=71Nk|QEsru>RR=*V7eojI) zxc!`jdT{$W34UI@zZahjU!ZYLhuhCRSO>qV{3f{N&%q!r|Bb1K_x1W=c5`IAWv~c@52}R+*lrIUlpOa7*p4-puZ$r4fj&z5&RlYaeULPmJ z=PN%QZa?>6CH$)LYvGnZ3Af|%0z9IQuPbo-ISEhTWt4vbxBI3r)jj9Yj_YXffookq z%y1GyTgZVb@|@#&GNzU zb*Ef@IQ+JJJbcEVE5Qv?0=`Io7rtNq5dJ{^5uWv|tN#_= zNFKh1=ep`7j|^WVPX+%WPY2I%&TY2`ri3+{8#;Dvpi$A>4BCx*XE?eclx3-$FXUwD6c3Aoj13XgWt z)$b?|+^i*LI(`d0!sa{XH|>^2NM(Eic~5ix2hUbG`URFMipJ|A5!o zp#7}lxxcODk>PedmKuId`Sfth7lW7B=(bl1Zuv&=6UsM(`)+b|y2C5Ud&Bq3$H9-v zC&5>yboH0Ob8L3L0&dsIyWz`~-w)5;*VVZSU)9a|9eDQb&L6;ktIkLG0_DHLZM#wG zx_Y+GvvhZVj{{$}!+8R@Z8tMK#!i>d4zIhwc}e&%<;%i1Ep+(?@DIv2f!ojP=m(D< z*3}sXkG9+SD7e*G2LG)5D!AqM!3XSd^$)=+1i4+s|i5H>%qUNP9wP0=?lMoz||QDx9hP9@Nx%TehU0; z80X93dz4=dzvAoi``|ebIX?tXtM?gPfiF}32HbvL%3FAX!>;~ExaA|(cb~U;9It#- zxX%%nOA8Mz&j=qVF9APv)YT~iw|o=$=;JQm0=^=v^Fi=0%8!DFIN|c+;8tfTyo>TH z;rHbS;Q{iaaLfM%uYS^v=RUkaALk$7e=7e49x&VG!#B{M|NaqpJz4sc`+H>gF@NW& z;ro?O56^zu<%_}d$xFfQ{ND_|bDpcy7M}M{=N;j8{vQEfru-PVZFf2RvR)U~!#ACA z+uaPe?Vg4wIqUN0;P$%n7(Pk)=Wu)73Et4vv*Yf!@}c32=eS%vc#m_=6TzeC?^)sR zl+Ovbd>MGV^R9jc_{Lt&o4{`?-vU0Qx6Ai~KMLo3IQ+SM0z7jum!AoLRL=QAc-Iup zSHSbFalR40O!pCo;3spt{3-Y~`89ZKUzZPn-ze?;E!?k)^N(=5J`At>30o(2KN1~& zT(8ry;Z`Rde4<_tGQsV2ss!BbcPhZ!=zLTKZgrZ&3+Q-g4YzgJ2cATI834EZWVrQl zI^14Q*TU_7Z7ckw{=O4#b^e4;ZS3apJiJ8{=a1n9nmT_CuONR9w>qJ;9a|5Ho4GnM zy?7=sUKwupp|#;wznvE!=*4Gw@wHz37(9da>k2%d{02RY>%&`k@aE1x!tH)AViWgy z>*s0Zqr&a}D+PRJ3-|BS!27mzUK(C2g7fNdyN{?3-_XY88^e$IIqwV464Cik_&w!E z!jHCf`6ciN@)ht~?Oc90{EK`){AqiazXo5{)%h*>blsnRhTDDXFZgEVgX_4ld9*qy z;C3IH0bW@5r&-|1d$@6yhsV_YNOgF2#_UrynWsN{tdV5t}pNq{apSB-0DZx`M~D= ztn$&}RzDSddVg0x9o+68i^69QaQTvO%Qu7j4|Mrf@Y#c$4}s^L<$Mghn0x}yWxH1`{9ELy!=X6rzza>z2PNRxqN?k`PI%R!5hk_!PDt}WHsFGgSNo! zK4>pIyXqW++kMbE`0!kAoY&x=_4WN*@H*Q={`U`F!0kTnE&PP)B++${&HJt$u1*Sg z`d!X*z}G6D7rsT_3_jzutJ4ZTRNfPA;~xv(5a8-ehmTg@=EJw@{&5Z5ejm>P_{_|% z|3~09yN*E?hJUR9M1jWv2!|K2Tv^D1V1W220tx7 z1-IAn2XH$NJcrxy`v#uxj$5}M;OXu<582x7hpmTP%EyM6&g60#;Lp=J&jSA)+Icbf z^z_b4!7X1GUNnQtH-v`@pO1e_9-VRQ;(AxBKOK@Rku=-x|RW$veSM$h*N)YdoXib{{SGW@FiFL>E7uFfO4y&wJ!JhQg@6Mj?m!|C~ftrJ_%@!&C3 zCnen0PbPRO<#WPchjZgE1plt_REFF0liKi9VO^d2@OttN@K*9JaLW&c&sBaT{Iq-? z{DpiO{Fi(cJX1I~{sZu;@)Piu@;~8rJ@61dRr$wo%m0KQR6bf;H!fQb=BeP9l+O#d z>#m}3TPJ1UKee8#!tHgW5!}xI?cfnrXMh)<43DP#bh!0rEquB18{w8e0Y9t!pKyCU zdI-1IqZjaRs`D0pR@c?v;5+0Y+j-98et9_fF?lTbDS1Bly4~)2qbS_ATLEs{Z3C~Y z{pt?4^Wi|aoexLB?R+>HZs$XPcyVoa0sMlF)1~m7TIZ|bQPa8pZh_nR^AOyw2hPJ+ zq;YjF!|iqa8QiW1-ofjqb#*?$txkmYp6kJ`2jal(I86$->w)xeyB^36|0lKEUIBQ_ zD9+2k$HjGC+l&7Jx36mqg4@^8M!~KATzG<%Zo3QN_Vu+b@O8@XfLs1Fyg({f{~Y{J z`2+Z6`6IaHzrtIn&;P*feV#Epxb27k_m9B$57>QNQn)=&NCUqW$Nl?)@NBW1`@-$K zT^+tt`Py*Hw}t!0cJ({L?fgF&ep312aLdnvSJi&ah1>agE8Nb{``~tdJ_;YNb$%9Z z=ZD*HJ3l;wCsdtRa67I;baZ{P`L**y1b7YAi2}Deso-{g$OgCbLw>lOA4i_JHx~Z4@)P0qb>7ABM(Y1^xPAZKez?v13AnxPT!dHCcy7V1P5|8c z`3l}Uh3ms-_%^+6eurB>V|D)juZLuCdp*qrxBbcmFB;F)%?G#b)`cfc=<-eBIpi(j zHoyJh$CV!pxA~n4ua?MdcP9KF`6_tw#4f)Meo1~FUQW*&FT*YW30^g+tN#uDOCGI@ z`@Egc!zFWnj|I1UCir&cv%v=?cXi6bSIR5GE$;`n>x9nm;R#&*-tY@rC;j0Sn>tqMKj<$OgZucGM;CA0}9d7p>_u+Qm@e1y%b@CaWT>cw= zN9!$OSJx+74*~M1aC`2Z8g9=|vcv8CQvjY=<0%C%mDG)+GCYmE4&27y68>HF{opqK zfp8oDSh$UU8r;S|7oMbu8~-MFmx9i>!R@;AB>bE5XW*8<2Om<%)enH%b?Ik#gu*WW z9d7wZ-Q4GGJxo_V8r-g9)4}aJHapy|WAnhrZgBVeCE&y4)!`5FxbZcB+jVbSxLxn{ zg8!A<)#(Sf>$E9wyPolfH_~|K!>!I%xLvm#gxh*M1-I+H%W%8iyA2O0;P&eU-1_hh z{x-kM|AgE4WBlPhZ|lMOkO1zd?IwX+om_D1Ls7W(p&Z=$Py=p#XaJw2{b~uf>)t=$ zz4E&K>;<>$(rIve9a#vs{;Y&wRQ<%4zi zoL{>xiVuIFd}6p=7iELn?={Q?x9i@DaGUp9aJxQi1W&uioj01nugE*WyEJk8`3KzI zZ?F`;M&Hl732t?E!!N1+F?hPtZo9YO!%H~73%B$9J9vbWF8>K``LKHbpdF`El#d9v z^L!F`yi%@y3b^HS!|msH=ZD+tLN&O(F4TwH>q0ZQ{T_&}a669;f^RA2#y<>h=O2H# z9jA-oC5yW{%i&gMFWipDlW<$l7vXjuyA8MVSO7ey_Uk>ow67ayu%7Nun|JeA@J7nV zgI|$ngg=yLh1+w#GVsbpeg6BX0JnS#_+I7Pz-|2ug4@@9M#Js*^h|-<`<)iR?dNc9 zg=ekk#=jG8$Jd|mEy|yVTmB(DPbF91-iK@RWyjYyw9oJt{=f$sGslP_WBaCx99whsNnt{6K;J=4!57rn;LHW zTM%x2D*^vp-fg!G-0C!fTi@Ekt#94n*0=s}>)UYni*jx})8H#Kze~LM4){Lh_rTMZ zb@k7|v&b*O?fmuzK3Dk?e2uzc5lG#IpKZy*BY+Q z-*CGg{s-Qmrpx>Eb${AC+VyaB_%7vR!|gd?T6oS{u5L!SJ@=~w-==&uxaI$V=dSJQ z_k#aQ>UtMb#}mR}3cUdPqh2)E~cC*fz6KLfY?Q@A}Rd7y~{*>p2eG?$>g_Z9Nx(+j+G#+VR6 z@cPOxgxmVx1z)24KDe#_3-CwEUxC~G;7ho@UVMVvdEghkyXHMYf6w{tB995T`?VzS ztvU~+g&)`Y$q2XS%*Eig9?HS(IdgTmJ!ftJx97~Q;4wAMZg6|f+#hbwnMc6wIrBug zJ!hT`f7{yicN5&+m$)1LO!*^ldw=FRxV?Y!Cfwd1_%}S5zAp6&exsEe=O_5gmd=9> zaDUo)V4?i~=(_8uE2_7R<8&k4-Ccroh_rMg(kUt3NFyRhw@7zMgM@TScSv`4Nxc5N z@9SM_zH2@F zUj?rF{hGtI9kqwgT5X@dJ3OziuR(Ct839k@`3dlB?sMVO*VuBG!P9jzUkBIu)K0k0 zgO0*=pWgKl{1v>AUnhG9FA&k%6RV&7SL38sNBes`xbj)yn?0WsuH&>aaGjS`f$O}i zHvFWI|3>f+e!osfxVF2V@bG^B$1r$2_Yv@R?sMS!zFPs;b(Zz;?p|jT{D}K;xb~~( z;Yqw7F2QwO|0%q$=U>8=kKRAH-qk;8;o9$If#2}<=ZBwnFAl%r{xw|t;TrH2et$-N zxbCNE4A=KmcewhqA6(y4!{GX!8Ux?s?U@d5?c4hz__ohNhx*^2weSvc%(ufIjt=v` zc&J10sehZFgXg_!eiJ_Pmibfogpy%H{qN5Q_{a+85eNMD&!My*XyczZE?nQg$>I9` zO#|2WZ&tY0dtUf#-(Qu0Yq=HST5c`4mfH}n<$ed>(ZxQ0dw8))=H20Xu5B<}&$Ug4 zcNt@KeuZnlx(2T2+IGUNJ8&i)~dpU3KqfM=g* zJ{qp)-R8pAdwwBY-<#XuIzHJC*Yj>i;oU}Cdv3xPk2Jpv*Kx>uc>Z53A8L^OSL0YgTb?fkSHIPV>v*FDT*n*j;9Y&(cY|wQcQ9P@lVjmC z``hQ52-m#gQn-#Q*1)59dp5vT=P+F7%je-5KiA=!pL__{{Nzjc%MtduKEl;M(FWVU zYn-Tm62tfWY`NrceXcxk^-p1VeQ(c~aMh^=SN}ADtAEYu*wFa2{3g+KK5 zI0>%#z!~u8o?ix!=-cN?xc2}1;5|Hl6+X)SCS3EeAK*HUiaaE^el<@O6TWS@S8~T<1+y;M(r$z;)i#7_RfC)^N@5b%B@j z{mTHjj`M$p>o|WrT*vv-;X2Nr4=+F6#@iBjqZ#Ha;m?T`$N4FX!#g2G@LkIk?78O}M_t>%;qd z{l;+B?+e%Uf}h~}ejfwh;PofKwf|oQf9&~naP8-hz%zS)o`7pVe+%Bw^Y`GoUJ%Cj zi&~Fbzmee!*V=f94UgyZpDEyp-Lr?_U%|6`zBF9tkM-eNzpdb!AL|HT<@LM5b-p3q4D;hG1#1J^v*Q@FO%ckmeN?Q?yC zx8GePJZ5L9vNO}xA|xAg$K;zz~lX8o(SH*Lg@egAvIjTH<25z-w+fh3mMk2VC!89Sqm|OGm)9+|_U$Pi}%Megs(z*r zyhsS%C_0$jg0kqDl(fYnb1*K@}?;Uhht2d@2j8Td2Lmxt@Ud`;kbZ)aWr*6TFM(|Agy(fXCryJbxO#a;EKP?!xmIw)Q-P z>vtI zz2}p_Pkw3te|C7w64sv2;Tg+Wz7+g`=gYzMdk~G`+5LyFn!}av3m@nC0dW0(#1!~j z&rgTz_aN576O^{kyAiJZG5BE5pMvXsws+uMFxd|!CQ2-cnfaDBf_hUFk=MBdSDmMD{oX++zdo$>E>9GK7lP|Ns{~wi zYKP!$Lh!*M_~a0LC0xI!unk^2lJ)a0xXxcL!qp{hmT@xbA~02G?89{y7_tJ4{--%}U`4eRswjBxYnK|aQzNK zKDh3;EC#>jbxOch=UaHqc(&Yza2=nwhp+W~C%C?Uhr;8>xBA23`u_b5-ox{=;X3|Y z3%~05jc^@z{RJ_g`AYB+iL5=<;8XhBxNHyC?G$bqJ?cCnAv|jiTW(Ug#zP+XaL?z5 z>v+BfT;~z>;01HqavQ-{&b0O313uOBec%IUS$-7!gXhP=^?L{N;T>{Wdlti$-vJN( zx#jo3mA?cZ>-lSN{XW7wc+%Wf|07)a_F4Sg+B1pp6?IW?%P-v@Kg`1&PurI?1wM% z{2{o0PvIs!*F&p+7q0tALrt-N*ZR_Rz)0{-UMCt{_l2f`>;BR#@QROYc{$*!^A-Gx z=S#zNf9W^yR*$WIeYox~?Ert}`7UtXUpfpv@QKwQ0oV8VT)6fF%i!96SHZXX?~wWdB^1;OhStaNVc+J^XD%TW&Y_#uMiK;JOcUBwY7lPJ`b#ZgpnBb^qjA zxUTPSfmibOY=^7P8MyA#xDMAid;r&dn6Kcv5A!2@mVd4Y)9mwUoapxy;=^^moD6>Y znEn5$;QBp<&*2Guxq0E~qgkEuaGgh2gV*;uwcz?ag_iI+UcU!i&+qhu7xT|G0| z46gT(Pk`$^;d4Xq?QqQp9)fHB`4n9B@4};8w|;vF*SvHnzy72BKwr;?gDal^{?zkH z;Ciokc6iGh)}GJd%9ny)@_aeC?#FHn*YQs~xQ@fSz{{Su_WT4-b=G_&T;H2B;lFr( zE?oKb@b{kI1lRZGVR-9v)}G^V!?pdEgKIxf6`s_WTNAE2ZQ$Aubcbs{&>yb-z;L+s17qQ({c}x&>weM2 z@a!k8AC|*)Kj#6s#`9^o`sWh-N3VYkuKFM0x?ePk-{-6Gpni)Dzv}hl!*#!CZg{~{ z_IdNcb-!p8_$1HQfNTE0CH#@++rV|d=peY(`v|!9s}tcPuUY$Nz)$&pV-8&XuobTL zcmS^b{Asw_a|vGNg0<%wT+0nJ)BauSQO|2cfj9cwa-YGqUeeP&pBb+8QW#$TQmFs_ zd03ute)Db@2^Dg4;L+$8ot@bNqV@RYbXrY_$&$6a}5>Y zdaj`sT+cN$f~W9ywu9@qx;tFQ)&1c*uKo$G}#uk9%ak>L7%PYKuednUNP-?PK@e&#}Oy`TAO z_^D^szUpwDFEobhIN^JEIIq(guJ8As;QAgM18?hfCcsr^30&WI>*4yo*ap{e!U4FB z6OO~TytMwg23J2kfq#5q`4@1tKgyiocu+sYhS&Gy#)qp;R=D~hKV1D#9Ik#S4_7}_ zhwt>yRS&M?r8e*~&+T)557+U`&v5O>Cc)J|GvGtL{v5dK{|VRe(m}ZT?F4*}*FOW- z_w@^Sc<-M#aD6Ywnj2j2Wj!AcuJ7fH@FAYh3fJ*cNx0T~MYxVnYQlf?>j>Y#&$zdM zcWh*zrwv@!FMfod^5^@;!&PTG{J7U&2ru-HEq4q2>Ra>eaP8+$!qdI8{8_m2_u;KQ z{}`_Qe3*GwPy6{5o{s=mJ`wz-=aa$pz3>HG-wQ?I`d%mnpXvQm6R!POQ}`$U{%r}@ z{--Zo+vyN^Wnb=3aMhUs*Y>ysuJODEuKn0nxb|av;EO)kdb$Ar=Dqo4xW>aX_%zSI zf-4_+esDZo@_cl-#zRVYDsN|6xbpen%{^ZTuJKbHuJKb3uJO|tuJ;MIhiknIg(vpU zI}xt&HW%L4x9f#)jgzf#jki7UgI?zVTy?I%HQpY;^|@ZcHQqkKHQpjF2(I_2e!pl; z_?I6o7Z3jJT9esF!?O@bfs z{4}_}@0P)1hqn4F;W`i93GeLry>OjZ-i4p{{6o0%F%|~bWAQN7o;YxwS7w3F^L!4t z@@3$W!&?3FaGh5+g%9_9OStlb;5rW-0sr0ao1F+B;NxTlT*rIM;e&iUuY&7%>@Zy8 z`8-_P^)>i1uYU`!`e7CY*O!j>K7(s}j}JfV^%KLjUF3s@@%||U*Z8ji&*}L(aE<>q z@H(FV9lHObv*V5yrpl~JK>kT{d?h>$M_qr@o*Ea zd5lMJ&11ZVYaS!?;^26QZlGhFi+dEl-5KI95;UB|2m*ZWr+ zz;!*h6?}S%FY;;o2UP!^5|;|34c%nZG|X7hLb1 zC=1v3U=6sQcc=&d*6TNd>%9}*;o9H!gP-y`gW!6P#6);(@3*ONENdm%Mk%gqYU z>CZcS0oQmd4cB<91RoRIwxjwXcvtuW&-aCIb{_!O_?!&a_?!#Z_*@DP<=-#A!!wemn@MoTH1K0hu{osv#Tn&Qj`*a#y$0u{)x}SClynTB6yxZVu)0*#s>-gjh ze6r^+z?FXlkDkuzKZENyC;ach^*+$^k>ScGg}?E9O1SzhKU~Kl#o;;*DGT43*xFwe zuIq6P;hIlt2T$#FI>I#%_9I;T^HK0lUS}L!br!*Oe!Uj1@v{}K`Lum-&8HoOk56O$ za}KWlxeZtUyo66lZFSzl^|@lK42~1^PXc&+Z%-1q>g0l}e~Q4>Kc(U7pDJ+mPaSxE z|6GmX4+q%i=>*sOVK4Y|&kuvgPh$Nx0uiJT{=l@=a;}Wk9r7RB8AmI23P(${7=unhJQ?H>nX7E1w0v((^gsnnx`IFXQ8?JY4yfaE;Hl@DF}nwF7+k?r{HopuTYJ9|pp8 zy>&KxmDiaM*Y(_0aMfQASN+rQ95<|;SK#0Hc)JVl=Hve%T=Rip*96z2w!5fs%?HMX zYd$a;T=Rh$;D361^1yZ8R}`-EzA|u~_f>)Gc>WvsjqEl)8^9mrFmDFmpVz!2TKHU8de6IUT_*(by z>w@E9y8CDFU)+v@oZaP5~$z?XTQZ{e!{9eknZyTP^GVQ|f>jDc_WI#b~r z-50`3yt4K6C%mlt;Sl^5T*p6;;Hnd5eQ>?VlZ4DO~wo@ZFx@2iJQoF2nWSo7?c5QLUZ#;i?m6V{kp{y*E+dv%St| zaJ?TR75ug5)4`R`53d-_*DpNoA=`ed!@qa`7Jkm_G=!^8H+Y`IR{sZh+vwJwf$-U$ zp8((C`6+Pam%-`}+;hj9c7rt_)t-tf|{hq%Bk9O2P?^Af1|6OGG_s>gs zJI_b@!xBLKj!C2OwA#mlVz{h%iI$ZBlS_!}J`L*!sv2D5g;jP>c!Bzhve23?+z$YEI z&-)mjI*u*(Ib83X3bQFV9(sB{0{s8q=L|pQ`DAdtU!nk9^GLEc>DOTksAF8VpPCNLOz4keWzz=!;C%E#n;HlzSJLkcBxNm_Ea^DVD{v7{XU{i=zjz<|zjh3Q-}L;C@IoIfKNnssgSBTNT=S5d z;gdbT4gSRa1pJlz8Tcmuez^y)n9q=zeC z7T(Wq>TAc=P<$J?ddtSe{pzT!oUy+ZO&FasD zj|^kJ1>Vc^+u_PzhhOsiZMgE`b_M&hcy?QEB)IbF;IloS34S1~)hP{+mc#sOxbkh` zT|M6cuKY;&-<}@>SAIFXL{4kZDtO}X=11U5J%0kO{7ZP;Tvq2TT>1FBgZu9;^mA)ZZMgD1;lFvlFI@RW@KCv}{xZ1oyW#abzaOsrefS@q ze+*YX{+?ieCdy;&Neut{Lg@d3+2B1rp9_A;{Y&^$_mc36UwA*mYrB67*ZZK_!GHIB zN4WBX;8F70a({%kbDs+T!TmS*HTU1)&)wI+Yv!}%?u9pZKM3FF{x|%r`&IZC`K|s7 z_?PZ);IrJL`n-#_i{IU2z+)G%`l;Zl+|$8-bk7f;>RuTB$-NRhc0pTiHMsKM!S#Gr z2Y3&!(*=IXeJK2y`*67Ozrw#MWbK>@-{`&yzSn&nT={+QjD@ZKU-16!=ixuPUxF99 zWZU%<_)X8hfEO=f%Z;@!xZf!29uKa3HuxOR=YlI=4*uTr72)-YT6=oJTe$aypLSmk zf8f3fUa^?f-wm(lz8~Ilw)M+J_#V$+fh+$8Ug=9)?t8fMarX!N|Fq{5!u7uHobcMk zt$rT3@)h7`JzoW`_is0a7yruYw}dO-55CXygW$?fgI6wL^=H8AT(t4L48Ga(E8#ai zzYm@ug4I6;|HH47o`;{^YsI!8q_|?rGo) z*IPaZy#5LEvhbtl%qzgBoHwrz*L^|X!&CWv9X;S3S6ct{fv<7@8NT0r6g-;OpARqV z_aUr+f9?6zaNQ4i7_R#+&ck&d!Y#P&S9t{g<-UF1XK*by_QBwK*L|3Y;jJH7o#b%c zhnW|?+4BYAx_(yy9{HiwuL9S7m`&haJl_JY`znXQZ+d0hjT92$ftKc6~T7MmY z@ACX%xbnB)pFg(x_u&0gTm3M91=q_K&qshOpBk?FFtfmQ9P$PHz%6S}NqDV&=G8;+ zHgJv4&T!TF8Ln|V4zB#~aNQTQ0j~UMcztjGO}O%JL-5##g8kpz>%@oa{*CN#)&D94 z|272wJ_H{If8p&J0attG!prZs^|%nO{5JS{&+mfk`odMXuFu|uC-v(!58I3>Od)vhgVsOA;Hpy#uKQ#fz(4!T>NJ7tzL&1>W}fc} zSAGP1ljldnb$`nOxbBl#0q^hk&#Z>4&H=dYlQ|AA@At!;hU>nUyYK~`e+XAT)REwL z_~iL;aNQ@9fPTdKKM7p-$z-Q{{&TqQlPLv{>-WQygX=z-dhpJkZv@wUGM(WEJ>MO! z`&fp;8?f zM}y-*_isdnzx6sX;Hr}WUg?DOTNb$P-zWi}n01~%5Q=<^ZcK1U4JE8ejBU%>xzuML0T{w=)n zO{>!$-oU*Re3yHF_-XgS@S=WRJPBUSeHwg&`zpBRsW!niU$+B(-RJR+!}qMV&wB%| z{mBFPmCcra2fyte=~Qt2F57PTXmDM(N(0yVeinF)9abj?Ty?&Jck+B`_-XfV;8)!1 z!<0k_Ye{zI{D`Yr6|~ zI=FsUdOi|d^Z7~PX?I({rG#rfJP&-L=kvo=zY09V9;;siu6$eg2G4hZt3AWuWqmsu z0atz@T-)hNxVFgluH{aJYkqq+e9wBT zGas(`?XB=U8!W#AuJh=V@M)eu3)lSiJ$TBER{s%P^VKoW2G{!%&&P!;pBJ9@5364g zuKDU}@U5P&1y{a3y!0lk-wCey>f!MFp4abF>3mK3#mH-Zdo^6!(H3|@A18a@dcW%_ zc-}SE{&R4>fAu9?<2m%X;Cj*a9vME`>qm#HekQm+*B5Z@e~Q2_d;Q{YZ5IvT+1A?U zZ35T$?+x$g`F?PX|FQ6co}UQU`(2mAwI5y&*M49-e3Wm$2jHuGy&s0_Jq$PCT8|Il zdJn@(xZcC?5w7ZF4^h0G@!)#CJ_TIQ*Jp(5`TAUNJzrl4p2v^ts=&Ya)7E

    JNnLeG3!dEj&L3uKZH?AFg_@T%UPG;q}^0N4JZ6kOX^CAi+d zR0pp2FExUn*=qgM0j_@d0shY0KM=0=Pll@>X2QSo<<5nx&L42~!ydT$;Rsy)a1O41 zxB@TZ*N<+(PrBcOC-LhqkKyOtU%*@X{J=YSb-&IY_F`~cUGnSx5#ieJC4+0fmkzG| zUUsqn?-hrC=IyKm*M6@KT>HJoaP9Y6!?oY*0$=pf#^+D)($CFD!nGfp3IEgc zbK%ObhZlHZ^*6z_A3F?R?fK(y+CUu_20{-hK9kl%094X*vb2)OnqbL^uKsxkum8;Y`6FDPEAFM>I8py3g|GBFDdDP< z7q0&K3a%U;R@PdG*h?@FPCnTEaUvvd_~CzQgaA8wl6?VJ5>PytaN@1lM`} z@9^lJ-vW>8elP^T1W)hzYjEAC@fNQ7u`UPKqdYCVx!2DK*L@B};kwVE99-ukRp9fy zehs+pXJ`Sx?)lbmUEl8mPy5E!OMm#vnfCd|!kc=2B3$=5EQRYnht=?%US~aA_bnWN zhk0x5JPg-;1y|uEJ%1Cf`wHH`2YdcKT=x~kxDp%>J3Su=Ghev&9?avI?`CSos zCC?X!>pp}U@LxP%2d?Y&UEtcE^oAesI{o0fEvg_?>v_^{@UK3E{;%D=;Ceo2Ec_SGPlPMK0e;f+o8ijefhYYK`oH!(fGZ#F zTCkrRc|HjGYz*l*GJ6!oo z@E4xH2G{eUpWsFOIo7b(gZ-?0O85_+PYYMRG<=8WzlJN{5*|KunEx8m2CnBrhrt_q zegs_kMes$QUj|qH2>g}jPr#Lb0{<$Ewf_ZN&xgjk5$xxwo{tAt{&VVQvQd^PuM=!1a7+ z8h93ejx_^Z`I7J+o-YemzBPQG=i9@T9|hNQD3jrO4&^uaTt8l#3t#BR;Y;Dk{W+K4 z;kr+F54^1B55cSHc^Pt!YUH_xwy?{+@`KjeN4e%k#MJgkqO zTkx3f_uz%y|ACiv{{-*q9`AN=y$^6t1fT1k5w7heJ3MJrTVJ{1!`$=3=lS~#i@-mR zZgon)#||{F2G@ITo5FSc)&{Qk-1dO$J-0*Qde7}|aJ}bt30&{F-2m5nZui0Up4($^ zz3284T<@X157+x0&vZ16^C!}I;G&6*Qx`LSi{<1 z53c<8@M@m#4A=bLQ1}eb4~J`hZ#w**=V!q+&$b4hzoxZ+16=cL2jPP~e*~_1wrlVs zp1%dx@!nf_(puJ@4{*)1#e5JP4{baj7q0sTGr<4wd=|Lwt1k(USlilD7Os3fcy-S= zg6sL9F7TP2?*Z3)Zb!i1dww)r^=H7#)v@-^f$RCBRq*MaUkBHHo4et6Jii~VdCrUQ zJl|M*uD~_V`5vx$&TtQd>%EWHi3C@jv~XR=$qL`;b#lTrUs@I(t**7d0$llK@EV@~ z4zBmg_J_~#{9w59zryc$ekNS`4e%V_TKhM{l|Km|;rX+0y~p(l{G#Vyz?F~xD7YT8 z*R%E{hAW>B-q-Vm;L2BrAM|`}xbj`#3F}*XdcgIb+Y#_Co*xZY{e|$;o?i;rb6eZs z=^9vjcER=B)(LoL&!2&7KK~wktLGoVl@I+mxW1w^wDyFDYyLkWyoTqK!j;bfpW*r3 zaGhV5hd=gwWw`P!;YAx+``f^k9|<4r`7v0S8UlFc+b9k-h)}B^y<%hyI zdVV-u?@e6_kJiHK{|;CFBD}HZufUa$_$=6;t34kTu6#ClxR%zQTyW*yj`3G=ar;Ge5*q`S-A04iI4tU;< z)}GvO<*UHQdcFo+`Ht`hp6?3Rb-J`P%al;d;+)VtAQu)}G{WJ-3?^KHl?r;L4YVU-SIe zaJ}cYKD*1q3zX`7Q z+#ZJC@cePO-gA2cUa+UN=MG%&x%~$|-t(W}dT(v4x54rA(DU)&%4dP=zR=w8GQF&w z`QUnQZ8`WX&sT&i-w^)Z^G)G;Z*5n2mEP8#o^a)VhR^f-D7fBpJ01Si^RwW3&&Fza zi9Xhz^>Dq1_9T3q=g-2Ge*(Ye`4@2IqrD5R_Z)q#Ju%^W&uwA&AkTjZ*L!X|!f$)N zD_rln9R@G_gSBS_yya|b_YC+{&(DD?zX=|{pVj{puKXGJSkGU8>-`wd;Su{={nv2i zWBe2B|303N1J`rw>EY)*pBb+FSMVAGtUaaS$~S-?@q81w-iOlxo^znp?*iBRaDImC zeu?pL-Cr~vuIKTW!1bQnO>n*Eb_cxl>2Uvb{2sX8XL}m1_t{>9>wUH#;FrF(eu(fs zxPBj&GLHh+^SSBZx<4ToT-WQ1z;$0oDR{;*w%l@XEw>e1&&zj&xAi(*;d)+pBz%?U z$G~-+YYzOm=NG{By!=LZwX*iPw!roL`(^lg&tHctAO1sdeI+et^&`VSrnFot_z#{> z2Uorb{EFv`!~3VU`rp7C`nakOSH34)&&v;l>-%~HJfZjh1h}4;p9{}k+WKc9T+g%b zf@?eo|o?n*K<`v;o1+3hWD;)>uVmoMn&^Qa6RX^8NS`~+u+Kdfaj=W_0Pcd zoZ~(Cbk9G6DvhRk@?|zF0u^#LwWnWRp5G# zuK`@o@wJ72=5;#2_59sXxVEET;6uF5Sh(segll_Q1J`)l0@rhVd*OPH?+84;kDtqM z^}|E>kP6nHPvL5R#8CF!LzI74UyOgF>W3KcLtZBiTy-+R)em35)elAC>W8v$^+R=d z{6Y4)zJ=fL%G|G96!20GZ|d@LU6rr{A;-K4MOnl@bUM<{W{3QbK$D939kDUcfwD4oxO0~ ze|R3A>ai{N5?uMG@b5kU60Z9UqlFEwcipcT7arw_EjJ-tb#lOUzhXZ4Qm<18uKN!w z!QXkl8eIA2@N!SBovq-yU$GB-s^|N|SI)HKhjH+`o}UEQ{fdj>g`Qb^mcwg5#mD=cB-N+?x!3)bpv}y5H{$c&ZoH zo&s>)?^hPy)AJSJx{vNVxQ-t>z;}6_E^yTu0gw68+Bq7o`{)+J>v?`DT=`w_MV{XW z*L_VF;BP#C8Ls>@c-dFh{#S6_*AzK?aJ^6Td~~?-Dd9IgpBAp`;Q8RWUt4<$!IiHB zAL#jNaNUR20)Ec(t>Mc50MGHp+A|QY`_{(52Y7x0T=&(if ze+%E~`44dA6GsTH-xBYvesZ|(!^sO@EE1w>oIG*J*!}Y%LGVorWFAvxCj;8SEo^J_Pz8}18d~44jxZZm_5q{9~Q{j5w z_-1(V1Xh0=T<;q{0iWjiGjP3c{3iU3=kLPxzVY|)+J3$qDspf=>V4x0;F_063DYkyJ|uJ?^MgzJ6d?ciH(+VI+R2>vDnj}|4ke)YcbB=8Kk?enI9>-#Y~{0Gl}4%cyh zIk@IYs>08CotkiMcdg)G-m!MJgX_BL0Qh3h4}t5t

    NW_IYc; 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⁢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℘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

    r~YPg@>|KNzmJ^!0dne(k&{1DPW~1-`Mc!w z^PHUgt8(gpD<}V}oP5i8(e!Wgl+({9a_Vm(C%>1R{9rlx6XoPjmy^FvPJXhS^*$*l zKTA&jYdQI!<>Z^k10v6}m7M&ha_V=NbNT93;(g`RKdi)$mUI1ck(@eL$;m$;C;zyd z{0H*Bak>6XPQKB-wb!@g7m<@+O-_DoIr;76F`aeQW{#-fvi{<2}$jMKa zlYdQ4{#`lwU*+WIyRUZ6#@6K}S50g{> z2>BV&|A}(;d%B$Z*U70rSx%jqa`G?B$$u>;|FfKY%lm7O7x^}F@|()Zcb7Atz2)Th zmy(`4%&3&rkBp%gJvnC*Ms@es4MX z{pGCp6gm0va_ZkKCx3^W{0nmOv*qM}kzXFivB872b0fdJoczji@?GWRd&sYe{SK0o zA1Wt*nw8@<>Y^slV9?oy85kHesOtcZp+EJecwnmQZ4mRkulS$JwzQml zM>+Y8<>YsfliyQLew3X233Bq6%E@0VCqF|@{s}qx4@>-W`MWW+Fs7Ej0*WsB?Exlw-^IrZDgslSH&=cuz`iEl3dJ@VU@_)c>AKUhwk!{zhE`FW0< z{6%u=-z6u1pPc-wa`NxU$^RlJ-{A4u^PGGuIr(;S@|(*Sh&gO6CqGb5{vbK|)8ypO zmM;|FfL@l26pmnf!8c@*Bv>Zzdg*xkIPwRT z_y~E=$e&!|XUGRc{?Zb^Rz4!~ca`{k@>3)KOo_iFXFlJ^*NQs7$eB;Wr)rN^*T^@O zGoPj9eImbtocVN+?;rV&a^}-nestuwlrx{+CEibdS=1RJXFkWsna`{4&qi&KYkjZ#;iBx4HbM=x1wrUF7$blRr>SevEwKsB@;gWB5&S^0&)( zjQlfl@-NBB&y$n?QBHozS+(;dznq+WCpq~pa`Jo17mIc6CtorA1o@KTW98JpR!;sF zIrD#9PX0N0_t@|35`SObEAn5I`1f-9U+jh2`P1jp@*YvYqn!N4a`L;#$?qvAKT6IV zPLPwoR8Ia{IqQ8`PX1{*^*@r6|58rPX2f~ z`77k)Z;;c^Lvr#@$*KR5ocxz^@=acYUdlb(w1`9LX;yC%>_rd^b7yfpYQ($;pqG?;3NMASZuyiQg<=Adc4*Imc_d zob%@iIp@#wa?YR6{j`_I-M_l6N_+?TrZLYw1Y18YL5&3w3c&RR*^3s z^WQ>Femgn&A@W6|&Tu*XpCMl@^5@IRUnAcjo}Zi~?-Kr$ocb@w*NXkVRpN8x^z)UR zetwc~6#XpmcI|PY&a(2YqMwcAEeB0RX+4AAxljP*@l#_o}PW}}+ z`LE@Cj_hYS`K8~fohSJffb3R|E!$)ugJ-NUE)8>Ie%KbS375(uU=kGepC5|G0*OD z@&o1EPd-Tgd!xGgZIqnbofG8T4qh%lDEhfxer))Ia`I2g$$uy(|GAv}0`J$=Z^gyr z-pU`IXIoT$TJ*DeiLWbXK3(L@XB#>5*-y@X50+DZw4C~<$f&VG(Bq!fTPQJgK{E_k>qo3pDbGR&)2XzpYP=y_XZ!; z&T~}co5;ETTt(hE@@vVdzmc5!UFBaks`k-e-ZbhDl2iW>IrWc}cWYFwf0F$2@Nshb zxnBNBv&V?Ni($v-0hDe}+A$$wVj-^v$UpgPCJKCYc7uL~?KUpDe9mH6uNHj&>-zEb!O za$a}XP0s5M`^ayNIz#2}gpZVe6@I*Yv&Pl+pC<1TevQ0S)R`ow|EY5NpCLae>bxbV z{v0{=zm`+~XF2toe^PsVsozT8Ir`a9PJVMa`Q7E@_my{#`UlJD|8RN#$e$yp{zY=? zUn{5nEpqBVE~ox;a_Y~PQ~!NA^?#RBzu~8~$Ax(=Ca3<=a_V=KQ-5PQ^|zE$zo(q~ zL*&#SE@wVx$jP5CCx3;Uer}M{&qH$RKP9LBoD%;+≧t&uWhgbrzSCZzb;&=WRPV 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

    &kf_*hJnUo?xxyEyJ&r^L)Hk&hu_yir*?fGm1vb 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

    TamoyZAaAZTo< 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�TqafMnn} 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"*z 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%0D40)VLfdNps#G%@a3NJ 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

    =K~A5&eR4nP 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

    }xF&c@})$49+&#`@CaV&B>S#&i~6^Ss%!} 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 z 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

    ^uDPJyn*sP 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≺B^8Td=D^Z3W3mV?edoHs=Iv_=8 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

    ;Py5-wGGK= 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 z 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 y$3#a`Gj|CeMZZsdDlc z$;mgAlfO<*{w6v3L2~jV^19sr@+-LiuQaO8AA?NjEvz*tH z?ee_w`jF?56v&z{dzm6ex@{tM;2 zZ@ENHzLT7MH#zwsa{e5=QF8J#m%f_J90i$^DZrDJNe`PQI?3{I%J{iC;2{5|=sxNkp|&kbKIUl9JMJUDBgoW13G{K)<@^W*vDGoz@uoOw=> zGf!2Zaa{6b<>3>^J|9f)!zn9a$RnGVK zb3BneFY?F8$)6@Cf2N##b2<4oa`Lyz$@i0!pCBjyl$`uqa`NxW$#0O8|4Ghy?UZv~ z`{kV1iIbB1=htf|%g4t3e1V*NeL3@7CTE^2<;-)7{JePFyX4ICh@AW+Ir({V@{8o` z|7$tYi-YD`t<@EQFv(M3T@{h^M&z6&aQ%-)Zoc#B4@&{7<=%$o^xvD} z56bDEB4^Jp$XCbwbLC%#zb*eY{3|*A8|3tFm(#yXPJf{($#bN?xSam-a{8;v>2D&Z zzonf1tL60HAgBKUIlsPsNY2m4PLq>=Sx$brocw2U=Kn^{{F~*>pY=>~|McgT(_chR zewd_<@7%*r~f56{jbaEUnr;lD>?le*H<-}^jPPQId?{xjs{o65`Ev3vT<^vd|5@H9^1I|6!Vk#r3(xc1k#ot+GdaAVocrW-dBn5Mk#~s? zTqLLe|Iu~daW~ihAIFb~?7g#hW@ZQ>G9n`(S&@+)GAk=Hdq&8PjO>}nC?&E&R3tMa zWtHOB`CZTF_d4fs>vR3{?R&qTJp3HFPbHTly ziUD37?(?%X+^;J;!kr%$;P1h`{v~kttb#kg1>Q;X{2cE4%Qpdj4DR{=25+POdvN!s zT^hYF&S!x;Uk>hk6?jkGZgaTvufd%k1b2QU-1$Xt=U2d;{|fH>VYu_x;NGv>aL*^j zvgmm_p8@WC33xZntvuZMm*8(I-vaJ@zW^T$AETZ*aQ7^RJHIQ!eT{jz>T7sr^8#A9qFUJj3hp`IZ>&e15p| z#o*4@iSQ!-_WP?5-0N%=;2q%CRMZoGQ$7IhSxX&`5O3m`4+hQzYFjm;k(uIXM`7xI6vd8ik)-VQz@S$z|+9fDPI&W4wZrD)HkXG zcrAEIO&+Xi@NxYyqY?)AR|_xfkT zeY^AF&VLGbeh=LFGjQiG!JSXICVI}!r-VCS2=07IxbuzRo=Em7e%_b_K2`aA@P+cCaNlk%xbqF*&Ub-3-y81y z1i14v;LfjwJHHj~{C9BYe}p^#C*1is>!RoE{Nr%%OK!N&&r0ymH2>$|ar9iF0o=dO z_%b|^^1b2ie+%yZk#P43K{&(RIvfP260!adJao1*vEx0?y> z{ycE^7lymP2K-5_vmU&vyc68{o^a>K!Aq%U8r=ESaOXF}oj(fq`*Nq@e*SzH?)*cz z^O-hB&%d75pA+tU1-SFo;Lf*#w^M%y_#Ampxc7Ge-0$ZMhx_jakAwHn{d6h(b=~f2 zxYx4{?)B`3dp!r?Ue9s3*Yi8PyVmm;-0MlWC3?TypAzoBb6X7V&q1DoyT2;j$6Fij z<9!M4^|XL@)%^Rx7wdQj!~OXG0o?h8aIbR}+>g&2;eLER3}2@8d=K9tzYTZ(AGq@w zwnp#QO7&!iJ6|5|d{wyfE#Tj%za9LXd@$VkQE=xM!VjruIo$a#;Laa}JAVa!L;b(Q zy}$p!{W$;Vw&*$kr1LEW+~-3Ec)FN>JyZhzht^Xb?)6lMdp&jG9n{|u{-^qTz}-Ix z?*5T*AMbRyk9RKI$GaW=x7M>4?)4mkdp#%NUe7OZujeW}wdRxH)98I{qJ2ybe^vej zyt%wM-1$222g)~sKc@9`hx>7(FWmXb5$?yx@JMIDTWZdW1AHaik9(WpE7Y?SeoDR{ z?)%+Q_(kP!z{R1v@K^MWN4CfASNM4CiQry;TDaGr1^$Ej^TWOVVsNj&Hr(rP2>1M3 z2Y5$#XBCZryMH{~bC@0Ai{S3x1$WQaaOW?>eOx!;&L{sYdcTI~0Mf&~Upe94uP5L> z-%7!~UlriquO@J>rxo1m=>+$BdcuAFybbqyhQqy{d2p|1DctMX4WFcW?uR>n5$^Th zfNxb#q8-uuWlshFM)|@KUR;lD;cu0Kr&Ru#0Ivb>9O` zy1W?tMeSv6xceKz-QNQ4{&sNp4~Dyc6#Sspxe)IBa=7zfz@0w`cm4|8`QPErC;dEn z{+qPUv~bTSJKXch4^N=^mw@~4>6M2kRsJQo*V6*-^>l=LJw4!F&p^1>GYsza%!PYB zOW-Fox6k3ue+75`Jly$faPQY+yZ(E>Qox-r7~mz~UQb=PdtQQj{;lDje@D3go?$O| zE$#b2xbI)n;VG4$3wQrAxck?@-Tw{T{m0;0bh~HZ?!N?gf85>C`{loplo;;*ba3}) zg}c8j-2Ii|p3n1e_rC~te>eCmnnNFW^_as94Gr)y@H)ybhWqzqSHhR+cK5-ZKLmIF zD%|;7aOacniQX^g)5D!F4tKsBe2CWHD8QS;^JzYP;qDm(cYYS!`2}#Ve>>dyy>REx z!kxbicRt?U=y^Jy1nzu3_;AgwD14N>7JRb20sMr#IsAM1Yw#cCgW&ET33vZwxcg_p z-M<0u{_XHJTF*(i^Jn4C{|$FO-WSpP;`wKTJD(5ke3byN1^0ShgS)2-{GN`tFWm3L z41(v<{bd&Xym}VE-Mbjs_ZPVPufpA*;LGTJxuKrqaQA0|yFVw~ z{T1NuuLk#g>cQRL1n&Nx@PgWx0q`R7Y4GCmIq)j-&G6Flo$#{q)9?!NU*PV47~!Qf z`|wk{1p8wC#W024uLn~FcqaHNJwGf37l$gqlj$2Z0=yo)h4RhdZRKs?Bjj(x#i8Nw z#QMg>0Dm9u*Xirv?%xLYJiiF=gYb+h`W~KF{xjU48~y|LdLI4izxOvqfMdN#tHKOErS!xcgfKcsuw!^$&&*l#hZ>kS~TizY^~JKDhIT;J*J}g*$%>?*5ef zqvz>-M!54O;m$t|_j($`oo@+uzCYagA#mqs!$)h*i{M`W4!HAQ!aq>YIk@w`!kv%* zP4qmSPX_mTGQwx*c5}ep|1{kF&%)i)67Jh=4|je@fRBcIJ&Pi|bi~ic6>$Ij+7#eB z;BnRUHQevp9DyfS{yJRa4Bde@);HoDh~2O7`rV%p?*80x_ZNb{sBe^kyT20L{V&7a z|0+D6zR@MXd&56feh~bId?frI`DD1)KMU^lZ-A>Nv>l#X-`E%6hu{yDKMnVKet~;E z58+-xly`E`s zpI39>Wz@eJ?)*-8VdYN;_%HAh%0CS71m8yQm)Dasz@LEESAR9Qd+NZQ?*MncJN%IP z$H4tOd@{U?@+;xaZ-6_01l~hEr{F$6?*(}1Q1m=UswXqtJ-Oh{KLdBZ2Hg2JaOXS0 zogWEzegfS2kKxX*g**Q(e5mGd0`BX^|A0GxA3jYz=?+KF+4-z+=gY#KuMGG4UkUKG zaQD9hch3m8^9$k5FNZt-1>E_AaObbW{kq^5e1qnh@<{YNozDngt$azi^H0Ow-xThA zYqFo=4T60)AFr818&2xbqF* z&c6(IzBkX{5* zFP{b9E#Cll&vv*Ue@?-_RnIy2Px1$F_ryODJ!fCnnhSnOJq6)+<<;TtsSEe#+MVDb zJqGoJ`}M*&xO=9-{r4r-!ZWCUD?Fe4JGgs(gjZJnKHR@U758NHJS!=m74DwA@W#ql zh1ZbRhCAObz`Md*t7lYzPlR_+emT6Id>wp{{1DvvlW_N6fGz0R)i!|E9WcmHI#=kN*KpNDRO&sYBu_{Z{7@GbH? z@Llo;aIZh(sp$FJbHGol=ji}{7JgCrmhc2IHy3IT&nX`UPbPm4o<+U{?w(cfr5RhHuh*O2M6P0C)an zxbuDB&c6e9{sXx43*pZ1gzK`{&_1}{#tfZ@JAV!C{>Ofdo~QFE;LaBe@DlJ#nsYt4 zp5BC-z%MA@6Yib?@R06bGvGJW^CA3!d@I~NyWknre+HgFehHpV9`~o18}j3WdlJKo zDW4ynOFi@isr&o%9p^M-wk(uKiv6?aOZEpolo?0^nN*?3hwhEOMvHrf2iYn zGQi8iKT`f#xcBRMxc93A-0SZS_xc9}_)xg#GZ*guC2;3Ihdcij-1+nHw3@>;xbun5 zMempMso>5Rg*#sc?tBBd^Do1l?+y3+a&N&;=(tA0y}uLS-rtYm?q3V{{e3&!{d?i= zKMQyNWw?(w-Y?PfcRmT+`FwEai^83+1$Vvy-1#m6-W%@s=Lf+(pOJ9SX92v9_VHu5 z=f45&{_Sx0pM<;rEZpxmUWL2=7To>G&qwc<`_sc4>$r-;oi7J>zA@bIueOADQ-6QB z-(MX9cYZd!gL)Rho&N;>uJW7U-mfEY_n(5h{{no9`me+Nc%D#C)Wc6T!p{fXpAzo= z$KmeJ4R?Pfxci@jyT2ja{mtO+?*s3n<9!GIzWf8Y^9$k5?}R(Q4?b4?zrdZp3U@xi z#pv_j`Q&it3&EW)33t9e-1(+(=X=3@eh!3tKGWgO&xJd`1wKl1`yB544{%@4b{_70 zNG~vbKHDFI`~1lRcfK&(`I>O&>%*Pz3jg2d7jQp+9t`*M=TUG!J}iX0e>vR!8{zK% z4DSB#;qLz#?*40V_uq!QKgH$P^S^w=>zxenR60*`1$aStI_0aw#i6?Jocc!70B;R1 zseEU+pAYncS5SUD-0PVR_wmjT@MUlx?;g1Ozk$2|M1Y@xyZ=7i{c*2E@1y%u1b7Cx z`%A&yUjgp^S^?ew?*488-UnV;H#{W3N5eNLzZmY@T?u!7AKdvva6g|s4X>@+{RQs+ zhj5>V34V>fH2>(p;yaD&$FZ~Pd>m(n!9zEwo`dOX@?*2S*_ZNe^|0%fp8^Yb+ z4DSARaQAnGyMGk?sOB>feonp|?)*Bq^9SL#)pH#FkNkJ|kMh6Z?oX=^P{P|0etvaR z`7ChX?o)8*pMg8y4DNgzxbttrogWT&ejeQUrEuqW!=2v`cm5*W`5SQO6a5x_o_k+X z!F|3Jj_{{-p9pV3Dfn#dOFj4)c@wzvJtMqAME?M|uS1&#_xt2?;LdM_JHHF={26$9 zt^X3-`A2WY&NIAz=aa&neFd`^UmpX+0moo&N;x{MT^jkHDS34tM?z-1(HZ zqUZ1DR~g}Jwf@p@KkuptcYjm3^R3~|4}?2E4DS3~_!X^l2|S7JkLv<_8@!zI$Kmez z3GVAcufYA^LHix<{-n2~=kNZsaQA12yFWkN{Z-+`bzHUK&Ub)2-yQD!d+?XkKLy@H zz6$Q^GdIHfDSs61{Au_&+f-VCYr>tc4|l$E zfcJv?{ysj!>qe|+I^6wh;9k!bxbw#X{0F$#b1%YQh!LzX{y^ZQ$%`2Y3=?*8}T?w<#D z|8ls`pLKBW??JfNa~$sV{0#ScuE4#X+i*1c~r*O~n1l-4a2JYj%4|hK9Ke77~J}&38!ky0xcfN9f*MxhX zZ6mz-zqjkTb%y)?J0il{M$CUa-1%h@{#rzS4Lqs#_fvR&`5t&7`5Cx-F2R#4ANN7* zoc&rY{H?@r_oRdSew`JbQ~hP(?x_s-P>1!o8kT@XVUqIk@NiAi`gdm{0tNvHKYIN7a)9E)ErdJO6Bi z`)>n>|DEUI&bN>7&JpYB2KV!j(GlJyB0mZ4{uL4K|Hf2!J?r7le;eWcUC(g-1l;*Q zBD{OVdhWxWPp4nl2}k{&M7TdI-1)K*{>H!mQmSzH->=GWKi<9qcfKv$`FG&XkAVAg ziurKom%*Li6X880*8dIM>$wDX|8H>T6UT}B|MLjXGqOK5-0LX<)Pk4LJR8A1|K@Pdzc1XMKMsOd*7|3`TWHP;;9loSxX+Uf@S0lxA$WG(?n$`U za|`~2@_)mf&lop)ADzzucfKOr`Ref1y50H#-W0xH`L^(!nrCOY&(A&q{ti50%#YX5 zXt?)f65PM%I2-QsXA#`z&knff^CjH#JOcmU{TJ@zy#V+6ufzR&g$d(D?{5*!IVIfd zc^vNbDyk0*b@{rH?#zfd1u zcKCUS*OLYA_2h@UzZl&8wc+k>2;ZlDX#sbCJGlD?!`(j$?*1uo_kRF)|39*e$zx&JY^e~&&F-2DaN?k^2@e?|Dnm}P{T!rk8*?*7hj z_xFO2RR4Im`=`S_|M_tDFN1sjd*JT>2JZe7aQB~qyZ=7?W+>(>Zo=q&^!2OB;8it; zbnrLjPr}__7ViFM;qHGP?*8_0_jiN4zdzjlL*VY84fo^cBDfzv_rje&0C)Zd-1)n3 z=QAXV-WR_f$qw(X$NBQ`{_?7Dzg}(ucfK8bw0Z`^ogW2v|3bL)%i-?-0`B}lxcjfb zo&O!~{-lYc=jqoGY2l~z`l1-z`KRE%-!+6MQBN~?4SBl&?+S0Oe7^u64DYJ^djUQL zK3n-!aIb$O-1)mcmHEaqW8=FDd6tU40nGnxce)@-CrH<{`zqD zH-)>u7rdU1cOcyTBj7WX9}jo`GPwKKz}^2T-2Hpt?mq)}|0THl|A4#yKHUB3l1A_E zG97PLc&3Txce8u-M<3v{x9L~ z{}%54Q*ig6gS-C$+;fYcEP7x3_?81cM*C6#{;|9yykNYT=NnJM{eD7Yxcghe-QOSX z{1CWrcQ$;o*0~7&l-9We?);Zer&2zC%9tDS{`z>6!F{|L;Xd9Ra361>051vm@m3D- zns6WQO99>j?&BQ*_wf#e`*_E}eZ14)KHhl&z7+1`-4Nj0;XdB41N;cw$NL-H$9oU{ zi_W)4Q$?Q-KHjA8%sPLbfV;mq-2Ii{?tc#M{Pe9{cK(t58Q|{E72pNoxz%4C?w-2vmzD1b z_w{K#;JzO9J-G8z;LfiK@QrYPu5>uU-;9|5_i$g2cRs+c!Hej4A4?ZI|H%FnaQ9~p z@LX`uxgy;AUL9UW>uC*lz9ZcEVFCUg{CV{+iSRxV^IQe@?=Nf#@Xz7p)&B!r96Aqo z|8D_)5AO3hb^6%-3a{Uu8UDI%I4``rya>FPye9l9d42e^^3HJQd%>L_AK=sBE!96C z?)5K&d;NPNyl=$*egpUUd?LWlzd7gl~|6G9o3imwYXNnv<33vYa0Dlqgd3K9%ztATCuQ$-b_m}V-oX-*91>m0Nvk^WZT&Az*;XdBR0p1espV$52?jHho z|JVSZ3eTdVPvB3=H^D2&kHDQj1$X{VfIonHo(VI@-e1D=^y6?!cpI&!P=pVRn14yQ z=Tj-bpM(4ND_@1{W<#&T-QPRF--7#j+6;IG-N1)%=RbuzzX$H$zc>ST{u12zxR1xq zKRi!+Vz}3n5AJ+Xcn%#`E%?*&2Jjm4E^z02!=0ZH;4|Q_sDA;xoBU(A|Gx3w2!AW$ zd^-StOg)z){OySRO}NjWzXLp8me_p>_heFk@&Hc{&!&9w2!AJHJ>}r>l&==xb>Kd) zI>1#E>JCq+Z;Xj>|F@yS-`$Ukvy4T07yY3GIU?);Ep@_-VKwe=fp1s^

      t`**2KQGD-FQt4zcr|$mcujd- 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

      {j?&&+mlm z{^tT*{eA%pJ~>?ZobZm{TKzn5oe#^xQx&s( zMY!_c!%um>8C>VjK5(5shro6I91U+#*xEA_uJgkm@H+)9zYPAr;~K8@L<+u8E z;hHz-0?$*x@;%_nkA)xh`~HekAth<7r}MjSOM30V=a7PNvppNuKTXTaGg&s!t;2YD{!3$ zUcq%f`2_FabwWo8jtA9A2-o=}EnMR*8(im;d~lslio%apu>Dg7uKmyuUa7q0o50on zAK}^$1K`npyMy7XGaat|@H<@l;V-!M!#cS3!#4QIvi7@^`E4aSv zjubW6?^R1%{b+EVXEMVddpa?@9u99;-|CNsYu;%#JZ=Na{|47Q z(oXnJ&+maNe;3}hq1Ar~*E~|V=)wL<-pKNi;L4|h@ArH_%8)-?EAkQT+f3|;5z@bh3h=f4gRdP z{obG8THkmiTUiHfC@|Nc8%e}}RZ9=@~HUjf&@yYw$y z`{5vbyw^Dj*LOiT;X1w^!86~r?}c8&*Z6)56Dv4QR3|E2|4vgpxc;4{wD9!zY`fXu zJ%6(OlNYY%tP*fNA613xd!A+?_z&=@{cO9v;rc#j0=(b=%TItGJJzQ@Z4kI>uN zSrD#uN2|egzO4t}(Z}jEf@_`RF7T?p-+I869}Cz1Spe7ha0z^h|E_g#ttY%4uJwfX z!*zZ>3D48te(zPdt_%0!x-Ptc>$>m}uI)yM6C4kP{O|H&!ZqGf!8P78!DkJ&_U8}5 ztHQPJcOCdDuhRgo@!1Wo@i_pl@i`n`W{9ibtc1m|7F{q4%fI^3eU3K@+;sPCp+O6J--L8zkfLoAGgBl zUxMrJQ(nULcP<~{%L_GTz}^>4BmZ-wPz-L$0GB&aNVD*g7;r+`G4Tb?}Hco!}5pV zy3e@+f8+TZaOGda|M}DEzlUqT#fcvr54sOY3fFx|8u(9BtbSIw=8eCBYreEByzpeJ zQxUFt&Zcmk&)dQ;d7X}M)focU^YwVR#?N%P=1b?pHD9^}zHy=bt~GG&pB-@RpQG@v zez!U&;rdQxR&bsF`@`>gek%Nn`%JjzS69PzKd=?9d9B^>Ve_q>N8od&nV*1b zp63x<+kFSuehZ&4*uR=@i4HF^-L@MWuI=W6Yu@!6_{LdQrwCm0PPO1oXIs7=T=P!t z;i2bPzB63&u7lv)JUPm;bnid{BgMEQSZSc{bu<`aOJ}%3ij82 z&qs!99yK+5@jR=a9F)K-ffd@cMm+>R`Wyf>c`B_!*yQ04%c=c!cTae zcW~7SlQ=kjR3{qz+f&w_#BkL~16Q4F@UfZL`@vOzI$ZPczr%GMTn0~l!rH$QuJhz!_;Al3hwFTJAO6JikKsBWhE5Xf-|D{q z!^1TXpB%3KO$%>+!G2d}_|&WBx#83A_}?MIJN;+*Dj|5Y5d25@NUzfeuII8};2IBe z;CkL)2rqic+W9A3&vDz~8i)JfDXv(ZLvTI6UxA%M3)Tk}ZI$ZZ-_upcG>JY98bPan9}W%>oKb=zjZdwHEXaIMR< z5`Mt*f5WxigK(|$b`qYlhPD4JT-&`5@8-}IQ_yMo~9bEN0!fV#D_H>0SKMcOj^P}L(&x0qZZS@zzmEQ@U=lMNw zt+#d=o~e%2zYbUaJ$!)YKf{$znljkGk?LCglyI%rmjm9=^SR-g2P*?#?fD9DefQf4 z9;=?Urzu?Dv-N{%eH9xZxzO0Jv&x3HSr~MyX>uKMFYd!5}aIL5P8LsuT zqoxUthfiNwdt$+3A`Eqcbw;RKCKi?X@$m_I+tIhy; z*!;HL!ElYYDe$JAp8;2X8GO6vSHg9D*$db6$WeH_0@luxaMigDZ|nK{aIJ$KI&HAu zwVrllc&2Y`yV2pQlM1f&sJ{xq%Z1?W;CjyL23P&zA^6M?d`$?xHw3>5*LvDd;6r`? zynyTZC2G3hem?8@m~iDY!ZR1N{ht-C=Zm87fu1h`*LvE`;QHR96I}PnKf_8*wGMXd^ud1A zb6H~e+;45W$>FL~6t3s2GVmXYS)B@St%KbPuJ0H-!B2UeZgABZ4bM~DwmS~4`|~;Q z5uTq1*Y)=w_(jiefb05u7@o6)wdXio_n$Z6V?BQtuKTVJ@GGAG0@wXjoD9K!&soyi zlK`&znc+h{pB=9H#o%W=Uka}0sfO@|rK~+o;L7)h-}3w*xYpC21J`=m3*q6**mnPf z>$z+TyuRmm!1Y{k3ck_v=iquScnXhS*4pzDuKUu68H4@U#q&|&x{jxWAMt!zxcdED zxSk`*!kd({c25X(OW zz3YbX9iDFjSH2g#RAsB*53c-V_+HOXhig6UrSRJR+_3_#^|W`x^}gu{T+cyg;aX4o zDqPP&ci^kj+V6b|*Y}5?;QIbBcIIHeS4m-Y;=^@+l^w3{4-3Q3c%5Q!)u{__n9{b} z5U%yKd%&-Iz875I6OM=Lz11{$yHvK_S#W(HxEikS3^&5xd!4Ot)j19yliId>8m{jQ z@51AxvHU~0zBBv+pX2$kS%Uqm?+g>dGy3>R3fJ}MYq-X9VYt3CED3L!+}d9kJ~@eb zLwLnzcAn`BPn*>8-Qmg)hp+McXt=%`oC7bJ%<9jBEB`nAl;_vOwcn1x^_}5)xV|&I z3eOPH+H()C@95sZ^&MUKtigV-6~XF6hU@#clyJRA&IsS)b+W=$r#M{S4^)P0{M3f) zJGv%teMi>@p48jZ1+Mk92g3EdHUeHdyzQScaIL338$Q+ZzrnSh_CIhv$8Cn6_d46* zT2K2pT${*(*@ELl-vvd6>${*haJ@HA24C;n%>vhY+WFub z&t>5HyRd3-ji35(t*6}-emAl0hjwsnw-;Q;(Qx>>L{?`sT;u;YxQ?Sg;8ndn%iyZB z6RzXv2weN&EL_LYHMowWd+>t(yPm__`ue(G;9CDSM)u(Nk!OW#J}N(4^Pk_sRi_60 zQ+(V1b>Ny8Z3pj^!1A5o$`68H_53in*2|p^ubI&5&xR|%0>0n#YvB5x_8?sMEob4n z54;Q?7~R_Q0^U5T`5U;dn^AHE`|*h9W5AV94KEnY>Zgb6x>*3e$n%Ba%2$QQ_1{$k zuIp@jxURE3;JVKCgczd0+{Yr4vZv)qN zj6LAmZ~frKBUwKVgzG!TIq>P8p9j}>j2q!EJiisL`RC*Ca=!mh!}T5GBe?qgHC*S_ zP&tGBILgnTk>TND*nWr(*M7(ZS3l-~>pWi!uJ)9J_wemjf@`}S;QHRa2fR}(Ykx1e z`eg$AmggtK)h~f8rSmC;QD?( z9elRuGr^TF2G1VP>X(A+`}v0Oi=J-+SH2%y*RLV)c-}8#;dgwTOn~cq`$ce#&*gA^ zZ@&(%@9nq4^}YQ8c)6Iif6l^nUwsX(`|A5}-B-VW>%RIEd`TADZk*h~@h~!zc>=hu z*O}ojJ)a$}d@*>_%sw9Ax?b0TAMtzxxbmIgh5dJRgX{V}8m{a6B)G2cGvUqBTl*Kl zb^pH#uIv6b_>^>3XBS-8>+^73*RH`oc%55t)%gI|^(*4n!G72IKNeiq{UmT*_tU^L z`FO|;*M2BQ&*D`bT>D`GypXqN8C>^2 zo8Sk1Ty2Bv{^TND=cPMv?Vl&~47Q(Nz*RqHp5S=U{ZCT3_FGzb8LyuauIq0p_z=&R zgX=om6#lR0Tf%jn?FIkh`F?QS|4fFf-)F&FWVijc5?(Qz`QP+rHs81xKG^dI;W|%V zhHv!zb-2!Zui(!;{|>Hvw7kLo&Fa4^7F_4aOmLkibHR0d7w6YY*yQ! z_2D{xyTCQhd%=%-oqllDnF!Z-o(tD_SPa*BU=>{FferA%-kyE%HtvVudVaqHS9>1A zOM9IUaIO0qE?=2Qtnd2o&MKj7c{?_CeqINt+5>c`yyxW?yIxW@Ticmm(;H&en3e{Jna3)k~wY4|+Pmxn9g9v&f&)$a_~^WzA38_$n{E587K!1IgYdVbsn zFYn`O7hL%(a6NC{g}?CcJfFk+_&E6h*L`4=Z-V_b!N+q9xbD-kz%`!p!FAp!3SaB> zOTbnCd${fc+rf1{=?1^#^?!uxxR?YF@B3#OT;qQw{43A@4cGYJ3$Nw*gK*sk-hk`; z^AN7{z$^H_-tS=w2KzBwSNrd%aILGE0A9?G)0FVT-u|?3%~yN_*LWxn*L+0!|2(+;lriXL#ySM-N#zG66B^A!`|c?;Wl;}5vrSFVC*B*L&3? z@STNhyJz595A!tqguYn{xo@LB%-@GtO|{yp$ics~Cw zcNV-uY3ujj;Hk@*FN8-ZZ@v_sqN@3NxPI>rxW@lMcnPm_4z4=a;HvWg-p=d1g{w~J z!ohKRw`Rfq8B3$=rHQ=h#9D^BS)2++q|7_KWJL3Be16;8jELHt=HItvwy!YR^#k zNY9UiEB_n(mgj$mr|M|qVFz6I8~fpTdRRLT!&T=Re5&Vf!S#3RZ{hbm{}Hb5jpG&# z_KW@=At}7h57y3MVhG?rQZ{!w2@X_OFFs^89}IKF=S9D}NOpyO-6!3D}s_V0p+?`!SZ3)lC+H{g11dH}EB zb)LXgCt|T+zfbUdRCuJG*3Pu>GoH@~SN>ag@_zQaO2RjI{o3$Wp05vAz9W34=exo? z_pAjs{vWvVC*auzS^YEcDXnaO-h%(&`Frr(11$duzRmNYO9cBx`6TcdgRMO& z;F>qi4X@|8}{DaqzRx&sq z8hbt#T=`7!m7dQA-!sJ8UlJa6xV5J&T={13|INR_>w29|@Et>KyMy3aN7#0U!Ihr} zU+VdV@bbg0{!V!Kkyd{X{G8`6!+UxDI$Zhp@CTm%4DZ$2+7r7}updi}vi8J>R~>2j z{P4d$UkHA}^Ht!HMqB;r@Uo+pHRzp0us~ z-sAB0P0dfk^&aObT<3?6a2>yq$_D#a<1H3^VRPGVJh---2d?+3h2iH~Se;^Uy;rIW z&)?GW4dHrj?F1k1`EGE%R~-ru-^%KbgzG)&68Ip`FNZ6C4F1XUr{H=|`VjtOYirL_ zxbl(81^erX=cB>(o-`eNSR1RK39fu8xZbN)hHKo`fe-a@(gd#es-5Axd^~rD>%HfA zxW@A=xQ?#{@UqS9_b!I3{w}zF*HO5R_p|U3UjHIo$HiOt9?yS-Yy8JAAMD@AzCRPg zHU6`~%XmH~T<=xO!FArN2G@C@0eqz&zb)XQ+}ptQK6C(F{Wu)1_o3tAdLKF+uJ@ty z;pM$OE8uz`x&f~Dp*!JvA9@h3_b;d6?>g9cyALnj-uyAVVl%rx30)!B@3TA~9M z_;b%EgX{aNui)jqonOP1F9ViU*ec}3kdlX#XaZQ6a z^g6TP`u=JaT<47q@MT_S3tV+h!gYSQ0@v|%7q0KPp2PJW*L(Qub~b*ZR1A(2?T1A0 z{GLw+SNn6rwI2$?r+S^DaMh^^*M4XM*M4XV*M8^@*M8^&&+YG7euB?)9|~XS?>k1p z^ZNUUaqv_A{5~1}>uTHo3*dU+w>ktr0M~uj3ApOqhwD829IkxKO2P4<`_F`M<@3Vz zp0pHP`MM!^SNQo^wts$r>pkPoaMhm|f^Q7LkA&cN;KgTKdmg~mp0JgJ`)#P_Bf^zW z3IEUYY2kXmSq!e@q8vQK9BXGKxau^45Al2pxZacYgdg{OU%1|HPK4_{=}dUOxz^6P zaMk$-uJ@!{;PbuC4!GWXo`T=>{5iPt58xSpwRS#%>-}bgD#3o&d(s&2zr0Qyxawqv z>pf{Mc){PSJ$d1J?^zDs-}9B=$~T7Z@O*Q)-jn_ak2ufT(+95iq(8$edj1!<-jn_g zpXm8N;CfHG34Ye|+u(XndIFwwzP0}hT=OUQ;LSb%2(I^}p{fSQ!yldx2iN^}Likh9 zCxz=h=~wW43#|QL!}XrD1bm3+%fR)1vl(31@pkZCUZ)dWb%w*k{ci0X4cB|m`S8-7 zUj$cvD}03Kcf$4F^ECXR=g-5He+ZAY(AxhLuJ@i{zYF$z4bMk}E1v{D&GRYXdheMF ze!=s3;mVhTr&wg|uLRe7&nED8o^JtHz8Cx-&-a7tJ?R+uN6(Lk>%HVMc*Dik{*`d$ z55qTm{y1Fu7x3hNSp7F}<>OTg_U}Z`CxYv}XHNJd&*ypkfe_&d+vfa^W!Yj|aUUVabPd(zl7gZ-=d zfh2Ife@P7=>(86H;CfG560Y+}MY!IR)`ROkX>0i6skWcn!}Wf1FkH|3qv5Z-&N#U0 z%!8MjX4_o|*L%VOFGb+Gj+BM3 zm}vXwJ9vvR<~8AZFVh*W^Fv>_j^7b*jkodeem~oGC&9JdHE_Kr-2|U8&gyJ~>pjs~ z_zTZpgzLHW5xmTJtN#qH_oQL#1p9rR=Oe=P-ZL{i#{{dN9j<&;_(IRufa|?ydwAks ztbS*>@+06sdwvXD?>!g5Q~0=A3|D>^T<=K_!8LBrz#IEGxdPXF(#P<1KAxY$^&T@u z-C%!dJSTzc_(}sWG}iWK2Ds{%fa`Zvf$Mm$4gb;W*N5x4=m}rx`Mz+C|H<&jo}Uia z_+JXo;QN0CT<=Nu!gby|2G@Du0{jO*9&f-;_;&BW^`7(-T>TinUa)`lo-_tr?@1HF z^`0~}Jb||}2VCz-3&8cBv^ZSvNh`qhp0p;srr-axg>RT_z^?qfD{ZKdasuguJc9#cz$nBVYup4hwJ?CJzU3EYq;JIc7^NxU~hOQA3vku+7Hv< z8@&Cq;A;OWxc0*acwFD^7P#u1glj)sfonh9g=;@NhigB)gU9#xCZFMb-NQBrj*|}l zz9SO+g?n`P+~qb7FV#;Pf`0>lTf^F41g`qE z;Huv?1Ro4v7x*djD7vo}!7>sS4No#Afi> zo^J(LzBfE+Q>)(}uJ?}<;IlnH8Lsz_i{VL|S^cGOy?@*apX2$RaJ_##4NuYs<} z{oq6R9M3<6>wRU!?}Ot(_lGgzX*%0>8wjch3FZ29W zc=h$xe=p#T+~2};cem|+gzG(2qQ=4Tpm~o}@GC!9opf;3DGopOqvcD(m2U*E(bMux z;mQwym+WQv!EoiL!Y_J$CS32!R>Sx7w)$(~${&F*>|^;8aOLmAGxoLoW4Q8Bn*{qM zem~2{glm2>1$?sS)4+9~pAR0tztt}Y*S~XJ9X{3bwc*Nlf+rea^}E6K?_!UJ&+_~@ zcGcfu!KvHE-9`uA`z!S(Oz-hx+nW_9ktRp$fzi|4<< z!>zU76}y@JZQsU2{-Fh2 z_YWQ5JH1X9xatgncY0;p9Rb(%ZZ2HcyG8I+udU7!xaw?ypY;3=c+CygALrm&@9Qdj z&>P$CP523~^8ub=qSX)EJlOA-JfAQG&l-Z43c>5b^SrfoHiYXrs|Q@|85x4lgJ1Rf z3*oB21-@&e{r*GnG4HIM$KZONx&zm9*%SEd&~_es0au+UErR=B&t-Aov%*=O1oY1K zJ~1=Aba=~WhwHhl82qW{OTl%&T?hVK1gqZwuKR&@@JbOa-wCe!fx+6x=sy;AM!e*;ab;pHoS)Khu`2@*K{rXf8zn(eWSI154`>ud%imd*Zj;?_|Uah z=O$eH;Whk`=ikGXkJdIgPU@_)`mx~4$67lx!1uc6fDc}8b#lYC-^#%g{%rNXgRk6R zb!x(OpV=NB$MrLq`hV>A-h)?cX7``3 z;d=iYwq39v>mIQGP7s1;hR^ilH#=PWtrYy@-`37@aOE4r8~X2R4%dBYAGqE}4}t4_ z^k}-be;Qoh56pw>`++5JeLt`UuI~pn!#DWxvIBn0$NygV!7aAmPQf)EF2S|F@ol)) zH+}&xyWQ%CZ66#DdM_UzuJdhj_?b!e|DP3p!@Vf{*f!g43An~XBe;HVE4cn$-Hz~b zyR3d6xcYY}T>bkqT>U#0uKxWEUi7GK_aAtfgXSCHI!+J4V;!>mF}U(K;1@lA2d?A& zJ$%t&tN$6UeC!Uv@zCvv<>SM3JZ6XMc+3aa@mK^N^MKW_4A=J$4d8qBS-vq`-!1$A z*Y^+o;qCTYok4KbnFiPQ4-4QLpUdF-{$VX#-#=`HZ`o_@*$dbAb!XrU{XDtJ;1^7kJSAi?v9^UJ+^ipgO|N(ehRMh*b}(U!yn*!{}QoFu)lOZi3zWM)3zHIuI+ve z*LVAc;6?9Rop0efuhxMd_Iv}l&Z`~aweDH{u5f*~KLq~4^CRH;4*yU1;`>(rFSznY z;WZvu{v=%A;Xi&nJRw{AY!K^88nD-B*-_>w57WT<3v$@B&Y){jK2occVJP z_3uXYfmgd@b%ww%`FUmpT;KoCfonW0gzNkN<#2ufzYebN|98L}-?DZdf$RD199++L z*Wh}-yARj%-Aj15P&VKD30`QEjgJ`JgX2W=s|nyGJf9w(|GoXL%d|4X>$y+6X0kJ}^IzsI)Oe?U z&SO>K>c@KUYlUsQ&EPtZb%uZcz<%ctc#*tTX9QgP^H+G7hgN4f{E^pL4Og85@LBn6 zyGP(UPhNwU&u{r#aGm$w!ryrQBfP_7Yk$ligZ;j^fYpx+kNw1QS>VatbHf{dV|DVu zRi`{WQ9;XBhL>$%^Z!lYdp+L*9_pF3vnRYyA*gI;W>Oeqy-t+2FbT zcjbg@zm^Gsd%ugphGF-naC0zR_BRsRW zCo5caio>;kD#NvZYQwdEn!vSx+Q18BwcphhzVn>@{=sm~V~mFH^Zayp%;Z*oHeBcb zHSnhAZM%oyOTEr9xaN`W!gYW960YwqKEPvUv37>*9qjiqDa<3m^}LxDuI+vW*M2Jm z*K=P<_zmA~S-7^_8m{@D&hW-*t^M8Mdj1^)51Y>NlAGS}hzb<(`B3$!1DdDp+TK%+e`d*8ypt!-#0iObe@a>SDi%gSkC2T>aP&uItWFc!nz0o{@0X{~fM*xs`BTkJiJ-dHv0Bov+TrUwQr#T<4|N z@FrEQ{qNyAFGcSc?DyTCj}6znTxPiXH#c18=R)u(wX8kG;4|x(mxkwRU|s=!y^;BM z@Z_D$>%o(?FmD9ce(nX=I2j7p^=JZIzjr!(wr_VfT-)6Y*Y)UMc(*pz{(W%u`&IZm z&)mM8^3ENpd7F^et-0)4F&j(k&F1&GjtKSf=>q`%Ks1BCz z1y_Coe4ghg!*zXG25;Qa>aT<=e+aJY(MkA-)>h{~c*>UMSK+!Iy@qRieunFM6mdYX zzjQr{1=sZ`34DgPCnH?fqg-%Zj|#$dJt_&;`M(l;t^XZvHF$+Vwts5F6AU+R0RKGI zyeWKm-pKzq5zqy$b?ko%!KcA>9{3fmI_uy%KWu|5{~uiQ)i>eFhxsYkzu)`6lO7wc zeEJZ)D7;l9+dn1XdhVzXSN%>Q_=pgERtWw#{HC{OJzVWM2G1SY+J6eJ{6qK@&p(B0 z-TvqUgZo+6@%ZrjUMDeJb+W^&N3nM1g6r?%OTm|Vz8qYCpVb(yzw>GhPaoB`+a9hu zgW>u+uhH;DUS}L!f44Oc{=)MM;mWUv7msG`+zi*c87JXdf8!$jKd*BIt~#&bT7Tm+ zd_Z(-Pnbc$@u2lI;=>PlJ~3SRZ1AKptbR_o*54=z@8J2eaIL>lAHK=+-@~>3MptODmhFT}$`;M!44ZI1H~E%i4b&uKS;x@cEv< z3)lMpAK@=NA8K%LJZSy@nDC0Rtvzw!T9@N1xSmJy!>4+kLU7fo0l)6~I&iJm(HWj2 zj3aINQ`9lq4_x!}r|hKG)C?I{n}`u}y|H9X%CuJu5A!?$|A zKV12l@XQIUJ#*p8Z--Cu{J(JJufgLdwEDN;`a8-`@V=f8Jv7)~%BO(e^n4ol6hANJ zf`6UJ+LITq_591jhj_j+T=`b;bDnPp*L#ow@XU#=J%iy||9=X6kmqN>wf_HN_-)TG zg=_u)op3#;9Dr9%V(mNvKRwXS|JUFPJ%0MGr zudRLsc(2yho<{IFo^J}*`u{`Var0RH5pb>lKNH^3^K;=^|9=_$fah1jwf_GucxHcI z-V4|I|CiyK54;1{`=iJ3u>O4a8LsvJV~q&*ug)il;9CDb16=F>=Yfw8WBa)PT;GSezw`Fo zhU@zH3jSR<`@Qery3da_GT6VGCrJcf>UEOAb=>8I#|dxS%>&op-Is&+^L!<^{%*Yq z{Fdiiz*WB=yki7w&p^2H)8Vf?KO3(0{0;9H(dw^! zuIHC1qk{db>qtEKmrs%Y?*y70zHq6{+kAx3@XLZKHHE;hr{DJ5Hfa|$+BfR{3tG^YldHZAV-JU-M*F5}dc-aqD|2KBG9UlYF9^L62xhwlP!?&GQlT=@xb&D+m_Yuqk?NAq#A z46gT;o8V!W*?8Ut*ZahaaE<3Xa2;Py;HzHS{(J#f{g`8d{iWZP6t3evE&Pqw&j{CX zQ3_u8jkTv7T;snfe3<83!ZrST!S{K-A6)M%C&P8#n*-N*U@?5jLTmp@xYohm0oOX% z`{7!L`CJJ86s~o!-@;WV{@7qY>im`*u6!_i46b?ja`5_XtxhGl z>NJOI9=<)iYgen&8LoNt!SL|iEU$HFv`&%oGmxL@`8jaSpZ^WlJp5+({vNj7?QqpO z3)ejS6?pibR_6v>^XjkRGd=$vu6*=y!G6!#%j(C5YaTuwe4pnt!8H$G2>yLten+_G$p^yI_qF^`xaRF=!F8To0ADoR>MVxqyuA@#Y=q^v z!ZnY50j_nhZ^N|?(qs5(um2pb`ccLQ`@P*rYflWg=Djn(LyfY07P#^y;L|)`2Cnyg z_2BtOTm43G{XKFQ_;JtofNMR^5pb;wIu_n(jBR%UT=TKZ;JW|+8~*PvR%bn2bxy+% zO|<-Zxbn~7ttMIi6-uMgL{*4^M^=UDw8;mVJLXP;~N ziEyoJy##(`p5>Rrl|KO2-}|40>wfq@xc=V%7F_cK58)rGTYFx?wGMWKiNXHW-+{(} zYaQ&QaIJ%#37+esJx^tWYhCMa;qN_P60Ur0_`m;I{rYgNU)>e1b+CKGZ#=g;{o$%J z9=_s*Z6R!Lwc$rt0-v-ybd2he>DO}H4ktPTGQSC_7vxc+t*a*1l%!TW@Y!SRcG^?`&uIH>R@MO^~zXPuP zDfng2pM&du`vH7m46FYHuKR({@HR0mA7)Che|0~Q0G>UT<&(g*zH~mg))y@bub9B< zlz^*FV|c5CmTwMMzAwB?BFp~-SAI6UNn*?Y2G_dQ>*3!fvHWJZ^5@}olUn`~T`8sgjmv)BdPi6V;aOEe! z^QE@@WVqJBUJKVc*jwR6(^#FIaIJ%V8LoA(Z^H+bwL16V4PN?wpBCKzdOnQ^e9Qu5~j;!L<(dM7ZwH=fZVAvjnbnu-C%h?y~*39e&^+ zYv+Er<|WU-tN4493vjKE{S>a_?jv05wT7D!?B6GAtUZz7TIV?hT-UD*@L&G6I$7Xa zAGr;9BRoHeBPRF+B5KTeqz(yrciFZg8!eJru6_oU!n+E9`eofNTHEheum! z`9*N$*TaAI{ARe;%{~Fwy4e@tLsr>#FT=GzU&6I+_D6WX)mA6e%-}fDeQ84YE6*o| zE1w&#b+C)WwQlxzaOGQs;Qiow-X8|n_!$e2=KVVbUa^^d*EAolbsJW|wO-B65d1X! zl^@sV;o5Ic;c1pzzr2JiA9Yr+zh-zoCS3Qi8Q@w+;w!k;k;n({_?NY(BwT+dRT-|o zld28Z-$^xw>+hu6z$5rL?+E|o-W}d;t+jI?T;pLBTWQLCR1u6zx69^Vgj;2Lk8 z;ktk81=sq_gW!5j90y@>KK_#VEV#boS_{{AXglG0FK`5|dHyr-6}N4>7vS3N zd$_)<4D(yCzi!>LIuYRdt}F$7%zewJfor}r4?N2Q%NKy_yUGgiJD#rs*LRX#;7cA_ z{T^`Tr@}ivviwZAzLQ)H&;Ho*YvIZtfj{#63AnzKybnL{#OgnWD<5TEu)p+OWn6e# ze=n9CUdsD71H9TD+in)P)=4M^*SIYQ*E$K+;94i4K3wZ0w1D6D_H>2oey=ZF_j^O( zy5IX5uKT@d@Z(|Ze)~7L)~j3v*L={hSuA@t+5-@n0BzZHKj^VhG+G{>Jm|;ZOX%VQ09Gm*H?7 zFB9Q9US`5)hqvE57p~*wAGnT}E%0d(tv(AjFYDu~C0xf#U$~B!p>Q29Kf`srOoo?_VEbVn zT*u22xQ>@Ka2+pO;OF95{XK9!f1QNux#=og^LsBs@CXZo{Tm~;Z8r-1fAcNy_Hiwr z9-s(buIu{gTA$V2Dr{| z-@wZhvwRV_)}#Io9=*8bYr?gTbbGkgqwWs>&+GJrtIlZnvJ$r4ad53iJrCZkq~#aF zwI20)c;Ql(-wfA!)W_fveO#S_>v(wx*ZJ)gTpU|NuJgQR(^)9&PZ4Sb<9`$*6-}F}h5?ts1mvF5|9sSSXc*v2#>cocYIV3Y&_py25 z`u?FXJ-5{_4ZrH!Ef3ecQwzAZ+Xb%u)(@`vuA%VB8Ld4d;o9yWaLsqEgxAk%b^eBH zzUvS?em2V=gKNI)I()z9Z^Jd;^%g!WyVd^)*ZftACBc60p2PBK;L4YRSNzKI<=~pX zY64G{)AB9g%J+l6^87%!=C7v1@8q)jv*F6GhikrT8+=+8tFsSYF_ZZrxaPI4!!xU@hAZW#BqbR)woh zJ$Q}ptxhYr>U4&yPH*`2)>daQeEJ=GuRR_frVk z4Sw0{--7GD`XgN9D%`T*czEvb_anhI50DhTyru1jlyK$q!`rp8d?C2z0jj_=c)wJK zE8hv8?1A;y5Aa#dy?^0)?j8fzbN6Jp#?M^%qs~@;F;5G2^58g8KgNgaz9=%OQf zJk~(V{{Yv0(Fpir&yRuYzGx1-;UKF&53c*1UGRj1Ex#A8{5|*y&p(3eJ}3N&V1JDs zV)Y}#l}`;XG1T(u;kwT$0#E4UsyJNvMsVF1wSb=-VB75of9T_+D_r+QBj6gJ$$H4eC9aImw_wa2;OqM<(tAauhI*yd6hwM&8v)rpZ4}o zfvdlMg{!~*fUCb&!PQ?I;fLqi@7e|*INy9Xyx;@#Q*f=Xej^0`0M~gq?5beDt4>n5 z&d+J#$`^y{exMv&`Bw1neO>w=;L48*!RNz&+iLq~5nSVHD_r$Ygy0WC@Gl{FqSe9u znRJ`ACmCGr$pdfW`2uj|zk?s}d`-C4lkW=G{8DdtitX0U{&3a#1wPF4Q{Y;s;t%*G z&o6`P?>#C;Wc+yJCDLu=Qdn_clj88!s|ST>+dMTuL<^Jik-II$Z+M8!P|R2 z69YUrZ@bF=ljEzp8zlNueEbBTvlV{P^E=^M59c&I+iq*mdAQcYc?j?8`KNIGU3u8QgX3Yp=OeX(P> z@0y#!2YJ3FT=~K9d!8Q-*Wd3?f#*MB?U@1BI`eiK8Kf==tw)TvIFZKM-aOD@mqn)t&f5Ja_{mt-3p5G2v{v3Rb z=l_Fio%t8=s3)yGZ{W(uSs(0otzVi1-qP!&fNP!kT<~;vY`b~k%2$K`>G@i4txMkx z9_g<4BV2!(ZBi>%C7!xZWdIhZpnb&1P_|OWy;o^GQFr z)}or`@Wihq}$BEvjB!ugIN(y*|f9&^WgzG!Zyl{PoSrY!2pI6Jm z_5EZcxX#-x;UBzCTe#}{1lRRq3|!Zp$#8v#ITx<)Fc-nA`S@7@*Z$c8*Zw&OAL;w~ zC|tkm7F_%15&WUoc?MUVh}(kWLHj2zT>B>(T>B>jT>B?GJgd*o=Y}tE&kx_|^X-M< zHGCes1bpXh8=uwSmurUpzZ<5eaGl@U!2frj57+(tK)CMb$HL>*we9{2FMihAxd5*B zK^x&SJiisL`}vdbBfi}W@E2a^GF)|@z^k0IcD{h?K0n;{;P_eM`ABf(6T`KCGKAm- zLhuS9cssc6qq@Rx*0X*Y09Sh^gy4(e5zpKHSqfJ_?tp*q`Q326=ehvb`?72BwO;2I zTy@^V^}Z~;|NWw#`*i;h4IcA?{jOMWy%$RjZ|V8;aOLyCH+#MyT+eG|;qfk7dn&^9 z9;YF^gXf#T^Wyq%&4Lf{{IBq>o?i*S>G{9mdLOYL zuJivXxSoS9!V6!r_FsXk{!6&73m@Q9yv`T6-fP6#89YBc^n5(H^6BBFE?YY@!}b2F z5PYuZzlH1lS0(rt&wmI1x{38;GkDW0)}B^yy$9(9-{JXwaMd3NPjl7kPlT)f@9;sM z{{z0fskQ$f_$AM8fa|@?9(aLk)}8}!%_si{pX>RnaOK~?BVV`rAK)dLTl=H$3XY%d zo{tSzJ`?{^|l;`PXpWH-3R@J}1Jz!T!B?#@e409{IF+O1Pf0 za>HACJ|A59^6;IWuMF37RugziZ)Xd*@;%}GJ>M6uew+l?bJ=XTp34@%SDmu`vkb21 zj*W0VckF}T_V*@-;Cf!T4%c<(KD?s0=P_J$!tD;2J-P;d<^!3)gc;R(Rca zwtw=#r@S>U0M~p-6}X-kYQr@j(ipD!kT!75hjfGA^!EG&*L=t*xaLD9!ZjZ<3$FQ) zh4762@7QjH*9v9-uIN^{j-%u7Rh~Z$SN<+MMrf=55U%6s3%tGO!|n-=ALSFk_j^7G zT*qB*xQ@F*a2{r5 z58uGGA4pV6Lu6d7N z;F|ZC1J}IApKv`#Z-&=RZSCI<*YomO_$tp|gloRyDO~d&Z{X3=*mgg_RVUiM;J9kz z`B-qxW2A=f_I!G{^7-J}KP5x(S|NDr5PSq&^B&{in)jFmS9|^n!T*J)O>6seA6)%- z8Q$0P*WsG4cmvnG$7lE{uM=i}u)kC%AzbqwY2cdo$PCYs&VE;RxaKj6!iRaj1YG$V z@JpVr1J}Gq3wXZt)}A(S&3p8QkN13kxaK{^!S8u~B3$zx3*cokSbG-3HSe(={-@_R z!!_@57#=mF)jtl`yu@v|&i~Kgn)i4MZ{hVn!c{-^f#A5(bs-UatJg^e*E~jcc!Es! zyK=#mFG2Tw8Mx*>^mja($2;KphRAE)qb)pJW@}GJxaK8(f{*w75V+`A=}=;~fl+ ztD@PgJ&E9&m&gMD)AKpt%9n=c&TjR~!i2;w{|kJn=cmAx zUk1tOWdS3Vf*L5f2;b6bl_4Y)Ct4?aTt}of) z8bA5qdhRF&*K1&<+F7jhQW(BG9L{;am&~7fQLE|?*DegWcc+{;s4KP zz$aCW@P9rRo~XO|0(kP-=6}GW)v$F_|AOakV$ad5;g7ePuY>;+$@={eJbDf5-~ZrS z-EY8`xu-f39Ortz=nXI5#Ojwn8q7Z*W8NP=>1XqmaMiyAA2h}Cb&mz>E5GtY(5n}< z@wN_L-aY;4VE*`O%kMf9^c_BKkHA;BUxm+ezYXu`{uJKR{XKk;d$_Z~_Dph*3*Yaa z6n@%0EBu*zet4)CwjWBu-*~<%{G)plczmzZ0j@f|;HonW9?|QJg(r8P15e}rJ3O=d zKkyvxd*ENYpM`(p{v2M+J<_>gf0cEQ39sy)9$w2m8@#D|S$G@wX7DcV{o%dbr^5%i z{|cY(z63tUeI0y(`(gMJ_Y3e9?hoK=-9w)b?$536k>LNjr-UDL&jvr{{tf($dj`OaN@4+LxKZ3_`4|gHBKNGkofhTp(2~X`_ z2AA@CyZbKzy&cfqT=pMp1XzXk8_{uJKB{SCa0dzg#C{WjS>I()Qy zJor%el<-CFS>UtX^TOA=7lSW%uLwWjUK_sMy(#>mdk6S6_wMi$?gQYVUfK8@1%KuF z$?$ld{}mqDeF;3d`#HZD;sCy~+CHJcE2k!OZ;a*$+wuHa)d>43P&-aB#cOMQ<>;4No zoBMQlKKI%12JV~T&D^)cN4j5xPjJ5i|J(gNe3ScU_$&7mmxANrlY1I?>NmEZ3&1nE z7lv1HuLG~`-VNT!eI&ev`vQ0e_YLqK?x*1W+|R-1y1#%gbbkZi;~xETaK9aPPYXZo zo)P}ey$C$?TiegY;c4CLz_Yq{gy(ke3a{lp0^ZPl4!pVhJos?;&G4Vy55uRrABV4Z zzYX8({s_L!{WbiAd*~~{emUeG34Y!^1^lY}SMWRT#o>?Lo5Eka_kw?R9}f@z&iZ{4 zJiGe}cs}i!Enulq81A@`l|;_m0*W!>+=E4hDxS96blEx14Hx+jJYasLKB%Do7Dt$Q>0 z7We+}-R{%j2i@1hPrC1ipLah4zv_Mie$V|S{IPrZ>%sl=$~_MJqkCp}m=87{O2ebL z*M`S-?*LEa-V2_}eH1*S`(*f6?hE00+}FVix*vfTcfSfR=l%@-oqL!Y!TnjwJrTT- zduDh`_k!?_?iJxbxHp9Nckc)v<~{)av-^1X6!+iYbKF7;)9$I@SKKqg@46R&KXWe+fA3x&9`>Uh7wzHE-21`fyZ;PN;XW6h z(R~Fxr~7vJH}1#bCETyWE4sgc*K&`1E4cr^cTWOu>7Etd$-OYVr+anyAoterneN@; zquhUjk9VH||L8ss{=55M@TKk>;H%wt!#BDghwpU11mEv|4}RSJ75uz==-a`5x#k`n ze&0PY{H1#a_!svg@JOF*oY#cMa_<69>^=sb)_o~FyZcUfUiVAzqV8|uW!)p+3GSaN z?&;vQ+zY}Rx_<|6?%oRC*1adZv-{8RAKVwf`@3(24|P8UALD)>KFK}&-Qa$h>7EKc z-@OogiFh}xvzsCbl(R*;eHu@-u)f? zs(ZZq!To&K{VVuW_X_ZL?k(Y=zgWNgKla`PJgOq=8^28g=>Xw2$`X|&N;@V*F+tQs zP!p2CZRlVSRK{fh5d=kuq+4(gb|PG_t?1~C&iKwSGrlvp%!s3daV23%z>RHmP#g&^ zNNj<)44X>6->Ev)eY=vl%)IaadA{%Y_XD|oe|73q)u~fer%o+>uZDMLe7T1E7=K#B z`!W8yh7V%=GYvnP@t(2da-GKbDH?tz<3SBSpYiK8Jiz!Z8h#<;_iOm2j6bU3(;5Gp zhF`<@YZ_j~_%029gz?Wb++qBnhTqJ%`W-p7Kka44Gd@d}+p~;kYWSm!57zK?j1SfD zR~awT@NJA=tl{r6K3BtcGJdOuf5P}f8ornD$29ya#$V9zql~|+;c14H%ljJMoAFi+ z@6Y&G8h#?<-S;NTIiK;q8h#4nSsGr-c&>&QGCo|x%NZ}x@JWnM*6^P)K2yV|GJdm$ z&tm*;4WG;Se`)yjjQ>T$7c#zD!*5}HvxeWn_%02%89$`q_cDI$zGV6Tg7F*;|1ZYR z(eU3hK3>BgWBdXQf0prUHT-$T@6_lpvDhHqs26%F6S_$Cd1i}7X+f0yyk zHN2VeF8h<^_6g(1YWP0J{Tlu+#?RF7uNe<&cvp{1?+Oj?&iFhH_c4CEhWBH9nT8K! z{7)J_gz>c+p3V5X8a|Bi&oz7m<7utQavRBbriPDZJV(RFF@BDQU&we+!!Kj}3Jt%K z@p&3PoAKK-S=G(61s?=}2Z#-G*j#f&#<_??XZL&NW5e4mCt!g$xuljXUB@c|nC z4C4hF{vzW64R2ulQVrk0c%_DKVf;=Fe~0m3YWOb3AJgzXjK84a`xt*s!@pwuJqSid z|Fwn}F#e>5pUe2m8eYoyHVq%gc#DQ#!1xgjpUilVFO%hYDdPh)d>Z4YY4}XW&(rX0 z8NWco7cf3e!*68#dJV5;{0P}9YxskVzo_BAX8d&x{~hE1)bJIIf2HAn zVchpsvOJ$*{1gp;p7HZEd^O{fHN27WnHv5E<2PvdTZ}K!@P9J?u!iqu{BaH6%lL~L z{w3qDYxrTt|Eb|dij>QK4fitc`B$>sG8jKb!!sGr(eNRR7iswEj9;SR=P+KS;iDO^ z(Qu3L2Q~Zx#-GseDU3I0_%z11YWQr%_i6Zi#?ucZ%SYkIXn2U}3p8BOPwE7}x)Z#* z6Z}36f0omIQp2B4mHA$NNIq#+Eq6rAeYSOsQ-7N&A@TPm7v3L;%Kz&woaoQuIGbHK z(f@U>oWJkTaKo1SmOo`&<>yT1bJ#^s{O@Hv?QnAbFJ!zQ<0}7eGd@_u|H}Aj8lUSK zAEnXHWqgcAzmM@rE_y0&S1#9;8vPNbzurYp*k7#%?*QFY+@>#Co1)T0r87HyJ69=;5D_!)Y4_9%$gj~40-QDWKiT+nizu1Kn zeH!awlyQ}A7Q*QBD~`WIaElWt#&(VVTBhIa!jETKdVHhd zc^uZ~8yQjM{~X417+39`-QdP>4PVFUp5FlIeV)~sL{o_o( zPouw(=?`l7pINC>zfG<$#phVYRecR(`T-h#72`u)IO+3E+>Qz~T(!Gm4PVamS7^AR zpQYidf4D`%6@9IS|GB3u=N~j&(Lbr-s^8e4;fj8XhAaN>Gfwp=PbA5TIpCtFdOyH& zJL1CK{YJ`BnO`OUQ<+(s3nzLtULT|3eYt-a=)x)83+3@9<3txueEdwG$GFOWZ-mjO z)J0ExuH^hoaN(rq%P1l~lUz8_FXePEap9D1KBs%73n%(@Oh3zo6MZq$U(dM8=T!)! z&uuPx;&X)g+~LBB&p752b>Wo%JkJ09E}Zxbm&d=1U$}7M6J$QWbK%6tU_O6z;Y7cH z>Ho&K%Kxt@4nFH#^px)HobDSM{x`;VXnZDfy8AVHzMkCprW5*}ZOQu9o#ob7!}(`S z3_s&4|Fb#WGc@|I4QZ@Cl6n#D!Bm@->Y{ zt_vsrUorpFT{!VqcGr1~tNP{Q7?*W|U+dyS{D-mL-mcMi;c@UDjlO>mM8fA+8hwoG z@lP84A=cX`T)11Ft6VtcXCRmN1s6{AN^a{JSLJ1QxUtnmPkf4)&)Y8CEw_&~KFZ$v z%0*9nW-y;_9w`u&?pW5JevA_t(c4TvRHL83^kX~0FVXm{VST!0ugvEh7awjC;D+(aMNe|LajA@OiH0jX zXS#;}p6#^x8m{OUX?O$sF={mYRmPWT_*TXr(eU>e|BHquF*vQ-}`I$oZ}=uM8m5XKV8EYGd@zo?_+$dhX0=NNgDnP z<5M;KO~$X)@STh=)bJyWM>M?u@v>a^YWS&)|60QXjQ>f)r!fAEhF3DaTEp*P{51`K zgz#xK$Ej~Sn#;oSzw^32!pA&lRw;YExu(eR%!{&Nk#mGR$d z_a1&q(t@CzBgNyD#Ye5r=pjQ>Kz zpJe<|4d2T6Up4#-#_Kiwm=k5W-qi5njK8Ph<&1x-;d2;2q~SkjyjzA$N7dJ(jQ7#- zb&Q{+;hPxG)9_CiKTpFwC&~1J8h$+EmumPKjL+8aAmcY^_)NxYH2gNk@7M5OGQM2H zA7}h24XUe=+{0h9A%QY18n0#(VTiu3t;p zV;Vk<@e_L|)2n-yj$wO8>B*Ko($W0Vsmb(@{YyHM)@gV~tHifx_#c?QFE3co{FGg3 z_y)fV&x1y~aH7AS>CboJL~pYnV4Mpl`Zt(Cq8#GpQknaDaK#W@U4um)$o5Y{!+*y35e>hC@szxTep0#q$aqf;f0gm$TsZj~>nUUSoan-d&k<9=#xNI7^sP*P zrVA(fx0rsk3n%(4sV2ra7f$pmnf?;Sm3%Ho7=5nR=xwGCbwXdG(NAOg`#Pcjoko8) z)BjDQ56kQr>ooe_O#g<4?_)W?r}6na^NDHnqkS^qP$%?h`N{P=nCbg4uH^P1^Y?4? zcQJi_C-lV{{Y<8xpwaJT{y)>`pJMuJJE6Z>qyIb8KcLZ{z+F|PXC!Tvjb{z@{UDpYIi^ivf`PdpgtB>)pM(;5F zA3LF6rP0q~`n4K8^_BG5rqQot`sPmPTQ&N(n7-Q?2|1HY)#rG|)p+`A_LrWl;mSWV zyc0gfE_%@~ak>*ap}#_-A9#$+(KQ;qlJiX({Y<7`(h2=9HToi^e^jGaa(-5$zl-S` zI-%d9(LcrXpSb9G2$uyLk?0>NO(oC1jFZ~)5G&}1bwWSEMbAT;puf5k`Xw%UB}~Kg8w_6&>wcua}yQx$DG-5d51Gj#fS9yFekpP6Z#J|`oA-Mt46Q%&EWfDRsS}KGnK(O$%i0C zKTxADVfuU*eIHpQ@wdc9Pdwgd`ApDoC7;VW;d8Bvp5!o_(_N&|E4eMz=vOlRgPqX- zw?^+U{a-bDC5JT{{aZ}GsT2C08vPNb|H?(**Cn@%vpd$?lNhIZ>F1&!*$KTOA$ppj zoWcMvZ)3e$;<=2gwxjUTjFZgiqwq2E)yU(g!WI7l4Oje&G+gnwG+gnYrr~N|*=!A8 z%w4OjVDq2Ve&D>Yo@r%uD``F*nsr=`dD_tvWpj(~t5ST<<@`LP(X0F{*KoC; zVTFb({`D@L=Jn?={|y>Gp7G5ZuI4-2HGCG+w`#cJe@Md>f3**Sf+;_WznA5taK&HE z&lIlsXKVC|f1ZXb{skJY_*b}at`bo)UVb(xUBW~31)pgydfw_M@Yx#vsz42+(uMQV zz6e>Q;qy50Y8T#(dC+62hI4j|WiFiLsXh;BxZ0P#+=aX61uHas05e+Y!rk_BorWv= zdKcb9Wd_d;8m{uc*@e69!0j5Y>ZaL+yY0X|8m{PDUAP*nDO-m$T+xflMmXiqZ3lXp zK;eqs=fZu&m_L~suISm_EcmdmFck7|*hbUdQ zzAbgpyY=c37w*=dl`h<^C+l3eTOU;aPwBer{WBN6yMB8RAwKj_x%$Tk?$(ET7w*=F z?JnG{53MfTtqMg}e3P8W--?hdW%jTOXct;ck8S%!Rx4 zA$3S1|89LShFvxD%J9`wr(b#Hf|)lM!xqe(JAGJa=AzKBsh3U|fA-aLtL9FhclDW* zC*N2(b9mm2`PWs3Lo+9YuPec~`SWJZ3ssffV7N*1&zu~X7n-@?x(h02E|?ygzaamN zIaMX|=T(IkglFJYk}Jl;hmV~Znml{K%;{HE%%4BEc<$W!Gbj?M;<-??`DaZQd@hF2W|Td z2x7{BF$_Y#4ua-_%IaExN|{-uDi5+XhF!g2ez?-8oQ}c@F%6qhS*ZxFn?7UCyjk;; zSO{S1)T+?*8P`soG5gx7v!>6PYYdw=KQwdL*a;V%CIXUT%$+lDrZM%Rc?;*vyK3r% zGpoYa&E)Wzv!~8lFr8kno-t$U%tbS1R)(gAre8T%5y)Jla*bigEJEjd$WSHr>7nVQ z-oqBmM{}Hf@r2GbvFv-J=ndlgW3@=g+TfCp1-OBJhXs${!(^O`17( z=8OL& z@a=u2Riy+K07mwsvMn=-2%n8e+-)C86n-#M##c5Q#UGCUDlPRSn@Hpza&&*{3B*VF z0pwe<%}yBEa)Or@-`h{7ukuOhlZ^HJ{{xXblArPmD8B-tijOY8t%$G6qG;%u#pzFD zkkY5L_4GTF-yW8qqNn(N{8wqIC;0L1yvqZFBfq7TJ;%|x!t&JW@4qM)tUTSJJ7$AT=5m3CSV=OuaeVu z&%G#pU4Cm6Pptsi{oCsw#nsE-S^mH2Apa+-v|LXMneQn7%YI<~OAuMeLd$@D(qTC&&U(e~g z=ggFkADVt<2kD>OLHguZ>L~rq|6%%B9i*SzLHajC5FMr8{2!*D-9h@Nb&&q)ouuFT zAEuwzLHeh3kbYnEa~+jmDf+)#{{pIbYA2*zTH~pdx(jU@6`m`^nqw;5Q z`V{8={80V3IDPl{e>xbccBh_S0_!OKJWl`n`rmzur`CT>>7f6j_RnnNcLR0Se@yNm z|HD*Tt|!@79p%5`2j+i1A`4k)`LFCC|I~l}(ELy9p#D#F z|Fb(te<&EKbk(z=llE85>3^U8Zvp}3QKwtV@n^d;kM9h}(N_^sY3vt{ZmA=A$sq(MIUzRDy-#jLy{FD8y z;(uTMZ|NZaXCl7Jw|aW;MaW-E-pA~!`BVBTzRLeANSxAF z=@-M)D zJ^#c{=SeZL|0L7Dk;g&8=%drp&ur=#(f#f(GX6B)XF?c#blQCYI?8`tfy{sPDs&L| zQ2s~azn*_u2hn*Fy=S-V`In)7-5;IyiB8fl*e~bLMVug|Piy;n`a3&G|GpNPzMh`` z-dX!y+JXMlSfpg7o~NUJh$mlHhi~%p5T~#5t8o2&DB=rVTKidaP?lfmIhDT{|5bd2 z{~n1``nvuv=k!;pg!xId^ifY=C;ET!r)uPu^y;sQr{2qC{7NnR#uSb}TMJP6SMiGw zu4Jh&dM@Mgt9=ku{xbYm@m2Xxmg!TJq)+{4GXKX7NrL0$Rw%8fb(H>6-nh4c3ry*c z#eY5h8xbG>+I=2k{V9^oN2E*oqsKpec>bALu2241d1nOAo;BjkGlv72*8TRf;FvC+M2&ci^V*eV>u{TQ`>#5f@rPf zfOKcuvdws{sSo=sCq=w(7w@4y>b+UKn>D}1GNt8Q?$2DNLR?HIPP1z3!zXnVQe@d{ zDR5)U72puCn~-qOZfjdcLz+|MjWnMhssB21$YU-UC6Y+>ThWK8E-YuMc+_qTon_hE zEeEAB2NxOnTdl(Dv&{R~SY}Cs<@DTQ)ou)bY87q|nU)hoiAP#lW@LXlQghNoQlt)% zLq5yC++Sdq`cDlXuR^E{<|^-j22bc@%bDVhom@wvw?O4%G)jZINoZ2B-3Sq+QM9t-4yeRM zO~_iAm~GkX1*sLi+h0vl3tP+w8mKl&2<9dAW=@R^XsYoq14N&)+5_eT^~kJ0G^}Q0 zc&NGRBICdsPpG@)P>o*Xjdi!|eO9E=V{Q4=ioWEpMkJ9;2YI-!8G$wRX3b&3UuL)F*NYb`dW*j(Xzvp*=Bmm5A}Zo>qz@IAGudy&j!h(I z4mPN$_WNKeV>=cq{%(IgQZ#)ANpU5;YD7lLb4KMvL2H- z6_L(JPI)91=426^#3`xZtO=Gg3i|!5U&M?)AmnN{NdBaB#i*;6SC6)}B}ZPH{3^9d z@Pgp%cikLfS>FrL9?ja15le+qe{f)} z$E?{55G{#%1}k!?n_0WsMb%1yaechSk3KD-l!}!gVohsC1oUsclfocrujPn8Qz}H; zD)kppIVwP%D904bndG%{kF^?(bS3g4>R&9&-el!8Sq*JnFi==IN2y!MGw=Kp`U9b= zQVenOmWL6LoO--Asm!XRpLs3l14-J72K}=wM-=Y;fW4tu?C!nBsJO~@7o?u~Xs3)}#q=@g~gVeE6d9COp+`bdf zm81#iY3lH#k4zH1Q9T7fD}vGG)G-B}x&BOd^D8pSYxkNpVUPu!GPLde?T4R$-6%$Z zgKZV02ccsEPPZV&DS9)_+FygO<-8=4dL>gO9<*npA!l07-F}fd+d}C))Io~Zh|H@e zh;E@E;0&{B_lC;K?cFg93S}5~_F)hT%|$PZ*Q`L{`UQJ}g?p+pg3&MpRpzB3>VrV! zJj1Mg1S!VGC(0DG|0M$=6fhk9*%*tMEhItGmwD&{peA0cp(QnPxQiJ*AEQNV3eu!_ z;R{x0yULKoeFRDqurXqsiuM&<1_H}T$3TXz+ZL}7iRHX320*)!E4+3&=sX>Xbz)J# zUf*&D`V9*eQb0wf5}g#VKMO=g`BAEe5j8f3#!nam0ec;#HPo^zrUfm*!owtv zX%GiWgCX?;2unl`Pm5*HcYB?Do#-ymqND;*Z=si{N4!K7+F_AM*-^7;?Nvoo7)GA` zP>!g}G!j6-mUa+PU5A=AwPApEs+Ws|jZ!DOII`X&`i&adlcS{&EBeG+iUpt(n(A9%T9~!J06ALl zslM=tqz;1n$ZWC&s0X(S8$#Eat9;aXPq3T{R1pk~@hVO=k+?`lGbyY9CWYkzn?#xb zf+4F^tbZo~iZ%75Xsto#QPIj2+`iwUVZ_4tFWMq?T|xVRWw(^u&86s@eAjr;c@|P z{Ex`abw)uW(%LF2B8z-&q5eq_YKOWdL=*4`P*P`(?wzop-6C{^Ix<0mfn~Jab2;9L zzemD>$U2W4ZgLu|hQnQ~$a=KX*B3;nf#+FHIeMIO16@wn+KuKtQDJs{L_N981r)=O^(U*iVN5)DuvMI7`uBs8> z3J=-ZHU4ahihibh>_ltJ9_kB^6F1T&A`3HEHVO1e%m`E?};Oo-TiKW?~+aeTCsx&k%;>V?}cWjumQtcJaXk&n$%b5%Xb zgmO=H_@s~#3{E_i0zN6;z9+AB98uIY=at%Y9&&q;W{q0kqWOkEq&~U0~f3BmTmUF>C1^eC+brSj!QPJ}c57W(%Y>vEi=dXo03B zH<<+;W@_nA7-uwgtj0zNAF_ftHio)#hm(|$==EgjYhDLG>W`*TyPs`23!rL+mJNr5 zb0G$ybK;g4q&sC_=v z97R!v&ZQZG?3mf=>L63@j`^KX_hrKFEPN+?P>BVZXlwI);xXzlfv!tE`ToJip45TA zA7nh!wePwtV@ua#{+4C5cFlMu%lKnA@6%bv&Thv&m1R7cmfx6Vw4|K{`rmo`92jWq z^k#fM(0Dk#Ys*06+4NH$A7mU#KWW=Q?dmr}S9S z%Xlf}8eC?Pn)hfgXMBWweB|-{cNgO;&v=0iH2#kA z{Jl%}qiM$bUCeLNjOS9)tGz~j%0pPVlI6O_Vj4*8jpHL8^&%=kJVn|bI%gM zhq?@X*=zhh<>z4Yx31o(*Lb<><)H57{k7M)BQ4`$uW@f$2;I83JHn#g3d!^9E{Jd7 zf5zTi;}>1Z9y`@ok}~E`ryBcG=HvUPsSkMYa(A~rkK`I_yY-Le8eewHSek1*nwIg) zT%$hC8_6{eryX~6sIk|Zad@clc>1{ebB#y3_xoz7v8H>s{X>nN-B12>sL{})>&HWl zyL)ClG1T~1&u$2fWb}DE$M|)xf=_aBiAUe(bB#Ub)cv_elds=%xyB*iOI^OoHI5uR z2JF73m&*J>KS?`qy*8c%oa zTWzAPXBbeVimn(kF1kVKX@BD#G}3oc zyZ7LC9KUeD^FE`X8=_Pl zBNMbD>%5m0|Ez_w%HP+bI^yo&$Y*&0Ojhlq2}_u)oM2Q;Y%FJqm`=hR|{()fOHCaXG{f%&_zG^vrzJNzFO!L7|_u$Am@TJZ`NdnQ|Q0$nA{vCr6e7YMk zZBp~cH)#IYQk7vv$w=b)BRP8`BaQG?vHn5(Yw`7`v7Uq?It7e(Pb6paL^5bE!VsJi zaPE;~nw%8}Y<@++E20=|9|j_KE=RuLalIU-8C)^qkB`R6OyFudR_f1+&zoBTBNy>^ znm^Ix76z(tSNP%;XGK2q2BUNRKFB|49}U_cz<4jW_Y^-*4q-8=flo$SGpG>ZkI7_z z4CDZRUdR3zku&%oT>hBk`3q_-+>1EIXDw@mwvk1XX~5ntk>5fic>;quR>uZ|NXjaF zC)8VcWIGz4NmA;Qw7#$bsAvq|xO56$Ai%-sbD|;=YIRf4{+!e*?)+u_vI;NlNWVUZ zvt#5>pi7<@U;akC3FTu|vf?U1|%bpTfu}Y{Iyh50Axs(j5sop8f@vY)USaNUeb* zOTJ2_f_F*2CUgjm-&{g1NOb^aX+_0?s^d3`=C|tu1@4$hYz3oVRE>XNaV@%@@N0(m^ZIq!x5UQS7yt z@^+(0$L)xhy@1`wSyYrfDuU`ygpV_vTe~9!kB#hND&X3|qK49~yRfD~6;nZlv0@j4 zG|a0W2SftN1T9Ozos&yQE}oMq?Sk^_^Ec*iwYP1K!GmO>;vj@=mRa^W{%@v)vP9(A zq;@g?bEc}u%bJmCxY|Z4K#Jv5F6X}Z1RZ%hXhkPOxiHx*Qp-3keNf-=AfU>NBI+G| zv*q0CmAQ?S`8-y`*C|$A;XNM~&_Bz3YHhJSwxC_pkh)#&%tM2M6x1RUEl4>bzfbTh zCYSLo)V;zzNrfmDjRr+QPsMn}BCPPW6CRSw@`U?QrRG@}h$~DV5R>#hcAbT_)NCvW zw#wm^(!=oab^oekqp2q>1qrpbVykvXczA3it>nUgbgj>deB6pgCo(1mQgF2*Z@>*c zm(=NUa%h1RtDaaDlG$%e9ZXA@Q;>6`6l9l|(#nmQja3O~QSVYL9U~aFH#ItxM+%Wv zddat5E#MNbHL}E4bpch$6dG|VEW5%dnlV<++7;aNc}!oxXZj{)nY}9t%-&YE*}Etc zzDCQkOT1Dpr^HStRYb03FV?Pd1Q{)5-r~=b1%@Ci?(zx;z_w<~8ShOmZcPkJaQf9F zx8Y;p@Y{ed@uBky9y_VY2}ZGjWPvzB0>~7`0_uV|AF;{tPBfp=mYt}|^Et6IV`s$j zV_jmW#mRmm$S}heoo|*W)Hji5#g!7|1QO$GMVb9(ncZZ+5wQPm*tEHoB$|5G z(iAJQ)>B@4AncFjl}BeG=%ZFww($Ns#;YMgyGodg_D*3yeIc?kx-s<(wqP$Omuy@% zlnu(?Bv@XsWi>-q#C>HEXq0P##OkiclsdzxZ-Zu>*syq`fg!*i@3oprDv7TsY>8#| zE}61;#%$3279pbGcxI77*HltSgiR$y#-X;h#*$K_5#kdwyI-2E6H79w*$V4Za27cx^~$71mPLd?n|yib;2;*rM0W6^yP-Zv z_F*oiCQA^jFWaRtNU~y{C^)*PL>#4F#zmrPE$8;4m#I)zZCmIB>9d>_Su~)Hx~-cr z+>jH~d~Wstdyi0{D=?FgAD4bYMGmBSFxEw@JlNRaRQa4qna=nDrA|p!sWaYBoZ^X0 z0?&YbpxFLLvHg0Py}lF{Oezu)1mrPHEwlHO+Pg~aBPh1a%iu&_+EGyEN}WjsR`guT zn2>Vug%`=Sufu9fi>e*D_YzZ*@YH(D5WYL`(dzJH#&Az zAi9{$&ftu9139ndZ&mhwY5KBk=m8#;;!#monvQ{FO{&$EjHE!}w(xsoZDU_T>efIs zwE}xGQty|D*_OWcI!ySts-t`=cnciPnSxZ8HEXa?@-h)GuKFBl1Ejs>>7Z zUR=GJ_5d28-28gb_vCe?y9K>j``Z-6TD*?9xrP;VP^1h)i=8E;4aN4Iqz-r^eZU(j z1l~v^@J1@p2va~T9Aex}m~PZJ|u!}#5y%yAqED}AM9HY(N za#s)_EMF}rCPwx7jWxo<4-Gqw0IVUQZ=VZ~fc>mo7>UX;lVaBs0R&WsXYqlt7{*{D zFU*Uj2BHg3bagZ6q+q?m$Pk&NjX&85Ws&R4*bhQ$L9o|v!5$H3J_Z#m7hQr5k2WXJ zvpaN5?6Rs9T-YWI+Pm8-e6d%G4~(HEasdQZ?%cBi8N#GrHW8_B?j|BMuZA*xm#L;R zq4#uz>Zx+@sb zPM0w-?X2A!ZY9cUu%YcD^rR0BI$b4|Sll2#MJX+8+(HW*@DDltEqfduSj@7;a9Js$ z748i6ww(EF$s>Wne}?xbjqoCC)Oes^SW&@zX{D!S+&8?W1iK8b98CYAA@8@a$s|(u5b)ISMm3LH zwhVl++6cp@!P?Sd*{>EKsE5aZHXmTZc7D-;CQqmbx)L}cz6jrsy=KVqmVNY6YdIsZ zn-Ae|YAi(81b<-@933+HB47A4nv9>5zcoq!%vG2BJm(DPXV#9!h=IP}V-;=*x5SPi z;tZj5a1hjkzauZ#SS9ck2ayevY~jz*a$PGAP^a2c{C%Mlu>=+{#6(^ z0sGrzn^`a>=b>E&Z;dpxF)X)M&7kR7P7h7MyH z!qGEP{fTI7 z5S`nK+Ba-OvnX1yuq||)(l^VQs@nI?VByzE?OWtyOeQt%RMbrtyxp*PiACb0<}U$E za;51fvKw$#uK-ct6*cP*6t1Q*BXllyY~=4qs8G=Ji7X%HFDjC=gh;KNLsr8f>aQEI zOTvQFY{6Dx4@&yv#Of)r!qponiE~5}=HP0)7#jb2Kmlh7(fug?+bLe*>SjE?lfR&I zmJr>K;@^r0;C~2@@8mD&oFzo}qxh3o6Z~l?`%eCX&RHUcydNWfX}hk@{yzSK&RIfq z-<|(r=a&^AiX8FWFqajJchd6I0t95y5kcS12*}8b9O<&4V}hi~1vJ~Wk|XEA5VD;A z{y*G)wdQQB^duuS_{*S^FUVTJ|;}6zsbFN87SWs!m#n5?k}oU4(^$ zxq3NKI!1MY5z0}%cp3?*M}bpYI_Cu-BBOI{o9ILHOvDSv<5lbN1mKF7zn3S^a$6aa zrjO`f&=p+eNL7PzsbJch+9T7-@XzH*++*Ukfj5i&7 zm&SOV@w1EV3A0Tf`HseCnZ8MR@ZXQ|;m-u}25WT~{(>y!Yg`R?PTB z+EDGr&v2`hP}9Exk})p@?EjcESM%@3>1_uprYUe-yh3Zg|M6v8)fw z(0NwSsj^@wU}rIeyG9po7xV7F0F(T)s2Za6E`|!3;7k@zQN;ay^cEjRbZDwm5>G$Fz24owqIJwPi#%3Y3A!@I& zBGptjgJH2V0S!BJ3}UtJZZvDM;0i5H9SFQQ|>BB@i4N6;)i zOh-b3W*N3G%*AxY`7eqdfI9-yhEzZ1Ht>mtx(1|cbS|w^ND~>(>S?0al*fo*TEnAX z!Rw^cgx=9S4jdmMj*=O1`2oy?6I#SwAqo>&Kf68i!dS>(KI1wV%4y@GJ@+CF7>X@c zbi@Ws=iw>A#)TFeO)P-fFXyCMaKjWg58EoH33qQG_jHjp&J~@+sfbTI@Pc^_Eh~{@ zS$f)O4&mgHoBqbtMMzVWlxD~@9Y>!i)?zED=TvL4737VY22!KAX-okb#oWlq>VI!7;;gm{(p8n?9A|)$QQi;X5y(y)0_L5y*X3wKlxMac0 z5_JzC8MI&e10NGaqE_Ij1IVF;E|oEGDBy)Piy};;g|z}f6T6zWJr`kd77J^12!+mr zz&ZGB|EfOG($fsAtW}WDY9hHVvSTBx=oMlb29dF7)(MU@4mrnY8QufVSZ`qDSYB6~ zEw_I1x>`kIT`f`W?^svEGC8fQK`gwk2DOk2_3gwh$mF`3B`b-n32qmdrrTpaf=aex z&`d10rFTm-U97V$NAAOYOJV&iUbh0@<5N=CQkz^ilWStg*5KHv7$iX36OwCRW(Nxa zx6nyGa^Q4CrRoQXCHfcX|M;Ur6RQUAR$UvkKD_gr;#m)y_yP=~o z(Aq%cO;5Q!!XJRzV3^y1G%#2|`Z(<%tW>$H;CMFa z;$sPo8pY-VjjsM<`k=93gG zmLg4$`9P`PEVVz3ot$tlEIaqF$dy^s1fp{1Ivlk_M6+fHcGi?Tw_>g#&m@as%}(`W zeSqxFbLrSoD0J>Kc!Xb8L?n&GEGK>d$(oT}yJHbNc9NBlh@1=Y>Fy>jfoCn9m)H!R z*wAt-9ctK)?=Zo_i(2l+H{rh~b?uxL%scA1#PO?-#PO?ik*P9?Vz8FSA~NNQA{~ne zI@9P_gjqu!A03VOZ%R}@A40j}`L%4Aot4HZf&mYs`ePW?eCX!8kBwwzS8+=x9t z)VHYok;nPFj!y&{J}WGad?e3LzyTe7)-S4x5AR_8QslPOc~q>RD8VJwRPh1q^n9S9 zd(dx&PII3d%M)57vJ)OJ1V-l{!$o5Bzmen$6_m*(PO(rR9p5FKPJm&cc-C)-N_fD3 z2w-e_5Yd+58_gzNCzdffVWs&IznCoBJCl!8S1Pw79jUG)#%M#&`m4c)MxsTrllf5a z=Y(+65M^)KL_o16;IS;D}7w=}e&>#E0nfH;N4XCM^+zax@$EiTJX@#RDqJ&loWT81 zw0i8gNE}}8V%9wFO$dNRX4X7NAYa#j)Jf4qfm}Le)=UvGlbc=31c3P)TgGDdYE@5p zqL9nx^ntvtp)-ZVjz0LhOn#GR3hC%4ohf`)wp&g(e+SNI)51!;r<2DEGm|lSzL5Ay zoDLX{f=%%SwsniVLvR#If?J8Fo%%44R($ht09@ZR8VHf+Y=F}nYv}8-&vxyC#bkz~ z)*xjZ7sO=!o;=J-aP*c2PV^_UmQi0IxFhqM!IPyWIjfU_4^i@+oD7ta6CE6_KH+2_ z3PI~vd@>LxdHL{azr@%o#w)D0s~XW31ha-Q=uCqn%S%rifXi zY8ceaeAG5-KcW1JhKD?$ZHO7D2qx3PtZkxjoQo=eUV{+P%o-Z2iFYeKxdy4V?GUX^ z_$=FnP6;}T(4OMsQJ`V}S=2WaM?Oglbt{gvd1CNC#)E}|f7ft@@wPDXVf?h8%t{FB z@7Q2eVZS4_0n?a-442WSc1i*Zq|b`+!@}4m>I>7l0&xZP>Z@P} zgEbFkFs6JiMWJ)0bU?Myy!$ z2@P~bN#v{aMD>!$HX}?3qNrwXXn`2fF~f)#i8^buM!1+UjYUNy6y54wEf*A)LE@Wz9=fDQgU6N4)2jbV@Ve@$dUV5KN*}BSdq$z z;KWH_45mUQ%>Z=0*t1St&+?*Ba5Zv% zrve8W_Q9Im&FwQ;gQ>eIwLceWaYtQd@9sd2e(E3a|2X0}= zwxUnUVH4U$m0M86<5C`Cg7M&&&Qjj$5jhK;u`4S z_(}j&!mE~>2J0ndPCfY?A(lM$xWxcd8VH*}F_SRM|X${YPSh_(hf=Eu%$?|_Bphvg}Ju(A`g z>?eh-A~wYAPIzMB(ly8qK@^%6mSSULPdtUo8W=4>QReZ$TOT~)&e0 zT9OnHNb>;3{j<}p=-q-nji@95dHO+?M>%TS3-J5gwMxEc#Lgp?BT1^cbmx^TszkQ4 zdPLwFm3=^bP9rXRP#uGs{w?M*3NxFhe+feq6F{;4y-ykg*4?4M%n##d1blu<$@tcYxu(*rXWiL*Guv1`Kh61%7=xO@s-wmGcD> zC>Azfz}{F;B@U?nZoi`;Cu6p5GEN*YtoHgM!7>@9;=cHAga)9<*w{v!qbdnlI$n9`wJrG~MQ2VoJ=Pjx%)Qwh-uuC3`N+Q))vM7zj_61QC zX*NSNQ}o?Bl%KKF+-c%{iu;|`OWf~PbnNW!dG~4IN$==j8=Ctx92&qx=4t?kdd8!O z@Scfq?P`Ta-#yKPkx8%7zn9Ov}BXqoLzTw=6T{MMO!~WD*SNOMZC>KXR z3Xk3j%_}sYO2r*yxSy2vZeWxC)>v~qBU}N*A0DqbOz-g*l6Cv{3N5_yyWUA(Xq;15 z;by7*Kx8+&uf`=~0w#BAe*I-Aw3z>i5qE?qu3MDlIKO(l*bOT^xS7>^S4nrjuYOM| zC}{+2XxPtYnQF1 zEFn~U;^{ZzwFCMGGs84)X9=&7cj$4L;Z`zg*OG>nU*M_r4a{cbE z3%u10-&7w?U)a5_4VK@wJ$?@|6z3Y4RC;YEb34L?PaGMc2vGyz<>m_N5m@Y2Fp8HLSt zDX_S6)&=cdxb801dO-|$ZEb1T+#j_2_|3?($Z(+Ho0Rgxb>-&h=5qUJAg3|Va5NR8 zn_2rfLTMLveG6F-L2P@;`IhGB4M&jZTer={5!*n+N2vkNd$>i`N6L(e4zphJKIBI*3bz>#-i6=*oou(DbFz(o>`fgC0hfw#G0n5IB-& zM$SN_mY?E}h}IOaUvIe#Z-JM%C}twd0p}(h7uanz>`oPf23?%dunSqi;k)&%_P#`3 zLc@>`jLbod$MXD$=}R$t!(WdMGlDY&B7Iy$8~HY`>X_IJkXrVeL`}$oN#&k>0i+V} zGzN0swxTx`A!44}9kk5!rRHLD5BAXH`fwh6Xfu7o!R^wat@JI=?43Fk`;<;c&WZws z`@)-q92-8ynT@<);n7f#PBY|uiOjUx|7_Ts3O@&qsi%Yrt%LuhjN5H)0T#iDIJOni zYc+e1#&b=p)wVuNH)`iq^^FxF0v&g!SOhINeHQXJR?y38g?7UL4uQggLUukAX`dKN_8Y-K(X`dLgxiCgc4ENI}mCvu0Pua>y60>4i zKsautt+~<@qZwoT<1Sw-(EsW3x%rcC<$sfZ-v0uBnvbAvFm{bPw#qbDZCL4fp>1%g zVgBLO1?OlLlO3;^N+{l!A^boA?9q7rA1f>4{ctQFU6i=IYb~ndt9V_|7fz4t4|d>? zPAC)4yAr+Wjb0;szLqpLmatC9qz9`0>_?|h_lIFWnK<6|P4Xr>Z2T9xj78A)N7}G6 z4wux@k+z}O^aE|C;Rr|C)Wl5eijxQ02KdWuYz)9bIk}ZGaiT4C6uKTcQKX|@?YFfPiSW|gmjrY~1ll^H}I>BMd+)^BI=k<+J&$o1xkD|HGOm+)LchhaU>|-$Azq)b-f)2fhO-=; ze#RuqmuUU8ej(>mWV&EZ)hluid|(&)@OvARVRon_NK_}4`qM_?6vHSNE|b>gZiABf zTb<0`%;+a#mqoid+?%oY)VY}W?4J~!KQ8+bTf*ryAjTXFYdg#ux(gO(T5+26C&dTW zVRv@9bG28@uhRlsaFaRiVX{xf2FtzTPKnql!XC@7FE9KGQ<3t*-R9`^`5Uq1{7^&C z48(8-<2Blc33eq}bfXi_AY{j|i@7ndWgp_effF!C|DBGFzKGy7xY_e!>C3F>%~=?6 zae0ZHwPOM1@z}2{2MHJM4UNZ{)-u5@;9LQ22AHeJg=L{B!M4Cs68)3| zouaF%7$I{>u}|MI4@w9VL=^cb%5Nwm?yXlZSf7W?$mYm)Ii*M?(QM2I#$<+1YPk&JgS`-0 zli66D2?;h@g@?=siZUC!;Abh$BiT9=eAPE*;zSw^JeE_8y(K=Y@Kv-=DADZdn{fGG zeQa8ytnxktY-B-jHxc|ht1#cJA@{4i8gRH}UytAeSa7o^fE`%cqs0@BltOQj`5+u! zeOl?t1bZUz(Z1NtU=ivHGZzk691*eL2?u*T$8r2IGCqDM$7?>g#!~014 z`{EXZ5S{~)HoDjNctb9gmUx1N&E}FTA$OeL z_E|YwFilKB*qhc1jn@xo!aq6(zObL=*@#=)(G)je0)`o{S>s2XanaO|DRC=0s$Pz0 z(Gfdvr${TzXIz`!b3*`LJhX&XoL3`zJhc@AAdfBb@PBL_Cg2+=JHRlH zxuh8^TdnBr2)ne^?0sP~=r%(S>!5())#c84bkHe={sNOqTw8)0nV>5{gymxN4UH6& zrT7>s{09jYT!zboVDN_C!Xc8n14VV75Y`hHZ4g3;edr#0<@A}h&Lz226ZJ(dcAUC~ zi=Eu(xRr>03rTp}V`jiPTkNQ3ce_Qt^ml`WUsU6So_!TIJ;skJ z$!-!e%Nl<@sH`Y9hSO6mQPgGOEsv3v^prnlWJTqw*DF3?LgERwI7UHi@$)0{UYWHb z97v-7he`Gonn=*O9gPjQsMvdgIdnq3i&fZKH7?-v3gloi-qvM&G!@SKHCDr?=iy>> zxEwIs!;deBpAC2c)k&Yh)Hp_2TfW62JQ~LyTE;$`cJ=LzmD2J+=J@Df%SWda4KtdiJ8({lT(f zD1kA|LKkCdDAXstY2`GUHUB_Nw4ZORhJ9VE=*2L3k9ZekTL<5U5}b`T%dBx9$R;yF zEe8$mX{+#kGx8#(=?s8Tupt1aQl$QyQo9jcq$?*abb0`SIQTxSxHcZooXL-UV^4nK z8;q*>t*-TOMel?EAqPH;!$Dld7CAIv!3BxtGi#YM@f&;6H_pUE_M}73#INj0UpW(7 z?Mbc9#Lw(WpE(ov*pv1+6F;&iedJ7R#+qcaJqeGs%~s)t@LDVeiOdZu$Fc~{LBc>z zS``V{pVG8Fvg=SFdi^1q+2XJia^)$;Ewk_n)5tJ!90Y(h3ar53JV~RKvkyB*!IjGc zC(UE%K!T5<=jizq{5DUu5>!vnX7o-^p*Jag3f;+i>Y}=YH^sWi_~W7@qL3bbu%|xM z$IT`91Xz_m(G0Inu<+F|7RKIcDMb2K&gb;?zT_T)=jX7^g*gX{h_*uG?#-z6IsF{Y z9dv~^85=ElMh^7~W81DY&Wq@WiuOy1#LsIgla(3=+VHuGcp7#psP6^B|J>7D@(a?- zXa<$SnvuHL@@!~pE?(R?!GR}kA%(HYO|E>)!PO%>!SbrMiP)qEFCQg=U;M)_o{2B8 zjfI|b?q)|0rJ6MjBGVv#Uwr8j#tcH{zA{pOl-NYXQQ?O;8&2xt7CIf>HgOvLKt(Oh z^;8U*?F=)rlR$S2+I6F-WV&9J?jTMV3-VgJv{akK1*O)wkcUeY^;hCcm+)+jOVuTA z4zVDFcLWQ+v2*d|AblBuFB8EymWwazpf9nL@TF%Td^rwZGU$sBUoIk=G<pxw*#5ks#f$sXs*iLvmvn~?)J=ti%~iPj zO)iAa=y{jr+0wR)cy)nAIt|`;`tC8FuSYf2T|wk!4QnY4I$QmHX^@`PO<2}x8sHm5 zXx)WGQrfUKDT9weBz3PL*$y(;u+JCS?TMzY>bemG$?XO(gy%h-Ko{4Q7+-l$785pPSoOrH-esQaMfwBzwInzi&6 zo?3U6C}_L1xYn+ug3jiGV*QL@c%5obNGiswlpT)oI=90z4EuzK?({-!j3N83MrD_rQiRaq7tLd*w^;(Wf3jJ164mOcEiHw3S7D2KM zTMz(l4f}cvEj!S4D^b?Ht>`I7XC|@QMM0`;H+20-(0?fY?xDYncT*~nqn^5}(1s%0 z!R-QfCaE>5oSe_!A(sY{%g?ygsqnqfG5U`1p5Re8jl=8KxFxnDK{bh}%JIh~u{SI5 zP7<4lrz_|0Bo`z-@w)iUX);QpnB85Wjn~RhDyc`5bUQ++q>_H|oA2XYNR`^|;>H&F z$|YG#C7sSCiKmd^r4*PX0}0fv2c0a2QY2m&@R)phZ*||F0pAC4QU$ebo8o&P-o<4*XmnU>UTFwK_2sII=K1 zu;rUT;kqELq+Z{kFpk&Jyy# zOm7O>U%-A7&aj@skCm8TVQyA|Ksw^EoTS1(>a0%Wi8FQD4^PsssBt)Z;?0`d1dk{E z)x;x;TlZ;qd=Ws}$65~%Sxw9q$ls$8D5F@hDtpMn1)6B;IC79H+@!;dZshi5H2)=RF>@qYUgmD`;*YtZ)aN^x2Pw<7?+X0RaN z7aBh_$>%h1MW;ItGB)3P>ca$?r@VaJgA8f0L=a~~hcxPeQtq&BAGs#WLVe zqa!8H`Wx_y@{4kdUAzb4+w09$RDIGz_o=$ry%=i?Ei0k2<<2bl=u49ir9A>`2Xj|C z>rf5GR4Mg%;-0rMNRmEa;t72x`d`F0eKfGe$=uju4pMcWJRIs)LP`mJ+ln1t(W}OfCL9@eO-?4 z; zQB**yQVxDYqvc#Q?Q-XI>7qhhTQ**0_Q6k6Pg#jlb76kLoEWw?r_6ax93rr2!~Js5 zc;wFdmH2AmkkmBywtDPzk((CbM(XLV1YV}1doblM-7d1%Q!`Sn3)|31{Pe-eo@t)& z0CHScl7oqGOwP%1C7UAcw!a+LsEXeXcm?vOE};^y{i}|n-wu#e)IBvIDxB=$k+D)* zF2LR7GjN?l;+l3k(7-9k+u9!$Qn2htMB^pC*rfusRzD>`H&`I6)CtfBS?r1U@8K)t z*^Gy4cl}3rrQ1)`VyE&c2BLKDMvd4bpY6;K~UjLnIqOGBhRu)b13DwaL{8BpAluqa|+DslVN<0nDQHOa<+C(PvtH(>^ zL@(hFdq>v9=l?c;w98(Je3l7+uC@i7y3nA#7ONFl`jorC1JN;Xf}{6`I$+=La4 zdoVg^K7s{zEqv5x#}M*9E$WDPxGdP``Ku?9{z#-BHnGN{N@(N|6w8m7+v&lcGTACPg4v8MG{WEG|+UGX?3u%ZcqM zv~2)dSYg>^Fu}%D;wdjtq-!6=Es8_RafzZ`j-Lp*&4L!A9?Y6YmC&`D0`KXTKyT-&6NStjJzNy{>V_331 z%Ce{Hn6Jf=pE1~%vxhDL^O8&-=Ez|WVf<|?1tuu ze7y2+X0<@eYU~sxEm0Ji^V%^Om(X*w97PEIE&y(e5JrZmzM6Wv!3^gq(_t}-x+GWp zH!v=P&Q<=*a+olX(quGatm6*F9>Ha_?mIfGEkHqd~q+{0nxr>+wCjF)^79C?HVm@dOqF+kF zcG2E+TP0Q`1NN9q+@O$!yY#>Ts!4O5I9Ian4|fd~?lSMZ2z-&Pp#8DD{wSC&CUSYO z2eZBZhrPFtkt{jx#A=Vr6Hi}5S+-Air-Pb0O4?m5$*%sIp7C(ao}QYW;&e~9x_g$S zD5+Fk^}4$_^|kfUGfh~uY?2ZdivC09)z{0a?xl9IJ@sC^%*e>d$jHpd$Vl4U6v`}pB@PA1 zf8`yoBGf6}hx48`xzjc{5Bj>DbxWWO6W}W(R;s(`^E07 zo&DWchmZjrd_|Cj&;B+RdgWIi7T}}|m+p6#UwiOW`R8fgh5x>ZJVt){UqMOSd-m6O zpYz|n^WM)%V+LZ?|MBC$O}^!r^kWQsog{%ooX*abU;PQFfxm*A^*e=HzyqQ$E|*{b z{dbn1`r?OQ`EDqLqxUX<_?4sO@8U+fjg7D6cYXM^JIhN<4rruJxo3a#+GqX;Fb+nJ zue|a{um90I$rb6-zyA)QSf0E0r@v>}0N#BU+i?$Qvkg0MWo)HwVL$NouiX3k7l+ty z|H~imRjtI|gUP)}uhQcEbIAW|c*oxsp6~v5c>hOu$KMv7@BSp-;iq)|lX%Bp`5yxR zPf|qv|Mksx3I*}XF1kbsR+pc^Vhu9-#(#~4BKG9qAOEM!>L2?k4V0U7ZVgx2eIC<| zd#`@{-65rgj)njKHGh&l`N>Dium0GN=Rxq}7%uNQ1HaJ8;IT74Lf%DC;;$o+a{1Xm z*~O0d>wkew)eqoc1G?_(JI~TSH+=km<-EQNAF1!aXkhzo6hFr&3f{Oi{Gc|BVYtR- z`M-Nw3lR<({PDG)E|P>H{yRCE{O3PF;)8>ExKsV7$gN5(8+Kl~1-HM)?;;oL*Va~X zzX!@jY*Xmi@+*I|d+kNs68e|-p8Y=tV&#O+%}ZDjIg)2xNPg|7{udG^RytVNLj=(a zep?#h{`9x#SirrfaQ(->rcIWoKMj{J-1am0yZ8R|ci>+N{}Xb^rbvY10K)6!ul-lc zy*)Ame){zf+0u0f^C#)xjVtCMI`4+a{2D!A7P0jedRWE-g!Of}u)~f0#%~RO6)zYy zzC=fG>5_yuXmb6bzxQJyHOeCUykz(=vm}EO6MtFAO0c2FE001^!_$|=eW}Bf4&XM z$v=J@gnwvR_{V?#Lnwy)<1vwOXOyTv`SZf^`1geOD8`#rH6Me>W8C{);-7HNMTOM) zK3uC|4gYWs{7=v5_Ji+0{_hce0SfJ^-j8rd%Z#@u{hy~su>SMom;3d4QCt^+$?Fnl z9rxYG=f9JzyiYh~3vc5MsrveuIZAhEG`)}*HeS0F`}*r^aID;*kbt;O`Bhwo2Q~X9 z+*$u$(z;te`%nJc@BYuWexCk?b^O|A{wq|x{Mt)jM`z&+zHoEaxBnb{6}NmHy?IVI z-9G!zB#h=4*M9El?<{_`@wxxvslrp&es1ucPZht=_=0-*8}`dP@bV}01+HZnE`M|Q zi?rx_@4ct~m3<%x_?`p4uZn~?%yZ+7;hS5q+LI?L4xfDHd!P=#cJJEH;>O*-!c_>n zul!~C#vk=?MEK7@I@&EOy(kp+t^&U*jzUjlSKK%zgFnJ0ghu75E+vTIGhdtX&G}`=#no!CE*BnG5j#?Jv58I#QO7Rj=uFfZvOk< zGW_qM=uo{c4ga4vf5<3Js@1ihVz&X1!Pk;;y)Zd_qlW1SVftPub#?xGht`m!*%3eR z+GjtE6clCj{}!QL?Zqvsfd4A;k6-8?M_w>ZBB8tXGw=V6u)4B%&gyGh9HD>!hg0RBH z2|38LhzTbagnu@`tv@LLy%_3y2=l`w{~8D#EOBH6t1>vx@ehC>->|U_1Q5Ml%sVW} zgPrCfzWjzO~3xeomajh;Apoe z*S=Q1_T0bx8m0^nmWJQ?=J!(CUqjm85TL<#eC^uDe*N0}f8j9(|KH>AvgJ?z1)UKt zzqa$!fQuGhbI?Z;j}xpwoLKljaFyY}vHBZ96y11vxC>p=JXFWmdb1i^nl zd9U~j1o`T<_rsTW`;V{v%}gk9y$ zZ{coo=c%u3y$83we>*hLpOe7;EgXd{V}ktV9oX64U4Hc?%-kLpc449V@GDRMIfqn4 zDg<3Z$Ph{T;2KHFw<$@1P3S#{n)sD>l;44s_A@XFeHV;E!k6E6FMkv5f+HzMkCQ)tqxU@! zn6KZv_P>AW)BoRp{3pM|dz$zD#aG_M)K;2qZ+sq0uP=krJ~|3paJ)Y1^%mu+VsI|pMB3e$YJ}|zaFJv=9E0R9^WuXtPSkSD0%7_Mf?~70WvP_7<_j6w#{+nGgU+l7bI;bEy zd-v|EAA1++#@{N_6+;l`ul2yqFO$&W;<116<~w%Z12YCTBwzW~FPC3^mdE1XCyfYR zEYaWz;m1niP3OA44`GJ>hDuGL!(bzUwGIXRZ5&v`Jw>tr9NgZy@wk}A-a4?$j{-59x9g=?Ki#WIcZfw~8gYv6;(5*W# zD}MGD@e!b9tiG1sTrnC|=r2w*_`NqMh>iKi_LtXiwH&zvLv4PD$izw)s(JGshpHX? zWbt!uddw}}`5iaE^=}SeA~lH<>%%{MQr?(!D9bbIwu6ni(^G`_EYbE$K3(oY6U-&cQrX>id^mcH-F^Gp54C-DGCqg_v)@Y69K8|_nm z?hmS`Ngt1e=a*`oVSAAD#7leF+D%%=Nl$*P_IlNe!$Gf6Cv-?X=yZ3I^Q5`ue)wqN zV}&0s>~w0?rYswTec$k#3m-51XyN0_KU#Qyq1x`WKU6rb_8YZI9~j%Gh4Z8~==2KJ zW)m6lbnEDan>XcK@(k6XGFWOqyYvI?A6QDB)RLs$UuspKG+M*fQh(U(c6x)P&gB(A zT%)~I=nMx-g@^6NNvGFZ>Ln*ll+ft3Z)(^vihAUHxjj5NLG{n8y+-x8nS{QjGwnCJ zNwd*Tz~3&4v`f;TK#Tv4G{NHjI~){?&CV(Ko%DL(^WoqIaj{DrnT87BS!pKi)4`cU zG)?BW)4t7tE6RZ%#(W{c-wFOs@%M53o#C&6zfa)rNAPzSuJC32eHefD@%JMBcJQ~0 zzX$lchrfRUbJ&;g_e=QuW&C{sfBzJJzkJTVK0=eRT=S6Z)>xUh1uGtZ%FqYb(z#)tXf(^>b)! z^y;M>?_YlZ=F&4~gF&}{^8+8K3JmW*?Q~9?Nxw7f)spwuI;{^3I-O?itlDUQpxHcc zy|3Hrd;*$s>BeSlbA5en^Tzt-_08*R$1By$+Jt( zXj*o5UfLDq_RrhT7C!K>4_ZD@J4@P68rAj%in!Bx+-`QN_5KG=n|&fz|L#_6XV9W$ z3{u?$|Fj1mFsk(ZwQhGZbjQO+v#yX9WFdv41FioHl^=d^UBZh+>%&@o*y@(f3-nXK z$kH!>E4@OcvUPB<^|8uf`G-rDqmS*EDiyRwr+v}t4Ey^avGD{W3Jp+oF%aSj<#&o z97gGb7$fQF5bR0n^t4~SphmSG1(JJ>!Pa2VBltGPavD?bR0mc6T_hI&$^y%6`M}g2 zB-Q#}yUB#VlwhQPQs%Z9Z1i@wT4U(lUiEal z)9DGaDZPFZpPCpaDLvBN!AN;VFFRH6>gW&?6wI1_XjpAFP8tc49iHt#m_;GG)&3&| zIZFC{RAJETG<|UCyxJUAiD3K7i%F-I40;zfj3{WKL)ftGP75=N#0DKyFJ4R>WCHTw zB|BA_W_W${@F37lyVbrx6WR#{#7(u`?DUiVz)NYMZtC4ezi(rtcQ=I+6+4xJxhapp zX&17a^v_(#5Di6`wrOswnng*2Xf~^nR00B-22xPfIO<(BjCz-iqFx32-M0rXsdwEF zDS$~M*sT&M=BszZ;xxqIAO@@Ng4ya#G1Y%Jc?E;jcfnlsCK-CWTHo(=P8v;gss|nY zxZUX`)=R4kNk48h8-oiCEkS+CjPgOZ(IF2{4?1liJvIEkIMo`ZCf~50)>1C)3=#W07hF2ohX6Za3Wotq9>h;2rkj}$ywMHwW(s@Us=xjfx zx9!?vm1eJ3C+*XaDH@&q#*?JUl0}Of{!A*`|M0L4y_c}|ZgdW-t!@(oFZ6kxRfM*YQJf>Kb=W_<_!l71hyF*vtRscy}> zL?u`+RJD5UHO?V;=Luu(w<;3pCt%m8GszLO|qyPZ1A@DgTuh0^ihE(TPntK-3)&Je?< z1{F8x5nS7(--iwP0D$;H5S>OPky$p@6hJ)P#>|f(TZ2xkQKOvnrYXdun5qDHn%BLbD6b$W3`Xcra`o!4iRAZ{}kBwEjfA(;!HL@oqLHr8AaCGue`Q^gH8Ap>2I5IGk{bvf#wAjqAlk$`Z$ zTo4kG1p29b7?PzExez2FN%b-LFj+4*q3l3*Ue%QZjOxNQGK6W6LZtzwNC9%HZ9qOM zO6KAc?V@0e#$~Gk8Ds{Q&S)r;spuz_m4IGe0-4NZ=7z^f3#c*+kjqI~u$S3}s@xLh zW(P_VO2Vwt8BiMH&`cQ_sh5smh6xfK0R!m_LXpcQ#ex}x7EmFyKxu^ZQCCi-q+dTb z!A$nD;Ecyu8>;e4n9EpIkeA;9D+CJYVgOo~8wy}pp&$;`=|&L{FB=uA2w*$}Fo@{Q zEnY(mA`McAG{8qhADl+;X%ac=BzO!oFjXc)T-FI>UQP?BvI>x!7wAZL<44nL zK&I*jrjSVp;q-G7ER~gjfxM>rl)xv&f*FJsP$9HHX@vAqlc-YCZyF^*70$9C$78Dv z^-{WwRRwwZ9k4>6fG!4^(`_6ZXy~`03aJe!xyMZsw>LeZbihKTN4Xrs$v0E*%ruDMgg7Xv4Lrn zcH`J7(@41rX#@;bR0&obb@s`aCZ;cV6s$BDA7T@2C6I`~lx+)(OZ*%TkLhQ3$dl?j zjdOnM@VA4;>Dl1$tZ~AUwUeBf7nq#2NsLHy5~D#d7}%0mT!i6iWmT zXtK+-gQ%{2`6!tN^-@D~2K%db8a=Ey=p$LOpWq)CAik?5l%n|XapRMpq*WdWO9p46 zEe>m)F0Z2Yx(8TmW06VU?3$Odz4yTflsf`40m0o|$z@D?njGBGTeBs+cn zMRNY7^x^>-!~=5h!+r<$hP`g-30AgTS^37o1Wxep;mbW)-E*=ls@JV!N#ZG&4rvxF zJL+LkM|cikj}szC55f`x>XL?7>XD6vl3}fV!oQ+cyH#$z?IzaU0?hA+16qB9Bdtzn zaHihM{Rg7%<$k%%Sndijx!X%*ozO&_k$W4~g?+8qEQspM7-mEg-8bor2NIoKqY}N- z28zB+)B@kenn)=U5Kw&fp~%JL}PJMFcK@py=wEsCB=pi4#BIHC#x)fq8t}SslWs` zi3MOvz%DldF;GD$1@q1&#R2J3Y`$?R0$@t96Npkw3S?MwIBx+I1~&m=P!LLCa0!kO zOo*M}jm;;U5^km)-pnWYxYH1uDf}#qC)>RancGO4_gdKNpzRcxWne+Q+vz>7($)z& zve;UakGkJB+N%UYhZVn#I{)6;uXB&ZFDyks_P9}}tre7yFLz;alg}6GS)@>Jlxn+E zg{D#I%$rDQ-oeSF*X=Z6Jlq;=!@5ITsFcn5AnaW!@E*I;q`+$Dz!^czu!3Eyqz7wu zowoR>Qe>iPHQH4%RTBxzZB~`^oo$C*?4Quf-2qt=$zO%u9&})%qK8teF)+oJ+OW4b z0KyQgzG65@sx2pt068gd!-I!6t7wpEb$SL8%0}+vt&X&IZFM>;amvc&ijFu3HX7PZKclIVCDy z971#t2URg}DX7H_1xk?{{9qUo{Hz%h{Aw7aK9|T*iR!NasEzYVMseqBs)DzB*p02x zR;86t1DU7J7u^V|Nbr*ebJIHNgMeTdDm{U)x^(Jq(wJ>%6kqhr5!o}6=-Fg;5-5WD z&f)De{q$ki{cv~&hb}R#QWcOOIf3(_55*)xiiu20E(>;PW){uDB&X2|)2^7O=vOgc zQLl2Qs9wdKQoVUJX?A%9YPeUjfx9FaxJ!$MdqiotOPvOLWa=jK$kcF;OaphxG;o(p z4fn{@aF4Eq6MlLP8xa<#LcJS9+?L2l4;;BnHuhqso^e}8tjotyHUEM+EPa! z4j)&$_d31CC*e>)TZyKFsjoBy(B?}qH%UXKo9$*h>hl3hccB(thIMRuLF*k{*S zC&{j}Ns`%yCP`+Ub&~8l>m-?V)+xL?%dxv7SAT79~%lVYmlddnr9Md_qZl4u*2hoRz+;` zp)cDKAU(=3&xc8hK8UF`$TTnDg7qSLl}siKB;rN%6!9$kgm?iv*cHMcA%_JTD-2|Z zz4KJ@%6M?%zwApu&~6JIV3z6id4HfQ?!A8)9K_kifl!W#~4Rf$-8`1M#5I9&#gZ!&8`G zcaoFpuqjuitv4Zrfl&BP!#8-r3ASJN3+g$+cP zhm5OFQW@9M8Q0Po*Sw5(Qq?1fODI9y;%=vM5yZ_!5I0wOGnI`&ZaxON86T!IGRV!y zAU9*VxREZBVQyBD&dvKUkXOLmyaMLtEvHKb#LY)(+*}V+xd`IsB8Z!-ys?(bCtz+) z0dw;{4CECsH?M%XdG7?IT)^DC0+!C}3p%CqC0)SMd3{-@biS|)n47m8pjp6NnguMK z*Qc4%`7{eyIB zmu3M==k;l(bUw`jmd@+bOzC`@1SBN)SlXgBQ=~(xcJ$==f*4RSOCE|Nlg@Z(IeJ=&Q_~(N z56>tt#UbEUpN_2XQ@w6pFf%kSG-uMupb#-hlvV4i`YQDZEn(;eRTul<3eWth3&-5G@dgOvlzrqwc;p?17WZ2 zzD}lQshmg8O!{LxqrYi^$>Q?)GmBf18JtW@1iynq-MyAuaAe#}k%*tNkwul5eZDPYDG6$64 zj5N2C4Hcb_!TgAg{$NQ|2bmAsN}sS^-J;BPl}vp%8Ps@R&3;d%BAh88FsERY&@E9y zQYl}A&$~q?y{6JoUN4;jrP97w9h`}6C|MH$$Vex^HoLX2fXpsZ_)wxI1j|UxG`ai` zWQBO=ePQC%(IGN0=%!LY4G_|+>P_2LS~obKjHJu7k~Alg;g|ys7sk+x98Mh_T&hh| zzzj^LZQUHq-jR94N6~+{KcnL4W(P?h@d?Bl)j_G-)`1Ev;ct#aIJxM{$egxxxH;9A zk#*Djb*o2*NNfegO6@KjUb28EbV zM_w@G9#+w=@KE3`JUq5vw?Kv5RF{wJG$ksC`mHMG6cj{faA?b%0%5?GLge$=8G@Ei z;kyIlqzgR~jtPSV2X`n{=}A(9_W~WZp@X^vVw)$qlO)FHfIQl2Ngp0NqSe*0pK==; zN!mw5L3JTaojf6gQ>tWOOHrgUVWN7{=(T);)n|+p6#v7;=u}#rGEzBSOz3pdk(|!B z(7Vm*DL0t~wo5)5QI0x)yp6rZ4(Nq9*#xQSv@)7XGs7WWp@d%m4(Q#+o;C#Nh#KS| zso~I`Q5+cv)X~Fn)M(d`aS7oUae*U~n1t6x@#$_4yOQE;b!O$ZtEf($+;O&U-`?w1 zarSEjE5wm1R8#m&DzA_*-*n==UIP|a5A8=fJ@o2qOzL|uvn>sxn4=D7@Cvch@%N*S zbt(*J&?$Yn57mL41bT)GWpSC2)cBj-_u<02YOr$O?*9GjS6bFly9> zp`?47{x4P&1{75yyVC$2Q;o75ypmhftOxa4H|m2IjAq%Q zyWa7Vn?ZkJ=Xn?mK;dAFL~GxlD$fliYP zga8GK0W??=;Gx0*_R8CWj0>e9%EuI%T;pIj5*kaGODqrdk5tbShz0^)B+MSFqXpCB z3Bk572{{+ZFq2~0BCv>?!nqZgy!{Z+0G`Lv{p$X`1H!D~LI)7^XpcAOI=w;(#0n7= z&vM4daGnD5)5BwQ5lY#Y4-cz2^8kP#A2DD=I2TL3pTCFfP<2*%`JPZHknlDu8WIav&tHOSBK?l6>K3^-UfM zIX;Jp5GCSw*doQs>Khr4&-I%yR#^a=@f@G;P)InlqbYzQ4vi1>lZu%Ym#M^qi&QV= zJ5&JP#9+dX%I4i*w^Nl~rnR>Xc~OQ_F*#q9!A}fiCzWQ$PQwEb)gNkzGcmvr;D7}M z4oHyTf*8L85=6KllZu?cM1-7U97Hz}a*ogC7sXBeQ2}s7KM`q&dU{hy=>1Nw`dBoY z84r%ntw=k^=XRtW@n*cr@s30P_Pg*ZC)B1;?s(|Nur2rMm>eCSJCI@u!d!6DtftaH z=X-e8QxKe3_tIP^2v2Ke7b2F_5J-jt1IbT^n3cEdm?CR1rAb3ol^AE|lq@}5MS3^l zA=#_^yJf$rUXc9@Txukb#rlpH8sL2uHa_AVt;i?^g{=`IF!`Z7ka8P~E`r>q^EOyi z-0onpBC=>obS2Ui5L0`qwM98MzRoQ^Y3?9w5(j${d1MGB@q!aN?OLOWZ3QAhXmC+k zf5M@@s=k``i=b8^_CsC}e+CO*%%#&Xv_QhGH~!RlCkQ8GaMpanSiqa;xEN)MdQp%Q{w^iia@ zlQ|!Vmb<72SbREg**8KJs%Q8u4MLiX&fVN|xza4G>DZIP2%*b8iXD z0|_tR)bh+gtfk@cd1?)4ft-X`2_9h-B<}GeZE75!BY+h%AHVk-G$T^k^>WVxun&i% z#jN!_fJ}tBCW5R`yqpVZaj@l(8`2kJ!95DW!~!5*^|Cz#gE)~U5GhF)D{bpEsI7*b z4+w&ThO>o&B0iB|ScNH&Q`SeSy)L!-;Vw($E~lqQ`XC4AUGYnT!@58opn-=i1aZ@^6tzr7l@c>?q{7)Cnu9gF z>huVn2KC|^#!G%$TjeKVxnme+UUV3?DGZYeAtiuJ0)8Sfo*bMWBhVw%a+4p68{*Ld z!MRI(+vH<|^j7Ng-aFfK#aEqPAt)A4Uc}$+;<7-f;3$q()r_&YytN`86-bmN-*myn z4PElVsqimF+?;$Uhl)_uQO^2`o{7i++X~i;WiR5RNjXx|R3&Vf%5f+AZ&K z8tm6tY0r;JPp||uC&-Kn= z55R!(2u6t7u!kKJDEreyn!iu59N)ot)j}Jw)du5?x>Sw@sy(&gjmW+aYDOiOTx)gC0V|`D@kc(I5eTZWL z>$3i!qKXl3PGP!N&rm-j`mO!@=LI3l6x*(Hgy6x7&9}~R;21s53hFyUS;gggB2gx# zeeP)nkh`TeTh%8Oq8|dN9`jOsy$%~W-W1WGZ{F0|SvTLBgo#Vf;T8oh=lP{c(!Wp;tfn|KvlWN_Ot(wi z;{LWIi(b3@FiK(0O-f!YEzJm za0umNo-~!v4OET-MZ|^*wFlDdoVD{~s4Q_-r_)>Fc@HCy>Y{Q^Vc6Y5Z&51TT*4C} z`gg9XWlC-=V;r8S@<=EupH)BB9xoL5XYMuBonUl3%PxXxrxg@6Z4^Sfl?NiYUg8@&ozhG)5YTv%BNCn`@m;O{h+OFPG?<$9%Znhbb8k6*V( z&!dzwBI;D&T5~%owYmdDb-{VRa9t*1<RUSWitv8>d=2IDrbTo`${NU=y=ebqLE6y?i6+Y!O(7YONz1GAf2dFFm z&aIxCU?}dh7+g?E@^M~OA_d4s2P}*#)d97qutcQ5bE5#w$_q3YmSNtM-2?N@4Vsjs zzRZ&hx^$xAk|C%_eV8W|sVdXFcB3+S>U*UKqUq~A2}(5w29C>Q(6saj{_xDc3O`JU zxuwe{8sI#0*YpbjQDEUy^4A{iHUuosC|5lcGOJAvAB25Doq6b0n%It*sG9CD9EY$y z?$XwP7zZtG``qyBSf&Z6(-9(+wILK#sRgY7)4h0`S0N*7W%l|aRI9j(1)wr-b!d=v z-eXsAo%e`P3jd-9(vE2bhYcoML&I2Hpv0p4+AFaLtkAUCR0$*TBBp%`uj-zA575a&e{CZ9I0r?cYh;?}W ziwexAUFFUz{Y0nTUUS73oON6#%ZoYwjZeBZ;k(qtV-f@keISN_7CDY5P0!SSt`mrgr^= z4!5Em`8PVv8hvE4*N)-t1ghyLI?)PwY?^UAxC)x-CqB&*d1RVzbcg*jc$0zIV*R4u zsRl7Mi&fGdEtDdo-|Tj}q8{gP{}7L{%fNyXN_W6pv+$@PaMQCr(!XD!!qSjmVqG$ur_`Gs^Tklj{ zRD%sw4JUTs8BS|Is+xX_UbRiy50YMdYO{(;^nr^hcrJW=28a| ziB|QIu&$}TrU7%2K#je`Q=`}%Beh0u2^BhpP;2xken+ozi~~POuXI2=b8AS@Z8ioH zNS1%{>7;$I%$)Se$}`c9NY0I)?~lHtl7lru3&)-H(`d)rapK?)6#<_Tax1anvE`!( zrE6^hPP83qXSiH?Qroo=EJxXX1(C;}RVbTkyWOGFIW!Oq8mGg~u+NX|{SA$9j&+jw zA5t(faeU;_U0nsg4zzSk#dl8Bjr$cyuAE(A(P-+ibi0XvMwgbp%la5Q{;G}cPtnexC9rLv7 za__0Q=6+ivn+e*Keu$M>=~iKvpk%lJXhfMr7Bo%3cP`V##EfkUD*74%pQQ-TjG@-migi z_AySE689U9cxJL@R7!b*Y6L;fDV_aubSIl1Dco-I+W6#^Z7{h?D--H4`ejTpH}s6V zv|l>_tMvPrjOMi4*rrHcCJSM)qRsUm{2(D8)q3s3%krMFS?nWyW3Zc~jd6q&SKz!L zMOyhX=+`kU5>kzNA9(_Ji~55*e+wPZ8X-*X*;O1v9)E(bR&vkgaZ^uo^p1$OkJgDw zcn9WWBI1m;*-TwGNA~HI^}dk**)f_HPp^}vCU1(PX`Z!u>Y}{ERHC7$@gLk^jX=&V z>L{l*$fT4`2{M9FUYR%efcwa^Y^e$7Of}Too}+6Pq3Ni46O=~PicngN14QyPR9-=f zL5ksuFH~k8=8BY1bbLyQLLtcL3zZ(N;V52%Jg-FNUINiZ6@Nlny!I&-PWgz?4frMh z%EyR!MIR8Bjs8t|Mx+(PsM9mW6+4JUxkkcPBz>iN2BJHR?i@I=g934aCw1n@UJ6|n z4Ol3pPkXuUP&Na&Z9F4{#SPJP)&c5p%hEw>@MQYKQ=eZwFS_J~7VI2ZT5O%2q8D0ewS{zpbfMR&7uKIg z_5x`1b{8@KZGB=b0i|EKm>_=2N#u%d?%q)o=j`nwD(48@R<0ec(1}6&sJtD)h|++$ z!ry`efjD(x9PS+UdZ3KZ2vQQWelcF#5<6*r<1_5`@=5a>zuQ?#H?EOxOHEw;HR<{| zWA+iAvAi-}vKAP#)Gz2#TAa9cmha_^71XYkGv;5DzLPU%-w;u{&@sdVuYWD=HmQ`E z1r@t0&e9axnR3ReC=b0^%GM5Zvt+hC*JjCYIg!njJ>btZxdaziao;hWjzeGo1i6E) z$a$Yp>1nKe4xMMPiuW0@s)2BJWx7U3@L<_$wP4ulUd$@(8~x!iLe7+cMm)`m=sFGO zbT0+DEy(BGxLPg3He)Z+6fqW5FfX2c7!mX0Xu+Np3CqkCT022RCu*k_!VUOt{FC=L zfkxP`X6o%s2G}us(+Cm>#jFjp-ZRYL$DD|AQ<94xvNm}bQd}j5z|S4=C=i^|h=~Tx z${`=~?5y%J<>FZg+00d3VdgdAzvc2yLL%YK!8w<}e2h!unz?@0Euq6cxyw8uivk?8 zgdA)P(3_8!83<>t?uHS>6hB!QbFwpyKL+BbW)l? zV^&H0FVOSo)N&5WsYg;O&x2#SI-1n$B$f$=okl@E!T2%=#Juy`por_dD#FH#=0a}! zbz~h74yOYzTv0};Mj6%Hn0(30I%TQRK>O?0kr`L1dN`QeIVq%!(g-KSq0`bPn~7}N zyd8lcbteHUPi}*hu>J_=Z_|HbpiMHmnG zP9GbKJ?Ln}?t~~eE36~`&a5*xV!97RoS{R&xsxg`jl`S|C;nkx3c=@9EjLC&{z*zY zfI(cg+29v_Kg_1Nv3f} zG-7((3Bc!6t;LA074sr?_p{?&L>}Q(#F)tQMSH_NV($v?!{-)L3vEPVwarz8)3vR$ zxhYn-=U`$|s96QiK|gY&VH);$Z*va(jz6L*mPFT&3h`nzlnS>((MzM-J6+`QIVRe44Efk}ljn~x$oXE8xx2gZB$*@X=ncsXNx3KGW`=aO6zjj(L|dMm z(OGTbo)g*eneBUN&WG!MDKx8z&i+s#vD?8fV-5}CdVkKTJ={X((;VqCqPK=y#2gwU z;66I1773IzpJvG@D0dka-z3Rx|sNlqn&QKNn%$)V^@p) z$n!lPfBXSUmjFqcBX{PGJ^o0Z3R@g?^P)(xWa&0XM5n7GR0!Qcfz?hL7`ssrC9l!1 zP+Su(PCip95w{^I93IE?@{if(o|wCsBa&RC5UaQWtbf+&;a?HT+XuyN3@Vha8M6u{ z8E`?7+op){BverjZR6BaL!wtxL`1QQRJC-9jMigYcjc?BSH703llV&>_d*&?K3 zd2Sr~9+?UntN0QZy6a3u__qPE%L9Wm?vh?yNwkl29f$ssQ$(2sIXI|q+JI55F z@G8)e4n~=Kl002F_)8~XPAy>t#FwiPx}|##O&%_2;gUBk8FOg&ao6ue9oAN`7R

      VXRFbsNT7h>lAqHyM(#nO)Ned&H%>ae7Cn~R-66yFh6DNZ zpwmw1({^Ww;lE&J@=jVmgt}hgWTf&=%{!^ANa=q3X(yc% z&soND&LGb_8kRv_9c=D(D6msO^MM6(d{FIitn(`p3TT|d;Z%^q2TT&MI)%m59VS*k z1i>UyFhyYMSEoV`d@)`YcjbkIz7vvK9D zoe3RdDUX?mGMI9bWMaLz>Ut)s9Ar5On>{v5N*W@f$`jfpP1nrfTvDiVg>Xq>%MrFE zg=_XuEh$ua!n351nYE`sQ<+KhbA@3^5vL=h#88GBS%gsp2Rr&n53vB*X(neE9}!k% zT5Dg5gPKro-JFC*2$Yf{Fh_8dG_Iu89bBZQ+%pNXidd49WeQE+fo{gYBq!1@t|c@Dl=PB5mbuQ1Y9cLYsop^J!ZmYwWWO-F4q6 zY~j<_QPwddOISc9<|oZLf@P%C!pNW%5yWOBe#8=pP=pR2z-MEkbZ;MJln!nojnu_m zjB!~RrH5z&!~GoXA4?&RFX?b|mcSLM4l_|fF`FWjbqi{t5qd25?9g047Q>!wZXwIR zE2H+eggVJvQ5|F=LN(WB4k?k6|NAFCjq{P~!pu``4?Mu+k7Mq;oVejp-$ zUBvO&o5mZ3yDr*D%nig3h{)jp_IPa0KputH0o;)oo(>5Rk>6?L@z@>49fjLz)Nz=t zkNz`@W00ybT1&pXqnnR2&X}pOLINV!d@dNHOcaW_LmH$e3t3?d^3N}Ec+84Zkb6tR zjT?|#D4qBQIZf!{$OHK~7!EFwo0Gx#0THMT#R$kxtQQ9$KSCU$)aT*p{C%9B893FS zpVX|Q`%y55&gMsuf=Gw&(~2tl)O%iKka?CrKc7RV+H;c|LYh;BS;yn^S32)m_*C25 zhts2Y1>`#Ho=IL5!(rf1d+rvQ;P`s(GD3&b^CQhVfgWWyg8F^%eEWKZjKeWcou_1G zrn1wg&Sr8hOP?+uRpCo1G<}F~wwj`aL#L{viBA~$LZoNfq9e6q>=WXto-v10;bRW8 zln&2!s_oNZ^)%V7_8;L?_W;q{PH_O|I61{3@ph-4U_&h;p{sGL`uLzxQ~T@;H)e15$30L7F@{UhoQlF<>x zRTQh<3s$lMp&9shpHEy!k;0jv6eh$ehar6Os6D7Q+DXqM7GUOtA)glBGgq;T=->yY zhIpL~9VQ3V6%;OdR!!tF`xZwJS+e-Z?X^XL?zmy^zjOqi_EmN?q6&W`+c<#W`6bct z&o4Pr7H;k!1S^8R_LxU6BF z(!m3qG{=Gw@exV|aJAkTG&=2S^A??u^vcxP`1W;GA{`S&Zo&Q+3gJWrQKtzRMJ=Ff zruYC@7x5Kv2mLrYy=I%R(C1!Qdd{ox=$4e!$O?lzsGDP4Sn>$1>8#(-FRw(Y15Pn^ zDi=Aloi5u~xDZTpP|zd`byU^UAtt1%S!2+{kzKM>6d_$eqBRolC_xyV@rBEf&Cw*$ z&GnTAw3gG68oeTmsWWPL=b!nIIUjJ9cya^02o0f2g+EHRXEuH8>MRcLOArmHQ zt58`JbfVnMn=%f=bcz8rpMvL@{6cL(UriOOVbK(6Rh<=JVG#sP8S`P`BwYz6Dc`yh z&6vDFH8|R+aW(i+&xF-%3kwNvqMExiQb-+4A{#wg=z42OuL5FL(3*9S4`uXuB*tt^ zixCYjsV`B4W@qf(>YWw~75uwWs2n8yVRKNximBSWsGJPjHCn)gr$oV3<8i0cWKC`c z;k9Pc@B0(fQmrXg=rnYwJKUdnwm@k^#Z5jsgo_L5WqZ;wYP^{oW0>{Mc$itiDKvNs z3OR$QDYWjSSVk&=QAnoHZWE)KnHZ%-DAK0iOt-wwFNS6xrQ$xO zEN6cGTss;WP;L7en-aZY+Ov%XYW3U;+ME{nnzF71($I3>5{MZX<23mJjuY-5uK6cR zHgwy-Fi>p_`eY^;(Xi+udI_hU1p?3Qlf`P4t(j0RtZL0=@^B$ zwXmpA*OG+QloBcVA*?7K#3!s$X}=5NIq5i4cD%&S2RHM(dCzc;$;2>mrUO{Gb} z!|pf(eJHE8!vaNTaE5&mxpTn zH66m##US;~sWX%AI&x}dJTtyvXsa05@{?9v7JH?%lm-9Hi}i@TrC9CdmKJAD3`X`k zodHW2Jz!11^H;t76m8~B*ekRt3|lLgNiTRLo3=Bzn7M7mMh`{SjL`*wZ4YN()gDwF zq$bQE)t**hY|^KFl(bGFM_%W%zog>r5@+`d(?#rfm71kGZTu;7!gHM#P6cvX-25Rq({T4r7IEb2UCH(v@(^NS^rteh1CXkGv1>Wx&@jYH)7BYI~LH^ z@8m}s$T_XraYm;6I9cUnN^U@xFi6W{b^4q3RD%W0Qe{z4x{4=1N>)Gi z_!$KyQ)whTKTfyv24pte@$z@m{F6o#RM;?N<}M!s5l1cxzOONY)-1ukGfHhPeNvIvco%(x)CXfUcv`Um{HQm zQyRsiK>9dbG7;`()LmDEj6-tAiK0NE9;GmfE;0}eqpUz`JwDn?_5jkt0^{L|LnETx z^I?qHg&8&=afHKSS*FiPS}?sWEi!h^>M}Gda^Gnp+ZC9aF+4Z3EC81CFD6$sekeOK z)~3B-ZIINRwj*Zof`^5KJx`IS!xK_#s}wEd4*CJkVWUUbOevmZ5a}FChTqfv;dQs~ zjNP%FuvW$?;UFEpa6@lgp~`_x=Gn>^ztKMtUT^mwPCBqr=+iS3?EcTV#5E2Avmr?N z5X^>VS~r75}5fRZH;tEq}c<2u%u5Ceob-~tPJ9>UVdn#69 z+#@aK1Rc+Y5v80-W@P9OaVH?s9~lhAJQs(SvHOMDv@wll&J7nr$#iqQc{UGwMXQ6v zR!fCWZA>(?ot%I0Ovg-dnsY1*AVAxb7s!Aq{J7`D0f&OiV1crvZqtgvJHj!ejvIA6 zdXD-InpK$ng&&IDrIyVHHuF2i)4)1v`mV&zCAZ;RVoGwBTE&HsaHn0UC$%OyTRhVq zHk)usdA1-QD%b1s5uImls^m}mm`d|)*EDj zp*rx08H5+m_&#Ba7QWi~v6y-otvdfch)WTg3BqikWcjpcd03~bCSho#(`Wp+XadxL z0%cga)3sFcY@gSqhiQCsM|CyLLm&D7c`or?2^ zw|T~_{0TGxaq47_Gi4DRr<}|fcHY8#b^*@{(6>2FfWE~RpE4oMUOeJ_@?M#_l4Yqg98@|dl^%lQB{*>2J{_D@l3q`ojWP3}z=p~7(`LVkY(*Sr>@)?d$;lMU zrDCPHe6-c;RWA-3pG?SZVDHArBY*ctAn@{AhglI@hz3~|DUaN9d2h^Mvr0~0ChwNz zO2H6AYSE-klb%`febkCFPfoR|GsmczDWlv{nmn(w&9Q$zWyx-C)OhOrmF=@?PjtH} z^WIO1*|ZEdgQCnjMMDcwp+IC)$w!+#2B*$uc8G+jbMp2zIfX;*in^WsmQ(^aZ<;RV`UZwJyhao|R&`9U$*R#?s(>~C^&x2l zC!}z8Q*NsUs)~3i`c!q`b81I4kcMM7T1$o8{Brv60S;L2V+zZCF`_!xdrau2Yust# zA)jJvGj`G5ULr=S{Ck>O8q z5IoFI`>@8;FeTzsGBQ3c2N2hz6Jh`@o-r}DR1MektWbKt7%e`5b|*uJrLQtK=l0E1 z$=1WOyK3o~~k^TJ0Rk7)a3Rzx0e zf(zAJV{qYbrQ~HYZSt$V;7WBs9G6k4EybOi-SUP0=21?B8&G0YcWN@y z)7uzigbakEZbwNO2%`wuv{VRQ*oxK6+RWPf`K26+dqZgL=@qsx4nT4nZ3OwRHnDc- zRho_dAVi`&eautl9)ednbJ0A=f_Jskd?ii^8`8qx!n#G6i?k-6nQDb|Br@ghUhiCPo>-n8d>^;rU^|DGC*Y`5>jp=+N@{R0$S^36wzY+OH_rI)++yQO# zjMup`^Ns6WSsA%|%}^lss!`oJtH7~+DJ!GuOm;sSCzx8-%-orR(K%+FXBlMq3ESv# z;6G@WUUHuFaL1YIwXSQF&8~0{7R!I5muKeHEF_I;LC-ERGhJ&Kxa$7O{)%ARsHtXj zI@9db)neB5dQD4N9P-v{aod8oIXs)q%)IkV9}#-QdeZ7DOG*TEX7iYv)J+{^f=GU&i%PaXuyPbS6;CNKgE6{`G1t>9j~SX60T`N>*8>2=zv zBUm%HsEsZ^aTvpEkK$=!gDnDS_3EG+k2HfVKWR6*!~Pj;@nBs<>w|@LFPceXv)kzk zN+W5g4G~U*cWhnT0oh@&jqJxCm|4=tl@yOj<4S5Ru2LgSPx&R+1c>q1G2D30YJTR1 z8&k+3MaHnU7-lc01}A>$c$J?u2*bjYmq;V8Mi)^-sC`FarHwH777_QP(LS&C8rAlo zFO+S5PEK*%^~`NQ`o?QzX}YPpQbc&Yez(~eNMIQQ3^`Ahc>l*#jm{3)>Bz67)oGXcN=*ufH#qBc z9^<%{@uc@Bg%hH%J@W}gs93&Bo5Dlz^^)#5mFbvuU`)5Ze@?)4e^w`^+@<&)JDwZY zBz`I1AHk0a!T~o;pHV#h$nVHBDRMo?g(DpVJ()(~&hN@JG4|M`t4Rfg4f91Lye~54 zp7{4uf3mx{Gy6;F3DcQu@3&Fx5xeE&jAf1Z5%Ah>Q{p&IrRQ&-`dV&!>g`hE((k)E z8KoP6ISz7MT|egr-lN0Rk=r+8UoL->+K5ee&5ze?S43?}gEl6y8SZfTxe&a(D1tB%=YaTd)mS*mi`dCrO4+yTzd8axU_3>{+Yrobfle= zBhWFCr~UlOSuoc#YMV{PJb12_wPM*2eGZgqHIJbu(0xMQ>>JZWaJeKpq*uMY8Vnf` zW-uXGYvb8>4Q97mM%+@s6q=itV}!7^7mHheeLHga34>n|{I*YNOa#QMl_Hr}S z4Gn6h+s}-C753?ByWJV!c5m7T88l9ZonfCJtBp3S-8j*XJ#X=Uq(Z6l>O$Me<7j>@ zWbV|6MQlRfnm#k9XtdS18*Mn2k+XFyj~s_`;nW1&!tpbLhH($kOnvHq^N0fH>~w0g z#OARwyMcKs=WzIcFQbMD^?Y#LR<vxmdHeCq`+=w*P ze%NlDbb75q@&ubhIM%p#a)Mxq_<}^ZI-)ipoNc;Mw%^r>%55Ay=@tNlXYC+)^57+U z-tRS9I39JLh}V}I$z$)=Lo5MMa&faFFKQ9I8YHEg6xFz&G%CMVTaqj{lWk2}3br@hXwt0Dd2u?IM-B5q*~ zyT>{W7|`uC&Y?>r?{~SyQo1#K(r7kBSG3+T^IUKA z_h~5P#^tBXq*ToZ_E5}u90=tN$|?51F_o}}apd(u*#(0~`(}6-q?-5aeBj4^qnni5 z-61(yTW{HURz#}3;lR!$UPtFbD880elzz?5MfIX&c46i{J0BWNPL=k0VyNKSd9cj< zYY@&3=O}kF6BVIac5phNdfXI>LcL_?0A4hco_VQu(tymIH#j2=Rw@rYXC^PAjc6KY zX&UpIor`)0g~?3nsC}_mIy~D!M9m@1WUVg+8=fW3VhGvc88S%bAw;}U@u42DBC?qA z&CTq?v(OZ;b6H|S<)W}*nc3GkJ0?eNUJc0R-uhV;y}zwfqS_uLGw%%~)aB{t%;d!l zq>-|0XLCTAH5AhWC#`BB2bftrQ7dNNqKa}Bo;?I3y_}qj3~HvHm17ebc&aFpi&mZeQq$JhR;bWY(itL{2xGddtj1oToWI7lMb(gvDi~R7(I(tyTwF6(P3D89Aqy zQ_-yC#SI#4+R!JoNTj(fi1I<1nk(D>=0q`lU#VhfFeumsbkh}W^X z>^4Wy4RY37N3V1Q;w30#Z z!os~SX;z;YuX+*bvQV;Iyu^me!!AO%wNEX)Ye&u(M(aSv;3h7M^m{#67cI;y5;Mas zyjHp_ii_7<)vl`CQHN~FEW~Lhq|#-fT-gAjJmqb6YLA!(ml2yssjp0Q3Mv_Lq>TfG zs)~f)FVK;#enA?_4_mOc^8EiL4wq=tb{*VNS30}F^xL$(LI!6FZK{FVOj=N#GE;qId#K;g9u9BH zDDD=oANlReEoW=?a1ys(0X(94Mk5mK;6>06lt&FP8WXkAc#@dMqY(*Kf}|8<3ZF`Y zM&lAb^tjmp$&48?T|e9Tc0|kEU=J|XBj*MEJPx_Y^#BGt4BniJp2x7WSgf7VWgB9W z@QH%;HYTU#7553gifBcsq!wR-!RM4lRgwJ-)gf@fxsl10UmWT-x-E(;6xb0{HBluv zhyl9|8pp>X4H9=6E#`lNhH?2aJ|hfvI^!qEd^d4UQ3^MnDpIxHD1p*fii{CFaWTYL zHm~zpO|Y1M$1ocATd3snsnEb?A#F?Q%T@}!yLsHa;N_#Z8$~yB(FDEgr<9TZ(d+Z} z=d=P!ef2NzuoJM>w`I!zII8HBqOmg@6{8t~(bk$v+lj+E#7@D2`C!U!3 z1v8aJi{$upQUJ4PEG`?FE;U3Q!pYIe*yDkd@>4h+S!?<8c2kjIUNf?gbH%VZXb8S>3D$c?CXio} zO~5(S3nfoAMX?BtqEeKONx!JKFnTx;d~A5mi18av18yHBPe>bZI{6$(5ALcUzO)2veCiTRhNjo*u^<6)j%IzHxB4x*meKMF6Bb7mL2-F@6-OB5#Z{&>(t$9VyYXxsPmAJP6U~ zlJvACw~r;Du)G(#jVDQS8;+Yvk1W8a@J{aZ8mEo+L&Wdt?Ib4y@-&v7ujJF*gR3%3 zzc}_x7Iq{CVqB)!Xb;Has{pHWwMp|o^8`QVJ8P;F`WK$bPSZGyBBejH5{ zNXrf!&Nd4&($=NJm(k^|w~`**LWO;cpCS8RH3~z-Lq)4mixt|!Go5-&p$Udya?%{O z+IGLj+VZe7?A6E@U)9H^BK6rb0a)LQ#6r<0X|}Z2gRKHOB@J|WWn-XCyt@ss1o=fD zS8v&Q)~q}z-OUC7c%&-mA}Jp2507EIqK<|kV_SIpQ+ujshf#L&O=@z=hsF>(P?u3+ zap2Bt^U=@zv_*_rOX;-J#uK_A(%63;RX;^FrINaB+KPnbij%gxR>GRN9u5r96+9c@7+ZoF^ zr9)Eg$DrcFJ0v6;Z-`Fn)6{UJ6GZ1!Z=uvQFVyHna{U@g&pL;7An${oRBN&jp%^tV zl-HkwrrVb7uVy9<+SFXb>f5UA%vaEz{!XRoJ}+vfU$dyw2?R#nVPui3Kq+L225y1V zyoZod4$;5q(38kv-bd%4vr%>qJ}VXA8JT9;YNbu!B9{vbmF4F248n{pWfc~jU=IRg z`t=G9duKR4D&*Hf|Jv!)0}DQGiElT&jO2D zF^9S0JO+}<$ujy8 zr=y88o&yQ#@QqYDJS^^N3X@dj#i)$*s7DpEl%CoML7}@k7pQ16=-BWM(^fR zpin;DHk+y9BxGbR*_kXNM|3aUqIM@!ywWf#&mA0!8$z#Zt*!Rcd~hHuc{0d}c!XSnVjx+W)(9Xt1(Zh98khhZS&O908TXgqhaCYQsZPiYiI^t0|o3PG4D zZn8A8l@--`ZpzY#c6L*yaTagz=DeGXx(eNE;6l@xR|2&&jhfl`E?Sd;3h>usWQyXk z3nPZMQd@vDQAIxsG20pN0>#jD8~Zbe(lAKul3ZAbKw2&9!PU;{0RwqgXiae_qFm@@ zsf{B1Erf~dEaGCw39eHOIjFgxLU@P|`zo$RkfyA!0c>(}0b8&TD6T4R$EI{AS;$ar zN=K5MvF}`>Nw!E9D2sjQ>FhjB=_E2P)P+$_PjR~&Z^{s;TaUeiJgKA^N(<+96PRO3 zLO9R`Ei^;mAhF^`fL%C^HWS_vr-1d5tVb!_Aqv*|upJ3LQFl}}J_i`ecb)R-anQ@^ zz(cv$DR-%v@D_(#tOX6_T&0|>@I7A@4GZPUc5?~n08Z@cCW|fZhfrY~R^?zSbC@b? z$KX(2C{mvB>*d7WeOY$;Ln!|ZDqBu#Ai9ayFy5B{hTtZmSZW1#5T%ib^hM}E7&Wly z^jTkt2Dc~LzMJkB&$^7RQdv9Nt#)x)bhf%cG%VAl)|&8eDg#8pkr2oT2O|?Vm^WRm zz|cp@1zoo?6t^1p%QSr8n*mu@R9mWQrDFN!ln_b{1tA(0_)`H!YD^K`zD5<-U45-v zZS>0b_cbdlj71mYdZol10zK=nGGnDk)BHN34|U+la_gkp>?hAJ^#}EvH-!=U=1oFw zx#tLDjs+ko!6wxUOV0sQe_%z#lP4pBXm0k}@3g)3#-7X|mt0g+~C{yZkM8iwpFF23#lpu?H|AIr4f2s4l+LP{F z76jnvWrh7)647D%iz4CqrE^5}TY4@v^n`}&MG>`xkr2z4#1(iFPNu32AD|qwhy8Og z-t%3B2IHbCr#Pb=P)196ncJI_1!N?QdZvM{yw;woKSwr-__?sJba&%NqS@%w1Eogmq=%#csB$Pbz)k z;zTRZ#dUB~vgh|Y|GrKBVq4-O-HyDpd2#g?OFT5Rcgv+?v9YF(moa~_O)s>lA$vBW zR`-*-SfnQ~-IhlU2H3W=st}z0!qGq5$h8Tx8ISp;S??&lH0pxPG7Iag+v?L?s7l6A z*oJtfs;04Qg)L&e>ds%wq8;jXD?u9_~x<`XTqL ztJw@w+(LVG+rg>CTeKmRExe2gjW0j`(BgFG;74Bkd#h5*9C&q=8*EoNC5u4Sm6Ktc zZ+0*$dDJF{Rk_j0jys*ESP*ML5t~gD?CF$hP1+b*uN-bx3baEt8Es^eAxoTC>XUB3 zwHV$$0^Q%_Ckby{xfW#Vll3XomOnL$!J-^7sCLhYiP~3y&sa!$pkxP<(i){%b9gg(e*+W z-|U$(I@9D5={ga3#T`G`11VEq&~1<8AEl;rW+ZuVxRO4WDjcVZ z%aw{+^!p>s)u&bWfGbBT=G(l!5=MXCZ_&g~c@3aHd544CD07?ehbx)=o&&YxGLb>p zT_}un#$$gtYa>t0Q|DZYnhvYZGHR=G+PWB?O}tB!qlhWC;ifIc-SIk~TW#EOpi$;n z(ky#u)AG&PExT^kUh@z(YhP@R9Y^ed!4xs+hS0Pu6MJ2AEWqq73BSsDw1p{S^8Kr6 z8O4!bXV|Hlwj8l1g$5aIz?;`H+?(%Q##kp6s~K;x3)!FuO4!Y)BD$d1-0=CTEP8*9qJ^_uc zMrS1HRXCsEJOf$9FM~W<;mBsdktmuALqE_W>N@F!Q@G^_GI5b~`B+%qE<>26A~JQ& z{emQ(Ebr3AWHbjav8^Ydkl1%g6t2S5H(7VNk_?VPzTv*F9gP|IvgR%r!uAHZp1sgZ zu*F#S2Qcjo;eVLdC~iD-UyvjTUFMg6sf5weLXUZGDND>%B=$H#bW%1RU3q&PrYmn9 zYGJu&eIvMfW#!er3F)msi^kul(O6n~{D|BYB)1i~#SDdAS&I+CGbM5a} zP3sGbP03xlT|pxE4zDpU9ylBu0r8!!RUT0F<*8|{aUUR2z2@ChHQ)ZM80^ zz9?5%;up>6O%ceU&Fw6_-<3r9Yp!`ocB;=_;^Gd6RLO0_bB4WYW0TSQqQ%(kSb4kM zM7!xObk&+|mF~Lm#>}^AoZg4W>|VNK(^cc8eT&eQ6-wpHcEzWJ&XhrXqY3P+bEQ@Hs1|t|1t!Fsazb1>mccH-N_&qq5JZ9F`gpsP zJnFrz!%q>AgwLa-rUeKW=K2<1P6MY_g_l5v)oI@rB^Cb-f}_KY$Z4DuB}Xk>wNWCi z*`Tsk)DdKNYDdxk0vbpy$;a!&t6zDFqBlybU;P@)-h6Mly07U$8CPx(8l|^<1^)W9 z-3r`9gvWND&MSfsVe6JcGiK-csROKjt?#OnPfj{^Oi6kE0~k>$*8)s4jO=qQS4q5y;S-Q84+~rw36F6A z0wI0q_{ld^olHB;dZ^hz3 z+b6fo%&g*YU}W#`u4@V`UQt5tv}w1-oDaQ{bk@^nH?AT(#YvAV&&^d_$>1LwxQgs7 z7U|B$I)Yc=V36;Kd?n@dtw(X~{P?XP3fFs(0@{>zJ*cmw5Uk_&4s+%9Z*C+JE=4~k4p!$} ziqIKg`&B;|lTA0ZL-yXtTeUT^Yn9rgx^hFpDz<>gr%}ilg0qz4b4ybBTYalv`d$9^&8?j54oM!PX+RGYZLyH{y8`U7_epJS6-?n8^I?%|-g;n%hd zm*7(2Q#^}VEJ0TMpa$j)e7&TKJV8?kYxfc-d}&gvzVeo^GGRJEKa{%~3$4jf$YG!6 z^RBT-htrS|=D2(_gTF%bO%aH0ezF{jLN~wCgfy7eP~rESC35jHg(e-b?vknT;@Dj# zHRG&UwOd4OqQA7WvGlc9Nv&B)Mj|0iDCSs;w zwDbbTFl)%5@xTpB;&XyG6-Oue>(^X*-+BS96^b;s&|()^*^QnGgWF5alU_g3vlU-1 z?U{`Kjb-+2<#LK8(Iu#t>Dq9#YI$4x)R&%nVM&EDRqeURF1gkVgt}aS0=lenH)=`+ zIjg5d)VOvzoW5SuT6fV^Uawt}bgd_??%=|AoLodB_hBOOUG+BngJ+{7GZ=H+l$Ysl z=!P&*p=!)RDID) zg-a{ANN2*-HN2hFVXFl+^``P^x`g#g`YJj-(OE#vvC&HR1dz%@s5YLt2HfgEO>AHBGK3#{p$A5(CF zWiOP=ms!zl7YutLwgAps;eZz=-isdbO&w=-2AHhdUQ)ey9{1NkYz`kRe6AS0G-(07 zQXSk~yf@q$ohrPX`SB$dyjQhrD?QQ|yURh{&=}~@Gfm@lD0DF5y zHpY!T$hS-I%m{RXtR?l^ZW)M=Z%nF3N3ihibZT(L2sUQ06THpCsd$JE0sDZ(^Oq93 zq`(50Mwrm!(`%L~4iZ`gT$VZge&J4Gdw0KZw0mW^B6XJ9oL}c|QQSBlHk$QajI7P1 z{-D~z_-gHjuHbxUqgLq;dX4sJxyC12inX(95663}jX}R$D^UcF)F~H$amw6BT~Ixd z=P-(pRAwODR4GfP>(zQ4frt8JMlA9wXu^!v!A2@?`ds6WL)vsYyV~PVI%a1@Eyo@5 zbTdzJKGDwT96c=3(Zi|OYn>_-`9__iv&$6+23NQ#C(R?y0#295+hLltD3fjM2|l}4 zQy$K&+)k4H|ICN}LO{%|uN7SNYI7UbZnJY(^ zbl3o06FY3ARFd@K*J?X6Onyki&VHeqn(i2F9l+&>cCH{8Wh*^rCl~hY%gI6)tBrJl zb-T^Xk@-~(1M|nRC5)-~*nxPu0QHJe(-y&_;fE^}Vs4r+@-rjW(ijd;KNVglyty&e z#>O0zWVOdYq5OPN2#de&)?-COEVB%?h&6W3YhjL+V>-q}!hlfxA^;vcNmIXu`Sxx#1yp(5lTll&5JG0?7ok;@3#7EQq@@a0 z5o#_|^9eAkI~#P(Cdnhm?kV$lku}EGIvxLFqCCPNHx+TsQqvLiNtm!B@=V3;R%7~t zTICrEg7Z4pXe#Q~C`=0E&NQY^ zWMvxJDT0~C^@^-aqq{{gS9eUm2xl7CF@m|q^^9<)aa|*rYi!>L<_dL=(Nd>1&}=;< z6ci*crko^A9`-?xXF&zx`$f!Fty!qaZZU5`J{w8FfCiV2DkI#%jC6$}7|ez$D=5Ki z*urrJX2Z2+PVk!%bT(ApYCkW!a8QF8Nz;1)?%}%Gu;Gp(oZ~r9O77OzY{-hM{WCZd zJgN*jxW&W2u4^`&(EChU-X>6Zaw=0g>=uO{jVLEU>nFVqTzown;%vOOapfcn18?n7 z9I7l-d5Nl52h~VK8B{rmy3rl>&tN|WyJ9W1EtGq47Vn$gPFK(vL+Pl)gJddl7l&kP zz&SBoX5*~vW)tUe#YE!GxMErhs?JEmN=_lQjv9p;EJ9h%B}XNbh(O>)oF{+;k(mjgL7{YXN{*acEmPOAgV>ZrzXtk0wcnv-hcI%uAwF%v*j29rbBg% zHE9Z2tOHF$LaG3Fj5cWu+AGreT1zUc$q_a?nv;j~FS^gMFr~y4k*4-4DsX3~amZy? zprvsv=KOa=R);IctRq-6=0r-@u7ofldqWw+c5NO_+7;OnuVzQ$s!+Xk-)2+q+I6!`v@2lJikX=U`UFmoGc7os!DD|z_7@epKd!La=enY7 zwbXS5sunYr7{J*@nD%nv@0sbzG(?{?*>s zawLi&nO%`+6iwVyBjx=pM!yb@f_GBqyFR{`^0!=8+FE_g6kFWzWyJ~U-YHiWDPDy{ z7CEe1lZspGE*tB1_TLUBu!0n9hXJt*8&O_9hoEAkXzmqT!iLtZa0|S0PGR;#G+K}> zEgP+nn{sNmgZ&!D*C3AfDfu~IGf$)Y)Bbd1UxO%ytrVpQ;P2%B$j8;SMUoPt#W;NQ z6R$w_Jppx%Ttav}{CFp@atgpvjB`gQp4Cf?g@!W^O#xt@CeTrS=yo|WFteJrR1X*) zp;O2zPaoMyp13D3@hfKK4YVeDse0p5&j3QsOB-6pD@mSyk&Jy#qscC5tHaKzL6=SKbBE<8g{D`HB<Hs;C+|;x9pWwwBRvwwM5(;?dcu~oA zQO5^G@Q!->gJbsMjGv%utn_xpXk=VTpFr$NsOt_i7nl|o@7JMk)$QhC!9^DxY$KZ) znGpG)39h29bKTX%Oi;$WF|eEzC{yJUP3fEkHczliO5owkKwK zBbfv5D>i9i38_R6N~qw2g>VE|BRQMRsbV#@55ipAk%qn&=ornAi-3 zRXdFVc;k&OZr;?S|H)gA^(IXocyl2 zrIWy6UpFaKE4K-wW2)_F6s5tk%bXUj(Q#Q%_sKi^UaPRguTT%M^)PzMReHxPEYNuhynDMUBhU&sajH-uzf;U276 zbU;PE`8F-1&jjI#6BwI5<{f1w3Ql5yvF&J+f-O_uHL`uAx`n4BxNKp1iX9x|Ed4qk zv7xSZskCfRai=LKbY(Spr0h2=wO$+hHET@}*neY^kaZ3+4?Qz{VQ=~$xQ1>o4}DWS zT!@=0HQ)`rTo^KYv_Grc+ z=osmGgu1@zcU0NsF~(OtB}`lKhsUIFCfUgN@Nfzt6NlqzO?=V1a|5MAulF+?GE%a^ zGG~+p8x9MHL)b>c(Ks><>H?$@DH$COZ0kp>am2Kc_cPqMyB!2K>d=cqvE@TfgdBAi z!BBKWG7+kX?PF|!iRk>Lboo4wDfZkD#;_;*eIfXDqTIldT~bz; z9(_GYe0hS-0=^ifGR#yly}o@8h^hqvrRi8i)8=)VeJeN2sHUZtz+gc!##??Wo2Fom zi48xt3K_?wO6U1}S$O2w9=B2ze_&1CH09=@*ds8{p>SZ>xX2g>k&TE<@qn{&kueWW z8xb263a9!AG2i-%xfvaJW)&pN^ftpt@}%$wBPe;2i?V&KdzCLk%$y~TIT&@t z8y~0Yb&rwCOzs_cZphVdBG{-(=>!JQTnQ(ElD-~}k5XY(oCHe7+BiN=mK9Q$mj78N z`6)AdRNF!|t@pAZmZ%7ztdrBW5y{f)azi-D_59f&Dm~)Qz{sMO$)7f(=E1qo!OlW9 zj3~xYp6T)wM}M3`xOL(7%?j2bnhpV`npunAA;Fk8&xE-Q-jiyow8sgqKy z#+D_O{%0$-jMrc0-+wQC!!=99i!+wyS=juc;-g;lVM07|eG3**HQ=e>mJ11>_a7E* zUDngoVlo!hMtqVwLQ(EQq?RevWP>J&n_C3PfllH3nJ}!8*w3W@R6DhN*?A_NXg`S0 zvHK_(o#_s{(>9G3-$Eb$R3rEb$v-?A=SV4I@Nd=^s?r;fAI;O!-j#<-k&m zp~BJ4E!FH%0?QiZtn^1Lng9Cn_NO+eeUgQ(=N8bR=-yKRV- z5q3PUWO?;$FP0Ufbl;IrxdU#y_HTsmSnWs4mY+`7G)w*uVos^%kV{lV`_Z++|8(&d zc8uwh+o49}wCJrN{)`Bo$DaHRnfz3)HZa{O_a;I0D?0FAkKCUw!WT(+#Mx^_Z`NcdU#=w~LRYT8lUI+* zT`=FKax}?kB?|r6P+Sc;hyslJr{^4 zIJUxlqy?HxlD8_xrMznehu$>1_8O;i>>t7k}%V2Ye^cQi&i)CCL0K&Pj}He}n2s}H-EEc0sqN@a?&Q(+1=Ul#q$BVg&cN(Hhe z&3b4w-(Z`kWcu%(H2Nv#v;La7I?R^;h5r>=zC-x4Ho?@f@^T8s*3l7jDvzoDp^S3}X#Vq35q7JMrooIc`r}qZkS&Xxuzu>Fe*GT8~PtTkW0edKtX`QG~ zRd{p1J#K^ee*Wgu_1*vAJcp0rhK_ZhqZ{y_nrv`hb@){!oHxOG4fFF6JE~X9*?zNu zC3<$h{W*joC;aqu2xpLe;a9}vpXh`oOi%oXPrHAFySp$s&VnQfo^I15T8FcAfA|nS zgxepKYsWOW50A4#4~Q1OR$%r9-W_TlM*Qqs-5c|lc<@J()bTxkEBjIR;`#ct%POx` zAT)n{7p#>Lc$jIwStG)2rl#jqz+5P2!Tn0~S94h!!;p+ndFomv9$M)74N$2#1+NlN zS>2?@y^#hoB8XHtv&r!N_XSqcrH=1;)gV)*k|0Kk3;N`k;!@sm^;oa+rwUme<&OfO z#)6$`sj=0^+jC?@ymrors3b4spa`Lc1@c^+t2pi$T449cAT!kRzdC!sO4NInDo;T)1<5k_(h@B3aB|tF8 zyK?eiCo+F=Mmr&6@v_EJSCK;R5Y!Ja>BS~Wj)kK^?195wU<=jJ4`?m?Rx#{&p@|0E zGvfKS?2^m_25(m|0nHJ2&M|{Y;beNi25X-zv1JagD#eA3S@e^d6tepTEJ@xKE*2Sz zw^#+){>LNACTM?1tJO|DBK#Iq2w>HDGULX&5}9T+^ZK7~Bx8^g#S!ae?DpoJTLHnX zPWcN%CHB#f%}v%vJ0%?|*TxF|xIXDxjz&=z?vLu_SoA{-``DLb!D*oi)(Sc9L5i2E ze;fUX4V6WJ2AxjUy>&wTYj zhKq1_$hC2=Q^U~oy}~AabCclEbx6t}DJH6QCpSf#+y$#IY6D*RgrUzjL0(C7p#b)Y z@HtVV2YeN{KG8*b63&!(2p7!7<`eS#_3?8O#b1``9&z}Y(aLKBFAt~VXU^YbzBTu- z-I@D4)&LvOUf{zUCwp++ZwLATzdvO3H?rHh)Bf!Nu;pCx$~ZWUik&`{C^iuP{BLcg zA3lQarrLDw!uu$;SarIO3I+AsTdLb~`_-`9;88R{c%VlkYg&Kp3{3Ts-j-w02hHd{}>vlWjj0Z?RD zX!c|l*HiJZ7QAxvz?Q4Vk4N>7FMq6|8{$ome~U2G7Z89HyUCfs~KdVmW_>*uEd~^BTF7s2~@&GNDsC$G(eV<1{W?h)M9S>heZoL04#D1{{qfxoEPgtcEUp*F~J|vO=_+aS!4E(h|;>@94xg!SBP?W!8orC zi=Qhnhd8XRO&MWNkZRrIt}1!TvB9Em$(5LHaaBI(**uP_YimA&lW6_-!LwNMk0?a~ zukSvl?N1sYraHm5!;{<%Q8ahCHb;ZaQ85>0sR>wwoDtYi>Jqz&T1P$E-bAl<2Z|;S z*GoFNkGrmzcybS6s+u!AWXat*SEU=+s%zRiBw~>)ly~yEMV0ut#2z_7k`mqK@2Uah z;yQBy)d{J5dqNQi=7`anPu{PpF*9b188T4Qk5bo@;qrF^BkAD=1tOXHX6Ue!!zz9RzvL~)cx!8ZCg6p?LoOpAM><`A#Vbc^P% z-lp?Q6BQT~v^`8iXqQ<@kX^Pf7IWG0{R)(%#j7FAIb~H#Q;A{LY6wJnt(T8Ua9Gl* z+VHwUyS>Z9m!kJ|U*$_$Tt9HgmzUn+=3AeXD%o5}qCMW_>c4E0nIKI?7qk7q* zL6x$GhS89==Lv<1ayyDEiMqUdxys2)Nt(_rui9h%W+e#Srs<1S7m6Jr6kAf;P*9v{ zW)F2}$R^UzqPqkezFy*wZuoY!&$%Ix=qtB?I@2wG(UnJE1!>C`#hb28s?iV5{ZwCe zZCD9oaBf$5*SXnskOnQM)46=twOK8IK-cXXGNS_Fx)p#jKYGLVp%)=OBxOb+6jT%| z*wxLi@VI=uHRA5PKyBC2YD{X2C3w?HUJ&yE$L)SaN3gXTD`v7s~3Zw?u$Qy9>VXjY`HR?o&bs!rj2GGJ)pA@e$j}{V83pqGWa22FQ100sRY# z*)K%yM&u4Oicgk$6h2m(wA&WyKki zYi34W2i@{8>Y%AR{0?KMf@#l4%C^4)E((#CHL zjNAL1VA(PCF~i@?LnLoMVgK>6R+({3%wYm2% zoZS1)Ow^*)%)zfk@Yj3zjqOZR(^T7yy)hFSHb+Cs1|dO-+7QzTO1-JqHwA@A3uQcE z<8}(v=%tmybZy#-b&}GWBBxJ7P_JR`3F3I4lI@bhN2B}G{&ZwtStRKKfyrx0nT&s~IvL6{Sd+d0dJ^8D)OU{G zJI-_6>G>WJMFdzcpl^1jo(>f7!}^_L*s1?~c9O)&XD5Akr$QsVYY5N?hC9K~875Il z?BP4PEqVML6TjtYWWPz%f;Q>cnUX~ztX5plJn6l_{xt($n#ACYche-tE`aNDBAsDt zS!K`;*+TA*CK~t~klZ``#yOhKq)}5kfjN?VcwmP=>c}k6475j1=V_z-z)g=}d6ubn zuttQOM}#G0W{U9$*(v4KnftiM3xqa2p;`@HMT$3*`bx!#QU`IlpNUjpQ-;r%bDI#i zKYK4t4${fo zp!c24(~iw)bRUQ7v+X{<1Ze;PB&^n0OJFqCO0Dl}n&&IhJb4{A zw}DW!Oa8heBXA9pr~5m;%C*E+uS$K5he*2hS-xGP?OEyWq|sR+a1n=&8(N!4ZZ>Rj zy1~n-*a_NiB0;igBo{BpW|&ryT*xg(S2yK`9iuV|q_}1>v{}e>;H66GU*CWKJv)$4 zS;Y#ZX$;H17}n&-N9>DlVC7|!KoZi6xEFOdFv-oBD<2Iwlx69od82X)Ry6QqxeK=F z5cNR=M}jeK8}!Bmu@CkN{|yqybn!nF3n?0+SLdB&|I^0jlH)gV^6 zGX02wC5i9+z7Zqm_Wo{1vrCm{&hMjreHcqAB}9|K2j2OOl_n6WaC&PbWEj`!54rMQ zD=_UikRd7@w`F{qJ*AFiI~+}pYzsx_%T`bd+}Re2;8A_hn{ld~o1Ga|WF>P)?x|JPKz^(U1yeCDW;T@^6(#!ffV?I?9>-Xaqy+ z-$&T2n^Y(+Vj^};!tU+H1P&%I^LUgdJVwGcqjm^U3^wa-(kc+av614OZ`u<<>}t8z zaww=94O+;ICT&K;V>RKinwPy7lQ^#%u6c6BT{guH@mL;DVe*!r!^9zNEr3klf91)T z@IpA93{DA1n*4J*`@80CDPk-U3^$gS9ikCxUw3XiS8b_si%Ii5AHO;86wB!r2u-MY~(__v`Jwsbs2E=2$bs2 z+!yPF5GZKVJ=;OD?w4LWrGs_qefjcMTsxaJWT#DeJH_2nKke}T6ie1Nmj^QYsW2sl ze_OTER6l=BZsX>UyHyV>AlRVRZ0S1{O-qSa(b=XoWeW(XRW2H}q`n~LbOmNMt4*WF zn*f)kS24dVhCyO@9;=4Erp{+UFg2*{S$HSk6>@#6(cG#m z`%uxJI*YL4kFA1&J&$5nZd$9e(D7#VIg7860^X!1XYozAVC(B}7GJYg%xucL_F_0@ z;hG9^D@8J!wyC`0&`{G_nnePEu1XP3!{}boHR4C-nwhU0YG#_Kwy%@f0Fr6asWqdy zm&P=)a7ZA+`Igm|I3Yl7sX5lSos4Og*0uNDo6iL&t#l^so0!v#axfH!r52RAvJs5$ zqu!yMUWL<=z1rh*OkqdBR4B=y7jYUKi&x4>YaHr5HAm>sr^u;( zUT-aBz9LmwC4JYZ(qsf47}{`WNs1O~~?d_;}(?_OeDhv5#LEiM=uS3X7@ zECr5=aeiWLvOa6{-9Y^{CJaNdCn8)cG*G3cA1ddJ1vxn=0l~%(tNK+ymUDRX>GyDj zq(w-X`SR_jPfv&N148(;b>(fDcu*FwrVw+&_=K5Da8a+1j|!&4?ytd!6v zMn-Z)d|=2$iDX;76D|Rq&~p)lO>wT5c#R6} zLZ;ME`~fSxQc;3PfBQ|aUc=pfWXTz9Thz2&`DT5^CB03FZ%w(V($}(#o2IC0xi&X- zg|75g^>^z_T$yh-FK(s3>0Z`Ke_!T1W%aNcvqZyER(f*{i&*I|8R2e?F_iD|e6+@V z@CsY0ANbLv`z#=(>ANDB*GS1zrXp2|S2ZYG9$3@n3bVS9WL7Lqr4tu+_`G)2p3m+& z@hqO_)zP({DK)6H>+ey#ORbRgPP^-sAlgjyQD#b~7bq^Wue#REF(Er-*%<+3-FV2z zjO)3gl-X;?)(d96?tK>nN~VK1#HaU3utn5Dd`w}azPkHxM}~6W!|j&I=XJzArua<` zFJcfrRKkFi=l%(uvQj!XO#{5S(OCII^paZ_VJfiL;!3j#>%o}uGdy-l7ojiCV1%<6 z$4Z+mFOsZxD^E%USsgppsRetVn+>2#v1o((0%Kilq6BB2^E#T+c1HMKO`LiuU}gJ(_gG)v-iA`it;DBjxAayXqE zDd|eJ%B63VhR30(Y<9-MPV7O+;EDpLf|mZODIYDRaPCld6Fq!~jX4m-IA<-`;>@Ik z70c0=27Qm+x~c2z6d5t6TSKy@>X1^Q@pwD%N`|f}gSr8%L|SSS?HXy8+v~<1GQ4>C zm;?t_Q%PqGZfxj^dwo0Hv0<1t+7U_yFn2{;Lh8uSGTj)5MTW^S6xFLtXK?8-n5Agj z(WWyZ`8XN7zINDDCP}+-vPV!gso0KqRb^?rfvQX3c7s-(+wBI+8o%F;B@F$u>kPK% z2ed>@7{2t1XzietgtWH&L|+S{iv2@sT1w+tH`t`-5MS(BXXvnW<1fR zt~aP0Fi3YQ)&7o5T3#-I4VZ`BP)!SFP)<9JP)$`GDI)3;c<8%;MH9f z%&au|quoHXD4XD>3%-KAx1yqgAF0@++=3h0%*MSAGap!%jM;ho8Wd@8M6-GQ1|NWZ zO$()ngNIqGK=Xy5Q717*!IDLLLdXs<};>n!PaCN~%c%*N(+ zBdf5G@~HEE?SOI1yHU`oE6`GBs+m;lh^!7*4pm366%JL;kiDUdVY@cVaCIFuY5vxd z2s)BLh3c*Q(&Vj(f{utvnBLG-_Y?jQwc0T|4}Q2iq)&wyn2t0pwUc&5*R`;TqoAQJ zP4k*3j=)tjnm?{kp?YIr#kS@TQw69uL`&?{-Pw#MIxo}xaua1CV&0I}%B2+d2wjm^ z%zXZVYq%FIWgb!Q0d~_OF^==P%m~_*7;Q?+IHGQEq6e;ls%0tgV(vIQQ>?U^@{pWj zR8YsYucVj_`dW@eed!k0frZMf5*&epiyQCcE@`B^pZVGnNZqpsM{N?-Ri1h5^`%-VLGgzUj`O1FdEtf0`_CES6TN3d&)BppP_o{CyS z`l3>9R|QYOdPp`m0kygekt1Np0RgzKLXjhA6=$<}Q9HSTVASR300kHGPdZCn50q1e z?}Id4fIsNvQ+y0IsFW7PUviGcS#KC6#+Mp&BFPm>^P#dI+-N31ow>l!0HKMN0YegoNWme`^#>X4SaJymLmV|dG`Ickxj&oIEB@v_VK&baK z4qF!v?TD^(6G=)PqlR;gq(qxuHyRbh!`F1UDHyYNjo#B26Qzn{w!jL4)zWIA988^M z^GIdc7vNvbJfUuYmD)FEMUQTPwdxo*K$_P95_alt&}C^1J)pcBRHa4@qR>QAf9XVQ z#9x%|vAjF2zJw{Ce3}$0jU>6r7t$g1J{$|&wzL4v7KoRzu{9$aET^xSNSebdx}e|a zS35iVD^wG$u!2=|jKUPESX*FcsahSB2{$%wzut1>Y$9eH+?om3ad0!_^P)mNkAq+X z5kC%M$|?bdD_tdo7~!g)R&ZDmLBk3eT^}r6d?3t6pV+n|>Q%|}?2vD;G(9tBV&!kh z&Zo1LE&g#g36^rGsxv`^#lkjW0y~7nPK3f5#?OJoxli}MYyrHm%SHEbxIWwN<9ov# z@yw)4VdErnO!lTpTJ$VGl3^OsM(TebZ~w*>EXiP&61!7ab+zifK-#nl%!_qC$JqKU zjB=vT#OlnJx|LhkyA*|NO6rW5E3}19F@3Bl^v_n>_qk#Ij7YxPBFo?xGMbdkLtU;sb8&;nYoky&bA^(u znLdwYwtuV)u9e`QYwxUsr8DHW%C~Ms^hpOEI?ljp&cF)|g~qLb|Fi6r5dAiH#5mzA ztp-YS0LZ9|Z>d+`%24I5k6&%Bk7r?QG+Z*@s!TUFKl7KTIQruhQZ~WW56e;FHd@IB zR?>vHO+8!l8F%LASP$QNwgZ!w##Q9?a~+oaP}^^T#pZJyNQLC?ZHT-JiWpZTcAhP> zeVe^nJ>2mTlG?#@okFOzf+MewS?$T^-=7N{fg7d^F0G$`cNDcv>H+5Fc9QXu|L_0z zCsNo{yBMrwhqhlyamZ~}YxrV!q zNxCVJ*ulO%6&hju;P8rVMx?rTPAY{bZDN7Y z07M|6NFD*zhs*yuZP>=EwpCs`XB z6m`re>#^}lA=yL6H3=Izg-rYL6EU?yB0ez+&DQbUK=c4{t4u;fDM2^r6ljEeTRi? z2n@y`LFIy$tpg)X5JQwvJz-i!muYaf4L!+dp%r2Suvlo*EWe_fE$AUNR$h)+T}CfJ z&$}1sMC;N5{PFg?8sn>n1{I^bSw~zUjHlko#@L2T4ZQK+m?UJKDcu7Z4XgQ^{s*q1 zf!ssil$tnTkrMNPe;v*g4`a>1`XqTzv%|=G2d%qgz4tI6Wf|)|G*z8#-a~_~nc|+t z9L3FFifl2;Zv76a-*36}7-R7f>8LQ7eW!;A)TYsTBZ)(D_Gma7+16O8At#6ezOt>o zQPUAq_w;G6m6YL;8i#t!Sbo-h$WoBe2cf!Tm4tL#jkv2{?qRLT(ubvG zYT8?$sqD+&0w#)&VUjL)r)?T74@r0kl5ny6$d0@#f1=>^Ws-LrGeIo&~+A(}i5leKt;!;nX_o*9h%rou|{S_@F3RcYXIA!GLsNVb-vf%zevw z67Rg>U2w<`ui@;~chmV2V>tHh?AA9jXNVhOM;i%xu-VJzncjAW->_Q2B#xxhqsXT& zYQto+Pj>wHF)jN9qLSGVd0 z*BHROtCJqVm$nfs=U;0V^NaXoi*|&p>i|1)W0!~`O4@ClWYuGi);deWRrJVV5jdpS z;VqXiC-of5^b&Hep|43I~4VN?IC##oms`F3>d zfUh|=j;g}NHuzPmwJI8?-3jOduX2qU!s3`N^Qmvq6EbajvAF#^g}*bkLVrouJ(@%I z<059qR~I#qQP8N?Lm1W0w7AM%l!Qzh8LBx|Cm4t7re-o07D7MK=f@=0(}@aMXi1p? zm2cq|*UWG_Nm*LJm1hvD{686U!Nm&Yk+OPRGGuHj%hF{M(mJx(Vdq3&rpcVBF$L2; z%(q6di^&W!V$1m{!>j!%rY*4gbDA{0xC`&2*xX4@g)d)+@tWhNm@=kDDZ8Iu#zr!oVD69!9D(m9|e)Xxl8^fpKb(5;>L^Ogj-> zND|?wWjk_KhUr9sXk=+Kl7#Y&Ej{VUfzGy=i_F0Gv)Bb2xM*@>5(u;NFMezhu-_jI zW&YL2+n?HGGz^AXvkafU&@s|}kV}p|-&LWE}lCvH2;oK(O!rX;M z+98m2=(o#a>KA>%)MO1WPZOIQ%e&<}O^fS2CP96B9m_JK&@qwwRgyk_q zYAw&{;#zlb*`%1D`59jSL3_WVB!a6IsbJ*o07V+^Ida9V=4`P^k+{j>VUt2QI~|N2 zJMui1i(Jpa`j+SBq{f~}(Jcm3aK1hDCbtZX9WI>@_+&H6=a*z^RU@Qez%Vb7GB&~3 zn)y7#`xyP3!qJpplf_ss7o+^r72c`vZ?VSBW}1j*VPJ?!U+#5%cJwdrPSN*06~>>x=2cQMc0#d~#q!(l z#~eHD>9Q9E;TqH1Omv-276inR9p7>;dXCgD@6CkgHmYRFO4cl&wyZ8o(Z3`zPoe4> zK&Cl!u!OI}G+2Em*Le1Iw)`)a;IyD)hH{;qZPs=5tq-q`mTF3QR_`o_sc8=lc@U1) zaESxmKUL1MI=eyvynG0GB>9_+IP*83uJ8T_7e9uZEj|!(OZHGD%>4EhIjecSg^T4Z ziV>F^Y_T;@mfPr7@(0G<|)GmQ`C|7ht#P{L<{j74_0j3zu9`L{+?B0n{(d zO4Ow(r!{rv@vv{6O-^EOpalxMWx|znPpX54_F(_8jPpmCU1@2d1A?#oCvhs zio)s^d0;qhKkxVX2I~L5??5nqLSHU4zMd_0nHrSe1F2dcxBe=4Pv#s&d z)5p7usQK&TXB>e01!q+*H&GUT*&S^3)y!{i-QyfoccfkgsW+?ytnO%CY?3`owD&Y& z6>!~=JHHE7U%bsO1)2xc) z-9`|)FbQv^tJz;0FcKNJ$Xihiu?(FPHe|XCW`zc@Wu2!{M@FcZwmwA48wp=c0^1<>j z8D3*D1aZ7iX;p$qOQZYK{&ZwtgD3{$B9R>qB>vBn?Ud$$XfzHVy=_q`QA_|{huaYA zlP|*y1wRPbQ4AXqmBKOtpE?b*fX?j`fX!Vh74~c+4p(}A%5Bi(w~3CBL*a@$Th{C+ z0#L&BY#rT4=`s75zhrTp{2G2>UPm$g4ZhMVQJjYNI1&(F!>>5bZk7b==<5v6;P+u4 zhjFU?$iT^a2qVpZ;2!*H0J$Oe$rJnW$0>rx;J4s6_KPB9pgqO+;>tRVac%{>$-m-c zz2lK#7OpNXzN2qz2lp_`zB#=B2IZiRLVz@pl(%f;+7|?2HEm>*|=IBEgeeBv(=+#dqE#Co$BwjaeB|zNvuu?;!GhuK3qayTOFQm zR{xy8!RGt8+_ON4B^guZH@~iC{60PU24CZ_%yjzKizghiHy|$ky_A76oH-cSqDlUwxka zab#@zuh+rd@qUIsvn~6>{x1LZ8btW|6`Km^t?Uo`yF<6*+3qggKdxqv#Qq@MBSOe_ zcer|_%SZgi7yJS$OXzy5FW4~v4dp8=D!*KPSj^a;{bmCoo5TJ{A1mw!!r5lCg=cDp z$q7pgeLT?T<^UIPiqGRJh$%w}f|y?_m81WjWlzkG{H2E+$URIxn+;9>jrfMZ-(&+d zeHkS8_&*H55BJMsK=Huzi%h62%59kj_p^r#kB1C2@cHiH7*}D03UjL)W;IpeWDea4{DW-{ z8=BdHe{A+JjM9u?p9lj9cHu1D9X1i>C_eFM_UaF+&TDv39fOXPDPHp4qcB)3Ga$X}0rEFje>mW=M8!z?#VeGEk)$ z1KeBD2kp7>@p*qr*w1zF#6I`z@)INz{d~+WKV_dF^N~Th-$D9r=#hWJRDsXghIb1r z@yLhsm|u7hw;sf`WA+g4|axe)9Nw?+# zZ^J(z@R|JEW*^xnggm=ULLOg83&aQ02I(hsH};c%lF~+3Noix3`R`nLqgy39+2bR7 zk?C%4@LZ`b_IUFvdoqPx#42W0!g8Rv4>|DWu|msyeB8~l`wU~! z@Bo=s7ixh2A}x+RMExgVL^XVprJ8*q>5a!XX@nV{FG}g2twm&$0uM5E4IkNxg-^az zu?uXiVwafcV+-2sA!CW`gN-;zhKHQ9^3Np>l}_St3lkPBT%_`4zp;j4(Mut;_@}r* zc(MnxFWCos4omHZcVzd4^@sflj)=iV=lEanKm8yl9uC~bH&B|tvxIjd!nHVGp=Q}i zg@L$;jxgHXLxkXi|Bhki$8UT9Ypi%!sj&`bpNQUP`VB6LFTrYm+{^+70pTowLw{dw zW~(sT;xFCBpU)d89tX@us1o?Q-R~28z>0^z3A?jh^N;=g2K~67za)&#>52QB`x$$Z z{%mH4{UcU>!We%5_xMMGrJps8Ke#|B(Feax=-}51BTbkbo@h%BY!ZONpA|z4_@edQ z9N4U*9bp!*KVRuDHTC)Fu*dr_x!vCZzx!ZEPi(hb@4zRS9693XC7uGr?Ah#*>k&V)iVN4?h_Fwloa*lMe%Z&4z)0 z<-1pQuI0BwZ2Anh_1?m;{;qZ{dnEtVKZc z`2#Wk?bGgV55^*Q`s)lrc5S9SkT=I~sSIO*{Fc4=6P@6Qn4f>fl&M4wyn2~6px@%{ zXxH-Q^ovdU^J5eT$rFVRUVdV8S?^kQn>WdS)O6-0>&!o`P+w*J;dePu_C3d+|ER|M zoRb;eRgu%Bp`Nq;t#~3EnEZF%n0TP3N4&uw?(eaKridexR(XT+3ErUiT@C*`)}Igi z{hVu8;*_mGTJMcH)F<{qNv*lw zJC}z5e+Qk%WKZ2uR~jzUkx`8#KswWb&G2YH;TLox7e`Ro8~(IYfvX1s6JVgTtv&zMD4AeS)L{FOrVev=&y^nc#>(AuhQy@f)6B z1nre7oAp6|Sh`qX4efkN=uX}4p>>bvANeMX57Z>p%*DJ+->;BbS-BXw0C!W8tV%~G zHHPxO*s(yYv(RUf@D8?gUa~~*u=`HN*i!gKRNt<2g8d46Q%MAh^yX7b*IBv^9Yz12 zVp2m{Q%6zAN^FXeoO=wfpyJT}7lqL^g{fQPYJQ|IUQ`Px2;HzFnt2tKd?Nu*0F}+D z(y_$G*(b9pWp3E;Krw>lB2O)BjE*O=$VxT7#!f=?gkruKHS(Rhu|sL$P4BJP3IKX< z#9H+9(j|?nH*!|%5FP~)4XK^jK`V;)`onJe3+#WO%S_Fmoe-uTC^?u~$7s8z7;pbS0-U zLf&9DC)fy0N;R)5=}LC(EvJfVWa^69cT}v-qsS^Ne%H3EuuGu~2KKBqGuX!-LKac0 zY0NCA*0OV=UYQT%1u%aTg=z_{nh^gZZ4&v@Ub@n_VPCt`OQ#ln4ZmxngSSiLI##2; z+C}Uia&X8!M@j{9zL-@k3DZ-8Y~O^u_dZ=#7X9nGR(z9#n;Z46oI72 zUS=L9GOFq?XzWoM*_ofT!t_@1npK+)$(i*bdb#*;2P3LuD5syM%-}dn?54A86Y-ia zUz}}%?UBmaa5B<7J{n%Txm!d^v|@xKVd-`ZN7BsU z?j!pC`|sfe4pJjp(iu=8sHrPn+O({VTxmi1LNL@@1VgF-eyc(&WVt^DT z(Z@-;4*;w(`mp}489-8Z_=N@RXs-~MRmbm4Y5X+_#pkxjg5RUI56bhX z@}RBd8oMNy#0Zufp}gS(2ku(UlQZbZ3GRJn3MayKg|)kwrJ-OV-t&SIi!oMFV&}}c zV??j{K!|J|d5jyCBN9Kn056<0;uIR+mi3%kWo9nogsKo{V}c5mvFaU)%l`CBR$=27 zXTYOECM$y#t|QcbL1EeW{uJDYGnDX1o^ELB{YEu9<_kbzJl{8 zR;PrDklavhE>?N;Z_xwl74oNk+^^9y)H;G?YR0h8*h=?dS@5NUN@SkD?5aX{>YB_K zQr!!5E`c#{Dzzvxs|*g+?l86qg3RUb=&9lU$0iRfV-C7oF)TF+-o5u(4okj()??@7g*<`9%UO0!og=SrD{g0<5!hKq$##DZrDdx2HR#dgN4Sy78-eKd+& zR8{|JuOyVjLQYS4h(4x)Uz!30+=;XBwyeYDU=7xFD4xdu(L_$%Y2t*K{ORRY-^ zw$q>tXH;%7hZ2%U5g$+`V6dm6aJeXza+&rAO!a9B#-Tn_6RfP&5o#ULc_F$?^F{BZ zh^J#JjkE3)T9`PgYt}1fH7@&MTJ=Hd$XxdMZl^h$01| zuJGyWM17Qt*-By58pJ4>FpLN!V5@Esn8VCa_47Ru3i#u6JVO&gaa<8nWOlahMSbhj zf`_$HCN>tev*fIA0ah{q=07i8+zFmTG>(VXNI+!_ND-`<+rDFMOqQb1DyKG?i9z2d zh$&;QDOZ@_yv^ouGM)(ApusFk!$X5UVn(v!OcTLI(#9O`GL6!ZDcoHsR~+Zn*t&c= zFX>(D2^pG-zKeA3Q=z<(wkdT6M^<9TLP6&Aw5d~#YXiOFwSlPQry956I!J1!RtJVr zQ}E>~;Eaq&md}*OV$mOsCpvOOW=g1aV%kujMU^mN(x&zD0xnJZu9XD2&cu6* zPAEk{IzVYs_JeQ125H3i0<95SET-M4-33f@au3srR4`i5q-1N=TqdiV@)qsaR7`0y z8LNw=G=b2dR0*FyEmh3M@XcJ(=EEQgmb64syx)mu8`R+7g#6fk3(%yxNG|P+{kH=- z8~21ZGaZJ_wVffFqQM!koeoXOawL3*)j|MW@(5=m2E93_h{7VRc}>(3X$>JSAEH`U zoA*E|7NVJ%n?q<&7o>?8ww3~UZ7T)B=Qjd2-NMr~+o)kl5$-N6Ew;>w;T}*_h+c3b zZ-YQ{P83x7!M~QPfNMCpXtHg4%tY8YR=jI-WW3IIr~F{r76OB!KNKq^9I{oG!h$i@ zVc4A-VkSv48W#4s8n0Fv3_tPc>qD~NMB8w-xXHdy0U?TRJ{}%^mtSWOr|p*@{@WJE zO!Kd^{UOBf*{ysoO~UZwexD))^^X&h&BOKLYZ}G`u6QCNJ&dE&pKz4<_Js4&QBLZ} zQU+fkW;R+ak*glX_g5=Ig@CuX)GPGBuMn30;ML`QM?jYp^FJp@&sRAY7zIm%!@Y}3$Wx!DAdgh-b@o`vD>p% zp_vZK4(TBiMf#Z#I(L5j&6dPsllRVQm9bNpk_6&zcrj8{>&f{R$8tAU6;$EFcj8@^ zk6s#Yuv$=`_4UL1+D?18`HM4BD#K3g?Y6jX0d zedZa|#YUE(TkcEGd(PnnuBQwZf}r?*>t#z`jC;b*|BK6e{w4+pqd)& zzoqK3^Zwi8CPpC@df_B(R+H$Yif+t8)^EFV!o%G~C6?7>tJi5P=i_qRRtKO?9)IBz5&vX<%z&wJngGDVrk3x74udqWQ-{E$#E>?}t zosa!C%xlFrDt+mFl`l~<`e;Ynlnq4LO!NtXI}j@!4vR?Ngbvf+-Odn21N9f}vi?eA z=0FX<InX5K2N%y2I?u$Zo^?EwkRG)8 zYEjJypvUlf=Q}B|2Wm|f+r!e@6y8I(u8Z(NTQ3Omp<6e^`Jl~Pgt{(T{#>G6C@(!q zc3YK>Z>Krw9?(m$^w>jda(IvJ<$)2yZ4F7oi{fLLq&RgVLXMLq?dSXuMEvZte)V5C zn%EX@ahK(8{H&LPwWJFWX1W~7w3t7i{`lhTZol7}*+=YbZ9O<^oZ-B_#b~Np$OvfU z(+imVhjA!lhHX4D#?c0+M;TX?IEarb(@e;$Loven=7eR130sdvRt<{yH86ROWE&K3 z)VIwRnB8fcMzBN~!Q+Ne$xt@h)6 z`^#Wcn}i>)1i}fMRjKEvec2@6P(!WP{jphxYUJ~?LG+eVD2DNlP}Wm6b@&|5j&;j* z>pUR1Iz{Ru_;WxOMR_HbHQ#R~)1( zt*m3>VFtdl>__WfhS)^E;oTl7!$hDJzO-iM6Rm{5O*x30EW}1|vL>?{4`3dc$8!L) zEue7__RvVIa3-T!j;2w}r56&&u;sEtfyM1wRvAeqy&KWS$Qpqmam`Mw z47TqY91x=ge<@r%+@z96(u|Hvb;R;G)X^4);pUeS===i$oxdAznu+jH1c(|2z~M;Z z5E4Bajz&l_Bx4V8((MG8v4%Nf+Aet78>WH*X~`}>u3${|Y#8{R1p<%8p+16{v*7h- z-3K`iBIMd7AbX6(NGZ?7wr6WpeM?TO!YQnxL%I?%8p_J%wRBg5dEL7L{YoplLOZZ| zs~y-xaCO_IDcd5QEvCgSENkCZe9dx1tnVFp^|)Rvub_eq`Ah_oQF3AaQr1Og0f_BXT&p#qvHW2{ z^M=oQDv13Y(~eo0&r=|nCGvg>Xz^gr$x-XIFh@&~HwALd=TrfB9d1J$2x(^GOoIQX zkKyX!&Wzxn!qB2n{x%GbS%S>8*zO_;k0Cr^1!MaZ2$wJaSPkUDH2S*#t*!b!hwf}5 z)D#B)ZIq72v)<FZ!yji9KpxjoC8h`fscEZZ$t>+7i^Oizn~X)R4g= z8O&Mc3pYDUGiqNWFNZ^oG489ibKAMz-$Y|2=g9Zgw-sWsO%rHejg_5;-dB6->FNE? zfQxW0=9fttjyqVVclTo&>-`);s3aRx_q-2JTI zEW^HrHN$c^#_dcNGpDgP%BBitC)>H1ewK`$9lOU)_95$4J|X zzV_8%vCwSqMv8NC6-u{V|6@6LgBPp)DNbboB5s@&l{zdoghQ>t9fU$~0Z>rs4@?C+Cc z2h_vu^=3mZH_+XFmB!%b=$Hm^HatYfQyTuCee&gR$^LZsiPVArCIHqu|F`tczifAI zqko51V06O@i*Bf(tTfM1vkq2vFCTN_6*d6b^&isxE?Ti(W+P_1p$;f#EqY4fH^yFk zg!DUq3-`M)O`g~w*>Bli)5cbRE$>M-i8Ah$SAU4t`P&?F-d)D!x1WP`nD84P)p^MP z+y=V?#1Rc0XSy7$AloM#(fZRqPLuuCdT&9eFa&9|j|;a2DYEG&VCLu+-ayA0(uEs2 zDC>ylH+d(iA5q5K`JGSuG}zk6o?91N6LLGX3G82 zuF*5f;Mj4L50s%PpD4vtK2nP8O^~iW>m*{A)WITz{}#p{!iR9n7%~bU5Bo%w=f%mZ zP{MvwB3Hbh4{-5L&Y{ISIg1wWXjgv3z7Y$OGPCsCa=|F;fg*zRp)3Pr?TrG(+9&0{ zwP(tGOS>ejX{bIy)j!ho{v{08cfsn5@>=2ERgA0+m}4HowayVgowi$ZZDQhp7A;7* z!hJ=0{Ubbn*606kzY}Ki`b`q;P>RE9Uxek&J=(y= zeE#y&f9EhLG+nLZbj}ORNNbl`JIfB>O|V`=?LXp7$XCl5+xZ_gKTmVaE| z(pR2*Y@oYXXr+N}&?KwARXu6~*|Ly;N=#)+0d-JDg=ReU{r8-@dM#%kBj2E)mxVl8 zk;-Md=WGedwUcO5$S%~J?XdzLf6=54z7Rsvf_@b>~4~nm` zC(2|sbbPevu`JP4(2>*;60@elkRd);y&okizO;DG&2J{Fwl6N)0Fqf|f|mz1kf$2% z<<&Y@FsqQ>5U!WxB47~AYMmw~dBGm=xns#xaB$`NmQ@1M0NXpM8SllgzBBrclMd!D z&ge`CL;hQf*qHs)vBioDjp$+%CC9?)llEFEuJDAG(;l2tEte+vX#hPSnEU1_4bvQ1 zbM%OF8;-MC90a*?4{T$#L~MF^RhX8xq16wjm1^9)J1|MOHn5PyMg^Z&P>qfAfm@+w zg6oEydi+gCn!QC2u|LaWfV<&Eb11LNwhU6DASwqK+k#f~o0nzNUKqMto3SR~wtPWf zu&rsp7Zr)5g=9qEG^^HXbhX_tMax_E*J=A$mbaYcRw}~Fl!|R-;w6XKOcwIfhrx7( z{5*4o)dtA5jq6*3uU!GyqY|-Fw@2%eAE>d|VK-)o3n%PyIF%?$iRlE}8gVA%r4uNb zO1FGWg2R#y#WGng+dj8M*4hG00mszb#+%!8r;gat^jZRFM@gB%mB59P979ISpimWb zSxIO!62qwrZBQs12}7lF!o!+gHZX*eL@+ljY}s8-5Xw@voPgN#u$(|x)190k7}{A| zVPH-2azjKIM2s^YT^2ahxx#^l58*;TF~JFu`Rn87B#OVlzKN1H*`~0a?1;W{L|Rfc zf4yDfuY$Bw>*D=(&0lO1#5b5*8>f*_L9|2SoV=!;a8Mw$L}4AIK{pg6gmx%=cYuEn zTV{}=qxPdfy6&V#y*=y?9HS1iT}eiw3`L>nT-}h4hq_S6RP3NJ@}ruln3WZJHv-h* zzUvqHO7*oJm&vRZE4kVaL=9lGZlIfpv1PD0LBRP~%*)eZ#StJn&d%Hl$9G>X7o9l{ zdxGCTNFsz7Ak?Y-xV=IND1x+&AizS(q!FrfH@L6?DRA@ievdG9!-iY1204u;u`V#) z?pHv$n-&2;>rj9)OnlBrAt+78>9ZBdtjW{x&!_lCpknMv*7Vm8Ulu-W&CR|>&Sen7zLqv zI9Xqv=;qc|!AI`aR)xL25a5 z8zS}>4aMPOr`-@a9t1F6BfFDQPaXjQFN#+QE6;3%8aWS@fXKJ7=rP|tx1ZqeXE+20 z5ZkhKXoHT@W`9gwZ=&h*)$85z`?VM>oRe4hCr#Cnox6 zj};TQE8@k(Go~@RJ)tzd_}DRUOsAc%=rI%O5Fun{n~ot}MIYUzhy%&Od&&Y?I<{O` zD7&x*>5N(UU%6M1`U>r|bwHJ^!ws61fm3QMZTsF%A-2pUg%6x0olFkY6I;byWtA23 zrbUpM)|c*)W_94qcpWp`OmxLx$eD(c_qelq==Ltx1|=wjUi*V;iwni-|)(%mC-w69@&$|^}s8**m z3(mmp7Zu3X)1o|HaIo&%$G5zB-g`AZ*QO3Nuq>7e*Mc>qmQS0+yUFG>-f7iXec)RY zlw11dYC-3rYfVDn8Uw3DR<024|El{TSj_CctPn5*qj8(gYJsV;P`7NKVGb3=h?8cA1=Por?US}=`c>S`f1 z46Lh#(=58K7L1`lb`gs9V(RV^Lnf!z`1fl&*EHg;7La4uT`jykc&-b%a~K^2qKKmF zf`3mLPmn=fQ%Aj*C2GEb{;6;>Lb=_p*4=% ztA$h-09POX*0~7}^r-7agD}3%-KbQ-J1}BR++D}*QVsOlsJ>dVsdk_aR1m>=9s4Wb z_?XnWRkJqIua-(~;eNH?y2Sj|1Me94SKEM7^j|$RGXFS)0M-LUB-S-yzgaBX((t3<@_?{8=J1U+Zh`>4T}z zvBE@q@SR$!oyCwE^hRI%(ic;>7?yF2{q!FoeBUmPjzH45zSCw2PAcva+o@RtZ*fIgz5!V3{l}!o-QLK z?a*pqt1pONx-2chayQ%sK?%_LaQNc#%PI8-6~8GUPBX%{M3Em~awDn=K0LD>|F=7B-JNvYBm$yqQp%m z#3781Zke0)aG?k*XIU=c#9dz|`m_!daOyMD9=P2M=I*a4C-?OKVpQBBh9o_FR$z>@F7z9M`$sA~ouNX7okV?eym;{T-8aUIEK)Z_&W0j|lBc zdqP?;l6rY{t`;I#=gZ2>t3;Jjjgh00AFVj2db6dC7S3 z9iL#BqAzHkA^}Xx7Gsd~3~a5vYo$50hw`CZpGKZEJJi)^Poqn*@8mJ0t}}`h%yR{n@G|~9qzTq6qX?}ltemtQkae2qS*q%Ek@TUMX8!UHg=ECZE;P%U zy#C_sfgQkGm=3mS+XUblW|pO}KiHc=jB!X)$?U&*;1iprQ_H8DG@AE9(1M!bqQ-n( zU}4^nvPcqFz%6(fmF~C!dap?_AOgyQP!LJ82zGP9Y@=OFtXLT%26p z&{eEGVrZEhxq|S;f4Jw)P&jRi-gQWR9}zJzacluK1LNfolQSk}QzBWeWdCf746+HY zobUBnX|lhvj2f%4_xTHb4QIFF4ci7ve42Pr9BDm#*q?kEKA%n)Ok3vu#z>K5-(3 z;ImJNZkWJ=C^ft!;;v~hunTsG_9Vo9er-N3%xmTi8yx9o$ieY~Z05VIfogl?adn9ZSx?8@AUYz-iH~jUKa{z^xai8icW3_g$pS^rm1A3&Kygcn;%<$ zaw}~Y#XY|Vpa;f>2yCI{HxGQs4EY5^ifz>`UAs#jR>OXL;Gdb=h2Zi7lNrQ)!rbkQ zDdz!Cz%&i_xudc@m!T>IMNq|zuH3(w12YvV+XxqUrlq#^*B57G%QL()y-N)H z8fOnGDW?27xro}Y;IA`1adDSLfTGWs$KtFhOOzywWHv-RTd>Dm^0NSrf+m3=bv-1` zKhX-i1@YpmJ37%WZ|%!9JUjdnvcO>&Klyn=L|C*LAfPqGnuLJ1FLbAAML z+7ou%jv(DJ6Q(RTZ!s-wo+(vdA)0_Y)sK{USGG=-PPc)j1mb=ewi+W$8oBm-al07U zQbyu730dklBXX7jvzQ2dWs%&L>%y?S+8N#3Uj`n3ie=9x78eOPKpyNXw9z~OxH|Ct zBlvc3)KmR#3u5%7daY;}9dSi{(~i9||EjDW&5&Fo7uN$>mbS)#GgSZjcFK~sXeUGdZei|3Kn zqWFlfh>QE>EfGkA5D*H(RqPj@JLeFU)h{AOs1{}~rW8r8H%J``?~`B)nTrFhf;hdp zV<{lIUB@$B9MNePztvP6P`n=nS2sQ1x&M)BfJ+v^)Gsa`!@s7FsHCWf`f`g2YbjpY znX^{SLl@HmEB$i&)xrowE>##ICVJ6Wvg9Gq9kyclYR%xRNg(8=iYjWOK1w|do?99F z=K6T^;YK<;R9u%-B$vHMH$0?biWoQ}-<)s$8ZHm+XgH)V^-B*8kr4@!dkcPqu4Rse zK22H+GlW^#+&|0)kXH@eCwgN&%t=F}&R=q$8AYnGAdB93jzx(5VCb?#w*GTWdbAQJ zHdy29LJHY%Waq&uV;d_v zFUKHQvVXMEf<*gsggU3s18=AW0&hx~Zs{Cy>+J1MOnc9YW(+qVw727$D^FvrbMlBEIH3H%b%&NG|EUQ)M4^fJjhUbO83b&EYG+(Gg^mn z8l_Kq$3&GPzE74r2Hn4^1e&R}DNyW6+hR6(=~pU|r8;=ZUy|Oq}_1>5M~VY1vt$5dywGD;}kzE(}!kLSKz>JBq^&@yF*l?5w{TxMQ|vYWOU zY0T!fJ0U74%QBhFx!bv?j9W!Al0L^NwvXhT{tVgD%5-Fsx0YZQx~y5>Fo&{OTT4RX zAk8{wI+bvAR&sz(dd&)2@&f6*@bxOy=co*Oo;0b6%V7vnNRS$0)DH)qbtrZ|gY>nS zST#gnd4{EBCg~zGlMVW0GangF#)y$|7csUxs4h@Cpi*(lhc;QcpevK?6A=5|1-~09 zs@aecr23IzIJL7@besCC9+Dz{hr0j60aJ17+MH*-xEm0VmuY(kBlC zc7*0?`VB6HMxF(q6vI!|{fA!rFDoxEgjJKMtx9N(;x1JPMrbAWDVU-nbI&!j(yG6d zRg$wlTpbc=eWgVeIh6v1>Twr{Xv~T-b{QBE69&tq>1lCh8i%;V&TSd7e&A96p@-%G zWMz+n6zQsT=t52wdv~dd{^g>d>545wf+lHxQUbqFOz$3hjt8}@KY44B*QH(t| zvzoIdI61A-XdjdBq6C+$3S8%|`v^&tbTNgkuIq}s`em!sU}i5h5Wsz1DYFQ0e z(fr4ezKms`*KR{O{=fqnAeegG-v1;_Ng2IWi*x(2yEgNA+JhRb{~mGf&CnVq6fZLv zNji#QnS@D4W|J{Aw-K(GS0QA#KJH$>Xo(>1kDB2))LNWZ~gp@CS z>N=aY&r(BpUK&kz`{{h%c-*Qjqmwb77MznsXP>_LnvjbE;|Xk)^SU&46tNCQ7h7y9 z#Z1o*b%y5RzAh}Zli1BL9uJVSv)hd%gzkW)UtHZ@`-SU~!Zy!ScVs10kEk|v$MnzT zIIxyfP-!9PPO*y4G1;i+3k}vqkHcqm_;e>+Phd;@N*?gF`I)+dE%Q5dhivylb%$#$ zy5AkFVV3kcM=umln#YL&^QUnJR(C4oFg>D4wo&hR3ZNblz1SqM`I`>U?le{5dPMj9 zE?9l>kF5gMC$j4x4SGN}0~;hsUwiz)Hi>Lsr$ zu-NfXtloN;w^P|gxtx0KqcyBfC<$JhlJ218W0D2K^gN#n-iiJ@WN}gWmlsB)yVqVx zhgDB3CmZO8&no;!niyXW$%bYKf!85x)8m2ow9kdj>hJPO*#286ajyC8h0V|AwS_X5 zo7YC{-Z!sJSRHX*TQIh*J&9P=J=aqchI6qWQH~OM$1r&axwoyKHs-I7pW&?dvP}1= z<&_y@`)Mk7MfNl#Irx5%7yikfuov+AL0@%Q_S6HliGDhvcrttHgVI7zU9h=Ly^7d# z*+M^E`0j8zeuk|ZzUrQLhDu9?^bD^wdwbX)c#n)TS$!HJ^2{dY6jrqFs~bvnLdN5* z5rXKoi*>E{OW?ZJcjI=x()7^JERqQ$RNhBe1afB3Vh+4ALQTV{uGwSTD->qUk{A0S zD-I)L)d}>2c)Su&G|{v4%e|}I-O$s5M(5WOu zY|f7SfPHrAZC3D$vh;JmC?0BKkKQc`K8=k5^4?}9HOo7-Y`^~i}zV=QC5 zH#Y^zFG>|z?oa7*6(y_F7IA%dr_Clz79UBeLze6Du#M8}A_Y0oxo``;z+!0tA;Itw zU&BmT(wZcJP0>c;uKNVxu6d(eeL;-+X{$7%uAi>y&Gk)4Gt5n{w>?qQ zY_RVRvSXr#VHD}7SM&OMqNCba-!znt=ib>vHr02hNq?q+SUZrli zo;pX{RhF9tg*ixy=b-g7d}Qk&v$fi2@BC>^LF1Z7H6T-q}-WtMBnDak=(H z#A@ejUyZ(G4jj&yMRPz;tt!5p!P-PoS8`SHo)#P&{daV@CgHwP1Wn(Qq|9B`6Gi9s zcECYf9*%#ZW~+G@cj0{$3!_@!qfF@!_SR`fX3szSVd0$X}LaRfSuY8KYX;dp5>R#uVq( zKiR>j(X-vhRR=N@h`8mpgpNFM-YzVlr=UYE`>$cFD@m5Td#ZNwaM3T zA_j51Pbp9Uk@{(Lf7+jp>?^C_zCc}kL`(61Jt9KlSRfLIk7n5$ue~NmjcAOYP;S;& z@!K921<_sfpX`31(l^K1=@|Yq{u1vW<6m$wNN1n7$L;lIgEPyI?E4h~Jy3lb zJo-CD@Z4>~n>|iX43p#R814|!6Rmy=c2vqni|Ha4bee?W@=N$c@hPWpNe8JN8z)@8 zxd$#md_O-w?Dtz)mOd-70>+|h^?*(hqHpwovc4Oq2n1@K^=pLov(6tg^EvN3rPNQ>;-ni(#}y^vmPL@)Kj>I?N~Wgamv z)s?|9_|**B9|(iShd$GCC}yXp1)k2IT^J`w|FASP$Ds%z&XdwpHwJ26Iole%SQ5~t zjKGkxM-7E6jXH$=Z6H#4EWFnjPuoy5qrRHQF^)6r4pscf_L?8Vk}pA5th65#Ng*`Y z+H=L`Je@t$Keyn7YpROrP#*9Zbwqk?uo*TATr%-I;Q?`o_ni2MXgzt(Ly|i$=r|yg zo%FRPo6-3^x85Z6(Nr}JjdfB>oLN@noDQ$>q~t7CTW&od4UZj)p()({^=hM5NY#q% zwV$>{PYrz>6%muCEvxS^W8<)_?jZd9j*!Dr*mL8Rva*M^H9;-+dA6j6zFQx<>$zyR zrXHN)V{{*f>$B}XzBfelFcZQMSDD7>N%)Ex#PX-`OVK*nC2T)=C0Sas3T_g<){TgZ z;FZD20@FTQ#o0Oy!X)7xs@RvV_WBL~i<&eRQDuEXg?kJ1c9q?RexqN6utAn0W%Q9! zx9ejd!=lR=^Nc>9C{UYX-6nwzIV~xLn^R@9nQcuz7@AKMBt|1d@wn*`C-F<}KBbNP z*s}(_knHz`;}nKw5n7lDk0p6Pb(`$asBo{CSdZin z14XUGj4!zHJ)f5StHhdRYZPT1K^wG_HBQqUdcm;E$yd27V?~2S)uJ(^?ET^8KASk?s- z5|+A5%T&1>Tm5Dqw$-eQ{6msR3hE-s_;d1vfzDW39Qzm2wIo?|7><|vmis8miXdA|S1qd2RhwLgOA z$7Xv}%V#Nx?I*4_5T(J0#c4$JYEq-LHn|P~k}nq@?%eAt4~$cTSjn+$`!B7@kTjSw z%^?3^IdM*BGp@s?(n&6;Rb(R{RldaFmiReVp+MXZm1Jm<5qICaY`;O%W8$p}m zc{ZrJrAC=0`i(wJI5Nrf`|p{##6WZuWZusvNFSZQ#+{g2HYUwYk{r{TpCVBc23Eu9 zJF@6_{pJ{ML!2?PkFkcvDXTGqZ-*!Pc|_j!ie@euOs0i6#adIJQR*Ys7_L&WekB-R^GZjT$br5&; z%j2x>luKgW3Fyd84rj$eP`WV%4^Cn?k)`>$?_#Ii0k`+vd#3xCQ5Lso^kw~EnBb8?N>Lvh0$;NXgg#_PK(|e;?IcSxoiAyu*#USM_;Ry z^-RCf>z=)Qul`(QpOIENf61eAD4T@Y{U#&oSYF33hIMYr*!~=o!9qshO_#LmLPqa& zam@pxp95WABg4Q_c z0*8`g=G~aJ0;en0ayN2t7B%WxaFVZ8l?ZP#Jh9XT9Omd`}jbtiuor>Z&G24^!^ znwc9Y;1PbzPGm8NPY5rfV?*!Hv%tFG^cfuM!nq(nEz61g%+M`(1P7-sW|(s7N>*uw zT$!U!d^=j@LqB0!mLtvimHA$D^{x*ym6jbeOqDW2V=OWB`|s@8d*;)M)*%kzNS}1t z4vdB3rFxBhh^O#5@Dwj{h=qD#6b5FOvdB8j^g(=0cnsa? z+jM?ucKM1(GAdSuA~b`N#a>xqG!%rs~WrM|*_Ffb+c@a;G`JKOGJeB8?TBu}BmCaSFD}1V`EDbstMB-u;<(ESlr?KgM~ZO8LN& zuE?`+>gxUz|1MR-kNzic-lyT$^pu3R!S1jPlTVNl$IU+3{R0JPW{ca;pDJ$0VYvRZ z{}A3YpZ5%>UIoe1&->HeHoQKihf_K`9mAW?PseB#Y;V(j65NMBo;I5>p=eub<->jz zP|1O7c*zn35gaK$Ho*IOSPW&TeGZPFm;4l(^y$#NIF5Fv+KRIGq6JwMN$F(ZOiS+o zjfrKzcUy>WO~MWDQE!bPc8Zm{G78Ul9wUCJjS;u$n_euriP|vPYxcjzONA?)g^{-2 z$Y`0>=O95`&5JV>@}Z1z#`;tdN^fu+e8fq2b!D0ry!lzXT5pxRlj_wOFNFJCaMdh8 zR83FtN_L!iX5JK+SyYtgsk&f?rbG4=kHQ)kB^-@#I;;XqruL|m${HszZH$+7Dok$X zV~%KiS6UO|hFRA~rFHwFhSS8|%*M7H6#Zg=yL9!V>qC{0dE>A%4S=H>D#Qy95~ zTP)rL>ot#F9G~)Z<_6yC5fs=8A0g{;(j=s6 z40R@?lQCUf(e4zE2VBW#+Mem_70;N|R;)F9N}EZoB^^o^dD}TeL;JxHTVA14)dh0_ zzSzvDU`9CRnxBSg`4NgHGpA8r*43RU@{S#`mnx!{SHCZtLby$sn`*S30eolJs_Kq$ zaxyZ7BjE-v8f#<q9^tPMyB@(MYsBsy2*Rf4DoOgY%{8n;wR?3TZ^JKZK?GKJE zizjt|P(y1XH995ecyJQ5fn4{rK*hL|vsGLKN557}-s+DZ@U;mi;ZSzVF3fy4o6$$O zxKJJnWS30FO!vPnF-rE1T!EGk5BJ1Y@jy_ArI6XdbbNY{=sz^#bFni@r<}Dwb)l53 zTmA84l2s^+Oy5d)11GKb9@Z57IH%0WgPW=%rAQv!pyF~RLZGK=9Y?6a;%}&mJ|EuwMqyPB!GW&XKFkYQy&mWaD-wM}lY;Q+WQ4T? z3e6}RCC26@pB++Tg>rGVLp0u+^{jS@M(U>MiJs7Y(lPER9_u%1?7UE*4yy?8$y za?A4_IklNG$0#V33$;z%di18h94_+(qtUDQW2+)>?Li8JKX7lAZTq2TjI$ZE!14*N_!U%NU zb+xK7OcGEI+abmsapfmLM*M`w2dOE+A)kWe6kGmO`^Qks+nI5UY60mIhEnf_T7Z|7 zudhI|*NY5B-0}i21mM2(Kut^C$-4jcnH|^cGi&XTUru!qK&9YV1k{PFZz=kwTH(wv zvBV^+)l?Y+uOpickBAxJhUgLa_9D}Z&4>}UwmUlhJX^49^4nw$+(V2`J z)fj8uStzAvdLBBV>IvbWtaDH+kdsHDD_Xz*@IK`XDh{-N+DY`pF}t-0o(zDXI8P>0 zyB!3S;+alv7cd-HXE$CETVAb}AP(j^XbtwsC65L@aE&STx}WIkM5 zo4P|={Hj+BW?Pn<;zXD76>e8pyW)BweA02;-Ow?n+MSoU^2xNKp>!zpV1SP=g;IUO zBeRo_oQlZ%t7Et@oRJHIk{KZ#a9%n+8fzUAD1I(LA$2^v#BtZ}?p3E(#r;oBuPq9H zq^C5)5vlne-(qsKNTn_Hn9?=Rp|7bi8oqm{JDSWiotM{5uc=Wg9(kBZzt_Ny4`im~ z+Ur8jPZwENj<`b1dq)08m=GGs|G4XU%*oxjYjg_bUEDQNWpgIh3- zOC~{V7Nb-Q!g2}-w5x9y|Zk=EQWFFxBYVMVFNkr;@o`?e<10MB&t}2WPH2cyyBp` z^w<$Rxl`t29&nDs=A)i$=h#!@!lRz{W7_Uu${P=Eha=RXHE*aN_r$wL|1_pP!zJNS zPq;Sbr!mbmpB(AJ$_AGAGDJ1%v2K-bZ=_v}u1L%JV35|FR37z;ve-*I#6RY(6DhoK z2J9PVi$^}<^LW5d!~n@{KW zVT^{81kQ~#ojUz>)f8PiKIRymz7g#YM+u~c$-?#UHgc7{HLjCsftSyo+Y0)#)*h_%NJ}EpzQ-90#(mujh1*pN7yr#+}D1{5$N zSLeD(@KG-yC_d~)Q_b?CaTIwXISaY(?t<=Jbbz$H2tC5t2L4l~^lvAIPNF@O1G7;v zDv`p8TN+zG$KeWh9~5~(?s7(A1u4j=Wo>UdB^sD-YC}%*UjBd+RBg?{TWLbFC zMj4Srxg&<*b^By&iF^z##NNnyfK6fxNgB4!$O92{HC&S`dEOYRWp3EP7!pS33r$}- zhn6x@fdRxB1zI?O1`|I#($S@JXKJ?kK__{uKURFNoiBELL7h7DEAbtqI1JK*j*jPp z9G7w;$vioe-9Xw@4GL`g%+ek7HMJZ5xuSq*`SXA4M^Vm3@R-<;tKRULN%taj4A*hTC<@xX!PWgWiKl%OW{**`D+KQNBPZ+Y`e;RY`ZZY+aXTvMp!ttJ|GGo zCO1>5U~e~xgMg9|jKfKYm^<@Qt>r85A>%%}zcC$l+RZ5NDTC)A92AU1BJIZdm^|Uu zj%&Dfqb=1eLCO9{SPeJaM7!9HJUlT90{ zIPuCK&C)7?jn4E|*`rp~~2}h>XSfq!T#z~DxyD3x)KBFW#Y8GprJlp8x zE%rujS8T46G-5KR@OT|^X^~+`?cHrmOjgyB<_M-#6vw1w$O2Bz>Bv*J1@WBJlW;Hg zwjhYL7|jsvI-KBIa5D-rVpSV@aT51E?(j+E87jE=NQ+RI;8-ecpXE+L#v+Pi(UN>I0S|B$Xk?bE-6 zuZ$64uzx)O2NEhIO70v;HpX&Ov)9H8=P{~eap@P$Zq)*9Sk4HkFI$$$IPuHuUpUYU z7Em{`7E!}{c22#R+q0m~X+5=+m^){!HWEY0wz|`0);6X{=|KJie0!!!dp0df0?C87 zqpl5jigGOQ_vsZAnGh8b)6%h13ayr+w)3TWbwwgt0#8^NhviiB3p>QQ@9I~JuWB-z@ekp+Rc&{_^>cOqTl zQ#cjG~~E_ zTZ}V?eg8b`Vu%9jlxXsxnWI(mx24=6FAvS!3;X9=CD6WA6B*bUW!iz2Eva39T*BmJ~@-EWIr_K`yHcD|gx zLrx>IbH73s$IfOIj$hAbtMzcU?vJI15Sv60i;z@7(8^n(&YM}?D!$92?*?F@P^Yr; z_Js=xvs%Li$Kn=83)_jGX<>nMw^ag&%8sIUIvkIYO>~8` z+$q~%ng;tehMSn1>R?+eBCIqKj2N&}Q5mcmN@O|T*CB%v=Y>hjkjbV%DIvu4!WEf| z6BpEVMiCc3K{^kJv?RrJO7&g#TVUyKfy`Vgg!Uhu;I4ud)4Ig&9p6SvhtP-PhEW5z z-)vvW!r#uYw89f9^X#CrEe}k(7`%j7HmB&tW=8qA!tt}oe0FE(hFf4%)5>&`^f6d- z1yFJoswE40sc65vdS13PV`+)sGyBUg$6C4%qpB(-HH=A3R8=jjlm6y+xphy=f-GE_ zv@BpV+vgTIP225>*^;R5bVYBW+f)&Nx9xM|u4@bZm8jLZ18j`in^@ru*WN6>Jdrf% zK&z#hhm)NzX$!MPI29-@NjcDV!$t)WBI4`@p$2PL?tt%`z&53=x$WvYeeza+T<0KQ zZ2T0J5T{V5ED32stvQ!ps;2=s!>4!EVSqD)G5%#GEA3r)r-wTB@{WS%n~Ww=X8%VAR5fSE^d( z&hbfBy6Y@l+OS%QJS7h2dqAiK1d@k*3K%mNpSkYXt-rjX{n>BqONk67*L&QGP&O0_ ztrpwM!A{l)S7kIK^wi2(yTij$s!1vPhde{Ro@@fq3h#19-?>$w7a!UN|h%80w z_U#CjxEP;U%ITJ}hc%>ZCI#y2m9@?jcvqtRaD|yyYlTZl%ty6n43Qz zPW1h_@;Sc9#W9UQE1oQz4V3HQLpE8aH!R9wKlkIeSK{krdE|eb-Us9)|8$|PnRqYI zxv|3)=sq#R>272BUn-Zg7<9f8rTc~GH-SFB&c~#o3)YO;bwMw{#ia>S;*zxFGDLHQ zh*w8+q$_?)+Hhyd(r}&D8tALUQLO3Swmmet?~ysz6cuODN;8a{a{xQY8N-V%oZZ2;$XU&tfRqV87_uPR2siT?ouU%Kj~a-&8I{- z_ru919IU@A!c{-&ArBYjU&jl$QxyJ+&cO5;!z%M(+#LlJ6vq+n_*9LJzi^I&_!pXL zno(>q#}kxR;8CjFZR|a6vM{*R^<98vY72P9)}DO}!c#zSRE(^I-EywDj7`7fmY2a7 z;gUjEMEx<_>XLB_a`g%aRE>{n@+=}jRGyVK!wja~PG^2fG&x#0R@tM?nu6>!K{5|s zLE-%yL~h;8=M(+lR*#mHtWO;Z3!BW5#A~WF-VM^;jW86%;z`uA$d)z0NL^41x|yq`X!;c#GLjf?L}NE71Dt6~YK>9JIHKw^HHO-h7*{fm zG$hAy&{&3a+7g~d4M8QXax`CjF)E{50mn6$e|9gB!@(&XZ10xC2~dgi4&1!E$tzJ` z@)YSAX*LdaxJoU44Gy&$>?~$m+W8i!@2WoEsHKah*xgAsk#{!EY!sSiGMLdS7io`= zhz&~p%o^yt(P(C;wErlys}soSX35Jf*mfio>fJ= zq0@|8j{p)|Y_Fy58>XeP8B9Equc>7u2W{Chn;AhBS~iSI4SSKUyVRpdj7EC~XBoq4 zj?Zbnt_M>(%UD;=^}y!&l+=Ts;pR{eXk2eZTtPRsH*E*1EI?x1m)BGTjq(iu-u#xL z9U!L}y$MbooaKt4&W-Yhex7S-ksbWWRS zJ<6(RHpa?Zz*8#3Mp#KriK7@^8ykG#G|d%w)y`jRT%*=w1{=I_$50P^#$9zipz3Ay z&*a#p+jNAZktX#MYmQ+Y(kwW}JIiWAd2e5?=hJAk(pAX33`Orx?+{=N zFu^64%7V9U8h~|)&=`Z$70=#G5K8P=chI>(X|-r}*HOD6T;IAeIE91RazfX6Z?6tK zk!S9&drDr@w^!(0^}Z{DdpdY;^jTK#M*LZ~3i+~3BSp|xV$d-7lwIP<{_Z<<7L0qc z=2#{_r(P!S7`gK>2&hG6a_2cmiaWt16P~kymDbML%DP&tK{Aa~XrU$1is^y72KbbT zu#S%Obr95mTOzq!gS{FF+aQ%1P9m4dk5;m{yuR&=ks8!4n1d}&3fC~flR#MiEl|V! zh3l{t@-vOrgZYfER@cL51_xrk@8uH`IiOH^(`>AoCr5+H+%QRrSdMe3>V7%N+ZRq5 zWV$J5hVflw@pR=(=_LSSzNT=3UqL+?(CJx3b~y(`sq?k`=862v92%y+$Yxk4bge3U z_rNv9FK>cNM7d?ou}&c{D}zm@&K1jC3Tlb4x$1D6Ls!}lsg$9~0`7HeRgB1E z3t{I;QHEQ_J;daE$@x6`S&P%f30c_)$h?-CvK~;6B zR*&%2(LBSjhofly#dP1RF-Np2r4Q#|xF+f%TcdGGs>1}C{z}J&23ltj84fcIcj0s} zJ0AG84(+(PB|>InV5^>6A#*kYwqMeY5fBtmWtdy|W|~!;8j7iMod_9OO5_SB81QH` zi`LO_68#xUEv3?RBd8zED|UE(Wvq#caGaOJq*G|@UIqBca7E<|5GQFFYwCdWBAkln zDqT3;cakln3dGbGWbkP@Tns2)%gq$A`JvtboZa!k>Y0=IO`AuRA-X(M>cOc+@ss6E zco)q$h8xDlRme0ST44=?0uy51zEv4k6@2_NX6TAlkUCnDc3|jTdj%x#UYfvZ)X?Bg zM+q-!*Q8Ylbv$Z}axcab+ zW*-OZ`QSE+%k0&XRCbEiDtJjKwNRnT^Tu6J6AoVMS45ZVF`&I z63woEL7FZ~rkLLARS?eWq!Fs*bu!(_P`oOAEw)U(Hk}hy`;3zV->e8#g%4EgQ!QG+ zHG)+K7WBHt5*3%v+EHIkg50?>&1+RpJtTomy^5PJ{Nd!q5Qi`YKK+yGM~o^7b__1XxZ_UX%GQ_pglvMWyP(+MZ za-S%Tq1yu6%pw5B!^NVR;VZD3L5}8UI{YZk(g|1AT&X(DMr=g1SXW3FFqm)FgHf~` zZ6-rpp=@q%L!`o@?fM7}7L#ZlKkQ?_CjSgd!KA%#8)?d#7Jpse)K_Cj%}5UjR1RTX zvI`l(ygH$O8<8VQa4fW@QWp41q7WwQ;$2!M_ex!Qu4U>iphGO6;cPZv)4l|0w~p>M z^UaF?WWS0Y{Ai$wihpUk>h(u!C+Tk%ern>xNS9U#%rRU;utPOq0-~#`1Z*^e?Pa)% zx4xP*Q1KN80gypl88jm@5HAeBivC<%Ud5fd&aV6O>dv0Z*Seo4D-UqYfy3T(F`tFA zbw_r@j3r$r698pBJ(CYhJ9#Q!mh|sbzSJD{NXD_Ukn)PlV?_Bp%Vw4HS-wMOJem47 z(hN70@Z(fQ+Mo+(JT|xcW-{<3$s|{#R@PYhc@s-TV}QCIn+m<)ahvU`F*A*AajvOthvOYYkpQzOE@Ju#)wF>cs0T@_R3 zv~(Et9WcGHO#d^}_cD=+P5E7>*z}rqxy%9W9%`<)rJTe{o|Y*}ScA&$&1T&aRR&y~ zkq0p`Q~CWX{U}y)tt#T-lu`6l{d6n0DWgDL2d z=m+A=9$0ea85&+?u63tJEQ?HHgvoIe^3$cLj1btKsaH?Y|e>2g;bl^8EI;Hi~?gJ%86E0@mROMGI|4X+B zcn25!xFT?$pWF;r(P)60YsjD2AJL;=^a0+=Yj$+%k9w2@OSyu^gI*85ocMo`G%Y85 zb*A6{98pT9{@WUToD6zw)&~d_tDGS=Fh5Tp`g|cwfZA29I>;9^JVOdABj(qrtEzpU z=FOp&$kkxHZydhW0~0{^ziW!Z=L&&UPHF_c)TzN8oZHfb}h1m?oWXnR%+BI#tsm^IEp1n?`b8vB@#lx z2gEZbQzYENsbOE-&!aIysQ6zuAQzC-7@>oIfV)|;(Bfovsnt#~o{%-9DG7HlAmdDI zi-BNMBNkb{se!h8z~OC-L~^Ly84d;GFSj}uS|HyANa2a(+$thz+@J1Aw6obzqD!&s zrj|6#!1nZ{uWD(_jO>EE*wQ=&QhJ=hlFQPgsj#XBxw#mUr2@2`HrJI1Mx(6?mOI|& zr4G=)pr<&s>YIOG@Xz*`^;9xz56pUXNOupt5>apuYADHe=?cGV{YXm0{XML)JnU(a zw=jJ=_8MhVbj{mX@y?fggoKJ7Dq6px^MBpu`7{(~bx+R%6y8SGE^+XonHVl(JBNDa zDSQ!2i%2(ki>yd|YkM@o1#%w`5Hfv(7`ZdL5~e<_c+!1hHJVT=fwMte!MP>0l2`#X zkz=Y=c%2Mv^Z8y`OA44*Bw#EC*QJQc=-arAR}F@{?YZ%hS#AKdqPILIw_(+&jb7Ms#Gzx_Shv&c%Ewpxa) zS8;Cvt|d-PZNs+hq?Jm^8`r64Goz|N;rQ8PKD#qcFJDy{b_ad1XR>@$s1cx)R9;d=Bu=UPZV+86FJxf-OSzf!Fp+(@3Q=~33WTxhtv zw{d?7nYYnhN=~ZRtvTjyqdVhX?{pUvSnvw3nc3soo%1iqt`26&G~+#@i+f{_*rO;g z`8PO9oZ>_<24BBaoM!bRG4&h3-jnn(7rv0HTgdHjvNHWblJ+7Ku5mbhOpNiH-+lKT z$6Z+J;bR)*?>bLuMzsxMmup?yIB4g;fbyr;0@)=x>7D{h@^e-Tl5KjIc$CN?y+q~oN%xsnPZYpprtr$!6S7Vr@5HZ8`P%YU=Q>7khPaIk!ENb4EW6AiYd zeBn-0*-oRhf@|B!8XSnd%H`VBQcie)D1(yA`P?pu-A?wUlLetWpcr4>EZkC-5Yg;C z{V3jET+go_2C8Z9ZuR0Lac!5CZkxYgV`Hrr>;;1ldCE_EW2?I0e(_oGsz#O$Iv~hM z?AW>Yk=s7qhoVPx_A#$FWK73i7=IDF9w!>bp80;!i*!5PUa2#k8avf~sRMMFI_Y)s ze(^#6Ny>~gV;&MANRo-ogZv{}zn1)cT1JZBe9I16oFyV<#FnZ>sjeZ|lkWruUzwC{ zQO6$xx=nplD>F%YpfG8&wY8K-)9Ns-UrrAQ)$}^`L7X++$=lm`l9yh*597E=DpE9C zh0FC|GmHMT!4)j!K#g;0k~=850cuL8ct@9t+toff(x1A~52f%#;6rKeCeDrY{U9$j zjGf3)u+G=5jva=c!dCa~vzz&RV&=ik%u?GD?moW)bE}y*+Ozhgm;-`emzSb2KF#A! zyu37CZK*pIK&nsXLnQ%98N?dgbTe5; zy~i?+CpVK_+yRP^pB2UW`4sX@q4XdmFudh>oEqCc!XZ`X;Hw{Wy|1O>m$uDi$VF~= zLSxVT-h-aYv<_WGt>7W7!PNo6!=DC!f=~r`X;szy+S!rp4=(% z;M->$oTsNxr|C;bG2l?n&1gMel6Q*{4J!|5w2JFEza-(!lEV-JAzYa#?ZQ92Pwqon zf*TThU0hL`Dh0JdAurn`SQ^B9dG)$VRM-xYD;A~N6hbQ7im=s$&y3Jj%xS&Q)nws3 zYHxz%&N4H&^=Z)|FZ}gsQR6rIezJGLXhhAvM%3)9*2%{tFc6`CuUodWl!&iw8|p^T zE%rrkAS)7_>i4QGU|uZ}H*WydB5|AAXkB_-x$xXJ@=vlf>FDGR){f&u+lGA;A+WS0 z+9;Eni|)m&CGorEqI;j#zRroLokv4m*-eP4KUPka=8H$^&==?J*3Pa*+H_9MN(bjX zoNK$X9>R0@5{cpq$c7sQl`K2$9zr?mk7DxB`SdGa%Y5{lcGh7!a+RCdkxkOifhS0l z_=@t_l_~krX3P_*@(@T~B0X)}Xs)6DpolJg!G4d!q$vP(x%SjHW`u(n3Fi_$?yKzo zF5TruABIaPF_hq38vOXDZuUM9F3J=m%~t?Toh7r4wuMDKt`IC|&7j@*zL^nq)2NCz zqdT@EkXuY#5uf}}XnUC4tEQVyi-{Wq6jeD6C*eAbQzbkM9)7ThkM3{GK;IVg$LSKR zfnr||2<78txPotkeb3usGE1Eg{{QK&{G^q=uc}_0u8@^EgBm4Oy_WhrQtZGju`ZrI@}M@-G@g$UK}Wr@z(I5E5{U9f5+A$TzrUf2ZmC){$(XXoIjV=mh{{}vEWA8p4@JbevCrnWhd(pfV-stM zZj!HZ0Cx>u)}i`kUIkrUxqR@uSLEL>B_MQHsXlY#pt?=!ztjj7v{FRp{nKDzSZPt(vX0hx@Pr=ra9OqC26)pxvV5fO_D7= zOwr_IENV`$!I=s4+eDS;8YzBh7;PGd?_JPOVem$F(?jgdBA7`fbyj6Y`$;*yFPAx=B({`?97R?#e4N5e_<=WscgM60zf(jOV0D-l~erS#Q0 zI57#$K1rJJ-yKRynn}_{v+_%_XGGS^$E=_yE+P7AcvPxf>enGNq?)SL-uO{Z`D4xj zPmaIISKb__dF0fM?1AVcS-hDT;&;cIt`wsC=zR}EKUs1$A6(ln!~1Z#3Ntr~ubT+@ z$r;D~r@D#kZyPDcu>LLN>n;;=N+@&peNx(|@7dEM@ytNhVUT@ZgQ~E2tKXEqM%c)Oe@yBC32VS0Xri-38a7X=}GF&U`ZS;=crxGa=9cUdz$Ftc|`VrV1ubb9w_$2xI#vm zDxZD;PTuN|AJcZlE*@&A-0n_c>3*RXLE0S#(Pual8a%wy-p_GAtnJgg>%BW%CxcJ@ zH=a)a0mWSkkJ2Ghp6>4~diF8=!cqJCL%}XDzK;tCktdo2GjemXj5TcRUoRfMUOdF5 z6NwO9QEE@p6Am6!w2gz5P&R@%Q@>##+fh~maCTT!-3$8I2G~=`&WVEPq`2N1t1Lz) z;@ydBIpA|M8S?H?Aj->qrCB=8|bQ<=w%+oRr0m}TS`wzPf%D7YMHN_8+ zQ$4*lE4Z@vJG?#Wz$t-ux1_J$?@Q-))=}M^0F^ldj79$+B*ivqxoi* z9=-OUXa@lz=ivZ+14Q;a8*WVYLXyp5(GrrlFxd-9!ar?>lfiO0yF*oCGLw8glc6Sk zY7&lWs%(S^;_-niNUZM*Ynr@#)>4t6&fmmSy@WUZ01UXZ=kc z)g*qEYqLAfifItSw)cGH6eS4Z38tBy%$ZXlp_Gdwu)ZEWK^iS#!5Otma+B3 z?AZALX{AWHm2Qym;(LD;Sblw(Jq5t#b_0*r8>;4RhQ>WoL8m>can1|Y{-~c%(e?}k< z93(-+^oQQB`4Re(A92U=kGzh6?rk&)duP4)FX~YKsSVW8q5N2mlpuLJM56We)#4r( zeRL6WfIlV1)G2=YMtFh&(#PCaPTMnTyB^~BDq7Q@9=y85TbIxj!__(*_dc(~852KV zU-laxo?T)B`;(PG#qq*}SP+0N*UK=xoX?S_Gzelwd5>D0L^AoxhYx4Jl???F@|UOQ z?ol*@t2i&@*?RfqVjj)bui1cgk6?25D=!+SAj|vBw3k4ODWX5~f*{IL^W}2BRKDh) zzOk^(+^jylp3he6VLA@X`i1$}1Lrv?{w|tE>lHXSIJthci6-m*>@r-@aUcBlg5350ncZX{+pm*~T zSL@3nT+*$;==l2j%K}zQvBOk@5y-iThw2$daESgPR=^>=W69>`8aX`L09CX&3#Uy+YtB~J)r}q2|fp8fwxU6Ret$CaLX%=057%svT zapu@kgSKJN;4|fdO=D=puZF8=#B=Q!zlWAx+6-RhjllsE8D5CTtxr9D1!u&a2DJ(> zh4G262cpfZXf|Aa`Ej`ZU`&N;6o;Ji@<3e~8VFBkwEACi($>oTh|fKJ5XJhlarn7% z7yPxShk&&EpNdnARaJvr$>*May3|jsB7DD@jVRvfHBPq<*`!O28(q&+`Gpx!XdNm@ z!Xj(+bPqy0rtM4!JKq@VKz`6%%@45&x$)TW`HuQlGjtI}RZN}KuCO&Z8E`gJj zDgf4Q>IV;V70J)*Ibg5W%gqSRu;&YH8zqyLqYc5$*dyRvyPSV|d3U!A?{LgDG~BE1 zprgI71F6&=AHdh)W0-{(#;LsYBBix7hF1%tQXhB8Mv#mqQ8;wTp)Y7vj)+yMC|E9N zJ~EsPm*LCF7hf{)i5^EU=X3%krhCZkyF|SZWgk`0GsB28r$8p>Toq;cg z(b6GLSr?UXq}@ffuY~{@82^@Q5Q4*4N#?URbU$nh0@TSh^A10Hxm*svXu`+t z?uI6oKfxiMzv`F}O5!neby999AL@fx)d#Vz4@e1x;BlEy$vnT-+O{>6j48_rfPu`~ITiU-X9}2}0na$=~?v2M6 z+kA**nVVvA3@tV=Ax#vO4HLu1(A+`Q?8qEYhT?y8JDb%4L59#6017DBbf z)kQy|kREGB6<{6fn-|e+?K92=?BM+F=iy`%V$T6O+<`van+|zFr;R*gV`HB%fWC`n zA8{i=jE0*J9;Q9T+T{h0yL&A@zc%c{DmaXj&B@%xhYeZnENn87Vd8@B!c*P z1S0w~FB&J&N^i|(fBlgUg)UHlHGVj`q7+II-%KaJy*<;tUD6U)+UieVk7sI+SBr4e zADjJ(r{3P_GC1j7LeX$Yfn*4`llf-7*uZ!HIh32*`4tw#O-DSVqECoC1(qQH?b}P{ljoo40^}eGLJBFoffh3vMD3CQ9 ze+*9UVd z9?O2P}5Z1CLf2hAH(S!H%8ddCjgZ3#)ne3 z%iEU=n)`(hHQL*N+Qo-2xYEP+;@obXZ@nm9?-X$N*;NhC~bkd{=nBUZKCjmTSssSO+5bim$ysW9FxzuKl#ho z8LhVd4BE`al6;xS{eyPvvxg>$wl@BrU4x|Bu zpRX1|!zH|quJvccs@fATR^&9OwH8Qek9;_hmy>9Gz65VFrMfXj;z^1R|Mp@-JfcEN z<}Cc2e4L?y1|)e{-0*^Cp`HBncFI1fVv2pqHzGdkoOCc08wPUfSJjGk0L&#vv~ zL=m@=*ps0^)@qH<$PQH8(Ovron8a}=8{%k+@qD11={zTwpKldO-Gspyr z#fK2I;tBB(|K&r4W=b??59urhWlmW}chT%8ifMiq-qH?A?4v*Qb;TOE(OwMMc<31~ z9||v`&*9`XCLmmrT)2~#6Z^Rj9XTsZFCkw|DE&90o9R%%v+?{|d&Z|h zcFfZr`%nyM=hIrp>W}`+hZ;>B1duQ=LAs#sVlU$3vhmc52MKz#m*12Ak^J=b4wWhC z=lu2-$Y}Slq=Omny?C6B=2PtXAz3E~0kRgcK~DN+-oTZPyy@(AHQ{J!Pxm_?lC+mW0lPqH^!113d~^4q_lIk-hONh5)M#_Hz7SYh zk9`QysZk6A7V+pF>*hY>offKDH-K9MO|OXYwYQ7A3~gaFl{PkB>nB{^q8#J;S`<^(TM%*RZ~(y^HIiaFrTs% z&>l3p*XK z8u!V#xe#|R354XK4+fhh=H&kS`{i))LA^-uFXO`!{#lfu533Unow6SfO2^Z1N$FkE z8;#4W15S^XrCuK3?r;c~zi{+X{fzGvAqx~@kYsea%Cel{ZJlAtd+|B$$$hsj|s zejCv3FMJ))G9+ZAAc$~_sXy|4O`bvYHTx-GAEw(#`FZ-x1EG7UsJwERmVO*)VSpK5 zczQWJP`)v?C95-433s&hbi;A3v}eAYM0YbfYG1*4KQ!i_FMA!WJb(jI1+-6emWpt8 z5SBrqFkTEtA4w+P(1}O;&esW@sRhCb{&qJE(rA?j6n85(;nD*%6L;fFUq>g=6b^Mb z{WZcbxoM&a@!9nupoeCg{bJXHuDhXkE#gooMploEi#-?b;+?kTIf@-Z87 z)8F21!NH;>-9b^eQxdD`qk{eN*Gj+i+xw}wvl&e`<1qcUKT96?kfyCfX-ZhbcasrU z9{V7WUmiR{L>drYzuR*RP`mQsq-GbXpy1f<3BJxKG9o5`OcSD!p`cdf=+p*Gcx0{| z5 z0|LMDK!8I{IPQ;e_U+LD?ev=e1~9Us#BZ?IQG=BS%o&nX3>W<|J|x%F1Wd#vkuN;} zf`Do9YCevPp)k0gg*TNRC_s+3RBA=}Qf|vvl<)<9!M+~P_&f4g4VULPe?$*D4GVUx z0r2$KJ>>pmxGu*;k=}w%(UY{Fzoj7BjD{ZIF6zdc(mXeY9;OcmABRWby@^pYu zV>-VjeEs^%2pPmw=I^)~lz?bY{fz-qwD5oo&Y~GCT=Mi~5dz6=%+~}hbMH81k7|uU z?uD1N`pgUBXoHFp!s(t~Dj5|23zx@Gr!+eKfFJZb2I+Ffi` zA7sQrEcY`dtSgK{{T?Y{SU5{~jde^kKfXrli)Hj#0vFp0Oj6Ff8+d2Hs=S`h*q5EA z(=Z9^7?6gY^|h7p2DTuPB1X-2lRV^LnoMe(VQxegxHMxM>x>N6#|h4d(L@%kCk>WYNWi6eY)xS7q#zb+gPU~mw{ zRMdX^BO;uYnljl>oZ;&D57QTXjuPcIYFD)i1@Q-2&z7wa$34M~Q#kdQ|!^7CmedRZk$TQtEpAw2g41zR}3hvYfe z+UY%3h}Xu|(QfLUj9N~ianG)fK~dNQAcjLe<=w(HOsdc0Z5C&wlee z{2Q15G)91k%AtslPZ*>P)VH*?y(1+{!9mA;fU{28Pcp&n*}J6#D7Dma;t=cf9DlWZ zU|zkx#S?-8p!on$JdW$&N;0-keK5)f zGNunpTh@waIS-%unQc#pIkPfkd&Ihn1==d#yEmKB$8Zhnf=HUtRyi-l?ng^i8rZAkN_vV6XUcq zPH<@pFLo4xE6GEy)|ogN?R-F`V;OQ~$JJNJS5yQ#BXLG}o9$(mvKX6qpNZUHQ%V+1 z_jT-Lmk44CFza8u)#{jnx<^!Kx({bccGFUwvglEKi+P5^Q8V0OlB09D9899s`h}}Y z8fX0u-4`A}ry20)$k^HdB)8i`H7cvHYSPc;?NAM=6jDu;PL|TeVHvUzO70?b(HIx7 z*RLyFd}c^mweY=zE0qiEZ=b~#<7xg=mA)E%(qYx-`Xgk?w_JRxq17NLslpqsM-}l( z{YdIk{&bXZR0H#Pj6@Vo5#Q}8Sdm~ZufA%avOMsrL6bM`FnquVUuAyH!(xr7H_Pcp z-+$y)BsXOr90a`6#r!1opm|Bj%1V3CI6B{kB&p^Q<3P^bnR6*~eg(p8kM{Cr4V}1* z?~V~{k-XYC>+x)S;qSnobRY-S@lf!i&F%FtIX4$iJ#f_r)-WR5)ZTRGh6^L<8ZX$REQyeNA;wiVmS=*WK%Lf&{9K_KYsODFumXSE~jtI6%nQ zhBiA1u`UTIu$3+r1dG+BVRA9u47l_Xxseq>hR#noRo>tRt-(QOfUP+*L9n6xzRe@+ z1X~+fVf{iq0!lZ>?6lY2Tr-e8u;ZR}DGla_Nu_|=LlzcSvuul@;}lEgoNFXiifu%R z&5m|7Y0pFbM@NewV4GSTf^8bq%n0qG;NtpTtT9O#vgTJl49ayAr#xdbBSmI%3j3*q zkv1qWLdp(z5iP?0xvbog4OMSf0669Il}YP35LxDe04Y!7;A*NWN5Q0VI~A(ZWcEpz z^yPdRuP%7^b-WzI(CB@K>_=H$4zs(&t8B0+nVi`ry`wJU!CU3=GWd{EK8ds%BF(l+ zOxo%6*Xn@W0J{M@T_hp(B8OWXEiTJII-3-MeS=-;r^QRu!@gH)m#a9_-`V!@BS+9I z0%@J$vN64xrsETD`k7-Mc#K`nw8Htl<QZu!+T;UIR3OUc=xr zOw={#=Zbf%0WQ5I$h-Vt(JrGjlzVNV7fH#P-e!m-8cj@bNgRy}nk*S_VA=$tM=nc! zjmc>mUe?7#4HVVei6%&Re7l@;bvNvojVx#tU=s))-5{s1X_u)%Km}eC=miJl%PIpsoPYcY=Vr^ zUfi4(?~GcjwKV68c*W}m@)|JD7J!+Gx+VyzUnO`}dQ+#R!W~{cZ|sBy-^es9pb4ra z0GnM*tHlH*Mah4S5>R+1q+5Wn>;j^>$OQZSIyCCzN8wF4Oy<>lg++$4QkFo7wHXW_rqm` zf-6+HsUcK@TCouzWAA`2vCzWa`|DH%P)3PeF( z_+6(-jCM4y!NEAx80rF1l{;f9ieX~45=x-q9lkwQK1AUey3QTUXLO~r9!4|p?P$Ir z-xQ>5S#EIogj%_~#3?vPWwTh~Pf@TTE~u3^{|v8rzC}lFV`}qElDpMT+Rz zbE>_p9X|Jj$Qv$9mR_pvg&<=)5&S;Lv9JZ_KG2}Tn1D z&9NbS6(@vH>~*-~U4@b}KFxW!Hn@I=-W3ljn&C z2W_{kG4?KuMd{cH0lv`QS^s3Lk`8l5vYZ;D3JwPYy5$CUxetm<4QSJ+p<2 zxF}MmH_teCC(n&9ILhRm4<_F(NL9}5mmi!8Z}a|n;+o&P@jJ_d$E^xeAi2r+ zBRZFN=WUF0+uM29+OE^p&V4xX%AN9%ePaGdgf;@HZuy93CEnb z=i6u6PyL?za2n0}QxHi3$D76V0Hu`i?=^}yqKygCFrRR&rq+$wD_K1TL;UXs|06r9 zHva+*+N99$A^mH2N&t8kRx|-R_3a(+b=No*W%?x~`<`pxOf1v_-kZ&I3eL4`QKCQ* zRs7M(>oVvOM|RaLe^p9Ff~A+?q6ZzT_qyAs8%5~J#+`ocPQ;k0kft_Si%AuX$yjBK z`C#Q!4z5S z`$Zwh;__1$Tbc7cO`N|Vbs~tIb0|84!N!I!K$Be5LAzGaG+P9d&?xL$MK}rP3W1hJ zB8%Ho-OK91ePL-$V;_rpS%#^Z-rWZ_&;Pu9?W#nSzmg*F*TW34L7w|ER~#74H@0&sEL9#o8d&96fRl$ zjX|n15{p~BliG7~7PxwY9h)>Y8gT+HOY2_@VJ@J375!qK_>a!uij z={$aH?3@G7zl-ZZLYxFh5&N29M-#OAwXtJt%@y}~f~!7Ya?DMKlr(B=K=6f_L^q?w zLVEomB{<0t;~}0PbMPIXbn35@0BbxMia6A#Yr}OjVjZ!uhDd}b&v7xA`a|I)(r3W{ zj_DCI&_dDsbFB}3s+By-@y4HYW=cDDI#ws}2uuBl`PDUbjETMqvzDf^Pr8=d)u1ev zy`H_ea+emli0XW(kkduU9S%n&I|M~M78Bc9_=(w!1lZd|PdK@LO-{N$&ETTTR>0^p z?jWKwe%jf@|BZr^_<{T*ihqm$L?=h_Z~4cK_&pZ?S&9EB2RPQn=?lJ zn9X{hxdX{`{!z$pzHl#j-w;}F1X^SIK>VFaTx$MGG{2$d;%{&BE76?p7_yC%Wv-N{ zUjdZ*P1m@()B?%_CK>IXl2s{;=J`Z&8h@g2TE-{jD3Y+6=tf~1&qoQbiH>qVdQKe) zLW*wq@9gnY`|4G!6acf(S^b~zL7|N6aD0VM3}`4$6urj=kA2s#~jD)Q;y4S zAF~{{&*K!_0pJXk#YcGi!TXkv6K+iKEt>)|-$q`@fAqe^Wrhc5zUIj67wW#}TUg3H zZ=s&kVI->sEy z^KKotkmhODTitz4%(gGGXK6tNA&) z7MV>xD?D`T#D8oLW$t$ z#``vcps@*UH3-@{fl0U~R60=Cj{&=aVzX*+c8Lbb1e4s(c7NT*^cU)G6K4crlS3B)uCbBJ7P2u*{25#Zf_%%E>J}ZnCgNiJd8R4Qm3PdCw~R z1>ABtD~U=b9zONZUe?JCaLLiu?j?r?MP|BOh;Fi7X|wH)W$4mfN10&TTEJ5g=?vs8 z4ZBnTY(3~rqb>t_DDk4nA*mQp4p+|*ZkjBdB1~h52lDV$y**OCF3KjDGjYz~LuV=| znueT`x;Dy?*5q(78d}AM>LYE!ZV+uXhh~#>J_8|!BMLb%>;|<7O%7S|B9~&3sHo#b ze6(wjFae0pIeJ8RP|T0efsWaT*>F!vAd>89I~`>V$*=j*X}jS8m&U`^ed}`)rr1sR zos*+18iE?Clyyq-dU9NP-IbT$!jgcM;;9spp00IULakoU%~ewinmcJV6d7$nRPRET z2%$vF!p4-Wvid;1$fu&ddPmLzAq@;5EtN6&v>Yxth{?&_u|cJYv7~+CekvIQxxpkT zz@aB&A@s%+MJ}E5;BQ3f7h{)~M32(+E9Us}{m5(!r4d}jN=cOu*$P?uLqz!)8-GDs z;zMEgEZrsUrVQu9f?Y1&i4V(92rj#-bvf--5m33mfBjRvoh=S6!CYfXk>6R0BU( zDf{Z+vZ}^Zho}~fX@c{dg}JJuXPg0>z|dXls|JdR?OWfiszXFx8FbLq8H3GN7do7A1k@zG$2PMtOh`JhigH)Ch$stHGr5}0I3PwRCo=br_?`c z0y_m<6UdE+>!E4&ug*b`Dd(o;P>8%c>_+otR1)BJ;chw8^ReRJV9- zud4>>lsBsB4u|DEi8sK&X?-5&1U6)>$mzw50I$v^s!6&5>Li7K8lpo2uSuhgyrU7u z}00i;9IzBFJFm&YDb;Br|5|kQ$x9#IJNBEh{S&0YRo-%h+GNBU&#Q z3q0B|m-l%LBc#}&9*bf(rCJCZIY!Xpo zw(0Pr$jX#(aU*M8huoksnU?$N6O6F)4eF6c%Mm3K8{BMeZ;{^=<$RF44GmBO4LJe% zVIMjJIWkdI2JMB@Zc_Gs!ico3zLIK;t4Z;L=v2P>L58+FBvS+J5SEI68``Sq=2^K} zf+}}hCdFZO@|Nq^y4tJJvFCEQiIsMUl{TEs=4;ygV02qYcN-+o;y<~r3o_!}Ltz&G z(lj>FD=o65SA?lHcR;4g^aQfVTio0+jjqrW;L&Wf<+}gy|ghgJ1)?3CZOF50G$yiy3vuu1_Hv zoz>>%$071WeSSCm0)gEbQ}!=T{^7g8&q*(0r}HS5j75GYouQ7e2}k)fQS1+qLy?nQ z6v_Uj#jRP`XA{?fdqMg9$azmoc1T%d;(I>rxth_hVD38Y`^2M|KSoC3Z=WGM z7iAU}Sm`OlcaMc8^4d3n){T4{Q8e!UTZf|UWza?xK}Ah`=qtlW)oZ>?MV|gYZ z>*j8xjnmEZ(RZEUKDwiEyIf6o({+|x>TY^>yRh!4Z=_+C0gCB`#BTalTy2vr-IYy4 zvv`xOo0CFwm6$>X^I*^yc5*g@r>ToBQM*FF*bSv8p z*98Z{yqIFJW9E}_DAA?zVo?2!0-;BY18t)gR5 zk@dU3fl0M!$D3kG)?JCntM~g5kj_ZP-NcmI0y9RyVT{rl~ z-T&9~-d4_g`*D;Bg2L?_5$NO7z;IQ;1b{OvgY8*@8B$)_!MOOZ^P zjjml67K!c<6mkGjFM!D*!V17d2=JRQ9%A?!e}v0J#Ep;V$g(XT4?YZM<4MRDgUI=T z8qYmcpo0HMUNh}z>*%SATno;gl1{Svuq#cwz*9JQ)<9?oSlBhUzt z1R(m+vB;?d!e?>a?3BKen$`>LQ!Zjf2A92sl%UMG2$H<|UO!JKsI@u{rg!ysI@-tU z&0-Svf9Un(c^PHN_}L5Hc8oL_({K zq7^4B5CzZ&Yckx)(VwF+L;hhvq@aJOXF4MA@X(Fs!A;#eEYb;c+|d2|^?-`1Q^n6L z9JegSWqol?lsjqh?AM0C7aX8{*!br5?AO0G_nDaS44>atvR(kJSivHf2CkakugPw~ zLCnI7wct7_z{0BgNM^8igxE)RuKoGZma()O+3S z|3J4=ryDvejNzeI0#4#(sm*7?*H(I)#5r} zhI@bY4z1}ompP*3N4L>(wPsk;T=LRF4AE6Fjes|f)CF2q0gU_W1-MM$2MrxYZe=rKt5bXCDz^}-&r+8<(sRo^5gA-%(yQR~ z`uygPa0$K)Z^<(l-oH@8=wP;n22H$d_eBLI6;~*V-=T_%$}Y))EquBYNws5s;b+hvCE9etS28FGw|1C>koKbg zZW^3`L)bLL78*Q!5uA|Dceep=pucw~({MUke7U&)DL6$!*VSOo6k_Aj0i5=y9nqjO zM&7g4a)e+VI8YC#bg$aEnXd-)9N0r|9gLvBD#hEK)IPtWQ>Ze%3MJEuKK7@Y#(>m} zKX5wio^!uX%lw$rt)#fLSV7m(@+Fgpt7u=*cPx~G{sI5P^W6Ogg`*Q4hSnZxiO{)D zNusyMQ7IBr84~3fRghL@*G?Ykm|DmHg$u;Q3PBl<9WMOHZp_sM`*Py#GiBPyLn}V; z(0aS41L*<`jQ>z#Kcw-)pRXmkuW>!Q8nTS&{KfrP<>Kn&44lA4ioD$1qeY47?u4z+ zf3X%q&LZZoNOmO4RmeSvQWE9|*RO`FXhedKf1h4ot>??(UHJDK$e`N@scIn~Z#wJF zpE~!e&UDn7E;WI`M?0AJct+UXz~-&k^1|kg0XCno&#EDM)r*CAcUWmWqsh(%ZRUSe z*g9)hEC)X!U|<)R$F}1?d4VXWgVXDuv5&F6<#ceyIUV24X+yf|LDmR?)1$qX%#}EH z>7>dwW~HU0l^(i!4xFE|KnkRJGj_VKI`Ii~d^nqK zY@rpJ1@>;UBXFoZYaS0+0TKP)cdmaF8?Y4XNA#ditf!Db@9_u&l$t}_G38pOaoqDh zd45a(i9#d@O;?KpCke!ya|}Swv*<;KXjpbl$k95GD#C$*N*rT8=%gi1Z%GMmu~>hC zuJ9971yiqlfsBRDSRM?zZ3*(w$(iHwLn*?Xjq$5#hyQu5ZU zI!#iXf z-(Y*>6GU)$-Jh+)W-??XMv{)w2s9@hosh1gil!F2d2SpkP399-3o9 z0DrGye`aZ)P0SC&)d!83qKo8lVS7+QMpG+e6G~at1z2FF6D;C0K|KECag)eZI1ua_ zL!B9*OS3xaR{u#KU^=abH}Jb4$`!FW`DYPOjtHnw>GA7KcxA5V$rFWJ6TM$Qm;{HL z*?c(;m#|*KaJF~UOiguw!~)Y7x0Cr03M*y8)s?qQ;d!f66zJdLJSMNjbz5x=m=#0X z2@|R8TK~5ijhmT7!8ErSBEg}WQnw|~zAmYi-ZWmk)wb87Ct2e&pcSjOB$x3^Wj!gX z6Ekr_=0oDSDxk>m%rKT`9%}fEz}CHIiXMR~>P3$NVq^xIV&+J7rz5ab-T&g!gj5~N ztt&~rwkBaLF!Ib`;GREQ4CybrI;ajKFjPgW=hlck8?)AkJb@aj84M?b8SW%t9sNuu z{`J(jpiq5;kbsF~z#g_c^1Hj)j6Q~Iq4XqvoNN`-Ry^6n@Q+RVTH2ljm+XsDNleZh zvPH6vs3Oxn8}4GQMH67Z2gs{pI|c|PNMR=rDqG22WgaJw9=S*d*MT%JMqE?mRL zIh@cXaxdx#Uv~x9#0MO#%}PG=Q(6px#kG9LS0S_xY7a2B_~QCO+m~?(G=uk1w%@GzwT{ z#b&gxij|1RFwZaIs4F(3WVdqex$xUBaTHD&%w%3rRWTj*vAG@&GLOoI5YtcRu0wPq zvJY%VRRif#1=lCQTi%d1;NO%fKZpk*F8RPmx=siq`aO*7<~-&rOv>i5BNF)tWa2OQ z(940_;Xj4@6bh-^E8AMF?KPP(d8P9znhlp!z8~B%Enb1ajZd~%}aE$;S0XYVBI3P@7I64N(0U=VI z)gx&8RK?P%>+@iQNW!0%Atz6HC%B}&GX(Pa>L*QG0ytiB%Ieow-=>PTOM<-x=U=y#{^kfg%S zejiF|(V2uZZQ(OF(hZK}bJSOI^7&@Af>UQW=3;9`fLy$ij3(O8IK673Q;L4ARiJ;P z35uil;in5^@q;%P<>^3WuEHajMuk|!4cg%LfX-fgZP(_@wC7{E#n%i zeX?wj83fUC9NUzbIR5u^!%j~(y2&6p^uTD`8C)VLoG{k-i_V*4+&vCwBXPl_b*@}& zs$(GzBzbcz^<_i=4WspnkPVK<5tW+{0gy|-_OO@XU$pO@z-4kgpALp2xE!pKqvn8| zx*_f*9=a>KLJaqanROLljLHD_vXioazI_(osEBAV+JUH;b2M9Q)=CF(fQO62r{Qv} zKfH;?(NcJg!!nxE2JN#44lW|_*2J7iYVgTpTeH%Uy_6*tZJO*AD?;xFQ{yO({Clg# zBwEArO5C7W`cy`OPlfL=KAnQ?(GS>j2?MjTiNMKeIKD5vIZULT+ zv8X~mWjLoh7)+-bRAIHvkP0l}Vw0`LuTq2^nIcTJ(iW3p3e9Hl?{!P~UM~v^oVpYF z`9CQpVzqN!%X4}8C)Xht4h#1N^gg0EX z%tfhU6N2LsbM%pA$OUtl6mHK4m#E4E1nicsIbt=Iq?4|6Z($+qXdN`X*BGlH9z@+m z&@htZpq@^*+zNB~B5s(;7K&!T$$_$!18g$S6EWWZ!*EEu3HA~?f2Wv5KO2`SeSd!$Fjs4p^_I|65HLRJUl%*6ytR<>Ig zD^ z2@n@F7m#u+WHfwTGvnN=>^(ngPG70#KdCK2k#asaMA)H*To&{4iUwJPkrVbQ?JL)i zd^!5@7HM;|#T zfA9~uqL5msh+qv)F=(n2wtA(7u&N=gz4vc_nqW9cL^Qx<29~U*SZU|yG$4~#cGj_# z?0^2la~#p8ulD4jzJqHA=M;kqr)H&t3mT+BtusliKHc>k;C@0r@K7(I9q>U)F!{xc z|1cR&Z^pxC!}YV@{sit={T4Gd`y35tU!vJ>-^@SF;A}l!{WccP$$x(wjy@ov0yzRK zpgD%K^>6?7Z-3jLjV7CMsQyWVS^e#Y?}F2#!|%Gs|10We!n-^gAp)c`xJdt0*Cje1 z%x@jbE0Gy0eTfR)f#4*aHYXXhK_INgT1*_6svvkkoZe3pzWe5%w9CEbTQ7lBk;RkF z-?z_pNZ-Tb@4Ba;FQV%~Rxr*sIER-Z`wuEpzzY((z?x3dRoSFr|Yik#C74cs-yi44Lu z6)sRW%dqM^J0Z1Tu8*<2NPKN;uCvG8#C&H%uRQ171G%n$!X@dS!*QMEoe8W3Gk+3n zb>{s;Z(#EM9aNtG0Ghqf+Rhh4q}{E$;B7E%nDdjZ&bfnjJm>~yI}3F6c}6jxSUX2R z{klJ^I?)a|Etu)k?sjK7Yt&6lbr$UEbDiuH@8`36%i0O44fB2a-C=hZ`?yNM#uj%0 zs%ER`Zr!bWBG>oTA{@aE82x!jDf&3Vp_;Ou19JadaCUIC)m2}F01XI$BHa{~1^#Gf zGC~yzQqi0b$wyi`XTzdjJ{?x&UXlKqU8$T|d&qMtx2yp9&nZ>pk|6pd+*&#!<<$XT z-`Te!Oj8C#f;#JBj+sz1>N+Zg)UK|Ov5=*$(<=;^NjaaDpJE=7aM)S&)X z#bsee!x`K-$W)8$Icp?KSkL1+YU#)6B^Q`cT${kGgkZ|J<3; zN>Wn%KapaqIQY9`_BdH_TC zWQ?mt@LEiJHE9nbsD#Pg^_7l!+#*Sz^n${=aA{@UTahOVW5C@n=WE!~{r%rF#msLi z_KpR`ke1QihxMRj_v%L#`_I1DcVuOy^kPalgb?b8+lqZ)m0JgwyNmX1a{1s$XHApb zplgnqXxQWc%N4^ha%=0_l}AP%@*ZC<$1t1|X!}j%h4|!69+;ZEwU+ZQeZDg+mMt1$ zDE>;hhc?Hrn~ZC-*{P0a?1t1Si-+w`=^(yq@z6!~VuQ?N|Uz|YZ`i?Hs$unJpDRN7!W_WFAmihQ@Kk|Q@;g=(vLq!sMEB>V#NQxE3Z8Q93 zb7YRZ8n+_WT~TTnzK2th0}!1aW{0Tdv!)jt#W60T;zIC0R6B!u9H&qhDycGX$$iym zX)ph>Jd-i+n52t~sOB7H?E{!UCJ?-g&fuU)#+cOEBXQ-V$U#%wyJUuUVssbe=m%mQ z51&v)J$>pF%rYWHOXH+53nQd=sd0-VG&SDy@Fhtl4-3BPB`7bR@Gcm>nez zaJ(g-&D0?ykGh{>}D07DC{?o)5@U1|aP%idgGC6(3gHtnGueMs%>9cOO}*SQ*wZZWlfKArQ2M5rI&8one3se$5f0}Ih!<8CG?VZ+5MGX-5~|H zNj}#03smop3)Y%NR+VY>>o+8iVWZ{{SI(~>t|C_2B~c3WGR-F_ z)67}I9eGh(sd6?|XFWsx6swM=L0bKbUa&rrLhJk9V<;S#Nk5XZQ)&%&W;R{2@AxzR1*#_b8)_n z{xdT=rI8q(m^Ij=bUy%TLrE5VDKIW6kpdv=7xyNcS;lNknWK3^>x#Ko6_9E!OJn4& zEQ{%cr7*nI)U&QCdPeIOzj5_WYrnax_X_K{Z3OZvHYb#m8_Zfj1%+ZmwAHLE_|m7? z`1hcqicO(8a2EJOiNsO(DOxE3`U4n14Ud!cW-$qsZO^k03MHnX0j+I}K<*nn05Wx# zH>$cO-+$s64S(=0wk z%XN{iI2lJ@H>+8y(F0+HYe@Ls$xkgnOn+Pc+_ z{iDjA{xaNVl3aSK8NK50-P!swJpfAM@AO>*H|Kb-37MTsR?D5ifnTxgtjdY9q%=MCQW2a{$6kG%vkzxg=~zw&qI0CcPqsM`TA}<(^*5- zgPW1QZ^P)+iaOMGpdF(n_XrW&go`?U%Kmk+LqH$aa?4exMm28pk=-7vUrU> z%s-(NP>(hQkcNqPBDaWO~aOSpW^2`yGg{-fk*N4l@L z;>Y=*!yt7dx}ukH0DtCN{lzvUY#K2C>^G*7s`k#03&%GzxOSodo8l(dJ-ANG;HH)5 z4|M+*k)0M^F<9#dgXl(M$HgSWwbZYO*!yXka|PYJ93We=QSY+8`Xh#b;5b!elZkQt zVTnj!)Y-dRe;9T`fFXeg-j#-JI(?5~XC)v`(ACsb%anpz_2wyHCk z0PCK{-nuu#3Dv+F3~#X}a1%^fvvU(Hh?-jL?d$qpXMWW!7z-iPQ$4&pTg`A7oULy! zMn46o3mhN^^P4}S2HJoUZ3a`&@6R3CM&-uf==xoBA7=7la1xg&)myCRi}&*}l}Wr^ zlWnhaLsgh&g!*#x{yIbfwOROy0o-n8h+v%0I(L&fW@y!c@_@p5(U?+E^I>HO z>={!50}TD+@Q#MHp}G4i-(c4r7ss4EHnn4-Mwggf9*xs@0L_54awi?$;kOoxXK z)KK*)WD4BJrC(Q&uD27+a-2$)UqWF(jgG0nNL0re4Y5JNn|!h!4#eM7GiUW@Je=Va zxcI_<;649$I7Tk$!9rA(TZ3}=MePa3DjW?)3-Rf6b=SdEi==<_#T;`*X0qV8pS!NnlX5YB3vT<3@u|MJa$ zH9t0g@3-auAo2X0zskk5Ok2mK7FapOY4J_x(j=t$`Nvl3(a>)f`#>@4yD{<8Bw z{$Ca(JnXn07Ho-y^;hQTzUlmIJ}THO3mF?j7r^3Q7jId(A9KX$!X_c0{dMJru8$pz z>v-h)vgv1q$Ls32*2gY@CXs*9Ik1=<-~G>KJ2&yHX0A``JTuYwMd#RouKldJ?_A`u zpY6Lp$MiTJnOHiSI388|>JbB~MiBceORKV*^nW({Hh=%S&ZqzTo4@(@ z*6OR;?pFja7h17aza&^DA`S+0w%gf58$nAOa3~17e^da^y)|)dS0*yWc&5o#-*j@9 zkE2PkN9O2$(fQ6=HLhpocNp)#+1jG}spH#!b$;u3>iBkF{T9Qn$yWbjOEgf}@zkV} zLs*$j+<@Fq&2I~U$3ZDyxEE@Ko#J0yJ4M!W6WOeGSxL6H9k1 z_fyxmzp$i$*{a|G8Ua*@F$y)JS^h;aJ)=;&opOUiqrr?io|u(6HxS@e`#q74vIeDR$$_P{-rsj7Ctml z1V8=rFCBVZ)ppP=37+HJVnQt55(<^W&F3FYfadRSI{&Bn$mfz#%qHxEVD<*Q%}3)s@N(M^PMk0nuS)h*I#skTsg51SOw%@QM8J-gT>B1U72%Us8Ipr3p6Rl z5Cs5X-Pd;Y%7&5s#-v?#%j`D~4~B`c^G@@kP^%(WrY4|YcJ80$uINIIiU~zWD-$Ir z1*(j#K|t0WrehqAN9NF62KS=ROjrfFE3nv`X;OSamf4=mv@NnRH4V=-bLK4lvh&yf zA$NWKqH~tp20KZSh1yi3GPK%O+XB2h$*c~7JC3Q&Ru1{>*t9Ht z-^Rdd;=tSS$Oh!VsK}!&0%~YzF0oVenK`=Vq)PGi<>OluzcOvVZUIES=4P}E?YGs| zA!|$)Db9FK2mWt5mYt&5BPTQyxnkA?OD>sU9Ga}%#FDq$Y4WSi;{UZ>xy-&?0;x(H zoN67;A10(GTjBg)$a$t{yCRfm5`Q-=_fwOOj^*Zf^zgoV@}qCea1V?5zx={v0P{D< z-B^dkU==mmIn-Gb`DzSb2}*9rUjcMoJB;g@i6H1&*}ucN^*K4CzyKV+430-8`a5gl z9IJyzX!wpei`*%$GY_t<#c?)rJhI7Y9ZvSxBv+Gh6V1dpW9lmEd&RUu8;4K-?N<#y zbbzyEvU54sd}wxDjU>DL3XJmKewAxm+kGpC0C7CB>20lymVE_EHmR-`n>$C3#qeJXqn01@zJIoM2op3K{eMLo{j2#QdFj{>%~qgGVULKxf*rT8jz=bkI5H|ZHW0@n8&H91wUh=MN`WR;PAbPZ9gpn3tYlKv6vBVk`OAO# zrhpq;(RRNgcm-6&UAOwCGq7oxJL|dr*%S9a%_r`pGiXz^0yXNka3qf*h4<<>AF&EU- z{Oo@Zwh=58g(7}k?M!<9cYswOxS(LO|DK^0(8&rn-0>vwIE$P~EY-#&YynzvIc;FyjXzakzPKI$$z5A)j-dT&vF#(Q8SznvI6jDD5 zHF6+P?2(C*bCo$*(|WW;K$ag`)uCDI$wbQEw z&HQF|c6N4eZ*Nah6k`vjK;nq-`INZ)=y4G{Y2cQ#U+k4_b-!tpp}3|XExUxt(k++S zSPNdkluH^avvr!yUj3V?-=tTT&7-DKaWg4~nt(K)5piLYq9sF&;Mu#ftu?M(&!cQp zyv9GSpge+(D>vCe8Vc6=Xh_gmB!cQsz@iFO;I@nSvO^RZZ~ zRatNG5N>{!XtfhlPUC-p zFKi)TcU4Ta|mVvv6%60cVJuf|?w+M@VFe489~ZBc0sWz88YZc1*&?GT^q8K`r+U)NSbbEsC$ zeofb1@w7bldD5~Xp5#k+#gi|?im#qVIyWv+9g$V0)YShDGii7~qQ0W2GUGD!I_cb4 zSFM!Fj5TfcZKxkmpsj#rw@Wshd}hfujW=#6rN`0iL5SD`V_7UvUQ>`&5SC+zt+8w< z<<2xNPJt+_Sj#q64{O+=O}9~EfjsucUlz+2Pf8G5r6zAwPfyeJXzAQIeRP!0jdj&)tjcVirp+_kfctZNAYy8s zDdCF~)}0%M(k$6}bi*sTEsfR2Qkl*_M^%u@bQ+GDK+5f>l^It`tX2lR&Ygt8C0x zJaT0?s;u)XvlE5o3^ez;)8R7q1Mo;H@WE$)^~-AgR)D8lWpFztkZ5|d5LE-1u5N7VHtAIphd4D%B`%i@z%m% z#@x8b)`7IORgD){TDi0-tXPX)rmb1uy0ri)_>G^p8)0f(Rc2f>6{Iq|S<_@b2H7T( zQp+%0E5l>Mfv#D1CjGJuRc{T%&@$piIBs9{;T|yMgcX?bZ|}R=oRTDQiOOYHVZ~Z% zwGFTSmXmGIlc9;ND-I~ESgQ-48r}ebPfuHXQhJWUQsy;+6??8!PGLzck)6t2g^eX` z8}2=tsaF#PsqG3(*=E3O+{KiD#7?!iM3^hg85g1PVhmgw=WMvHX{e52($T7-EDvH# zHx?E{7L2K4t-2|-IAp;X=H0D&@4H4JUcsMj!5$~`zVWpf5Uv`Fu0X4W|c|B$FEX+{()AgnIWtXrg#(7Gdlx<#roFovroE=?r*&*GM9Kg$xde+DbI!76!%l33 z!I}(MGyL$6(VkLE#^Z%axJYju{Kz-3~1(bYpJp3GSHauMwo4O z+?uJvPtA&Dwqe1TCcUi#wPwz5vSL{9GpsB&lQ+%vEyHlqW01*no@&YW7S^osJk&B` z+b1}thdOf_-nFFRxn0LLYp>Cs(m}gzFqm8?UzT3ly1FSX(!{jdV8znc z&FR)sW6fotG2@M}DO0^T>+*9`W{qrkYisFLt((P}ESV;0h8dUvGG(gQe0H^PLew}- zC)dJSGu5N9vSsrwW#lkC`%@k@8T zRxHzbYqGV{R&)7hOLrT}ww%x~-wkc>(}P&LrUhe~_=p)*JmeUxz~s$xgVZXJ=_+lg zS2NkyT+f=6a&&TCFz(T%@YbwO8>Thz+YFZb(jEmV*{Tcz3M(Eu%E|7AZM)i~Lg{9T z@p1A#GDbCT+_1T~dE*~-r{@PWeu=Aj&&PI~adjhh+@6N4Q|$n=amW?p3M+QWULGJD zM^Ej24e!>P(}KC2;nf$#b{qo}q+um&Q%f7lI_+05; zSR1Ug^1iH1jR(0G1sLm9?9%ayAqG0NDXT;8JrCuz1d49(oI z!3=2+KP6{)V$+(%ycU)vo~z2Ri@`;ShQgADl#LW3@=78oENNTmhT@MFlzo8G(4Qqs zEUqej&c>3qTa%rJR%{JKw3n<=YYGz0APZ_m=q$V8Olc#MP5Rqo5JO;E18LaQ@VBgu z|E0swzbo*|Glt(dG{Rc7ozCF63DPi(hO35U@@B!926DqFU`R0Kx+1!W?T0g!3yat& zu52&2v1CUU*BbD0Xbg+bm0!09wIMMqJ~t(hCDiGLWK=Puh?kN)1Dr+VWk`9-SLUzM5?Ja$>lsT5)BxHzqD6 zK5s3mr+b*CUsy0d#lF+bMp0#xs=|tM$g~nL>2zh~60We~O2Xt|q=gq_^v-`wZPnS>84&rH!T9Zwsr8za z>)cqk+Y3H`RWFt* zGfr9+q%vbon`gGs^yfH*HwAf0_~Nv4=W6&=rqgg#1*uG@;iw6uEU`Ab!$mwTHT_tW z@<_Mg^GevX+xYD=r5Y|Wjw%p^<aQvnQdH86Ub1Q3DU4>;18!e^Ok z28h^F)7%|-w`rNiDHF&Lc>@F*M=qnqkvD-1g_*KYv|#Lw$x6diG2L34K*~zBvPfWK z$+{{t1Hp>5vgBWuD`u-eO4VYI3=minu{do2DYH3)KZ=VAOB(udM@><>!NKl=h-;NB zs5OuuZ$6a}!7z^tIFtMXlhly2e4QA!(DJ7h< znzQ0$<=2udG5jgb4F%SurWikrFr@%x)U%=VB1N5an3x!=2`Y>!^K!+1y+~n9hlxpu z4l`LZs@m#qHYSoowJ%U{mce4T^hM%=zwd9i)m@X>f0DaUD1i2@s(pFwvAn1uc7i08x`#xO7 zqVij@VA0I|Ar`w|H!h)+EHcKzi!l%p<(Evq4_C4Hk$ig>BX8v@7AFTEe@OjWtgA%u zGI_0nHc_~-u3@;+4e8t_%)|ePSsq^+K=23Qm!-M-Ab8M!Y zn?!Foog2FbsE=f(#VA_^T4SiC+4GT>J#p7Uz@qRtlQ=Vie)Kki zHi?r$oNL`rNV+L`*#WQki5@I>&`LNs9PvQ{lCFSezmwv8nXSsri3S~Z#~ zX}^`%wWK?2@YG8FO;T6<*ax_5T&7-36z-&=t90w0XT`y=dGOuNW#&CXNA(n> zGuE`VM9-s4&SPxERVS{YGK+vr5O>~IUTnU{huPSHAMpIm{Oku)UapA5o&aisM13Ew zVo@nq_eSR`7F+M5+2RlJ#-^*Fl)(yPWxC#7CQ+cPaFud<9(9E3t-_7HHC!H{+KM5a z+l2X+J}WvxdsYO?Rw_Sswkup${8(R`md6-FybTaN_&PWCKu76ZMc0tqwhFYyP)oDt zGA(=J81N!!utnhl0vLJM~@%3Q)n>S(2K5Nl64PXuKnb4oTzRmftW+qh z*pvcMSg}@5OqSv@At8Rq1i?H3YH_)W&$bepMjfGc2!$J$U>j-`L$>kWV7{dTuzH!c zUVgj6b;XZk*`ot?(@ml`oX(AF2&j)_ro|{jqqodZOS9)A(Oj5w2Cd{KLlmg zy-em1=qlVev((GC%2YJvGEWRLE_02H_2P5Ginsj_eq^lT;vjYtdKRUu&^679Yoi$Y z=|jw2r-wWGl;7@*bI+X{E^;P_cq!Kv;HY8+#;IXW?5MKgK!a&KXTs5*A5Uy0s`q6o z)78XLy?g0gr{k#dL{DKkw4(+H{ED3Xvm>YP=wu5r1VE3!&UNu{v~_VYINEIxli`N@ z6>Kw2v7gX|($Q9p^%i$p_{T`w4HfTDxf(eN|7J0Hf-Iply#v}XhitvBm8e#wn{wfE z?e6Gg27xH|@O<7}qB8w7=fq|59tCt2u4^_&^%8Wh({WTULFYOhN6jTDQE@gL{UIgV z{7}XLh2{Kl)Bu?b{|iX`vX-l^qsqQ$CvwyPu{DehWmth%APUR*@2G8@{TcrkkfHY) z!fb108_M*HnE^)(VUjy%_Z^6hf2(3C4^y9 zC4^QF8vd&+ORx-(=APY}w8SW6%FAZnnKCt&;jvxA_B7tXiJHrX5Y>z!#-bX!tn^`p z6_;*`XftIuRZzoVsiUdTGS$1e@k6}+t_-lU>LMkTu&XSgC~dDPSz?VXO$176iN7#_ ziD`^V(nP>w49qdd#XQgxeMQB^il(L%3D8|u8a}HrtVWq2B01w4!T)A8o@oQ9@t^0I zZY_3eyeEFrv(wCFGLEz90%#~mbji3N<7J>Vc8rA?vT#`Ar?;kgnV2TV@li(p?tz$M zV*;6ax?xD^vEj{doo}X{lrg-yoKP;2G6xzat&&NKhX%vS*r2ec7>XibijiSRHDs%p zb40Fa(~?OWBKn__&2bI7c$r&t6ho&3Q*zp&%NsD>qf&Z>UlEkVrY^O zQO}@c4ll&Ny-?~ zp7i@J|MVU6y@WAXDNJEWElYHzmgrhdK@453;cA#Ngh*cuRvIqB{E$3QhF%LxR^+Fu zCGyFXyCQ!~7Y~sP&81K`YAKgD!IHTlAf`!eGg`givC%O#&+E5OMvAA(dpSWTDx|#B9SOdQ;*ye9*6~ zQA%G7J--=9b7gmLqiCNDXPtBHT-P?Wt@{i z76X-pG>o5e0q@3o8$32ZCb3G1Wen5C2SYs#5D|)QY`o@D-B1YwMATEJdUNhIr)BWi z0GU#$ycN4KX${R_fQXjrMvt4xNOd!c>>`GmHiTH-w{6wctD!SWGbk(>2qng1?xQR= zDlBPR+;}OM1BE3GS)6Q@mbivV!vbQeM9aczn7(!s#59}TUGCt@5``(_D!ew7XM%{( z%d%SoX<257{%+`Swl}9O_x)m!m+@)^Bulnw{QiImWE$!WO)SDLD{ipT5MsPl6WJ7d zW3;0TpAAhbOIb>g6;|w{3DPiPru3Jot!zbz{Zl6lhL=s0dMT{9G-bF_SW?T7m_Id$ zx)(T(Oc$-E%sd23F(t2DlUC!1C418Y$>y{~ywnjvpyH_7v=o#yqzq$*)g$4d(xeKj zRmC^sbe3!@w_?F>u}Nm^W%HWKh^M`u85d|8@=F^6mo#FQbeC_CS@ zAfMwjQIA&I>ahSQ%doQQ;-R;Mh>rJjfEeZgB1xNT*-1{za6=-hE>l8WEhNN{dj=~% zONb#o4c%6R4lY#UpGlP&g$6S;uW2)b!R>|+_2L~n*gQxXSS!i){brG~3bl+bun^RK zv5!hg8ceDw69thn%0xvP5>s9%e{c+o&y|J-wV^RAK5tS@Gp+IB;xvrLn-ujdK3Oo9 z`YIPFg%y{k%uE&5PeRL3i760>fT{h(HA#lfFhMau#CRwRYWP-*rTg?G#`KU(L|D;M zF8ay}iK-~#s@hUelhSlhT=rygOo7BP!E@yruCQWF1){JFT1`PjhiJ-*$Y^P$H4uZl zhTJstw$`|7uww9~H8m1<4$AXp8%s8>XclFXWMjp)P5;xRxUJZct6^Z=$c)VyRxIJY z$iwb=?c?iCIqaTnOsqdqVGLHPr?8}!$UfzoCAAC>^%_Fdz{;W;CbnuvWg3htE58b> zIYX_{vg`#aB_l;P$V!EjR$!(w5N`Ow*i3u8-)vo@AAWVx)FZgj*5rg$WaZ%#`r z!YB_r;c1(}q4OT?WWkI6PNk}WKm?G0UkYSWCK}6NNG2tw|L^h5kO%0iA zx>Sj>q&wmoC?P#&MY&XoKBM$Bg(WMYT)jlqm6$55*mg&<8~<`(-)R>ZBF6Whn>3D& z`rue;j43RR+)plEG9i?1E;eZ>+e{Rev@OyIc5cKdc)r~%Owo+3XUVROC$omSfE_vC zwKHS4n!654D-CD6rqNgo>v2KNPm3q285g6pgN-E(S!M%8qQt-_A!1Gz2WlNLEIwC;6~&U&5;rYM zgcO!EBtmb}5~E6U!<9j+lq@2K9*q~*4F2eOTp~1eZmbJ`CaL|3qQZVST6tWmWKUc>E3QYg!4OPn_ijd+OV~r^5a=r0IQICj z!l{X=fc6lYG01SK?cygd#5`JA$WvI-0n3HlaFtdd3d>NugjlK?YeBoo=-ZjGIa{*y zJW3h(6jodt1){KiOf9wBNr%MLRYJt7MfX6U>Bp*LjKYmQ0Nrt_uEMqHb|*^N6{CzZ zDoQM^DX7?W1){KiOf9|XV~=_srM8L~OJhHKQVU|Thnn~bH}(`%q}<1+MCP*7uKJOB77+p3P?A|qD&4bKQ5bjtXybCpmjsR_CYH`Z0A zoC+(}QfHwmvvrz!EOc&MsvZlStLQ2%(=^J^CVHK8ZtO?P2JF}{{1Rv5POFq2+v!1w zcya(e-0(XfLQPhoA;i{LHk9&&PI@Gk<_%i5E%U>~qNyxh+%FWVjh^ zS>xCY*-)m(JtmOlVTA6J&Xq0RL-$(E-K)m#+A1}9qbw_e-Cx5WQi54mxypjB!d3D> zL78<8GX>kI`*VCz$rj})@r!fTokRTgXgo)=q3nyJcBJ#uQJW`I+S|n|rh0$*KHMI$ zsN|&H@;X=XvGo>}F+VPMN*=}$ap$&nn-V`4ub3)3j7*E#;x1H~3M(vGyt28`u*@a4 z_bE;*ELpt8kko3?;{$`?rXYr;by0(+3Nlz}czbTTV>GM_8nUeii&FZPjIc;P2{A<2 z05K$lfV66{%;25@B0{BPgu;>mRR%6mylK~?GH?l&EMD0wDSC*qKxBGLP5gPd(u8Ru zP|`{92ie-=3DduE8;0^8fR?w#JUJFmV-V(&>hFS~U+4*T2|dLqVq4 zm_W*fMf%gQK`ps%!I(O5Yc4b5S}m(BT1s(GVM#+Gw+zFt3DV>oM0(h8DxnRE8c&)Q z$zw`6F_V*q1;lilD6+@Yf+Aa#nO*E5{LX`Xr&VQ|G-HsZKbcCi7_u~Vmh@X@?RGrfB&VQ3el%C$}OSzPZ{bky% zp~j2jrrcvIK3VR_lxv3UKgHNDAtEX#n&{PWNs1MP)oohR zun3>h%&pOaOG)GYYPbh8Kq~Ny5r&PgMwsy}a>Jc$Yap%IJu@ZaeNs=!cpnS?_EXGw z_|wzcF|}D%YBlNe})!H~`JUbL>Q;KU46CS``l8kRaMGr%sq zw7hM`f9w`M-8L#er&xid%yAoLSc2O-l}>jy8@KaLPaSng<@i?D8`<{4=`AIcaMUU zmWbU}M(d^^hFfFHTOJMXdo7(K&$hZ+$lx7AF<*rd-$+CKG!9}^&DlF-tSfx<36qYp9aK&F~L}^7dP7Hw=)D8{r>MV)S z{A;SxrT&fgSy)`MU<|#ioNV(}(lACagft#}CtHwdGSJ*F)*5;POqk`ZhRTd{$zWW8 zD6G~Pj;)yL@Y4nvVhsUk+_enXkKi|bdx`!$QDNL}%FVsPl3Ipclw!nIW~&NImZfZk z5Ud|p%W|!h9vWh(Y%j5}WLY9$rdIArt>)_0lUm~T#&F41APP&iSBuIr8162JxHC5t z)RUoUt}H_(x(i|msInJ8XqkpwrCW)Nl=Tz?nzDqU6tAG9?e6pF$1O|T9hvTigqEy? z0U~lkS}{PHyZH5_mZ1^?qU32DonWHXcg*(^#$cr|h1Du8rJD+tEK5x1x(gzjLKY;} zD`EYppM*8EWV^2xW}vjVFmc|h%Zn&HE~&XhF<4RVLll-YBpN4%v}*Ud(T*5tVt=&e zG%OS7IoGf!HLn)?4gcFCCg?FnX)%TM<7zcbnC2TOu9!GC+_W1YS+cua)``n%9mq6c zGR)T+2HrG?8Ad4Ki^*_LYAG{ku|yv?sJc5=I2~)j{&ve6P%{pdlii+fyuNEgRngWg zjXkwlQ(k;hQb0k)(KA3Q$?$%|W*8G|#^(l0mNyzE*U}8tZwEVJt#1u5BTs7Z5LwyTK^Wxdkctf}=8GhhW3kB$b&1F`gNYqGV{R&y60Te{m&Q>Jxs@6OK+iD&677K~|bV_3Lo2x;An&17lH zw62TXN?2lWvbbuAVXqLCT=S;WJBd_%d8429x9Zn zK@7o(*qoL-KQYOTEm^KolW%E_2MI&4Ez>@O86|~mthmXP6jF*;SkjP4k8acINc!D% z<0l7v`5k=ZW^=Vl;z@qDqm<1%7ANAkR+D~5@4ZLkw_PV5lh~@#Gzu%$(q{R}OKY*3 z!E&o04dCeuwB!kbI4=CYuS*0B&5tI^Y z(GL_?s2(s;3+ zvY}dG8MF+L<_w#(lmS>_DNQ0WUr9A3(`_gj6XAh`2)`vnnG=aAnPFp|38IuGSkglg z)}|n0h?Z6a#4uzl*Cc6JTni>MNOP4mX*En@*pfOl4p)3`+UaKkSyoC~X2>$8!pru< z#>DlF&n-(}mN*((%vkxxZ8kZUl_r0SLm!_TruYy-%YD4zw$lI+^Nl7PHarV6rG*J( zC`^GUELl;*wWi^4q@=CV`rm9`O4R+oGgRFkaODRq$${;gY%I4V<`YgSX~0t)NLE>F7zYrNP`%N17{ zDq=IHENdpCWkDk8fBFzhBiS%=3Z^BA=`FE_*KE!5Prt29ouy$8+gh{nE)S(86_#uj z(YU4#F8*N7^bkjANp}Q9sf6;!bvBkPPF%ty76x(82lqMFG!2<)N$DI_} zC!JIRVqr}VhQt#~WxAoTWYvTr2{B}Pb75`RgjuqkZ>Cv%ng!aEq*6&n4Oj?dRr~_K{_Y{81~^dd7a(K3 zBMe&QaYmD>-3w- znXim&M-TfK9#ycr6_Vr^L2+Px>Y})IE^hDu?+(bP z3FS#LZC(_`FG;2w0M24$hlG6ediuhJcJ?|+W+>(08G|Cg{h>t>P~#+-sgzDXAdJY& zEFam9%`}S#x3^E#-jRDf>r_xZ3;|bSwyB{Kt`%ml56|Dh${dchT>J8aIYiS#^r1 z>F+B^X=?2Fn1z36CvcK1yAW}~FvKWHMopg%AF$fgYqqZi8h=EM;lTY9a?v>RmrJ4d zC&}_NLAeWq%PY)I4y-sUc(@p}P?D^KU)$RkgRd*&5O!b+W&YWFQyRPl3~Q?lNWyNi zD(66wtmY%xU?pY3Q4jSaxeqdo*xQMlE37k&eL+8Tmce$-TC2i zvYyYAB>8KI#YS1bD84=K5McOkMJ^S?!3H!qg3Z70zgG&COp*=RJTf*0 z1@iMBsF@_2h!Vl-KjRWHhc>NILJWpFZ$@7$_;vGNfHiEwB>BJ41O9SSRy z;yY4`Q?WZ0z5y2d!p@P23VN{%=nv-VV$<*1PFKp^79wYMpB{+M)IHLElplMhvqK&C zN|&Ouy;Eq=WS?|VYJ+{@4AUt|_DctmeE$?PJ4p^m2PAlHI53?L@CT*dJsg~pm|iT+)f7GoZieNl=T zkooYHN>T=zBsDzE zzvH*~Q$j|D2gbvf^rE!#zmw`XSC)uVo$iS&sXo^SpdNjBE{oV#gzR2e0DjWnKYV|d zu>HWAmtQc`c$B|&Upc9McM52D(GAl-TTXJTD`K^3FSe8WNqVhEjT5MO&Zqh%=`~4j z^x<FGEF9cQHDP&&>;$C>Fk3ms>r<7{-C zosM(RaZWnUMaN&#ac(-!L&tgPI3FFk!G_WI;dESpjtkOpAv*qwjw9%}FdawI@z-=* zgpP~S@i%n*Egcu59`UdSEl2i>9`6VSEVD5M61*HHR!k|9oM4c+I0L29oM1bx^!HRj(?@&`gHso z9XFuk-|4s^9XF!m#&rA#9XFxlKk2wB9XF%n=5+i&I&MM7E$KL#j$6@jYdUU2$A8gr zTRLt>$L;C3108py<4$zknU1^AaaTI-M#tUhxCi(1J(=vqWN#+>Fxi*MeoXdfasZP9 znH zY9`k(xt7UwOs;2g1Ctw>+{EN&CbuxTmB~0Jw=ub$$sJ7YWO5giyP4d>qW^xIWOPO58ogFu9V+RZOmCat)Jf znOw)@dL}n8xsl0DOm1d!3zJ)!jAL>eliQix!Q@URcQLt}$vsT&WpW>r@l5V#@&JDOul6D zUnXBM`I^c9n0&+JTPEKz*(2lr$7C-ido$UG$-YeXW3oS!1DG7hkLEC?-cUIfluxOpar6Jd+ccoXF%PCMPpFg~_Q*PGd5L$yg?*GdY9FnM}@N zayFB5n4HVxJSOKexq!)qOfF(_F_TM}T*~A!CYLk0g2|Oku3~aElWUk<%j7yH*E6|+ z$&E~IVsbN+TbSI+WE_**nB30f4kmXpxr@o&OzvTFFO&P2jAwE`lLweQ$mAg=4>Os- z|hK zCT}u%i^m zlcSg%&Eyy+$1*vN$?;51U~(dplbD>$c63cQd(%$-PYOV=|t}{Y)NU@*tCkm^{p60+UCWJj&!T zCXX|Dg2|Iio?`MelV_Mb%j7vG&og;}$%{;0V)8PRSD3uY}sIg>A#{D;YxO#aK{D<)qv`5%*Sn0(9R zJ0^SZLff89_F}R(lYN-%%Va+$`!hL!$$?A`VsbE(Lzo=OkRGI3~w4If2QEOip5QGLuu7oXX@hCS#b4WpX-`Gnkyo4rCRa1LhRL-|u48gNlN*@a$mAv_H#50~$*oMr zF}aP&?M&`qawn6!nB2|e9wzrPxsStd5Ou(OkQE~DwEfkyw2p`Ox|GfCX=_Ayv^htChszN zkIDN?K49`8laH8u%;Xa$pECK3$>&VIVDcX(Uo!bGldqV3&E$VfzG3n$lkb@9!AsnG zGTDpC-c0skvM-bUnC#Ew044`AIf%)@Ob%gkD3img!MbiOUtFnMrllD$UygZDVAn#u zEMK26>5;uA7wv-;+FnPJp>8jdO6gC>CZ7|K?vxeUDJ!%;+6ryZ#e2=oD@#hh2~gQ6 z6Ke4;QIzvt4i{T|4?VKfw{9!h`0g;A_%(0DQ$ypN_Qic=x?e>UDmRe&==CXGEPB z@X0ZJ`b?E}p6Yb^!Y&i!4NlX_naJeRY4X!5x|8#!b-eQs=Zl&#cMsL8m(4mz;oPAxsK>l1KZd6;M|GTU zBC=sAR+^h9FgHBib7;|O^whqSyu@0!1ueB;iZK@IBhnkdYKa=9O5O~5GjG7;7nCyV z_cKB~6JvcadZz!L9iU!`Fvox5@_Um&q>?KMP;y#qn zcPirH+O){;b4%q*P^hB3N;P8koy3MMv4!#n!`S|wGlABJBTKbAuS6M~JUJZ_LSkh4 ze7sWN)+cM0h7bz&6m5!Gfe_yJ!2FY#@3&j@87nyF2+oB$r`Q$I=W@(B=5j^6=vfq% zxOl4QR_F-Tc6#&;KYc#KhGWdGAWk?Ap9h?9e9j+=bU8pIwS`V)!vpuUj0rEzjM>%q zG4ShM_?mQn{wVkW9~={=0XBWF9}@=5Qs~SGUz5%m9S+8X-tK!iCd`UVKPKR5JSGrt zF2sdn0=q{tF(yPZZA>7=uEqosq7gYJ1g5FAe7DCj!7EZ_y%5KQLKxJ;jR_RysE%$- z&}42*Kv`gJczW!tMGF|lgh+ivIzQMev8UwCpm)F?emZ~oIFtmRKCnM+Fl>cOl78i1 zQ|F~EFN<(T{t9xWylAb+;qq^A%&U9{>?(yM!OM&3n)KJ%uqN|93!2-**QE0;=K2Q#Xd%&J5(g}0%w+QgLh^KKb5^q~n4s(%RC7H;@ zNT%f?DRz~MBt#=J7X#BuE_y|(Y<(^k!k`{57b)aX9bGPJGM9@e3(O5qH}fq(x#&aY zu1S%~h;%8iQL2!4;k{K)bWoWiQIuyUW56O@%m?m_x;>xhOY@xK4%(OSa z=_<2Bc31^Rt>hETnpyDMGVmokp?A49xK<(tI+dN+yIdX^GEM?UzmRbPDZA0% zNvW1(nRF@Bv+1fSv}=lqOtA>sXsA;}oq#{03;u6&e$Yt2uVR{|m6_`;tl*H4r2NTN zLO)7@A9EF=m8%#85N9kVV_tI=)GT{Vj*M4dl^B4j1nOSAwi8zavCqE0R{up46Drhe zZACc)MtcQXUc7Y`+ZV(&RlH4g4hRT{d$SmmF!9>kR_A4Ln=0OpS{Jn2RpUEQ;()kA z74PW8Q>o&eoVbrF-r0%!s^VR$ctwV?`>Enxop%2~>|?zrH#BF9569k4t25B@;(e+M zaw!N8?~ERJHmA7^N(-yl_ce`ov`s`vnBd}`JBK`wI#tJ()U@ieOV5GS5i z6(8!v)2ZUaoOp;TKHQ0?SH(v-@eHc?NGF~#5c@896n4p>ETVXO(a|WH$&09MgWNyH zS)Mtt>>K-7C!R$WALqogs^asUcs5mhu@ld(iZ65GIaKlGPCTb7zQT#;QpHy}@h?^J z)lNKjAoe}yMiz6=@$8#)_RS&N$M!*2#yq|Z8s>uLdCXzv^_W2Xj1$kNieGZ#`Bm}j zPCQH%zvINiRq=;Tynrfh>y=+c77WBbRD)R@M{tPF9;&lv)!B3E?0Izdu#jC$qq8M@ zGK21(Me^L{K&;4bAI5;2@Xmw`er+;7cK+l6AaHjpV^$fp8a62vHoK2*;m$7_Kh{w_Dwqb zW}Q8*HWIH+@eJs;S}>OjCQP^2aB?T$cR2V`*h1d(yK2}p0{#rZal%qvz8?N&jrst~ zsFA#>tasP4K@*WpHxb#)6Oqj|5!tYb$QGN3Y?+D3R+)%w&56j??Trf#d5Gz5J=?T* ziSHYt5N_6c6^M5z^L=A$Hz`MI_fl@iEvqEA!9{g zltac!z{oHdBMBL+0;AVdfgh^@qZ%?+2Sz1itO1O2$XF8?S;$xm z7^RT0HZanV@fTnuA!8k2^y(A%u`V#GA!9vYR6@pIfl&?_>jNVT8Gi#tDQ7&6ZM$q% z&Ro>LLdK}9T!s)*`p{y{AG3bJ*`Kn3>=F(L+45PrW8mO)Zp^M;FlJ{fWa)Rb3Z0OA zC9vKo+8@z6MzTF7tr3vU05!0@emV;NChQ zPeS>+_42<$U55+}3Rpi&`+D;mWaU16Lh;{0eRnV4D1$~16C0Rop%a3dul+g3E(jSZP?7!>m4R!WL zI(uWC{STeJiO$|!XOGs|+v@Bcb@r}0drzIcSIG7aw6_fEJ|WTvb$^|GoX$R5XJ4+f zZ_?TK=~&g@jCl{o&9je6UwOHPtehi>+Gj>_VYUX zRh|8Y&VEN{f1tBJ$#6s#!`P=f`ZJyVxz7GVXMd%$zth>3vYM?OI=eGu`)r-MoOd6e zmP5*PdsxM(Loj~Nm9ue*5wI7^*%+*V{r8;xX{nC=e>pqDC!W5@y>s?#_2{E=_LlYR zlXLd5_3SgtbkA6gj9ikVuSRsjdnX2$U!=*<7r%qYTz`N~JjK+gykeR^a>C%2S4sz# z{6pB6=;31h?t-#s@&lfEuo(Q5U(y-O?H;SNwW0hjg)*jZHUoGNy%fa_iRCA${HVeYWP-mL|^I_HPCu|#gegO~K+pbkrWE}QTQ z%fupDY$%UPOF{IL`Kd2rr2CbZn;9uRai+aTb3?q!57mO6xQf;jJu~ijtLTilCwc=x zPI{(pB=L#K#W0L};%b#&VOtNw`jl6PCj<#rlbOC(t+fb%h*@0%;a;*4rQDzDnVaKv zwh}S7rv5}s@6Zlx6!C$Zdw4E)6tA#<;DzTNO5DK0Nde3|duHKRJUEFE|WTZTO!D3d{SRmZ|OouTCq&FiH6A8a}Ji)+1)YFG3-p zy1^)@UTt`9s4mv?Dwe`8L={rrUsP;ZT7ZCXc=gl@46y`z3%qNonpJA0KI9&zSi1-xy zU$z0P5G4zt8??l;QQ3drxUc{IkG@nosr(bxkOJQ}1B03OZF5-q%8Fi{ZA(4$2n?iW zZl^J~*O)tK%pEo6P8xG(jk$})+|@IS;V#>)auT*ViURL<_fTJ@JvHWDp6QM56BzZ} zeVL275EQi^o>!vi?eDGn@(=J#Z}cEC>WAy>bYDsp^NgzI4*~LGGxB;f@=ivgr$I>% z2KprOm3peE6zw(%0`pFnk`M7o7l$n2<@0;9r7AS7r;fG^3|@3bo4$TmDf1caGW$I& zgp=&W6`>FQp|S)oH{zu?TebqriN^$tQNS1+GX4mRfjI-+%l=e>u5c_{#0P-ca+MSK z>{UElzA~22Xt&)8mGc7Rij{GG$9cAD1?{Dkudy5XTedY|ewyGzuuA>ImJJ;rwF3NR zj*ocGYHw^CC#1=)=kFBq`O55X*Y*q@^X&a~_5mR~-+#Djc58Vk4nKIamW?YXbVA{~ zt;`ZSxxHK=3AM!?<(faav)n-^cyE~9RqjV8ct@DsT^>j$WZ<6iU^=-PLw_%<3@7lp z4NvYX&*>%O%k$6)={!&#=}#Uk|C&zlMmBq>{2MQMxV!|NkZ%*p%g_nlWoD0*m-Vnm z%ggzb$I8q5lgG;|&4hOd0rgUlb`<_XWZiq;`=)`^Sy&Mvv5xMUzGsvL=7y)!tXi}hCS(%sR`=m^d!Qrr5$RlD zuf(2`H-rAT45yDNWsal5Z^t$~1HLAmH=}#-!IXKxHGln9`SD)oNz!@1=|IXn>U6@C zc?1DIW$-jk8R9*OIA7-(Q+AJJB4r|(mNKN+RmzYMjmVSSGwHx_YWO0jz+6DbwRw3H&nu2PDGXhfz|U|LBjuSk`xPpLu} z)Wf9|g)FM0ODRp}QVL~(x#8)UHH#K7q*SCnB0UG}l`7;Zc{AwhrRqkZWozg0>N8$B zYnQ{m4w{N$QMD^dgM+gxOGARQt4c$Iv#U$924~ll@<+&I<=Rs4V7PW&DSt3bvg=C= zvEBs_XG!gb(nvnTiE8bR(h?=gquK@VJaV&_Adg1l0XGNnQVyE%-+a_+7nRULTG<)! z0sG<-YUJ#qDQlO2c|wk$-T;T%rKPtp>|FfKr4kkIuKVQ52iw8LKc5I7!`1~iUmMGR z@MWmM4)8VUycfRW2S@d%-1qt}IM(Z2L^>}x9CX1~-S@ByzJ*NR1@ScQg2a0tabXu^ z_edtXU?kJJASrg$1xbiTWETufD_zhlQe}&FqfxyO2K8`Vkis0*(RD#h=DHxt0&~OD znb#>=4HKxrL?BWhk$wvHN)_^yyctABu+_~k(Vaye?Dr}(D(H=;s^8Q2=~1{ zZ=Uu#uanMk4hMNN)_o82<{V`Dyus5rZ-{px;=;UP_edu4CX#7+LyBGH4GGbR%$vZp zk~dzFDqEj7g)pdx%bWeM-ccQ0-e@wHHz*6t4Nuoz5A%jp40#i&k4P^Ed!@=bg*Sut zySQ%Xp7?J8JVk}4uR&d2gRe>F|IocWW!iyF-|JJR9sYedt&q;t_(#N@{T&WcW;*vh zOqrRG=~D(zeyAAZBp}T z-pCH%v*Y&yD{p2;q(cx|`g2 zLgXozf6XYs;p5Cwfcd%u%#bH!X6?L)y%wlr|3hb=oU>_ixe2)DAC8r-z_5jK+MZrK zQY+mZ$pa_e3DxlJ(CRi=?IRC{Z>SX?=*3m6zh6HsT?{v`6a?hcOO-SQ4iLC|k`NT3 zqDz!^%;&o#qtc7Hv(J#y(fRH+LQ&Pcg_BAc)!h1qzk;xM+4-S$T-FX`8)b1!yxuE9 zMxDL%PFCVtY*Am%yBRV<*&^7$_%PeIevURY#_^`Dcek zP53Oi3h^=bmfSu6MUih1wC9?o+SfZl@Da2JfiUJv?zIR1(#Vp(O)HN=vU1u|bJQPv z%P;wd97?YQ7sD;o=FckV?DJ}G?%s6v zMYSzB`%kr<&nVCTSMBhdoT}ec^G!}mYzloK={4BD^j>{{9zdtjOYe1Tenedir67x6 zdM{WEEt0R!jL+9P_V>0<>05me-o5?;I*Wg<<-a9!U?{7P<2#y3ia{o5QoO!deG)|_ zFRIdL=H*YJJPYLTXP3dN&DE!=Fu;@pj2|`U!t(J`E#4%o#K20u#b=$xY7C?l^cJ6U zz+N$slF|d8cfeW<>|0;-3l7*j1`ezTzUY8$F>o3L`euKb23lA*Mz&9!S6!RYHO=$i z&iR3b537jbCJxwNRp$hgC2o2A3V;2HhXnT`y!kj>wkGdg9UtRGm9E(XVOIy9@hpH@ zu&aYuBR7K@*A{sKstccBFG3-$((EUiJIsLSE)R=R9N#LpeMH008!%kA9R{-qI>Xhf zw!^bpaCSsCl+VV4H*H5{BTJooF3KZ*+mRV*4etjwj>%SH91cuv$7ZYY*-?kU*>PF^ zOC8wQZO3Q%Z*x4fd?{%=AsfxeRR@5T6SD(Kzd`@W%1K$d6r7$6js>UiJMH-?j_Pfv zX8pp`)3W~I>6olDJRO@22v1MX2Ii;uM6vCRY;b;x&lKCv%w`RxXJvEdr}(#BZRbKr zQu3Kj&&!s`PoKf6Uyv=EgUQJYv*q$rs^CQsw4g>8L)7>bAE35f0$~eIFU{7;Ps!9} z+4|w><=NlzQ+#&Xc15;feu_^|+pdI|vnhO(*>+X7d8m6ev;j-W@-^93;pw&6*7+$u zzHGZL`&THvKHDKbr5fFk?Gj3F%=XAn|Ghah_D#^dK|wcXW5d&1veU!UTeCCrQ?fiR zJ1ak(4X){Jw`J#r(%Z9(!qYpl%ktBEj)ZdW&aTQ&k2wZT@5?6Sr{CNRr}t;;XMtA_ zWIKeX4`w@trw?U2g{Kc^JBOzevR%T{N3vbR(?_%2^3zo&K)H`+d*r9-tdRRpW+#N; zr?XSS(`T|%!_#N8)AG})-vd+6XJhkIiq#9*z4>X|bdbO=XA|<%3r51}E7_O%>Av$q zxvysZ%3OW&>h)}NeoCVO+-roVZ)Rij)AQBU7nEp11I{=-?pC)$CPP0|lL3oG8oO&y#reBSzIDPQFx>#)0u zsuURhzp(P&z!o9fm$#)e;8~-c3!B&1du!URn}-m+iQc$r+eX^j*4d)k`!aT}<9jc6 zN%2X7i0!T++gsV)S-~+U2*JL&r%|vDc5ob41Nb2+GDM+=hgQ6cN2Yw|MVYjHeTa^V zWxN%~D<2&K=$?=E>Uh90A%O0Xz3kW&x5VZR0J)YwaY1HKo8!`t;Z7+;A%OSudRxbv zY@Lv!Fp%`q0&K>&z=60+2Y76dJsdjRZdOI5phl;wr~q(ABfy!B0B1DCgyuxj>QQM`J&WpjW^PR4)KwvBJN)%j4Rv*hdbcZE*Mz7)e%OVrYeN)W@3j)I3sJZM zS@rAs5H;bWE>Jgws5d|E0(E1Eq7JY5byJ9X8%v}PuR(7Pp+#fH4RA}|_E+ zd(CafmXMJ*yf4N5^aD9o|KfDpsU>6xmD9pfa1kg7(%B_si1a!~M&#Vw3bm8>=lsw( zE-3}ZFDoHK7{5XqzcMuL8|EsBygEdBH?9fYh$4A&7)fvZ7HRy}(6~pAlgQgbq<7=? z(2e?cf#VUpH-njzkN>D{&~IjFG%EzI`SnKCtOGjoOwBf z`>MWDLY(Mdug2jEEWNFF{C7&Yl9CUy^a#^8^9Rl;gv8PQEU;INR%5<(iqUxWU7!;L zG=(2B!A1+bE#<#N5sk%ViLB(v$iTFr0Ux;OboP+Yh!4Pwd2v;`tkZM#C`3c+5YN@m zaq#D1C>ga`!7PC%!TtOz^>LUr!zmm$w7Ot2yDNhn^A(*VG#|<4%Ad=VZ}>acd~1iD zA!veMhA8Tb7tHJK0wd_$0!sL(_2&tK9B0$KY=IrYbJ7et0Y+ z0R7NNd{?x94vpp;3+gER<&xOoLR?L*ijRZOs$XR(3uzoe&tvyTgr!AMTsV*g(HN<- z-46{>Q@>fCo{PBDiR!v&kUBvx{jGyjXZNvQEDM%ceJvLc;n6exwk1LxZ)(Zx)#1t% zbE!I0G#J(IziM0BA!yF(omkfK(Z!%Hqw4tHfj?%!9M`k|97e>mSJ&C==rcEX${O81kn>yipkW8Gn-rLQb z@DmhL9ixIbcL*91zd=}r+gH4e|7(cY!XfatLa8SO>RUP?6@UxgRXR|P`%*@Sut0sQ zkRRXjZXF7PzPC+=_va;kJmk~kUz7)ey=}m*_QA?~mF+?qj)H+~`&>rpFipMQ4xwzu z`hdctLQWyNQOA39{(XO6>Q15dZ1vjkD3P_Pt>y+HFBJMv!qde7F`__t`~3T5IciA+ z;30@QJc48sxE>T#dG|OR@l%IAvM=D-1cx}dh(?h+Ff6`zS)3R+F(wnXL0(jfT{P#KZ{U1Y#k15u+$rAqiKbQ31H(iRpW1nc-Y#G|W)wWUP zbKDh4!vI~P-T(CTUX#E$_wBtl7lewv|57fD^j@dtzpvXt279kn`3*kMOloDk{lPCs z^3PDs*>(b<=iUh(%%02^(R$k{gNu^dP8~wusT!vRRT?vs=Z~G4T|cpM#WYwF|I$RQ zZA*es?Y8v}w{2Hu_~^-D*K}NaB?>PucEet$>h?9LcoqV5z2msVpJX-9wDx_6vw>EisI#-Ktr@P(=2`pU9_FW^r@FTrFXgOA!Xs}-3& zY8bu+knccMxx7UbV@97*!{T3GavTP#Hv9(ju)ObSnG$2v0%@fN-OG3WQ42Arim?vZ zi{xyKdca;HXJh;W_V05xwnV^QE@#&dETdpcKRUsS&OS72=4@=Iz{q+z8(S=3ZO zxdQg4IUAcaV2{q(*q%W+x5HY)BNYsZ5B>I7X~EqA>nylCVwDAVC#Q z5aJ605&o`IAi5$D&0cTthCnoTz3BEpG^}1UJ`myV^PsFp0})<)f~(QM{BaKE21lxx zkB*uqlu@X>Y=%%qvGOwhp+s(zDh12S_~#OH8AZ#>+>1Ws3x&(e_!kj#J&Ko?Egbqn z0rRrogtAxOhOl@U|8Qb%lS1ZYzYq1InEh!YvVA5ZyD44zNY`JgkDtZ^-D#4@LylOB2~7ym!%iY3t>;NtT`;4$H7kl01*kgVvbiWVjRFi+-W+cPM!TluBoofA3I3#*~vkxD))1 zkY(LTY2Px2dDNC$LOtOF=lGgfvJ;&bI>_@n2Sqvu8FUVhbPhM@924mrW6(J<(mBzf zb6TWxTB!46xom5nI!G~viyhH2DewU zr4Bk3ST($97z~6^*CVSfpTGYHPula7-<<|09q1Ro<2<7{TyXbZk(3VffAtLclY|6P_?HwmaNvDKRW}NGp&Ogz0zb62Z28Y(O zD3S}`lSgulfA6sU|FZKz82A~eZyU-efW^hEeTPs+?s?fxq3lvD+sk$iWtdTc?2zn; zvFI+wEa`mj;oRM819uP4t|SQ8=wk=DE`S^rTJZ%R8)|y?iCOt{U*;Fi;0=MnQ?fY- z!exH#AU6h(F`*T2{ESf3v(M38IbUaAq#L6naG&nH9`g%6 z?dJwfI6mt<(&32+Yxd)|cyg$*xzI81yRy1eX}P!@HVXG2-kVV)0VQ73#k zlttye6U(T=Tx;*uXCVr`iUFU;fS@mb5z4fD`EOnO`%-P%@Yew}phmej zH0KB9&s6r!8L($A`)mlLDOXnYBY1DMyvtLItR`*it~Xs*F}qL4CFo0IgD6m;HsKiWi7#)KUH=0GgQt z1u6>Ap{h55yNAaX0@;zVj64kh$EenMn&TVrw60NVL!7JQwbnSVYiQu+`8rAq=!GGa z+Jz2LR$Z&3G!L)u8X9HK$nipq@n^x zW(fhBBeRD9&5>atpi4&)eRebO@GGhgx2(sNs~qg8Z+Jj82Kb+}Z?EMtN-^vffow=9^Ep`mEx^xU!B;7T zy>qh!N`bA}b2g3$0ekL%U47%WI(L@|WsBclCmWT^@N!#?WXpxJ$mZ&SEO2AJfE~NB zQ7DUw`X|c*OPl6s>M4WV`q`krJp}HX3niKp5=bCrGMruwVT$D5TR+dFz!ae1*i4%Ysvv;^9D{|s0}l61URDVFm(-mY}+ITX3T|0GcF zh}5g6;bLXyk+5EhpN|F!J_u=`yo8!>A*11`fA_L^V4d7HCKNFPpxjORo}y zG&`4ekT(O!R-qMdeCtrtv$riRc#SV}S!eLAz~Bz0)d|97F7F_32augZE8h5Sp{8f= zrMt4P&OSglaLZ?y@8Z#jv>tW<&wo+|^64O(tC;)T-+UyV696*m0WS-H@3tQGUxAAH z>^CtWsQ$OHj64l0hVOvUi0$jzJ7;mLdwyHU=gN9vhZEv(88|R7Un-~g7njq%Lo+Vb zb7o>rb>D@`6!`RgJ@t^8a|k85XU~$`DlW)XEaC+?#8Jc6m zDB^H=Ul-2R5Jj>WFfs>VGetAYzKevi`k7_l-v)+*AZ(CvO_su+F0DTVsEu<})Nq?K zI{Ykeg2wlab%0!?(v^@~;SD4)t9f{`n>*fDp0|Zl^L=kC$MWTElj3BmR3Yy=zjF2eQ!oYC-WjL9=B@4I z_z9+-=kM-ZcdUuthhT_FDncd5*(I_aRgaX;4|k;Lx!c6<%EpE8w|H zS3f}Kh+8BG+=rlr%==7*ayxj`#X5>w#G{^~a`XF%sGMhW8LGrSyhNVqdava&uUB;U z&a1~^2qB1gAHsK&9iLUH8+BCR@47oM0N%a!Uf3FG|5*jPqm1_-KDjmyrdJyVf=KAFBP}V_h&vMp34pa$EqtL%!lH^ zj9&K`bz#_NKN#Kt4R6`lFbpJ=OSO(O zYODV04zR!K&3N=l@kVVcV5F6+(3oexTRWQA*VnT@s(qrNKd%jh`;@doXrCKj)!1(J z4zyAcY`Ft_)hZ{}J8&Y^pShi@zXuy}nf2;sWy$gdE`PE{Ykmx>sAXDuB>8^b_K z!0P)~fqB1ItOF5l-7rAB`X1QG^K`JwQ}m}kPd~&~@L9Mu#il~s&d*#6)#oXOsZzoE zb$;a#kf*M$MVi#*DLRuB{RRE4_oFY`3;n>TSBTqrgDa)p4{U(SK=Q*yr~~|Pu_*lT zu};=QFUV?jDSQVE|MVy6*q~N~cwH8fy+Y_L=0c8a{?1qb+t)`MtAZQ-9|?9i4n^*U z$X%zD)Z9vM|GSC57V_6E)rKIb|8wx38`gr)UgWdtHpuFQ0Q~fSWj8nvMT~wuXVJz* zG@Dy_Ki~&eKKb$<+BDuuUpYMzY!$9vdx z0_J721TsI`^q)&-&!1weM_zD2? zh6&XJaX2^}N2lWA*m>Xd1>h09)2QwN*9V3;7JE$lbi9n zw_^T*D(o$(us>S>8#{!uXcOs9b+USw zb`E8jQ9*f!Wam7F?outfdMoBWf^dzxcq=Bb;vGIV3p73Z#BAEfeVJXn74utyaG71a z6%$zT#?QzCP0v0@cjbJYeUWbDQk{K8hAEaexi9i6oqe^=z9wWBlW%$}hEk8Rm>SOu z@vWFb=vNTwtr(4uZ^dYQd@Ba|feCyoCSu`RF~ss!yeEIuN6qBfus`BS7ZB=$N$1gM z9zM}qF>?~m`_y@&!_~hP6WjA;J($HdyzJpH@oDJtvS&isf%P5c*-#dBnCC-T)Cpe> zWl?$W#4Nzp5QScG_`KVn$ACcji%_QJ3%(WOW9^MjR}Kaps*}$#d@F`@qTIu` zVxnxAsqC8~aBJqWZ@qv$i;jlhb1rfxK+hk#7=?C$P!^4uBSKmIH6gIRc!<)%zC;WN zl$Q);KI}fctA~InW!4U5q#RXl3l*Ry&z1tJRb{k_3hJ|!0BDuky6lJiDh~72sH6N# z05mfP3RD!JLsf4AcMp#(1hOMz8F?B2j!~^wqc%9LYn0j$=jwQ^HO}iA8n}7Bj?w~p zVF;ymp+i)oYju?7;q_fZ0}pT1QJRN$>(Hp($Cpu;FRIlsZX}F{!w1TL^e8F}55aW| z--@B(3rD!X->1u1S8>gLR%gFbzW5R6Okm{o(8pqM2>>62fFihYB|cJ7ftim(0Cuz3 z!e=2sbL86)(4`|uC5U-}3LHs8faXX!1Za-*2?0eBaeex!sKAlV5TH3SCh($C?H1y0>B?TM^2=6{Dcy!rWUi2n_}z zd@ClJFS)m32w6Oqg12JM0#yck?kN?#H|N{RVkZv16+@#Njd~t@6SYAMhPPrg@O>&6 z-iq;HUm&~{Ae={ zd57Lm%XmA$`Z~c|G3aLC%U4t#Zds3mw_>O|QQz{p>pq;ilVmlww|JL^F3r#x|cnh%TR?q^Rk!7GhOesT;}zP zgycp&Y@`!QM0X zIJl#J?-`ea#do>)jD(2mYVR3(>90~9xc98k@oW0Z-m}5D_2ulhz{6GNeH)HG0B_V@ z0XF=|@&8lz<$-ohXWwU^bN9|kToOADiNw8m&9o)v3XLH_OhsKYH6-RCB&eAZvxj@m9!lz8rAn07oJ5BhGLiKN7{U z>d+h*q<$R<832Zsq24gV^A6`QN*(IRwC=U&&3Mwtl|ETZ^@UGt2utFWFac%YysH z;EuL|0Wx7+e3-wv&+LWc0<*TE1-`K&eHcE4CfrX;t?sZI^xklPIF> z^Q~3#a-ie~ZAW==<$eFP6z?`v$k4W*356A+;5FM$Czytm9gcHGz`1tYIaQqNw|#Gp zTD8e1R_DJ1&JEipD`$D8BbnP+5yY(#@|p|11>~DWoz@l(_DjInGFqb?40J_+*wP`c z1F>dmtF~zZu)>Kmg0^?`x2y235N3p{pq)ZN0n?tADbTrh+prIPy(w>=Z{4wRn@Zca zZ7-6Ta_p*Qq-kvukcik*jMAb3)J=5+u0gLmV|H1nY&GVO4>8 z8K@r?N=R@UhB!)32sRE065Ku^4$OhleN!AWt`Du&f%0m_%74s9;>~qn_m5$BIm!8d zUf};5^J|36a!^(IiX1eEt989@6>d$-A;}1S8!|tTpISM?$($AR8NaEd)y`;ofTwFz zpdUK7GHOBXO$O+#mqT1UKySSs;B;8s zdM5y_WBkzJVuwWBz9xI8Vjs2^ta>PAW`H=1u{%-N9 z{BLE?Nv`l`JZ|MGSCi)}uGZc4(qnI~mmRLZyR}|^Ae|0rZu61Zol=tdXT}@>UWF#3;L?`<+-w+UeQ{! zJ`)u0pp=wi)w=#)C7@onJ{Q#UK&@`vp#EPE^#$PlcVXSbd`?^RrDTe`b|kc)gP4_D zAJ^CTHyoPvLxwMwzpZ)oA(!JwE-B;$W*Z?54>+AaF0wAG5bvMMt zhPPgxe*Jy5+f@r-~Z)W=Re#PusTM?Mo>-{qAux1(zLT*}b)CcG$wAMfC5R~PE zV3$6X-j>~}D+s6n)@I@TIzjgC19Mlb8fR!ueJCXx6ZwS_G!v(d=i2~9P*^S!SLzBCrj;`+FVCD@|#Df+{%6TXmN z-}|?}+gwcmS$-7?UBPpj+Y>w`2G4EYUPV2x`Mgs5R>jv%$SrPxl$P&H|0~3}`s1fP zd6}dk);WGN0$Agh$!#FgcPz4b2ieF8Eq4G8qT|g7$Wgu@aOEzJLS81FS^izFhnGoO ztuK?O#RgnK&*X%bXFBom%OsqXPoe?mI|_N3bnfs5L@$%}Z8qGlcNmzptQP4t^h*@s zQ35VDl)p9qxWjfm^tkj!JY_OQd5$E{iH=UDOg3=;<0%uP2kLvAG9eOlJx!UwO6_?$ zW#V~)hqsG#m+g95p*nkI{(&(Xd9uR^3P2ZTh7+#q#T?6*@?Kr*y5?*7Rgb;fTw4HH zJ`c7icusR?g1?TzbDJ+zQO|3BrqpU9=2#%NXhYZ8a;NNDWa$tjta*qj&dVA z6@nRLHzdala%SJYlNscgy?7gDmj^l8WcM=Fkb}Ckw1-o9u@&l>LPr$0!Z<>;YELU5 zp`kWYY4;iAN-Dm5sH_>(YiEKJJu@wiGrphn{9E**K&R=hd9T~uim}f2?wZo zi}XTi$R_|$JX@n+baW%#;aZ@Ut3B=x$1BgNY79*ie-Ql)%y3yalw{`Ar%R()4 z?=alf$%j?5^#e1(`6nT6t=kA@KG$ln`)lEwyLZDDUu><-8lMPxmOn%je~(|eS{pX> zRbyB%53xmK$ahMs>iptGf#)x4JRry{ z{}K!`JAs{dH}fb{c_^g2V-+W%Z-79C*!v~*q!eHT)DZUknyck?njWp z_}2EW{oK+eoEO`1VQL55kP}+&>$Jpnz$5u&+Hshp5IbDKcsq0?E6st=&wj1%>O+vT zJ%q0%+p9|VcyDD5PQ#(*v=(hN^*oSPp9bv650syR`pn8!Kk2OrgRJB;;jJYdl9j5Q zf~qA~D{uIBQvcvd#=k;Z{0t)R15=3?K3o|8I%6^Z{nWwZQ$(Rj*^9R+qL>w#C!^xFcp0$r zH_Iab(qh7sQHfupw}>cT>@UB-hbN&stGM*T`C0|F}uC!><-UOb?TE}V?&VWAN?8I_3dR4YzK^{`ay$WSYp z)S^)#j@o@?jW9zSoEMsu3 z++k@eF+Lgf82grzrGW}^rJcqC!^9~Y$FQC$*6?yjs~D`oQ#?{^5vjS6sW8+yy9e3`hc}V;W!!9!%b!tiIY)@ zM0Xh&;7&%R|NZj~C!w8hdME5zVqrY{7Jg8Bn#|bd_IEu zU^6@qgFU%ShH+Q$hjwaDv2Pvj$yz;-OLL=dhV+e(m_=hWN6aqLvdz*SF-wd;V)o|) zgf2Z|_9F3bJ--aSf(`)VBWAB6$&DZhY|ZXaP6dz2?onzp?7|VVly7cv#4K(Lh_%In zBW4MESYbF~mTcOI;fPs+RNwdvqtbd#>&oR^{?j97DV&{_O2ZMeg#Q&v6^21YTC?h+-)Z^~Ef~`jF62o2k@zQ>ms`Q+0dQgkHO3LhUMH zCT(i42#sZmn?=j2`DR-jUr{O3_kLyn<>(h26zeNf`yqwzLVR;Kx%1sfu|rfZ+wrFA zihndj?m7?zbb?`JpF*H2k~h^VCYFlQm#@2${vn^}H z!=$z)^xG`N9+fQag_*egpTI|&1>Zp8SM-&nG8Y@by`_`mV|^T8;jidx*(Tvjz&Brg zMem0N^-Ts!+v$2-exq5$lLa8(tA`m{4d*m}Meu1ccy2S7=V&+TdCipwCbjS57)1iP z#d(n8UF0h*=Lg#VBn#^Ja1JhW@HCAnj@}T@p=6>FZiy%Owt;MI+2fkXPflpb`XfS; ziAH2C-w%A{F8Bq7Oz=6E`w6~iqLB|pzo3u)E4JgX)DCzmC$wDMX^AHq;k5iH+OdkG z5IbDo=MJlx{K!Took(_%||mGE1?pgtwAhvxGZs6^TlC9WZLHj>u0E@+=<)a5;Aw z^RP@x_*VhRH;yDO;gQ0h<%#gKb4=(MaQ70fWSP7GmP;)TwiZ8t9c9x_-VBIKSVbE; z&F_?MG88v8@0suVz)z{n={a0(edtRVz9@jGwOm1jCG22jZ&ylE!VZ|0a0iN-KLgmS ztUPe=8b4i5L^lQkvw?VF;LutVgArT}OgY6{)oI6(mi7&1r*$PTQ89&Dg*!7i0>NF{VEp#j;EDPWx8OAH*Z z&>}HvfRS)arnE_2nxE z#HT`vf10$r0r7+wJhyqMuxEKfJ+Ju-f=L|@h(TFg2q}KR*>b*2N4tQ>qs$}07>;(K zJ}0!NQ6?~=E1@quvQ`#_DGz)>S0*e^Dx8f zOH~&3+J!P8u!69#N2Z74g*^`ojljYl5v6Ly!k&kvT1SRj$)pyI3USo#s}C3UC=^aC z_E`}H(->+CCSBO`rfMaYg}u*(Gs~BQp{jFi{Z5f(46c&3wtk-gq&rcJuFGQ zuop;C;p6H7r-F~Eueg%x{BTbzFkaZ(k|ajwCypdu*bAhn@Kfpmr-DzfHs#D}@Hy2& z&aVbftfNr6x%T2}uv^$m3gYsRTFV^^d%oO*IYcb%0Ui|PRrS+Xc5W@$*2+PyhQted zs6NJAL#J-Krkf1KU0d&&Z%V)ym~=zH5`b^1roO$J`kwl(zM%#}?yv7fF#V_w!@?dN z#x|mGEbI}!9~ywdv9Omo^5vjS6sW3uvam<#2f>}ny>0{Ij9{P&N>^KDVUKJ8 z6PFUm!X61wOa%vX$}9_eisN8Tak8-I1qV)$g*}w)!WZ^P#R{b|WnnL=7P7EcMJNk< z3U0X(K+BCGRN|G5(HI@m`AcEVA?J(ZS)sFhzlGys?nllVr^h&4=ZbE4Q6F+H&<77$jbfQ|EGDxto0XG z*$Df)!m!FlHtkWc%0`gt8=qm6S;OnU-srZ8 z#H(qj8^tKeQo)*0?rn$ISWP?B{r@!gLvLAG^Bqfjdl9o2*PwQl1Edz=N>|gUh8)zT za)wiR(FM;cbVP9!j3d++r>v$yLPKq)QsY6TnqEysUnb0w4iJqAj2bR=^S+uO0 zZ??rLpYL+YUpa^VJNFffOJlD5M#F8UBVvwBF5knu9UH!{b_n9EVxo(y=w&$!U|fMv zQjUo#dWAhyl-je&P10{Iz#hY-_K?2T#QCzgmVUv;0}MLd#7exnW>yzmp$ z=mxXjWY9x0N;nML%lS??=x_G6I0~@xs2wf&x#sMiLC=Qx;v^DHazy7@nIAf$TY>jA zV$gpY_X@!1D~My4G$@x-YG6b00O$>Dkq~ASsi4K$0zm=Ol8)(*@(O6OV5BY64Uvjm zH53VU>yWh^C-Z8gt?yvSgArs98(Tz>=gr!7UpupTu9eq1SKXnzZ3b=8b}~ucK<>*& zyR6H98<1=nN>M*-9dau8$8FC9I{)Sb-WdqozU`Ah=hKelu7G66P>KrQIpkFE?$xI3 zSq=VawUB+P!K2&E<_$VXRqo$*_d0N`@mt@Wtlw@6@^D~CqMQe}eJ#GWm9B;sS|0Kb z`IT$X*$w?4?1>t5Xvnh&cvRjIA&&ACH@0nYAvRVP32t25>TCHND9h1peX796w%xF< zr{+?GvRvBstb9t^=4dc;boZv#A?E}Rxgw}Y1*%;^ViokOP|!+oHm7!DCV}s52i@oz z1{;tH?VoESpw_^5tq=#Y0Jl_bN|>EP;=83oKIQ~JI;I%3j4Y;tF#zplK?S;xK+k@m ztVGY4Tw7;aen(mRPyPzeHo!Js<<*8fP8Z^~?%4kT-9<%p-d5-Xyy+3bkx$H4}UyKxlJ7#a)&E=*~n|^9k zj@biemfwuiO?(AuwJdmg4DM*VR{)l}+-xhWDn4fKD+0HkJ^DrY^1??0H3Yc)r9+(21d$;|117B~-r(8{lkJaNanzg;tQTsARR!v0kjG)6gao%?h@VTRj#qEEvNXH zJxDS|y$AaIeeoPAmvm(sAG23QtDVvGT=8^`3iJbi9J9w<&@~E{WA+GU!&I;wv**D@ zJd=cD_7ulAHRY3I_J~96O=47W%%0*BnR3jY$LZS&j@k3z)C@UhPjNJ(b+PlFd)%~K zA6#y{y)A_Jm_62a|KKtL_lov?0_YP(+iR94&dH@}k#p%xXu6f@otzg{K(0*w#nsB#NnPdMESgC58CKAs6(r95wI zt_7SjEwxHY0) z`ZC)rI2>>H`Ws5^MxU+C1BwId?}Oqa$kUc^czsbZ)}S+7XNsFdKoD5p7>h5VFa4n*W=qa?5z=INM<=0rTFUS|Jdr` zPcJwD7P-?4FxJb%(+f@&KrsRKaP~Bp(+dci2#_xrIlbUga1wP@jOrJlZUoBrCOEx- z9N?|BU!U1u5@f-KD0b+>Jn#ZkxR?7HDmPb)zd=Ipu=F?eqC17XkdgnC}H zUET?@oYZ~*#i(OY7TZFKKP0ZT`cGI;rrD%t*HN_X8+?#2IO6b&)gjV*Pfj&}VL74Y zD!|E=1RKM~d~M*$&=5I^__6(Ip|MuIPcK}}hY zhJgiL;k!F+o9_ME#x&_UYS-e$+lOS?bJTW(DC(ghUS4pHTK89Y-?Oa z5X^Vj^0F>g0iGk_#$4FkvyGhqNH+Jx?8W!-9$a2vU&Yep2&y3mb!oL3PUXc%Vn$Gz zMiigHI6{4?$Z`ZEG}LA)HDgMpnqE!C(WO$&pkBMIkm#9daa>kNaI^4HvqMSMos5h5ka6Gb~T z@Ir6ENszjn5mw2vM>iI8u9Tb+2I0lyVoFU1zQGw`M88M0KUXR~BMiJI)7p656SK9z zGs2u-$}>NsuWC3Wj5D>S2KeC_^6Q6ZXtmMs>}cfRc=+3lab$Q#&;)>dOOoN)c>*w~ zi(*v20Cg2m(eRAIz$-^2yV{d>9r58(n0;X3yYW%!AUIsAFGmgo+__Sdf1I8xwL0FF z*T%cDw#R3C4--I^E6zNnaIO?!0qN%_PI{&Dq$vVvYUMq+$>sF%{SZPI36IMF9K~(_sMQu_u@GkC6!JenLWmI z7!H0<=a76?jxdD<3+hpZuMqKwq)iI1_*yE2K05t~#5KKzk4XC2D&YIE(#=X?L}JH6 z{o3m-HzF?G9|4AVzYyjA0B^V24QiUm20Xw9E!wcJ1xraoc@#Ctyd^AcZwo%=eEAMq zrtz`ZnB~u~VgC)kat-R=D9^N$k%JZw7EL=F9r9A|$baPKfR+eImTkN&Qmk@Sw0r|A z{sx?kYzBS5nq{?aEdC+wd=s5Z>S{na=`-d+#~iw4&5b|f=KqCcs+cWi7hF3p-*+Qc zY5vaRX#T(2)e4TAf6QKNfc5usqO3FGN}E5`kb}Cy<_|#eG0H%pBZ`KHdT+|>03Il$PCG`1W%5^bDOVKQO|46S8DBaF^GZO;u=Wt(ON!w zjL+GsZS7>L+|~}a#N&&-AzLf)xF+(G6IwD33=Jb5Um$DwG2kl?!7nIeeBoT~#~0B! zhko?qEkupRcAT2p0Z-+GmYX^)u^n()K7n=|gGgO#hl@z{c61--_-*YQ?PfPUJL98G z&nqKv(l;^L)_#TPaH|S>3Kcj&+}6Qoid0Kc%?oIb3di$Tvl7Ylkli zAhedd&IjAtUE!2#+KPZ}?GBi3dQP^r|IZ$_gn#IG!-ETcgrd}39g*)SQaS5wvL#O$j z(oKfqrsh5KT_5-I@)K@r$0mtJt|&kAIq-*51w~A)>3W`MTl>wx z-vxQfH0(alq`(ax^ptK}I~3YY?3)l5OoS06W^&egjBN z&R=q*;kI@ar5V{znKZj&jOSrbuyK2T;{+u;z>q;gKz3jy^k4&h6LzVDLn@(T2@S}O zOabEzUt-{Rg%*iX6AX$KM%ACK&~z*MxdDoA(8_gzq5>NyDm0ZfDL^H%CL0uLdr-&C zwsw{zM>8yR+1Abm1lodP6gM@*aV+l#nJqV_aVL6X4bF@(ciFFUgn2TI@!hi@VV)j? z=Qbw`dzL5E^O|=POzL=q3CiLENb%2EH7=PZgVFJ@?FcZ2!$+vk3GHdv221ks;8O}2 zK01d~58LQe|H0(XMFb-`7eCZ=B`q7t`NCL1xJb@Z#>q|c!DMh|c_+R>=Y1)WoCdsn z4DM)KO#qg<-0xVcDvsnFBP2N)y%!{sb1b0LqRI3hVc%m`OOJB5M* zCPZ?ADbTrh+oAjWdQ&cXoONUz$$243OgUb3yd{YvIRhzb$Np^rr-Bb^drvEdZ?cT! zq;(2HBqwtT#{^b?(ze!#&g$a(ZwRiu#+76o$*Fb~u*DFoDOnx}S`UI0SL7*kLeLo! zB)H{695p8d>xG(;g#z_5P(Lh`kl;29ag?4AY#b6KxP3w#m;{*G3r0$r8Eo zK=I~}VE3u8yQfIbXN1g_Ayt+APO|kUj^uK8b@+g(Q0QjJy$$k zqXPY0Eh0IY3%W+Z63Iz08>WIKlGB3=J_!{kk(`R-lTdLI$w?e)Z$%`h;u4t>$?0*r zR)|PW4^GXHNKVC>2l5=}J>NaLKDg{W)fPe+$$7GAR4un{Z8Sy!W;XoE(|s@{wH%HQ z>@p;BB~{>I7Sz_mdL-8ew*-@-J|rSpCm=T< zd^k_c-tdVy*EIWZA3dsOFTiuD4E3A}a<7XTOu8wGuIryi$ZzYY*ThP>S}Vv109W}J z`v<|K9xK75XSl9ezU{oC^pCh&!MB|k5Lo&yhDx7s4Sfu+6*#et=Jh)I@uvBRyN zII#2pP#g-&wP7A!e@!xEpe-j^`)wasI>ZH*HV$)vrA|u{Sh|WR$XAcFNMPyOfNm5+ z@2u}2!VGOW1Adh&2`nA26fl$&abW3|PG7NIEdKGjqILqxEO;QWl;)XR1eON32rR{| z5oSmbSV|bB_)6K<*fC#fboEi~YKOmH+~jZ?@h**LTGM zDn7K;bx(0N^|qwssAkVA7G7wU1;k=F?eqCdSTD*_rCJglqGn-f}o?20-L4u%PN4VucY9fj0Yr))uW6~V!094&q^ z4>1G>&x8nbi{N0~79{bmli=W40?qPwK&oID91JiYjpq5N1PvSes|4(xmB0lDlYj%R z?V!RtmchZah_2A5tnVdhsnoV^!NGq(F8ySt`^YjZr5+mMRIIyHP%%Wx0e6uZ1 z`C878<(bYgJ$z(&Z8$*9Tcj6CLpD>OcV9FR)_r!ro~Py?=skR7*}rqRN7e#9vV50#vDgvX)EzE* z!ue<6K?{GfWucb2R#_21y}ZmXKCW&_>~I*)J{VZ zKz(LFzKVO9jsvJ)5h+=oDB7Wcc{Bq~mO~|gx{_s&ZY(~48p4Y{c(wBn`S2slM6W`0 z4*}HRHJSE4)tAZz22eY{l-GPlUon`;J`vrwlW!8~{C2W0g7DkPv*2Yu23q)bGH#21 z&{#j!7=JtYD?w)Y$6zbp#xIIUzMbq$X~o}8UikziU&j?ua85|;>c&?h#b^%d!gUSI zV_Jjo-W1?&s%E*Z8;k#TGP5;ZOsSQALOJ+$GSN>F?TaY>b~1QPrvI-+G}3l9<+PxP z%ox^(x5L%`C9zw0`*$dlHq5vAmqdd40_1yrc}Z*uASY^2jOrJlRs+^0w6cR9q6?{whhRXAGSoKR&!YQNN_s!;JV* z4#V4-Ul6MRbyp4)t} zih5pio>HsP81q7I@jDvlUTf62WZez~@w(jzF#38cVdXG3C$t;|96T9^Tfy#pH{i-2 zI|^C1bISeDHwycT!`tD!*pACmJK%<#(DGoXCAI?|$*-avM>`6!!xfCTqkGtw4{skW zd<<`Q59|eox5JKnto#(zr{V2{K~`0GJCUqZ5vn`GzTJrfK(DsCnQB}PA z>V!V?WAa$_7VW!ogtsqP5S?BnW1-gQn|P%)`Z~TaYXU)uH7dhb&p71vD9j!&KwJv$CCl*ypK6ZScF9 z88{6-U$(NYjfv6q<;TJ@arT+1FGj9Zdq8IbsF_uV&JNjVifCi{U>)7O3R`ANz*xA^=dZVQMt zMbsAu;}Z5mh2daaviZu~7YE}Kr258ZKRF8r^6{=D~)pd55*3- za7eDh_LW0&_i=DJB=^;GY|-_2NG|F|F-0nAK`)j6v4xF^C#MRJ>ATM}l9Gw1n7w!e zo-ThNH40a{4TWmRL0!HtkWWqmP~3{PqRMERwkYxp`kWYsqvsvO|Pcv_LzoV z`?#fcl`xYw*~fH(n?=j2`DR-jAJgR1B3sEhF+C*LmEUN%ZCBozMsk+ukxfan*J9j2@`(aXO7i(DgK( z1}g*S?Aj~KJ&(j0+Ey7(r>Q5g5aB3B!}F$OjR3lyh3dNeWK&RoX+_12P_O=R^J~sw z3m>6$+P3Ho@qI-wLcwxJp9{pRT^Hk5%j(_c<^ss_Php0F=QIx@_=^}kxB1s9>Uqug zm0G=nS3k%tGIXfEcKX)hh9d1dHT%JN$aDP4buZLwe=&~6=7g54)WVg#`oZq}Y4DYg z;1?9~%H{m&U%9%!`ep61M93admtAJW23*1X=Y*E8Iq~tb3tW-EM+4q+6te8%x>|35 zzVpeh55|lp-@IG>7iMz+dP7`xa{$41a{&L_%>gqe#hU|;5T_U8;rU)F1c zi9Wl(h3n*!%>k}Yi#7*50#cLndmU-GIY32eM)p%C&F&cEdDs(#zwd9HpkxOaGDrx> z4y=S8Y@x7AB^*)-9ZP6Hc4P_|XZR8W$1Ai*jGACjtT3wnY=x!){pSWK&Oa#E1&Ru6 zoT$)L)}#QH$eL_WsO>==H=6@klI(X_=(0J04G6Rx6a=4(n;PPh(W>hO!_5KaNptkY z$t0tB((DFfx<6@t8iVIH?+|u5vnB@5Yra4*spBUND2szY?mPRIH!hiE1U!DyYz4;f zNdxscq1w^MlY6iv-wu3AAx|2ov!bJy(GwlckH{^4wbX0#YJ?BRUH(rI#QD0u^XzSL zHDKircW1MVKO6`0V!O#Aq8xgS{L1COLx+#Zd3Xp(MBzu|Vj`o?ScH$r(IRt; zkI0euP6#tFd_>N}46iR$`H0*DLKzTPrnMc@WAR7iCB%rhX^|!b}PLa026x$Xyud{LYcYACU{B zsPI$j0jGjbuQuh(YVbMLLe8%SPpqR*y1Dk^YOwo=Tv8C1htyi`_=ub@cYO!wi;u|B zf11Us>VLh=6{T%=9j=DNACW`#G3FXNm2pis8H&5M-ZS5nfG?NJ4T~DEW&=H)!81dOTDyU|Vr<*|O5}A_ z*Zh)?$Wi*oaHn#w+kiMD7^s5M)mHh49N7RSE+vqU$dLfWRB(``%<>UA#c_0`IQfX2 z7aTZYzlO=lrm`-Od`T{#I>1t~La9voh+I-FazI++@7wa?d&!&es+7vuPbJ^yCgI9e0TW`#!vC=_TD5p1SD$SzS+^rso*i$2}*5- zKbYO7d~=K0ZQK?RYkh#(ZNkn}7-qN0rhNcrw+T{x<1-BE>N%||k9PS_XSXSwZC<5e zcAN0?p;Y0R-6nhz;98qxcH5JuHCtx46_?a(nceo{Qa+j8R-AcXaN|#3`^v{*hg_K5 zc38}AzvAFByM6z!Y=8EXo<0GGx>0Vh_>FhSukb}B>_ad{~02DbaSLlf1AP@CLE3?~>&`_JH)Ob*-rdLzZmr6B*dhIMV zwJUC>#ev0Grnp(OteS7O#VMZ_*%as8aCRH#t-12!&J4bvn*99@Z%4kaVM;ruq(>7X zna3tX%1eb502M7b*jH(O?9Is=jpE&vcl2ezy4VKkym}RrH-(2a>$ZV-QTZ{c8pU^f z=W|B-MP&zA_>}Dnwt{(Y_y&-ikJk^mTv@aXraz&4kvhI43^y# zRn)SZLaEiIn6ic3;>VEU3&K|czMxi}<3y&)bDZFo_+7gnWNSMa*F=7DLQ5906lF52 zi>&1<#X}ldexmz;_)apSn{8u^QJLEbu;foFem!0q>*iQKJzn$?ff!WU$gXOxk&N?dq41WL-Wt_m-yA1?#UEQ_^K$?+@<_F$G3}7s8qWl*QvA3gl|#;dsI>GSq0py z3b^+Vj{%nP&leFgsD84@^ z*9D3SY@DdjRMw;bmB^ZGP<;K-LNOD*EXioXmyM3^LlmPpnebIyGJtbEqv^s147`C6 zI_#Kkt?~cXQYZtbHY(*P!Q{OAK^(H~O$qow8Yo32&@9zRd!rOy+n z&k616c>+uFulYQ2dhlFx|0|y-b`H5?p!r(Qt|Fpi{d%ol?s%)|o;p@En7wWj%&>aD zI$zK_2G#Rdk-s;QKmYjc7+jwtfB@zF+VP|My&}Axe*%v3J171JbtM^5|6Gtpa;<#p zc5A_qfMm1!ma{=ZDatvj-bFBMl25|_)^e^KaBf}Sy^3?Y`b;&;7huPZ^?Ct&`D0$e zI(DvG)A*Lwv75au_7}Oe^17d*ipmqZqi*nfI6U-P5qmk=;PYXHKx^rD7P}Vwx?zq^& zSt*qMat9~9AHjD_3F;8X**d!KxH-hJ(@?%!Ee_&RzPmzP!grs+)mlG;-Ey^DnUybG zVjvx>)@_hozm8AY{~RP0wd1Q=(^uFp6#R9QLzIqh^PfYaHiImiDr^SY+;F<}_~%Mc zWREJr7LH(^S~m7+V~`8^>v-1pz#Z?xmVyQ~k9WMUDSi&|oxn8bJN)eKvYRVOo5t1g zVsm@<_jwmz5{DEX?p!v`{wW;sr|x|`;Wh&}=3RJObk?hjsdj1gIM;Iiw*%DX?KGVW2TB0S6bseCvfG@T=#AYXnZ z{9VgPmlQog%x8igLxy~_@!NZ!jKOo8y9s-iC)D$rClX9*-)OiM9hAjOkfPgrkF;|S z`tsz4TV^{d#k<$e_@xD`@k8cb$oAzUyCGm$5RLgZ*0SOJYnMzF$q*T+Zsn{1O)eP#jvnGk2nHC3@)P`BK zteS7O#VMb5aPK)M_V|UHE^%G)L-?Wm#ucm!Aaj6)&qnNH3&1z&(si~$09i+8HUwq* z7a{IgUP9b`=elghZF3!~XZf+H8KAI_&W&Ut8!&BX9iy{8@-)lxpVR6S@hg{n2-Yj@ zSU>YV?>H=5KOmp!9)ueNB*$jwir?=8J~$CcR-{FyJdcgS?6I_?_lxLf4h2gyMJ3hTIg#c_by+XwA!aT#EmkGHa2 z?m`}K0=T>yzjAfl894K|fv4tVX9eUd{mypgcLgN#vfqjnt6UX*mthQI?M$3muUE3P z*Hf1Nr8Aeb*(hHLoyl%-KoS7Iqh!G>5uAFD$&3qtC&n)kym5cU5<#!G82~T8wesBi zEPK2}P?BUBka%Ap0A4v2ECKLJtxE)pf?1aca9cpEg)smgupcUn0r0r>PZkpZ50L5` zpY3=z1KxzKFpR1}N;^s3i=LU{b4%3^<1eGjtF-h2vVef8UTm zZ^D8=Z|K$fa|QM0GXO1L!>?S)Sx_(`e~%PzISL8%cFHP-)$$aw&#{-XuC>uAn@qfaZ?!_FrKoU;|5Hu{OZ;CISmOVxz!Lvg1(x`~DzL== zRk>E;|Ej<){x2yAiT_h--(U1a{GTs(?dur-NB?OSCI0V0SCj>W)yhp=4N2nvSXeN? z(5VcG|4U>jPU8Q1t0My*pg;{OsyO8g(~AUW!XX>Y1p;{Or?3RMD$|4Rr^9;q0K|4XR4 z$N$9yfe$7AFUA$HG{_j@|Clk&E8_o{Db@~!BmU3Bjg^W-{2!6%E&~Hx{2%@Ahe3${ zqgI7T{2%#ue;8Gg1ATN_N&KJJAB^fH{*SW!Ll5zP;z)L4rs}F1iT|sTA@P46Y_g^- z694CMfm(_G^I*fG21xv$xZU8HAw^02pOk>HZSzNv*KJ+%OXB}1eJb3k+!FsM{xO1q zDkxoTmH0oh0Zd#%Eo9s>gi=s|2CXrsmJ4RilUwTRxP635}{~WbLn-8ZT1oC}21tG`%MQSsDNZoXk1R733xkkw-ldFat zool6RrI3Qc)x@pg2So=t+TlG>YTW?u((z$9Me{Mi(+$o3@|XD4n(i$=3a3y}s<}(~ zbp?GFqfn`KL#|V2n{bMx1oo(++_MU}R~2yY8ORRZ*z670$<}Ogf`EbjjTuUIfFXl~fb76Z=)nfMH0)9dhg3qx5*m;lnF7WczQn-s z3M~?&CKwbejH*9dp=k)jxdDpZv2tCYsKCaF3Qc8A3Q&ox$p(em9@KFYPQi-A*Etrt z?4M(!1Fd;NC{DsD6vroo_QvkzvU}{q@1#SDR<2Cg-@P!#cbBqqWy1dc7=!0F=L&n4 zC)D$rT^Q%{W*@MgC+TN z@F|5XOF5kt@6R%@F_Y@tYz#U^{eBcgX@qs%-pmjz0DZU38 zgXwKKa0ejkQXIIW6voXsaEGvULFcROV0YjSagZJ0mdK#qidL4E1#bxI;J_VYzdvxt zPHD;7)h_;2!WPbv!llRSxT6SzH7-}HrafhA)#gtxtXBP1Y$=|CL0YQ_n-OPeLgRG- zWI1uOW84KH?jzvhT16hP+gi2P4EY<@st;kNuT{SRrLR@EEACK`)GC7h0FYLlKW7gM zz@SL2sHXxHxuRM{Vc<<`m9a9eRe;5{>O5$@NPdb-A;Z@yfPz}36k4kYn*utmBCb{u z2iXB`i45v9Y74+E3%(K5L9H_OFSu4+EEQz|wTcgbA<3FmuV>ww)mqORZntJdj9;@_ z>cxsRtMlH)n$<<}TPr``hq`Nh<29>GNiqc_-Y>Fdb&GN;cuaPOQq!|Mw2AV~Ew;7b zwt!euAUw2*us z#ev0Grnp(OteS7O#VMZ_*-xEw|DF34f_U4<1LC@39r&UA%$B&{_Tc~v543pP7C_6@ z3tvI_5Mp=1$fX(5_G?{x|2-N1^%p>v9|JQq({q~Z5PU)mp4+^tih5r20j2h>h~q!V zEha!p%Vo*CNF$dXeL)E1vXM(=KZI3TqHp2`U=S8-b6p(>n~A4)rxa};8SYl+^DaN9?4)Wdtv zNO_tL6-zx&Lxe8%;I?>y!kxfqsfYMsFQEye`@|J3^>}>oI)%8}6)p9|L`I#l2unS{ zS_84vL*n-ohNT`4GrYb6%2LmNgfbwog0R#>rYGa09y}~G0!uwae5G2k)Z<~P){&uB zGO0zQLL9aGn$DvhC=?DYF8T+&`nvOKy42%M)%GS!JxdFxe8&U*x#}ESe@kQ;gKOo{ zuiJ8pk9x>wc+T>8M-m_P5J*wsUX~Ein1{6Zl0?l@lp?}k1^NKsf=s7$xz(2^`7~r1bjj5x*=c*z_(OW-(F39PrW5| zwp(`ZuP;q7{iqJZQV$)*HllDW^$^~P2B2^(^(2mbIcO6FYOrZ<>WNpo5m2ZSyxEOF zo2^oP)s2dcUJ1TU2?8I^PjR#~$QYJ-m@&;OmU`#|)((YZsmH@jW)+F09wO0Q1_rpL z9{OJgutOR~t3qU{hy0tp%0~gl$9NPZOFdqHFc_Al9)R`XD@#2vot>Dex~fK&da7i| zQjZ6ltSO5u^>|#MR+f4^*s%Dgf8RA5=;;ie8B)~R4b&B5+ZwMSuNlU#$ZN9HL+LA^ z9xC^`4Tv*>fhs6nZIz`SvH?t7N+3%;BtS70-Isb4$5E>amZcsqIBCwfY^ zXaa?P(S+Ke%`ch|0{MQ?gplcPNWI_>shjRCRToVt*Dacm=PZ@7mB}X{1%<1LTf+~E z4sx`^GP9)0Qf?F8rQ^dzlOF+3H#A4dU*cD5y4T2P(L_b5<}T&edGcM1LZ#XbxlWyJ z7EO{8*rSSa&nn$4sjNu>Dv>qWpitX`I&KzCSdzLhB8w($K%g~!t>R?S zL~-nEwO@0uY2l)Yd1-!MI;3dP#Jn^QgE4+UAd4pErFo+mJh!>RY>em<>UqsA2qv|E zp!1~}l*N{i;$KQz-neAZ1n~Gx^m}0Rk1km>f%=@#p58=ZNj?;ON+EBePG{wts5yeZ z*|{FK!JQ=%I=84b2fS@MlFpI7<#cWZWIi3@6}bH$Jg|8)P;zx{sQ8`np~w7AVAv~m z?rtQs9I=~JiMOX+XGM9k(m}92&8+AT?fhxiQKH@KD~6uV1DedmHe!9}f&H3mUqgFp zonu<=ukO__8F$+PPZbty3taLYlkpC-Es$W{7Wf>@@@3MIW%mnPPH1yS#~E!4oT&sq zbp-QTkGbqEa9bd3DQHmhBF7tU3nYGBV4AIWt=Y4?%We*L$QPRjy1zYa3;d%q>|y(- zbdY3Q;31N)+7P%Gc}cegJ|{-yPeMcq58}eM!0y?uT#s=oTiyuw2UB5|CE8;{YeY%; z&SzBC$StRKry0>Y|L@0Vb__6dvhnkJr;FIx(@xEoF^olOY!ejC(sC8w6Zt~~FP z=L1J4q28al|8c0d(F658hI$hTx}HM4VWqyLFx1=g)LPyLJ${4LmD6bCY1iu(m3}v; zfC=)q;Jpo2Ub*w6#t=|F^e<_0zi-Hny^l?KciwFfcYGm;KQ#K0>Mvi*%^w>Bc+>A2 zxp|;5#J8u;ha0PYAic#t@>44>o^J(BZuoNO{BxuCdnkwfL89QlHpU7dvz)X4YdKE~ zI3I5uLz0B^sm4q1drlSjOyhBa6YA$1rv-XG|JLgHd7$UT##vQ*{?V8eaL)M7a$X&9 zzTCK6IXV5-`IfvE(i`UX1AAK_D+TnJ>9o!{-4Ml8V9U8q(diA&DR%zbQ4(*&e&k@& zRpQ4X%m_2YpE$%_O8jLA3yHtBh@hyxY1}W2CR+s+s@J~@ag?vP_O_tpwaP5nw)qFr z*T6{y>T~f4%qm~X>Zp~q&g&Yb>-sxSZTOd`&Vg-)=LF#{AVRk7IG$fMRQ@uR@>R}| zKu(a$<=dXB*Ih25BfzcLHctT71H_fbHmtd?1@&R&kZ##IVy7X#vCR^{9uOZCDm-Kk ze6WjHKp$KX(48039SJ%=X6d}O&DJ&rO}C%|&JRd$i{M&HcZQ{;;QNBC1fKYPHTaKh z$ZfYq{$Mru`9Mek#z4UfDJ~_L(f0EXeOZvXd^ERid$vve@Nbu2RNg?rf2;HRZ2&f| zQ(w$)3%VB7(8z6#05;Ijo-g-rZy`&e{QDx-!Z(6~9oUUdRj!yHNEztOj5*~iPR6W2 z##-Izw4#s7O@pBc3f{$n*^(8!djKx@3ZS?>LtH#h(z&%JeP>hC5v6_Zb3? zkLSu~4cF>p9xCm>kuOL7>pdxl59LQ|WcwX`J{3TS`&NRB<6Ujo?5|WYV74>fd&hi(aL`BYNen9Yy7%U&07xr${^1*q6Nv%1+hB(MA z{>dCT^L!3m6p{M^3kc#@)bEfZUuWeN6~^X-mTeF!SF&geyYm)sWgkZ&uc%JBe??uu zqAffe+i@=>g?7LVIickrotAjf79Pp}MmrvH6k>-fJ#R<%McZcQ{Q3~&Y?4&V&bEdf zf??YKXh<@{q{ZxQalF8ae~GqQdHZLkl6KY_<=lDpf4yNCmT(MLL5MHv&Se_E7J!wl z;LZkQ%I^M{dfCQrtEiW6zzj?6Ye45pPA6Mf`LeS~4()Wdx}Zv&x@FExSq-`HhP1!i zG-syl9U0=!Oc@h{=Qc+RdzL5E^O|Q8Olof*Cs9CI904hMW{Nk?y$i~gO~Q1`=16d8 zmAHa>b3)54fs-rQvI!INoq#L1a}=^=(Pkkc&s;8iD>)j^B&dYgG$Uckj% z`70amY)^n!M|6TTCf+4HK*}P^$+J9)rCi(5$*bdV_dkAhG~ zNy# zqGzVXfhDzJ7A>phn{9E*=c}eKf;cc~XK`0?9`dd=&Yb|`s^G!{llHSt*TQ$TAc&4d z_i*5sQaW89<5xZLZu2?;Wcdlvs8+g%zYu(C44&Iu{;LY=dCkoUCUx9BKyGm^q_j8} zDAl8Nq!8mW!;<@(+J|R*8AH-X8(8B`^ItqED zIJ12J5k1;${~;Y1t=0}~@7RDV=$V|*a*Pune_RYs%8#T0hd2u9z??h00f9d%JFsD3 z)*@V_*A4XkMglH=3*VM*@)jM~mQGdNfxV(U?~rFZM<*TFZtj2Fff+qe-(v?xBO0z1wUTK$f?n_j2i9RwH=n7(BOmOBMCJ=2J=? zyApDXSK8bd8ia92^Bml!P9Mko1E^y_mjzT&bXM}fp(9v-3W&3_gv=>zrp^^N=A>U!ON_-t#cLn{I6Iy=fbjQ6A zT$wKdkCi!oVZT%f_j2s53wt5kqK4dB?;46}U+<40xAU0He6HwX<1;N#>xZpOOAhiN z{o{9dxCR@KP)-m{#g-^vPBoV+)Xd8|!l>OFJVq%0a_~5eI%Y2(gx#ftx|wFU~KTn7}WSn~XthKUpW zkDougDbN1o8R>ZB`NM7;Jn{3#=z;nkpFc!`uBYb@tW2Iio=5w&@cH9vr#w#lUzd2f*bdgHyWHr{`ETK)zkO_3`Bvqp(=qz9t*`T~ zu0=7~-1Tex`ZZghohDX}adpnqMdFWjdG?Fu0d7wFtL8m!{`J3J{P}Bxc^~;6PUl6z z+VkW;p`=)rD(e^isnU7*6TrU&7bt$B{=HC1uX+=t?|@W+Q|5S}&%U?mMGx{z$}KuU zEahXsl}o>TgKUTZYnbHEM`ShLpl`}YW=-zJ%D2e!Qs&}|rR2wK&&o$x(6Rveo*{44 zR~CSwUM)uT3sCC=<)=>bRqBQVytS5FZD{!p((at>Tsot1zYt41hsbe+ei@}BGqV({ zNQC+q@RDzyoujfp33-;+A-ntrNVz&!%*r{o?sP7%hX{6VmwgnFf9^l+BVbsesj5`FyMRXG06f4J*oTKcki5I&mC;faM!px+l;UdBL%Hl&B=iUU>IP)~}yTL&ak9bc6qwmpV))>a-gqEiP zCs#7!h28li;L5Wcg^YNeazCaFM!dHD_j4m}I4`#2nbZ!rAt$u_wbK&M8p9*`i?rib zMX}KK?07iA&7x)1e6uZ%<6-joBJkzKBQM=!X*Aqw<{X#{ zlQRs~%qYh{&~fBt6%*a6^yR&-sCqml`UEMU;sJPDCw1H?(KWAyj}p(a#q39Xr5nj& zl&GIKvX6$oa>C(SXG$$%AKw?--a61>vwHIj$G9z)1FUr4n~%1=5x+(|s_9S8GSxBK z_U7@$Y82wWSsrbBi;0XnV-dE!0c#D!wl@;5uP|(T^Dx8fYm97r8!40lffa;pZ)AGz zaW8zm5EdGNZEqyrO0{C!n}?-ZM}}I-q!x_|an$asAh*3yC>&axy(ql8^4Zp_>9#jD zUxgo5UtBn|d=D6^;IZ{rM3ymFUP4-?C+Zt-d;5kYUTw;m)!=igg`8gvo>)hrbaU;+)nK>n zEh&i0LuxH|YuD7OuO6I)sT4G8>){n*U+h(uIVO2ao5&+ z=9?1m1t#4Pums>+s;O_UroN|sfN!XQko)V05==j;!?5j*4r3cpIJUhJek8o6aBO=^ z9Qkt4CJNMG)85n*uXZD#P$hV?8-X@krTVHH6&t-0e47#k*`J@{Xlal!YFmTz)m1gJ?X60NYgf%KeeoZCvw9w!KmMDL7JExz}w#oDmFELFsC%Y3oAG8R}o%MgZp6SiA_3R*EzP?&4dak~a z-aKC~_2z|ojW@?i=KH@`Kh0gIHlKT5>X=;ppHzas*S~XDZ66@1_mxoZ%uw&E^}4E( zDNVh3Graj{c=J|05dC&|^G0UqlvoS|0B7dk=(zQ+`pdOzn|QHklfEn?my&x%N31Tj&gJC{r`}4?L1KW zj_<)%mdwL)D%YyGV=Z_r%O0xf?O(I3zux^V%L2y7qq`?Wj0$}+68cn@)m6%K!l!r7 zM|UqocP~a7UW)Gi5#7yjd@SmhBit*|-K^;D&B*G1Mt8HLySJSNmiRkzw=SH9tN$a} zeFJ2~Q{D#80`R9yk&har0{)x=o=ySJq=1 zKe_)Pxu28Vf5>}Z__h-`WZ5-V{d=Q!$g*o2?x^tLZKbgr5*D|?j8k3uU$7I@{nB4LNlUrY6GW|^^x6NU4`{zu4o6UvVJKLGu zwG@-zEz9JdA27Lh1e5!BWAghkNLC$9C$BnYEbsO|iOGRCGC6n#lSAe*Ikf%>7!F^8 z$=DT{9JwizqjqC5?q^Jnp3LOf+nF5qB$E?9VshfwOit?cDTJNe!Q_dVTU)Dc^lq*+ea@8;-s~M_tZj+%zWR zpI~zIY$nHi!{pdQ=0Vuc&SrAl6eh=i&g6vtp96Q|P$nns#N^~-n4EGplT&YEa@vDT ze*O}Z)BnZfjQLC^w7!6pGlwxbXAG0`PGjuEfXPMAGMV%mlZ)SHGWowuE?M+T zNV$AzCcj*h$ral%xpH47R~^UX>NA;4xtz(=>zG`BHoM7QQzn~i%Vg8NnT$A!$;dO9Y<4M=&2M6|#r;f1J;`Lt*O_efF_W#c z|3bqy{h4gL0+Sza$Yi@8GueJ0COeE{@{@CstT+BDCP%Xpt#{1xygQb5uJ<$6v-OVK z`x{Ume;kt&CNVkjb|xo1$>ih@nVgb;3(8afhskL_V)FCtn4EqnlQT|dGT{m)XWqf& ztVfuf{R)$F<}x|AeLjSpw;Yr6hcWrZ&P*nbV>0PNCX;Vra>>I?E`6QJWuGy*yx(__ z^2?Q&Trr%R2XMU&Q2^TbNw?XC}XTgUOU{nf!W*TAN6jx+0V7e#GSZ-I&~P z43irtF}Z0vlbauBGVL=aw-g!Je=~r|t!p!xz7vz%j%9ND#Z2zFkI7wcF!|jFOzzI= zV86e`#K z=-+^_Q7bUnYCR;wzqhL-hi^P=}WalwGJe$gNY<54>aoKZB zkICL*dTjO?)1PHa94YVnNH14VS0Ub8PglH+nC;* z{e|f**$k$)X74k-E&DIiJF>-kLC>Ap5T?J&)?|85Hj?Rm+0IOVpB>Ef57|jfAIv5) zeJJ}i(?_!Vnf^I@p6O%R`%M3q6-~&0A{)T;sccoI&t#i0eJa1{?5{R8}#I9$=|)w z)%m-bcJlWk>E8U^J3XGi`=sabcUwA@zZXsK^+hgC+W93z1Q0EILWB&Be$B13TG=8DcjLH1O2=5=3c|k$X(13)5@v4bs3f ze3-BGEI|xVt>^l%SnK(|R%TL*F7a`!-Ob|;yh4OV@TmfaXN~7n;5GFF2%2OaFiyeO z*FoF@zOjxM-7VmotEum*cdY~=90kR{*R(mhhi-Nqcz6AmOv37mK5JQ$Jw1{?_)^ru z`+QCX-(L-Wup0bueZFVmjq6(VdwJ>~tq)k)d7`*gNXB?1Pxw;Ql&5@71wT^_{#!Np z#rkhqz475-koMra>)Qmmq+rZFGWpx*XPtg`i}(6Dp03zoO}Q~a)zsz zZ@e7Jk)JWacP#`_h^Dl&nLoARqkSXq$l_b45!1xT(+lyi+1WNgsT zYKoX_oq!A`#1!jRQy4P!-ujKRSCjg}r1NJS?E86Xs1SHb+>zC=<3eS*AP0zT~aUX(kT8bP1ja>)WyI<8u>V4(hoXYMd-Hk z=niX`g5Zet#lyhETX62}(!e7)x(qMJk9)H+aH3`7oC&w=4?Nn(ZT2|1Th9lQCc0R5 zsI3=A$!7H>2M$Piz0}&2hJhQ>Oj{wR{|p>rFl!Lgz>U&=DZh6a*q&zlpz1gf4Y!)T zbb15*^+reJKk4VuDi{q~mk`+9XU;0v1 z_{lz}T6eZ20(tF~xQhkOL80_l2%PCPkf(Vu6ukf)c(ae=KvurnEDqvgzI%LJ#CN~J zRTYU56!Tm+t>V@p>*nlFP+pu@+~(}9k$MHoMzifh@Vw^o6vs&xQFk{x8O+qqRlGSH zl=<$E;-;I+qjAy|J-Rzeu9vmDqnK&2jfu%EM5MiF%%&TU)__n~SlcGEX&FO{wSl82 z+KUD&v(11jHWUilcqH~zEY76;`*#0jxDxVGl9W#;895j1V(oQ|%drwtswS+2>=t;q z5;A1ZXOgs9F~$aSyb_YtFbC_>ByY;f^LvpLg^tLl!8nF$hEC5Rp{_QwQWJ1Wb$c}x zhn`Z+V7+!lW29%6#epTZVK!S<%{Ry5l&=&&7C#cl&>F?6?er(X0cu{KUdW9kI~&=v z88V>2sbm}vv>WIW`5o>C8m~M@G0$Y7quoH}K(m(JKt>PL_qZE~k)Z2oHxR7UYKOPe zJ030EJ?sW@2enBEV>gfs*>JbdaPne)C$y|d-OFZQ2~PT3vksc0U)u*e^{C#5)UhT5>$A25$}zE9e+*dOQaCE0@^OVS%vWD7W} z1~1b4FV2=)@#hU}Ne>tMKg%SnXDo*rY9CqbAF1ze^>9M8y2N6CPA}Kr3ddr9hQlR# zIA1B2_>2ATB=6R`)+ZZ-#r|^%oMe}VUYOfll<1OdatNN+Jc_{)b$9bJrB>sxnHZG$ zb!?m*d8o!ki~T_mF0$VMj9Pt7Y{J-#p~X*tgD1m9_OLtK9=KwJP|zZKQSR#Tg)H`m z^Flk0j_rUOGKLn%iI&g~cqBWA?Knv&$PUREXGg_i|F&LjgOD<`RBem3)%ed|6qRj# z+nOfU7jH|l2_!ZLO%9w_Pn3e>U~x^DEBj${1)_X+$YL=Cj)ug8=E_wa)Lb1#XEZWA zY_3A~{7jfqY_YK|2+>AXR>K^uOLKNpR-TWArxZFO-vP!kRLlSL91`kkGb?Rvt}3ZE zdz{jsvSzSe+w4SoW?39qVjE_&Wz~FhEKd1c7HHY{1D%p1wc~+st2ro>Q(;o3r)9bh zAr|geF|k{f-eq)H$*)M6lJ5f#>*=FX$xHG0;YxmOo3(lns5CTupa+-9B{8GA{|Jf! zGeE$M>c3If>x?S?<{txA{CGPPEWwN_<6niY;u{E}Czw%n`20&2vhsOMQwwHPLn5Qj zScDl>#@73h2?mB4RR=S~E>LJjbups!2rLt3RGDd3IHT%dzE;erGU7+76*H<17Hd7< z*UC(4(Iq~PwY%uz8C7S2)(itNqsnl2)_6_@UQ_=AL6dAL7^mRt>mY6c%ZzG7eRDPS zUG*D(0wGXdE7s_=IU3HWKEos|u-H*Z!WmUhiduMI-Q!g7{ng+HtHBS~M{TMW{`sfY z!f;0QFeWh;{zXW_8C6e;n(|cL<5ci7)!@HXgI}zF=vml-TtcY`XH*y6%;igifV!rY6IY+MK%%}w4wGc$1iy2jx%+{+$%&00{ z1uoXmm@pcdQ3?9C5NPnLc+9A>cocIlp_owx+yh}oH3DHql|ia@`B<%2qz1=0Hr!Kz z8CA9hrh0J9s5-bQznTQhs4|lM9;E{_s*2>QL^&~|8X{wZFr!*Q5tCs?RmosNOo18I z3JOD}-dn%%#uichqss6o@t9GKL|{ghL28i9s7BS@?v2xi zJ3CiJ=oHULy+AXn>yEV5NHnARM`Fs|N3EDCOj+>*HNv@G6V0fiL>N5B zkFwE>DzkCUw9cq1j=M>vG^(XE(e90@okcy4>^8Hg2XARpYG+X=j*4ed_n>Ub_d#B% zsY|Da5Fk^OI{YUooRVe}z)}2YD=R*nMLn93DYMs#C%3UA;VkMyOu|xB_^9+LkF&RQ zK*Cwnzg2PWkfJ+c&C(KtSyb4|AGT|NSyZIV{>3aRCv*m2+UxOWQ5g@tmIt$_40~5$ zm_=o=svWba4AKO@5+{|=;CR3|RxqghnNanP$inneY!R#6PX z+aG>Sv5(syT#%aE9~i8+KYSmIZRqxgKN4HU(B_U3-ofn;GnHVB5Ok|G3%&gTw&ZM3 z^8(@ZZ+~F?I>0oSprXn>i8-yZo0|yomF774*~9G*bCE!L%6axjArQX(fswlpY)iVh zt{4PTR50=F56_cP+1ETwfd}#6_6JuNxn$efR~mMBw{eR~HA1Yx@I)qT{Zl=p<|<0> z6pAXsDb|n0vL2y5%R}eT`)*A(yE5VC&_^PY6fAS-TZiCz&5^{OWD#|D^B@K@wJRt* zhYreoXAVP|yUq zD65#zs6ODd0cQ0?pI%RL+7=;j{t_%NB*$<*(-NX8oRR%Xc{0@d#Q>qB8QJCKcX&RN z(F658&d4$nbUn?;!b+{ect+Oo)JlmE=lF1@<#w_(zaILzttz&&?G9#Iq=m(cfyHc{ z8y#vIvge<2x{ndsXr_hLFbC_>tlpHB=XW6?3LTL@0OJ^{c{4qSgu2?yN?T`IDyg_O zRarAwubnZ8^vtq2o-v7Vv)Qt0zBv}Be6FWbtS*k};l;r5aDbZErx$V~$xcW1?2e2n zP67qW0fpfO@;eN}la=Q@=DAepC=92{?=TFF9;ojz3>gW!p284TMq%i9w7u%##ehU< zAw_o~F9!A^FXp#Eo4P~hjKn`bJZCiC=7p=o3#rX}dNIJS2#o)h9R5%;2>I|nNf}O8 zQx?bVZ0fh+&zW`ncHJQzXQn6c(6rZRm}PW2l7Dz4 zhx<}g_>n%Rf{(5?FLAKOs>+kn=e#tW+GSn)s+WdSd=llnFs=Vg zG9}-D-QIsk%l>FmZ1W<@Ppvlm&z`7Dye!C(VTMtKPV0?^2peFT?;^r>sQxIj&U6ek-6MLWDZ>j-#QE78(x1$!zM~Yr^TT_89Pe}qf%s1 z8~af~OpJ&^5?s#ol&s#^+lebS-`A%216}-AuGKh@D69~bJ*;sAgV_+*HkC6x&UG3` zS8;CGnD1G&l6d)Jk8_j8Ny=HA@hS2JgEO;iy&OSvT+o|CzG*nitps*DVB7?hqXY)J z+(T?Fh)E#UL~YZ!i~v?Rcm)7f5~acd>5 z%DUadvujkKo1rS7%8W90je?)CU@m+Le%=E|^I+v`J}#UGD`!|7qBojbD`)z+a6-9! z%fsnn;PQPB9GmeUAID}atkJR48|77L*Fng)uAjowT_57JJPJ(+J!OAta_|)Q*&pS- zY2mOpr^Ve;7u=Q>yHJ6|Q{Lewi^>(#T>!$77v-v{4w}m~(k)Pd9{vLLrClGZTq)ID z9F}eeirrv~Qmm5d@0C63_0j`CJs#95W8?I22X)?%8HVzL)WP(iTJ{5(Y)=w4uWRNV|vS=Vr}w`DL0N3nO?1borI}m;XAn>+AF^0x+RLwHhK; zhKJ+!f6<)!;IgO?h<7+HCe%KgPsVobH-@sr)pazXw#FB@=HOviqu{yC(F}e(1kY<; zM(i!r-OWETn5kX0z!PeaoBs_`%6mU2{q&Uogb8@O2{nf4gxa;>aG6FEYS5c8w73a4 zdZGz6n2_BATyeWl(1e;O`~RL$y8z7Ui9WshQ@<+7E+KHf9Q~}hXva(jGL4N1XEL@? zo?V&eDxss949XhrL z`$Q39?v(l$M5|w9%JriVJg@mjVy9c$LU4EU9}H&dFhW3?&j-0KTb3TNA0Z6W2zePC zeuO}8#?WF0aP&kG0u!>gfGcLdX&pcjBFZWwL_##2dR&QmrTHqTz`1`~yka}cn0k~x zEv6nX+uuZbH1!y==RZRqxA<0Qqp3$$!yK$jle{S_&(}jQNTDP0bzmGrHMgeckWg2f zS!wIkV094c!D>$Ovek)Bx=$5V(AZZ=z1%{Ry5l+O)@ia&^B=(d7h^84fJ^~s9| zUBb3Ly^u3W){d;2jZ7-~g95QZh4(ZxHTWGCUMR6VOF&<-g78q`<>m=IVc|7;puWe# z%Sh1mRCr-!RCpav%{2!-OhdYMSt`7ROhdj)smj-aHg$(gLyCWXcpCB(n-^-CjA(i3 z8ZYK=maEqX!Noh%AfjB4PFi+D*tN}G-EuQp`*ICzaS>K_*3TgFB)g4Gyb+)Dl$+GG zq2I{sP;OQKgGauO^bddHk!)MPkEFCH+OdwojRBie*VTw!s#*4GVd3js%JFqhMZO`r zKdy-=*Qy)zAr`$mqp$juQ&cO5d41T!>fkkrc0P5jx;sbA)rtOFH}QP2dh5$Hx?*4u z)V)s9%ai;pIKgHC7SjC*UN%F^OYGk~8;i8K@!y4>LoctdM93uj8)wmDl0|2DS#+95 z{@eO)9{J{yMZfV#uB^Y#S;U5DHe6T7;L_L^XVFd7EO)f9m^^r}&Z*4bE(iO2NXwOGS+g!K1fQ*oH9ddt#i-WUr>?ML;1C z?t7A?T5UaK(xF2CvSfolnnWQyaUEtX)shXRsaNcmgEZsi7CF6!SsQ1-6Fj%+*n$XOr1Z7cgxMa?kCitZjL`wNnTs>lzuMK!Ct zF_CLZ!rm=N^Dz)P5KILI9C*;X6=Tu6ohk5e3q#1BZ^JUC+P6&cjyqPv9IQ*DVN+I~ zA53O=F)|`AU>rlW&X}G!gkJ61~+s{n}FPYs=t;faW0EsDVOT z+;aof2QN4J;Z2ikpcvE+kjq+Xpq3>-#;6rTR6h?j45*-iVh-@uN;l)oH*O$0D;p@h z$HSvH2MGiXR69`iwK%Rpn0O3Pb92MjAe^!kY2uQ`*C60;{u{uG6^}DwgKH2Nzro>z zDK7ej#lLG_dDA6AN#^kRMJ(h!yT>B91|cLe>WoFW1_4-WAg)1R;wu$~YY-gF@VY`m z*C5V~^dGn7qA#vNa4_EpT!X-f+f^&BL2$5G>quWKGpR+Rd>m_ctqWg+ zz(V2B{DLFk)$zZyUX8CoaHeYKpzqJpC5bc19)Y2%b3*zK$ub7lif7NY62of{>JuDi z@q&+jt`J{?!2Z)DPD$@NQnE5P^}Vt{XfS4}42C^_|t!_odIcg6au*Abp;}>_>GN zu0ddjaT!rKu0deku$wAkt2dlc~eik(L%sNmEfHg0xh;m^;HWM7kVXF z5EFRG|1QR{rC!2t4FV@j(~4^l*asXP3dc1F4sH^wNL+)!NK}`e0dfrj`` zDuk{#1_Yx&p&XTZQ3Z`oiSe9!l=^6x(a3y9!SBdEw1XdHtplc8u z*d$F^=o$ov)0VX_U4!7jhD8k+R!2=|@SGq;ty4#=7~9r78fiUOieGdM0!#k~+^O8_ z)gjIZ1}bOiYAaoXz-$0BE+(LB5SRejWV(9FOxGYNjyrgYqiYbHV9yD34FYoZhp$0k zs>tbd4MG$abPYlkAzg!@;8J=3rSvCUXQVS3`pZWsYRnlrh@rl_CUm;a!{Xr`&08nN z?3OeQ-QaVGZug|0p3u^FuVhn7Rho^YPp{vywXR(1yHBz;lXQVZ3*-LDKFX=!vB_Aa zHa(Mr6D!~RJ=FfqA=Y*>ekQO93Zv_Jjagduel8%@cT|GTRGP7M#cPuOZ4>4Cr3mM; zrtsqhehic<{3L<@3UG~#GijwbL2{7C5p{`=iz4a@i-WkBZ>o=DzSdkX?tvYsBX&p% ziHW{HO^PQ3zI{?GC0)*)dO9ctv60UhKsKd~>S{A9Z5_5%Qn4>p)(qBb zhhMB+akDHAEXFd$&1TE0`Q})h^0|UqTqw@%;YGyHmLvzLnm)ad8%g#@WY59iEq)FP zdhjCRF}MrA!xs@yVtKA)p1%qmy@+^8eupn2j2@`(@kIn9LD$oZ2w17*h2J7No|=na z|3!qWxM&o0|EZKb9Yu9Pn2w_GH{S!W;_%;?;0i`jj6V?}TFf}j;{8#S!{=jJ$cXdV zbG2X;6%rYBI*J0;8$~hk1chM~f+c+BDzd&YbIgN;&LGgM^T;>6+SWbI2C+M`a4hO6cHGXq8|2iP7{)F6y-@# z;U}gZr-DzdHsy?J@LAPD&aDPdN|7louD!S#ETgC>Bd+kNHQzCc;_T#tr0~fW?q%ha zbpEd;D|03KKfo*kN2o6pm38!*4{SD;%RJ4t`DOOs`Djh+tFRl;DjP0v4(S@3asg zKVmUowNP=PS1}7>0x$XB#W=RqOBhB`oG?u*Mp5j8D3~yca&Tj%GGP?ONK}`e0WykW z|7+KaMp3L)AvB6&{G!&EG>T$bu2VvzD45Qbmd1`4C<-mqT4H#BOO=s|&AVsZHN30mzjyVNseMyR6G>T&Bx51styZ&)G>UTMaYWH5N^wy{(J0D^ zi}`32r8wqm&Gq6pumg1jjiMwbFp9cd;53TbPr95vj-n77`7P)^vzLl%EeA$X5?~lb zjio5T6OE!m_IxXNy0}$nqfr#AVGh>iiZzX*0Lbsd5J90M^1cr0vX(|skWg2fS!wGi zs*;L*sj_CUUOO6M?TVXaabPi)DQ-4fR?RoZ;*`%7)Z%qAMv`5I z?70KH#jiktY@kup)$%(WML~(>d6#)^5IPz~O_JZ?D9Y%8`W{D7j09azqbOLZ<%LI4 zj;H40HyB0PcUW!V%fO2$eDb>>O_M7x110@G{4($=8-%J^3W>K|3#&lSI*T0J)epUA zb^Qm;zYv%f?ZXTO&uxCd-~?q%!SkA(#NI;P-5k$grgk+6uM>vcybq+5k|Y-<_SK$S zNdSWI4gO=WN(;(FHa25u@f2`~knjyY?9OHYSNu&V=ncLocW>}pR}v&`bN~QX1-csb zpP>PhIsF+!iw{KnubXP(6m~`S85{7CP|#{rsbic0x`ZI9yjzrCVpa#vv*hjkEjU$Y z8zgXK`r(HI=XFE^Jv#80IjSgd9;4~UTG!Tid8MK7L306tlWb+oWhr=WvxDf8Y>f~+ zuX!SaBkJzvG^Gv$2bB2+kWxyL+$>ETI3NfE=My+bb7dkMn=!Qb95{NSz=7Ra0}6|; zgn|M`l)HTEA#ivmP6KB#2vP$kbNVxe7E1sJ1H!<8E3ytYV1Q6i;K&r8GvJ2;#{}I< z1C}1T&+@c-t3Cj_z9!)V)~Yoz=Z0s%stO+3)ZfGU@$YLdB=WVFT$)L#6JKwq+-TBA zjSj~(&wynyz3-!zai|TJAW~+kHO2k`D=2=$0l*K2JOysFvSU)<#%nstr67L5rbg^I z{Uj9ojuBpHYTqBbBm^LUICy|xbFcMxa4jQ*TI|>n^LO`SYB<~?|hJ&ly51dD=B_| z6{Wxflu462)_5NF)D$|-I6(mi88S%l$i`Pf4>8akVV6ocv=Tajp&r?hF<_$MiwrzU zp?PG~=?29Cqw3F8sM%ensIxs3Z!S~Rd5ZFEoTSiL)A0ND@S7SsA{c2Tqd(zHIGz?jz7=kpLeulXxtPqK)* zyLlCZnL2EJK$$Oq6xRT#ai&pr-4+-fwm!4LsFnXjR-Z9cEB~9C;E~*}GA=j+~^qJo4h~Kmz3lBaEBNK5Mo_j6BT+$H*%T!BHS^rEKI? zD_u;cfVI{<4xjXl{EgzT9tHeqj6YHEXDa?0FIG+GTxzPnk>@G?=DStX zB*CAr_*;};fww7>0`II+|NAQ7Jyq=YRskP4pAv8Upo$)<0zS+|ggvH|k6n6+b#o4$ zTJyK!%hQ$Ui3dOgPD{j@i3~YIiJpukDdwq&T`^BP9xvygapWHG*(%ECswkgFw3xtA zMK2;mjF(D@!QJEtuH5VRnqJF=HkhXpR}{?0bdVR0r;l25w<~P01i{P%XMjM}U)4=< zlL1p}o{P^on9Iuue;MO16uckI%CADNQzix8xGy9bO`ktp5zHs4rY{BW2eb04(A$(r zfp=D^|9utko+|cxtAHk$*$=A71aky5!5je}+y8Q#cpIlzi!c3P{tbx0X^A*9<6w>? zsWneU?238X@pw7^j3f7e&sI@BS4H_eqQzvVDtZwiVxpy#81#bKt~hN!wLS=Ob_7Lf z`*d0ee&tmr9NKR%`*PYJrAhRM22wQg>(ln9?ce-Sz=|Utu;gc(Gbq|$@bUR`Omu+| zonvKwBt-uO-ZhEspVz-8fYFyTj^`oUGdgVnHsm#Am4Wr~VMdV(TCCv-@|gMy(ikIQbiOMj_jn{b z`%+Z+u0E%N_pCN$Of`6)Y9aeogAcTKqp^cj<+#SE->KgQ|H&rv4lfPkeG=t7q%oX) zZG&zUyIt-qYCp4HxZmF1vG&7!o}Iy?@{aIvEKhM08hfxV7@tSDiH*mpVA`BlmZKY2 zRe^ue*kFpI=Hu3s<+8?mRFT^hjpY<=a-(&~S)M~Cdx4ZA>~bbnL09{NCWOhnwuPAq zTz9qoMkyFvfK=!bnHB=p>iMqpaUk<>Kh8`JbL9~EZYiISQ-Tkj3~gVAP7L7^p!V%; zK{=`qPtO6qtVqw;OiO2+e?PbORpsr;3z2!+LS$aN5WdS6!gpQvAB})04L4?=Fi!0( zCC2r~nzxyFDW^POe#kp6IU?#FYCHIdsLigol=JJ{x-@Slgd7pI$}RLKIwA_3Nj7I` z-|1!9FyMcO;DL?L2wq`+NN;=>s6c)gd?ID zcB%@;5m63igsY%kd_f))j)(%2r*q%NO4D526c5~K9T^@GwJnpFeB9*smLxnP%9EmY zjB9wD3O=}Tg9e7HIQWPtwoXAfB8pQ9$9PtM+L(Q}Se?%Uu6RyzGCU$m?aE<`Ay!k8 z%oFrYs3gx~=7^xfCx~!^eH?3!2-f#CBMCX;(o5q;zJv(3iH~FH5y9p@L4@1S$AQ^X zx_^vguW5x};)p2Dkpr(KZzkxQZ34S{IwI;^BC{Nf zXSptF2ztuB@Ry$A8~X!CL^&)S5w)h&1$0Ez%Tyro_(wzy_l}4fl_r`;+oiW)j^keX zsJWhCIU+5b&7Ix>PsmaCS-(}85TfjVz!MX?o~WyL9N zwqIn{-47*?wNrPuUWk_V%T!DI)bwLaZhQ`_otE~S(=P$72fEwuPER6XhPD`B{nviE zCyiFHDFqD0(|(0V@p!r@31u1i5~28KJk$W7%-HD7v~E-`Scc@xl)gyMa2DTKl_0#7=@Wu90k$L&Q!G!SkB4h&{<7>h9*Z z3}$NAl=I>MQ05mviXI|1WV(rbNe^DiGfdyDjs=G+aCC?m^kxh#4grpy=-nzz$c_Q7 zm>?ANZdH_3Os`j;%0C*+>WMzR_9AnWY!?FO<6*h053z6sna0M13s)v7&lKj_SLkTr z%4YIAT)1NNKz)x3R~QMpo))gaN^QD%;fmw&YWIa6BKB7rX?PC!plJ>fdmf_IFLH?3 zDf0tZGM077HNEKYO zhh78B6|p?MqhV%i_Qi+c29gtLB?yamrVUAB&;lm>%wc_%eu4I(!Yekz^^d zXACl?SO5xoQ0bwM!oR~x?{ww4ka^nRR(jf~(py4!!b;ERf%+aRJw}4Ar%Df2MwOo9 zskxB%SL;bcroFVsD-Fd$4qw}syqNzO+SDDgC`@(*7-3%0nZqQlqHyO3>{u!-m6lO7ztCK}4{@U@{H`ED}u3J+hqilii2q-e)F zrVR`@KG|!RdL_$VEiCTvH3-k|BU7|#^$%ZT^lOZECwqm5uYuPj+WFM=h8BMKn)s#Y z^iKA&HyO#{Ydh1BhYw$KS>PYOb{)LT%|MC6*YGz#6@w(5SqTqcyMd5Nb`RK!oAHS( zqQlq3lrlVg?NyKbK*=I+0=>Ml{xC@~n!Q-Ku8wINYY=zsHBN4-X1Sw<#T~xJ$=UklV0ZW$qOs?*ZJt1$JPlX7Aqs@B*X>sEh9=?VdD9(2onG^!4IDBp3z475| zCt|+jG|ZQ{Jf*|e&L%*TDUO4Z4_^b!Bc1P)wj92O9&M6M3R#lgqyC6!iojVlc#+v?cb`dYbokoUOu_=kvNPzz9ljRn>2LLLLR>GW4TrCBdSRT`0^sm9hQlS=?JdO; z|M0bk$h)IFs@w{-X#jLjHYv;hZChHH;tceV_0MIjWl_DGbwu5atg*M4og zH2IWl*caNdXKV-DkTJAaU9^ODz$4kdY{v#dL3T*mogKOWmNtd(8mNA9_}YrZ$A_;; zgT2th*I-AsHhtu*PY+*X7-Ur)zQ#xns^T<+7Cj{$z9t&ouq5o!f;1likyF4_V4#Kv zJz8N!k9HXhumBGaUklmuzp{+>2P|#Wqh&SB!MZdWHf81c4rGQGBO~%jFpi;GXH3r_ zp{_Qw($*erB~?q07KYfKX{2Ws+hh-4i*U2qvTD9L7RNnW=4;J@aKA-D?#j1D+I5sJ zJv0gSAMT+oYMri~Lzx#v56yNSarl~yq6+ze!`D2#yz(pL2k<7IleYimriRXXCE4pR zSu>_juNTRLBzp(J^d_t+-T(!HhWg(;9fsdw|GPm;94t>itad0q6dvk-^AsI;!v43> z1NA-jzZnU-p8DUg(yM)Ux9Q2jL%mP?zTEGBn?+%^pVdC1K8Osfp}*2Ts&2>BJ5gsU z$7HP;V(()A=KM0sz;+WDFaL1fYadfzgr@6~tUtf6?_*|sYwg?Di#9ty-oBmp?tY*8 z1|IqLGA+AO*hj< z6%ngp4%X#YL;&RL!~F^!kuT|>&XF{%t~7;qDrdG9w)n0)(lRxtx#CI;$~SK zSd3+go6VM0^Ubk1<NPf@mUap7|jHyA_~>4_froBsqbclLd7q6gzgKSCmk>3^k9diwe&dN_POiiOBo z*1?G$A(2sMEW){nz*+-wE+P}}tT3GD;b4Z>Wf`65u@6yt1Xd8vMPw$v+|TI3xrh$t z8-Wu&7%^70;zSPzi?xpQwK9`hG|I=ZcGvOaa}il69Gc(wXL$9br>$4x6Fr=%8rgKB z$6CahWXHfz)j1*kl4Kc!YsIe5T8ZJgi0zL$&SEbi2~YI!q^R(TsmH0{W740oK$ux8 z_7j2Oi5`ig1@T|xDPJdmEjVD_Ur3@3W9!?=tn94C4({2WA`!f~QUq-e@6Up-S*h3xO6}rTVIcD!fm$?}C`XOa6B;jxF^Ph7&zFVVYK)=)peV z=ukLL^l)&KSViJQ4@RQ8^bC*_J=p(lN(1L2vQ~xAi5|?q*I!U+O-Gx8rXV^O(dpOe zk-l`I2g`Cj06NhFrgJ4`LRZz$i5^ul=tK_(Hc3+!I?==7JhgP9hXWfHHDFjBHJ!n8 zf)uq*9kF6;+v-WA^*Skj(TN@`{X)1?x!0>hoDmFE&eGLZI?;pK0A^fFKqq=I0kSDt z?a`M`^iUjkc~mf+=-~u=PB@@$QZk(G>xz!`@Td;5R2)z$lTP%A!h%lp03^;dI?+SH zdb7gR{Y;R^YRA6ei5`d{bD{_Ct>I|0Cwef(o#=5F`M>2{#BSMPw@T7w014Zw|4xlYw&)88$>=IMIXIwCv$T z4+g2eqY`wctaa|1%)ar79xR;8no7fo9t>X%N)?V1Js3U=aLq+J(Zi9)5k)6@C@zX9 zI?=<4i}~n855+NGYpxfE!VY?HqKE4h(up3&3!F~$xX6Y`Upmpljs>wB@TbpEKysrv63?b$4?$1~avD9tOjzrT93Nu9VXtq) zp9~F{%<0bMyPmu(NU$=Gex%X{bc+aO(}-KUUU_un!A+W z?J%Xi=$sIx+5@SMoo)7_M>()p73G*J;NDfheLq2RSbOsexQ-s$i!QZIuor#6-^Hfp z0wMMHqN^xP$N|cv$sKDv4|{YU?tpQ|3?)0rkU@e+Hog*ih=Dejr6j0?Lo1;Z80wK7 z83QI7zR19%6q-jyoo-MZFslAcg~t2G&-PH!{_*n^<=Hq%p|PxsJX9p>5`#jtdogbI zqH`db97m?pUUV)%pf#l=&YZ#Wet>GtNvfxz-2pu=TkdjDG6_^%+C8@(;hV_>_WL zAJJJ+`BPI))U+dg_(RDc{5X_E41Xc172myPs*>T)nHw{Pe?ZHjPFbF)d7^3fC-!gt z8^DSih!4;3$CKi$f7;)VC5E=!r_C>7hUMp4q9?5U#c8|;`T3Q=yX+XgWO@?;d>r@Q zh7S_@+d*#>4G|dYFm$U3404TfgBU6Z2=Ebn0S928V`C(z&v0xk91daF)Yz?kV?pI5 zWVDZCqm9%(tW=M5pS1fW#2Wj%xP7K|)$4jl`0)MGC0_=~JxINh%iPF$%afnf4XDMM+N-bK>``%pTCsnoVFf3oE6->=Wt+?h*6NTmc z`XI#MsJ96rI}8tfhyFx648fUX|3KHoy>jDyHi<AamYQSZGTdS4Nl`n-H9SrQAKX9ij<7ie=xjc7;0()vg@27-BUg$vi=ig-Y@)W{wCte1Zr!*vGNvh+utRGm?-aF1<8v zoiPrTfP?_L?>pyu*-lsg%=qabzB2{cmZ4X0ehoQsL4#R^Q7EU`1@5}6OTKz5JSM+um zuA1t&r(7dl3>D~z=czC4`dH;ky1T9%mJR^LVA!G*tEBpSWsiEjbWKpN18R+gjnj=B z)HT7*xC>GT)4gQu2TCgMwUBYt=F$GK2gxtAe{7I;4@+vR_a zWQuAvM63+gqPqQKk_ijnKlVPd&DC{o|JXUOM!~XwY*GlG*Ia5gif%;R-Q0x1OzkRa zo|gq>J{eMU|JXr9%#SR+p#5VE)A`T|;Bc8n`^TU+V`yxK4S9U%M1{sPeomi=STgy4D2O^7|o zBI@quJ`85+FhW3?zXB<`e@uGB67kq!$S{qN>EQ4q1bQ=u7Iy$gPZS|AA$t(G;txVW z5hBVeBg7owhmBQhp(pBQ7wyKXt4R*mSf<)?WmevY$TpA}q?)&ZxE{Q}4P<+23e>f< z4P=pb;ln)uE_TKzJ=g}~YVU9x$Oazy1JXQ(+dvK^DM=P7+OdwlodHMd-^yL;l`MO; zu()j?5S~9wrf3QAw}CMFO-8#t2H`dk@R~$BKWe-4;!AcnntjtGyE}$b*OPa5IM4dK zI}U;KOoth}JMcH(51m!*)rPw}P9tQJ9S64J2zip95kQm|Z?qKw;jCP(6cXxo-Bzj?^dDF((aPwt|mans2f65KM!>mP_FNVedWvn-dgDfC=1`T zflfVVr`xn4kcv$kuY3@1+8Bv0=+@|hY9;u>B0CU(?wNBqjy2x20hmWR-zRO^w1H-X z_9%xeN$&;!Mvz3{tQx#X?|q#uwc=#r#1n1W7{??ma4h3NvUqPeu0>COtA`V!bv8C_ zaC%{!*VbUu2E*YJZEH%g#8!z*Vv_#Ie-Uffm-HD-(%(jaBwI7|!rbQb3|=P$&ugy3 z&WWhIo4YcYsnuv~+5ly~DH|tUB{j~(wwt5}K{!eO_aHdw6)}v>7+Smx96T9L(!=g- z4sgXxp`b~6QSREC)>p)C(*~Ru+A#WfEzM~7N3ij&<=PcTLFBGp<9}^#M+K}$lLN{%|j_fP?$XOrH*q8mN{$&_sRc+c}BnMTo!GCN~rA-^6 z(e(wwwbCHX7eUsJ22+9F5$6T1l@?a4mEN0X#~2>2l@8hS6IjNJA6nXItu(7)4%Vf) zuqi9g%P?<7eUd{&qK`yDrlgX1H84;O^+?Sfx=4%JbLhn zK+r(717*)H>D;zH2!Ge0`R2~Cbbjfu&kbwm0p_gH&a2oF?Rq=T@=v8iCyg z9s|49hZ$i8af2ZKsKhtJ*i;y$R~!S4^AK#CRoVcj&(5%{Az@-oRH@F&&aPwRVs0%}f1 z@xcI_)5q#2na?+_zk)egPcc_GkMlUc@JW>Ot7`B!)!^^ypDu-72rSJ14Hp!P z9d0K7JG(q(NkdbT!!$$e+WO9d=7(8GJ*j|a2}jR_f=58%2iRf3?*7BRjm$Mms3-nA`{G>si6)VXQgni{r_2dQb??Q2p&PshCmaZ00J z>v*W%kEvGeMSuQOUy}dqM#4KDt`Bnkx{k-{=M167|55s=6|Y#89haz&JN{Bf3z}q4 zg2cJE2tY@vG3VAzV{FIC9_KUl*O(;Y{9FAsb})0Qz~}46?-BJ&^>;iy$Mm*( zPVw}-QvaYz&+GM1J zKA&1Nh^Q6a!gF<9G^TdPI;6F8x+Ll88NHzE+Pe=|%Pr=JEE+&}K=>4V33uZ3T0k)|*?rd%mIRrL}vTDz@!b%;2p+>D-z=G^X0_>b(O2d>q%jZ7*ATkMuR4 zG@9jnv-i1!A!Zk-;5Se%AllyP{Vg@q23IS#tC@&zTdTK{yx)6YX9ZmZ{Jp6|+t&0* zKI}b?NuZ%Nmg^e&X!}IwHvv|GpIecC61A zVtq^!I<~4cPm&gKq*fPa#-=qn9H}18nxUIy*K|{H}Dq-z0`usew6I!h zZ{GUEO}e8bg+civM6*jj1trQv#?WE_aP&k$iQZgN738sIE9lI~NbayOf|K_hF@%NK9dfAfL7Mik?d;l4>j?_$?b^J&ezJw50 z{d6o-|Be7wwt_qAkeOr+7_Z>v>WdMeg?exuW>{)h9dxWHI=Ln-ri)E^y%byJ4K-fJ zeEAg_-1R+bU8j*&hM03>{}h-_CkyZTb&WJW7J}(@3^^gmB5Haa!(gU%_VLOPQ0C7; zioW-E#(6747^d(2uK|aK#AMc+F|@c5IC`S@{xBiC8@S>&p`iEvqO2k$s#k`b0A_Vi zpI-NJ+D;*G{uuqN6;kzKWe6HOHYQvd@*m~tW}b_Lj#h?Dk>BCU5Tgg`dt4d9NYM4P zG6Yt7tsD;daXhtBs=MHjAIXI9g$sfy|0itWP%ogA(@8H}#HD!Q@=F_Z(cv^9d;T$~ ziY=(Lv5e@23#(xc)}`6LDJ#!EMxqotBEJ{LF;w$udJYM7wV9Q+zHq6e;(nOQn!$SO z%pB{PWpVuCB(h;PTUO0C$KsUFg{HJt(XHewlDqPMA?+G*^1?+z@P}WxtZkjHnJ-b` zonwmXVPHnN({&?0)e|2y_as1)%?Ro#svb^Y@S7ocUh|DA>h9(Or4FkH$jv{1l#*Lr z3XgKd+=PjBi)%PQ5H=hqfKdZuA{(1Av^WJgdZLB{c4y}USDYyn)NqJ$S4;T487U#O zJc(`7YU)p+0h2lX8AFT5M0~iR7p} zC4uvU;lV;WL#U>16jfn0b)oWH$vn3S9aU5J$?ve5GJ2rC$7+g^pzEocf|XG<<#=l4 zdA6SzR8!v8bJLJLO_O?_1Ee7vg6S#si!@}bhTwV41;kEwkA>jwW(Q5;B^gtPkqXLu zU65--CPOe+fGI*4rV+9@I5b2jv)+uMMIYc0qG5!U>1h zaQd`EC>>`vy=zZ3x5cZ^iT%1Z!o;uhR-e=QaYz3nvMy&OPMCN+`%B%yT)x;&PXo2u zi{DaDx$A$B>#V0vPuqfoQg%#`V5-&DVDRxFcwTd5nsIHR?rv_&V5WAd=S~mg=BGnS z$640Rr*t~RsM)*ewMRZEWuhS;7>q-Pe}WX}zaaI@L6YQ8xZ$2}tEb2C`Q z#^RVBPQt$s4$!3b>4n@#vfm+l4noEhmw^HWhFU+2dii(Q`dy$rzhj>3g@;_sUPH0niNDor{ z^TR#JV{Bfy=??d513gH)bh_i+uH`WC-*p>4-3*H}w~2WkJRRLSrSo5%O!=aDg1le& zs`)pW3;)K6ziAyX??-1Ob=;olOwe5&n6X_2v*YeaiH@6_vZSEnRwaFMU65|Xq*7;e z+@knrF=b-#E~QQPGUGO9$?FcQdq+6wWS^;en(xu8Z#*4u*xKGLR>B*Xo);_a4+{^1 zg>JDDgMJQ>s|0AV(k}^+G3wVLs-K5C3n(|ojn%Zw0bc53*;hZMTdZU|SRG3xgJAo0 zM9?va4i0edv<8}u{T(Y))37CkxboLADtV2_lWa$Ti*4~qPsfm?s39Eid$8`J?${w| zP-Y8xA0b)MBiS|Ci=?zD+9!eG25i={v!^$siEDLMiGv*Z0@i)?ZhUzb=4FxMl6Q(*DgaVP{E3bX?%2{^4W= zDgtyR4UcV|BYz_4^2qy(KQHx2o=xr{Db^6pxR(>W)-zz=pC4HeQuPD= zT+ddN#W9{g?I{#(V-^_%%QyZ}z1DWnBE|!4_b-xUTVP$tmcfb^IvjsH0{A%g7_YMi zy#`#{e4jLW1F>KcjCPW2r;sJ-J+42J8iBKF@FKm(I9qDPze^Jd(K_n`n1lt6MKbZY zb=Hxd{#Fks#Pw?UaD4U!jPn`=tg~h~T%tpwQY^9I$Lp+Tl6Pxe`;m>oI_n=1Ajwt> zy)d`A9)pL5;Cam}tEju1k0`YojrS0cn{Uj<$v{($GsVe`+(8hI+@D2AyBdwAd|_XfaQ;gzK!~k!(5e z72gO2*&!L@?9c(cTW8&|R(%j+h=g8Xo!Bk)nj|ZJx zF&3TNff#%P9DCZ(G#KWi`yfx-=IyW#xGh=FN!wHWrjDf#j~djpIvV+pV(} zzz=uYRZ*_*(J}clzAEHLgqJm1h5YF082w9-IL*R7 zy?#u~O_S^@gx&I3d0PAy6bLWsycciUPzyWn+bYj)%yX0QQ0F}np0M+7^gw-&op(lp zuBXmBtn}(>%&s+-ynipEm1bgv!eA3gobiJ5n`vILx=~|1<)$1pD;~%HAoc= zt7BEL0h_Ku$>u?wj8FW2Rxg_e#VKCDfS0%HhsL2@^1kJX$sh<^mR34$If;5xr!Q-A zf6MbtZ)(e%sQWZ`RZ1n-gInHV|K@uVM?Q}b`8U88?+N3jNwM<=R>VFvMo+*f@o}nZd z0srt}ak>r3n+qZF#m}{LS{k>Umn=ti86W4I9v1>ze&OTTe8qk3Xq}i9%o;l zL^&6)1}{+!UL~DIL1aC;I$TiH2U;^vOWZBXTb}AEUe7Z*hnYDux-Qt3I1e95&LdZE z>ML72^!K(cLL-8mV*)R;cCqefrJII=cZ>PhWUVE)+|yd?fu=|T5N@8HY3V^#xqods zu?l>HuQ{^nCNDek2shmerWki;dV}Uy#CNyFA!cH}`#hOmg6^*dKjeYA5PK{S`?$!0 zN7K$hE}BqKYQ^vsZ8S~xBIxlJI*s4Iq-V1XPDLc+cb<%=TIf{9(+j~pyAa&pQ?m{+ zD)cY-U=8z^BuaQ5UE!|?oUK>*YXMwuIsMhT#zp1a_3V$c?>9?m;uYmnsNLWd<ZN4TQ=kSaZ|*N^r%|NTdsws1xH@yf{! z60ay{%gkS_D97I%Ny(wdv~9eiJVfMY09#0Qb@(gFnUe8FELM~=>_U}@73B_Qgc)M2 zC}+gwN{kid4(1bMML7^&R()H)k^r7?5BI%~WBHmRZ4EEy-JqwVe`8r{yNq_c^~zs` zx?;QaZ4}aqa@ilz5v?d^i+3UJ93p5hgz$tb%B$qN>A?pkL zq|bT)`e{IGyGtG6igJ$*Ep%>(R}a^U{OW;6F8x+Ll88NHzE+Pe{%k8P)r8jEf0oG{y{Z zdBM!ZP;qa(qMXx<;Pq1QO?7$~c;K8}r#8uoa;{p`qjg$Q&Kg=)lz*odvZ!J`u`paw z9@DAHAsN~_<4|Kxv9ZVqSCq$e8tAm5Tr*t3w4$8BTy-dzR+KxinN?66tteL<&m}01 zR+KXiZmw8SuDI3}d$!{Llt`BQw-Q;H@2it=m8ueGk_$;MzN_iX|vSsOUjjJeI)ssJw@g6B2&CH5BT z?&c{BW@+$Z`>Us!;WY?xF;1(e-ynby=7BrvkeOuv45^o^&#j^! zT!$H!+J!!^o@Sj~YZU(yn`rg4*edV%boKO4kP2s?TRlBFFvP8%o*IJZH762#l10?r z%}W`~)XqL$NCe9KW=L_1o76a&bfbktY_KjQIuRTi5|deP#?az4;OL1Koxy}`5^%-Y zLO~0O#1j=EQN1j24=}5P`tIIZ? zI_WivxD>BZ?zKS|y+#Sy^HtY^4^E=-C(DRlqp%w0U|pK+o3ir!StLrKBl6E-978pq zrst4QSDRUB>uZ!ss+QL%FvPwNiS*23o9t_p2sfK8tLB?yar_#E`CMp9%^aJVUGL#jz4}4(w**MCKZH&6+~$J}ejo(T zYYteug1Wo8F@u>ptR5gYe*#iUZeb`q%5g-@PtNHUmR#VR_&n)ISTj;2ox91+h%1gAYnEnLf)EBa1`tuMxuel~ob0t|s z-QC=g!Au=SCn)m;kfM#3%xJknOHsivjfz*mp^K>%&hA!VpomXxf!oIeugC3_gvCJ6RWZ6SYR$~*5BT$<3lmmsE(CY$14RR zZ@21r^$L0wl6$htJn%A(x+ze52azE%Uy%FV=yFL`I#l2$xj@YYoI@)l58GVYsZ? z!3?h}q;y&JPl?hau!3-hkkRU1#P-Ey)ehzxftPcP*jcsWvT6s5wT|?)GLu>~%Ev8$ zc315AvT9=iIW*symK4>B)kava#+Ow)Q?*W_%c|cZ&LkTPLsjR5^ahe;46YUZMp=pB zWz|nJ33C>ukc5|2ds0;R#MI+d@Gi_HCQgIjxyp3pIY-BmsPub_u^r)g?m{!B|T;nacgeM z-AIX$@Um)zk1^NKshh59k)gP$Y0rGqJU-8)8$1>dd`mU;oz>L$r4w91^@Kc-9?f9( zqdE+iRh!a>GNN!?R?YC^PyiH;%c=qQB+vB9M2-kHu4!{(Ph;v{Uo?kx!0>h zoDmFE&eGLZx~!Vn0A^fFK$lfB0kSE2ae&LJ6&JoZ=u4MXJHeh44yc=y{NQEP$p1Jm z=(6f4Ea9ElIV6%`lVW= z_DbHP1s!SjA=aX3za_k^`oB!_HAs|m|D-`FwVVnboAhQdQ=6U%E~{qw<}WU*#@`%b zZ6^blRWqz4W(&h*)y$@450_OlNcA0+pfi2Rvh!S=6bOQ>_8nsmsLwl^rg$H4-q(B zRy|v~oOD^WOgw~BbBK-n*Kj<0saUqt)I3<>ECGh8xj6z4S2&04`BU(8u?j^Lo_K{b zt6>h-<%%_J;{zZ+8(FW=5%~oU>avzrI732RZDysdQ*)J6>`Rq3gZ0`eHrB4VSr!Kt zW0~S+vt`wMb1Y8zTtO{%5hs3}+2L_`3(MAUfU4=!3%QYG2P1n{2XC=GDBxO}hM6e8 z!)X{Ou{`@T&#^*B(=Z3f?{FH%=z;nkr(qZgx}K(CV5OE9o-KAfH5b2?v&G?x?|u|M z`Du`*$(5-}N&gQ|RW5CVP&G>-iKZ%hZAFglnuJev{Rhnv1W2+MV1|O{Hpeme)etT3SD0-NxF<#D`Ora7Fec8}MhLph*&`W1Ip0 zRAn^0=f6A#_lDp1ji!v#;rE0!D2Y1!#^3yCz>34Vh>)IO_|5neFmfth+tK3v;kU!* zC$W(KoX;}C;de-6)amdWSZg4L-%Nat!Z7@HFvIKOjfUTs5v5091!4HjOzE>O^%#CT zm~RAz-;9`|S~2`~uvqIzUn?`IMWcKiYj=Uo!*3P}hvqMD4X@t1ll5vm{C1{l@uK1P z7~)K_+hC~boRALQ24Jw%ib=a!iQ({jD<)yi;!+_Ahu@wQ6+SWbI2C+M`dd%uWDyt+ zzaR2+P8E`H`0Yti;U}gZr-DzdHsy?J@LAPD&aDPdN|7louD!S#EW__8Bd+kNHQzD( zcKNPNKwk{MInOkSQ_}x!D_NPFa`%KpNI3jP_!x5yoyxeXMTX+0rakjb^Z2~zy1`@d zz_(OW-&sw4U;0N^P(2|Jq<>;C`%xW+;Ws;s%ZS1;{AT!Lh;)Tx_#HWNrdK9%M6fAu z>WMd62w12RywgIU#a5}lYN6snuLKKX0x$XB#W=RqOBjaVoG?u*hTrT1jt+%m`0d~( zv5Lg-n~|t4Jp*L;&HmRuI}N{Ct3qh_&HQI>k4oz`v?*vRqT#pG@Ady__|39hbKG}u z9j0?7WFqjo@A zUy$M#4Zm6XU*S&WUat;uMleu0OIKTI_|0qpGcG2e;WrZ?o8mza4Zjt~9d#8*&k+b;^4!@a-14?Dm@H+|%8h%$1((qfsrSt$w=}+`9{6-9!;dipLjV3$%W{ewt z|7Vwq;rD8ksx%u$pI*Nu9Dc9QB*Q_Xg>nC6JLOdH*kmWA*5NnH*Wow*<`8Q;85n*u zY;T2O_|0ru_AvZrkm@@sL1!w>*t%kXq(2^hvv4kJDhBWU<7F@fRt?*&f7?|r1p+2imVv5`MX zBleuVR7|rR7=BBDVfcLjMG2m0WlYGPcf!-fbfJw_#;_XZU|p_Q)9@RB{3T2rD0D== zsDrw!rQtUu)YWEI+B*EMq+(yHtQoA=4x?GS;$~SKSd3+go6VM0^Ubk1<#PqKcvYO+ z!|?keI6&3(>4n@#vb&Hyw}H2~92Cd~8h$@0zr*1-lvtj3nCDTUqv7{0@;e-U8$D3p zBu|cSsrI19!@89f7 zj_q0uy=Qg(2hGO`oMb;nVN&qi=6eiYIt0&ajv)3H>h9(^1~av*NqG1Tx%m)CDJ4lR zOyc1;2*Tm_n{bX6l!Ka=eC>2!X>$9q#Q($ju} zIR?1>QRh|Mj+OLJ#q(>)OR?Bn94W34~$((UW*TQ&A)lCO~Z;&mbU zy+^XOFGc;Zt4{VsT`q)9La$IBbo^Y-4+j7TQ*WTf!VZ2YGoQE{ZVJ;Bc>1VBw+ppTstm|*@ z#@zP9e4ZiTQF%xBIF_fl360fQ7p%-9+{DHbySo%9%h8QbsJz;QDfkzSv-fgfo@rCu zWsP@_2ab!;`kbO;4zdn8%X7$NFOYJCUCzWR=xSfk@GzOzwlFh+tGL^5l!CzpNQEwu zX(3>(p6^N@2Qm-$pz`om|^rv^DpUeGnu?9Hl^q)0- zrkz~y18u@Z?V@p7pPoYB^+c{b_Y30VN zY!Zto=8BS;o|4rYyE$>i)j^ z+^})zzHpSW>PqqQ#~$YCtUEBcMIcD?K6#k`ga;}5hY2obb)Jti~ zJ=5W+Vhy$QvdS$zit*`BL9r98)!aWk-Hog^Q0D=A+00t)7nuuq4kgdD{|*=Mh~)Om zRC4>&v>yr0`UjHRZ%*3*9TGzCPVXmShPK$rI;{P2Puc_NETw>Pc-pV~GO5`Fo4 zq4;M!)FwcgG0>ZIu@0MO{=OCdecS#u!VJl5fw7d*EljlV+j9PpFuf>s(V?sCxfGBtdscW~(qF5MF8`Yj z{rEHbmGEhdH&GUr-RYo21NZZk-B5m+W_u$o=HFN5Uw!~U&MD>B>EQ%mLW62G#3ixN zBqnA57p*6x2o?hI4xYuP)X(OVv0X2t(7Kk6Hl?od1@7*-7Sa_o!Qq@kr`tns#?azC z;OL3wa9~3ATi}X|g@WdAL|Nq=j@k7TE;Bj`%<73gz0Uf7w7mzI6jk>A-?wL`X@YH%72;Dp$e((JJLoxHnpKPgQ8 zDN=LllJrrR-`v}>uA%$_7OsKLL`&I0>%rKL$ibne%0Yj0AUNdG4*IJEdV)wgwo6`~ ziBrLxc13cK49ArCinILp4=R4e;3T>9%5`U!q8DNH-43=Lm*+3>q=Dxz@5Oxi*B{Hn zb5C#~SKkm_OH_XSQH#+CEh}uV*U#UiFd;8qkR8HBXU*!1<8EQhEwb1J4FU@-C z^eE(dMazwzqg0ghT4dAbC>6H1wPwx7y&u^^Tp{kqdKY)hN`A$lH60MD*SZB;!_~>9 zu)IRW2B>e32g6>DOH3UUmmilVgqXcGX5BbOj!Qa*h%Y}bSveHH(&LgE@mtw(iCR`1 zmy(!FGAh&0U*dCv{E9&`;f#;vtN0azKGKW19+VckBYr*;_s@TSKC^YSEke!W*=Xwd zOre+Eg1JhZ3j^c^e{yeTOS>6g7$P_0FQYEWW-E-WStjnT?s~1_RY>_1wy6ozhOJUp zN~3C=Or~S^8{-R~ZBs6dHFrpss)BZ|;i}zedowjuVwdJa_NWS(qLrIoqpirD#=Jf` z`xW}unEAlSe4U!F_)1%pDQuCtI6J6@SZj3Br{Rj?g%|C(k{s^SOT)%JUw?LLX;{4l zYeOXYxdhsq%uSgB%G@-sb1vql_em$^9;CmGlDVl;PeLU}8=0FvCxn@nm7Ch9OmAW; zo11DfVl##0c1bc1jRtf1dNAB#(Eg35r1deQ6F13}$#jkv#UFb_O~s=4hjBqXr|f2` zEQ)`e5UwuR^aQ1g;=_f3D2w8!Tq_n)`n4s~8dp~;4{@#L9?6iZpzE5aTeg~?)Fo5@ z>uhUm#iIBN)I}3c)6Ni)EQ()IPRFPmZAfye(?#*My;LrBjA2oH+LHhQxBF)Q`1Yfpjobx1tqF>73SGXJT5%$h8U zPv@1_V@EP2`;XLvZm3hXzFS;Mc|GWnx^Y^Mp0S72Bi=AcJ;Kvg`67ufkJP^Kd$t?( zUQ6N%c{%3Br-XtFi{cknOD~FFXjMZ!>NXOQ)AICjYoWayoRuS2#iICyjYC@g0(CRr;vtCtmCMpumeJaX%P3sh` z=2BsMTWi*Q-20JD=S&(`y$Q-+k=RnYE4K}8Pfk|JqWJM(|L=2vAyKD?=|?;dVGa-< z(dA|Ocq&~VgNm2s<7YbcF~Hv3mFLq`Ic%8LEwb`#*wwwnU~0=_;`-}6Pw#_( z%V&54LdEV9xzU{q#|DJr&`@P8IhmJJsVcU%pe7hv%9kTc-YMc`T>s7T=QEs$zXz8Jx*R(^TovOn2 zw$`lqxc4KQ?o=8V9zDjJpnRt~L%J(ht53I+Q5a9GW8%N>R2N2_9tK1_GRp7Abz#ed zQPEC^{U-5(|Mka43;y5qvE9roTkwC>mg23)cwO)xHP#ox=>`AQUF|yg(gpvOn?;OqEcl;rmdp$+_^*be zgEI^MCtTW@1^?CX_0!S>OTdEv30K)}b78^%mARzTv*15|;g}=~{+}R36t3+_#-c3v zpR#H7gYBoZO=}x$zqtjnbzI#k!{cxyB2*IyBB_3{P( zQ!b%at7VVXNG(1@mM{39atV>Ery~QsM)P!!?7cGPq8`1EE~x)T3g)xDEcoB=3Wb@9 z1^+{pbJQWHfywkz7yM7QaBA~ymoDs~^8Rj2b(JNpa2Q|dkV?Eu)csoMU&|9utc=s_ z;as5${_6$`4Pe24&Bc&Pm2*{gVsl&n>g>MF(buI*uBg=wsm+nAu-%jzOqI69*#)I! zdsW2U71ZgAm4f^s0|115% zKz%$rS9549Dsq%B_+RN4ay(U)BiNoExAV#Gu)%l zv$UO?I}d-*b;I*^**k{+U4D$`_T{LV%M3fFV<@Gl}Y_X%A6a*0#- zKfC&_KP$`(UuwUjGn}=e2vy(Q*BY?P8BxGrqWr7N)>Wt9uqWefc;{@(ew?#{O;3Zv zyT$(P#2i&>qnOh&%&$kxk=F`0!{)Jp1Ze{=plWGtbVOO-h_-aN0S63)oJkSa5A`B%ziRys>aerP%}(6gJb%ADruqnl4Mw|V;b=pl=C zP$=@m?1iV&wbpOTtDeV#>&&y7iPKk!bDDC#QB^96HkGcBC{vP2+Q>iXU zZGs#dET@4X=~d~Z<4788*H#6qLvlbIeq(w(rUGxP3{2S;M~%|~KB>IGyDHRnCvuwkIe39NP4AmLo;f{ek{9`(|^rs|ou-uA;IvHDL#+w6(7Z z8@bZ9?kaMwzlxljuOhDBD&mIMjF^`Un~FA!jBE@>t7jn|Muqq&T4?pFjnVYUEavKC zz{#q)yXq4%ZWU*&wJ3L8He7PXQmO}3`i#|Ah&nY5C^xmw2GcN1WoImnz#&thB7DM+ z5Xbjm%DxW4E~akD87pQg&RE^L4zHOo^d?EFN71g+3fE1uSjTq@|4IB0cFD3<8dG?y;*jM#86v6W=nOk8g3Q4OisD{C7mTy<;iqppr3A@ey(}?g_^rkHN2P2!Co;wRs26| zUQX3e_Y7Pnq+H%eX9-n#FC7^M((-t~JVfN& zwM%ucv}wgtMQjw;hN`CcjnlmCzo7}6#zyV;igs*PX4FGTi0oZutgO)H&3jb3^(%9u z3Y8xHoA)rc(0c=GuQ@l~8?Bu)b+GT98p&JL_H7#ipDoad@2QB z|JNf`sL;6RWvz;%;H28d^OAb*)nA5A{gC*$uuE-yhnu4V-Kd)6+}riQ+T4i}6hx-} z{`eF(Cgpcft?dYjb2xu@omFK^W&~Xi*3o6LI(|aYheu($Wy-$--F0@_ruWGU@kzB1 zpQ7uxzcp&m=$fi~$jJlsMGGn)sBa-XlN(6)Bt0q*)VCEv-gr-JdiK-@>ToI7@6xVS z57f_-Q@{MwRe6YOwd}%X=(^_VmaTS7>LQDONhF_&2kPV1Ma!9{c3f6(Wv9W4;yXs= zXhV`6O&_Rhd#PL)aBX;?t~_0mDV%nj^>QJuN&12Mb{9zKgeOIoJy4%3gsWSpycbsF zFIRf~a{9}BRy(J{``dhXrPVuBng{B5<~GyH9UjfJLgj3-m^@I&q5MJiQjV#~0F?*X zRJKmp`X{l`ljRSxsdwEg*y^8)J>)@lTzK*zdle7V>AdoK{90KLx}i?l`YesBt_M9* zw+6QQeC#3hh&N19k7gdIw`tL)8yWAUKiam*sPZY5YS$)jV}12DuI>k^R1TjUw$z{~ z#6}$~g+nKkOg`~Lr1FR3IOX0Ym!_$|Hge}VUL4AEyxpVOcE!W-^6*^8KS)*TU${u5 zd@3J~YcU$3WrZ!fofe+^yu6=%?ky^(Y}o&A%8{Wa)L9Fyeva3ySJiVoDiS@9t0?C+ ztyA4ed#lO^~75C3tLvnC* zt`Wbc=W7z|1*ekq{2!C_OeN{r{!NP9&PvNYX;EO*%&g=+71sides=4$KYcIh<=6MJqeP2$gw zlB9nkpxnudvl{Ue0a&97vPPjgj|?1Z6egU-CI=8%qj0QvrW~R~+#=SXj>#pt{zO2+ zr7OW2g=*L}l*$@~30GO_h;*qM6lyd&ZPU_|BZaO}s7dM2+?+qst2&GfD-RXnFuayp|=Koe{ z)0(Cl#u|m%u+Uc4DAYdC(GhsoC`@>3Y%sD$p&B_{rYaDxQKln@{@~K>-FeyJ=rt%X3nya^+7$m5B4OQ2Jm<`=fjI2@ETn<^IFrlq!Aw(ngaE z)+ki2vjj&RYZPi&*!NhYP^nPf5st}Jwoc2de>iS`lH0Gx-`|&gYC7*Mu^oc z*xuHfH6QnWWD9Z0j#}UH(x?+0{WqTAEbPe3(uJN?-!n1M;jm+ zHOTu?(PicLxu|#D1K8?s zk3Ho6Qe1d)f2r&~mu5=p!LCqVkH1vbgKnr(w*IuZl=6DeBXv({J&Li1)Fa-_l6s`? zbLmBI^y`+L2iJ9@dE+EcXJ418pA%*2yiJ`RMLUm_bxdZm|0kQR^TBne=!Q59y8ee7 z?SRmESY2?LQ+Gqkr8c^b=sYy#azfp)5?_`4^g6C|jIMY~uk)GBhg`6VkUvB=>YD3M zRqNZwwHcDC&BdwI<`)`sRaK5)yLuII*QWZZGUsh|bh*5bMIY)n1v=kXryZTckSW9) zBHpVz|Kt*`{@39WC7;f}yRgN6bM-y`5p9cKT~_2`5KJ7sf(3)OYBm<24gBqNWN=rDl*W!H(!;>&C`1|pJeam z>39uBt!yZAzuI+frJ2@-&*L_fufdpd36TfZPL{roHsVz6_V^cSSFr|TDrOcjA>YAO z`GW0`+9R|qYMIlrg6;6yi)F`*S`g^jwTCxHJQw!~Wx>mlS1wYS|JZ}Qv;+M>3z zqFudw4aP8#att1G4v7|~6U{4c=GCdOY{BY~oSbzHM%^)V2MS5osH-S7)pv!o4Y!o7 zQ=M%-%~{cRYo+6~C5SNJ)-@P)uM72K4Mxqy;UiVf)O4~ zm+7)vO>}_nBsVPT7$0`%TPsp?c%`~_oti((G0)Yt*D=`&DW5KD)YQLqP&7VQ4__DP zvTn^+Dfc#qL@pgtF6-B0&6*GCT@_N$+Ec@LcAb6`Ki;G2 zFHOCPA5E>gc(3ho}xsg(loF1|3JFRJ_C$1Ock;nDozhb`pRmSr0+?sbubp0$D-Fzyq z7qu9T(6Yj$e>*Kaw==yOSf6{B$|;-lk6bU3p(fN>3$4ChY}TvldXb7m*L@Y`yry-E z9)VWa-qxBmANPJ_)9Xcz3wv<93Cgb#$4htR8fkm|C7aj|nOq~r#DBj=oDy|$#c`lj3)X_)O*y9S9;uk9Y21 z6af?yV@gZo@YJtxSNh@TT{T-B5K_@pzTK?7=b zh&{ys&Kw>$>LUSeVyw0Pq#aLhk4W@Gax^ZjFBaVz@~QfcPJCCi+gW0R{+a5H+pduE zq7SI`r|ot?9W8w0+FMl^->se9Q#keLug1ndr4rPq5_%Ccs8dAF2mzC zJjPdew0R=09y9TngGXge+U#o{)MmETB-6Ox;85MRROJOL=uqL0q)~GPi~{h%L)kMd ztYM~nF@R6&71jkuiQc$tL}F-#@$MR}+CK1&@1-ivK{mF24&T`Jvrr#UY+Y0Nh9@31 zbL-EnyywsxZjdh$@M-UgGfH#~-#G?*#^68!+EYggXx!j2t00wZL9uUIFZUK+6AZ$kab(Jky|wjQ<~9~S z*$A76MN^+l>SIzdd1BtPn4<9NHD5sE9+h6dTDxZ|-}qq4tfSz4OY&#owSLbFXuPz- zt4%BOx;FN@T^$-DgV-J0QF$$aR& zcjP>X$P|)Ec??1^qq?`k#|59q{$#Tstzu+u4y#{sHW}5cB9Da_o5p2Dukvd>-CJRf zi%#Q;ul4j&$ME%_xVR8v9+{(TyV+4aoF*E7I65{o{-EEwNt)Gp?;NXXxx%;0tXC4C zg^2msE$gg~5f1I^d~o*Ghlt&IExYcpkb|@6X?%=$J|Ld)Chh!sh_M9)>l?dRiq3B) zzpdQ)Pj139L?vMlxCyV95lh^J&yh?u-EazPV5#Vf*oI*LWno{WYPmJHHe)JHk4LXuoS)9VbaAkJ`J%QyTthcN<}a z7-$|bKO#mHn0gb6EXCCspO? zI^uuJqkgN%^W4b)Esy%GBG1XA{8irvELE`XzZ@#&>J`Si&YYzR`S2Fw$sVoHt@&8CKq*uLDeAy7knzD zads+UU##1kb)N7iTqvUPs42FoNzOE}kTs8z@LKkK9Lj3e2DjRDF;z)gh9t8!LFUBC zse&l7FxoYyIW2q#i<_=xj!sp63nIptbx+}SVtasqIaOtUq17(0|D1Hsu12meL&sKi zZP%4_?WXBAr)$@bjGO)cQ@iR0e%nj~Gi80rC1Rm(sxQlWUx!I=S3Nkkum}c+_V54K z0iqq89w0J+sy6kSsp=&=UpN^h)0h3(z4k^4F z!ohL4`X%9&H+V)ajLx%S0Ec>39*KhI)C$j}N@ZtcVW+(ossxU!q<%@2WTw5*+AcMp z*A@wz%wi&(%*jLOoMuDkq(Ti>Oqk>8nUyp)o6H<#qD);@GGQ(co0JOMO~XRx$s7si zl}`1{ti?yJX&l}#Soa9-@Yx#%hV?LSFy%H=&jn_iNl40eY$}D~U>ma+Cm~BeW-oio zBi!B3|0TM>>NH469dFw*<{B?`b?2;Km&xgsS?Ym62>!oDnWi3c>u)DYZ&BNJy=Q7N zwfRFiU}v1ltjb!Id6n%|c2hYtC5sji|FOVg^v4nuqd%6Y82zz?#psVEE?VZ3hGwEV zP12GwD$_NqQO5GtDbA&23&kd_G?OirH`z+D$<~TZwo$yA%C=E8S`JjTx*F*YY8lu0 z(`x6;uGYn^tPQJ9lkOyNREH z`X90Q*`P-G_MY$m7aUg?z39$_1^Np?nEbnTAzZes&zl8WlP(ej!a`8jL?ku9{ zUc;vP2OuL4RnxZ+z>>qE=RsALv)e{8%^IUTpzg2J+Qri=720Y!y}-_(TzA1 zokAi!u_b50;~p1+t#PvRbA;C|k(WL@nQ#oAiLPIO%9DtqLod4bV2!|*^n2S@5^Vhb zcj5TBlu&fbh=&+6_{vOX$1fzhQ)Uc9tb=eKmEb>BwNca!UgCbb}n4!!7i9ppY|6G+HUMQ0@= zPj~v>SWt^jbvnA}Zq@Xc{RTZ24&6{t4VnN9vKKF7H{`NDdzupBCsp0~v|*-#hGCnQk-zOU?+B zYeLK0NJ1lvt_Q@opHV)t=%}K9wHBL`ZY;VncmVybAT#}5hr=f#J)-Ci$7b->9K?%x z@peov0O7J(Jf@B1s|4S=|l(UV6nVnaHj$#%AXN5<-rN!uYqeQ{Td4 z^_JL{19w&U4KQ*Lw~{m5TJ8!q-P=Keaq!$i^y|Wb0Rwz@j@1sI|LF zhMoTd>c4gngpl(gk<`2B?!YvxNzPwXIXY*JVS*K(zn0BaLb|i)EX=C=y_8mT z`(f-jOtyfv{7CfmMQ@rR$lp7hjddm@u;h#|xd{4a4~;Cko5{04MA1ErP4&Nmj5G;R za)v*^ID#-l(NVJBVMHWkr+-E4=yDc@?SS5Aob(eG4=OsyqEq(vk>WHMCq>^AGa40C zbgEB6-+wgvTq)k4I0^{skHBO)(*L$SCRl$CCUidlaRn-<=u|HZ7V<7gkWBv2X`}xu z2Gsanxdw~|W#oR+siVjlRtoSY*EDKUDLPYv2wH-f;^e^FHI?@wRbTzwB*q?Vrev5|@-}Hyb$!(&h z%mA_><@yK0Z0iG`R2$NB*eW_bSaI0$b_6qdSYLu0Cn9$z4#IbygwE}!qB|58=;wkk z`Ku7~P!&y*aDNFZNOl^PNB0)Ctq3{6VN?APkdeLA^mhng$>C6RcoZEj{{HR|U*Ykc z!e4-WHiT{Qx+Lv&!t8DX+3^fL!TBV`oLl#msgVk>N_j{q5I5~Ab`?}PCQ zNr_9mFDcFpd0VGt;w3_Bv2!o#}Js-m0`qS{c0s`nyRQ)#eC)Jng$n;hcl~j7Z zU@ZrGk^UdJnU3^)g;=Jtuyu1q{|00v(rQHC zNuD(pAzRDinnAb%Sd_1<5@Um4{p|?CK(9{) zw&X0h_8J^+6!AO$in^e-mF2pcKt-oIjz!lU*5Cpq`a=LcCTXy;jj+IyGv^DgBYG+{ zu;h?_{H-EbZp$AuS+2C{yc&%H19YxbgO)jOhtD)&nAbK?N0^$p!Za+fRh-{~w4=_4PqUj#tx` z5J0)UQUVXTH7nTvqDAh4N1q4Dvo~M>){I8hlrYPauFElk8^7{ss#yIdgvRNumoM3JokdBQAPY z0ueId#|A7pWzqeY&tMvZ30QJQApJIKI{+I{9tS94@3<{}_l$kbM`HPIZw9}TYoLSVz$nn0 z2``zssN0Yisb8y?ki+nX@UN);jRsDH1^RtJnEaG~h&U8gQ75<)Q9-ixRBr!wVLy=y zO8c>?ejUij7Gf{D`yhbQekJgb^Ck`ZSc)mSSMgZuW#Ie3DGI*;ngg=r4A*@u^zs)Z z7zepm1|-50TXGhB#+yPce@{ez^#_eXj6em+5J1OKu76++c6+exs% zk~8N{@8En1G_d55{;>B&Z1_Qp?#Ha$47e*k6tU^Pa!gdD-0Y8pdmBHHOeXR9H#$fz zg$4R+5c9u6|4E=sqCOD^pkE7w$uItf?5H3)0%9JF4wA<&0)1~anFGFlcN}2-`Cp4T z5EUd-JoL-|13VG-b%h^%tGT~NUIYzMa_0B3xcFOPO((>6&^RNo`M==+>;L_wh&NC{ z(pdC^|4l+(;W}bf%%prQl%e`~xs;OmdX0oLCk&Go0Cg5>rd`i1EH7LcDRLI$u(Sicw(tbgJs5s#pP ztFZ{Il98d3 z-?#Jph>_ z7`zeKw468+m7HZV`2@y+SqgmtI8ov2z^MYg>A;dRJnmDe(VQA0o)zg^tPo$*k^VW& zunsJ+%V>5VBONhU=Mm`M<;dj9IRa8YAN(ugBRFDi&^uI{uN)B06 z>GPk7gX!nzVAq5I`nNRyrs%87Z+Xa>9=NN*AwY9L%A*8z-W9qZ*C;qh1ds?%tUMJE z*mP4tL`I%~Hm!@eea&oU#(G<_z;*s|@#3>V=QG?q`FEy1-htV0)*14AJNK|S*wOLX*RRo}O!LZ37J8Nzy-`1|EplNsF@3Tf+4ff(*{n(tJ+GWD zOLtkhEfa-YPTHJSL(^#~>(FjK8&B2OI#ph1Hi9cO(Z4GxWIf{bG4YOEHY3j12Cz^2XQ|02PBHrXow zd&|e+vRtN;l`T2MK(VvL>CyW5%8jWCH$EK9j#Q_WZMY zK5AAWdp;I^pE=KJyxAgp)}i81w^*VN%7UTJ^9i@$XXV+*T-cg zn#~4h{%k#<_579AuSI9~{4J-0)XLnfpYE5smm$n&v+??Rc+}9%dL}+Gv#m0LKF3Pg zENX}yJ`es69d?AsbKQC7(97x;X?@CCv8^5e(i>=Q)h0Vmi!47b>ybA1x)%11$n*6^ zP&jx;%|0Q#@t%t4O_%WLRjASJhKM)tH@dA5G4ri%Aw*d3pw}if*E4K_De8rXk5gL0 z^rqX};I^OuYk^EDl>jti?jS729{j>`)#)ZA1Tec!R3VBCu z8q)O}$#1DQ5ZFYD$ZL=$)@>PWw!ya9^5eymPw%a}@F%}-tPf0%1bz3jEWHoXEJZy0 zXps?paG-T?_C6zrkDe1_A3L!ov=*N3qTYukNp$~M;NnQzZuh=IoW_onrca+?R`knsC4I)bPQ@lutyPxD^o=u zp^TPKTjDK#RFz|?`S`Oc=v4iuXw!72qDX}nl5#p!*(u*gyNw-D)TxQ1Q&jmMlIrA+ z71xZP6o&rW!KQ~9)Hv?PV7pu6mWXUh1;3*qTAuAUr|EuUhq~S~Oo=KnGf5VwpA{I3 zF6!8e$4F;KVmsH+!!h5rf-fuORL!aGQMq>|jAj3$jlk}jCGxpmw>%4vK2^-VRm^@>%mG!5Zi46-AJ1p|bVUzNl}i`6RTVQVVR8dg$%dm?vi$WwTOSYTBa`0zfF3&OeL~0qJ#EsfxL0jv z4A&<59kAMrEq60$P;d37#)JBpx8lCFf!{nI@D^Xs~TtJ&-WDNKSZzZ4)0j;n|) za~PqUQ71X&SsT>Qd{*1xlc2JMo9m_|E^hA@T5%Og&e*o4dNZd=A2J8qAk_lWnQWwL zoyZg?8BkTEji;)#Bf~IDr#(rpWVEyvze&A4b+yquc%EL#1Y1O3p)=wtdV!vN655Uw zQOF;47Tmn;O1*?>-gdoS!ZdH&FLW&qai!;!)9ESU;C;$%ameg)x-7(wm0E*zDbvb_ zPMpc6mWg*+rki#6YEkNdnn`Z9Y&AbrLTBp1azU_Y6@ulD!BP>kC|D|DZVVP3BU+7U zGwq-3VL6S8=vfIJxAVk=DRVqODWjUfyG6U9-3%E?uYlS7BQcY*lTUu2ocr zP}xs2wKBy2EwbrFIebP{>#e&+dat@gD+?X_*z~oBBfgKwrprS7U@bsror=b)SIS|l zP?rj?s0O>MgU)NTA(|nwZ5@K|mc-g|IV*x>k=F?!!@nxL*c3L68a$9DMG-a!(e0F) z9}WIfvYo=gdAN3v4zVbBT;f%B0DK^!B{;ulR(eZ5eFx+Zh~U;cC9{OBJLOM^9rn)8 zi{X^uyQ9^5(B9+3Xax@%p~tHugvcRcdZaQ>!}zde2W_YHJ4yqiB*V0)budJX-Rf*9 z*J|?p2a!!F?;S{+Q(NRcs*0Hqx?hoQW-TDUFG=OIZQIM-tO$?cf=$oUE_KJ?Yh5ZX zr}rAd9f);x;Ui=7cSH$>cFl8e<}-Ai{F5=ecAoB0wu{wu=uUbNSLcWsU&TzUV)jUw zTsriFgpRs$=#(nvs4C{Vsft-##n=tPbn1-L$x)i> z;*xvFaVyuhR&wl!Yx!A79@Vm2WmiOe_Y|*3kce-e;?w1KsNlHC;N?+)9@)tRN%J}P!X6*H-dnVc|okc>h?> z%oA12^1wu$yqZg>vO1g>==8Dbl0c{X=< z$k?mG7!TRaEBUBuPbbBeZT$=NFoZ4c{WlZGnE6qUIqDM?UT24)blA03VK-MXcT_Ro z>M=+2M5*N!O}R8LYw9}Ir1UZ8^N=ZuTd%U+5x?O|_|;d!7b^I&W6oEh*r;27tzsTd zn6hKel0c{Tr*{)N-heGb1u}l<3^~pJyuXP34iYf~aR_2I;uypUh?5Z;tR|B}oaGf| zLcZ8ME6~1F#rLcH2pnL2Z^U?1P|>O0r8n?ESc6E9F0b?ef7?>TlVmyvC)A=-{YrF@ zyb7%TS8ajq-2TW1F&gnCkX-UjCzY>27<>;ntq)($fbe}b!tDpxsS0c4cjTLHP}mk| z4oG=zMWlz7SFn^o&SaL^b?+L#cp#~kYW*4r1^V$IGwn1OhuK>rXFx;vM+b=*D5B_q zMRzJDWzPj+^7WG2Ux^BmZ!)9bAq_7%qx}t;R9dd!botn%6Uq1u~Sbz9v5lyHd zc|8Gr9}k=cYY^$tWh?^%y91OBM6WqX015j}Tz${z>3T;ZO;8wGmPf%1($h>m+iLe{^)3thf!4g2n75tl$J!tD1JPPU~= zOnwP=SpOGd{)!5cuQQ>S_5$iFK<{Bf_aE*l;ww~8(W!pScp-DE3kj0Vf_~-RB6M+v zZdg>cWg7ZT!Ku$w=+09)3Bq7$0`!3p1|L#lE(Fl8xeE?wqVKIHsv~bm zNTQNTzm1l6zDR#3Zl)vsqx%y4SJ-~jM1K)vB+^ga5BtZkz>+h<<^7Bx_0$K zJhm$YQoaTzb@SUD06ao^PQL$)2heW~GShws;?N}0BZ_V!HiPvuAYMEOc`!7De^OHV z<53kYnl9>mRFHgw5PgVN3|VwYe;W>_ucmH~Ko}f43AevPTqw{#uRF@y=pC9ceF_|@ z@LQlcAWIJEVSUX^d^@fo4nTS7NePp^pkGoNDeIp=wAvXzq^#Eg(NW;#_DJ?P=ldl$ z$$kHD6W$L9H{t!ja1-7S3OC{X;BXV(ZxwFB`>n%Gc)v}!3GcVHoA8_n{dV0$xkK!R zyz)ag3;eLY0S`~r(+>*#h;0HMIW*wyM+7`-bikv>1l%w-;2kCe+&C%VF_Qz{aqobe zrUksy0RfMl8Su`B20U(dz~he&c*1c3?@|nS*HZ$Xct*gJ<_Emnc>(W!VZeJ_67b~9 z1K#thfcLsK;3+o-y!WjE?{i1MQ|}3Q-z5Q0dnn-j9t(K?#{-`JRKN#37w~~E1U%y( z0Uz{gz%$`r#7t} zl}~F&w@GWqv`=euJEXN^JEyhd)=q23cS~z0bWdw1Zj#oDo29jr`lhu~zqEGpptN?% zHfinDp=s^35ozu8(P{0BF==hy*tB-$gtT_nq_j4Fa#}lk@3eN#w6u2a0cq{LnUVHg zCppS3IMhWC30wM2bX(~XU7KbC?%@LNnGJZent*%N2Hd+Y;6Ay4`?d&p^L)l{e2g4w zKVa@P>oh_BY(Xl{>@0^)kemty`ah!MBi|Rt2~ti_r$W4SI`SbrAp99;pdYIq%V2^2 z4G<>Zejav9Mqd9tCRo2hQu*APqJm_VB$XXc7IsMqVts6?Zw4~*6*X-O0W3KjWDNx& ziVhdwb1uXbJoZvJ19*+XBZ20CEIGsTp&vL!f^m=;ACL%7Y{^;hb<|or@FD!^Pg%f> z4t)+CBr8v8f~Swd*6B>-a*Pmusp^MG56Bymut48(EkT%k!&&%SUW)MDF~R!o*tbLl z$(w;HUpP|O!$rvX51Z<{fs8y~O*0^XC5J=N;UV*6!Tv)%o6g6h^DJx^1NT&THP9T8 zC1>~n=p$$k4l+9d65)w0ISYP^S`Rs2#B%%bl6geYjl^zH*^O=z)9#RpF#GFn#1ma!je?kq z9oFX&^H4$ZE;jn5=zVS#H2M}ubbmXf=}7_L9%ca`sG)M_#6@> zmvdK&-sN@?G|{(MM=Yw+Zh5m<3YLYv79%&nW<+lwp+$GMrWpcZ@H(Z(LKu8oiG3h| zew&5F9fp3gny60EQ6IS|qJ9r(d2R0ycnNN%BmFja5_~)CodW$5kda9L_FdSYhXu-_ z07{tr5PI?5&`5dV2jcy!Adqq?BX#o+-V5xnwd&keJb-?EkeS}Q4~J((dW6h>u^Bw~ zeu$i1^f0@)pcMbm`oT}_2vi=FWMIz;;ApEcW6RB2TS8Rm`MehPK66uMO z7h@m7>y?L*+u~uw>3@W1g1A7Syz8vQ6bQ4;0Pc1fHl)AsLL!Q=k1B-lKo9Bvh{c?g z-0^ArJIWQCv>zMLKL*0&UsgMpszt|DtA8C6tiR(a5uc)h_c=UY)TNCg|g}VXG0a@SOjtpA4>y4*p6-T!S7`#~zg>_2=9 zGrBAd0C6gISU(zZAu33g)k41({fu`7wGdHsKzV(X$VV~3`Wf$tcpeobx7*Nvds)Q$ zkRTat|3rQRVX&Y?-TFcpZ1D;n9U%-3Q(|KXpubY}f#@GUI!>!6#nB?Kp@vUl-r;FQCsyzf|GHz-JU*4KxR&ys0kI!}|VO z&%fXRl)HRNn0yVo?lWkl%xodfeF*|tbiY7cCNO_!bU!cug_~qiRb<~Nj zk~rc00^DHz#yJs-P(d<2=-xZgZPNh#^%`#u`1)ly!1|MLkSw)?{uO#%OF<2J zNOYguNJ!I>{;3w2VEuZS(0xxtUsRAR0*yWteR69-N4A1Q_q#xvj`ZJ1aWX5wbSNft zKM`>vDo7fya>3Wq#tl~!lMbeZ*i~hO@vbYb_q9bnhz-JTLC`a(Ai4Tc`8tHbe&0ZU z24V1EC4Pl4nBQ37E6S2c?uTj)lN(|j(~d&>0w)Ue2w5&fYrq}=0rZ{pV01M45eiQRo~ZB~;OzoEzgVkllliORRArGedH)%m zBqe95kRH~rSQCeraG1Q7#J>qL(&QHqwf`m-Dc8RcuPMxb1#P(Frb0vbZi0M|o|5b> zgra^}6_~15q3v6_iyaP@-hu{Y5_uEp$38)~sr9=0g zgAS7QuLb%KG~OKW^^0+U^^Zz({UfL#d6J0!Jo>Ty1^v_y5-3+iL@vh!>-R+bfC`dz zg3$9lMPD&M&C5P(ej!@`Lq+Jq58NCXig&tdHCa!r*C290FnR zF(rx+2G0U+x&d({Dmlw!@Tw+`&@TpI^5?4El9AUxg9+BpkW~I(s34gN ztNg<-VF!wk>pyI&{|+*8S2eZoB?PeKaF8Q}coZEj{^mgtTj24g!fk=;4~88LGzVnK z8J+??i1y$htBwJQ@Whs!1$Q4U`^}~zqW3raK@-GdIbEdUI1^Vwnn0(ub*ew}(eSL2+!TRNr%CCnClCo5G*jd>7 z#zJh1P4!VABVSh2BnY4^b|nGwgjfhUa|`2XsjUBp$7F@40v9Pf4`>d^k~4e*^!?)` z7zbH~1xSP^w&X1M8g0u<_`WxdGTs7yA5`~^2$yCVs4?DVCzQK+^P{i?&iZJ_S2Vh2*rQsp2 zzz*yCBW^_n$xRycBM%a>6cSW)s(&*B2jo+2`Rg#^ixSbO0# zO9V~wYhh89cFHdz%*5%qLy!Zo88Hk90y_WJ0VgYiwpoblz4((PWVjsc& z9#~fHmzyYRdjjGhg)a!~%2!k5y8zFUf=Wo^0$l!GjP}t2Vlt=VR9Sjf%Bk|GHro)=~M`$%zq%>7U+9x=iM%yh$l4`D9?ZTi%HqeAWVMI0udXdg5;|y=tIt@GD!Jqiby{i2h&$mx7{ENPCQQ> z4n((sL|l2dW2D#jOeUOnOW$vvWeZJ z;&YXz!uw#nvVY7@6MUHBg;~4}U!MKB4X-y){6crawi5nZ65etECf532=(ds{UU6#* zVVS$DiC=J8=njw{VR8Ku(-1ZB^DI)IPsOxTV%l9z9bUxLVTG7xl$#bg*Q)oI!k;C4 zfnQVMVs9vvj3m>(Tq=nfX?hKO$4Y^orwQUL%1wl?7VrcP#Z7ekV*X9oox5iOOE@+FYHdwx`pw50X%tlY35tG-vx3 zIJ`h}>b6QZ$8vYCX`+m2+J`?PIOT1ccO%fbRx_U%Zi=V`)mzWB=>quBME=CBa zwQe&t-&RBU;VBFH@ph@+^mLH@u(}PH6OzbBqe#{%w#YAKp5YdVgSlRziCOB{%>5Tj z;yV-bLuzK}EhX}~#PlBXook&fMDy6?681@A`&z?TVA`^_ktJ|ki*4dU>jl}; z(`G)Le%dH8Z?0xe;bva4yO>8N=CNvKZEZ6bua@M~67wNyX8CMcd~jJ!5ba*EuwGzer54C8iJ6#Ddt1+*>XF zCX3*>?-L{K)%5LJ*6bu*p*vx_cUpiY)rx(keH(5Ym%>?A4_evFTFVSIf(OV6XBhR) zE@Ye-yy8fSGI$m2blkh7&h2LHGfoxSxSGYTMI$ze}0y#@+cNbo4!C6-Z z1@nMKt|5O5Y41pkNt88wzuEeHf$*U7OQ5|0Nz_0&-P$921a*?xSgv zW1qw$%+M~#GI+#e|GmWH*)I~;T=9o51azp-Xe?x7T z_-^y~BU#C=SJEh_~S^Oe*aqU^O{f%bYa!@Vxw0PsEGuKA;p`8mqzG>fL%2Men{dvTj+^M;EZRJ{8LULpqBSo8Alu!B4$X{?8v-7l8b zg?-^19oaVK&(5zYd!E$lH)_>!cxvaZ$`)$6Zj0^`Wwl%9v!CFaTL%z zg#+q13K%}Hjvp|T<8Y0aIjuimI$wpVEGOE;iaJfK9oobSpG~~3*TkwMO}xJAxi_)U zjgT{;8z~vA*vW!4eZ#FadYo4`OMDRJEV_gulY+eInB>Y*ZFgQ%Blx)MkXI4{;WxS- zeIL=~_m5zK{t*x+e>>uDsEX!ExPJo`BtHV6a>*iLcNZb=e_>NSJ3^3=$Eaxy2w=(K zAioePgnVgFu>ad75dHDUTnZct9I3DoXb#AdGdvY~588l(-}(kYbKpSo{7|LZN#jW< zw_!Eo#y4>`$mNc^T=wRh#bBMhRFHOZyUViO#L=p?(6zfzw#AEy+Z-=L)TSZdG7Vml zSiTcvKZCo_eaDF}H!{wxlgWi{;#pGS+6k+3$VKjYw~c&#-Sta&=2BLZqZ~itq5D_6 z8x_mocu!V1b5j%VFxA+$W_Njy(!7W2v_sn2E_co*;=dsAXG&w)FVFt9yX^Q2-GMUW zaQ7r0deu%3-NKCLxr7fTU6zd|GKJm}`9g-MUX zVX^~dvJd`a?Re62ZKYkjmYkSU&%U3;@}N(dW+gVx9P!m~WIuY#-A!A>2dxL4V~#e#y~3*`FQl3cAxf zB|&eKr7b~UtwL|B>vZVm%&x9D_)gApQ4#d%6|o0ruUbEoX}m`&7=Pr>OeX8H@?(pc z3^#ZbJT2fzn3rSlE+LIyBco3n`J2sJAh&ihjd#m^kN6|M)0oM&Fe^7s8jq|n%B>SE ziaRnVEW%?-%A>7>%RLzN;9gGSh?J3Q$--8(YUCbJUU%ImpjmCgpM)M?G_L??OSnfW~!2#Glo0-@&TMEgSXfrw)x<$t{cc11i+En%yYe z?1>^8+gDomt(ms98cLCC>lfOpg*!$HE{(x;0%qSCYYz+1ar1Nx zUXH=L0vcwD;3Kztfr6MG+qLQOjFhKdBj?QE#>s zx9O4A`Xozv2$i2JLJK$*YvT=(4^dp0#J=3!X*|Eu_?itKZV2h8VMFd=$S2#$x{(_) z4L?Wb)&;9IcXS%wh{!e%*cjt3P{YG9xrdS5Ig(G~eozuecWty2=L(Q% zp?&aB_6!Sa7#4+R*Roo1J4oXv2`Fo_bW^7FD^_?_lhv4Na$~$XD3(2~^`~{3);3Ef zQ!(_`$(}4bO;XK?a&Qdeu$vx#8rGIGG@tBxR@Kp>Yt9J*8ZM6-(z>?2lH7b!aJPVl zc-ysJ-cm^#&=7C4)+?)czL|VDv&!;n!BBV#$_q5jqn=NLXF(mQt*X< z#?j&$f7%IH;1yZ(3(P`P^WaPJ*GuaJn?3RtrvfYf6 zL3)&y9a+@4veBwryka-YG~Ouliul74*V*n?1EwRk7aoQ=yLrVVpodNZ%+@!%w_Ncx zexBNv>k-q#QgKUi&eIjf4iD;x;ihKejTN@8)9h%+4bjGPQpQ%2wd<~yl{=}K#s+Tv zMIR1cU7t5AH!B-Eq>LPa+B{}E2Dd*mjaR3vY?|20?a0QHD~-`%m0OwisW?In&>JA( zpfoVc&9a~m&T@w_=>7DF*0?mum&uShJJ9OSjn7PDCvNjaAKf^E&C1QoIX|RAF?P6D zdzAa0jjvSL+Wp(9k$a|%b5mLA(RTNkk^7a6yHptCUg3^sAta=fX2V4l60Vk@7RHg8=#rSi8AGnKXq6?Fe{fO znrxOja8TXqw3Ws23rZx8jg&?*cj{~K!=0c z4-oAZ7dIihNYiM|=bW0V6DOBA&fTeKI=x zA7&|-#g$DPT8TsJve{hK*(5tWij`wUbT&!%jCQU!m-1~;c3|F=u8G`Meqh$gKx+C> zc3@WH$_~sq8d7m!ZhSwrZ8&yiM_E0&-pw@rn6h&0imhDtR-aU}qpP~1YSTBEOZm2M zXcwIwvOAcWD`?&L-DA*4fDZeuVlXlWV+E9-U6Tm1G<+aOBR<)Q)@B}*G+Y#sT|YFE=P?b(#^k?^D2J{8d0>hP$WHr(XVc{l>Di6kbP60f%G;&zxVgyi6(b`9G`Z@Hq4TO-0!`%PLwv z&*>%R>||?d)jS8|%H}!PRyxm-J3gzJ=d6QuW%C@JudZ~Sv$}-FXY{IhjvA}xImssD zmo~!uWl#MYPD4MQ@5m=R)%t*^N3$D5G}K3y;fu_|lc(7mV>ve(Dut|F^YKt@_MZ?> ziqOtp7K670obYL^eJ7w{kO)47aWC<9QV-G5?E&*T8G=+NZ*+O)I<5=Mjy1&51z? z_v=%aW+ZJ>u&UoDyt*$nhsKlS0Yv-(70$KNFBe`NZxk^59ubX$D_q-jwkk}HT@S!@ zHm={NYD?BO_nIq@ZZvB*TsITJr*UZnP=?9>!epxiPe;`K)fjvbgD>NdhFznPnBB`p zBF`^1=peSn@A613{^(W9AIyt~XN`SR)#UP`<|L~o56b2gDvY&XSk19*pRzFxu02p~ zJWA6~V@;~q?S#tiW5x2ca`svxbo*~4;Djw=Z94&tFGsB*jUH%+Ta|b$s%88?_O1g= zsv=u=b@%i{X8;*TB&vX5LR3&Ofek`)6$Eq#6(blxK-6|bP{6cnMlr_$^9U;j46v?g z5nXda3>Yw=Yru@FuKND}RMow8Z+A0{qR;o1`o6hyy3Svxs!rwn5eRX-lF_?63g1^x zJl${Mj}vuK1Z6W1S8GM+EksRpQ0&oEcF?UMmwRcv=?I`Tq}ru**lvZrh`9$u_7O(I zi$HB&8E>I=gq|uW?^y@TiHCOmv|KKSirnRv_);T1TQ4y*x8pB9N~_nepFCSXSwv1f z<=J}5B7TSZ%AK920NJHSk+8PPD?AO*vX{J;YY9!CrNX%J%@fSa`v6`s^ zQNK^k)QgLZ#+1?9F*Venpc^I5X=UaxkbZNIQ>u($sG%5jpby2DAWlf zN$e0dCVmLF6V$mqwwYkX50G@o-(e$Q)g3k>R=2|@MW!i(OpYzZ5l5S$K_=^@@F3G& z$zKD*NDm&Y?X<0dP8+Mr+N%!PPC!?G>E$ zVYajLI=QP`6l}RUvp&Mine~a)xoxxzP)A90bDC)K3O3Q4J(O z{MHhoEk?|t#gVi)66C3hUz~rWh31`3a?8Jx$8Wvb>o)8@yb`v0zvCUC#v|gf)`u1y z3OXjSt5@aA5b=k7Sf}P--Jk}t3mJR<1@PYRdAutQf)nq+_N%aMgK9nx-iZeT1}eT2 zjE%kDAsWVRL$TBR4VCO_ZBUB>e!}4=gs-uhhOc8jfUl#++vuDNN)Qz_#Xl~$TZC(5 zBQ&laf=z?E?R_}WpysLfa1hDT2ZCYgI?xcm{f*S+ClR1nVcCReCgCy>%#AR~`mdD_Cgt3#(pzaVs>^&9`NuAQ``YgNexu!EKo5 zRmEd!n2#9)N&<_Gs@*Hl%Syjl9)|}h!Y28!GeF@;=_i!b<_YAd*+`ISieKE~f-g@* z95fn%dJ4#D-b+t|z8dz{pAD%oE-P8-SK>Kl3;7!_pQMGD%c-G zan(agZaTv3OvRM(&TrZ?6Z)Kl#tbVNF-kdSCZ2%{?n?i*D2uGEhE1@V3o`Ce$#K+I zy*lO?MB{iLaWN>JoY9T&pW}++26g{bz%`&WH5H+;^k-ne%d<*upEMG zp*k5r9V%fSPKNy6m+xNU92+fk9=ja(5S>`mBfjZ1CVLn4j1RO41o{#r(1}Ic#aEoJ zUWZS;AQKy$YoNpqOQ}{ST7IkTzd2ZMq$cELMr&)9BFW&0;~y zwJ&Dqb;7hS_VruQzS!3K}~@N%B-GB{GSEFnjVbe8!0hd{mNquvLFOJZPo zs$%u3K}Ql)l0|CMjz(vgO<;9m#ln(Lk;Sxv7M6S@5}rameuL`5etB#@OTx~8YDYmy zXrEw(gOU($314HebN2=Ca36TM&D3B|aA<~Je1knVTj$c%j=iR#j~UA#eW5R1n!s6V zMQSONW~px<1TU33%hreGsnijuN_CQbnNo<6O|tKWLxm5b2c3@3jpw`~ItF4#deuLK zKtAvOENta?V2d~F(S8{+IQ0CcX-Hpt55QVoA;ezh6j24DrB1#0u(%O5z%?TL@YyJ) zJ;17_3mRP?$}gSohl4B0gBs4y+Mq>3`hm09hJA1*tGqlSq7~gtTOM$BDiAhL2d6=` zg|xhKbO35nf%_WAeT|LIn3hn?4+wBhECL-}nPA8zlT}@nI2SHrgSxDXd++!DF@XYXcIV26nOVIJPu;Y z2kUJkoMDK0A4a)*X)b3IaAJoeYh%Q%;obmy@4yJNqJ`d&a2%PPIFfN(R;;fV@wbM( z1biR}Z|jJN0ekDs6g$9PP(vuIMHH3Ns8(eD6p6rqj+$8%II8Q&Hpm!K@v}rYNBv%9 zgx5Nw(~c7b-dBN;7#&uR)J#q=c&|j6%{7w~6W-q=%!&`RUOAy5rtTC+L)2CLtn3U} zWv``TY9q|nb&2ee5KqL) z7YS1qr1U0kr*fZ8!L!xTMsoaI!E%}dwzgClTb7349FbEB8b3!wwM29OY_&UP0BDSS z&OzvSfXK`;L2CV--b2S}6yd%MBKr?|)TdPA<6QwOYs%=-Y*d>GdkNee5Z;&w%I-Dd6pEmx zTH+kSS9_z{OBm)`vpIb?8`Zvpy~r)XkT2U7A8$+qYBwKUW}(-E$o>rspaW|dfQk)ux#vtq_ERcoU<6V0lP<8FR>@8$Vj~C95i;5wq|=u(G+s}R zS&d;;hvPSPPMErk%{Ml-6ObpPNP;qub*b^*qk|oZx#Ko4FX^A-? zGMnQglGf8zI%h;gRDTfO=T2}W3wG6coU<<34TyL$f~a^@*Z!QmL9;p^7;B_i-BJtS zj7Kc(fS3QMVVwRDSTBL~cVK0N{iI=>0}YXVrygBkuM@wR*inDha zyV>dqL&eV%ahw|wVi^eUeM|^g!wy2#1RVuV6bPyaL+~lh@$qhSpls`^uGagMp0dza zKzIj4P`0@^*P<>bYP~4Rv=qBqltQ442* zJgX`yjy#)S(t7?k3^eletS^wvC_U@C;~m{Gcg3d*lXGQjE~7zibUJ4euOiW-go(Ts zZMO2StC%Pu;B6Ik_Oc2Hi1D08b`Nd*BnfS3?`|-ZbN1}!9m)k)i$u7f{V@}V}V5~Abg!lIlJ9cN1l zx92RN<^K<-#vH|Cbry=>c}6nE(T^y;@UVxfEMMiYhlo`SdqkmYY}g}1%EpI1;;B3A z@%x4BUrHJOzd!tuNH#wFk&$BK!ykdIx#16U#hMuYG^lA^kX^?^Tr6=xk*p!>Wy_tq z!v5!r?Xo5Bk<+M)its{_PY*_gW9|Ko35kn}^3xX=$qnLI+{8vnb-*Q7`jMdUCJ_n? zw!>jhq?+inP7_vqJF;rYx+u)5S9fFAsA`DXcBJitQQPfkyEtll0Bt`G+iESm`V}}u zm)dZy_Z*_GIc3~d*WTyIwmQwZs2>)h`+}2mUHV{H;&GwA3j0LbvaH1(?gi{&zLb+d zi8ia#$<1GZU+L-{>_yZcYz^oIKJ+S)wGfu+Z->ae-49aWMne&-dwkTxf+C<^9la@7 z&-<((MSG^WE_n={C$>)!Y~nbV!V;I+*jIwWUG=ck5naTHZsfDK5cX}b)a(~_2YVPS z{oBE-Pg}y~!EU9g15aXG@lUzy+tPwc_k{C$HJJ+fv+u`+;>Vp3bAxKdG8LP=BLFx1 z0BX?qzwNf*JnVBsVZlv^yCUPN+V{Y|5_;L4qG))<;{Z)U8v|0*lD8Daz?y0hu)kAH ze3!P~=MHbW=1HB;qH~vul_FQ+U$y*G8|q(M=zlxl-<>Mf5C6QO_*lbuB`())Q}$>gHgyo}ETL41a~4jonZv9E)Aoy5roEMZG;lJROfyNz)-F&NL4T%#rH-RwD{$!&^g)q@UA(Q15Cu`{$?w43Y+tHubE{X^ zE`{yGQQN=Jc1hHB2qk%kI{W1}KjDaQ{iB$BO2{NQ9(i$gLT zb}XX(JmR3ED~C6cn|Dewe<~_Es)wDDt^oqY_hFF7!4Rca z*oQ%CfY-sg^gXy->I=UA1JoGy`ItW4u~EjWh9g$;FJKq@qTUuj!v|JWJG?-rzV_Ka3tPWM_s@UX_gHFw zgp7@^LlkL8V_v=K1v?$PLrapNW9jGqV$usdffl=6kQxVJ8eAMEe2&z`)Q{TaT>Ut;js^903 z2S!Wm3Z9N)xXUi6^j2_QuNE)^?Es*5(iarocUyIM{T^c)@KTfsT42Xu1OBu_wTaj7}(VG4&b=VehL#yIS$bp~h zA>q}#zRMIUSRJ{V;)dnspaD){@d=7pIt!ZybOb~ zyZ{#L&xm1hJI?+9lf4=DH{1LHK7T@T%aQ2oE<#7h8tIlDrF&THIbkZm;j-@&AFsLW zK1pYj9aSMhJ=IMCUHzV_w}{F$=4SklPtd-w=OV)2vcyLq>Lxhw69^wBAoiYwILi_j zTcX|)w_4(E5VO^W_|o**RUEQACqyqx>~4vnmN*bZrYF*m1|7UCyF0U0jj?HYcb46w z%u2v$aC>l;-6`)P1E6IY8S_+@of$71Vc@iRmYpDPpD1Jhk}Nw<#?+Otxi)59{O_}~ zgq@ug?}GprBhMb3XGh0-+F>#%_TW5wNVvDt5zFzqJvh%^PVP|My)F^p+3J1cywA>A z_AD|B&F|fBR$2B$yeo|b&@paoZvRdq%kGRfIl{m!Lzdkj?~o`1ieS$P#@m&h0%N#I zrv14^S@t`!N8sa?MYz;0yE54=ETis8OTn?MFbx$gvcKS6AK~rxv7TyTmm~WC5hpqb zmL5Ch!VXMm%7sijZIUzPBFxZ~3wGi}C7Wpzc2}}(@Cl`bNXVHsamU^=J~}R$%^7!- zfpK>>XUr{(*OJ+s@iv=HjG41C)&}im5FBgP0}-#&<(FL_Z_5a?-A#Jlid`n>R#Q%f z46s7tCnUdnACm{89Jllp_L4g6IN=6(hueYNiJHsKk<>nSS>i!UJPE>^gpV~XK(zZ@ z&nBG)dl5gK0IwW<0&D1byM&%PY5{wJwX?*gAiP%`sf62o?d)&~{8LMO2cq$v?z>>i zwzylpE${ut8*duj`z}H|0lqq$;A0-A0Ib;$%~Skjt>yeP0&@Ws-LJVBftglh6K4ci zCY%`oZ;}&{m&lu@Bf_3$-K7q*n#{dKP3&uWw>vyulD6CadQzF4&CsJb^wCZ*%C&<$ zW8pYn5C~>xv@Xf+l`+iweRdR2+2!;;blj1*`=`3@VNca-=Q!L5%=QVLgV`w+5j{Xi zGV}q_-*_SQo7fJv?EOJ_SL0(1qtL#OmUcbtMcQ0T{EhI@5xC9h?8pjyiY3k_+&$7k z={ZL_3TJe}bIx`Y&gcSn4tYpmax%K0a!-5UUR5Vv?Wl%gtp;|7y~iWWiWl^AKkQzM zKW~5#-M$aPn*cY~NM%q~E~qmot8awazN@YgYhj-qNksDq!m7A45nB`CYE?XN4$5Q; zYm`t|quIjR6sV)kY>p-ckw=s8qwakt25DHBtj(^rcUgpIufSo?KGa;K;Lu)yBh7`M zlR2srZQl+zLfmhO$0;SJiZ@qkhpTvB9Jd{cl$Yt)t@xQ++Wnx*`)XADgxkbgjf!93 zPRdChDV%zeb)#pU3a6mJofK?Zc|am63^J@~55goOM@8Ot4v+Ktsh4zV;o!$>9bwvw z+c{?PPH~vbLRIG0cn)~HAyKBeHJ)RqDcOJ-s?DE<6x8Nixam^=`&H+6(c8VWuQ~NO zb7-OZoV!IW6NZ+k1KSbD{B-jDVTW~$W!pA}4N=iGYIC78`Fb!M|mQ!;~Huc|R;u9APV zUUO1jX6f)ob}+TRZ&IeyXQ@3>Q#S>E+dTM0@<)F*a&W4(sA=a$58hy;YLADroiI7?&tYxzE52ah2L^b+K{UXP`J?hKinh z=;JX-W~*=I$TXzyA<*V`o8fp{5K^~vwL}j~^Z^lUeqX0b92R^J5oh-7gH7e78hgTa zm@%{OJBA-<3b193Vna6zaK5{|A_z<9aV23ohbl4cafEZMfb)OlRoX4z?UV?G-|mdn zZGvoUO=l2&_7oV)MRpf_rVPYKH1;PD-gi#wl>y#vu zd(`c5*bDR}5ZSl!@kU0W=DZtg1c9DQ=;a#aZ2{@l$Ykyi9R`*;LHD)9UKZJ)-h2k- zOEwF%c$N1|VF6`DY7wSq)cX(GqS^y1R8l-~`PE!tEIs6!;3BM#L7U|h9Oop5D-_$` z20>dslq+ankwEHICwjG42!Umxg?GR<_kJsJ)1ao)jSj^3B1hIm%73&n2VoGRZt!I; zL5>u3WqWm-zNm87JFSF@($qt+6F%r;!9ciQX1JI85&{J*DPlx{Xdt5G;oO)#XG3uq z5u4^gEYgU(QS)eX9sa4>0|2FY4{`VFIr@B@SmRUPJ@E$i(T6Vb=UW}Hm-OY+wV{jr zE5Wq0$$ZE>e33s#vpyF(3SHzc%*bJ&N0B3};h?d68}08?w9mX^xYm~WM}qa4C4K-Q z1-uxV^)|-G8j)sp*fYC`yX^_^`Z+K+HK z6G))}IG2SAPNyNtB9GQy!gEb7!Bps`KRlC7+$=EqZ;u?D# zP=Q5^dm-;rYVXvNRE+bL!6`$G41ga9{7d=puco>|BAgCMy_zbbQygZx7)~a_g>HK4 z(jkHKMc`FnPd?lkJ#&_DzO+Yu4yDLo#_-TGh;`=uj$jDuqVMwc(Ra!=^#12y+>3bg$NZKWSKP3gpTL<~7w(ASY*subr zF+7|a!x`AR(;?fMAt3tbXTlgeQP&k9>TYyERRoe%ZNrc>cIs)2#SG~GV9SQ0k0|??xpH%IJFD7GyN9QR9OM`5^ zG*y+aM2vvbiTRwq5jcG#)iR&c%iwfYKBsR6PTx$mqEnn0-xL9T6fSgO3eG%tkTcJi zfV*HfAS5Rx-*S$>FGBxK{p33=eF@^yEBo1f_dBJ*ZVO8-xAS6X1lz*FSKEYaB?~4u zQ~MLqpe7BlzO}qle5+UeXmzCTNPMbSS70lKni8_rfxNOeCE3$SBiBV{zR`!>4l0(O z*TU{zUr_?~LZAJtu-}BG-kiN<2A;g@vp1t;&Dm^YaDMbTC5tI{_C}VytQF+8fu)ZA zCc^$FEVb*lWDkU8-h)YpfFWw}4ggx%VKK5ak2ux;F*T1xg;8?mnj(gXuR$C$VKln~~ zCOj5QVsd&>)o%1M{=q!m)v1P=zx+we#4ANSSMUDj;KBXPLu=jwYWQ6`oM!#zI^Q+=XkI;z3---ve<|R zXM(6Zz(FBhW65iU#}ZdJ(BU!e$wk5&LhHJh9HzuhGg)5h?vC(U-YpJU)Vzx$JnVQE zCX1=JIdYXXr692DU6?E_-Z~MceP@j&&0FD!rAvDxou$;6y2Bj-$g{Czy$ENKimjSC z#c@e_#w80K?(EKCW?7&__6s1Uyorx@X#|Brm1Xf1*lfe}cbL5gPf+t|lX$=A_?;o* z;T`F>Hl$!LuAid4cSgT}%h)BBYwir#3+!qFLgk4ga|;WXr!a02app{P80UTNL@Py@ zxh0wP1A7(A@vT=+;;XiN&DMxKc_Q_-S}>U1vT5oic?pY8rv=UE0g#|-kA$m-Mme#z>VmS;m6{L zb3=P`a;Io+&h4~h+5_r2SF{V$SxEKlDlR=Pqszz*XP$dSJ3Bnq-|!vnp_{1O;N{#z z#i_o+H&F@q|KUwkq2%LQLVRk0Lv2InaYG}ZKgsd zL7i~j-K=o6A%#qpy$g2P2l4SHM!2oFOJvU?_Yz_Fb$&;<3@W2@;=B>x%eiX*9Gzdo zckSy*UiOB4hH$#$ zZ|JIh&tA1}QETeTeP6{qaJ=^F{bNms;Q!0j`<}gepZSKHr5nG3KetLV1z~NKMkR*3 zIZ{!a`nyyV8UJ>D<6o0+<&>@(FXjBdd%b=M5@7B1`p`k+_e*l9w;I>$OPln^yI(Sv z@o(2R*?mc!shihcug_{|&0Mdau~){&jh0!-{}*4c@8w*tZ}hVEetl-Tn3r>f{^`2$ zlRNZ(X>O8Evpb}QPxY$40h1g9KDIL>^8UP@CjJj*UDQ}`s&C+09@lov9w0 z>3!%(XyJ&bIan?qj0X;O=9o zw*K$zK9-)Izx&wPc+8%ns=ep)Wb9qcgR?SN!TIo@wx|@q5&*t4fFx^+X=={9T=kl9 z7Z%FC09P0I|A306KfndW>6Y8@hPLCULw@rwEWZsX%ld+nHxF3;?Ds=5`Ok1Mln853n?hP%IoeH4DsW%pxUbRf>(!b6fcxta;G9?l3b-;s z&!i2(JJq+sMQqUSk02#UPE#+#^&n01d%e`iUx8AegQJuG2T&RxtXK5J-ZWLa{#VJ^ zZlj#4n(Gz*hLiY5T%K@#a`nRbdEB=4%FT~2JjdmH%w>!Kxayyugu$OMo5^}h{1dLJ z2K!y&-|^8N=l9A8|NGF5-|;h5uzGT~;_68sW|sI@e5(0mk^}gmiSH!W*G4QyD6V7$ zpaa!yC^r$%VfkE+7t6rq;fg^IeveV7ZGx_wJtD^-$o&2hdIgb3<#HEU?$QTW4gnKx z$2hHED@Nf+Y*(YtWzF^utO54YrryOPIya*uXH5x+@_&^I zGiS9(n1$wBrPYegw?4?a%@|R`SRKx%U@v~WOn_I#8qSzo@IP)g|84+#fpxS*HxSaa z^|C}iOY8*#E$_UYw5<4H+N%fo+jC!JS(iT4X|D9da+fsYBTP7DNwda?WC%Ob@qwD# z8TNJmc2+~lG>go|;CV|TJiEyJA?&?Lj#SwzZ5Ej?r^|gJOuNWDip-u-ra2hZ&$sui z78qm-k00V_BlD2~TH9~&TlB0@Dnz~OaH02EUtTQ6gI!f`>#L+*qrF$_q%Cts)q9$I zs7>3kAiPbYs6INcZ);JzfS58+qcR)7TblTxI=G$iTLRY261_l32>V%LFH7tXLW;2P zkHoLp%0?kROT)a)3_ABDo3o~4J>KdGoGgJmOkJcd(!n`4$2-hP)-JB2Q77{8l zeygCuWh7P?U3QOOqhUIaMe45IBGptzerIe!i}%&~ZF&KV_%m4K_D872oPrvDfc+64 zDs^G-doQUgz3K}sLT9V^5R=%jmndxo;;*t?o`SxK0m2_Or4^QI(R`|K6eezegl-$HBu1ccKxS~>bLkiz=e7+y85A2uwF>qk(l zqaSv_@y@d7FTZ|>5Uu(8ar0hJaIJm{=e;fIOQF0c%tCoj(l64`h8sBU%#IJ&g-SPY zSpAjO5eyhk8N^S}{J+578xdjJV>{!>oZ&E~oiZ06T|=f@y$jQ{+^pVhtseHg?W#N{ zv!LhA$SmZ!F!Onin+bN+WhvfENBI!^mef58g!gmrprmzR*e=nNY-QNm7TV6o-DQbW z^lU}Wc0Sp9wnC&fz9$ZXW~)mv#G;A+ki8jX_AY!fV~u6I>Uj2K+MXpAQt3L~MaL*_1}c&*brTx~zme{)L%5e`}W0*WFtC zn173D+;GDk_>jKXqFPue*uUZEH&S=0NZqA=Y2D@b)Ao~RaqcGQ zewP&Jepjq+&1ZmXYd+fv|INDBM$>C+K4#?b&`xSTqo2YhdCk^*p{gXqvQ?I+1`Jgt z3}(TqSC~zydcEbG=QoB_yi#Sk3LvH~hx>zO1~vAS#=_eik_v`bm`w_A!*M})Im(Uy zSqESq?4?)w00G{HPM5VKVP|R>S1GbRrQ_;u6|E-ZYz@iT=uT$At)jv#6ob4SEq9|k zuZgh!Ms`ZuJsm*AY8+V320rm*upXc5=iWXX7wAa1?y9_Zp>rvytR@-m4ZH&VzzEY` z-g_LGtGZ-abiaC6vp0Gp`|4c8?&a(xKSw9u|L#umQ_L-SOf?zEoTIWcV3)lXAFnpT zZC#hh9!YLi7=HV^K3wajc9vR#rJUSd(zA4A!@H!tet*+LKl;vT^Z0ctdlc-vAI3nbGCOIe}Cug-6tVdx!b$bu&o}h zD}dK0pniLwpD+0N5ufA1j+GvRX_IPvyenX3O&N&l^R>&Fu$MwS2ZT2!g0c(l$6M4? zOPoXa>Ruq|y>x8gJLj{ir)%H8gT44(gz7un79Vd+1ZwXOyv#!LZ||nm3Uhy8Hw)bX zM0N;1-hI%4H3HpGPslBSefCo-XkY|U^pnnGClfK9h>aWsCxqJ^WR5nH*^}*$F|4;S z@;Nv~%MmK)op z_$_5~xh1{?A^G?x5Z(sI2hwEJZ7w+M1bcDUjR0>a2PU4H3l96!UK#@tS%IJ46;Z6& zS~L^(f|^6r?P2z5#`ov40EB2QN0BAHCrQ* zYkX@r*9}%&2yTk z7yD>W1$ZtYqZu5;vk`m$*0ei*TlmU#dOgPQ6&> z62pyOrfs=TPm0AH5Z-xT25#45hCf7C4&2u!sK0`kG9MprPY22^j<#~hTIe*QiXtdm zIc#fDy@`6j1PWqelx4e#AK1Wsr2*cuh&UEV?u~=-`*K_t96%eI_|(uXPY(Uq7 zI`uneMIu)83HIuVh)(@>!~Qx$Qkv|#>$JNOJcEMI4GA7kk>yY68>X-IJ*kJSs{K2l z7ne-E(b=RJ-cP=3lGl6tmnxL+n&ge!erlFqR>I$zze5$`&t-a$LNx~0(ckOrt@Bd6W(_R;7&>DuP+;Ew?P|VL(;#FE=3f2;Z=9Xv!qHY&K zYdMwp*WwKU4Yr{DEOC$}#(t$H99EFCgRJb zAVRC2oEj;ATE|j0MCRViZMc!W@$Mzmq6`CzTtdy#c3ubMzn<-E5$FRdmY#upA7s%g zWL8ysFgW{^Y6AFl<){j@cUr-Et5gzM+jEa2MF!itVTarL6(njvYdMbh?}W&Vz~F8OJB1I8Pa>m znfQ`)KCr}_7_q~g*VJvdr^nh5hv_clCHES2$x8?7P!~SPAj6!(2N~G+C_h*WDSVAO zQFho7x<=jGjQPeG2Ds8J$TDZactf4R3kz1cIY+Xu9lVUP#L*z?MmwcQ%Hc98A(LP& z#2J=2+Y*<6ka9Q^M8rdxJv&@SF63c0$1_6B9qai$%QouK=-AfrXpn~I&c~8}TXdL$5G`Pl(mzafiH8aN~TBrQu zWzG#oEG)QWZ{woa!iWS1R3f0k0KMga{I~wT2YV?jp9vs{6unTjnT|!VcAEtX zj>KGp#sjo-W1x!wI<7I$eE`j94D<#-cQ_#G*-0`Trg*2K*mI46HUa1}2Na22nW$h7 zfGRgHr~;isjsa+k!XPc_Qh@e|g6dTby5;IN@bu}G&9KD|t?^@N*e>*Kw?XECZRt8V z>GGOyE7uGLX~x{HYJUX#sE9Y-d{|n;-g{!Q&Uf^o?)nHb`Q<=j8K$~t9UgO5@@U~P z3^es>a|VB0=b~`%mooUL`L+`LAfRksRqah+pB)Y8L|9r=4kB@q4k%^S9U5UKzmmYv z_uPOU9|`Ce4AOd=*nl!f(p68c` z0>5S}d-q`STZv`P_DasxBu5Kx2s2cy?m)*INyzVo%g_sP9EiGJQP54oqY|_%%dc1G zquNu4b#c|{ltNuB&IJ3dXbSHKOKTXA#A!Odl$BeMpM>pC5fP3*bfRiM2dM29K^e_k zB~*7UitXfpBBfnR>IKmLje!mVXp#epc-K$DbUHv+02E4WC*arWKpp z08{RGFk(r)GtN=Bu9SBKbWX&NlN9eLjU_Hhv0C#KAl66~eUbP`PvG<3>*0TBHJ@mB zhxaKbG^;--x};AohBunqA-b+F+|Gu3h@Arq6jKS;DF5*CV<*s&^1&?$s)P&e*e;C9aI~Yd`2#?`3zS=a91sPo+IIo!zf~j+ z{3(aT)2Y5FWq(&i$;7j%4sa3UZ_u#^WU>GhPt&TRxB3*tQj%ZX;A%hmcSBDq>IY=1 z#Nw0@v)G7vKAlgDt`E+Kn6vYUDM`GpgGTQ`+n~K}WKQjuPo@sqJCNCsN2W?Fvq4*C z#PsZ6SWMTgieiuF6|>xmS#HFT}Ullb%J^kSDs58t8Nh* z#j%0theBxQE(BeLybJc}TT6|*&qerOw*xG!X$vCxCysgtojL>QSW8&{XXgZc89UDY$ zy}F;7;c4IbD`cf-zsL(I+H!#Mq0gdZT(7^Q_n$ z>Gth-Uqp62xUH6J<)Q8BZ}>_ejD)&kOsWSww=_X{XiqT{TTD&e+gOTrs^#;j+QQE z$Qsnm6334^O3ciK6s^dL-iZ;!c3z5_(6ODD5^#fhqmUept8uhdq?HRSSLlKwaA8(fmZ!@T0d`zkm}f$IK#(a6thfc~~o^rzlBB z^HHIZa z4SAxohZCJWoalsUiOwvwx!R5i({+2B?m>D?r^OC358~qKwc?r*4n~>4=m+dOi#JDR_WRvI z;(rtWPnil?KUN{m=&<+z8z7o@iQ7SVZ{TAM_v}~2k^*PL;XM*%UZnR4vBAMmFS<5W zl}N7s+Egs_m647JWZ4#pzm=9~Wr>a;ypgPQjA@4dt#;893S(d|?&?5zeIh8k2E`gm zP=6w-vx7q3@zxyHg`(xfR-(H%tE)5JTCjh03xez#{c?@SLXVWu5Y@@3J4@ zBc6W+LK6CC5Sa>AC&Vt&i~3#gTVUIQ$o9r3bCrQqm>HZ$EaVw-hgt6WdhB+p<(^M& zW6_9tuN(Ia1cO!em=4IdR!#yXH(P~I5D@cFd|vvsp)F_WgjiSr-!^NzPA_aeuu5u1Wjbcq1 z!}(Zow$4^Jr?R@~8bPdo04fxV@Q85VFQJU}hsAT=FUd?b`LXJ8ou}9-lYCNdiP<2s z_u@0p;ELl&QAXSV_W#0##{Q{rNbYr`IpH%iv+CCr_ekrOL zr!!dI!jrem6e=q8R~HrU3bq=?NIG{RZEJq?9q5fL>R3`s4Tldb-PCy!?Wx^)wPM*pOM z!#tN02Zl-dx`{_pbmrHka6b!p?_Y?DHS7{37N)X{o@C`X1MRis*BA;<{8MKOMlR-c zcetz@ESIs1d4nDba$pzD%^m~0?8*F`g-@onf%M-mk?ld-KD2!c8HOv(RDW#?1*kMi?8K21!my%An(nuB0!jf938S*lmo{UYN8jv8hFoc~VPprgs&EjLzIbmIB^83-Yb02EjtcFp3(kBlA}!+nY|Z zb)|SDn|c^2whlk7@M&VQl_SvBaFv_MwgK!Uyd8yE&4`LgGm3+rLM(I&ybVebty7>o zsBp3opWcy0ym6WEm#ZKKvZg^wgS<@LFRF+2gR2)Otaf)r_B* zG-EgDG{izH{xVRCXq{SbfeNP<@#%ljQBN!#Xh%DPQa}2RT4t=HW)}w#rFfHh}Nlf9;k3?5ud({j!uRQ?dWt+YPRp_5#P}#Cbfu< zrq((hwuwbjiz4%+Ryo&(R*_nCW>c#fu-?`1&l)$i?xy{(DqHvDNv&6zQ1A2eMblHO z8sW9ZrdCJTNos8=%xcC@Oq#J9^cG^F75^0|MYK+>9YKXti}*Ab-3C1e8QRejP-IChgfKZ&jO{0 z)~U1%R5+E0Pk&5DHCS=ej@p4zKl_f>8)O|-6zgFC@%8FG3~p6tFtzMp^V;pQd97ak z*cX8QJ|MCsg>$Q__HwY7MiQ4H$&{5o!P`q0qcE^U|Pfd12&OM;itC~KGsx{ zS)qrI46oPPVRBDFvXh>^V{Aq5TY(5|cB8Q5UBb)R?Dnhj)9%PI)^Ljk^V4W%rQ`WI zrRn*p9ICN~gCgnwz)r&6QJB?KrI<7oIcN-GtFy)wP-+9%=``;SDx9B)*U+;+MEdT9 zpS4^br%~ozj7_o_O9hL!mylI^0+2M{zvqnb)@$xO2V34f!HwKrPlF_yDF=HAJN*hB z{wA|xzTS*(4u3!TAct|dPBF1TLsQ#vyQ~6vw;yuv=EH1>F#D|k))%(Bg>20VYO+l3dT}=kJ&J`YRhtERlTl9QU(v&T zTVN627I1DWeU^9aJHMZ2rQ3)4ia*H<`!)GA%U z{6&GveeY4|;z*EQW)SM!?a18r7k^zO{Hoo^ynFXI+>KnfA#`s|EyMh(gqg{jyHT~v z8ri7oZRhyuF@8oabB$jqkRg@AAO^*5+GbEUqZ4ysTF&lmPWy%QMHkGi{YGJK?zMev zZhaqAEZy}DF4X^gG+5vGtk|E(dUPpS+l&OO87y?IFRo^(zGd%>hJAO~R}Xwn`=9}( zN1Lq^)su?GJ!>ZEswWqXfbY^=RG(C|@=)aZdiC}T$ooh6qC26&$0Xu}%J|!`KP_Z0 zF3SgqM7W%hh37Z=h((}e1HgJc=%qu((u*Y)#dPqp@8CO7BC>TNJ{SN?({(KU5p3|# zO69umBOEPj5ykBubEC+B>HrNXIt~X-rQ=b4NF_^;rVpz87ID+`p_MEenm$-Ch`@_4 zLG&!7Mx!MliWPURKTK||cv+eMaN@7zGQ+nE8 zyMf63>oVQ_6L@x{9qjqX3O9aMRU+vhaz)?IY(N4 zsKy?R-xB#rmN+9gY3hAvluYRiN_Da4!IgONXZ#jo z1_S6Pbg@q8HI}{^o4!`hOxKJ}*K#L4Gd4ZTopcN|_iNM7v*~BmhjjF8I$ArVXYS!% zN!F$$m0yQD)yi0@R+^0{iak@@vv9R?SJCn}oht>Z?~-a}0K-R9{X+3|Xkvoj&lj^L z2vt4n5%;_vg8jx-PmrmWX#ak%OjWS(24$8dSc)sgs&WmGXiKQm8gvO>O0^P8m}+U8bjm4nXg(&}biV zknI2*3o4fG@Em(wwPc;@vr@2>-bVF%@d~ieHNn2%7V((6$;X^wJ6%=S7hDn7y^X3L z6N`b679abzNMp(sT)go4XLK~)_nm)ER(hki>3iEMNRAzB14haIzTh_J!&w`jHvp90 zciDG)aB|7hAu*O-_dM>f-Sup^9qzjwj*F%wRu#>Pdt%6PBK{xrFk;uBM*amz%_~jK ze9OeXqBM0W7>ND6#J1}qj5qkQ#`v-Ck(fd+8`Pd>K}PlAa7?3xo#O~QCqzr`1>2v)advyuU;KYU7haR z2D+*#{t6M(!LAX#A+FB^`fBb(v3Y6=7#iDL>#km1Ov!KNkvv=^L)r9_+|uI{N+9ssV`= zm_zB!qTJj4D6G)!e&H+Xb^)?#AH5|1ki9VODNE$sRY$np+&Imm z3SU|$@VmA29u{8s_Bw$#dV5_5gu&j0R`~Who@%r26Xn0XjtI#y&i$p{Wsa`L0#H?} zL(hsSdmHuqHwQ6@2y;2o64*;>yi4e3_+;!|fOeNB_k3K0PA(2EViFG3>cq2Ooz&KQG_2?jbzJ zF;>-ryf|E#i0aLnegqCrWm&~$`Wpr}TCqN!tvXwq;aS$;k|sL}=RYRtTAi0=8z7u@ zL3o`}Z&@S7ubayDgq0kPPG9>}YviShPA&WpA@uUO+9M z7(pOPSvI>8mh*{lZ+@qYibmr_RO9gyRH1kYGdEt*Xm4|FedE~-d#~H--1-)}bxKxR z4%L!Fmq1CL$+-xM@Ks&}CC;LkLAiIl$=Gj{_OS3BZ&H?j!#mz`Z*V%SR9{G^$0O6P zK)YiVBj0rkKg^w+Fjpnd zybAr*LAzgxV`LE_9 ztbI6g3cB0(rFd+L|G&dXMx24>d)nw~f1c|?BWfJ9em&a+>v;z2nNYBx(=A7!)_Bji z{R~tr{Q~@`SD)<%*3Uj`FRPSF|Hxh+^yK~FSrEw5RF+-*bO-1o{n*V`FW-PtgU4IF zOaP_R<))qi$<)%09#k)$brW2i;=2eE^;p9CP))5C(*qd_4n?}Cxjs5b#2$&ypm!*( z8Y!ZxMT2mv^>vP;uX9AZ);@T-{G3!Z1=Ook_lHVa9BrczsAN+$7TOY*I4Am!PNQAL zJJ|&R??y7X!{t}>gkPY#@O$Z%J0gcSsN)OCDU{;YUfc(xt-r?ELM%b>cSyd09Pgih zqpFT$@Mx;KNuHNgKEGzI+BNz1GFxDKCs}SnFBq56VQ)S0FYf?nx}r3RIAhBiL29_( zAf!vUhb4xC@Xo-;8aZL5f_aZ69=60&AiVXE zzpP;}?U1W2?8RMI5Z>1;M#d0j$6hQ=f+{8IRR_gd+g@?V;z;8i?|3G|&_2m5i-U+b z2gH<1@u}IgQ2+WNyH3f!q!v)5CJjaj{XBJAvF{%QfS` zHkRAPFuV;oR4|5=9ZYNs`)qFxCiWmAgrk^}@D8 zqV_e2DKV-ws_v@h$;R~Ub#aoSgyO4`S+*o1x{oFHB+7fx!E$p_)w;C+hT$9)_ljwo%$D81?122rXhegI+AQSfIL zpADkb+zD~>)KoAuwz-aC(B32vVO86|jazJG;kxWiA#VwL??uNInRZs@L%MWlFNE3X>;+Mc&t3?s(CmdU z^UPjI|CsTZrAo?nU4mNT@JY66u&2l=DPEGxl%H6{*_S0sZr+f=%LI6?e?}byWPXir4PCzu9Cyq!JhE z_ANeF-hcHgvG`)u_O+z0vg5C-_iuG7xcDn-{?^KQI{i+S{Ubb^?$4eV=UT{!tiP}TY zfW8NNfv*7J4FJ>{shiCc2>V%CqbRFQ6t$1uK((1g{T9#UGO=w60)o#E_zTMCLyB8~y_{FQAJRomcK7;DzYRHkM2dFC-{kv< zb|SlceJ8hsoctqF&pjp;fM+LofsHXU#}{f*GSTZkdQb+Yo#>TE4=}iQvN#9J@kfo@ zAYYx)FDNUd;)^t76_1j$cv@KDG%8_m3Z;=S3#CztE_2c-oKLo67+%mpEgS}!`z{m) zVHOHQzI+n88ortVcvS}==W2K|3tkN`%tHQ(Vj^+(PDYDr4LdE?UpCxQ>&*b+?HfUr zzp9t+*Z~mK1ftyY8M3LVT<`mn^BE|NIqwI*uHzVaKRD-o+@%`!2YVlP=`VR7m&2fA zsPFiD^6ruzziXRiVv{+V8+M3zLq}V`A6xIFfD{tLW#>s!;2r`(*@%TU{#Jo(L}tNk zB+MpdBlmIZc8aV`~R>&1sTTCOK?i$ z7wSVAtwP(g$ShdF2(!_NK%yF-2ozMIi9liIP6T3ZZ~euXjT?2oo&7VX-ws;_+euN| zmuY)J)b@yXV0)8q%lSjdy@lBOL$-QW@u{LCxb;3*rO^APJ_U4mX}cxPj9~cG`PVYn z=+6L_f1RKl>2G7-6zKsFE2eye{LbtPnKa-_w}jCQQroPX$~le985U}68A~+#_T&d7 ziUgj=@{TrGil$=iaGLtUIaQvjH-?nuN_R7uL+Alk5a2^f>oL{pUFArY9+TNOMeT;( zE|>m^d7Mz*F8ACDU%WNkuVjRr{ub+_){KS5@ug3;8r=-**e<#&#*@xF9z+_Pc!quYcny zOh{oS=^%Xke#QRg+CgDxrw&=djDRtEU`NuLZbaoY& zF&B*0xqw~z?Cso-d|(9OHoMuWM7WD^l;Lh6&hAohe>9R>?tQ zutDMCON-3TxwA2wHGHQhRBZTcXv*v>39cA;xQGC0A`r zjZGhqoB}^qEkC*^a4L?{N^C0Tr2?Pkr2?Pkr2?PkrHoG%r#9-7mRgeve5i4JsBwI# zaeS!JKHQ|*;21E>7USX3E|=TXk?Rr;CquNiFW)tf#l%9dkTMP@7WIg4irwZCf})=B z<7_H{z66>&v1q&aiqn<+e}{>zH`LbAtIP9v6-d?+zgL0u9~AS7w*Ns%mceBa$3W5x zkfdD(saaFp2`r--dzx;OX+Uc`>~rzcqj_q{REuq%`V2I3(dqc7HowA3PJ7DZYF4%d|ei+J{0e56XdmA~%6XUZe^Nc;K>2=5A% zJZspZpfC%5ChUcn1Hu~fMc#E29iE{{d8&C=@*nl>mez1mXRMpe9@6W(qe1FXn zUxM&F`^L(L zM3LG$k^K+sBqk*yMYW{k$09&9m{}H10WJk`r&1r{U#Q)b2s>lexhmPcXUBTBo_DH} zoU=uQyKSd|vjqh_r~MST(|#IwPAe+7oK}>&^u`?*WYle7QEfW8lVC3~yTB4x3(`Ld zp10XSosmhSc>m=ZTea~1JlU+6d~bhVgk7&bM1fbg_yE3jr2+f)CSaC2uITP>AD9toA1_gJTS^>x)k`Jqvx1XPZ+}O3&866 z+rilxzPPI_x;0MEy(Y2iTeg6r?_8DWNg`U;$dij^^fL7~E+E<*!9}Q#9{>@b_};8j zZ#IXn*Mngab!sw}9xl=Rs6QOE1x&}HHz*O0YlL1v{47n^vGj5HPE(^_p?=Eg)1UG< zOvMS-4pSloJ%@!%1M$A)oxD^Cn>uetfMc9gNse4T6s);Es}coIVi26yd1Eh#)TvOK`Whj&bh9C%yR%C6r|wFw zv%Na$0~c0VxX&G^Dct8~q_sNEE4i1&!S6#Jn1*ks`o2k7SydnMFUSVbKI9uVaaP@j zyqR7t&Eu8Mo|G)gC<^x>8Fy`O`j8E3pP`UcefMrs3f-|npeOh2R-oqlQob)Z#})MB z?@RfbgT3j;*EjBqPP`f?A!{5T!u|Nb2h)$ArFxbuK>k&4UvKkZP!x_RV%8S<)khXF zYioLR(cLU$_3D()$Z8whU|q7N5CqOX9fbPA(sBhaMnB!Du>&_@DYT<2VMWJ015lxh zTa0-=d?}!foPQURqutb`0{1nJ`x<=}aJ@=zfpENzQ0w|Yr0V2n^(aEBu1wHcvTM~< ziNoL`HV8L>#L^_EsmdGCK5CL*Tn(2R+Z9qf!#*nNvG~Dw0>jjfx6$uCd{iwcEt4%~kQoP>;i#JyV}jz@@-cOSqxPsDA^Tpbt$w3aF08u++*C5Hd}zge=|| zGjKDAdd2td345>)$1muecJ*VT_$Dg>&n|{L7qt6PmqJK(pm#yHj&LX8w7AZ{~1_l%|FR>01SpCbF5$L~1;z)*~L3P<0h-&6Z z8ZGP`N7y+|ehbs1*hx86G50s9p&}++66DwFmV`bxBjye2%tCS+D+%KMRzzEywwS|F zwI4v}4OkHH$Bldt+#d%fCX{lov-^8r{Pq^S81!==fVjl5dX3^y*h@e6SpvMJ4y>B6 z<2CGE;Z~xrYR!fYw=L}JK69LM!)bDv$o)yIGbgbpN+)$%AbZHdzYxT1b&X*sKNL%L zkA=7sMBM?7w_8#2fxH@^;~I#300C!_Q65Nvljw!);1(PF|awOsdsMPHwYoG&u<>l$^oj zOk!&3wZm}IY7%mTH9LTSy<`B6z=W6%!s`=3VK6344)26G1jLkagihx8&zLg&w-#VWI@_eoH)ViI+flEja2i zhHEPJl2H!z#N8&A*an2R3~sC;++H@yp`^f9T0&{T-f59@tJSy(^J1P^or#aPZ}8iM4zY|)-D-0sWhhlMHm?;(%}~}A+2$U_ z!a0^Gn`0w+!#fVqvxXF|@05sfNa`F$*cU&h^nsnX+;OlG9hmuD4kxoM_-TjFl%DvA zVs-=JEpi-jo!(CCJ`H>E?p2DuA%e2gx*Y8aYCchCIVgtFo~P$<8OA#XLmg{4foCUi zFNM8Gxei2j0X|-N1ZpR6x3|#VgbpY4?}&yqlv=Ss@5tp~Gy5guI5>i^v#}icW-qo( z??uPY?HD{WamW#x1n(nDth7WNgBcpB$Nic2#2KXjY^P}%qKneqib-Wd*T1H!J>d-~@Pb{`Qt zM-Wz>V~LnZL{$`FPKtIUVk^z`b~Yhpc%-9LpU84dg-A>@tg2Buh#VVOHmf$U7kOPkWVgj9Gu=S#r4{#B$Rp(Tw_I~+MV;lIO0LbscKwE- z6!9hl$GpEf%{%pJFRgftP5g`aOnHllT%5VIVpTY4O3kGe5gdH-Mj*pl!+JmQ7hT*r z?;wFZjsS1z#SE7=EX;{BHSAs5d!IYpGaT;Euooevml&ej5*u1#3rp-^iGCowq4-#X z;b<&zxo(;dpuKmd!(|1RxI%L;qSJ9v=I46gG?C1C4zo91Dt$ZngJfRoFiXg+(p6Ri z?Y$=)E-wg3wAI|jbo#c#q{hECaV6LsPOjm$Z$MP|WMHo`1) z%7$qjI;iIT`{O|4DTkZ*gpu#auQ8;o+iu3*d+AEcj>S5Gv|;`q_Ra)8sv>#(Z>IBJ zCO6?$j$lv$l?lipYES|wFu`ke*SNYOM*=7iOomg=;02-v?=z_DZM=2WtoIpp)m>K+ zZ&$$+R}A8@UjJ|P>o-Sc25{GZe*63U=4t4D)!o(I)!o%q)%AKd0M|V73(1h!we$WL zcFnXozH8WwHmV5)ScG~!U>hr#oTveRLyZ;qkU01(p;tk%k{|lUc=PuzVoTa8zZ=67 ziRfIpCptqokMrV^DOvmoIkUUk*FWRf_TXxywg?*6C>K583#tf`g7~;J$F=p9WL#26 z)7JW)YzMlQB#j@gO6ixIdxYDOsL$e|`jVNFCfmByUP*%@b|h&<#BNkD(Jw7&{T`88 z3NE*$Mdf{(UBU=)t8t<(py{spRT9-(B5~m#e)-Q~vg#DAy|#Y*)D0 zJ_cU?cD2hxr0bz zi;T>$BQ1)R8MFYTGRo)2+&3(+F(uh?KLem)yJwR!uCM8k*HoFNx~T^eDW5zv+Fg+n z3f^%U+ljz+uDL|Y%Ub2~#D(!*uHQ+n-D7eI6Y=DRfd*cFk!cEP)@-Tl4wrf|mvv=- z@*@fwlK>WNO| z23sb2^nI-z=O|Nfy)BDr+`(loqeZjTJw8I-%h%|6>mrtPWQwJ~Zw2f62fsD$Q3C{> zF8%@UI`V}V`JTu)?+4HSogX@vz3<=nq4RRDXVMEjO>d0tVeHUfMUDcKntbTP$%p-X zDcEMit~(JK_VSNn=ATZw+3lZjPCW!a5Gg;+`}I7J3T5tkIuE$cbp??nH@dkZ{5!_4 zYcC4=jy~fN+bYgn&LL`qugXbXgpYQ5TKh9Z=Ata!$lUAHH&Y+ET6Z!--RCX>?mq$R zU#>N>+S^3tW?bh^N69sSzq0*xBRc>t|CkKkBWVYJ?h0Dp0Wa?vQ&8Ask#bdlJ%MW! zLx^ZbSVkn$PWiw zl0DV~SFp!=;A-rty>KOatS6Dqp4t;vXOHnD(%BRIh;*(benjQp#PmxOHPa=7b3MIi zZk3q(vTFqVyVuvZiD=qxBvL+`GTtMMGdDX&x8^j#HM&(|Q9pN<9t}J^S#lJ%%HffC zcgeB0S^m&YUu{(_fWR<>Fa zk7%8EvYU83@Fn3$qTJ-?J}xs2K4sH7fqYmMbBy}fTG*;ES?{@)i0MU| zb#f7Ng74_RkpGrs`PVxoV5H~~&U$B_TnitSmF3LScXa0Swk4a$Cp$06xL!-q-KQs+2X97; zzUe&u5#zencjdQ?=gX9Etz>7Ral7WVE|~*J^5XIs2??kr#~Rus7SU$HHQ0`jB9<)Pb3{5Nm}k<=ykh)6hC63v6;9vYAa2R z8eDhM2G^@7aZ%Rm|BNvVymxiXBrAF@LlBJ>V#!lkmlV*;9mTv53O|_&w>ck*Vj5A z#v^h_(WUN*fs8=;o2?V?aczDwa;*=*i>_$Z(<`$M{*;~uo@HGN;wxOlU3u57?JWuA zh1BCclCkJYH=7Kz&bGT`h+?@WDVAX|SOj0u)owPK1=hGDO={8gE_5328h4n;xNrE1 zNuFMJxEf30y{3UZh-gv`@gn`aNEwmn5A0;QKT|B^ALre>7*Fb8_9hckw>X zyBF2_{n{&ZrgHC>E~Qbs@Rw8ImP!3%znunODVcfJ`o8>*DPH!nw|*|h7~w9Ggj>_A zv-lZDH!aJ#?=$bzBg?sl1Wr0W%KC|U?zK%+cnGZgY2o$-oo1p|A*>>|d;cpekfJSJj{EOOtYJZ7Ij zJkQxT{-e>NVFBSm(fs?j%D-PgR_^0I>0ME^FcJMknbtmm|Bz|rgD@4-(wCr^pS|8u zrZvoU1ls|o73CxcxMjA-j}CORrQ%1Ul46PFN1CgeY_0gw!EWLIMf_+t25!6jDC*%_ zbVxv0Ky<1dqo-E+GS9^xN&(;`xS0{?iA*rDJvy3ADI zI#MgShPKM(otX)1)Va#N$kCF0hrdcbfyL`R5-a+rTl*=%HQqD4$oWLdySB>iIpFN? zT=fUL?mLE-x_~tTajtpG8Nyv^-GnuUDCDk}9jN=qNY! zPJt)*Ls2&FY*Uzi>$6P_le5i4*}>eCy#vdz+!G6=U3v!m&TZHBmg6yQw)o{({z^o^Yeqc(9}Jgz9x5)q$%%9a!@*yR44-GTfu19zm}xF4eY@mc47 zo^s&E+VKN7Icw8DkU+;%PM)Glm##M=0suTI^^i;N-?$G|k_=;XQ% z|LGDV&OSzjr+kLNCoh^`m|r)P-fO(8h-hwmk>E`@$nyUmI>^#HS#%Fw`6i<6rJpnf(iBKjAWeZZ1=18qQy@)&GzHQWNK+t9fiwlu6i8DbO@TB8(iBKj zAWeZZ1=18qQy@)&GzHQWNK+t9fiwlu6i8DbO@TB8(iBKjAWeZZ1=18qQy@)&GzHQW zNK+t9fiwlu6i8DbO@TB8(iBKjAWeZZ1=18qQy@)&GzHQWNK+t9fiwlu6i8DbO@TB8 z(iBKjAWeZZ1=18qQy@)&GzHQWNK+t9fiwlu6i8DbO@TB8(iBKjAWeZZ1=18qQy@)& zGzHQWNK+t9f&U5$l+Bt_Q$2l3uf9VE4;j4AK7)Eqnpj&orC0T=UNwV;4jDRV;N-pg z^_o0m;;gB?=2q6!PA6gC;DF$;UVW#9!?SDmD=C@iVhB#HuAVxhvbK6o&E(49_*S^Ch4;wOM@UVS{4BKbeK7%LiJ#o<9Ln`-~ zIAq|^N&D_QW!Ru$L-yTw^3bY&z4}JlGJgE;4sq+Poja=^gp(g)m&dp8H?oBT5}zg<~=*RuRxE7UoD|78+wH!?qP zP=2q`UVIqYrb%8Nex6d78JXX8WPY!*{Jv%R16J6pGtN=x`u(TMYcHK7I7qT~CHu8f zhDY#7JG}Z%_t)qu%4pZ&B>hFwc{%AF(2HwR5(8PR6?Xz79o++J;r=Vr^r3k+`r=OSQU$?xB znOmw^216+B{wzpG`56qJw! zVB^Vml!1+wU;jwaKJ`K@{b(TcQ^)(_8%=SUN7ovB9}S|D@>V!9a=yBFSph2j}0#Q#X6y3SAri5Y$pR-;XhiIfTmMd_cx&;bkgH* zV1<&ONB7^rq?|l``8&$MMhl=-Ul&Gt=$2n*@|r;7ydVke#w4%@lfeF(1hydw?As); zTt^ygS=nx&+tSOxy#7g_2Perl*1)_mmwd+=n8f9gaJGRRp&>5pR0E5x;}Qci&D3QZ zlfWKL0(&J1?BiB2+1q|Fu!E#6%!w8LTG@2k9mXt>`O#f|GL5H5{?X}wh|G^+CT(X) zvro96Ud@sohyeiTgS6(>Wq!*j?<65Q9HtCvfls~Ff zdc8@H()^f64r%KhCOx+APa0V4Tv?w4w#mRup!;qaM6qQ%CV}-$0xL}dJ3I+&ih*gG z(Ff_r{8q5Bz*ZaB3Bs44O=OQxD!-_a87UZ^;9qZWdHhafwoL{$jd&D)t9|qLF?`5OH~NRDfC{t2-%wmLEuE}5f?46YLe7teV9 z>J97`fw}W1K~GRe#L7t!?eP2o6BEg3jR3`a2HzdTQ{nR;mOpG{{)ln;1N;Zaqj7oK zu6hw!)E%M0gh$OJ1l9Zj+3MTztWMG2?*_c?qJ2BF4q4l*U-%dM5YbzD4 zWe?nJaLI4|8h#L^;XgbYV!dD!(CjDR@}<5;=$D_G-I4hdRLKUsEMMl2M?c@f!^dl@ zOXlU$nr@!$B|txgKJwg2dqo^bQsFzOWsH7l-~p`{y!vW%?(-$fD$8dY|xsa(YtYKTN1Pu z2CZYgGF3X;ar%`eOw*~n(xStH7zfU@Psp#g%knR=N9JF}-;MU@{5$M%^um8)(3-Ey zk(U-9O{Gr;t);qMw9a3{Us=$iPAVtQ?}FAG9iOQGou%7JM(V5%TJ-ivjl@)2nX20A z6k}xjLmCBC@n5ZpLF=XjEjm-H(NEX^(oBG+l1V8lfp}1UW+dMfldr554M17xl6y9_ zKEoe0L{8*yfXsWIGD1BUBKsoz22L-VZqx*HThKa1QvyP|GeNg-+Hv`_%kt-sWCo7R zKa;s&^EP3Q@7|bspp|Tb{?wxQt?i32`{z`Q<1)(%uA!9#4H_oz#^5d^5+xe)99Rubo!!OH*CBeL6ZMgh^ z^~0*>)m=plvpcVWu#lPH@P`>eivE5)?yC}c)`LPXU*|H z<;lwW@sHxKoIhqZZSh~CS2JmT@Vo1YLd;OmR_OJ7yk4~MB;YfIV>GKN`F~Yo^Vch+ zEj2R#W8$0Dxco$@QsbZN5^TE ze>8vaIU41nfq+t;)&f1+Me+L>6tPW$jx-%2`l*%TP~Crvj!h;8CIUDHxcwIet*Hc( zcTv!qq~SE3cJn_20}UBA|LOcyCZBJQs-SgH(3(XKs7A~WGxkGfN?W~{hf|DgL-tQS zXX11fcdnjk@_f6kwOt=KuheZR)^@?u?L9C!C^&S;-opkC-Y0tYRI3l4N@mwoPMR})M!00k#F}~2XZ4>y zZ0LlcgG*``)Yep2hfC(v)|5;)?VP;lo+Wb!mdpuHpD{hWz=Dx&gBUSwoIWdDSu?Y8 z%Jhlh%3spA7!)Hpd;7(-q5R=0m%9+(QdeDE(3TI58#AMT_s3rRJG&0$0!&9bIRxw;VJk1X0 zRJCjd!{Uzdui4CPtcJNThw7R(9EdP1VnVoP;`DHB8`kR1w+VBnSI%q0S|?0s^LajF z`b{cJYa36thjRaLfWU#n}Y=1pnC0i8KDltT@s}ynV7;=daz#)FPMcwjy**m^pF&1Z3N(vnGUH z0j%wM+*VTUBsTeys_L5X^r{6Vu8`3-U2V&{jKbEIRWgIniQ0ygrhBqZsPoreC)<$u zrAC%fTh!>*)Hd{-IniiOZKzdF3{PvD&dDUHZkwuN=Vf)9Op*n)C88FJ(V`8;t`+ZW zJGx3A+op@&5KfjV+l;33baidpL$}U0>*CBwwPDPFZ7o>L!`;43RH^XvnQb&hb(h+7 zuC!r|6KiMopISMqvIgVr?CRR-^Cz?+fAbc$yHho{YKLmJO=jrrT2 zg-K2+M^(>a7oQdW?X1YLXsO88vks6G+BPB>6;{rlTsgZf6+a|j86GRcZ)HiSAN5tH z&$hFt+F5tl_9}k{C(`lh-zuNIN49_Wj`k2I(BAIiY_yA=COa6i_iM7phU~m1b?Txz zdpAd2VOQA$NXm28IHdpv=(hsr&p=9TOTD)+Y!^AIE~7L<*@fysUz45XRAu-{R!=Ue za@0?!RAuDagB|r%yHG|adw=!xys+Itos%23ZKqV-e^M}`vt8(@p-rUbsS7&R+m@sL zbW+If;Hc(~A<1QTchn^{LA$fMHm}rCKj<=@C{sb1EcIfC5EXV;XV0#(_jH=n7pIg; z_2*^O+j|bk$g%sVZ|Om2@KDbUi@@;0{9wiydyJ!=xBYwi$kJ8a+oe9EJq`GJN{Akm z0_*Iki?V`r>K%(B7lnhQ=Q`>;UjvDGYGt=TFLD}0&rS9{Q!_f+ zwt8$aEzf;US8`)kGnG`tR-!)52{cMif6gpr=rYvHo_ zWlpJ`t1hEKlJDZhf%uGWrq}4D-#$#;Ie(p9!tlIvN}Ukp>Wq-1-aQ4Bhe=Z_9QEEQ zAsb3xmr)^8;7z(Sm6uX`OcO74c28bH#G2`~`eQ~|xBn9-P)Y~tVmlyh|D=O|H=m;} zo>Acv^#*EdRIf7`drHH9^i>=~o3qr${0bQ(b??dbc2`F-4`iuE@s$uwM(Z*;wV zc&UAitb_;bJ_kzcUO1(SA-X#wO#Zcw`U{QirtZmTCjW!>fsnkU$(|fi&z%xz&k!Hv zs7DJcG72ElmXkxe!i`HlQds_%v|s@ zE7aQ=fo5HJurn13G{YROp=B)73++;SSEt?{z>)~sW9sdrNMV8Z>>ydy>ktTX z+%P+2_vWS4?j#KAhS|bky1*;|IKqNhPgfU|0_>#TC9xB1x8$cuLq!1Zetf1h! zrJAY=)vN7wZiNOsvl0z9|p}o5CdGi$ zO{{uNt13IIV!NG_wx#MEJfF@v>fvgcTC9$b;RyROfh=`NWJWpavxW8cu6lCG#HzB# zG|0r#9*>U@9N~P>T1|+mqYB1tiS<|3WrGysxMTC zRW3ZZr=!*^3e&PMEelGbqv~zV%1LG5Zd(dRaf0e`wu=MR!$Lxx>19h$h^U}5g~${L zAxKTN`v!Jl`1`282*7M?H!K3L$Si)lpQ9ejsH3x`>Jg@9Ki*319wM%=={;8#^OAM;E<}T{M+h_B9_|E! zte*2^x;?R^$}Uq6`9dt}Cm=ulde~QLA6TN1K9?=k{$4#fzrsGS+&+|f*hA*w-OR%m zGAaoDgMG+X>QNt+J_@d*hzhPpmjvn=4+PN$yPdyxSN4~cDr}F{7^dh3s%JA~*Co@b zOZ`K9w6{WdEA%^Fq=SL#J|=?RE@=ZzU9+&!o%io&m~B+UWMh4wIc!$KK(%E_qgyN{ znH^m3yV2Bo7olQo)#bTvh0n}qtR-VTwR>pdGd4(z)m`(TU`%_13{+>eIZ&b74Vs{- zulS_x?DGMX1HI8tchngRLvCl>(z;@iYv>*vNSY;WmNll^9P}!4JNFBiz=1JLz#mA^ zN=^^>?1JpItg0q^cL)-O*=FCSmv^@8zHcs+HCwE%vxA5MrS@p)J{#Lli?q_AzF8=1 zl1+7Wpdni74O8lRO6^CfQKr=D#crvOr4&q*GQPkrNt*SB<%69M&Q_PU3$(}%yImDV zi)GtTVYKXV*9?(8wDw|`s0YGm08gMAX+Z|TMFg2&e}_f@(ej6dXyeA2zuOi??5yFb zB@lO$-kwO^7uK{y3ug^Wo9$uheM=-WiIegHFZ&=a=E(wYSQ;W#PiIFh%kcMcH=2J_ zaAh{I(QLF@gq)WzUFR)hv%K|Ua~Iw(sNm{tPvVcf*|NHwzprnb(}m5zReAsY`64nh zvaS|Z|9{LESE7^Ax}|ytr8_&TocU50E3vLXVnwK{(-Lc6b@S|cd-sj@ZX0F!s>?IH z)mzVav7EoO0u|ScN6lQhlsyN5B&Pu;cg@l;ncuP4SS||7IzQA=XZq?hy4j=E8(O4d zj2q@OvP;3GR->3^sVCTqi`D8=f{3HJYRlXTEtXx2%GU{V!DDk}|LvsKEhuG8XR*cp zbBUH49JMl6Y8aRCK-&Wm%z^eY<4l(lp;mn=@T}383 zwql7G9Wqfg^Gh)tT(>w7%;=6b`2|`eId-NVrh=MKQEum*=dM_^D5En>wTG>tX3#t$ zi(V*<5P0s=u%otGrE@*`;KJ;Py&)oS7$b?um)kLsK!X?)Nizk+M6!;)B(ad>Gb|TW z24jU{2oAZ?P5L2bcM>^%0L*2nkgS(_0(ERSV$`Wi8(<$lz#z0lQ=ct7j5#5>)l1RlJh4o=Q)v_S}@PpfC5^q5X@a2+z95P>n&gp?Za$y4L@RYx@IXh7%{;x zqdvD;w1VQ)rQ!bsg`Xk2rMiOgZ?^Xe+51bE)lW-kGh@y4>f|&zfvXtVVHk}9b*{!2 za*h#xD^qhXnMJ7gOm?*_TX#a=Rm4K}?!+pHiS2GAJ1+`w4wd|MF$CLr4y0>Xtd;QVv0I?af~&r!N|cr@c`g8h z-&2c&c5gP^A&%-7!gkhGEt^|`C|#=7vd%Qgzsaf48?{!2PiH;mxRbq(f@(c$c%WKP zL7YX;;@yn~eiLp0)i`yYPmEw4)zb)XyV04E74~5jNV$KutDJTAu_7*EGkFaGMoegI zam;^pUac7E^eRHsmsQk0Bfu)UZvl}4>C%wS>a+|)SV!Gi&9bI<@P!=p zmTHCqv24X7b+Ta)KJxgI3e88>`DE}8RyQvZO`z8>bdFR%MTBHRq_{GNB0QN88a}0y7RkzV)ePV}+nGbs9Ul*?McTJGEE=JYs5$MHV8?gjI}h50<`|F#TBmXloM-+ zzA0a1r;*v}PQP$wnL+F9osZEIs0H2cdOsvK^C#%e9~TgrKcXk8eqwu-`4f`)10qa# z7cuQc^NX1~z15ppbuwqL0O>hXYUWJX%$ao*^{MxBE9?UG$kHaa!78@FPv?r|TsOZq-Tv*+IGUc_hNIL|IxrycPKF7+CI{*cO zy`hSME%#?7ptvR=_VCWx>J$Gu!}j)9*Z_;wLP2u8dU{casZnZ&MP(`nE9@enK7W5& z)~ZHq+=tutI6EsakC`NUlT)%@#?!<)Nh~NZv|Ams?e$3}?SooP=l}&}bKb{Mx3a;@ zDq5FOB>;6ZR^Alvwr`r>m(b^@!RX6YIld%muWFKF(!gRhY{C6&XdGJKV5Xj5e9- zb$<)YBum|axwVX9Z&%A6u&3%E_7Ks`*ff5~5NmRlx*$iyD_L7|RM8o3>WT{RP7za( z`{3q*4d{LID(nE!28q!cD1}xZMEw<3O(QSB9@f+D0R|}+RF}ZRd%_}KVjUDSQM-jA zHgs~|j5S1r&9}oM&2~_?h;cz3zX5E&Wd1b7&YxTDA?~O%ee|dcsvVp@4cneRnW|-8 zL&iwv>{%E^g!{Y;R}=122Z=LP1G`QU#=z#B7MQ^vbr3`hk{{|muAPhR48BhegvwiU zW&0A#XLkpQJZN`ZVQ2kWOR|_&oTASmnVpWD z1-+9gX0I&u-JF&<N(gnDOj$o>sxQau@;K@Kj%hTg=1X_mH6Tk22j6=n8N^_;~_*14X>!YJ0$Ar+FD z4d@iHc$OkcP8H)KV?PxwRCL69keUaozaS}(2-}B>tOcuiG`pFpa|5fTvw9utsE%uM zrlhXU5i6%Yg$Qv6M4f*AunPD*F~Z#l?xFYx+mpQP@O}0Hq91F zuqf+$GEp}ZXa8Q)a|1^<6=IX*q>R)s4c|Ob1XRj>jSVt)AW-Qmllt#Vf>RlnY;}iE z!*>9gY!%ZqD{}50M1ws22IA zOa#t+bul*gR??6ROh}H;U1{2thCFFHK^hXBWMAz2T9WRq?$2tBm4+bi1L2T}M27=62yeM zERhXw)!cXWq9&%4HZ3BHo|e@hGf90vSD!?lp0&Xqv|Q&qi+LZB7s$C)Z}MShz*Rc= zj76fe?yUZWjam?V4T4^rw`4Wh!(0TXw?go*cm#C@!OsT4mo9>O5bWn7Sl$Z3&+!O; zO??ZT-UBBw;U@U20x(jfTAMQ|AihPVj6X@y{A zJc2C-!8r!O`yfDQT?>MtE`pX;2+r{kWcUydR?Tmq2Ro^6GhMz^=nT^E6<$va8?nv>KrtSl#$+U2NU2Wj_}E*uB+!KFr* zc#KG5iBW21sXd+&2S-ZuvMc|4>>~J<2B)x*N2;s*WSnp5vvm)s%y}83)k8m z=GZ;_eLHA^sL0Hm0t6mtKPeeDhK)6Zk)< zv*t9la(}4Or<#f}P=8@(?FTOwcaX6!+6Sq(?Iy(5>(PW|;Pw&|-#B#?&Rwch8j57# z{Cdr#eYU!F4(6Oa)YqaycXKv~%)i=Khu{*XZuZolvqJXxa^02F=ZM2utS5)tl?-7; z4U5AJXsI|)$)TZ0Pnl}DANC?T%|^~S<#ay-1RVH=khYGIKK4}4W`|%q3gcNgKW$|3j=hN=p3Nd+flWDe^p$vH$Mya78{QrdiV$u8w-9n7xo5(BnRI#(ZV`0>CRk5QaM+27pQndjy z_Gp%vSnIZD%y)GU?P>V4uAs9zn+oDk_hXO^YE&9Qt{7GuUEoavOP$2fGbu`LVHwS8H2vuLt zk>37WCgXS^SDTDMh47Tb?%a)4PpY0wF(Ja|)cB<2Y z_@Qs5->eh;#ycT!)uPMXLk3sPc^jjRdt4x<-z?S8v%>a$h^q6+%s{Us=HJUO|8~yy zVcA>f+STHSBi3w9oXxf3@j6mHmM>et-s+K)UG!^mL%*_hyH$VxL+ke0ND=$cJx)yA z?!`$G=aae@siPQ~-RhIr6*u{OcE4=@u&(SDVI-q@>?B;bS!y2=w2!N|r-alhPL#Te zkF>wHkE7M^tvVF9Zt6;3vx8f%%E&Pe8i*InI%B9G%0yHW|lNRwUEWOtV% zR7?(UW8F)1tU}7U!!OQSrJPYT$)OjnnD!wQweWXtLPx}v2|nMvq+WY9;bQK2H8pI{ zsc9-(BlbsKg)~bR3pTMg3q{-9L)|b7lRj?R$O8vqx+riZ+n3ol{PvORs=2rxV<^yV ze*=N0l_Q{F`lLgE_FX(fD?G!t=@!*!w+p-l5#O-tgo@ZZ*FY38f_#8CE_`9FznR^! z$sSi_cP~}{U|G`c23#F!fcj@3z!uI)2(}T=iHuf~<0^lk9v5yonAT#_`v_XO&*?%b ze9ZAdXXxeZk%spYjGyK}U{3elE{S98ui<2o%oZu8@)A_= z5DckQywc=^Q#|LJEX&rllKjOgb1-RTzw_0KrR z4M+0Z+Zivr#uH59WZrk~M0MxkqlLx_A9YxFy;va@l`wreX`?pS@9>LEiF^zf<@0aXWseVmV3Scgje4 zey402&h4}c=l6);X`S5#cR6~7P!;EQDxQ((B*yQQQVhTsO8m}+y>bNd>SCGbL3KIw zfW#mA#e1WVx<0^sPvm=hp_aq<5DwL)%&EP2E9LBvBCO79;ZV{n<4`(Sy~YXbep)Di zk^V6yGZNS0ZfbdTi`^@5jI1ib0vE{=hSy(xFt>?w6>0;?7k&t_hNccB%EBtuFGmX8 zo>XOXj5<#MNSVdF#pk z{e41Zbqg(uA+oH)W)j%YKE|#g-z#`tq;l{e?#Zn=F><{)sA@~Ic2Etx$ckPfda_zU zZJnGd^&@Nt6Yd#)WYp2H;X_g9>+RkR@&OMP_dvNl;P+@7Xr!g;EXtHu**#0~2Vv=c zCH@RMzBeq!W~7xOv0c!+xj_E9I1pgH;6d&AAA?I1FTu(g7anz zH9M&bmM~YoWN6OyH^7Aa`*xCfYt!{P@a6BAP*IBWl?msH@f4T6@6!mypVr%bm1=_G z2jU*hM?ZaGk$n(r_HY{QJ|T4vDJ-a$G|vsHJKY8KS3jTA^xfj9+jo%OveoE4tt|-0 zuB&%d2-Zz~GONz+wM7%DlXD2ClhAG*lZHd{1>!-CmxNu|K*vPcqa1RCtk5p%3Vf6D z*k-<86l7N73b zqU*0xEn3%KpIIR@9H8j>`j}P@cU;Y-&Q(*i6@SZIipx182dbDXl@rb-iVParr?2FA;_}9l;Fe+1*%q!))zj5kjMs$oeGhp6(4H0Kot<@YN zK!_6y_>=I{wlRXFtPoy||(YPAy8 z3GXZfrU(V33uyaiEA5fGg)be93m_|yZTU9b^M;BS;0~+&Vb2S&3QXb!hy$^jP=^;F zD!=$)#;g1|0Mu(;U+eiaW^ZYX+fcst(>h}-%Ii*en!X-JnIVIaQ&kIACB71^AS&PH zw9p-tqBw7{DtqU(jAX-N;U?nl6FuNE?qV(g1u*u2OZ;`j-KS2>l(b+6b$_t~Fhq0f zMES#2OitItRcxK;{<3dt-Cs6t1P0XquzmbGmi|WkSvJ_mio(533qTzd#%HX`^BEIC zB9+e=l#2L_F}2lO40){2n4a$1f+Bi)E1G+=9eJ;wZ%str+YF(1Ou*ar=M}OOR>ZJL z_sfZRHp!P0fw$;eSM`|^KaZf=0Bh~HLd(JbbQ^LJv%d#qWLG+f-C~h=8X<`MIZuQq zzQCCy7SICqEPeo;$(9vnYQRb#m#;xEzd|@aaw?fsKQlEjX>Ar}H( zQ7h|(USIB3CQahYAHRHWvbWl_7>n@%tk|I1$OiyuPFKPiWSx!^j3d=PVX_C+2aB{@ z-OUQgfi<>nQPi!DO#`<&;Zv(~{JV>*IYS`>Cpr!=*N@H}9JJNz@I5pxc>W80KJA5v zn3YRWx7FtJjEEorL0(-{=kJnWWx1fxXZOig-z*S&iXPZoXl1eZ18SQ&ea0ma`uzj` zDF>P~=PSMele6VcK4ey7Dp54pt{=4^Bt%Wu>j&u|uxESe#AdwRS$c zZ#D;L+I_23U0*F4D#WYOjYDMeyvKxq9Gatmw?h)`La#WILxmESJcj0S<|A_I`Jx0~ zQ!Oo2Kj0sl2TR`B=_kH^Y9+_l`peO~5mNbbR5(|A^>}`x5XrUpyj2a=M@m;HzY)_W zDeCfS?OFR_JJ*SHeKlNSq%1+$|3~fW?M}lrjfT;lQP8TC6a6tB!dI$kkIu~eT~C9e z{)G+5VCxsUC+RD-naiiHfmQ`-`Ucmy6i2Fe*(2@jUEE{F^4Qb0Z!xUc*>mk2jFNVv zI&Ddy0xLTp@oJRZijyXk-Yr-p3 zQkdNlf`^h+^2Rn(HE+=yv>w+S(hB9&d5#H*B>a!B%lts<%(LgX*sxUq3)o%i4#!w`(}J* z7V^nEpK-#`<;DlC;GM_GNQU~7&n@?qugAqNd?g?EX$;cZLF%HUb=J9dN$T7~tzhdA zcm5xlk1OT{;(A7-=LeOVJ!=jJ7A@VTbJ zrJx#NP`#TJ)t>4jLA4oF^+{3HgX$1H+4`$H^uQmi{+e{)*O0SJ=N!l-2r@+`tCzEr z4di*`97oPE_9%5f&dI{bGvvVUL6n1GyePX`HmGFN>jKIShRz}8ZvSK}@**-6W^3nT z^>Iy|x`gi?5M>G~{M!E^Zsp%VUKzCP0}wmNdo%N3H|KXrayF8)e|9g_p(=a#rX=Hk zI~n#N1MUa*SdkIbbG22lLHQzG{V5lV#b2TE9Z6|?M?%?WDBB;YjIs}ip!E`E?@U_u z&iJx>lb5o);}8&b)Qc3mD`~O2DdtY;dOIXjTK$E*_ax1G4|!$X^-p>x@dBysvOAz7 zw%+Leo-*ZilcK*cjT@17Qjb*u7Y+MN-**T0ItNiqF}qg(QM z6kOf4{nu@cEj5e%*TGT{+m^cud>LKsF4x~EVU2kf}iX#{tP$Ir`^mZbhxhC}>}kB)d1D0!KI%2iy3=RpHA)_o94sZd5O8BQx9+qq)orX) zp=;m5eM#s<&t%qAaDQ5i*5)O&Ct-gQL}BkCN#Trk zjH6oFF6fkMT3|7$6dKdIm%03fA#v2ET(>a~&%uBs2p-Q4G|SXdSL5~Kj+#)VgSwn^ zjZW%GGypNs^m5ecSY`)t^j8X7IgL}Yp3m9sr{S}$2bp0D^ARv5d#XlM3X}kwnWG!~ zN*GP9fc>>mTwCO$mP~GzLVa5xUmWJCw=!MbsXdOUVh{M>s1S-3@;P6wx#|!YE?B^s94Zr6SwKe2G`W$?G?OkW z_JF)ne|`dEl*SCpR_$qss&2B|9Y*z>^X)+Ojj`41@3psEeIk#Q>i5r9T^muQO6_sl z>3Vw0FKI>`73y|?3K08GHC29n&soB_K#HD1ipl>oq@eoVQvLD&W7YSQ>MQ`b~gNycFMxlQ`WRH&PWjRp};zfHAB=-v&ES4 zt9%@g>{H2z^Nf5Ppv@ymJ`NC*MpLHwUNY{c!KblD?94|d(4KRxe$HvyHKeaI9#sVn zP--6$v`?tFr-{JMcC@8HzRVr2{wg>9Y}OtQu*AP>9TImB2d@xW@Aqi#CB|sWEinj_Y0FjH(3bt|4F9r1n!$F8721|})C~6i@H#fu!F&%I z!uH=my#jIg?t&W?t5`4?)VSMlpjd3$tINBHm7SvitZY8Hj4V%mGe>VP@t2g4xernu z{`Zkja+s$vmnF(cazAxR7cqI|sq-tf!#ywze(qI?k&6S&Rf+P|aC`OH&L|mIOqMf> z?r5EipuWjbs#9n3bzQp~Lb+pO&!`O;qsnA&8a=-TKlUXq*x&6AIi+N<|9 zjToWJCgcCb>1xMPe|yCK z^6nyG(@{ZJXK#Q_aKQ$mBfc^!Sy=cnfmK1jq7PvpGz)Is6fL2MJO*L z)lFT3q0qe&kDJ~&W@cs=RB%7#Z2oy0Gbi-?Bk~f5GoKf5dCtltB)tfcsXOYj_$=-0 zl!F1Q{V3d@ZM1`->V6!CZKeZe{reFE{RXn z3iXYJcX4AvC$*l;JE@VJHHq(fDbf<(6cHi|ev4y7H?@jt#JQbn-e)kS8cW^2v|fn# z6*@x)^`+uspo0+-H{)j0Nwt8Hb3Y32q}DE~(86VBjKT)%2932LiuJ`9tlH`ROg|1p zEJ$z`tB)6j1$BwnBUT8s^WXQgS>#+p> z<~O#JI1yJYz{9iEBlDRP$ouvX%ni5;Wg@P3RJU*>Aryd3qv*ltL+E;qQC+VT$_|jl zi>@aOTkCop^UTw#9!HL7e&~8|t&!*uIaT_@x{qs{L<>`o^KE)}@!845qG?XryxSQz zfUH2>mWh~Orv9<8&OSn8fj_U)YK_eDOx&5VLCXnUi#eccqNd~2N109f{nGiacE!7G z^dyna3+Sfkyu)4X21y(3Mi?nDRYIa1LE{Air@3n}I?YZZjNe92B+GElm*vdlZRjJ1 zM%XSBx8Ww*U7X?e_jX zm~)Lw!|D~QjQ`s$iSe-BCftztV;Wz^{u)PnoC7=u?AEN?bKBXwNOSb>7Omt4WvPEYuiLoQ_ zb-K0)P+iDX<6rB}Cn;KcS2s;IwVs`aB28nY+7VK1gIz|W8q_+ul+uTxpLd&&n=MKJ1}m}S1^3+{R*+=khfHFO~Acwt;>*t)nG)^DI z1>s+Eksd`~%H+_NJdk>4K0l%Y67P^iHnA&6Y*p@klXOpF(sQy3Y1!8fyWXk=m_5I7 zSjsCU_N~Oul-PF?J40gslGy1I`(9$FN$dxSohq>(aWJJ%E9fCs<9F#3Z&$P0m{d<@ zHkxicD0KpP2nx6zd%{2(Bal}Ngrb_B8oNRqL-$(Aqm5M1$m zSC>I!OhwKB1ao*TrnK8_CO{!qN&Jm7AH=FVZMKKLe?~yPRW7TMVd;e@-vXWae7WUO zGJnpH;_PyvL+0*Ii*)!oPL+38XD$_Q-wJgp*vRmSVC#!O2qiHM>BtJWdOiTZkc70nQ`A!c?7aOT^FZ>#Gm8+m~C+@B4C9{FVYe;lkP0v^8mS|%BXw^l! zAw3T1I$xtsP~9v;ukae)RUIL;(j`iw1-$;t5PU>cCdZ||#yFg>xlP*+E*6&NG^xrVhs`6%om zdcfNg3v@?hf<)7n>At=jm;WU<|DDnNgVlGmd@q+0XZRXD1T^AZDim~V-iFWyIfT5$ zMf7SEQD5~6h-}p;^cbw(j$-{I-RP?}=+rADHHzj^7tKdeG|{wmy1y$ayq9`Y7ru_d z?r~$>)*cZg*Tu<^4G}Ritm@G9>Csp0uC6E*F$t^CkJ*KGgL4%GA^RBLq&y2xb>C_Y#b)C)LP zA#D6f`GfL-PQ7{#{h~MTXpSP*aW(K3@$TjFunpV!vci1V;CboRvAJt6UHw59U$e-U zd1!43xA%)k5_RWwGjV%=YA@ZYSZC9};=S1ELwkJSAQ=53WAJgWy$_1P2Z>JXHh9t8 zC71D_aX!ptO315ED6I$gQO{!d)6Thy0SO-}CS(hU33TFY{5j7)bX^1v|u^*+hrRA#ooJYl;5XZYyJc!T{lL zo#I;Dz%aO+(QCm-vF9(NVM8hjiKCL|?6ZxY7 z2eHxWeSN($a_+z8%lXYnbx|u{+M7@}1`S12Vi@%uF!gq`tYZ-6%BF-cKHl!QjI<$e zLj8LbgVhU5UN}>h{vlqi!$Qxs%DrLGkiayBGho-M3cA_W0sby2039A|6*y3 z_>YPyLw`DoPH%1-Y}D?f;?5!#kI7{TxLAe1c?$W^>b0BryaN#k(z=2e315w43vZ8ouyBs$Ja>|_A z$CO>Z=^8a1haa_}lujE|jKYfnzm6ThN-jplhlle+EB=eON+g)p4$tw6uysxA-`2UE> zR}6g{6Wt_RNPyYyn42VblqPeNG-n1;H%S)vXWH*Fq%N%1SMS0D`J6e2-E0*Xj@@W@ibuB*((48CI9%lEP-A1^bH(uS>lV%#VqZcbtBp4KA6cidF@i!$vbk_MEeRX4=8HQb}<5Bsj8bP zqU2yiQT&7D4!ozi6HtDlO52HIexgbaTI46HaF^faPgJ$O-(8Dsw^2*d{wX)Y1e?{XC-{Nr$gc zkV{!F?E2aY_Rh&cak;Kwb>*u^FvSL#U75%*a#Zl9UFWVY`Q{{g^EB5?lw(igo0AIe zmr#8A_c#tlL)=eh&cY@ozcaCwZ$Jy3I`#bw3 zZG**S>P|Er8taBOfr$ zL3Kf`cHI)QxIRG=!}u84gZ`999naNBDr&(kinmu6MU3YBK!@vQCzBW*;9)*`Z+9A@yLIGzU1QVH~iy?W&6NOQT)ANO0ZCCNC%1bCeH``*C-~Q z%hJNccDxarl4O><9_ep!=aio1E>{`k9K#fsE7Dn>H}E-RC)Ub4IU8JiT~X}8-9;V5 zRfKQSw$9V1jo)+@EZG zCoaD^qwb@!UDR{PgB^xT@71SzL%9KiP4uo>EI5!rPL)=1c@WK{eoOA6r35tk6i2bB zn+BP2?;sa9(2BslhpNM?A_qZaSr5`8chFKJR#uLuIywEpm!~#PLPE)fO!*l4bjPb) zs_!foh%CIBb<93vpA~MQtkJlLL1;-KFajs`67(?sWPs z6hMORqwbQQGySc45l@!9{q^uahgDr1WMo9WtBPZXU(eFk!;hR7@zRMM{?Imte_eF= zD^c&l?ocnAEWd4`$C}B8YYVIPJGtxRj3rePAw(k~)GA#W)%?al5whyvZ24&z^$sRDea&G=-Oe|WT@lE*1ts56CvD)R6Lkr= z2r%C{R`G%)%L~6t#<7D=8_276pQ+X!P5-py437Kou_6>S+QUmS`eO^bRIWHYA3?lG zjt^gH$E7g--3nn%=3CEi`Hr&)x#>)7Kf)VWi+`Detf|&N;{QA2Lok^wzt}3*7HsB))-S z`JqD>&umejv==PhVTt(ZNbZP46qoyT8B>md5b=swy=U{Chyb?ur3FyFZQL->(2zJr+tyQ%YW zn_?vD`EZ0!$y#Jjfl%jwYd_w!w5+GqMj!@l9NR(GU50OsSpLBNGiZ9KXT*xpyvB}@H?e$0AOD?0ec@ws6Ya1CSQ5-X~lbeLTmwh-B} zglFkb+_7?KWs5}FqV#?yCs|)lGZ37@*~rxkxq}K`F#xh6%F4>-3oj^ z;Ou;O=0N{bAslmfO$Twj$y0TwY|x)m`}p1SO#TA=Nj#6gd=qa+SZLy%2s@j2SHhi4 zyf@*lCcZmi9~19KxQB@c2}?|Tpa}<=aEJ-_AslAn`%W5*}sZzau=_#E&8Ty@?-3_y-f8KzM?QPa>Rb;+2F| zCO*xCCz@~u;Y<^+HsQ%8tTo{r6V5Z?0u!EM!o?dHR0_hywiktoA6!} z-eb_$xH94ul=~>%?DY z1M5n-lZkgD>~7*c35!g87s6r_-<5DT6YoRV*TnZA+|$JS69!Fu0O3FrA4E9V#D|)2 zm3D4j!)pK$#V`zOTLmT%znj>R; zWTa%7N&UlM7w*018Tf7nex`Z%o3LS!n}1a+_?Eq0`07^h6Ako#=;SKU+xPet+;KC#1@$#3L_8;nkE!lVE89BtoBfLZ&#|^9_O@84e z@_2N}H1LOAu-?}sy4=t~c!fN&Z^-kB>2H>yv~t1LcmtPpB#+nr$4!4_J;`Icfpw$7 zf4q4wG~tg1Pqlg9$%HS^PANUxynDeF8a~co_n`141NYkDrQBffjPL*^e8RvFZv}5M zaF4!T@|^}gzyp}D$;?CH74md+1M3(=hkgdWvw`0a0-3j?47|I6A7x3V5#+a0VgCqpaPNKxJI|rGW35 z0xnW^;-f4*i4qc&r6*|;IEymLqpW?BK&74grGS^FfFF}sL<;zkDd3_-BtFVICJ_ikS;wV-Pe=iulmcFv0xsG};-f6lP7)tw%}4|SQI@xR z#V0H4mMESX2@pWsOJy7i&x6qb#w$BtFU# zOHAUUEV0TYKFSgcP2!_0vDPF$Dn@^aO;uJ+iu|=H;NcYTIVs?CQ^4n?fP30(Y%67* zE=ZAoVG8&uDd3Azz!#^0FHHfjO95Y<0AGfFy^CM0S?&`s;qjB%yk+$1!!({=5j^XS9)BTOleOo4s!Rs| zs8e$IoWkVrb5OC0t=^G(#V#n%Y8qS|qaV$6!PazCyJBmId9y5UM<0;i>nf#Y({872ZgEwkAMC}-5W**j%p*Uv0`@+D_hW_nY@!sRj z>@MJGA7dxE&1ATn`BrR=^0HfhF!T9)U2k;eo{;Hgc|g}2-S56N@cx>f(fxE++s*%V zN5Ow&1pm;^ZuBtLOR*J|H=Z(-9oAdm1}RzZG);J4(=BRec-dflM$?T&X&w*$JoJdR z-b=Nt^B_&J71jGpGp%Fjcd<1sk`c1#=UtsYst|K{~u^Tv2||* z?&UuogvC~K1n%K)(sVvI0WJpz#WDJ6SCfNF;(tCwqbsdr5T?%|h~6kCrcz(3IK zUm1aW^^Vl|&xpW}FtLf64p&FuUjA!!{ud)~uilQj{T>x9>po6Uce>{5L zsq^0+fqQ&@EPS!pdM^S$!Ne}=BJfWV;GgOIn-btFX-aX7emc$M*r@S*5y?N<#P-qo zKZwA?CU%j=|6v4vf{E>~@w7zXwI(L#rNvg%KI73XN00k0k^G1~`dO;i?}ZWgK_)gy z*-Sg+xw4zUqk7Fwv_qcn zSqQ~3`pZ@qY#pZIQT^pegXgh=`U#@VoTmAHY z=k?yQyqR>q;P+23xj3IUu>&-os9i$N&*iy_2~Zqk$CzQ@d-f7|R3G;^+8qpNag05r z$mBnwzrdqf^_;!m64Hr)e_vvNAvHy>{I}f*V{QtkdD-ofRRHiZyNl286qNop&DIt_XW%$S( zk*P8lGKVBXq$E?Ogd~{@88eR=GSB_ix!3#Yd#>lV>pqVApL%6Wt zue~dIgR1@hb$VL0Nc~6t>*@L>o#vFbi)}AU`S1NpAC~1!N*lN=zoWDc%kn1+ynR9c zsBM?svuUY(S^Z}h^p|RuneSS<-dI-8n1XfKu^@kV!TDZO(9@t`-P#xQH!AOj>i19l zQ2P9@rRCEdvES0gBpqw`)bQm>maYTvw=+-IHhAZ_oTdCOS^k{NmuC65!_$X!+epu% zEZ-~ZS)6&gH%tEa%+vdj@Xh1;KFyOJ9pnEEPya042fhT&XiBHe+ z`TqT?z}Jf#2p>Niho^b+o*gpJ=lm@5e0#f=?nk9l>Up*FhdHmzJkQV0{OD|ZzsY=V z*0XWx_Bx$Xf9}1*)9y^Sww&+P1^Jr`^6CCwI=QEN{blvw8BKZ8F~@%kPtUK4+8c`aB)NobNi>^>cpvwPoh{ zdLEZ~emNao;OTjubn<@rIrIE_W|b6NM*csU=lL@-&o8H!XZ~%ekL|syz#q*#-;bYX zp6{1`GSBx*>1Q{pPwCrVX6HLG^L)QNpLx0$%A8+>r`=h4NcXSvhSJoZ9%Ya}F}oev zH}mr|&*#6Yz!zkmUoPIyJUvU#`F<7d>y1CN{M>B*2HEXbK2P@o-#hcXr%!=5E1g$5 zrS<8S&Do|}%kSSUJyiO4{%+x3&to#r=R7I%e4fKH&-d@}%=7(wZRYuUrhT1GX`cLY zw`sMOJ-?r@O}N+p#Vnuqr0c+RO8x0oc=ltu?4(oj^d5A4z0&9DlsrEkcqPdB_E|n( zpDU|d%IlwwY5K>9r=Ij^3!fgIvgxV67YH@_fIy%>2Y`eU8XH zzr2skJik7=J$tBtaJzRp{Od!4&v`Fx!ZFYwz6{Qj&zU+1{nTYY&f zJ;n9!IycOE(z_;D|9qZWndjHf`Q`46=tKL3Es^Zv1!=lwT?r~dV_{_$Bp?|&xq zy#J@n^Zq}>Q~&x|fAtP8eeLzxFa^W&{{1q~`;Q7wAJSa|*5|m)(|O=0XFd7#_61o! z?-`wW?X2hOf}TlPKJU3V^K=)9c^)e0c_H(Bd;kA(x!$(4jp>xuKD|4F?cKLp%ibaL z!I|f`Yw0#OoznGE|17^nwm$jwYP-zy>(5=nQ%}FF=aMX+_gt5G-ZM4xJpWGS`(*u> zr{PPdv<~^>h4BeXr{wwLL9Qp0=hwH~Z*fn0?3_;SX;7L0&wEbFJfG*n%=5>UH)WpR zuGPu5H-FsJGV}a=_sl#$-x-YQJexm0x;VSPkv~2f zmw7(tJq4aWo?Vii@6s%v-=A4A?U2$beaLT@TV$S}@7@KT-e;0d=|g@$WQS@kdw&06 zuL8d$^ZaB zy$bR?51+Oxe?EU$K|Vij^X=m23{y|;9G_|abe+ijtEOP-qA#2tk+XP$2# z?)6Xa^Gqk_&(Azxw;KxlgRDP4u0Acu@0lL7$NA>{V>8d!lOLe=`VUJ_ZbnbOo)?6B zJul7j`T9)AJYUbLndkZUGtcMWARgGH^Uc>`)9iWvJU_a?Z_YeF4i{yfug~h)^Z$AO zotfvizmH{}-w$~s^CPm$?}hcNm$~{l$$M_gJiq_&Nap$N`z8(krzgMv@Sn`{^F1c> z{CrQ({L4}$m(!I>uk)r;I!^NQ-9GdDc4tU<+Fxsy{?K!2mftX2hx+jVHTCEBD>lhI zpMS>!|0wfUv-9n>dg+VODfRE4o$nKw=l3_}WuD(|F3CKfXRk)p_0|2kACURnQiOGw z6`qde{C@cB1^GV;@*9-iCzeiWyYl{R3jDC@bUEKSTZdtpA6MY{{f#TKe7@iBDe&}f z(<#lF=j)cvE1i<(>zuw$r*!TtP`nqjE=5hDrf87tvx9jK9 zc`@gv+4<)CYrD+5X8om4t50dW(oZwdlY4r%GoEtkls;~ed7f`s;F}isW(D4&z_-ji zU!VMOXpyJq=+Y_8pRZ4=*s$~=KmK)$-{{BhI%ndi3`r)8dB4_uykem(G1 z=1WSSv!0VPKPFrM-wXW70(!*-?l$7jA$tWWYZGx_vfRyrkrs`LjxH}l6begO!>>|<0*ZLzZ%;U51an=_rtlp zAkX_7;_l(U`Hf?axZCotZyw$x&Yzww!_#ZK>4fvVbMtEbALn_i4dsoZhub51m~#u| zTSa~=d57?(nNKKves+AlvwUKFeWslKe!IMReEqR}L43Vdc3h?N?HQgPgQrs(FL^o^ z)9G6I;xbpgB5xbMTq-D?=owi4^54Ic-%|Q>QAoPHr4znc{QLYkNqK&cQGT2x-#YU7 zagw}Ecz&EDZx@~)C&_t#Pkx*vXT6%2K2N9g&y%klJ^68xe0u3mI_1Yn@_MnM`Einb zS;tB8?IXW!>GO2re4max0<1UQBk~=}@qhF0)hI(JInN(;kuy&>dHOlGblRi*;ott- z!a0tZXKMI<%BS1xbn0FH@NW;V)AW%uPha`ySpNa?3E>=f%riOs808y;A1~+m<&)&h zbDF$%Z0|5R@2@&rzJBD-mv0JyAX`=DAb8SA0EL{&=jzy>iz1e)*EfKP;aX{+OKi4Lm95e$O*<_SbWA=6ONB zTb%DJ@*~3+$cKh6lz$&zzbof;tPkYO^ND<~IG(?dbNN~<9};=aKYe*i>CbJkAAeGw z%hzvm=J`uLJNm1lkA5y+%gH~F{3%&a{nF>$-klM?T>9G>P$Pth??>3@Q*KBcqSFq>zW<^RX?=S2_7{D>@nbb;Se;PW!i zA15x%Jbyg?QReycTD*TX&7XVy>~*5t`MLR&&*$H!AirzodH$FJKPmJ4e1{eI$O6Bt zz^@Hou{3}F{O#m|{QU*~Sb;xN;4c*Tf&zcHz&|PQ#RZ=KyiC5H`STdNX2;=q<-_)W z-HwdRJiol;@4L${FZuHrxqqJZkE^Xpv!zq={CM89TFbsiHh<^L^EvmD_l{8P@lkOX& zQ}Vp0Z{~S^MCN;E+j~{!d459XdH>{a&-q1`&wGB(JnyNS-LB>N^m`=IDQ#Ci=bX&* z{DRE${;x96^E@u}x=qh+r}E?Bz3{ZX`Sk{mN4;MTPEb0zKm8sF{GZY%?DtbM&*#4} zyWY;{zbo@R|8VAAOKVPl{__iY&(~Q#@A*CRyr*e)J(J&WyuQ3y)!UmpKari*A%A}U z@q*)_^lK8TPbr_j4?kWuufDIBzfXI^ET3N=l{}v$(^6SPo7`j9+qA1^83l@_d=vo z`jGZDb8eqq?sm-P|0MH@IWwP|^)xSio=$0=PFc@M)mlE^CZ*3g-1^!yLKKXj4-=~pI>D&3^!M(EW%^we@OgfcDtl}|j`Z{f6Iwj|}CVkyJ z{Z%?8XB*Sk+@2=?AVHkAijT>^0!ts;X8u;@oicwt^KO|h$h>FfA7o)R zWZ$mdu0u-0vM%W{X*#9(`=q~gN_1#Jp2w2upU{``|MOcH(s#LRk_Z(2* zH8RilWA#QvPxJVgqQA!H=|jFBSIm00icF&46P^D&w8oI|2( zGhZ*ukI%e$=67bka_0AD{zrVCK0KUxqb&bq=IdtuT;_kq=jp>MnQxut7iQid^A9p_ zo%t7;x61tc%s0yXx6FA>u$m&1KCG7I*{6xt&%Azoo<8tcAoVoKocqSfS@ZPmZ6cF= z(=5-wP0r(p^lg6DEO~lNkxuCYne=t1%(sotlXuH}t=p-=DfC(=DQ$seugXgn9S>EJ=bQwdgkLZUo-PNGv6Td`sqwc zr$jskOkX!if0a(jKdb(%{8ygmK4kh%p65Bn#!(0-)`CY@-rHVdS?D%e4ak^ z&iw!G?fceQPo1nMdDHlM19^P;?{B6}>yzhq&GOq2E`97FZxml2Sm6ESZ1b@NezKg~ z@-g!Gvf}nA&B^`vTb0M}md~nHhKCBA=Qq;&r2d7Ge_r{|!e5i~`wKV*=)t*+<7=in z-lfx$@`vinZ#v)g!nvx1Xl+sV1^o2-8F_sj2# zeqJBpd>;#+qdff|$?5q@PEYN4yhA_7*(&m;@qoLDeCP1y@@HcIwvf*aZ!PEd;_|rF z^Yl`l?dA1D^7CSShARJ3_*gkT(D{arZs;f_}i$HS!sew92u7n4pC3Y^~$!}+Gi#_9Bs^7u^onUQ~? z!1;Xw^zR+dGk&N%{-yktc>eL{0{>fH{i1Yf{yOpeD(Aay+;ONcpAf!wf%E&h>6st- zR?2gIwY{9{t1fb`ulA60`*mP}_mkI)+pl8_oYyy*zkTG-RerDV^m}5{iTvR3Yvfmi z^ExT{W^sErS$S?x@0W9XI;+6v%DJ6=y};j-_ltS{kaIaI{b%77+dDC?PwN$UV>$PW zHYo5Ga_;A}E$~kAw_@%+1ZW3aEo;S=PK#1Du}k^dO}p!~?V-G55XAyox|5Q2skILzPT2B8WIsKo@>Hkqq|DSUD8>bf@ODFat{mta`w~*7{T2B97 za{3RD(|@>}{=xF|V*iei(|@U){%hs*kC)T`sGR<%<@CQKr~eK4O)>w6^6}wc$|r^| zm)>l*jQzE;oOv3{nWveYc{Z0b&o*-A*;CH?>@Q~?exGgHobbd!$> z?BKzbPn6Stnf$@%xmx~6_%!)j;WOloyh6_XhnwZxe@MUI zKHu-$f4E=H{fEco+<%xW=l;X1a_&F8FX#TlXL9a8)QbD#tS9@cuDoun+Zu8nFRUv+ zHIAqB|7hgv!2S8H<*a81Igg9G$hn`tmz?!KK+gU1!{x01U^(l5vYholQ_lMH`#M-p z)_;uhtpD9|)_=O3%gal0@^8q=FOie~T~2=WxWCN&p?bYlJKUn1xChA)+G9qX_{e58l|jpX#Vl+)i{PX8`)`njIqeCZ#g{Kl-mocw4x zd4BJ``yWugVf4?Jvt94V*m&?1xx?LwH|Dc@w6LRwJ$jN^!C;y|I?fp~E_O7*B<@(USft>!&cnFvz&Z)Ir%~I8)E(;@=4*B%E@0PXa0NTctyraQYj|>EB3Be@i+2yUXd{SAJM**AO}Rp>p!q$jRRL{9%u z`Qx!ZqvZ6DmeYTaoc;&o^gk`9f1aHFFXi+vk<-6aPX7vxEB6=u8_CDSI<%Ct{vGA? zca_tBgq;3k<;;Jkoc2E3D zEnbIhBR?{{v;3vF-s>)(AAW?K{$u6z50%q@j-37*<@Dbsr+=E9{uy%mUzgMWo}AbF zzm)U*&k{MW7ym8i_2Sy`hEMh*uNOCv^LlYpIjq|S1lN7_@) z>$&^Oc|EtEoad1S$$5Qtgq-!iRL=grPR{yt5Zu206vxjvaFXWi~C@Q3BB=hJeof9A=#{&`c*_0J+X*FRs&x&HZ4&h<~dwJVPk z_HSc3$Itq5)?srw+uK!6|DJNL-+IgG?<=SO3_1Ph$?3mLPXE<%`lrcHiQ{~R{I>9C zHk~K@mYJF%KgZ8Z6K$=g`EC&a^~+WXa2q9%yWR8c}|w| zKE*TT<6|8zkTcI1IrH2tr)RpH?VTlO{<(7I|6ET0cXImwmeXH*-Gcokr@w`q{&sTu zJIk5>Fgg84$>~2?PXC#5`frfaf2*ASX>$5!$mxGmPX8h~{olyx|5;9d!)BHHh5ohV z^lv7oe``7Yd&%iPKu-S=a{7;z(|@s?{wwA5-y)}flAQiIa{6DE)Bm2F{!iuf*J{4( z^{*?Zzp0%5_2l&LBxnBJ3>{K&ulsKe=2Vh$JICTEyC-pU%CG4 zgx8mM3~wPP-&)Q*J>>NCl6Q&zA@T#mhsv)AzeY~}W;yxC<>Y6}$$u;-|FxX_iW^j} zC;0|)@~!0Lx0jROUrzoI`Q`C`xWV%0!cUO%^LoSOybouToa>FTa;^u)$$6YINj^BP z2d2q+AI=kUeh%eXIj@V&m-9Y~cjUZ};tM&iuYWI}6t7ROvSH=^9Tdl5BRTu4jhuW( zIr&56CrAGga`L0(wNd3d zZx!CSz?;dpkNoCxeqLf5IsZR*NBNP_(^Wn^e2{#0Z0`{Hr{QPH=@}uvGx~3l(?3a0 z|NV0MACuGnrktKda@PNEIr-WfFMEG&Bq!fePXF$5^83okpC~7PhWyv%%k$kJCx5G) z{7gCdIdbx!%gKKyCtr7y%5@{(P)@#efwz~lKE34h94aS&mYn=ZIr-b=-C$Qe8WvE*OUBOa`M~B$?qs9-$zbr=Fbt_2l$#Cg7Z z{%hp)Pm?l7m z`n$_npS|TAKgYq zGtUYwD)%q*tR`okHRa5+k(_y2%9*E|oOyc6nde|R^YoW9&vA0*IYs^o`&Z69*U6b@ zqMUgq%bDjPIrGevbNPK+&O9H4JiJom{t4j+*(ih16ZlmA3czD~=^^(0?k{%G`XD<|JUPQJIC zd|x^F^X23(k(0kuPX1mw`4{Bm7s$ykk(2*jPQKBWmFtPGBWL}0kdxn8PW~`C`J?3I z&zFNF7P|#$3*_V0)Iq)a^z1y0BEPV}KajJ3|CG0i zo?2U1?qBxTs&ck#4LS3#Cuh#h`jGX+n@&h9OfSlvxarv~!FOrl0Tu#1j>&kT|-%x%@ z^lvXGzmuH&!E*Bb<>W`n$&Z$kzgtdzx}5yWa`JD=$^RrL|CgM6lWi;46K^hO{X5FZ zca@VrTuy$loct&``O$Ln)8*tJm6Km2C;z#eeBCyc>oX>ftA_H&!nc%@-%ifuv3G&@ zm0z%8d5&WX{A4+=XPqtQ^{ETwygqfMoY$vrkn{S~?Q&k9nj+`*sd@76W8LPg`A%6<>Xi1zH&YB)#d!2nr-CdcaW3sEhpbsJ~6iUEcwmhBjxnpE+;=lPW~nN z^W^k@Ca3>fIsL!O>95hQa=*~Oww(SA<@C3b)4#o( z{(a<)V%-js({q}9{m7p!=l3gJEZ;WrSIXOlPm$CApq&0$a{A}W>HkDd|6)1)zsl)f zDyM(V9V+)D{p-u=Zz-q0jhz0Ta(DTNikHIsFIA--(|7@*l#_l7AdNQoelM^4zz`$xo6q&ogp* zUXZUI{h!PEeOTYgc|Z0_9V*w8{AzOYEepJjd}++nSI0-WBC+?}l>vw~&vH zd3KYN-%Cz@u$=q}a`KnT`^EWQCBH3vLV@2UpB(uI#Oj(a`x|La{9NH)8DbcyUOYBDd+gn7RcGI59Mb>{!2MO zKlqEBpC9~3&d(3l?NpwtM(IO(N{{tvC}(}Pk~4o>IrDdwe;f1fDQEtJc1@EX8Qb-keDB!r&&c`t$3=4bKbO=0gPi_9Ma^lv4ne|I^@=f3h$u|7lOL$Kl6v@?Xne zkDg!TZ-)OPeyOuyZyx!U^4-GQ$ZrVWMb7or?(&{-do)N+ z{}4I-XUgdxA*cTq`Qp#oHbh=8dWOom-5Dj{Jo2OEJkNil{ME?cCg*wkr{&B) zPtN>r$(jE{IrD!fXZ~O1%wM}}<$h%TRpiXyLeBiH<;>q%&iviw%zuEK`45vb|FLrB zKUrS0etA2ul=JgPH^`ZDlAQCMCf_Ue`%F3aGv~;8edl#K>-?Ua*LS{_^YceP%K7=D z8oO5RUw-~*ML9ozw27ScX(eZUI?7p}u5#9AUpeb@u$=W7Bxikw$XTD^a@J>*ob|a% z&idRaXMG-(vp!GDS)W(stj}9=*5`9M>+_wQ_4!-Q`qbX7a=)`a4dtxQT5{HBGdb(C zwfyF|eC;LY_xv6pXS+_8bASF!`P8_4-5`G={8l+X|NEqz{Bv^hpB4DGa@Kj(Zk6l& zQOvW3{Fm^p<)4SQlXHEwpPYOj`8u)wr^=g#50{g_Ue51%o*-wx&yM z8#$M+Rk~NM=Sh)oB)>R(EBUbSwsMZoedXj2mNU;Oa(d2^PmJ@uF7tTHL-hvTB9Eul zt0out{qkGN%ThH{etY;F`90wu$%CuDlCKco__@IUmfsxtI{ztuQls=CZ7=iGm){-v z7V>x-QdMhtJiTAlL%v7!^pfutK14n|e5m}~@UfZ4TOO*vGfv(x@^=*YRQV@qK}x4b zCGT9boPSSV)~c#c<#D)GeP7_e$p^&w*4n+?n7&Ng`%8FT`9I+s%h!v6wv@-q zTU9;evHlx%E|vJC*QP3`FvPs^6SZ2&zduy>rZ}F z`KZXZkaM|fEoaUh<#$BSuJWnjd&{}p9VqAcIZ4hu!{p2}O3pl^*dTdLC!pn z%b91koOxc6GtWZ#)R^aEIrDriXP)JImj5C9mw8r|Gfz`F^Q;5ua`6b1Ud6RA?JGOS^1|i|0idRy$)7DJe}SC*L^=7%a`Ml~$-g2e|Bamd&vNn&;)a#ue|GGbrgHM_ zj-32&a`ILCRvw339@mo3jrH6>&gG@E zyl&bNrBio#oA4v$VihlYd=K{yjPQKjh?V?pNM!jzjXzNKXDMIr+N# zSFSVb(@;J)&UY(0`L=TM`^(86B4_Lp)2zR|D12gxVJ@o4Gt_1#`@FWR8Ief^0Q;Rwvb;OzI}o3B)=^3|0(c&%P&vT<#hc5Ur9kPl zqn!M%a`FS@zGaQ_KX^pGaqY6tmVXkDr(TrT zSfQL>DChTuejslb`LE^shyN(=9lmPc^7*8(w=4Z&{x#%B#&&HjC*Mv^em^<+K63J> z%E=FxlfPb0euA9*<8tz|<>Wt*lm9|azE;1g>XX;AuAKbFa{9NFlkYAkzqg$HF>>-J z$;pqFlfOnz{ysVRN95#Rmy>@_PX0GJ`Kow8QKPil>9{4omYn^=P|o$$mvXMJev)&2 z^_P6Zxc*t8fBAgaj~j>AlW!Wnrkv}y_2pc@b(FK7UFEEQUpe`Ka`NZNyT>|TEZ-yi zb~!y$+&h=+c`G?Du=jbEn`fz}p>%+6{G0z2Z=DAwVJU7XiXR@4m?w2#qYxbDu zZ8`INA!nZN<;?SsoOzZXT)7{aXG3}Wm}d()^R$&SPbWF^^pWop{R8CmA1|l>H2E`e zJdBmoKTdvNobMfSdZx;m|9SZy(es+TSNOMb^1sN*uXc3hej&f6ocwlj@;l1OA1o)| zUrv6woOK%|zbm$PqMZC>Ir+JA@~_Ite=8^di=2GJV=C8^{91DIZRO-U$;lrgKPJ}U z2>F@e=g2P#zfjKcKUU81KTghZ`;eUenR5E)$?2ajr~fpPHxuc3 z74mD!$+wY{?ZB^b2~mz&f~t5;kGTE^pr z=5q3z%E|94C*MQfAo`DyuN;1ooc^(L^5f*>ACs>U{m;lZ3;#e){tG$%%b!%aZsb>$ zli#Aix0UyZc{EB9De_J{Iz2tAlemqppV`zgSNGCpr20@rFhozmRVtC*N95zP+4$FFE-`<>ZIT$)6)9KTb}5qMZCpIr%wq z@*l}pt6e_+zLK{MuYGFe@rkb@Uu*etu8Ex2N1DrdeWbmd{$1qs?=7eQKso)V%IP02 zr~eW;{bS|yPm|L>Lr(v*a{6DA)Bm-c{vYM^SDjY5zv!EQ>-uMIzk$b9r+98^j|J#{>gIk_sg08iC7&mMAm_LGwzBImdrD(Cinth_+XF<>c2mt8)FxuPZ0tPENkFoO~ZS`2lkB!{yCmyGF?e zhu$OF8|!%jw@&PJdrHJp<*} z#rz}W^j|8c|9Uz76Xc_#f2N%4nK^QLK9!#rJ>SU5uXs*X^{Gbb@9j!|$TyIaZz(6= zMozw`oP2LN`4i>j&ybV9T2B5ZIr$lK^0VaR-<6a9L{5IGoc*}Mxs~h8@w1_PZ0xTs zvHn%$;tmFCtr2mve$DhIr$Cb^zSIY zDb{~i`EB9-4~=|t zIqSKpob}vA9yL|F%NxWudKLJg@x`6JN*si^sg(Ye`EPkF=uBv{oUpC50J;((yES; z$IJ0m7s$zvk&~Y+Cx5@3{L6CkZ_3I4ASeHaoP48EmFrJ_9Xa{7a`K(zpuk(mxm@fjXZ{{?`VTDdescPU$+wI%IA6}T-7McG@^{GD zzxT=6zmLe-zq946|BG_g{|h=KO?8-1v&XQYUWlfP9?{s}qxXXWHSmXrTlPQK11%U;j=a`G+Y z?BCXM*0YD4d@niqA@ZYQorlWFkCn&UdaK6C$v;%!Gv(*S`MxWs=My>k8khdhdbW#> z^kGH$%JIF`3w&+)cah(uz+1_Giu`}%t-|+_lRs8Y{$x4%E9K;GkduE{PX0+b`S;}H zKb4cOd0BY_)9qkdfATBI$!{Vj-%3t?4>|e$2g%8wDknc& zPJW!6{6snVS#t7o<*fhfa@PMn`A)IFewWije1};3^x&<#l4+ddWG9L*?`jD)1rlb)x7J zIsIeh^xs_IcgX2~N>2ata{6B{@b~2O|0buu>dNwGX&KXgp}%f{Hj zkF%@lD!(my_LM&!KCr-#m$N=+7WfGH8nK?^<(%)Ga`x}DneP-crVlU4JID9lk`E65 zP|oFdae@CN|Fu@RXsP_K@D;8ue?M(znzPn&<*(P5m$j;Db2;<3ku!fs`Eya!TTXvp z`4;hwqYL~*Ict5EoOwpdS)a@0tj~4wg|R;O%iF}9kI9+mO*#8y*7_z80687*g?Yvknblaqf$&ir!<{AD@w zzgys+$eE|cwdD=>epyk@@zzMr@wSefX^X)9(FAY#S9V#b(q@4UYa`G3-$xoD% zpDZUoS5E#_Ir+tM@;}MR*T1g3-CqADa`J8D^mmk#KTuA-pPc-ea`GeOxr<$jSGTlOG}{KU7ZsYB~9v-Q?tZ%E=!szcSAEMEO(Um&vDuUoEG9nw&6_IMnf`U<@Jr=u$K$L!<@DSuCqGaAVjTbT z<(t-k<&j{PX1Ln{olyR|12lJ`mL4g zPkwDV^K36CzmuH)gXQG=%gLWBCx4Ngd2W-Fzei5~IXU@PSMr%bDjTIr%r_Pe#uY zIr-n^&qRK?J1f^2Us?Wg903w+3Vj}PJe4T{q5!C50sPdCug2va`NZP=^rmAf2W-MvvTq; z$(iR%Ir$}W`d7JY+3VRzPJZhGZzt#RLNED;aoip%Cx51#{0KSuiSnxFOrl0M^1kE$(8HYG5Q-6cvE?|$ZuHSTgaJbH#z6Kmwe~wA1o(-f}H-# z<>arE(|^C5{9|(Z7s|?bLa`OAi$sa5yf2y4Pa5?!K3j9|2 z@v&}C%ISGdPX1Fl`ETUYqJO1nmFr1i| zJ^Us)^URQwpC!LOdft_j|3p49^4}HsukxvpuX$hP`r|9fnSUcWbGDREivDhL@;&9` zkCu}^QBM9cIqPt>ocuI7`5AJy_f0wZMRNN8kdv=Dy>gxDUsq0kV>$UQa`Jn~ndc}u z`Txr4zgSNGN;&yya`H3e%(FmF{#`l!zsbp0-M{ShTw6Xbj>8S*uY~U+C%?O#{NT(x zl}D)l`viG|_}-ZXK0@9%J)v4UjhC0Ts_IVps_~8K1^%e~@aTU--Y9zBm#-cEyL`*= z8V{5|Nwu9yfBHoK+H&$6%Da{SdDTwxt;2Vdli#<%50)PjJx3P!aq|6R{)^;iMb8!T zR*}C)J~r|X$ax>jD{}G+PI>GKjq}tc(6PG`-S|v@(p7Cc5?Ea<@EQFlOG@_ zKfJ(4$zyY>CdlczOa3G4EN>dy^|+kvT_~sj13B~jDJNg+p~`h8zpi|K%(=1rt?vJ za`L~)$v2u&x&GwWk(1v+PJU-O`NQPokCKx=S5E#SIr%%}(2pl^5@9OUnnPkyPW(KIr({V^7G~7zm=2!MNYoK zqm}DPzNwu2wwZS>|I_NfJIL$B_jW7rz2tjD{vi3j;fKqIg&!-wKKx{PyuGAqj6C91 z*UDFpZ`@kocgwGd{DX4lc|y)SZ^@bGLpkfYxWIpsZy!bV9xH#64&!`(HI~!Aet~Z; zr@yOwojBh;<>Uv;$)6x6KU%(7^j{+wmyu$X66IrFR`XP&L)J48=Ad8hFGoC z+ekT&6EBmKpH$$} zw~}8KJ-f>f4c}Kz|M7D2r^(4*B`1HQd`O({!*cRZ%E`YYC;zdWeAScXGh+S8*O8Oo zNKU?`oP0Mq`>Us%^*LHj{zN(X%jCyal}}g8$xoA?9Qhe?@(T+5T{*||?{a!-%&MwB zvCibzmXqI5PQG*IJC`e~|L!iY6W`mf!28Hwj{K?eHNuC>JB8mUUnl%FIk)3a%E><` zC;xGQe=UC@&Ug8z%AeFIeMsxW{e)HJM@D`NIr(knGBz|{^VDe)8AT7zP+6OUUKq>%IQB{ zPX1gu`CH`VC&`)T89DhEie7$Fuy`GKb%(IQ0{vG7x_m`7DL{9!RIr+2Y z${WDrl z&oy%L56HMG^3CMrH<6RySx){xa`H#W`^Egn%E@0K zCqG6`{%$$>>2mTf$;rPVC%;5a{&zX~Msq6Hnfy9(^6li@PwOndHrB0=ocsX!w8#&a zlOH7~KS56ZE;;!*a`G?B$uE|Z|4B~1!E=@C$^FBo@(W^nx0UmFr-PjS1LWinle7M( z%gLWBpBVF8THsg7r$&B!f!`@-{-@>4IZr+*`ahGC|5i?Z#ku8wSflh|=h7eY4dmpv zkh2ck%E|8~Cx3vP?LApe{!IC#*xqa9llJj`sJ$XD#uKH9?zUI8j^(4QN zoct#8IP9xh$;s~_C%>PZ{E*DKZ;~b)Dz94}yXyP`zeGN-X89jnBY!3QX8AkekI2`J z^LEBX5F?zO>e;dA^oO~bojK~ix@Z;t5Uo2lPj`J(!J;JBS$4k*Gx9IWIp5di-6H?J zocwR{o{?|-YWWk^pL{bp{X59X?<}YPP&xS{<>W`m$zLjGo;&5_@0HX4f}H#UIr$&u zsoa`Lqn zRIVrax^nUx%gJvkC*NJ(uY7h@d&|imBPV~7ocw4x`D^6l?~{{%L{9#7Ir;bGBRS8*bdr(E3_zO|fudpX;CpqzX^IsL=rX(IGtZZD@=N6Oud;C2>)A+7zO|hG_HyRwB`1HVoc`10q&XX znE!n_`OoBSBVXg)@+Yik%kUND%(J1K<7x{z`Txkt?;}4T&i7b3`IF`3$7H@obfgd0 z%2$i;-CE#x%Lm8vfe*?Tg+C#0w_N!Q-jc`JR(&Y17vET1;6KTE-g~LMMa;9pd*#Bk zAJaOF4_{5r{At8#$NLpXF<&9bG!rf4}^Z{Z77#oP2Bf zD$&zk-XOe}ocy73@qJNzR#`LE>UYcHx?&mPgU zikzQs+EmV*Tgkbc?k*?4ubljG1%8VB)Ht56kaM}aUQYf2Ir+!srDT;a`GF?$#<4>z1>}Yam+J7PW~AAn~@(SCqG)wJa@^Di=O-B%=2P_zb@x` z=?D4v=>J3hdU&G`tEx}wFwSom){&F%Ag8~JoP2*d`J?6JFOZWTBPV~iocwe-`IqG6 z-;k4EBA*%S_Pd<*U;U%X^(4Qxoc#9kxzWFqoczIZ^8MxHhZp!LIk#UE zEbiyLDBmRfi_G^dFIDy5-^jM8#PJg{m%KxxN=|kG@t)r*0oX4%($a!9R2l-#M%0*q}|Ag-;XP$v_ z`j3}i5OZEECx4}!{1iF)2j%2nm6Lx1k8-H5f5Z0e{ZYIAjwzs4F)bOry z`uobs50sNXPfq?~Ir-b=&e82+97j__aQ4~IAUto#Y_mz`BL;g&x|9SG)!*7z4zg5Ceib?S76sl~UN^RPZ#g{&${R)gR5?Av<>YUa*N>jtkh^Tz~E_)sc6M%kKvAZDYGN8eQPm$eHI>IrH2tXP!B7=6PApJZ~5HNAgQ!{(t23FaJ&Dex$!) zfv+W}zk{6qE^_+!F7N~8^q(%L|6Do!qYL~RIsFgI>3>pA|BD6wx}5%B7OR&@-$&0 zM$YX{o$o5w|4Odkxp26}7;UnebFO!qMOHTei zIr*35()&ELu_vcIr%Pf^8MuG2g%8gl#{2V|t>xs~$;t00C*Ma-{#5ziG3Rjk zpzs^z>NFlGA^poc=T9^pBF$KUz-z-E#V;%jthoPXBXq`ahM^|BamfKjie+{JC;}(cer? z|0Z(!Tg&NhFQ@+iIsJ#p=|4tJ|4DNCFPGDQot*wViklS~S{5SI3Bmc9UeEr`l*OPn`Ir$CbypG&L&U)@De<0@RA%8r4u$=q}a`KnS$zLre zKTS@4hMfEYIr(?x<>vHlmy$zLHS ze~)~2^gJLZKVSY*Uv-$saE#f3ckWm2&b^M^8bgfI{~wD z?*BMG+R!E>rINHS+7y+dl@KjT3#C$)k`fUW(IV1Lr6d)R7NR0qQc03FODKiVhKMYY z{?0Ss_rE#s%k8?J#`Bs_pYy$czx&+h%$YOepq%~9pFMs38%Dm6oO!Ct$=8vSZz8`s z`kTv{=SDgGedP4tBd7lXIsMb+tlKkk@+;)5=UO@WU2^jK<>Yh48{Sg8kh=bm&o3um zK~BE9oP2XR`8IO$edOftl9QhxXZ@$j$uE(Ue?w0G(**xg-aXE%zvT2}&zV}`jQ>3f zq}G}InR4=F<=g-Fw=*)T%Xfs=k@No2HuBDqzgGT9_>FS<`^f2kSWf>0`Tfy9T~7Zq za{5=u>0c{nJ$K2;@0XK5Ay@jo^o%(R$Ong4lHV47uAKap@;f7cwVZrc`NYWIEdL^W zn4JDc z{E6uABq!fPPJW1-{75M(NjVmoKa4GLwur!oc_9U`rFD`hfeac(SMJe`~!0GGvwr-m6KmB zKPhf^y`21RIr#%}^0{-TuXFL}KSfTys+|1!a`J8D=SBau@&@5|$?JySC+B>7SkC!2 zLC*O$UC#ONjGXgfg`9cT%E!f=AIj<9Ca3>5IsO00S)U?#()WveNjdoo<>W7xlkX}g zf3uwYFgf{0|l7v#NSJztS?e_5H}>*TEexANaTz$2BOlM@&l%E}+xG2Fdk*|t;Yx(pXnV;w=pB3I;&OC$VCE^n!6MUR}TjZz7 z_l3`v*UG%xW-OEs3|}gr5&pKE<9$#5cO36W@*iR!x69ez-{q{&QF*cWMDF-STbvL0 zDe`OMI(BA)mz8&me04e3!#eUgk#CydSIE~yzP-FkTvxluSBKvs=lXevoa^ThIoHpT z@%=gH?qQA7DV;g`yX#r?5Of?q5DF7h`ecwc$9ct6{~ z1Rp9N9{2aL2|iiQbz_#C>*VwD4bi_O!QYVQi~HBw1m7et5czEhzDqtU@;@f{Z*uO} z*-lMAfAHLL?(e51cyal{cz#tO!K=%ApOATC)sx>A-bDUUJWp#O=lau5oCPKe_=Sw1Umlfnf0-%g{xVn2{bh}u`^yG7&sVp}-^qN~&)6mB z>(ieS{15p*(Uar!^z#JID<2on4~rytN%>=uubkjD&J-+K23gJkD-T}_@n z?!OnvxxX})k1vq9Zdb~Az2#~-ueWrSpBU%W&2pa4-yyFQ`9X5-Uk}Q8em+*t{cEb6 z``0Wv_pb$V?q5sfT<2HFC&&D2<-FeVp`6zxw#m7FeJAJjgdgSHzfLTce!e}Pxs4eo z%U=vHmf)r3J0o8$!E4L;zEzV1Z!YKgcKZbHB0nq6|6U1xyPW6e_a*p)@~h%?)QJf` zP2MT;bL2ceE|l~5_?n!@$CdJ_@dHR368sbS?8tv5=l;G|eoZ{y9ZK*c@~)9Tp?LcF z#`oU~$hrR(lk@mkTF&EFHTkl*f7O=rdSes$w#YY^^ZH?XIgfW;rFY2U+>BJ`ggOO$DQqR&gXCBoVN$$ye|E_ zoc+xfzu=eWQS3`@IqQF#ob@j*XZ>r-S@R(bi%yF<=uM_!K<@BtOlix0{6+Pd`$sd*TJnHxonSU|$XX^Pa&!bM2^E|4kob#}pob#}% zobNwgAm?$mv7GbjI(er!-W%mNhYy#NA1x<8Pd+1hUY7Iy*|+3;ANE~2zmH{?d`9%| zm(%~doc^P7`iq{GS(y4WwU6|dlG9&BPXBpw`di6Ajrlvs>F+M5{}ws@56XXx{;~4o z1cO68uwn*~tGQuNnTAoZ~7|GJXBYmy|b&p33rz!)wYf3vVH(znz@^ zZgTp2%IP02r+>7Z{wZ?$pOVwRTu%QgIsF^t^nW6!|7ZE6ShqjroNtBBPTw!`XUfT6 zkl>BweBIYV&h@RGoa@{5a=yOkCFkpl2jyJP$IAbRb(kkF9nULXmUEqdTh4X5`@%e@%9*FAoOvq9nWws(d0NPsr=6U6ddQilxBTf?=TUO{ zC(7xcDW`v~oc?#^^ly~Y|AV}9%y~#YB>cG2>H9J=_VGmd=sPZy~3@r<{C0Ir$-S<{2qxo;h;* z7s}~>PrftuakHHKk8<+A$;qEuE`9yU7nPH*BoZOMXZR~}@^8tR=W{vvujS;A$hqB|@r7_|wNqcGkUv$<@fMYHymjRCH`H*)gd%gG;KA^m)=5bJP~oP1?D`I>U_t>ol8 z$jRR=Cx5@3{7iYRn18OkarirO@*l|Q-yis|dg?Vc(pUtLbVj=Xow-%d{c zIyw2la`MCF_eB3hIbV-VlXJgVCa3>xIsF^u^lz2Ze@MPE<~$AzG?e-AnRz2)=|kkdazPX9Fd(O93^a{3p_>0c_Rf3uwL%X}v1 z`!C-l`1f+Y|8hd*^!=j0fSmrK30_K0|3z~8FOie)CMVxh&OH4Se6XDU$K~|Tl+!;y z!57Qv-z2C1Q#tu>}^uLwh@5<@lC8vMCoP4e-|Gi)N<;+tg!Ar{NuPQlJ|+% z8Cu9c3vVaq=Rt0lw~zH7C};g2l(U{=<*es4IrGn!Gyhw1=6P4nJX_?<^SPXPzLhi2 z4|3)?p<4R=eQc~x0Xg#&l`~H%IrCg7e?IyzmVXxBUe0;aMb2?OAgBLfIsH$_>3>>I z{~9^{8|3uwkkkL2oc>(Z)7PK={Brt>$>}dGr@xV${>$X_x0lo3MNa>{a{5Qe>3>vC z{}XchUz5|nQqFbw13A~pkLBOS^Oi5=ynk$uocEvnB4_@;g9-hWa= z&ULJ$ocB3Ymh--Xn)1`*{g5r>tYnWvtdc`lPPPir~z^p!Ku06FuFkTcI1 zd7k)r$@y~n7t85iDW`v(oc=v>`hSws|BsyhT<4|VkLWKgUl-?3WjXiXOXTER$jSFi z@P6{K@qYDt=9_#a+yh+UeOM?F;za{b~oS(ig zcmer+k*_3Yo^$0K?}c)X_hLE6+f`2g&2oM}*f2TyN95$6m6Lx#PJW&I+gSfC@>;Pz zI}?1jyk6uF%Gt-m@{W-|zIOV4;U~%2$BOcwV*VQPe9_-Peph%iIs1Eqoc>$o^xu=< z56I~sE$94sOwRf9qMX}(RnGo?C?~&7PX0GJ`G4f(i^LmWd7L6&Qck{Jf;W+uj(xdK z&iQboob?=@;G^aIewe8VK1=>;e0{V)&etzXE9%$f4`jmU*z=vBd0%Cz4ZN}zofit ztXl;+zgOxK`RvHIkn??|Yvr8(-Q}GBx5%-l0u0NCHZ^S%L%9-aiIr)`x@;l_@ zzmt>CQ9pg1PmKF}UOD-4@+Oh5DktAuPQHzt{B3g9`EL2Qal0ertn(N-uSd<3)Bm!Z z?>ldnlmARk{&zWZ9+i_Xeqs9hlP@DD-&lTjyieeAIo}_@Nlw16oc!nne@xywZuhAK ze@@QN4=$GTKJeG&JdUiD?~nV}COJR%^u3(l6Y{H^-|unUMd|C0pD5@14h7}RUrf&Y z<>WlitSV>z%jC?{T0SV&zqfo}cz=1`JpaDP@$WzP%jd*;J|v$P{*0WS1@g0_f4O{g z_$v9{@XhiU;&wliza0L%oOzDQnI~U^^!;U?)8x!kO3pl$nP-`tdES*X&qg`({2*tZLvrTH-tfQoE06rKSf2`V z`m4+7zevvUULvQzhn)W2a{5Qfo5Y+G<=pN}`I6Y*xpJ;2@5<@lD5w7mIsMCfIM zef{arBOl26%gI-llW!p>-%fr#=f9luaIl>F?NKSscocumH z^Bj~jPl3ki>ra1SIsNC#m&UqXASd5mPQHtr{9rlx;d1hi$vNKXa*p>6IsNa*>HkigXJ9Wa5=|2TTcHxd7b$E zMa$&$zb&VKr<^%=%jwVAG<}`P=aZ8!FDGA3PX0$;r=_H;MV* zmXm)^PJXwX`~i8Z=szOod2h~3(${%GJT8}#(_cwWe;qmf4dwJ-C!Zg4-YDnmkzw+0 zBL9e-_eaf@lV2n!zd_z4-lzA8yjl2H3BFg(`}YpXd4JszIj`FnX_me(%u`a%@As~f z;OEKtK4U{Uue)9lky2y9N{5Q$zA0elI zjGX=_~8BzJ#27JvsR%a`J8D9PhPq zj(3op{$Xd*sZMy?Oe2lFuV2UslfTR*{phC+B#Z z$T{9_a{7D92gUIYkkdazPXCi~=A0v^f3=+adO7*sa`Fe{{&qR}F>>;g z8Bz5JZ;kK`AJACT7x|6P7T_$h7D*SSmh8S?JoWfJ@xdEZkrzrS23 z!5hl&jC^xB*UvU`uAg1xTt9D;bNw79?-j@Oh=Kf8^wg zwN2kIe$RPndA0ZtS5%i*h{usSa@OZ+IsKjG^xq<<{|-6*6Xf(ymDB%>oc;xJ`q#?o z-z1+K`@3IG{uep<0$2a{`WKdyuO+9yzMOnVIr(mK^7qNfKPV^vw4D5WIr;bG6bEq4GDwXUNGv zD<{87PX2v4`Q38z2jt}Qc1T}O@&)DOtI1i1+VVniJ#Q-~-$_pX9y$33$rqB7uOTO2S5CgIoO~xa`2lkBL*(SA$;r=_ zlYdiAevO>`S90=u<>Yf*o4%fSUU`?;mx^-oHRR-5%E`BvlfP3={$4rxC*=3XoKMSV zpOX1}{v|oj&tH>ojGv$VR8Iewa{7Oi)Bl^C{(_y-*Ps4k@`f>gMLGR7Gsjy{&hZwLbG&us z^f!{ze}$a>wsQLW%IO~<=XfW|$xoA$e^pL?g`E60Ir&|3^8d)m=ejO^{r`!5DJdsk zLHiH_FNPku%T3a`F@8%(EcDm&ob=P<|lh-zF#jr~LQGAJ^r-*Rz@6I>)BeKEAk!X`NQv&lfPF^eyW`OEIIi%a@@$sdxFKO!ezw0rt`k}oAE-%!3X*5^|BXRMo?d~Z4ZqvYf#%E>R1{}H#lOiun? zd9m2Xjq*z2Kgj7nB&R=nkM#AVKaZUL3Ud0Z%jv&JPR}LsMlpX6IsLum^beHNKU7{T z`e(|y&din5^RB!s>n|t2UrzoPIr)=rNMC>Qr_0ILkdv<~C*M|1zLT8%06F;~a`MyU zCnw)ePW~P_`N!ns zr_0H|Dkr}}PJWx5{4P29f8^wI-ITu0mo#E%KppTzANMztDL3BawexJ~4c;{80Go@*MGf-gWYm!?(!!KG9Ed`u~vApQ~5; zI@6zDULtO{a)Q^CGf!(d@2~49=lyj9Q%-+9IsKO;cnf*aDC(Ku{p8FuI>8^4v%gQt+27~n17e<4@+#r)%WH*yB5xYL zLw;%apYm$q$K9H~U-TD~*N%K?Ik#I?&hefv?-xC-<#oe5%IWVfzcBKH<>W`odq;kp zd`S2_IsGro>3>sB{~9^>m#^gX@0HX4tDOG7<;;J2pY(mCzl5CrigNmE$mzdAPJdfD z{axhr-z2AhsGOcra?a;D3BFLy{qa3H=jUcQ=jZnc{;Qn%Pwtz({`3@)ldmZ!Ur$cH zot*r2a`J=Z!!t7f876-?e1@F-v+~iAe@Q+e{53h}|HpFrzmSvvL(ZHTx23N$w_8+B zzLcE#FO<`Bv7C9j%E{j>CqFEUw~e()eRxF9^Z0m3PX36TeBnFO*O~lTa^}Av!5hoz?<}Y1208hma`L0(Xs}%E^zAlbw_ocww@`Q7r5qW^&WtMI%7($|xGK{@&Aa`JWLdFsd484s?qlnDb}p0DK0^L>K-jC$ux68@@ zp5RC2+~3a_bZlR4$}-Q{a{BAbnWw3oe3t~jNzOb&v-r)iW~mRO2D&>7xP>v zCx4@y`~!0G56j6vBj-F>AZLGHm9xJq8~uO|9m;;&qZ?fx1*eSy2+WRx14$U%b910oOwpdnP+wu@0sO%o+sz|*qSWfH_pM- zhYfPhtIrbrD|yZ6`d-fWxqg*5iTp|T9oygA!crejmov}V30_ftW^^^p;&)`}zd}xb z`vmVIFBM(A z)Q7X>tmioiUQ5n;HjuNP&E%}-^>U84mz?7rAtygZPJXVO{31E|^$Grwob^1A#qa!g z9a*>E<=lTyx&PSu56ZIsXUNId%Ho5wU`$@nMwz`|+@x=OL#JJ+?2yv*e4*>93u|M`X!2kdwbAi$9npf4!Xiy;*!@mi!1g z`I%Y#p)C2ia`LOQc!0d>GCa3@VfbnC8rd^%xVZe{xS*7mw-2u-?-G8wJPs@4DtW8;L}&Ta;Wx-D#r(G= z_}%hqksl`Kcps6EigkEa&ipUPIe%VD@Rjm5G0z8b=J{BDZmj2*a@K#3ob}H>BJ+k) zf2Pg{-sg}<-Y^cVth{r~Sw+sAb>y5U4ds`{{MX9QireijXP*1y6(j$kocz;r^7G~7 z-;a?YR2<*d(Da@Mo6{QvL2a*pdZIrHBw9~<*ODz6gj{Dho&o|QAt3v%XpP0la^}exncCTmjMSg0{l!m^Gv{e?<}5DfdQwr&{??GQzb)j<(@uU(YUqFe z=_kK3lQZs-PYoX{XP(J&=6PLC|7tn?8|CzGmD7JvPXA#!{W%{>-!J;}$>}dIXWgpF z`P%GqIr*#PAy@)e_J{Io#gZnkgte! z7$RriN6G1*C?6S*Ukl~*FO}2(ww(U=E9}+ z|Dc@y!*cp_j!xe%`t!-@FE8i%SxwIMvz45D2RZqBydf#zOi3xb$o)8AT7zN0+;Z$^JP`N4Afr^xv_ z;wkyI`1)eGoct;|_q!ePywUTWyjl3q3I37OR2e~z5~g>w4elheOhPXBf}{olyxKPqn-$9w#^ z^nIlN6#10MpCPBemYn|ja{8Oe>2E2gzn7f;+vW7%E2n>ioc@{e=i_+i%Fl?$m(_Ce z>*XaPzgzxp^dFFOe?KhW7x`@C)Ax&cip%LQBd5Qboc`K!`md7He~p~}8|3ugDyRP; zIqNoF&h>4+oYx5#%jd=Vza_7fBlG#jyK-Jn_*zc?J~{n4C#3HS`FwJ2x4e8}%vnud zJLbGxPW~!6^WQ2bf2Vw5-0pb!f;M>)6qo4kCi&&d&cm?ot*r2a`N}cH^w{<$UhGsE#DXZn4I}vl+*vJoc>jE`rnt+ z|DBxvALaD_DX0IqN7MI({$g_aOUrk}I#iX@f4=;;$Tv#x%jEw=zFmS}C(jk<&n*dl zhy0YtkC$`2kIOmUr{x^)d^yMaN`k*7=XlpA_(yV%_p1coE9ZD~J(j-j9B+O($6G|s z@s^Zxyp0c+O ze~X;{19JL*m(!nPQu_YVpI1(Q1$l`$uIh3g@0!cWw~>?YBj<7UE;)~nkIKnEAt(Qe zocvpI^4sO)zmbzan&8JzPG4ufuXnbbo{DnvP37dTkdwbjPQI_4{3tp3iSqMe-xtcs zFO`%3SkAtGA!nXHJ=2OrA{n=a2`(Z|A@iAHQ z?8^79Y#v{QGgF{P_6X!~~xvuM+vCa&F>HIsNY?_+~ll{Jorg|5bi| z-0(?LkF9^|c*&nGCtoAM>&lx)f7>iRj)VR8V<&l@_}oni-dBD>0BEiSVxxdVna}$f?^uM0qtL5BZcFH;bcgs2dvpsQa{Zq$F zKDV5FnFK#a&i$oX7N5Yu{`;||oa4PF!LOIIp7+YRi4k)8$0zvXa@KRPob`EK&iZVX zliw*Pe>lOjO+U6TsdZyLi)ZnP9PGaz%g8z2Y6)Ij&U#)Y=O(U^(|<#P-zsN4ACj{^ zMXAweuKPz`2BM756Q_to#6B3tmi9ouETH1ua9{?&*G1Tr9ONuXMKK1@I&&8 zqN~7+WA~%1{e|W9mrC$Ta-OGMEa&IAuauMTB`1HooS)YiBPTyePJU5>FOxIR$8vhU zke7`0{6k(ZJmabKb#4}3R8GE>ocx6eezE-8=x-(O6W&37d-xq$d{S8I!ytM7_}qgD zK32~8HdTIc^vsgq8oofz*Hla7oV%OkQIqkhJWqULSAy@CKOFhr zcXH0RpXHoyf66)Ea?DEKFXqWBXP$EMb7BLk%K3d(m&wVumJf=a-g5H&IIr%Aa z=9w+0XP%t(StF-^gPi_ta{714>Cc#*zW(%|AgBLSIsHZD^q(iE|3djAvHl(8+-_Gn z=i4ATU$+jElb?~`&&oNjm2!I4$;p2#?-j@Og`D&44>|oAPp9t-{dwdaqW@Gm>wji~ zmz9rVL3$#0aC-zq16P)`1^oc!s}r0)y) z5_0nOoc;##?$O^&&hfTM@N4DFbC;a{ z`{eXLlHiZZ>3=~^&nt5FWu=^bStqCeTRHtd$m#z>&ijNjp8N0pDk}dr*1wc|Z}^3B z@)yg=ca@XBSx$bKoctql^3Tf2zaS^SF2T3Re~#n*K~B#hIr#!})7KdR|!qlIs>lOKu^6qiF73BTGYs%wo(i!#S@ph?Cg*rR zlGDFkPXF!%KOm<+_xxk~n03ESk<(uy!OO|%Zz5;@=5qQwBzRXj{r4vL2zkS};qeLn zxO{2km&m!@H{|3$m6QKc-X!|>C-^UN`t!#fFtux`{o*_Y$a`OA-rFDGABPX2s3 z`POps9p&T)%2}VG@)5CLPs+*9k&}O0PX0YP`ETUpzn7Cg{)P1Qd@klZNzU`_it=%h zuOa94$t&bfN4~9`+wChSKR`}?qMZCRIr*h>@^8w?e zPJbgg`*N9_^RtKityurw^5Zhc%NQWf89qdwJA9g){@HT+7s}~hDyM(5oc_<`^nW9# z|9d(8$1h6X7y3_<(|?AX{)%wqE4+)G{7rK5L*<8}XO#R%_#F9;@P%^v z-;?w8-DWwr`@Nj}uX6Gyy_CNG`S911oublHU$IHjo^YPf*)Q7zCLh-qBa{fwHd8PP7-2`tWKR@zUCivCziz44O z!Ecs#jO)*EIrEQ}*NRU}ku&F0@{1$CTu%QgIqSJYPX0SN`QzdX$<*Ow-LDhnx(?3s6|I2dvH_G`vLR;l?V?BS7lmAOj{`6PU z_ltZ9IrCSNGyl1A=5HaVznz@^ZgTp2%IP02r+>7Z{wZ?$pOVwRTu%QgIsF^t^nW6! z|7SVpk*Rps>8mDAryPJbsk{XOLL50R4}DJMT$PJW)8{2Dp= z4RZ2(<>Y^sbAQRZEPegS7nGB)Dkp!woP29J`Hph({pI8b%gIlXlYdH1ez|;ETxV9v zSBLMA^Y#08a@PO2*V5OM{E2erDJ|a+w_90G|0VK&BHu!OX66_fJ>}m=zMuSH_!v3) zNpkWp$;rPaC;y3@{0=$!!}3CLT-lbVuQSJ6Jd1NKqz7;GN~Xu6uKW-zFay{e$E$g%6W&3Lh)~DSWd0j9BMc@`~Zl%g+g4lHhO1>qY)k zIqUqTyiUydmz;d|*E0)Kf2Q`G{F!p{W#!}>%Gt+D1CT|@+R?hup zvV2A4Uy^qZe@)K&uilY!fB8Vp{bi4wo}c8*ndi;)^(TL-d}Pd7MSfrSd2+5Nt>h~r z-$Bmx}G!!#|hPe@ITx5jpc0 zUXfXt`g2;WW$MFOavrZMCHT4W&N1hOa^}2PJ}L68tfxmmy_=$CqF_?evF*_JbBBw-IwLO|9pe| z=E#2{XMJ|bIp6lnS+^5brLRBz1>}9=c8ex>DLM00ku%SE@+UIK$Y>>Jo(^*6>7L-X z$eHIsIsIeh^iNIjS#tW{Nbq;$BVs+jlHVV`S57|X>h%30pHEJ{ynIabSCj7vzg$lK zDmnRE<>c>_lOHc9|G1p|VmbNO<>a@@C&h8?l#@R!C!g(|^mQg*Tu#1>oO}a0`DSwR zJ>=wj%gK+FlOHE1zd%lYiJbfBq#r=ocu3x@_)(67h0RX z&g9ROldmHu-%w8eS~>ada`N}d$v-G3KTDnw=gIT(yy0u)&B8axIsZSC_lW#g^3mac z%bSJgcrWu`Qh%nNx6^-;oc`10^w*HnUsq0lTRHhoa`FS@tz-Tn@-E@i?bSa`HLWrLQyjymHpLyqtVBIr--DL9q^PKO`qVUOp;rcfOqb zVmbMZa`Ic{s`S^SB3Y)^f-UVd_X?$!jqQ~pBa z$IF8=9+&5jPduIA^X0tX{uMc|C%+|sF#122Gtbv@USIkl!4Jt7L{Whcj_p_0^(-uB zJxe8cC3%tPKTlpZ{6cxH@DB3ejIMI#xh28xkTcKN1fMKt&ROybG0^jJ=6^@d?S3Gq ze@}w{B&R>mhV=bno>S%It0ee&^0{$bt>m|`FLK@&bcg)b$Pbd=5k5J=XUOS)Ex}jH zXGZ@Q@%EyIg+nBzdZ&k z$$ugzze7&`PdUGb=eSMj>&*Pcmde?eH|3v3{yq6KG3RDE^M5aA z-F}sqkN%Ul9NXX2`jamrCx2doUnuVv{g=x*-mBz0Vqdz**{_@A9Pe;BbB>lbj(MJw z*9d=6PX2xQd6EB6-Ya~Moa6mTJ}dG$KTKbL_BWrL*Kh7mwy_5$|vdTN&XBu`C4**|4e=PAJN}T9#8)=TFT>Yn9)m4|Lt-fU+$Ij_%cGy zb!MiV*JJ0(nP;(_{@3O7Z zhUb-k7k;*UPk2T7f$#?MpTnEU{|N6aKOBC8{J2>ELGtY3!{oWcr^@;7pU#q>8u_(Z zd}ijB{O`|A@?YX}+vG>Xcgg$4as4Rg_4eQ7&qe;Y&oloe_2ukvltbyWUs`0?A1oo}hz{W1I$`LE$;$g^ku^^98bh-cK7 z^SXVr1aB$l>!WKEyt{m8+;E=+ze~=~ZVgTFQF6XMnj~j^o|Lmb%jE3i+wy8L{|-6% z@8sl%P zoKMQhFO!#u{M&N!+vViHk&{0vFBSdA#}}CFOV99Pa?bP8@)41*BmXPBp`7)UeCOQ3m<@67f(?3*B|C91&u?}?8e!c7R|6Cv^-&jt* zi=6yTa`Hpv*|R{}4GnBjx00%gN7^bG&O3e1n|+y>fbfmXpuBD}6o57nGB)Dkp!woP29J z`Hpg)cikx`f3KYU)GYpV>`CgwEP3(x+=2vOBLCy~%)hW%9yJ-C$$8%OO@e2Zzx9R))V)W#f z(_caUdCXs3&f{`@`KIV^D*rURtDK&j<(*^xyW}gP=RP^NJ6%ryGjjT0lGFd1oc^tH z`gh9Diur$#uZ{T+$>~2eUWiWp_0;{5{-SdF%ggDnCa3=jIsI+rg=7AHa`N}c$xoJ( zpCQj3{jbY8uGMn(Ym1!y`drRB{2`}5V|V5NtTX*Z<>X7r$yb*%PaQe)w3E|+ot*xA z~R`b*2{Zz8W7>(gA` zEc_-p`Mz@I86_t_QBHoLyjk4tQaSn6a*lVsoa5amZx;Or{=l$jN^zC!cL!W+CfIKDV5F zMLGEza`LU^_s9Gl?j<@67g(?3Q||0Fs6 zi{$h#lheOiPXBs2{k!G#ACS|3SWbVo1L^xke{uPmShq5A&gVu6ewm!t6MD#bpH*-9 zA91@Q<>bf7$IsN73 z^j|Ee|4R97G5;-c@^{F|Pmq(JDkuM{d}iG43VGEW|2{eT_n-F@{6l%2$nQw-@8oyJ z`u{B782+c6b%9&-Bo%IO~< zr+=cH{%Lah=g8?_D5w8DIX#=@U&Q(xkdyyiPX4rm>H9^#xSae2a`KJkv>Uw``Z$muU4r@y3} z{)^=FUm~Z!t(^W&a{33#bHsIKsJw9aOgZ_v@)IKeuDnF}MtS-0ALQf@$;qD@Pk?!R zAzxHZzK)!HLpk}ba`HFJ$v-3~KVD9LhMepCv+^dfKJUmIgnuBvDSW?tK=?26hr>@k zlzu*wFCr&@zMT9;a`K(za)4S!Zn{slStbqT&j{%Ow4$LlZTJf40l z-yV;f8Na2kC%1co{PXB9B&YvOIsNtI^f!^y-&#(8M>+ii`p=frUr~Nv>~C#3{SD;wcb3zCgPi_5aAFSYdetdXAImdgpoa3!1=XjgR>2E2g z{~9^{*URa@S5E&3ImbIwPJXVO{2Dp=4RZ2(<>Y^slh6BS`gu;ipuAS>OI11f^X0`N z-&$TMyraBsc#j0{Ex$GL56S5tFK7Pwa`KDi%)c?gx60{1Brh9t9+8tTdN_Ukt3|$% z$e$=DUoOF`%I}Vz=5l)4$jRR(=e)gJ&g1)I^7rF*r^{Q#^S60&uJbR;dHrOwd}H)~ zCa)Czzskw~Ehm5ak@WQ^UqVj4uAF=$Ir&a<@;&6_hseK<;~gnKKaO{focuyL`So)0 zAIZrdl#@R!CtvuV^z|fvmYn>Ba`G3;$#<9k8S8V4yg;naNICg&a{3p_$uE_Y|43dX zZg;z!{62Y$$RCt<4li&teLd+fET_M$oc=0u`kTw?ZzHF_o1C7Wa$YYTDW`v&oc<@} z^v{v^i1k@5=Q^`qPR~Ah2i9LsK7U5$Hx5#}@btg`BVR~PzJ{E9T{-!-a`K(z_kdwbsPX1~+`F?Wp z_sGdVCMQ2#PX1Ln`4w{V+vMbT$;tmCC!Z@@`gu#fq?~*OIr%2?F|q#5-V*TsMIj=60myGkFwY*|@7kQoVo8+8tBjn68M$SA>$eHJ9IrF?EXP(#O4Pwqu z<=pOrc>` zlYd-Jex{uK>vHySwVdT{!B3MjPqhTEEoaWga(;jK<#Oh~LC)>oDyRRU1RpP_ zf4-b~7R$+ROz^F8exB~2oZn}DSUw;&=Cs`D`*Le|arqtLwG+I7oc?PP{CfG!=)YG! zD13x`T=;A``FV2kYvklN$hrUSm6QKjPJjM9>FY_pkeqyVIr%zr=4m4*f32MSU2^jG z$;nTZKOE~kOV0dn$jQGWex;$hUe<1Sb$(iRuIrDUobKZ89*N^@|a`MCE=SF@;fViilb;H#x^4sLIqUSd``G4f(i=2`zZJo)Nlrw+51aBgz|2jE6H_FKmlaqf$PX1Xr z`4{Bm*UOj0x_u;H8UC}J{GakSB403mu`uT?`C@YV>&VGBl+%B$oP2jV`TOMLAC!}y zCEpgu^}Kw4_&aj)AIQn?k?)G0pX5J<=PQ`)fB(jMl0QvOzJ{E9T{-!-a`K(zXf+_*yy7=Xc3ZjN9EWC!g!I^!4QVXMQ>P3Ucz*LdN#?Kf4`jkFLLt#$T{9zr>E~D^OTg+UqOC%%vn=Te?2+p ze>*w-*U9PcDW|`mocTw~>3>X4|13HE&&!$rT{-<5Gc{sVIQbD#0w>wk)z z{^D}_%gE_(AZPw&a{8~5(|?Ve{yXLL-z%s8Avyiy<@C>&)4y0w|66kU-<8w;%+pj(zMGtUPdWJq<>bf8$83S^PkCi z{QXr<{%<+?(~BKj&*!2$^`V6P^!QxG1g|0QpIMtxKf#;Ihvmw=fmZU@aVBnU-ajZ(_ctV|Cw_7>&WSED8DD>zgAu=g7$~l#_o?PJXkT{P%M5zskv`GBMAU@-4BRSIbL9zN?&hZk998Fgg8?$myRfr+!0oH^z|p7TTZ@=ocuX*=4mb`-$qXUb~*Wha`IE;-yS$;n?QXPzPQ*W-3a%Ga=Na`Fr0S>F+A1e~6s^k#hPUlhZ$4PXB9i`d7;7 z|3FUv$8!3AlGFc(oc`<;()Wx0JaYQW%IU8nr@xMz{)Te;ua*B5=TCPz{e9*150KOU zsGR;M9Paw*;I3Z`{#^ZE7Vhs^t{cYRgC|w{+rm@HyTWtJ`@=oH!{FZEg>bij z89biquY5 zr-VCS6z+T(xbscm&bNU(KN{}*1i16d;LfjxJAV}3Tm5zh?)-DO^U-sL_M7vW;m+rR zJ6{#y#+-Qdo@4|jeV-1*Po&i?>+ehb|5`B(Tz_2(71^O19f_S+`qW5E;YevC=O zcv`scH=Z?&=Yjk6rs8nF-c%0m*PEKbx2gT@;9kEy;i zg2xf7;3?#L;jVua?)vB8u73^g`cZO+j<4&-hP!@Jxa+5dyMAG~>z9Ii{#1p>R6o># zyM7nA>-T}X{!qBY=pc0r{Kz9W&SH3#j`Sx(R64tG9!zW={JGr*nC4tM>E z@Ozq{HQ~R@JHWl(d%#_P0^Io-a33EQzBgS-AIxa(hpyMBaTXz=sN zt{)R#RL9i}aObnbJ1AcO?)H>`yFCryuHOvq{vQB$emLCuIdJDchkJjw!kym(cm3;d z=YNAcA1{CCJa;}R-1&TP=ZnIfuMc;=Dct#iaOX$Bou3bPekt7fZE#-??1ejj1D;Xy z>OS1#6<04@dOl}SJ_+3OGaKCVGcVlpvmV^_o4{SaJ>2!X!(IO)csaFyD%|x~!kZ|+ z4&F+>C5-t^L)KL4!nu#B!;(?=YqR_LAdLehP!@c zxa+rqyM8CQ>-UAb{t&q9e+plsepmo^{pE1iUjujjgYadle**6O1NchipTTd*V-yM< z$0!2an4nL;tmV-Z%*MyhUcI(6I%X`3GzdzjdN5WnIW4P;o0eAhc z;jX_P?)qEdu74Kp`d8r|ulsPer|2Ew98^c|{ zHQe<-fREO=kAY8lC$8mlwS*X{h#2jzZ>rQhv2S%8}9mlz+FG0Na%REeoVOQ zXMnqYcK9UiZ+W=$)!`p0-wy74H@NfT;BMy>_%_vF0sq?L0(brpe3$Yk;lIc)!%xU> z!_UZL77gux*G~X<{Zw$*&j5G*5^&cq4|n}qaMy1Dcm1Al*B<~sto@x1cYY3hpYq?s zo!<<1{tVphybO=7_uEGl3+?~=9v8Ut8UE$IN7svI)Uw0c z5pdU^3wQk`aJT=PF#ZGF^^d_bY6HK*eV>Z!@XwV04gR&}XPgqD`&_F_0* ztRvTt19$yoaMyno?)pXGu2ULb^Pg?M_<1jkw}Sh=a9!a(p7e!#zDxcjFO-1S?+ zU4JnA1Jxe|pC+FVcYZ0{?b!x*elOhlYhnBz-0g{7DzyJS{}aK#Q~T3~@l5cI%I6K^ zMd0q|x^TDWJ-GAl!=3*CK40w_7sjW+cPhUU?)_Q^Kd1a*xbvsr&i@H_{yE(F6s1GQ z%lX&f&KH9_Ul#8DZ31_`4cz(e@H8(Dy#M_4gZut?BjBZ!{|G)%z68EKC?ByBeop=~ z-0eIJcm5vS`A2Z)6O{?=f9F%doi7BRr~N7k_k4aAeqH<30)AWGC5-oh|EBz;Fg_FR z`v@%#z@hZm*LY?KcZ}C|GR!n_(#eo4&$leu3r%D`TQ2#_fM+~ z_k6Am_k8XIcl};)*B=6R{n2pOUjTRgFX67g2JZSB;I4lHK2!aC9{!p98Qk+fYPryH zT%>%0FrFOl^^y&Jn+erCAq=YqR_5xDD@hP(cI|MI0eC%pKp z6+FIv*ENjyg{N13GF%+-DLjsTu{ew`hx>8yF8Hgea}e(Qoqze4Zp=S_{|S$&-$knU zzwvsJx4#1S_d#TYCsmys@bdD?aOZ2oo$m@ysXBe(x#ct9&d-HAzX9(2c6bKWKN!YO zz;h~pDU9EOyFD=~h4#O<8y}uU^|Qg9&kJ|`T5#tZz+Jy5-1z};*Pj7*elFbkpWx2# zfV({x;LhKGyMFY_|9^kRgFF8Q-1YOr-JY6o=j+3r?*VtdKiv6gaOXdRJO3Tr`Au-| z?-{uBm*LJwtMdQ%XI!}RS>djq2kv|=xbqF*USBQ4ct^PFj|$`C;XeL+1$Uiq;m#k1 zJAVr9{6qMgTGxNWoljXcwEvw?4|l#e-1%~F=bOTvZwq&R7`&9){~_G@#c=1B!=2v+ zcm5#U`CD-3AHbcDUoEsholgdLJ|EoqqHyQy!E331n!x+Y`@x+b3ZJO_Y`F7_;LdM^ zJHHd|{AIZFx8csmsvg>(&L@OBp9}8$wiSf8)&ACoH;^}kyM8aY^8?}T{~2)S=fa0; zyI+R!Z{XvV-w?*P!`=S#aJTb1e2nTxtr6P)&c}f}pBe6aF1YiR;qHgpaOXS0o$m$r z{!WHF|0&${*T9|M0C)Y9aOW?;osXy)+MmwHgu6W%;Lc}{wzgZqBMPvLVkZ==)-?PurH!JW?ncfK5aiRxE_JKrAee0R9> z593SWemu1et}+pO;jVu?jGu$Mtxw^8{1v74|N8$$*5|L+;Lc}- zJ6{3r$5S=nzAowlcfJqY`KfT{XTyEnxFn3Pg!_8(hcLbc?)Ll&_ja$qvuGeAy&c-m z&c6b8{VZ_jbHiP~3f%d(;jZ5W?tCA(^V8tYe+GAZzJoiz3GVu5;Lcx$J0G>q|KFc+ z;BHT5xa;SFJ6{>@d~LY%o#4**f;&F}?)(h6_jfhi`Soz;Ps5$R1b057?*HGPG2zZ< zfxCWgxYt+FFkS}k`i;YQYq*a;!{M$o4(|L?xbv&v&hLZ!@zF83^S{BJe++j%@jIdY z?|f>w^9A9~zXf-`A>5B&n!}wR2zP!2-1)h1=a;~p-vW33XSnlM;LhKHJ0GiFXn#7N z5bk_Vcr6{b3&4GyTnp}e1Gul3dcvI_0C#>m-1#|h=hwrX-wJpBJly%~aOb1f5A9Ds zUW*5BtA5K0_v5KNaM!O2cfJnX{oe)dd>^>4V~2+Ev2Z_Ln;OPv!`=RMaJO?K+}G!) z;Lcx!JO3Q+eDnsPI?+$nUkKoQvg}eUOaOb~+JO2yZ z`Ll4h=Ly{T$PGjL)AiHBozDb!zAW7Ns&Kcb4cz%IaM%A3?)+r9^DDymTDTuC9D@7t z*GahZ58=-L4R=2EyP^HOM8}PcaOX?Gov#FUzV*NS#bc~^s^1x&O8z0-`N?qSSHk^1 z^L23NkHVcl19$$(zkH?I_~Ng~jsDkfFWmVwaJT<;xbvmq&R2#z-v;jXcY!-U4(|LE zxbt8C%l%zLFZTC4c>EXm&(GE{z6btB5Rdo;o>zVro=^S+E{=%&-v9dlMLXl@7jeUQ z5_opy)4|=IEO57{4BXe-Rp74Q8t!~&xVQTe-1(_+*Ix;DejVKPkHDQj4R`)2-1#Vt zL;K(DNeg#A6WsMn!=0}TcfK9m`EGExXB^!5DR9?c33q-S-1QH`oj(P4{fBVp|AxDM z$|nEo=hdG4|NNaEUNuti%QxT+3P&>^kS~LKyQ|@@{}bHxcfei$0^Id)z+L|jxa9e3Z1`;DmxS?^@UNBs0lr4Q1-@Or zFN`09?@|7I7{3lbs(jRD|Nnf513#{O4!Gyfn{ekF!kupp_k8XI_k8XJ_k5lJ_i=9q z-1B*17+(hWc3a#5#Vy4R`)sc(R}w z5xwEg4}xD-`#*s@KM(Hw2KZ^!*$z*x_MC@1e;w}qjoKo#Kb?;QcY89!T_+bjs@hW- z?tE>yzrVE;-1%N`=O@5ZX&h(3Gs_o*@h{IeEI$u#A-@Ip`TYU> zxbpE^hK`r7ACkdcKW`W>0{3>y!F^p(4IWkF+ZOKac7?lsf4J)pgGW{U&)@^p4~yX+ z$Tz{A-vyto{1Ld@a~ghA`G;^{r~M5dt9;5i(r^!#l-T#;1_muw|?)ouWhxW6_HzC~hQ^H+8|G)fO9cy3w zRUDpJzpEI=Yr<=({qMp%$y>mEJRbyilSaaQoiH(se*({@LJQ%(PFM!_|= z^IyW9KL~gJ1l;T865Q+M7ToJ4M!V2)EUb3MhkL!G3ga2z9U&Cedu_(er&kw zCxyFyTDa>MhP!?#_^WD9Be?S|;XeO%f&2X12mV^Hn-P=Xu0Ip*{apn2{(c4b{_cdk z{sFk_pMksnWw`4{?hra&w>0jt;Jcy(zeox{B~J^#Cockb{nGHm%2$KCeqFfhcZIut zU%2PPWVrL6!rh;X;qK4naQEjfxa%K;yZ&jo>tBMq{@-x#SB#FK<5)}cKOx-nIVIfJ zldp&IH{f|R{|mt@%1gqJ%BzI&x8Wz1Zyd&3!&__qbPMC}!#$se!#&@|!OyAw=WzG` z3V1H{|8BVRhv3fNhG$ZpKj3-g5uJjLdhyQ}*S+?b@N(+UMDWepuT=1(@&a(rpAzui zYEJ`rH+eI-A18K%PgcGs+@J3r5BKM$r^CI!tKiOm4|o13e4E;H2EJSV2=07D=g@Jv zqNhKBfMN2|puG1b6?Zf@f0y7l6Bd3Ao3%65RD`!Ck*2+{e$J@TqFgc)0V^;m&^p zcm4;s^T*-NpM&e^$B4h+&PVGSIxfz?26sLy-1+iw=c~h=Zx46AJKXt?;m%KkJO2&b z`5)lU{{q+Br6SJ4oqq~u^L?$m4Dd(t67ZrrZUtSzOL*5YXd~>+-gW=xp zDEKVZpC87T!dEK)E&N;gkMMQ!<6-<9e7*8d;jR;{6}GYDm;hsbHn%&_!Z^9 zfqQ>{fZtR87~I?a74GMG9>blF)a!ra`(hlOPYchj?Ph}CkmrHB{e|HVl&=GK{YG%N zrw`oEI}L_+RsET8zYk^S!Tr4JxqtauWncVt4gMef?)NbM6z=12^xpp) zmlyRbXx+twzb(%S*JdN~z*FcK#lm=5xcj+A7_SE(qWaC@AIsard+7SP7ksdMAbf*- zG(4;NVFJ96{8PC5a{=7_xdHC?-)@I{d=H25Q*e*(HMrYz5AOEF?Grj5JdR1=CDqUA z;jW(z?)nwru3rQ0`VHZ(-yH7x1L3Ye0`B^g;I2Ot?)q!tuKyF<^>@Qv{}9~uZ^K>x z54h_`>Ki&cm5pQ`D<|JqYen|PtU_R@LwW=pJed!@>k&znx94Bu3sAN z*WatbUB52e^S>)Rwzk_BUQs?QjDHCC_0nRv>o13AQT<(T=MTbDD1SPPUxGJR{%#n5 z2#*vDYeeLMq2v3iJQnFG!;8p!!(D%3 z82<$B{#+Qwm%)8~zBY{i1ph?s+#SXb!RIP}CX8Q(FHrto7=Hx!d`>hdbUwJ>Qo-Fn z1>nw?fID9)jMswuaZRHz-V*Nq>=MTNz}=ri!}wUZ`*Ug-pAC0^u7kUOHp1OMr^5I} zxaZp)xclKxxc4{G;L!2)e!T);tND`=?sn#YyFCTrZqHkAx2H1P?Wql4qV{xxyFI<& zZqE?7+cO&O_DqJmJ)gqeo;7gK+YRvl-d`Q=&=Y>081nztV_^TTC8gS2tj&RrS36G>YAHZFI4BYh>!~Ht!a(E=w z-wk*E5Zw7+;cm|r_$1Z84__yL0(bk94h;e?rp?-a{^;r7h_rA$td1xQcfJ(d`9^T( zTf&_m40nDM-1+%%=a<5r-v)PnFWmWSVf-F^wEFoee4RYXu+V@y!Ew z{lak9uLB>c_B4XK{cYf`-v#daW8tnp3GVjKhP(bExa)6(N7r@rPPnhbFTxWme-rL} zbUi+c_0Qki^xrT3ilhI2;al|IFaAoX|F-)x7)k%-JM`Z#{__3poR6yGbEbdgU%Xau zu5JMS+_v)tmG|o&_P6Bu|5fKjJFCbG!#l_;z}puI_OuFoqr3(DguD$rP0^rEKX@Mb zAb217M0mPNL7l1aR`Rdm8>$9*kAwSX!)7z~sZ;O0=d1rVtc~7|BUKP;~u7~XrL*S!S$M55FdnU@qA^)j-5`3|I2K*bj z$HDbC$QL5NPrej>PQDU;MZN}pTfQFtr+hO!hQ@0rJdxb*Uvv9klOI9;4f#oU5&1cI zMfnwYP5CYOd-D764)RCvzVher5%Rd|5AWA49mo^GpUAyFoR1kJSh&8PvL}^iL!Bk^ zeDK%hh2d|=-+~vE`~9BYZb^9+(`P}kR@Pcxm&t2y&`DElP%0GeE zmd}AVlrMs}m46BEA^#daP`(yEQvM@+vV04Cu6!4KnS4Kdjr=4$ZiN@KBqHJhe6RA? z;78?m;OFHJ;JPf0cmj_cJJ@bS)Zp(I|NEAI{=}0=KrI4KCoc(qQ(hikNnRD+NM0M>O(iJ{LYzz8F4Tz6}1Ad=-3? zd>#B3`3CrH`Br#T-QZ(4JcaxKJh%K9yuAE0{5|;vcvty#_;C3>_%!)L_)__E_y&12 zJ)hzAepns{enp-L{#2e4{+}elym}3uNuC8>M4k&?LtX&hTwWaBM_v{_PF@8*U+(9< z+z)Hy4Upd>ZwkLCZv%fM?+lNv7jSyP)5-_HbIXUpOUuW?E6FFqYszQ9>&fT98_O5N zTgktI_mHoK50U=>A0^)mpC~S@&m{(m;VC)Uj8e5m;5sPl-$oddb?NUza#&r z{0TfpvS9v4((_oZlS&>Fo>3kjURa(KUS00z3thj3JR|ab<=NpQmm$=kzYBoF$(8$6-BFFb{OFg%@nBs{bHBX}?o?2cXo>ATeo>$%)UR2%*URK@{UPay?UPnF@{+@gcyo-DSe5iane2V-t z_~-IP@b&U#@I&%%;8*3}!~c?Rf+x}&GuZxd#tZnDAC$*~Uz8_-|1M7rkCrN^n*p9oo(-N|o(En;UI<=A z?$;|`{QAZ7;qS`JBi~704L(R-2R>2$E_|-MIs9vRJNPDfSNLIhANU3NAo%a{5%4If zgMJ%ZXde*K~!w##F|_sRbQKPFEO zKPP_`eoLMS{z(1?JbIdc8uic5oAAW)qVV+c((t_UO7JT3n(*fGdhqwBB~ z9pT@~d%(BK{d$zg<*57v}$+y72lI!iB{~fRO@`K3#EI$rEAwLVhCcgrYNFVguZFq9| z19)!vQ+P#rWW7G=dDT?@3cQcpulG7XUY-p3&*f?1Kgs?2u11c|LfI3_(8> zfv1(1f)|iigjbi>fVY;v10N)R4?a!a624sC0lrP%9ezgsKKxJl5P0H@K|hRw=azpA zuPUDkZzi7w?=N2fpDOq3=N`uu@~@HKC0_@>DE|rmOuikS^z~qW_reRykH8zrPr(Pv zFTm%^ufw;=@4>Ii{W`z8yv`2qMc z`7iJv<-fwW$uGkX$#22W%72I7lKXukUPq7Rk@Wrud$eppzr}lqZE3kf(u{ zm1l&%Ezb_`B+m;UB`*x0AukDECa(bBCa(@ZA+HO+EpG&mls)LT7VyOK_V6t7Ztzm_ zzVL?f!SH7Ck?^+ikKiB3r@%jz`~5hv{@I-^|NL1apO5?@`4{k8a=(Aabt2~o`e!Zj z|B-Kir;z*oKCY8Nz6bdn^26{#@{{nA^7HU2@@w$Aa=)L*?dd506Zrx1zu+Iqqw4)N zuJf5ZHhiT#A$+sk?^kl2qw;jfUzKNuKauExfm^UD1` zFON%E`7-3+k$(ekEB_wePreEMk$fk7u6#fI8~HK#cKI3j3Hc@XE%{A&M6RIU?!yzy zAH%cA{XRAKTQPYIy${P?QyvfAQl13fTb>#|TAl$uQ=SdJOr8h6L0$-cK>il|lDs_p zk-Qo_PVS&T>%h~=--W*^Zw{|0ZwGHA?+WiK?*kt$9|WHv9|2z`9|zwkpA0`Dp9#Mv zp9g;?Ujk2%C+N2o@Qm^`@Ivw*;Z@~Z;Z5Z~!+XjP!AHwaz-P(N!B@)t{zT9Jt@1m_ zAD90Dza@VLkH{PJPZYh6&-D|_W5Kh?{{t^3PY$mse-++Ro(bMp{sw%U-0!1wJLk%a zBEMQ*8opER_g%WqX?acL@5$@Iqvi|xtuZ{gycIl$yd%7%ya&9FydS)+`~&zP`DpkQ z`FQwJ`84=O`E2+x`9kZwCFd3Z7j49XzLeBfOM+2fUGdAH0YBD140kH2ib< zMfiI84fuBXZ}7wNNAPp;Roe!!_UbZ!he@HgGVb6^jlkaN_iJ}W_fRTe)&LnIr(t- zJMs_VZRL~T{p6p($I0iyKa+nBUm;%(-z5JQeq6pDepkK)9=Tx9pS$5njOqS>#3Fh2*8+)#Vl8E#x)eedO=J$H@Kuargf`c}wJ1$~(Zf$-Bdk%io9p zCLaQiTsY{rQScP1 z7ydwg1RlRg&_Ac(>EsvSZ_2O3tH|%co5>%-2g;wrr^}-y!Mc;jf$xwfg8wQ{34bbo z4W6QCu)QqsJn~%d3i1N*7V_fof%3BO+43szwes5VU*rwokK|3^|0x#iR~z^n^3L!I z@?P-P@&WK+@?r3K^0Dx(@`>tAm6MkPFAO4p-DLj6O zpl%v?DtShDMtOF45qVyCO?hE>Q+Y{v4|xUnba{37SMs{>&GJU@3-T85NN)xG&>o&x z-VL5l-WOg;J{aCqJ`z4a{tl0p0D!wbp3fH#w`gpZc5g)ftDfS;6a zgU2Wp@$zR6JdgY^yq5eVytDi~e46|ke1rThe7oGAv+?=;ko+&?PsyVu3--hL3-Z|T zJMx6^NAeW#$fbk2>EN%(Gs9EKbHd+{=Z9C37lXH!mw^wISB8(5*MiTJ*N3l?H-T@J zw}xMqcY;5Y_k^b_6ZBhucoF$fcr*DJ_(1st_!#+g_*D64@LBRj@Gs@d;A`dIz<-v1 z4?iXM=bt*ST6LB4|g61=YbCcLBkK75q?F?_l_B6;Zg zS}XVGuH4RZ@_5MKl_!Bem#2ouEf;Jr13a}n8$5?R54@PX5WK3~pT~0hTg%HMKSW*) zK2cr=zEJ)y{5yGb_+Gg`r{(rskatD?4|yMW?D9ds4T5KokAN4EkAv5iPlh*_&xH4t z&x4PVFM-dNuYi9oUjyGM_vgCYKWF7zk$)&Z0B=+w=${ktWb(7{403p)=j0XO_vF>!k<<@w!~Y|108cA#0?#XN1urG<0Iw_W25&1L03TN?7_Z^* z(aMj7PmoW5&y!DsuaeJ#Z<5c4ACoVE-;ytfN39gJe>FU@{CjwM`9^qN`F40k`5t&f zxj%>J`O{H;9Qi@=U*Qwvm*Df|H{jpM@4EtLY@QOO`aG2fxHm>LwO1Kba`3$LV0EQDtS%#X8AktL-I!O z)AHu~PD%d}d?-Y3~_RkeptQ%enY+${#3pj9=Ar&ZwKJ%<;URp<)`6QwkC}`G@eF@=5Tr@=xIP<#XYkEwjdpC32&@?d3bAiRd_dfZTJ9refV&BWB5n%mheyI?cra_yTVt?d&7T} z4}kBL4}~9e+<7Np8~%xp9y~~p9_z8I~bS6@aXbo@Fen8@bvO^@SO4u@FH^G zpTP68oP0O(Z_5wB8_SQu+sRMEd&n=q`^&Gv$H?!%C&?ecKb1d$FOWy14PC!q%A>YE`$P>bM%ag;8$&- z1$a666?jki-|#{5DCvUjxF6Q5{mI}5FZZs$IERph-cn#0|n@58g*3fess{`6+xqv6q& z{}>)$J_VjaJ`?_$d=We%Tcnp8{t8}XVBl-uJ}+;D4|zYx?}Yojc?s_G@;$iE%a7ns zRR0;=^^<1^oew@QXN3E_oCEIja?vneBaF9z7t|LXwt;&d4u*GCei+>Ox$tGmFNFI% z`y>2@@|)n!pM+=YAB^L#aG#fbe;Tig*2+IY-sj~+8AHcqiSo(dJ}+m7UsOI9+~?&A z@RS3B_E&-Xyxam_OZhf%pJ)5QKU97Y-1(VspO@#ux2euzxX;Vq!J}$D{s{N+=LFp6 zWC2R>FN;S_k)WX-6186~^zv zKT$h>hx<4aJ5%WR?pHoO-1!{vn7f01$PM>#rV_l2^3~wZw}uZrJ?ZelphKA zacK_xk@5@RJ}#|==l(g^-yh(f=ZE1fmH!3q<0-pr0tK+~dcsKc1 z@c!}*@R9QU@QLzs@LBTT;0xuEvxJV>%o`F zTfx7T_kh>A9n}8--a-%icGh_?x2j@${^Zg!-V|{oLc_Vlec~^J`c~AH_`Dpl5`8fFPZ9#iJg|Ab74*alu z75s#J4g9g(_v?!FPd9D(=TFoJ!FG2cpHY4eo=biSUR(Y*yoo$Y_Rw+JEq@jMi#!AT zvAhI4+8;stOT)9s--G9u`@UbX)DMm2J(2Gw?+Z_GGuZBA_!Q-*!@rfUf^U@jK4ET; z^9PYXr~FZP@%KN@z?&oguM#z64ZwmiH-XH#hd@$VkneYqBe+EBtKN!dF;1Q1l z{}KMW{5bqg`Du7<`9t`-a^Hu{{qw#&Y0l7b87fZ+pCiu?|6E=ezFS@g{)@am{F%H5 zJob~IfBL`+$tS^U$fv;v$iIS5k$(-}B;N}^AwLLzDEEEK+|LnDgZAG;KC?V_uF(E3 zB##eoEYAk-EYAraC$9vbDz64#EpH3oAnyo&{d%xpqu{5M{}8_CT9981f1>Jn+Nv{O~{IzK@#Q zAL*}Pf2$&2NZt`%S?>F*xlU*KhsY0*kB2XmFNLp>FNdF(?}Gm+-wRLmJlHSacg^k0 zCclMzO?iwwq2tw59vePdo(Vovo(=x9yd3%n-;wu$ z50sCEe=PqP{;hl-e7k%R{FZzj{F!_`Jbgs){LFrMUio2oL-`eWNBIr-H2HJ*=kmyT zL&yD$JSqH^JSF_~NJ0B^!VAgs!rzmZf_IXagD;UcfUlRo2frfk27fB=14DNh3c-E+zC-7SGQt%e?a`18T`tUjOM)3XeF7WH}9`NMRf_9FC=aG+vw~)_< z50=k^ey@L}?VZ-&m38SF@&m0$&1moptcD{e%2^c%}h??}fY08Te^^ zA=Po(UdvYcO8<;mPIY;aTK$;6>%F z;8o;3;f>`Z;GN}D;2+2r!6(UA!xzi9!GDk+fghG%hToC@4v(YP@1hnB?f(?=gzy~l zbnw#hobWpGV(<>~%J7Nu`tXJFM(`HxgLZd-Z&khv+^<&-f6ren`F#{;T{DJlc++{g>eh)KakIcN8J^) zXCAzed^NnLd>y>6{Ac)Z`F{B4@(b`4@+k)MLUvM1Qzv+$g9-xt>HDJ1_B`DXH0N`%gb&hohM z`SRD{-^;VY&&vzJZ_A6p)9wxSs|x&0c@20od1H7Fd2{$|c{lhnc`x{J`Dpkx`8aso zeL?%@z>~=rz{|?l!0XDthYyqQf=`q0h5sNw2j3>Y1ivMJ2!AMl3Qx5^*xz_>h0dRh z@`Ugj^4H;wkhh25mUo6HJP_>f2k_ML5%5a#8SsYk zS@1#f74T8=Z{T0bx5HPybt`0ygxks(MT`b|1rFIv?7| zW5XxNlf!4rQ^TFl3E!@~@0;%acfK<6kuL=MRUPhpGk6i@Tfy7P`@(z62f*jc$HQ02 zC&SOm7s2n!zksK`80^=2cpmvi_e7AfV{Iq-}+^_rZfInCMXSiSY_kHUFCqx`pF@;l%j$0P9Zs&gGaUw#|z^KX<2q4Qyv@-g84Ja}^W zJ>^rwQ=bmz$s6!Y@;va`^3w1|^78Pp^7`;;a)1AT`+51mU_W~xe?<8{aOcOsqv*W< z5j@tKV1H-Ab1MHCyqSC@yt8~Y+}AU^;h!tN5AN%e%kcBcUx)kp=WlpQT^B{E7&=dU zyh;Htt$Z4|k5~ENp3mjs?Nz5Te4@NQe7d|5e51T0yoini{o&JeJRA)7@oFM`ukusj z&M$*MR(>Vi$EywSH%|ofYBSvVqwwa+pMd*#brb%n@^|6RN3Rq*?mLu^1^4kSIXtTR zIW^q*T=2Zg7Z2k#!+0CG@8{4N?)qcl{@nU__}V$a`->*Sef<0i{^8YNyw6=>)@_`1n&8E3SQ-QFdr_$ zeV>H;@E^6mk*b7_<0g3m_%8XY@B?yxuR<)1*I{{aKzX<qb2I3Ngzysb4Dbr_%0>7E!_9L=?%|(C#W+V?(@Y| zxbM%i7(P+$Sqt}lcy_{lznx?72KR#YT!Q<4MEBvoPfkRQ&~fSgTTmw|e3m>Je6c(g z{FFQw{E|E$JpTP)yA|MR<^H}7&(A$~gM3TmYbxIs-b+3JK3F~kzDVxxlN^os{ak#_4mWQu1~?et}nv9 zuJ4EO=ygNK(fO3{WO;*rNDKEmEdcMQd=a?w_2B1}e;4j`+7n(eU(lYuaOWq&S1CUg z?sfeYJo%eJ{jcF(*Sq1vmEQ;Vy1oFvuKX3a*Y$IF<@`Z=BEJ(lUS8KJ;a@7B7VdSL z2OhsbP(MH1`C4$V>jv;1s`DP)>$)rawDLXSUe^=gUf0v$@0SePzX0Atz6}0lx!`fx zTKHd6f;t=FK0fS&4;vrk55c{D@4$V0cmntFA#%OY@jb8l(c!M29`55qPPmT`1>j!q z<-&M_Fy0AXazfA#-QZsDW8j}E{}J5zrSQkfFNb@*?|?U$7_{eSxbv6bKPZ0q7w+RjC-^w!yTQHQhr_Qa zKN{}*Lb#6)%iv|TzE;A0eAohCr2G!Jj}I5&K0e%lr<)(;au2*1=~gzaH-M!V&mp<&VRCUbqLpq5K25kMl7ag^pJet&7-j=QG27UdRP6 zsXF=KJ};DqcU8VJ+~b;QmrcsYhkIRTfJej&+LIaXb^R8+sPbjtUf1u!dn?}r?seK7zFPU- zaOWq%y{>1%@2k#daIfpH;rX>5zlD2UAB1~d{{sK{@8CRs3GU~AZo~cj&m(y1hQYW* zY8LVG$B!d?e25R<@J^6VMAzfYTyP&Bio$(-CSDee;uB-e$f7`a33E^ z!Rsqu4({VaWB3f^o5Ov4=nX%pd_TC450l{08wBm22KVt{IlQRytKeSm+u%Kv-vxL6 zGTg_9+wd<{=Qp^I4^dl$j^j1uW5RuW$O!lGAshVX8A1QN2`}9!_R9^HfxlWg@LKR} z@+NTC=>xB)`u*WMhemt3-8t~Z$}fQ5{vgP2fZtGlGd$;eLHm!w3(HTyhs$rlr^)ZZ z&&y-B3>~ktjf3sRfxp%y@GS7$@*MEq@-pyo@(S>QO@sQQ;5$DK{6l!%@qvE{3d*{F(9x;U3?s@WUG4NNqy!A16XDK(0biy3S8#vMXg&O>@*CmK zAAvtr{y5y9OS%b9qj9_ocRohj&~Y!Nd~CQsXOt4&Qu(xS=kvlnuj;}-Rh^FTujF0f zJ}-}h$I$tG0=%w#8GN98CEV8uN8v}5KLJmpb^RQkUmm$#Xg~WnkQu&M`Rs5XXKKQu z4-e*Z9e7pw`|#%Sf$*>7^Wi(>i{S}J1l#=?ok!cYY|mf$}5aK5k5b z4^@5!-1#rz%avaN_iNDRTl30P2qkV)EfR+$FUCZwmP14g=f)mpcj0qydV4>t<%Bq@8rYbX|*oK!Ur6V z^|B);!w={>Z65rDd%;fR+rW>>d&7T~kAUBmPk}#|FM#`V6RY6<+{7lh zKR0mz9(P304`<pDTgaSDnJ}Hu8#af6k>I+@Eu4 z4ez5mz2GC{!{PpX$7Hxa&oUqG&!Kz`_vcVH!Y69G`{A?Yzrt6_Z^M6*KZEa($L<_D zF59jIcifxzd&4?PTg1^kSB1N@qNFZ_4; zY516f!Fli|+~>!bT|@hStj?Qp;NQs8!8gb=!mr5-!he?+g=ahxw6g|0m;7yb19@wB zOL=?vC-On?x$>d#ZStw`J@QZBzsr}wpUGFk^BxWMcPqT2d?$R6{1kku{49Kr{CD_q z`9pY=V?ldjbqk#j@#XR0<>hJMP2{h^C&=G~&zBd1?~_-7pOV*r$NME{e`9zCd2{%C z^4{<^@_z6y<g zF}sJ(ha@M0cE*91kf(!Jl4peXkQamxk{5-qlGlK*m%k0aBySDBBX18+aWdGif$-Pm zAHd(0e**6!pAC2Zd-z)AH^7}g1%ImiS-A5L;RQ|w`}Gw5u{=$W(D9ume+}+@8F+@% zLH!EwVe)qHPvo88u0IxjP5F=EZ=DIYy9{1Oz7oDbz8Ahmeh{AI*P#9*cn0}1_&|Av zo}v9YN}d^hPF@{;U0xer_H59ep72`ozVMCmh45eGOW@hh1@(8sOUn1bN62r&Kat;s zAD74J71}>nHvG7}3;eFU2R!$MpgkYLE6B&ghsl@0 zC(2jCoj(LWtNbx|@{2)x?!Yt2@57ys-#fJbyD6Ut?tFIma^-WulV1wj^A7wCc|&-2 zd3X3Qd2jet`3!i}%fWVM!JXd%Z=n1R_+t5W_zL-Lc+D%pb`$pr?azkt$>*ls(x^B=<7DnB0X{MYa=mH!s*{4el3%AbNe{}(*ZwV?fx`iAzK^BLeh zmCp=!z7l+`^3~wZcY!}qz6ad-sqo_0gZ6&{cYY&$g7RD8&R>D2z7f>F0q-Y|@qTE( zjhDxUKam%Nzj8CEUliU_-Ui-L-T{7IJ`a9Nz6hT8RncAp17?!E?o!+irh`ZH_iZ}1fEN8sPNKY-VA z{|7$QJ#_ED5|Fx>tn{cCQKF=-wKB$h|%MU-v=qXs@lE!{Ei-r^Bne&xQ|kUk9J= zz7c-Z{Sf@R`!RT&H`dNS;91;nz#F?ihxc@U4d37%wr}A2aMC>@JmOnxPZD?<_Z0A2 z?%CiS-E+YgxtE4-cP|Hz|IXS|AO5v_V|Xj~uJFF@J>hHJN5BudkA^>Yp9v57ueEb7 zJgfU=cp>-g@HXxz;Jw_>z!$pz4PWd282*QQ$bNzA!vpuQ@XY_&d?ke!a!(0w@17ez zz&#&)pL-?vS@&x2(C@81E#Pt7+rX>14~92#9}XYqJ_A0-eGdGv`zrVa_jT}4AFTZc z;L+U=!E3qSgtvFU3!m@)2EN(-Kln}eNc{uXhkx9o!Q+0k_NRoWa8C>W-aR+Gu6sWC zNcZyaY3>!_SKV8{pSZVyrwob|^yyDOcy9MW@D}b9;CKGu)rU^`6791A;#P`Lwk6{qMiMo{tEB?w$Z1Hl(#b2|TZR zHh4MrT=0JG#o?3POT!Pl*Mi@0uLn;T%G%ipp4YuAyrugHcrW+S@Rjb%;Je*d!T)hT z2!HE-7@j+{wf`2pjQc(KX!j@s1DEey_ZV>Hzk*-)d=7ZLFxH-;@a*m-;jP?j!Uwz8 zfp2ne4L|DM9v&3d+A|Oy$9*Wgsrz(zANSet&F*XAXWf5=M+;}|`5m6g{V2SK`yF^w z_XqF^?*GE)x_^Yn3vca-Hz;s@Navmi-q<}Cysvv+_*VCd@N@1};SnQPds@I#xVM4V zaPJ3i=ROEN&wT=Xqx%&2efOpCx9%(9St45dx5JCO?}m4CKLa1_egVGM{V(`M_eb#X zk*qx-1_v(R1nyzr-@3<#*L6<}zv=!B{E2%ZxZYb^1D+zXwX-(7n){FN2JYSAtKFx= zce>ApM~`CD-3CwLz6(CZ{S178`vrJ{s8;_mJgxh4cxU%GLjsrAAom3DQ|?9Jcic^P9Q>O5fAGid zK|=%kIeQFiPfBth#>D~_h&b<>nZ%k{?ICx3-N$~FOE8qj&*T6Ts z?}Hz3{|z1`mbK?HJhS^Xcr*7`@V@Tv;H%uD4hvi^yWL~LpSq`khl*|O%mB~sUJzc` zy(qkmdsTQ(_nPpf?j7Nq+`GW?Zu4m_*-e0U@GJ@Ah12jFkqFTuma zwdr1kpFU;hgHPd|JpU4Y-#xYr z9sIES5%?|l6Y!jgZMx6k#ob@Q`@2UR8QA}m-J`xwf2mFCvzVSZ|uGh-phR{e6#x=_yP9=@X*PuJy+o|-EYEm zJ@F%ai|0fA6u2BexF>=~OK#Im25;?N5I)?!C|vpa@bD=jeQro&cop~l@K)}F;fLL) z!9TjsgjY@(>GO2Az?-@6fbVg?4v&(`>fDAGb^jM$)%_!Ul6%Zify-rqdtA7lbIb(a zb2!ZB0y*IW+zZ2pyO)EHb*}-R>fRVW-@QG2m3uF^+BpgSn?L6@6TZxS34E3N2KW~D z-SFM+N8y_8HF!RMzUCf0-O8|^`}q;P=}_}`@GC3K!;TJIzPH?C!k@Y)g@^L#W`xIa z&jVLGOTvSOS$n>Nzx4M10RPv$DO`1W!^3&~{_qU$)8OG3NBG<^bKybmE8u$n@MgH` zoPfviI%nW&&)@KW{dtz>@CWW6;ZNNojR{=7`ku0QaJ~096N4W9>;j_KYIQTO6NpKy9FNR62jQ^9o}kq6%NvdwRP_zS-;vopF6TAJZd%bG4NV`oIDjC zCXvn8e0X<1-dF~Ipuq%=XEZ@m45PQ{(HEd>#qY}@A(FB-Iu}RxNm|d zb>9z9=Y9(QmHRb#ZufuSE$i5FdJ8Y$`S)<`2ck^~T)sbeJ{Da0jPUNB{|c`CKmqs^ z&liC!Uj@F&^EKew5441z^?X~n@`K^eJwF_-{lFA>3||kY!{sG>~J^G};^{1)J^SR;5mxmAbd_}nO&EdazzBOF=f$-g) z9|~7~7W|s$=fRcV4FAvb+u_QefhS#Q%j*JM?+1PiFW~v-aOERS30z*aJRc3Nd^&h{ z&u4-wUmQNg^QGa+*N1QLd}Fxsz2K)k-w&?*RQMCm&wwkx9v*d-_5UWg@+aV#J%0wS z{NM0zJ^vW4e7LEB%d3s&Bf-bGr-Dy&PY2)XUKqaLy*Rwi_z<5PQX78H^Y!76J>Lx; zezo;yFZiF|TK$RejGmtgFYmq@Ufq2?yu14m_#pQa@P+R8;cMLghM#s1H7#&?{ox)C z{=q#NJp3B#pH%RS?)l-l+zZ1iyH|$Sajy>V>)sAN!o3rGx%)`?M)xsreec+O_`VG` zzboK+Z~s^wJ|&9V|NZ>GiQPYq{_gwVe;w>&Bq;qCzW;yT@yO?RQ06cEQ$FnkTTgPM zemsi@75gIpsm=|rQ|b%y60DY;a^U7=NJBIy5oGh2fy%7 z)BVxwoO0K6OZf7-hWu;K-}=J8obIzP{L^%I`*h!Z;h&~^%Ik!g`M)3j_eaxR;M0xi z{%QUBl&^a1Qz|GZ?ic>$bkly}pQii7r~B0x{;AGaUMHWsrW-osr|LmLrI26i`ES4Q zFQ;4U3;#6T+Oj# z+vZQ}gX$-Rhwyx6xTaeOp02*tEe%iTbt=MRy4Qox^mccF&vPFfjL(GYds`R4RcCWB zekvHh8;pMl#^cQi>}O3kcQF2aFy1j39~+F%55~8{4|snbfuC_d0Wab6c@O@>8k^5Y z@TTt1;JQC5;@rUg+3xwMaOKm&W3IK|&j?q(7`&I~OTm?|2S4fgMsVeO!c(ma`uwLa z{Hsppli@AgXTisKoq2H8*$fZeIq37B-SD9G=KJA#FWv=sHP2sxEB^?--1E=iNq!9a z{3pUZ`&;`Ny(caP{Ob*tivw4k%P&*C=w`kcKEU(K;R8Lt6Mo6_d*S;2_jB-Un{2w5;C21y zf8ZlL{{*h{wNSrUJ*^LSJRc5ztd->w!V7OUPYMqjX#O>Pn&OHJ} zb9mV;=B?pt-TT3Ra~}j({R!~oTdn>S_%3hHLU@1AFNHVu{@e_|;Q8(F>D_I*C*WDP znV*5{{-wuojsLuc5Ar(y!c`~Ue4CEe6OB_PgP-?0spviJ_w&OuZ8t9rKkxY(@P3}J z4L|SR8Gh5f8(jIZ@H{)LJrm)|FNcrt{A#%Jzrmk*{s{d0oi^Ru@M`Y&;mSu?V85s3 zvflGi;L2x&N8M$={}o*MQt%d@{}!%%bNC+5w}xlfZPV=sFYG=DuKF|JD?L94zN(Ma zUk?wz$9xmKQ(yCg@J60L3?J6Z@>k(oJbx3e{0n%Dy;kQ9ykKwhNDJ+6E#Kyzj|Nvh zC48sn)50Hhu)2ld3HO;7gDYPP-o^9v;L7)hpYi-)xbpMhU+uT{EQBk+13ujId*I4n zgWvT0Ex7XU;1v#7dp^MRzMe#j?BBJ#R(L)cT=`P)NS_8F{`cowxbkh_%{|`%uKZ~D zUeAw*E59C|_&00MCb;rv;UhhN5w83@_*>6^fGeM9u}xq7+2?orIT`#yfAa$HbDl2( zSH32^=pn092d;b%_!`gmfk!)Rb>_h1xzC3ye*)g!^Jn17zk{Fm{0F%5$(LBWBL45M zPn%-SBldG@xbo%TV?AF1u6##$7$4{C0#|+}yr<{q!j<0(f8_ataOEGu8~XU+Q@HZ6 zmIn6EpPr8g|IYW<`QXKUJg^{qlILr|XL-IJT;H463I59SUE$xKuy&7tS9Ko^*Lw-) z!k2q~0sQxlR(}&b@=5b;@Zr8aUxc^t{2y@TKfw2SKIF2%<)VBtc#>0=O9fZH2)v8u zOTZ`l_R|o4+Vf4}$`6Bob=unV6I}Tv@DZM00ayMI{FdjB!B_kG{TIB<8EelYxbo4L z2ln$y&&P% z@>k$N=dJ#AczXZ&KX@z82dxO~XXR7E&v-s9T>0Yg{1>clX}I!D;PX7+0^Z$!9s-Ye z(dv(YE597x$@8n>${&Sa^887-@(* z;q@-t^cusJ?*-rL`F?Qa=fUG&vHA<)${&Sy^ZZG8@W1HPn%Q_df7_?gQXyuUq|z@I3BQ;S=4L!DqX#f`4@11CM&crh5S1!TkcfpZgW~UH3=u zH}22ib#DfJ{u6q&{jK$(gL`M~r*UrsSH3TNsOJa5uepzd-*uk^?>ofWvj|@Nj`=e99QWVgi`HZ{1tKm%I0ZZ*}hnKhoOjPk^VsZ$1UC z{3`eg&#!|ke;A(Yfz>|_Uo_JE9{g9&{{>e*dy-?dP!YN^Q&&z~^{A30(Qy z@U(wfoqTZRE5TQKz8ZYSAgj|Dp73w;=J51`&HKW;_~+9wczo}#aqz|Mtj=us6`$@Z z_+9s%@W<{4;6=+v{yc$0@NikpFToE_j`TTy7rw~r1g*37YWZfZZa+tW_pD|f1-`>Q zG5oZ9a(EoC|26#QsaC%Tyr$<%z;&NzeYozIXbso>1Kr@d&!ivx`UGpwAh@PGAHJiG z<(I>^O*CH(*L|eF!J|yF{1LdWyIqCX^88JB#(GxgIb6@%yoO)#e1i4%ds-jzOtzns zz?ClyU+nqf@ZTF)o!am?Q_SnbmG1^0QUc)c>lJ7_Rj;HC*|kaNW;S7Os4AcxG>ZSGe*cgYo(B zTwZ4}T=!k-%n#z}24IaD5+bKDhFg;Nv=2JF3BTU7!S=wr>-q3--G7n@UbMUYeloc3m&gI1>-juzeJ+=U|L6Jd z;JQDgA-rA>Yfn?S?hpA9e$4aT;kxf)5?uFP%!Ft5`z7YWRcAANfakZvb>GEV_$AL@ zge(69p4G39zkusHc(~1h%YC%xBf*tV3cu(1lyF@K&kZlu+oqQfu6%j;bkA3W>$*u} z_$$vhhb!L`{(T>7PhYt1TbKaf?D;8h<(I+Z^|kt|;JVLY2fUZ(_rP@>_8R<^=WoH4 z{|Il@&)O4ei~X(bUHLTd>z>a5SH2XyMSrXNE&PIeBluPKW^m;P!7B`~`orM5k828i zvFE45b)VZRc({R9e;r);Bk-o4KLOWu!`tv(p1%**IPg1o7C-O)0N43=i=L zI|i=&BDmfsz6^fI>+FD^cHaY6{t`ULFl*0M_$2oi@VV}9;L69^7P#DXK9vX_dbs71 z!NUfuM7Z+H;dy?t>8^&CYHhw3 zKHKvL;YmhW{sFw8`#KEVAET=@_?te%$pJkNQvyPFKJ>D%MaaE-&SgkSgkTDZos55SwYv3@uNSN)st zSDwEMSN=VGSX-+fVrSs;ReKV^>RWyxT>0PNMH*QC2>f^V+we2)_u^XV>! zFLVDDe#h(Vg`adk3cu`r4t~x38eH!${Tp7jzO4r@;CbBN!|(ZiEaKk4_2(b=sPF_{ zCpBE3r`h0IzWLxeyiN&t?grM5@8EIWtHag)#_&JAzMe{nwqbNCunAV5T4BaFkJbo@FAYR3IE&u1^k)&8@Te3_F22sZ$J2aMT2WR zCmsBN=d-~Nxql7M*2Jb)1fHj{`S-zT=LB5+a24Le>)eE^{jcHbhmY|4UMJN4!1Y0O62R3DY2fMy zJujv8O8t-*dG$kKcrL#VSOR|7y(~PnUq|~Me%rkYeA#fD&mZ6mCYm>bXLWA|*XK@e zxIT9V!}Yl{8m`ZsDR6!6%!SwY_N;{Kb7vD=pF6wZ`rJ7L*XPa|c*t4SKM&w@rkno* z*M96HJpK&JhdN+?YdujuE_{OL6T-D0%L0!))9Pl2D_;UW%=2a7+V3@hYroeLuKiv+ z_{1rZJ~yZre3bieczb`}`_J&>l_Gzxvk0#3ZX5hfWy}8#SN=LY%g@$t58&EAzk+MO z6#Ah3o|a?UY4&q?xb`PW;o2{yg)j9w8R4o^1g`y3dAR1c8eIFO`f%-+^jxFntG=)2 z9gtW5^o6T`M!`3FKaYcJz81mNKdayoy*=yTs`EQs{c{$s{<#WQ|J;YGe;&d$zwhDM ze7%kETi|-qqGX8AkPyDPimkV4;mYTOC-?g&i^BE3pc?S{v#lL1;5t5R4{zrA-te~W zdfrs)iF_9F{X9PpuKRyB!&T>GFn$}p)9c@d>;9SdaNR!>{`bJ;qVuw7aJ|nc7F_qq zq=6ThV|6pYb>B#ScpuLfhU>nON^rfms2W`N&$Nc?{+Ukj#B;5kUE#VPW(2&p=SRbJ zzsg+rEYB~1>wc9@@T;ER2G{*6$Ki?RS^H1J^*)xn@Ft%B6RvTC|KNJROwb{lj@EPC z-x3Rc-|NSN>pqa2aP61Afv5V#rdJ5A`#q||8+g7JT=#FZh0pbTN4W0C7!1Ge`QdQg zUoiuobiTEJ4!oKBdiam-o8a5skH8PRpMdMQx#4hNQpuLW1WH$3`ctKT24{4987&(DMFdEuS# z8J^z@SN=Nu56|C*E3fDKBmS@1`~LTz-Y*d0sLh95`LyuHODvZWuIGhI!*_VT99;Pp z@Ni45ejB**W8hUiKLM`%YPg=CUk}&w!YAQxy#86Z@=xJKms$H?!j+GAEU=$Pdp;3d z`MmIpo-Y8`^TI#Czgce6s|#1YCw#c)`@)r<3%}&~1#so}z%#6{_8frgdEr~|5uU#X zS3cD7!2Ue%`EYRMGr-fXwBOGHSN?mro=d6$*K9|d3IJ`R4yeG&Y;`!e`j_ucUS-1oz^-@Xpdu*&-RHeAPDFW{9t{|2u8YOE81 z%e}YfqFar?B^)({O+;f72OlS>$#_f-*?Xp@9&-iKFK{Ve35%0_$K!f@MG@f;j=T?_&{yA z-t*iBuH)4o;d;;W0Jz@sJQl9^JTHdpJF&-dYa5AzGS z-nSg~RN#7|@#kppus)ua4zBvS;Cjz7J&+~t9z2`afnZSM+>~+G!HQtpRe!}yq;mQ|)CwODiD*{)(CcLZX>%f)&5x&dw z-QmiQgNJ=;j_HXWw^%c9>VW={wZAf&}Rde zZ?<>#b9lJM-;%-g99%khZ?BUHt~$lw8prz;Btp@PnSu1=sT_-@#*ju=Z4fE8i4e-}5cudd{v7e1+!+ z!1bQz$?)(Wtvx@(ReuS*n&(%*^&Hd zd=dBv&zFEJUk84{^9|t2_kpJlZS5HV&#>FtJsIBL^FPB?e=Yo$=YNIk`Nu=>>|v}u z$KZPY@eg=E&)?c8+bkqT=~54<(@A9 z*LXrz_`ja730J-Y{M&HW{vYAWPl3<${B*eTo8W(Yej8l*Gw^)jtvwgu%D;dQ_52&S z^3g8^E|&+Mj}6!Jr`h58B3OHJ!Z41n=Sb zV{qmFf?x6cBe?R>F9-H#p-9%A*l^{u!#8?9H~d0>t6Lc!GP2dL4p+V%ypiWS!Id8i zKj8U^aJ@J9S9ts=)}AeJ_WTIf_2S|1=AIt~*L$Alz}I_zK3vzwH^M)7ek)w>nK=fp64Tm$ z3a;_I-rMsT;mVhWpY?n>xbiLF z8RJ@e+Q4;Pas+&k=SRbpUk$(FdA)~K+o|#=k;o!PHm<+zj^Qqv-ouWhf`W5!!;R0A4SEPKl|01fe|QSN>-o^P?Dw=j%=LVD zcwPVfgz&eXPYPE)7hLzj>V3?bZj}_)&LYSwR~f$2^VQ+Xw}6LFY4zK{|L?uc@H(C! z2v>d*e68oF!S$Z!Mez5YUk2CvYPQ2Gq_Xz!hR?ZU%kL`P^Ec_9e+z%)`S)~SHP9u4^Nra z>i-T`{sw%u=kLJvo|*sPvC>)nAYVS(E|iZCAMW|YaJ~N_EBvnKbHbG`2XBzx+EW3p zd~^5}&$ou_y;42k1^hmQK5)HPY7$)chs=WOek#4!T>Yl^T5LdG?{nS{fBd(t-)G@^ zFZ31os;?q{{)Ovsz32HcT<>}Q7q0g_$G#i5ebpOi_2a`64KmLF*YhU%;eS1~x+UOm z{r-?La6L!g7_R#t+QW4}KrguN8yN)8^~l;Y46f-ehU>i+tKr?f&U(0>>pueD>G>0I zT}QhK|LFO!HN4(qo3DT2dQU}?dx6V$pXXD+l`jrY|HOX3H2n7l=JnwtJ>M9v zd@uMvp6>_Odn%^FTl;!71FrlgxZZ2A8?NJl!|>GJ|7YNOuf;9+HxI2J?!oomiIDg0 z-?e|x`WzLm>tb=?4ZMCrxa#MDYrcxXb^Y#J_%N^kJzU#GYxruG9pEYnjkGT`B=M#^@6F###C*gXI@*Z5<-6QyTuk#G9I^q8eT)x`AV#C!xN#J@O zGaX#dV`hb?^!2SUT>bDJe7yH(CAiw(9Ik$755MGfI>S|G1YG?v8Lobq4Oc%bfvX?Z zz^8V%nhKMk+pejVO6pXL97S1D-z1isik)L((?!#ekHaOD%i!xggn zN#S+fbHiViw0uE$xKidt;i^*wUeEJ2;2Ydq!uPnhg)83=9>27;XAoTDFw@~WuKNYv z((5dO>wc&0aP9y1!#8@J-{Gor1s=MLwf{Q2ru!>+WA_j6j_x7-ct7I*R+oMM`%iV^ zzz=#p0X%M5YfmY-#!>06pYUd#@E0ndi@P>-Jf}s z?)e+R_*?i*&%cMOejGn9(Q^6fTkD6^@I3D6;kuu*FkJVAmWEIG-s+cwt4<@h?h9=N z&sW*%w1ewD&jIiuo*x2Nej5C==V!uo{I(jNx{9@DJzV##?S*&p{6V;mTQ0-*dj1+b zSyh|vJ9vmp<{|yKQp>kzb@Q-r)ky`9QN!}-;K~<kUv=cdGJ2&JK+=D_rk-~vO1UHiQKQjmH!vM!Sg!aS3hK`ZS~{%d6>MY zdm^~*ugD4i-Sc0=m9Gk~T*szc6MomdCw%5tmLCXz<@urTzI84C3%pt<^JVbH?yKN0 z+>gWO`|;0tc<9bn|1x}v`z!cj_jmC2KU$qcK7OF((#t&=T<2>!;I}=W2d?qVvhWgJ zY`WjUm2V2)=lPa!frVd2r>oz;kr7`a9qn&pZjA;Q6y~<^O?4 z_v7IwaOETW_==X7j>F@?$9SEjaE)iCgHP*d^OY5zZ9=5a2f{hwTii>)Ge!&fIbRii z#q%}c3nyCrmT=V>1P?pM^26XW-KWA;X9fI<=hwi;&$aq{;Hq;Fe$MOMgom1Mb?(Bq zx<7@hP6Qth)AG%p&6Z1gcnbII@Qm)?z;)hK3a;bK%J3=WY`XQ};VYWAfG6|)RTp?% z_rCDcnXS%9xQW*N+o^g%|Sn?1h(hKL{V~{s&z9=R5Efo__#; z>HYz(c=OU;My*7!dH5}D13{1N%#}@n(!cRe;s%p_YUyl?tS6a+%=A+`EBMt z8F}^p8o2s-6Z~iI&)x9u?x*4E=gaW^o_`1*=l%lz(mjNa=V`wFc8>^u>K+TO_c|tl zZ}9W?wD3Ic8R2^GWf8dMw+vkGy{rV+doOFjkN9+(!F!go?Y9%Ww(p<&!tYn`{Xcv~ zIXixs0?#qs{1MsOAz{V{cG?+iOv6lKb~R! z3Vvgzc}Twwp!H-`gfO4$M}-%NX`T>X^O$*Bc*^7EIpDpMhy7f?5Ijp-^KaoVqlNpN zuMXcI%e)bMMH%yU@TCXBf3DLLe*J{`Q26&5B7DwIfPYi;Q%?m2&4!1(Z^u_l;2nJZ z{1vYEukM2D{j2-odjIM%xVF;^@c6#}yaU&CAHg-<*KkcY$glrsJ<)U{!Z-NwUOc#_ zn*y%sW`t|HIpLaaLHNGBw*6LyKgexf9j@zWE#W=#SiUV>`Tp=oUt4}KT-VX2!e@DY z23+}7@N7O`>);x{ItpnT*x_*=&e#q+-hO16BxUL^HgzGq}66T>IyG@W-BS1XsQbJa+-B-vh4w^C);P&yRyEKOer=^NZoy zpYMWefBrjM`}1S)4kaRgULcp@6TddU4WH`%4u0RSQ-^vNxO}yrj{(>IEg8J4*GUD} zekmVZ+iy|$Dz8%#t~#~h+D@CpwVro?YyZ|0uKinoc&Qn-o{xfSJ)Z+_9rqzP^IDcFzHy z?p_J5_SA%D@_Z9`JomQnB<@||soeX(Gx&WGL*cFbK8lfW?f)0T_4&0HuKN>qz_lMf z08d)P){{eUP4`c@?mK-7|GKEvc?s9&QI!7z*N4%bj{(=`Q7ZT!o=*qYeW&^0Ws6yR z3c__CX?^&1&o_oEKLnn&xYZv4|Gk0D=REiv&o6{4zXKkvgw@{z*L|dy;4?jc6|VeS zxb8a*`95&Dto8LXGW=sl5NxA^+3_w?|1tOW8}pDV((U#baz?Dgxwbv)J` zuH&)6aP6-~!PENuj)QBvSP8G=`L%GZ|A*mIJbxUn_5UXPu;=f>bv*VSuKios4}r^9 z`+;ciHon{w!}WQT2EN?$+2ApKJIx30;QN_^aE-*EqvexW*ag!ZpsY4F1*kwjHg95B}DCKU~+jj>3QP{1x~N_v`RK-Cx1A zeTDoOxSr_!iV@+@y-rkkQ6Dc&1J`oQ0$=0#?C|&QCE(%9TmO`SE8hTK&GSv*zqogU zuXOJPSAHT~{l5&Z>yPW;${&L3dfzGd4j*Se2aoCN&);xu?|RRc_P4sO`X2ezUMF;r z^{evbz5iptHU6IvuJQj=aIODY;P1Sjzk#cMak%Q2hpT>d_=!q3KlS0-zB<6QeRYT5 z^!^zZjL(6;_WWXaWWO%39IowgFI?N>ak#d}^Y8{<|1wydw6_be`18TdO99R>K+HK?I;Ue`@KAH-H%rg zUb?kSuQGg33-ju5?U!1@i?+0UTe$Li|Dxt=ujdCNul?Ipc=1+Ne+FFnRqz9zUk6ve z9foWFa|W*c&t-U_de)xXaE-4%g=?JfBYcS8_ZupV)l>gyd@li9$0sS^H@!|8xa#DG z>%6-(TbMGe04LMujlY-zFvh68@N7bTro0yw&xSV*SRN!YyY1c9;d!d z?|XP=_sVdM>$ZaH__ixt_X+obf7i^WI}|>~r#lj^@t=ioO?NF^{k8+HahL<}XFlCS za8375`2UT^!e=+M`FaW0cvO^dfy*~SBl|f9T;oxx;B7sh4*q}RvGB*9F9_H8YJGUO z#@3$3aOH= zA;a7BwSSJVFw*A%n`m(DA7aCGoirD`u-C~8*LBzuaMdphSN&%2>b@SfhyT#P=BG1U z~KMt<^f?#|HJi=(3&pmK` zj$DGP{=;BAY{bBRQ$ArZo)g~3+w(PC?Wq7i?D;BiWGrb2tKf&t!1y`LAkph>Oo->UAPd&wQ zQQ&%RG&#J3=TpO#{~Er-^ZDWW-jK?0eg8-;c!jCf&U$dw=>pgHkMw~*@HzwF`aY3K z@Z8gEy3^pwFNY8E{A#$qe`GKGjOP!+_5CB4;3YRobnrZWO9mc$GQU{@>yH9*PU_1)jeG*L(8cz@yH!`v1X|PY~7q zUHgIVo=*Z-zA*f@=ZnLY*L&hsztKFKUK8Xm^tb(3Z}@MX?+;gg7Ch@OR(~E`?<-gX z@8kImaD5Na@9?9ZKMGg=EjcdJ!ckq0OXo1T`@9B*V|IPF9;d)%FF<;gdZ-9{$AZ zFMvPw{1UkGyWy1=S$p=w4-K{UUx3f|{1v$J&*5)9{~A7NnAMLOJ#c-fwAg-*30FP~ zT=(cAUqv3vt~*sbOr;Honcp3U=P;E}gkojGvT*$Ce>%I5bVJgBCvZx`YEe7ONn-PrPv z;F;Y2gI648(+!FhxV-dUvUqTf|0IJi@j9vKEv!9x;30EW|HpBb+DCE%%lvifD<$~S;7_k0t$+N1A#(dS5Z z-;VkRlb;FKetRKY`|VY5je~84Yuxf6T<5c=;X1Ck2G@S?0sO;2>$j)yR6WdJ!gU=d zdK~+A^^f)&iQ(F=)5EnMW`o!3V|8=EHQlOkT|cS=AJf!qr;U? zPxpLgxUL74fH(H_stjEDCU9LpY75u;+yx%1fqf44fG>6*0>3@h=64KS*IAapSNU

      _)D_s3>7XI^Q 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

      f>tHIUIuipsk*aLqrb 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�&11DlM!%k>UC~ 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

      M0Vm$H5gcscVp@EG$N;8n~M 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

      Wdg)?nRA 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

      OabH>L2Df^-plTnd-mH@%GB6IZpjE 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

      Iu1O7U-a|QGr0EOXbpqg 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

      5xdd4RD$MtLPn~c+NMU0~LdB$#37h1%N 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

      q9*QXrtiKVm6 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

      nLy4^+5 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

      ;t6T>i5o9cu9GT#SP*UkEfn> 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 z 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 z∈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%0ALE1x38sJ-K4SlT4!G7C7Jz3tWBIc1T<$gD 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�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 z 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

        6H;* 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 literal 0 HcmV?d00001 diff --git a/android/x86_64/include/freetype/config/ftconfig.h b/android/x86_64/include/freetype/config/ftconfig.h new file mode 100644 index 00000000..d5b27acc --- /dev/null +++ b/android/x86_64/include/freetype/config/ftconfig.h @@ -0,0 +1,604 @@ +/* ftconfig.h. Generated from ftconfig.in by configure. */ +/**************************************************************************** + * + * ftconfig.in + * + * UNIX-specific configuration file (specification only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * This header file contains a number of macro definitions that are used by + * the rest of the engine. Most of the macros here are automatically + * determined at compile time, and you should not need to change it to port + * FreeType, except to compile the library with a non-ANSI compiler. + * + * Note however that if some specific modifications are needed, we advise + * you to place a modified copy in your build directory. + * + * The build directory is usually `builds/`, and contains + * system-specific files that are always included first when building the + * library. + * + */ + +#ifndef FTCONFIG_H_ +#define FTCONFIG_H_ + +#include "../ft2build.h" +#include FT_CONFIG_OPTIONS_H +#include FT_CONFIG_STANDARD_LIBRARY_H + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * PLATFORM-SPECIFIC CONFIGURATION MACROS + * + * These macros can be toggled to suit a specific system. The current ones + * are defaults used to compile FreeType in an ANSI C environment (16bit + * compilers are also supported). Copy this file to your own + * `builds/` directory, and edit it to port the engine. + * + */ + +#define HAVE_UNISTD_H 1 +#define HAVE_FCNTL_H 1 +#define HAVE_STDINT_H 1 + + /* There are systems (like the Texas Instruments 'C54x) where a `char` */ + /* has 16~bits. ANSI~C says that `sizeof(char)` is always~1. Since an */ + /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which */ + /* is probably unexpected. */ + /* */ + /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a */ + /* `char` type. */ + +#ifndef FT_CHAR_BIT +#define FT_CHAR_BIT CHAR_BIT +#endif + + +/* #undef FT_USE_AUTOCONF_SIZEOF_TYPES */ +#ifdef FT_USE_AUTOCONF_SIZEOF_TYPES + +#define SIZEOF_INT 4 +#define SIZEOF_LONG 8 +#define FT_SIZEOF_INT SIZEOF_INT +#define FT_SIZEOF_LONG SIZEOF_LONG + +#else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */ + + /* Following cpp computation of the bit length of `int` and `long` */ + /* is copied from default `include/freetype/config/ftconfig.h`. */ + /* If any improvement is required for this file, it should be */ + /* applied to the original header file for the builders that do */ + /* not use configure script. */ + + /* The size of an `int` type. */ +#if FT_UINT_MAX == 0xFFFFUL +#define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT ) +#elif FT_UINT_MAX == 0xFFFFFFFFUL +#define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT ) +#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL +#define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT ) +#else +#error "Unsupported size of `int' type!" +#endif + + /* The size of a `long` type. A five-byte `long` (as used e.g. on the */ + /* DM642) is recognized but avoided. */ +#if FT_ULONG_MAX == 0xFFFFFFFFUL +#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT ) +#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL +#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT ) +#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL +#define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT ) +#else +#error "Unsupported size of `long' type!" +#endif + +#endif /* !FT_USE_AUTOCONF_SIZEOF_TYPES */ + + /* `FT_UNUSED` indicates that a given parameter is not used -- */ + /* this is only used to get rid of unpleasant compiler warnings. */ +#ifndef FT_UNUSED +#define FT_UNUSED( arg ) ( (arg) = (arg) ) +#endif + + + /************************************************************************** + * + * AUTOMATIC CONFIGURATION MACROS + * + * These macros are computed from the ones defined above. Don't touch + * their definition, unless you know precisely what you are doing. No + * porter should need to mess with them. + * + */ + + + /************************************************************************** + * + * Mac support + * + * This is the only necessary change, so it is defined here instead + * providing a new configuration file. + */ +#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) ) + /* No Carbon frameworks for 64bit 10.4.x. */ + /* `AvailabilityMacros.h` is available since Mac OS X 10.2, */ + /* so guess the system version by maximum errno before inclusion. */ +#include +#ifdef ECANCELED /* defined since 10.2 */ +#include "AvailabilityMacros.h" +#endif +#if defined( __LP64__ ) && \ + ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 ) +#undef FT_MACINTOSH +#endif + +#elif defined( __SC__ ) || defined( __MRC__ ) + /* Classic MacOS compilers */ +#include "ConditionalMacros.h" +#if TARGET_OS_MAC +#define FT_MACINTOSH 1 +#endif + +#endif + + + /* Fix compiler warning with sgi compiler. */ +#if defined( __sgi ) && !defined( __GNUC__ ) +#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 ) +#pragma set woff 3505 +#endif +#endif + + + /************************************************************************** + * + * @section: + * basic_types + * + */ + + + /************************************************************************** + * + * @type: + * FT_Int16 + * + * @description: + * A typedef for a 16bit signed integer type. + */ + typedef signed short FT_Int16; + + + /************************************************************************** + * + * @type: + * FT_UInt16 + * + * @description: + * A typedef for a 16bit unsigned integer type. + */ + typedef unsigned short FT_UInt16; + + /* */ + + + /* this #if 0 ... #endif clause is for documentation purposes */ +#if 0 + + /************************************************************************** + * + * @type: + * FT_Int32 + * + * @description: + * A typedef for a 32bit signed integer type. The size depends on the + * configuration. + */ + typedef signed XXX FT_Int32; + + + /************************************************************************** + * + * @type: + * FT_UInt32 + * + * A typedef for a 32bit unsigned integer type. The size depends on the + * configuration. + */ + typedef unsigned XXX FT_UInt32; + + + /************************************************************************** + * + * @type: + * FT_Int64 + * + * A typedef for a 64bit signed integer type. The size depends on the + * configuration. Only defined if there is real 64bit support; + * otherwise, it gets emulated with a structure (if necessary). + */ + typedef signed XXX FT_Int64; + + + /************************************************************************** + * + * @type: + * FT_UInt64 + * + * A typedef for a 64bit unsigned integer type. The size depends on the + * configuration. Only defined if there is real 64bit support; + * otherwise, it gets emulated with a structure (if necessary). + */ + typedef unsigned XXX FT_UInt64; + + /* */ + +#endif + +#if FT_SIZEOF_INT == 4 + + typedef signed int FT_Int32; + typedef unsigned int FT_UInt32; + +#elif FT_SIZEOF_LONG == 4 + + typedef signed long FT_Int32; + typedef unsigned long FT_UInt32; + +#else +#error "no 32bit type found -- please check your configuration files" +#endif + + + /* look up an integer type that is at least 32~bits */ +#if FT_SIZEOF_INT >= 4 + + typedef int FT_Fast; + typedef unsigned int FT_UFast; + +#elif FT_SIZEOF_LONG >= 4 + + typedef long FT_Fast; + typedef unsigned long FT_UFast; + +#endif + + + /* determine whether we have a 64-bit `int` type for platforms without */ + /* Autoconf */ +#if FT_SIZEOF_LONG == 8 + + /* `FT_LONG64` must be defined if a 64-bit type is available */ +#define FT_LONG64 +#define FT_INT64 long +#define FT_UINT64 unsigned long + + /* we handle the LLP64 scheme separately for GCC and clang, */ + /* suppressing the `long long` warning */ +#elif ( FT_SIZEOF_LONG == 4 ) && \ + defined( HAVE_LONG_LONG_INT ) && \ + defined( __GNUC__ ) +#pragma GCC diagnostic ignored "-Wlong-long" +#define FT_LONG64 +#define FT_INT64 long long int +#define FT_UINT64 unsigned long long int + + /************************************************************************** + * + * A 64-bit data type may create compilation problems if you compile in + * strict ANSI mode. To avoid them, we disable other 64-bit data types if + * `__STDC__` is defined. You can however ignore this rule by defining the + * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro. + */ +#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 ) + +#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L + +#define FT_LONG64 +#define FT_INT64 long long int +#define FT_UINT64 unsigned long long int + +#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ + + /* this compiler provides the `__int64` type */ +#define FT_LONG64 +#define FT_INT64 __int64 +#define FT_UINT64 unsigned __int64 + +#elif defined( __BORLANDC__ ) /* Borland C++ */ + + /* XXXX: We should probably check the value of `__BORLANDC__` in order */ + /* to test the compiler version. */ + + /* this compiler provides the `__int64` type */ +#define FT_LONG64 +#define FT_INT64 __int64 +#define FT_UINT64 unsigned __int64 + +#elif defined( __WATCOMC__ ) /* Watcom C++ */ + + /* Watcom doesn't provide 64-bit data types */ + +#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */ + +#define FT_LONG64 +#define FT_INT64 long long int +#define FT_UINT64 unsigned long long int + +#elif defined( __GNUC__ ) + + /* GCC provides the `long long` type */ +#define FT_LONG64 +#define FT_INT64 long long int +#define FT_UINT64 unsigned long long int + +#endif /* __STDC_VERSION__ >= 199901L */ + +#endif /* FT_SIZEOF_LONG == 8 */ + +#ifdef FT_LONG64 + typedef FT_INT64 FT_Int64; + typedef FT_UINT64 FT_UInt64; +#endif + + +#ifdef _WIN64 + /* only 64bit Windows uses the LLP64 data model, i.e., */ + /* 32bit integers, 64bit pointers */ +#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x) +#else +#define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x) +#endif + + + /************************************************************************** + * + * miscellaneous + * + */ + + +#define FT_BEGIN_STMNT do { +#define FT_END_STMNT } while ( 0 ) +#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT + + + /* `typeof` condition taken from gnulib's `intprops.h` header file */ +#if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 ) || \ + ( defined( __IBMC__ ) && __IBMC__ >= 1210 && \ + defined( __IBM__TYPEOF__ ) ) || \ + ( defined( __SUNPRO_C ) && __SUNPRO_C >= 0x5110 && !__STDC__ ) ) +#define FT_TYPEOF( type ) ( __typeof__ ( type ) ) +#else +#define FT_TYPEOF( type ) /* empty */ +#endif + + + /* Use `FT_LOCAL` and `FT_LOCAL_DEF` to declare and define, */ + /* respectively, a function that gets used only within the scope of a */ + /* module. Normally, both the header and source code files for such a */ + /* function are within a single module directory. */ + /* */ + /* Intra-module arrays should be tagged with `FT_LOCAL_ARRAY` and */ + /* `FT_LOCAL_ARRAY_DEF`. */ + /* */ +#ifdef FT_MAKE_OPTION_SINGLE_OBJECT + +#define FT_LOCAL( x ) static x +#define FT_LOCAL_DEF( x ) static x + +#else + +#ifdef __cplusplus +#define FT_LOCAL( x ) extern "C" x +#define FT_LOCAL_DEF( x ) extern "C" x +#else +#define FT_LOCAL( x ) extern x +#define FT_LOCAL_DEF( x ) x +#endif + +#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */ + +#define FT_LOCAL_ARRAY( x ) extern const x +#define FT_LOCAL_ARRAY_DEF( x ) const x + + + /* Use `FT_BASE` and `FT_BASE_DEF` to declare and define, respectively, */ + /* functions that are used in more than a single module. In the */ + /* current setup this implies that the declaration is in a header file */ + /* in the `include/freetype/internal` directory, and the function body */ + /* is in a file in `src/base`. */ + /* */ +#ifndef FT_BASE + +#ifdef __cplusplus +#define FT_BASE( x ) extern "C" x +#else +#define FT_BASE( x ) extern x +#endif + +#endif /* !FT_BASE */ + + +#ifndef FT_BASE_DEF + +#ifdef __cplusplus +#define FT_BASE_DEF( x ) x +#else +#define FT_BASE_DEF( x ) x +#endif + +#endif /* !FT_BASE_DEF */ + + + /* When compiling FreeType as a DLL or DSO with hidden visibility */ + /* some systems/compilers need a special attribute in front OR after */ + /* the return type of function declarations. */ + /* */ + /* Two macros are used within the FreeType source code to define */ + /* exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`. */ + /* */ + /* - `FT_EXPORT( return_type )` */ + /* */ + /* is used in a function declaration, as in */ + /* */ + /* ``` */ + /* FT_EXPORT( FT_Error ) */ + /* FT_Init_FreeType( FT_Library* alibrary ); */ + /* ``` */ + /* */ + /* - `FT_EXPORT_DEF( return_type )` */ + /* */ + /* is used in a function definition, as in */ + /* */ + /* ``` */ + /* FT_EXPORT_DEF( FT_Error ) */ + /* FT_Init_FreeType( FT_Library* alibrary ) */ + /* { */ + /* ... some code ... */ + /* return FT_Err_Ok; */ + /* } */ + /* ``` */ + /* */ + /* You can provide your own implementation of `FT_EXPORT` and */ + /* `FT_EXPORT_DEF` here if you want. */ + /* */ + /* To export a variable, use `FT_EXPORT_VAR`. */ + /* */ +#ifndef FT_EXPORT + +#ifdef FT2_BUILD_LIBRARY + +#if defined( _WIN32 ) && defined( DLL_EXPORT ) +#define FT_EXPORT( x ) __declspec( dllexport ) x +#elif defined( __GNUC__ ) && __GNUC__ >= 4 +#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x +#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550 +#define FT_EXPORT( x ) __global x +#elif defined( __cplusplus ) +#define FT_EXPORT( x ) extern "C" x +#else +#define FT_EXPORT( x ) extern x +#endif + +#else + +#if defined( _WIN32 ) && defined( DLL_IMPORT ) +#define FT_EXPORT( x ) __declspec( dllimport ) x +#elif defined( __cplusplus ) +#define FT_EXPORT( x ) extern "C" x +#else +#define FT_EXPORT( x ) extern x +#endif + +#endif + +#endif /* !FT_EXPORT */ + + +#ifndef FT_EXPORT_DEF + +#ifdef __cplusplus +#define FT_EXPORT_DEF( x ) extern "C" x +#else +#define FT_EXPORT_DEF( x ) extern x +#endif + +#endif /* !FT_EXPORT_DEF */ + + +#ifndef FT_EXPORT_VAR + +#ifdef __cplusplus +#define FT_EXPORT_VAR( x ) extern "C" x +#else +#define FT_EXPORT_VAR( x ) extern x +#endif + +#endif /* !FT_EXPORT_VAR */ + + + /* The following macros are needed to compile the library with a */ + /* C++ compiler and with 16bit compilers. */ + /* */ + + /* This is special. Within C++, you must specify `extern "C"` for */ + /* functions which are used via function pointers, and you also */ + /* must do that for structures which contain function pointers to */ + /* assure C linkage -- it's not possible to have (local) anonymous */ + /* functions which are accessed by (global) function pointers. */ + /* */ + /* */ + /* FT_CALLBACK_DEF is used to _define_ a callback function, */ + /* located in the same source code file as the structure that uses */ + /* it. */ + /* */ + /* FT_BASE_CALLBACK and FT_BASE_CALLBACK_DEF are used to declare */ + /* and define a callback function, respectively, in a similar way */ + /* as FT_BASE and FT_BASE_DEF work. */ + /* */ + /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */ + /* contains pointers to callback functions. */ + /* */ + /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ + /* that contains pointers to callback functions. */ + /* */ + /* */ + /* Some 16bit compilers have to redefine these macros to insert */ + /* the infamous `_cdecl` or `__fastcall` declarations. */ + /* */ +#ifndef FT_CALLBACK_DEF +#ifdef __cplusplus +#define FT_CALLBACK_DEF( x ) extern "C" x +#else +#define FT_CALLBACK_DEF( x ) static x +#endif +#endif /* FT_CALLBACK_DEF */ + +#ifndef FT_BASE_CALLBACK +#ifdef __cplusplus +#define FT_BASE_CALLBACK( x ) extern "C" x +#define FT_BASE_CALLBACK_DEF( x ) extern "C" x +#else +#define FT_BASE_CALLBACK( x ) extern x +#define FT_BASE_CALLBACK_DEF( x ) x +#endif +#endif /* FT_BASE_CALLBACK */ + +#ifndef FT_CALLBACK_TABLE +#ifdef __cplusplus +#define FT_CALLBACK_TABLE extern "C" +#define FT_CALLBACK_TABLE_DEF extern "C" +#else +#define FT_CALLBACK_TABLE extern +#define FT_CALLBACK_TABLE_DEF /* nothing */ +#endif +#endif /* FT_CALLBACK_TABLE */ + + +FT_END_HEADER + + +#endif /* FTCONFIG_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/config/ftheader.h b/android/x86_64/include/freetype/config/ftheader.h new file mode 100644 index 00000000..696d6ba9 --- /dev/null +++ b/android/x86_64/include/freetype/config/ftheader.h @@ -0,0 +1,814 @@ +/**************************************************************************** + * + * ftheader.h + * + * Build macros of the FreeType 2 library. + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + +#ifndef FTHEADER_H_ +#define FTHEADER_H_ + + + /*@***********************************************************************/ + /* */ + /* */ + /* FT_BEGIN_HEADER */ + /* */ + /* */ + /* This macro is used in association with @FT_END_HEADER in header */ + /* files to ensure that the declarations within are properly */ + /* encapsulated in an `extern "C" { .. }` block when included from a */ + /* C++ compiler. */ + /* */ +#ifdef __cplusplus +#define FT_BEGIN_HEADER extern "C" { +#else +#define FT_BEGIN_HEADER /* nothing */ +#endif + + + /*@***********************************************************************/ + /* */ + /* */ + /* FT_END_HEADER */ + /* */ + /* */ + /* This macro is used in association with @FT_BEGIN_HEADER in header */ + /* files to ensure that the declarations within are properly */ + /* encapsulated in an `extern "C" { .. }` block when included from a */ + /* C++ compiler. */ + /* */ +#ifdef __cplusplus +#define FT_END_HEADER } +#else +#define FT_END_HEADER /* nothing */ +#endif + + + /************************************************************************** + * + * Aliases for the FreeType 2 public and configuration files. + * + */ + + /************************************************************************** + * + * @section: + * header_file_macros + * + * @title: + * Header File Macros + * + * @abstract: + * Macro definitions used to `#include` specific header files. + * + * @description: + * The following macros are defined to the name of specific FreeType~2 + * header files. They can be used directly in `#include` statements as + * in: + * + * ``` + * #include FT_FREETYPE_H + * #include FT_MULTIPLE_MASTERS_H + * #include FT_GLYPH_H + * ``` + * + * There are several reasons why we are now using macros to name public + * header files. The first one is that such macros are not limited to + * the infamous 8.3~naming rule required by DOS (and + * `FT_MULTIPLE_MASTERS_H` is a lot more meaningful than `ftmm.h`). + * + * The second reason is that it allows for more flexibility in the way + * FreeType~2 is installed on a given system. + * + */ + + + /* configuration files */ + + /************************************************************************** + * + * @macro: + * FT_CONFIG_CONFIG_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * FreeType~2 configuration data. + * + */ +#ifndef FT_CONFIG_CONFIG_H +#define FT_CONFIG_CONFIG_H +#endif + + + /************************************************************************** + * + * @macro: + * FT_CONFIG_STANDARD_LIBRARY_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * FreeType~2 interface to the standard C library functions. + * + */ +#ifndef FT_CONFIG_STANDARD_LIBRARY_H +#define FT_CONFIG_STANDARD_LIBRARY_H +#endif + + + /************************************************************************** + * + * @macro: + * FT_CONFIG_OPTIONS_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * FreeType~2 project-specific configuration options. + * + */ +#ifndef FT_CONFIG_OPTIONS_H +#define FT_CONFIG_OPTIONS_H +#endif + + + /************************************************************************** + * + * @macro: + * FT_CONFIG_MODULES_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * list of FreeType~2 modules that are statically linked to new library + * instances in @FT_Init_FreeType. + * + */ +#ifndef FT_CONFIG_MODULES_H +#define FT_CONFIG_MODULES_H +#endif + + /* */ + + /* public headers */ + + /************************************************************************** + * + * @macro: + * FT_FREETYPE_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * base FreeType~2 API. + * + */ +#define FT_FREETYPE_H + + + /************************************************************************** + * + * @macro: + * FT_ERRORS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * list of FreeType~2 error codes (and messages). + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_ERRORS_H + + + /************************************************************************** + * + * @macro: + * FT_MODULE_ERRORS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * list of FreeType~2 module error offsets (and messages). + * + */ +#define FT_MODULE_ERRORS_H + + + /************************************************************************** + * + * @macro: + * FT_SYSTEM_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 interface to low-level operations (i.e., memory management + * and stream i/o). + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_SYSTEM_H + + + /************************************************************************** + * + * @macro: + * FT_IMAGE_H + * + * @description: + * A macro used in `#include` statements to name the file containing type + * definitions related to glyph images (i.e., bitmaps, outlines, + * scan-converter parameters). + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_IMAGE_H + + + /************************************************************************** + * + * @macro: + * FT_TYPES_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * basic data types defined by FreeType~2. + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_TYPES_H + + + /************************************************************************** + * + * @macro: + * FT_LIST_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * list management API of FreeType~2. + * + * (Most applications will never need to include this file.) + * + */ +#define FT_LIST_H + + + /************************************************************************** + * + * @macro: + * FT_OUTLINE_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * scalable outline management API of FreeType~2. + * + */ +#define FT_OUTLINE_H + + + /************************************************************************** + * + * @macro: + * FT_SIZES_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * API which manages multiple @FT_Size objects per face. + * + */ +#define FT_SIZES_H + + + /************************************************************************** + * + * @macro: + * FT_MODULE_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * module management API of FreeType~2. + * + */ +#define FT_MODULE_H + + + /************************************************************************** + * + * @macro: + * FT_RENDER_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * renderer module management API of FreeType~2. + * + */ +#define FT_RENDER_H + + + /************************************************************************** + * + * @macro: + * FT_DRIVER_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * structures and macros related to the driver modules. + * + */ +#define FT_DRIVER_H + + + /************************************************************************** + * + * @macro: + * FT_AUTOHINTER_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * structures and macros related to the auto-hinting module. + * + * Deprecated since version~2.9; use @FT_DRIVER_H instead. + * + */ +#define FT_AUTOHINTER_H FT_DRIVER_H + + + /************************************************************************** + * + * @macro: + * FT_CFF_DRIVER_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * structures and macros related to the CFF driver module. + * + * Deprecated since version~2.9; use @FT_DRIVER_H instead. + * + */ +#define FT_CFF_DRIVER_H FT_DRIVER_H + + + /************************************************************************** + * + * @macro: + * FT_TRUETYPE_DRIVER_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * structures and macros related to the TrueType driver module. + * + * Deprecated since version~2.9; use @FT_DRIVER_H instead. + * + */ +#define FT_TRUETYPE_DRIVER_H FT_DRIVER_H + + + /************************************************************************** + * + * @macro: + * FT_PCF_DRIVER_H + * + * @description: + * A macro used in `#include` statements to name the file containing + * structures and macros related to the PCF driver module. + * + * Deprecated since version~2.9; use @FT_DRIVER_H instead. + * + */ +#define FT_PCF_DRIVER_H FT_DRIVER_H + + + /************************************************************************** + * + * @macro: + * FT_TYPE1_TABLES_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * types and API specific to the Type~1 format. + * + */ +#define FT_TYPE1_TABLES_H + + + /************************************************************************** + * + * @macro: + * FT_TRUETYPE_IDS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * enumeration values which identify name strings, languages, encodings, + * etc. This file really contains a _large_ set of constant macro + * definitions, taken from the TrueType and OpenType specifications. + * + */ +#define FT_TRUETYPE_IDS_H + + + /************************************************************************** + * + * @macro: + * FT_TRUETYPE_TABLES_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * types and API specific to the TrueType (as well as OpenType) format. + * + */ +#define FT_TRUETYPE_TABLES_H + + + /************************************************************************** + * + * @macro: + * FT_TRUETYPE_TAGS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * definitions of TrueType four-byte 'tags' which identify blocks in + * SFNT-based font formats (i.e., TrueType and OpenType). + * + */ +#define FT_TRUETYPE_TAGS_H + + + /************************************************************************** + * + * @macro: + * FT_BDF_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * definitions of an API which accesses BDF-specific strings from a face. + * + */ +#define FT_BDF_H + + + /************************************************************************** + * + * @macro: + * FT_CID_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * definitions of an API which access CID font information from a face. + * + */ +#define FT_CID_H + + + /************************************************************************** + * + * @macro: + * FT_GZIP_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * definitions of an API which supports gzip-compressed files. + * + */ +#define FT_GZIP_H + + + /************************************************************************** + * + * @macro: + * FT_LZW_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * definitions of an API which supports LZW-compressed files. + * + */ +#define FT_LZW_H + + + /************************************************************************** + * + * @macro: + * FT_BZIP2_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * definitions of an API which supports bzip2-compressed files. + * + */ +#define FT_BZIP2_H + + + /************************************************************************** + * + * @macro: + * FT_WINFONTS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * definitions of an API which supports Windows FNT files. + * + */ +#define FT_WINFONTS_H + + + /************************************************************************** + * + * @macro: + * FT_GLYPH_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * API of the optional glyph management component. + * + */ +#define FT_GLYPH_H + + + /************************************************************************** + * + * @macro: + * FT_BITMAP_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * API of the optional bitmap conversion component. + * + */ +#define FT_BITMAP_H + + + /************************************************************************** + * + * @macro: + * FT_BBOX_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * API of the optional exact bounding box computation routines. + * + */ +#define FT_BBOX_H + + + /************************************************************************** + * + * @macro: + * FT_CACHE_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * API of the optional FreeType~2 cache sub-system. + * + */ +#define FT_CACHE_H + + + /************************************************************************** + * + * @macro: + * FT_MAC_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * Macintosh-specific FreeType~2 API. The latter is used to access fonts + * embedded in resource forks. + * + * This header file must be explicitly included by client applications + * compiled on the Mac (note that the base API still works though). + * + */ +#define FT_MAC_H + + + /************************************************************************** + * + * @macro: + * FT_MULTIPLE_MASTERS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * optional multiple-masters management API of FreeType~2. + * + */ +#define FT_MULTIPLE_MASTERS_H + + + /************************************************************************** + * + * @macro: + * FT_SFNT_NAMES_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * optional FreeType~2 API which accesses embedded 'name' strings in + * SFNT-based font formats (i.e., TrueType and OpenType). + * + */ +#define FT_SFNT_NAMES_H + + + /************************************************************************** + * + * @macro: + * FT_OPENTYPE_VALIDATE_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * optional FreeType~2 API which validates OpenType tables ('BASE', + * 'GDEF', 'GPOS', 'GSUB', 'JSTF'). + * + */ +#define FT_OPENTYPE_VALIDATE_H + + + /************************************************************************** + * + * @macro: + * FT_GX_VALIDATE_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * optional FreeType~2 API which validates TrueTypeGX/AAT tables ('feat', + * 'mort', 'morx', 'bsln', 'just', 'kern', 'opbd', 'trak', 'prop'). + * + */ +#define FT_GX_VALIDATE_H + + + /************************************************************************** + * + * @macro: + * FT_PFR_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which accesses PFR-specific data. + * + */ +#define FT_PFR_H + + + /************************************************************************** + * + * @macro: + * FT_STROKER_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which provides functions to stroke outline paths. + */ +#define FT_STROKER_H + + + /************************************************************************** + * + * @macro: + * FT_SYNTHESIS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which performs artificial obliquing and emboldening. + */ +#define FT_SYNTHESIS_H + + + /************************************************************************** + * + * @macro: + * FT_FONT_FORMATS_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which provides functions specific to font formats. + */ +#define FT_FONT_FORMATS_H + + /* deprecated */ +#define FT_XFREE86_H FT_FONT_FORMATS_H + + + /************************************************************************** + * + * @macro: + * FT_TRIGONOMETRY_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which performs trigonometric computations (e.g., + * cosines and arc tangents). + */ +#define FT_TRIGONOMETRY_H + + + /************************************************************************** + * + * @macro: + * FT_LCD_FILTER_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which performs color filtering for subpixel rendering. + */ +#define FT_LCD_FILTER_H + + + /************************************************************************** + * + * @macro: + * FT_INCREMENTAL_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which performs incremental glyph loading. + */ +#define FT_INCREMENTAL_H + + + /************************************************************************** + * + * @macro: + * FT_GASP_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which returns entries from the TrueType GASP table. + */ +#define FT_GASP_H + + + /************************************************************************** + * + * @macro: + * FT_ADVANCES_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which returns individual and ranged glyph advances. + */ +#define FT_ADVANCES_H + + + /************************************************************************** + * + * @macro: + * FT_COLOR_H + * + * @description: + * A macro used in `#include` statements to name the file containing the + * FreeType~2 API which handles the OpenType 'CPAL' table. + */ +#define FT_COLOR_H + + + /* */ + + /* These header files don't need to be included by the user. */ +#define FT_ERROR_DEFINITIONS_H +#define FT_PARAMETER_TAGS_H + + /* Deprecated macros. */ +#define FT_UNPATENTED_HINTING_H +#define FT_TRUETYPE_UNPATENTED_H + + /* `FT_CACHE_H` is the only header file needed for the cache subsystem. */ +#define FT_CACHE_IMAGE_H FT_CACHE_H +#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H +#define FT_CACHE_CHARMAP_H FT_CACHE_H + + /* The internals of the cache sub-system are no longer exposed. We */ + /* default to `FT_CACHE_H` at the moment just in case, but we know */ + /* of no rogue client that uses them. */ + /* */ +#define FT_CACHE_MANAGER_H FT_CACHE_H +#define FT_CACHE_INTERNAL_MRU_H FT_CACHE_H +#define FT_CACHE_INTERNAL_MANAGER_H FT_CACHE_H +#define FT_CACHE_INTERNAL_CACHE_H FT_CACHE_H +#define FT_CACHE_INTERNAL_GLYPH_H FT_CACHE_H +#define FT_CACHE_INTERNAL_IMAGE_H FT_CACHE_H +#define FT_CACHE_INTERNAL_SBITS_H FT_CACHE_H + + + /* + * Include internal headers definitions from `` only when + * building the library. + */ +#ifdef FT2_BUILD_LIBRARY +#define FT_INTERNAL_INTERNAL_H +#include FT_INTERNAL_INTERNAL_H +#endif /* FT2_BUILD_LIBRARY */ + + +#endif /* FTHEADER_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/config/ftmodule.h b/android/x86_64/include/freetype/config/ftmodule.h new file mode 100644 index 00000000..b7299779 --- /dev/null +++ b/android/x86_64/include/freetype/config/ftmodule.h @@ -0,0 +1,20 @@ +/* This is a generated file. */ +FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) +FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) +FT_USE_MODULE( FT_Module_Class, autofit_module_class ) +FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class ) +FT_USE_MODULE( FT_Module_Class, psaux_module_class ) +FT_USE_MODULE( FT_Module_Class, psnames_module_class ) +/* EOF */ diff --git a/android/x86_64/include/freetype/config/ftoption.h b/android/x86_64/include/freetype/config/ftoption.h new file mode 100644 index 00000000..5e3e5673 --- /dev/null +++ b/android/x86_64/include/freetype/config/ftoption.h @@ -0,0 +1,982 @@ +/**************************************************************************** + * + * ftoption.h + * + * User-selectable configuration macros (specification only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTOPTION_H_ +#define FTOPTION_H_ + + +#include "../ft2build.h" + + +FT_BEGIN_HEADER + + /************************************************************************** + * + * USER-SELECTABLE CONFIGURATION MACROS + * + * This file contains the default configuration macro definitions for a + * standard build of the FreeType library. There are three ways to use + * this file to build project-specific versions of the library: + * + * - You can modify this file by hand, but this is not recommended in + * cases where you would like to build several versions of the library + * from a single source directory. + * + * - You can put a copy of this file in your build directory, more + * precisely in `$BUILD/freetype/config/ftoption.h`, where `$BUILD` is + * the name of a directory that is included _before_ the FreeType include + * path during compilation. + * + * The default FreeType Makefiles and Jamfiles use the build directory + * `builds/` by default, but you can easily change that for your + * own projects. + * + * - Copy the file "ft2build.h" to `$BUILD/ft2build.h` and modify it + * slightly to pre-define the macro `FT_CONFIG_OPTIONS_H` used to locate + * this file during the build. For example, + * + * ``` + * #define FT_CONFIG_OPTIONS_H + * #include + * ``` + * + * will use `$BUILD/myftoptions.h` instead of this file for macro + * definitions. + * + * Note also that you can similarly pre-define the macro + * `FT_CONFIG_MODULES_H` used to locate the file listing of the modules + * that are statically linked to the library at compile time. By + * default, this file is ``. + * + * We highly recommend using the third method whenever possible. + * + */ + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /*#************************************************************************ + * + * If you enable this configuration option, FreeType recognizes an + * environment variable called `FREETYPE_PROPERTIES`, which can be used to + * control the various font drivers and modules. The controllable + * properties are listed in the section @properties. + * + * You have to undefine this configuration option on platforms that lack + * the concept of environment variables (and thus don't have the `getenv` + * function), for example Windows CE. + * + * `FREETYPE_PROPERTIES` has the following syntax form (broken here into + * multiple lines for better readability). + * + * ``` + * + * ':' + * '=' + * + * ':' + * '=' + * ... + * ``` + * + * Example: + * + * ``` + * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ + * cff:no-stem-darkening=1 \ + * autofitter:warping=1 + * ``` + * + */ +#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES + + + /************************************************************************** + * + * Uncomment the line below if you want to activate LCD rendering + * technology similar to ClearType in this build of the library. This + * technology triples the resolution in the direction color subpixels. To + * mitigate color fringes inherent to this technology, you also need to + * explicitly set up LCD filtering. + * + * Note that this feature is covered by several Microsoft patents and + * should not be activated in any default build of the library. When this + * macro is not defined, FreeType offers alternative LCD rendering + * technology that produces excellent output without LCD filtering. + */ +/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ + + + /************************************************************************** + * + * Many compilers provide a non-ANSI 64-bit data type that can be used by + * FreeType to speed up some computations. However, this will create some + * problems when compiling the library in strict ANSI mode. + * + * For this reason, the use of 64-bit integers is normally disabled when + * the `__STDC__` macro is defined. You can however disable this by + * defining the macro `FT_CONFIG_OPTION_FORCE_INT64` here. + * + * For most compilers, this will only create compilation warnings when + * building the library. + * + * ObNote: The compiler-specific 64-bit integers are detected in the + * file `ftconfig.h` either statically or through the `configure` + * script on supported platforms. + */ +#undef FT_CONFIG_OPTION_FORCE_INT64 + + + /************************************************************************** + * + * If this macro is defined, do not try to use an assembler version of + * performance-critical functions (e.g., @FT_MulFix). You should only do + * that to verify that the assembler function works properly, or to execute + * benchmark tests of the various implementations. + */ +/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */ + + + /************************************************************************** + * + * If this macro is defined, try to use an inlined assembler version of the + * @FT_MulFix function, which is a 'hotspot' when loading and hinting + * glyphs, and which should be executed as fast as possible. + * + * Note that if your compiler or CPU is not supported, this will default to + * the standard and portable implementation found in `ftcalc.c`. + */ +#define FT_CONFIG_OPTION_INLINE_MULFIX + + + /************************************************************************** + * + * LZW-compressed file support. + * + * FreeType now handles font files that have been compressed with the + * `compress` program. This is mostly used to parse many of the PCF + * files that come with various X11 distributions. The implementation + * uses NetBSD's `zopen` to partially uncompress the file on the fly (see + * `src/lzw/ftgzip.c`). + * + * Define this macro if you want to enable this 'feature'. + */ +#define FT_CONFIG_OPTION_USE_LZW + + + /************************************************************************** + * + * Gzip-compressed file support. + * + * FreeType now handles font files that have been compressed with the + * `gzip` program. This is mostly used to parse many of the PCF files + * that come with XFree86. The implementation uses 'zlib' to partially + * uncompress the file on the fly (see `src/gzip/ftgzip.c`). + * + * Define this macro if you want to enable this 'feature'. See also the + * macro `FT_CONFIG_OPTION_SYSTEM_ZLIB` below. + */ +#define FT_CONFIG_OPTION_USE_ZLIB + + + /************************************************************************** + * + * ZLib library selection + * + * This macro is only used when `FT_CONFIG_OPTION_USE_ZLIB` is defined. + * It allows FreeType's 'ftgzip' component to link to the system's + * installation of the ZLib library. This is useful on systems like + * Unix or VMS where it generally is already available. + * + * If you let it undefined, the component will use its own copy of the + * zlib sources instead. These have been modified to be included + * directly within the component and **not** export external function + * names. This allows you to link any program with FreeType _and_ ZLib + * without linking conflicts. + * + * Do not `#undef` this macro here since the build system might define + * it for certain configurations only. + * + * If you use a build system like cmake or the `configure` script, + * options set by those programs have precedence, overwriting the value + * here with the configured one. + */ +#define FT_CONFIG_OPTION_SYSTEM_ZLIB + + + /************************************************************************** + * + * Bzip2-compressed file support. + * + * FreeType now handles font files that have been compressed with the + * `bzip2` program. This is mostly used to parse many of the PCF files + * that come with XFree86. The implementation uses `libbz2` to partially + * uncompress the file on the fly (see `src/bzip2/ftbzip2.c`). Contrary + * to gzip, bzip2 currently is not included and need to use the system + * available bzip2 implementation. + * + * Define this macro if you want to enable this 'feature'. + * + * If you use a build system like cmake or the `configure` script, + * options set by those programs have precedence, overwriting the value + * here with the configured one. + */ +/* #undef FT_CONFIG_OPTION_USE_BZIP2 */ + + + /************************************************************************** + * + * Define to disable the use of file stream functions and types, `FILE`, + * `fopen`, etc. Enables the use of smaller system libraries on embedded + * systems that have multiple system libraries, some with or without file + * stream support, in the cases where file stream support is not necessary + * such as memory loading of font files. + */ +/* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */ + + + /************************************************************************** + * + * PNG bitmap support. + * + * FreeType now handles loading color bitmap glyphs in the PNG format. + * This requires help from the external libpng library. Uncompressed + * color bitmaps do not need any external libraries and will be supported + * regardless of this configuration. + * + * Define this macro if you want to enable this 'feature'. + * + * If you use a build system like cmake or the `configure` script, + * options set by those programs have precedence, overwriting the value + * here with the configured one. + */ +/* #undef FT_CONFIG_OPTION_USE_PNG */ + + + /************************************************************************** + * + * HarfBuzz support. + * + * FreeType uses the HarfBuzz library to improve auto-hinting of OpenType + * fonts. If available, many glyphs not directly addressable by a font's + * character map will be hinted also. + * + * Define this macro if you want to enable this 'feature'. + * + * If you use a build system like cmake or the `configure` script, + * options set by those programs have precedence, overwriting the value + * here with the configured one. + */ +/* #undef FT_CONFIG_OPTION_USE_HARFBUZZ */ + + + /************************************************************************** + * + * Glyph Postscript Names handling + * + * By default, FreeType 2 is compiled with the 'psnames' module. This + * module is in charge of converting a glyph name string into a Unicode + * value, or return a Macintosh standard glyph name for the use with the + * TrueType 'post' table. + * + * Undefine this macro if you do not want 'psnames' compiled in your + * build of FreeType. This has the following effects: + * + * - The TrueType driver will provide its own set of glyph names, if you + * build it to support postscript names in the TrueType 'post' table, + * but will not synthesize a missing Unicode charmap. + * + * - The Type~1 driver will not be able to synthesize a Unicode charmap + * out of the glyphs found in the fonts. + * + * You would normally undefine this configuration macro when building a + * version of FreeType that doesn't contain a Type~1 or CFF driver. + */ +#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES + + + /************************************************************************** + * + * Postscript Names to Unicode Values support + * + * By default, FreeType~2 is built with the 'psnames' module compiled in. + * Among other things, the module is used to convert a glyph name into a + * Unicode value. This is especially useful in order to synthesize on + * the fly a Unicode charmap from the CFF/Type~1 driver through a big + * table named the 'Adobe Glyph List' (AGL). + * + * Undefine this macro if you do not want the Adobe Glyph List compiled + * in your 'psnames' module. The Type~1 driver will not be able to + * synthesize a Unicode charmap out of the glyphs found in the fonts. + */ +#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST + + + /************************************************************************** + * + * Support for Mac fonts + * + * Define this macro if you want support for outline fonts in Mac format + * (mac dfont, mac resource, macbinary containing a mac resource) on + * non-Mac platforms. + * + * Note that the 'FOND' resource isn't checked. + */ +#define FT_CONFIG_OPTION_MAC_FONTS + + + /************************************************************************** + * + * Guessing methods to access embedded resource forks + * + * Enable extra Mac fonts support on non-Mac platforms (e.g., GNU/Linux). + * + * Resource forks which include fonts data are stored sometimes in + * locations which users or developers don't expected. In some cases, + * resource forks start with some offset from the head of a file. In + * other cases, the actual resource fork is stored in file different from + * what the user specifies. If this option is activated, FreeType tries + * to guess whether such offsets or different file names must be used. + * + * Note that normal, direct access of resource forks is controlled via + * the `FT_CONFIG_OPTION_MAC_FONTS` option. + */ +#ifdef FT_CONFIG_OPTION_MAC_FONTS +#define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK +#endif + + + /************************************************************************** + * + * Allow the use of `FT_Incremental_Interface` to load typefaces that + * contain no glyph data, but supply it via a callback function. This is + * required by clients supporting document formats which supply font data + * incrementally as the document is parsed, such as the Ghostscript + * interpreter for the PostScript language. + */ +#define FT_CONFIG_OPTION_INCREMENTAL + + + /************************************************************************** + * + * The size in bytes of the render pool used by the scan-line converter to + * do all of its work. + */ +#define FT_RENDER_POOL_SIZE 16384L + + + /************************************************************************** + * + * FT_MAX_MODULES + * + * The maximum number of modules that can be registered in a single + * FreeType library object. 32~is the default. + */ +#define FT_MAX_MODULES 32 + + + /************************************************************************** + * + * Debug level + * + * FreeType can be compiled in debug or trace mode. In debug mode, + * errors are reported through the 'ftdebug' component. In trace mode, + * additional messages are sent to the standard output during execution. + * + * Define `FT_DEBUG_LEVEL_ERROR` to build the library in debug mode. + * Define `FT_DEBUG_LEVEL_TRACE` to build it in trace mode. + * + * Don't define any of these macros to compile in 'release' mode! + * + * Do not `#undef` these macros here since the build system might define + * them for certain configurations only. + */ +/* #define FT_DEBUG_LEVEL_ERROR */ +/* #define FT_DEBUG_LEVEL_TRACE */ + + + /************************************************************************** + * + * Autofitter debugging + * + * If `FT_DEBUG_AUTOFIT` is defined, FreeType provides some means to + * control the autofitter behaviour for debugging purposes with global + * boolean variables (consequently, you should **never** enable this + * while compiling in 'release' mode): + * + * ``` + * _af_debug_disable_horz_hints + * _af_debug_disable_vert_hints + * _af_debug_disable_blue_hints + * ``` + * + * Additionally, the following functions provide dumps of various + * internal autofit structures to stdout (using `printf`): + * + * ``` + * af_glyph_hints_dump_points + * af_glyph_hints_dump_segments + * af_glyph_hints_dump_edges + * af_glyph_hints_get_num_segments + * af_glyph_hints_get_segment_offset + * ``` + * + * As an argument, they use another global variable: + * + * ``` + * _af_debug_hints + * ``` + * + * Please have a look at the `ftgrid` demo program to see how those + * variables and macros should be used. + * + * Do not `#undef` these macros here since the build system might define + * them for certain configurations only. + */ +/* #define FT_DEBUG_AUTOFIT */ + + + /************************************************************************** + * + * Memory Debugging + * + * FreeType now comes with an integrated memory debugger that is capable + * of detecting simple errors like memory leaks or double deletes. To + * compile it within your build of the library, you should define + * `FT_DEBUG_MEMORY` here. + * + * Note that the memory debugger is only activated at runtime when when + * the _environment_ variable `FT2_DEBUG_MEMORY` is defined also! + * + * Do not `#undef` this macro here since the build system might define it + * for certain configurations only. + */ +/* #define FT_DEBUG_MEMORY */ + + + /************************************************************************** + * + * Module errors + * + * If this macro is set (which is _not_ the default), the higher byte of + * an error code gives the module in which the error has occurred, while + * the lower byte is the real error code. + * + * Setting this macro makes sense for debugging purposes only, since it + * would break source compatibility of certain programs that use + * FreeType~2. + * + * More details can be found in the files `ftmoderr.h` and `fterrors.h`. + */ +#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS + + + /************************************************************************** + * + * Error Strings + * + * If this macro is set, `FT_Error_String` will return meaningful + * descriptions. This is not enabled by default to reduce the overall + * size of FreeType. + * + * More details can be found in the file `fterrors.h`. + */ +/* #define FT_CONFIG_OPTION_ERROR_STRINGS */ + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** S F N T D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_EMBEDDED_BITMAPS` if you want to support + * embedded bitmaps in all formats using the 'sfnt' module (namely + * TrueType~& OpenType). + */ +#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_COLOR_LAYERS` if you want to support coloured + * outlines (from the 'COLR'/'CPAL' tables) in all formats using the 'sfnt' + * module (namely TrueType~& OpenType). + */ +#define TT_CONFIG_OPTION_COLOR_LAYERS + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_POSTSCRIPT_NAMES` if you want to be able to + * load and enumerate the glyph Postscript names in a TrueType or OpenType + * file. + * + * Note that when you do not compile the 'psnames' module by undefining the + * above `FT_CONFIG_OPTION_POSTSCRIPT_NAMES`, the 'sfnt' module will + * contain additional code used to read the PS Names table from a font. + * + * (By default, the module uses 'psnames' to extract glyph names.) + */ +#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_SFNT_NAMES` if your applications need to access + * the internal name table in a SFNT-based format like TrueType or + * OpenType. The name table contains various strings used to describe the + * font, like family name, copyright, version, etc. It does not contain + * any glyph name though. + * + * Accessing SFNT names is done through the functions declared in + * `ftsnames.h`. + */ +#define TT_CONFIG_OPTION_SFNT_NAMES + + + /************************************************************************** + * + * TrueType CMap support + * + * Here you can fine-tune which TrueType CMap table format shall be + * supported. + */ +#define TT_CONFIG_CMAP_FORMAT_0 +#define TT_CONFIG_CMAP_FORMAT_2 +#define TT_CONFIG_CMAP_FORMAT_4 +#define TT_CONFIG_CMAP_FORMAT_6 +#define TT_CONFIG_CMAP_FORMAT_8 +#define TT_CONFIG_CMAP_FORMAT_10 +#define TT_CONFIG_CMAP_FORMAT_12 +#define TT_CONFIG_CMAP_FORMAT_13 +#define TT_CONFIG_CMAP_FORMAT_14 + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** T R U E T Y P E D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` if you want to compile a + * bytecode interpreter in the TrueType driver. + * + * By undefining this, you will only compile the code necessary to load + * TrueType glyphs without hinting. + * + * Do not `#undef` this macro here, since the build system might define it + * for certain configurations only. + */ +#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_SUBPIXEL_HINTING` if you want to compile + * subpixel hinting support into the TrueType driver. This modifies the + * TrueType hinting mechanism when anything but `FT_RENDER_MODE_MONO` is + * requested. + * + * In particular, it modifies the bytecode interpreter to interpret (or + * not) instructions in a certain way so that all TrueType fonts look like + * they do in a Windows ClearType (DirectWrite) environment. See [1] for a + * technical overview on what this means. See `ttinterp.h` for more + * details on the LEAN option. + * + * There are three possible values. + * + * Value 1: + * This value is associated with the 'Infinality' moniker, contributed by + * an individual nicknamed Infinality with the goal of making TrueType + * fonts render better than on Windows. A high amount of configurability + * and flexibility, down to rules for single glyphs in fonts, but also + * very slow. Its experimental and slow nature and the original + * developer losing interest meant that this option was never enabled in + * default builds. + * + * The corresponding interpreter version is v38. + * + * Value 2: + * The new default mode for the TrueType driver. The Infinality code + * base was stripped to the bare minimum and all configurability removed + * in the name of speed and simplicity. The configurability was mainly + * aimed at legacy fonts like 'Arial', 'Times New Roman', or 'Courier'. + * Legacy fonts are fonts that modify vertical stems to achieve clean + * black-and-white bitmaps. The new mode focuses on applying a minimal + * set of rules to all fonts indiscriminately so that modern and web + * fonts render well while legacy fonts render okay. + * + * The corresponding interpreter version is v40. + * + * Value 3: + * Compile both, making both v38 and v40 available (the latter is the + * default). + * + * By undefining these, you get rendering behavior like on Windows without + * ClearType, i.e., Windows XP without ClearType enabled and Win9x + * (interpreter version v35). Or not, depending on how much hinting blood + * and testing tears the font designer put into a given font. If you + * define one or both subpixel hinting options, you can switch between + * between v35 and the ones you define (using `FT_Property_Set`). + * + * This option requires `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` to be + * defined. + * + * [1] + * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx + */ +/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */ +#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 +/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */ + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED` to compile the + * TrueType glyph loader to use Apple's definition of how to handle + * component offsets in composite glyphs. + * + * Apple and MS disagree on the default behavior of component offsets in + * composites. Apple says that they should be scaled by the scaling + * factors in the transformation matrix (roughly, it's more complex) while + * MS says they should not. OpenType defines two bits in the composite + * flags array which can be used to disambiguate, but old fonts will not + * have them. + * + * https://www.microsoft.com/typography/otspec/glyf.htm + * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html + */ +#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_GX_VAR_SUPPORT` if you want to include support + * for Apple's distortable font technology ('fvar', 'gvar', 'cvar', and + * 'avar' tables). Tagged 'Font Variations', this is now part of OpenType + * also. This has many similarities to Type~1 Multiple Masters support. + */ +#define TT_CONFIG_OPTION_GX_VAR_SUPPORT + + + /************************************************************************** + * + * Define `TT_CONFIG_OPTION_BDF` if you want to include support for an + * embedded 'BDF~' table within SFNT-based bitmap formats. + */ +#define TT_CONFIG_OPTION_BDF + + + /************************************************************************** + * + * Option `TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES` controls the maximum + * number of bytecode instructions executed for a single run of the + * bytecode interpreter, needed to prevent infinite loops. You don't want + * to change this except for very special situations (e.g., making a + * library fuzzer spend less time to handle broken fonts). + * + * It is not expected that this value is ever modified by a configuring + * script; instead, it gets surrounded with `#ifndef ... #endif` so that + * the value can be set as a preprocessor option on the compiler's command + * line. + */ +#ifndef TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES +#define TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES 1000000L +#endif + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * `T1_MAX_DICT_DEPTH` is the maximum depth of nest dictionaries and arrays + * in the Type~1 stream (see `t1load.c`). A minimum of~4 is required. + */ +#define T1_MAX_DICT_DEPTH 5 + + + /************************************************************************** + * + * `T1_MAX_SUBRS_CALLS` details the maximum number of nested sub-routine + * calls during glyph loading. + */ +#define T1_MAX_SUBRS_CALLS 16 + + + /************************************************************************** + * + * `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity. A + * minimum of~16 is required. + * + * The Chinese font 'MingTiEG-Medium' (covering the CNS 11643 character + * set) needs 256. + */ +#define T1_MAX_CHARSTRINGS_OPERANDS 256 + + + /************************************************************************** + * + * Define this configuration macro if you want to prevent the compilation + * of the 't1afm' module, which is in charge of reading Type~1 AFM files + * into an existing face. Note that if set, the Type~1 driver will be + * unable to produce kerning distances. + */ +#undef T1_CONFIG_OPTION_NO_AFM + + + /************************************************************************** + * + * Define this configuration macro if you want to prevent the compilation + * of the Multiple Masters font support in the Type~1 driver. + */ +#undef T1_CONFIG_OPTION_NO_MM_SUPPORT + + + /************************************************************************** + * + * `T1_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe Type~1 + * engine gets compiled into FreeType. If defined, it is possible to + * switch between the two engines using the `hinting-engine` property of + * the 'type1' driver module. + */ +/* #define T1_CONFIG_OPTION_OLD_ENGINE */ + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** C F F D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * Using `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}` it is + * possible to set up the default values of the four control points that + * define the stem darkening behaviour of the (new) CFF engine. For more + * details please read the documentation of the `darkening-parameters` + * property (file `ftdriver.h`), which allows the control at run-time. + * + * Do **not** undefine these macros! + */ +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0 + + + /************************************************************************** + * + * `CFF_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe CFF engine + * gets compiled into FreeType. If defined, it is possible to switch + * between the two engines using the `hinting-engine` property of the 'cff' + * driver module. + */ +/* #define CFF_CONFIG_OPTION_OLD_ENGINE */ + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** P C F D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * There are many PCF fonts just called 'Fixed' which look completely + * different, and which have nothing to do with each other. When selecting + * 'Fixed' in KDE or Gnome one gets results that appear rather random, the + * style changes often if one changes the size and one cannot select some + * fonts at all. This option makes the 'pcf' module prepend the foundry + * name (plus a space) to the family name. + * + * We also check whether we have 'wide' characters; all put together, we + * get family names like 'Sony Fixed' or 'Misc Fixed Wide'. + * + * If this option is activated, it can be controlled with the + * `no-long-family-names` property of the 'pcf' driver module. + */ +/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */ + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * Compile 'autofit' module with CJK (Chinese, Japanese, Korean) script + * support. + */ +#define AF_CONFIG_OPTION_CJK + + + /************************************************************************** + * + * Compile 'autofit' module with fallback Indic script support, covering + * some scripts that the 'latin' submodule of the 'autofit' module doesn't + * (yet) handle. + */ +#define AF_CONFIG_OPTION_INDIC + + + /************************************************************************** + * + * Compile 'autofit' module with warp hinting. The idea of the warping + * code is to slightly scale and shift a glyph within a single dimension so + * that as much of its segments are aligned (more or less) on the grid. To + * find out the optimal scaling and shifting value, various parameter + * combinations are tried and scored. + * + * You can switch warping on and off with the `warping` property of the + * auto-hinter (see file `ftdriver.h` for more information; by default it + * is switched off). + * + * This experimental option is not active if the rendering mode is + * `FT_RENDER_MODE_LIGHT`. + */ +#define AF_CONFIG_OPTION_USE_WARPER + + + /************************************************************************** + * + * Use TrueType-like size metrics for 'light' auto-hinting. + * + * It is strongly recommended to avoid this option, which exists only to + * help some legacy applications retain its appearance and behaviour with + * respect to auto-hinted TrueType fonts. + * + * The very reason this option exists at all are GNU/Linux distributions + * like Fedora that did not un-patch the following change (which was + * present in FreeType between versions 2.4.6 and 2.7.1, inclusive). + * + * ``` + * 2011-07-16 Steven Chu + * + * [truetype] Fix metrics on size request for scalable fonts. + * ``` + * + * This problematic commit is now reverted (more or less). + */ +/* #define AF_CONFIG_OPTION_TT_SIZE_METRICS */ + + /* */ + + + /* + * This macro is obsolete. Support has been removed in FreeType version + * 2.5. + */ +/* #define FT_CONFIG_OPTION_OLD_INTERNALS */ + + + /* + * The next three macros are defined if native TrueType hinting is + * requested by the definitions above. Don't change this. + */ +#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER +#define TT_USE_BYTECODE_INTERPRETER + +#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING +#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1 +#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY +#endif + +#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2 +#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL +#endif +#endif +#endif + + + /* + * Check CFF darkening parameters. The checks are the same as in function + * `cff_property_set` in file `cffdrivr.c`. + */ +#if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500 +#error "Invalid CFF darkening parameters!" +#endif + +FT_END_HEADER + + +#endif /* FTOPTION_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/config/ftstdlib.h b/android/x86_64/include/freetype/config/ftstdlib.h new file mode 100644 index 00000000..438b6145 --- /dev/null +++ b/android/x86_64/include/freetype/config/ftstdlib.h @@ -0,0 +1,175 @@ +/**************************************************************************** + * + * ftstdlib.h + * + * ANSI-specific library and header configuration file (specification + * only). + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * This file is used to group all `#includes` to the ANSI~C library that + * FreeType normally requires. It also defines macros to rename the + * standard functions within the FreeType source code. + * + * Load a file which defines `FTSTDLIB_H_` before this one to override it. + * + */ + + +#ifndef FTSTDLIB_H_ +#define FTSTDLIB_H_ + + +#include + +#define ft_ptrdiff_t ptrdiff_t + + + /************************************************************************** + * + * integer limits + * + * `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of + * `int` and `long` in bytes at compile-time. So far, this works for all + * platforms the library has been tested on. + * + * Note that on the extremely rare platforms that do not provide integer + * types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where + * `int` is 36~bits), we do not make any guarantee about the correct + * behaviour of FreeType~2 with all fonts. + * + * In these cases, `ftconfig.h` will refuse to compile anyway with a + * message like 'couldn't find 32-bit type' or something similar. + * + */ + + +#include + +#define FT_CHAR_BIT CHAR_BIT +#define FT_USHORT_MAX USHRT_MAX +#define FT_INT_MAX INT_MAX +#define FT_INT_MIN INT_MIN +#define FT_UINT_MAX UINT_MAX +#define FT_LONG_MIN LONG_MIN +#define FT_LONG_MAX LONG_MAX +#define FT_ULONG_MAX ULONG_MAX + + + /************************************************************************** + * + * character and string processing + * + */ + + +#include + +#define ft_memchr memchr +#define ft_memcmp memcmp +#define ft_memcpy memcpy +#define ft_memmove memmove +#define ft_memset memset +#define ft_strcat strcat +#define ft_strcmp strcmp +#define ft_strcpy strcpy +#define ft_strlen strlen +#define ft_strncmp strncmp +#define ft_strncpy strncpy +#define ft_strrchr strrchr +#define ft_strstr strstr + + + /************************************************************************** + * + * file handling + * + */ + + +#include + +#define FT_FILE FILE +#define ft_fclose fclose +#define ft_fopen fopen +#define ft_fread fread +#define ft_fseek fseek +#define ft_ftell ftell +#define ft_sprintf sprintf + + + /************************************************************************** + * + * sorting + * + */ + + +#include + +#define ft_qsort qsort + + + /************************************************************************** + * + * memory allocation + * + */ + + +#define ft_scalloc calloc +#define ft_sfree free +#define ft_smalloc malloc +#define ft_srealloc realloc + + + /************************************************************************** + * + * miscellaneous + * + */ + + +#define ft_strtol strtol +#define ft_getenv getenv + + + /************************************************************************** + * + * execution control + * + */ + + +#include + +#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */ + /* `jmp_buf` is defined as a macro */ + /* on certain platforms */ + +#define ft_longjmp longjmp +#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */ + + + /* The following is only used for debugging purposes, i.e., if */ + /* `FT_DEBUG_LEVEL_ERROR` or `FT_DEBUG_LEVEL_TRACE` are defined. */ + +#include + + +#endif /* FTSTDLIB_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/freetype.h b/android/x86_64/include/freetype/freetype.h new file mode 100644 index 00000000..82af09e9 --- /dev/null +++ b/android/x86_64/include/freetype/freetype.h @@ -0,0 +1,4880 @@ +/**************************************************************************** + * + * freetype.h + * + * FreeType high-level API and common types (specification only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FREETYPE_H_ +#define FREETYPE_H_ + + +#ifndef FT_FREETYPE_H +#error "`ft2build.h' hasn't been included yet!" +#error "Please always use macros to include FreeType header files." +#error "Example:" +#error " #include "ft2build.h"" +#error " #include FT_FREETYPE_H" +#endif + + +#include "ft2build.h" +#include FT_CONFIG_CONFIG_H +#include FT_TYPES_H +#include FT_ERRORS_H + + +FT_BEGIN_HEADER + + + + /************************************************************************** + * + * @section: + * header_inclusion + * + * @title: + * FreeType's header inclusion scheme + * + * @abstract: + * How client applications should include FreeType header files. + * + * @description: + * To be as flexible as possible (and for historical reasons), FreeType + * uses a very special inclusion scheme to load header files, for example + * + * ``` + * #include "ft2build.h" + * + * #include FT_FREETYPE_H + * #include FT_OUTLINE_H + * ``` + * + * A compiler and its preprocessor only needs an include path to find the + * file `ft2build.h`; the exact locations and names of the other FreeType + * header files are hidden by @header_file_macros, loaded by + * `ft2build.h`. The API documentation always gives the header macro + * name needed for a particular function. + * + */ + + + /************************************************************************** + * + * @section: + * user_allocation + * + * @title: + * User allocation + * + * @abstract: + * How client applications should allocate FreeType data structures. + * + * @description: + * FreeType assumes that structures allocated by the user and passed as + * arguments are zeroed out except for the actual data. In other words, + * it is recommended to use `calloc` (or variants of it) instead of + * `malloc` for allocation. + * + */ + + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* B A S I C T Y P E S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * @section: + * base_interface + * + * @title: + * Base Interface + * + * @abstract: + * The FreeType~2 base font interface. + * + * @description: + * This section describes the most important public high-level API + * functions of FreeType~2. + * + * @order: + * FT_Library + * FT_Face + * FT_Size + * FT_GlyphSlot + * FT_CharMap + * FT_Encoding + * FT_ENC_TAG + * + * FT_FaceRec + * + * FT_FACE_FLAG_SCALABLE + * FT_FACE_FLAG_FIXED_SIZES + * FT_FACE_FLAG_FIXED_WIDTH + * FT_FACE_FLAG_HORIZONTAL + * FT_FACE_FLAG_VERTICAL + * FT_FACE_FLAG_COLOR + * FT_FACE_FLAG_SFNT + * FT_FACE_FLAG_CID_KEYED + * FT_FACE_FLAG_TRICKY + * FT_FACE_FLAG_KERNING + * FT_FACE_FLAG_MULTIPLE_MASTERS + * FT_FACE_FLAG_VARIATION + * FT_FACE_FLAG_GLYPH_NAMES + * FT_FACE_FLAG_EXTERNAL_STREAM + * FT_FACE_FLAG_HINTER + * + * FT_HAS_HORIZONTAL + * FT_HAS_VERTICAL + * FT_HAS_KERNING + * FT_HAS_FIXED_SIZES + * FT_HAS_GLYPH_NAMES + * FT_HAS_COLOR + * FT_HAS_MULTIPLE_MASTERS + * + * FT_IS_SFNT + * FT_IS_SCALABLE + * FT_IS_FIXED_WIDTH + * FT_IS_CID_KEYED + * FT_IS_TRICKY + * FT_IS_NAMED_INSTANCE + * FT_IS_VARIATION + * + * FT_STYLE_FLAG_BOLD + * FT_STYLE_FLAG_ITALIC + * + * FT_SizeRec + * FT_Size_Metrics + * + * FT_GlyphSlotRec + * FT_Glyph_Metrics + * FT_SubGlyph + * + * FT_Bitmap_Size + * + * FT_Init_FreeType + * FT_Done_FreeType + * + * FT_New_Face + * FT_Done_Face + * FT_Reference_Face + * FT_New_Memory_Face + * FT_Face_Properties + * FT_Open_Face + * FT_Open_Args + * FT_Parameter + * FT_Attach_File + * FT_Attach_Stream + * + * FT_Set_Char_Size + * FT_Set_Pixel_Sizes + * FT_Request_Size + * FT_Select_Size + * FT_Size_Request_Type + * FT_Size_RequestRec + * FT_Size_Request + * FT_Set_Transform + * FT_Load_Glyph + * FT_Get_Char_Index + * FT_Get_First_Char + * FT_Get_Next_Char + * FT_Get_Name_Index + * FT_Load_Char + * + * FT_OPEN_MEMORY + * FT_OPEN_STREAM + * FT_OPEN_PATHNAME + * FT_OPEN_DRIVER + * FT_OPEN_PARAMS + * + * FT_LOAD_DEFAULT + * FT_LOAD_RENDER + * FT_LOAD_MONOCHROME + * FT_LOAD_LINEAR_DESIGN + * FT_LOAD_NO_SCALE + * FT_LOAD_NO_HINTING + * FT_LOAD_NO_BITMAP + * FT_LOAD_NO_AUTOHINT + * FT_LOAD_COLOR + * + * FT_LOAD_VERTICAL_LAYOUT + * FT_LOAD_IGNORE_TRANSFORM + * FT_LOAD_FORCE_AUTOHINT + * FT_LOAD_NO_RECURSE + * FT_LOAD_PEDANTIC + * + * FT_LOAD_TARGET_NORMAL + * FT_LOAD_TARGET_LIGHT + * FT_LOAD_TARGET_MONO + * FT_LOAD_TARGET_LCD + * FT_LOAD_TARGET_LCD_V + * + * FT_LOAD_TARGET_MODE + * + * FT_Render_Glyph + * FT_Render_Mode + * FT_Get_Kerning + * FT_Kerning_Mode + * FT_Get_Track_Kerning + * FT_Get_Glyph_Name + * FT_Get_Postscript_Name + * + * FT_CharMapRec + * FT_Select_Charmap + * FT_Set_Charmap + * FT_Get_Charmap_Index + * + * FT_Get_FSType_Flags + * FT_Get_SubGlyph_Info + * + * FT_Face_Internal + * FT_Size_Internal + * FT_Slot_Internal + * + * FT_FACE_FLAG_XXX + * FT_STYLE_FLAG_XXX + * FT_OPEN_XXX + * FT_LOAD_XXX + * FT_LOAD_TARGET_XXX + * FT_SUBGLYPH_FLAG_XXX + * FT_FSTYPE_XXX + * + * FT_HAS_FAST_GLYPHS + * + */ + + + /************************************************************************** + * + * @struct: + * FT_Glyph_Metrics + * + * @description: + * A structure to model the metrics of a single glyph. The values are + * expressed in 26.6 fractional pixel format; if the flag + * @FT_LOAD_NO_SCALE has been used while loading the glyph, values are + * expressed in font units instead. + * + * @fields: + * width :: + * The glyph's width. + * + * height :: + * The glyph's height. + * + * horiBearingX :: + * Left side bearing for horizontal layout. + * + * horiBearingY :: + * Top side bearing for horizontal layout. + * + * horiAdvance :: + * Advance width for horizontal layout. + * + * vertBearingX :: + * Left side bearing for vertical layout. + * + * vertBearingY :: + * Top side bearing for vertical layout. Larger positive values mean + * further below the vertical glyph origin. + * + * vertAdvance :: + * Advance height for vertical layout. Positive values mean the glyph + * has a positive advance downward. + * + * @note: + * If not disabled with @FT_LOAD_NO_HINTING, the values represent + * dimensions of the hinted glyph (in case hinting is applicable). + * + * Stroking a glyph with an outside border does not increase + * `horiAdvance` or `vertAdvance`; you have to manually adjust these + * values to account for the added width and height. + * + * FreeType doesn't use the 'VORG' table data for CFF fonts because it + * doesn't have an interface to quickly retrieve the glyph height. The + * y~coordinate of the vertical origin can be simply computed as + * `vertBearingY + height` after loading a glyph. + */ + typedef struct FT_Glyph_Metrics_ + { + FT_Pos width; + FT_Pos height; + + FT_Pos horiBearingX; + FT_Pos horiBearingY; + FT_Pos horiAdvance; + + FT_Pos vertBearingX; + FT_Pos vertBearingY; + FT_Pos vertAdvance; + + } FT_Glyph_Metrics; + + + /************************************************************************** + * + * @struct: + * FT_Bitmap_Size + * + * @description: + * This structure models the metrics of a bitmap strike (i.e., a set of + * glyphs for a given point size and resolution) in a bitmap font. It is + * used for the `available_sizes` field of @FT_Face. + * + * @fields: + * height :: + * The vertical distance, in pixels, between two consecutive baselines. + * It is always positive. + * + * width :: + * The average width, in pixels, of all glyphs in the strike. + * + * size :: + * The nominal size of the strike in 26.6 fractional points. This + * field is not very useful. + * + * x_ppem :: + * The horizontal ppem (nominal width) in 26.6 fractional pixels. + * + * y_ppem :: + * The vertical ppem (nominal height) in 26.6 fractional pixels. + * + * @note: + * Windows FNT: + * The nominal size given in a FNT font is not reliable. If the driver + * finds it incorrect, it sets `size` to some calculated values, and + * `x_ppem` and `y_ppem` to the pixel width and height given in the + * font, respectively. + * + * TrueType embedded bitmaps: + * `size`, `width`, and `height` values are not contained in the bitmap + * strike itself. They are computed from the global font parameters. + */ + typedef struct FT_Bitmap_Size_ + { + FT_Short height; + FT_Short width; + + FT_Pos size; + + FT_Pos x_ppem; + FT_Pos y_ppem; + + } FT_Bitmap_Size; + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* O B J E C T C L A S S E S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + /************************************************************************** + * + * @type: + * FT_Library + * + * @description: + * A handle to a FreeType library instance. Each 'library' is completely + * independent from the others; it is the 'root' of a set of objects like + * fonts, faces, sizes, etc. + * + * It also embeds a memory manager (see @FT_Memory), as well as a + * scan-line converter object (see @FT_Raster). + * + * [Since 2.5.6] In multi-threaded applications it is easiest to use one + * `FT_Library` object per thread. In case this is too cumbersome, a + * single `FT_Library` object across threads is possible also, as long as + * a mutex lock is used around @FT_New_Face and @FT_Done_Face. + * + * @note: + * Library objects are normally created by @FT_Init_FreeType, and + * destroyed with @FT_Done_FreeType. If you need reference-counting + * (cf. @FT_Reference_Library), use @FT_New_Library and @FT_Done_Library. + */ + typedef struct FT_LibraryRec_ *FT_Library; + + + /************************************************************************** + * + * @section: + * module_management + * + */ + + /************************************************************************** + * + * @type: + * FT_Module + * + * @description: + * A handle to a given FreeType module object. A module can be a font + * driver, a renderer, or anything else that provides services to the + * former. + */ + typedef struct FT_ModuleRec_* FT_Module; + + + /************************************************************************** + * + * @type: + * FT_Driver + * + * @description: + * A handle to a given FreeType font driver object. A font driver is a + * module capable of creating faces from font files. + */ + typedef struct FT_DriverRec_* FT_Driver; + + + /************************************************************************** + * + * @type: + * FT_Renderer + * + * @description: + * A handle to a given FreeType renderer. A renderer is a module in + * charge of converting a glyph's outline image to a bitmap. It supports + * a single glyph image format, and one or more target surface depths. + */ + typedef struct FT_RendererRec_* FT_Renderer; + + + /************************************************************************** + * + * @section: + * base_interface + * + */ + + /************************************************************************** + * + * @type: + * FT_Face + * + * @description: + * A handle to a typographic face object. A face object models a given + * typeface, in a given style. + * + * @note: + * A face object also owns a single @FT_GlyphSlot object, as well as one + * or more @FT_Size objects. + * + * Use @FT_New_Face or @FT_Open_Face to create a new face object from a + * given filepath or a custom input stream. + * + * Use @FT_Done_Face to destroy it (along with its slot and sizes). + * + * An `FT_Face` object can only be safely used from one thread at a time. + * Similarly, creation and destruction of `FT_Face` with the same + * @FT_Library object can only be done from one thread at a time. On the + * other hand, functions like @FT_Load_Glyph and its siblings are + * thread-safe and do not need the lock to be held as long as the same + * `FT_Face` object is not used from multiple threads at the same time. + * + * @also: + * See @FT_FaceRec for the publicly accessible fields of a given face + * object. + */ + typedef struct FT_FaceRec_* FT_Face; + + + /************************************************************************** + * + * @type: + * FT_Size + * + * @description: + * A handle to an object that models a face scaled to a given character + * size. + * + * @note: + * An @FT_Face has one _active_ @FT_Size object that is used by functions + * like @FT_Load_Glyph to determine the scaling transformation that in + * turn is used to load and hint glyphs and metrics. + * + * You can use @FT_Set_Char_Size, @FT_Set_Pixel_Sizes, @FT_Request_Size + * or even @FT_Select_Size to change the content (i.e., the scaling + * values) of the active @FT_Size. + * + * You can use @FT_New_Size to create additional size objects for a given + * @FT_Face, but they won't be used by other functions until you activate + * it through @FT_Activate_Size. Only one size can be activated at any + * given time per face. + * + * @also: + * See @FT_SizeRec for the publicly accessible fields of a given size + * object. + */ + typedef struct FT_SizeRec_* FT_Size; + + + /************************************************************************** + * + * @type: + * FT_GlyphSlot + * + * @description: + * A handle to a given 'glyph slot'. A slot is a container that can hold + * any of the glyphs contained in its parent face. + * + * In other words, each time you call @FT_Load_Glyph or @FT_Load_Char, + * the slot's content is erased by the new glyph data, i.e., the glyph's + * metrics, its image (bitmap or outline), and other control information. + * + * @also: + * See @FT_GlyphSlotRec for the publicly accessible glyph fields. + */ + typedef struct FT_GlyphSlotRec_* FT_GlyphSlot; + + + /************************************************************************** + * + * @type: + * FT_CharMap + * + * @description: + * A handle to a character map (usually abbreviated to 'charmap'). A + * charmap is used to translate character codes in a given encoding into + * glyph indexes for its parent's face. Some font formats may provide + * several charmaps per font. + * + * Each face object owns zero or more charmaps, but only one of them can + * be 'active', providing the data used by @FT_Get_Char_Index or + * @FT_Load_Char. + * + * The list of available charmaps in a face is available through the + * `face->num_charmaps` and `face->charmaps` fields of @FT_FaceRec. + * + * The currently active charmap is available as `face->charmap`. You + * should call @FT_Set_Charmap to change it. + * + * @note: + * When a new face is created (either through @FT_New_Face or + * @FT_Open_Face), the library looks for a Unicode charmap within the + * list and automatically activates it. If there is no Unicode charmap, + * FreeType doesn't set an 'active' charmap. + * + * @also: + * See @FT_CharMapRec for the publicly accessible fields of a given + * character map. + */ + typedef struct FT_CharMapRec_* FT_CharMap; + + + /************************************************************************** + * + * @macro: + * FT_ENC_TAG + * + * @description: + * This macro converts four-letter tags into an unsigned long. It is + * used to define 'encoding' identifiers (see @FT_Encoding). + * + * @note: + * Since many 16-bit compilers don't like 32-bit enumerations, you should + * redefine this macro in case of problems to something like this: + * + * ``` + * #define FT_ENC_TAG( value, a, b, c, d ) value + * ``` + * + * to get a simple enumeration without assigning special numbers. + */ + +#ifndef FT_ENC_TAG +#define FT_ENC_TAG( value, a, b, c, d ) \ + value = ( ( (FT_UInt32)(a) << 24 ) | \ + ( (FT_UInt32)(b) << 16 ) | \ + ( (FT_UInt32)(c) << 8 ) | \ + (FT_UInt32)(d) ) + +#endif /* FT_ENC_TAG */ + + + /************************************************************************** + * + * @enum: + * FT_Encoding + * + * @description: + * An enumeration to specify character sets supported by charmaps. Used + * in the @FT_Select_Charmap API function. + * + * @note: + * Despite the name, this enumeration lists specific character + * repertories (i.e., charsets), and not text encoding methods (e.g., + * UTF-8, UTF-16, etc.). + * + * Other encodings might be defined in the future. + * + * @values: + * FT_ENCODING_NONE :: + * The encoding value~0 is reserved for all formats except BDF, PCF, + * and Windows FNT; see below for more information. + * + * FT_ENCODING_UNICODE :: + * The Unicode character set. This value covers all versions of the + * Unicode repertoire, including ASCII and Latin-1. Most fonts include + * a Unicode charmap, but not all of them. + * + * For example, if you want to access Unicode value U+1F028 (and the + * font contains it), use value 0x1F028 as the input value for + * @FT_Get_Char_Index. + * + * FT_ENCODING_MS_SYMBOL :: + * Microsoft Symbol encoding, used to encode mathematical symbols and + * wingdings. For more information, see + * 'https://www.microsoft.com/typography/otspec/recom.htm', + * 'http://www.kostis.net/charsets/symbol.htm', and + * 'http://www.kostis.net/charsets/wingding.htm'. + * + * This encoding uses character codes from the PUA (Private Unicode + * Area) in the range U+F020-U+F0FF. + * + * FT_ENCODING_SJIS :: + * Shift JIS encoding for Japanese. More info at + * 'https://en.wikipedia.org/wiki/Shift_JIS'. See note on multi-byte + * encodings below. + * + * FT_ENCODING_PRC :: + * Corresponds to encoding systems mainly for Simplified Chinese as + * used in People's Republic of China (PRC). The encoding layout is + * based on GB~2312 and its supersets GBK and GB~18030. + * + * FT_ENCODING_BIG5 :: + * Corresponds to an encoding system for Traditional Chinese as used in + * Taiwan and Hong Kong. + * + * FT_ENCODING_WANSUNG :: + * Corresponds to the Korean encoding system known as Extended Wansung + * (MS Windows code page 949). For more information see + * 'https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit949.txt'. + * + * FT_ENCODING_JOHAB :: + * The Korean standard character set (KS~C 5601-1992), which + * corresponds to MS Windows code page 1361. This character set + * includes all possible Hangul character combinations. + * + * FT_ENCODING_ADOBE_LATIN_1 :: + * Corresponds to a Latin-1 encoding as defined in a Type~1 PostScript + * font. It is limited to 256 character codes. + * + * FT_ENCODING_ADOBE_STANDARD :: + * Adobe Standard encoding, as found in Type~1, CFF, and OpenType/CFF + * fonts. It is limited to 256 character codes. + * + * FT_ENCODING_ADOBE_EXPERT :: + * Adobe Expert encoding, as found in Type~1, CFF, and OpenType/CFF + * fonts. It is limited to 256 character codes. + * + * FT_ENCODING_ADOBE_CUSTOM :: + * Corresponds to a custom encoding, as found in Type~1, CFF, and + * OpenType/CFF fonts. It is limited to 256 character codes. + * + * FT_ENCODING_APPLE_ROMAN :: + * Apple roman encoding. Many TrueType and OpenType fonts contain a + * charmap for this 8-bit encoding, since older versions of Mac OS are + * able to use it. + * + * FT_ENCODING_OLD_LATIN_2 :: + * This value is deprecated and was neither used nor reported by + * FreeType. Don't use or test for it. + * + * FT_ENCODING_MS_SJIS :: + * Same as FT_ENCODING_SJIS. Deprecated. + * + * FT_ENCODING_MS_GB2312 :: + * Same as FT_ENCODING_PRC. Deprecated. + * + * FT_ENCODING_MS_BIG5 :: + * Same as FT_ENCODING_BIG5. Deprecated. + * + * FT_ENCODING_MS_WANSUNG :: + * Same as FT_ENCODING_WANSUNG. Deprecated. + * + * FT_ENCODING_MS_JOHAB :: + * Same as FT_ENCODING_JOHAB. Deprecated. + * + * @note: + * By default, FreeType enables a Unicode charmap and tags it with + * `FT_ENCODING_UNICODE` when it is either provided or can be generated + * from PostScript glyph name dictionaries in the font file. All other + * encodings are considered legacy and tagged only if explicitly defined + * in the font file. Otherwise, `FT_ENCODING_NONE` is used. + * + * `FT_ENCODING_NONE` is set by the BDF and PCF drivers if the charmap is + * neither Unicode nor ISO-8859-1 (otherwise it is set to + * `FT_ENCODING_UNICODE`). Use @FT_Get_BDF_Charset_ID to find out which + * encoding is really present. If, for example, the `cs_registry` field + * is 'KOI8' and the `cs_encoding` field is 'R', the font is encoded in + * KOI8-R. + * + * `FT_ENCODING_NONE` is always set (with a single exception) by the + * winfonts driver. Use @FT_Get_WinFNT_Header and examine the `charset` + * field of the @FT_WinFNT_HeaderRec structure to find out which encoding + * is really present. For example, @FT_WinFNT_ID_CP1251 (204) means + * Windows code page 1251 (for Russian). + * + * `FT_ENCODING_NONE` is set if `platform_id` is @TT_PLATFORM_MACINTOSH + * and `encoding_id` is not `TT_MAC_ID_ROMAN` (otherwise it is set to + * `FT_ENCODING_APPLE_ROMAN`). + * + * If `platform_id` is @TT_PLATFORM_MACINTOSH, use the function + * @FT_Get_CMap_Language_ID to query the Mac language ID that may be + * needed to be able to distinguish Apple encoding variants. See + * + * https://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt + * + * to get an idea how to do that. Basically, if the language ID is~0, + * don't use it, otherwise subtract 1 from the language ID. Then examine + * `encoding_id`. If, for example, `encoding_id` is `TT_MAC_ID_ROMAN` + * and the language ID (minus~1) is `TT_MAC_LANGID_GREEK`, it is the + * Greek encoding, not Roman. `TT_MAC_ID_ARABIC` with + * `TT_MAC_LANGID_FARSI` means the Farsi variant the Arabic encoding. + */ + typedef enum FT_Encoding_ + { + FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ), + + FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ), + FT_ENC_TAG( FT_ENCODING_UNICODE, 'u', 'n', 'i', 'c' ), + + FT_ENC_TAG( FT_ENCODING_SJIS, 's', 'j', 'i', 's' ), + FT_ENC_TAG( FT_ENCODING_PRC, 'g', 'b', ' ', ' ' ), + FT_ENC_TAG( FT_ENCODING_BIG5, 'b', 'i', 'g', '5' ), + FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ), + FT_ENC_TAG( FT_ENCODING_JOHAB, 'j', 'o', 'h', 'a' ), + + /* for backward compatibility */ + FT_ENCODING_GB2312 = FT_ENCODING_PRC, + FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS, + FT_ENCODING_MS_GB2312 = FT_ENCODING_PRC, + FT_ENCODING_MS_BIG5 = FT_ENCODING_BIG5, + FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG, + FT_ENCODING_MS_JOHAB = FT_ENCODING_JOHAB, + + FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ), + FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT, 'A', 'D', 'B', 'E' ), + FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM, 'A', 'D', 'B', 'C' ), + FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1, 'l', 'a', 't', '1' ), + + FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ), + + FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' ) + + } FT_Encoding; + + + /* these constants are deprecated; use the corresponding `FT_Encoding` */ + /* values instead */ +#define ft_encoding_none FT_ENCODING_NONE +#define ft_encoding_unicode FT_ENCODING_UNICODE +#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL +#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1 +#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2 +#define ft_encoding_sjis FT_ENCODING_SJIS +#define ft_encoding_gb2312 FT_ENCODING_PRC +#define ft_encoding_big5 FT_ENCODING_BIG5 +#define ft_encoding_wansung FT_ENCODING_WANSUNG +#define ft_encoding_johab FT_ENCODING_JOHAB + +#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD +#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT +#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM +#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN + + + /************************************************************************** + * + * @struct: + * FT_CharMapRec + * + * @description: + * The base charmap structure. + * + * @fields: + * face :: + * A handle to the parent face object. + * + * encoding :: + * An @FT_Encoding tag identifying the charmap. Use this with + * @FT_Select_Charmap. + * + * platform_id :: + * An ID number describing the platform for the following encoding ID. + * This comes directly from the TrueType specification and gets + * emulated for other formats. + * + * encoding_id :: + * A platform-specific encoding number. This also comes from the + * TrueType specification and gets emulated similarly. + */ + typedef struct FT_CharMapRec_ + { + FT_Face face; + FT_Encoding encoding; + FT_UShort platform_id; + FT_UShort encoding_id; + + } FT_CharMapRec; + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* B A S E O B J E C T C L A S S E S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * @type: + * FT_Face_Internal + * + * @description: + * An opaque handle to an `FT_Face_InternalRec` structure that models the + * private data of a given @FT_Face object. + * + * This structure might change between releases of FreeType~2 and is not + * generally available to client applications. + */ + typedef struct FT_Face_InternalRec_* FT_Face_Internal; + + + /************************************************************************** + * + * @struct: + * FT_FaceRec + * + * @description: + * FreeType root face class structure. A face object models a typeface + * in a font file. + * + * @fields: + * num_faces :: + * The number of faces in the font file. Some font formats can have + * multiple faces in a single font file. + * + * face_index :: + * This field holds two different values. Bits 0-15 are the index of + * the face in the font file (starting with value~0). They are set + * to~0 if there is only one face in the font file. + * + * [Since 2.6.1] Bits 16-30 are relevant to GX and OpenType variation + * fonts only, holding the named instance index for the current face + * index (starting with value~1; value~0 indicates font access without + * a named instance). For non-variation fonts, bits 16-30 are ignored. + * If we have the third named instance of face~4, say, `face_index` is + * set to 0x00030004. + * + * Bit 31 is always zero (this is, `face_index` is always a positive + * value). + * + * [Since 2.9] Changing the design coordinates with + * @FT_Set_Var_Design_Coordinates or @FT_Set_Var_Blend_Coordinates does + * not influence the named instance index value (only + * @FT_Set_Named_Instance does that). + * + * face_flags :: + * A set of bit flags that give important information about the face; + * see @FT_FACE_FLAG_XXX for the details. + * + * style_flags :: + * The lower 16~bits contain a set of bit flags indicating the style of + * the face; see @FT_STYLE_FLAG_XXX for the details. + * + * [Since 2.6.1] Bits 16-30 hold the number of named instances + * available for the current face if we have a GX or OpenType variation + * (sub)font. Bit 31 is always zero (this is, `style_flags` is always + * a positive value). Note that a variation font has always at least + * one named instance, namely the default instance. + * + * num_glyphs :: + * The number of glyphs in the face. If the face is scalable and has + * sbits (see `num_fixed_sizes`), it is set to the number of outline + * glyphs. + * + * For CID-keyed fonts (not in an SFNT wrapper) this value gives the + * highest CID used in the font. + * + * family_name :: + * The face's family name. This is an ASCII string, usually in + * English, that describes the typeface's family (like 'Times New + * Roman', 'Bodoni', 'Garamond', etc). This is a least common + * denominator used to list fonts. Some formats (TrueType & OpenType) + * provide localized and Unicode versions of this string. Applications + * should use the format-specific interface to access them. Can be + * `NULL` (e.g., in fonts embedded in a PDF file). + * + * In case the font doesn't provide a specific family name entry, + * FreeType tries to synthesize one, deriving it from other name + * entries. + * + * style_name :: + * The face's style name. This is an ASCII string, usually in English, + * that describes the typeface's style (like 'Italic', 'Bold', + * 'Condensed', etc). Not all font formats provide a style name, so + * this field is optional, and can be set to `NULL`. As for + * `family_name`, some formats provide localized and Unicode versions + * of this string. Applications should use the format-specific + * interface to access them. + * + * num_fixed_sizes :: + * The number of bitmap strikes in the face. Even if the face is + * scalable, there might still be bitmap strikes, which are called + * 'sbits' in that case. + * + * available_sizes :: + * An array of @FT_Bitmap_Size for all bitmap strikes in the face. It + * is set to `NULL` if there is no bitmap strike. + * + * Note that FreeType tries to sanitize the strike data since they are + * sometimes sloppy or incorrect, but this can easily fail. + * + * num_charmaps :: + * The number of charmaps in the face. + * + * charmaps :: + * An array of the charmaps of the face. + * + * generic :: + * A field reserved for client uses. See the @FT_Generic type + * description. + * + * bbox :: + * The font bounding box. Coordinates are expressed in font units (see + * `units_per_EM`). The box is large enough to contain any glyph from + * the font. Thus, `bbox.yMax` can be seen as the 'maximum ascender', + * and `bbox.yMin` as the 'minimum descender'. Only relevant for + * scalable formats. + * + * Note that the bounding box might be off by (at least) one pixel for + * hinted fonts. See @FT_Size_Metrics for further discussion. + * + * units_per_EM :: + * The number of font units per EM square for this face. This is + * typically 2048 for TrueType fonts, and 1000 for Type~1 fonts. Only + * relevant for scalable formats. + * + * ascender :: + * The typographic ascender of the face, expressed in font units. For + * font formats not having this information, it is set to `bbox.yMax`. + * Only relevant for scalable formats. + * + * descender :: + * The typographic descender of the face, expressed in font units. For + * font formats not having this information, it is set to `bbox.yMin`. + * Note that this field is negative for values below the baseline. + * Only relevant for scalable formats. + * + * height :: + * This value is the vertical distance between two consecutive + * baselines, expressed in font units. It is always positive. Only + * relevant for scalable formats. + * + * If you want the global glyph height, use `ascender - descender`. + * + * max_advance_width :: + * The maximum advance width, in font units, for all glyphs in this + * face. This can be used to make word wrapping computations faster. + * Only relevant for scalable formats. + * + * max_advance_height :: + * The maximum advance height, in font units, for all glyphs in this + * face. This is only relevant for vertical layouts, and is set to + * `height` for fonts that do not provide vertical metrics. Only + * relevant for scalable formats. + * + * underline_position :: + * The position, in font units, of the underline line for this face. + * It is the center of the underlining stem. Only relevant for + * scalable formats. + * + * underline_thickness :: + * The thickness, in font units, of the underline for this face. Only + * relevant for scalable formats. + * + * glyph :: + * The face's associated glyph slot(s). + * + * size :: + * The current active size for this face. + * + * charmap :: + * The current active charmap for this face. + * + * @note: + * Fields may be changed after a call to @FT_Attach_File or + * @FT_Attach_Stream. + * + * For an OpenType variation font, the values of the following fields can + * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if + * the font contains an 'MVAR' table: `ascender`, `descender`, `height`, + * `underline_position`, and `underline_thickness`. + * + * Especially for TrueType fonts see also the documentation for + * @FT_Size_Metrics. + */ + typedef struct FT_FaceRec_ + { + FT_Long num_faces; + FT_Long face_index; + + FT_Long face_flags; + FT_Long style_flags; + + FT_Long num_glyphs; + + FT_String* family_name; + FT_String* style_name; + + FT_Int num_fixed_sizes; + FT_Bitmap_Size* available_sizes; + + FT_Int num_charmaps; + FT_CharMap* charmaps; + + FT_Generic generic; + + /*# The following member variables (down to `underline_thickness`) */ + /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size */ + /*# for bitmap fonts. */ + FT_BBox bbox; + + FT_UShort units_per_EM; + FT_Short ascender; + FT_Short descender; + FT_Short height; + + FT_Short max_advance_width; + FT_Short max_advance_height; + + FT_Short underline_position; + FT_Short underline_thickness; + + FT_GlyphSlot glyph; + FT_Size size; + FT_CharMap charmap; + + /*@private begin */ + + FT_Driver driver; + FT_Memory memory; + FT_Stream stream; + + FT_ListRec sizes_list; + + FT_Generic autohint; /* face-specific auto-hinter data */ + void* extensions; /* unused */ + + FT_Face_Internal internal; + + /*@private end */ + + } FT_FaceRec; + + + /************************************************************************** + * + * @enum: + * FT_FACE_FLAG_XXX + * + * @description: + * A list of bit flags used in the `face_flags` field of the @FT_FaceRec + * structure. They inform client applications of properties of the + * corresponding face. + * + * @values: + * FT_FACE_FLAG_SCALABLE :: + * The face contains outline glyphs. Note that a face can contain + * bitmap strikes also, i.e., a face can have both this flag and + * @FT_FACE_FLAG_FIXED_SIZES set. + * + * FT_FACE_FLAG_FIXED_SIZES :: + * The face contains bitmap strikes. See also the `num_fixed_sizes` + * and `available_sizes` fields of @FT_FaceRec. + * + * FT_FACE_FLAG_FIXED_WIDTH :: + * The face contains fixed-width characters (like Courier, Lucida, + * MonoType, etc.). + * + * FT_FACE_FLAG_SFNT :: + * The face uses the SFNT storage scheme. For now, this means TrueType + * and OpenType. + * + * FT_FACE_FLAG_HORIZONTAL :: + * The face contains horizontal glyph metrics. This should be set for + * all common formats. + * + * FT_FACE_FLAG_VERTICAL :: + * The face contains vertical glyph metrics. This is only available in + * some formats, not all of them. + * + * FT_FACE_FLAG_KERNING :: + * The face contains kerning information. If set, the kerning distance + * can be retrieved using the function @FT_Get_Kerning. Otherwise the + * function always return the vector (0,0). Note that FreeType doesn't + * handle kerning data from the SFNT 'GPOS' table (as present in many + * OpenType fonts). + * + * FT_FACE_FLAG_FAST_GLYPHS :: + * THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT. + * + * FT_FACE_FLAG_MULTIPLE_MASTERS :: + * The face contains multiple masters and is capable of interpolating + * between them. Supported formats are Adobe MM, TrueType GX, and + * OpenType variation fonts. + * + * See section @multiple_masters for API details. + * + * FT_FACE_FLAG_GLYPH_NAMES :: + * The face contains glyph names, which can be retrieved using + * @FT_Get_Glyph_Name. Note that some TrueType fonts contain broken + * glyph name tables. Use the function @FT_Has_PS_Glyph_Names when + * needed. + * + * FT_FACE_FLAG_EXTERNAL_STREAM :: + * Used internally by FreeType to indicate that a face's stream was + * provided by the client application and should not be destroyed when + * @FT_Done_Face is called. Don't read or test this flag. + * + * FT_FACE_FLAG_HINTER :: + * The font driver has a hinting machine of its own. For example, with + * TrueType fonts, it makes sense to use data from the SFNT 'gasp' + * table only if the native TrueType hinting engine (with the bytecode + * interpreter) is available and active. + * + * FT_FACE_FLAG_CID_KEYED :: + * The face is CID-keyed. In that case, the face is not accessed by + * glyph indices but by CID values. For subsetted CID-keyed fonts this + * has the consequence that not all index values are a valid argument + * to @FT_Load_Glyph. Only the CID values for which corresponding + * glyphs in the subsetted font exist make `FT_Load_Glyph` return + * successfully; in all other cases you get an + * `FT_Err_Invalid_Argument` error. + * + * Note that CID-keyed fonts that are in an SFNT wrapper (this is, all + * OpenType/CFF fonts) don't have this flag set since the glyphs are + * accessed in the normal way (using contiguous indices); the + * 'CID-ness' isn't visible to the application. + * + * FT_FACE_FLAG_TRICKY :: + * The face is 'tricky', this is, it always needs the font format's + * native hinting engine to get a reasonable result. A typical example + * is the old Chinese font `mingli.ttf` (but not `mingliu.ttc`) that + * uses TrueType bytecode instructions to move and scale all of its + * subglyphs. + * + * It is not possible to auto-hint such fonts using + * @FT_LOAD_FORCE_AUTOHINT; it will also ignore @FT_LOAD_NO_HINTING. + * You have to set both @FT_LOAD_NO_HINTING and @FT_LOAD_NO_AUTOHINT to + * really disable hinting; however, you probably never want this except + * for demonstration purposes. + * + * Currently, there are about a dozen TrueType fonts in the list of + * tricky fonts; they are hard-coded in file `ttobjs.c`. + * + * FT_FACE_FLAG_COLOR :: + * [Since 2.5.1] The face has color glyph tables. See @FT_LOAD_COLOR + * for more information. + * + * FT_FACE_FLAG_VARIATION :: + * [Since 2.9] Set if the current face (or named instance) has been + * altered with @FT_Set_MM_Design_Coordinates, + * @FT_Set_Var_Design_Coordinates, or @FT_Set_Var_Blend_Coordinates. + * This flag is unset by a call to @FT_Set_Named_Instance. + */ +#define FT_FACE_FLAG_SCALABLE ( 1L << 0 ) +#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 ) +#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 ) +#define FT_FACE_FLAG_SFNT ( 1L << 3 ) +#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 ) +#define FT_FACE_FLAG_VERTICAL ( 1L << 5 ) +#define FT_FACE_FLAG_KERNING ( 1L << 6 ) +#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 ) +#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 ) +#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 ) +#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 ) +#define FT_FACE_FLAG_HINTER ( 1L << 11 ) +#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 ) +#define FT_FACE_FLAG_TRICKY ( 1L << 13 ) +#define FT_FACE_FLAG_COLOR ( 1L << 14 ) +#define FT_FACE_FLAG_VARIATION ( 1L << 15 ) + + + /************************************************************************** + * + * @macro: + * FT_HAS_HORIZONTAL + * + * @description: + * A macro that returns true whenever a face object contains horizontal + * metrics (this is true for all font formats though). + * + * @also: + * @FT_HAS_VERTICAL can be used to check for vertical metrics. + * + */ +#define FT_HAS_HORIZONTAL( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL ) + + + /************************************************************************** + * + * @macro: + * FT_HAS_VERTICAL + * + * @description: + * A macro that returns true whenever a face object contains real + * vertical metrics (and not only synthesized ones). + * + */ +#define FT_HAS_VERTICAL( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_VERTICAL ) + + + /************************************************************************** + * + * @macro: + * FT_HAS_KERNING + * + * @description: + * A macro that returns true whenever a face object contains kerning data + * that can be accessed with @FT_Get_Kerning. + * + */ +#define FT_HAS_KERNING( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_KERNING ) + + + /************************************************************************** + * + * @macro: + * FT_IS_SCALABLE + * + * @description: + * A macro that returns true whenever a face object contains a scalable + * font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF, and + * PFR font formats). + * + */ +#define FT_IS_SCALABLE( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_SCALABLE ) + + + /************************************************************************** + * + * @macro: + * FT_IS_SFNT + * + * @description: + * A macro that returns true whenever a face object contains a font whose + * format is based on the SFNT storage scheme. This usually means: + * TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap + * fonts. + * + * If this macro is true, all functions defined in @FT_SFNT_NAMES_H and + * @FT_TRUETYPE_TABLES_H are available. + * + */ +#define FT_IS_SFNT( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_SFNT ) + + + /************************************************************************** + * + * @macro: + * FT_IS_FIXED_WIDTH + * + * @description: + * A macro that returns true whenever a face object contains a font face + * that contains fixed-width (or 'monospace', 'fixed-pitch', etc.) + * glyphs. + * + */ +#define FT_IS_FIXED_WIDTH( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) + + + /************************************************************************** + * + * @macro: + * FT_HAS_FIXED_SIZES + * + * @description: + * A macro that returns true whenever a face object contains some + * embedded bitmaps. See the `available_sizes` field of the @FT_FaceRec + * structure. + * + */ +#define FT_HAS_FIXED_SIZES( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES ) + + + /************************************************************************** + * + * @macro: + * FT_HAS_FAST_GLYPHS + * + * @description: + * Deprecated. + * + */ +#define FT_HAS_FAST_GLYPHS( face ) 0 + + + /************************************************************************** + * + * @macro: + * FT_HAS_GLYPH_NAMES + * + * @description: + * A macro that returns true whenever a face object contains some glyph + * names that can be accessed through @FT_Get_Glyph_Name. + * + */ +#define FT_HAS_GLYPH_NAMES( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) + + + /************************************************************************** + * + * @macro: + * FT_HAS_MULTIPLE_MASTERS + * + * @description: + * A macro that returns true whenever a face object contains some + * multiple masters. The functions provided by @FT_MULTIPLE_MASTERS_H + * are then available to choose the exact design you want. + * + */ +#define FT_HAS_MULTIPLE_MASTERS( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) + + + /************************************************************************** + * + * @macro: + * FT_IS_NAMED_INSTANCE + * + * @description: + * A macro that returns true whenever a face object is a named instance + * of a GX or OpenType variation font. + * + * [Since 2.9] Changing the design coordinates with + * @FT_Set_Var_Design_Coordinates or @FT_Set_Var_Blend_Coordinates does + * not influence the return value of this macro (only + * @FT_Set_Named_Instance does that). + * + * @since: + * 2.7 + * + */ +#define FT_IS_NAMED_INSTANCE( face ) \ + ( (face)->face_index & 0x7FFF0000L ) + + + /************************************************************************** + * + * @macro: + * FT_IS_VARIATION + * + * @description: + * A macro that returns true whenever a face object has been altered by + * @FT_Set_MM_Design_Coordinates, @FT_Set_Var_Design_Coordinates, or + * @FT_Set_Var_Blend_Coordinates. + * + * @since: + * 2.9 + * + */ +#define FT_IS_VARIATION( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_VARIATION ) + + + /************************************************************************** + * + * @macro: + * FT_IS_CID_KEYED + * + * @description: + * A macro that returns true whenever a face object contains a CID-keyed + * font. See the discussion of @FT_FACE_FLAG_CID_KEYED for more details. + * + * If this macro is true, all functions defined in @FT_CID_H are + * available. + * + */ +#define FT_IS_CID_KEYED( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_CID_KEYED ) + + + /************************************************************************** + * + * @macro: + * FT_IS_TRICKY + * + * @description: + * A macro that returns true whenever a face represents a 'tricky' font. + * See the discussion of @FT_FACE_FLAG_TRICKY for more details. + * + */ +#define FT_IS_TRICKY( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_TRICKY ) + + + /************************************************************************** + * + * @macro: + * FT_HAS_COLOR + * + * @description: + * A macro that returns true whenever a face object contains tables for + * color glyphs. + * + * @since: + * 2.5.1 + * + */ +#define FT_HAS_COLOR( face ) \ + ( (face)->face_flags & FT_FACE_FLAG_COLOR ) + + + /************************************************************************** + * + * @enum: + * FT_STYLE_FLAG_XXX + * + * @description: + * A list of bit flags to indicate the style of a given face. These are + * used in the `style_flags` field of @FT_FaceRec. + * + * @values: + * FT_STYLE_FLAG_ITALIC :: + * The face style is italic or oblique. + * + * FT_STYLE_FLAG_BOLD :: + * The face is bold. + * + * @note: + * The style information as provided by FreeType is very basic. More + * details are beyond the scope and should be done on a higher level (for + * example, by analyzing various fields of the 'OS/2' table in SFNT based + * fonts). + */ +#define FT_STYLE_FLAG_ITALIC ( 1 << 0 ) +#define FT_STYLE_FLAG_BOLD ( 1 << 1 ) + + + /************************************************************************** + * + * @type: + * FT_Size_Internal + * + * @description: + * An opaque handle to an `FT_Size_InternalRec` structure, used to model + * private data of a given @FT_Size object. + */ + typedef struct FT_Size_InternalRec_* FT_Size_Internal; + + + /************************************************************************** + * + * @struct: + * FT_Size_Metrics + * + * @description: + * The size metrics structure gives the metrics of a size object. + * + * @fields: + * x_ppem :: + * The width of the scaled EM square in pixels, hence the term 'ppem' + * (pixels per EM). It is also referred to as 'nominal width'. + * + * y_ppem :: + * The height of the scaled EM square in pixels, hence the term 'ppem' + * (pixels per EM). It is also referred to as 'nominal height'. + * + * x_scale :: + * A 16.16 fractional scaling value to convert horizontal metrics from + * font units to 26.6 fractional pixels. Only relevant for scalable + * font formats. + * + * y_scale :: + * A 16.16 fractional scaling value to convert vertical metrics from + * font units to 26.6 fractional pixels. Only relevant for scalable + * font formats. + * + * ascender :: + * The ascender in 26.6 fractional pixels, rounded up to an integer + * value. See @FT_FaceRec for the details. + * + * descender :: + * The descender in 26.6 fractional pixels, rounded down to an integer + * value. See @FT_FaceRec for the details. + * + * height :: + * The height in 26.6 fractional pixels, rounded to an integer value. + * See @FT_FaceRec for the details. + * + * max_advance :: + * The maximum advance width in 26.6 fractional pixels, rounded to an + * integer value. See @FT_FaceRec for the details. + * + * @note: + * The scaling values, if relevant, are determined first during a size + * changing operation. The remaining fields are then set by the driver. + * For scalable formats, they are usually set to scaled values of the + * corresponding fields in @FT_FaceRec. Some values like ascender or + * descender are rounded for historical reasons; more precise values (for + * outline fonts) can be derived by scaling the corresponding @FT_FaceRec + * values manually, with code similar to the following. + * + * ``` + * scaled_ascender = FT_MulFix( face->ascender, + * size_metrics->y_scale ); + * ``` + * + * Note that due to glyph hinting and the selected rendering mode these + * values are usually not exact; consequently, they must be treated as + * unreliable with an error margin of at least one pixel! + * + * Indeed, the only way to get the exact metrics is to render _all_ + * glyphs. As this would be a definite performance hit, it is up to + * client applications to perform such computations. + * + * The `FT_Size_Metrics` structure is valid for bitmap fonts also. + * + * + * **TrueType fonts with native bytecode hinting** + * + * All applications that handle TrueType fonts with native hinting must + * be aware that TTFs expect different rounding of vertical font + * dimensions. The application has to cater for this, especially if it + * wants to rely on a TTF's vertical data (for example, to properly align + * box characters vertically). + * + * Only the application knows _in advance_ that it is going to use native + * hinting for TTFs! FreeType, on the other hand, selects the hinting + * mode not at the time of creating an @FT_Size object but much later, + * namely while calling @FT_Load_Glyph. + * + * Here is some pseudo code that illustrates a possible solution. + * + * ``` + * font_format = FT_Get_Font_Format( face ); + * + * if ( !strcmp( font_format, "TrueType" ) && + * do_native_bytecode_hinting ) + * { + * ascender = ROUND( FT_MulFix( face->ascender, + * size_metrics->y_scale ) ); + * descender = ROUND( FT_MulFix( face->descender, + * size_metrics->y_scale ) ); + * } + * else + * { + * ascender = size_metrics->ascender; + * descender = size_metrics->descender; + * } + * + * height = size_metrics->height; + * max_advance = size_metrics->max_advance; + * ``` + */ + typedef struct FT_Size_Metrics_ + { + FT_UShort x_ppem; /* horizontal pixels per EM */ + FT_UShort y_ppem; /* vertical pixels per EM */ + + FT_Fixed x_scale; /* scaling values used to convert font */ + FT_Fixed y_scale; /* units to 26.6 fractional pixels */ + + FT_Pos ascender; /* ascender in 26.6 frac. pixels */ + FT_Pos descender; /* descender in 26.6 frac. pixels */ + FT_Pos height; /* text height in 26.6 frac. pixels */ + FT_Pos max_advance; /* max horizontal advance, in 26.6 pixels */ + + } FT_Size_Metrics; + + + /************************************************************************** + * + * @struct: + * FT_SizeRec + * + * @description: + * FreeType root size class structure. A size object models a face + * object at a given size. + * + * @fields: + * face :: + * Handle to the parent face object. + * + * generic :: + * A typeless pointer, unused by the FreeType library or any of its + * drivers. It can be used by client applications to link their own + * data to each size object. + * + * metrics :: + * Metrics for this size object. This field is read-only. + */ + typedef struct FT_SizeRec_ + { + FT_Face face; /* parent face object */ + FT_Generic generic; /* generic pointer for client uses */ + FT_Size_Metrics metrics; /* size metrics */ + FT_Size_Internal internal; + + } FT_SizeRec; + + + /************************************************************************** + * + * @struct: + * FT_SubGlyph + * + * @description: + * The subglyph structure is an internal object used to describe + * subglyphs (for example, in the case of composites). + * + * @note: + * The subglyph implementation is not part of the high-level API, hence + * the forward structure declaration. + * + * You can however retrieve subglyph information with + * @FT_Get_SubGlyph_Info. + */ + typedef struct FT_SubGlyphRec_* FT_SubGlyph; + + + /************************************************************************** + * + * @type: + * FT_Slot_Internal + * + * @description: + * An opaque handle to an `FT_Slot_InternalRec` structure, used to model + * private data of a given @FT_GlyphSlot object. + */ + typedef struct FT_Slot_InternalRec_* FT_Slot_Internal; + + + /************************************************************************** + * + * @struct: + * FT_GlyphSlotRec + * + * @description: + * FreeType root glyph slot class structure. A glyph slot is a container + * where individual glyphs can be loaded, be they in outline or bitmap + * format. + * + * @fields: + * library :: + * A handle to the FreeType library instance this slot belongs to. + * + * face :: + * A handle to the parent face object. + * + * next :: + * In some cases (like some font tools), several glyph slots per face + * object can be a good thing. As this is rare, the glyph slots are + * listed through a direct, single-linked list using its `next` field. + * + * glyph_index :: + * [Since 2.10] The glyph index passed as an argument to @FT_Load_Glyph + * while initializing the glyph slot. + * + * generic :: + * A typeless pointer unused by the FreeType library or any of its + * drivers. It can be used by client applications to link their own + * data to each glyph slot object. + * + * metrics :: + * The metrics of the last loaded glyph in the slot. The returned + * values depend on the last load flags (see the @FT_Load_Glyph API + * function) and can be expressed either in 26.6 fractional pixels or + * font units. + * + * Note that even when the glyph image is transformed, the metrics are + * not. + * + * linearHoriAdvance :: + * The advance width of the unhinted glyph. Its value is expressed in + * 16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when + * loading the glyph. This field can be important to perform correct + * WYSIWYG layout. Only relevant for outline glyphs. + * + * linearVertAdvance :: + * The advance height of the unhinted glyph. Its value is expressed in + * 16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when + * loading the glyph. This field can be important to perform correct + * WYSIWYG layout. Only relevant for outline glyphs. + * + * advance :: + * This shorthand is, depending on @FT_LOAD_IGNORE_TRANSFORM, the + * transformed (hinted) advance width for the glyph, in 26.6 fractional + * pixel format. As specified with @FT_LOAD_VERTICAL_LAYOUT, it uses + * either the `horiAdvance` or the `vertAdvance` value of `metrics` + * field. + * + * format :: + * This field indicates the format of the image contained in the glyph + * slot. Typically @FT_GLYPH_FORMAT_BITMAP, @FT_GLYPH_FORMAT_OUTLINE, + * or @FT_GLYPH_FORMAT_COMPOSITE, but other values are possible. + * + * bitmap :: + * This field is used as a bitmap descriptor. Note that the address + * and content of the bitmap buffer can change between calls of + * @FT_Load_Glyph and a few other functions. + * + * bitmap_left :: + * The bitmap's left bearing expressed in integer pixels. + * + * bitmap_top :: + * The bitmap's top bearing expressed in integer pixels. This is the + * distance from the baseline to the top-most glyph scanline, upwards + * y~coordinates being **positive**. + * + * outline :: + * The outline descriptor for the current glyph image if its format is + * @FT_GLYPH_FORMAT_OUTLINE. Once a glyph is loaded, `outline` can be + * transformed, distorted, emboldened, etc. However, it must not be + * freed. + * + * num_subglyphs :: + * The number of subglyphs in a composite glyph. This field is only + * valid for the composite glyph format that should normally only be + * loaded with the @FT_LOAD_NO_RECURSE flag. + * + * subglyphs :: + * An array of subglyph descriptors for composite glyphs. There are + * `num_subglyphs` elements in there. Currently internal to FreeType. + * + * control_data :: + * Certain font drivers can also return the control data for a given + * glyph image (e.g. TrueType bytecode, Type~1 charstrings, etc.). + * This field is a pointer to such data; it is currently internal to + * FreeType. + * + * control_len :: + * This is the length in bytes of the control data. Currently internal + * to FreeType. + * + * other :: + * Reserved. + * + * lsb_delta :: + * The difference between hinted and unhinted left side bearing while + * auto-hinting is active. Zero otherwise. + * + * rsb_delta :: + * The difference between hinted and unhinted right side bearing while + * auto-hinting is active. Zero otherwise. + * + * @note: + * If @FT_Load_Glyph is called with default flags (see @FT_LOAD_DEFAULT) + * the glyph image is loaded in the glyph slot in its native format + * (e.g., an outline glyph for TrueType and Type~1 formats). [Since 2.9] + * The prospective bitmap metrics are calculated according to + * @FT_LOAD_TARGET_XXX and other flags even for the outline glyph, even + * if @FT_LOAD_RENDER is not set. + * + * This image can later be converted into a bitmap by calling + * @FT_Render_Glyph. This function searches the current renderer for the + * native image's format, then invokes it. + * + * The renderer is in charge of transforming the native image through the + * slot's face transformation fields, then converting it into a bitmap + * that is returned in `slot->bitmap`. + * + * Note that `slot->bitmap_left` and `slot->bitmap_top` are also used to + * specify the position of the bitmap relative to the current pen + * position (e.g., coordinates (0,0) on the baseline). Of course, + * `slot->format` is also changed to @FT_GLYPH_FORMAT_BITMAP. + * + * Here is a small pseudo code fragment that shows how to use `lsb_delta` + * and `rsb_delta` to do fractional positioning of glyphs: + * + * ``` + * FT_GlyphSlot slot = face->glyph; + * FT_Pos origin_x = 0; + * + * + * for all glyphs do + * + * + * FT_Outline_Translate( slot->outline, origin_x & 63, 0 ); + * + * + * + * + * + * origin_x += slot->advance.x; + * origin_x += slot->lsb_delta - slot->rsb_delta; + * endfor + * ``` + * + * Here is another small pseudo code fragment that shows how to use + * `lsb_delta` and `rsb_delta` to improve integer positioning of glyphs: + * + * ``` + * FT_GlyphSlot slot = face->glyph; + * FT_Pos origin_x = 0; + * FT_Pos prev_rsb_delta = 0; + * + * + * for all glyphs do + * + * + * + * + * if ( prev_rsb_delta - slot->lsb_delta > 32 ) + * origin_x -= 64; + * else if ( prev_rsb_delta - slot->lsb_delta < -31 ) + * origin_x += 64; + * + * prev_rsb_delta = slot->rsb_delta; + * + * + * + * origin_x += slot->advance.x; + * endfor + * ``` + * + * If you use strong auto-hinting, you **must** apply these delta values! + * Otherwise you will experience far too large inter-glyph spacing at + * small rendering sizes in most cases. Note that it doesn't harm to use + * the above code for other hinting modes also, since the delta values + * are zero then. + */ + typedef struct FT_GlyphSlotRec_ + { + FT_Library library; + FT_Face face; + FT_GlyphSlot next; + FT_UInt glyph_index; /* new in 2.10; was reserved previously */ + FT_Generic generic; + + FT_Glyph_Metrics metrics; + FT_Fixed linearHoriAdvance; + FT_Fixed linearVertAdvance; + FT_Vector advance; + + FT_Glyph_Format format; + + FT_Bitmap bitmap; + FT_Int bitmap_left; + FT_Int bitmap_top; + + FT_Outline outline; + + FT_UInt num_subglyphs; + FT_SubGlyph subglyphs; + + void* control_data; + long control_len; + + FT_Pos lsb_delta; + FT_Pos rsb_delta; + + void* other; + + FT_Slot_Internal internal; + + } FT_GlyphSlotRec; + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* F U N C T I O N S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * @function: + * FT_Init_FreeType + * + * @description: + * Initialize a new FreeType library object. The set of modules that are + * registered by this function is determined at build time. + * + * @output: + * alibrary :: + * A handle to a new library object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * In case you want to provide your own memory allocating routines, use + * @FT_New_Library instead, followed by a call to @FT_Add_Default_Modules + * (or a series of calls to @FT_Add_Module) and + * @FT_Set_Default_Properties. + * + * See the documentation of @FT_Library and @FT_Face for multi-threading + * issues. + * + * If you need reference-counting (cf. @FT_Reference_Library), use + * @FT_New_Library and @FT_Done_Library. + * + * If compilation option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES` is + * set, this function reads the `FREETYPE_PROPERTIES` environment + * variable to control driver properties. See section @properties for + * more. + */ + FT_EXPORT( FT_Error ) + FT_Init_FreeType( FT_Library *alibrary ); + + + /************************************************************************** + * + * @function: + * FT_Done_FreeType + * + * @description: + * Destroy a given FreeType library object and all of its children, + * including resources, drivers, faces, sizes, etc. + * + * @input: + * library :: + * A handle to the target library object. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Done_FreeType( FT_Library library ); + + + /************************************************************************** + * + * @enum: + * FT_OPEN_XXX + * + * @description: + * A list of bit field constants used within the `flags` field of the + * @FT_Open_Args structure. + * + * @values: + * FT_OPEN_MEMORY :: + * This is a memory-based stream. + * + * FT_OPEN_STREAM :: + * Copy the stream from the `stream` field. + * + * FT_OPEN_PATHNAME :: + * Create a new input stream from a C~path name. + * + * FT_OPEN_DRIVER :: + * Use the `driver` field. + * + * FT_OPEN_PARAMS :: + * Use the `num_params` and `params` fields. + * + * @note: + * The `FT_OPEN_MEMORY`, `FT_OPEN_STREAM`, and `FT_OPEN_PATHNAME` flags + * are mutually exclusive. + */ +#define FT_OPEN_MEMORY 0x1 +#define FT_OPEN_STREAM 0x2 +#define FT_OPEN_PATHNAME 0x4 +#define FT_OPEN_DRIVER 0x8 +#define FT_OPEN_PARAMS 0x10 + + + /* these constants are deprecated; use the corresponding `FT_OPEN_XXX` */ + /* values instead */ +#define ft_open_memory FT_OPEN_MEMORY +#define ft_open_stream FT_OPEN_STREAM +#define ft_open_pathname FT_OPEN_PATHNAME +#define ft_open_driver FT_OPEN_DRIVER +#define ft_open_params FT_OPEN_PARAMS + + + /************************************************************************** + * + * @struct: + * FT_Parameter + * + * @description: + * A simple structure to pass more or less generic parameters to + * @FT_Open_Face and @FT_Face_Properties. + * + * @fields: + * tag :: + * A four-byte identification tag. + * + * data :: + * A pointer to the parameter data. + * + * @note: + * The ID and function of parameters are driver-specific. See section + * @parameter_tags for more information. + */ + typedef struct FT_Parameter_ + { + FT_ULong tag; + FT_Pointer data; + + } FT_Parameter; + + + /************************************************************************** + * + * @struct: + * FT_Open_Args + * + * @description: + * A structure to indicate how to open a new font file or stream. A + * pointer to such a structure can be used as a parameter for the + * functions @FT_Open_Face and @FT_Attach_Stream. + * + * @fields: + * flags :: + * A set of bit flags indicating how to use the structure. + * + * memory_base :: + * The first byte of the file in memory. + * + * memory_size :: + * The size in bytes of the file in memory. + * + * pathname :: + * A pointer to an 8-bit file pathname. + * + * stream :: + * A handle to a source stream object. + * + * driver :: + * This field is exclusively used by @FT_Open_Face; it simply specifies + * the font driver to use for opening the face. If set to `NULL`, + * FreeType tries to load the face with each one of the drivers in its + * list. + * + * num_params :: + * The number of extra parameters. + * + * params :: + * Extra parameters passed to the font driver when opening a new face. + * + * @note: + * The stream type is determined by the contents of `flags` that are + * tested in the following order by @FT_Open_Face: + * + * If the @FT_OPEN_MEMORY bit is set, assume that this is a memory file + * of `memory_size` bytes, located at `memory_address`. The data are not + * copied, and the client is responsible for releasing and destroying + * them _after_ the corresponding call to @FT_Done_Face. + * + * Otherwise, if the @FT_OPEN_STREAM bit is set, assume that a custom + * input stream `stream` is used. + * + * Otherwise, if the @FT_OPEN_PATHNAME bit is set, assume that this is a + * normal file and use `pathname` to open it. + * + * If the @FT_OPEN_DRIVER bit is set, @FT_Open_Face only tries to open + * the file with the driver whose handler is in `driver`. + * + * If the @FT_OPEN_PARAMS bit is set, the parameters given by + * `num_params` and `params` is used. They are ignored otherwise. + * + * Ideally, both the `pathname` and `params` fields should be tagged as + * 'const'; this is missing for API backward compatibility. In other + * words, applications should treat them as read-only. + */ + typedef struct FT_Open_Args_ + { + FT_UInt flags; + const FT_Byte* memory_base; + FT_Long memory_size; + FT_String* pathname; + FT_Stream stream; + FT_Module driver; + FT_Int num_params; + FT_Parameter* params; + + } FT_Open_Args; + + + /************************************************************************** + * + * @function: + * FT_New_Face + * + * @description: + * Call @FT_Open_Face to open a font by its pathname. + * + * @inout: + * library :: + * A handle to the library resource. + * + * @input: + * pathname :: + * A path to the font file. + * + * face_index :: + * See @FT_Open_Face for a detailed description of this parameter. + * + * @output: + * aface :: + * A handle to a new face object. If `face_index` is greater than or + * equal to zero, it must be non-`NULL`. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Use @FT_Done_Face to destroy the created @FT_Face object (along with + * its slot and sizes). + */ + FT_EXPORT( FT_Error ) + FT_New_Face( FT_Library library, + const char* filepathname, + FT_Long face_index, + FT_Face *aface ); + + + /************************************************************************** + * + * @function: + * FT_New_Memory_Face + * + * @description: + * Call @FT_Open_Face to open a font that has been loaded into memory. + * + * @inout: + * library :: + * A handle to the library resource. + * + * @input: + * file_base :: + * A pointer to the beginning of the font data. + * + * file_size :: + * The size of the memory chunk used by the font data. + * + * face_index :: + * See @FT_Open_Face for a detailed description of this parameter. + * + * @output: + * aface :: + * A handle to a new face object. If `face_index` is greater than or + * equal to zero, it must be non-`NULL`. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You must not deallocate the memory before calling @FT_Done_Face. + */ + FT_EXPORT( FT_Error ) + FT_New_Memory_Face( FT_Library library, + const FT_Byte* file_base, + FT_Long file_size, + FT_Long face_index, + FT_Face *aface ); + + + /************************************************************************** + * + * @function: + * FT_Open_Face + * + * @description: + * Create a face object from a given resource described by @FT_Open_Args. + * + * @inout: + * library :: + * A handle to the library resource. + * + * @input: + * args :: + * A pointer to an `FT_Open_Args` structure that must be filled by the + * caller. + * + * face_index :: + * This field holds two different values. Bits 0-15 are the index of + * the face in the font file (starting with value~0). Set it to~0 if + * there is only one face in the font file. + * + * [Since 2.6.1] Bits 16-30 are relevant to GX and OpenType variation + * fonts only, specifying the named instance index for the current face + * index (starting with value~1; value~0 makes FreeType ignore named + * instances). For non-variation fonts, bits 16-30 are ignored. + * Assuming that you want to access the third named instance in face~4, + * `face_index` should be set to 0x00030004. If you want to access + * face~4 without variation handling, simply set `face_index` to + * value~4. + * + * `FT_Open_Face` and its siblings can be used to quickly check whether + * the font format of a given font resource is supported by FreeType. + * In general, if the `face_index` argument is negative, the function's + * return value is~0 if the font format is recognized, or non-zero + * otherwise. The function allocates a more or less empty face handle + * in `*aface` (if `aface` isn't `NULL`); the only two useful fields in + * this special case are `face->num_faces` and `face->style_flags`. + * For any negative value of `face_index`, `face->num_faces` gives the + * number of faces within the font file. For the negative value + * '-(N+1)' (with 'N' a non-negative 16-bit value), bits 16-30 in + * `face->style_flags` give the number of named instances in face 'N' + * if we have a variation font (or zero otherwise). After examination, + * the returned @FT_Face structure should be deallocated with a call to + * @FT_Done_Face. + * + * @output: + * aface :: + * A handle to a new face object. If `face_index` is greater than or + * equal to zero, it must be non-`NULL`. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Unlike FreeType 1.x, this function automatically creates a glyph slot + * for the face object that can be accessed directly through + * `face->glyph`. + * + * Each new face object created with this function also owns a default + * @FT_Size object, accessible as `face->size`. + * + * One @FT_Library instance can have multiple face objects, this is, + * @FT_Open_Face and its siblings can be called multiple times using the + * same `library` argument. + * + * See the discussion of reference counters in the description of + * @FT_Reference_Face. + * + * @example: + * To loop over all faces, use code similar to the following snippet + * (omitting the error handling). + * + * ``` + * ... + * FT_Face face; + * FT_Long i, num_faces; + * + * + * error = FT_Open_Face( library, args, -1, &face ); + * if ( error ) { ... } + * + * num_faces = face->num_faces; + * FT_Done_Face( face ); + * + * for ( i = 0; i < num_faces; i++ ) + * { + * ... + * error = FT_Open_Face( library, args, i, &face ); + * ... + * FT_Done_Face( face ); + * ... + * } + * ``` + * + * To loop over all valid values for `face_index`, use something similar + * to the following snippet, again without error handling. The code + * accesses all faces immediately (thus only a single call of + * `FT_Open_Face` within the do-loop), with and without named instances. + * + * ``` + * ... + * FT_Face face; + * + * FT_Long num_faces = 0; + * FT_Long num_instances = 0; + * + * FT_Long face_idx = 0; + * FT_Long instance_idx = 0; + * + * + * do + * { + * FT_Long id = ( instance_idx << 16 ) + face_idx; + * + * + * error = FT_Open_Face( library, args, id, &face ); + * if ( error ) { ... } + * + * num_faces = face->num_faces; + * num_instances = face->style_flags >> 16; + * + * ... + * + * FT_Done_Face( face ); + * + * if ( instance_idx < num_instances ) + * instance_idx++; + * else + * { + * face_idx++; + * instance_idx = 0; + * } + * + * } while ( face_idx < num_faces ) + * ``` + */ + FT_EXPORT( FT_Error ) + FT_Open_Face( FT_Library library, + const FT_Open_Args* args, + FT_Long face_index, + FT_Face *aface ); + + + /************************************************************************** + * + * @function: + * FT_Attach_File + * + * @description: + * Call @FT_Attach_Stream to attach a file. + * + * @inout: + * face :: + * The target face object. + * + * @input: + * filepathname :: + * The pathname. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Attach_File( FT_Face face, + const char* filepathname ); + + + /************************************************************************** + * + * @function: + * FT_Attach_Stream + * + * @description: + * 'Attach' data to a face object. Normally, this is used to read + * additional information for the face object. For example, you can + * attach an AFM file that comes with a Type~1 font to get the kerning + * values and other metrics. + * + * @inout: + * face :: + * The target face object. + * + * @input: + * parameters :: + * A pointer to @FT_Open_Args that must be filled by the caller. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The meaning of the 'attach' (i.e., what really happens when the new + * file is read) is not fixed by FreeType itself. It really depends on + * the font format (and thus the font driver). + * + * Client applications are expected to know what they are doing when + * invoking this function. Most drivers simply do not implement file or + * stream attachments. + */ + FT_EXPORT( FT_Error ) + FT_Attach_Stream( FT_Face face, + FT_Open_Args* parameters ); + + + /************************************************************************** + * + * @function: + * FT_Reference_Face + * + * @description: + * A counter gets initialized to~1 at the time an @FT_Face structure is + * created. This function increments the counter. @FT_Done_Face then + * only destroys a face if the counter is~1, otherwise it simply + * decrements the counter. + * + * This function helps in managing life-cycles of structures that + * reference @FT_Face objects. + * + * @input: + * face :: + * A handle to a target face object. + * + * @return: + * FreeType error code. 0~means success. + * + * @since: + * 2.4.2 + */ + FT_EXPORT( FT_Error ) + FT_Reference_Face( FT_Face face ); + + + /************************************************************************** + * + * @function: + * FT_Done_Face + * + * @description: + * Discard a given face object, as well as all of its child slots and + * sizes. + * + * @input: + * face :: + * A handle to a target face object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * See the discussion of reference counters in the description of + * @FT_Reference_Face. + */ + FT_EXPORT( FT_Error ) + FT_Done_Face( FT_Face face ); + + + /************************************************************************** + * + * @function: + * FT_Select_Size + * + * @description: + * Select a bitmap strike. To be more precise, this function sets the + * scaling factors of the active @FT_Size object in a face so that + * bitmaps from this particular strike are taken by @FT_Load_Glyph and + * friends. + * + * @inout: + * face :: + * A handle to a target face object. + * + * @input: + * strike_index :: + * The index of the bitmap strike in the `available_sizes` field of + * @FT_FaceRec structure. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * For bitmaps embedded in outline fonts it is common that only a subset + * of the available glyphs at a given ppem value is available. FreeType + * silently uses outlines if there is no bitmap for a given glyph index. + * + * For GX and OpenType variation fonts, a bitmap strike makes sense only + * if the default instance is active (this is, no glyph variation takes + * place); otherwise, FreeType simply ignores bitmap strikes. The same + * is true for all named instances that are different from the default + * instance. + * + * Don't use this function if you are using the FreeType cache API. + */ + FT_EXPORT( FT_Error ) + FT_Select_Size( FT_Face face, + FT_Int strike_index ); + + + /************************************************************************** + * + * @enum: + * FT_Size_Request_Type + * + * @description: + * An enumeration type that lists the supported size request types, i.e., + * what input size (in font units) maps to the requested output size (in + * pixels, as computed from the arguments of @FT_Size_Request). + * + * @values: + * FT_SIZE_REQUEST_TYPE_NOMINAL :: + * The nominal size. The `units_per_EM` field of @FT_FaceRec is used + * to determine both scaling values. + * + * This is the standard scaling found in most applications. In + * particular, use this size request type for TrueType fonts if they + * provide optical scaling or something similar. Note, however, that + * `units_per_EM` is a rather abstract value which bears no relation to + * the actual size of the glyphs in a font. + * + * FT_SIZE_REQUEST_TYPE_REAL_DIM :: + * The real dimension. The sum of the `ascender` and (minus of) the + * `descender` fields of @FT_FaceRec is used to determine both scaling + * values. + * + * FT_SIZE_REQUEST_TYPE_BBOX :: + * The font bounding box. The width and height of the `bbox` field of + * @FT_FaceRec are used to determine the horizontal and vertical + * scaling value, respectively. + * + * FT_SIZE_REQUEST_TYPE_CELL :: + * The `max_advance_width` field of @FT_FaceRec is used to determine + * the horizontal scaling value; the vertical scaling value is + * determined the same way as @FT_SIZE_REQUEST_TYPE_REAL_DIM does. + * Finally, both scaling values are set to the smaller one. This type + * is useful if you want to specify the font size for, say, a window of + * a given dimension and 80x24 cells. + * + * FT_SIZE_REQUEST_TYPE_SCALES :: + * Specify the scaling values directly. + * + * @note: + * The above descriptions only apply to scalable formats. For bitmap + * formats, the behaviour is up to the driver. + * + * See the note section of @FT_Size_Metrics if you wonder how size + * requesting relates to scaling values. + */ + typedef enum FT_Size_Request_Type_ + { + FT_SIZE_REQUEST_TYPE_NOMINAL, + FT_SIZE_REQUEST_TYPE_REAL_DIM, + FT_SIZE_REQUEST_TYPE_BBOX, + FT_SIZE_REQUEST_TYPE_CELL, + FT_SIZE_REQUEST_TYPE_SCALES, + + FT_SIZE_REQUEST_TYPE_MAX + + } FT_Size_Request_Type; + + + /************************************************************************** + * + * @struct: + * FT_Size_RequestRec + * + * @description: + * A structure to model a size request. + * + * @fields: + * type :: + * See @FT_Size_Request_Type. + * + * width :: + * The desired width, given as a 26.6 fractional point value (with 72pt + * = 1in). + * + * height :: + * The desired height, given as a 26.6 fractional point value (with + * 72pt = 1in). + * + * horiResolution :: + * The horizontal resolution (dpi, i.e., pixels per inch). If set to + * zero, `width` is treated as a 26.6 fractional **pixel** value, which + * gets internally rounded to an integer. + * + * vertResolution :: + * The vertical resolution (dpi, i.e., pixels per inch). If set to + * zero, `height` is treated as a 26.6 fractional **pixel** value, + * which gets internally rounded to an integer. + * + * @note: + * If `width` is zero, the horizontal scaling value is set equal to the + * vertical scaling value, and vice versa. + * + * If `type` is `FT_SIZE_REQUEST_TYPE_SCALES`, `width` and `height` are + * interpreted directly as 16.16 fractional scaling values, without any + * further modification, and both `horiResolution` and `vertResolution` + * are ignored. + */ + typedef struct FT_Size_RequestRec_ + { + FT_Size_Request_Type type; + FT_Long width; + FT_Long height; + FT_UInt horiResolution; + FT_UInt vertResolution; + + } FT_Size_RequestRec; + + + /************************************************************************** + * + * @struct: + * FT_Size_Request + * + * @description: + * A handle to a size request structure. + */ + typedef struct FT_Size_RequestRec_ *FT_Size_Request; + + + /************************************************************************** + * + * @function: + * FT_Request_Size + * + * @description: + * Resize the scale of the active @FT_Size object in a face. + * + * @inout: + * face :: + * A handle to a target face object. + * + * @input: + * req :: + * A pointer to a @FT_Size_RequestRec. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Although drivers may select the bitmap strike matching the request, + * you should not rely on this if you intend to select a particular + * bitmap strike. Use @FT_Select_Size instead in that case. + * + * The relation between the requested size and the resulting glyph size + * is dependent entirely on how the size is defined in the source face. + * The font designer chooses the final size of each glyph relative to + * this size. For more information refer to + * 'https://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html'. + * + * Contrary to @FT_Set_Char_Size, this function doesn't have special code + * to normalize zero-valued widths, heights, or resolutions (which lead + * to errors in most cases). + * + * Don't use this function if you are using the FreeType cache API. + */ + FT_EXPORT( FT_Error ) + FT_Request_Size( FT_Face face, + FT_Size_Request req ); + + + /************************************************************************** + * + * @function: + * FT_Set_Char_Size + * + * @description: + * Call @FT_Request_Size to request the nominal size (in points). + * + * @inout: + * face :: + * A handle to a target face object. + * + * @input: + * char_width :: + * The nominal width, in 26.6 fractional points. + * + * char_height :: + * The nominal height, in 26.6 fractional points. + * + * horz_resolution :: + * The horizontal resolution in dpi. + * + * vert_resolution :: + * The vertical resolution in dpi. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * While this function allows fractional points as input values, the + * resulting ppem value for the given resolution is always rounded to the + * nearest integer. + * + * If either the character width or height is zero, it is set equal to + * the other value. + * + * If either the horizontal or vertical resolution is zero, it is set + * equal to the other value. + * + * A character width or height smaller than 1pt is set to 1pt; if both + * resolution values are zero, they are set to 72dpi. + * + * Don't use this function if you are using the FreeType cache API. + */ + FT_EXPORT( FT_Error ) + FT_Set_Char_Size( FT_Face face, + FT_F26Dot6 char_width, + FT_F26Dot6 char_height, + FT_UInt horz_resolution, + FT_UInt vert_resolution ); + + + /************************************************************************** + * + * @function: + * FT_Set_Pixel_Sizes + * + * @description: + * Call @FT_Request_Size to request the nominal size (in pixels). + * + * @inout: + * face :: + * A handle to the target face object. + * + * @input: + * pixel_width :: + * The nominal width, in pixels. + * + * pixel_height :: + * The nominal height, in pixels. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should not rely on the resulting glyphs matching or being + * constrained to this pixel size. Refer to @FT_Request_Size to + * understand how requested sizes relate to actual sizes. + * + * Don't use this function if you are using the FreeType cache API. + */ + FT_EXPORT( FT_Error ) + FT_Set_Pixel_Sizes( FT_Face face, + FT_UInt pixel_width, + FT_UInt pixel_height ); + + + /************************************************************************** + * + * @function: + * FT_Load_Glyph + * + * @description: + * Load a glyph into the glyph slot of a face object. + * + * @inout: + * face :: + * A handle to the target face object where the glyph is loaded. + * + * @input: + * glyph_index :: + * The index of the glyph in the font file. For CID-keyed fonts + * (either in PS or in CFF format) this argument specifies the CID + * value. + * + * load_flags :: + * A flag indicating what to load for this glyph. The @FT_LOAD_XXX + * constants can be used to control the glyph loading process (e.g., + * whether the outline should be scaled, whether to load bitmaps or + * not, whether to hint the outline, etc). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The loaded glyph may be transformed. See @FT_Set_Transform for the + * details. + * + * For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument` is returned + * for invalid CID values (this is, for CID values that don't have a + * corresponding glyph in the font). See the discussion of the + * @FT_FACE_FLAG_CID_KEYED flag for more details. + * + * If you receive `FT_Err_Glyph_Too_Big`, try getting the glyph outline + * at EM size, then scale it manually and fill it as a graphics + * operation. + */ + FT_EXPORT( FT_Error ) + FT_Load_Glyph( FT_Face face, + FT_UInt glyph_index, + FT_Int32 load_flags ); + + + /************************************************************************** + * + * @function: + * FT_Load_Char + * + * @description: + * Load a glyph into the glyph slot of a face object, accessed by its + * character code. + * + * @inout: + * face :: + * A handle to a target face object where the glyph is loaded. + * + * @input: + * char_code :: + * The glyph's character code, according to the current charmap used in + * the face. + * + * load_flags :: + * A flag indicating what to load for this glyph. The @FT_LOAD_XXX + * constants can be used to control the glyph loading process (e.g., + * whether the outline should be scaled, whether to load bitmaps or + * not, whether to hint the outline, etc). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph. + * + * Many fonts contain glyphs that can't be loaded by this function since + * its glyph indices are not listed in any of the font's charmaps. + * + * If no active cmap is set up (i.e., `face->charmap` is zero), the call + * to @FT_Get_Char_Index is omitted, and the function behaves identically + * to @FT_Load_Glyph. + */ + FT_EXPORT( FT_Error ) + FT_Load_Char( FT_Face face, + FT_ULong char_code, + FT_Int32 load_flags ); + + + /************************************************************************** + * + * @enum: + * FT_LOAD_XXX + * + * @description: + * A list of bit field constants for @FT_Load_Glyph to indicate what kind + * of operations to perform during glyph loading. + * + * @values: + * FT_LOAD_DEFAULT :: + * Corresponding to~0, this value is used as the default glyph load + * operation. In this case, the following happens: + * + * 1. FreeType looks for a bitmap for the glyph corresponding to the + * face's current size. If one is found, the function returns. The + * bitmap data can be accessed from the glyph slot (see note below). + * + * 2. If no embedded bitmap is searched for or found, FreeType looks + * for a scalable outline. If one is found, it is loaded from the font + * file, scaled to device pixels, then 'hinted' to the pixel grid in + * order to optimize it. The outline data can be accessed from the + * glyph slot (see note below). + * + * Note that by default the glyph loader doesn't render outlines into + * bitmaps. The following flags are used to modify this default + * behaviour to more specific and useful cases. + * + * FT_LOAD_NO_SCALE :: + * Don't scale the loaded outline glyph but keep it in font units. + * + * This flag implies @FT_LOAD_NO_HINTING and @FT_LOAD_NO_BITMAP, and + * unsets @FT_LOAD_RENDER. + * + * If the font is 'tricky' (see @FT_FACE_FLAG_TRICKY for more), using + * `FT_LOAD_NO_SCALE` usually yields meaningless outlines because the + * subglyphs must be scaled and positioned with hinting instructions. + * This can be solved by loading the font without `FT_LOAD_NO_SCALE` + * and setting the character size to `font->units_per_EM`. + * + * FT_LOAD_NO_HINTING :: + * Disable hinting. This generally generates 'blurrier' bitmap glyphs + * when the glyph are rendered in any of the anti-aliased modes. See + * also the note below. + * + * This flag is implied by @FT_LOAD_NO_SCALE. + * + * FT_LOAD_RENDER :: + * Call @FT_Render_Glyph after the glyph is loaded. By default, the + * glyph is rendered in @FT_RENDER_MODE_NORMAL mode. This can be + * overridden by @FT_LOAD_TARGET_XXX or @FT_LOAD_MONOCHROME. + * + * This flag is unset by @FT_LOAD_NO_SCALE. + * + * FT_LOAD_NO_BITMAP :: + * Ignore bitmap strikes when loading. Bitmap-only fonts ignore this + * flag. + * + * @FT_LOAD_NO_SCALE always sets this flag. + * + * FT_LOAD_VERTICAL_LAYOUT :: + * Load the glyph for vertical text layout. In particular, the + * `advance` value in the @FT_GlyphSlotRec structure is set to the + * `vertAdvance` value of the `metrics` field. + * + * In case @FT_HAS_VERTICAL doesn't return true, you shouldn't use this + * flag currently. Reason is that in this case vertical metrics get + * synthesized, and those values are not always consistent across + * various font formats. + * + * FT_LOAD_FORCE_AUTOHINT :: + * Prefer the auto-hinter over the font's native hinter. See also the + * note below. + * + * FT_LOAD_PEDANTIC :: + * Make the font driver perform pedantic verifications during glyph + * loading and hinting. This is mostly used to detect broken glyphs in + * fonts. By default, FreeType tries to handle broken fonts also. + * + * In particular, errors from the TrueType bytecode engine are not + * passed to the application if this flag is not set; this might result + * in partially hinted or distorted glyphs in case a glyph's bytecode + * is buggy. + * + * FT_LOAD_NO_RECURSE :: + * Don't load composite glyphs recursively. Instead, the font driver + * fills the `num_subglyph` and `subglyphs` values of the glyph slot; + * it also sets `glyph->format` to @FT_GLYPH_FORMAT_COMPOSITE. The + * description of subglyphs can then be accessed with + * @FT_Get_SubGlyph_Info. + * + * Don't use this flag for retrieving metrics information since some + * font drivers only return rudimentary data. + * + * This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM. + * + * FT_LOAD_IGNORE_TRANSFORM :: + * Ignore the transform matrix set by @FT_Set_Transform. + * + * FT_LOAD_MONOCHROME :: + * This flag is used with @FT_LOAD_RENDER to indicate that you want to + * render an outline glyph to a 1-bit monochrome bitmap glyph, with + * 8~pixels packed into each byte of the bitmap data. + * + * Note that this has no effect on the hinting algorithm used. You + * should rather use @FT_LOAD_TARGET_MONO so that the + * monochrome-optimized hinting algorithm is used. + * + * FT_LOAD_LINEAR_DESIGN :: + * Keep `linearHoriAdvance` and `linearVertAdvance` fields of + * @FT_GlyphSlotRec in font units. See @FT_GlyphSlotRec for details. + * + * FT_LOAD_NO_AUTOHINT :: + * Disable the auto-hinter. See also the note below. + * + * FT_LOAD_COLOR :: + * Load colored glyphs. There are slight differences depending on the + * font format. + * + * [Since 2.5] Load embedded color bitmap images. The resulting color + * bitmaps, if available, will have the @FT_PIXEL_MODE_BGRA format, + * with pre-multiplied color channels. If the flag is not set and + * color bitmaps are found, they are converted to 256-level gray + * bitmaps, using the @FT_PIXEL_MODE_GRAY format. + * + * [Since 2.10, experimental] If the glyph index contains an entry in + * the face's 'COLR' table with a 'CPAL' palette table (as defined in + * the OpenType specification), make @FT_Render_Glyph provide a default + * blending of the color glyph layers associated with the glyph index, + * using the same bitmap format as embedded color bitmap images. This + * is mainly for convenience; for full control of color layers use + * @FT_Get_Color_Glyph_Layer and FreeType's color functions like + * @FT_Palette_Select instead of setting @FT_LOAD_COLOR for rendering + * so that the client application can handle blending by itself. + * + * FT_LOAD_COMPUTE_METRICS :: + * [Since 2.6.1] Compute glyph metrics from the glyph data, without the + * use of bundled metrics tables (for example, the 'hdmx' table in + * TrueType fonts). This flag is mainly used by font validating or + * font editing applications, which need to ignore, verify, or edit + * those tables. + * + * Currently, this flag is only implemented for TrueType fonts. + * + * FT_LOAD_BITMAP_METRICS_ONLY :: + * [Since 2.7.1] Request loading of the metrics and bitmap image + * information of a (possibly embedded) bitmap glyph without allocating + * or copying the bitmap image data itself. No effect if the target + * glyph is not a bitmap image. + * + * This flag unsets @FT_LOAD_RENDER. + * + * FT_LOAD_CROP_BITMAP :: + * Ignored. Deprecated. + * + * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH :: + * Ignored. Deprecated. + * + * @note: + * By default, hinting is enabled and the font's native hinter (see + * @FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can + * disable hinting by setting @FT_LOAD_NO_HINTING or change the + * precedence by setting @FT_LOAD_FORCE_AUTOHINT. You can also set + * @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be used + * at all. + * + * See the description of @FT_FACE_FLAG_TRICKY for a special exception + * (affecting only a handful of Asian fonts). + * + * Besides deciding which hinter to use, you can also decide which + * hinting algorithm to use. See @FT_LOAD_TARGET_XXX for details. + * + * Note that the auto-hinter needs a valid Unicode cmap (either a native + * one or synthesized by FreeType) for producing correct results. If a + * font provides an incorrect mapping (for example, assigning the + * character code U+005A, LATIN CAPITAL LETTER~Z, to a glyph depicting a + * mathematical integral sign), the auto-hinter might produce useless + * results. + * + */ +#define FT_LOAD_DEFAULT 0x0 +#define FT_LOAD_NO_SCALE ( 1L << 0 ) +#define FT_LOAD_NO_HINTING ( 1L << 1 ) +#define FT_LOAD_RENDER ( 1L << 2 ) +#define FT_LOAD_NO_BITMAP ( 1L << 3 ) +#define FT_LOAD_VERTICAL_LAYOUT ( 1L << 4 ) +#define FT_LOAD_FORCE_AUTOHINT ( 1L << 5 ) +#define FT_LOAD_CROP_BITMAP ( 1L << 6 ) +#define FT_LOAD_PEDANTIC ( 1L << 7 ) +#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ( 1L << 9 ) +#define FT_LOAD_NO_RECURSE ( 1L << 10 ) +#define FT_LOAD_IGNORE_TRANSFORM ( 1L << 11 ) +#define FT_LOAD_MONOCHROME ( 1L << 12 ) +#define FT_LOAD_LINEAR_DESIGN ( 1L << 13 ) +#define FT_LOAD_NO_AUTOHINT ( 1L << 15 ) + /* Bits 16-19 are used by `FT_LOAD_TARGET_` */ +#define FT_LOAD_COLOR ( 1L << 20 ) +#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 ) +#define FT_LOAD_BITMAP_METRICS_ONLY ( 1L << 22 ) + + /* */ + + /* used internally only by certain font drivers */ +#define FT_LOAD_ADVANCE_ONLY ( 1L << 8 ) +#define FT_LOAD_SBITS_ONLY ( 1L << 14 ) + + + /************************************************************************** + * + * @enum: + * FT_LOAD_TARGET_XXX + * + * @description: + * A list of values to select a specific hinting algorithm for the + * hinter. You should OR one of these values to your `load_flags` when + * calling @FT_Load_Glyph. + * + * Note that a font's native hinters may ignore the hinting algorithm you + * have specified (e.g., the TrueType bytecode interpreter). You can set + * @FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used. + * + * @values: + * FT_LOAD_TARGET_NORMAL :: + * The default hinting algorithm, optimized for standard gray-level + * rendering. For monochrome output, use @FT_LOAD_TARGET_MONO instead. + * + * FT_LOAD_TARGET_LIGHT :: + * A lighter hinting algorithm for gray-level modes. Many generated + * glyphs are fuzzier but better resemble their original shape. This + * is achieved by snapping glyphs to the pixel grid only vertically + * (Y-axis), as is done by FreeType's new CFF engine or Microsoft's + * ClearType font renderer. This preserves inter-glyph spacing in + * horizontal text. The snapping is done either by the native font + * driver, if the driver itself and the font support it, or by the + * auto-hinter. + * + * Advance widths are rounded to integer values; however, using the + * `lsb_delta` and `rsb_delta` fields of @FT_GlyphSlotRec, it is + * possible to get fractional advance widths for subpixel positioning + * (which is recommended to use). + * + * If configuration option `AF_CONFIG_OPTION_TT_SIZE_METRICS` is + * active, TrueType-like metrics are used to make this mode behave + * similarly as in unpatched FreeType versions between 2.4.6 and 2.7.1 + * (inclusive). + * + * FT_LOAD_TARGET_MONO :: + * Strong hinting algorithm that should only be used for monochrome + * output. The result is probably unpleasant if the glyph is rendered + * in non-monochrome modes. + * + * Note that for outline fonts only the TrueType font driver has proper + * monochrome hinting support, provided the TTFs contain hints for B/W + * rendering (which most fonts no longer provide). If these conditions + * are not met it is very likely that you get ugly results at smaller + * sizes. + * + * FT_LOAD_TARGET_LCD :: + * A variant of @FT_LOAD_TARGET_LIGHT optimized for horizontally + * decimated LCD displays. + * + * FT_LOAD_TARGET_LCD_V :: + * A variant of @FT_LOAD_TARGET_NORMAL optimized for vertically + * decimated LCD displays. + * + * @note: + * You should use only _one_ of the `FT_LOAD_TARGET_XXX` values in your + * `load_flags`. They can't be ORed. + * + * If @FT_LOAD_RENDER is also set, the glyph is rendered in the + * corresponding mode (i.e., the mode that matches the used algorithm + * best). An exception is `FT_LOAD_TARGET_MONO` since it implies + * @FT_LOAD_MONOCHROME. + * + * You can use a hinting algorithm that doesn't correspond to the same + * rendering mode. As an example, it is possible to use the 'light' + * hinting algorithm and have the results rendered in horizontal LCD + * pixel mode, with code like + * + * ``` + * FT_Load_Glyph( face, glyph_index, + * load_flags | FT_LOAD_TARGET_LIGHT ); + * + * FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD ); + * ``` + * + * In general, you should stick with one rendering mode. For example, + * switching between @FT_LOAD_TARGET_NORMAL and @FT_LOAD_TARGET_MONO + * enforces a lot of recomputation for TrueType fonts, which is slow. + * Another reason is caching: Selecting a different mode usually causes + * changes in both the outlines and the rasterized bitmaps; it is thus + * necessary to empty the cache after a mode switch to avoid false hits. + * + */ +#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 ) + +#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL ) +#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT ) +#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO ) +#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD ) +#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V ) + + + /************************************************************************** + * + * @macro: + * FT_LOAD_TARGET_MODE + * + * @description: + * Return the @FT_Render_Mode corresponding to a given + * @FT_LOAD_TARGET_XXX value. + * + */ +#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) ) + + + /************************************************************************** + * + * @function: + * FT_Set_Transform + * + * @description: + * Set the transformation that is applied to glyph images when they are + * loaded into a glyph slot through @FT_Load_Glyph. + * + * @inout: + * face :: + * A handle to the source face object. + * + * @input: + * matrix :: + * A pointer to the transformation's 2x2 matrix. Use `NULL` for the + * identity matrix. + * delta :: + * A pointer to the translation vector. Use `NULL` for the null vector. + * + * @note: + * The transformation is only applied to scalable image formats after the + * glyph has been loaded. It means that hinting is unaltered by the + * transformation and is performed on the character size given in the + * last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes. + * + * Note that this also transforms the `face.glyph.advance` field, but + * **not** the values in `face.glyph.metrics`. + */ + FT_EXPORT( void ) + FT_Set_Transform( FT_Face face, + FT_Matrix* matrix, + FT_Vector* delta ); + + + /************************************************************************** + * + * @enum: + * FT_Render_Mode + * + * @description: + * Render modes supported by FreeType~2. Each mode corresponds to a + * specific type of scanline conversion performed on the outline. + * + * For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode` field + * in the @FT_GlyphSlotRec structure gives the format of the returned + * bitmap. + * + * All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity, + * indicating pixel coverage. Use linear alpha blending and gamma + * correction to correctly render non-monochrome glyph bitmaps onto a + * surface; see @FT_Render_Glyph. + * + * @values: + * FT_RENDER_MODE_NORMAL :: + * Default render mode; it corresponds to 8-bit anti-aliased bitmaps. + * + * FT_RENDER_MODE_LIGHT :: + * This is equivalent to @FT_RENDER_MODE_NORMAL. It is only defined as + * a separate value because render modes are also used indirectly to + * define hinting algorithm selectors. See @FT_LOAD_TARGET_XXX for + * details. + * + * FT_RENDER_MODE_MONO :: + * This mode corresponds to 1-bit bitmaps (with 2~levels of opacity). + * + * FT_RENDER_MODE_LCD :: + * This mode corresponds to horizontal RGB and BGR subpixel displays + * like LCD screens. It produces 8-bit bitmaps that are 3~times the + * width of the original glyph outline in pixels, and which use the + * @FT_PIXEL_MODE_LCD mode. + * + * FT_RENDER_MODE_LCD_V :: + * This mode corresponds to vertical RGB and BGR subpixel displays + * (like PDA screens, rotated LCD displays, etc.). It produces 8-bit + * bitmaps that are 3~times the height of the original glyph outline in + * pixels and use the @FT_PIXEL_MODE_LCD_V mode. + * + * @note: + * Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your + * `ftoption.h`, which enables patented ClearType-style rendering, the + * LCD-optimized glyph bitmaps should be filtered to reduce color fringes + * inherent to this technology. You can either set up LCD filtering with + * @FT_Library_SetLcdFilter or @FT_Face_Properties, or do the filtering + * yourself. The default FreeType LCD rendering technology does not + * require filtering. + * + * The selected render mode only affects vector glyphs of a font. + * Embedded bitmaps often have a different pixel mode like + * @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform them + * into 8-bit pixmaps. + */ + typedef enum FT_Render_Mode_ + { + FT_RENDER_MODE_NORMAL = 0, + FT_RENDER_MODE_LIGHT, + FT_RENDER_MODE_MONO, + FT_RENDER_MODE_LCD, + FT_RENDER_MODE_LCD_V, + + FT_RENDER_MODE_MAX + + } FT_Render_Mode; + + + /* these constants are deprecated; use the corresponding */ + /* `FT_Render_Mode` values instead */ +#define ft_render_mode_normal FT_RENDER_MODE_NORMAL +#define ft_render_mode_mono FT_RENDER_MODE_MONO + + + /************************************************************************** + * + * @function: + * FT_Render_Glyph + * + * @description: + * Convert a given glyph image to a bitmap. It does so by inspecting the + * glyph image format, finding the relevant renderer, and invoking it. + * + * @inout: + * slot :: + * A handle to the glyph slot containing the image to convert. + * + * @input: + * render_mode :: + * The render mode used to render the glyph image into a bitmap. See + * @FT_Render_Mode for a list of possible values. + * + * If @FT_RENDER_MODE_NORMAL is used, a previous call of @FT_Load_Glyph + * with flag @FT_LOAD_COLOR makes FT_Render_Glyph provide a default + * blending of colored glyph layers associated with the current glyph + * slot (provided the font contains such layers) instead of rendering + * the glyph slot's outline. This is an experimental feature; see + * @FT_LOAD_COLOR for more information. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * To get meaningful results, font scaling values must be set with + * functions like @FT_Set_Char_Size before calling `FT_Render_Glyph`. + * + * When FreeType outputs a bitmap of a glyph, it really outputs an alpha + * coverage map. If a pixel is completely covered by a filled-in + * outline, the bitmap contains 0xFF at that pixel, meaning that + * 0xFF/0xFF fraction of that pixel is covered, meaning the pixel is 100% + * black (or 0% bright). If a pixel is only 50% covered (value 0x80), + * the pixel is made 50% black (50% bright or a middle shade of grey). + * 0% covered means 0% black (100% bright or white). + * + * On high-DPI screens like on smartphones and tablets, the pixels are so + * small that their chance of being completely covered and therefore + * completely black are fairly good. On the low-DPI screens, however, + * the situation is different. The pixels are too large for most of the + * details of a glyph and shades of gray are the norm rather than the + * exception. + * + * This is relevant because all our screens have a second problem: they + * are not linear. 1~+~1 is not~2. Twice the value does not result in + * twice the brightness. When a pixel is only 50% covered, the coverage + * map says 50% black, and this translates to a pixel value of 128 when + * you use 8~bits per channel (0-255). However, this does not translate + * to 50% brightness for that pixel on our sRGB and gamma~2.2 screens. + * Due to their non-linearity, they dwell longer in the darks and only a + * pixel value of about 186 results in 50% brightness -- 128 ends up too + * dark on both bright and dark backgrounds. The net result is that dark + * text looks burnt-out, pixely and blotchy on bright background, bright + * text too frail on dark backgrounds, and colored text on colored + * background (for example, red on green) seems to have dark halos or + * 'dirt' around it. The situation is especially ugly for diagonal stems + * like in 'w' glyph shapes where the quality of FreeType's anti-aliasing + * depends on the correct display of grays. On high-DPI screens where + * smaller, fully black pixels reign supreme, this doesn't matter, but on + * our low-DPI screens with all the gray shades, it does. 0% and 100% + * brightness are the same things in linear and non-linear space, just + * all the shades in-between aren't. + * + * The blending function for placing text over a background is + * + * ``` + * dst = alpha * src + (1 - alpha) * dst , + * ``` + * + * which is known as the OVER operator. + * + * To correctly composite an antialiased pixel of a glyph onto a surface, + * + * 1. take the foreground and background colors (e.g., in sRGB space) + * and apply gamma to get them in a linear space, + * + * 2. use OVER to blend the two linear colors using the glyph pixel + * as the alpha value (remember, the glyph bitmap is an alpha coverage + * bitmap), and + * + * 3. apply inverse gamma to the blended pixel and write it back to + * the image. + * + * Internal testing at Adobe found that a target inverse gamma of~1.8 for + * step~3 gives good results across a wide range of displays with an sRGB + * gamma curve or a similar one. + * + * This process can cost performance. There is an approximation that + * does not need to know about the background color; see + * https://bel.fi/alankila/lcd/ and + * https://bel.fi/alankila/lcd/alpcor.html for details. + * + * **ATTENTION**: Linear blending is even more important when dealing + * with subpixel-rendered glyphs to prevent color-fringing! A + * subpixel-rendered glyph must first be filtered with a filter that + * gives equal weight to the three color primaries and does not exceed a + * sum of 0x100, see section @lcd_rendering. Then the only difference to + * gray linear blending is that subpixel-rendered linear blending is done + * 3~times per pixel: red foreground subpixel to red background subpixel + * and so on for green and blue. + */ + FT_EXPORT( FT_Error ) + FT_Render_Glyph( FT_GlyphSlot slot, + FT_Render_Mode render_mode ); + + + /************************************************************************** + * + * @enum: + * FT_Kerning_Mode + * + * @description: + * An enumeration to specify the format of kerning values returned by + * @FT_Get_Kerning. + * + * @values: + * FT_KERNING_DEFAULT :: + * Return grid-fitted kerning distances in 26.6 fractional pixels. + * + * FT_KERNING_UNFITTED :: + * Return un-grid-fitted kerning distances in 26.6 fractional pixels. + * + * FT_KERNING_UNSCALED :: + * Return the kerning vector in original font units. + * + * @note: + * `FT_KERNING_DEFAULT` returns full pixel values; it also makes FreeType + * heuristically scale down kerning distances at small ppem values so + * that they don't become too big. + * + * Both `FT_KERNING_DEFAULT` and `FT_KERNING_UNFITTED` use the current + * horizontal scaling factor (as set e.g. with @FT_Set_Char_Size) to + * convert font units to pixels. + */ + typedef enum FT_Kerning_Mode_ + { + FT_KERNING_DEFAULT = 0, + FT_KERNING_UNFITTED, + FT_KERNING_UNSCALED + + } FT_Kerning_Mode; + + + /* these constants are deprecated; use the corresponding */ + /* `FT_Kerning_Mode` values instead */ +#define ft_kerning_default FT_KERNING_DEFAULT +#define ft_kerning_unfitted FT_KERNING_UNFITTED +#define ft_kerning_unscaled FT_KERNING_UNSCALED + + + /************************************************************************** + * + * @function: + * FT_Get_Kerning + * + * @description: + * Return the kerning vector between two glyphs of the same face. + * + * @input: + * face :: + * A handle to a source face object. + * + * left_glyph :: + * The index of the left glyph in the kern pair. + * + * right_glyph :: + * The index of the right glyph in the kern pair. + * + * kern_mode :: + * See @FT_Kerning_Mode for more information. Determines the scale and + * dimension of the returned kerning vector. + * + * @output: + * akerning :: + * The kerning vector. This is either in font units, fractional pixels + * (26.6 format), or pixels for scalable formats, and in pixels for + * fixed-sizes formats. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Only horizontal layouts (left-to-right & right-to-left) are supported + * by this method. Other layouts, or more sophisticated kernings, are + * out of the scope of this API function -- they can be implemented + * through format-specific interfaces. + * + * Kerning for OpenType fonts implemented in a 'GPOS' table is not + * supported; use @FT_HAS_KERNING to find out whether a font has data + * that can be extracted with `FT_Get_Kerning`. + */ + FT_EXPORT( FT_Error ) + FT_Get_Kerning( FT_Face face, + FT_UInt left_glyph, + FT_UInt right_glyph, + FT_UInt kern_mode, + FT_Vector *akerning ); + + + /************************************************************************** + * + * @function: + * FT_Get_Track_Kerning + * + * @description: + * Return the track kerning for a given face object at a given size. + * + * @input: + * face :: + * A handle to a source face object. + * + * point_size :: + * The point size in 16.16 fractional points. + * + * degree :: + * The degree of tightness. Increasingly negative values represent + * tighter track kerning, while increasingly positive values represent + * looser track kerning. Value zero means no track kerning. + * + * @output: + * akerning :: + * The kerning in 16.16 fractional points, to be uniformly applied + * between all glyphs. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Currently, only the Type~1 font driver supports track kerning, using + * data from AFM files (if attached with @FT_Attach_File or + * @FT_Attach_Stream). + * + * Only very few AFM files come with track kerning data; please refer to + * Adobe's AFM specification for more details. + */ + FT_EXPORT( FT_Error ) + FT_Get_Track_Kerning( FT_Face face, + FT_Fixed point_size, + FT_Int degree, + FT_Fixed* akerning ); + + + /************************************************************************** + * + * @function: + * FT_Get_Glyph_Name + * + * @description: + * Retrieve the ASCII name of a given glyph in a face. This only works + * for those faces where @FT_HAS_GLYPH_NAMES(face) returns~1. + * + * @input: + * face :: + * A handle to a source face object. + * + * glyph_index :: + * The glyph index. + * + * buffer_max :: + * The maximum number of bytes available in the buffer. + * + * @output: + * buffer :: + * A pointer to a target buffer where the name is copied to. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * An error is returned if the face doesn't provide glyph names or if the + * glyph index is invalid. In all cases of failure, the first byte of + * `buffer` is set to~0 to indicate an empty name. + * + * The glyph name is truncated to fit within the buffer if it is too + * long. The returned string is always zero-terminated. + * + * Be aware that FreeType reorders glyph indices internally so that glyph + * index~0 always corresponds to the 'missing glyph' (called '.notdef'). + * + * This function always returns an error if the config macro + * `FT_CONFIG_OPTION_NO_GLYPH_NAMES` is not defined in `ftoption.h`. + */ + FT_EXPORT( FT_Error ) + FT_Get_Glyph_Name( FT_Face face, + FT_UInt glyph_index, + FT_Pointer buffer, + FT_UInt buffer_max ); + + + /************************************************************************** + * + * @function: + * FT_Get_Postscript_Name + * + * @description: + * Retrieve the ASCII PostScript name of a given face, if available. + * This only works with PostScript, TrueType, and OpenType fonts. + * + * @input: + * face :: + * A handle to the source face object. + * + * @return: + * A pointer to the face's PostScript name. `NULL` if unavailable. + * + * @note: + * The returned pointer is owned by the face and is destroyed with it. + * + * For variation fonts, this string changes if you select a different + * instance, and you have to call `FT_Get_PostScript_Name` again to + * retrieve it. FreeType follows Adobe TechNote #5902, 'Generating + * PostScript Names for Fonts Using OpenType Font Variations'. + * + * https://download.macromedia.com/pub/developer/opentype/tech-notes/5902.AdobePSNameGeneration.html + * + * [Since 2.9] Special PostScript names for named instances are only + * returned if the named instance is set with @FT_Set_Named_Instance (and + * the font has corresponding entries in its 'fvar' table). If + * @FT_IS_VARIATION returns true, the algorithmically derived PostScript + * name is provided, not looking up special entries for named instances. + */ + FT_EXPORT( const char* ) + FT_Get_Postscript_Name( FT_Face face ); + + + /************************************************************************** + * + * @function: + * FT_Select_Charmap + * + * @description: + * Select a given charmap by its encoding tag (as listed in + * `freetype.h`). + * + * @inout: + * face :: + * A handle to the source face object. + * + * @input: + * encoding :: + * A handle to the selected encoding. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function returns an error if no charmap in the face corresponds + * to the encoding queried here. + * + * Because many fonts contain more than a single cmap for Unicode + * encoding, this function has some special code to select the one that + * covers Unicode best ('best' in the sense that a UCS-4 cmap is + * preferred to a UCS-2 cmap). It is thus preferable to @FT_Set_Charmap + * in this case. + */ + FT_EXPORT( FT_Error ) + FT_Select_Charmap( FT_Face face, + FT_Encoding encoding ); + + + /************************************************************************** + * + * @function: + * FT_Set_Charmap + * + * @description: + * Select a given charmap for character code to glyph index mapping. + * + * @inout: + * face :: + * A handle to the source face object. + * + * @input: + * charmap :: + * A handle to the selected charmap. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function returns an error if the charmap is not part of the face + * (i.e., if it is not listed in the `face->charmaps` table). + * + * It also fails if an OpenType type~14 charmap is selected (which + * doesn't map character codes to glyph indices at all). + */ + FT_EXPORT( FT_Error ) + FT_Set_Charmap( FT_Face face, + FT_CharMap charmap ); + + + /************************************************************************** + * + * @function: + * FT_Get_Charmap_Index + * + * @description: + * Retrieve index of a given charmap. + * + * @input: + * charmap :: + * A handle to a charmap. + * + * @return: + * The index into the array of character maps within the face to which + * `charmap` belongs. If an error occurs, -1 is returned. + * + */ + FT_EXPORT( FT_Int ) + FT_Get_Charmap_Index( FT_CharMap charmap ); + + + /************************************************************************** + * + * @function: + * FT_Get_Char_Index + * + * @description: + * Return the glyph index of a given character code. This function uses + * the currently selected charmap to do the mapping. + * + * @input: + * face :: + * A handle to the source face object. + * + * charcode :: + * The character code. + * + * @return: + * The glyph index. 0~means 'undefined character code'. + * + * @note: + * If you use FreeType to manipulate the contents of font files directly, + * be aware that the glyph index returned by this function doesn't always + * correspond to the internal indices used within the file. This is done + * to ensure that value~0 always corresponds to the 'missing glyph'. If + * the first glyph is not named '.notdef', then for Type~1 and Type~42 + * fonts, '.notdef' will be moved into the glyph ID~0 position, and + * whatever was there will be moved to the position '.notdef' had. For + * Type~1 fonts, if there is no '.notdef' glyph at all, then one will be + * created at index~0 and whatever was there will be moved to the last + * index -- Type~42 fonts are considered invalid under this condition. + */ + FT_EXPORT( FT_UInt ) + FT_Get_Char_Index( FT_Face face, + FT_ULong charcode ); + + + /************************************************************************** + * + * @function: + * FT_Get_First_Char + * + * @description: + * Return the first character code in the current charmap of a given + * face, together with its corresponding glyph index. + * + * @input: + * face :: + * A handle to the source face object. + * + * @output: + * agindex :: + * Glyph index of first character code. 0~if charmap is empty. + * + * @return: + * The charmap's first character code. + * + * @note: + * You should use this function together with @FT_Get_Next_Char to parse + * all character codes available in a given charmap. The code should + * look like this: + * + * ``` + * FT_ULong charcode; + * FT_UInt gindex; + * + * + * charcode = FT_Get_First_Char( face, &gindex ); + * while ( gindex != 0 ) + * { + * ... do something with (charcode,gindex) pair ... + * + * charcode = FT_Get_Next_Char( face, charcode, &gindex ); + * } + * ``` + * + * Be aware that character codes can have values up to 0xFFFFFFFF; this + * might happen for non-Unicode or malformed cmaps. However, even with + * regular Unicode encoding, so-called 'last resort fonts' (using SFNT + * cmap format 13, see function @FT_Get_CMap_Format) normally have + * entries for all Unicode characters up to 0x1FFFFF, which can cause *a + * lot* of iterations. + * + * Note that `*agindex` is set to~0 if the charmap is empty. The result + * itself can be~0 in two cases: if the charmap is empty or if the + * value~0 is the first valid character code. + */ + FT_EXPORT( FT_ULong ) + FT_Get_First_Char( FT_Face face, + FT_UInt *agindex ); + + + /************************************************************************** + * + * @function: + * FT_Get_Next_Char + * + * @description: + * Return the next character code in the current charmap of a given face + * following the value `char_code`, as well as the corresponding glyph + * index. + * + * @input: + * face :: + * A handle to the source face object. + * + * char_code :: + * The starting character code. + * + * @output: + * agindex :: + * Glyph index of next character code. 0~if charmap is empty. + * + * @return: + * The charmap's next character code. + * + * @note: + * You should use this function with @FT_Get_First_Char to walk over all + * character codes available in a given charmap. See the note for that + * function for a simple code example. + * + * Note that `*agindex` is set to~0 when there are no more codes in the + * charmap. + */ + FT_EXPORT( FT_ULong ) + FT_Get_Next_Char( FT_Face face, + FT_ULong char_code, + FT_UInt *agindex ); + + + /************************************************************************** + * + * @function: + * FT_Face_Properties + * + * @description: + * Set or override certain (library or module-wide) properties on a + * face-by-face basis. Useful for finer-grained control and avoiding + * locks on shared structures (threads can modify their own faces as they + * see fit). + * + * Contrary to @FT_Property_Set, this function uses @FT_Parameter so that + * you can pass multiple properties to the target face in one call. Note + * that only a subset of the available properties can be controlled. + * + * * @FT_PARAM_TAG_STEM_DARKENING (stem darkening, corresponding to the + * property `no-stem-darkening` provided by the 'autofit', 'cff', + * 'type1', and 't1cid' modules; see @no-stem-darkening). + * + * * @FT_PARAM_TAG_LCD_FILTER_WEIGHTS (LCD filter weights, corresponding + * to function @FT_Library_SetLcdFilterWeights). + * + * * @FT_PARAM_TAG_RANDOM_SEED (seed value for the CFF, Type~1, and CID + * 'random' operator, corresponding to the `random-seed` property + * provided by the 'cff', 'type1', and 't1cid' modules; see + * @random-seed). + * + * Pass `NULL` as `data` in @FT_Parameter for a given tag to reset the + * option and use the library or module default again. + * + * @input: + * face :: + * A handle to the source face object. + * + * num_properties :: + * The number of properties that follow. + * + * properties :: + * A handle to an @FT_Parameter array with `num_properties` elements. + * + * @return: + * FreeType error code. 0~means success. + * + * @example: + * Here is an example that sets three properties. You must define + * `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` to make the LCD filter examples + * work. + * + * ``` + * FT_Parameter property1; + * FT_Bool darken_stems = 1; + * + * FT_Parameter property2; + * FT_LcdFiveTapFilter custom_weight = + * { 0x11, 0x44, 0x56, 0x44, 0x11 }; + * + * FT_Parameter property3; + * FT_Int32 random_seed = 314159265; + * + * FT_Parameter properties[3] = { property1, + * property2, + * property3 }; + * + * + * property1.tag = FT_PARAM_TAG_STEM_DARKENING; + * property1.data = &darken_stems; + * + * property2.tag = FT_PARAM_TAG_LCD_FILTER_WEIGHTS; + * property2.data = custom_weight; + * + * property3.tag = FT_PARAM_TAG_RANDOM_SEED; + * property3.data = &random_seed; + * + * FT_Face_Properties( face, 3, properties ); + * ``` + * + * The next example resets a single property to its default value. + * + * ``` + * FT_Parameter property; + * + * + * property.tag = FT_PARAM_TAG_LCD_FILTER_WEIGHTS; + * property.data = NULL; + * + * FT_Face_Properties( face, 1, &property ); + * ``` + * + * @since: + * 2.8 + * + */ + FT_EXPORT( FT_Error ) + FT_Face_Properties( FT_Face face, + FT_UInt num_properties, + FT_Parameter* properties ); + + + /************************************************************************** + * + * @function: + * FT_Get_Name_Index + * + * @description: + * Return the glyph index of a given glyph name. + * + * @input: + * face :: + * A handle to the source face object. + * + * glyph_name :: + * The glyph name. + * + * @return: + * The glyph index. 0~means 'undefined character code'. + */ + FT_EXPORT( FT_UInt ) + FT_Get_Name_Index( FT_Face face, + FT_String* glyph_name ); + + + /************************************************************************** + * + * @enum: + * FT_SUBGLYPH_FLAG_XXX + * + * @description: + * A list of constants describing subglyphs. Please refer to the 'glyf' + * table description in the OpenType specification for the meaning of the + * various flags (which get synthesized for non-OpenType subglyphs). + * + * https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description + * + * @values: + * FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS :: + * FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES :: + * FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID :: + * FT_SUBGLYPH_FLAG_SCALE :: + * FT_SUBGLYPH_FLAG_XY_SCALE :: + * FT_SUBGLYPH_FLAG_2X2 :: + * FT_SUBGLYPH_FLAG_USE_MY_METRICS :: + * + */ +#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1 +#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2 +#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4 +#define FT_SUBGLYPH_FLAG_SCALE 8 +#define FT_SUBGLYPH_FLAG_XY_SCALE 0x40 +#define FT_SUBGLYPH_FLAG_2X2 0x80 +#define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200 + + + /************************************************************************** + * + * @function: + * FT_Get_SubGlyph_Info + * + * @description: + * Retrieve a description of a given subglyph. Only use it if + * `glyph->format` is @FT_GLYPH_FORMAT_COMPOSITE; an error is returned + * otherwise. + * + * @input: + * glyph :: + * The source glyph slot. + * + * sub_index :: + * The index of the subglyph. Must be less than + * `glyph->num_subglyphs`. + * + * @output: + * p_index :: + * The glyph index of the subglyph. + * + * p_flags :: + * The subglyph flags, see @FT_SUBGLYPH_FLAG_XXX. + * + * p_arg1 :: + * The subglyph's first argument (if any). + * + * p_arg2 :: + * The subglyph's second argument (if any). + * + * p_transform :: + * The subglyph transformation (if any). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The values of `*p_arg1`, `*p_arg2`, and `*p_transform` must be + * interpreted depending on the flags returned in `*p_flags`. See the + * OpenType specification for details. + * + * https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description + * + */ + FT_EXPORT( FT_Error ) + FT_Get_SubGlyph_Info( FT_GlyphSlot glyph, + FT_UInt sub_index, + FT_Int *p_index, + FT_UInt *p_flags, + FT_Int *p_arg1, + FT_Int *p_arg2, + FT_Matrix *p_transform ); + + + /************************************************************************** + * + * @section: + * layer_management + * + * @title: + * Glyph Layer Management + * + * @abstract: + * Retrieving and manipulating OpenType's 'COLR' table data. + * + * @description: + * The functions described here allow access of colored glyph layer data + * in OpenType's 'COLR' tables. + */ + + + /************************************************************************** + * + * @struct: + * FT_LayerIterator + * + * @description: + * This iterator object is needed for @FT_Get_Color_Glyph_Layer. + * + * @fields: + * num_layers :: + * The number of glyph layers for the requested glyph index. Will be + * set by @FT_Get_Color_Glyph_Layer. + * + * layer :: + * The current layer. Will be set by @FT_Get_Color_Glyph_Layer. + * + * p :: + * An opaque pointer into 'COLR' table data. The caller must set this + * to `NULL` before the first call of @FT_Get_Color_Glyph_Layer. + */ + typedef struct FT_LayerIterator_ + { + FT_UInt num_layers; + FT_UInt layer; + FT_Byte* p; + + } FT_LayerIterator; + + + /************************************************************************** + * + * @function: + * FT_Get_Color_Glyph_Layer + * + * @description: + * This is an interface to the 'COLR' table in OpenType fonts to + * iteratively retrieve the colored glyph layers associated with the + * current glyph slot. + * + * https://docs.microsoft.com/en-us/typography/opentype/spec/colr + * + * The glyph layer data for a given glyph index, if present, provides an + * alternative, multi-colour glyph representation: Instead of rendering + * the outline or bitmap with the given glyph index, glyphs with the + * indices and colors returned by this function are rendered layer by + * layer. + * + * The returned elements are ordered in the z~direction from bottom to + * top; the 'n'th element should be rendered with the associated palette + * color and blended on top of the already rendered layers (elements 0, + * 1, ..., n-1). + * + * @input: + * face :: + * A handle to the parent face object. + * + * base_glyph :: + * The glyph index the colored glyph layers are associated with. + * + * @inout: + * iterator :: + * An @FT_LayerIterator object. For the first call you should set + * `iterator->p` to `NULL`. For all following calls, simply use the + * same object again. + * + * @output: + * aglyph_index :: + * The glyph index of the current layer. + * + * acolor_index :: + * The color index into the font face's color palette of the current + * layer. The value 0xFFFF is special; it doesn't reference a palette + * entry but indicates that the text foreground color should be used + * instead (to be set up by the application outside of FreeType). + * + * The color palette can be retrieved with @FT_Palette_Select. + * + * @return: + * Value~1 if everything is OK. If there are no more layers (or if there + * are no layers at all), value~0 gets returned. In case of an error, + * value~0 is returned also. + * + * @note: + * This function is necessary if you want to handle glyph layers by + * yourself. In particular, functions that operate with @FT_GlyphRec + * objects (like @FT_Get_Glyph or @FT_Glyph_To_Bitmap) don't have access + * to this information. + * + * Note that @FT_Render_Glyph is able to handle colored glyph layers + * automatically if the @FT_LOAD_COLOR flag is passed to a previous call + * to @FT_Load_Glyph. [This is an experimental feature.] + * + * @example: + * ``` + * FT_Color* palette; + * FT_LayerIterator iterator; + * + * FT_Bool have_layers; + * FT_UInt layer_glyph_index; + * FT_UInt layer_color_index; + * + * + * error = FT_Palette_Select( face, palette_index, &palette ); + * if ( error ) + * palette = NULL; + * + * iterator.p = NULL; + * have_layers = FT_Get_Color_Glyph_Layer( face, + * glyph_index, + * &layer_glyph_index, + * &layer_color_index, + * &iterator ); + * + * if ( palette && have_layers ) + * { + * do + * { + * FT_Color layer_color; + * + * + * if ( layer_color_index == 0xFFFF ) + * layer_color = text_foreground_color; + * else + * layer_color = palette[layer_color_index]; + * + * // Load and render glyph `layer_glyph_index', then + * // blend resulting pixmap (using color `layer_color') + * // with previously created pixmaps. + * + * } while ( FT_Get_Color_Glyph_Layer( face, + * glyph_index, + * &layer_glyph_index, + * &layer_color_index, + * &iterator ) ); + * } + * ``` + */ + FT_EXPORT( FT_Bool ) + FT_Get_Color_Glyph_Layer( FT_Face face, + FT_UInt base_glyph, + FT_UInt *aglyph_index, + FT_UInt *acolor_index, + FT_LayerIterator* iterator ); + + + /************************************************************************** + * + * @section: + * base_interface + * + */ + + /************************************************************************** + * + * @enum: + * FT_FSTYPE_XXX + * + * @description: + * A list of bit flags used in the `fsType` field of the OS/2 table in a + * TrueType or OpenType font and the `FSType` entry in a PostScript font. + * These bit flags are returned by @FT_Get_FSType_Flags; they inform + * client applications of embedding and subsetting restrictions + * associated with a font. + * + * See + * https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FontPolicies.pdf + * for more details. + * + * @values: + * FT_FSTYPE_INSTALLABLE_EMBEDDING :: + * Fonts with no fsType bit set may be embedded and permanently + * installed on the remote system by an application. + * + * FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING :: + * Fonts that have only this bit set must not be modified, embedded or + * exchanged in any manner without first obtaining permission of the + * font software copyright owner. + * + * FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: + * The font may be embedded and temporarily loaded on the remote + * system. Documents containing Preview & Print fonts must be opened + * 'read-only'; no edits can be applied to the document. + * + * FT_FSTYPE_EDITABLE_EMBEDDING :: + * The font may be embedded but must only be installed temporarily on + * other systems. In contrast to Preview & Print fonts, documents + * containing editable fonts may be opened for reading, editing is + * permitted, and changes may be saved. + * + * FT_FSTYPE_NO_SUBSETTING :: + * The font may not be subsetted prior to embedding. + * + * FT_FSTYPE_BITMAP_EMBEDDING_ONLY :: + * Only bitmaps contained in the font may be embedded; no outline data + * may be embedded. If there are no bitmaps available in the font, + * then the font is unembeddable. + * + * @note: + * The flags are ORed together, thus more than a single value can be + * returned. + * + * While the `fsType` flags can indicate that a font may be embedded, a + * license with the font vendor may be separately required to use the + * font in this way. + */ +#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000 +#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002 +#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004 +#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008 +#define FT_FSTYPE_NO_SUBSETTING 0x0100 +#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200 + + + /************************************************************************** + * + * @function: + * FT_Get_FSType_Flags + * + * @description: + * Return the `fsType` flags for a font. + * + * @input: + * face :: + * A handle to the source face object. + * + * @return: + * The `fsType` flags, see @FT_FSTYPE_XXX. + * + * @note: + * Use this function rather than directly reading the `fs_type` field in + * the @PS_FontInfoRec structure, which is only guaranteed to return the + * correct results for Type~1 fonts. + * + * @since: + * 2.3.8 + */ + FT_EXPORT( FT_UShort ) + FT_Get_FSType_Flags( FT_Face face ); + + + /************************************************************************** + * + * @section: + * glyph_variants + * + * @title: + * Unicode Variation Sequences + * + * @abstract: + * The FreeType~2 interface to Unicode Variation Sequences (UVS), using + * the SFNT cmap format~14. + * + * @description: + * Many characters, especially for CJK scripts, have variant forms. They + * are a sort of grey area somewhere between being totally irrelevant and + * semantically distinct; for this reason, the Unicode consortium decided + * to introduce Variation Sequences (VS), consisting of a Unicode base + * character and a variation selector instead of further extending the + * already huge number of characters. + * + * Unicode maintains two different sets, namely 'Standardized Variation + * Sequences' and registered 'Ideographic Variation Sequences' (IVS), + * collected in the 'Ideographic Variation Database' (IVD). + * + * https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt + * https://unicode.org/reports/tr37/ https://unicode.org/ivd/ + * + * To date (January 2017), the character with the most ideographic + * variations is U+9089, having 32 such IVS. + * + * Three Mongolian Variation Selectors have the values U+180B-U+180D; 256 + * generic Variation Selectors are encoded in the ranges U+FE00-U+FE0F + * and U+E0100-U+E01EF. IVS currently use Variation Selectors from the + * range U+E0100-U+E01EF only. + * + * A VS consists of the base character value followed by a single + * Variation Selector. For example, to get the first variation of + * U+9089, you have to write the character sequence `U+9089 U+E0100`. + * + * Adobe and MS decided to support both standardized and ideographic VS + * with a new cmap subtable (format~14). It is an odd subtable because + * it is not a mapping of input code points to glyphs, but contains lists + * of all variations supported by the font. + * + * A variation may be either 'default' or 'non-default' for a given font. + * A default variation is the one you will get for that code point if you + * look it up in the standard Unicode cmap. A non-default variation is a + * different glyph. + * + */ + + + /************************************************************************** + * + * @function: + * FT_Face_GetCharVariantIndex + * + * @description: + * Return the glyph index of a given character code as modified by the + * variation selector. + * + * @input: + * face :: + * A handle to the source face object. + * + * charcode :: + * The character code point in Unicode. + * + * variantSelector :: + * The Unicode code point of the variation selector. + * + * @return: + * The glyph index. 0~means either 'undefined character code', or + * 'undefined selector code', or 'no variation selector cmap subtable', + * or 'current CharMap is not Unicode'. + * + * @note: + * If you use FreeType to manipulate the contents of font files directly, + * be aware that the glyph index returned by this function doesn't always + * correspond to the internal indices used within the file. This is done + * to ensure that value~0 always corresponds to the 'missing glyph'. + * + * This function is only meaningful if + * a) the font has a variation selector cmap sub table, and + * b) the current charmap has a Unicode encoding. + * + * @since: + * 2.3.6 + */ + FT_EXPORT( FT_UInt ) + FT_Face_GetCharVariantIndex( FT_Face face, + FT_ULong charcode, + FT_ULong variantSelector ); + + + /************************************************************************** + * + * @function: + * FT_Face_GetCharVariantIsDefault + * + * @description: + * Check whether this variation of this Unicode character is the one to + * be found in the charmap. + * + * @input: + * face :: + * A handle to the source face object. + * + * charcode :: + * The character codepoint in Unicode. + * + * variantSelector :: + * The Unicode codepoint of the variation selector. + * + * @return: + * 1~if found in the standard (Unicode) cmap, 0~if found in the variation + * selector cmap, or -1 if it is not a variation. + * + * @note: + * This function is only meaningful if the font has a variation selector + * cmap subtable. + * + * @since: + * 2.3.6 + */ + FT_EXPORT( FT_Int ) + FT_Face_GetCharVariantIsDefault( FT_Face face, + FT_ULong charcode, + FT_ULong variantSelector ); + + + /************************************************************************** + * + * @function: + * FT_Face_GetVariantSelectors + * + * @description: + * Return a zero-terminated list of Unicode variation selectors found in + * the font. + * + * @input: + * face :: + * A handle to the source face object. + * + * @return: + * A pointer to an array of selector code points, or `NULL` if there is + * no valid variation selector cmap subtable. + * + * @note: + * The last item in the array is~0; the array is owned by the @FT_Face + * object but can be overwritten or released on the next call to a + * FreeType function. + * + * @since: + * 2.3.6 + */ + FT_EXPORT( FT_UInt32* ) + FT_Face_GetVariantSelectors( FT_Face face ); + + + /************************************************************************** + * + * @function: + * FT_Face_GetVariantsOfChar + * + * @description: + * Return a zero-terminated list of Unicode variation selectors found for + * the specified character code. + * + * @input: + * face :: + * A handle to the source face object. + * + * charcode :: + * The character codepoint in Unicode. + * + * @return: + * A pointer to an array of variation selector code points that are + * active for the given character, or `NULL` if the corresponding list is + * empty. + * + * @note: + * The last item in the array is~0; the array is owned by the @FT_Face + * object but can be overwritten or released on the next call to a + * FreeType function. + * + * @since: + * 2.3.6 + */ + FT_EXPORT( FT_UInt32* ) + FT_Face_GetVariantsOfChar( FT_Face face, + FT_ULong charcode ); + + + /************************************************************************** + * + * @function: + * FT_Face_GetCharsOfVariant + * + * @description: + * Return a zero-terminated list of Unicode character codes found for the + * specified variation selector. + * + * @input: + * face :: + * A handle to the source face object. + * + * variantSelector :: + * The variation selector code point in Unicode. + * + * @return: + * A list of all the code points that are specified by this selector + * (both default and non-default codes are returned) or `NULL` if there + * is no valid cmap or the variation selector is invalid. + * + * @note: + * The last item in the array is~0; the array is owned by the @FT_Face + * object but can be overwritten or released on the next call to a + * FreeType function. + * + * @since: + * 2.3.6 + */ + FT_EXPORT( FT_UInt32* ) + FT_Face_GetCharsOfVariant( FT_Face face, + FT_ULong variantSelector ); + + + /************************************************************************** + * + * @section: + * computations + * + * @title: + * Computations + * + * @abstract: + * Crunching fixed numbers and vectors. + * + * @description: + * This section contains various functions used to perform computations + * on 16.16 fixed-float numbers or 2d vectors. + * + * **Attention**: Most arithmetic functions take `FT_Long` as arguments. + * For historical reasons, FreeType was designed under the assumption + * that `FT_Long` is a 32-bit integer; results can thus be undefined if + * the arguments don't fit into 32 bits. + * + * @order: + * FT_MulDiv + * FT_MulFix + * FT_DivFix + * FT_RoundFix + * FT_CeilFix + * FT_FloorFix + * FT_Vector_Transform + * FT_Matrix_Multiply + * FT_Matrix_Invert + * + */ + + + /************************************************************************** + * + * @function: + * FT_MulDiv + * + * @description: + * Compute `(a*b)/c` with maximum accuracy, using a 64-bit intermediate + * integer whenever necessary. + * + * This function isn't necessarily as fast as some processor-specific + * operations, but is at least completely portable. + * + * @input: + * a :: + * The first multiplier. + * + * b :: + * The second multiplier. + * + * c :: + * The divisor. + * + * @return: + * The result of `(a*b)/c`. This function never traps when trying to + * divide by zero; it simply returns 'MaxInt' or 'MinInt' depending on + * the signs of `a` and `b`. + */ + FT_EXPORT( FT_Long ) + FT_MulDiv( FT_Long a, + FT_Long b, + FT_Long c ); + + + /************************************************************************** + * + * @function: + * FT_MulFix + * + * @description: + * Compute `(a*b)/0x10000` with maximum accuracy. Its main use is to + * multiply a given value by a 16.16 fixed-point factor. + * + * @input: + * a :: + * The first multiplier. + * + * b :: + * The second multiplier. Use a 16.16 factor here whenever possible + * (see note below). + * + * @return: + * The result of `(a*b)/0x10000`. + * + * @note: + * This function has been optimized for the case where the absolute value + * of `a` is less than 2048, and `b` is a 16.16 scaling factor. As this + * happens mainly when scaling from notional units to fractional pixels + * in FreeType, it resulted in noticeable speed improvements between + * versions 2.x and 1.x. + * + * As a conclusion, always try to place a 16.16 factor as the _second_ + * argument of this function; this can make a great difference. + */ + FT_EXPORT( FT_Long ) + FT_MulFix( FT_Long a, + FT_Long b ); + + + /************************************************************************** + * + * @function: + * FT_DivFix + * + * @description: + * Compute `(a*0x10000)/b` with maximum accuracy. Its main use is to + * divide a given value by a 16.16 fixed-point factor. + * + * @input: + * a :: + * The numerator. + * + * b :: + * The denominator. Use a 16.16 factor here. + * + * @return: + * The result of `(a*0x10000)/b`. + */ + FT_EXPORT( FT_Long ) + FT_DivFix( FT_Long a, + FT_Long b ); + + + /************************************************************************** + * + * @function: + * FT_RoundFix + * + * @description: + * Round a 16.16 fixed number. + * + * @input: + * a :: + * The number to be rounded. + * + * @return: + * `a` rounded to the nearest 16.16 fixed integer, halfway cases away + * from zero. + * + * @note: + * The function uses wrap-around arithmetic. + */ + FT_EXPORT( FT_Fixed ) + FT_RoundFix( FT_Fixed a ); + + + /************************************************************************** + * + * @function: + * FT_CeilFix + * + * @description: + * Compute the smallest following integer of a 16.16 fixed number. + * + * @input: + * a :: + * The number for which the ceiling function is to be computed. + * + * @return: + * `a` rounded towards plus infinity. + * + * @note: + * The function uses wrap-around arithmetic. + */ + FT_EXPORT( FT_Fixed ) + FT_CeilFix( FT_Fixed a ); + + + /************************************************************************** + * + * @function: + * FT_FloorFix + * + * @description: + * Compute the largest previous integer of a 16.16 fixed number. + * + * @input: + * a :: + * The number for which the floor function is to be computed. + * + * @return: + * `a` rounded towards minus infinity. + */ + FT_EXPORT( FT_Fixed ) + FT_FloorFix( FT_Fixed a ); + + + /************************************************************************** + * + * @function: + * FT_Vector_Transform + * + * @description: + * Transform a single vector through a 2x2 matrix. + * + * @inout: + * vector :: + * The target vector to transform. + * + * @input: + * matrix :: + * A pointer to the source 2x2 matrix. + * + * @note: + * The result is undefined if either `vector` or `matrix` is invalid. + */ + FT_EXPORT( void ) + FT_Vector_Transform( FT_Vector* vector, + const FT_Matrix* matrix ); + + + /************************************************************************** + * + * @section: + * version + * + * @title: + * FreeType Version + * + * @abstract: + * Functions and macros related to FreeType versions. + * + * @description: + * Note that those functions and macros are of limited use because even a + * new release of FreeType with only documentation changes increases the + * version number. + * + * @order: + * FT_Library_Version + * + * FREETYPE_MAJOR + * FREETYPE_MINOR + * FREETYPE_PATCH + * + * FT_Face_CheckTrueTypePatents + * FT_Face_SetUnpatentedHinting + * + */ + + + /************************************************************************** + * + * @enum: + * FREETYPE_XXX + * + * @description: + * These three macros identify the FreeType source code version. Use + * @FT_Library_Version to access them at runtime. + * + * @values: + * FREETYPE_MAJOR :: + * The major version number. + * FREETYPE_MINOR :: + * The minor version number. + * FREETYPE_PATCH :: + * The patch level. + * + * @note: + * The version number of FreeType if built as a dynamic link library with + * the 'libtool' package is _not_ controlled by these three macros. + * + */ +#define FREETYPE_MAJOR 2 +#define FREETYPE_MINOR 10 +#define FREETYPE_PATCH 0 + + + /************************************************************************** + * + * @function: + * FT_Library_Version + * + * @description: + * Return the version of the FreeType library being used. This is useful + * when dynamically linking to the library, since one cannot use the + * macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and @FREETYPE_PATCH. + * + * @input: + * library :: + * A source library handle. + * + * @output: + * amajor :: + * The major version number. + * + * aminor :: + * The minor version number. + * + * apatch :: + * The patch version number. + * + * @note: + * The reason why this function takes a `library` argument is because + * certain programs implement library initialization in a custom way that + * doesn't use @FT_Init_FreeType. + * + * In such cases, the library version might not be available before the + * library object has been created. + */ + FT_EXPORT( void ) + FT_Library_Version( FT_Library library, + FT_Int *amajor, + FT_Int *aminor, + FT_Int *apatch ); + + + /************************************************************************** + * + * @function: + * FT_Face_CheckTrueTypePatents + * + * @description: + * Deprecated, does nothing. + * + * @input: + * face :: + * A face handle. + * + * @return: + * Always returns false. + * + * @note: + * Since May 2010, TrueType hinting is no longer patented. + * + * @since: + * 2.3.5 + */ + FT_EXPORT( FT_Bool ) + FT_Face_CheckTrueTypePatents( FT_Face face ); + + + /************************************************************************** + * + * @function: + * FT_Face_SetUnpatentedHinting + * + * @description: + * Deprecated, does nothing. + * + * @input: + * face :: + * A face handle. + * + * value :: + * New boolean setting. + * + * @return: + * Always returns false. + * + * @note: + * Since May 2010, TrueType hinting is no longer patented. + * + * @since: + * 2.3.5 + */ + FT_EXPORT( FT_Bool ) + FT_Face_SetUnpatentedHinting( FT_Face face, + FT_Bool value ); + + /* */ + + +FT_END_HEADER + +#endif /* FREETYPE_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ft2build.h b/android/x86_64/include/freetype/ft2build.h new file mode 100644 index 00000000..8902236e --- /dev/null +++ b/android/x86_64/include/freetype/ft2build.h @@ -0,0 +1,44 @@ +/**************************************************************************** + * + * ft2build.h + * + * FreeType 2 build and setup macros. + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * This is the 'entry point' for FreeType header file inclusions. It is + * the only header file which should be included directly; all other + * FreeType header files should be accessed with macro names (after + * including `ft2build.h`). + * + * A typical example is + * + * ``` + * #include "ft2build.h" + * #include FT_FREETYPE_H + * ``` + * + */ + + +#ifndef FT2BUILD_H_ +#define FT2BUILD_H_ + +#include + +#endif /* FT2BUILD_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftadvanc.h b/android/x86_64/include/freetype/ftadvanc.h new file mode 100644 index 00000000..196da582 --- /dev/null +++ b/android/x86_64/include/freetype/ftadvanc.h @@ -0,0 +1,188 @@ +/**************************************************************************** + * + * ftadvanc.h + * + * Quick computation of advance widths (specification only). + * + * Copyright (C) 2008-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTADVANC_H_ +#define FTADVANC_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * quick_advance + * + * @title: + * Quick retrieval of advance values + * + * @abstract: + * Retrieve horizontal and vertical advance values without processing + * glyph outlines, if possible. + * + * @description: + * This section contains functions to quickly extract advance values + * without handling glyph outlines, if possible. + * + * @order: + * FT_Get_Advance + * FT_Get_Advances + * + */ + + + /************************************************************************** + * + * @enum: + * FT_ADVANCE_FLAG_FAST_ONLY + * + * @description: + * A bit-flag to be OR-ed with the `flags` parameter of the + * @FT_Get_Advance and @FT_Get_Advances functions. + * + * If set, it indicates that you want these functions to fail if the + * corresponding hinting mode or font driver doesn't allow for very quick + * advance computation. + * + * Typically, glyphs that are either unscaled, unhinted, bitmapped, or + * light-hinted can have their advance width computed very quickly. + * + * Normal and bytecode hinted modes that require loading, scaling, and + * hinting of the glyph outline, are extremely slow by comparison. + */ +#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L + + + /************************************************************************** + * + * @function: + * FT_Get_Advance + * + * @description: + * Retrieve the advance value of a given glyph outline in an @FT_Face. + * + * @input: + * face :: + * The source @FT_Face handle. + * + * gindex :: + * The glyph index. + * + * load_flags :: + * A set of bit flags similar to those used when calling + * @FT_Load_Glyph, used to determine what kind of advances you need. + * @output: + * padvance :: + * The advance value. If scaling is performed (based on the value of + * `load_flags`), the advance value is in 16.16 format. Otherwise, it + * is in font units. + * + * If @FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance + * corresponding to a vertical layout. Otherwise, it is the horizontal + * advance in a horizontal layout. + * + * @return: + * FreeType error code. 0 means success. + * + * @note: + * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if + * the corresponding font backend doesn't have a quick way to retrieve + * the advances. + * + * A scaled advance is returned in 16.16 format but isn't transformed by + * the affine transformation specified by @FT_Set_Transform. + */ + FT_EXPORT( FT_Error ) + FT_Get_Advance( FT_Face face, + FT_UInt gindex, + FT_Int32 load_flags, + FT_Fixed *padvance ); + + + /************************************************************************** + * + * @function: + * FT_Get_Advances + * + * @description: + * Retrieve the advance values of several glyph outlines in an @FT_Face. + * + * @input: + * face :: + * The source @FT_Face handle. + * + * start :: + * The first glyph index. + * + * count :: + * The number of advance values you want to retrieve. + * + * load_flags :: + * A set of bit flags similar to those used when calling + * @FT_Load_Glyph. + * + * @output: + * padvance :: + * The advance values. This array, to be provided by the caller, must + * contain at least `count` elements. + * + * If scaling is performed (based on the value of `load_flags`), the + * advance values are in 16.16 format. Otherwise, they are in font + * units. + * + * If @FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances + * corresponding to a vertical layout. Otherwise, they are the + * horizontal advances in a horizontal layout. + * + * @return: + * FreeType error code. 0 means success. + * + * @note: + * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if + * the corresponding font backend doesn't have a quick way to retrieve + * the advances. + * + * Scaled advances are returned in 16.16 format but aren't transformed by + * the affine transformation specified by @FT_Set_Transform. + */ + FT_EXPORT( FT_Error ) + FT_Get_Advances( FT_Face face, + FT_UInt start, + FT_UInt count, + FT_Int32 load_flags, + FT_Fixed *padvances ); + + /* */ + + +FT_END_HEADER + +#endif /* FTADVANC_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftbbox.h b/android/x86_64/include/freetype/ftbbox.h new file mode 100644 index 00000000..573182a0 --- /dev/null +++ b/android/x86_64/include/freetype/ftbbox.h @@ -0,0 +1,102 @@ +/**************************************************************************** + * + * ftbbox.h + * + * FreeType exact bbox computation (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * This component has a _single_ role: to compute exact outline bounding + * boxes. + * + * It is separated from the rest of the engine for various technical + * reasons. It may well be integrated in 'ftoutln' later. + * + */ + + +#ifndef FTBBOX_H_ +#define FTBBOX_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * outline_processing + * + */ + + + /************************************************************************** + * + * @function: + * FT_Outline_Get_BBox + * + * @description: + * Compute the exact bounding box of an outline. This is slower than + * computing the control box. However, it uses an advanced algorithm + * that returns _very_ quickly when the two boxes coincide. Otherwise, + * the outline Bezier arcs are traversed to extract their extrema. + * + * @input: + * outline :: + * A pointer to the source outline. + * + * @output: + * abbox :: + * The outline's exact bounding box. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If the font is tricky and the glyph has been loaded with + * @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get + * reasonable values for the BBox it is necessary to load the glyph at a + * large ppem value (so that the hinting instructions can properly shift + * and scale the subglyphs), then extracting the BBox, which can be + * eventually converted back to font units. + */ + FT_EXPORT( FT_Error ) + FT_Outline_Get_BBox( FT_Outline* outline, + FT_BBox *abbox ); + + /* */ + + +FT_END_HEADER + +#endif /* FTBBOX_H_ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/android/x86_64/include/freetype/ftbdf.h b/android/x86_64/include/freetype/ftbdf.h new file mode 100644 index 00000000..755ec935 --- /dev/null +++ b/android/x86_64/include/freetype/ftbdf.h @@ -0,0 +1,213 @@ +/**************************************************************************** + * + * ftbdf.h + * + * FreeType API for accessing BDF-specific strings (specification). + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTBDF_H_ +#define FTBDF_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * bdf_fonts + * + * @title: + * BDF and PCF Files + * + * @abstract: + * BDF and PCF specific API. + * + * @description: + * This section contains the declaration of functions specific to BDF and + * PCF fonts. + * + */ + + + /************************************************************************** + * + * @enum: + * BDF_PropertyType + * + * @description: + * A list of BDF property types. + * + * @values: + * BDF_PROPERTY_TYPE_NONE :: + * Value~0 is used to indicate a missing property. + * + * BDF_PROPERTY_TYPE_ATOM :: + * Property is a string atom. + * + * BDF_PROPERTY_TYPE_INTEGER :: + * Property is a 32-bit signed integer. + * + * BDF_PROPERTY_TYPE_CARDINAL :: + * Property is a 32-bit unsigned integer. + */ + typedef enum BDF_PropertyType_ + { + BDF_PROPERTY_TYPE_NONE = 0, + BDF_PROPERTY_TYPE_ATOM = 1, + BDF_PROPERTY_TYPE_INTEGER = 2, + BDF_PROPERTY_TYPE_CARDINAL = 3 + + } BDF_PropertyType; + + + /************************************************************************** + * + * @type: + * BDF_Property + * + * @description: + * A handle to a @BDF_PropertyRec structure to model a given BDF/PCF + * property. + */ + typedef struct BDF_PropertyRec_* BDF_Property; + + + /************************************************************************** + * + * @struct: + * BDF_PropertyRec + * + * @description: + * This structure models a given BDF/PCF property. + * + * @fields: + * type :: + * The property type. + * + * u.atom :: + * The atom string, if type is @BDF_PROPERTY_TYPE_ATOM. May be + * `NULL`, indicating an empty string. + * + * u.integer :: + * A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER. + * + * u.cardinal :: + * An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL. + */ + typedef struct BDF_PropertyRec_ + { + BDF_PropertyType type; + union { + const char* atom; + FT_Int32 integer; + FT_UInt32 cardinal; + + } u; + + } BDF_PropertyRec; + + + /************************************************************************** + * + * @function: + * FT_Get_BDF_Charset_ID + * + * @description: + * Retrieve a BDF font character set identity, according to the BDF + * specification. + * + * @input: + * face :: + * A handle to the input face. + * + * @output: + * acharset_encoding :: + * Charset encoding, as a C~string, owned by the face. + * + * acharset_registry :: + * Charset registry, as a C~string, owned by the face. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with BDF faces, returning an error otherwise. + */ + FT_EXPORT( FT_Error ) + FT_Get_BDF_Charset_ID( FT_Face face, + const char* *acharset_encoding, + const char* *acharset_registry ); + + + /************************************************************************** + * + * @function: + * FT_Get_BDF_Property + * + * @description: + * Retrieve a BDF property from a BDF or PCF font file. + * + * @input: + * face :: + * A handle to the input face. + * + * name :: + * The property name. + * + * @output: + * aproperty :: + * The property. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function works with BDF _and_ PCF fonts. It returns an error + * otherwise. It also returns an error if the property is not in the + * font. + * + * A 'property' is a either key-value pair within the STARTPROPERTIES + * ... ENDPROPERTIES block of a BDF font or a key-value pair from the + * `info->props` array within a `FontRec` structure of a PCF font. + * + * Integer properties are always stored as 'signed' within PCF fonts; + * consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value + * for BDF fonts only. + * + * In case of error, `aproperty->type` is always set to + * @BDF_PROPERTY_TYPE_NONE. + */ + FT_EXPORT( FT_Error ) + FT_Get_BDF_Property( FT_Face face, + const char* prop_name, + BDF_PropertyRec *aproperty ); + + /* */ + +FT_END_HEADER + +#endif /* FTBDF_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftbitmap.h b/android/x86_64/include/freetype/ftbitmap.h new file mode 100644 index 00000000..83acc5f4 --- /dev/null +++ b/android/x86_64/include/freetype/ftbitmap.h @@ -0,0 +1,330 @@ +/**************************************************************************** + * + * ftbitmap.h + * + * FreeType utility functions for bitmaps (specification). + * + * Copyright (C) 2004-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTBITMAP_H_ +#define FTBITMAP_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H +#include FT_COLOR_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * bitmap_handling + * + * @title: + * Bitmap Handling + * + * @abstract: + * Handling FT_Bitmap objects. + * + * @description: + * This section contains functions for handling @FT_Bitmap objects, + * automatically adjusting the target's bitmap buffer size as needed. + * + * Note that none of the functions changes the bitmap's 'flow' (as + * indicated by the sign of the `pitch` field in @FT_Bitmap). + * + * To set the flow, assign an appropriate positive or negative value to + * the `pitch` field of the target @FT_Bitmap object after calling + * @FT_Bitmap_Init but before calling any of the other functions + * described here. + */ + + + /************************************************************************** + * + * @function: + * FT_Bitmap_Init + * + * @description: + * Initialize a pointer to an @FT_Bitmap structure. + * + * @inout: + * abitmap :: + * A pointer to the bitmap structure. + * + * @note: + * A deprecated name for the same function is `FT_Bitmap_New`. + */ + FT_EXPORT( void ) + FT_Bitmap_Init( FT_Bitmap *abitmap ); + + + /* deprecated */ + FT_EXPORT( void ) + FT_Bitmap_New( FT_Bitmap *abitmap ); + + + /************************************************************************** + * + * @function: + * FT_Bitmap_Copy + * + * @description: + * Copy a bitmap into another one. + * + * @input: + * library :: + * A handle to a library object. + * + * source :: + * A handle to the source bitmap. + * + * @output: + * target :: + * A handle to the target bitmap. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * `source->buffer` and `target->buffer` must neither be equal nor + * overlap. + */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Copy( FT_Library library, + const FT_Bitmap *source, + FT_Bitmap *target ); + + + /************************************************************************** + * + * @function: + * FT_Bitmap_Embolden + * + * @description: + * Embolden a bitmap. The new bitmap will be about `xStrength` pixels + * wider and `yStrength` pixels higher. The left and bottom borders are + * kept unchanged. + * + * @input: + * library :: + * A handle to a library object. + * + * xStrength :: + * How strong the glyph is emboldened horizontally. Expressed in 26.6 + * pixel format. + * + * yStrength :: + * How strong the glyph is emboldened vertically. Expressed in 26.6 + * pixel format. + * + * @inout: + * bitmap :: + * A handle to the target bitmap. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The current implementation restricts `xStrength` to be less than or + * equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. + * + * If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, you + * should call @FT_GlyphSlot_Own_Bitmap on the slot first. + * + * Bitmaps in @FT_PIXEL_MODE_GRAY2 and @FT_PIXEL_MODE_GRAY@ format are + * converted to @FT_PIXEL_MODE_GRAY format (i.e., 8bpp). + */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Embolden( FT_Library library, + FT_Bitmap* bitmap, + FT_Pos xStrength, + FT_Pos yStrength ); + + + /************************************************************************** + * + * @function: + * FT_Bitmap_Convert + * + * @description: + * Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to + * a bitmap object with depth 8bpp, making the number of used bytes per + * line (a.k.a. the 'pitch') a multiple of `alignment`. + * + * @input: + * library :: + * A handle to a library object. + * + * source :: + * The source bitmap. + * + * alignment :: + * The pitch of the bitmap is a multiple of this argument. Common + * values are 1, 2, or 4. + * + * @output: + * target :: + * The target bitmap. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * It is possible to call @FT_Bitmap_Convert multiple times without + * calling @FT_Bitmap_Done (the memory is simply reallocated). + * + * Use @FT_Bitmap_Done to finally remove the bitmap object. + * + * The `library` argument is taken to have access to FreeType's memory + * handling functions. + * + * `source->buffer` and `target->buffer` must neither be equal nor + * overlap. + */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Convert( FT_Library library, + const FT_Bitmap *source, + FT_Bitmap *target, + FT_Int alignment ); + + + /************************************************************************** + * + * @function: + * FT_Bitmap_Blend + * + * @description: + * Blend a bitmap onto another bitmap, using a given color. + * + * @input: + * library :: + * A handle to a library object. + * + * source :: + * The source bitmap, which can have any @FT_Pixel_Mode format. + * + * source_offset :: + * The offset vector to the upper left corner of the source bitmap in + * 26.6 pixel format. It should represent an integer offset; the + * function will set the lowest six bits to zero to enforce that. + * + * color :: + * The color used to draw `source` onto `target`. + * + * @inout: + * target :: + * A handle to an `FT_Bitmap` object. It should be either initialized + * as empty with a call to @FT_Bitmap_Init, or it should be of type + * @FT_PIXEL_MODE_BGRA. + * + * atarget_offset :: + * The offset vector to the upper left corner of the target bitmap in + * 26.6 pixel format. It should represent an integer offset; the + * function will set the lowest six bits to zero to enforce that. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function doesn't perform clipping. + * + * The bitmap in `target` gets allocated or reallocated as needed; the + * vector `atarget_offset` is updated accordingly. + * + * In case of allocation or reallocation, the bitmap's pitch is set to + * `4 * width`. Both `source` and `target` must have the same bitmap + * flow (as indicated by the sign of the `pitch` field). + * + * `source->buffer` and `target->buffer` must neither be equal nor + * overlap. + * + * @since: + * 2.10 + */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Blend( FT_Library library, + const FT_Bitmap* source, + const FT_Vector source_offset, + FT_Bitmap* target, + FT_Vector *atarget_offset, + FT_Color color ); + + + /************************************************************************** + * + * @function: + * FT_GlyphSlot_Own_Bitmap + * + * @description: + * Make sure that a glyph slot owns `slot->bitmap`. + * + * @input: + * slot :: + * The glyph slot. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function is to be used in combination with @FT_Bitmap_Embolden. + */ + FT_EXPORT( FT_Error ) + FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot ); + + + /************************************************************************** + * + * @function: + * FT_Bitmap_Done + * + * @description: + * Destroy a bitmap object initialized with @FT_Bitmap_Init. + * + * @input: + * library :: + * A handle to a library object. + * + * bitmap :: + * The bitmap object to be freed. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The `library` argument is taken to have access to FreeType's memory + * handling functions. + */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Done( FT_Library library, + FT_Bitmap *bitmap ); + + + /* */ + + +FT_END_HEADER + +#endif /* FTBITMAP_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftbzip2.h b/android/x86_64/include/freetype/ftbzip2.h new file mode 100644 index 00000000..17252359 --- /dev/null +++ b/android/x86_64/include/freetype/ftbzip2.h @@ -0,0 +1,102 @@ +/**************************************************************************** + * + * ftbzip2.h + * + * Bzip2-compressed stream support. + * + * Copyright (C) 2010-2019 by + * Joel Klinghed. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTBZIP2_H_ +#define FTBZIP2_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /************************************************************************** + * + * @section: + * bzip2 + * + * @title: + * BZIP2 Streams + * + * @abstract: + * Using bzip2-compressed font files. + * + * @description: + * This section contains the declaration of Bzip2-specific functions. + * + */ + + + /************************************************************************** + * + * @function: + * FT_Stream_OpenBzip2 + * + * @description: + * Open a new stream to parse bzip2-compressed font files. This is + * mainly used to support the compressed `*.pcf.bz2` fonts that come with + * XFree86. + * + * @input: + * stream :: + * The target embedding stream. + * + * source :: + * The source stream. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source stream must be opened _before_ calling this function. + * + * Calling the internal function `FT_Stream_Close` on the new stream will + * **not** call `FT_Stream_Close` on the source stream. None of the + * stream objects will be released to the heap. + * + * The stream implementation is very basic and resets the decompression + * process each time seeking backwards is needed within the stream. + * + * In certain builds of the library, bzip2 compression recognition is + * automatically handled when calling @FT_New_Face or @FT_Open_Face. + * This means that if no font driver is capable of handling the raw + * compressed file, the library will try to open a bzip2 compressed + * stream from it and re-open the face with it. + * + * This function may return `FT_Err_Unimplemented_Feature` if your build + * of FreeType was not compiled with bzip2 support. + */ + FT_EXPORT( FT_Error ) + FT_Stream_OpenBzip2( FT_Stream stream, + FT_Stream source ); + + /* */ + + +FT_END_HEADER + +#endif /* FTBZIP2_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftcache.h b/android/x86_64/include/freetype/ftcache.h new file mode 100644 index 00000000..6a6f8420 --- /dev/null +++ b/android/x86_64/include/freetype/ftcache.h @@ -0,0 +1,1088 @@ +/**************************************************************************** + * + * ftcache.h + * + * FreeType Cache subsystem (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTCACHE_H_ +#define FTCACHE_H_ + + +#include "ft2build.h" +#include FT_GLYPH_H + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * cache_subsystem + * + * @title: + * Cache Sub-System + * + * @abstract: + * How to cache face, size, and glyph data with FreeType~2. + * + * @description: + * This section describes the FreeType~2 cache sub-system, which is used + * to limit the number of concurrently opened @FT_Face and @FT_Size + * objects, as well as caching information like character maps and glyph + * images while limiting their maximum memory usage. + * + * Note that all types and functions begin with the `FTC_` prefix. + * + * The cache is highly portable and thus doesn't know anything about the + * fonts installed on your system, or how to access them. This implies + * the following scheme: + * + * First, available or installed font faces are uniquely identified by + * @FTC_FaceID values, provided to the cache by the client. Note that + * the cache only stores and compares these values, and doesn't try to + * interpret them in any way. + * + * Second, the cache calls, only when needed, a client-provided function + * to convert an @FTC_FaceID into a new @FT_Face object. The latter is + * then completely managed by the cache, including its termination + * through @FT_Done_Face. To monitor termination of face objects, the + * finalizer callback in the `generic` field of the @FT_Face object can + * be used, which might also be used to store the @FTC_FaceID of the + * face. + * + * Clients are free to map face IDs to anything else. The most simple + * usage is to associate them to a (pathname,face_index) pair that is + * used to call @FT_New_Face. However, more complex schemes are also + * possible. + * + * Note that for the cache to work correctly, the face ID values must be + * **persistent**, which means that the contents they point to should not + * change at runtime, or that their value should not become invalid. + * + * If this is unavoidable (e.g., when a font is uninstalled at runtime), + * you should call @FTC_Manager_RemoveFaceID as soon as possible, to let + * the cache get rid of any references to the old @FTC_FaceID it may keep + * internally. Failure to do so will lead to incorrect behaviour or even + * crashes. + * + * To use the cache, start with calling @FTC_Manager_New to create a new + * @FTC_Manager object, which models a single cache instance. You can + * then look up @FT_Face and @FT_Size objects with + * @FTC_Manager_LookupFace and @FTC_Manager_LookupSize, respectively. + * + * If you want to use the charmap caching, call @FTC_CMapCache_New, then + * later use @FTC_CMapCache_Lookup to perform the equivalent of + * @FT_Get_Char_Index, only much faster. + * + * If you want to use the @FT_Glyph caching, call @FTC_ImageCache, then + * later use @FTC_ImageCache_Lookup to retrieve the corresponding + * @FT_Glyph objects from the cache. + * + * If you need lots of small bitmaps, it is much more memory efficient to + * call @FTC_SBitCache_New followed by @FTC_SBitCache_Lookup. This + * returns @FTC_SBitRec structures, which are used to store small bitmaps + * directly. (A small bitmap is one whose metrics and dimensions all fit + * into 8-bit integers). + * + * We hope to also provide a kerning cache in the near future. + * + * + * @order: + * FTC_Manager + * FTC_FaceID + * FTC_Face_Requester + * + * FTC_Manager_New + * FTC_Manager_Reset + * FTC_Manager_Done + * FTC_Manager_LookupFace + * FTC_Manager_LookupSize + * FTC_Manager_RemoveFaceID + * + * FTC_Node + * FTC_Node_Unref + * + * FTC_ImageCache + * FTC_ImageCache_New + * FTC_ImageCache_Lookup + * + * FTC_SBit + * FTC_SBitCache + * FTC_SBitCache_New + * FTC_SBitCache_Lookup + * + * FTC_CMapCache + * FTC_CMapCache_New + * FTC_CMapCache_Lookup + * + *************************************************************************/ + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** BASIC TYPE DEFINITIONS *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * @type: + * FTC_FaceID + * + * @description: + * An opaque pointer type that is used to identity face objects. The + * contents of such objects is application-dependent. + * + * These pointers are typically used to point to a user-defined structure + * containing a font file path, and face index. + * + * @note: + * Never use `NULL` as a valid @FTC_FaceID. + * + * Face IDs are passed by the client to the cache manager that calls, + * when needed, the @FTC_Face_Requester to translate them into new + * @FT_Face objects. + * + * If the content of a given face ID changes at runtime, or if the value + * becomes invalid (e.g., when uninstalling a font), you should + * immediately call @FTC_Manager_RemoveFaceID before any other cache + * function. + * + * Failure to do so will result in incorrect behaviour or even memory + * leaks and crashes. + */ + typedef FT_Pointer FTC_FaceID; + + + /************************************************************************** + * + * @functype: + * FTC_Face_Requester + * + * @description: + * A callback function provided by client applications. It is used by + * the cache manager to translate a given @FTC_FaceID into a new valid + * @FT_Face object, on demand. + * + * @input: + * face_id :: + * The face ID to resolve. + * + * library :: + * A handle to a FreeType library object. + * + * req_data :: + * Application-provided request data (see note below). + * + * @output: + * aface :: + * A new @FT_Face handle. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The third parameter `req_data` is the same as the one passed by the + * client when @FTC_Manager_New is called. + * + * The face requester should not perform funny things on the returned + * face object, like creating a new @FT_Size for it, or setting a + * transformation through @FT_Set_Transform! + */ + typedef FT_Error + (*FTC_Face_Requester)( FTC_FaceID face_id, + FT_Library library, + FT_Pointer req_data, + FT_Face* aface ); + + /* */ + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** CACHE MANAGER OBJECT *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * @type: + * FTC_Manager + * + * @description: + * This object corresponds to one instance of the cache-subsystem. It is + * used to cache one or more @FT_Face objects, along with corresponding + * @FT_Size objects. + * + * The manager intentionally limits the total number of opened @FT_Face + * and @FT_Size objects to control memory usage. See the `max_faces` and + * `max_sizes` parameters of @FTC_Manager_New. + * + * The manager is also used to cache 'nodes' of various types while + * limiting their total memory usage. + * + * All limitations are enforced by keeping lists of managed objects in + * most-recently-used order, and flushing old nodes to make room for new + * ones. + */ + typedef struct FTC_ManagerRec_* FTC_Manager; + + + /************************************************************************** + * + * @type: + * FTC_Node + * + * @description: + * An opaque handle to a cache node object. Each cache node is + * reference-counted. A node with a count of~0 might be flushed out of a + * full cache whenever a lookup request is performed. + * + * If you look up nodes, you have the ability to 'acquire' them, i.e., to + * increment their reference count. This will prevent the node from + * being flushed out of the cache until you explicitly 'release' it (see + * @FTC_Node_Unref). + * + * See also @FTC_SBitCache_Lookup and @FTC_ImageCache_Lookup. + */ + typedef struct FTC_NodeRec_* FTC_Node; + + + /************************************************************************** + * + * @function: + * FTC_Manager_New + * + * @description: + * Create a new cache manager. + * + * @input: + * library :: + * The parent FreeType library handle to use. + * + * max_faces :: + * Maximum number of opened @FT_Face objects managed by this cache + * instance. Use~0 for defaults. + * + * max_sizes :: + * Maximum number of opened @FT_Size objects managed by this cache + * instance. Use~0 for defaults. + * + * max_bytes :: + * Maximum number of bytes to use for cached data nodes. Use~0 for + * defaults. Note that this value does not account for managed + * @FT_Face and @FT_Size objects. + * + * requester :: + * An application-provided callback used to translate face IDs into + * real @FT_Face objects. + * + * req_data :: + * A generic pointer that is passed to the requester each time it is + * called (see @FTC_Face_Requester). + * + * @output: + * amanager :: + * A handle to a new manager object. 0~in case of failure. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FTC_Manager_New( FT_Library library, + FT_UInt max_faces, + FT_UInt max_sizes, + FT_ULong max_bytes, + FTC_Face_Requester requester, + FT_Pointer req_data, + FTC_Manager *amanager ); + + + /************************************************************************** + * + * @function: + * FTC_Manager_Reset + * + * @description: + * Empty a given cache manager. This simply gets rid of all the + * currently cached @FT_Face and @FT_Size objects within the manager. + * + * @inout: + * manager :: + * A handle to the manager. + */ + FT_EXPORT( void ) + FTC_Manager_Reset( FTC_Manager manager ); + + + /************************************************************************** + * + * @function: + * FTC_Manager_Done + * + * @description: + * Destroy a given manager after emptying it. + * + * @input: + * manager :: + * A handle to the target cache manager object. + */ + FT_EXPORT( void ) + FTC_Manager_Done( FTC_Manager manager ); + + + /************************************************************************** + * + * @function: + * FTC_Manager_LookupFace + * + * @description: + * Retrieve the @FT_Face object that corresponds to a given face ID + * through a cache manager. + * + * @input: + * manager :: + * A handle to the cache manager. + * + * face_id :: + * The ID of the face object. + * + * @output: + * aface :: + * A handle to the face object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The returned @FT_Face object is always owned by the manager. You + * should never try to discard it yourself. + * + * The @FT_Face object doesn't necessarily have a current size object + * (i.e., face->size can be~0). If you need a specific 'font size', use + * @FTC_Manager_LookupSize instead. + * + * Never change the face's transformation matrix (i.e., never call the + * @FT_Set_Transform function) on a returned face! If you need to + * transform glyphs, do it yourself after glyph loading. + * + * When you perform a lookup, out-of-memory errors are detected _within_ + * the lookup and force incremental flushes of the cache until enough + * memory is released for the lookup to succeed. + * + * If a lookup fails with `FT_Err_Out_Of_Memory` the cache has already + * been completely flushed, and still no memory was available for the + * operation. + */ + FT_EXPORT( FT_Error ) + FTC_Manager_LookupFace( FTC_Manager manager, + FTC_FaceID face_id, + FT_Face *aface ); + + + /************************************************************************** + * + * @struct: + * FTC_ScalerRec + * + * @description: + * A structure used to describe a given character size in either pixels + * or points to the cache manager. See @FTC_Manager_LookupSize. + * + * @fields: + * face_id :: + * The source face ID. + * + * width :: + * The character width. + * + * height :: + * The character height. + * + * pixel :: + * A Boolean. If 1, the `width` and `height` fields are interpreted as + * integer pixel character sizes. Otherwise, they are expressed as + * 1/64th of points. + * + * x_res :: + * Only used when `pixel` is value~0 to indicate the horizontal + * resolution in dpi. + * + * y_res :: + * Only used when `pixel` is value~0 to indicate the vertical + * resolution in dpi. + * + * @note: + * This type is mainly used to retrieve @FT_Size objects through the + * cache manager. + */ + typedef struct FTC_ScalerRec_ + { + FTC_FaceID face_id; + FT_UInt width; + FT_UInt height; + FT_Int pixel; + FT_UInt x_res; + FT_UInt y_res; + + } FTC_ScalerRec; + + + /************************************************************************** + * + * @struct: + * FTC_Scaler + * + * @description: + * A handle to an @FTC_ScalerRec structure. + */ + typedef struct FTC_ScalerRec_* FTC_Scaler; + + + /************************************************************************** + * + * @function: + * FTC_Manager_LookupSize + * + * @description: + * Retrieve the @FT_Size object that corresponds to a given + * @FTC_ScalerRec pointer through a cache manager. + * + * @input: + * manager :: + * A handle to the cache manager. + * + * scaler :: + * A scaler handle. + * + * @output: + * asize :: + * A handle to the size object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The returned @FT_Size object is always owned by the manager. You + * should never try to discard it by yourself. + * + * You can access the parent @FT_Face object simply as `size->face` if + * you need it. Note that this object is also owned by the manager. + * + * @note: + * When you perform a lookup, out-of-memory errors are detected _within_ + * the lookup and force incremental flushes of the cache until enough + * memory is released for the lookup to succeed. + * + * If a lookup fails with `FT_Err_Out_Of_Memory` the cache has already + * been completely flushed, and still no memory is available for the + * operation. + */ + FT_EXPORT( FT_Error ) + FTC_Manager_LookupSize( FTC_Manager manager, + FTC_Scaler scaler, + FT_Size *asize ); + + + /************************************************************************** + * + * @function: + * FTC_Node_Unref + * + * @description: + * Decrement a cache node's internal reference count. When the count + * reaches 0, it is not destroyed but becomes eligible for subsequent + * cache flushes. + * + * @input: + * node :: + * The cache node handle. + * + * manager :: + * The cache manager handle. + */ + FT_EXPORT( void ) + FTC_Node_Unref( FTC_Node node, + FTC_Manager manager ); + + + /************************************************************************** + * + * @function: + * FTC_Manager_RemoveFaceID + * + * @description: + * A special function used to indicate to the cache manager that a given + * @FTC_FaceID is no longer valid, either because its content changed, or + * because it was deallocated or uninstalled. + * + * @input: + * manager :: + * The cache manager handle. + * + * face_id :: + * The @FTC_FaceID to be removed. + * + * @note: + * This function flushes all nodes from the cache corresponding to this + * `face_id`, with the exception of nodes with a non-null reference + * count. + * + * Such nodes are however modified internally so as to never appear in + * later lookups with the same `face_id` value, and to be immediately + * destroyed when released by all their users. + * + */ + FT_EXPORT( void ) + FTC_Manager_RemoveFaceID( FTC_Manager manager, + FTC_FaceID face_id ); + + + /************************************************************************** + * + * @type: + * FTC_CMapCache + * + * @description: + * An opaque handle used to model a charmap cache. This cache is to hold + * character codes -> glyph indices mappings. + * + */ + typedef struct FTC_CMapCacheRec_* FTC_CMapCache; + + + /************************************************************************** + * + * @function: + * FTC_CMapCache_New + * + * @description: + * Create a new charmap cache. + * + * @input: + * manager :: + * A handle to the cache manager. + * + * @output: + * acache :: + * A new cache handle. `NULL` in case of error. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Like all other caches, this one will be destroyed with the cache + * manager. + * + */ + FT_EXPORT( FT_Error ) + FTC_CMapCache_New( FTC_Manager manager, + FTC_CMapCache *acache ); + + + /************************************************************************** + * + * @function: + * FTC_CMapCache_Lookup + * + * @description: + * Translate a character code into a glyph index, using the charmap + * cache. + * + * @input: + * cache :: + * A charmap cache handle. + * + * face_id :: + * The source face ID. + * + * cmap_index :: + * The index of the charmap in the source face. Any negative value + * means to use the cache @FT_Face's default charmap. + * + * char_code :: + * The character code (in the corresponding charmap). + * + * @return: + * Glyph index. 0~means 'no glyph'. + * + */ + FT_EXPORT( FT_UInt ) + FTC_CMapCache_Lookup( FTC_CMapCache cache, + FTC_FaceID face_id, + FT_Int cmap_index, + FT_UInt32 char_code ); + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** IMAGE CACHE OBJECT *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * @struct: + * FTC_ImageTypeRec + * + * @description: + * A structure used to model the type of images in a glyph cache. + * + * @fields: + * face_id :: + * The face ID. + * + * width :: + * The width in pixels. + * + * height :: + * The height in pixels. + * + * flags :: + * The load flags, as in @FT_Load_Glyph. + * + */ + typedef struct FTC_ImageTypeRec_ + { + FTC_FaceID face_id; + FT_UInt width; + FT_UInt height; + FT_Int32 flags; + + } FTC_ImageTypeRec; + + + /************************************************************************** + * + * @type: + * FTC_ImageType + * + * @description: + * A handle to an @FTC_ImageTypeRec structure. + * + */ + typedef struct FTC_ImageTypeRec_* FTC_ImageType; + + + /* */ + + +#define FTC_IMAGE_TYPE_COMPARE( d1, d2 ) \ + ( (d1)->face_id == (d2)->face_id && \ + (d1)->width == (d2)->width && \ + (d1)->flags == (d2)->flags ) + + + /************************************************************************** + * + * @type: + * FTC_ImageCache + * + * @description: + * A handle to a glyph image cache object. They are designed to hold + * many distinct glyph images while not exceeding a certain memory + * threshold. + */ + typedef struct FTC_ImageCacheRec_* FTC_ImageCache; + + + /************************************************************************** + * + * @function: + * FTC_ImageCache_New + * + * @description: + * Create a new glyph image cache. + * + * @input: + * manager :: + * The parent manager for the image cache. + * + * @output: + * acache :: + * A handle to the new glyph image cache object. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FTC_ImageCache_New( FTC_Manager manager, + FTC_ImageCache *acache ); + + + /************************************************************************** + * + * @function: + * FTC_ImageCache_Lookup + * + * @description: + * Retrieve a given glyph image from a glyph image cache. + * + * @input: + * cache :: + * A handle to the source glyph image cache. + * + * type :: + * A pointer to a glyph image type descriptor. + * + * gindex :: + * The glyph index to retrieve. + * + * @output: + * aglyph :: + * The corresponding @FT_Glyph object. 0~in case of failure. + * + * anode :: + * Used to return the address of the corresponding cache node after + * incrementing its reference count (see note below). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The returned glyph is owned and managed by the glyph image cache. + * Never try to transform or discard it manually! You can however create + * a copy with @FT_Glyph_Copy and modify the new one. + * + * If `anode` is _not_ `NULL`, it receives the address of the cache node + * containing the glyph image, after increasing its reference count. + * This ensures that the node (as well as the @FT_Glyph) will always be + * kept in the cache until you call @FTC_Node_Unref to 'release' it. + * + * If `anode` is `NULL`, the cache node is left unchanged, which means + * that the @FT_Glyph could be flushed out of the cache on the next call + * to one of the caching sub-system APIs. Don't assume that it is + * persistent! + */ + FT_EXPORT( FT_Error ) + FTC_ImageCache_Lookup( FTC_ImageCache cache, + FTC_ImageType type, + FT_UInt gindex, + FT_Glyph *aglyph, + FTC_Node *anode ); + + + /************************************************************************** + * + * @function: + * FTC_ImageCache_LookupScaler + * + * @description: + * A variant of @FTC_ImageCache_Lookup that uses an @FTC_ScalerRec to + * specify the face ID and its size. + * + * @input: + * cache :: + * A handle to the source glyph image cache. + * + * scaler :: + * A pointer to a scaler descriptor. + * + * load_flags :: + * The corresponding load flags. + * + * gindex :: + * The glyph index to retrieve. + * + * @output: + * aglyph :: + * The corresponding @FT_Glyph object. 0~in case of failure. + * + * anode :: + * Used to return the address of the corresponding cache node after + * incrementing its reference count (see note below). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The returned glyph is owned and managed by the glyph image cache. + * Never try to transform or discard it manually! You can however create + * a copy with @FT_Glyph_Copy and modify the new one. + * + * If `anode` is _not_ `NULL`, it receives the address of the cache node + * containing the glyph image, after increasing its reference count. + * This ensures that the node (as well as the @FT_Glyph) will always be + * kept in the cache until you call @FTC_Node_Unref to 'release' it. + * + * If `anode` is `NULL`, the cache node is left unchanged, which means + * that the @FT_Glyph could be flushed out of the cache on the next call + * to one of the caching sub-system APIs. Don't assume that it is + * persistent! + * + * Calls to @FT_Set_Char_Size and friends have no effect on cached + * glyphs; you should always use the FreeType cache API instead. + */ + FT_EXPORT( FT_Error ) + FTC_ImageCache_LookupScaler( FTC_ImageCache cache, + FTC_Scaler scaler, + FT_ULong load_flags, + FT_UInt gindex, + FT_Glyph *aglyph, + FTC_Node *anode ); + + + /************************************************************************** + * + * @type: + * FTC_SBit + * + * @description: + * A handle to a small bitmap descriptor. See the @FTC_SBitRec structure + * for details. + */ + typedef struct FTC_SBitRec_* FTC_SBit; + + + /************************************************************************** + * + * @struct: + * FTC_SBitRec + * + * @description: + * A very compact structure used to describe a small glyph bitmap. + * + * @fields: + * width :: + * The bitmap width in pixels. + * + * height :: + * The bitmap height in pixels. + * + * left :: + * The horizontal distance from the pen position to the left bitmap + * border (a.k.a. 'left side bearing', or 'lsb'). + * + * top :: + * The vertical distance from the pen position (on the baseline) to the + * upper bitmap border (a.k.a. 'top side bearing'). The distance is + * positive for upwards y~coordinates. + * + * format :: + * The format of the glyph bitmap (monochrome or gray). + * + * max_grays :: + * Maximum gray level value (in the range 1 to~255). + * + * pitch :: + * The number of bytes per bitmap line. May be positive or negative. + * + * xadvance :: + * The horizontal advance width in pixels. + * + * yadvance :: + * The vertical advance height in pixels. + * + * buffer :: + * A pointer to the bitmap pixels. + */ + typedef struct FTC_SBitRec_ + { + FT_Byte width; + FT_Byte height; + FT_Char left; + FT_Char top; + + FT_Byte format; + FT_Byte max_grays; + FT_Short pitch; + FT_Char xadvance; + FT_Char yadvance; + + FT_Byte* buffer; + + } FTC_SBitRec; + + + /************************************************************************** + * + * @type: + * FTC_SBitCache + * + * @description: + * A handle to a small bitmap cache. These are special cache objects + * used to store small glyph bitmaps (and anti-aliased pixmaps) in a much + * more efficient way than the traditional glyph image cache implemented + * by @FTC_ImageCache. + */ + typedef struct FTC_SBitCacheRec_* FTC_SBitCache; + + + /************************************************************************** + * + * @function: + * FTC_SBitCache_New + * + * @description: + * Create a new cache to store small glyph bitmaps. + * + * @input: + * manager :: + * A handle to the source cache manager. + * + * @output: + * acache :: + * A handle to the new sbit cache. `NULL` in case of error. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FTC_SBitCache_New( FTC_Manager manager, + FTC_SBitCache *acache ); + + + /************************************************************************** + * + * @function: + * FTC_SBitCache_Lookup + * + * @description: + * Look up a given small glyph bitmap in a given sbit cache and 'lock' it + * to prevent its flushing from the cache until needed. + * + * @input: + * cache :: + * A handle to the source sbit cache. + * + * type :: + * A pointer to the glyph image type descriptor. + * + * gindex :: + * The glyph index. + * + * @output: + * sbit :: + * A handle to a small bitmap descriptor. + * + * anode :: + * Used to return the address of the corresponding cache node after + * incrementing its reference count (see note below). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The small bitmap descriptor and its bit buffer are owned by the cache + * and should never be freed by the application. They might as well + * disappear from memory on the next cache lookup, so don't treat them as + * persistent data. + * + * The descriptor's `buffer` field is set to~0 to indicate a missing + * glyph bitmap. + * + * If `anode` is _not_ `NULL`, it receives the address of the cache node + * containing the bitmap, after increasing its reference count. This + * ensures that the node (as well as the image) will always be kept in + * the cache until you call @FTC_Node_Unref to 'release' it. + * + * If `anode` is `NULL`, the cache node is left unchanged, which means + * that the bitmap could be flushed out of the cache on the next call to + * one of the caching sub-system APIs. Don't assume that it is + * persistent! + */ + FT_EXPORT( FT_Error ) + FTC_SBitCache_Lookup( FTC_SBitCache cache, + FTC_ImageType type, + FT_UInt gindex, + FTC_SBit *sbit, + FTC_Node *anode ); + + + /************************************************************************** + * + * @function: + * FTC_SBitCache_LookupScaler + * + * @description: + * A variant of @FTC_SBitCache_Lookup that uses an @FTC_ScalerRec to + * specify the face ID and its size. + * + * @input: + * cache :: + * A handle to the source sbit cache. + * + * scaler :: + * A pointer to the scaler descriptor. + * + * load_flags :: + * The corresponding load flags. + * + * gindex :: + * The glyph index. + * + * @output: + * sbit :: + * A handle to a small bitmap descriptor. + * + * anode :: + * Used to return the address of the corresponding cache node after + * incrementing its reference count (see note below). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The small bitmap descriptor and its bit buffer are owned by the cache + * and should never be freed by the application. They might as well + * disappear from memory on the next cache lookup, so don't treat them as + * persistent data. + * + * The descriptor's `buffer` field is set to~0 to indicate a missing + * glyph bitmap. + * + * If `anode` is _not_ `NULL`, it receives the address of the cache node + * containing the bitmap, after increasing its reference count. This + * ensures that the node (as well as the image) will always be kept in + * the cache until you call @FTC_Node_Unref to 'release' it. + * + * If `anode` is `NULL`, the cache node is left unchanged, which means + * that the bitmap could be flushed out of the cache on the next call to + * one of the caching sub-system APIs. Don't assume that it is + * persistent! + */ + FT_EXPORT( FT_Error ) + FTC_SBitCache_LookupScaler( FTC_SBitCache cache, + FTC_Scaler scaler, + FT_ULong load_flags, + FT_UInt gindex, + FTC_SBit *sbit, + FTC_Node *anode ); + + /* */ + + +FT_END_HEADER + +#endif /* FTCACHE_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftchapters.h b/android/x86_64/include/freetype/ftchapters.h new file mode 100644 index 00000000..2ee26973 --- /dev/null +++ b/android/x86_64/include/freetype/ftchapters.h @@ -0,0 +1,145 @@ +/**************************************************************************** + * + * This file defines the structure of the FreeType reference. + * It is used by the python script that generates the HTML files. + * + */ + + + /************************************************************************** + * + * @chapter: + * general_remarks + * + * @title: + * General Remarks + * + * @sections: + * header_inclusion + * user_allocation + * + */ + + + /************************************************************************** + * + * @chapter: + * core_api + * + * @title: + * Core API + * + * @sections: + * version + * basic_types + * base_interface + * glyph_variants + * color_management + * layer_management + * glyph_management + * mac_specific + * sizes_management + * header_file_macros + * + */ + + + /************************************************************************** + * + * @chapter: + * format_specific + * + * @title: + * Format-Specific API + * + * @sections: + * multiple_masters + * truetype_tables + * type1_tables + * sfnt_names + * bdf_fonts + * cid_fonts + * pfr_fonts + * winfnt_fonts + * font_formats + * gasp_table + * + */ + + + /************************************************************************** + * + * @chapter: + * module_specific + * + * @title: + * Controlling FreeType Modules + * + * @sections: + * auto_hinter + * cff_driver + * t1_cid_driver + * tt_driver + * pcf_driver + * properties + * parameter_tags + * lcd_rendering + * + */ + + + /************************************************************************** + * + * @chapter: + * cache_subsystem + * + * @title: + * Cache Sub-System + * + * @sections: + * cache_subsystem + * + */ + + + /************************************************************************** + * + * @chapter: + * support_api + * + * @title: + * Support API + * + * @sections: + * computations + * list_processing + * outline_processing + * quick_advance + * bitmap_handling + * raster + * glyph_stroker + * system_interface + * module_management + * gzip + * lzw + * bzip2 + * + */ + + + /************************************************************************** + * + * @chapter: + * error_codes + * + * @title: + * Error Codes + * + * @sections: + * error_enumerations + * error_code_values + * + */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftcid.h b/android/x86_64/include/freetype/ftcid.h new file mode 100644 index 00000000..2336a570 --- /dev/null +++ b/android/x86_64/include/freetype/ftcid.h @@ -0,0 +1,168 @@ +/**************************************************************************** + * + * ftcid.h + * + * FreeType API for accessing CID font information (specification). + * + * Copyright (C) 2007-2019 by + * Dereg Clegg and Michael Toftdal. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTCID_H_ +#define FTCID_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * cid_fonts + * + * @title: + * CID Fonts + * + * @abstract: + * CID-keyed font-specific API. + * + * @description: + * This section contains the declaration of CID-keyed font-specific + * functions. + * + */ + + + /************************************************************************** + * + * @function: + * FT_Get_CID_Registry_Ordering_Supplement + * + * @description: + * Retrieve the Registry/Ordering/Supplement triple (also known as the + * "R/O/S") from a CID-keyed font. + * + * @input: + * face :: + * A handle to the input face. + * + * @output: + * registry :: + * The registry, as a C~string, owned by the face. + * + * ordering :: + * The ordering, as a C~string, owned by the face. + * + * supplement :: + * The supplement. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with CID faces, returning an error + * otherwise. + * + * @since: + * 2.3.6 + */ + FT_EXPORT( FT_Error ) + FT_Get_CID_Registry_Ordering_Supplement( FT_Face face, + const char* *registry, + const char* *ordering, + FT_Int *supplement ); + + + /************************************************************************** + * + * @function: + * FT_Get_CID_Is_Internally_CID_Keyed + * + * @description: + * Retrieve the type of the input face, CID keyed or not. In contrast + * to the @FT_IS_CID_KEYED macro this function returns successfully also + * for CID-keyed fonts in an SFNT wrapper. + * + * @input: + * face :: + * A handle to the input face. + * + * @output: + * is_cid :: + * The type of the face as an @FT_Bool. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with CID faces and OpenType fonts, returning + * an error otherwise. + * + * @since: + * 2.3.9 + */ + FT_EXPORT( FT_Error ) + FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face, + FT_Bool *is_cid ); + + + /************************************************************************** + * + * @function: + * FT_Get_CID_From_Glyph_Index + * + * @description: + * Retrieve the CID of the input glyph index. + * + * @input: + * face :: + * A handle to the input face. + * + * glyph_index :: + * The input glyph index. + * + * @output: + * cid :: + * The CID as an @FT_UInt. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with CID faces and OpenType fonts, returning + * an error otherwise. + * + * @since: + * 2.3.9 + */ + FT_EXPORT( FT_Error ) + FT_Get_CID_From_Glyph_Index( FT_Face face, + FT_UInt glyph_index, + FT_UInt *cid ); + + /* */ + + +FT_END_HEADER + +#endif /* FTCID_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftcolor.h b/android/x86_64/include/freetype/ftcolor.h new file mode 100644 index 00000000..6f8b3f9a --- /dev/null +++ b/android/x86_64/include/freetype/ftcolor.h @@ -0,0 +1,311 @@ +/**************************************************************************** + * + * ftcolor.h + * + * FreeType's glyph color management (specification). + * + * Copyright (C) 2018-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTCOLOR_H_ +#define FTCOLOR_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * color_management + * + * @title: + * Glyph Color Management + * + * @abstract: + * Retrieving and manipulating OpenType's 'CPAL' table data. + * + * @description: + * The functions described here allow access and manipulation of color + * palette entries in OpenType's 'CPAL' tables. + */ + + + /************************************************************************** + * + * @struct: + * FT_Color + * + * @description: + * This structure models a BGRA color value of a 'CPAL' palette entry. + * + * The used color space is sRGB; the colors are not pre-multiplied, and + * alpha values must be explicitly set. + * + * @fields: + * blue :: + * Blue value. + * + * green :: + * Green value. + * + * red :: + * Red value. + * + * alpha :: + * Alpha value, giving the red, green, and blue color's opacity. + * + * @since: + * 2.10 + */ + typedef struct FT_Color_ + { + FT_Byte blue; + FT_Byte green; + FT_Byte red; + FT_Byte alpha; + + } FT_Color; + + + /************************************************************************** + * + * @enum: + * FT_PALETTE_XXX + * + * @description: + * A list of bit field constants used in the `palette_flags` array of the + * @FT_Palette_Data structure to indicate for which background a palette + * with a given index is usable. + * + * @values: + * FT_PALETTE_FOR_LIGHT_BACKGROUND :: + * The palette is appropriate to use when displaying the font on a + * light background such as white. + * + * FT_PALETTE_FOR_DARK_BACKGROUND :: + * The palette is appropriate to use when displaying the font on a dark + * background such as black. + * + * @since: + * 2.10 + */ +#define FT_PALETTE_FOR_LIGHT_BACKGROUND 0x01 +#define FT_PALETTE_FOR_DARK_BACKGROUND 0x02 + + + /************************************************************************** + * + * @struct: + * FT_Palette_Data + * + * @description: + * This structure holds the data of the 'CPAL' table. + * + * @fields: + * num_palettes :: + * The number of palettes. + * + * palette_name_ids :: + * A read-only array of palette name IDs with `num_palettes` elements, + * corresponding to entries like 'dark' or 'light' in the font's 'name' + * table. + * + * An empty name ID in the 'CPAL' table gets represented as value + * 0xFFFF. + * + * `NULL` if the font's 'CPAL' table doesn't contain appropriate data. + * + * palette_flags :: + * A read-only array of palette flags with `num_palettes` elements. + * Possible values are an ORed combination of + * @FT_PALETTE_FOR_LIGHT_BACKGROUND and + * @FT_PALETTE_FOR_DARK_BACKGROUND. + * + * `NULL` if the font's 'CPAL' table doesn't contain appropriate data. + * + * num_palette_entries :: + * The number of entries in a single palette. All palettes have the + * same size. + * + * palette_entry_name_ids :: + * A read-only array of palette entry name IDs with + * `num_palette_entries`. In each palette, entries with the same index + * have the same function. For example, index~0 might correspond to + * string 'outline' in the font's 'name' table to indicate that this + * palette entry is used for outlines, index~1 might correspond to + * 'fill' to indicate the filling color palette entry, etc. + * + * An empty entry name ID in the 'CPAL' table gets represented as value + * 0xFFFF. + * + * `NULL` if the font's 'CPAL' table doesn't contain appropriate data. + * + * @note: + * Use function @FT_Get_Sfnt_Name to map name IDs and entry name IDs to + * name strings. + * + * @since: + * 2.10 + */ + typedef struct FT_Palette_Data_ { + FT_UShort num_palettes; + const FT_UShort* palette_name_ids; + const FT_UShort* palette_flags; + + FT_UShort num_palette_entries; + const FT_UShort* palette_entry_name_ids; + + } FT_Palette_Data; + + + /************************************************************************** + * + * @function: + * FT_Palette_Data_Get + * + * @description: + * Retrieve the face's color palette data. + * + * @input: + * face :: + * The source face handle. + * + * @output: + * apalette :: + * A pointer to an @FT_Palette_Data structure. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * All arrays in the returned @FT_Palette_Data structure are read-only. + * + * This function always returns an error if the config macro + * `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`. + * + * @since: + * 2.10 + */ + FT_EXPORT( FT_Error ) + FT_Palette_Data_Get( FT_Face face, + FT_Palette_Data *apalette ); + + + /************************************************************************** + * + * @function: + * FT_Palette_Select + * + * @description: + * This function has two purposes. + * + * (1) It activates a palette for rendering color glyphs, and + * + * (2) it retrieves all (unmodified) color entries of this palette. This + * function returns a read-write array, which means that a calling + * application can modify the palette entries on demand. + * + * A corollary of (2) is that calling the function, then modifying some + * values, then calling the function again with the same arguments resets + * all color entries to the original 'CPAL' values; all user modifications + * are lost. + * + * @input: + * face :: + * The source face handle. + * + * palette_index :: + * The palette index. + * + * @output: + * apalette :: + * An array of color entries for a palette with index `palette_index`, + * having `num_palette_entries` elements (as found in the + * `FT_Palette_Data` structure). If `apalette` is set to `NULL`, no + * array gets returned (and no color entries can be modified). + * + * In case the font doesn't support color palettes, `NULL` is returned. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The array pointed to by `apalette_entries` is owned and managed by + * FreeType. + * + * This function always returns an error if the config macro + * `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`. + * + * @since: + * 2.10 + */ + FT_EXPORT( FT_Error ) + FT_Palette_Select( FT_Face face, + FT_UShort palette_index, + FT_Color* *apalette ); + + + /************************************************************************** + * + * @function: + * FT_Palette_Set_Foreground_Color + * + * @description: + * 'COLR' uses palette index 0xFFFF to indicate a 'text foreground + * color'. This function sets this value. + * + * @input: + * face :: + * The source face handle. + * + * foreground_color :: + * An `FT_Color` structure to define the text foreground color. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If this function isn't called, the text foreground color is set to + * white opaque (BGRA value 0xFFFFFFFF) if + * @FT_PALETTE_FOR_DARK_BACKGROUND is present for the current palette, + * and black opaque (BGRA value 0x000000FF) otherwise, including the case + * that no palette types are available in the 'CPAL' table. + * + * This function always returns an error if the config macro + * `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`. + * + * @since: + * 2.10 + */ + FT_EXPORT( FT_Error ) + FT_Palette_Set_Foreground_Color( FT_Face face, + FT_Color foreground_color ); + + /* */ + + +FT_END_HEADER + +#endif /* FTCOLOR_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftdriver.h b/android/x86_64/include/freetype/ftdriver.h new file mode 100644 index 00000000..260732ed --- /dev/null +++ b/android/x86_64/include/freetype/ftdriver.h @@ -0,0 +1,1232 @@ +/**************************************************************************** + * + * ftdriver.h + * + * FreeType API for controlling driver modules (specification only). + * + * Copyright (C) 2017-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTDRIVER_H_ +#define FTDRIVER_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H +#include FT_PARAMETER_TAGS_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * auto_hinter + * + * @title: + * The auto-hinter + * + * @abstract: + * Controlling the auto-hinting module. + * + * @description: + * While FreeType's auto-hinter doesn't expose API functions by itself, + * it is possible to control its behaviour with @FT_Property_Set and + * @FT_Property_Get. The following lists the available properties + * together with the necessary macros and structures. + * + * Note that the auto-hinter's module name is 'autofitter' for historical + * reasons. + * + * Available properties are @increase-x-height, @no-stem-darkening + * (experimental), @darkening-parameters (experimental), @warping + * (experimental), @glyph-to-script-map (experimental), @fallback-script + * (experimental), and @default-script (experimental), as documented in + * the @properties section. + * + */ + + + /************************************************************************** + * + * @section: + * cff_driver + * + * @title: + * The CFF driver + * + * @abstract: + * Controlling the CFF driver module. + * + * @description: + * While FreeType's CFF driver doesn't expose API functions by itself, it + * is possible to control its behaviour with @FT_Property_Set and + * @FT_Property_Get. + * + * The CFF driver's module name is 'cff'. + * + * Available properties are @hinting-engine, @no-stem-darkening, + * @darkening-parameters, and @random-seed, as documented in the + * @properties section. + * + * + * **Hinting and antialiasing principles of the new engine** + * + * The rasterizer is positioning horizontal features (e.g., ascender + * height & x-height, or crossbars) on the pixel grid and minimizing the + * amount of antialiasing applied to them, while placing vertical + * features (vertical stems) on the pixel grid without hinting, thus + * representing the stem position and weight accurately. Sometimes the + * vertical stems may be only partially black. In this context, + * 'antialiasing' means that stems are not positioned exactly on pixel + * borders, causing a fuzzy appearance. + * + * There are two principles behind this approach. + * + * 1) No hinting in the horizontal direction: Unlike 'superhinted' + * TrueType, which changes glyph widths to accommodate regular + * inter-glyph spacing, Adobe's approach is 'faithful to the design' in + * representing both the glyph width and the inter-glyph spacing designed + * for the font. This makes the screen display as close as it can be to + * the result one would get with infinite resolution, while preserving + * what is considered the key characteristics of each glyph. Note that + * the distances between unhinted and grid-fitted positions at small + * sizes are comparable to kerning values and thus would be noticeable + * (and distracting) while reading if hinting were applied. + * + * One of the reasons to not hint horizontally is antialiasing for LCD + * screens: The pixel geometry of modern displays supplies three vertical + * subpixels as the eye moves horizontally across each visible pixel. On + * devices where we can be certain this characteristic is present a + * rasterizer can take advantage of the subpixels to add increments of + * weight. In Western writing systems this turns out to be the more + * critical direction anyway; the weights and spacing of vertical stems + * (see above) are central to Armenian, Cyrillic, Greek, and Latin type + * designs. Even when the rasterizer uses greyscale antialiasing instead + * of color (a necessary compromise when one doesn't know the screen + * characteristics), the unhinted vertical features preserve the design's + * weight and spacing much better than aliased type would. + * + * 2) Alignment in the vertical direction: Weights and spacing along the + * y~axis are less critical; what is much more important is the visual + * alignment of related features (like cap-height and x-height). The + * sense of alignment for these is enhanced by the sharpness of grid-fit + * edges, while the cruder vertical resolution (full pixels instead of + * 1/3 pixels) is less of a problem. + * + * On the technical side, horizontal alignment zones for ascender, + * x-height, and other important height values (traditionally called + * 'blue zones') as defined in the font are positioned independently, + * each being rounded to the nearest pixel edge, taking care of overshoot + * suppression at small sizes, stem darkening, and scaling. + * + * Hstems (this is, hint values defined in the font to help align + * horizontal features) that fall within a blue zone are said to be + * 'captured' and are aligned to that zone. Uncaptured stems are moved + * in one of four ways, top edge up or down, bottom edge up or down. + * Unless there are conflicting hstems, the smallest movement is taken to + * minimize distortion. + * + */ + + + /************************************************************************** + * + * @section: + * pcf_driver + * + * @title: + * The PCF driver + * + * @abstract: + * Controlling the PCF driver module. + * + * @description: + * While FreeType's PCF driver doesn't expose API functions by itself, it + * is possible to control its behaviour with @FT_Property_Set and + * @FT_Property_Get. Right now, there is a single property + * @no-long-family-names available if FreeType is compiled with + * PCF_CONFIG_OPTION_LONG_FAMILY_NAMES. + * + * The PCF driver's module name is 'pcf'. + * + */ + + + /************************************************************************** + * + * @section: + * t1_cid_driver + * + * @title: + * The Type 1 and CID drivers + * + * @abstract: + * Controlling the Type~1 and CID driver modules. + * + * @description: + * It is possible to control the behaviour of FreeType's Type~1 and + * Type~1 CID drivers with @FT_Property_Set and @FT_Property_Get. + * + * Behind the scenes, both drivers use the Adobe CFF engine for hinting; + * however, the used properties must be specified separately. + * + * The Type~1 driver's module name is 'type1'; the CID driver's module + * name is 't1cid'. + * + * Available properties are @hinting-engine, @no-stem-darkening, + * @darkening-parameters, and @random-seed, as documented in the + * @properties section. + * + * Please see the @cff_driver section for more details on the new hinting + * engine. + * + */ + + + /************************************************************************** + * + * @section: + * tt_driver + * + * @title: + * The TrueType driver + * + * @abstract: + * Controlling the TrueType driver module. + * + * @description: + * While FreeType's TrueType driver doesn't expose API functions by + * itself, it is possible to control its behaviour with @FT_Property_Set + * and @FT_Property_Get. The following lists the available properties + * together with the necessary macros and structures. + * + * The TrueType driver's module name is 'truetype'. + * + * A single property @interpreter-version is available, as documented in + * the @properties section. + * + * We start with a list of definitions, kindly provided by Greg + * Hitchcock. + * + * _Bi-Level Rendering_ + * + * Monochromatic rendering, exclusively used in the early days of + * TrueType by both Apple and Microsoft. Microsoft's GDI interface + * supported hinting of the right-side bearing point, such that the + * advance width could be non-linear. Most often this was done to + * achieve some level of glyph symmetry. To enable reasonable + * performance (e.g., not having to run hinting on all glyphs just to get + * the widths) there was a bit in the head table indicating if the side + * bearing was hinted, and additional tables, 'hdmx' and 'LTSH', to cache + * hinting widths across multiple sizes and device aspect ratios. + * + * _Font Smoothing_ + * + * Microsoft's GDI implementation of anti-aliasing. Not traditional + * anti-aliasing as the outlines were hinted before the sampling. The + * widths matched the bi-level rendering. + * + * _ClearType Rendering_ + * + * Technique that uses physical subpixels to improve rendering on LCD + * (and other) displays. Because of the higher resolution, many methods + * of improving symmetry in glyphs through hinting the right-side bearing + * were no longer necessary. This lead to what GDI calls 'natural + * widths' ClearType, see + * http://rastertragedy.com/RTRCh4.htm#Sec21. Since hinting + * has extra resolution, most non-linearity went away, but it is still + * possible for hints to change the advance widths in this mode. + * + * _ClearType Compatible Widths_ + * + * One of the earliest challenges with ClearType was allowing the + * implementation in GDI to be selected without requiring all UI and + * documents to reflow. To address this, a compatible method of + * rendering ClearType was added where the font hints are executed once + * to determine the width in bi-level rendering, and then re-run in + * ClearType, with the difference in widths being absorbed in the font + * hints for ClearType (mostly in the white space of hints); see + * http://rastertragedy.com/RTRCh4.htm#Sec20. Somewhat by + * definition, compatible width ClearType allows for non-linear widths, + * but only when the bi-level version has non-linear widths. + * + * _ClearType Subpixel Positioning_ + * + * One of the nice benefits of ClearType is the ability to more crisply + * display fractional widths; unfortunately, the GDI model of integer + * bitmaps did not support this. However, the WPF and Direct Write + * frameworks do support fractional widths. DWrite calls this 'natural + * mode', not to be confused with GDI's 'natural widths'. Subpixel + * positioning, in the current implementation of Direct Write, + * unfortunately does not support hinted advance widths, see + * http://rastertragedy.com/RTRCh4.htm#Sec22. Note that the + * TrueType interpreter fully allows the advance width to be adjusted in + * this mode, just the DWrite client will ignore those changes. + * + * _ClearType Backward Compatibility_ + * + * This is a set of exceptions made in the TrueType interpreter to + * minimize hinting techniques that were problematic with the extra + * resolution of ClearType; see + * http://rastertragedy.com/RTRCh4.htm#Sec1 and + * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx. + * This technique is not to be confused with ClearType compatible widths. + * ClearType backward compatibility has no direct impact on changing + * advance widths, but there might be an indirect impact on disabling + * some deltas. This could be worked around in backward compatibility + * mode. + * + * _Native ClearType Mode_ + * + * (Not to be confused with 'natural widths'.) This mode removes all the + * exceptions in the TrueType interpreter when running with ClearType. + * Any issues on widths would still apply, though. + * + */ + + + /************************************************************************** + * + * @section: + * properties + * + * @title: + * Driver properties + * + * @abstract: + * Controlling driver modules. + * + * @description: + * Driver modules can be controlled by setting and unsetting properties, + * using the functions @FT_Property_Set and @FT_Property_Get. This + * section documents the available properties, together with auxiliary + * macros and structures. + * + */ + + + /************************************************************************** + * + * @enum: + * FT_HINTING_XXX + * + * @description: + * A list of constants used for the @hinting-engine property to select + * the hinting engine for CFF, Type~1, and CID fonts. + * + * @values: + * FT_HINTING_FREETYPE :: + * Use the old FreeType hinting engine. + * + * FT_HINTING_ADOBE :: + * Use the hinting engine contributed by Adobe. + * + * @since: + * 2.9 + * + */ +#define FT_HINTING_FREETYPE 0 +#define FT_HINTING_ADOBE 1 + + /* these constants (introduced in 2.4.12) are deprecated */ +#define FT_CFF_HINTING_FREETYPE FT_HINTING_FREETYPE +#define FT_CFF_HINTING_ADOBE FT_HINTING_ADOBE + + + /************************************************************************** + * + * @property: + * hinting-engine + * + * @description: + * Thanks to Adobe, which contributed a new hinting (and parsing) engine, + * an application can select between 'freetype' and 'adobe' if compiled + * with `CFF_CONFIG_OPTION_OLD_ENGINE`. If this configuration macro + * isn't defined, 'hinting-engine' does nothing. + * + * The same holds for the Type~1 and CID modules if compiled with + * `T1_CONFIG_OPTION_OLD_ENGINE`. + * + * For the 'cff' module, the default engine is 'freetype' if + * `CFF_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe' otherwise. + * + * For both the 'type1' and 't1cid' modules, the default engine is + * 'freetype' if `T1_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe' + * otherwise. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * This property can be set via the `FREETYPE_PROPERTIES` environment + * variable (using values 'adobe' or 'freetype'). + * + * @example: + * The following example code demonstrates how to select Adobe's hinting + * engine for the 'cff' module (omitting the error handling). + * + * ``` + * FT_Library library; + * FT_UInt hinting_engine = FT_HINTING_ADOBE; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "cff", + * "hinting-engine", &hinting_engine ); + * ``` + * + * @since: + * 2.4.12 (for 'cff' module) + * + * 2.9 (for 'type1' and 't1cid' modules) + * + */ + + + /************************************************************************** + * + * @property: + * no-stem-darkening + * + * @description: + * All glyphs that pass through the auto-hinter will be emboldened unless + * this property is set to TRUE. The same is true for the CFF, Type~1, + * and CID font modules if the 'Adobe' engine is selected (which is the + * default). + * + * Stem darkening emboldens glyphs at smaller sizes to make them more + * readable on common low-DPI screens when using linear alpha blending + * and gamma correction, see @FT_Render_Glyph. When not using linear + * alpha blending and gamma correction, glyphs will appear heavy and + * fuzzy! + * + * Gamma correction essentially lightens fonts since shades of grey are + * shifted to higher pixel values (=~higher brightness) to match the + * original intention to the reality of our screens. The side-effect is + * that glyphs 'thin out'. Mac OS~X and Adobe's proprietary font + * rendering library implement a counter-measure: stem darkening at + * smaller sizes where shades of gray dominate. By emboldening a glyph + * slightly in relation to its pixel size, individual pixels get higher + * coverage of filled-in outlines and are therefore 'blacker'. This + * counteracts the 'thinning out' of glyphs, making text remain readable + * at smaller sizes. + * + * By default, the Adobe engines for CFF, Type~1, and CID fonts darken + * stems at smaller sizes, regardless of hinting, to enhance contrast. + * Setting this property, stem darkening gets switched off. + * + * For the auto-hinter, stem-darkening is experimental currently and thus + * switched off by default (this is, `no-stem-darkening` is set to TRUE + * by default). Total consistency with the CFF driver is not achieved + * right now because the emboldening method differs and glyphs must be + * scaled down on the Y-axis to keep outline points inside their + * precomputed blue zones. The smaller the size (especially 9ppem and + * down), the higher the loss of emboldening versus the CFF driver. + * + * Note that stem darkening is never applied if @FT_LOAD_NO_SCALE is set. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * This property can be set via the `FREETYPE_PROPERTIES` environment + * variable (using values 1 and 0 for 'on' and 'off', respectively). It + * can also be set per face using @FT_Face_Properties with + * @FT_PARAM_TAG_STEM_DARKENING. + * + * @example: + * ``` + * FT_Library library; + * FT_Bool no_stem_darkening = TRUE; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "cff", + * "no-stem-darkening", &no_stem_darkening ); + * ``` + * + * @since: + * 2.4.12 (for 'cff' module) + * + * 2.6.2 (for 'autofitter' module) + * + * 2.9 (for 'type1' and 't1cid' modules) + * + */ + + + /************************************************************************** + * + * @property: + * darkening-parameters + * + * @description: + * By default, the Adobe hinting engine, as used by the CFF, Type~1, and + * CID font drivers, darkens stems as follows (if the `no-stem-darkening` + * property isn't set): + * + * ``` + * stem width <= 0.5px: darkening amount = 0.4px + * stem width = 1px: darkening amount = 0.275px + * stem width = 1.667px: darkening amount = 0.275px + * stem width >= 2.333px: darkening amount = 0px + * ``` + * + * and piecewise linear in-between. At configuration time, these four + * control points can be set with the macro + * `CFF_CONFIG_OPTION_DARKENING_PARAMETERS`; the CFF, Type~1, and CID + * drivers share these values. At runtime, the control points can be + * changed using the `darkening-parameters` property (see the example + * below that demonstrates this for the Type~1 driver). + * + * The x~values give the stem width, and the y~values the darkening + * amount. The unit is 1000th of pixels. All coordinate values must be + * positive; the x~values must be monotonically increasing; the y~values + * must be monotonically decreasing and smaller than or equal to 500 + * (corresponding to half a pixel); the slope of each linear piece must + * be shallower than -1 (e.g., -.4). + * + * The auto-hinter provides this property, too, as an experimental + * feature. See @no-stem-darkening for more. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * This property can be set via the `FREETYPE_PROPERTIES` environment + * variable, using eight comma-separated integers without spaces. Here + * the above example, using `\` to break the line for readability. + * + * ``` + * FREETYPE_PROPERTIES=\ + * type1:darkening-parameters=500,300,1000,200,1500,100,2000,0 + * ``` + * + * @example: + * ``` + * FT_Library library; + * FT_Int darken_params[8] = { 500, 300, // x1, y1 + * 1000, 200, // x2, y2 + * 1500, 100, // x3, y3 + * 2000, 0 }; // x4, y4 + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "type1", + * "darkening-parameters", darken_params ); + * ``` + * + * @since: + * 2.5.1 (for 'cff' module) + * + * 2.6.2 (for 'autofitter' module) + * + * 2.9 (for 'type1' and 't1cid' modules) + * + */ + + + /************************************************************************** + * + * @property: + * random-seed + * + * @description: + * By default, the seed value for the CFF 'random' operator and the + * similar '0 28 callothersubr pop' command for the Type~1 and CID + * drivers is set to a random value. However, mainly for debugging + * purposes, it is often necessary to use a known value as a seed so that + * the pseudo-random number sequences generated by 'random' are + * repeatable. + * + * The `random-seed` property does that. Its argument is a signed 32bit + * integer; if the value is zero or negative, the seed given by the + * `intitialRandomSeed` private DICT operator in a CFF file gets used (or + * a default value if there is no such operator). If the value is + * positive, use it instead of `initialRandomSeed`, which is consequently + * ignored. + * + * @note: + * This property can be set via the `FREETYPE_PROPERTIES` environment + * variable. It can also be set per face using @FT_Face_Properties with + * @FT_PARAM_TAG_RANDOM_SEED. + * + * @since: + * 2.8 (for 'cff' module) + * + * 2.9 (for 'type1' and 't1cid' modules) + * + */ + + + /************************************************************************** + * + * @property: + * no-long-family-names + * + * @description: + * If `PCF_CONFIG_OPTION_LONG_FAMILY_NAMES` is active while compiling + * FreeType, the PCF driver constructs long family names. + * + * There are many PCF fonts just called 'Fixed' which look completely + * different, and which have nothing to do with each other. When + * selecting 'Fixed' in KDE or Gnome one gets results that appear rather + * random, the style changes often if one changes the size and one cannot + * select some fonts at all. The improve this situation, the PCF module + * prepends the foundry name (plus a space) to the family name. It also + * checks whether there are 'wide' characters; all put together, family + * names like 'Sony Fixed' or 'Misc Fixed Wide' are constructed. + * + * If `no-long-family-names` is set, this feature gets switched off. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * This property can be set via the `FREETYPE_PROPERTIES` environment + * variable (using values 1 and 0 for 'on' and 'off', respectively). + * + * @example: + * ``` + * FT_Library library; + * FT_Bool no_long_family_names = TRUE; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "pcf", + * "no-long-family-names", + * &no_long_family_names ); + * ``` + * + * @since: + * 2.8 + */ + + + /************************************************************************** + * + * @enum: + * TT_INTERPRETER_VERSION_XXX + * + * @description: + * A list of constants used for the @interpreter-version property to + * select the hinting engine for Truetype fonts. + * + * The numeric value in the constant names represents the version number + * as returned by the 'GETINFO' bytecode instruction. + * + * @values: + * TT_INTERPRETER_VERSION_35 :: + * Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in + * Windows~98; only grayscale and B/W rasterizing is supported. + * + * TT_INTERPRETER_VERSION_38 :: + * Version~38 corresponds to MS rasterizer v.1.9; it is roughly + * equivalent to the hinting provided by DirectWrite ClearType (as can + * be found, for example, in the Internet Explorer~9 running on + * Windows~7). It is used in FreeType to select the 'Infinality' + * subpixel hinting code. The code may be removed in a future version. + * + * TT_INTERPRETER_VERSION_40 :: + * Version~40 corresponds to MS rasterizer v.2.1; it is roughly + * equivalent to the hinting provided by DirectWrite ClearType (as can + * be found, for example, in Microsoft's Edge Browser on Windows~10). + * It is used in FreeType to select the 'minimal' subpixel hinting + * code, a stripped-down and higher performance version of the + * 'Infinality' code. + * + * @note: + * This property controls the behaviour of the bytecode interpreter and + * thus how outlines get hinted. It does **not** control how glyph get + * rasterized! In particular, it does not control subpixel color + * filtering. + * + * If FreeType has not been compiled with the configuration option + * `TT_CONFIG_OPTION_SUBPIXEL_HINTING`, selecting version~38 or~40 causes + * an `FT_Err_Unimplemented_Feature` error. + * + * Depending on the graphics framework, Microsoft uses different bytecode + * and rendering engines. As a consequence, the version numbers returned + * by a call to the 'GETINFO' bytecode instruction are more convoluted + * than desired. + * + * Here are two tables that try to shed some light on the possible values + * for the MS rasterizer engine, together with the additional features + * introduced by it. + * + * ``` + * GETINFO framework version feature + * ------------------------------------------------------------------- + * 3 GDI (Win 3.1), v1.0 16-bit, first version + * TrueImage + * 33 GDI (Win NT 3.1), v1.5 32-bit + * HP Laserjet + * 34 GDI (Win 95) v1.6 font smoothing, + * new SCANTYPE opcode + * 35 GDI (Win 98/2000) v1.7 (UN)SCALED_COMPONENT_OFFSET + * bits in composite glyphs + * 36 MGDI (Win CE 2) v1.6+ classic ClearType + * 37 GDI (XP and later), v1.8 ClearType + * GDI+ old (before Vista) + * 38 GDI+ old (Vista, Win 7), v1.9 subpixel ClearType, + * WPF Y-direction ClearType, + * additional error checking + * 39 DWrite (before Win 8) v2.0 subpixel ClearType flags + * in GETINFO opcode, + * bug fixes + * 40 GDI+ (after Win 7), v2.1 Y-direction ClearType flag + * DWrite (Win 8) in GETINFO opcode, + * Gray ClearType + * ``` + * + * The 'version' field gives a rough orientation only, since some + * applications provided certain features much earlier (as an example, + * Microsoft Reader used subpixel and Y-direction ClearType already in + * Windows 2000). Similarly, updates to a given framework might include + * improved hinting support. + * + * ``` + * version sampling rendering comment + * x y x y + * -------------------------------------------------------------- + * v1.0 normal normal B/W B/W bi-level + * v1.6 high high gray gray grayscale + * v1.8 high normal color-filter B/W (GDI) ClearType + * v1.9 high high color-filter gray Color ClearType + * v2.1 high normal gray B/W Gray ClearType + * v2.1 high high gray gray Gray ClearType + * ``` + * + * Color and Gray ClearType are the two available variants of + * 'Y-direction ClearType', meaning grayscale rasterization along the + * Y-direction; the name used in the TrueType specification for this + * feature is 'symmetric smoothing'. 'Classic ClearType' is the original + * algorithm used before introducing a modified version in Win~XP. + * Another name for v1.6's grayscale rendering is 'font smoothing', and + * 'Color ClearType' is sometimes also called 'DWrite ClearType'. To + * differentiate between today's Color ClearType and the earlier + * ClearType variant with B/W rendering along the vertical axis, the + * latter is sometimes called 'GDI ClearType'. + * + * 'Normal' and 'high' sampling describe the (virtual) resolution to + * access the rasterized outline after the hinting process. 'Normal' + * means 1 sample per grid line (i.e., B/W). In the current Microsoft + * implementation, 'high' means an extra virtual resolution of 16x16 (or + * 16x1) grid lines per pixel for bytecode instructions like 'MIRP'. + * After hinting, these 16 grid lines are mapped to 6x5 (or 6x1) grid + * lines for color filtering if Color ClearType is activated. + * + * Note that 'Gray ClearType' is essentially the same as v1.6's grayscale + * rendering. However, the GETINFO instruction handles it differently: + * v1.6 returns bit~12 (hinting for grayscale), while v2.1 returns + * bits~13 (hinting for ClearType), 18 (symmetrical smoothing), and~19 + * (Gray ClearType). Also, this mode respects bits 2 and~3 for the + * version~1 gasp table exclusively (like Color ClearType), while v1.6 + * only respects the values of version~0 (bits 0 and~1). + * + * Keep in mind that the features of the above interpreter versions might + * not map exactly to FreeType features or behavior because it is a + * fundamentally different library with different internals. + * + */ +#define TT_INTERPRETER_VERSION_35 35 +#define TT_INTERPRETER_VERSION_38 38 +#define TT_INTERPRETER_VERSION_40 40 + + + /************************************************************************** + * + * @property: + * interpreter-version + * + * @description: + * Currently, three versions are available, two representing the bytecode + * interpreter with subpixel hinting support (old 'Infinality' code and + * new stripped-down and higher performance 'minimal' code) and one + * without, respectively. The default is subpixel support if + * `TT_CONFIG_OPTION_SUBPIXEL_HINTING` is defined, and no subpixel + * support otherwise (since it isn't available then). + * + * If subpixel hinting is on, many TrueType bytecode instructions behave + * differently compared to B/W or grayscale rendering (except if 'native + * ClearType' is selected by the font). Microsoft's main idea is to + * render at a much increased horizontal resolution, then sampling down + * the created output to subpixel precision. However, many older fonts + * are not suited to this and must be specially taken care of by applying + * (hardcoded) tweaks in Microsoft's interpreter. + * + * Details on subpixel hinting and some of the necessary tweaks can be + * found in Greg Hitchcock's whitepaper at + * 'https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'. + * Note that FreeType currently doesn't really 'subpixel hint' (6x1, 6x2, + * or 6x5 supersampling) like discussed in the paper. Depending on the + * chosen interpreter, it simply ignores instructions on vertical stems + * to arrive at very similar results. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * This property can be set via the `FREETYPE_PROPERTIES` environment + * variable (using values '35', '38', or '40'). + * + * @example: + * The following example code demonstrates how to deactivate subpixel + * hinting (omitting the error handling). + * + * ``` + * FT_Library library; + * FT_Face face; + * FT_UInt interpreter_version = TT_INTERPRETER_VERSION_35; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "truetype", + * "interpreter-version", + * &interpreter_version ); + * ``` + * + * @since: + * 2.5 + */ + + + /************************************************************************** + * + * @property: + * glyph-to-script-map + * + * @description: + * **Experimental only** + * + * The auto-hinter provides various script modules to hint glyphs. + * Examples of supported scripts are Latin or CJK. Before a glyph is + * auto-hinted, the Unicode character map of the font gets examined, and + * the script is then determined based on Unicode character ranges, see + * below. + * + * OpenType fonts, however, often provide much more glyphs than character + * codes (small caps, superscripts, ligatures, swashes, etc.), to be + * controlled by so-called 'features'. Handling OpenType features can be + * quite complicated and thus needs a separate library on top of + * FreeType. + * + * The mapping between glyph indices and scripts (in the auto-hinter + * sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an array + * with `num_glyphs` elements, as found in the font's @FT_Face structure. + * The `glyph-to-script-map` property returns a pointer to this array, + * which can be modified as needed. Note that the modification should + * happen before the first glyph gets processed by the auto-hinter so + * that the global analysis of the font shapes actually uses the modified + * mapping. + * + * @example: + * The following example code demonstrates how to access it (omitting the + * error handling). + * + * ``` + * FT_Library library; + * FT_Face face; + * FT_Prop_GlyphToScriptMap prop; + * + * + * FT_Init_FreeType( &library ); + * FT_New_Face( library, "foo.ttf", 0, &face ); + * + * prop.face = face; + * + * FT_Property_Get( library, "autofitter", + * "glyph-to-script-map", &prop ); + * + * // adjust `prop.map' as needed right here + * + * FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT ); + * ``` + * + * @since: + * 2.4.11 + * + */ + + + /************************************************************************** + * + * @enum: + * FT_AUTOHINTER_SCRIPT_XXX + * + * @description: + * **Experimental only** + * + * A list of constants used for the @glyph-to-script-map property to + * specify the script submodule the auto-hinter should use for hinting a + * particular glyph. + * + * @values: + * FT_AUTOHINTER_SCRIPT_NONE :: + * Don't auto-hint this glyph. + * + * FT_AUTOHINTER_SCRIPT_LATIN :: + * Apply the latin auto-hinter. For the auto-hinter, 'latin' is a very + * broad term, including Cyrillic and Greek also since characters from + * those scripts share the same design constraints. + * + * By default, characters from the following Unicode ranges are + * assigned to this submodule. + * + * ``` + * U+0020 - U+007F // Basic Latin (no control characters) + * U+00A0 - U+00FF // Latin-1 Supplement (no control characters) + * U+0100 - U+017F // Latin Extended-A + * U+0180 - U+024F // Latin Extended-B + * U+0250 - U+02AF // IPA Extensions + * U+02B0 - U+02FF // Spacing Modifier Letters + * U+0300 - U+036F // Combining Diacritical Marks + * U+0370 - U+03FF // Greek and Coptic + * U+0400 - U+04FF // Cyrillic + * U+0500 - U+052F // Cyrillic Supplement + * U+1D00 - U+1D7F // Phonetic Extensions + * U+1D80 - U+1DBF // Phonetic Extensions Supplement + * U+1DC0 - U+1DFF // Combining Diacritical Marks Supplement + * U+1E00 - U+1EFF // Latin Extended Additional + * U+1F00 - U+1FFF // Greek Extended + * U+2000 - U+206F // General Punctuation + * U+2070 - U+209F // Superscripts and Subscripts + * U+20A0 - U+20CF // Currency Symbols + * U+2150 - U+218F // Number Forms + * U+2460 - U+24FF // Enclosed Alphanumerics + * U+2C60 - U+2C7F // Latin Extended-C + * U+2DE0 - U+2DFF // Cyrillic Extended-A + * U+2E00 - U+2E7F // Supplemental Punctuation + * U+A640 - U+A69F // Cyrillic Extended-B + * U+A720 - U+A7FF // Latin Extended-D + * U+FB00 - U+FB06 // Alphab. Present. Forms (Latin Ligatures) + * U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols + * U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement + * ``` + * + * FT_AUTOHINTER_SCRIPT_CJK :: + * Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old + * Vietnamese, and some other scripts. + * + * By default, characters from the following Unicode ranges are + * assigned to this submodule. + * + * ``` + * U+1100 - U+11FF // Hangul Jamo + * U+2E80 - U+2EFF // CJK Radicals Supplement + * U+2F00 - U+2FDF // Kangxi Radicals + * U+2FF0 - U+2FFF // Ideographic Description Characters + * U+3000 - U+303F // CJK Symbols and Punctuation + * U+3040 - U+309F // Hiragana + * U+30A0 - U+30FF // Katakana + * U+3100 - U+312F // Bopomofo + * U+3130 - U+318F // Hangul Compatibility Jamo + * U+3190 - U+319F // Kanbun + * U+31A0 - U+31BF // Bopomofo Extended + * U+31C0 - U+31EF // CJK Strokes + * U+31F0 - U+31FF // Katakana Phonetic Extensions + * U+3200 - U+32FF // Enclosed CJK Letters and Months + * U+3300 - U+33FF // CJK Compatibility + * U+3400 - U+4DBF // CJK Unified Ideographs Extension A + * U+4DC0 - U+4DFF // Yijing Hexagram Symbols + * U+4E00 - U+9FFF // CJK Unified Ideographs + * U+A960 - U+A97F // Hangul Jamo Extended-A + * U+AC00 - U+D7AF // Hangul Syllables + * U+D7B0 - U+D7FF // Hangul Jamo Extended-B + * U+F900 - U+FAFF // CJK Compatibility Ideographs + * U+FE10 - U+FE1F // Vertical forms + * U+FE30 - U+FE4F // CJK Compatibility Forms + * U+FF00 - U+FFEF // Halfwidth and Fullwidth Forms + * U+1B000 - U+1B0FF // Kana Supplement + * U+1D300 - U+1D35F // Tai Xuan Hing Symbols + * U+1F200 - U+1F2FF // Enclosed Ideographic Supplement + * U+20000 - U+2A6DF // CJK Unified Ideographs Extension B + * U+2A700 - U+2B73F // CJK Unified Ideographs Extension C + * U+2B740 - U+2B81F // CJK Unified Ideographs Extension D + * U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement + * ``` + * + * FT_AUTOHINTER_SCRIPT_INDIC :: + * Apply the indic auto-hinter, covering all major scripts from the + * Indian sub-continent and some other related scripts like Thai, Lao, + * or Tibetan. + * + * By default, characters from the following Unicode ranges are + * assigned to this submodule. + * + * ``` + * U+0900 - U+0DFF // Indic Range + * U+0F00 - U+0FFF // Tibetan + * U+1900 - U+194F // Limbu + * U+1B80 - U+1BBF // Sundanese + * U+A800 - U+A82F // Syloti Nagri + * U+ABC0 - U+ABFF // Meetei Mayek + * U+11800 - U+118DF // Sharada + * ``` + * + * Note that currently Indic support is rudimentary only, missing blue + * zone support. + * + * @since: + * 2.4.11 + * + */ +#define FT_AUTOHINTER_SCRIPT_NONE 0 +#define FT_AUTOHINTER_SCRIPT_LATIN 1 +#define FT_AUTOHINTER_SCRIPT_CJK 2 +#define FT_AUTOHINTER_SCRIPT_INDIC 3 + + + /************************************************************************** + * + * @struct: + * FT_Prop_GlyphToScriptMap + * + * @description: + * **Experimental only** + * + * The data exchange structure for the @glyph-to-script-map property. + * + * @since: + * 2.4.11 + * + */ + typedef struct FT_Prop_GlyphToScriptMap_ + { + FT_Face face; + FT_UShort* map; + + } FT_Prop_GlyphToScriptMap; + + + /************************************************************************** + * + * @property: + * fallback-script + * + * @description: + * **Experimental only** + * + * If no auto-hinter script module can be assigned to a glyph, a fallback + * script gets assigned to it (see also the @glyph-to-script-map + * property). By default, this is @FT_AUTOHINTER_SCRIPT_CJK. Using the + * `fallback-script` property, this fallback value can be changed. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * It's important to use the right timing for changing this value: The + * creation of the glyph-to-script map that eventually uses the fallback + * script value gets triggered either by setting or reading a + * face-specific property like @glyph-to-script-map, or by auto-hinting + * any glyph from that face. In particular, if you have already created + * an @FT_Face structure but not loaded any glyph (using the + * auto-hinter), a change of the fallback script will affect this face. + * + * @example: + * ``` + * FT_Library library; + * FT_UInt fallback_script = FT_AUTOHINTER_SCRIPT_NONE; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "autofitter", + * "fallback-script", &fallback_script ); + * ``` + * + * @since: + * 2.4.11 + * + */ + + + /************************************************************************** + * + * @property: + * default-script + * + * @description: + * **Experimental only** + * + * If FreeType gets compiled with `FT_CONFIG_OPTION_USE_HARFBUZZ` to make + * the HarfBuzz library access OpenType features for getting better glyph + * coverages, this property sets the (auto-fitter) script to be used for + * the default (OpenType) script data of a font's GSUB table. Features + * for the default script are intended for all scripts not explicitly + * handled in GSUB; an example is a 'dlig' feature, containing the + * combination of the characters 'T', 'E', and 'L' to form a 'TEL' + * ligature. + * + * By default, this is @FT_AUTOHINTER_SCRIPT_LATIN. Using the + * `default-script` property, this default value can be changed. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * It's important to use the right timing for changing this value: The + * creation of the glyph-to-script map that eventually uses the default + * script value gets triggered either by setting or reading a + * face-specific property like @glyph-to-script-map, or by auto-hinting + * any glyph from that face. In particular, if you have already created + * an @FT_Face structure but not loaded any glyph (using the + * auto-hinter), a change of the default script will affect this face. + * + * @example: + * ``` + * FT_Library library; + * FT_UInt default_script = FT_AUTOHINTER_SCRIPT_NONE; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "autofitter", + * "default-script", &default_script ); + * ``` + * + * @since: + * 2.5.3 + * + */ + + + /************************************************************************** + * + * @property: + * increase-x-height + * + * @description: + * For ppem values in the range 6~<= ppem <= `increase-x-height`, round + * up the font's x~height much more often than normally. If the value is + * set to~0, which is the default, this feature is switched off. Use + * this property to improve the legibility of small font sizes if + * necessary. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * Set this value right after calling @FT_Set_Char_Size, but before + * loading any glyph (using the auto-hinter). + * + * @example: + * ``` + * FT_Library library; + * FT_Face face; + * FT_Prop_IncreaseXHeight prop; + * + * + * FT_Init_FreeType( &library ); + * FT_New_Face( library, "foo.ttf", 0, &face ); + * FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 ); + * + * prop.face = face; + * prop.limit = 14; + * + * FT_Property_Set( library, "autofitter", + * "increase-x-height", &prop ); + * ``` + * + * @since: + * 2.4.11 + * + */ + + + /************************************************************************** + * + * @struct: + * FT_Prop_IncreaseXHeight + * + * @description: + * The data exchange structure for the @increase-x-height property. + * + */ + typedef struct FT_Prop_IncreaseXHeight_ + { + FT_Face face; + FT_UInt limit; + + } FT_Prop_IncreaseXHeight; + + + /************************************************************************** + * + * @property: + * warping + * + * @description: + * **Experimental only** + * + * If FreeType gets compiled with option `AF_CONFIG_OPTION_USE_WARPER` to + * activate the warp hinting code in the auto-hinter, this property + * switches warping on and off. + * + * Warping only works in 'normal' auto-hinting mode replacing it. The + * idea of the code is to slightly scale and shift a glyph along the + * non-hinted dimension (which is usually the horizontal axis) so that as + * much of its segments are aligned (more or less) to the grid. To find + * out a glyph's optimal scaling and shifting value, various parameter + * combinations are tried and scored. + * + * By default, warping is off. + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * This property can be set via the `FREETYPE_PROPERTIES` environment + * variable (using values 1 and 0 for 'on' and 'off', respectively). + * + * The warping code can also change advance widths. Have a look at the + * `lsb_delta` and `rsb_delta` fields in the @FT_GlyphSlotRec structure + * for details on improving inter-glyph distances while rendering. + * + * Since warping is a global property of the auto-hinter it is best to + * change its value before rendering any face. Otherwise, you should + * reload all faces that get auto-hinted in 'normal' hinting mode. + * + * @example: + * This example shows how to switch on warping (omitting the error + * handling). + * + * ``` + * FT_Library library; + * FT_Bool warping = 1; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "autofitter", "warping", &warping ); + * ``` + * + * @since: + * 2.6 + * + */ + + + /* */ + + +FT_END_HEADER + + +#endif /* FTDRIVER_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/fterrdef.h b/android/x86_64/include/freetype/fterrdef.h new file mode 100644 index 00000000..9bc7dc65 --- /dev/null +++ b/android/x86_64/include/freetype/fterrdef.h @@ -0,0 +1,279 @@ +/**************************************************************************** + * + * fterrdef.h + * + * FreeType error codes (specification). + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * @section: + * error_code_values + * + * @title: + * Error Code Values + * + * @abstract: + * All possible error codes returned by FreeType functions. + * + * @description: + * The list below is taken verbatim from the file `fterrdef.h` (loaded + * automatically by including `FT_FREETYPE_H`). The first argument of the + * `FT_ERROR_DEF_` macro is the error label; by default, the prefix + * `FT_Err_` gets added so that you get error names like + * `FT_Err_Cannot_Open_Resource`. The second argument is the error code, + * and the last argument an error string, which is not used by FreeType. + * + * Within your application you should **only** use error names and + * **never** its numeric values! The latter might (and actually do) + * change in forthcoming FreeType versions. + * + * Macro `FT_NOERRORDEF_` defines `FT_Err_Ok`, which is always zero. See + * the 'Error Enumerations' subsection how to automatically generate a + * list of error strings. + * + */ + + + /************************************************************************** + * + * @enum: + * FT_Err_XXX + * + */ + + /* generic errors */ + + FT_NOERRORDEF_( Ok, 0x00, + "no error" ) + + FT_ERRORDEF_( Cannot_Open_Resource, 0x01, + "cannot open resource" ) + FT_ERRORDEF_( Unknown_File_Format, 0x02, + "unknown file format" ) + FT_ERRORDEF_( Invalid_File_Format, 0x03, + "broken file" ) + FT_ERRORDEF_( Invalid_Version, 0x04, + "invalid FreeType version" ) + FT_ERRORDEF_( Lower_Module_Version, 0x05, + "module version is too low" ) + FT_ERRORDEF_( Invalid_Argument, 0x06, + "invalid argument" ) + FT_ERRORDEF_( Unimplemented_Feature, 0x07, + "unimplemented feature" ) + FT_ERRORDEF_( Invalid_Table, 0x08, + "broken table" ) + FT_ERRORDEF_( Invalid_Offset, 0x09, + "broken offset within table" ) + FT_ERRORDEF_( Array_Too_Large, 0x0A, + "array allocation size too large" ) + FT_ERRORDEF_( Missing_Module, 0x0B, + "missing module" ) + FT_ERRORDEF_( Missing_Property, 0x0C, + "missing property" ) + + /* glyph/character errors */ + + FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, + "invalid glyph index" ) + FT_ERRORDEF_( Invalid_Character_Code, 0x11, + "invalid character code" ) + FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, + "unsupported glyph image format" ) + FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, + "cannot render this glyph format" ) + FT_ERRORDEF_( Invalid_Outline, 0x14, + "invalid outline" ) + FT_ERRORDEF_( Invalid_Composite, 0x15, + "invalid composite glyph" ) + FT_ERRORDEF_( Too_Many_Hints, 0x16, + "too many hints" ) + FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, + "invalid pixel size" ) + + /* handle errors */ + + FT_ERRORDEF_( Invalid_Handle, 0x20, + "invalid object handle" ) + FT_ERRORDEF_( Invalid_Library_Handle, 0x21, + "invalid library handle" ) + FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, + "invalid module handle" ) + FT_ERRORDEF_( Invalid_Face_Handle, 0x23, + "invalid face handle" ) + FT_ERRORDEF_( Invalid_Size_Handle, 0x24, + "invalid size handle" ) + FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, + "invalid glyph slot handle" ) + FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, + "invalid charmap handle" ) + FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, + "invalid cache manager handle" ) + FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, + "invalid stream handle" ) + + /* driver errors */ + + FT_ERRORDEF_( Too_Many_Drivers, 0x30, + "too many modules" ) + FT_ERRORDEF_( Too_Many_Extensions, 0x31, + "too many extensions" ) + + /* memory errors */ + + FT_ERRORDEF_( Out_Of_Memory, 0x40, + "out of memory" ) + FT_ERRORDEF_( Unlisted_Object, 0x41, + "unlisted object" ) + + /* stream errors */ + + FT_ERRORDEF_( Cannot_Open_Stream, 0x51, + "cannot open stream" ) + FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, + "invalid stream seek" ) + FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, + "invalid stream skip" ) + FT_ERRORDEF_( Invalid_Stream_Read, 0x54, + "invalid stream read" ) + FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, + "invalid stream operation" ) + FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, + "invalid frame operation" ) + FT_ERRORDEF_( Nested_Frame_Access, 0x57, + "nested frame access" ) + FT_ERRORDEF_( Invalid_Frame_Read, 0x58, + "invalid frame read" ) + + /* raster errors */ + + FT_ERRORDEF_( Raster_Uninitialized, 0x60, + "raster uninitialized" ) + FT_ERRORDEF_( Raster_Corrupted, 0x61, + "raster corrupted" ) + FT_ERRORDEF_( Raster_Overflow, 0x62, + "raster overflow" ) + FT_ERRORDEF_( Raster_Negative_Height, 0x63, + "negative height while rastering" ) + + /* cache errors */ + + FT_ERRORDEF_( Too_Many_Caches, 0x70, + "too many registered caches" ) + + /* TrueType and SFNT errors */ + + FT_ERRORDEF_( Invalid_Opcode, 0x80, + "invalid opcode" ) + FT_ERRORDEF_( Too_Few_Arguments, 0x81, + "too few arguments" ) + FT_ERRORDEF_( Stack_Overflow, 0x82, + "stack overflow" ) + FT_ERRORDEF_( Code_Overflow, 0x83, + "code overflow" ) + FT_ERRORDEF_( Bad_Argument, 0x84, + "bad argument" ) + FT_ERRORDEF_( Divide_By_Zero, 0x85, + "division by zero" ) + FT_ERRORDEF_( Invalid_Reference, 0x86, + "invalid reference" ) + FT_ERRORDEF_( Debug_OpCode, 0x87, + "found debug opcode" ) + FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, + "found ENDF opcode in execution stream" ) + FT_ERRORDEF_( Nested_DEFS, 0x89, + "nested DEFS" ) + FT_ERRORDEF_( Invalid_CodeRange, 0x8A, + "invalid code range" ) + FT_ERRORDEF_( Execution_Too_Long, 0x8B, + "execution context too long" ) + FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, + "too many function definitions" ) + FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, + "too many instruction definitions" ) + FT_ERRORDEF_( Table_Missing, 0x8E, + "SFNT font table missing" ) + FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, + "horizontal header (hhea) table missing" ) + FT_ERRORDEF_( Locations_Missing, 0x90, + "locations (loca) table missing" ) + FT_ERRORDEF_( Name_Table_Missing, 0x91, + "name table missing" ) + FT_ERRORDEF_( CMap_Table_Missing, 0x92, + "character map (cmap) table missing" ) + FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, + "horizontal metrics (hmtx) table missing" ) + FT_ERRORDEF_( Post_Table_Missing, 0x94, + "PostScript (post) table missing" ) + FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, + "invalid horizontal metrics" ) + FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, + "invalid character map (cmap) format" ) + FT_ERRORDEF_( Invalid_PPem, 0x97, + "invalid ppem value" ) + FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, + "invalid vertical metrics" ) + FT_ERRORDEF_( Could_Not_Find_Context, 0x99, + "could not find context" ) + FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, + "invalid PostScript (post) table format" ) + FT_ERRORDEF_( Invalid_Post_Table, 0x9B, + "invalid PostScript (post) table" ) + FT_ERRORDEF_( DEF_In_Glyf_Bytecode, 0x9C, + "found FDEF or IDEF opcode in glyf bytecode" ) + FT_ERRORDEF_( Missing_Bitmap, 0x9D, + "missing bitmap in strike" ) + + /* CFF, CID, and Type 1 errors */ + + FT_ERRORDEF_( Syntax_Error, 0xA0, + "opcode syntax error" ) + FT_ERRORDEF_( Stack_Underflow, 0xA1, + "argument stack underflow" ) + FT_ERRORDEF_( Ignore, 0xA2, + "ignore" ) + FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3, + "no Unicode glyph name found" ) + FT_ERRORDEF_( Glyph_Too_Big, 0xA4, + "glyph too big for hinting" ) + + /* BDF errors */ + + FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, + "`STARTFONT' field missing" ) + FT_ERRORDEF_( Missing_Font_Field, 0xB1, + "`FONT' field missing" ) + FT_ERRORDEF_( Missing_Size_Field, 0xB2, + "`SIZE' field missing" ) + FT_ERRORDEF_( Missing_Fontboundingbox_Field, 0xB3, + "`FONTBOUNDINGBOX' field missing" ) + FT_ERRORDEF_( Missing_Chars_Field, 0xB4, + "`CHARS' field missing" ) + FT_ERRORDEF_( Missing_Startchar_Field, 0xB5, + "`STARTCHAR' field missing" ) + FT_ERRORDEF_( Missing_Encoding_Field, 0xB6, + "`ENCODING' field missing" ) + FT_ERRORDEF_( Missing_Bbx_Field, 0xB7, + "`BBX' field missing" ) + FT_ERRORDEF_( Bbx_Too_Big, 0xB8, + "`BBX' too big" ) + FT_ERRORDEF_( Corrupted_Font_Header, 0xB9, + "Font header corrupted or missing fields" ) + FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA, + "Font glyphs corrupted or missing fields" ) + + /* */ + + +/* END */ diff --git a/android/x86_64/include/freetype/fterrors.h b/android/x86_64/include/freetype/fterrors.h new file mode 100644 index 00000000..58f5a3ea --- /dev/null +++ b/android/x86_64/include/freetype/fterrors.h @@ -0,0 +1,285 @@ +/**************************************************************************** + * + * fterrors.h + * + * FreeType error code handling (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * @section: + * error_enumerations + * + * @title: + * Error Enumerations + * + * @abstract: + * How to handle errors and error strings. + * + * @description: + * The header file `fterrors.h` (which is automatically included by + * `freetype.h` defines the handling of FreeType's enumeration + * constants. It can also be used to generate error message strings + * with a small macro trick explained below. + * + * **Error Formats** + * + * The configuration macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` can be + * defined in `ftoption.h` in order to make the higher byte indicate the + * module where the error has happened (this is not compatible with + * standard builds of FreeType~2, however). See the file `ftmoderr.h` + * for more details. + * + * **Error Message Strings** + * + * Error definitions are set up with special macros that allow client + * applications to build a table of error message strings. The strings + * are not included in a normal build of FreeType~2 to save space (most + * client applications do not use them). + * + * To do so, you have to define the following macros before including + * this file. + * + * ``` + * FT_ERROR_START_LIST + * ``` + * + * This macro is called before anything else to define the start of the + * error list. It is followed by several `FT_ERROR_DEF` calls. + * + * ``` + * FT_ERROR_DEF( e, v, s ) + * ``` + * + * This macro is called to define one single error. 'e' is the error + * code identifier (e.g., `Invalid_Argument`), 'v' is the error's + * numerical value, and 's' is the corresponding error string. + * + * ``` + * FT_ERROR_END_LIST + * ``` + * + * This macro ends the list. + * + * Additionally, you have to undefine `FTERRORS_H_` before #including + * this file. + * + * Here is a simple example. + * + * ``` + * #undef FTERRORS_H_ + * #define FT_ERRORDEF( e, v, s ) { e, s }, + * #define FT_ERROR_START_LIST { + * #define FT_ERROR_END_LIST { 0, NULL } }; + * + * const struct + * { + * int err_code; + * const char* err_msg; + * } ft_errors[] = + * + * #include FT_ERRORS_H + * ``` + * + * An alternative to using an array is a switch statement. + * + * ``` + * #undef FTERRORS_H_ + * #define FT_ERROR_START_LIST switch ( error_code ) { + * #define FT_ERRORDEF( e, v, s ) case v: return s; + * #define FT_ERROR_END_LIST } + * ``` + * + * If you use `FT_CONFIG_OPTION_USE_MODULE_ERRORS`, `error_code` should + * be replaced with `FT_ERROR_BASE(error_code)` in the last example. + */ + + /* */ + + /* In previous FreeType versions we used `__FTERRORS_H__`. However, */ + /* using two successive underscores in a non-system symbol name */ + /* violates the C (and C++) standard, so it was changed to the */ + /* current form. In spite of this, we have to make */ + /* */ + /* ``` */ + /* #undefine __FTERRORS_H__ */ + /* ``` */ + /* */ + /* work for backward compatibility. */ + /* */ +#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) ) +#define FTERRORS_H_ +#define __FTERRORS_H__ + + + /* include module base error codes */ +#include FT_MODULE_ERRORS_H + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** SETUP MACROS *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#undef FT_NEED_EXTERN_C + + + /* FT_ERR_PREFIX is used as a prefix for error identifiers. */ + /* By default, we use `FT_Err_`. */ + /* */ +#ifndef FT_ERR_PREFIX +#define FT_ERR_PREFIX FT_Err_ +#endif + + + /* FT_ERR_BASE is used as the base for module-specific errors. */ + /* */ +#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS + +#ifndef FT_ERR_BASE +#define FT_ERR_BASE FT_Mod_Err_Base +#endif + +#else + +#undef FT_ERR_BASE +#define FT_ERR_BASE 0 + +#endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */ + + + /* If FT_ERRORDEF is not defined, we need to define a simple */ + /* enumeration type. */ + /* */ +#ifndef FT_ERRORDEF + +#define FT_INCLUDE_ERR_PROTOS + +#define FT_ERRORDEF( e, v, s ) e = v, +#define FT_ERROR_START_LIST enum { +#define FT_ERROR_END_LIST FT_ERR_CAT( FT_ERR_PREFIX, Max ) }; + +#ifdef __cplusplus +#define FT_NEED_EXTERN_C + extern "C" { +#endif + +#endif /* !FT_ERRORDEF */ + + + /* this macro is used to define an error */ +#define FT_ERRORDEF_( e, v, s ) \ + FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s ) + + /* this is only used for _Err_Ok, which must be 0! */ +#define FT_NOERRORDEF_( e, v, s ) \ + FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s ) + + +#ifdef FT_ERROR_START_LIST + FT_ERROR_START_LIST +#endif + + + /* now include the error codes */ +#include FT_ERROR_DEFINITIONS_H + + +#ifdef FT_ERROR_END_LIST + FT_ERROR_END_LIST +#endif + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** SIMPLE CLEANUP *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + +#ifdef FT_NEED_EXTERN_C + } +#endif + +#undef FT_ERROR_START_LIST +#undef FT_ERROR_END_LIST + +#undef FT_ERRORDEF +#undef FT_ERRORDEF_ +#undef FT_NOERRORDEF_ + +#undef FT_NEED_EXTERN_C +#undef FT_ERR_BASE + + /* FT_ERR_PREFIX is needed internally */ +#ifndef FT2_BUILD_LIBRARY +#undef FT_ERR_PREFIX +#endif + + /* FT_INCLUDE_ERR_PROTOS: Control if function prototypes should be */ + /* included with `#include FT_ERRORS_H'. This is */ + /* only true where `FT_ERRORDEF` is undefined. */ + /* FT_ERR_PROTOS_DEFINED: Actual multiple-inclusion protection of */ + /* `fterrors.h`. */ +#ifdef FT_INCLUDE_ERR_PROTOS +#undef FT_INCLUDE_ERR_PROTOS + +#ifndef FT_ERR_PROTOS_DEFINED +#define FT_ERR_PROTOS_DEFINED + + + /************************************************************************** + * + * @function: + * FT_Error_String + * + * @description: + * Retrieve the description of a valid FreeType error code. + * + * @input: + * error_code :: + * A valid FreeType error code. + * + * @return: + * A C~string or `NULL`, if any error occurred. + * + * @note: + * FreeType has to be compiled with `FT_CONFIG_OPTION_ERROR_STRINGS` or + * `FT_DEBUG_LEVEL_ERROR` to get meaningful descriptions. + * 'error_string' will be `NULL` otherwise. + * + * Module identification will be ignored: + * + * ```c + * strcmp( FT_Error_String( FT_Err_Unknown_File_Format ), + * FT_Error_String( BDF_Err_Unknown_File_Format ) ) == 0; + * ``` + */ + FT_EXPORT( const char* ) + FT_Error_String( FT_Error error_code ); + + +#endif /* FT_ERR_PROTOS_DEFINED */ + +#endif /* FT_INCLUDE_ERR_PROTOS */ + +#endif /* !(FTERRORS_H_ && __FTERRORS_H__) */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftfntfmt.h b/android/x86_64/include/freetype/ftfntfmt.h new file mode 100644 index 00000000..76479f5d --- /dev/null +++ b/android/x86_64/include/freetype/ftfntfmt.h @@ -0,0 +1,94 @@ +/**************************************************************************** + * + * ftfntfmt.h + * + * Support functions for font formats. + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTFNTFMT_H_ +#define FTFNTFMT_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * font_formats + * + * @title: + * Font Formats + * + * @abstract: + * Getting the font format. + * + * @description: + * The single function in this section can be used to get the font format. + * Note that this information is not needed normally; however, there are + * special cases (like in PDF devices) where it is important to + * differentiate, in spite of FreeType's uniform API. + * + */ + + + /************************************************************************** + * + * @function: + * FT_Get_Font_Format + * + * @description: + * Return a string describing the format of a given face. Possible values + * are 'TrueType', 'Type~1', 'BDF', 'PCF', 'Type~42', 'CID~Type~1', 'CFF', + * 'PFR', and 'Windows~FNT'. + * + * The return value is suitable to be used as an X11 FONT_PROPERTY. + * + * @input: + * face :: + * Input face handle. + * + * @return: + * Font format string. `NULL` in case of error. + * + * @note: + * A deprecated name for the same function is `FT_Get_X11_Font_Format`. + */ + FT_EXPORT( const char* ) + FT_Get_Font_Format( FT_Face face ); + + + /* deprecated */ + FT_EXPORT( const char* ) + FT_Get_X11_Font_Format( FT_Face face ); + + + /* */ + + +FT_END_HEADER + +#endif /* FTFNTFMT_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftgasp.h b/android/x86_64/include/freetype/ftgasp.h new file mode 100644 index 00000000..81c76f90 --- /dev/null +++ b/android/x86_64/include/freetype/ftgasp.h @@ -0,0 +1,144 @@ +/**************************************************************************** + * + * ftgasp.h + * + * Access of TrueType's 'gasp' table (specification). + * + * Copyright (C) 2007-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTGASP_H_ +#define FTGASP_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * gasp_table + * + * @title: + * Gasp Table + * + * @abstract: + * Retrieving TrueType 'gasp' table entries. + * + * @description: + * The function @FT_Get_Gasp can be used to query a TrueType or OpenType + * font for specific entries in its 'gasp' table, if any. This is mainly + * useful when implementing native TrueType hinting with the bytecode + * interpreter to duplicate the Windows text rendering results. + */ + + /************************************************************************** + * + * @enum: + * FT_GASP_XXX + * + * @description: + * A list of values and/or bit-flags returned by the @FT_Get_Gasp + * function. + * + * @values: + * FT_GASP_NO_TABLE :: + * This special value means that there is no GASP table in this face. + * It is up to the client to decide what to do. + * + * FT_GASP_DO_GRIDFIT :: + * Grid-fitting and hinting should be performed at the specified ppem. + * This **really** means TrueType bytecode interpretation. If this bit + * is not set, no hinting gets applied. + * + * FT_GASP_DO_GRAY :: + * Anti-aliased rendering should be performed at the specified ppem. + * If not set, do monochrome rendering. + * + * FT_GASP_SYMMETRIC_SMOOTHING :: + * If set, smoothing along multiple axes must be used with ClearType. + * + * FT_GASP_SYMMETRIC_GRIDFIT :: + * Grid-fitting must be used with ClearType's symmetric smoothing. + * + * @note: + * The bit-flags `FT_GASP_DO_GRIDFIT` and `FT_GASP_DO_GRAY` are to be + * used for standard font rasterization only. Independently of that, + * `FT_GASP_SYMMETRIC_SMOOTHING` and `FT_GASP_SYMMETRIC_GRIDFIT` are to + * be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT` and + * `FT_GASP_DO_GRAY` are consequently ignored). + * + * 'ClearType' is Microsoft's implementation of LCD rendering, partly + * protected by patents. + * + * @since: + * 2.3.0 + */ +#define FT_GASP_NO_TABLE -1 +#define FT_GASP_DO_GRIDFIT 0x01 +#define FT_GASP_DO_GRAY 0x02 +#define FT_GASP_SYMMETRIC_GRIDFIT 0x04 +#define FT_GASP_SYMMETRIC_SMOOTHING 0x08 + + + /************************************************************************** + * + * @function: + * FT_Get_Gasp + * + * @description: + * For a TrueType or OpenType font file, return the rasterizer behaviour + * flags from the font's 'gasp' table corresponding to a given character + * pixel size. + * + * @input: + * face :: + * The source face handle. + * + * ppem :: + * The vertical character pixel size. + * + * @return: + * Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no + * 'gasp' table in the face. + * + * @note: + * If you want to use the MM functionality of OpenType variation fonts + * (i.e., using @FT_Set_Var_Design_Coordinates and friends), call this + * function **after** setting an instance since the return values can + * change. + * + * @since: + * 2.3.0 + */ + FT_EXPORT( FT_Int ) + FT_Get_Gasp( FT_Face face, + FT_UInt ppem ); + + /* */ + + +FT_END_HEADER + +#endif /* FTGASP_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftglyph.h b/android/x86_64/include/freetype/ftglyph.h new file mode 100644 index 00000000..a22e0589 --- /dev/null +++ b/android/x86_64/include/freetype/ftglyph.h @@ -0,0 +1,665 @@ +/**************************************************************************** + * + * ftglyph.h + * + * FreeType convenience functions to handle glyphs (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * This file contains the definition of several convenience functions that + * can be used by client applications to easily retrieve glyph bitmaps and + * outlines from a given face. + * + * These functions should be optional if you are writing a font server or + * text layout engine on top of FreeType. However, they are pretty handy + * for many other simple uses of the library. + * + */ + + +#ifndef FTGLYPH_H_ +#define FTGLYPH_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * glyph_management + * + * @title: + * Glyph Management + * + * @abstract: + * Generic interface to manage individual glyph data. + * + * @description: + * This section contains definitions used to manage glyph data through + * generic @FT_Glyph objects. Each of them can contain a bitmap, + * a vector outline, or even images in other formats. These objects are + * detached from @FT_Face, contrary to @FT_GlyphSlot. + * + */ + + + /* forward declaration to a private type */ + typedef struct FT_Glyph_Class_ FT_Glyph_Class; + + + /************************************************************************** + * + * @type: + * FT_Glyph + * + * @description: + * Handle to an object used to model generic glyph images. It is a + * pointer to the @FT_GlyphRec structure and can contain a glyph bitmap + * or pointer. + * + * @note: + * Glyph objects are not owned by the library. You must thus release + * them manually (through @FT_Done_Glyph) _before_ calling + * @FT_Done_FreeType. + */ + typedef struct FT_GlyphRec_* FT_Glyph; + + + /************************************************************************** + * + * @struct: + * FT_GlyphRec + * + * @description: + * The root glyph structure contains a given glyph image plus its advance + * width in 16.16 fixed-point format. + * + * @fields: + * library :: + * A handle to the FreeType library object. + * + * clazz :: + * A pointer to the glyph's class. Private. + * + * format :: + * The format of the glyph's image. + * + * advance :: + * A 16.16 vector that gives the glyph's advance width. + */ + typedef struct FT_GlyphRec_ + { + FT_Library library; + const FT_Glyph_Class* clazz; + FT_Glyph_Format format; + FT_Vector advance; + + } FT_GlyphRec; + + + /************************************************************************** + * + * @type: + * FT_BitmapGlyph + * + * @description: + * A handle to an object used to model a bitmap glyph image. This is a + * sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec. + */ + typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph; + + + /************************************************************************** + * + * @struct: + * FT_BitmapGlyphRec + * + * @description: + * A structure used for bitmap glyph images. This really is a + * 'sub-class' of @FT_GlyphRec. + * + * @fields: + * root :: + * The root @FT_Glyph fields. + * + * left :: + * The left-side bearing, i.e., the horizontal distance from the + * current pen position to the left border of the glyph bitmap. + * + * top :: + * The top-side bearing, i.e., the vertical distance from the current + * pen position to the top border of the glyph bitmap. This distance + * is positive for upwards~y! + * + * bitmap :: + * A descriptor for the bitmap. + * + * @note: + * You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have + * `glyph->format == FT_GLYPH_FORMAT_BITMAP`. This lets you access the + * bitmap's contents easily. + * + * The corresponding pixel buffer is always owned by @FT_BitmapGlyph and + * is thus created and destroyed with it. + */ + typedef struct FT_BitmapGlyphRec_ + { + FT_GlyphRec root; + FT_Int left; + FT_Int top; + FT_Bitmap bitmap; + + } FT_BitmapGlyphRec; + + + /************************************************************************** + * + * @type: + * FT_OutlineGlyph + * + * @description: + * A handle to an object used to model an outline glyph image. This is a + * sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec. + */ + typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph; + + + /************************************************************************** + * + * @struct: + * FT_OutlineGlyphRec + * + * @description: + * A structure used for outline (vectorial) glyph images. This really is + * a 'sub-class' of @FT_GlyphRec. + * + * @fields: + * root :: + * The root @FT_Glyph fields. + * + * outline :: + * A descriptor for the outline. + * + * @note: + * You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have + * `glyph->format == FT_GLYPH_FORMAT_OUTLINE`. This lets you access the + * outline's content easily. + * + * As the outline is extracted from a glyph slot, its coordinates are + * expressed normally in 26.6 pixels, unless the flag @FT_LOAD_NO_SCALE + * was used in @FT_Load_Glyph() or @FT_Load_Char(). + * + * The outline's tables are always owned by the object and are destroyed + * with it. + */ + typedef struct FT_OutlineGlyphRec_ + { + FT_GlyphRec root; + FT_Outline outline; + + } FT_OutlineGlyphRec; + + + /************************************************************************** + * + * @function: + * FT_New_Glyph + * + * @description: + * A function used to create a new empty glyph image. Note that the + * created @FT_Glyph object must be released with @FT_Done_Glyph. + * + * @input: + * library :: + * A handle to the FreeType library object. + * + * format :: + * The format of the glyph's image. + * + * @output: + * aglyph :: + * A handle to the glyph object. + * + * @return: + * FreeType error code. 0~means success. + * + * @since: + * 2.10 + */ + FT_EXPORT( FT_Error ) + FT_New_Glyph( FT_Library library, + FT_Glyph_Format format, + FT_Glyph *aglyph ); + + + /************************************************************************** + * + * @function: + * FT_Get_Glyph + * + * @description: + * A function used to extract a glyph image from a slot. Note that the + * created @FT_Glyph object must be released with @FT_Done_Glyph. + * + * @input: + * slot :: + * A handle to the source glyph slot. + * + * @output: + * aglyph :: + * A handle to the glyph object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Because `*aglyph->advance.x` and `*aglyph->advance.y` are 16.16 + * fixed-point numbers, `slot->advance.x` and `slot->advance.y` (which + * are in 26.6 fixed-point format) must be in the range ]-32768;32768[. + */ + FT_EXPORT( FT_Error ) + FT_Get_Glyph( FT_GlyphSlot slot, + FT_Glyph *aglyph ); + + + /************************************************************************** + * + * @function: + * FT_Glyph_Copy + * + * @description: + * A function used to copy a glyph image. Note that the created + * @FT_Glyph object must be released with @FT_Done_Glyph. + * + * @input: + * source :: + * A handle to the source glyph object. + * + * @output: + * target :: + * A handle to the target glyph object. 0~in case of error. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Glyph_Copy( FT_Glyph source, + FT_Glyph *target ); + + + /************************************************************************** + * + * @function: + * FT_Glyph_Transform + * + * @description: + * Transform a glyph image if its format is scalable. + * + * @inout: + * glyph :: + * A handle to the target glyph object. + * + * @input: + * matrix :: + * A pointer to a 2x2 matrix to apply. + * + * delta :: + * A pointer to a 2d vector to apply. Coordinates are expressed in + * 1/64th of a pixel. + * + * @return: + * FreeType error code (if not 0, the glyph format is not scalable). + * + * @note: + * The 2x2 transformation matrix is also applied to the glyph's advance + * vector. + */ + FT_EXPORT( FT_Error ) + FT_Glyph_Transform( FT_Glyph glyph, + FT_Matrix* matrix, + FT_Vector* delta ); + + + /************************************************************************** + * + * @enum: + * FT_Glyph_BBox_Mode + * + * @description: + * The mode how the values of @FT_Glyph_Get_CBox are returned. + * + * @values: + * FT_GLYPH_BBOX_UNSCALED :: + * Return unscaled font units. + * + * FT_GLYPH_BBOX_SUBPIXELS :: + * Return unfitted 26.6 coordinates. + * + * FT_GLYPH_BBOX_GRIDFIT :: + * Return grid-fitted 26.6 coordinates. + * + * FT_GLYPH_BBOX_TRUNCATE :: + * Return coordinates in integer pixels. + * + * FT_GLYPH_BBOX_PIXELS :: + * Return grid-fitted pixel coordinates. + */ + typedef enum FT_Glyph_BBox_Mode_ + { + FT_GLYPH_BBOX_UNSCALED = 0, + FT_GLYPH_BBOX_SUBPIXELS = 0, + FT_GLYPH_BBOX_GRIDFIT = 1, + FT_GLYPH_BBOX_TRUNCATE = 2, + FT_GLYPH_BBOX_PIXELS = 3 + + } FT_Glyph_BBox_Mode; + + + /* these constants are deprecated; use the corresponding */ + /* `FT_Glyph_BBox_Mode` values instead */ +#define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED +#define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS +#define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT +#define ft_glyph_bbox_truncate FT_GLYPH_BBOX_TRUNCATE +#define ft_glyph_bbox_pixels FT_GLYPH_BBOX_PIXELS + + + /************************************************************************** + * + * @function: + * FT_Glyph_Get_CBox + * + * @description: + * Return a glyph's 'control box'. The control box encloses all the + * outline's points, including Bezier control points. Though it + * coincides with the exact bounding box for most glyphs, it can be + * slightly larger in some situations (like when rotating an outline that + * contains Bezier outside arcs). + * + * Computing the control box is very fast, while getting the bounding box + * can take much more time as it needs to walk over all segments and arcs + * in the outline. To get the latter, you can use the 'ftbbox' + * component, which is dedicated to this single task. + * + * @input: + * glyph :: + * A handle to the source glyph object. + * + * mode :: + * The mode that indicates how to interpret the returned bounding box + * values. + * + * @output: + * acbox :: + * The glyph coordinate bounding box. Coordinates are expressed in + * 1/64th of pixels if it is grid-fitted. + * + * @note: + * Coordinates are relative to the glyph origin, using the y~upwards + * convention. + * + * If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode` must + * be set to @FT_GLYPH_BBOX_UNSCALED to get unscaled font units in 26.6 + * pixel format. The value @FT_GLYPH_BBOX_SUBPIXELS is another name for + * this constant. + * + * If the font is tricky and the glyph has been loaded with + * @FT_LOAD_NO_SCALE, the resulting CBox is meaningless. To get + * reasonable values for the CBox it is necessary to load the glyph at a + * large ppem value (so that the hinting instructions can properly shift + * and scale the subglyphs), then extracting the CBox, which can be + * eventually converted back to font units. + * + * Note that the maximum coordinates are exclusive, which means that one + * can compute the width and height of the glyph image (be it in integer + * or 26.6 pixels) as: + * + * ``` + * width = bbox.xMax - bbox.xMin; + * height = bbox.yMax - bbox.yMin; + * ``` + * + * Note also that for 26.6 coordinates, if `bbox_mode` is set to + * @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted, + * which corresponds to: + * + * ``` + * bbox.xMin = FLOOR(bbox.xMin); + * bbox.yMin = FLOOR(bbox.yMin); + * bbox.xMax = CEILING(bbox.xMax); + * bbox.yMax = CEILING(bbox.yMax); + * ``` + * + * To get the bbox in pixel coordinates, set `bbox_mode` to + * @FT_GLYPH_BBOX_TRUNCATE. + * + * To get the bbox in grid-fitted pixel coordinates, set `bbox_mode` to + * @FT_GLYPH_BBOX_PIXELS. + */ + FT_EXPORT( void ) + FT_Glyph_Get_CBox( FT_Glyph glyph, + FT_UInt bbox_mode, + FT_BBox *acbox ); + + + /************************************************************************** + * + * @function: + * FT_Glyph_To_Bitmap + * + * @description: + * Convert a given glyph object to a bitmap glyph object. + * + * @inout: + * the_glyph :: + * A pointer to a handle to the target glyph. + * + * @input: + * render_mode :: + * An enumeration that describes how the data is rendered. + * + * origin :: + * A pointer to a vector used to translate the glyph image before + * rendering. Can be~0 (if no translation). The origin is expressed + * in 26.6 pixels. + * + * destroy :: + * A boolean that indicates that the original glyph image should be + * destroyed by this function. It is never destroyed in case of error. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function does nothing if the glyph format isn't scalable. + * + * The glyph image is translated with the `origin` vector before + * rendering. + * + * The first parameter is a pointer to an @FT_Glyph handle, that will be + * _replaced_ by this function (with newly allocated data). Typically, + * you would use (omitting error handling): + * + * ``` + * FT_Glyph glyph; + * FT_BitmapGlyph glyph_bitmap; + * + * + * // load glyph + * error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAULT ); + * + * // extract glyph image + * error = FT_Get_Glyph( face->glyph, &glyph ); + * + * // convert to a bitmap (default render mode + destroying old) + * if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) + * { + * error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, + * 0, 1 ); + * if ( error ) // `glyph' unchanged + * ... + * } + * + * // access bitmap content by typecasting + * glyph_bitmap = (FT_BitmapGlyph)glyph; + * + * // do funny stuff with it, like blitting/drawing + * ... + * + * // discard glyph image (bitmap or not) + * FT_Done_Glyph( glyph ); + * ``` + * + * Here is another example, again without error handling: + * + * ``` + * FT_Glyph glyphs[MAX_GLYPHS] + * + * + * ... + * + * for ( idx = 0; i < MAX_GLYPHS; i++ ) + * error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || + * FT_Get_Glyph ( face->glyph, &glyphs[idx] ); + * + * ... + * + * for ( idx = 0; i < MAX_GLYPHS; i++ ) + * { + * FT_Glyph bitmap = glyphs[idx]; + * + * + * ... + * + * // after this call, `bitmap' no longer points into + * // the `glyphs' array (and the old value isn't destroyed) + * FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); + * + * ... + * + * FT_Done_Glyph( bitmap ); + * } + * + * ... + * + * for ( idx = 0; i < MAX_GLYPHS; i++ ) + * FT_Done_Glyph( glyphs[idx] ); + * ``` + */ + FT_EXPORT( FT_Error ) + FT_Glyph_To_Bitmap( FT_Glyph* the_glyph, + FT_Render_Mode render_mode, + FT_Vector* origin, + FT_Bool destroy ); + + + /************************************************************************** + * + * @function: + * FT_Done_Glyph + * + * @description: + * Destroy a given glyph. + * + * @input: + * glyph :: + * A handle to the target glyph object. + */ + FT_EXPORT( void ) + FT_Done_Glyph( FT_Glyph glyph ); + + /* */ + + + /* other helpful functions */ + + /************************************************************************** + * + * @section: + * computations + * + */ + + + /************************************************************************** + * + * @function: + * FT_Matrix_Multiply + * + * @description: + * Perform the matrix operation `b = a*b`. + * + * @input: + * a :: + * A pointer to matrix `a`. + * + * @inout: + * b :: + * A pointer to matrix `b`. + * + * @note: + * The result is undefined if either `a` or `b` is zero. + * + * Since the function uses wrap-around arithmetic, results become + * meaningless if the arguments are very large. + */ + FT_EXPORT( void ) + FT_Matrix_Multiply( const FT_Matrix* a, + FT_Matrix* b ); + + + /************************************************************************** + * + * @function: + * FT_Matrix_Invert + * + * @description: + * Invert a 2x2 matrix. Return an error if it can't be inverted. + * + * @inout: + * matrix :: + * A pointer to the target matrix. Remains untouched in case of error. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Matrix_Invert( FT_Matrix* matrix ); + + /* */ + + +FT_END_HEADER + +#endif /* FTGLYPH_H_ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/android/x86_64/include/freetype/ftgxval.h b/android/x86_64/include/freetype/ftgxval.h new file mode 100644 index 00000000..8faa8ffc --- /dev/null +++ b/android/x86_64/include/freetype/ftgxval.h @@ -0,0 +1,355 @@ +/**************************************************************************** + * + * ftgxval.h + * + * FreeType API for validating TrueTypeGX/AAT tables (specification). + * + * Copyright (C) 2004-2019 by + * Masatake YAMATO, Redhat K.K, + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + +/**************************************************************************** + * + * gxvalid is derived from both gxlayout module and otvalid module. + * Development of gxlayout is supported by the Information-technology + * Promotion Agency(IPA), Japan. + * + */ + + +#ifndef FTGXVAL_H_ +#define FTGXVAL_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * gx_validation + * + * @title: + * TrueTypeGX/AAT Validation + * + * @abstract: + * An API to validate TrueTypeGX/AAT tables. + * + * @description: + * This section contains the declaration of functions to validate some + * TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, + * prop, lcar). + * + * @order: + * FT_TrueTypeGX_Validate + * FT_TrueTypeGX_Free + * + * FT_ClassicKern_Validate + * FT_ClassicKern_Free + * + * FT_VALIDATE_GX_LENGTH + * FT_VALIDATE_GXXXX + * FT_VALIDATE_CKERNXXX + * + */ + + /************************************************************************** + * + * + * Warning: Use `FT_VALIDATE_XXX` to validate a table. + * Following definitions are for gxvalid developers. + * + * + */ + +#define FT_VALIDATE_feat_INDEX 0 +#define FT_VALIDATE_mort_INDEX 1 +#define FT_VALIDATE_morx_INDEX 2 +#define FT_VALIDATE_bsln_INDEX 3 +#define FT_VALIDATE_just_INDEX 4 +#define FT_VALIDATE_kern_INDEX 5 +#define FT_VALIDATE_opbd_INDEX 6 +#define FT_VALIDATE_trak_INDEX 7 +#define FT_VALIDATE_prop_INDEX 8 +#define FT_VALIDATE_lcar_INDEX 9 +#define FT_VALIDATE_GX_LAST_INDEX FT_VALIDATE_lcar_INDEX + + + /************************************************************************** + * + * @macro: + * FT_VALIDATE_GX_LENGTH + * + * @description: + * The number of tables checked in this module. Use it as a parameter + * for the `table-length` argument of function @FT_TrueTypeGX_Validate. + */ +#define FT_VALIDATE_GX_LENGTH ( FT_VALIDATE_GX_LAST_INDEX + 1 ) + + /* */ + + /* Up to 0x1000 is used by otvalid. + Ox2xxx is reserved for feature OT extension. */ +#define FT_VALIDATE_GX_START 0x4000 +#define FT_VALIDATE_GX_BITFIELD( tag ) \ + ( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX ) + + + /************************************************************************** + * + * @enum: + * FT_VALIDATE_GXXXX + * + * @description: + * A list of bit-field constants used with @FT_TrueTypeGX_Validate to + * indicate which TrueTypeGX/AAT Type tables should be validated. + * + * @values: + * FT_VALIDATE_feat :: + * Validate 'feat' table. + * + * FT_VALIDATE_mort :: + * Validate 'mort' table. + * + * FT_VALIDATE_morx :: + * Validate 'morx' table. + * + * FT_VALIDATE_bsln :: + * Validate 'bsln' table. + * + * FT_VALIDATE_just :: + * Validate 'just' table. + * + * FT_VALIDATE_kern :: + * Validate 'kern' table. + * + * FT_VALIDATE_opbd :: + * Validate 'opbd' table. + * + * FT_VALIDATE_trak :: + * Validate 'trak' table. + * + * FT_VALIDATE_prop :: + * Validate 'prop' table. + * + * FT_VALIDATE_lcar :: + * Validate 'lcar' table. + * + * FT_VALIDATE_GX :: + * Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, + * opbd, trak, prop and lcar). + * + */ + +#define FT_VALIDATE_feat FT_VALIDATE_GX_BITFIELD( feat ) +#define FT_VALIDATE_mort FT_VALIDATE_GX_BITFIELD( mort ) +#define FT_VALIDATE_morx FT_VALIDATE_GX_BITFIELD( morx ) +#define FT_VALIDATE_bsln FT_VALIDATE_GX_BITFIELD( bsln ) +#define FT_VALIDATE_just FT_VALIDATE_GX_BITFIELD( just ) +#define FT_VALIDATE_kern FT_VALIDATE_GX_BITFIELD( kern ) +#define FT_VALIDATE_opbd FT_VALIDATE_GX_BITFIELD( opbd ) +#define FT_VALIDATE_trak FT_VALIDATE_GX_BITFIELD( trak ) +#define FT_VALIDATE_prop FT_VALIDATE_GX_BITFIELD( prop ) +#define FT_VALIDATE_lcar FT_VALIDATE_GX_BITFIELD( lcar ) + +#define FT_VALIDATE_GX ( FT_VALIDATE_feat | \ + FT_VALIDATE_mort | \ + FT_VALIDATE_morx | \ + FT_VALIDATE_bsln | \ + FT_VALIDATE_just | \ + FT_VALIDATE_kern | \ + FT_VALIDATE_opbd | \ + FT_VALIDATE_trak | \ + FT_VALIDATE_prop | \ + FT_VALIDATE_lcar ) + + + /************************************************************************** + * + * @function: + * FT_TrueTypeGX_Validate + * + * @description: + * Validate various TrueTypeGX tables to assure that all offsets and + * indices are valid. The idea is that a higher-level library that + * actually does the text layout can access those tables without error + * checking (which can be quite time consuming). + * + * @input: + * face :: + * A handle to the input face. + * + * validation_flags :: + * A bit field that specifies the tables to be validated. See + * @FT_VALIDATE_GXXXX for possible values. + * + * table_length :: + * The size of the `tables` array. Normally, @FT_VALIDATE_GX_LENGTH + * should be passed. + * + * @output: + * tables :: + * The array where all validated sfnt tables are stored. The array + * itself must be allocated by a client. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with TrueTypeGX fonts, returning an error + * otherwise. + * + * After use, the application should deallocate the buffers pointed to by + * each `tables` element, by calling @FT_TrueTypeGX_Free. A `NULL` value + * indicates that the table either doesn't exist in the font, the + * application hasn't asked for validation, or the validator doesn't have + * the ability to validate the sfnt table. + */ + FT_EXPORT( FT_Error ) + FT_TrueTypeGX_Validate( FT_Face face, + FT_UInt validation_flags, + FT_Bytes tables[FT_VALIDATE_GX_LENGTH], + FT_UInt table_length ); + + + /************************************************************************** + * + * @function: + * FT_TrueTypeGX_Free + * + * @description: + * Free the buffer allocated by TrueTypeGX validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer allocated by @FT_TrueTypeGX_Validate. + * + * @note: + * This function must be used to free the buffer allocated by + * @FT_TrueTypeGX_Validate only. + */ + FT_EXPORT( void ) + FT_TrueTypeGX_Free( FT_Face face, + FT_Bytes table ); + + + /************************************************************************** + * + * @enum: + * FT_VALIDATE_CKERNXXX + * + * @description: + * A list of bit-field constants used with @FT_ClassicKern_Validate to + * indicate the classic kern dialect or dialects. If the selected type + * doesn't fit, @FT_ClassicKern_Validate regards the table as invalid. + * + * @values: + * FT_VALIDATE_MS :: + * Handle the 'kern' table as a classic Microsoft kern table. + * + * FT_VALIDATE_APPLE :: + * Handle the 'kern' table as a classic Apple kern table. + * + * FT_VALIDATE_CKERN :: + * Handle the 'kern' as either classic Apple or Microsoft kern table. + */ +#define FT_VALIDATE_MS ( FT_VALIDATE_GX_START << 0 ) +#define FT_VALIDATE_APPLE ( FT_VALIDATE_GX_START << 1 ) + +#define FT_VALIDATE_CKERN ( FT_VALIDATE_MS | FT_VALIDATE_APPLE ) + + + /************************************************************************** + * + * @function: + * FT_ClassicKern_Validate + * + * @description: + * Validate classic (16-bit format) kern table to assure that the + * offsets and indices are valid. The idea is that a higher-level + * library that actually does the text layout can access those tables + * without error checking (which can be quite time consuming). + * + * The 'kern' table validator in @FT_TrueTypeGX_Validate deals with both + * the new 32-bit format and the classic 16-bit format, while + * FT_ClassicKern_Validate only supports the classic 16-bit format. + * + * @input: + * face :: + * A handle to the input face. + * + * validation_flags :: + * A bit field that specifies the dialect to be validated. See + * @FT_VALIDATE_CKERNXXX for possible values. + * + * @output: + * ckern_table :: + * A pointer to the kern table. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * After use, the application should deallocate the buffers pointed to by + * `ckern_table`, by calling @FT_ClassicKern_Free. A `NULL` value + * indicates that the table doesn't exist in the font. + */ + FT_EXPORT( FT_Error ) + FT_ClassicKern_Validate( FT_Face face, + FT_UInt validation_flags, + FT_Bytes *ckern_table ); + + + /************************************************************************** + * + * @function: + * FT_ClassicKern_Free + * + * @description: + * Free the buffer allocated by classic Kern validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer that is allocated by + * @FT_ClassicKern_Validate. + * + * @note: + * This function must be used to free the buffer allocated by + * @FT_ClassicKern_Validate only. + */ + FT_EXPORT( void ) + FT_ClassicKern_Free( FT_Face face, + FT_Bytes table ); + + /* */ + + +FT_END_HEADER + +#endif /* FTGXVAL_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftgzip.h b/android/x86_64/include/freetype/ftgzip.h new file mode 100644 index 00000000..0899940d --- /dev/null +++ b/android/x86_64/include/freetype/ftgzip.h @@ -0,0 +1,151 @@ +/**************************************************************************** + * + * ftgzip.h + * + * Gzip-compressed stream support. + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTGZIP_H_ +#define FTGZIP_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /************************************************************************** + * + * @section: + * gzip + * + * @title: + * GZIP Streams + * + * @abstract: + * Using gzip-compressed font files. + * + * @description: + * This section contains the declaration of Gzip-specific functions. + * + */ + + + /************************************************************************** + * + * @function: + * FT_Stream_OpenGzip + * + * @description: + * Open a new stream to parse gzip-compressed font files. This is mainly + * used to support the compressed `*.pcf.gz` fonts that come with + * XFree86. + * + * @input: + * stream :: + * The target embedding stream. + * + * source :: + * The source stream. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source stream must be opened _before_ calling this function. + * + * Calling the internal function `FT_Stream_Close` on the new stream will + * **not** call `FT_Stream_Close` on the source stream. None of the + * stream objects will be released to the heap. + * + * The stream implementation is very basic and resets the decompression + * process each time seeking backwards is needed within the stream. + * + * In certain builds of the library, gzip compression recognition is + * automatically handled when calling @FT_New_Face or @FT_Open_Face. + * This means that if no font driver is capable of handling the raw + * compressed file, the library will try to open a gzipped stream from it + * and re-open the face with it. + * + * This function may return `FT_Err_Unimplemented_Feature` if your build + * of FreeType was not compiled with zlib support. + */ + FT_EXPORT( FT_Error ) + FT_Stream_OpenGzip( FT_Stream stream, + FT_Stream source ); + + + /************************************************************************** + * + * @function: + * FT_Gzip_Uncompress + * + * @description: + * Decompress a zipped input buffer into an output buffer. This function + * is modeled after zlib's `uncompress` function. + * + * @input: + * memory :: + * A FreeType memory handle. + * + * input :: + * The input buffer. + * + * input_len :: + * The length of the input buffer. + * + * @output: + * output :: + * The output buffer. + * + * @inout: + * output_len :: + * Before calling the function, this is the total size of the output + * buffer, which must be large enough to hold the entire uncompressed + * data (so the size of the uncompressed data must be known in + * advance). After calling the function, `output_len` is the size of + * the used data in `output`. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function may return `FT_Err_Unimplemented_Feature` if your build + * of FreeType was not compiled with zlib support. + * + * @since: + * 2.5.1 + */ + FT_EXPORT( FT_Error ) + FT_Gzip_Uncompress( FT_Memory memory, + FT_Byte* output, + FT_ULong* output_len, + const FT_Byte* input, + FT_ULong input_len ); + + /* */ + + +FT_END_HEADER + +#endif /* FTGZIP_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftimage.h b/android/x86_64/include/freetype/ftimage.h new file mode 100644 index 00000000..b9e23028 --- /dev/null +++ b/android/x86_64/include/freetype/ftimage.h @@ -0,0 +1,1240 @@ +/**************************************************************************** + * + * ftimage.h + * + * FreeType glyph image formats and default raster interface + * (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + /************************************************************************** + * + * Note: A 'raster' is simply a scan-line converter, used to render + * FT_Outlines into FT_Bitmaps. + * + */ + + +#ifndef FTIMAGE_H_ +#define FTIMAGE_H_ + + + /* STANDALONE_ is from ftgrays.c */ +#ifndef STANDALONE_ +#include "ft2build.h" +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * basic_types + * + */ + + + /************************************************************************** + * + * @type: + * FT_Pos + * + * @description: + * The type FT_Pos is used to store vectorial coordinates. Depending on + * the context, these can represent distances in integer font units, or + * 16.16, or 26.6 fixed-point pixel coordinates. + */ + typedef signed long FT_Pos; + + + /************************************************************************** + * + * @struct: + * FT_Vector + * + * @description: + * A simple structure used to store a 2D vector; coordinates are of the + * FT_Pos type. + * + * @fields: + * x :: + * The horizontal coordinate. + * y :: + * The vertical coordinate. + */ + typedef struct FT_Vector_ + { + FT_Pos x; + FT_Pos y; + + } FT_Vector; + + + /************************************************************************** + * + * @struct: + * FT_BBox + * + * @description: + * A structure used to hold an outline's bounding box, i.e., the + * coordinates of its extrema in the horizontal and vertical directions. + * + * @fields: + * xMin :: + * The horizontal minimum (left-most). + * + * yMin :: + * The vertical minimum (bottom-most). + * + * xMax :: + * The horizontal maximum (right-most). + * + * yMax :: + * The vertical maximum (top-most). + * + * @note: + * The bounding box is specified with the coordinates of the lower left + * and the upper right corner. In PostScript, those values are often + * called (llx,lly) and (urx,ury), respectively. + * + * If `yMin` is negative, this value gives the glyph's descender. + * Otherwise, the glyph doesn't descend below the baseline. Similarly, + * if `ymax` is positive, this value gives the glyph's ascender. + * + * `xMin` gives the horizontal distance from the glyph's origin to the + * left edge of the glyph's bounding box. If `xMin` is negative, the + * glyph extends to the left of the origin. + */ + typedef struct FT_BBox_ + { + FT_Pos xMin, yMin; + FT_Pos xMax, yMax; + + } FT_BBox; + + + /************************************************************************** + * + * @enum: + * FT_Pixel_Mode + * + * @description: + * An enumeration type used to describe the format of pixels in a given + * bitmap. Note that additional formats may be added in the future. + * + * @values: + * FT_PIXEL_MODE_NONE :: + * Value~0 is reserved. + * + * FT_PIXEL_MODE_MONO :: + * A monochrome bitmap, using 1~bit per pixel. Note that pixels are + * stored in most-significant order (MSB), which means that the + * left-most pixel in a byte has value 128. + * + * FT_PIXEL_MODE_GRAY :: + * An 8-bit bitmap, generally used to represent anti-aliased glyph + * images. Each pixel is stored in one byte. Note that the number of + * 'gray' levels is stored in the `num_grays` field of the @FT_Bitmap + * structure (it generally is 256). + * + * FT_PIXEL_MODE_GRAY2 :: + * A 2-bit per pixel bitmap, used to represent embedded anti-aliased + * bitmaps in font files according to the OpenType specification. We + * haven't found a single font using this format, however. + * + * FT_PIXEL_MODE_GRAY4 :: + * A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps + * in font files according to the OpenType specification. We haven't + * found a single font using this format, however. + * + * FT_PIXEL_MODE_LCD :: + * An 8-bit bitmap, representing RGB or BGR decimated glyph images used + * for display on LCD displays; the bitmap is three times wider than + * the original glyph image. See also @FT_RENDER_MODE_LCD. + * + * FT_PIXEL_MODE_LCD_V :: + * An 8-bit bitmap, representing RGB or BGR decimated glyph images used + * for display on rotated LCD displays; the bitmap is three times + * taller than the original glyph image. See also + * @FT_RENDER_MODE_LCD_V. + * + * FT_PIXEL_MODE_BGRA :: + * [Since 2.5] An image with four 8-bit channels per pixel, + * representing a color image (such as emoticons) with alpha channel. + * For each pixel, the format is BGRA, which means, the blue channel + * comes first in memory. The color channels are pre-multiplied and in + * the sRGB colorspace. For example, full red at half-translucent + * opacity will be represented as '00,00,80,80', not '00,00,FF,80'. + * See also @FT_LOAD_COLOR. + */ + typedef enum FT_Pixel_Mode_ + { + FT_PIXEL_MODE_NONE = 0, + FT_PIXEL_MODE_MONO, + FT_PIXEL_MODE_GRAY, + FT_PIXEL_MODE_GRAY2, + FT_PIXEL_MODE_GRAY4, + FT_PIXEL_MODE_LCD, + FT_PIXEL_MODE_LCD_V, + FT_PIXEL_MODE_BGRA, + + FT_PIXEL_MODE_MAX /* do not remove */ + + } FT_Pixel_Mode; + + + /* these constants are deprecated; use the corresponding `FT_Pixel_Mode` */ + /* values instead. */ +#define ft_pixel_mode_none FT_PIXEL_MODE_NONE +#define ft_pixel_mode_mono FT_PIXEL_MODE_MONO +#define ft_pixel_mode_grays FT_PIXEL_MODE_GRAY +#define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2 +#define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4 + + + /************************************************************************** + * + * @struct: + * FT_Bitmap + * + * @description: + * A structure used to describe a bitmap or pixmap to the raster. Note + * that we now manage pixmaps of various depths through the `pixel_mode` + * field. + * + * @fields: + * rows :: + * The number of bitmap rows. + * + * width :: + * The number of pixels in bitmap row. + * + * pitch :: + * The pitch's absolute value is the number of bytes taken by one + * bitmap row, including padding. However, the pitch is positive when + * the bitmap has a 'down' flow, and negative when it has an 'up' flow. + * In all cases, the pitch is an offset to add to a bitmap pointer in + * order to go down one row. + * + * Note that 'padding' means the alignment of a bitmap to a byte + * border, and FreeType functions normally align to the smallest + * possible integer value. + * + * For the B/W rasterizer, `pitch` is always an even number. + * + * To change the pitch of a bitmap (say, to make it a multiple of 4), + * use @FT_Bitmap_Convert. Alternatively, you might use callback + * functions to directly render to the application's surface; see the + * file `example2.cpp` in the tutorial for a demonstration. + * + * buffer :: + * A typeless pointer to the bitmap buffer. This value should be + * aligned on 32-bit boundaries in most cases. + * + * num_grays :: + * This field is only used with @FT_PIXEL_MODE_GRAY; it gives the + * number of gray levels used in the bitmap. + * + * pixel_mode :: + * The pixel mode, i.e., how pixel bits are stored. See @FT_Pixel_Mode + * for possible values. + * + * palette_mode :: + * This field is intended for paletted pixel modes; it indicates how + * the palette is stored. Not used currently. + * + * palette :: + * A typeless pointer to the bitmap palette; this field is intended for + * paletted pixel modes. Not used currently. + */ + typedef struct FT_Bitmap_ + { + unsigned int rows; + unsigned int width; + int pitch; + unsigned char* buffer; + unsigned short num_grays; + unsigned char pixel_mode; + unsigned char palette_mode; + void* palette; + + } FT_Bitmap; + + + /************************************************************************** + * + * @section: + * outline_processing + * + */ + + + /************************************************************************** + * + * @struct: + * FT_Outline + * + * @description: + * This structure is used to describe an outline to the scan-line + * converter. + * + * @fields: + * n_contours :: + * The number of contours in the outline. + * + * n_points :: + * The number of points in the outline. + * + * points :: + * A pointer to an array of `n_points` @FT_Vector elements, giving the + * outline's point coordinates. + * + * tags :: + * A pointer to an array of `n_points` chars, giving each outline + * point's type. + * + * If bit~0 is unset, the point is 'off' the curve, i.e., a Bezier + * control point, while it is 'on' if set. + * + * Bit~1 is meaningful for 'off' points only. If set, it indicates a + * third-order Bezier arc control point; and a second-order control + * point if unset. + * + * If bit~2 is set, bits 5-7 contain the drop-out mode (as defined in + * the OpenType specification; the value is the same as the argument to + * the 'SCANMODE' instruction). + * + * Bits 3 and~4 are reserved for internal purposes. + * + * contours :: + * An array of `n_contours` shorts, giving the end point of each + * contour within the outline. For example, the first contour is + * defined by the points '0' to `contours[0]`, the second one is + * defined by the points `contours[0]+1` to `contours[1]`, etc. + * + * flags :: + * A set of bit flags used to characterize the outline and give hints + * to the scan-converter and hinter on how to convert/grid-fit it. See + * @FT_OUTLINE_XXX. + * + * @note: + * The B/W rasterizer only checks bit~2 in the `tags` array for the first + * point of each contour. The drop-out mode as given with + * @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, and + * @FT_OUTLINE_INCLUDE_STUBS in `flags` is then overridden. + */ + typedef struct FT_Outline_ + { + short n_contours; /* number of contours in glyph */ + short n_points; /* number of points in the glyph */ + + FT_Vector* points; /* the outline's points */ + char* tags; /* the points flags */ + short* contours; /* the contour end points */ + + int flags; /* outline masks */ + + } FT_Outline; + + /* */ + + /* Following limits must be consistent with */ + /* FT_Outline.{n_contours,n_points} */ +#define FT_OUTLINE_CONTOURS_MAX SHRT_MAX +#define FT_OUTLINE_POINTS_MAX SHRT_MAX + + + /************************************************************************** + * + * @enum: + * FT_OUTLINE_XXX + * + * @description: + * A list of bit-field constants used for the flags in an outline's + * `flags` field. + * + * @values: + * FT_OUTLINE_NONE :: + * Value~0 is reserved. + * + * FT_OUTLINE_OWNER :: + * If set, this flag indicates that the outline's field arrays (i.e., + * `points`, `flags`, and `contours`) are 'owned' by the outline + * object, and should thus be freed when it is destroyed. + * + * FT_OUTLINE_EVEN_ODD_FILL :: + * By default, outlines are filled using the non-zero winding rule. If + * set to 1, the outline will be filled using the even-odd fill rule + * (only works with the smooth rasterizer). + * + * FT_OUTLINE_REVERSE_FILL :: + * By default, outside contours of an outline are oriented in + * clock-wise direction, as defined in the TrueType specification. + * This flag is set if the outline uses the opposite direction + * (typically for Type~1 fonts). This flag is ignored by the scan + * converter. + * + * FT_OUTLINE_IGNORE_DROPOUTS :: + * By default, the scan converter will try to detect drop-outs in an + * outline and correct the glyph bitmap to ensure consistent shape + * continuity. If set, this flag hints the scan-line converter to + * ignore such cases. See below for more information. + * + * FT_OUTLINE_SMART_DROPOUTS :: + * Select smart dropout control. If unset, use simple dropout control. + * Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more + * information. + * + * FT_OUTLINE_INCLUDE_STUBS :: + * If set, turn pixels on for 'stubs', otherwise exclude them. Ignored + * if @FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more + * information. + * + * FT_OUTLINE_HIGH_PRECISION :: + * This flag indicates that the scan-line converter should try to + * convert this outline to bitmaps with the highest possible quality. + * It is typically set for small character sizes. Note that this is + * only a hint that might be completely ignored by a given + * scan-converter. + * + * FT_OUTLINE_SINGLE_PASS :: + * This flag is set to force a given scan-converter to only use a + * single pass over the outline to render a bitmap glyph image. + * Normally, it is set for very large character sizes. It is only a + * hint that might be completely ignored by a given scan-converter. + * + * @note: + * The flags @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, and + * @FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth rasterizer. + * + * There exists a second mechanism to pass the drop-out mode to the B/W + * rasterizer; see the `tags` field in @FT_Outline. + * + * Please refer to the description of the 'SCANTYPE' instruction in the + * OpenType specification (in file `ttinst1.doc`) how simple drop-outs, + * smart drop-outs, and stubs are defined. + */ +#define FT_OUTLINE_NONE 0x0 +#define FT_OUTLINE_OWNER 0x1 +#define FT_OUTLINE_EVEN_ODD_FILL 0x2 +#define FT_OUTLINE_REVERSE_FILL 0x4 +#define FT_OUTLINE_IGNORE_DROPOUTS 0x8 +#define FT_OUTLINE_SMART_DROPOUTS 0x10 +#define FT_OUTLINE_INCLUDE_STUBS 0x20 + +#define FT_OUTLINE_HIGH_PRECISION 0x100 +#define FT_OUTLINE_SINGLE_PASS 0x200 + + + /* these constants are deprecated; use the corresponding */ + /* `FT_OUTLINE_XXX` values instead */ +#define ft_outline_none FT_OUTLINE_NONE +#define ft_outline_owner FT_OUTLINE_OWNER +#define ft_outline_even_odd_fill FT_OUTLINE_EVEN_ODD_FILL +#define ft_outline_reverse_fill FT_OUTLINE_REVERSE_FILL +#define ft_outline_ignore_dropouts FT_OUTLINE_IGNORE_DROPOUTS +#define ft_outline_high_precision FT_OUTLINE_HIGH_PRECISION +#define ft_outline_single_pass FT_OUTLINE_SINGLE_PASS + + /* */ + +#define FT_CURVE_TAG( flag ) ( flag & 0x03 ) + + /* see the `tags` field in `FT_Outline` for a description of the values */ +#define FT_CURVE_TAG_ON 0x01 +#define FT_CURVE_TAG_CONIC 0x00 +#define FT_CURVE_TAG_CUBIC 0x02 + +#define FT_CURVE_TAG_HAS_SCANMODE 0x04 + +#define FT_CURVE_TAG_TOUCH_X 0x08 /* reserved for TrueType hinter */ +#define FT_CURVE_TAG_TOUCH_Y 0x10 /* reserved for TrueType hinter */ + +#define FT_CURVE_TAG_TOUCH_BOTH ( FT_CURVE_TAG_TOUCH_X | \ + FT_CURVE_TAG_TOUCH_Y ) + /* values 0x20, 0x40, and 0x80 are reserved */ + + + /* these constants are deprecated; use the corresponding */ + /* `FT_CURVE_TAG_XXX` values instead */ +#define FT_Curve_Tag_On FT_CURVE_TAG_ON +#define FT_Curve_Tag_Conic FT_CURVE_TAG_CONIC +#define FT_Curve_Tag_Cubic FT_CURVE_TAG_CUBIC +#define FT_Curve_Tag_Touch_X FT_CURVE_TAG_TOUCH_X +#define FT_Curve_Tag_Touch_Y FT_CURVE_TAG_TOUCH_Y + + + /************************************************************************** + * + * @functype: + * FT_Outline_MoveToFunc + * + * @description: + * A function pointer type used to describe the signature of a 'move to' + * function during outline walking/decomposition. + * + * A 'move to' is emitted to start a new contour in an outline. + * + * @input: + * to :: + * A pointer to the target point of the 'move to'. + * + * user :: + * A typeless pointer, which is passed from the caller of the + * decomposition function. + * + * @return: + * Error code. 0~means success. + */ + typedef int + (*FT_Outline_MoveToFunc)( const FT_Vector* to, + void* user ); + +#define FT_Outline_MoveTo_Func FT_Outline_MoveToFunc + + + /************************************************************************** + * + * @functype: + * FT_Outline_LineToFunc + * + * @description: + * A function pointer type used to describe the signature of a 'line to' + * function during outline walking/decomposition. + * + * A 'line to' is emitted to indicate a segment in the outline. + * + * @input: + * to :: + * A pointer to the target point of the 'line to'. + * + * user :: + * A typeless pointer, which is passed from the caller of the + * decomposition function. + * + * @return: + * Error code. 0~means success. + */ + typedef int + (*FT_Outline_LineToFunc)( const FT_Vector* to, + void* user ); + +#define FT_Outline_LineTo_Func FT_Outline_LineToFunc + + + /************************************************************************** + * + * @functype: + * FT_Outline_ConicToFunc + * + * @description: + * A function pointer type used to describe the signature of a 'conic to' + * function during outline walking or decomposition. + * + * A 'conic to' is emitted to indicate a second-order Bezier arc in the + * outline. + * + * @input: + * control :: + * An intermediate control point between the last position and the new + * target in `to`. + * + * to :: + * A pointer to the target end point of the conic arc. + * + * user :: + * A typeless pointer, which is passed from the caller of the + * decomposition function. + * + * @return: + * Error code. 0~means success. + */ + typedef int + (*FT_Outline_ConicToFunc)( const FT_Vector* control, + const FT_Vector* to, + void* user ); + +#define FT_Outline_ConicTo_Func FT_Outline_ConicToFunc + + + /************************************************************************** + * + * @functype: + * FT_Outline_CubicToFunc + * + * @description: + * A function pointer type used to describe the signature of a 'cubic to' + * function during outline walking or decomposition. + * + * A 'cubic to' is emitted to indicate a third-order Bezier arc. + * + * @input: + * control1 :: + * A pointer to the first Bezier control point. + * + * control2 :: + * A pointer to the second Bezier control point. + * + * to :: + * A pointer to the target end point. + * + * user :: + * A typeless pointer, which is passed from the caller of the + * decomposition function. + * + * @return: + * Error code. 0~means success. + */ + typedef int + (*FT_Outline_CubicToFunc)( const FT_Vector* control1, + const FT_Vector* control2, + const FT_Vector* to, + void* user ); + +#define FT_Outline_CubicTo_Func FT_Outline_CubicToFunc + + + /************************************************************************** + * + * @struct: + * FT_Outline_Funcs + * + * @description: + * A structure to hold various function pointers used during outline + * decomposition in order to emit segments, conic, and cubic Beziers. + * + * @fields: + * move_to :: + * The 'move to' emitter. + * + * line_to :: + * The segment emitter. + * + * conic_to :: + * The second-order Bezier arc emitter. + * + * cubic_to :: + * The third-order Bezier arc emitter. + * + * shift :: + * The shift that is applied to coordinates before they are sent to the + * emitter. + * + * delta :: + * The delta that is applied to coordinates before they are sent to the + * emitter, but after the shift. + * + * @note: + * The point coordinates sent to the emitters are the transformed version + * of the original coordinates (this is important for high accuracy + * during scan-conversion). The transformation is simple: + * + * ``` + * x' = (x << shift) - delta + * y' = (y << shift) - delta + * ``` + * + * Set the values of `shift` and `delta` to~0 to get the original point + * coordinates. + */ + typedef struct FT_Outline_Funcs_ + { + FT_Outline_MoveToFunc move_to; + FT_Outline_LineToFunc line_to; + FT_Outline_ConicToFunc conic_to; + FT_Outline_CubicToFunc cubic_to; + + int shift; + FT_Pos delta; + + } FT_Outline_Funcs; + + + /************************************************************************** + * + * @section: + * basic_types + * + */ + + + /************************************************************************** + * + * @macro: + * FT_IMAGE_TAG + * + * @description: + * This macro converts four-letter tags to an unsigned long type. + * + * @note: + * Since many 16-bit compilers don't like 32-bit enumerations, you should + * redefine this macro in case of problems to something like this: + * + * ``` + * #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value + * ``` + * + * to get a simple enumeration without assigning special numbers. + */ +#ifndef FT_IMAGE_TAG +#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) \ + value = ( ( (unsigned long)_x1 << 24 ) | \ + ( (unsigned long)_x2 << 16 ) | \ + ( (unsigned long)_x3 << 8 ) | \ + (unsigned long)_x4 ) +#endif /* FT_IMAGE_TAG */ + + + /************************************************************************** + * + * @enum: + * FT_Glyph_Format + * + * @description: + * An enumeration type used to describe the format of a given glyph + * image. Note that this version of FreeType only supports two image + * formats, even though future font drivers will be able to register + * their own format. + * + * @values: + * FT_GLYPH_FORMAT_NONE :: + * The value~0 is reserved. + * + * FT_GLYPH_FORMAT_COMPOSITE :: + * The glyph image is a composite of several other images. This format + * is _only_ used with @FT_LOAD_NO_RECURSE, and is used to report + * compound glyphs (like accented characters). + * + * FT_GLYPH_FORMAT_BITMAP :: + * The glyph image is a bitmap, and can be described as an @FT_Bitmap. + * You generally need to access the `bitmap` field of the + * @FT_GlyphSlotRec structure to read it. + * + * FT_GLYPH_FORMAT_OUTLINE :: + * The glyph image is a vectorial outline made of line segments and + * Bezier arcs; it can be described as an @FT_Outline; you generally + * want to access the `outline` field of the @FT_GlyphSlotRec structure + * to read it. + * + * FT_GLYPH_FORMAT_PLOTTER :: + * The glyph image is a vectorial path with no inside and outside + * contours. Some Type~1 fonts, like those in the Hershey family, + * contain glyphs in this format. These are described as @FT_Outline, + * but FreeType isn't currently capable of rendering them correctly. + */ + typedef enum FT_Glyph_Format_ + { + FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ), + + FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ), + FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP, 'b', 'i', 't', 's' ), + FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE, 'o', 'u', 't', 'l' ), + FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER, 'p', 'l', 'o', 't' ) + + } FT_Glyph_Format; + + + /* these constants are deprecated; use the corresponding */ + /* `FT_Glyph_Format` values instead. */ +#define ft_glyph_format_none FT_GLYPH_FORMAT_NONE +#define ft_glyph_format_composite FT_GLYPH_FORMAT_COMPOSITE +#define ft_glyph_format_bitmap FT_GLYPH_FORMAT_BITMAP +#define ft_glyph_format_outline FT_GLYPH_FORMAT_OUTLINE +#define ft_glyph_format_plotter FT_GLYPH_FORMAT_PLOTTER + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** R A S T E R D E F I N I T I O N S *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * A raster is a scan converter, in charge of rendering an outline into a + * bitmap. This section contains the public API for rasters. + * + * Note that in FreeType 2, all rasters are now encapsulated within + * specific modules called 'renderers'. See `ftrender.h` for more details + * on renderers. + * + */ + + + /************************************************************************** + * + * @section: + * raster + * + * @title: + * Scanline Converter + * + * @abstract: + * How vectorial outlines are converted into bitmaps and pixmaps. + * + * @description: + * This section contains technical definitions. + * + * @order: + * FT_Raster + * FT_Span + * FT_SpanFunc + * + * FT_Raster_Params + * FT_RASTER_FLAG_XXX + * + * FT_Raster_NewFunc + * FT_Raster_DoneFunc + * FT_Raster_ResetFunc + * FT_Raster_SetModeFunc + * FT_Raster_RenderFunc + * FT_Raster_Funcs + * + */ + + + /************************************************************************** + * + * @type: + * FT_Raster + * + * @description: + * An opaque handle (pointer) to a raster object. Each object can be + * used independently to convert an outline into a bitmap or pixmap. + */ + typedef struct FT_RasterRec_* FT_Raster; + + + /************************************************************************** + * + * @struct: + * FT_Span + * + * @description: + * A structure used to model a single span of gray pixels when rendering + * an anti-aliased bitmap. + * + * @fields: + * x :: + * The span's horizontal start position. + * + * len :: + * The span's length in pixels. + * + * coverage :: + * The span color/coverage, ranging from 0 (background) to 255 + * (foreground). + * + * @note: + * This structure is used by the span drawing callback type named + * @FT_SpanFunc that takes the y~coordinate of the span as a parameter. + * + * The coverage value is always between 0 and 255. If you want less gray + * values, the callback function has to reduce them. + */ + typedef struct FT_Span_ + { + short x; + unsigned short len; + unsigned char coverage; + + } FT_Span; + + + /************************************************************************** + * + * @functype: + * FT_SpanFunc + * + * @description: + * A function used as a call-back by the anti-aliased renderer in order + * to let client applications draw themselves the gray pixel spans on + * each scan line. + * + * @input: + * y :: + * The scanline's y~coordinate. + * + * count :: + * The number of spans to draw on this scanline. + * + * spans :: + * A table of `count` spans to draw on the scanline. + * + * user :: + * User-supplied data that is passed to the callback. + * + * @note: + * This callback allows client applications to directly render the gray + * spans of the anti-aliased bitmap to any kind of surfaces. + * + * This can be used to write anti-aliased outlines directly to a given + * background bitmap, and even perform translucency. + */ + typedef void + (*FT_SpanFunc)( int y, + int count, + const FT_Span* spans, + void* user ); + +#define FT_Raster_Span_Func FT_SpanFunc + + + /************************************************************************** + * + * @functype: + * FT_Raster_BitTest_Func + * + * @description: + * Deprecated, unimplemented. + */ + typedef int + (*FT_Raster_BitTest_Func)( int y, + int x, + void* user ); + + + /************************************************************************** + * + * @functype: + * FT_Raster_BitSet_Func + * + * @description: + * Deprecated, unimplemented. + */ + typedef void + (*FT_Raster_BitSet_Func)( int y, + int x, + void* user ); + + + /************************************************************************** + * + * @enum: + * FT_RASTER_FLAG_XXX + * + * @description: + * A list of bit flag constants as used in the `flags` field of a + * @FT_Raster_Params structure. + * + * @values: + * FT_RASTER_FLAG_DEFAULT :: + * This value is 0. + * + * FT_RASTER_FLAG_AA :: + * This flag is set to indicate that an anti-aliased glyph image should + * be generated. Otherwise, it will be monochrome (1-bit). + * + * FT_RASTER_FLAG_DIRECT :: + * This flag is set to indicate direct rendering. In this mode, client + * applications must provide their own span callback. This lets them + * directly draw or compose over an existing bitmap. If this bit is + * not set, the target pixmap's buffer _must_ be zeroed before + * rendering. + * + * Direct rendering is only possible with anti-aliased glyphs. + * + * FT_RASTER_FLAG_CLIP :: + * This flag is only used in direct rendering mode. If set, the output + * will be clipped to a box specified in the `clip_box` field of the + * @FT_Raster_Params structure. + * + * Note that by default, the glyph bitmap is clipped to the target + * pixmap, except in direct rendering mode where all spans are + * generated if no clipping box is set. + */ +#define FT_RASTER_FLAG_DEFAULT 0x0 +#define FT_RASTER_FLAG_AA 0x1 +#define FT_RASTER_FLAG_DIRECT 0x2 +#define FT_RASTER_FLAG_CLIP 0x4 + + /* these constants are deprecated; use the corresponding */ + /* `FT_RASTER_FLAG_XXX` values instead */ +#define ft_raster_flag_default FT_RASTER_FLAG_DEFAULT +#define ft_raster_flag_aa FT_RASTER_FLAG_AA +#define ft_raster_flag_direct FT_RASTER_FLAG_DIRECT +#define ft_raster_flag_clip FT_RASTER_FLAG_CLIP + + + /************************************************************************** + * + * @struct: + * FT_Raster_Params + * + * @description: + * A structure to hold the arguments used by a raster's render function. + * + * @fields: + * target :: + * The target bitmap. + * + * source :: + * A pointer to the source glyph image (e.g., an @FT_Outline). + * + * flags :: + * The rendering flags. + * + * gray_spans :: + * The gray span drawing callback. + * + * black_spans :: + * Unused. + * + * bit_test :: + * Unused. + * + * bit_set :: + * Unused. + * + * user :: + * User-supplied data that is passed to each drawing callback. + * + * clip_box :: + * An optional clipping box. It is only used in direct rendering mode. + * Note that coordinates here should be expressed in _integer_ pixels + * (and not in 26.6 fixed-point units). + * + * @note: + * An anti-aliased glyph bitmap is drawn if the @FT_RASTER_FLAG_AA bit + * flag is set in the `flags` field, otherwise a monochrome bitmap is + * generated. + * + * If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags`, the raster + * will call the `gray_spans` callback to draw gray pixel spans. This + * allows direct composition over a pre-existing bitmap through + * user-provided callbacks to perform the span drawing and composition. + * Not supported by the monochrome rasterizer. + */ + typedef struct FT_Raster_Params_ + { + const FT_Bitmap* target; + const void* source; + int flags; + FT_SpanFunc gray_spans; + FT_SpanFunc black_spans; /* unused */ + FT_Raster_BitTest_Func bit_test; /* unused */ + FT_Raster_BitSet_Func bit_set; /* unused */ + void* user; + FT_BBox clip_box; + + } FT_Raster_Params; + + + /************************************************************************** + * + * @functype: + * FT_Raster_NewFunc + * + * @description: + * A function used to create a new raster object. + * + * @input: + * memory :: + * A handle to the memory allocator. + * + * @output: + * raster :: + * A handle to the new raster object. + * + * @return: + * Error code. 0~means success. + * + * @note: + * The `memory` parameter is a typeless pointer in order to avoid + * un-wanted dependencies on the rest of the FreeType code. In practice, + * it is an @FT_Memory object, i.e., a handle to the standard FreeType + * memory allocator. However, this field can be completely ignored by a + * given raster implementation. + */ + typedef int + (*FT_Raster_NewFunc)( void* memory, + FT_Raster* raster ); + +#define FT_Raster_New_Func FT_Raster_NewFunc + + + /************************************************************************** + * + * @functype: + * FT_Raster_DoneFunc + * + * @description: + * A function used to destroy a given raster object. + * + * @input: + * raster :: + * A handle to the raster object. + */ + typedef void + (*FT_Raster_DoneFunc)( FT_Raster raster ); + +#define FT_Raster_Done_Func FT_Raster_DoneFunc + + + /************************************************************************** + * + * @functype: + * FT_Raster_ResetFunc + * + * @description: + * FreeType used to provide an area of memory called the 'render pool' + * available to all registered rasterizers. This was not thread safe, + * however, and now FreeType never allocates this pool. + * + * This function is called after a new raster object is created. + * + * @input: + * raster :: + * A handle to the new raster object. + * + * pool_base :: + * Previously, the address in memory of the render pool. Set this to + * `NULL`. + * + * pool_size :: + * Previously, the size in bytes of the render pool. Set this to 0. + * + * @note: + * Rasterizers should rely on dynamic or stack allocation if they want to + * (a handle to the memory allocator is passed to the rasterizer + * constructor). + */ + typedef void + (*FT_Raster_ResetFunc)( FT_Raster raster, + unsigned char* pool_base, + unsigned long pool_size ); + +#define FT_Raster_Reset_Func FT_Raster_ResetFunc + + + /************************************************************************** + * + * @functype: + * FT_Raster_SetModeFunc + * + * @description: + * This function is a generic facility to change modes or attributes in a + * given raster. This can be used for debugging purposes, or simply to + * allow implementation-specific 'features' in a given raster module. + * + * @input: + * raster :: + * A handle to the new raster object. + * + * mode :: + * A 4-byte tag used to name the mode or property. + * + * args :: + * A pointer to the new mode/property to use. + */ + typedef int + (*FT_Raster_SetModeFunc)( FT_Raster raster, + unsigned long mode, + void* args ); + +#define FT_Raster_Set_Mode_Func FT_Raster_SetModeFunc + + + /************************************************************************** + * + * @functype: + * FT_Raster_RenderFunc + * + * @description: + * Invoke a given raster to scan-convert a given glyph image into a + * target bitmap. + * + * @input: + * raster :: + * A handle to the raster object. + * + * params :: + * A pointer to an @FT_Raster_Params structure used to store the + * rendering parameters. + * + * @return: + * Error code. 0~means success. + * + * @note: + * The exact format of the source image depends on the raster's glyph + * format defined in its @FT_Raster_Funcs structure. It can be an + * @FT_Outline or anything else in order to support a large array of + * glyph formats. + * + * Note also that the render function can fail and return a + * `FT_Err_Unimplemented_Feature` error code if the raster used does not + * support direct composition. + */ + typedef int + (*FT_Raster_RenderFunc)( FT_Raster raster, + const FT_Raster_Params* params ); + +#define FT_Raster_Render_Func FT_Raster_RenderFunc + + + /************************************************************************** + * + * @struct: + * FT_Raster_Funcs + * + * @description: + * A structure used to describe a given raster class to the library. + * + * @fields: + * glyph_format :: + * The supported glyph format for this raster. + * + * raster_new :: + * The raster constructor. + * + * raster_reset :: + * Used to reset the render pool within the raster. + * + * raster_render :: + * A function to render a glyph into a given bitmap. + * + * raster_done :: + * The raster destructor. + */ + typedef struct FT_Raster_Funcs_ + { + FT_Glyph_Format glyph_format; + + FT_Raster_NewFunc raster_new; + FT_Raster_ResetFunc raster_reset; + FT_Raster_SetModeFunc raster_set_mode; + FT_Raster_RenderFunc raster_render; + FT_Raster_DoneFunc raster_done; + + } FT_Raster_Funcs; + + /* */ + + +FT_END_HEADER + +#endif /* FTIMAGE_H_ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/android/x86_64/include/freetype/ftincrem.h b/android/x86_64/include/freetype/ftincrem.h new file mode 100644 index 00000000..b5547327 --- /dev/null +++ b/android/x86_64/include/freetype/ftincrem.h @@ -0,0 +1,344 @@ +/**************************************************************************** + * + * ftincrem.h + * + * FreeType incremental loading (specification). + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTINCREM_H_ +#define FTINCREM_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H +#include FT_PARAMETER_TAGS_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /************************************************************************** + * + * @section: + * incremental + * + * @title: + * Incremental Loading + * + * @abstract: + * Custom Glyph Loading. + * + * @description: + * This section contains various functions used to perform so-called + * 'incremental' glyph loading. This is a mode where all glyphs loaded + * from a given @FT_Face are provided by the client application. + * + * Apart from that, all other tables are loaded normally from the font + * file. This mode is useful when FreeType is used within another + * engine, e.g., a PostScript Imaging Processor. + * + * To enable this mode, you must use @FT_Open_Face, passing an + * @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an + * @FT_Incremental_Interface value. See the comments for + * @FT_Incremental_InterfaceRec for an example. + * + */ + + + /************************************************************************** + * + * @type: + * FT_Incremental + * + * @description: + * An opaque type describing a user-provided object used to implement + * 'incremental' glyph loading within FreeType. This is used to support + * embedded fonts in certain environments (e.g., PostScript + * interpreters), where the glyph data isn't in the font file, or must be + * overridden by different values. + * + * @note: + * It is up to client applications to create and implement + * @FT_Incremental objects, as long as they provide implementations for + * the methods @FT_Incremental_GetGlyphDataFunc, + * @FT_Incremental_FreeGlyphDataFunc and + * @FT_Incremental_GetGlyphMetricsFunc. + * + * See the description of @FT_Incremental_InterfaceRec to understand how + * to use incremental objects with FreeType. + * + */ + typedef struct FT_IncrementalRec_* FT_Incremental; + + + /************************************************************************** + * + * @struct: + * FT_Incremental_MetricsRec + * + * @description: + * A small structure used to contain the basic glyph metrics returned by + * the @FT_Incremental_GetGlyphMetricsFunc method. + * + * @fields: + * bearing_x :: + * Left bearing, in font units. + * + * bearing_y :: + * Top bearing, in font units. + * + * advance :: + * Horizontal component of glyph advance, in font units. + * + * advance_v :: + * Vertical component of glyph advance, in font units. + * + * @note: + * These correspond to horizontal or vertical metrics depending on the + * value of the `vertical` argument to the function + * @FT_Incremental_GetGlyphMetricsFunc. + * + */ + typedef struct FT_Incremental_MetricsRec_ + { + FT_Long bearing_x; + FT_Long bearing_y; + FT_Long advance; + FT_Long advance_v; /* since 2.3.12 */ + + } FT_Incremental_MetricsRec; + + + /************************************************************************** + * + * @struct: + * FT_Incremental_Metrics + * + * @description: + * A handle to an @FT_Incremental_MetricsRec structure. + * + */ + typedef struct FT_Incremental_MetricsRec_* FT_Incremental_Metrics; + + + /************************************************************************** + * + * @type: + * FT_Incremental_GetGlyphDataFunc + * + * @description: + * A function called by FreeType to access a given glyph's data bytes + * during @FT_Load_Glyph or @FT_Load_Char if incremental loading is + * enabled. + * + * Note that the format of the glyph's data bytes depends on the font + * file format. For TrueType, it must correspond to the raw bytes within + * the 'glyf' table. For PostScript formats, it must correspond to the + * **unencrypted** charstring bytes, without any `lenIV` header. It is + * undefined for any other format. + * + * @input: + * incremental :: + * Handle to an opaque @FT_Incremental handle provided by the client + * application. + * + * glyph_index :: + * Index of relevant glyph. + * + * @output: + * adata :: + * A structure describing the returned glyph data bytes (which will be + * accessed as a read-only byte block). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If this function returns successfully the method + * @FT_Incremental_FreeGlyphDataFunc will be called later to release the + * data bytes. + * + * Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for + * compound glyphs. + * + */ + typedef FT_Error + (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental incremental, + FT_UInt glyph_index, + FT_Data* adata ); + + + /************************************************************************** + * + * @type: + * FT_Incremental_FreeGlyphDataFunc + * + * @description: + * A function used to release the glyph data bytes returned by a + * successful call to @FT_Incremental_GetGlyphDataFunc. + * + * @input: + * incremental :: + * A handle to an opaque @FT_Incremental handle provided by the client + * application. + * + * data :: + * A structure describing the glyph data bytes (which will be accessed + * as a read-only byte block). + * + */ + typedef void + (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental incremental, + FT_Data* data ); + + + /************************************************************************** + * + * @type: + * FT_Incremental_GetGlyphMetricsFunc + * + * @description: + * A function used to retrieve the basic metrics of a given glyph index + * before accessing its data. This is necessary because, in certain + * formats like TrueType, the metrics are stored in a different place + * from the glyph images proper. + * + * @input: + * incremental :: + * A handle to an opaque @FT_Incremental handle provided by the client + * application. + * + * glyph_index :: + * Index of relevant glyph. + * + * vertical :: + * If true, return vertical metrics. + * + * ametrics :: + * This parameter is used for both input and output. The original + * glyph metrics, if any, in font units. If metrics are not available + * all the values must be set to zero. + * + * @output: + * ametrics :: + * The replacement glyph metrics in font units. + * + */ + typedef FT_Error + (*FT_Incremental_GetGlyphMetricsFunc) + ( FT_Incremental incremental, + FT_UInt glyph_index, + FT_Bool vertical, + FT_Incremental_MetricsRec *ametrics ); + + + /************************************************************************** + * + * @struct: + * FT_Incremental_FuncsRec + * + * @description: + * A table of functions for accessing fonts that load data incrementally. + * Used in @FT_Incremental_InterfaceRec. + * + * @fields: + * get_glyph_data :: + * The function to get glyph data. Must not be null. + * + * free_glyph_data :: + * The function to release glyph data. Must not be null. + * + * get_glyph_metrics :: + * The function to get glyph metrics. May be null if the font does not + * provide overriding glyph metrics. + * + */ + typedef struct FT_Incremental_FuncsRec_ + { + FT_Incremental_GetGlyphDataFunc get_glyph_data; + FT_Incremental_FreeGlyphDataFunc free_glyph_data; + FT_Incremental_GetGlyphMetricsFunc get_glyph_metrics; + + } FT_Incremental_FuncsRec; + + + /************************************************************************** + * + * @struct: + * FT_Incremental_InterfaceRec + * + * @description: + * A structure to be used with @FT_Open_Face to indicate that the user + * wants to support incremental glyph loading. You should use it with + * @FT_PARAM_TAG_INCREMENTAL as in the following example: + * + * ``` + * FT_Incremental_InterfaceRec inc_int; + * FT_Parameter parameter; + * FT_Open_Args open_args; + * + * + * // set up incremental descriptor + * inc_int.funcs = my_funcs; + * inc_int.object = my_object; + * + * // set up optional parameter + * parameter.tag = FT_PARAM_TAG_INCREMENTAL; + * parameter.data = &inc_int; + * + * // set up FT_Open_Args structure + * open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS; + * open_args.pathname = my_font_pathname; + * open_args.num_params = 1; + * open_args.params = ¶meter; // we use one optional argument + * + * // open the font + * error = FT_Open_Face( library, &open_args, index, &face ); + * ... + * ``` + * + */ + typedef struct FT_Incremental_InterfaceRec_ + { + const FT_Incremental_FuncsRec* funcs; + FT_Incremental object; + + } FT_Incremental_InterfaceRec; + + + /************************************************************************** + * + * @type: + * FT_Incremental_Interface + * + * @description: + * A pointer to an @FT_Incremental_InterfaceRec structure. + * + */ + typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface; + + + /* */ + + +FT_END_HEADER + +#endif /* FTINCREM_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftlcdfil.h b/android/x86_64/include/freetype/ftlcdfil.h new file mode 100644 index 00000000..58c60ea1 --- /dev/null +++ b/android/x86_64/include/freetype/ftlcdfil.h @@ -0,0 +1,328 @@ +/**************************************************************************** + * + * ftlcdfil.h + * + * FreeType API for color filtering of subpixel bitmap glyphs + * (specification). + * + * Copyright (C) 2006-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTLCDFIL_H_ +#define FTLCDFIL_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H +#include FT_PARAMETER_TAGS_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /************************************************************************** + * + * @section: + * lcd_rendering + * + * @title: + * Subpixel Rendering + * + * @abstract: + * API to control subpixel rendering. + * + * @description: + * FreeType provides two alternative subpixel rendering technologies. + * Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your + * `ftoption.h` file, this enables patented ClearType-style rendering. + * Otherwise, Harmony LCD rendering is enabled. These technologies are + * controlled differently and API described below, although always + * available, performs its function when appropriate method is enabled + * and does nothing otherwise. + * + * ClearType-style LCD rendering exploits the color-striped structure of + * LCD pixels, increasing the available resolution in the direction of + * the stripe (usually horizontal RGB) by a factor of~3. Using the + * subpixels coverages unfiltered can create severe color fringes + * especially when rendering thin features. Indeed, to produce + * black-on-white text, the nearby color subpixels must be dimmed + * equally. + * + * A good 5-tap FIR filter should be applied to subpixel coverages + * regardless of pixel boundaries and should have these properties: + * + * 1. It should be symmetrical, like {~a, b, c, b, a~}, to avoid + * any shifts in appearance. + * + * 2. It should be color-balanced, meaning a~+ b~=~c, to reduce color + * fringes by distributing the computed coverage for one subpixel to + * all subpixels equally. + * + * 3. It should be normalized, meaning 2a~+ 2b~+ c~=~1.0 to maintain + * overall brightness. + * + * Boxy 3-tap filter {0, 1/3, 1/3, 1/3, 0} is sharper but is less + * forgiving of non-ideal gamma curves of a screen (and viewing angles), + * beveled filters are fuzzier but more tolerant. + * + * Use the @FT_Library_SetLcdFilter or @FT_Library_SetLcdFilterWeights + * API to specify a low-pass filter, which is then applied to + * subpixel-rendered bitmaps generated through @FT_Render_Glyph. + * + * Harmony LCD rendering is suitable to panels with any regular subpixel + * structure, not just monitors with 3 color striped subpixels, as long + * as the color subpixels have fixed positions relative to the pixel + * center. In this case, each color channel is then rendered separately + * after shifting the outline opposite to the subpixel shift so that the + * coverage maps are aligned. This method is immune to color fringes + * because the shifts do not change integral coverage. + * + * The subpixel geometry must be specified by xy-coordinates for each + * subpixel. By convention they may come in the RGB order: {{-1/3, 0}, + * {0, 0}, {1/3, 0}} for standard RGB striped panel or {{-1/6, 1/4}, + * {-1/6, -1/4}, {1/3, 0}} for a certain PenTile panel. + * + * Use the @FT_Library_SetLcdGeometry API to specify subpixel positions. + * If one follows the RGB order convention, the same order applies to the + * resulting @FT_PIXEL_MODE_LCD and @FT_PIXEL_MODE_LCD_V bitmaps. Note, + * however, that the coordinate frame for the latter must be rotated + * clockwise. Harmony with default LCD geometry is equivalent to + * ClearType with light filter. + * + * As a result of ClearType filtering or Harmony rendering, the + * dimensions of LCD bitmaps can be either wider or taller than the + * dimensions of the corresponding outline with regard to the pixel grid. + * For example, for @FT_RENDER_MODE_LCD, the filter adds 2~subpixels to + * the left, and 2~subpixels to the right. The bitmap offset values are + * adjusted accordingly, so clients shouldn't need to modify their layout + * and glyph positioning code when enabling the filter. + * + * The ClearType and Harmony rendering is applicable to glyph bitmaps + * rendered through @FT_Render_Glyph, @FT_Load_Glyph, @FT_Load_Char, and + * @FT_Glyph_To_Bitmap, when @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V + * is specified. This API does not control @FT_Outline_Render and + * @FT_Outline_Get_Bitmap. + * + * The described algorithms can completely remove color artefacts when + * combined with gamma-corrected alpha blending in linear space. Each of + * the 3~alpha values (subpixels) must by independently used to blend one + * color channel. That is, red alpha blends the red channel of the text + * color with the red channel of the background pixel. + */ + + + /************************************************************************** + * + * @enum: + * FT_LcdFilter + * + * @description: + * A list of values to identify various types of LCD filters. + * + * @values: + * FT_LCD_FILTER_NONE :: + * Do not perform filtering. When used with subpixel rendering, this + * results in sometimes severe color fringes. + * + * FT_LCD_FILTER_DEFAULT :: + * This is a beveled, normalized, and color-balanced five-tap filter + * with weights of [0x08 0x4D 0x56 0x4D 0x08] in 1/256th units. + * + * FT_LCD_FILTER_LIGHT :: + * this is a boxy, normalized, and color-balanced three-tap filter with + * weights of [0x00 0x55 0x56 0x55 0x00] in 1/256th units. + * + * FT_LCD_FILTER_LEGACY :: + * FT_LCD_FILTER_LEGACY1 :: + * This filter corresponds to the original libXft color filter. It + * provides high contrast output but can exhibit really bad color + * fringes if glyphs are not extremely well hinted to the pixel grid. + * This filter is only provided for comparison purposes, and might be + * disabled or stay unsupported in the future. The second value is + * provided for compatibility with FontConfig, which historically used + * different enumeration, sometimes incorrectly forwarded to FreeType. + * + * @since: + * 2.3.0 (`FT_LCD_FILTER_LEGACY1` since 2.6.2) + */ + typedef enum FT_LcdFilter_ + { + FT_LCD_FILTER_NONE = 0, + FT_LCD_FILTER_DEFAULT = 1, + FT_LCD_FILTER_LIGHT = 2, + FT_LCD_FILTER_LEGACY1 = 3, + FT_LCD_FILTER_LEGACY = 16, + + FT_LCD_FILTER_MAX /* do not remove */ + + } FT_LcdFilter; + + + /************************************************************************** + * + * @function: + * FT_Library_SetLcdFilter + * + * @description: + * This function is used to apply color filtering to LCD decimated + * bitmaps, like the ones used when calling @FT_Render_Glyph with + * @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V. + * + * @input: + * library :: + * A handle to the target library instance. + * + * filter :: + * The filter type. + * + * You can use @FT_LCD_FILTER_NONE here to disable this feature, or + * @FT_LCD_FILTER_DEFAULT to use a default filter that should work well + * on most LCD screens. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This feature is always disabled by default. Clients must make an + * explicit call to this function with a `filter` value other than + * @FT_LCD_FILTER_NONE in order to enable it. + * + * Due to **PATENTS** covering subpixel rendering, this function doesn't + * do anything except returning `FT_Err_Unimplemented_Feature` if the + * configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not + * defined in your build of the library, which should correspond to all + * default builds of FreeType. + * + * @since: + * 2.3.0 + */ + FT_EXPORT( FT_Error ) + FT_Library_SetLcdFilter( FT_Library library, + FT_LcdFilter filter ); + + + /************************************************************************** + * + * @function: + * FT_Library_SetLcdFilterWeights + * + * @description: + * This function can be used to enable LCD filter with custom weights, + * instead of using presets in @FT_Library_SetLcdFilter. + * + * @input: + * library :: + * A handle to the target library instance. + * + * weights :: + * A pointer to an array; the function copies the first five bytes and + * uses them to specify the filter weights in 1/256th units. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Due to **PATENTS** covering subpixel rendering, this function doesn't + * do anything except returning `FT_Err_Unimplemented_Feature` if the + * configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not + * defined in your build of the library, which should correspond to all + * default builds of FreeType. + * + * LCD filter weights can also be set per face using @FT_Face_Properties + * with @FT_PARAM_TAG_LCD_FILTER_WEIGHTS. + * + * @since: + * 2.4.0 + */ + FT_EXPORT( FT_Error ) + FT_Library_SetLcdFilterWeights( FT_Library library, + unsigned char *weights ); + + + /************************************************************************** + * + * @type: + * FT_LcdFiveTapFilter + * + * @description: + * A typedef for passing the five LCD filter weights to + * @FT_Face_Properties within an @FT_Parameter structure. + * + * @since: + * 2.8 + * + */ +#define FT_LCD_FILTER_FIVE_TAPS 5 + + typedef FT_Byte FT_LcdFiveTapFilter[FT_LCD_FILTER_FIVE_TAPS]; + + + /************************************************************************** + * + * @function: + * FT_Library_SetLcdGeometry + * + * @description: + * This function can be used to modify default positions of color + * subpixels, which controls Harmony LCD rendering. + * + * @input: + * library :: + * A handle to the target library instance. + * + * sub :: + * A pointer to an array of 3 vectors in 26.6 fractional pixel format; + * the function modifies the default values, see the note below. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Subpixel geometry examples: + * + * - {{-21, 0}, {0, 0}, {21, 0}} is the default, corresponding to 3 color + * stripes shifted by a third of a pixel. This could be an RGB panel. + * + * - {{21, 0}, {0, 0}, {-21, 0}} looks the same as the default but can + * specify a BGR panel instead, while keeping the bitmap in the same + * RGB888 format. + * + * - {{0, 21}, {0, 0}, {0, -21}} is the vertical RGB, but the bitmap + * stays RGB888 as a result. + * + * - {{-11, 16}, {-11, -16}, {22, 0}} is a certain PenTile arrangement. + * + * This function does nothing and returns `FT_Err_Unimplemented_Feature` + * in the context of ClearType-style subpixel rendering when + * `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is defined in your build of the + * library. + * + * @since: + * 2.10.0 + */ + FT_EXPORT( FT_Error ) + FT_Library_SetLcdGeometry( FT_Library library, + FT_Vector sub[3] ); + + /* */ + + +FT_END_HEADER + +#endif /* FTLCDFIL_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftlist.h b/android/x86_64/include/freetype/ftlist.h new file mode 100644 index 00000000..e3ccf888 --- /dev/null +++ b/android/x86_64/include/freetype/ftlist.h @@ -0,0 +1,297 @@ +/**************************************************************************** + * + * ftlist.h + * + * Generic list support for FreeType (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * This file implements functions relative to list processing. Its data + * structures are defined in `freetype.h`. + * + */ + + +#ifndef FTLIST_H_ +#define FTLIST_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * list_processing + * + * @title: + * List Processing + * + * @abstract: + * Simple management of lists. + * + * @description: + * This section contains various definitions related to list processing + * using doubly-linked nodes. + * + * @order: + * FT_List + * FT_ListNode + * FT_ListRec + * FT_ListNodeRec + * + * FT_List_Add + * FT_List_Insert + * FT_List_Find + * FT_List_Remove + * FT_List_Up + * FT_List_Iterate + * FT_List_Iterator + * FT_List_Finalize + * FT_List_Destructor + * + */ + + + /************************************************************************** + * + * @function: + * FT_List_Find + * + * @description: + * Find the list node for a given listed object. + * + * @input: + * list :: + * A pointer to the parent list. + * data :: + * The address of the listed object. + * + * @return: + * List node. `NULL` if it wasn't found. + */ + FT_EXPORT( FT_ListNode ) + FT_List_Find( FT_List list, + void* data ); + + + /************************************************************************** + * + * @function: + * FT_List_Add + * + * @description: + * Append an element to the end of a list. + * + * @inout: + * list :: + * A pointer to the parent list. + * node :: + * The node to append. + */ + FT_EXPORT( void ) + FT_List_Add( FT_List list, + FT_ListNode node ); + + + /************************************************************************** + * + * @function: + * FT_List_Insert + * + * @description: + * Insert an element at the head of a list. + * + * @inout: + * list :: + * A pointer to parent list. + * node :: + * The node to insert. + */ + FT_EXPORT( void ) + FT_List_Insert( FT_List list, + FT_ListNode node ); + + + /************************************************************************** + * + * @function: + * FT_List_Remove + * + * @description: + * Remove a node from a list. This function doesn't check whether the + * node is in the list! + * + * @input: + * node :: + * The node to remove. + * + * @inout: + * list :: + * A pointer to the parent list. + */ + FT_EXPORT( void ) + FT_List_Remove( FT_List list, + FT_ListNode node ); + + + /************************************************************************** + * + * @function: + * FT_List_Up + * + * @description: + * Move a node to the head/top of a list. Used to maintain LRU lists. + * + * @inout: + * list :: + * A pointer to the parent list. + * node :: + * The node to move. + */ + FT_EXPORT( void ) + FT_List_Up( FT_List list, + FT_ListNode node ); + + + /************************************************************************** + * + * @functype: + * FT_List_Iterator + * + * @description: + * An FT_List iterator function that is called during a list parse by + * @FT_List_Iterate. + * + * @input: + * node :: + * The current iteration list node. + * + * user :: + * A typeless pointer passed to @FT_List_Iterate. Can be used to point + * to the iteration's state. + */ + typedef FT_Error + (*FT_List_Iterator)( FT_ListNode node, + void* user ); + + + /************************************************************************** + * + * @function: + * FT_List_Iterate + * + * @description: + * Parse a list and calls a given iterator function on each element. + * Note that parsing is stopped as soon as one of the iterator calls + * returns a non-zero value. + * + * @input: + * list :: + * A handle to the list. + * iterator :: + * An iterator function, called on each node of the list. + * user :: + * A user-supplied field that is passed as the second argument to the + * iterator. + * + * @return: + * The result (a FreeType error code) of the last iterator call. + */ + FT_EXPORT( FT_Error ) + FT_List_Iterate( FT_List list, + FT_List_Iterator iterator, + void* user ); + + + /************************************************************************** + * + * @functype: + * FT_List_Destructor + * + * @description: + * An @FT_List iterator function that is called during a list + * finalization by @FT_List_Finalize to destroy all elements in a given + * list. + * + * @input: + * system :: + * The current system object. + * + * data :: + * The current object to destroy. + * + * user :: + * A typeless pointer passed to @FT_List_Iterate. It can be used to + * point to the iteration's state. + */ + typedef void + (*FT_List_Destructor)( FT_Memory memory, + void* data, + void* user ); + + + /************************************************************************** + * + * @function: + * FT_List_Finalize + * + * @description: + * Destroy all elements in the list as well as the list itself. + * + * @input: + * list :: + * A handle to the list. + * + * destroy :: + * A list destructor that will be applied to each element of the list. + * Set this to `NULL` if not needed. + * + * memory :: + * The current memory object that handles deallocation. + * + * user :: + * A user-supplied field that is passed as the last argument to the + * destructor. + * + * @note: + * This function expects that all nodes added by @FT_List_Add or + * @FT_List_Insert have been dynamically allocated. + */ + FT_EXPORT( void ) + FT_List_Finalize( FT_List list, + FT_List_Destructor destroy, + FT_Memory memory, + void* user ); + + /* */ + + +FT_END_HEADER + +#endif /* FTLIST_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftlzw.h b/android/x86_64/include/freetype/ftlzw.h new file mode 100644 index 00000000..e3041830 --- /dev/null +++ b/android/x86_64/include/freetype/ftlzw.h @@ -0,0 +1,100 @@ +/**************************************************************************** + * + * ftlzw.h + * + * LZW-compressed stream support. + * + * Copyright (C) 2004-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTLZW_H_ +#define FTLZW_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /************************************************************************** + * + * @section: + * lzw + * + * @title: + * LZW Streams + * + * @abstract: + * Using LZW-compressed font files. + * + * @description: + * This section contains the declaration of LZW-specific functions. + * + */ + + /************************************************************************** + * + * @function: + * FT_Stream_OpenLZW + * + * @description: + * Open a new stream to parse LZW-compressed font files. This is mainly + * used to support the compressed `*.pcf.Z` fonts that come with XFree86. + * + * @input: + * stream :: + * The target embedding stream. + * + * source :: + * The source stream. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source stream must be opened _before_ calling this function. + * + * Calling the internal function `FT_Stream_Close` on the new stream will + * **not** call `FT_Stream_Close` on the source stream. None of the + * stream objects will be released to the heap. + * + * The stream implementation is very basic and resets the decompression + * process each time seeking backwards is needed within the stream + * + * In certain builds of the library, LZW compression recognition is + * automatically handled when calling @FT_New_Face or @FT_Open_Face. + * This means that if no font driver is capable of handling the raw + * compressed file, the library will try to open a LZW stream from it and + * re-open the face with it. + * + * This function may return `FT_Err_Unimplemented_Feature` if your build + * of FreeType was not compiled with LZW support. + */ + FT_EXPORT( FT_Error ) + FT_Stream_OpenLZW( FT_Stream stream, + FT_Stream source ); + + /* */ + + +FT_END_HEADER + +#endif /* FTLZW_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftmac.h b/android/x86_64/include/freetype/ftmac.h new file mode 100644 index 00000000..9c1b0832 --- /dev/null +++ b/android/x86_64/include/freetype/ftmac.h @@ -0,0 +1,290 @@ +/**************************************************************************** + * + * ftmac.h + * + * Additional Mac-specific API. + * + * Copyright (C) 1996-2019 by + * Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +/**************************************************************************** + * + * NOTE: Include this file after `FT_FREETYPE_H` and after any + * Mac-specific headers (because this header uses Mac types such as + * 'Handle', 'FSSpec', 'FSRef', etc.) + * + */ + + +#ifndef FTMAC_H_ +#define FTMAC_H_ + + +#include "ft2build.h" + + +FT_BEGIN_HEADER + + + /* gcc-3.1 and later can warn about functions tagged as deprecated */ +#ifndef FT_DEPRECATED_ATTRIBUTE +#if defined( __GNUC__ ) && \ + ( ( __GNUC__ >= 4 ) || \ + ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) +#define FT_DEPRECATED_ATTRIBUTE __attribute__(( deprecated )) +#else +#define FT_DEPRECATED_ATTRIBUTE +#endif +#endif + + + /************************************************************************** + * + * @section: + * mac_specific + * + * @title: + * Mac Specific Interface + * + * @abstract: + * Only available on the Macintosh. + * + * @description: + * The following definitions are only available if FreeType is compiled + * on a Macintosh. + * + */ + + + /************************************************************************** + * + * @function: + * FT_New_Face_From_FOND + * + * @description: + * Create a new face object from a FOND resource. + * + * @inout: + * library :: + * A handle to the library resource. + * + * @input: + * fond :: + * A FOND resource. + * + * face_index :: + * Only supported for the -1 'sanity check' special case. + * + * @output: + * aface :: + * A handle to a new face object. + * + * @return: + * FreeType error code. 0~means success. + * + * @example: + * This function can be used to create @FT_Face objects from fonts that + * are installed in the system as follows. + * + * ``` + * fond = GetResource( 'FOND', fontName ); + * error = FT_New_Face_From_FOND( library, fond, 0, &face ); + * ``` + */ + FT_EXPORT( FT_Error ) + FT_New_Face_From_FOND( FT_Library library, + Handle fond, + FT_Long face_index, + FT_Face *aface ) + FT_DEPRECATED_ATTRIBUTE; + + + /************************************************************************** + * + * @function: + * FT_GetFile_From_Mac_Name + * + * @description: + * Return an FSSpec for the disk file containing the named font. + * + * @input: + * fontName :: + * Mac OS name of the font (e.g., Times New Roman Bold). + * + * @output: + * pathSpec :: + * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec. + * + * face_index :: + * Index of the face. For passing to @FT_New_Face_From_FSSpec. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_GetFile_From_Mac_Name( const char* fontName, + FSSpec* pathSpec, + FT_Long* face_index ) + FT_DEPRECATED_ATTRIBUTE; + + + /************************************************************************** + * + * @function: + * FT_GetFile_From_Mac_ATS_Name + * + * @description: + * Return an FSSpec for the disk file containing the named font. + * + * @input: + * fontName :: + * Mac OS name of the font in ATS framework. + * + * @output: + * pathSpec :: + * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec. + * + * face_index :: + * Index of the face. For passing to @FT_New_Face_From_FSSpec. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_GetFile_From_Mac_ATS_Name( const char* fontName, + FSSpec* pathSpec, + FT_Long* face_index ) + FT_DEPRECATED_ATTRIBUTE; + + + /************************************************************************** + * + * @function: + * FT_GetFilePath_From_Mac_ATS_Name + * + * @description: + * Return a pathname of the disk file and face index for given font name + * that is handled by ATS framework. + * + * @input: + * fontName :: + * Mac OS name of the font in ATS framework. + * + * @output: + * path :: + * Buffer to store pathname of the file. For passing to @FT_New_Face. + * The client must allocate this buffer before calling this function. + * + * maxPathSize :: + * Lengths of the buffer `path` that client allocated. + * + * face_index :: + * Index of the face. For passing to @FT_New_Face. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_GetFilePath_From_Mac_ATS_Name( const char* fontName, + UInt8* path, + UInt32 maxPathSize, + FT_Long* face_index ) + FT_DEPRECATED_ATTRIBUTE; + + + /************************************************************************** + * + * @function: + * FT_New_Face_From_FSSpec + * + * @description: + * Create a new face object from a given resource and typeface index + * using an FSSpec to the font file. + * + * @inout: + * library :: + * A handle to the library resource. + * + * @input: + * spec :: + * FSSpec to the font file. + * + * face_index :: + * The index of the face within the resource. The first face has + * index~0. + * @output: + * aface :: + * A handle to a new face object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * @FT_New_Face_From_FSSpec is identical to @FT_New_Face except it + * accepts an FSSpec instead of a path. + */ + FT_EXPORT( FT_Error ) + FT_New_Face_From_FSSpec( FT_Library library, + const FSSpec *spec, + FT_Long face_index, + FT_Face *aface ) + FT_DEPRECATED_ATTRIBUTE; + + + /************************************************************************** + * + * @function: + * FT_New_Face_From_FSRef + * + * @description: + * Create a new face object from a given resource and typeface index + * using an FSRef to the font file. + * + * @inout: + * library :: + * A handle to the library resource. + * + * @input: + * spec :: + * FSRef to the font file. + * + * face_index :: + * The index of the face within the resource. The first face has + * index~0. + * @output: + * aface :: + * A handle to a new face object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * @FT_New_Face_From_FSRef is identical to @FT_New_Face except it accepts + * an FSRef instead of a path. + */ + FT_EXPORT( FT_Error ) + FT_New_Face_From_FSRef( FT_Library library, + const FSRef *ref, + FT_Long face_index, + FT_Face *aface ) + FT_DEPRECATED_ATTRIBUTE; + + /* */ + + +FT_END_HEADER + + +#endif /* FTMAC_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftmm.h b/android/x86_64/include/freetype/ftmm.h new file mode 100644 index 00000000..417c6dc5 --- /dev/null +++ b/android/x86_64/include/freetype/ftmm.h @@ -0,0 +1,753 @@ +/**************************************************************************** + * + * ftmm.h + * + * FreeType Multiple Master font interface (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTMM_H_ +#define FTMM_H_ + + +#include "ft2build.h" +#include FT_TYPE1_TABLES_H + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * multiple_masters + * + * @title: + * Multiple Masters + * + * @abstract: + * How to manage Multiple Masters fonts. + * + * @description: + * The following types and functions are used to manage Multiple Master + * fonts, i.e., the selection of specific design instances by setting + * design axis coordinates. + * + * Besides Adobe MM fonts, the interface supports Apple's TrueType GX and + * OpenType variation fonts. Some of the routines only work with Adobe + * MM fonts, others will work with all three types. They are similar + * enough that a consistent interface makes sense. + * + */ + + + /************************************************************************** + * + * @struct: + * FT_MM_Axis + * + * @description: + * A structure to model a given axis in design space for Multiple Masters + * fonts. + * + * This structure can't be used for TrueType GX or OpenType variation + * fonts. + * + * @fields: + * name :: + * The axis's name. + * + * minimum :: + * The axis's minimum design coordinate. + * + * maximum :: + * The axis's maximum design coordinate. + */ + typedef struct FT_MM_Axis_ + { + FT_String* name; + FT_Long minimum; + FT_Long maximum; + + } FT_MM_Axis; + + + /************************************************************************** + * + * @struct: + * FT_Multi_Master + * + * @description: + * A structure to model the axes and space of a Multiple Masters font. + * + * This structure can't be used for TrueType GX or OpenType variation + * fonts. + * + * @fields: + * num_axis :: + * Number of axes. Cannot exceed~4. + * + * num_designs :: + * Number of designs; should be normally 2^num_axis even though the + * Type~1 specification strangely allows for intermediate designs to be + * present. This number cannot exceed~16. + * + * axis :: + * A table of axis descriptors. + */ + typedef struct FT_Multi_Master_ + { + FT_UInt num_axis; + FT_UInt num_designs; + FT_MM_Axis axis[T1_MAX_MM_AXIS]; + + } FT_Multi_Master; + + + /************************************************************************** + * + * @struct: + * FT_Var_Axis + * + * @description: + * A structure to model a given axis in design space for Multiple + * Masters, TrueType GX, and OpenType variation fonts. + * + * @fields: + * name :: + * The axis's name. Not always meaningful for TrueType GX or OpenType + * variation fonts. + * + * minimum :: + * The axis's minimum design coordinate. + * + * def :: + * The axis's default design coordinate. FreeType computes meaningful + * default values for Adobe MM fonts. + * + * maximum :: + * The axis's maximum design coordinate. + * + * tag :: + * The axis's tag (the equivalent to 'name' for TrueType GX and + * OpenType variation fonts). FreeType provides default values for + * Adobe MM fonts if possible. + * + * strid :: + * The axis name entry in the font's 'name' table. This is another + * (and often better) version of the 'name' field for TrueType GX or + * OpenType variation fonts. Not meaningful for Adobe MM fonts. + * + * @note: + * The fields `minimum`, `def`, and `maximum` are 16.16 fractional values + * for TrueType GX and OpenType variation fonts. For Adobe MM fonts, the + * values are integers. + */ + typedef struct FT_Var_Axis_ + { + FT_String* name; + + FT_Fixed minimum; + FT_Fixed def; + FT_Fixed maximum; + + FT_ULong tag; + FT_UInt strid; + + } FT_Var_Axis; + + + /************************************************************************** + * + * @struct: + * FT_Var_Named_Style + * + * @description: + * A structure to model a named instance in a TrueType GX or OpenType + * variation font. + * + * This structure can't be used for Adobe MM fonts. + * + * @fields: + * coords :: + * The design coordinates for this instance. This is an array with one + * entry for each axis. + * + * strid :: + * The entry in 'name' table identifying this instance. + * + * psid :: + * The entry in 'name' table identifying a PostScript name for this + * instance. Value 0xFFFF indicates a missing entry. + */ + typedef struct FT_Var_Named_Style_ + { + FT_Fixed* coords; + FT_UInt strid; + FT_UInt psid; /* since 2.7.1 */ + + } FT_Var_Named_Style; + + + /************************************************************************** + * + * @struct: + * FT_MM_Var + * + * @description: + * A structure to model the axes and space of an Adobe MM, TrueType GX, + * or OpenType variation font. + * + * Some fields are specific to one format and not to the others. + * + * @fields: + * num_axis :: + * The number of axes. The maximum value is~4 for Adobe MM fonts; no + * limit in TrueType GX or OpenType variation fonts. + * + * num_designs :: + * The number of designs; should be normally 2^num_axis for Adobe MM + * fonts. Not meaningful for TrueType GX or OpenType variation fonts + * (where every glyph could have a different number of designs). + * + * num_namedstyles :: + * The number of named styles; a 'named style' is a tuple of design + * coordinates that has a string ID (in the 'name' table) associated + * with it. The font can tell the user that, for example, + * [Weight=1.5,Width=1.1] is 'Bold'. Another name for 'named style' is + * 'named instance'. + * + * For Adobe Multiple Masters fonts, this value is always zero because + * the format does not support named styles. + * + * axis :: + * An axis descriptor table. TrueType GX and OpenType variation fonts + * contain slightly more data than Adobe MM fonts. Memory management + * of this pointer is done internally by FreeType. + * + * namedstyle :: + * A named style (instance) table. Only meaningful for TrueType GX and + * OpenType variation fonts. Memory management of this pointer is done + * internally by FreeType. + */ + typedef struct FT_MM_Var_ + { + FT_UInt num_axis; + FT_UInt num_designs; + FT_UInt num_namedstyles; + FT_Var_Axis* axis; + FT_Var_Named_Style* namedstyle; + + } FT_MM_Var; + + + /************************************************************************** + * + * @function: + * FT_Get_Multi_Master + * + * @description: + * Retrieve a variation descriptor of a given Adobe MM font. + * + * This function can't be used with TrueType GX or OpenType variation + * fonts. + * + * @input: + * face :: + * A handle to the source face. + * + * @output: + * amaster :: + * The Multiple Masters descriptor. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Get_Multi_Master( FT_Face face, + FT_Multi_Master *amaster ); + + + /************************************************************************** + * + * @function: + * FT_Get_MM_Var + * + * @description: + * Retrieve a variation descriptor for a given font. + * + * This function works with all supported variation formats. + * + * @input: + * face :: + * A handle to the source face. + * + * @output: + * amaster :: + * The variation descriptor. Allocates a data structure, which the + * user must deallocate with a call to @FT_Done_MM_Var after use. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Get_MM_Var( FT_Face face, + FT_MM_Var* *amaster ); + + + /************************************************************************** + * + * @function: + * FT_Done_MM_Var + * + * @description: + * Free the memory allocated by @FT_Get_MM_Var. + * + * @input: + * library :: + * A handle of the face's parent library object that was used in the + * call to @FT_Get_MM_Var to create `amaster`. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Done_MM_Var( FT_Library library, + FT_MM_Var *amaster ); + + + /************************************************************************** + * + * @function: + * FT_Set_MM_Design_Coordinates + * + * @description: + * For Adobe MM fonts, choose an interpolated font design through design + * coordinates. + * + * This function can't be used with TrueType GX or OpenType variation + * fonts. + * + * @inout: + * face :: + * A handle to the source face. + * + * @input: + * num_coords :: + * The number of available design coordinates. If it is larger than + * the number of axes, ignore the excess values. If it is smaller than + * the number of axes, use default values for the remaining axes. + * + * coords :: + * An array of design coordinates. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * [Since 2.8.1] To reset all axes to the default values, call the + * function with `num_coords` set to zero and `coords` set to `NULL`. + * + * [Since 2.9] If `num_coords` is larger than zero, this function sets + * the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field + * (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero, + * this bit flag gets unset. + */ + FT_EXPORT( FT_Error ) + FT_Set_MM_Design_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Long* coords ); + + + /************************************************************************** + * + * @function: + * FT_Set_Var_Design_Coordinates + * + * @description: + * Choose an interpolated font design through design coordinates. + * + * This function works with all supported variation formats. + * + * @inout: + * face :: + * A handle to the source face. + * + * @input: + * num_coords :: + * The number of available design coordinates. If it is larger than + * the number of axes, ignore the excess values. If it is smaller than + * the number of axes, use default values for the remaining axes. + * + * coords :: + * An array of design coordinates. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * [Since 2.8.1] To reset all axes to the default values, call the + * function with `num_coords` set to zero and `coords` set to `NULL`. + * [Since 2.9] 'Default values' means the currently selected named + * instance (or the base font if no named instance is selected). + * + * [Since 2.9] If `num_coords` is larger than zero, this function sets + * the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field + * (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero, + * this bit flag gets unset. + */ + FT_EXPORT( FT_Error ) + FT_Set_Var_Design_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /************************************************************************** + * + * @function: + * FT_Get_Var_Design_Coordinates + * + * @description: + * Get the design coordinates of the currently selected interpolated + * font. + * + * This function works with all supported variation formats. + * + * @input: + * face :: + * A handle to the source face. + * + * num_coords :: + * The number of design coordinates to retrieve. If it is larger than + * the number of axes, set the excess values to~0. + * + * @output: + * coords :: + * The design coordinates array. + * + * @return: + * FreeType error code. 0~means success. + * + * @since: + * 2.7.1 + */ + FT_EXPORT( FT_Error ) + FT_Get_Var_Design_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /************************************************************************** + * + * @function: + * FT_Set_MM_Blend_Coordinates + * + * @description: + * Choose an interpolated font design through normalized blend + * coordinates. + * + * This function works with all supported variation formats. + * + * @inout: + * face :: + * A handle to the source face. + * + * @input: + * num_coords :: + * The number of available design coordinates. If it is larger than + * the number of axes, ignore the excess values. If it is smaller than + * the number of axes, use default values for the remaining axes. + * + * coords :: + * The design coordinates array (each element must be between 0 and 1.0 + * for Adobe MM fonts, and between -1.0 and 1.0 for TrueType GX and + * OpenType variation fonts). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * [Since 2.8.1] To reset all axes to the default values, call the + * function with `num_coords` set to zero and `coords` set to `NULL`. + * [Since 2.9] 'Default values' means the currently selected named + * instance (or the base font if no named instance is selected). + * + * [Since 2.9] If `num_coords` is larger than zero, this function sets + * the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field + * (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero, + * this bit flag gets unset. + */ + FT_EXPORT( FT_Error ) + FT_Set_MM_Blend_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /************************************************************************** + * + * @function: + * FT_Get_MM_Blend_Coordinates + * + * @description: + * Get the normalized blend coordinates of the currently selected + * interpolated font. + * + * This function works with all supported variation formats. + * + * @input: + * face :: + * A handle to the source face. + * + * num_coords :: + * The number of normalized blend coordinates to retrieve. If it is + * larger than the number of axes, set the excess values to~0.5 for + * Adobe MM fonts, and to~0 for TrueType GX and OpenType variation + * fonts. + * + * @output: + * coords :: + * The normalized blend coordinates array. + * + * @return: + * FreeType error code. 0~means success. + * + * @since: + * 2.7.1 + */ + FT_EXPORT( FT_Error ) + FT_Get_MM_Blend_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /************************************************************************** + * + * @function: + * FT_Set_Var_Blend_Coordinates + * + * @description: + * This is another name of @FT_Set_MM_Blend_Coordinates. + */ + FT_EXPORT( FT_Error ) + FT_Set_Var_Blend_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /************************************************************************** + * + * @function: + * FT_Get_Var_Blend_Coordinates + * + * @description: + * This is another name of @FT_Get_MM_Blend_Coordinates. + * + * @since: + * 2.7.1 + */ + FT_EXPORT( FT_Error ) + FT_Get_Var_Blend_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /************************************************************************** + * + * @function: + * FT_Set_MM_WeightVector + * + * @description: + * For Adobe MM fonts, choose an interpolated font design by directly + * setting the weight vector. + * + * This function can't be used with TrueType GX or OpenType variation + * fonts. + * + * @inout: + * face :: + * A handle to the source face. + * + * @input: + * len :: + * The length of the weight vector array. If it is larger than the + * number of designs, the extra values are ignored. If it is less than + * the number of designs, the remaining values are set to zero. + * + * weightvector :: + * An array representing the weight vector. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Adobe Multiple Master fonts limit the number of designs, and thus the + * length of the weight vector to~16. + * + * If `len` is zero and `weightvector` is `NULL`, the weight vector array + * is reset to the default values. + * + * The Adobe documentation also states that the values in the + * WeightVector array must total 1.0 +/-~0.001. In practice this does + * not seem to be enforced, so is not enforced here, either. + * + * @since: + * 2.10 + */ + FT_EXPORT( FT_Error ) + FT_Set_MM_WeightVector( FT_Face face, + FT_UInt len, + FT_Fixed* weightvector ); + + + /************************************************************************** + * + * @function: + * FT_Get_MM_WeightVector + * + * @description: + * For Adobe MM fonts, retrieve the current weight vector of the font. + * + * This function can't be used with TrueType GX or OpenType variation + * fonts. + * + * @inout: + * face :: + * A handle to the source face. + * + * len :: + * A pointer to the size of the array to be filled. If the size of the + * array is less than the number of designs, `FT_Err_Invalid_Argument` + * is returned, and `len` is set to the required size (the number of + * designs). If the size of the array is greater than the number of + * designs, the remaining entries are set to~0. On successful + * completion, `len` is set to the number of designs (i.e., the number + * of values written to the array). + * + * @output: + * weightvector :: + * An array to be filled. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Adobe Multiple Master fonts limit the number of designs, and thus the + * length of the WeightVector to~16. + * + * @since: + * 2.10 + */ + FT_EXPORT( FT_Error ) + FT_Get_MM_WeightVector( FT_Face face, + FT_UInt* len, + FT_Fixed* weightvector ); + + + /************************************************************************** + * + * @enum: + * FT_VAR_AXIS_FLAG_XXX + * + * @description: + * A list of bit flags used in the return value of + * @FT_Get_Var_Axis_Flags. + * + * @values: + * FT_VAR_AXIS_FLAG_HIDDEN :: + * The variation axis should not be exposed to user interfaces. + * + * @since: + * 2.8.1 + */ +#define FT_VAR_AXIS_FLAG_HIDDEN 1 + + + /************************************************************************** + * + * @function: + * FT_Get_Var_Axis_Flags + * + * @description: + * Get the 'flags' field of an OpenType Variation Axis Record. + * + * Not meaningful for Adobe MM fonts (`*flags` is always zero). + * + * @input: + * master :: + * The variation descriptor. + * + * axis_index :: + * The index of the requested variation axis. + * + * @output: + * flags :: + * The 'flags' field. See @FT_VAR_AXIS_FLAG_XXX for possible values. + * + * @return: + * FreeType error code. 0~means success. + * + * @since: + * 2.8.1 + */ + FT_EXPORT( FT_Error ) + FT_Get_Var_Axis_Flags( FT_MM_Var* master, + FT_UInt axis_index, + FT_UInt* flags ); + + + /************************************************************************** + * + * @function: + * FT_Set_Named_Instance + * + * @description: + * Set or change the current named instance. + * + * @input: + * face :: + * A handle to the source face. + * + * instance_index :: + * The index of the requested instance, starting with value 1. If set + * to value 0, FreeType switches to font access without a named + * instance. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The function uses the value of `instance_index` to set bits 16-30 of + * the face's `face_index` field. It also resets any variation applied + * to the font, and the @FT_FACE_FLAG_VARIATION bit of the face's + * `face_flags` field gets reset to zero (i.e., @FT_IS_VARIATION will + * return false). + * + * For Adobe MM fonts (which don't have named instances) this function + * simply resets the current face to the default instance. + * + * @since: + * 2.9 + */ + FT_EXPORT( FT_Error ) + FT_Set_Named_Instance( FT_Face face, + FT_UInt instance_index ); + + /* */ + + +FT_END_HEADER + +#endif /* FTMM_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftmodapi.h b/android/x86_64/include/freetype/ftmodapi.h new file mode 100644 index 00000000..dcf7957b --- /dev/null +++ b/android/x86_64/include/freetype/ftmodapi.h @@ -0,0 +1,785 @@ +/**************************************************************************** + * + * ftmodapi.h + * + * FreeType modules public interface (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTMODAPI_H_ +#define FTMODAPI_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * module_management + * + * @title: + * Module Management + * + * @abstract: + * How to add, upgrade, remove, and control modules from FreeType. + * + * @description: + * The definitions below are used to manage modules within FreeType. + * Modules can be added, upgraded, and removed at runtime. Additionally, + * some module properties can be controlled also. + * + * Here is a list of possible values of the `module_name` field in the + * @FT_Module_Class structure. + * + * ``` + * autofitter + * bdf + * cff + * gxvalid + * otvalid + * pcf + * pfr + * psaux + * pshinter + * psnames + * raster1 + * sfnt + * smooth, smooth-lcd, smooth-lcdv + * truetype + * type1 + * type42 + * t1cid + * winfonts + * ``` + * + * Note that the FreeType Cache sub-system is not a FreeType module. + * + * @order: + * FT_Module + * FT_Module_Constructor + * FT_Module_Destructor + * FT_Module_Requester + * FT_Module_Class + * + * FT_Add_Module + * FT_Get_Module + * FT_Remove_Module + * FT_Add_Default_Modules + * + * FT_Property_Set + * FT_Property_Get + * FT_Set_Default_Properties + * + * FT_New_Library + * FT_Done_Library + * FT_Reference_Library + * + * FT_Renderer + * FT_Renderer_Class + * + * FT_Get_Renderer + * FT_Set_Renderer + * + * FT_Set_Debug_Hook + * + */ + + + /* module bit flags */ +#define FT_MODULE_FONT_DRIVER 1 /* this module is a font driver */ +#define FT_MODULE_RENDERER 2 /* this module is a renderer */ +#define FT_MODULE_HINTER 4 /* this module is a glyph hinter */ +#define FT_MODULE_STYLER 8 /* this module is a styler */ + +#define FT_MODULE_DRIVER_SCALABLE 0x100 /* the driver supports */ + /* scalable fonts */ +#define FT_MODULE_DRIVER_NO_OUTLINES 0x200 /* the driver does not */ + /* support vector outlines */ +#define FT_MODULE_DRIVER_HAS_HINTER 0x400 /* the driver provides its */ + /* own hinter */ +#define FT_MODULE_DRIVER_HINTS_LIGHTLY 0x800 /* the driver's hinter */ + /* produces LIGHT hints */ + + + /* deprecated values */ +#define ft_module_font_driver FT_MODULE_FONT_DRIVER +#define ft_module_renderer FT_MODULE_RENDERER +#define ft_module_hinter FT_MODULE_HINTER +#define ft_module_styler FT_MODULE_STYLER + +#define ft_module_driver_scalable FT_MODULE_DRIVER_SCALABLE +#define ft_module_driver_no_outlines FT_MODULE_DRIVER_NO_OUTLINES +#define ft_module_driver_has_hinter FT_MODULE_DRIVER_HAS_HINTER +#define ft_module_driver_hints_lightly FT_MODULE_DRIVER_HINTS_LIGHTLY + + + typedef FT_Pointer FT_Module_Interface; + + + /************************************************************************** + * + * @functype: + * FT_Module_Constructor + * + * @description: + * A function used to initialize (not create) a new module object. + * + * @input: + * module :: + * The module to initialize. + */ + typedef FT_Error + (*FT_Module_Constructor)( FT_Module module ); + + + /************************************************************************** + * + * @functype: + * FT_Module_Destructor + * + * @description: + * A function used to finalize (not destroy) a given module object. + * + * @input: + * module :: + * The module to finalize. + */ + typedef void + (*FT_Module_Destructor)( FT_Module module ); + + + /************************************************************************** + * + * @functype: + * FT_Module_Requester + * + * @description: + * A function used to query a given module for a specific interface. + * + * @input: + * module :: + * The module to be searched. + * + * name :: + * The name of the interface in the module. + */ + typedef FT_Module_Interface + (*FT_Module_Requester)( FT_Module module, + const char* name ); + + + /************************************************************************** + * + * @struct: + * FT_Module_Class + * + * @description: + * The module class descriptor. While being a public structure necessary + * for FreeType's module bookkeeping, most of the fields are essentially + * internal, not to be used directly by an application. + * + * @fields: + * module_flags :: + * Bit flags describing the module. + * + * module_size :: + * The size of one module object/instance in bytes. + * + * module_name :: + * The name of the module. + * + * module_version :: + * The version, as a 16.16 fixed number (major.minor). + * + * module_requires :: + * The version of FreeType this module requires, as a 16.16 fixed + * number (major.minor). Starts at version 2.0, i.e., 0x20000. + * + * module_interface :: + * A typeless pointer to a structure (which varies between different + * modules) that holds the module's interface functions. This is + * essentially what `get_interface` returns. + * + * module_init :: + * The initializing function. + * + * module_done :: + * The finalizing function. + * + * get_interface :: + * The interface requesting function. + */ + typedef struct FT_Module_Class_ + { + FT_ULong module_flags; + FT_Long module_size; + const FT_String* module_name; + FT_Fixed module_version; + FT_Fixed module_requires; + + const void* module_interface; + + FT_Module_Constructor module_init; + FT_Module_Destructor module_done; + FT_Module_Requester get_interface; + + } FT_Module_Class; + + + /************************************************************************** + * + * @function: + * FT_Add_Module + * + * @description: + * Add a new module to a given library instance. + * + * @inout: + * library :: + * A handle to the library object. + * + * @input: + * clazz :: + * A pointer to class descriptor for the module. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * An error will be returned if a module already exists by that name, or + * if the module requires a version of FreeType that is too great. + */ + FT_EXPORT( FT_Error ) + FT_Add_Module( FT_Library library, + const FT_Module_Class* clazz ); + + + /************************************************************************** + * + * @function: + * FT_Get_Module + * + * @description: + * Find a module by its name. + * + * @input: + * library :: + * A handle to the library object. + * + * module_name :: + * The module's name (as an ASCII string). + * + * @return: + * A module handle. 0~if none was found. + * + * @note: + * FreeType's internal modules aren't documented very well, and you + * should look up the source code for details. + */ + FT_EXPORT( FT_Module ) + FT_Get_Module( FT_Library library, + const char* module_name ); + + + /************************************************************************** + * + * @function: + * FT_Remove_Module + * + * @description: + * Remove a given module from a library instance. + * + * @inout: + * library :: + * A handle to a library object. + * + * @input: + * module :: + * A handle to a module object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The module object is destroyed by the function in case of success. + */ + FT_EXPORT( FT_Error ) + FT_Remove_Module( FT_Library library, + FT_Module module ); + + + /************************************************************************** + * + * @function: + * FT_Property_Set + * + * @description: + * Set a property for a given module. + * + * @input: + * library :: + * A handle to the library the module is part of. + * + * module_name :: + * The module name. + * + * property_name :: + * The property name. Properties are described in section + * @properties. + * + * Note that only a few modules have properties. + * + * value :: + * A generic pointer to a variable or structure that gives the new + * value of the property. The exact definition of `value` is + * dependent on the property; see section @properties. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If `module_name` isn't a valid module name, or `property_name` + * doesn't specify a valid property, or if `value` doesn't represent a + * valid value for the given property, an error is returned. + * + * The following example sets property 'bar' (a simple integer) in + * module 'foo' to value~1. + * + * ``` + * FT_UInt bar; + * + * + * bar = 1; + * FT_Property_Set( library, "foo", "bar", &bar ); + * ``` + * + * Note that the FreeType Cache sub-system doesn't recognize module + * property changes. To avoid glyph lookup confusion within the cache + * you should call @FTC_Manager_Reset to completely flush the cache if a + * module property gets changed after @FTC_Manager_New has been called. + * + * It is not possible to set properties of the FreeType Cache sub-system + * itself with FT_Property_Set; use @FTC_Property_Set instead. + * + * @since: + * 2.4.11 + * + */ + FT_EXPORT( FT_Error ) + FT_Property_Set( FT_Library library, + const FT_String* module_name, + const FT_String* property_name, + const void* value ); + + + /************************************************************************** + * + * @function: + * FT_Property_Get + * + * @description: + * Get a module's property value. + * + * @input: + * library :: + * A handle to the library the module is part of. + * + * module_name :: + * The module name. + * + * property_name :: + * The property name. Properties are described in section + * @properties. + * + * @inout: + * value :: + * A generic pointer to a variable or structure that gives the value + * of the property. The exact definition of `value` is dependent on + * the property; see section @properties. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If `module_name` isn't a valid module name, or `property_name` + * doesn't specify a valid property, or if `value` doesn't represent a + * valid value for the given property, an error is returned. + * + * The following example gets property 'baz' (a range) in module 'foo'. + * + * ``` + * typedef range_ + * { + * FT_Int32 min; + * FT_Int32 max; + * + * } range; + * + * range baz; + * + * + * FT_Property_Get( library, "foo", "baz", &baz ); + * ``` + * + * It is not possible to retrieve properties of the FreeType Cache + * sub-system with FT_Property_Get; use @FTC_Property_Get instead. + * + * @since: + * 2.4.11 + * + */ + FT_EXPORT( FT_Error ) + FT_Property_Get( FT_Library library, + const FT_String* module_name, + const FT_String* property_name, + void* value ); + + + /************************************************************************** + * + * @function: + * FT_Set_Default_Properties + * + * @description: + * If compilation option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES` is + * set, this function reads the `FREETYPE_PROPERTIES` environment + * variable to control driver properties. See section @properties for + * more. + * + * If the compilation option is not set, this function does nothing. + * + * `FREETYPE_PROPERTIES` has the following syntax form (broken here into + * multiple lines for better readability). + * + * ``` + * + * ':' + * '=' + * + * ':' + * '=' + * ... + * ``` + * + * Example: + * + * ``` + * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ + * cff:no-stem-darkening=1 \ + * autofitter:warping=1 + * ``` + * + * @inout: + * library :: + * A handle to a new library object. + * + * @since: + * 2.8 + */ + FT_EXPORT( void ) + FT_Set_Default_Properties( FT_Library library ); + + + /************************************************************************** + * + * @function: + * FT_Reference_Library + * + * @description: + * A counter gets initialized to~1 at the time an @FT_Library structure + * is created. This function increments the counter. @FT_Done_Library + * then only destroys a library if the counter is~1, otherwise it simply + * decrements the counter. + * + * This function helps in managing life-cycles of structures that + * reference @FT_Library objects. + * + * @input: + * library :: + * A handle to a target library object. + * + * @return: + * FreeType error code. 0~means success. + * + * @since: + * 2.4.2 + */ + FT_EXPORT( FT_Error ) + FT_Reference_Library( FT_Library library ); + + + /************************************************************************** + * + * @function: + * FT_New_Library + * + * @description: + * This function is used to create a new FreeType library instance from a + * given memory object. It is thus possible to use libraries with + * distinct memory allocators within the same program. Note, however, + * that the used @FT_Memory structure is expected to remain valid for the + * life of the @FT_Library object. + * + * Normally, you would call this function (followed by a call to + * @FT_Add_Default_Modules or a series of calls to @FT_Add_Module, and a + * call to @FT_Set_Default_Properties) instead of @FT_Init_FreeType to + * initialize the FreeType library. + * + * Don't use @FT_Done_FreeType but @FT_Done_Library to destroy a library + * instance. + * + * @input: + * memory :: + * A handle to the original memory object. + * + * @output: + * alibrary :: + * A pointer to handle of a new library object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * See the discussion of reference counters in the description of + * @FT_Reference_Library. + */ + FT_EXPORT( FT_Error ) + FT_New_Library( FT_Memory memory, + FT_Library *alibrary ); + + + /************************************************************************** + * + * @function: + * FT_Done_Library + * + * @description: + * Discard a given library object. This closes all drivers and discards + * all resource objects. + * + * @input: + * library :: + * A handle to the target library. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * See the discussion of reference counters in the description of + * @FT_Reference_Library. + */ + FT_EXPORT( FT_Error ) + FT_Done_Library( FT_Library library ); + + + /************************************************************************** + * + * @functype: + * FT_DebugHook_Func + * + * @description: + * A drop-in replacement (or rather a wrapper) for the bytecode or + * charstring interpreter's main loop function. + * + * Its job is essentially + * + * - to activate debug mode to enforce single-stepping, + * + * - to call the main loop function to interpret the next opcode, and + * + * - to show the changed context to the user. + * + * An example for such a main loop function is `TT_RunIns` (declared in + * FreeType's internal header file `src/truetype/ttinterp.h`). + * + * Have a look at the source code of the `ttdebug` FreeType demo program + * for an example of a drop-in replacement. + * + * @inout: + * arg :: + * A typeless pointer, to be cast to the main loop function's data + * structure (which depends on the font module). For TrueType fonts + * it is bytecode interpreter's execution context, `TT_ExecContext`, + * which is declared in FreeType's internal header file `tttypes.h`. + */ + typedef void + (*FT_DebugHook_Func)( void* arg ); + + + /************************************************************************** + * + * @enum: + * FT_DEBUG_HOOK_XXX + * + * @description: + * A list of named debug hook indices. + * + * @values: + * FT_DEBUG_HOOK_TRUETYPE:: + * This hook index identifies the TrueType bytecode debugger. + */ +#define FT_DEBUG_HOOK_TRUETYPE 0 + + + /************************************************************************** + * + * @function: + * FT_Set_Debug_Hook + * + * @description: + * Set a debug hook function for debugging the interpreter of a font + * format. + * + * While this is a public API function, an application needs access to + * FreeType's internal header files to do something useful. + * + * Have a look at the source code of the `ttdebug` FreeType demo program + * for an example of its usage. + * + * @inout: + * library :: + * A handle to the library object. + * + * @input: + * hook_index :: + * The index of the debug hook. You should use defined enumeration + * macros like @FT_DEBUG_HOOK_TRUETYPE. + * + * debug_hook :: + * The function used to debug the interpreter. + * + * @note: + * Currently, four debug hook slots are available, but only one (for the + * TrueType interpreter) is defined. + */ + FT_EXPORT( void ) + FT_Set_Debug_Hook( FT_Library library, + FT_UInt hook_index, + FT_DebugHook_Func debug_hook ); + + + /************************************************************************** + * + * @function: + * FT_Add_Default_Modules + * + * @description: + * Add the set of default drivers to a given library object. This is + * only useful when you create a library object with @FT_New_Library + * (usually to plug a custom memory manager). + * + * @inout: + * library :: + * A handle to a new library object. + */ + FT_EXPORT( void ) + FT_Add_Default_Modules( FT_Library library ); + + + + /************************************************************************** + * + * @section: + * truetype_engine + * + * @title: + * The TrueType Engine + * + * @abstract: + * TrueType bytecode support. + * + * @description: + * This section contains a function used to query the level of TrueType + * bytecode support compiled in this version of the library. + * + */ + + + /************************************************************************** + * + * @enum: + * FT_TrueTypeEngineType + * + * @description: + * A list of values describing which kind of TrueType bytecode engine is + * implemented in a given FT_Library instance. It is used by the + * @FT_Get_TrueType_Engine_Type function. + * + * @values: + * FT_TRUETYPE_ENGINE_TYPE_NONE :: + * The library doesn't implement any kind of bytecode interpreter. + * + * FT_TRUETYPE_ENGINE_TYPE_UNPATENTED :: + * Deprecated and removed. + * + * FT_TRUETYPE_ENGINE_TYPE_PATENTED :: + * The library implements a bytecode interpreter that covers the full + * instruction set of the TrueType virtual machine (this was governed + * by patents until May 2010, hence the name). + * + * @since: + * 2.2 + * + */ + typedef enum FT_TrueTypeEngineType_ + { + FT_TRUETYPE_ENGINE_TYPE_NONE = 0, + FT_TRUETYPE_ENGINE_TYPE_UNPATENTED, + FT_TRUETYPE_ENGINE_TYPE_PATENTED + + } FT_TrueTypeEngineType; + + + /************************************************************************** + * + * @function: + * FT_Get_TrueType_Engine_Type + * + * @description: + * Return an @FT_TrueTypeEngineType value to indicate which level of the + * TrueType virtual machine a given library instance supports. + * + * @input: + * library :: + * A library instance. + * + * @return: + * A value indicating which level is supported. + * + * @since: + * 2.2 + * + */ + FT_EXPORT( FT_TrueTypeEngineType ) + FT_Get_TrueType_Engine_Type( FT_Library library ); + + /* */ + + +FT_END_HEADER + +#endif /* FTMODAPI_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftmoderr.h b/android/x86_64/include/freetype/ftmoderr.h new file mode 100644 index 00000000..e1699357 --- /dev/null +++ b/android/x86_64/include/freetype/ftmoderr.h @@ -0,0 +1,203 @@ +/**************************************************************************** + * + * ftmoderr.h + * + * FreeType module error offsets (specification). + * + * Copyright (C) 2001-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * This file is used to define the FreeType module error codes. + * + * If the macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` in `ftoption.h` is + * set, the lower byte of an error value identifies the error code as + * usual. In addition, the higher byte identifies the module. For + * example, the error `FT_Err_Invalid_File_Format` has value 0x0003, the + * error `TT_Err_Invalid_File_Format` has value 0x1303, the error + * `T1_Err_Invalid_File_Format` has value 0x1403, etc. + * + * Note that `FT_Err_Ok`, `TT_Err_Ok`, etc. are always equal to zero, + * including the high byte. + * + * If `FT_CONFIG_OPTION_USE_MODULE_ERRORS` isn't set, the higher byte of an + * error value is set to zero. + * + * To hide the various `XXX_Err_` prefixes in the source code, FreeType + * provides some macros in `fttypes.h`. + * + * FT_ERR( err ) + * + * Add current error module prefix (as defined with the `FT_ERR_PREFIX` + * macro) to `err`. For example, in the BDF module the line + * + * ``` + * error = FT_ERR( Invalid_Outline ); + * ``` + * + * expands to + * + * ``` + * error = BDF_Err_Invalid_Outline; + * ``` + * + * For simplicity, you can always use `FT_Err_Ok` directly instead of + * `FT_ERR( Ok )`. + * + * FT_ERR_EQ( errcode, err ) + * FT_ERR_NEQ( errcode, err ) + * + * Compare error code `errcode` with the error `err` for equality and + * inequality, respectively. Example: + * + * ``` + * if ( FT_ERR_EQ( error, Invalid_Outline ) ) + * ... + * ``` + * + * Using this macro you don't have to think about error prefixes. Of + * course, if module errors are not active, the above example is the + * same as + * + * ``` + * if ( error == FT_Err_Invalid_Outline ) + * ... + * ``` + * + * FT_ERROR_BASE( errcode ) + * FT_ERROR_MODULE( errcode ) + * + * Get base error and module error code, respectively. + * + * It can also be used to create a module error message table easily with + * something like + * + * ``` + * #undef FTMODERR_H_ + * #define FT_MODERRDEF( e, v, s ) { FT_Mod_Err_ ## e, s }, + * #define FT_MODERR_START_LIST { + * #define FT_MODERR_END_LIST { 0, 0 } }; + * + * const struct + * { + * int mod_err_offset; + * const char* mod_err_msg + * } ft_mod_errors[] = + * + * #include FT_MODULE_ERRORS_H + * ``` + * + */ + + +#ifndef FTMODERR_H_ +#define FTMODERR_H_ + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** SETUP MACROS *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#undef FT_NEED_EXTERN_C + +#ifndef FT_MODERRDEF + +#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS +#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = v, +#else +#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = 0, +#endif + +#define FT_MODERR_START_LIST enum { +#define FT_MODERR_END_LIST FT_Mod_Err_Max }; + +#ifdef __cplusplus +#define FT_NEED_EXTERN_C + extern "C" { +#endif + +#endif /* !FT_MODERRDEF */ + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** LIST MODULE ERROR BASES *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#ifdef FT_MODERR_START_LIST + FT_MODERR_START_LIST +#endif + + + FT_MODERRDEF( Base, 0x000, "base module" ) + FT_MODERRDEF( Autofit, 0x100, "autofitter module" ) + FT_MODERRDEF( BDF, 0x200, "BDF module" ) + FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" ) + FT_MODERRDEF( Cache, 0x400, "cache module" ) + FT_MODERRDEF( CFF, 0x500, "CFF module" ) + FT_MODERRDEF( CID, 0x600, "CID module" ) + FT_MODERRDEF( Gzip, 0x700, "Gzip module" ) + FT_MODERRDEF( LZW, 0x800, "LZW module" ) + FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" ) + FT_MODERRDEF( PCF, 0xA00, "PCF module" ) + FT_MODERRDEF( PFR, 0xB00, "PFR module" ) + FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" ) + FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" ) + FT_MODERRDEF( PSnames, 0xE00, "PS names module" ) + FT_MODERRDEF( Raster, 0xF00, "raster module" ) + FT_MODERRDEF( SFNT, 0x1000, "SFNT module" ) + FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" ) + FT_MODERRDEF( TrueType, 0x1200, "TrueType module" ) + FT_MODERRDEF( Type1, 0x1300, "Type 1 module" ) + FT_MODERRDEF( Type42, 0x1400, "Type 42 module" ) + FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" ) + FT_MODERRDEF( GXvalid, 0x1600, "GX validation module" ) + + +#ifdef FT_MODERR_END_LIST + FT_MODERR_END_LIST +#endif + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** CLEANUP *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#ifdef FT_NEED_EXTERN_C + } +#endif + +#undef FT_MODERR_START_LIST +#undef FT_MODERR_END_LIST +#undef FT_MODERRDEF +#undef FT_NEED_EXTERN_C + + +#endif /* FTMODERR_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftotval.h b/android/x86_64/include/freetype/ftotval.h new file mode 100644 index 00000000..0fb2a118 --- /dev/null +++ b/android/x86_64/include/freetype/ftotval.h @@ -0,0 +1,207 @@ +/**************************************************************************** + * + * ftotval.h + * + * FreeType API for validating OpenType tables (specification). + * + * Copyright (C) 2004-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +/**************************************************************************** + * + * + * Warning: This module might be moved to a different library in the + * future to avoid a tight dependency between FreeType and the + * OpenType specification. + * + * + */ + + +#ifndef FTOTVAL_H_ +#define FTOTVAL_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * ot_validation + * + * @title: + * OpenType Validation + * + * @abstract: + * An API to validate OpenType tables. + * + * @description: + * This section contains the declaration of functions to validate some + * OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). + * + * @order: + * FT_OpenType_Validate + * FT_OpenType_Free + * + * FT_VALIDATE_OTXXX + * + */ + + + /************************************************************************** + * + * @enum: + * FT_VALIDATE_OTXXX + * + * @description: + * A list of bit-field constants used with @FT_OpenType_Validate to + * indicate which OpenType tables should be validated. + * + * @values: + * FT_VALIDATE_BASE :: + * Validate BASE table. + * + * FT_VALIDATE_GDEF :: + * Validate GDEF table. + * + * FT_VALIDATE_GPOS :: + * Validate GPOS table. + * + * FT_VALIDATE_GSUB :: + * Validate GSUB table. + * + * FT_VALIDATE_JSTF :: + * Validate JSTF table. + * + * FT_VALIDATE_MATH :: + * Validate MATH table. + * + * FT_VALIDATE_OT :: + * Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). + * + */ +#define FT_VALIDATE_BASE 0x0100 +#define FT_VALIDATE_GDEF 0x0200 +#define FT_VALIDATE_GPOS 0x0400 +#define FT_VALIDATE_GSUB 0x0800 +#define FT_VALIDATE_JSTF 0x1000 +#define FT_VALIDATE_MATH 0x2000 + +#define FT_VALIDATE_OT ( FT_VALIDATE_BASE | \ + FT_VALIDATE_GDEF | \ + FT_VALIDATE_GPOS | \ + FT_VALIDATE_GSUB | \ + FT_VALIDATE_JSTF | \ + FT_VALIDATE_MATH ) + + + /************************************************************************** + * + * @function: + * FT_OpenType_Validate + * + * @description: + * Validate various OpenType tables to assure that all offsets and + * indices are valid. The idea is that a higher-level library that + * actually does the text layout can access those tables without error + * checking (which can be quite time consuming). + * + * @input: + * face :: + * A handle to the input face. + * + * validation_flags :: + * A bit field that specifies the tables to be validated. See + * @FT_VALIDATE_OTXXX for possible values. + * + * @output: + * BASE_table :: + * A pointer to the BASE table. + * + * GDEF_table :: + * A pointer to the GDEF table. + * + * GPOS_table :: + * A pointer to the GPOS table. + * + * GSUB_table :: + * A pointer to the GSUB table. + * + * JSTF_table :: + * A pointer to the JSTF table. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with OpenType fonts, returning an error + * otherwise. + * + * After use, the application should deallocate the five tables with + * @FT_OpenType_Free. A `NULL` value indicates that the table either + * doesn't exist in the font, or the application hasn't asked for + * validation. + */ + FT_EXPORT( FT_Error ) + FT_OpenType_Validate( FT_Face face, + FT_UInt validation_flags, + FT_Bytes *BASE_table, + FT_Bytes *GDEF_table, + FT_Bytes *GPOS_table, + FT_Bytes *GSUB_table, + FT_Bytes *JSTF_table ); + + + /************************************************************************** + * + * @function: + * FT_OpenType_Free + * + * @description: + * Free the buffer allocated by OpenType validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer that is allocated by + * @FT_OpenType_Validate. + * + * @note: + * This function must be used to free the buffer allocated by + * @FT_OpenType_Validate only. + */ + FT_EXPORT( void ) + FT_OpenType_Free( FT_Face face, + FT_Bytes table ); + + + /* */ + + +FT_END_HEADER + +#endif /* FTOTVAL_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftoutln.h b/android/x86_64/include/freetype/ftoutln.h new file mode 100644 index 00000000..e6d78b2f --- /dev/null +++ b/android/x86_64/include/freetype/ftoutln.h @@ -0,0 +1,593 @@ +/**************************************************************************** + * + * ftoutln.h + * + * Support for the FT_Outline type used to store glyph shapes of + * most scalable font formats (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTOUTLN_H_ +#define FTOUTLN_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * outline_processing + * + * @title: + * Outline Processing + * + * @abstract: + * Functions to create, transform, and render vectorial glyph images. + * + * @description: + * This section contains routines used to create and destroy scalable + * glyph images known as 'outlines'. These can also be measured, + * transformed, and converted into bitmaps and pixmaps. + * + * @order: + * FT_Outline + * FT_Outline_New + * FT_Outline_Done + * FT_Outline_Copy + * FT_Outline_Translate + * FT_Outline_Transform + * FT_Outline_Embolden + * FT_Outline_EmboldenXY + * FT_Outline_Reverse + * FT_Outline_Check + * + * FT_Outline_Get_CBox + * FT_Outline_Get_BBox + * + * FT_Outline_Get_Bitmap + * FT_Outline_Render + * FT_Outline_Decompose + * FT_Outline_Funcs + * FT_Outline_MoveToFunc + * FT_Outline_LineToFunc + * FT_Outline_ConicToFunc + * FT_Outline_CubicToFunc + * + * FT_Orientation + * FT_Outline_Get_Orientation + * + * FT_OUTLINE_XXX + * + */ + + + /************************************************************************** + * + * @function: + * FT_Outline_Decompose + * + * @description: + * Walk over an outline's structure to decompose it into individual + * segments and Bezier arcs. This function also emits 'move to' + * operations to indicate the start of new contours in the outline. + * + * @input: + * outline :: + * A pointer to the source target. + * + * func_interface :: + * A table of 'emitters', i.e., function pointers called during + * decomposition to indicate path operations. + * + * @inout: + * user :: + * A typeless pointer that is passed to each emitter during the + * decomposition. It can be used to store the state during the + * decomposition. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * A contour that contains a single point only is represented by a 'move + * to' operation followed by 'line to' to the same point. In most cases, + * it is best to filter this out before using the outline for stroking + * purposes (otherwise it would result in a visible dot when round caps + * are used). + * + * Similarly, the function returns success for an empty outline also + * (doing nothing, this is, not calling any emitter); if necessary, you + * should filter this out, too. + */ + FT_EXPORT( FT_Error ) + FT_Outline_Decompose( FT_Outline* outline, + const FT_Outline_Funcs* func_interface, + void* user ); + + + /************************************************************************** + * + * @function: + * FT_Outline_New + * + * @description: + * Create a new outline of a given size. + * + * @input: + * library :: + * A handle to the library object from where the outline is allocated. + * Note however that the new outline will **not** necessarily be + * **freed**, when destroying the library, by @FT_Done_FreeType. + * + * numPoints :: + * The maximum number of points within the outline. Must be smaller + * than or equal to 0xFFFF (65535). + * + * numContours :: + * The maximum number of contours within the outline. This value must + * be in the range 0 to `numPoints`. + * + * @output: + * anoutline :: + * A handle to the new outline. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The reason why this function takes a `library` parameter is simply to + * use the library's memory allocator. + */ + FT_EXPORT( FT_Error ) + FT_Outline_New( FT_Library library, + FT_UInt numPoints, + FT_Int numContours, + FT_Outline *anoutline ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Done + * + * @description: + * Destroy an outline created with @FT_Outline_New. + * + * @input: + * library :: + * A handle of the library object used to allocate the outline. + * + * outline :: + * A pointer to the outline object to be discarded. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If the outline's 'owner' field is not set, only the outline descriptor + * will be released. + */ + FT_EXPORT( FT_Error ) + FT_Outline_Done( FT_Library library, + FT_Outline* outline ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Check + * + * @description: + * Check the contents of an outline descriptor. + * + * @input: + * outline :: + * A handle to a source outline. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * An empty outline, or an outline with a single point only is also + * valid. + */ + FT_EXPORT( FT_Error ) + FT_Outline_Check( FT_Outline* outline ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Get_CBox + * + * @description: + * Return an outline's 'control box'. The control box encloses all the + * outline's points, including Bezier control points. Though it + * coincides with the exact bounding box for most glyphs, it can be + * slightly larger in some situations (like when rotating an outline that + * contains Bezier outside arcs). + * + * Computing the control box is very fast, while getting the bounding box + * can take much more time as it needs to walk over all segments and arcs + * in the outline. To get the latter, you can use the 'ftbbox' + * component, which is dedicated to this single task. + * + * @input: + * outline :: + * A pointer to the source outline descriptor. + * + * @output: + * acbox :: + * The outline's control box. + * + * @note: + * See @FT_Glyph_Get_CBox for a discussion of tricky fonts. + */ + FT_EXPORT( void ) + FT_Outline_Get_CBox( const FT_Outline* outline, + FT_BBox *acbox ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Translate + * + * @description: + * Apply a simple translation to the points of an outline. + * + * @inout: + * outline :: + * A pointer to the target outline descriptor. + * + * @input: + * xOffset :: + * The horizontal offset. + * + * yOffset :: + * The vertical offset. + */ + FT_EXPORT( void ) + FT_Outline_Translate( const FT_Outline* outline, + FT_Pos xOffset, + FT_Pos yOffset ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Copy + * + * @description: + * Copy an outline into another one. Both objects must have the same + * sizes (number of points & number of contours) when this function is + * called. + * + * @input: + * source :: + * A handle to the source outline. + * + * @output: + * target :: + * A handle to the target outline. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Outline_Copy( const FT_Outline* source, + FT_Outline *target ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Transform + * + * @description: + * Apply a simple 2x2 matrix to all of an outline's points. Useful for + * applying rotations, slanting, flipping, etc. + * + * @inout: + * outline :: + * A pointer to the target outline descriptor. + * + * @input: + * matrix :: + * A pointer to the transformation matrix. + * + * @note: + * You can use @FT_Outline_Translate if you need to translate the + * outline's points. + */ + FT_EXPORT( void ) + FT_Outline_Transform( const FT_Outline* outline, + const FT_Matrix* matrix ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Embolden + * + * @description: + * Embolden an outline. The new outline will be at most 4~times + * `strength` pixels wider and higher. You may think of the left and + * bottom borders as unchanged. + * + * Negative `strength` values to reduce the outline thickness are + * possible also. + * + * @inout: + * outline :: + * A handle to the target outline. + * + * @input: + * strength :: + * How strong the glyph is emboldened. Expressed in 26.6 pixel format. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The used algorithm to increase or decrease the thickness of the glyph + * doesn't change the number of points; this means that certain + * situations like acute angles or intersections are sometimes handled + * incorrectly. + * + * If you need 'better' metrics values you should call + * @FT_Outline_Get_CBox or @FT_Outline_Get_BBox. + * + * To get meaningful results, font scaling values must be set with + * functions like @FT_Set_Char_Size before calling FT_Render_Glyph. + * + * @example: + * ``` + * FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); + * + * if ( face->glyph->format == FT_GLYPH_FORMAT_OUTLINE ) + * FT_Outline_Embolden( &face->glyph->outline, strength ); + * ``` + * + */ + FT_EXPORT( FT_Error ) + FT_Outline_Embolden( FT_Outline* outline, + FT_Pos strength ); + + + /************************************************************************** + * + * @function: + * FT_Outline_EmboldenXY + * + * @description: + * Embolden an outline. The new outline will be `xstrength` pixels wider + * and `ystrength` pixels higher. Otherwise, it is similar to + * @FT_Outline_Embolden, which uses the same strength in both directions. + * + * @since: + * 2.4.10 + */ + FT_EXPORT( FT_Error ) + FT_Outline_EmboldenXY( FT_Outline* outline, + FT_Pos xstrength, + FT_Pos ystrength ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Reverse + * + * @description: + * Reverse the drawing direction of an outline. This is used to ensure + * consistent fill conventions for mirrored glyphs. + * + * @inout: + * outline :: + * A pointer to the target outline descriptor. + * + * @note: + * This function toggles the bit flag @FT_OUTLINE_REVERSE_FILL in the + * outline's `flags` field. + * + * It shouldn't be used by a normal client application, unless it knows + * what it is doing. + */ + FT_EXPORT( void ) + FT_Outline_Reverse( FT_Outline* outline ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Get_Bitmap + * + * @description: + * Render an outline within a bitmap. The outline's image is simply + * OR-ed to the target bitmap. + * + * @input: + * library :: + * A handle to a FreeType library object. + * + * outline :: + * A pointer to the source outline descriptor. + * + * @inout: + * abitmap :: + * A pointer to the target bitmap descriptor. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function does **not create** the bitmap, it only renders an + * outline image within the one you pass to it! Consequently, the + * various fields in `abitmap` should be set accordingly. + * + * It will use the raster corresponding to the default glyph format. + * + * The value of the `num_grays` field in `abitmap` is ignored. If you + * select the gray-level rasterizer, and you want less than 256 gray + * levels, you have to use @FT_Outline_Render directly. + */ + FT_EXPORT( FT_Error ) + FT_Outline_Get_Bitmap( FT_Library library, + FT_Outline* outline, + const FT_Bitmap *abitmap ); + + + /************************************************************************** + * + * @function: + * FT_Outline_Render + * + * @description: + * Render an outline within a bitmap using the current scan-convert. + * This function uses an @FT_Raster_Params structure as an argument, + * allowing advanced features like direct composition, translucency, etc. + * + * @input: + * library :: + * A handle to a FreeType library object. + * + * outline :: + * A pointer to the source outline descriptor. + * + * @inout: + * params :: + * A pointer to an @FT_Raster_Params structure used to describe the + * rendering operation. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should know what you are doing and how @FT_Raster_Params works to + * use this function. + * + * The field `params.source` will be set to `outline` before the scan + * converter is called, which means that the value you give to it is + * actually ignored. + * + * The gray-level rasterizer always uses 256 gray levels. If you want + * less gray levels, you have to provide your own span callback. See the + * @FT_RASTER_FLAG_DIRECT value of the `flags` field in the + * @FT_Raster_Params structure for more details. + */ + FT_EXPORT( FT_Error ) + FT_Outline_Render( FT_Library library, + FT_Outline* outline, + FT_Raster_Params* params ); + + + /************************************************************************** + * + * @enum: + * FT_Orientation + * + * @description: + * A list of values used to describe an outline's contour orientation. + * + * The TrueType and PostScript specifications use different conventions + * to determine whether outline contours should be filled or unfilled. + * + * @values: + * FT_ORIENTATION_TRUETYPE :: + * According to the TrueType specification, clockwise contours must be + * filled, and counter-clockwise ones must be unfilled. + * + * FT_ORIENTATION_POSTSCRIPT :: + * According to the PostScript specification, counter-clockwise + * contours must be filled, and clockwise ones must be unfilled. + * + * FT_ORIENTATION_FILL_RIGHT :: + * This is identical to @FT_ORIENTATION_TRUETYPE, but is used to + * remember that in TrueType, everything that is to the right of the + * drawing direction of a contour must be filled. + * + * FT_ORIENTATION_FILL_LEFT :: + * This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to + * remember that in PostScript, everything that is to the left of the + * drawing direction of a contour must be filled. + * + * FT_ORIENTATION_NONE :: + * The orientation cannot be determined. That is, different parts of + * the glyph have different orientation. + * + */ + typedef enum FT_Orientation_ + { + FT_ORIENTATION_TRUETYPE = 0, + FT_ORIENTATION_POSTSCRIPT = 1, + FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE, + FT_ORIENTATION_FILL_LEFT = FT_ORIENTATION_POSTSCRIPT, + FT_ORIENTATION_NONE + + } FT_Orientation; + + + /************************************************************************** + * + * @function: + * FT_Outline_Get_Orientation + * + * @description: + * This function analyzes a glyph outline and tries to compute its fill + * orientation (see @FT_Orientation). This is done by integrating the + * total area covered by the outline. The positive integral corresponds + * to the clockwise orientation and @FT_ORIENTATION_POSTSCRIPT is + * returned. The negative integral corresponds to the counter-clockwise + * orientation and @FT_ORIENTATION_TRUETYPE is returned. + * + * Note that this will return @FT_ORIENTATION_TRUETYPE for empty + * outlines. + * + * @input: + * outline :: + * A handle to the source outline. + * + * @return: + * The orientation. + * + */ + FT_EXPORT( FT_Orientation ) + FT_Outline_Get_Orientation( FT_Outline* outline ); + + + /* */ + + +FT_END_HEADER + +#endif /* FTOUTLN_H_ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/android/x86_64/include/freetype/ftparams.h b/android/x86_64/include/freetype/ftparams.h new file mode 100644 index 00000000..4f526f1c --- /dev/null +++ b/android/x86_64/include/freetype/ftparams.h @@ -0,0 +1,204 @@ +/**************************************************************************** + * + * ftparams.h + * + * FreeType API for possible FT_Parameter tags (specification only). + * + * Copyright (C) 2017-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTPARAMS_H_ +#define FTPARAMS_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * parameter_tags + * + * @title: + * Parameter Tags + * + * @abstract: + * Macros for driver property and font loading parameter tags. + * + * @description: + * This section contains macros for the @FT_Parameter structure that are + * used with various functions to activate some special functionality or + * different behaviour of various components of FreeType. + * + */ + + + /************************************************************************** + * + * @enum: + * FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY + * + * @description: + * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic + * family names in the 'name' table (introduced in OpenType version 1.4). + * Use this for backward compatibility with legacy systems that have a + * four-faces-per-family restriction. + * + * @since: + * 2.8 + * + */ +#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY \ + FT_MAKE_TAG( 'i', 'g', 'p', 'f' ) + + + /* this constant is deprecated */ +#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY \ + FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY + + + /************************************************************************** + * + * @enum: + * FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY + * + * @description: + * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic + * subfamily names in the 'name' table (introduced in OpenType version + * 1.4). Use this for backward compatibility with legacy systems that + * have a four-faces-per-family restriction. + * + * @since: + * 2.8 + * + */ +#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY \ + FT_MAKE_TAG( 'i', 'g', 'p', 's' ) + + + /* this constant is deprecated */ +#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY \ + FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY + + + /************************************************************************** + * + * @enum: + * FT_PARAM_TAG_INCREMENTAL + * + * @description: + * An @FT_Parameter tag to be used with @FT_Open_Face to indicate + * incremental glyph loading. + * + */ +#define FT_PARAM_TAG_INCREMENTAL \ + FT_MAKE_TAG( 'i', 'n', 'c', 'r' ) + + + /************************************************************************** + * + * @enum: + * FT_PARAM_TAG_LCD_FILTER_WEIGHTS + * + * @description: + * An @FT_Parameter tag to be used with @FT_Face_Properties. The + * corresponding argument specifies the five LCD filter weights for a + * given face (if using @FT_LOAD_TARGET_LCD, for example), overriding the + * global default values or the values set up with + * @FT_Library_SetLcdFilterWeights. + * + * @since: + * 2.8 + * + */ +#define FT_PARAM_TAG_LCD_FILTER_WEIGHTS \ + FT_MAKE_TAG( 'l', 'c', 'd', 'f' ) + + + /************************************************************************** + * + * @enum: + * FT_PARAM_TAG_RANDOM_SEED + * + * @description: + * An @FT_Parameter tag to be used with @FT_Face_Properties. The + * corresponding 32bit signed integer argument overrides the font + * driver's random seed value with a face-specific one; see @random-seed. + * + * @since: + * 2.8 + * + */ +#define FT_PARAM_TAG_RANDOM_SEED \ + FT_MAKE_TAG( 's', 'e', 'e', 'd' ) + + + /************************************************************************** + * + * @enum: + * FT_PARAM_TAG_STEM_DARKENING + * + * @description: + * An @FT_Parameter tag to be used with @FT_Face_Properties. The + * corresponding Boolean argument specifies whether to apply stem + * darkening, overriding the global default values or the values set up + * with @FT_Property_Set (see @no-stem-darkening). + * + * This is a passive setting that only takes effect if the font driver or + * autohinter honors it, which the CFF, Type~1, and CID drivers always + * do, but the autohinter only in 'light' hinting mode (as of version + * 2.9). + * + * @since: + * 2.8 + * + */ +#define FT_PARAM_TAG_STEM_DARKENING \ + FT_MAKE_TAG( 'd', 'a', 'r', 'k' ) + + + /************************************************************************** + * + * @enum: + * FT_PARAM_TAG_UNPATENTED_HINTING + * + * @description: + * Deprecated, no effect. + * + * Previously: A constant used as the tag of an @FT_Parameter structure + * to indicate that unpatented methods only should be used by the + * TrueType bytecode interpreter for a typeface opened by @FT_Open_Face. + * + */ +#define FT_PARAM_TAG_UNPATENTED_HINTING \ + FT_MAKE_TAG( 'u', 'n', 'p', 'a' ) + + + /* */ + + +FT_END_HEADER + + +#endif /* FTPARAMS_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftpfr.h b/android/x86_64/include/freetype/ftpfr.h new file mode 100644 index 00000000..17f8e38d --- /dev/null +++ b/android/x86_64/include/freetype/ftpfr.h @@ -0,0 +1,180 @@ +/**************************************************************************** + * + * ftpfr.h + * + * FreeType API for accessing PFR-specific data (specification only). + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTPFR_H_ +#define FTPFR_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * pfr_fonts + * + * @title: + * PFR Fonts + * + * @abstract: + * PFR/TrueDoc-specific API. + * + * @description: + * This section contains the declaration of PFR-specific functions. + * + */ + + + /************************************************************************** + * + * @function: + * FT_Get_PFR_Metrics + * + * @description: + * Return the outline and metrics resolutions of a given PFR face. + * + * @input: + * face :: + * Handle to the input face. It can be a non-PFR face. + * + * @output: + * aoutline_resolution :: + * Outline resolution. This is equivalent to `face->units_per_EM` for + * non-PFR fonts. Optional (parameter can be `NULL`). + * + * ametrics_resolution :: + * Metrics resolution. This is equivalent to `outline_resolution` for + * non-PFR fonts. Optional (parameter can be `NULL`). + * + * ametrics_x_scale :: + * A 16.16 fixed-point number used to scale distance expressed in + * metrics units to device subpixels. This is equivalent to + * `face->size->x_scale`, but for metrics only. Optional (parameter + * can be `NULL`). + * + * ametrics_y_scale :: + * Same as `ametrics_x_scale` but for the vertical direction. + * optional (parameter can be `NULL`). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If the input face is not a PFR, this function will return an error. + * However, in all cases, it will return valid values. + */ + FT_EXPORT( FT_Error ) + FT_Get_PFR_Metrics( FT_Face face, + FT_UInt *aoutline_resolution, + FT_UInt *ametrics_resolution, + FT_Fixed *ametrics_x_scale, + FT_Fixed *ametrics_y_scale ); + + + /************************************************************************** + * + * @function: + * FT_Get_PFR_Kerning + * + * @description: + * Return the kerning pair corresponding to two glyphs in a PFR face. + * The distance is expressed in metrics units, unlike the result of + * @FT_Get_Kerning. + * + * @input: + * face :: + * A handle to the input face. + * + * left :: + * Index of the left glyph. + * + * right :: + * Index of the right glyph. + * + * @output: + * avector :: + * A kerning vector. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function always return distances in original PFR metrics units. + * This is unlike @FT_Get_Kerning with the @FT_KERNING_UNSCALED mode, + * which always returns distances converted to outline units. + * + * You can use the value of the `x_scale` and `y_scale` parameters + * returned by @FT_Get_PFR_Metrics to scale these to device subpixels. + */ + FT_EXPORT( FT_Error ) + FT_Get_PFR_Kerning( FT_Face face, + FT_UInt left, + FT_UInt right, + FT_Vector *avector ); + + + /************************************************************************** + * + * @function: + * FT_Get_PFR_Advance + * + * @description: + * Return a given glyph advance, expressed in original metrics units, + * from a PFR font. + * + * @input: + * face :: + * A handle to the input face. + * + * gindex :: + * The glyph index. + * + * @output: + * aadvance :: + * The glyph advance in metrics units. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You can use the `x_scale` or `y_scale` results of @FT_Get_PFR_Metrics + * to convert the advance to device subpixels (i.e., 1/64th of pixels). + */ + FT_EXPORT( FT_Error ) + FT_Get_PFR_Advance( FT_Face face, + FT_UInt gindex, + FT_Pos *aadvance ); + + /* */ + + +FT_END_HEADER + +#endif /* FTPFR_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftrender.h b/android/x86_64/include/freetype/ftrender.h new file mode 100644 index 00000000..eca3e220 --- /dev/null +++ b/android/x86_64/include/freetype/ftrender.h @@ -0,0 +1,245 @@ +/**************************************************************************** + * + * ftrender.h + * + * FreeType renderer modules public interface (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTRENDER_H_ +#define FTRENDER_H_ + + +#include "ft2build.h" +#include FT_MODULE_H +#include FT_GLYPH_H + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * module_management + * + */ + + + /* create a new glyph object */ + typedef FT_Error + (*FT_Glyph_InitFunc)( FT_Glyph glyph, + FT_GlyphSlot slot ); + + /* destroys a given glyph object */ + typedef void + (*FT_Glyph_DoneFunc)( FT_Glyph glyph ); + + typedef void + (*FT_Glyph_TransformFunc)( FT_Glyph glyph, + const FT_Matrix* matrix, + const FT_Vector* delta ); + + typedef void + (*FT_Glyph_GetBBoxFunc)( FT_Glyph glyph, + FT_BBox* abbox ); + + typedef FT_Error + (*FT_Glyph_CopyFunc)( FT_Glyph source, + FT_Glyph target ); + + typedef FT_Error + (*FT_Glyph_PrepareFunc)( FT_Glyph glyph, + FT_GlyphSlot slot ); + +/* deprecated */ +#define FT_Glyph_Init_Func FT_Glyph_InitFunc +#define FT_Glyph_Done_Func FT_Glyph_DoneFunc +#define FT_Glyph_Transform_Func FT_Glyph_TransformFunc +#define FT_Glyph_BBox_Func FT_Glyph_GetBBoxFunc +#define FT_Glyph_Copy_Func FT_Glyph_CopyFunc +#define FT_Glyph_Prepare_Func FT_Glyph_PrepareFunc + + + struct FT_Glyph_Class_ + { + FT_Long glyph_size; + FT_Glyph_Format glyph_format; + + FT_Glyph_InitFunc glyph_init; + FT_Glyph_DoneFunc glyph_done; + FT_Glyph_CopyFunc glyph_copy; + FT_Glyph_TransformFunc glyph_transform; + FT_Glyph_GetBBoxFunc glyph_bbox; + FT_Glyph_PrepareFunc glyph_prepare; + }; + + + typedef FT_Error + (*FT_Renderer_RenderFunc)( FT_Renderer renderer, + FT_GlyphSlot slot, + FT_Render_Mode mode, + const FT_Vector* origin ); + + typedef FT_Error + (*FT_Renderer_TransformFunc)( FT_Renderer renderer, + FT_GlyphSlot slot, + const FT_Matrix* matrix, + const FT_Vector* delta ); + + + typedef void + (*FT_Renderer_GetCBoxFunc)( FT_Renderer renderer, + FT_GlyphSlot slot, + FT_BBox* cbox ); + + + typedef FT_Error + (*FT_Renderer_SetModeFunc)( FT_Renderer renderer, + FT_ULong mode_tag, + FT_Pointer mode_ptr ); + +/* deprecated identifiers */ +#define FTRenderer_render FT_Renderer_RenderFunc +#define FTRenderer_transform FT_Renderer_TransformFunc +#define FTRenderer_getCBox FT_Renderer_GetCBoxFunc +#define FTRenderer_setMode FT_Renderer_SetModeFunc + + + /************************************************************************** + * + * @struct: + * FT_Renderer_Class + * + * @description: + * The renderer module class descriptor. + * + * @fields: + * root :: + * The root @FT_Module_Class fields. + * + * glyph_format :: + * The glyph image format this renderer handles. + * + * render_glyph :: + * A method used to render the image that is in a given glyph slot into + * a bitmap. + * + * transform_glyph :: + * A method used to transform the image that is in a given glyph slot. + * + * get_glyph_cbox :: + * A method used to access the glyph's cbox. + * + * set_mode :: + * A method used to pass additional parameters. + * + * raster_class :: + * For @FT_GLYPH_FORMAT_OUTLINE renderers only. This is a pointer to + * its raster's class. + */ + typedef struct FT_Renderer_Class_ + { + FT_Module_Class root; + + FT_Glyph_Format glyph_format; + + FT_Renderer_RenderFunc render_glyph; + FT_Renderer_TransformFunc transform_glyph; + FT_Renderer_GetCBoxFunc get_glyph_cbox; + FT_Renderer_SetModeFunc set_mode; + + FT_Raster_Funcs* raster_class; + + } FT_Renderer_Class; + + + /************************************************************************** + * + * @function: + * FT_Get_Renderer + * + * @description: + * Retrieve the current renderer for a given glyph format. + * + * @input: + * library :: + * A handle to the library object. + * + * format :: + * The glyph format. + * + * @return: + * A renderer handle. 0~if none found. + * + * @note: + * An error will be returned if a module already exists by that name, or + * if the module requires a version of FreeType that is too great. + * + * To add a new renderer, simply use @FT_Add_Module. To retrieve a + * renderer by its name, use @FT_Get_Module. + */ + FT_EXPORT( FT_Renderer ) + FT_Get_Renderer( FT_Library library, + FT_Glyph_Format format ); + + + /************************************************************************** + * + * @function: + * FT_Set_Renderer + * + * @description: + * Set the current renderer to use, and set additional mode. + * + * @inout: + * library :: + * A handle to the library object. + * + * @input: + * renderer :: + * A handle to the renderer object. + * + * num_params :: + * The number of additional parameters. + * + * parameters :: + * Additional parameters. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * In case of success, the renderer will be used to convert glyph images + * in the renderer's known format into bitmaps. + * + * This doesn't change the current renderer for other formats. + * + * Currently, no FreeType renderer module uses `parameters`; you should + * thus always pass `NULL` as the value. + */ + FT_EXPORT( FT_Error ) + FT_Set_Renderer( FT_Library library, + FT_Renderer renderer, + FT_UInt num_params, + FT_Parameter* parameters ); + + /* */ + + +FT_END_HEADER + +#endif /* FTRENDER_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftsizes.h b/android/x86_64/include/freetype/ftsizes.h new file mode 100644 index 00000000..2d63295e --- /dev/null +++ b/android/x86_64/include/freetype/ftsizes.h @@ -0,0 +1,160 @@ +/**************************************************************************** + * + * ftsizes.h + * + * FreeType size objects management (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /************************************************************************** + * + * Typical application would normally not need to use these functions. + * However, they have been placed in a public API for the rare cases where + * they are needed. + * + */ + + +#ifndef FTSIZES_H_ +#define FTSIZES_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * sizes_management + * + * @title: + * Size Management + * + * @abstract: + * Managing multiple sizes per face. + * + * @description: + * When creating a new face object (e.g., with @FT_New_Face), an @FT_Size + * object is automatically created and used to store all pixel-size + * dependent information, available in the `face->size` field. + * + * It is however possible to create more sizes for a given face, mostly + * in order to manage several character pixel sizes of the same font + * family and style. See @FT_New_Size and @FT_Done_Size. + * + * Note that @FT_Set_Pixel_Sizes and @FT_Set_Char_Size only modify the + * contents of the current 'active' size; you thus need to use + * @FT_Activate_Size to change it. + * + * 99% of applications won't need the functions provided here, especially + * if they use the caching sub-system, so be cautious when using these. + * + */ + + + /************************************************************************** + * + * @function: + * FT_New_Size + * + * @description: + * Create a new size object from a given face object. + * + * @input: + * face :: + * A handle to a parent face object. + * + * @output: + * asize :: + * A handle to a new size object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You need to call @FT_Activate_Size in order to select the new size for + * upcoming calls to @FT_Set_Pixel_Sizes, @FT_Set_Char_Size, + * @FT_Load_Glyph, @FT_Load_Char, etc. + */ + FT_EXPORT( FT_Error ) + FT_New_Size( FT_Face face, + FT_Size* size ); + + + /************************************************************************** + * + * @function: + * FT_Done_Size + * + * @description: + * Discard a given size object. Note that @FT_Done_Face automatically + * discards all size objects allocated with @FT_New_Size. + * + * @input: + * size :: + * A handle to a target size object. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Done_Size( FT_Size size ); + + + /************************************************************************** + * + * @function: + * FT_Activate_Size + * + * @description: + * Even though it is possible to create several size objects for a given + * face (see @FT_New_Size for details), functions like @FT_Load_Glyph or + * @FT_Load_Char only use the one that has been activated last to + * determine the 'current character pixel size'. + * + * This function can be used to 'activate' a previously created size + * object. + * + * @input: + * size :: + * A handle to a target size object. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If `face` is the size's parent face object, this function changes the + * value of `face->size` to the input size handle. + */ + FT_EXPORT( FT_Error ) + FT_Activate_Size( FT_Size size ); + + /* */ + + +FT_END_HEADER + +#endif /* FTSIZES_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftsnames.h b/android/x86_64/include/freetype/ftsnames.h new file mode 100644 index 00000000..fe32ec22 --- /dev/null +++ b/android/x86_64/include/freetype/ftsnames.h @@ -0,0 +1,273 @@ +/**************************************************************************** + * + * ftsnames.h + * + * Simple interface to access SFNT 'name' tables (which are used + * to hold font names, copyright info, notices, etc.) (specification). + * + * This is _not_ used to retrieve glyph names! + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTSNAMES_H_ +#define FTSNAMES_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H +#include FT_PARAMETER_TAGS_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * sfnt_names + * + * @title: + * SFNT Names + * + * @abstract: + * Access the names embedded in TrueType and OpenType files. + * + * @description: + * The TrueType and OpenType specifications allow the inclusion of a + * special names table ('name') in font files. This table contains + * textual (and internationalized) information regarding the font, like + * family name, copyright, version, etc. + * + * The definitions below are used to access them if available. + * + * Note that this has nothing to do with glyph names! + * + */ + + + /************************************************************************** + * + * @struct: + * FT_SfntName + * + * @description: + * A structure used to model an SFNT 'name' table entry. + * + * @fields: + * platform_id :: + * The platform ID for `string`. See @TT_PLATFORM_XXX for possible + * values. + * + * encoding_id :: + * The encoding ID for `string`. See @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX, + * @TT_ISO_ID_XXX, @TT_MS_ID_XXX, and @TT_ADOBE_ID_XXX for possible + * values. + * + * language_id :: + * The language ID for `string`. See @TT_MAC_LANGID_XXX and + * @TT_MS_LANGID_XXX for possible values. + * + * Registered OpenType values for `language_id` are always smaller than + * 0x8000; values equal or larger than 0x8000 usually indicate a + * language tag string (introduced in OpenType version 1.6). Use + * function @FT_Get_Sfnt_LangTag with `language_id` as its argument to + * retrieve the associated language tag. + * + * name_id :: + * An identifier for `string`. See @TT_NAME_ID_XXX for possible + * values. + * + * string :: + * The 'name' string. Note that its format differs depending on the + * (platform,encoding) pair, being either a string of bytes (without a + * terminating `NULL` byte) or containing UTF-16BE entities. + * + * string_len :: + * The length of `string` in bytes. + * + * @note: + * Please refer to the TrueType or OpenType specification for more + * details. + */ + typedef struct FT_SfntName_ + { + FT_UShort platform_id; + FT_UShort encoding_id; + FT_UShort language_id; + FT_UShort name_id; + + FT_Byte* string; /* this string is *not* null-terminated! */ + FT_UInt string_len; /* in bytes */ + + } FT_SfntName; + + + /************************************************************************** + * + * @function: + * FT_Get_Sfnt_Name_Count + * + * @description: + * Retrieve the number of name strings in the SFNT 'name' table. + * + * @input: + * face :: + * A handle to the source face. + * + * @return: + * The number of strings in the 'name' table. + * + * @note: + * This function always returns an error if the config macro + * `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`. + */ + FT_EXPORT( FT_UInt ) + FT_Get_Sfnt_Name_Count( FT_Face face ); + + + /************************************************************************** + * + * @function: + * FT_Get_Sfnt_Name + * + * @description: + * Retrieve a string of the SFNT 'name' table for a given index. + * + * @input: + * face :: + * A handle to the source face. + * + * idx :: + * The index of the 'name' string. + * + * @output: + * aname :: + * The indexed @FT_SfntName structure. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The `string` array returned in the `aname` structure is not + * null-terminated. Note that you don't have to deallocate `string` by + * yourself; FreeType takes care of it if you call @FT_Done_Face. + * + * Use @FT_Get_Sfnt_Name_Count to get the total number of available + * 'name' table entries, then do a loop until you get the right platform, + * encoding, and name ID. + * + * 'name' table format~1 entries can use language tags also, see + * @FT_Get_Sfnt_LangTag. + * + * This function always returns an error if the config macro + * `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`. + */ + FT_EXPORT( FT_Error ) + FT_Get_Sfnt_Name( FT_Face face, + FT_UInt idx, + FT_SfntName *aname ); + + + /************************************************************************** + * + * @struct: + * FT_SfntLangTag + * + * @description: + * A structure to model a language tag entry from an SFNT 'name' table. + * + * @fields: + * string :: + * The language tag string, encoded in UTF-16BE (without trailing + * `NULL` bytes). + * + * string_len :: + * The length of `string` in **bytes**. + * + * @note: + * Please refer to the TrueType or OpenType specification for more + * details. + * + * @since: + * 2.8 + */ + typedef struct FT_SfntLangTag_ + { + FT_Byte* string; /* this string is *not* null-terminated! */ + FT_UInt string_len; /* in bytes */ + + } FT_SfntLangTag; + + + /************************************************************************** + * + * @function: + * FT_Get_Sfnt_LangTag + * + * @description: + * Retrieve the language tag associated with a language ID of an SFNT + * 'name' table entry. + * + * @input: + * face :: + * A handle to the source face. + * + * langID :: + * The language ID, as returned by @FT_Get_Sfnt_Name. This is always a + * value larger than 0x8000. + * + * @output: + * alangTag :: + * The language tag associated with the 'name' table entry's language + * ID. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The `string` array returned in the `alangTag` structure is not + * null-terminated. Note that you don't have to deallocate `string` by + * yourself; FreeType takes care of it if you call @FT_Done_Face. + * + * Only 'name' table format~1 supports language tags. For format~0 + * tables, this function always returns FT_Err_Invalid_Table. For + * invalid format~1 language ID values, FT_Err_Invalid_Argument is + * returned. + * + * This function always returns an error if the config macro + * `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`. + * + * @since: + * 2.8 + */ + FT_EXPORT( FT_Error ) + FT_Get_Sfnt_LangTag( FT_Face face, + FT_UInt langID, + FT_SfntLangTag *alangTag ); + + + /* */ + + +FT_END_HEADER + +#endif /* FTSNAMES_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftstroke.h b/android/x86_64/include/freetype/ftstroke.h new file mode 100644 index 00000000..53c4eee5 --- /dev/null +++ b/android/x86_64/include/freetype/ftstroke.h @@ -0,0 +1,772 @@ +/**************************************************************************** + * + * ftstroke.h + * + * FreeType path stroker (specification). + * + * Copyright (C) 2002-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTSTROKE_H_ +#define FTSTROKE_H_ + +#include "ft2build.h" +#include FT_OUTLINE_H +#include FT_GLYPH_H + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * glyph_stroker + * + * @title: + * Glyph Stroker + * + * @abstract: + * Generating bordered and stroked glyphs. + * + * @description: + * This component generates stroked outlines of a given vectorial glyph. + * It also allows you to retrieve the 'outside' and/or the 'inside' + * borders of the stroke. + * + * This can be useful to generate 'bordered' glyph, i.e., glyphs + * displayed with a coloured (and anti-aliased) border around their + * shape. + * + * @order: + * FT_Stroker + * + * FT_Stroker_LineJoin + * FT_Stroker_LineCap + * FT_StrokerBorder + * + * FT_Outline_GetInsideBorder + * FT_Outline_GetOutsideBorder + * + * FT_Glyph_Stroke + * FT_Glyph_StrokeBorder + * + * FT_Stroker_New + * FT_Stroker_Set + * FT_Stroker_Rewind + * FT_Stroker_ParseOutline + * FT_Stroker_Done + * + * FT_Stroker_BeginSubPath + * FT_Stroker_EndSubPath + * + * FT_Stroker_LineTo + * FT_Stroker_ConicTo + * FT_Stroker_CubicTo + * + * FT_Stroker_GetBorderCounts + * FT_Stroker_ExportBorder + * FT_Stroker_GetCounts + * FT_Stroker_Export + * + */ + + + /************************************************************************** + * + * @type: + * FT_Stroker + * + * @description: + * Opaque handle to a path stroker object. + */ + typedef struct FT_StrokerRec_* FT_Stroker; + + + /************************************************************************** + * + * @enum: + * FT_Stroker_LineJoin + * + * @description: + * These values determine how two joining lines are rendered in a + * stroker. + * + * @values: + * FT_STROKER_LINEJOIN_ROUND :: + * Used to render rounded line joins. Circular arcs are used to join + * two lines smoothly. + * + * FT_STROKER_LINEJOIN_BEVEL :: + * Used to render beveled line joins. The outer corner of the joined + * lines is filled by enclosing the triangular region of the corner + * with a straight line between the outer corners of each stroke. + * + * FT_STROKER_LINEJOIN_MITER_FIXED :: + * Used to render mitered line joins, with fixed bevels if the miter + * limit is exceeded. The outer edges of the strokes for the two + * segments are extended until they meet at an angle. If the segments + * meet at too sharp an angle (such that the miter would extend from + * the intersection of the segments a distance greater than the product + * of the miter limit value and the border radius), then a bevel join + * (see above) is used instead. This prevents long spikes being + * created. `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line + * join as used in PostScript and PDF. + * + * FT_STROKER_LINEJOIN_MITER_VARIABLE :: + * FT_STROKER_LINEJOIN_MITER :: + * Used to render mitered line joins, with variable bevels if the miter + * limit is exceeded. The intersection of the strokes is clipped at a + * line perpendicular to the bisector of the angle between the strokes, + * at the distance from the intersection of the segments equal to the + * product of the miter limit value and the border radius. This + * prevents long spikes being created. + * `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join + * as used in XPS. `FT_STROKER_LINEJOIN_MITER` is an alias for + * `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward + * compatibility. + */ + typedef enum FT_Stroker_LineJoin_ + { + FT_STROKER_LINEJOIN_ROUND = 0, + FT_STROKER_LINEJOIN_BEVEL = 1, + FT_STROKER_LINEJOIN_MITER_VARIABLE = 2, + FT_STROKER_LINEJOIN_MITER = FT_STROKER_LINEJOIN_MITER_VARIABLE, + FT_STROKER_LINEJOIN_MITER_FIXED = 3 + + } FT_Stroker_LineJoin; + + + /************************************************************************** + * + * @enum: + * FT_Stroker_LineCap + * + * @description: + * These values determine how the end of opened sub-paths are rendered in + * a stroke. + * + * @values: + * FT_STROKER_LINECAP_BUTT :: + * The end of lines is rendered as a full stop on the last point + * itself. + * + * FT_STROKER_LINECAP_ROUND :: + * The end of lines is rendered as a half-circle around the last point. + * + * FT_STROKER_LINECAP_SQUARE :: + * The end of lines is rendered as a square around the last point. + */ + typedef enum FT_Stroker_LineCap_ + { + FT_STROKER_LINECAP_BUTT = 0, + FT_STROKER_LINECAP_ROUND, + FT_STROKER_LINECAP_SQUARE + + } FT_Stroker_LineCap; + + + /************************************************************************** + * + * @enum: + * FT_StrokerBorder + * + * @description: + * These values are used to select a given stroke border in + * @FT_Stroker_GetBorderCounts and @FT_Stroker_ExportBorder. + * + * @values: + * FT_STROKER_BORDER_LEFT :: + * Select the left border, relative to the drawing direction. + * + * FT_STROKER_BORDER_RIGHT :: + * Select the right border, relative to the drawing direction. + * + * @note: + * Applications are generally interested in the 'inside' and 'outside' + * borders. However, there is no direct mapping between these and the + * 'left' and 'right' ones, since this really depends on the glyph's + * drawing orientation, which varies between font formats. + * + * You can however use @FT_Outline_GetInsideBorder and + * @FT_Outline_GetOutsideBorder to get these. + */ + typedef enum FT_StrokerBorder_ + { + FT_STROKER_BORDER_LEFT = 0, + FT_STROKER_BORDER_RIGHT + + } FT_StrokerBorder; + + + /************************************************************************** + * + * @function: + * FT_Outline_GetInsideBorder + * + * @description: + * Retrieve the @FT_StrokerBorder value corresponding to the 'inside' + * borders of a given outline. + * + * @input: + * outline :: + * The source outline handle. + * + * @return: + * The border index. @FT_STROKER_BORDER_RIGHT for empty or invalid + * outlines. + */ + FT_EXPORT( FT_StrokerBorder ) + FT_Outline_GetInsideBorder( FT_Outline* outline ); + + + /************************************************************************** + * + * @function: + * FT_Outline_GetOutsideBorder + * + * @description: + * Retrieve the @FT_StrokerBorder value corresponding to the 'outside' + * borders of a given outline. + * + * @input: + * outline :: + * The source outline handle. + * + * @return: + * The border index. @FT_STROKER_BORDER_LEFT for empty or invalid + * outlines. + */ + FT_EXPORT( FT_StrokerBorder ) + FT_Outline_GetOutsideBorder( FT_Outline* outline ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_New + * + * @description: + * Create a new stroker object. + * + * @input: + * library :: + * FreeType library handle. + * + * @output: + * astroker :: + * A new stroker object handle. `NULL` in case of error. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_New( FT_Library library, + FT_Stroker *astroker ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_Set + * + * @description: + * Reset a stroker object's attributes. + * + * @input: + * stroker :: + * The target stroker handle. + * + * radius :: + * The border radius. + * + * line_cap :: + * The line cap style. + * + * line_join :: + * The line join style. + * + * miter_limit :: + * The miter limit for the `FT_STROKER_LINEJOIN_MITER_FIXED` and + * `FT_STROKER_LINEJOIN_MITER_VARIABLE` line join styles, expressed as + * 16.16 fixed-point value. + * + * @note: + * The radius is expressed in the same units as the outline coordinates. + * + * This function calls @FT_Stroker_Rewind automatically. + */ + FT_EXPORT( void ) + FT_Stroker_Set( FT_Stroker stroker, + FT_Fixed radius, + FT_Stroker_LineCap line_cap, + FT_Stroker_LineJoin line_join, + FT_Fixed miter_limit ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_Rewind + * + * @description: + * Reset a stroker object without changing its attributes. You should + * call this function before beginning a new series of calls to + * @FT_Stroker_BeginSubPath or @FT_Stroker_EndSubPath. + * + * @input: + * stroker :: + * The target stroker handle. + */ + FT_EXPORT( void ) + FT_Stroker_Rewind( FT_Stroker stroker ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_ParseOutline + * + * @description: + * A convenience function used to parse a whole outline with the stroker. + * The resulting outline(s) can be retrieved later by functions like + * @FT_Stroker_GetCounts and @FT_Stroker_Export. + * + * @input: + * stroker :: + * The target stroker handle. + * + * outline :: + * The source outline. + * + * opened :: + * A boolean. If~1, the outline is treated as an open path instead of + * a closed one. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If `opened` is~0 (the default), the outline is treated as a closed + * path, and the stroker generates two distinct 'border' outlines. + * + * If `opened` is~1, the outline is processed as an open path, and the + * stroker generates a single 'stroke' outline. + * + * This function calls @FT_Stroker_Rewind automatically. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_ParseOutline( FT_Stroker stroker, + FT_Outline* outline, + FT_Bool opened ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_BeginSubPath + * + * @description: + * Start a new sub-path in the stroker. + * + * @input: + * stroker :: + * The target stroker handle. + * + * to :: + * A pointer to the start vector. + * + * open :: + * A boolean. If~1, the sub-path is treated as an open one. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function is useful when you need to stroke a path that is not + * stored as an @FT_Outline object. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_BeginSubPath( FT_Stroker stroker, + FT_Vector* to, + FT_Bool open ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_EndSubPath + * + * @description: + * Close the current sub-path in the stroker. + * + * @input: + * stroker :: + * The target stroker handle. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function after @FT_Stroker_BeginSubPath. If the + * subpath was not 'opened', this function 'draws' a single line segment + * to the start position when needed. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_EndSubPath( FT_Stroker stroker ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_LineTo + * + * @description: + * 'Draw' a single line segment in the stroker's current sub-path, from + * the last position. + * + * @input: + * stroker :: + * The target stroker handle. + * + * to :: + * A pointer to the destination point. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function between @FT_Stroker_BeginSubPath and + * @FT_Stroker_EndSubPath. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_LineTo( FT_Stroker stroker, + FT_Vector* to ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_ConicTo + * + * @description: + * 'Draw' a single quadratic Bezier in the stroker's current sub-path, + * from the last position. + * + * @input: + * stroker :: + * The target stroker handle. + * + * control :: + * A pointer to a Bezier control point. + * + * to :: + * A pointer to the destination point. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function between @FT_Stroker_BeginSubPath and + * @FT_Stroker_EndSubPath. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_ConicTo( FT_Stroker stroker, + FT_Vector* control, + FT_Vector* to ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_CubicTo + * + * @description: + * 'Draw' a single cubic Bezier in the stroker's current sub-path, from + * the last position. + * + * @input: + * stroker :: + * The target stroker handle. + * + * control1 :: + * A pointer to the first Bezier control point. + * + * control2 :: + * A pointer to second Bezier control point. + * + * to :: + * A pointer to the destination point. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function between @FT_Stroker_BeginSubPath and + * @FT_Stroker_EndSubPath. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_CubicTo( FT_Stroker stroker, + FT_Vector* control1, + FT_Vector* control2, + FT_Vector* to ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_GetBorderCounts + * + * @description: + * Call this function once you have finished parsing your paths with the + * stroker. It returns the number of points and contours necessary to + * export one of the 'border' or 'stroke' outlines generated by the + * stroker. + * + * @input: + * stroker :: + * The target stroker handle. + * + * border :: + * The border index. + * + * @output: + * anum_points :: + * The number of points. + * + * anum_contours :: + * The number of contours. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * When an outline, or a sub-path, is 'closed', the stroker generates two + * independent 'border' outlines, named 'left' and 'right'. + * + * When the outline, or a sub-path, is 'opened', the stroker merges the + * 'border' outlines with caps. The 'left' border receives all points, + * while the 'right' border becomes empty. + * + * Use the function @FT_Stroker_GetCounts instead if you want to retrieve + * the counts associated to both borders. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_GetBorderCounts( FT_Stroker stroker, + FT_StrokerBorder border, + FT_UInt *anum_points, + FT_UInt *anum_contours ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_ExportBorder + * + * @description: + * Call this function after @FT_Stroker_GetBorderCounts to export the + * corresponding border to your own @FT_Outline structure. + * + * Note that this function appends the border points and contours to your + * outline, but does not try to resize its arrays. + * + * @input: + * stroker :: + * The target stroker handle. + * + * border :: + * The border index. + * + * outline :: + * The target outline handle. + * + * @note: + * Always call this function after @FT_Stroker_GetBorderCounts to get + * sure that there is enough room in your @FT_Outline object to receive + * all new data. + * + * When an outline, or a sub-path, is 'closed', the stroker generates two + * independent 'border' outlines, named 'left' and 'right'. + * + * When the outline, or a sub-path, is 'opened', the stroker merges the + * 'border' outlines with caps. The 'left' border receives all points, + * while the 'right' border becomes empty. + * + * Use the function @FT_Stroker_Export instead if you want to retrieve + * all borders at once. + */ + FT_EXPORT( void ) + FT_Stroker_ExportBorder( FT_Stroker stroker, + FT_StrokerBorder border, + FT_Outline* outline ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_GetCounts + * + * @description: + * Call this function once you have finished parsing your paths with the + * stroker. It returns the number of points and contours necessary to + * export all points/borders from the stroked outline/path. + * + * @input: + * stroker :: + * The target stroker handle. + * + * @output: + * anum_points :: + * The number of points. + * + * anum_contours :: + * The number of contours. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_GetCounts( FT_Stroker stroker, + FT_UInt *anum_points, + FT_UInt *anum_contours ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_Export + * + * @description: + * Call this function after @FT_Stroker_GetBorderCounts to export all + * borders to your own @FT_Outline structure. + * + * Note that this function appends the border points and contours to your + * outline, but does not try to resize its arrays. + * + * @input: + * stroker :: + * The target stroker handle. + * + * outline :: + * The target outline handle. + */ + FT_EXPORT( void ) + FT_Stroker_Export( FT_Stroker stroker, + FT_Outline* outline ); + + + /************************************************************************** + * + * @function: + * FT_Stroker_Done + * + * @description: + * Destroy a stroker object. + * + * @input: + * stroker :: + * A stroker handle. Can be `NULL`. + */ + FT_EXPORT( void ) + FT_Stroker_Done( FT_Stroker stroker ); + + + /************************************************************************** + * + * @function: + * FT_Glyph_Stroke + * + * @description: + * Stroke a given outline glyph object with a given stroker. + * + * @inout: + * pglyph :: + * Source glyph handle on input, new glyph handle on output. + * + * @input: + * stroker :: + * A stroker handle. + * + * destroy :: + * A Boolean. If~1, the source glyph object is destroyed on success. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source glyph is untouched in case of error. + * + * Adding stroke may yield a significantly wider and taller glyph + * depending on how large of a radius was used to stroke the glyph. You + * may need to manually adjust horizontal and vertical advance amounts to + * account for this added size. + */ + FT_EXPORT( FT_Error ) + FT_Glyph_Stroke( FT_Glyph *pglyph, + FT_Stroker stroker, + FT_Bool destroy ); + + + /************************************************************************** + * + * @function: + * FT_Glyph_StrokeBorder + * + * @description: + * Stroke a given outline glyph object with a given stroker, but only + * return either its inside or outside border. + * + * @inout: + * pglyph :: + * Source glyph handle on input, new glyph handle on output. + * + * @input: + * stroker :: + * A stroker handle. + * + * inside :: + * A Boolean. If~1, return the inside border, otherwise the outside + * border. + * + * destroy :: + * A Boolean. If~1, the source glyph object is destroyed on success. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source glyph is untouched in case of error. + * + * Adding stroke may yield a significantly wider and taller glyph + * depending on how large of a radius was used to stroke the glyph. You + * may need to manually adjust horizontal and vertical advance amounts to + * account for this added size. + */ + FT_EXPORT( FT_Error ) + FT_Glyph_StrokeBorder( FT_Glyph *pglyph, + FT_Stroker stroker, + FT_Bool inside, + FT_Bool destroy ); + + /* */ + +FT_END_HEADER + +#endif /* FTSTROKE_H_ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/android/x86_64/include/freetype/ftsynth.h b/android/x86_64/include/freetype/ftsynth.h new file mode 100644 index 00000000..98f54c80 --- /dev/null +++ b/android/x86_64/include/freetype/ftsynth.h @@ -0,0 +1,84 @@ +/**************************************************************************** + * + * ftsynth.h + * + * FreeType synthesizing code for emboldening and slanting + * (specification). + * + * Copyright (C) 2000-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /********* *********/ + /********* WARNING, THIS IS ALPHA CODE! THIS API *********/ + /********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/ + /********* FREETYPE DEVELOPMENT TEAM *********/ + /********* *********/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /* Main reason for not lifting the functions in this module to a */ + /* 'standard' API is that the used parameters for emboldening and */ + /* slanting are not configurable. Consider the functions as a */ + /* code resource that should be copied into the application and */ + /* adapted to the particular needs. */ + + +#ifndef FTSYNTH_H_ +#define FTSYNTH_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /* Embolden a glyph by a 'reasonable' value (which is highly a matter of */ + /* taste). This function is actually a convenience function, providing */ + /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */ + /* */ + /* For emboldened outlines the height, width, and advance metrics are */ + /* increased by the strength of the emboldening -- this even affects */ + /* mono-width fonts! */ + /* */ + /* You can also call @FT_Outline_Get_CBox to get precise values. */ + FT_EXPORT( void ) + FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); + + /* Slant an outline glyph to the right by about 12 degrees. */ + FT_EXPORT( void ) + FT_GlyphSlot_Oblique( FT_GlyphSlot slot ); + + /* */ + + +FT_END_HEADER + +#endif /* FTSYNTH_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftsystem.h b/android/x86_64/include/freetype/ftsystem.h new file mode 100644 index 00000000..f22bf540 --- /dev/null +++ b/android/x86_64/include/freetype/ftsystem.h @@ -0,0 +1,353 @@ +/**************************************************************************** + * + * ftsystem.h + * + * FreeType low-level system interface definition (specification). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTSYSTEM_H_ +#define FTSYSTEM_H_ + + +#include "ft2build.h" + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * system_interface + * + * @title: + * System Interface + * + * @abstract: + * How FreeType manages memory and i/o. + * + * @description: + * This section contains various definitions related to memory management + * and i/o access. You need to understand this information if you want to + * use a custom memory manager or you own i/o streams. + * + */ + + + /************************************************************************** + * + * M E M O R Y M A N A G E M E N T + * + */ + + + /************************************************************************** + * + * @type: + * FT_Memory + * + * @description: + * A handle to a given memory manager object, defined with an + * @FT_MemoryRec structure. + * + */ + typedef struct FT_MemoryRec_* FT_Memory; + + + /************************************************************************** + * + * @functype: + * FT_Alloc_Func + * + * @description: + * A function used to allocate `size` bytes from `memory`. + * + * @input: + * memory :: + * A handle to the source memory manager. + * + * size :: + * The size in bytes to allocate. + * + * @return: + * Address of new memory block. 0~in case of failure. + * + */ + typedef void* + (*FT_Alloc_Func)( FT_Memory memory, + long size ); + + + /************************************************************************** + * + * @functype: + * FT_Free_Func + * + * @description: + * A function used to release a given block of memory. + * + * @input: + * memory :: + * A handle to the source memory manager. + * + * block :: + * The address of the target memory block. + * + */ + typedef void + (*FT_Free_Func)( FT_Memory memory, + void* block ); + + + /************************************************************************** + * + * @functype: + * FT_Realloc_Func + * + * @description: + * A function used to re-allocate a given block of memory. + * + * @input: + * memory :: + * A handle to the source memory manager. + * + * cur_size :: + * The block's current size in bytes. + * + * new_size :: + * The block's requested new size. + * + * block :: + * The block's current address. + * + * @return: + * New block address. 0~in case of memory shortage. + * + * @note: + * In case of error, the old block must still be available. + * + */ + typedef void* + (*FT_Realloc_Func)( FT_Memory memory, + long cur_size, + long new_size, + void* block ); + + + /************************************************************************** + * + * @struct: + * FT_MemoryRec + * + * @description: + * A structure used to describe a given memory manager to FreeType~2. + * + * @fields: + * user :: + * A generic typeless pointer for user data. + * + * alloc :: + * A pointer type to an allocation function. + * + * free :: + * A pointer type to an memory freeing function. + * + * realloc :: + * A pointer type to a reallocation function. + * + */ + struct FT_MemoryRec_ + { + void* user; + FT_Alloc_Func alloc; + FT_Free_Func free; + FT_Realloc_Func realloc; + }; + + + /************************************************************************** + * + * I / O M A N A G E M E N T + * + */ + + + /************************************************************************** + * + * @type: + * FT_Stream + * + * @description: + * A handle to an input stream. + * + * @also: + * See @FT_StreamRec for the publicly accessible fields of a given stream + * object. + * + */ + typedef struct FT_StreamRec_* FT_Stream; + + + /************************************************************************** + * + * @struct: + * FT_StreamDesc + * + * @description: + * A union type used to store either a long or a pointer. This is used + * to store a file descriptor or a `FILE*` in an input stream. + * + */ + typedef union FT_StreamDesc_ + { + long value; + void* pointer; + + } FT_StreamDesc; + + + /************************************************************************** + * + * @functype: + * FT_Stream_IoFunc + * + * @description: + * A function used to seek and read data from a given input stream. + * + * @input: + * stream :: + * A handle to the source stream. + * + * offset :: + * The offset of read in stream (always from start). + * + * buffer :: + * The address of the read buffer. + * + * count :: + * The number of bytes to read from the stream. + * + * @return: + * The number of bytes effectively read by the stream. + * + * @note: + * This function might be called to perform a seek or skip operation with + * a `count` of~0. A non-zero return value then indicates an error. + * + */ + typedef unsigned long + (*FT_Stream_IoFunc)( FT_Stream stream, + unsigned long offset, + unsigned char* buffer, + unsigned long count ); + + + /************************************************************************** + * + * @functype: + * FT_Stream_CloseFunc + * + * @description: + * A function used to close a given input stream. + * + * @input: + * stream :: + * A handle to the target stream. + * + */ + typedef void + (*FT_Stream_CloseFunc)( FT_Stream stream ); + + + /************************************************************************** + * + * @struct: + * FT_StreamRec + * + * @description: + * A structure used to describe an input stream. + * + * @input: + * base :: + * For memory-based streams, this is the address of the first stream + * byte in memory. This field should always be set to `NULL` for + * disk-based streams. + * + * size :: + * The stream size in bytes. + * + * In case of compressed streams where the size is unknown before + * actually doing the decompression, the value is set to 0x7FFFFFFF. + * (Note that this size value can occur for normal streams also; it is + * thus just a hint.) + * + * pos :: + * The current position within the stream. + * + * descriptor :: + * This field is a union that can hold an integer or a pointer. It is + * used by stream implementations to store file descriptors or `FILE*` + * pointers. + * + * pathname :: + * This field is completely ignored by FreeType. However, it is often + * useful during debugging to use it to store the stream's filename + * (where available). + * + * read :: + * The stream's input function. + * + * close :: + * The stream's close function. + * + * memory :: + * The memory manager to use to preload frames. This is set internally + * by FreeType and shouldn't be touched by stream implementations. + * + * cursor :: + * This field is set and used internally by FreeType when parsing + * frames. In particular, the `FT_GET_XXX` macros use this instead of + * the `pos` field. + * + * limit :: + * This field is set and used internally by FreeType when parsing + * frames. + * + */ + typedef struct FT_StreamRec_ + { + unsigned char* base; + unsigned long size; + unsigned long pos; + + FT_StreamDesc descriptor; + FT_StreamDesc pathname; + FT_Stream_IoFunc read; + FT_Stream_CloseFunc close; + + FT_Memory memory; + unsigned char* cursor; + unsigned char* limit; + + } FT_StreamRec; + + /* */ + + +FT_END_HEADER + +#endif /* FTSYSTEM_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/fttrigon.h b/android/x86_64/include/freetype/fttrigon.h new file mode 100644 index 00000000..37e1412f --- /dev/null +++ b/android/x86_64/include/freetype/fttrigon.h @@ -0,0 +1,350 @@ +/**************************************************************************** + * + * fttrigon.h + * + * FreeType trigonometric functions (specification). + * + * Copyright (C) 2001-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTTRIGON_H_ +#define FTTRIGON_H_ + +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * computations + * + */ + + + /************************************************************************** + * + * @type: + * FT_Angle + * + * @description: + * This type is used to model angle values in FreeType. Note that the + * angle is a 16.16 fixed-point value expressed in degrees. + * + */ + typedef FT_Fixed FT_Angle; + + + /************************************************************************** + * + * @macro: + * FT_ANGLE_PI + * + * @description: + * The angle pi expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_PI ( 180L << 16 ) + + + /************************************************************************** + * + * @macro: + * FT_ANGLE_2PI + * + * @description: + * The angle 2*pi expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_2PI ( FT_ANGLE_PI * 2 ) + + + /************************************************************************** + * + * @macro: + * FT_ANGLE_PI2 + * + * @description: + * The angle pi/2 expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_PI2 ( FT_ANGLE_PI / 2 ) + + + /************************************************************************** + * + * @macro: + * FT_ANGLE_PI4 + * + * @description: + * The angle pi/4 expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_PI4 ( FT_ANGLE_PI / 4 ) + + + /************************************************************************** + * + * @function: + * FT_Sin + * + * @description: + * Return the sinus of a given angle in fixed-point format. + * + * @input: + * angle :: + * The input angle. + * + * @return: + * The sinus value. + * + * @note: + * If you need both the sinus and cosinus for a given angle, use the + * function @FT_Vector_Unit. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Sin( FT_Angle angle ); + + + /************************************************************************** + * + * @function: + * FT_Cos + * + * @description: + * Return the cosinus of a given angle in fixed-point format. + * + * @input: + * angle :: + * The input angle. + * + * @return: + * The cosinus value. + * + * @note: + * If you need both the sinus and cosinus for a given angle, use the + * function @FT_Vector_Unit. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Cos( FT_Angle angle ); + + + /************************************************************************** + * + * @function: + * FT_Tan + * + * @description: + * Return the tangent of a given angle in fixed-point format. + * + * @input: + * angle :: + * The input angle. + * + * @return: + * The tangent value. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Tan( FT_Angle angle ); + + + /************************************************************************** + * + * @function: + * FT_Atan2 + * + * @description: + * Return the arc-tangent corresponding to a given vector (x,y) in the 2d + * plane. + * + * @input: + * x :: + * The horizontal vector coordinate. + * + * y :: + * The vertical vector coordinate. + * + * @return: + * The arc-tangent value (i.e. angle). + * + */ + FT_EXPORT( FT_Angle ) + FT_Atan2( FT_Fixed x, + FT_Fixed y ); + + + /************************************************************************** + * + * @function: + * FT_Angle_Diff + * + * @description: + * Return the difference between two angles. The result is always + * constrained to the ]-PI..PI] interval. + * + * @input: + * angle1 :: + * First angle. + * + * angle2 :: + * Second angle. + * + * @return: + * Constrained value of `angle2-angle1`. + * + */ + FT_EXPORT( FT_Angle ) + FT_Angle_Diff( FT_Angle angle1, + FT_Angle angle2 ); + + + /************************************************************************** + * + * @function: + * FT_Vector_Unit + * + * @description: + * Return the unit vector corresponding to a given angle. After the + * call, the value of `vec.x` will be `cos(angle)`, and the value of + * `vec.y` will be `sin(angle)`. + * + * This function is useful to retrieve both the sinus and cosinus of a + * given angle quickly. + * + * @output: + * vec :: + * The address of target vector. + * + * @input: + * angle :: + * The input angle. + * + */ + FT_EXPORT( void ) + FT_Vector_Unit( FT_Vector* vec, + FT_Angle angle ); + + + /************************************************************************** + * + * @function: + * FT_Vector_Rotate + * + * @description: + * Rotate a vector by a given angle. + * + * @inout: + * vec :: + * The address of target vector. + * + * @input: + * angle :: + * The input angle. + * + */ + FT_EXPORT( void ) + FT_Vector_Rotate( FT_Vector* vec, + FT_Angle angle ); + + + /************************************************************************** + * + * @function: + * FT_Vector_Length + * + * @description: + * Return the length of a given vector. + * + * @input: + * vec :: + * The address of target vector. + * + * @return: + * The vector length, expressed in the same units that the original + * vector coordinates. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Vector_Length( FT_Vector* vec ); + + + /************************************************************************** + * + * @function: + * FT_Vector_Polarize + * + * @description: + * Compute both the length and angle of a given vector. + * + * @input: + * vec :: + * The address of source vector. + * + * @output: + * length :: + * The vector length. + * + * angle :: + * The vector angle. + * + */ + FT_EXPORT( void ) + FT_Vector_Polarize( FT_Vector* vec, + FT_Fixed *length, + FT_Angle *angle ); + + + /************************************************************************** + * + * @function: + * FT_Vector_From_Polar + * + * @description: + * Compute vector coordinates from a length and angle. + * + * @output: + * vec :: + * The address of source vector. + * + * @input: + * length :: + * The vector length. + * + * angle :: + * The vector angle. + * + */ + FT_EXPORT( void ) + FT_Vector_From_Polar( FT_Vector* vec, + FT_Fixed length, + FT_Angle angle ); + + /* */ + + +FT_END_HEADER + +#endif /* FTTRIGON_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/fttypes.h b/android/x86_64/include/freetype/fttypes.h new file mode 100644 index 00000000..2a1bdd06 --- /dev/null +++ b/android/x86_64/include/freetype/fttypes.h @@ -0,0 +1,615 @@ +/**************************************************************************** + * + * fttypes.h + * + * FreeType simple types definitions (specification only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTTYPES_H_ +#define FTTYPES_H_ + + +#include "ft2build.h" +#include FT_CONFIG_CONFIG_H +#include FT_SYSTEM_H +#include FT_IMAGE_H + +#include + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * basic_types + * + * @title: + * Basic Data Types + * + * @abstract: + * The basic data types defined by the library. + * + * @description: + * This section contains the basic data types defined by FreeType~2, + * ranging from simple scalar types to bitmap descriptors. More + * font-specific structures are defined in a different section. + * + * @order: + * FT_Byte + * FT_Bytes + * FT_Char + * FT_Int + * FT_UInt + * FT_Int16 + * FT_UInt16 + * FT_Int32 + * FT_UInt32 + * FT_Int64 + * FT_UInt64 + * FT_Short + * FT_UShort + * FT_Long + * FT_ULong + * FT_Bool + * FT_Offset + * FT_PtrDist + * FT_String + * FT_Tag + * FT_Error + * FT_Fixed + * FT_Pointer + * FT_Pos + * FT_Vector + * FT_BBox + * FT_Matrix + * FT_FWord + * FT_UFWord + * FT_F2Dot14 + * FT_UnitVector + * FT_F26Dot6 + * FT_Data + * + * FT_MAKE_TAG + * + * FT_Generic + * FT_Generic_Finalizer + * + * FT_Bitmap + * FT_Pixel_Mode + * FT_Palette_Mode + * FT_Glyph_Format + * FT_IMAGE_TAG + * + */ + + + /************************************************************************** + * + * @type: + * FT_Bool + * + * @description: + * A typedef of unsigned char, used for simple booleans. As usual, + * values 1 and~0 represent true and false, respectively. + */ + typedef unsigned char FT_Bool; + + + /************************************************************************** + * + * @type: + * FT_FWord + * + * @description: + * A signed 16-bit integer used to store a distance in original font + * units. + */ + typedef signed short FT_FWord; /* distance in FUnits */ + + + /************************************************************************** + * + * @type: + * FT_UFWord + * + * @description: + * An unsigned 16-bit integer used to store a distance in original font + * units. + */ + typedef unsigned short FT_UFWord; /* unsigned distance */ + + + /************************************************************************** + * + * @type: + * FT_Char + * + * @description: + * A simple typedef for the _signed_ char type. + */ + typedef signed char FT_Char; + + + /************************************************************************** + * + * @type: + * FT_Byte + * + * @description: + * A simple typedef for the _unsigned_ char type. + */ + typedef unsigned char FT_Byte; + + + /************************************************************************** + * + * @type: + * FT_Bytes + * + * @description: + * A typedef for constant memory areas. + */ + typedef const FT_Byte* FT_Bytes; + + + /************************************************************************** + * + * @type: + * FT_Tag + * + * @description: + * A typedef for 32-bit tags (as used in the SFNT format). + */ + typedef FT_UInt32 FT_Tag; + + + /************************************************************************** + * + * @type: + * FT_String + * + * @description: + * A simple typedef for the char type, usually used for strings. + */ + typedef char FT_String; + + + /************************************************************************** + * + * @type: + * FT_Short + * + * @description: + * A typedef for signed short. + */ + typedef signed short FT_Short; + + + /************************************************************************** + * + * @type: + * FT_UShort + * + * @description: + * A typedef for unsigned short. + */ + typedef unsigned short FT_UShort; + + + /************************************************************************** + * + * @type: + * FT_Int + * + * @description: + * A typedef for the int type. + */ + typedef signed int FT_Int; + + + /************************************************************************** + * + * @type: + * FT_UInt + * + * @description: + * A typedef for the unsigned int type. + */ + typedef unsigned int FT_UInt; + + + /************************************************************************** + * + * @type: + * FT_Long + * + * @description: + * A typedef for signed long. + */ + typedef signed long FT_Long; + + + /************************************************************************** + * + * @type: + * FT_ULong + * + * @description: + * A typedef for unsigned long. + */ + typedef unsigned long FT_ULong; + + + /************************************************************************** + * + * @type: + * FT_F2Dot14 + * + * @description: + * A signed 2.14 fixed-point type used for unit vectors. + */ + typedef signed short FT_F2Dot14; + + + /************************************************************************** + * + * @type: + * FT_F26Dot6 + * + * @description: + * A signed 26.6 fixed-point type used for vectorial pixel coordinates. + */ + typedef signed long FT_F26Dot6; + + + /************************************************************************** + * + * @type: + * FT_Fixed + * + * @description: + * This type is used to store 16.16 fixed-point values, like scaling + * values or matrix coefficients. + */ + typedef signed long FT_Fixed; + + + /************************************************************************** + * + * @type: + * FT_Error + * + * @description: + * The FreeType error code type. A value of~0 is always interpreted as a + * successful operation. + */ + typedef int FT_Error; + + + /************************************************************************** + * + * @type: + * FT_Pointer + * + * @description: + * A simple typedef for a typeless pointer. + */ + typedef void* FT_Pointer; + + + /************************************************************************** + * + * @type: + * FT_Offset + * + * @description: + * This is equivalent to the ANSI~C `size_t` type, i.e., the largest + * _unsigned_ integer type used to express a file size or position, or a + * memory block size. + */ + typedef size_t FT_Offset; + + + /************************************************************************** + * + * @type: + * FT_PtrDist + * + * @description: + * This is equivalent to the ANSI~C `ptrdiff_t` type, i.e., the largest + * _signed_ integer type used to express the distance between two + * pointers. + */ + typedef ft_ptrdiff_t FT_PtrDist; + + + /************************************************************************** + * + * @struct: + * FT_UnitVector + * + * @description: + * A simple structure used to store a 2D vector unit vector. Uses + * FT_F2Dot14 types. + * + * @fields: + * x :: + * Horizontal coordinate. + * + * y :: + * Vertical coordinate. + */ + typedef struct FT_UnitVector_ + { + FT_F2Dot14 x; + FT_F2Dot14 y; + + } FT_UnitVector; + + + /************************************************************************** + * + * @struct: + * FT_Matrix + * + * @description: + * A simple structure used to store a 2x2 matrix. Coefficients are in + * 16.16 fixed-point format. The computation performed is: + * + * ``` + * x' = x*xx + y*xy + * y' = x*yx + y*yy + * ``` + * + * @fields: + * xx :: + * Matrix coefficient. + * + * xy :: + * Matrix coefficient. + * + * yx :: + * Matrix coefficient. + * + * yy :: + * Matrix coefficient. + */ + typedef struct FT_Matrix_ + { + FT_Fixed xx, xy; + FT_Fixed yx, yy; + + } FT_Matrix; + + + /************************************************************************** + * + * @struct: + * FT_Data + * + * @description: + * Read-only binary data represented as a pointer and a length. + * + * @fields: + * pointer :: + * The data. + * + * length :: + * The length of the data in bytes. + */ + typedef struct FT_Data_ + { + const FT_Byte* pointer; + FT_Int length; + + } FT_Data; + + + /************************************************************************** + * + * @functype: + * FT_Generic_Finalizer + * + * @description: + * Describe a function used to destroy the 'client' data of any FreeType + * object. See the description of the @FT_Generic type for details of + * usage. + * + * @input: + * The address of the FreeType object that is under finalization. Its + * client data is accessed through its `generic` field. + */ + typedef void (*FT_Generic_Finalizer)( void* object ); + + + /************************************************************************** + * + * @struct: + * FT_Generic + * + * @description: + * Client applications often need to associate their own data to a + * variety of FreeType core objects. For example, a text layout API + * might want to associate a glyph cache to a given size object. + * + * Some FreeType object contains a `generic` field, of type `FT_Generic`, + * which usage is left to client applications and font servers. + * + * It can be used to store a pointer to client-specific data, as well as + * the address of a 'finalizer' function, which will be called by + * FreeType when the object is destroyed (for example, the previous + * client example would put the address of the glyph cache destructor in + * the `finalizer` field). + * + * @fields: + * data :: + * A typeless pointer to any client-specified data. This field is + * completely ignored by the FreeType library. + * + * finalizer :: + * A pointer to a 'generic finalizer' function, which will be called + * when the object is destroyed. If this field is set to `NULL`, no + * code will be called. + */ + typedef struct FT_Generic_ + { + void* data; + FT_Generic_Finalizer finalizer; + + } FT_Generic; + + + /************************************************************************** + * + * @macro: + * FT_MAKE_TAG + * + * @description: + * This macro converts four-letter tags that are used to label TrueType + * tables into an unsigned long, to be used within FreeType. + * + * @note: + * The produced values **must** be 32-bit integers. Don't redefine this + * macro. + */ +#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \ + (FT_Tag) \ + ( ( (FT_ULong)_x1 << 24 ) | \ + ( (FT_ULong)_x2 << 16 ) | \ + ( (FT_ULong)_x3 << 8 ) | \ + (FT_ULong)_x4 ) + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* L I S T M A N A G E M E N T */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************** + * + * @section: + * list_processing + * + */ + + + /************************************************************************** + * + * @type: + * FT_ListNode + * + * @description: + * Many elements and objects in FreeType are listed through an @FT_List + * record (see @FT_ListRec). As its name suggests, an FT_ListNode is a + * handle to a single list element. + */ + typedef struct FT_ListNodeRec_* FT_ListNode; + + + /************************************************************************** + * + * @type: + * FT_List + * + * @description: + * A handle to a list record (see @FT_ListRec). + */ + typedef struct FT_ListRec_* FT_List; + + + /************************************************************************** + * + * @struct: + * FT_ListNodeRec + * + * @description: + * A structure used to hold a single list element. + * + * @fields: + * prev :: + * The previous element in the list. `NULL` if first. + * + * next :: + * The next element in the list. `NULL` if last. + * + * data :: + * A typeless pointer to the listed object. + */ + typedef struct FT_ListNodeRec_ + { + FT_ListNode prev; + FT_ListNode next; + void* data; + + } FT_ListNodeRec; + + + /************************************************************************** + * + * @struct: + * FT_ListRec + * + * @description: + * A structure used to hold a simple doubly-linked list. These are used + * in many parts of FreeType. + * + * @fields: + * head :: + * The head (first element) of doubly-linked list. + * + * tail :: + * The tail (last element) of doubly-linked list. + */ + typedef struct FT_ListRec_ + { + FT_ListNode head; + FT_ListNode tail; + + } FT_ListRec; + + /* */ + + +#define FT_IS_EMPTY( list ) ( (list).head == 0 ) +#define FT_BOOL( x ) ( (FT_Bool)( (x) != 0 ) ) + + /* concatenate C tokens */ +#define FT_ERR_XCAT( x, y ) x ## y +#define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y ) + + /* see `ftmoderr.h` for descriptions of the following macros */ + +#define FT_ERR( e ) FT_ERR_CAT( FT_ERR_PREFIX, e ) + +#define FT_ERROR_BASE( x ) ( (x) & 0xFF ) +#define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U ) + +#define FT_ERR_EQ( x, e ) \ + ( FT_ERROR_BASE( x ) == FT_ERROR_BASE( FT_ERR( e ) ) ) +#define FT_ERR_NEQ( x, e ) \ + ( FT_ERROR_BASE( x ) != FT_ERROR_BASE( FT_ERR( e ) ) ) + + +FT_END_HEADER + +#endif /* FTTYPES_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ftwinfnt.h b/android/x86_64/include/freetype/ftwinfnt.h new file mode 100644 index 00000000..7ef0a972 --- /dev/null +++ b/android/x86_64/include/freetype/ftwinfnt.h @@ -0,0 +1,277 @@ +/**************************************************************************** + * + * ftwinfnt.h + * + * FreeType API for accessing Windows fnt-specific data. + * + * Copyright (C) 2003-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef FTWINFNT_H_ +#define FTWINFNT_H_ + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * winfnt_fonts + * + * @title: + * Window FNT Files + * + * @abstract: + * Windows FNT-specific API. + * + * @description: + * This section contains the declaration of Windows FNT-specific + * functions. + * + */ + + + /************************************************************************** + * + * @enum: + * FT_WinFNT_ID_XXX + * + * @description: + * A list of valid values for the `charset` byte in @FT_WinFNT_HeaderRec. + * Exact mapping tables for the various 'cpXXXX' encodings (except for + * 'cp1361') can be found at 'ftp://ftp.unicode.org/Public' in the + * `MAPPINGS/VENDORS/MICSFT/WINDOWS` subdirectory. 'cp1361' is roughly a + * superset of `MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT`. + * + * @values: + * FT_WinFNT_ID_DEFAULT :: + * This is used for font enumeration and font creation as a 'don't + * care' value. Valid font files don't contain this value. When + * querying for information about the character set of the font that is + * currently selected into a specified device context, this return + * value (of the related Windows API) simply denotes failure. + * + * FT_WinFNT_ID_SYMBOL :: + * There is no known mapping table available. + * + * FT_WinFNT_ID_MAC :: + * Mac Roman encoding. + * + * FT_WinFNT_ID_OEM :: + * From Michael Poettgen : + * + * The 'Windows Font Mapping' article says that `FT_WinFNT_ID_OEM` is + * used for the charset of vector fonts, like `modern.fon`, + * `roman.fon`, and `script.fon` on Windows. + * + * The 'CreateFont' documentation says: The `FT_WinFNT_ID_OEM` value + * specifies a character set that is operating-system dependent. + * + * The 'IFIMETRICS' documentation from the 'Windows Driver Development + * Kit' says: This font supports an OEM-specific character set. The + * OEM character set is system dependent. + * + * In general OEM, as opposed to ANSI (i.e., 'cp1252'), denotes the + * second default codepage that most international versions of Windows + * have. It is one of the OEM codepages from + * + * https://docs.microsoft.com/en-us/windows/desktop/intl/code-page-identifiers + * , + * + * and is used for the 'DOS boxes', to support legacy applications. A + * German Windows version for example usually uses ANSI codepage 1252 + * and OEM codepage 850. + * + * FT_WinFNT_ID_CP874 :: + * A superset of Thai TIS 620 and ISO 8859-11. + * + * FT_WinFNT_ID_CP932 :: + * A superset of Japanese Shift-JIS (with minor deviations). + * + * FT_WinFNT_ID_CP936 :: + * A superset of simplified Chinese GB 2312-1980 (with different + * ordering and minor deviations). + * + * FT_WinFNT_ID_CP949 :: + * A superset of Korean Hangul KS~C 5601-1987 (with different ordering + * and minor deviations). + * + * FT_WinFNT_ID_CP950 :: + * A superset of traditional Chinese Big~5 ETen (with different + * ordering and minor deviations). + * + * FT_WinFNT_ID_CP1250 :: + * A superset of East European ISO 8859-2 (with slightly different + * ordering). + * + * FT_WinFNT_ID_CP1251 :: + * A superset of Russian ISO 8859-5 (with different ordering). + * + * FT_WinFNT_ID_CP1252 :: + * ANSI encoding. A superset of ISO 8859-1. + * + * FT_WinFNT_ID_CP1253 :: + * A superset of Greek ISO 8859-7 (with minor modifications). + * + * FT_WinFNT_ID_CP1254 :: + * A superset of Turkish ISO 8859-9. + * + * FT_WinFNT_ID_CP1255 :: + * A superset of Hebrew ISO 8859-8 (with some modifications). + * + * FT_WinFNT_ID_CP1256 :: + * A superset of Arabic ISO 8859-6 (with different ordering). + * + * FT_WinFNT_ID_CP1257 :: + * A superset of Baltic ISO 8859-13 (with some deviations). + * + * FT_WinFNT_ID_CP1258 :: + * For Vietnamese. This encoding doesn't cover all necessary + * characters. + * + * FT_WinFNT_ID_CP1361 :: + * Korean (Johab). + */ + +#define FT_WinFNT_ID_CP1252 0 +#define FT_WinFNT_ID_DEFAULT 1 +#define FT_WinFNT_ID_SYMBOL 2 +#define FT_WinFNT_ID_MAC 77 +#define FT_WinFNT_ID_CP932 128 +#define FT_WinFNT_ID_CP949 129 +#define FT_WinFNT_ID_CP1361 130 +#define FT_WinFNT_ID_CP936 134 +#define FT_WinFNT_ID_CP950 136 +#define FT_WinFNT_ID_CP1253 161 +#define FT_WinFNT_ID_CP1254 162 +#define FT_WinFNT_ID_CP1258 163 +#define FT_WinFNT_ID_CP1255 177 +#define FT_WinFNT_ID_CP1256 178 +#define FT_WinFNT_ID_CP1257 186 +#define FT_WinFNT_ID_CP1251 204 +#define FT_WinFNT_ID_CP874 222 +#define FT_WinFNT_ID_CP1250 238 +#define FT_WinFNT_ID_OEM 255 + + + /************************************************************************** + * + * @struct: + * FT_WinFNT_HeaderRec + * + * @description: + * Windows FNT Header info. + */ + typedef struct FT_WinFNT_HeaderRec_ + { + FT_UShort version; + FT_ULong file_size; + FT_Byte copyright[60]; + FT_UShort file_type; + FT_UShort nominal_point_size; + FT_UShort vertical_resolution; + FT_UShort horizontal_resolution; + FT_UShort ascent; + FT_UShort internal_leading; + FT_UShort external_leading; + FT_Byte italic; + FT_Byte underline; + FT_Byte strike_out; + FT_UShort weight; + FT_Byte charset; + FT_UShort pixel_width; + FT_UShort pixel_height; + FT_Byte pitch_and_family; + FT_UShort avg_width; + FT_UShort max_width; + FT_Byte first_char; + FT_Byte last_char; + FT_Byte default_char; + FT_Byte break_char; + FT_UShort bytes_per_row; + FT_ULong device_offset; + FT_ULong face_name_offset; + FT_ULong bits_pointer; + FT_ULong bits_offset; + FT_Byte reserved; + FT_ULong flags; + FT_UShort A_space; + FT_UShort B_space; + FT_UShort C_space; + FT_UShort color_table_offset; + FT_ULong reserved1[4]; + + } FT_WinFNT_HeaderRec; + + + /************************************************************************** + * + * @struct: + * FT_WinFNT_Header + * + * @description: + * A handle to an @FT_WinFNT_HeaderRec structure. + */ + typedef struct FT_WinFNT_HeaderRec_* FT_WinFNT_Header; + + + /************************************************************************** + * + * @function: + * FT_Get_WinFNT_Header + * + * @description: + * Retrieve a Windows FNT font info header. + * + * @input: + * face :: + * A handle to the input face. + * + * @output: + * aheader :: + * The WinFNT header. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with Windows FNT faces, returning an error + * otherwise. + */ + FT_EXPORT( FT_Error ) + FT_Get_WinFNT_Header( FT_Face face, + FT_WinFNT_HeaderRec *aheader ); + + /* */ + + +FT_END_HEADER + +#endif /* FTWINFNT_H_ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/android/x86_64/include/freetype/t1tables.h b/android/x86_64/include/freetype/t1tables.h new file mode 100644 index 00000000..926bd5a7 --- /dev/null +++ b/android/x86_64/include/freetype/t1tables.h @@ -0,0 +1,774 @@ +/**************************************************************************** + * + * t1tables.h + * + * Basic Type 1/Type 2 tables definitions and interface (specification + * only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef T1TABLES_H_ +#define T1TABLES_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * type1_tables + * + * @title: + * Type 1 Tables + * + * @abstract: + * Type~1-specific font tables. + * + * @description: + * This section contains the definition of Type~1-specific tables, + * including structures related to other PostScript font formats. + * + * @order: + * PS_FontInfoRec + * PS_FontInfo + * PS_PrivateRec + * PS_Private + * + * CID_FaceDictRec + * CID_FaceDict + * CID_FaceInfoRec + * CID_FaceInfo + * + * FT_Has_PS_Glyph_Names + * FT_Get_PS_Font_Info + * FT_Get_PS_Font_Private + * FT_Get_PS_Font_Value + * + * T1_Blend_Flags + * T1_EncodingType + * PS_Dict_Keys + * + */ + + + /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */ + /* structures in order to support Multiple Master fonts. */ + + + /************************************************************************** + * + * @struct: + * PS_FontInfoRec + * + * @description: + * A structure used to model a Type~1 or Type~2 FontInfo dictionary. + * Note that for Multiple Master fonts, each instance has its own + * FontInfo dictionary. + */ + typedef struct PS_FontInfoRec_ + { + FT_String* version; + FT_String* notice; + FT_String* full_name; + FT_String* family_name; + FT_String* weight; + FT_Long italic_angle; + FT_Bool is_fixed_pitch; + FT_Short underline_position; + FT_UShort underline_thickness; + + } PS_FontInfoRec; + + + /************************************************************************** + * + * @struct: + * PS_FontInfo + * + * @description: + * A handle to a @PS_FontInfoRec structure. + */ + typedef struct PS_FontInfoRec_* PS_FontInfo; + + + /************************************************************************** + * + * @struct: + * T1_FontInfo + * + * @description: + * This type is equivalent to @PS_FontInfoRec. It is deprecated but kept + * to maintain source compatibility between various versions of FreeType. + */ + typedef PS_FontInfoRec T1_FontInfo; + + + /************************************************************************** + * + * @struct: + * PS_PrivateRec + * + * @description: + * A structure used to model a Type~1 or Type~2 private dictionary. Note + * that for Multiple Master fonts, each instance has its own Private + * dictionary. + */ + typedef struct PS_PrivateRec_ + { + FT_Int unique_id; + FT_Int lenIV; + + FT_Byte num_blue_values; + FT_Byte num_other_blues; + FT_Byte num_family_blues; + FT_Byte num_family_other_blues; + + FT_Short blue_values[14]; + FT_Short other_blues[10]; + + FT_Short family_blues [14]; + FT_Short family_other_blues[10]; + + FT_Fixed blue_scale; + FT_Int blue_shift; + FT_Int blue_fuzz; + + FT_UShort standard_width[1]; + FT_UShort standard_height[1]; + + FT_Byte num_snap_widths; + FT_Byte num_snap_heights; + FT_Bool force_bold; + FT_Bool round_stem_up; + + FT_Short snap_widths [13]; /* including std width */ + FT_Short snap_heights[13]; /* including std height */ + + FT_Fixed expansion_factor; + + FT_Long language_group; + FT_Long password; + + FT_Short min_feature[2]; + + } PS_PrivateRec; + + + /************************************************************************** + * + * @struct: + * PS_Private + * + * @description: + * A handle to a @PS_PrivateRec structure. + */ + typedef struct PS_PrivateRec_* PS_Private; + + + /************************************************************************** + * + * @struct: + * T1_Private + * + * @description: + * This type is equivalent to @PS_PrivateRec. It is deprecated but kept + * to maintain source compatibility between various versions of FreeType. + */ + typedef PS_PrivateRec T1_Private; + + + /************************************************************************** + * + * @enum: + * T1_Blend_Flags + * + * @description: + * A set of flags used to indicate which fields are present in a given + * blend dictionary (font info or private). Used to support Multiple + * Masters fonts. + * + * @values: + * T1_BLEND_UNDERLINE_POSITION :: + * T1_BLEND_UNDERLINE_THICKNESS :: + * T1_BLEND_ITALIC_ANGLE :: + * T1_BLEND_BLUE_VALUES :: + * T1_BLEND_OTHER_BLUES :: + * T1_BLEND_STANDARD_WIDTH :: + * T1_BLEND_STANDARD_HEIGHT :: + * T1_BLEND_STEM_SNAP_WIDTHS :: + * T1_BLEND_STEM_SNAP_HEIGHTS :: + * T1_BLEND_BLUE_SCALE :: + * T1_BLEND_BLUE_SHIFT :: + * T1_BLEND_FAMILY_BLUES :: + * T1_BLEND_FAMILY_OTHER_BLUES :: + * T1_BLEND_FORCE_BOLD :: + */ + typedef enum T1_Blend_Flags_ + { + /* required fields in a FontInfo blend dictionary */ + T1_BLEND_UNDERLINE_POSITION = 0, + T1_BLEND_UNDERLINE_THICKNESS, + T1_BLEND_ITALIC_ANGLE, + + /* required fields in a Private blend dictionary */ + T1_BLEND_BLUE_VALUES, + T1_BLEND_OTHER_BLUES, + T1_BLEND_STANDARD_WIDTH, + T1_BLEND_STANDARD_HEIGHT, + T1_BLEND_STEM_SNAP_WIDTHS, + T1_BLEND_STEM_SNAP_HEIGHTS, + T1_BLEND_BLUE_SCALE, + T1_BLEND_BLUE_SHIFT, + T1_BLEND_FAMILY_BLUES, + T1_BLEND_FAMILY_OTHER_BLUES, + T1_BLEND_FORCE_BOLD, + + T1_BLEND_MAX /* do not remove */ + + } T1_Blend_Flags; + + + /* these constants are deprecated; use the corresponding */ + /* `T1_Blend_Flags` values instead */ +#define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION +#define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS +#define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE +#define t1_blend_blue_values T1_BLEND_BLUE_VALUES +#define t1_blend_other_blues T1_BLEND_OTHER_BLUES +#define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH +#define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT +#define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS +#define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS +#define t1_blend_blue_scale T1_BLEND_BLUE_SCALE +#define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT +#define t1_blend_family_blues T1_BLEND_FAMILY_BLUES +#define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES +#define t1_blend_force_bold T1_BLEND_FORCE_BOLD +#define t1_blend_max T1_BLEND_MAX + + /* */ + + + /* maximum number of Multiple Masters designs, as defined in the spec */ +#define T1_MAX_MM_DESIGNS 16 + + /* maximum number of Multiple Masters axes, as defined in the spec */ +#define T1_MAX_MM_AXIS 4 + + /* maximum number of elements in a design map */ +#define T1_MAX_MM_MAP_POINTS 20 + + + /* this structure is used to store the BlendDesignMap entry for an axis */ + typedef struct PS_DesignMap_ + { + FT_Byte num_points; + FT_Long* design_points; + FT_Fixed* blend_points; + + } PS_DesignMapRec, *PS_DesignMap; + + /* backward compatible definition */ + typedef PS_DesignMapRec T1_DesignMap; + + + typedef struct PS_BlendRec_ + { + FT_UInt num_designs; + FT_UInt num_axis; + + FT_String* axis_names[T1_MAX_MM_AXIS]; + FT_Fixed* design_pos[T1_MAX_MM_DESIGNS]; + PS_DesignMapRec design_map[T1_MAX_MM_AXIS]; + + FT_Fixed* weight_vector; + FT_Fixed* default_weight_vector; + + PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1]; + PS_Private privates [T1_MAX_MM_DESIGNS + 1]; + + FT_ULong blend_bitflags; + + FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1]; + + /* since 2.3.0 */ + + /* undocumented, optional: the default design instance; */ + /* corresponds to default_weight_vector -- */ + /* num_default_design_vector == 0 means it is not present */ + /* in the font and associated metrics files */ + FT_UInt default_design_vector[T1_MAX_MM_DESIGNS]; + FT_UInt num_default_design_vector; + + } PS_BlendRec, *PS_Blend; + + + /* backward compatible definition */ + typedef PS_BlendRec T1_Blend; + + + /************************************************************************** + * + * @struct: + * CID_FaceDictRec + * + * @description: + * A structure used to represent data in a CID top-level dictionary. In + * most cases, they are part of the font's '/FDArray' array. Within a + * CID font file, such (internal) subfont dictionaries are enclosed by + * '%ADOBeginFontDict' and '%ADOEndFontDict' comments. + * + * Note that `CID_FaceDictRec` misses a field for the '/FontName' + * keyword, specifying the subfont's name (the top-level font name is + * given by the '/CIDFontName' keyword). This is an oversight, but it + * doesn't limit the 'cid' font module's functionality because FreeType + * neither needs this entry nor gives access to CID subfonts. + */ + typedef struct CID_FaceDictRec_ + { + PS_PrivateRec private_dict; + + FT_UInt len_buildchar; + FT_Fixed forcebold_threshold; + FT_Pos stroke_width; + FT_Fixed expansion_factor; /* this is a duplicate of */ + /* `private_dict->expansion_factor' */ + FT_Byte paint_type; + FT_Byte font_type; + FT_Matrix font_matrix; + FT_Vector font_offset; + + FT_UInt num_subrs; + FT_ULong subrmap_offset; + FT_Int sd_bytes; + + } CID_FaceDictRec; + + + /************************************************************************** + * + * @struct: + * CID_FaceDict + * + * @description: + * A handle to a @CID_FaceDictRec structure. + */ + typedef struct CID_FaceDictRec_* CID_FaceDict; + + + /************************************************************************** + * + * @struct: + * CID_FontDict + * + * @description: + * This type is equivalent to @CID_FaceDictRec. It is deprecated but + * kept to maintain source compatibility between various versions of + * FreeType. + */ + typedef CID_FaceDictRec CID_FontDict; + + + /************************************************************************** + * + * @struct: + * CID_FaceInfoRec + * + * @description: + * A structure used to represent CID Face information. + */ + typedef struct CID_FaceInfoRec_ + { + FT_String* cid_font_name; + FT_Fixed cid_version; + FT_Int cid_font_type; + + FT_String* registry; + FT_String* ordering; + FT_Int supplement; + + PS_FontInfoRec font_info; + FT_BBox font_bbox; + FT_ULong uid_base; + + FT_Int num_xuid; + FT_ULong xuid[16]; + + FT_ULong cidmap_offset; + FT_Int fd_bytes; + FT_Int gd_bytes; + FT_ULong cid_count; + + FT_Int num_dicts; + CID_FaceDict font_dicts; + + FT_ULong data_offset; + + } CID_FaceInfoRec; + + + /************************************************************************** + * + * @struct: + * CID_FaceInfo + * + * @description: + * A handle to a @CID_FaceInfoRec structure. + */ + typedef struct CID_FaceInfoRec_* CID_FaceInfo; + + + /************************************************************************** + * + * @struct: + * CID_Info + * + * @description: + * This type is equivalent to @CID_FaceInfoRec. It is deprecated but kept + * to maintain source compatibility between various versions of FreeType. + */ + typedef CID_FaceInfoRec CID_Info; + + + /************************************************************************** + * + * @function: + * FT_Has_PS_Glyph_Names + * + * @description: + * Return true if a given face provides reliable PostScript glyph names. + * This is similar to using the @FT_HAS_GLYPH_NAMES macro, except that + * certain fonts (mostly TrueType) contain incorrect glyph name tables. + * + * When this function returns true, the caller is sure that the glyph + * names returned by @FT_Get_Glyph_Name are reliable. + * + * @input: + * face :: + * face handle + * + * @return: + * Boolean. True if glyph names are reliable. + * + */ + FT_EXPORT( FT_Int ) + FT_Has_PS_Glyph_Names( FT_Face face ); + + + /************************************************************************** + * + * @function: + * FT_Get_PS_Font_Info + * + * @description: + * Retrieve the @PS_FontInfoRec structure corresponding to a given + * PostScript font. + * + * @input: + * face :: + * PostScript face handle. + * + * @output: + * afont_info :: + * Output font info structure pointer. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * String pointers within the @PS_FontInfoRec structure are owned by the + * face and don't need to be freed by the caller. Missing entries in + * the font's FontInfo dictionary are represented by `NULL` pointers. + * + * If the font's format is not PostScript-based, this function will + * return the `FT_Err_Invalid_Argument` error code. + * + */ + FT_EXPORT( FT_Error ) + FT_Get_PS_Font_Info( FT_Face face, + PS_FontInfo afont_info ); + + + /************************************************************************** + * + * @function: + * FT_Get_PS_Font_Private + * + * @description: + * Retrieve the @PS_PrivateRec structure corresponding to a given + * PostScript font. + * + * @input: + * face :: + * PostScript face handle. + * + * @output: + * afont_private :: + * Output private dictionary structure pointer. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The string pointers within the @PS_PrivateRec structure are owned by + * the face and don't need to be freed by the caller. + * + * If the font's format is not PostScript-based, this function returns + * the `FT_Err_Invalid_Argument` error code. + * + */ + FT_EXPORT( FT_Error ) + FT_Get_PS_Font_Private( FT_Face face, + PS_Private afont_private ); + + + /************************************************************************** + * + * @enum: + * T1_EncodingType + * + * @description: + * An enumeration describing the 'Encoding' entry in a Type 1 dictionary. + * + * @values: + * T1_ENCODING_TYPE_NONE :: + * T1_ENCODING_TYPE_ARRAY :: + * T1_ENCODING_TYPE_STANDARD :: + * T1_ENCODING_TYPE_ISOLATIN1 :: + * T1_ENCODING_TYPE_EXPERT :: + * + * @since: + * 2.4.8 + */ + typedef enum T1_EncodingType_ + { + T1_ENCODING_TYPE_NONE = 0, + T1_ENCODING_TYPE_ARRAY, + T1_ENCODING_TYPE_STANDARD, + T1_ENCODING_TYPE_ISOLATIN1, + T1_ENCODING_TYPE_EXPERT + + } T1_EncodingType; + + + /************************************************************************** + * + * @enum: + * PS_Dict_Keys + * + * @description: + * An enumeration used in calls to @FT_Get_PS_Font_Value to identify the + * Type~1 dictionary entry to retrieve. + * + * @values: + * PS_DICT_FONT_TYPE :: + * PS_DICT_FONT_MATRIX :: + * PS_DICT_FONT_BBOX :: + * PS_DICT_PAINT_TYPE :: + * PS_DICT_FONT_NAME :: + * PS_DICT_UNIQUE_ID :: + * PS_DICT_NUM_CHAR_STRINGS :: + * PS_DICT_CHAR_STRING_KEY :: + * PS_DICT_CHAR_STRING :: + * PS_DICT_ENCODING_TYPE :: + * PS_DICT_ENCODING_ENTRY :: + * PS_DICT_NUM_SUBRS :: + * PS_DICT_SUBR :: + * PS_DICT_STD_HW :: + * PS_DICT_STD_VW :: + * PS_DICT_NUM_BLUE_VALUES :: + * PS_DICT_BLUE_VALUE :: + * PS_DICT_BLUE_FUZZ :: + * PS_DICT_NUM_OTHER_BLUES :: + * PS_DICT_OTHER_BLUE :: + * PS_DICT_NUM_FAMILY_BLUES :: + * PS_DICT_FAMILY_BLUE :: + * PS_DICT_NUM_FAMILY_OTHER_BLUES :: + * PS_DICT_FAMILY_OTHER_BLUE :: + * PS_DICT_BLUE_SCALE :: + * PS_DICT_BLUE_SHIFT :: + * PS_DICT_NUM_STEM_SNAP_H :: + * PS_DICT_STEM_SNAP_H :: + * PS_DICT_NUM_STEM_SNAP_V :: + * PS_DICT_STEM_SNAP_V :: + * PS_DICT_FORCE_BOLD :: + * PS_DICT_RND_STEM_UP :: + * PS_DICT_MIN_FEATURE :: + * PS_DICT_LEN_IV :: + * PS_DICT_PASSWORD :: + * PS_DICT_LANGUAGE_GROUP :: + * PS_DICT_VERSION :: + * PS_DICT_NOTICE :: + * PS_DICT_FULL_NAME :: + * PS_DICT_FAMILY_NAME :: + * PS_DICT_WEIGHT :: + * PS_DICT_IS_FIXED_PITCH :: + * PS_DICT_UNDERLINE_POSITION :: + * PS_DICT_UNDERLINE_THICKNESS :: + * PS_DICT_FS_TYPE :: + * PS_DICT_ITALIC_ANGLE :: + * + * @since: + * 2.4.8 + */ + typedef enum PS_Dict_Keys_ + { + /* conventionally in the font dictionary */ + PS_DICT_FONT_TYPE, /* FT_Byte */ + PS_DICT_FONT_MATRIX, /* FT_Fixed */ + PS_DICT_FONT_BBOX, /* FT_Fixed */ + PS_DICT_PAINT_TYPE, /* FT_Byte */ + PS_DICT_FONT_NAME, /* FT_String* */ + PS_DICT_UNIQUE_ID, /* FT_Int */ + PS_DICT_NUM_CHAR_STRINGS, /* FT_Int */ + PS_DICT_CHAR_STRING_KEY, /* FT_String* */ + PS_DICT_CHAR_STRING, /* FT_String* */ + PS_DICT_ENCODING_TYPE, /* T1_EncodingType */ + PS_DICT_ENCODING_ENTRY, /* FT_String* */ + + /* conventionally in the font Private dictionary */ + PS_DICT_NUM_SUBRS, /* FT_Int */ + PS_DICT_SUBR, /* FT_String* */ + PS_DICT_STD_HW, /* FT_UShort */ + PS_DICT_STD_VW, /* FT_UShort */ + PS_DICT_NUM_BLUE_VALUES, /* FT_Byte */ + PS_DICT_BLUE_VALUE, /* FT_Short */ + PS_DICT_BLUE_FUZZ, /* FT_Int */ + PS_DICT_NUM_OTHER_BLUES, /* FT_Byte */ + PS_DICT_OTHER_BLUE, /* FT_Short */ + PS_DICT_NUM_FAMILY_BLUES, /* FT_Byte */ + PS_DICT_FAMILY_BLUE, /* FT_Short */ + PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte */ + PS_DICT_FAMILY_OTHER_BLUE, /* FT_Short */ + PS_DICT_BLUE_SCALE, /* FT_Fixed */ + PS_DICT_BLUE_SHIFT, /* FT_Int */ + PS_DICT_NUM_STEM_SNAP_H, /* FT_Byte */ + PS_DICT_STEM_SNAP_H, /* FT_Short */ + PS_DICT_NUM_STEM_SNAP_V, /* FT_Byte */ + PS_DICT_STEM_SNAP_V, /* FT_Short */ + PS_DICT_FORCE_BOLD, /* FT_Bool */ + PS_DICT_RND_STEM_UP, /* FT_Bool */ + PS_DICT_MIN_FEATURE, /* FT_Short */ + PS_DICT_LEN_IV, /* FT_Int */ + PS_DICT_PASSWORD, /* FT_Long */ + PS_DICT_LANGUAGE_GROUP, /* FT_Long */ + + /* conventionally in the font FontInfo dictionary */ + PS_DICT_VERSION, /* FT_String* */ + PS_DICT_NOTICE, /* FT_String* */ + PS_DICT_FULL_NAME, /* FT_String* */ + PS_DICT_FAMILY_NAME, /* FT_String* */ + PS_DICT_WEIGHT, /* FT_String* */ + PS_DICT_IS_FIXED_PITCH, /* FT_Bool */ + PS_DICT_UNDERLINE_POSITION, /* FT_Short */ + PS_DICT_UNDERLINE_THICKNESS, /* FT_UShort */ + PS_DICT_FS_TYPE, /* FT_UShort */ + PS_DICT_ITALIC_ANGLE, /* FT_Long */ + + PS_DICT_MAX = PS_DICT_ITALIC_ANGLE + + } PS_Dict_Keys; + + + /************************************************************************** + * + * @function: + * FT_Get_PS_Font_Value + * + * @description: + * Retrieve the value for the supplied key from a PostScript font. + * + * @input: + * face :: + * PostScript face handle. + * + * key :: + * An enumeration value representing the dictionary key to retrieve. + * + * idx :: + * For array values, this specifies the index to be returned. + * + * value :: + * A pointer to memory into which to write the value. + * + * valen_len :: + * The size, in bytes, of the memory supplied for the value. + * + * @output: + * value :: + * The value matching the above key, if it exists. + * + * @return: + * The amount of memory (in bytes) required to hold the requested value + * (if it exists, -1 otherwise). + * + * @note: + * The values returned are not pointers into the internal structures of + * the face, but are 'fresh' copies, so that the memory containing them + * belongs to the calling application. This also enforces the + * 'read-only' nature of these values, i.e., this function cannot be + * used to manipulate the face. + * + * `value` is a void pointer because the values returned can be of + * various types. + * + * If either `value` is `NULL` or `value_len` is too small, just the + * required memory size for the requested entry is returned. + * + * The `idx` parameter is used, not only to retrieve elements of, for + * example, the FontMatrix or FontBBox, but also to retrieve name keys + * from the CharStrings dictionary, and the charstrings themselves. It + * is ignored for atomic values. + * + * `PS_DICT_BLUE_SCALE` returns a value that is scaled up by 1000. To + * get the value as in the font stream, you need to divide by 65536000.0 + * (to remove the FT_Fixed scale, and the x1000 scale). + * + * IMPORTANT: Only key/value pairs read by the FreeType interpreter can + * be retrieved. So, for example, PostScript procedures such as NP, ND, + * and RD are not available. Arbitrary keys are, obviously, not be + * available either. + * + * If the font's format is not PostScript-based, this function returns + * the `FT_Err_Invalid_Argument` error code. + * + * @since: + * 2.4.8 + * + */ + FT_EXPORT( FT_Long ) + FT_Get_PS_Font_Value( FT_Face face, + PS_Dict_Keys key, + FT_UInt idx, + void *value, + FT_Long value_len ); + + /* */ + +FT_END_HEADER + +#endif /* T1TABLES_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/ttnameid.h b/android/x86_64/include/freetype/ttnameid.h new file mode 100644 index 00000000..669dc4ad --- /dev/null +++ b/android/x86_64/include/freetype/ttnameid.h @@ -0,0 +1,1236 @@ +/**************************************************************************** + * + * ttnameid.h + * + * TrueType name ID definitions (specification only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef TTNAMEID_H_ +#define TTNAMEID_H_ + + +#include "ft2build.h" + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * truetype_tables + */ + + + /************************************************************************** + * + * Possible values for the 'platform' identifier code in the name records + * of an SFNT 'name' table. + * + */ + + + /************************************************************************** + * + * @enum: + * TT_PLATFORM_XXX + * + * @description: + * A list of valid values for the `platform_id` identifier code in + * @FT_CharMapRec and @FT_SfntName structures. + * + * @values: + * TT_PLATFORM_APPLE_UNICODE :: + * Used by Apple to indicate a Unicode character map and/or name entry. + * See @TT_APPLE_ID_XXX for corresponding `encoding_id` values. Note + * that name entries in this format are coded as big-endian UCS-2 + * character codes _only_. + * + * TT_PLATFORM_MACINTOSH :: + * Used by Apple to indicate a MacOS-specific charmap and/or name + * entry. See @TT_MAC_ID_XXX for corresponding `encoding_id` values. + * Note that most TrueType fonts contain an Apple roman charmap to be + * usable on MacOS systems (even if they contain a Microsoft charmap as + * well). + * + * TT_PLATFORM_ISO :: + * This value was used to specify ISO/IEC 10646 charmaps. It is + * however now deprecated. See @TT_ISO_ID_XXX for a list of + * corresponding `encoding_id` values. + * + * TT_PLATFORM_MICROSOFT :: + * Used by Microsoft to indicate Windows-specific charmaps. See + * @TT_MS_ID_XXX for a list of corresponding `encoding_id` values. + * Note that most fonts contain a Unicode charmap using + * (`TT_PLATFORM_MICROSOFT`, @TT_MS_ID_UNICODE_CS). + * + * TT_PLATFORM_CUSTOM :: + * Used to indicate application-specific charmaps. + * + * TT_PLATFORM_ADOBE :: + * This value isn't part of any font format specification, but is used + * by FreeType to report Adobe-specific charmaps in an @FT_CharMapRec + * structure. See @TT_ADOBE_ID_XXX. + */ + +#define TT_PLATFORM_APPLE_UNICODE 0 +#define TT_PLATFORM_MACINTOSH 1 +#define TT_PLATFORM_ISO 2 /* deprecated */ +#define TT_PLATFORM_MICROSOFT 3 +#define TT_PLATFORM_CUSTOM 4 +#define TT_PLATFORM_ADOBE 7 /* artificial */ + + + /************************************************************************** + * + * @enum: + * TT_APPLE_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id` for + * @TT_PLATFORM_APPLE_UNICODE charmaps and name entries. + * + * @values: + * TT_APPLE_ID_DEFAULT :: + * Unicode version 1.0. + * + * TT_APPLE_ID_UNICODE_1_1 :: + * Unicode 1.1; specifies Hangul characters starting at U+34xx. + * + * TT_APPLE_ID_ISO_10646 :: + * Deprecated (identical to preceding). + * + * TT_APPLE_ID_UNICODE_2_0 :: + * Unicode 2.0 and beyond (UTF-16 BMP only). + * + * TT_APPLE_ID_UNICODE_32 :: + * Unicode 3.1 and beyond, using UTF-32. + * + * TT_APPLE_ID_VARIANT_SELECTOR :: + * From Adobe, not Apple. Not a normal cmap. Specifies variations on + * a real cmap. + * + * TT_APPLE_ID_FULL_UNICODE :: + * Used for fallback fonts that provide complete Unicode coverage with + * a type~13 cmap. + */ + +#define TT_APPLE_ID_DEFAULT 0 /* Unicode 1.0 */ +#define TT_APPLE_ID_UNICODE_1_1 1 /* specify Hangul at U+34xx */ +#define TT_APPLE_ID_ISO_10646 2 /* deprecated */ +#define TT_APPLE_ID_UNICODE_2_0 3 /* or later */ +#define TT_APPLE_ID_UNICODE_32 4 /* 2.0 or later, full repertoire */ +#define TT_APPLE_ID_VARIANT_SELECTOR 5 /* variation selector data */ +#define TT_APPLE_ID_FULL_UNICODE 6 /* used with type 13 cmaps */ + + + /************************************************************************** + * + * @enum: + * TT_MAC_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id` for + * @TT_PLATFORM_MACINTOSH charmaps and name entries. + */ + +#define TT_MAC_ID_ROMAN 0 +#define TT_MAC_ID_JAPANESE 1 +#define TT_MAC_ID_TRADITIONAL_CHINESE 2 +#define TT_MAC_ID_KOREAN 3 +#define TT_MAC_ID_ARABIC 4 +#define TT_MAC_ID_HEBREW 5 +#define TT_MAC_ID_GREEK 6 +#define TT_MAC_ID_RUSSIAN 7 +#define TT_MAC_ID_RSYMBOL 8 +#define TT_MAC_ID_DEVANAGARI 9 +#define TT_MAC_ID_GURMUKHI 10 +#define TT_MAC_ID_GUJARATI 11 +#define TT_MAC_ID_ORIYA 12 +#define TT_MAC_ID_BENGALI 13 +#define TT_MAC_ID_TAMIL 14 +#define TT_MAC_ID_TELUGU 15 +#define TT_MAC_ID_KANNADA 16 +#define TT_MAC_ID_MALAYALAM 17 +#define TT_MAC_ID_SINHALESE 18 +#define TT_MAC_ID_BURMESE 19 +#define TT_MAC_ID_KHMER 20 +#define TT_MAC_ID_THAI 21 +#define TT_MAC_ID_LAOTIAN 22 +#define TT_MAC_ID_GEORGIAN 23 +#define TT_MAC_ID_ARMENIAN 24 +#define TT_MAC_ID_MALDIVIAN 25 +#define TT_MAC_ID_SIMPLIFIED_CHINESE 25 +#define TT_MAC_ID_TIBETAN 26 +#define TT_MAC_ID_MONGOLIAN 27 +#define TT_MAC_ID_GEEZ 28 +#define TT_MAC_ID_SLAVIC 29 +#define TT_MAC_ID_VIETNAMESE 30 +#define TT_MAC_ID_SINDHI 31 +#define TT_MAC_ID_UNINTERP 32 + + + /************************************************************************** + * + * @enum: + * TT_ISO_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id` for @TT_PLATFORM_ISO + * charmaps and name entries. + * + * Their use is now deprecated. + * + * @values: + * TT_ISO_ID_7BIT_ASCII :: + * ASCII. + * TT_ISO_ID_10646 :: + * ISO/10646. + * TT_ISO_ID_8859_1 :: + * Also known as Latin-1. + */ + +#define TT_ISO_ID_7BIT_ASCII 0 +#define TT_ISO_ID_10646 1 +#define TT_ISO_ID_8859_1 2 + + + /************************************************************************** + * + * @enum: + * TT_MS_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id` for + * @TT_PLATFORM_MICROSOFT charmaps and name entries. + * + * @values: + * TT_MS_ID_SYMBOL_CS :: + * Microsoft symbol encoding. See @FT_ENCODING_MS_SYMBOL. + * + * TT_MS_ID_UNICODE_CS :: + * Microsoft WGL4 charmap, matching Unicode. See @FT_ENCODING_UNICODE. + * + * TT_MS_ID_SJIS :: + * Shift JIS Japanese encoding. See @FT_ENCODING_SJIS. + * + * TT_MS_ID_PRC :: + * Chinese encodings as used in the People's Republic of China (PRC). + * This means the encodings GB~2312 and its supersets GBK and GB~18030. + * See @FT_ENCODING_PRC. + * + * TT_MS_ID_BIG_5 :: + * Traditional Chinese as used in Taiwan and Hong Kong. See + * @FT_ENCODING_BIG5. + * + * TT_MS_ID_WANSUNG :: + * Korean Extended Wansung encoding. See @FT_ENCODING_WANSUNG. + * + * TT_MS_ID_JOHAB :: + * Korean Johab encoding. See @FT_ENCODING_JOHAB. + * + * TT_MS_ID_UCS_4 :: + * UCS-4 or UTF-32 charmaps. This has been added to the OpenType + * specification version 1.4 (mid-2001). + */ + +#define TT_MS_ID_SYMBOL_CS 0 +#define TT_MS_ID_UNICODE_CS 1 +#define TT_MS_ID_SJIS 2 +#define TT_MS_ID_PRC 3 +#define TT_MS_ID_BIG_5 4 +#define TT_MS_ID_WANSUNG 5 +#define TT_MS_ID_JOHAB 6 +#define TT_MS_ID_UCS_4 10 + + /* this value is deprecated */ +#define TT_MS_ID_GB2312 TT_MS_ID_PRC + + + /************************************************************************** + * + * @enum: + * TT_ADOBE_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id` for @TT_PLATFORM_ADOBE + * charmaps. This is a FreeType-specific extension! + * + * @values: + * TT_ADOBE_ID_STANDARD :: + * Adobe standard encoding. + * TT_ADOBE_ID_EXPERT :: + * Adobe expert encoding. + * TT_ADOBE_ID_CUSTOM :: + * Adobe custom encoding. + * TT_ADOBE_ID_LATIN_1 :: + * Adobe Latin~1 encoding. + */ + +#define TT_ADOBE_ID_STANDARD 0 +#define TT_ADOBE_ID_EXPERT 1 +#define TT_ADOBE_ID_CUSTOM 2 +#define TT_ADOBE_ID_LATIN_1 3 + + + /************************************************************************** + * + * @enum: + * TT_MAC_LANGID_XXX + * + * @description: + * Possible values of the language identifier field in the name records + * of the SFNT 'name' table if the 'platform' identifier code is + * @TT_PLATFORM_MACINTOSH. These values are also used as return values + * for function @FT_Get_CMap_Language_ID. + * + * The canonical source for Apple's IDs is + * + * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html + */ + +#define TT_MAC_LANGID_ENGLISH 0 +#define TT_MAC_LANGID_FRENCH 1 +#define TT_MAC_LANGID_GERMAN 2 +#define TT_MAC_LANGID_ITALIAN 3 +#define TT_MAC_LANGID_DUTCH 4 +#define TT_MAC_LANGID_SWEDISH 5 +#define TT_MAC_LANGID_SPANISH 6 +#define TT_MAC_LANGID_DANISH 7 +#define TT_MAC_LANGID_PORTUGUESE 8 +#define TT_MAC_LANGID_NORWEGIAN 9 +#define TT_MAC_LANGID_HEBREW 10 +#define TT_MAC_LANGID_JAPANESE 11 +#define TT_MAC_LANGID_ARABIC 12 +#define TT_MAC_LANGID_FINNISH 13 +#define TT_MAC_LANGID_GREEK 14 +#define TT_MAC_LANGID_ICELANDIC 15 +#define TT_MAC_LANGID_MALTESE 16 +#define TT_MAC_LANGID_TURKISH 17 +#define TT_MAC_LANGID_CROATIAN 18 +#define TT_MAC_LANGID_CHINESE_TRADITIONAL 19 +#define TT_MAC_LANGID_URDU 20 +#define TT_MAC_LANGID_HINDI 21 +#define TT_MAC_LANGID_THAI 22 +#define TT_MAC_LANGID_KOREAN 23 +#define TT_MAC_LANGID_LITHUANIAN 24 +#define TT_MAC_LANGID_POLISH 25 +#define TT_MAC_LANGID_HUNGARIAN 26 +#define TT_MAC_LANGID_ESTONIAN 27 +#define TT_MAC_LANGID_LETTISH 28 +#define TT_MAC_LANGID_SAAMISK 29 +#define TT_MAC_LANGID_FAEROESE 30 +#define TT_MAC_LANGID_FARSI 31 +#define TT_MAC_LANGID_RUSSIAN 32 +#define TT_MAC_LANGID_CHINESE_SIMPLIFIED 33 +#define TT_MAC_LANGID_FLEMISH 34 +#define TT_MAC_LANGID_IRISH 35 +#define TT_MAC_LANGID_ALBANIAN 36 +#define TT_MAC_LANGID_ROMANIAN 37 +#define TT_MAC_LANGID_CZECH 38 +#define TT_MAC_LANGID_SLOVAK 39 +#define TT_MAC_LANGID_SLOVENIAN 40 +#define TT_MAC_LANGID_YIDDISH 41 +#define TT_MAC_LANGID_SERBIAN 42 +#define TT_MAC_LANGID_MACEDONIAN 43 +#define TT_MAC_LANGID_BULGARIAN 44 +#define TT_MAC_LANGID_UKRAINIAN 45 +#define TT_MAC_LANGID_BYELORUSSIAN 46 +#define TT_MAC_LANGID_UZBEK 47 +#define TT_MAC_LANGID_KAZAKH 48 +#define TT_MAC_LANGID_AZERBAIJANI 49 +#define TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT 49 +#define TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT 50 +#define TT_MAC_LANGID_ARMENIAN 51 +#define TT_MAC_LANGID_GEORGIAN 52 +#define TT_MAC_LANGID_MOLDAVIAN 53 +#define TT_MAC_LANGID_KIRGHIZ 54 +#define TT_MAC_LANGID_TAJIKI 55 +#define TT_MAC_LANGID_TURKMEN 56 +#define TT_MAC_LANGID_MONGOLIAN 57 +#define TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT 57 +#define TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT 58 +#define TT_MAC_LANGID_PASHTO 59 +#define TT_MAC_LANGID_KURDISH 60 +#define TT_MAC_LANGID_KASHMIRI 61 +#define TT_MAC_LANGID_SINDHI 62 +#define TT_MAC_LANGID_TIBETAN 63 +#define TT_MAC_LANGID_NEPALI 64 +#define TT_MAC_LANGID_SANSKRIT 65 +#define TT_MAC_LANGID_MARATHI 66 +#define TT_MAC_LANGID_BENGALI 67 +#define TT_MAC_LANGID_ASSAMESE 68 +#define TT_MAC_LANGID_GUJARATI 69 +#define TT_MAC_LANGID_PUNJABI 70 +#define TT_MAC_LANGID_ORIYA 71 +#define TT_MAC_LANGID_MALAYALAM 72 +#define TT_MAC_LANGID_KANNADA 73 +#define TT_MAC_LANGID_TAMIL 74 +#define TT_MAC_LANGID_TELUGU 75 +#define TT_MAC_LANGID_SINHALESE 76 +#define TT_MAC_LANGID_BURMESE 77 +#define TT_MAC_LANGID_KHMER 78 +#define TT_MAC_LANGID_LAO 79 +#define TT_MAC_LANGID_VIETNAMESE 80 +#define TT_MAC_LANGID_INDONESIAN 81 +#define TT_MAC_LANGID_TAGALOG 82 +#define TT_MAC_LANGID_MALAY_ROMAN_SCRIPT 83 +#define TT_MAC_LANGID_MALAY_ARABIC_SCRIPT 84 +#define TT_MAC_LANGID_AMHARIC 85 +#define TT_MAC_LANGID_TIGRINYA 86 +#define TT_MAC_LANGID_GALLA 87 +#define TT_MAC_LANGID_SOMALI 88 +#define TT_MAC_LANGID_SWAHILI 89 +#define TT_MAC_LANGID_RUANDA 90 +#define TT_MAC_LANGID_RUNDI 91 +#define TT_MAC_LANGID_CHEWA 92 +#define TT_MAC_LANGID_MALAGASY 93 +#define TT_MAC_LANGID_ESPERANTO 94 +#define TT_MAC_LANGID_WELSH 128 +#define TT_MAC_LANGID_BASQUE 129 +#define TT_MAC_LANGID_CATALAN 130 +#define TT_MAC_LANGID_LATIN 131 +#define TT_MAC_LANGID_QUECHUA 132 +#define TT_MAC_LANGID_GUARANI 133 +#define TT_MAC_LANGID_AYMARA 134 +#define TT_MAC_LANGID_TATAR 135 +#define TT_MAC_LANGID_UIGHUR 136 +#define TT_MAC_LANGID_DZONGKHA 137 +#define TT_MAC_LANGID_JAVANESE 138 +#define TT_MAC_LANGID_SUNDANESE 139 + + /* The following codes are new as of 2000-03-10 */ +#define TT_MAC_LANGID_GALICIAN 140 +#define TT_MAC_LANGID_AFRIKAANS 141 +#define TT_MAC_LANGID_BRETON 142 +#define TT_MAC_LANGID_INUKTITUT 143 +#define TT_MAC_LANGID_SCOTTISH_GAELIC 144 +#define TT_MAC_LANGID_MANX_GAELIC 145 +#define TT_MAC_LANGID_IRISH_GAELIC 146 +#define TT_MAC_LANGID_TONGAN 147 +#define TT_MAC_LANGID_GREEK_POLYTONIC 148 +#define TT_MAC_LANGID_GREELANDIC 149 +#define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT 150 + + + /************************************************************************** + * + * @enum: + * TT_MS_LANGID_XXX + * + * @description: + * Possible values of the language identifier field in the name records + * of the SFNT 'name' table if the 'platform' identifier code is + * @TT_PLATFORM_MICROSOFT. These values are also used as return values + * for function @FT_Get_CMap_Language_ID. + * + * The canonical source for Microsoft's IDs is + * + * https://docs.microsoft.com/en-us/windows/desktop/Intl/language-identifier-constants-and-strings , + * + * however, we only provide macros for language identifiers present in + * the OpenType specification: Microsoft has abandoned the concept of + * LCIDs (language code identifiers), and format~1 of the 'name' table + * provides a better mechanism for languages not covered here. + * + * More legacy values not listed in the reference can be found in the + * @FT_TRUETYPE_IDS_H header file. + */ + +#define TT_MS_LANGID_ARABIC_SAUDI_ARABIA 0x0401 +#define TT_MS_LANGID_ARABIC_IRAQ 0x0801 +#define TT_MS_LANGID_ARABIC_EGYPT 0x0C01 +#define TT_MS_LANGID_ARABIC_LIBYA 0x1001 +#define TT_MS_LANGID_ARABIC_ALGERIA 0x1401 +#define TT_MS_LANGID_ARABIC_MOROCCO 0x1801 +#define TT_MS_LANGID_ARABIC_TUNISIA 0x1C01 +#define TT_MS_LANGID_ARABIC_OMAN 0x2001 +#define TT_MS_LANGID_ARABIC_YEMEN 0x2401 +#define TT_MS_LANGID_ARABIC_SYRIA 0x2801 +#define TT_MS_LANGID_ARABIC_JORDAN 0x2C01 +#define TT_MS_LANGID_ARABIC_LEBANON 0x3001 +#define TT_MS_LANGID_ARABIC_KUWAIT 0x3401 +#define TT_MS_LANGID_ARABIC_UAE 0x3801 +#define TT_MS_LANGID_ARABIC_BAHRAIN 0x3C01 +#define TT_MS_LANGID_ARABIC_QATAR 0x4001 +#define TT_MS_LANGID_BULGARIAN_BULGARIA 0x0402 +#define TT_MS_LANGID_CATALAN_CATALAN 0x0403 +#define TT_MS_LANGID_CHINESE_TAIWAN 0x0404 +#define TT_MS_LANGID_CHINESE_PRC 0x0804 +#define TT_MS_LANGID_CHINESE_HONG_KONG 0x0C04 +#define TT_MS_LANGID_CHINESE_SINGAPORE 0x1004 +#define TT_MS_LANGID_CHINESE_MACAO 0x1404 +#define TT_MS_LANGID_CZECH_CZECH_REPUBLIC 0x0405 +#define TT_MS_LANGID_DANISH_DENMARK 0x0406 +#define TT_MS_LANGID_GERMAN_GERMANY 0x0407 +#define TT_MS_LANGID_GERMAN_SWITZERLAND 0x0807 +#define TT_MS_LANGID_GERMAN_AUSTRIA 0x0C07 +#define TT_MS_LANGID_GERMAN_LUXEMBOURG 0x1007 +#define TT_MS_LANGID_GERMAN_LIECHTENSTEIN 0x1407 +#define TT_MS_LANGID_GREEK_GREECE 0x0408 +#define TT_MS_LANGID_ENGLISH_UNITED_STATES 0x0409 +#define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM 0x0809 +#define TT_MS_LANGID_ENGLISH_AUSTRALIA 0x0C09 +#define TT_MS_LANGID_ENGLISH_CANADA 0x1009 +#define TT_MS_LANGID_ENGLISH_NEW_ZEALAND 0x1409 +#define TT_MS_LANGID_ENGLISH_IRELAND 0x1809 +#define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA 0x1C09 +#define TT_MS_LANGID_ENGLISH_JAMAICA 0x2009 +#define TT_MS_LANGID_ENGLISH_CARIBBEAN 0x2409 +#define TT_MS_LANGID_ENGLISH_BELIZE 0x2809 +#define TT_MS_LANGID_ENGLISH_TRINIDAD 0x2C09 +#define TT_MS_LANGID_ENGLISH_ZIMBABWE 0x3009 +#define TT_MS_LANGID_ENGLISH_PHILIPPINES 0x3409 +#define TT_MS_LANGID_ENGLISH_INDIA 0x4009 +#define TT_MS_LANGID_ENGLISH_MALAYSIA 0x4409 +#define TT_MS_LANGID_ENGLISH_SINGAPORE 0x4809 +#define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT 0x040A +#define TT_MS_LANGID_SPANISH_MEXICO 0x080A +#define TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT 0x0C0A +#define TT_MS_LANGID_SPANISH_GUATEMALA 0x100A +#define TT_MS_LANGID_SPANISH_COSTA_RICA 0x140A +#define TT_MS_LANGID_SPANISH_PANAMA 0x180A +#define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC 0x1C0A +#define TT_MS_LANGID_SPANISH_VENEZUELA 0x200A +#define TT_MS_LANGID_SPANISH_COLOMBIA 0x240A +#define TT_MS_LANGID_SPANISH_PERU 0x280A +#define TT_MS_LANGID_SPANISH_ARGENTINA 0x2C0A +#define TT_MS_LANGID_SPANISH_ECUADOR 0x300A +#define TT_MS_LANGID_SPANISH_CHILE 0x340A +#define TT_MS_LANGID_SPANISH_URUGUAY 0x380A +#define TT_MS_LANGID_SPANISH_PARAGUAY 0x3C0A +#define TT_MS_LANGID_SPANISH_BOLIVIA 0x400A +#define TT_MS_LANGID_SPANISH_EL_SALVADOR 0x440A +#define TT_MS_LANGID_SPANISH_HONDURAS 0x480A +#define TT_MS_LANGID_SPANISH_NICARAGUA 0x4C0A +#define TT_MS_LANGID_SPANISH_PUERTO_RICO 0x500A +#define TT_MS_LANGID_SPANISH_UNITED_STATES 0x540A +#define TT_MS_LANGID_FINNISH_FINLAND 0x040B +#define TT_MS_LANGID_FRENCH_FRANCE 0x040C +#define TT_MS_LANGID_FRENCH_BELGIUM 0x080C +#define TT_MS_LANGID_FRENCH_CANADA 0x0C0C +#define TT_MS_LANGID_FRENCH_SWITZERLAND 0x100C +#define TT_MS_LANGID_FRENCH_LUXEMBOURG 0x140C +#define TT_MS_LANGID_FRENCH_MONACO 0x180C +#define TT_MS_LANGID_HEBREW_ISRAEL 0x040D +#define TT_MS_LANGID_HUNGARIAN_HUNGARY 0x040E +#define TT_MS_LANGID_ICELANDIC_ICELAND 0x040F +#define TT_MS_LANGID_ITALIAN_ITALY 0x0410 +#define TT_MS_LANGID_ITALIAN_SWITZERLAND 0x0810 +#define TT_MS_LANGID_JAPANESE_JAPAN 0x0411 +#define TT_MS_LANGID_KOREAN_KOREA 0x0412 +#define TT_MS_LANGID_DUTCH_NETHERLANDS 0x0413 +#define TT_MS_LANGID_DUTCH_BELGIUM 0x0813 +#define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL 0x0414 +#define TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK 0x0814 +#define TT_MS_LANGID_POLISH_POLAND 0x0415 +#define TT_MS_LANGID_PORTUGUESE_BRAZIL 0x0416 +#define TT_MS_LANGID_PORTUGUESE_PORTUGAL 0x0816 +#define TT_MS_LANGID_ROMANSH_SWITZERLAND 0x0417 +#define TT_MS_LANGID_ROMANIAN_ROMANIA 0x0418 +#define TT_MS_LANGID_RUSSIAN_RUSSIA 0x0419 +#define TT_MS_LANGID_CROATIAN_CROATIA 0x041A +#define TT_MS_LANGID_SERBIAN_SERBIA_LATIN 0x081A +#define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC 0x0C1A +#define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA 0x101A +#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x141A +#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN 0x181A +#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC 0x1C1A +#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC 0x201A +#define TT_MS_LANGID_SLOVAK_SLOVAKIA 0x041B +#define TT_MS_LANGID_ALBANIAN_ALBANIA 0x041C +#define TT_MS_LANGID_SWEDISH_SWEDEN 0x041D +#define TT_MS_LANGID_SWEDISH_FINLAND 0x081D +#define TT_MS_LANGID_THAI_THAILAND 0x041E +#define TT_MS_LANGID_TURKISH_TURKEY 0x041F +#define TT_MS_LANGID_URDU_PAKISTAN 0x0420 +#define TT_MS_LANGID_INDONESIAN_INDONESIA 0x0421 +#define TT_MS_LANGID_UKRAINIAN_UKRAINE 0x0422 +#define TT_MS_LANGID_BELARUSIAN_BELARUS 0x0423 +#define TT_MS_LANGID_SLOVENIAN_SLOVENIA 0x0424 +#define TT_MS_LANGID_ESTONIAN_ESTONIA 0x0425 +#define TT_MS_LANGID_LATVIAN_LATVIA 0x0426 +#define TT_MS_LANGID_LITHUANIAN_LITHUANIA 0x0427 +#define TT_MS_LANGID_TAJIK_TAJIKISTAN 0x0428 +#define TT_MS_LANGID_VIETNAMESE_VIET_NAM 0x042A +#define TT_MS_LANGID_ARMENIAN_ARMENIA 0x042B +#define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN 0x042C +#define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC 0x082C +#define TT_MS_LANGID_BASQUE_BASQUE 0x042D +#define TT_MS_LANGID_UPPER_SORBIAN_GERMANY 0x042E +#define TT_MS_LANGID_LOWER_SORBIAN_GERMANY 0x082E +#define TT_MS_LANGID_MACEDONIAN_MACEDONIA 0x042F +#define TT_MS_LANGID_SETSWANA_SOUTH_AFRICA 0x0432 +#define TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA 0x0434 +#define TT_MS_LANGID_ISIZULU_SOUTH_AFRICA 0x0435 +#define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA 0x0436 +#define TT_MS_LANGID_GEORGIAN_GEORGIA 0x0437 +#define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS 0x0438 +#define TT_MS_LANGID_HINDI_INDIA 0x0439 +#define TT_MS_LANGID_MALTESE_MALTA 0x043A +#define TT_MS_LANGID_SAMI_NORTHERN_NORWAY 0x043B +#define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN 0x083B +#define TT_MS_LANGID_SAMI_NORTHERN_FINLAND 0x0C3B +#define TT_MS_LANGID_SAMI_LULE_NORWAY 0x103B +#define TT_MS_LANGID_SAMI_LULE_SWEDEN 0x143B +#define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY 0x183B +#define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN 0x1C3B +#define TT_MS_LANGID_SAMI_SKOLT_FINLAND 0x203B +#define TT_MS_LANGID_SAMI_INARI_FINLAND 0x243B +#define TT_MS_LANGID_IRISH_IRELAND 0x083C +#define TT_MS_LANGID_MALAY_MALAYSIA 0x043E +#define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM 0x083E +#define TT_MS_LANGID_KAZAKH_KAZAKHSTAN 0x043F +#define TT_MS_LANGID_KYRGYZ_KYRGYZSTAN /* Cyrillic*/ 0x0440 +#define TT_MS_LANGID_KISWAHILI_KENYA 0x0441 +#define TT_MS_LANGID_TURKMEN_TURKMENISTAN 0x0442 +#define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN 0x0443 +#define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC 0x0843 +#define TT_MS_LANGID_TATAR_RUSSIA 0x0444 +#define TT_MS_LANGID_BENGALI_INDIA 0x0445 +#define TT_MS_LANGID_BENGALI_BANGLADESH 0x0845 +#define TT_MS_LANGID_PUNJABI_INDIA 0x0446 +#define TT_MS_LANGID_GUJARATI_INDIA 0x0447 +#define TT_MS_LANGID_ODIA_INDIA 0x0448 +#define TT_MS_LANGID_TAMIL_INDIA 0x0449 +#define TT_MS_LANGID_TELUGU_INDIA 0x044A +#define TT_MS_LANGID_KANNADA_INDIA 0x044B +#define TT_MS_LANGID_MALAYALAM_INDIA 0x044C +#define TT_MS_LANGID_ASSAMESE_INDIA 0x044D +#define TT_MS_LANGID_MARATHI_INDIA 0x044E +#define TT_MS_LANGID_SANSKRIT_INDIA 0x044F +#define TT_MS_LANGID_MONGOLIAN_MONGOLIA /* Cyrillic */ 0x0450 +#define TT_MS_LANGID_MONGOLIAN_PRC 0x0850 +#define TT_MS_LANGID_TIBETAN_PRC 0x0451 +#define TT_MS_LANGID_WELSH_UNITED_KINGDOM 0x0452 +#define TT_MS_LANGID_KHMER_CAMBODIA 0x0453 +#define TT_MS_LANGID_LAO_LAOS 0x0454 +#define TT_MS_LANGID_GALICIAN_GALICIAN 0x0456 +#define TT_MS_LANGID_KONKANI_INDIA 0x0457 +#define TT_MS_LANGID_SYRIAC_SYRIA 0x045A +#define TT_MS_LANGID_SINHALA_SRI_LANKA 0x045B +#define TT_MS_LANGID_INUKTITUT_CANADA 0x045D +#define TT_MS_LANGID_INUKTITUT_CANADA_LATIN 0x085D +#define TT_MS_LANGID_AMHARIC_ETHIOPIA 0x045E +#define TT_MS_LANGID_TAMAZIGHT_ALGERIA 0x085F +#define TT_MS_LANGID_NEPALI_NEPAL 0x0461 +#define TT_MS_LANGID_FRISIAN_NETHERLANDS 0x0462 +#define TT_MS_LANGID_PASHTO_AFGHANISTAN 0x0463 +#define TT_MS_LANGID_FILIPINO_PHILIPPINES 0x0464 +#define TT_MS_LANGID_DHIVEHI_MALDIVES 0x0465 +#define TT_MS_LANGID_HAUSA_NIGERIA 0x0468 +#define TT_MS_LANGID_YORUBA_NIGERIA 0x046A +#define TT_MS_LANGID_QUECHUA_BOLIVIA 0x046B +#define TT_MS_LANGID_QUECHUA_ECUADOR 0x086B +#define TT_MS_LANGID_QUECHUA_PERU 0x0C6B +#define TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA 0x046C +#define TT_MS_LANGID_BASHKIR_RUSSIA 0x046D +#define TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG 0x046E +#define TT_MS_LANGID_GREENLANDIC_GREENLAND 0x046F +#define TT_MS_LANGID_IGBO_NIGERIA 0x0470 +#define TT_MS_LANGID_YI_PRC 0x0478 +#define TT_MS_LANGID_MAPUDUNGUN_CHILE 0x047A +#define TT_MS_LANGID_MOHAWK_MOHAWK 0x047C +#define TT_MS_LANGID_BRETON_FRANCE 0x047E +#define TT_MS_LANGID_UIGHUR_PRC 0x0480 +#define TT_MS_LANGID_MAORI_NEW_ZEALAND 0x0481 +#define TT_MS_LANGID_OCCITAN_FRANCE 0x0482 +#define TT_MS_LANGID_CORSICAN_FRANCE 0x0483 +#define TT_MS_LANGID_ALSATIAN_FRANCE 0x0484 +#define TT_MS_LANGID_YAKUT_RUSSIA 0x0485 +#define TT_MS_LANGID_KICHE_GUATEMALA 0x0486 +#define TT_MS_LANGID_KINYARWANDA_RWANDA 0x0487 +#define TT_MS_LANGID_WOLOF_SENEGAL 0x0488 +#define TT_MS_LANGID_DARI_AFGHANISTAN 0x048C + + /* */ + + + /* legacy macro definitions not present in OpenType 1.8.1 */ +#define TT_MS_LANGID_ARABIC_GENERAL 0x0001 +#define TT_MS_LANGID_CATALAN_SPAIN \ + TT_MS_LANGID_CATALAN_CATALAN +#define TT_MS_LANGID_CHINESE_GENERAL 0x0004 +#define TT_MS_LANGID_CHINESE_MACAU \ + TT_MS_LANGID_CHINESE_MACAO +#define TT_MS_LANGID_GERMAN_LIECHTENSTEI \ + TT_MS_LANGID_GERMAN_LIECHTENSTEIN +#define TT_MS_LANGID_ENGLISH_GENERAL 0x0009 +#define TT_MS_LANGID_ENGLISH_INDONESIA 0x3809 +#define TT_MS_LANGID_ENGLISH_HONG_KONG 0x3C09 +#define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT \ + TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT +#define TT_MS_LANGID_SPANISH_LATIN_AMERICA 0xE40AU +#define TT_MS_LANGID_FRENCH_WEST_INDIES 0x1C0C +#define TT_MS_LANGID_FRENCH_REUNION 0x200C +#define TT_MS_LANGID_FRENCH_CONGO 0x240C + /* which was formerly: */ +#define TT_MS_LANGID_FRENCH_ZAIRE \ + TT_MS_LANGID_FRENCH_CONGO +#define TT_MS_LANGID_FRENCH_SENEGAL 0x280C +#define TT_MS_LANGID_FRENCH_CAMEROON 0x2C0C +#define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE 0x300C +#define TT_MS_LANGID_FRENCH_MALI 0x340C +#define TT_MS_LANGID_FRENCH_MOROCCO 0x380C +#define TT_MS_LANGID_FRENCH_HAITI 0x3C0C +#define TT_MS_LANGID_FRENCH_NORTH_AFRICA 0xE40CU +#define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA \ + TT_MS_LANGID_KOREAN_KOREA +#define TT_MS_LANGID_KOREAN_JOHAB_KOREA 0x0812 +#define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND \ + TT_MS_LANGID_ROMANSH_SWITZERLAND +#define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA 0x0818 +#define TT_MS_LANGID_RUSSIAN_MOLDAVIA 0x0819 +#define TT_MS_LANGID_URDU_INDIA 0x0820 +#define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA 0x0827 +#define TT_MS_LANGID_SLOVENE_SLOVENIA \ + TT_MS_LANGID_SLOVENIAN_SLOVENIA +#define TT_MS_LANGID_FARSI_IRAN 0x0429 +#define TT_MS_LANGID_BASQUE_SPAIN \ + TT_MS_LANGID_BASQUE_BASQUE +#define TT_MS_LANGID_SORBIAN_GERMANY \ + TT_MS_LANGID_UPPER_SORBIAN_GERMANY +#define TT_MS_LANGID_SUTU_SOUTH_AFRICA 0x0430 +#define TT_MS_LANGID_TSONGA_SOUTH_AFRICA 0x0431 +#define TT_MS_LANGID_TSWANA_SOUTH_AFRICA \ + TT_MS_LANGID_SETSWANA_SOUTH_AFRICA +#define TT_MS_LANGID_VENDA_SOUTH_AFRICA 0x0433 +#define TT_MS_LANGID_XHOSA_SOUTH_AFRICA \ + TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA +#define TT_MS_LANGID_ZULU_SOUTH_AFRICA \ + TT_MS_LANGID_ISIZULU_SOUTH_AFRICA +#define TT_MS_LANGID_SAAMI_LAPONIA 0x043B + /* the next two values are incorrectly inverted */ +#define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043C +#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083C +#define TT_MS_LANGID_YIDDISH_GERMANY 0x043D +#define TT_MS_LANGID_KAZAK_KAZAKSTAN \ + TT_MS_LANGID_KAZAKH_KAZAKHSTAN +#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \ + TT_MS_LANGID_KYRGYZ_KYRGYZSTAN +#define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN \ + TT_MS_LANGID_KYRGYZ_KYRGYZSTAN +#define TT_MS_LANGID_SWAHILI_KENYA \ + TT_MS_LANGID_KISWAHILI_KENYA +#define TT_MS_LANGID_TATAR_TATARSTAN \ + TT_MS_LANGID_TATAR_RUSSIA +#define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN 0x0846 +#define TT_MS_LANGID_ORIYA_INDIA \ + TT_MS_LANGID_ODIA_INDIA +#define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN \ + TT_MS_LANGID_MONGOLIAN_PRC +#define TT_MS_LANGID_TIBETAN_CHINA \ + TT_MS_LANGID_TIBETAN_PRC +#define TT_MS_LANGID_DZONGHKA_BHUTAN 0x0851 +#define TT_MS_LANGID_TIBETAN_BHUTAN \ + TT_MS_LANGID_DZONGHKA_BHUTAN +#define TT_MS_LANGID_WELSH_WALES \ + TT_MS_LANGID_WELSH_UNITED_KINGDOM +#define TT_MS_LANGID_BURMESE_MYANMAR 0x0455 +#define TT_MS_LANGID_GALICIAN_SPAIN \ + TT_MS_LANGID_GALICIAN_GALICIAN +#define TT_MS_LANGID_MANIPURI_INDIA /* Bengali */ 0x0458 +#define TT_MS_LANGID_SINDHI_INDIA /* Arabic */ 0x0459 +#define TT_MS_LANGID_SINDHI_PAKISTAN 0x0859 +#define TT_MS_LANGID_SINHALESE_SRI_LANKA \ + TT_MS_LANGID_SINHALA_SRI_LANKA +#define TT_MS_LANGID_CHEROKEE_UNITED_STATES 0x045C +#define TT_MS_LANGID_TAMAZIGHT_MOROCCO /* Arabic */ 0x045F +#define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN \ + TT_MS_LANGID_TAMAZIGHT_ALGERIA +#define TT_MS_LANGID_KASHMIRI_PAKISTAN /* Arabic */ 0x0460 +#define TT_MS_LANGID_KASHMIRI_SASIA 0x0860 +#define TT_MS_LANGID_KASHMIRI_INDIA \ + TT_MS_LANGID_KASHMIRI_SASIA +#define TT_MS_LANGID_NEPALI_INDIA 0x0861 +#define TT_MS_LANGID_DIVEHI_MALDIVES \ + TT_MS_LANGID_DHIVEHI_MALDIVES +#define TT_MS_LANGID_EDO_NIGERIA 0x0466 +#define TT_MS_LANGID_FULFULDE_NIGERIA 0x0467 +#define TT_MS_LANGID_IBIBIO_NIGERIA 0x0469 +#define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA \ + TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA +#define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \ + TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA +#define TT_MS_LANGID_KANURI_NIGERIA 0x0471 +#define TT_MS_LANGID_OROMO_ETHIOPIA 0x0472 +#define TT_MS_LANGID_TIGRIGNA_ETHIOPIA 0x0473 +#define TT_MS_LANGID_TIGRIGNA_ERYTHREA 0x0873 +#define TT_MS_LANGID_TIGRIGNA_ERYTREA \ + TT_MS_LANGID_TIGRIGNA_ERYTHREA +#define TT_MS_LANGID_GUARANI_PARAGUAY 0x0474 +#define TT_MS_LANGID_HAWAIIAN_UNITED_STATES 0x0475 +#define TT_MS_LANGID_LATIN 0x0476 +#define TT_MS_LANGID_SOMALI_SOMALIA 0x0477 +#define TT_MS_LANGID_YI_CHINA \ + TT_MS_LANGID_YI_PRC +#define TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES 0x0479 +#define TT_MS_LANGID_UIGHUR_CHINA \ + TT_MS_LANGID_UIGHUR_PRC + + + /************************************************************************** + * + * @enum: + * TT_NAME_ID_XXX + * + * @description: + * Possible values of the 'name' identifier field in the name records of + * an SFNT 'name' table. These values are platform independent. + */ + +#define TT_NAME_ID_COPYRIGHT 0 +#define TT_NAME_ID_FONT_FAMILY 1 +#define TT_NAME_ID_FONT_SUBFAMILY 2 +#define TT_NAME_ID_UNIQUE_ID 3 +#define TT_NAME_ID_FULL_NAME 4 +#define TT_NAME_ID_VERSION_STRING 5 +#define TT_NAME_ID_PS_NAME 6 +#define TT_NAME_ID_TRADEMARK 7 + + /* the following values are from the OpenType spec */ +#define TT_NAME_ID_MANUFACTURER 8 +#define TT_NAME_ID_DESIGNER 9 +#define TT_NAME_ID_DESCRIPTION 10 +#define TT_NAME_ID_VENDOR_URL 11 +#define TT_NAME_ID_DESIGNER_URL 12 +#define TT_NAME_ID_LICENSE 13 +#define TT_NAME_ID_LICENSE_URL 14 + /* number 15 is reserved */ +#define TT_NAME_ID_TYPOGRAPHIC_FAMILY 16 +#define TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY 17 +#define TT_NAME_ID_MAC_FULL_NAME 18 + + /* The following code is new as of 2000-01-21 */ +#define TT_NAME_ID_SAMPLE_TEXT 19 + + /* This is new in OpenType 1.3 */ +#define TT_NAME_ID_CID_FINDFONT_NAME 20 + + /* This is new in OpenType 1.5 */ +#define TT_NAME_ID_WWS_FAMILY 21 +#define TT_NAME_ID_WWS_SUBFAMILY 22 + + /* This is new in OpenType 1.7 */ +#define TT_NAME_ID_LIGHT_BACKGROUND 23 +#define TT_NAME_ID_DARK_BACKGROUND 24 + + /* This is new in OpenType 1.8 */ +#define TT_NAME_ID_VARIATIONS_PREFIX 25 + + /* these two values are deprecated */ +#define TT_NAME_ID_PREFERRED_FAMILY TT_NAME_ID_TYPOGRAPHIC_FAMILY +#define TT_NAME_ID_PREFERRED_SUBFAMILY TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY + + + /************************************************************************** + * + * @enum: + * TT_UCR_XXX + * + * @description: + * Possible bit mask values for the `ulUnicodeRangeX` fields in an SFNT + * 'OS/2' table. + */ + + /* ulUnicodeRange1 */ + /* --------------- */ + + /* Bit 0 Basic Latin */ +#define TT_UCR_BASIC_LATIN (1L << 0) /* U+0020-U+007E */ + /* Bit 1 C1 Controls and Latin-1 Supplement */ +#define TT_UCR_LATIN1_SUPPLEMENT (1L << 1) /* U+0080-U+00FF */ + /* Bit 2 Latin Extended-A */ +#define TT_UCR_LATIN_EXTENDED_A (1L << 2) /* U+0100-U+017F */ + /* Bit 3 Latin Extended-B */ +#define TT_UCR_LATIN_EXTENDED_B (1L << 3) /* U+0180-U+024F */ + /* Bit 4 IPA Extensions */ + /* Phonetic Extensions */ + /* Phonetic Extensions Supplement */ +#define TT_UCR_IPA_EXTENSIONS (1L << 4) /* U+0250-U+02AF */ + /* U+1D00-U+1D7F */ + /* U+1D80-U+1DBF */ + /* Bit 5 Spacing Modifier Letters */ + /* Modifier Tone Letters */ +#define TT_UCR_SPACING_MODIFIER (1L << 5) /* U+02B0-U+02FF */ + /* U+A700-U+A71F */ + /* Bit 6 Combining Diacritical Marks */ + /* Combining Diacritical Marks Supplement */ +#define TT_UCR_COMBINING_DIACRITICAL_MARKS (1L << 6) /* U+0300-U+036F */ + /* U+1DC0-U+1DFF */ + /* Bit 7 Greek and Coptic */ +#define TT_UCR_GREEK (1L << 7) /* U+0370-U+03FF */ + /* Bit 8 Coptic */ +#define TT_UCR_COPTIC (1L << 8) /* U+2C80-U+2CFF */ + /* Bit 9 Cyrillic */ + /* Cyrillic Supplement */ + /* Cyrillic Extended-A */ + /* Cyrillic Extended-B */ +#define TT_UCR_CYRILLIC (1L << 9) /* U+0400-U+04FF */ + /* U+0500-U+052F */ + /* U+2DE0-U+2DFF */ + /* U+A640-U+A69F */ + /* Bit 10 Armenian */ +#define TT_UCR_ARMENIAN (1L << 10) /* U+0530-U+058F */ + /* Bit 11 Hebrew */ +#define TT_UCR_HEBREW (1L << 11) /* U+0590-U+05FF */ + /* Bit 12 Vai */ +#define TT_UCR_VAI (1L << 12) /* U+A500-U+A63F */ + /* Bit 13 Arabic */ + /* Arabic Supplement */ +#define TT_UCR_ARABIC (1L << 13) /* U+0600-U+06FF */ + /* U+0750-U+077F */ + /* Bit 14 NKo */ +#define TT_UCR_NKO (1L << 14) /* U+07C0-U+07FF */ + /* Bit 15 Devanagari */ +#define TT_UCR_DEVANAGARI (1L << 15) /* U+0900-U+097F */ + /* Bit 16 Bengali */ +#define TT_UCR_BENGALI (1L << 16) /* U+0980-U+09FF */ + /* Bit 17 Gurmukhi */ +#define TT_UCR_GURMUKHI (1L << 17) /* U+0A00-U+0A7F */ + /* Bit 18 Gujarati */ +#define TT_UCR_GUJARATI (1L << 18) /* U+0A80-U+0AFF */ + /* Bit 19 Oriya */ +#define TT_UCR_ORIYA (1L << 19) /* U+0B00-U+0B7F */ + /* Bit 20 Tamil */ +#define TT_UCR_TAMIL (1L << 20) /* U+0B80-U+0BFF */ + /* Bit 21 Telugu */ +#define TT_UCR_TELUGU (1L << 21) /* U+0C00-U+0C7F */ + /* Bit 22 Kannada */ +#define TT_UCR_KANNADA (1L << 22) /* U+0C80-U+0CFF */ + /* Bit 23 Malayalam */ +#define TT_UCR_MALAYALAM (1L << 23) /* U+0D00-U+0D7F */ + /* Bit 24 Thai */ +#define TT_UCR_THAI (1L << 24) /* U+0E00-U+0E7F */ + /* Bit 25 Lao */ +#define TT_UCR_LAO (1L << 25) /* U+0E80-U+0EFF */ + /* Bit 26 Georgian */ + /* Georgian Supplement */ +#define TT_UCR_GEORGIAN (1L << 26) /* U+10A0-U+10FF */ + /* U+2D00-U+2D2F */ + /* Bit 27 Balinese */ +#define TT_UCR_BALINESE (1L << 27) /* U+1B00-U+1B7F */ + /* Bit 28 Hangul Jamo */ +#define TT_UCR_HANGUL_JAMO (1L << 28) /* U+1100-U+11FF */ + /* Bit 29 Latin Extended Additional */ + /* Latin Extended-C */ + /* Latin Extended-D */ +#define TT_UCR_LATIN_EXTENDED_ADDITIONAL (1L << 29) /* U+1E00-U+1EFF */ + /* U+2C60-U+2C7F */ + /* U+A720-U+A7FF */ + /* Bit 30 Greek Extended */ +#define TT_UCR_GREEK_EXTENDED (1L << 30) /* U+1F00-U+1FFF */ + /* Bit 31 General Punctuation */ + /* Supplemental Punctuation */ +#define TT_UCR_GENERAL_PUNCTUATION (1L << 31) /* U+2000-U+206F */ + /* U+2E00-U+2E7F */ + + /* ulUnicodeRange2 */ + /* --------------- */ + + /* Bit 32 Superscripts And Subscripts */ +#define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) /* U+2070-U+209F */ + /* Bit 33 Currency Symbols */ +#define TT_UCR_CURRENCY_SYMBOLS (1L << 1) /* U+20A0-U+20CF */ + /* Bit 34 Combining Diacritical Marks For Symbols */ +#define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \ + (1L << 2) /* U+20D0-U+20FF */ + /* Bit 35 Letterlike Symbols */ +#define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */ + /* Bit 36 Number Forms */ +#define TT_UCR_NUMBER_FORMS (1L << 4) /* U+2150-U+218F */ + /* Bit 37 Arrows */ + /* Supplemental Arrows-A */ + /* Supplemental Arrows-B */ + /* Miscellaneous Symbols and Arrows */ +#define TT_UCR_ARROWS (1L << 5) /* U+2190-U+21FF */ + /* U+27F0-U+27FF */ + /* U+2900-U+297F */ + /* U+2B00-U+2BFF */ + /* Bit 38 Mathematical Operators */ + /* Supplemental Mathematical Operators */ + /* Miscellaneous Mathematical Symbols-A */ + /* Miscellaneous Mathematical Symbols-B */ +#define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) /* U+2200-U+22FF */ + /* U+2A00-U+2AFF */ + /* U+27C0-U+27EF */ + /* U+2980-U+29FF */ + /* Bit 39 Miscellaneous Technical */ +#define TT_UCR_MISCELLANEOUS_TECHNICAL (1L << 7) /* U+2300-U+23FF */ + /* Bit 40 Control Pictures */ +#define TT_UCR_CONTROL_PICTURES (1L << 8) /* U+2400-U+243F */ + /* Bit 41 Optical Character Recognition */ +#define TT_UCR_OCR (1L << 9) /* U+2440-U+245F */ + /* Bit 42 Enclosed Alphanumerics */ +#define TT_UCR_ENCLOSED_ALPHANUMERICS (1L << 10) /* U+2460-U+24FF */ + /* Bit 43 Box Drawing */ +#define TT_UCR_BOX_DRAWING (1L << 11) /* U+2500-U+257F */ + /* Bit 44 Block Elements */ +#define TT_UCR_BLOCK_ELEMENTS (1L << 12) /* U+2580-U+259F */ + /* Bit 45 Geometric Shapes */ +#define TT_UCR_GEOMETRIC_SHAPES (1L << 13) /* U+25A0-U+25FF */ + /* Bit 46 Miscellaneous Symbols */ +#define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) /* U+2600-U+26FF */ + /* Bit 47 Dingbats */ +#define TT_UCR_DINGBATS (1L << 15) /* U+2700-U+27BF */ + /* Bit 48 CJK Symbols and Punctuation */ +#define TT_UCR_CJK_SYMBOLS (1L << 16) /* U+3000-U+303F */ + /* Bit 49 Hiragana */ +#define TT_UCR_HIRAGANA (1L << 17) /* U+3040-U+309F */ + /* Bit 50 Katakana */ + /* Katakana Phonetic Extensions */ +#define TT_UCR_KATAKANA (1L << 18) /* U+30A0-U+30FF */ + /* U+31F0-U+31FF */ + /* Bit 51 Bopomofo */ + /* Bopomofo Extended */ +#define TT_UCR_BOPOMOFO (1L << 19) /* U+3100-U+312F */ + /* U+31A0-U+31BF */ + /* Bit 52 Hangul Compatibility Jamo */ +#define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) /* U+3130-U+318F */ + /* Bit 53 Phags-Pa */ +#define TT_UCR_CJK_MISC (1L << 21) /* U+A840-U+A87F */ +#define TT_UCR_KANBUN TT_UCR_CJK_MISC /* deprecated */ +#define TT_UCR_PHAGSPA + /* Bit 54 Enclosed CJK Letters and Months */ +#define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS (1L << 22) /* U+3200-U+32FF */ + /* Bit 55 CJK Compatibility */ +#define TT_UCR_CJK_COMPATIBILITY (1L << 23) /* U+3300-U+33FF */ + /* Bit 56 Hangul Syllables */ +#define TT_UCR_HANGUL (1L << 24) /* U+AC00-U+D7A3 */ + /* Bit 57 High Surrogates */ + /* High Private Use Surrogates */ + /* Low Surrogates */ + + /* According to OpenType specs v.1.3+, */ + /* setting bit 57 implies that there is */ + /* at least one codepoint beyond the */ + /* Basic Multilingual Plane that is */ + /* supported by this font. So it really */ + /* means >= U+10000. */ +#define TT_UCR_SURROGATES (1L << 25) /* U+D800-U+DB7F */ + /* U+DB80-U+DBFF */ + /* U+DC00-U+DFFF */ +#define TT_UCR_NON_PLANE_0 TT_UCR_SURROGATES + /* Bit 58 Phoenician */ +#define TT_UCR_PHOENICIAN (1L << 26) /*U+10900-U+1091F*/ + /* Bit 59 CJK Unified Ideographs */ + /* CJK Radicals Supplement */ + /* Kangxi Radicals */ + /* Ideographic Description Characters */ + /* CJK Unified Ideographs Extension A */ + /* CJK Unified Ideographs Extension B */ + /* Kanbun */ +#define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) /* U+4E00-U+9FFF */ + /* U+2E80-U+2EFF */ + /* U+2F00-U+2FDF */ + /* U+2FF0-U+2FFF */ + /* U+3400-U+4DB5 */ + /*U+20000-U+2A6DF*/ + /* U+3190-U+319F */ + /* Bit 60 Private Use */ +#define TT_UCR_PRIVATE_USE (1L << 28) /* U+E000-U+F8FF */ + /* Bit 61 CJK Strokes */ + /* CJK Compatibility Ideographs */ + /* CJK Compatibility Ideographs Supplement */ +#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+31C0-U+31EF */ + /* U+F900-U+FAFF */ + /*U+2F800-U+2FA1F*/ + /* Bit 62 Alphabetic Presentation Forms */ +#define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */ + /* Bit 63 Arabic Presentation Forms-A */ +#define TT_UCR_ARABIC_PRESENTATION_FORMS_A (1L << 31) /* U+FB50-U+FDFF */ + + /* ulUnicodeRange3 */ + /* --------------- */ + + /* Bit 64 Combining Half Marks */ +#define TT_UCR_COMBINING_HALF_MARKS (1L << 0) /* U+FE20-U+FE2F */ + /* Bit 65 Vertical forms */ + /* CJK Compatibility Forms */ +#define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE10-U+FE1F */ + /* U+FE30-U+FE4F */ + /* Bit 66 Small Form Variants */ +#define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) /* U+FE50-U+FE6F */ + /* Bit 67 Arabic Presentation Forms-B */ +#define TT_UCR_ARABIC_PRESENTATION_FORMS_B (1L << 3) /* U+FE70-U+FEFE */ + /* Bit 68 Halfwidth and Fullwidth Forms */ +#define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS (1L << 4) /* U+FF00-U+FFEF */ + /* Bit 69 Specials */ +#define TT_UCR_SPECIALS (1L << 5) /* U+FFF0-U+FFFD */ + /* Bit 70 Tibetan */ +#define TT_UCR_TIBETAN (1L << 6) /* U+0F00-U+0FFF */ + /* Bit 71 Syriac */ +#define TT_UCR_SYRIAC (1L << 7) /* U+0700-U+074F */ + /* Bit 72 Thaana */ +#define TT_UCR_THAANA (1L << 8) /* U+0780-U+07BF */ + /* Bit 73 Sinhala */ +#define TT_UCR_SINHALA (1L << 9) /* U+0D80-U+0DFF */ + /* Bit 74 Myanmar */ +#define TT_UCR_MYANMAR (1L << 10) /* U+1000-U+109F */ + /* Bit 75 Ethiopic */ + /* Ethiopic Supplement */ + /* Ethiopic Extended */ +#define TT_UCR_ETHIOPIC (1L << 11) /* U+1200-U+137F */ + /* U+1380-U+139F */ + /* U+2D80-U+2DDF */ + /* Bit 76 Cherokee */ +#define TT_UCR_CHEROKEE (1L << 12) /* U+13A0-U+13FF */ + /* Bit 77 Unified Canadian Aboriginal Syllabics */ +#define TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS (1L << 13) /* U+1400-U+167F */ + /* Bit 78 Ogham */ +#define TT_UCR_OGHAM (1L << 14) /* U+1680-U+169F */ + /* Bit 79 Runic */ +#define TT_UCR_RUNIC (1L << 15) /* U+16A0-U+16FF */ + /* Bit 80 Khmer */ + /* Khmer Symbols */ +#define TT_UCR_KHMER (1L << 16) /* U+1780-U+17FF */ + /* U+19E0-U+19FF */ + /* Bit 81 Mongolian */ +#define TT_UCR_MONGOLIAN (1L << 17) /* U+1800-U+18AF */ + /* Bit 82 Braille Patterns */ +#define TT_UCR_BRAILLE (1L << 18) /* U+2800-U+28FF */ + /* Bit 83 Yi Syllables */ + /* Yi Radicals */ +#define TT_UCR_YI (1L << 19) /* U+A000-U+A48F */ + /* U+A490-U+A4CF */ + /* Bit 84 Tagalog */ + /* Hanunoo */ + /* Buhid */ + /* Tagbanwa */ +#define TT_UCR_PHILIPPINE (1L << 20) /* U+1700-U+171F */ + /* U+1720-U+173F */ + /* U+1740-U+175F */ + /* U+1760-U+177F */ + /* Bit 85 Old Italic */ +#define TT_UCR_OLD_ITALIC (1L << 21) /*U+10300-U+1032F*/ + /* Bit 86 Gothic */ +#define TT_UCR_GOTHIC (1L << 22) /*U+10330-U+1034F*/ + /* Bit 87 Deseret */ +#define TT_UCR_DESERET (1L << 23) /*U+10400-U+1044F*/ + /* Bit 88 Byzantine Musical Symbols */ + /* Musical Symbols */ + /* Ancient Greek Musical Notation */ +#define TT_UCR_MUSICAL_SYMBOLS (1L << 24) /*U+1D000-U+1D0FF*/ + /*U+1D100-U+1D1FF*/ + /*U+1D200-U+1D24F*/ + /* Bit 89 Mathematical Alphanumeric Symbols */ +#define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) /*U+1D400-U+1D7FF*/ + /* Bit 90 Private Use (plane 15) */ + /* Private Use (plane 16) */ +#define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) /*U+F0000-U+FFFFD*/ + /*U+100000-U+10FFFD*/ + /* Bit 91 Variation Selectors */ + /* Variation Selectors Supplement */ +#define TT_UCR_VARIATION_SELECTORS (1L << 27) /* U+FE00-U+FE0F */ + /*U+E0100-U+E01EF*/ + /* Bit 92 Tags */ +#define TT_UCR_TAGS (1L << 28) /*U+E0000-U+E007F*/ + /* Bit 93 Limbu */ +#define TT_UCR_LIMBU (1L << 29) /* U+1900-U+194F */ + /* Bit 94 Tai Le */ +#define TT_UCR_TAI_LE (1L << 30) /* U+1950-U+197F */ + /* Bit 95 New Tai Lue */ +#define TT_UCR_NEW_TAI_LUE (1L << 31) /* U+1980-U+19DF */ + + /* ulUnicodeRange4 */ + /* --------------- */ + + /* Bit 96 Buginese */ +#define TT_UCR_BUGINESE (1L << 0) /* U+1A00-U+1A1F */ + /* Bit 97 Glagolitic */ +#define TT_UCR_GLAGOLITIC (1L << 1) /* U+2C00-U+2C5F */ + /* Bit 98 Tifinagh */ +#define TT_UCR_TIFINAGH (1L << 2) /* U+2D30-U+2D7F */ + /* Bit 99 Yijing Hexagram Symbols */ +#define TT_UCR_YIJING (1L << 3) /* U+4DC0-U+4DFF */ + /* Bit 100 Syloti Nagri */ +#define TT_UCR_SYLOTI_NAGRI (1L << 4) /* U+A800-U+A82F */ + /* Bit 101 Linear B Syllabary */ + /* Linear B Ideograms */ + /* Aegean Numbers */ +#define TT_UCR_LINEAR_B (1L << 5) /*U+10000-U+1007F*/ + /*U+10080-U+100FF*/ + /*U+10100-U+1013F*/ + /* Bit 102 Ancient Greek Numbers */ +#define TT_UCR_ANCIENT_GREEK_NUMBERS (1L << 6) /*U+10140-U+1018F*/ + /* Bit 103 Ugaritic */ +#define TT_UCR_UGARITIC (1L << 7) /*U+10380-U+1039F*/ + /* Bit 104 Old Persian */ +#define TT_UCR_OLD_PERSIAN (1L << 8) /*U+103A0-U+103DF*/ + /* Bit 105 Shavian */ +#define TT_UCR_SHAVIAN (1L << 9) /*U+10450-U+1047F*/ + /* Bit 106 Osmanya */ +#define TT_UCR_OSMANYA (1L << 10) /*U+10480-U+104AF*/ + /* Bit 107 Cypriot Syllabary */ +#define TT_UCR_CYPRIOT_SYLLABARY (1L << 11) /*U+10800-U+1083F*/ + /* Bit 108 Kharoshthi */ +#define TT_UCR_KHAROSHTHI (1L << 12) /*U+10A00-U+10A5F*/ + /* Bit 109 Tai Xuan Jing Symbols */ +#define TT_UCR_TAI_XUAN_JING (1L << 13) /*U+1D300-U+1D35F*/ + /* Bit 110 Cuneiform */ + /* Cuneiform Numbers and Punctuation */ +#define TT_UCR_CUNEIFORM (1L << 14) /*U+12000-U+123FF*/ + /*U+12400-U+1247F*/ + /* Bit 111 Counting Rod Numerals */ +#define TT_UCR_COUNTING_ROD_NUMERALS (1L << 15) /*U+1D360-U+1D37F*/ + /* Bit 112 Sundanese */ +#define TT_UCR_SUNDANESE (1L << 16) /* U+1B80-U+1BBF */ + /* Bit 113 Lepcha */ +#define TT_UCR_LEPCHA (1L << 17) /* U+1C00-U+1C4F */ + /* Bit 114 Ol Chiki */ +#define TT_UCR_OL_CHIKI (1L << 18) /* U+1C50-U+1C7F */ + /* Bit 115 Saurashtra */ +#define TT_UCR_SAURASHTRA (1L << 19) /* U+A880-U+A8DF */ + /* Bit 116 Kayah Li */ +#define TT_UCR_KAYAH_LI (1L << 20) /* U+A900-U+A92F */ + /* Bit 117 Rejang */ +#define TT_UCR_REJANG (1L << 21) /* U+A930-U+A95F */ + /* Bit 118 Cham */ +#define TT_UCR_CHAM (1L << 22) /* U+AA00-U+AA5F */ + /* Bit 119 Ancient Symbols */ +#define TT_UCR_ANCIENT_SYMBOLS (1L << 23) /*U+10190-U+101CF*/ + /* Bit 120 Phaistos Disc */ +#define TT_UCR_PHAISTOS_DISC (1L << 24) /*U+101D0-U+101FF*/ + /* Bit 121 Carian */ + /* Lycian */ + /* Lydian */ +#define TT_UCR_OLD_ANATOLIAN (1L << 25) /*U+102A0-U+102DF*/ + /*U+10280-U+1029F*/ + /*U+10920-U+1093F*/ + /* Bit 122 Domino Tiles */ + /* Mahjong Tiles */ +#define TT_UCR_GAME_TILES (1L << 26) /*U+1F030-U+1F09F*/ + /*U+1F000-U+1F02F*/ + /* Bit 123-127 Reserved for process-internal usage */ + + /* */ + + /* for backward compatibility with older FreeType versions */ +#define TT_UCR_ARABIC_PRESENTATION_A \ + TT_UCR_ARABIC_PRESENTATION_FORMS_A +#define TT_UCR_ARABIC_PRESENTATION_B \ + TT_UCR_ARABIC_PRESENTATION_FORMS_B + +#define TT_UCR_COMBINING_DIACRITICS \ + TT_UCR_COMBINING_DIACRITICAL_MARKS +#define TT_UCR_COMBINING_DIACRITICS_SYMB \ + TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB + + +FT_END_HEADER + +#endif /* TTNAMEID_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/tttables.h b/android/x86_64/include/freetype/tttables.h new file mode 100644 index 00000000..01821589 --- /dev/null +++ b/android/x86_64/include/freetype/tttables.h @@ -0,0 +1,856 @@ +/**************************************************************************** + * + * tttables.h + * + * Basic SFNT/TrueType tables definitions and interface + * (specification only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef TTTABLES_H_ +#define TTTABLES_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /************************************************************************** + * + * @section: + * truetype_tables + * + * @title: + * TrueType Tables + * + * @abstract: + * TrueType-specific table types and functions. + * + * @description: + * This section contains definitions of some basic tables specific to + * TrueType and OpenType as well as some routines used to access and + * process them. + * + * @order: + * TT_Header + * TT_HoriHeader + * TT_VertHeader + * TT_OS2 + * TT_Postscript + * TT_PCLT + * TT_MaxProfile + * + * FT_Sfnt_Tag + * FT_Get_Sfnt_Table + * FT_Load_Sfnt_Table + * FT_Sfnt_Table_Info + * + * FT_Get_CMap_Language_ID + * FT_Get_CMap_Format + * + * FT_PARAM_TAG_UNPATENTED_HINTING + * + */ + + + /************************************************************************** + * + * @struct: + * TT_Header + * + * @description: + * A structure to model a TrueType font header table. All fields follow + * the OpenType specification. The 64-bit timestamps are stored in + * two-element arrays `Created` and `Modified`, first the upper then + * the lower 32~bits. + */ + typedef struct TT_Header_ + { + FT_Fixed Table_Version; + FT_Fixed Font_Revision; + + FT_Long CheckSum_Adjust; + FT_Long Magic_Number; + + FT_UShort Flags; + FT_UShort Units_Per_EM; + + FT_ULong Created [2]; + FT_ULong Modified[2]; + + FT_Short xMin; + FT_Short yMin; + FT_Short xMax; + FT_Short yMax; + + FT_UShort Mac_Style; + FT_UShort Lowest_Rec_PPEM; + + FT_Short Font_Direction; + FT_Short Index_To_Loc_Format; + FT_Short Glyph_Data_Format; + + } TT_Header; + + + /************************************************************************** + * + * @struct: + * TT_HoriHeader + * + * @description: + * A structure to model a TrueType horizontal header, the 'hhea' table, + * as well as the corresponding horizontal metrics table, 'hmtx'. + * + * @fields: + * Version :: + * The table version. + * + * Ascender :: + * The font's ascender, i.e., the distance from the baseline to the + * top-most of all glyph points found in the font. + * + * This value is invalid in many fonts, as it is usually set by the + * font designer, and often reflects only a portion of the glyphs found + * in the font (maybe ASCII). + * + * You should use the `sTypoAscender` field of the 'OS/2' table instead + * if you want the correct one. + * + * Descender :: + * The font's descender, i.e., the distance from the baseline to the + * bottom-most of all glyph points found in the font. It is negative. + * + * This value is invalid in many fonts, as it is usually set by the + * font designer, and often reflects only a portion of the glyphs found + * in the font (maybe ASCII). + * + * You should use the `sTypoDescender` field of the 'OS/2' table + * instead if you want the correct one. + * + * Line_Gap :: + * The font's line gap, i.e., the distance to add to the ascender and + * descender to get the BTB, i.e., the baseline-to-baseline distance + * for the font. + * + * advance_Width_Max :: + * This field is the maximum of all advance widths found in the font. + * It can be used to compute the maximum width of an arbitrary string + * of text. + * + * min_Left_Side_Bearing :: + * The minimum left side bearing of all glyphs within the font. + * + * min_Right_Side_Bearing :: + * The minimum right side bearing of all glyphs within the font. + * + * xMax_Extent :: + * The maximum horizontal extent (i.e., the 'width' of a glyph's + * bounding box) for all glyphs in the font. + * + * caret_Slope_Rise :: + * The rise coefficient of the cursor's slope of the cursor + * (slope=rise/run). + * + * caret_Slope_Run :: + * The run coefficient of the cursor's slope. + * + * caret_Offset :: + * The cursor's offset for slanted fonts. + * + * Reserved :: + * 8~reserved bytes. + * + * metric_Data_Format :: + * Always~0. + * + * number_Of_HMetrics :: + * Number of HMetrics entries in the 'hmtx' table -- this value can be + * smaller than the total number of glyphs in the font. + * + * long_metrics :: + * A pointer into the 'hmtx' table. + * + * short_metrics :: + * A pointer into the 'hmtx' table. + * + * @note: + * For an OpenType variation font, the values of the following fields can + * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if + * the font contains an 'MVAR' table: `caret_Slope_Rise`, + * `caret_Slope_Run`, and `caret_Offset`. + */ + typedef struct TT_HoriHeader_ + { + FT_Fixed Version; + FT_Short Ascender; + FT_Short Descender; + FT_Short Line_Gap; + + FT_UShort advance_Width_Max; /* advance width maximum */ + + FT_Short min_Left_Side_Bearing; /* minimum left-sb */ + FT_Short min_Right_Side_Bearing; /* minimum right-sb */ + FT_Short xMax_Extent; /* xmax extents */ + FT_Short caret_Slope_Rise; + FT_Short caret_Slope_Run; + FT_Short caret_Offset; + + FT_Short Reserved[4]; + + FT_Short metric_Data_Format; + FT_UShort number_Of_HMetrics; + + /* The following fields are not defined by the OpenType specification */ + /* but they are used to connect the metrics header to the relevant */ + /* 'hmtx' table. */ + + void* long_metrics; + void* short_metrics; + + } TT_HoriHeader; + + + /************************************************************************** + * + * @struct: + * TT_VertHeader + * + * @description: + * A structure used to model a TrueType vertical header, the 'vhea' + * table, as well as the corresponding vertical metrics table, 'vmtx'. + * + * @fields: + * Version :: + * The table version. + * + * Ascender :: + * The font's ascender, i.e., the distance from the baseline to the + * top-most of all glyph points found in the font. + * + * This value is invalid in many fonts, as it is usually set by the + * font designer, and often reflects only a portion of the glyphs found + * in the font (maybe ASCII). + * + * You should use the `sTypoAscender` field of the 'OS/2' table instead + * if you want the correct one. + * + * Descender :: + * The font's descender, i.e., the distance from the baseline to the + * bottom-most of all glyph points found in the font. It is negative. + * + * This value is invalid in many fonts, as it is usually set by the + * font designer, and often reflects only a portion of the glyphs found + * in the font (maybe ASCII). + * + * You should use the `sTypoDescender` field of the 'OS/2' table + * instead if you want the correct one. + * + * Line_Gap :: + * The font's line gap, i.e., the distance to add to the ascender and + * descender to get the BTB, i.e., the baseline-to-baseline distance + * for the font. + * + * advance_Height_Max :: + * This field is the maximum of all advance heights found in the font. + * It can be used to compute the maximum height of an arbitrary string + * of text. + * + * min_Top_Side_Bearing :: + * The minimum top side bearing of all glyphs within the font. + * + * min_Bottom_Side_Bearing :: + * The minimum bottom side bearing of all glyphs within the font. + * + * yMax_Extent :: + * The maximum vertical extent (i.e., the 'height' of a glyph's + * bounding box) for all glyphs in the font. + * + * caret_Slope_Rise :: + * The rise coefficient of the cursor's slope of the cursor + * (slope=rise/run). + * + * caret_Slope_Run :: + * The run coefficient of the cursor's slope. + * + * caret_Offset :: + * The cursor's offset for slanted fonts. + * + * Reserved :: + * 8~reserved bytes. + * + * metric_Data_Format :: + * Always~0. + * + * number_Of_VMetrics :: + * Number of VMetrics entries in the 'vmtx' table -- this value can be + * smaller than the total number of glyphs in the font. + * + * long_metrics :: + * A pointer into the 'vmtx' table. + * + * short_metrics :: + * A pointer into the 'vmtx' table. + * + * @note: + * For an OpenType variation font, the values of the following fields can + * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if + * the font contains an 'MVAR' table: `Ascender`, `Descender`, + * `Line_Gap`, `caret_Slope_Rise`, `caret_Slope_Run`, and `caret_Offset`. + */ + typedef struct TT_VertHeader_ + { + FT_Fixed Version; + FT_Short Ascender; + FT_Short Descender; + FT_Short Line_Gap; + + FT_UShort advance_Height_Max; /* advance height maximum */ + + FT_Short min_Top_Side_Bearing; /* minimum top-sb */ + FT_Short min_Bottom_Side_Bearing; /* minimum bottom-sb */ + FT_Short yMax_Extent; /* ymax extents */ + FT_Short caret_Slope_Rise; + FT_Short caret_Slope_Run; + FT_Short caret_Offset; + + FT_Short Reserved[4]; + + FT_Short metric_Data_Format; + FT_UShort number_Of_VMetrics; + + /* The following fields are not defined by the OpenType specification */ + /* but they are used to connect the metrics header to the relevant */ + /* 'vmtx' table. */ + + void* long_metrics; + void* short_metrics; + + } TT_VertHeader; + + + /************************************************************************** + * + * @struct: + * TT_OS2 + * + * @description: + * A structure to model a TrueType 'OS/2' table. All fields comply to + * the OpenType specification. + * + * Note that we now support old Mac fonts that do not include an 'OS/2' + * table. In this case, the `version` field is always set to 0xFFFF. + * + * @note: + * For an OpenType variation font, the values of the following fields can + * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if + * the font contains an 'MVAR' table: `sCapHeight`, `sTypoAscender`, + * `sTypoDescender`, `sTypoLineGap`, `sxHeight`, `usWinAscent`, + * `usWinDescent`, `yStrikeoutPosition`, `yStrikeoutSize`, + * `ySubscriptXOffset`, `ySubScriptXSize`, `ySubscriptYOffset`, + * `ySubscriptYSize`, `ySuperscriptXOffset`, `ySuperscriptXSize`, + * `ySuperscriptYOffset`, and `ySuperscriptYSize`. + * + * Possible values for bits in the `ulUnicodeRangeX` fields are given by + * the @TT_UCR_XXX macros. + */ + + typedef struct TT_OS2_ + { + FT_UShort version; /* 0x0001 - more or 0xFFFF */ + FT_Short xAvgCharWidth; + FT_UShort usWeightClass; + FT_UShort usWidthClass; + FT_UShort fsType; + FT_Short ySubscriptXSize; + FT_Short ySubscriptYSize; + FT_Short ySubscriptXOffset; + FT_Short ySubscriptYOffset; + FT_Short ySuperscriptXSize; + FT_Short ySuperscriptYSize; + FT_Short ySuperscriptXOffset; + FT_Short ySuperscriptYOffset; + FT_Short yStrikeoutSize; + FT_Short yStrikeoutPosition; + FT_Short sFamilyClass; + + FT_Byte panose[10]; + + FT_ULong ulUnicodeRange1; /* Bits 0-31 */ + FT_ULong ulUnicodeRange2; /* Bits 32-63 */ + FT_ULong ulUnicodeRange3; /* Bits 64-95 */ + FT_ULong ulUnicodeRange4; /* Bits 96-127 */ + + FT_Char achVendID[4]; + + FT_UShort fsSelection; + FT_UShort usFirstCharIndex; + FT_UShort usLastCharIndex; + FT_Short sTypoAscender; + FT_Short sTypoDescender; + FT_Short sTypoLineGap; + FT_UShort usWinAscent; + FT_UShort usWinDescent; + + /* only version 1 and higher: */ + + FT_ULong ulCodePageRange1; /* Bits 0-31 */ + FT_ULong ulCodePageRange2; /* Bits 32-63 */ + + /* only version 2 and higher: */ + + FT_Short sxHeight; + FT_Short sCapHeight; + FT_UShort usDefaultChar; + FT_UShort usBreakChar; + FT_UShort usMaxContext; + + /* only version 5 and higher: */ + + FT_UShort usLowerOpticalPointSize; /* in twips (1/20th points) */ + FT_UShort usUpperOpticalPointSize; /* in twips (1/20th points) */ + + } TT_OS2; + + + /************************************************************************** + * + * @struct: + * TT_Postscript + * + * @description: + * A structure to model a TrueType 'post' table. All fields comply to + * the OpenType specification. This structure does not reference a + * font's PostScript glyph names; use @FT_Get_Glyph_Name to retrieve + * them. + * + * @note: + * For an OpenType variation font, the values of the following fields can + * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if + * the font contains an 'MVAR' table: `underlinePosition` and + * `underlineThickness`. + */ + typedef struct TT_Postscript_ + { + FT_Fixed FormatType; + FT_Fixed italicAngle; + FT_Short underlinePosition; + FT_Short underlineThickness; + FT_ULong isFixedPitch; + FT_ULong minMemType42; + FT_ULong maxMemType42; + FT_ULong minMemType1; + FT_ULong maxMemType1; + + /* Glyph names follow in the 'post' table, but we don't */ + /* load them by default. */ + + } TT_Postscript; + + + /************************************************************************** + * + * @struct: + * TT_PCLT + * + * @description: + * A structure to model a TrueType 'PCLT' table. All fields comply to + * the OpenType specification. + */ + typedef struct TT_PCLT_ + { + FT_Fixed Version; + FT_ULong FontNumber; + FT_UShort Pitch; + FT_UShort xHeight; + FT_UShort Style; + FT_UShort TypeFamily; + FT_UShort CapHeight; + FT_UShort SymbolSet; + FT_Char TypeFace[16]; + FT_Char CharacterComplement[8]; + FT_Char FileName[6]; + FT_Char StrokeWeight; + FT_Char WidthType; + FT_Byte SerifStyle; + FT_Byte Reserved; + + } TT_PCLT; + + + /************************************************************************** + * + * @struct: + * TT_MaxProfile + * + * @description: + * The maximum profile ('maxp') table contains many max values, which can + * be used to pre-allocate arrays for speeding up glyph loading and + * hinting. + * + * @fields: + * version :: + * The version number. + * + * numGlyphs :: + * The number of glyphs in this TrueType font. + * + * maxPoints :: + * The maximum number of points in a non-composite TrueType glyph. See + * also `maxCompositePoints`. + * + * maxContours :: + * The maximum number of contours in a non-composite TrueType glyph. + * See also `maxCompositeContours`. + * + * maxCompositePoints :: + * The maximum number of points in a composite TrueType glyph. See + * also `maxPoints`. + * + * maxCompositeContours :: + * The maximum number of contours in a composite TrueType glyph. See + * also `maxContours`. + * + * maxZones :: + * The maximum number of zones used for glyph hinting. + * + * maxTwilightPoints :: + * The maximum number of points in the twilight zone used for glyph + * hinting. + * + * maxStorage :: + * The maximum number of elements in the storage area used for glyph + * hinting. + * + * maxFunctionDefs :: + * The maximum number of function definitions in the TrueType bytecode + * for this font. + * + * maxInstructionDefs :: + * The maximum number of instruction definitions in the TrueType + * bytecode for this font. + * + * maxStackElements :: + * The maximum number of stack elements used during bytecode + * interpretation. + * + * maxSizeOfInstructions :: + * The maximum number of TrueType opcodes used for glyph hinting. + * + * maxComponentElements :: + * The maximum number of simple (i.e., non-composite) glyphs in a + * composite glyph. + * + * maxComponentDepth :: + * The maximum nesting depth of composite glyphs. + * + * @note: + * This structure is only used during font loading. + */ + typedef struct TT_MaxProfile_ + { + FT_Fixed version; + FT_UShort numGlyphs; + FT_UShort maxPoints; + FT_UShort maxContours; + FT_UShort maxCompositePoints; + FT_UShort maxCompositeContours; + FT_UShort maxZones; + FT_UShort maxTwilightPoints; + FT_UShort maxStorage; + FT_UShort maxFunctionDefs; + FT_UShort maxInstructionDefs; + FT_UShort maxStackElements; + FT_UShort maxSizeOfInstructions; + FT_UShort maxComponentElements; + FT_UShort maxComponentDepth; + + } TT_MaxProfile; + + + /************************************************************************** + * + * @enum: + * FT_Sfnt_Tag + * + * @description: + * An enumeration to specify indices of SFNT tables loaded and parsed by + * FreeType during initialization of an SFNT font. Used in the + * @FT_Get_Sfnt_Table API function. + * + * @values: + * FT_SFNT_HEAD :: + * To access the font's @TT_Header structure. + * + * FT_SFNT_MAXP :: + * To access the font's @TT_MaxProfile structure. + * + * FT_SFNT_OS2 :: + * To access the font's @TT_OS2 structure. + * + * FT_SFNT_HHEA :: + * To access the font's @TT_HoriHeader structure. + * + * FT_SFNT_VHEA :: + * To access the font's @TT_VertHeader structure. + * + * FT_SFNT_POST :: + * To access the font's @TT_Postscript structure. + * + * FT_SFNT_PCLT :: + * To access the font's @TT_PCLT structure. + */ + typedef enum FT_Sfnt_Tag_ + { + FT_SFNT_HEAD, + FT_SFNT_MAXP, + FT_SFNT_OS2, + FT_SFNT_HHEA, + FT_SFNT_VHEA, + FT_SFNT_POST, + FT_SFNT_PCLT, + + FT_SFNT_MAX + + } FT_Sfnt_Tag; + + /* these constants are deprecated; use the corresponding `FT_Sfnt_Tag` */ + /* values instead */ +#define ft_sfnt_head FT_SFNT_HEAD +#define ft_sfnt_maxp FT_SFNT_MAXP +#define ft_sfnt_os2 FT_SFNT_OS2 +#define ft_sfnt_hhea FT_SFNT_HHEA +#define ft_sfnt_vhea FT_SFNT_VHEA +#define ft_sfnt_post FT_SFNT_POST +#define ft_sfnt_pclt FT_SFNT_PCLT + + + /************************************************************************** + * + * @function: + * FT_Get_Sfnt_Table + * + * @description: + * Return a pointer to a given SFNT table stored within a face. + * + * @input: + * face :: + * A handle to the source. + * + * tag :: + * The index of the SFNT table. + * + * @return: + * A type-less pointer to the table. This will be `NULL` in case of + * error, or if the corresponding table was not found **OR** loaded from + * the file. + * + * Use a typecast according to `tag` to access the structure elements. + * + * @note: + * The table is owned by the face object and disappears with it. + * + * This function is only useful to access SFNT tables that are loaded by + * the sfnt, truetype, and opentype drivers. See @FT_Sfnt_Tag for a + * list. + * + * @example: + * Here is an example demonstrating access to the 'vhea' table. + * + * ``` + * TT_VertHeader* vert_header; + * + * + * vert_header = + * (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA ); + * ``` + */ + FT_EXPORT( void* ) + FT_Get_Sfnt_Table( FT_Face face, + FT_Sfnt_Tag tag ); + + + /************************************************************************** + * + * @function: + * FT_Load_Sfnt_Table + * + * @description: + * Load any SFNT font table into client memory. + * + * @input: + * face :: + * A handle to the source face. + * + * tag :: + * The four-byte tag of the table to load. Use value~0 if you want to + * access the whole font file. Otherwise, you can use one of the + * definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new + * one with @FT_MAKE_TAG. + * + * offset :: + * The starting offset in the table (or file if tag~==~0). + * + * @output: + * buffer :: + * The target buffer address. The client must ensure that the memory + * array is big enough to hold the data. + * + * @inout: + * length :: + * If the `length` parameter is `NULL`, try to load the whole table. + * Return an error code if it fails. + * + * Else, if `*length` is~0, exit immediately while returning the + * table's (or file) full size in it. + * + * Else the number of bytes to read from the table or file, from the + * starting offset. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If you need to determine the table's length you should first call this + * function with `*length` set to~0, as in the following example: + * + * ``` + * FT_ULong length = 0; + * + * + * error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length ); + * if ( error ) { ... table does not exist ... } + * + * buffer = malloc( length ); + * if ( buffer == NULL ) { ... not enough memory ... } + * + * error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length ); + * if ( error ) { ... could not load table ... } + * ``` + * + * Note that structures like @TT_Header or @TT_OS2 can't be used with + * this function; they are limited to @FT_Get_Sfnt_Table. Reason is that + * those structures depend on the processor architecture, with varying + * size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian). + * + */ + FT_EXPORT( FT_Error ) + FT_Load_Sfnt_Table( FT_Face face, + FT_ULong tag, + FT_Long offset, + FT_Byte* buffer, + FT_ULong* length ); + + + /************************************************************************** + * + * @function: + * FT_Sfnt_Table_Info + * + * @description: + * Return information on an SFNT table. + * + * @input: + * face :: + * A handle to the source face. + * + * table_index :: + * The index of an SFNT table. The function returns + * FT_Err_Table_Missing for an invalid value. + * + * @inout: + * tag :: + * The name tag of the SFNT table. If the value is `NULL`, + * `table_index` is ignored, and `length` returns the number of SFNT + * tables in the font. + * + * @output: + * length :: + * The length of the SFNT table (or the number of SFNT tables, + * depending on `tag`). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * While parsing fonts, FreeType handles SFNT tables with length zero as + * missing. + * + */ + FT_EXPORT( FT_Error ) + FT_Sfnt_Table_Info( FT_Face face, + FT_UInt table_index, + FT_ULong *tag, + FT_ULong *length ); + + + /************************************************************************** + * + * @function: + * FT_Get_CMap_Language_ID + * + * @description: + * Return cmap language ID as specified in the OpenType standard. + * Definitions of language ID values are in file @FT_TRUETYPE_IDS_H. + * + * @input: + * charmap :: + * The target charmap. + * + * @return: + * The language ID of `charmap`. If `charmap` doesn't belong to an SFNT + * face, just return~0 as the default value. + * + * For a format~14 cmap (to access Unicode IVS), the return value is + * 0xFFFFFFFF. + */ + FT_EXPORT( FT_ULong ) + FT_Get_CMap_Language_ID( FT_CharMap charmap ); + + + /************************************************************************** + * + * @function: + * FT_Get_CMap_Format + * + * @description: + * Return the format of an SFNT 'cmap' table. + * + * @input: + * charmap :: + * The target charmap. + * + * @return: + * The format of `charmap`. If `charmap` doesn't belong to an SFNT face, + * return -1. + */ + FT_EXPORT( FT_Long ) + FT_Get_CMap_Format( FT_CharMap charmap ); + + /* */ + + +FT_END_HEADER + +#endif /* TTTABLES_H_ */ + + +/* END */ diff --git a/android/x86_64/include/freetype/tttags.h b/android/x86_64/include/freetype/tttags.h new file mode 100644 index 00000000..aeb4ef6e --- /dev/null +++ b/android/x86_64/include/freetype/tttags.h @@ -0,0 +1,123 @@ +/**************************************************************************** + * + * tttags.h + * + * Tags for TrueType and OpenType tables (specification only). + * + * Copyright (C) 1996-2019 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#ifndef TTAGS_H_ +#define TTAGS_H_ + + +#include "ft2build.h" +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + +#define TTAG_avar FT_MAKE_TAG( 'a', 'v', 'a', 'r' ) +#define TTAG_BASE FT_MAKE_TAG( 'B', 'A', 'S', 'E' ) +#define TTAG_bdat FT_MAKE_TAG( 'b', 'd', 'a', 't' ) +#define TTAG_BDF FT_MAKE_TAG( 'B', 'D', 'F', ' ' ) +#define TTAG_bhed FT_MAKE_TAG( 'b', 'h', 'e', 'd' ) +#define TTAG_bloc FT_MAKE_TAG( 'b', 'l', 'o', 'c' ) +#define TTAG_bsln FT_MAKE_TAG( 'b', 's', 'l', 'n' ) +#define TTAG_CBDT FT_MAKE_TAG( 'C', 'B', 'D', 'T' ) +#define TTAG_CBLC FT_MAKE_TAG( 'C', 'B', 'L', 'C' ) +#define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' ) +#define TTAG_CFF2 FT_MAKE_TAG( 'C', 'F', 'F', '2' ) +#define TTAG_CID FT_MAKE_TAG( 'C', 'I', 'D', ' ' ) +#define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' ) +#define TTAG_COLR FT_MAKE_TAG( 'C', 'O', 'L', 'R' ) +#define TTAG_CPAL FT_MAKE_TAG( 'C', 'P', 'A', 'L' ) +#define TTAG_cvar FT_MAKE_TAG( 'c', 'v', 'a', 'r' ) +#define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' ) +#define TTAG_DSIG FT_MAKE_TAG( 'D', 'S', 'I', 'G' ) +#define TTAG_EBDT FT_MAKE_TAG( 'E', 'B', 'D', 'T' ) +#define TTAG_EBLC FT_MAKE_TAG( 'E', 'B', 'L', 'C' ) +#define TTAG_EBSC FT_MAKE_TAG( 'E', 'B', 'S', 'C' ) +#define TTAG_feat FT_MAKE_TAG( 'f', 'e', 'a', 't' ) +#define TTAG_FOND FT_MAKE_TAG( 'F', 'O', 'N', 'D' ) +#define TTAG_fpgm FT_MAKE_TAG( 'f', 'p', 'g', 'm' ) +#define TTAG_fvar FT_MAKE_TAG( 'f', 'v', 'a', 'r' ) +#define TTAG_gasp FT_MAKE_TAG( 'g', 'a', 's', 'p' ) +#define TTAG_GDEF FT_MAKE_TAG( 'G', 'D', 'E', 'F' ) +#define TTAG_glyf FT_MAKE_TAG( 'g', 'l', 'y', 'f' ) +#define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' ) +#define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' ) +#define TTAG_gvar FT_MAKE_TAG( 'g', 'v', 'a', 'r' ) +#define TTAG_HVAR FT_MAKE_TAG( 'H', 'V', 'A', 'R' ) +#define TTAG_hdmx FT_MAKE_TAG( 'h', 'd', 'm', 'x' ) +#define TTAG_head FT_MAKE_TAG( 'h', 'e', 'a', 'd' ) +#define TTAG_hhea FT_MAKE_TAG( 'h', 'h', 'e', 'a' ) +#define TTAG_hmtx FT_MAKE_TAG( 'h', 'm', 't', 'x' ) +#define TTAG_JSTF FT_MAKE_TAG( 'J', 'S', 'T', 'F' ) +#define TTAG_just FT_MAKE_TAG( 'j', 'u', 's', 't' ) +#define TTAG_kern FT_MAKE_TAG( 'k', 'e', 'r', 'n' ) +#define TTAG_lcar FT_MAKE_TAG( 'l', 'c', 'a', 'r' ) +#define TTAG_loca FT_MAKE_TAG( 'l', 'o', 'c', 'a' ) +#define TTAG_LTSH FT_MAKE_TAG( 'L', 'T', 'S', 'H' ) +#define TTAG_LWFN FT_MAKE_TAG( 'L', 'W', 'F', 'N' ) +#define TTAG_MATH FT_MAKE_TAG( 'M', 'A', 'T', 'H' ) +#define TTAG_maxp FT_MAKE_TAG( 'm', 'a', 'x', 'p' ) +#define TTAG_META FT_MAKE_TAG( 'M', 'E', 'T', 'A' ) +#define TTAG_MMFX FT_MAKE_TAG( 'M', 'M', 'F', 'X' ) +#define TTAG_MMSD FT_MAKE_TAG( 'M', 'M', 'S', 'D' ) +#define TTAG_mort FT_MAKE_TAG( 'm', 'o', 'r', 't' ) +#define TTAG_morx FT_MAKE_TAG( 'm', 'o', 'r', 'x' ) +#define TTAG_MVAR FT_MAKE_TAG( 'M', 'V', 'A', 'R' ) +#define TTAG_name FT_MAKE_TAG( 'n', 'a', 'm', 'e' ) +#define TTAG_opbd FT_MAKE_TAG( 'o', 'p', 'b', 'd' ) +#define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' ) +#define TTAG_OTTO FT_MAKE_TAG( 'O', 'T', 'T', 'O' ) +#define TTAG_PCLT FT_MAKE_TAG( 'P', 'C', 'L', 'T' ) +#define TTAG_POST FT_MAKE_TAG( 'P', 'O', 'S', 'T' ) +#define TTAG_post FT_MAKE_TAG( 'p', 'o', 's', 't' ) +#define TTAG_prep FT_MAKE_TAG( 'p', 'r', 'e', 'p' ) +#define TTAG_prop FT_MAKE_TAG( 'p', 'r', 'o', 'p' ) +#define TTAG_sbix FT_MAKE_TAG( 's', 'b', 'i', 'x' ) +#define TTAG_sfnt FT_MAKE_TAG( 's', 'f', 'n', 't' ) +#define TTAG_SING FT_MAKE_TAG( 'S', 'I', 'N', 'G' ) +#define TTAG_trak FT_MAKE_TAG( 't', 'r', 'a', 'k' ) +#define TTAG_true FT_MAKE_TAG( 't', 'r', 'u', 'e' ) +#define TTAG_ttc FT_MAKE_TAG( 't', 't', 'c', ' ' ) +#define TTAG_ttcf FT_MAKE_TAG( 't', 't', 'c', 'f' ) +#define TTAG_TYP1 FT_MAKE_TAG( 'T', 'Y', 'P', '1' ) +#define TTAG_typ1 FT_MAKE_TAG( 't', 'y', 'p', '1' ) +#define TTAG_VDMX FT_MAKE_TAG( 'V', 'D', 'M', 'X' ) +#define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' ) +#define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' ) +#define TTAG_VVAR FT_MAKE_TAG( 'V', 'V', 'A', 'R' ) +#define TTAG_wOFF FT_MAKE_TAG( 'w', 'O', 'F', 'F' ) + +/* used by "Keyboard.dfont" on legacy Mac OS X */ +#define TTAG_0xA5kbd FT_MAKE_TAG( 0xA5, 'k', 'b', 'd' ) + +/* used by "LastResort.dfont" on legacy Mac OS X */ +#define TTAG_0xA5lst FT_MAKE_TAG( 0xA5, 'l', 's', 't' ) + + +FT_END_HEADER + +#endif /* TTAGS_H_ */ + + +/* END */ diff --git a/android/x86_64/include/glslang/Include/BaseTypes.h b/android/x86_64/include/glslang/Include/BaseTypes.h new file mode 100644 index 00000000..55bdd25d --- /dev/null +++ b/android/x86_64/include/glslang/Include/BaseTypes.h @@ -0,0 +1,577 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _BASICTYPES_INCLUDED_ +#define _BASICTYPES_INCLUDED_ + +namespace glslang { + +// +// Basic type. Arrays, vectors, sampler details, etc., are orthogonal to this. +// +enum TBasicType { + EbtVoid, + EbtFloat, + EbtDouble, + EbtFloat16, + EbtInt8, + EbtUint8, + EbtInt16, + EbtUint16, + EbtInt, + EbtUint, + EbtInt64, + EbtUint64, + EbtBool, + EbtAtomicUint, + EbtSampler, + EbtStruct, + EbtBlock, + EbtAccStruct, + EbtReference, + EbtRayQuery, + + // HLSL types that live only temporarily. + EbtString, + + EbtNumTypes +}; + +// +// Storage qualifiers. Should align with different kinds of storage or +// resource or GLSL storage qualifier. Expansion is deprecated. +// +// N.B.: You probably DON'T want to add anything here, but rather just add it +// to the built-in variables. See the comment above TBuiltInVariable. +// +// A new built-in variable will normally be an existing qualifier, like 'in', 'out', etc. +// DO NOT follow the design pattern of, say EvqInstanceId, etc. +// +enum TStorageQualifier { + EvqTemporary, // For temporaries (within a function), read/write + EvqGlobal, // For globals read/write + EvqConst, // User-defined constant values, will be semantically constant and constant folded + EvqVaryingIn, // pipeline input, read only, also supercategory for all built-ins not included in this enum (see TBuiltInVariable) + EvqVaryingOut, // pipeline output, read/write, also supercategory for all built-ins not included in this enum (see TBuiltInVariable) + EvqUniform, // read only, shared with app + EvqBuffer, // read/write, shared with app + EvqShared, // compute shader's read/write 'shared' qualifier + + EvqPayload, + EvqPayloadIn, + EvqHitAttr, + EvqCallableData, + EvqCallableDataIn, + + // parameters + EvqIn, // also, for 'in' in the grammar before we know if it's a pipeline input or an 'in' parameter + EvqOut, // also, for 'out' in the grammar before we know if it's a pipeline output or an 'out' parameter + EvqInOut, + EvqConstReadOnly, // input; also other read-only types having neither a constant value nor constant-value semantics + + // built-ins read by vertex shader + EvqVertexId, + EvqInstanceId, + + // built-ins written by vertex shader + EvqPosition, + EvqPointSize, + EvqClipVertex, + + // built-ins read by fragment shader + EvqFace, + EvqFragCoord, + EvqPointCoord, + + // built-ins written by fragment shader + EvqFragColor, + EvqFragDepth, + + // end of list + EvqLast +}; + +// +// Subcategories of the TStorageQualifier, simply to give a direct mapping +// between built-in variable names and an numerical value (the enum). +// +// For backward compatibility, there is some redundancy between the +// TStorageQualifier and these. Existing members should both be maintained accurately. +// However, any new built-in variable (and any existing non-redundant one) +// must follow the pattern that the specific built-in is here, and only its +// general qualifier is in TStorageQualifier. +// +// Something like gl_Position, which is sometimes 'in' and sometimes 'out' +// shows up as two different built-in variables in a single stage, but +// only has a single enum in TBuiltInVariable, so both the +// TStorageQualifier and the TBuitinVariable are needed to distinguish +// between them. +// +enum TBuiltInVariable { + EbvNone, + EbvNumWorkGroups, + EbvWorkGroupSize, + EbvWorkGroupId, + EbvLocalInvocationId, + EbvGlobalInvocationId, + EbvLocalInvocationIndex, + EbvNumSubgroups, + EbvSubgroupID, + EbvSubGroupSize, + EbvSubGroupInvocation, + EbvSubGroupEqMask, + EbvSubGroupGeMask, + EbvSubGroupGtMask, + EbvSubGroupLeMask, + EbvSubGroupLtMask, + EbvSubgroupSize2, + EbvSubgroupInvocation2, + EbvSubgroupEqMask2, + EbvSubgroupGeMask2, + EbvSubgroupGtMask2, + EbvSubgroupLeMask2, + EbvSubgroupLtMask2, + EbvVertexId, + EbvInstanceId, + EbvVertexIndex, + EbvInstanceIndex, + EbvBaseVertex, + EbvBaseInstance, + EbvDrawId, + EbvPosition, + EbvPointSize, + EbvClipVertex, + EbvClipDistance, + EbvCullDistance, + EbvNormal, + EbvVertex, + EbvMultiTexCoord0, + EbvMultiTexCoord1, + EbvMultiTexCoord2, + EbvMultiTexCoord3, + EbvMultiTexCoord4, + EbvMultiTexCoord5, + EbvMultiTexCoord6, + EbvMultiTexCoord7, + EbvFrontColor, + EbvBackColor, + EbvFrontSecondaryColor, + EbvBackSecondaryColor, + EbvTexCoord, + EbvFogFragCoord, + EbvInvocationId, + EbvPrimitiveId, + EbvLayer, + EbvViewportIndex, + EbvPatchVertices, + EbvTessLevelOuter, + EbvTessLevelInner, + EbvBoundingBox, + EbvTessCoord, + EbvColor, + EbvSecondaryColor, + EbvFace, + EbvFragCoord, + EbvPointCoord, + EbvFragColor, + EbvFragData, + EbvFragDepth, + EbvFragStencilRef, + EbvSampleId, + EbvSamplePosition, + EbvSampleMask, + EbvHelperInvocation, + + EbvBaryCoordNoPersp, + EbvBaryCoordNoPerspCentroid, + EbvBaryCoordNoPerspSample, + EbvBaryCoordSmooth, + EbvBaryCoordSmoothCentroid, + EbvBaryCoordSmoothSample, + EbvBaryCoordPullModel, + + EbvViewIndex, + EbvDeviceIndex, + + EbvShadingRateKHR, + EbvPrimitiveShadingRateKHR, + + EbvFragSizeEXT, + EbvFragInvocationCountEXT, + + EbvSecondaryFragDataEXT, + EbvSecondaryFragColorEXT, + + EbvViewportMaskNV, + EbvSecondaryPositionNV, + EbvSecondaryViewportMaskNV, + EbvPositionPerViewNV, + EbvViewportMaskPerViewNV, + EbvFragFullyCoveredNV, + EbvFragmentSizeNV, + EbvInvocationsPerPixelNV, + // ray tracing + EbvLaunchId, + EbvLaunchSize, + EbvInstanceCustomIndex, + EbvGeometryIndex, + EbvWorldRayOrigin, + EbvWorldRayDirection, + EbvObjectRayOrigin, + EbvObjectRayDirection, + EbvRayTmin, + EbvRayTmax, + EbvHitT, + EbvHitKind, + EbvObjectToWorld, + EbvObjectToWorld3x4, + EbvWorldToObject, + EbvWorldToObject3x4, + EbvIncomingRayFlags, + // barycentrics + EbvBaryCoordNV, + EbvBaryCoordNoPerspNV, + // mesh shaders + EbvTaskCountNV, + EbvPrimitiveCountNV, + EbvPrimitiveIndicesNV, + EbvClipDistancePerViewNV, + EbvCullDistancePerViewNV, + EbvLayerPerViewNV, + EbvMeshViewCountNV, + EbvMeshViewIndicesNV, + + // sm builtins + EbvWarpsPerSM, + EbvSMCount, + EbvWarpID, + EbvSMID, + + // HLSL built-ins that live only temporarily, until they get remapped + // to one of the above. + EbvFragDepthGreater, + EbvFragDepthLesser, + EbvGsOutputStream, + EbvOutputPatch, + EbvInputPatch, + + // structbuffer types + EbvAppendConsume, // no need to differentiate append and consume + EbvRWStructuredBuffer, + EbvStructuredBuffer, + EbvByteAddressBuffer, + EbvRWByteAddressBuffer, + + EbvLast +}; + +// In this enum, order matters; users can assume higher precision is a bigger value +// and EpqNone is 0. +enum TPrecisionQualifier { + EpqNone = 0, + EpqLow, + EpqMedium, + EpqHigh +}; + +#ifdef GLSLANG_WEB +__inline const char* GetStorageQualifierString(TStorageQualifier q) { return ""; } +__inline const char* GetPrecisionQualifierString(TPrecisionQualifier p) { return ""; } +#else +// These will show up in error messages +__inline const char* GetStorageQualifierString(TStorageQualifier q) +{ + switch (q) { + case EvqTemporary: return "temp"; break; + case EvqGlobal: return "global"; break; + case EvqConst: return "const"; break; + case EvqConstReadOnly: return "const (read only)"; break; + case EvqVaryingIn: return "in"; break; + case EvqVaryingOut: return "out"; break; + case EvqUniform: return "uniform"; break; + case EvqBuffer: return "buffer"; break; + case EvqShared: return "shared"; break; + case EvqIn: return "in"; break; + case EvqOut: return "out"; break; + case EvqInOut: return "inout"; break; + case EvqVertexId: return "gl_VertexId"; break; + case EvqInstanceId: return "gl_InstanceId"; break; + case EvqPosition: return "gl_Position"; break; + case EvqPointSize: return "gl_PointSize"; break; + case EvqClipVertex: return "gl_ClipVertex"; break; + case EvqFace: return "gl_FrontFacing"; break; + case EvqFragCoord: return "gl_FragCoord"; break; + case EvqPointCoord: return "gl_PointCoord"; break; + case EvqFragColor: return "fragColor"; break; + case EvqFragDepth: return "gl_FragDepth"; break; + case EvqPayload: return "rayPayloadNV"; break; + case EvqPayloadIn: return "rayPayloadInNV"; break; + case EvqHitAttr: return "hitAttributeNV"; break; + case EvqCallableData: return "callableDataNV"; break; + case EvqCallableDataIn: return "callableDataInNV"; break; + default: return "unknown qualifier"; + } +} + +__inline const char* GetBuiltInVariableString(TBuiltInVariable v) +{ + switch (v) { + case EbvNone: return ""; + case EbvNumWorkGroups: return "NumWorkGroups"; + case EbvWorkGroupSize: return "WorkGroupSize"; + case EbvWorkGroupId: return "WorkGroupID"; + case EbvLocalInvocationId: return "LocalInvocationID"; + case EbvGlobalInvocationId: return "GlobalInvocationID"; + case EbvLocalInvocationIndex: return "LocalInvocationIndex"; + case EbvNumSubgroups: return "NumSubgroups"; + case EbvSubgroupID: return "SubgroupID"; + case EbvSubGroupSize: return "SubGroupSize"; + case EbvSubGroupInvocation: return "SubGroupInvocation"; + case EbvSubGroupEqMask: return "SubGroupEqMask"; + case EbvSubGroupGeMask: return "SubGroupGeMask"; + case EbvSubGroupGtMask: return "SubGroupGtMask"; + case EbvSubGroupLeMask: return "SubGroupLeMask"; + case EbvSubGroupLtMask: return "SubGroupLtMask"; + case EbvSubgroupSize2: return "SubgroupSize"; + case EbvSubgroupInvocation2: return "SubgroupInvocationID"; + case EbvSubgroupEqMask2: return "SubgroupEqMask"; + case EbvSubgroupGeMask2: return "SubgroupGeMask"; + case EbvSubgroupGtMask2: return "SubgroupGtMask"; + case EbvSubgroupLeMask2: return "SubgroupLeMask"; + case EbvSubgroupLtMask2: return "SubgroupLtMask"; + case EbvVertexId: return "VertexId"; + case EbvInstanceId: return "InstanceId"; + case EbvVertexIndex: return "VertexIndex"; + case EbvInstanceIndex: return "InstanceIndex"; + case EbvBaseVertex: return "BaseVertex"; + case EbvBaseInstance: return "BaseInstance"; + case EbvDrawId: return "DrawId"; + case EbvPosition: return "Position"; + case EbvPointSize: return "PointSize"; + case EbvClipVertex: return "ClipVertex"; + case EbvClipDistance: return "ClipDistance"; + case EbvCullDistance: return "CullDistance"; + case EbvNormal: return "Normal"; + case EbvVertex: return "Vertex"; + case EbvMultiTexCoord0: return "MultiTexCoord0"; + case EbvMultiTexCoord1: return "MultiTexCoord1"; + case EbvMultiTexCoord2: return "MultiTexCoord2"; + case EbvMultiTexCoord3: return "MultiTexCoord3"; + case EbvMultiTexCoord4: return "MultiTexCoord4"; + case EbvMultiTexCoord5: return "MultiTexCoord5"; + case EbvMultiTexCoord6: return "MultiTexCoord6"; + case EbvMultiTexCoord7: return "MultiTexCoord7"; + case EbvFrontColor: return "FrontColor"; + case EbvBackColor: return "BackColor"; + case EbvFrontSecondaryColor: return "FrontSecondaryColor"; + case EbvBackSecondaryColor: return "BackSecondaryColor"; + case EbvTexCoord: return "TexCoord"; + case EbvFogFragCoord: return "FogFragCoord"; + case EbvInvocationId: return "InvocationID"; + case EbvPrimitiveId: return "PrimitiveID"; + case EbvLayer: return "Layer"; + case EbvViewportIndex: return "ViewportIndex"; + case EbvPatchVertices: return "PatchVertices"; + case EbvTessLevelOuter: return "TessLevelOuter"; + case EbvTessLevelInner: return "TessLevelInner"; + case EbvBoundingBox: return "BoundingBox"; + case EbvTessCoord: return "TessCoord"; + case EbvColor: return "Color"; + case EbvSecondaryColor: return "SecondaryColor"; + case EbvFace: return "Face"; + case EbvFragCoord: return "FragCoord"; + case EbvPointCoord: return "PointCoord"; + case EbvFragColor: return "FragColor"; + case EbvFragData: return "FragData"; + case EbvFragDepth: return "FragDepth"; + case EbvFragStencilRef: return "FragStencilRef"; + case EbvSampleId: return "SampleId"; + case EbvSamplePosition: return "SamplePosition"; + case EbvSampleMask: return "SampleMaskIn"; + case EbvHelperInvocation: return "HelperInvocation"; + + case EbvBaryCoordNoPersp: return "BaryCoordNoPersp"; + case EbvBaryCoordNoPerspCentroid: return "BaryCoordNoPerspCentroid"; + case EbvBaryCoordNoPerspSample: return "BaryCoordNoPerspSample"; + case EbvBaryCoordSmooth: return "BaryCoordSmooth"; + case EbvBaryCoordSmoothCentroid: return "BaryCoordSmoothCentroid"; + case EbvBaryCoordSmoothSample: return "BaryCoordSmoothSample"; + case EbvBaryCoordPullModel: return "BaryCoordPullModel"; + + case EbvViewIndex: return "ViewIndex"; + case EbvDeviceIndex: return "DeviceIndex"; + + case EbvFragSizeEXT: return "FragSizeEXT"; + case EbvFragInvocationCountEXT: return "FragInvocationCountEXT"; + + case EbvSecondaryFragDataEXT: return "SecondaryFragDataEXT"; + case EbvSecondaryFragColorEXT: return "SecondaryFragColorEXT"; + + case EbvViewportMaskNV: return "ViewportMaskNV"; + case EbvSecondaryPositionNV: return "SecondaryPositionNV"; + case EbvSecondaryViewportMaskNV: return "SecondaryViewportMaskNV"; + case EbvPositionPerViewNV: return "PositionPerViewNV"; + case EbvViewportMaskPerViewNV: return "ViewportMaskPerViewNV"; + case EbvFragFullyCoveredNV: return "FragFullyCoveredNV"; + case EbvFragmentSizeNV: return "FragmentSizeNV"; + case EbvInvocationsPerPixelNV: return "InvocationsPerPixelNV"; + case EbvLaunchId: return "LaunchIdNV"; + case EbvLaunchSize: return "LaunchSizeNV"; + case EbvInstanceCustomIndex: return "InstanceCustomIndexNV"; + case EbvGeometryIndex: return "GeometryIndexEXT"; + case EbvWorldRayOrigin: return "WorldRayOriginNV"; + case EbvWorldRayDirection: return "WorldRayDirectionNV"; + case EbvObjectRayOrigin: return "ObjectRayOriginNV"; + case EbvObjectRayDirection: return "ObjectRayDirectionNV"; + case EbvRayTmin: return "ObjectRayTminNV"; + case EbvRayTmax: return "ObjectRayTmaxNV"; + case EbvHitT: return "HitTNV"; + case EbvHitKind: return "HitKindNV"; + case EbvIncomingRayFlags: return "IncomingRayFlagsNV"; + case EbvObjectToWorld: return "ObjectToWorldNV"; + case EbvWorldToObject: return "WorldToObjectNV"; + + case EbvBaryCoordNV: return "BaryCoordNV"; + case EbvBaryCoordNoPerspNV: return "BaryCoordNoPerspNV"; + + case EbvTaskCountNV: return "TaskCountNV"; + case EbvPrimitiveCountNV: return "PrimitiveCountNV"; + case EbvPrimitiveIndicesNV: return "PrimitiveIndicesNV"; + case EbvClipDistancePerViewNV: return "ClipDistancePerViewNV"; + case EbvCullDistancePerViewNV: return "CullDistancePerViewNV"; + case EbvLayerPerViewNV: return "LayerPerViewNV"; + case EbvMeshViewCountNV: return "MeshViewCountNV"; + case EbvMeshViewIndicesNV: return "MeshViewIndicesNV"; + + case EbvWarpsPerSM: return "WarpsPerSMNV"; + case EbvSMCount: return "SMCountNV"; + case EbvWarpID: return "WarpIDNV"; + case EbvSMID: return "SMIDNV"; + + case EbvShadingRateKHR: return "ShadingRateKHR"; + case EbvPrimitiveShadingRateKHR: return "PrimitiveShadingRateKHR"; + + default: return "unknown built-in variable"; + } +} + +__inline const char* GetPrecisionQualifierString(TPrecisionQualifier p) +{ + switch (p) { + case EpqNone: return ""; break; + case EpqLow: return "lowp"; break; + case EpqMedium: return "mediump"; break; + case EpqHigh: return "highp"; break; + default: return "unknown precision qualifier"; + } +} +#endif + +__inline bool isTypeSignedInt(TBasicType type) +{ + switch (type) { + case EbtInt8: + case EbtInt16: + case EbtInt: + case EbtInt64: + return true; + default: + return false; + } +} + +__inline bool isTypeUnsignedInt(TBasicType type) +{ + switch (type) { + case EbtUint8: + case EbtUint16: + case EbtUint: + case EbtUint64: + return true; + default: + return false; + } +} + +__inline bool isTypeInt(TBasicType type) +{ + return isTypeSignedInt(type) || isTypeUnsignedInt(type); +} + +__inline bool isTypeFloat(TBasicType type) +{ + switch (type) { + case EbtFloat: + case EbtDouble: + case EbtFloat16: + return true; + default: + return false; + } +} + +__inline int getTypeRank(TBasicType type) +{ + int res = -1; + switch(type) { + case EbtInt8: + case EbtUint8: + res = 0; + break; + case EbtInt16: + case EbtUint16: + res = 1; + break; + case EbtInt: + case EbtUint: + res = 2; + break; + case EbtInt64: + case EbtUint64: + res = 3; + break; + default: + assert(false); + break; + } + return res; +} + +} // end namespace glslang + +#endif // _BASICTYPES_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/Common.h b/android/x86_64/include/glslang/Include/Common.h new file mode 100644 index 00000000..b628cdc2 --- /dev/null +++ b/android/x86_64/include/glslang/Include/Common.h @@ -0,0 +1,291 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _COMMON_INCLUDED_ +#define _COMMON_INCLUDED_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__ANDROID__) || (defined(_MSC_VER) && _MSC_VER < 1700) +#include +namespace std { +template +std::string to_string(const T& val) { + std::ostringstream os; + os << val; + return os.str(); +} +} +#endif + +#if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/) || defined MINGW_HAS_SECURE_API + #include + #ifndef snprintf + #define snprintf sprintf_s + #endif + #define safe_vsprintf(buf,max,format,args) vsnprintf_s((buf), (max), (max), (format), (args)) +#elif defined (solaris) + #define safe_vsprintf(buf,max,format,args) vsnprintf((buf), (max), (format), (args)) + #include + #define UINT_PTR uintptr_t +#else + #define safe_vsprintf(buf,max,format,args) vsnprintf((buf), (max), (format), (args)) + #include + #define UINT_PTR uintptr_t +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1800 + #include + inline long long int strtoll (const char* str, char** endptr, int base) + { + return _strtoi64(str, endptr, base); + } + inline unsigned long long int strtoull (const char* str, char** endptr, int base) + { + return _strtoui64(str, endptr, base); + } + inline long long int atoll (const char* str) + { + return strtoll(str, NULL, 10); + } +#endif + +#if defined(_MSC_VER) +#define strdup _strdup +#endif + +/* windows only pragma */ +#ifdef _MSC_VER + #pragma warning(disable : 4786) // Don't warn about too long identifiers + #pragma warning(disable : 4514) // unused inline method + #pragma warning(disable : 4201) // nameless union +#endif + +#include "PoolAlloc.h" + +// +// Put POOL_ALLOCATOR_NEW_DELETE in base classes to make them use this scheme. +// +#define POOL_ALLOCATOR_NEW_DELETE(A) \ + void* operator new(size_t s) { return (A).allocate(s); } \ + void* operator new(size_t, void *_Where) { return (_Where); } \ + void operator delete(void*) { } \ + void operator delete(void *, void *) { } \ + void* operator new[](size_t s) { return (A).allocate(s); } \ + void* operator new[](size_t, void *_Where) { return (_Where); } \ + void operator delete[](void*) { } \ + void operator delete[](void *, void *) { } + +namespace glslang { + + // + // Pool version of string. + // + typedef pool_allocator TStringAllocator; + typedef std::basic_string , TStringAllocator> TString; + +} // end namespace glslang + +// Repackage the std::hash for use by unordered map/set with a TString key. +namespace std { + + template<> struct hash { + std::size_t operator()(const glslang::TString& s) const + { + const unsigned _FNV_offset_basis = 2166136261U; + const unsigned _FNV_prime = 16777619U; + unsigned _Val = _FNV_offset_basis; + size_t _Count = s.size(); + const char* _First = s.c_str(); + for (size_t _Next = 0; _Next < _Count; ++_Next) + { + _Val ^= (unsigned)_First[_Next]; + _Val *= _FNV_prime; + } + + return _Val; + } + }; +} + +namespace glslang { + +inline TString* NewPoolTString(const char* s) +{ + void* memory = GetThreadPoolAllocator().allocate(sizeof(TString)); + return new(memory) TString(s); +} + +template inline T* NewPoolObject(T*) +{ + return new(GetThreadPoolAllocator().allocate(sizeof(T))) T; +} + +template inline T* NewPoolObject(T, int instances) +{ + return new(GetThreadPoolAllocator().allocate(instances * sizeof(T))) T[instances]; +} + +// +// Pool allocator versions of vectors, lists, and maps +// +template class TVector : public std::vector > { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + + typedef typename std::vector >::size_type size_type; + TVector() : std::vector >() {} + TVector(const pool_allocator& a) : std::vector >(a) {} + TVector(size_type i) : std::vector >(i) {} + TVector(size_type i, const T& val) : std::vector >(i, val) {} +}; + +template class TList : public std::list > { +}; + +template > +class TMap : public std::map > > { +}; + +template , class PRED = std::equal_to > +class TUnorderedMap : public std::unordered_map > > { +}; + +// +// Persistent string memory. Should only be used for strings that survive +// across compiles/links. +// +typedef std::basic_string TPersistString; + +// +// templatized min and max functions. +// +template T Min(const T a, const T b) { return a < b ? a : b; } +template T Max(const T a, const T b) { return a > b ? a : b; } + +// +// Create a TString object from an integer. +// +#if defined _MSC_VER || defined MINGW_HAS_SECURE_API +inline const TString String(const int i, const int base = 10) +{ + char text[16]; // 32 bit ints are at most 10 digits in base 10 + _itoa_s(i, text, sizeof(text), base); + return text; +} +#else +inline const TString String(const int i, const int /*base*/ = 10) +{ + char text[16]; // 32 bit ints are at most 10 digits in base 10 + + // we assume base 10 for all cases + snprintf(text, sizeof(text), "%d", i); + + return text; +} +#endif + +struct TSourceLoc { + void init() + { + name = nullptr; string = 0; line = 0; column = 0; + } + void init(int stringNum) { init(); string = stringNum; } + // Returns the name if it exists. Otherwise, returns the string number. + std::string getStringNameOrNum(bool quoteStringName = true) const + { + if (name != nullptr) { + TString qstr = quoteStringName ? ("\"" + *name + "\"") : *name; + std::string ret_str(qstr.c_str()); + return ret_str; + } + return std::to_string((long long)string); + } + const char* getFilename() const + { + if (name == nullptr) + return nullptr; + return name->c_str(); + } + const char* getFilenameStr() const { return name == nullptr ? "" : name->c_str(); } + TString* name; // descriptive name for this string, when a textual name is available, otherwise nullptr + int string; + int line; + int column; +}; + +class TPragmaTable : public TMap { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) +}; + +const int MaxTokenLength = 1024; + +template bool IsPow2(T powerOf2) +{ + if (powerOf2 <= 0) + return false; + + return (powerOf2 & (powerOf2 - 1)) == 0; +} + +// Round number up to a multiple of the given powerOf2, which is not +// a power, just a number that must be a power of 2. +template void RoundToPow2(T& number, int powerOf2) +{ + assert(IsPow2(powerOf2)); + number = (number + powerOf2 - 1) & ~(powerOf2 - 1); +} + +template bool IsMultipleOfPow2(T number, int powerOf2) +{ + assert(IsPow2(powerOf2)); + return ! (number & (powerOf2 - 1)); +} + +} // end namespace glslang + +#endif // _COMMON_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/ConstantUnion.h b/android/x86_64/include/glslang/Include/ConstantUnion.h new file mode 100644 index 00000000..c4ffb857 --- /dev/null +++ b/android/x86_64/include/glslang/Include/ConstantUnion.h @@ -0,0 +1,974 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _CONSTANT_UNION_INCLUDED_ +#define _CONSTANT_UNION_INCLUDED_ + +#include "../Include/Common.h" +#include "../Include/BaseTypes.h" + +namespace glslang { + +class TConstUnion { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + + TConstUnion() : iConst(0), type(EbtInt) { } + + void setI8Const(signed char i) + { + i8Const = i; + type = EbtInt8; + } + + void setU8Const(unsigned char u) + { + u8Const = u; + type = EbtUint8; + } + + void setI16Const(signed short i) + { + i16Const = i; + type = EbtInt16; + } + + void setU16Const(unsigned short u) + { + u16Const = u; + type = EbtUint16; + } + + void setIConst(int i) + { + iConst = i; + type = EbtInt; + } + + void setUConst(unsigned int u) + { + uConst = u; + type = EbtUint; + } + + void setI64Const(long long i64) + { + i64Const = i64; + type = EbtInt64; + } + + void setU64Const(unsigned long long u64) + { + u64Const = u64; + type = EbtUint64; + } + + void setDConst(double d) + { + dConst = d; + type = EbtDouble; + } + + void setBConst(bool b) + { + bConst = b; + type = EbtBool; + } + + void setSConst(const TString* s) + { + sConst = s; + type = EbtString; + } + + signed char getI8Const() const { return i8Const; } + unsigned char getU8Const() const { return u8Const; } + signed short getI16Const() const { return i16Const; } + unsigned short getU16Const() const { return u16Const; } + int getIConst() const { return iConst; } + unsigned int getUConst() const { return uConst; } + long long getI64Const() const { return i64Const; } + unsigned long long getU64Const() const { return u64Const; } + double getDConst() const { return dConst; } + bool getBConst() const { return bConst; } + const TString* getSConst() const { return sConst; } + + bool operator==(const signed char i) const + { + if (i == i8Const) + return true; + + return false; + } + + bool operator==(const unsigned char u) const + { + if (u == u8Const) + return true; + + return false; + } + + bool operator==(const signed short i) const + { + if (i == i16Const) + return true; + + return false; + } + + bool operator==(const unsigned short u) const + { + if (u == u16Const) + return true; + + return false; + } + + bool operator==(const int i) const + { + if (i == iConst) + return true; + + return false; + } + + bool operator==(const unsigned int u) const + { + if (u == uConst) + return true; + + return false; + } + + bool operator==(const long long i64) const + { + if (i64 == i64Const) + return true; + + return false; + } + + bool operator==(const unsigned long long u64) const + { + if (u64 == u64Const) + return true; + + return false; + } + + bool operator==(const double d) const + { + if (d == dConst) + return true; + + return false; + } + + bool operator==(const bool b) const + { + if (b == bConst) + return true; + + return false; + } + + bool operator==(const TConstUnion& constant) const + { + if (constant.type != type) + return false; + + switch (type) { + case EbtInt: + if (constant.iConst == iConst) + return true; + + break; + case EbtUint: + if (constant.uConst == uConst) + return true; + + break; + case EbtBool: + if (constant.bConst == bConst) + return true; + + break; + case EbtDouble: + if (constant.dConst == dConst) + return true; + + break; + +#ifndef GLSLANG_WEB + case EbtInt16: + if (constant.i16Const == i16Const) + return true; + + break; + case EbtUint16: + if (constant.u16Const == u16Const) + return true; + + break; + case EbtInt8: + if (constant.i8Const == i8Const) + return true; + + break; + case EbtUint8: + if (constant.u8Const == u8Const) + return true; + + break; + case EbtInt64: + if (constant.i64Const == i64Const) + return true; + + break; + case EbtUint64: + if (constant.u64Const == u64Const) + return true; + + break; +#endif + default: + assert(false && "Default missing"); + } + + return false; + } + + bool operator!=(const signed char i) const + { + return !operator==(i); + } + + bool operator!=(const unsigned char u) const + { + return !operator==(u); + } + + bool operator!=(const signed short i) const + { + return !operator==(i); + } + + bool operator!=(const unsigned short u) const + { + return !operator==(u); + } + + bool operator!=(const int i) const + { + return !operator==(i); + } + + bool operator!=(const unsigned int u) const + { + return !operator==(u); + } + + bool operator!=(const long long i) const + { + return !operator==(i); + } + + bool operator!=(const unsigned long long u) const + { + return !operator==(u); + } + + bool operator!=(const float f) const + { + return !operator==(f); + } + + bool operator!=(const bool b) const + { + return !operator==(b); + } + + bool operator!=(const TConstUnion& constant) const + { + return !operator==(constant); + } + + bool operator>(const TConstUnion& constant) const + { + assert(type == constant.type); + switch (type) { + case EbtInt: + if (iConst > constant.iConst) + return true; + + return false; + case EbtUint: + if (uConst > constant.uConst) + return true; + + return false; + case EbtDouble: + if (dConst > constant.dConst) + return true; + + return false; +#ifndef GLSLANG_WEB + case EbtInt8: + if (i8Const > constant.i8Const) + return true; + + return false; + case EbtUint8: + if (u8Const > constant.u8Const) + return true; + + return false; + case EbtInt16: + if (i16Const > constant.i16Const) + return true; + + return false; + case EbtUint16: + if (u16Const > constant.u16Const) + return true; + + return false; + case EbtInt64: + if (i64Const > constant.i64Const) + return true; + + return false; + case EbtUint64: + if (u64Const > constant.u64Const) + return true; + + return false; +#endif + default: + assert(false && "Default missing"); + return false; + } + } + + bool operator<(const TConstUnion& constant) const + { + assert(type == constant.type); + switch (type) { +#ifndef GLSLANG_WEB + case EbtInt8: + if (i8Const < constant.i8Const) + return true; + + return false; + case EbtUint8: + if (u8Const < constant.u8Const) + return true; + + return false; + case EbtInt16: + if (i16Const < constant.i16Const) + return true; + + return false; + case EbtUint16: + if (u16Const < constant.u16Const) + return true; + return false; + case EbtInt64: + if (i64Const < constant.i64Const) + return true; + + return false; + case EbtUint64: + if (u64Const < constant.u64Const) + return true; + + return false; +#endif + case EbtDouble: + if (dConst < constant.dConst) + return true; + + return false; + case EbtInt: + if (iConst < constant.iConst) + return true; + + return false; + case EbtUint: + if (uConst < constant.uConst) + return true; + + return false; + default: + assert(false && "Default missing"); + return false; + } + } + + TConstUnion operator+(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtInt: returnValue.setIConst(iConst + constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst + constant.uConst); break; + case EbtDouble: returnValue.setDConst(dConst + constant.dConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(i8Const + constant.i8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const + constant.i16Const); break; + case EbtInt64: returnValue.setI64Const(i64Const + constant.i64Const); break; + case EbtUint8: returnValue.setU8Const(u8Const + constant.u8Const); break; + case EbtUint16: returnValue.setU16Const(u16Const + constant.u16Const); break; + case EbtUint64: returnValue.setU64Const(u64Const + constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator-(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtInt: returnValue.setIConst(iConst - constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst - constant.uConst); break; + case EbtDouble: returnValue.setDConst(dConst - constant.dConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(i8Const - constant.i8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const - constant.i16Const); break; + case EbtInt64: returnValue.setI64Const(i64Const - constant.i64Const); break; + case EbtUint8: returnValue.setU8Const(u8Const - constant.u8Const); break; + case EbtUint16: returnValue.setU16Const(u16Const - constant.u16Const); break; + case EbtUint64: returnValue.setU64Const(u64Const - constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator*(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtInt: returnValue.setIConst(iConst * constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst * constant.uConst); break; + case EbtDouble: returnValue.setDConst(dConst * constant.dConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(i8Const * constant.i8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const * constant.i16Const); break; + case EbtInt64: returnValue.setI64Const(i64Const * constant.i64Const); break; + case EbtUint8: returnValue.setU8Const(u8Const * constant.u8Const); break; + case EbtUint16: returnValue.setU16Const(u16Const * constant.u16Const); break; + case EbtUint64: returnValue.setU64Const(u64Const * constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator%(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtInt: returnValue.setIConst(iConst % constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst % constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(i8Const % constant.i8Const); break; + case EbtInt16: returnValue.setI8Const(i8Const % constant.i16Const); break; + case EbtInt64: returnValue.setI64Const(i64Const % constant.i64Const); break; + case EbtUint8: returnValue.setU8Const(u8Const % constant.u8Const); break; + case EbtUint16: returnValue.setU16Const(u16Const % constant.u16Const); break; + case EbtUint64: returnValue.setU64Const(u64Const % constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator>>(const TConstUnion& constant) const + { + TConstUnion returnValue; + switch (type) { +#ifndef GLSLANG_WEB + case EbtInt8: + switch (constant.type) { + case EbtInt8: returnValue.setI8Const(i8Const >> constant.i8Const); break; + case EbtUint8: returnValue.setI8Const(i8Const >> constant.u8Const); break; + case EbtInt16: returnValue.setI8Const(i8Const >> constant.i16Const); break; + case EbtUint16: returnValue.setI8Const(i8Const >> constant.u16Const); break; + case EbtInt: returnValue.setI8Const(i8Const >> constant.iConst); break; + case EbtUint: returnValue.setI8Const(i8Const >> constant.uConst); break; + case EbtInt64: returnValue.setI8Const(i8Const >> constant.i64Const); break; + case EbtUint64: returnValue.setI8Const(i8Const >> constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtUint8: + switch (constant.type) { + case EbtInt8: returnValue.setU8Const(u8Const >> constant.i8Const); break; + case EbtUint8: returnValue.setU8Const(u8Const >> constant.u8Const); break; + case EbtInt16: returnValue.setU8Const(u8Const >> constant.i16Const); break; + case EbtUint16: returnValue.setU8Const(u8Const >> constant.u16Const); break; + case EbtInt: returnValue.setU8Const(u8Const >> constant.iConst); break; + case EbtUint: returnValue.setU8Const(u8Const >> constant.uConst); break; + case EbtInt64: returnValue.setU8Const(u8Const >> constant.i64Const); break; + case EbtUint64: returnValue.setU8Const(u8Const >> constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtInt16: + switch (constant.type) { + case EbtInt8: returnValue.setI16Const(i16Const >> constant.i8Const); break; + case EbtUint8: returnValue.setI16Const(i16Const >> constant.u8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const >> constant.i16Const); break; + case EbtUint16: returnValue.setI16Const(i16Const >> constant.u16Const); break; + case EbtInt: returnValue.setI16Const(i16Const >> constant.iConst); break; + case EbtUint: returnValue.setI16Const(i16Const >> constant.uConst); break; + case EbtInt64: returnValue.setI16Const(i16Const >> constant.i64Const); break; + case EbtUint64: returnValue.setI16Const(i16Const >> constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtUint16: + switch (constant.type) { + case EbtInt8: returnValue.setU16Const(u16Const >> constant.i8Const); break; + case EbtUint8: returnValue.setU16Const(u16Const >> constant.u8Const); break; + case EbtInt16: returnValue.setU16Const(u16Const >> constant.i16Const); break; + case EbtUint16: returnValue.setU16Const(u16Const >> constant.u16Const); break; + case EbtInt: returnValue.setU16Const(u16Const >> constant.iConst); break; + case EbtUint: returnValue.setU16Const(u16Const >> constant.uConst); break; + case EbtInt64: returnValue.setU16Const(u16Const >> constant.i64Const); break; + case EbtUint64: returnValue.setU16Const(u16Const >> constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; +#endif + case EbtInt: + switch (constant.type) { + case EbtInt: returnValue.setIConst(iConst >> constant.iConst); break; + case EbtUint: returnValue.setIConst(iConst >> constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setIConst(iConst >> constant.i8Const); break; + case EbtUint8: returnValue.setIConst(iConst >> constant.u8Const); break; + case EbtInt16: returnValue.setIConst(iConst >> constant.i16Const); break; + case EbtUint16: returnValue.setIConst(iConst >> constant.u16Const); break; + case EbtInt64: returnValue.setIConst(iConst >> constant.i64Const); break; + case EbtUint64: returnValue.setIConst(iConst >> constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + break; + case EbtUint: + switch (constant.type) { + case EbtInt: returnValue.setUConst(uConst >> constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst >> constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setUConst(uConst >> constant.i8Const); break; + case EbtUint8: returnValue.setUConst(uConst >> constant.u8Const); break; + case EbtInt16: returnValue.setUConst(uConst >> constant.i16Const); break; + case EbtUint16: returnValue.setUConst(uConst >> constant.u16Const); break; + case EbtInt64: returnValue.setUConst(uConst >> constant.i64Const); break; + case EbtUint64: returnValue.setUConst(uConst >> constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + break; +#ifndef GLSLANG_WEB + case EbtInt64: + switch (constant.type) { + case EbtInt8: returnValue.setI64Const(i64Const >> constant.i8Const); break; + case EbtUint8: returnValue.setI64Const(i64Const >> constant.u8Const); break; + case EbtInt16: returnValue.setI64Const(i64Const >> constant.i16Const); break; + case EbtUint16: returnValue.setI64Const(i64Const >> constant.u16Const); break; + case EbtInt: returnValue.setI64Const(i64Const >> constant.iConst); break; + case EbtUint: returnValue.setI64Const(i64Const >> constant.uConst); break; + case EbtInt64: returnValue.setI64Const(i64Const >> constant.i64Const); break; + case EbtUint64: returnValue.setI64Const(i64Const >> constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtUint64: + switch (constant.type) { + case EbtInt8: returnValue.setU64Const(u64Const >> constant.i8Const); break; + case EbtUint8: returnValue.setU64Const(u64Const >> constant.u8Const); break; + case EbtInt16: returnValue.setU64Const(u64Const >> constant.i16Const); break; + case EbtUint16: returnValue.setU64Const(u64Const >> constant.u16Const); break; + case EbtInt: returnValue.setU64Const(u64Const >> constant.iConst); break; + case EbtUint: returnValue.setU64Const(u64Const >> constant.uConst); break; + case EbtInt64: returnValue.setU64Const(u64Const >> constant.i64Const); break; + case EbtUint64: returnValue.setU64Const(u64Const >> constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator<<(const TConstUnion& constant) const + { + TConstUnion returnValue; + switch (type) { +#ifndef GLSLANG_WEB + case EbtInt8: + switch (constant.type) { + case EbtInt8: returnValue.setI8Const(i8Const << constant.i8Const); break; + case EbtUint8: returnValue.setI8Const(i8Const << constant.u8Const); break; + case EbtInt16: returnValue.setI8Const(i8Const << constant.i16Const); break; + case EbtUint16: returnValue.setI8Const(i8Const << constant.u16Const); break; + case EbtInt: returnValue.setI8Const(i8Const << constant.iConst); break; + case EbtUint: returnValue.setI8Const(i8Const << constant.uConst); break; + case EbtInt64: returnValue.setI8Const(i8Const << constant.i64Const); break; + case EbtUint64: returnValue.setI8Const(i8Const << constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtUint8: + switch (constant.type) { + case EbtInt8: returnValue.setU8Const(u8Const << constant.i8Const); break; + case EbtUint8: returnValue.setU8Const(u8Const << constant.u8Const); break; + case EbtInt16: returnValue.setU8Const(u8Const << constant.i16Const); break; + case EbtUint16: returnValue.setU8Const(u8Const << constant.u16Const); break; + case EbtInt: returnValue.setU8Const(u8Const << constant.iConst); break; + case EbtUint: returnValue.setU8Const(u8Const << constant.uConst); break; + case EbtInt64: returnValue.setU8Const(u8Const << constant.i64Const); break; + case EbtUint64: returnValue.setU8Const(u8Const << constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtInt16: + switch (constant.type) { + case EbtInt8: returnValue.setI16Const(i16Const << constant.i8Const); break; + case EbtUint8: returnValue.setI16Const(i16Const << constant.u8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const << constant.i16Const); break; + case EbtUint16: returnValue.setI16Const(i16Const << constant.u16Const); break; + case EbtInt: returnValue.setI16Const(i16Const << constant.iConst); break; + case EbtUint: returnValue.setI16Const(i16Const << constant.uConst); break; + case EbtInt64: returnValue.setI16Const(i16Const << constant.i64Const); break; + case EbtUint64: returnValue.setI16Const(i16Const << constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtUint16: + switch (constant.type) { + case EbtInt8: returnValue.setU16Const(u16Const << constant.i8Const); break; + case EbtUint8: returnValue.setU16Const(u16Const << constant.u8Const); break; + case EbtInt16: returnValue.setU16Const(u16Const << constant.i16Const); break; + case EbtUint16: returnValue.setU16Const(u16Const << constant.u16Const); break; + case EbtInt: returnValue.setU16Const(u16Const << constant.iConst); break; + case EbtUint: returnValue.setU16Const(u16Const << constant.uConst); break; + case EbtInt64: returnValue.setU16Const(u16Const << constant.i64Const); break; + case EbtUint64: returnValue.setU16Const(u16Const << constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtInt64: + switch (constant.type) { + case EbtInt8: returnValue.setI64Const(i64Const << constant.i8Const); break; + case EbtUint8: returnValue.setI64Const(i64Const << constant.u8Const); break; + case EbtInt16: returnValue.setI64Const(i64Const << constant.i16Const); break; + case EbtUint16: returnValue.setI64Const(i64Const << constant.u16Const); break; + case EbtInt: returnValue.setI64Const(i64Const << constant.iConst); break; + case EbtUint: returnValue.setI64Const(i64Const << constant.uConst); break; + case EbtInt64: returnValue.setI64Const(i64Const << constant.i64Const); break; + case EbtUint64: returnValue.setI64Const(i64Const << constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; + case EbtUint64: + switch (constant.type) { + case EbtInt8: returnValue.setU64Const(u64Const << constant.i8Const); break; + case EbtUint8: returnValue.setU64Const(u64Const << constant.u8Const); break; + case EbtInt16: returnValue.setU64Const(u64Const << constant.i16Const); break; + case EbtUint16: returnValue.setU64Const(u64Const << constant.u16Const); break; + case EbtInt: returnValue.setU64Const(u64Const << constant.iConst); break; + case EbtUint: returnValue.setU64Const(u64Const << constant.uConst); break; + case EbtInt64: returnValue.setU64Const(u64Const << constant.i64Const); break; + case EbtUint64: returnValue.setU64Const(u64Const << constant.u64Const); break; + default: assert(false && "Default missing"); + } + break; +#endif + case EbtInt: + switch (constant.type) { + case EbtInt: returnValue.setIConst(iConst << constant.iConst); break; + case EbtUint: returnValue.setIConst(iConst << constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setIConst(iConst << constant.i8Const); break; + case EbtUint8: returnValue.setIConst(iConst << constant.u8Const); break; + case EbtInt16: returnValue.setIConst(iConst << constant.i16Const); break; + case EbtUint16: returnValue.setIConst(iConst << constant.u16Const); break; + case EbtInt64: returnValue.setIConst(iConst << constant.i64Const); break; + case EbtUint64: returnValue.setIConst(iConst << constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + break; + case EbtUint: + switch (constant.type) { + case EbtInt: returnValue.setUConst(uConst << constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst << constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setUConst(uConst << constant.i8Const); break; + case EbtUint8: returnValue.setUConst(uConst << constant.u8Const); break; + case EbtInt16: returnValue.setUConst(uConst << constant.i16Const); break; + case EbtUint16: returnValue.setUConst(uConst << constant.u16Const); break; + case EbtInt64: returnValue.setUConst(uConst << constant.i64Const); break; + case EbtUint64: returnValue.setUConst(uConst << constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + break; + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator&(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtInt: returnValue.setIConst(iConst & constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst & constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(i8Const & constant.i8Const); break; + case EbtUint8: returnValue.setU8Const(u8Const & constant.u8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const & constant.i16Const); break; + case EbtUint16: returnValue.setU16Const(u16Const & constant.u16Const); break; + case EbtInt64: returnValue.setI64Const(i64Const & constant.i64Const); break; + case EbtUint64: returnValue.setU64Const(u64Const & constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator|(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtInt: returnValue.setIConst(iConst | constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst | constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(i8Const | constant.i8Const); break; + case EbtUint8: returnValue.setU8Const(u8Const | constant.u8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const | constant.i16Const); break; + case EbtUint16: returnValue.setU16Const(u16Const | constant.u16Const); break; + case EbtInt64: returnValue.setI64Const(i64Const | constant.i64Const); break; + case EbtUint64: returnValue.setU64Const(u64Const | constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator^(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtInt: returnValue.setIConst(iConst ^ constant.iConst); break; + case EbtUint: returnValue.setUConst(uConst ^ constant.uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(i8Const ^ constant.i8Const); break; + case EbtUint8: returnValue.setU8Const(u8Const ^ constant.u8Const); break; + case EbtInt16: returnValue.setI16Const(i16Const ^ constant.i16Const); break; + case EbtUint16: returnValue.setU16Const(u16Const ^ constant.u16Const); break; + case EbtInt64: returnValue.setI64Const(i64Const ^ constant.i64Const); break; + case EbtUint64: returnValue.setU64Const(u64Const ^ constant.u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator~() const + { + TConstUnion returnValue; + switch (type) { + case EbtInt: returnValue.setIConst(~iConst); break; + case EbtUint: returnValue.setUConst(~uConst); break; +#ifndef GLSLANG_WEB + case EbtInt8: returnValue.setI8Const(~i8Const); break; + case EbtUint8: returnValue.setU8Const(~u8Const); break; + case EbtInt16: returnValue.setI16Const(~i16Const); break; + case EbtUint16: returnValue.setU16Const(~u16Const); break; + case EbtInt64: returnValue.setI64Const(~i64Const); break; + case EbtUint64: returnValue.setU64Const(~u64Const); break; +#endif + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator&&(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtBool: returnValue.setBConst(bConst && constant.bConst); break; + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TConstUnion operator||(const TConstUnion& constant) const + { + TConstUnion returnValue; + assert(type == constant.type); + switch (type) { + case EbtBool: returnValue.setBConst(bConst || constant.bConst); break; + default: assert(false && "Default missing"); + } + + return returnValue; + } + + TBasicType getType() const { return type; } + +private: + union { + signed char i8Const; // used for i8vec, scalar int8s + unsigned char u8Const; // used for u8vec, scalar uint8s + signed short i16Const; // used for i16vec, scalar int16s + unsigned short u16Const; // used for u16vec, scalar uint16s + int iConst; // used for ivec, scalar ints + unsigned int uConst; // used for uvec, scalar uints + long long i64Const; // used for i64vec, scalar int64s + unsigned long long u64Const; // used for u64vec, scalar uint64s + bool bConst; // used for bvec, scalar bools + double dConst; // used for vec, dvec, mat, dmat, scalar floats and doubles + const TString* sConst; // string constant + }; + + TBasicType type; +}; + +// Encapsulate having a pointer to an array of TConstUnion, +// which only needs to be allocated if its size is going to be +// bigger than 0. +// +// One convenience is being able to use [] to go inside the array, instead +// of C++ assuming it as an array of pointers to vectors. +// +// General usage is that the size is known up front, and it is +// created once with the proper size. +// +class TConstUnionArray { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + + TConstUnionArray() : unionArray(nullptr) { } + virtual ~TConstUnionArray() { } + + explicit TConstUnionArray(int size) + { + if (size == 0) + unionArray = nullptr; + else + unionArray = new TConstUnionVector(size); + } + TConstUnionArray(const TConstUnionArray& a) = default; + TConstUnionArray(const TConstUnionArray& a, int start, int size) + { + unionArray = new TConstUnionVector(size); + for (int i = 0; i < size; ++i) + (*unionArray)[i] = a[start + i]; + } + + // Use this constructor for a smear operation + TConstUnionArray(int size, const TConstUnion& val) + { + unionArray = new TConstUnionVector(size, val); + } + + int size() const { return unionArray ? (int)unionArray->size() : 0; } + TConstUnion& operator[](size_t index) { return (*unionArray)[index]; } + const TConstUnion& operator[](size_t index) const { return (*unionArray)[index]; } + bool operator==(const TConstUnionArray& rhs) const + { + // this includes the case that both are unallocated + if (unionArray == rhs.unionArray) + return true; + + if (! unionArray || ! rhs.unionArray) + return false; + + return *unionArray == *rhs.unionArray; + } + bool operator!=(const TConstUnionArray& rhs) const { return ! operator==(rhs); } + + double dot(const TConstUnionArray& rhs) + { + assert(rhs.unionArray->size() == unionArray->size()); + double sum = 0.0; + + for (size_t comp = 0; comp < unionArray->size(); ++comp) + sum += (*this)[comp].getDConst() * rhs[comp].getDConst(); + + return sum; + } + + bool empty() const { return unionArray == nullptr; } + +protected: + typedef TVector TConstUnionVector; + TConstUnionVector* unionArray; +}; + +} // end namespace glslang + +#endif // _CONSTANT_UNION_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/InfoSink.h b/android/x86_64/include/glslang/Include/InfoSink.h new file mode 100644 index 00000000..dceb603c --- /dev/null +++ b/android/x86_64/include/glslang/Include/InfoSink.h @@ -0,0 +1,144 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _INFOSINK_INCLUDED_ +#define _INFOSINK_INCLUDED_ + +#include "../Include/Common.h" +#include + +namespace glslang { + +// +// TPrefixType is used to centralize how info log messages start. +// See below. +// +enum TPrefixType { + EPrefixNone, + EPrefixWarning, + EPrefixError, + EPrefixInternalError, + EPrefixUnimplemented, + EPrefixNote +}; + +enum TOutputStream { + ENull = 0, + EDebugger = 0x01, + EStdOut = 0x02, + EString = 0x04, +}; +// +// Encapsulate info logs for all objects that have them. +// +// The methods are a general set of tools for getting a variety of +// messages and types inserted into the log. +// +class TInfoSinkBase { +public: + TInfoSinkBase() : outputStream(4) {} + void erase() { sink.erase(); } + TInfoSinkBase& operator<<(const TPersistString& t) { append(t); return *this; } + TInfoSinkBase& operator<<(char c) { append(1, c); return *this; } + TInfoSinkBase& operator<<(const char* s) { append(s); return *this; } + TInfoSinkBase& operator<<(int n) { append(String(n)); return *this; } + TInfoSinkBase& operator<<(unsigned int n) { append(String(n)); return *this; } + TInfoSinkBase& operator<<(float n) { const int size = 40; char buf[size]; + snprintf(buf, size, (fabs(n) > 1e-8 && fabs(n) < 1e8) || n == 0.0f ? "%f" : "%g", n); + append(buf); + return *this; } + TInfoSinkBase& operator+(const TPersistString& t) { append(t); return *this; } + TInfoSinkBase& operator+(const TString& t) { append(t); return *this; } + TInfoSinkBase& operator<<(const TString& t) { append(t); return *this; } + TInfoSinkBase& operator+(const char* s) { append(s); return *this; } + const char* c_str() const { return sink.c_str(); } + void prefix(TPrefixType message) { + switch(message) { + case EPrefixNone: break; + case EPrefixWarning: append("WARNING: "); break; + case EPrefixError: append("ERROR: "); break; + case EPrefixInternalError: append("INTERNAL ERROR: "); break; + case EPrefixUnimplemented: append("UNIMPLEMENTED: "); break; + case EPrefixNote: append("NOTE: "); break; + default: append("UNKNOWN ERROR: "); break; + } + } + void location(const TSourceLoc& loc) { + const int maxSize = 24; + char locText[maxSize]; + snprintf(locText, maxSize, ":%d", loc.line); + append(loc.getStringNameOrNum(false).c_str()); + append(locText); + append(": "); + } + void message(TPrefixType message, const char* s) { + prefix(message); + append(s); + append("\n"); + } + void message(TPrefixType message, const char* s, const TSourceLoc& loc) { + prefix(message); + location(loc); + append(s); + append("\n"); + } + + void setOutputStream(int output = 4) + { + outputStream = output; + } + +protected: + void append(const char* s); + + void append(int count, char c); + void append(const TPersistString& t); + void append(const TString& t); + + void checkMem(size_t growth) { if (sink.capacity() < sink.size() + growth + 2) + sink.reserve(sink.capacity() + sink.capacity() / 2); } + void appendToStream(const char* s); + TPersistString sink; + int outputStream; +}; + +} // end namespace glslang + +class TInfoSink { +public: + glslang::TInfoSinkBase info; + glslang::TInfoSinkBase debug; +}; + +#endif // _INFOSINK_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/InitializeGlobals.h b/android/x86_64/include/glslang/Include/InitializeGlobals.h new file mode 100644 index 00000000..95d0a40e --- /dev/null +++ b/android/x86_64/include/glslang/Include/InitializeGlobals.h @@ -0,0 +1,44 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef __INITIALIZE_GLOBALS_INCLUDED_ +#define __INITIALIZE_GLOBALS_INCLUDED_ + +namespace glslang { + +bool InitializePoolIndex(); + +} // end namespace glslang + +#endif // __INITIALIZE_GLOBALS_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Constant.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/Constant.cpp new file mode 100644 index 00000000..e21cf427 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Constant.cpp @@ -0,0 +1,1428 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2018-2020 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#include "localintermediate.h" +#include +#include +#include +#include + +namespace { + +using namespace glslang; + +typedef union { + double d; + int i[2]; +} DoubleIntUnion; + +// Some helper functions + +bool isNan(double x) +{ + DoubleIntUnion u; + // tough to find a platform independent library function, do it directly + u.d = x; + int bitPatternL = u.i[0]; + int bitPatternH = u.i[1]; + return (bitPatternH & 0x7ff80000) == 0x7ff80000 && + ((bitPatternH & 0xFFFFF) != 0 || bitPatternL != 0); +} + +bool isInf(double x) +{ + DoubleIntUnion u; + // tough to find a platform independent library function, do it directly + u.d = x; + int bitPatternL = u.i[0]; + int bitPatternH = u.i[1]; + return (bitPatternH & 0x7ff00000) == 0x7ff00000 && + (bitPatternH & 0xFFFFF) == 0 && bitPatternL == 0; +} + +const double pi = 3.1415926535897932384626433832795; + +} // end anonymous namespace + + +namespace glslang { + +// +// The fold functions see if an operation on a constant can be done in place, +// without generating run-time code. +// +// Returns the node to keep using, which may or may not be the node passed in. +// +// Note: As of version 1.2, all constant operations must be folded. It is +// not opportunistic, but rather a semantic requirement. +// + +// +// Do folding between a pair of nodes. +// 'this' is the left-hand operand and 'rightConstantNode' is the right-hand operand. +// +// Returns a new node representing the result. +// +TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TIntermTyped* rightConstantNode) const +{ + // For most cases, the return type matches the argument type, so set that + // up and just code to exceptions below. + TType returnType; + returnType.shallowCopy(getType()); + + // + // A pair of nodes is to be folded together + // + + const TIntermConstantUnion *rightNode = rightConstantNode->getAsConstantUnion(); + TConstUnionArray leftUnionArray = getConstArray(); + TConstUnionArray rightUnionArray = rightNode->getConstArray(); + + // Figure out the size of the result + int newComps; + int constComps; + switch(op) { + case EOpMatrixTimesMatrix: + newComps = rightNode->getMatrixCols() * getMatrixRows(); + break; + case EOpMatrixTimesVector: + newComps = getMatrixRows(); + break; + case EOpVectorTimesMatrix: + newComps = rightNode->getMatrixCols(); + break; + default: + newComps = getType().computeNumComponents(); + constComps = rightConstantNode->getType().computeNumComponents(); + if (constComps == 1 && newComps > 1) { + // for a case like vec4 f = vec4(2,3,4,5) + 1.2; + TConstUnionArray smearedArray(newComps, rightNode->getConstArray()[0]); + rightUnionArray = smearedArray; + } else if (constComps > 1 && newComps == 1) { + // for a case like vec4 f = 1.2 + vec4(2,3,4,5); + newComps = constComps; + rightUnionArray = rightNode->getConstArray(); + TConstUnionArray smearedArray(newComps, getConstArray()[0]); + leftUnionArray = smearedArray; + returnType.shallowCopy(rightNode->getType()); + } + break; + } + + TConstUnionArray newConstArray(newComps); + TType constBool(EbtBool, EvqConst); + + switch(op) { + case EOpAdd: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] + rightUnionArray[i]; + break; + case EOpSub: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] - rightUnionArray[i]; + break; + + case EOpMul: + case EOpVectorTimesScalar: + case EOpMatrixTimesScalar: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] * rightUnionArray[i]; + break; + case EOpMatrixTimesMatrix: + for (int row = 0; row < getMatrixRows(); row++) { + for (int column = 0; column < rightNode->getMatrixCols(); column++) { + double sum = 0.0f; + for (int i = 0; i < rightNode->getMatrixRows(); i++) + sum += leftUnionArray[i * getMatrixRows() + row].getDConst() * rightUnionArray[column * rightNode->getMatrixRows() + i].getDConst(); + newConstArray[column * getMatrixRows() + row].setDConst(sum); + } + } + returnType.shallowCopy(TType(getType().getBasicType(), EvqConst, 0, rightNode->getMatrixCols(), getMatrixRows())); + break; + case EOpDiv: + for (int i = 0; i < newComps; i++) { + switch (getType().getBasicType()) { + case EbtDouble: + case EbtFloat: + case EbtFloat16: + if (rightUnionArray[i].getDConst() != 0.0) + newConstArray[i].setDConst(leftUnionArray[i].getDConst() / rightUnionArray[i].getDConst()); + else if (leftUnionArray[i].getDConst() > 0.0) + newConstArray[i].setDConst((double)INFINITY); + else if (leftUnionArray[i].getDConst() < 0.0) + newConstArray[i].setDConst(-(double)INFINITY); + else + newConstArray[i].setDConst((double)NAN); + break; + + case EbtInt: + if (rightUnionArray[i] == 0) + newConstArray[i].setIConst(0x7FFFFFFF); + else if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == (int)-0x80000000ll) + newConstArray[i].setIConst((int)-0x80000000ll); + else + newConstArray[i].setIConst(leftUnionArray[i].getIConst() / rightUnionArray[i].getIConst()); + break; + + case EbtUint: + if (rightUnionArray[i] == 0u) + newConstArray[i].setUConst(0xFFFFFFFFu); + else + newConstArray[i].setUConst(leftUnionArray[i].getUConst() / rightUnionArray[i].getUConst()); + break; + +#ifndef GLSLANG_WEB + case EbtInt8: + if (rightUnionArray[i] == (signed char)0) + newConstArray[i].setI8Const((signed char)0x7F); + else if (rightUnionArray[i].getI8Const() == (signed char)-1 && leftUnionArray[i].getI8Const() == (signed char)-0x80) + newConstArray[i].setI8Const((signed char)-0x80); + else + newConstArray[i].setI8Const(leftUnionArray[i].getI8Const() / rightUnionArray[i].getI8Const()); + break; + + case EbtUint8: + if (rightUnionArray[i] == (unsigned char)0u) + newConstArray[i].setU8Const((unsigned char)0xFFu); + else + newConstArray[i].setU8Const(leftUnionArray[i].getU8Const() / rightUnionArray[i].getU8Const()); + break; + + case EbtInt16: + if (rightUnionArray[i] == (signed short)0) + newConstArray[i].setI16Const((signed short)0x7FFF); + else if (rightUnionArray[i].getI16Const() == (signed short)-1 && leftUnionArray[i].getI16Const() == (signed short)-0x8000) + newConstArray[i].setI16Const((signed short)-0x8000); + else + newConstArray[i].setI16Const(leftUnionArray[i].getI16Const() / rightUnionArray[i].getI16Const()); + break; + + case EbtUint16: + if (rightUnionArray[i] == (unsigned short)0u) + newConstArray[i].setU16Const((unsigned short)0xFFFFu); + else + newConstArray[i].setU16Const(leftUnionArray[i].getU16Const() / rightUnionArray[i].getU16Const()); + break; + + case EbtInt64: + if (rightUnionArray[i] == 0ll) + newConstArray[i].setI64Const(0x7FFFFFFFFFFFFFFFll); + else if (rightUnionArray[i].getI64Const() == -1 && leftUnionArray[i].getI64Const() == (long long)-0x8000000000000000ll) + newConstArray[i].setI64Const((long long)-0x8000000000000000ll); + else + newConstArray[i].setI64Const(leftUnionArray[i].getI64Const() / rightUnionArray[i].getI64Const()); + break; + + case EbtUint64: + if (rightUnionArray[i] == 0ull) + newConstArray[i].setU64Const(0xFFFFFFFFFFFFFFFFull); + else + newConstArray[i].setU64Const(leftUnionArray[i].getU64Const() / rightUnionArray[i].getU64Const()); + break; + default: + return 0; +#endif + } + } + break; + + case EOpMatrixTimesVector: + for (int i = 0; i < getMatrixRows(); i++) { + double sum = 0.0f; + for (int j = 0; j < rightNode->getVectorSize(); j++) { + sum += leftUnionArray[j*getMatrixRows() + i].getDConst() * rightUnionArray[j].getDConst(); + } + newConstArray[i].setDConst(sum); + } + + returnType.shallowCopy(TType(getBasicType(), EvqConst, getMatrixRows())); + break; + + case EOpVectorTimesMatrix: + for (int i = 0; i < rightNode->getMatrixCols(); i++) { + double sum = 0.0f; + for (int j = 0; j < getVectorSize(); j++) + sum += leftUnionArray[j].getDConst() * rightUnionArray[i*rightNode->getMatrixRows() + j].getDConst(); + newConstArray[i].setDConst(sum); + } + + returnType.shallowCopy(TType(getBasicType(), EvqConst, rightNode->getMatrixCols())); + break; + + case EOpMod: + for (int i = 0; i < newComps; i++) { + if (rightUnionArray[i] == 0) + newConstArray[i] = leftUnionArray[i]; + else { + switch (getType().getBasicType()) { + case EbtInt: + if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == INT_MIN) { + newConstArray[i].setIConst(0); + break; + } else goto modulo_default; +#ifndef GLSLANG_WEB + case EbtInt64: + if (rightUnionArray[i].getI64Const() == -1 && leftUnionArray[i].getI64Const() == LLONG_MIN) { + newConstArray[i].setI64Const(0); + break; + } else goto modulo_default; + case EbtInt16: + if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == SHRT_MIN) { + newConstArray[i].setIConst(0); + break; + } else goto modulo_default; +#endif + default: + modulo_default: + newConstArray[i] = leftUnionArray[i] % rightUnionArray[i]; + } + } + } + break; + + case EOpRightShift: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] >> rightUnionArray[i]; + break; + + case EOpLeftShift: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] << rightUnionArray[i]; + break; + + case EOpAnd: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] & rightUnionArray[i]; + break; + case EOpInclusiveOr: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] | rightUnionArray[i]; + break; + case EOpExclusiveOr: + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] ^ rightUnionArray[i]; + break; + + case EOpLogicalAnd: // this code is written for possible future use, will not get executed currently + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] && rightUnionArray[i]; + break; + + case EOpLogicalOr: // this code is written for possible future use, will not get executed currently + for (int i = 0; i < newComps; i++) + newConstArray[i] = leftUnionArray[i] || rightUnionArray[i]; + break; + + case EOpLogicalXor: + for (int i = 0; i < newComps; i++) { + switch (getType().getBasicType()) { + case EbtBool: newConstArray[i].setBConst((leftUnionArray[i] == rightUnionArray[i]) ? false : true); break; + default: assert(false && "Default missing"); + } + } + break; + + case EOpLessThan: + newConstArray[0].setBConst(leftUnionArray[0] < rightUnionArray[0]); + returnType.shallowCopy(constBool); + break; + case EOpGreaterThan: + newConstArray[0].setBConst(leftUnionArray[0] > rightUnionArray[0]); + returnType.shallowCopy(constBool); + break; + case EOpLessThanEqual: + newConstArray[0].setBConst(! (leftUnionArray[0] > rightUnionArray[0])); + returnType.shallowCopy(constBool); + break; + case EOpGreaterThanEqual: + newConstArray[0].setBConst(! (leftUnionArray[0] < rightUnionArray[0])); + returnType.shallowCopy(constBool); + break; + case EOpEqual: + newConstArray[0].setBConst(rightNode->getConstArray() == leftUnionArray); + returnType.shallowCopy(constBool); + break; + case EOpNotEqual: + newConstArray[0].setBConst(rightNode->getConstArray() != leftUnionArray); + returnType.shallowCopy(constBool); + break; + + default: + return 0; + } + + TIntermConstantUnion *newNode = new TIntermConstantUnion(newConstArray, returnType); + newNode->setLoc(getLoc()); + + return newNode; +} + +// +// Do single unary node folding +// +// Returns a new node representing the result. +// +TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TType& returnType) const +{ + // First, size the result, which is mostly the same as the argument's size, + // but not always, and classify what is componentwise. + // Also, eliminate cases that can't be compile-time constant. + int resultSize; + bool componentWise = true; + + int objectSize = getType().computeNumComponents(); + switch (op) { + case EOpDeterminant: + case EOpAny: + case EOpAll: + case EOpLength: + componentWise = false; + resultSize = 1; + break; + + case EOpEmitStreamVertex: + case EOpEndStreamPrimitive: + // These don't fold + return nullptr; + + case EOpPackSnorm2x16: + case EOpPackUnorm2x16: + case EOpPackHalf2x16: + componentWise = false; + resultSize = 1; + break; + + case EOpUnpackSnorm2x16: + case EOpUnpackUnorm2x16: + case EOpUnpackHalf2x16: + componentWise = false; + resultSize = 2; + break; + + case EOpPack16: + case EOpPack32: + case EOpPack64: + case EOpUnpack32: + case EOpUnpack16: + case EOpUnpack8: + case EOpNormalize: + componentWise = false; + resultSize = objectSize; + break; + + default: + resultSize = objectSize; + break; + } + + // Set up for processing + TConstUnionArray newConstArray(resultSize); + const TConstUnionArray& unionArray = getConstArray(); + + // Process non-component-wise operations + switch (op) { + case EOpLength: + case EOpNormalize: + { + double sum = 0; + for (int i = 0; i < objectSize; i++) + sum += unionArray[i].getDConst() * unionArray[i].getDConst(); + double length = sqrt(sum); + if (op == EOpLength) + newConstArray[0].setDConst(length); + else { + for (int i = 0; i < objectSize; i++) + newConstArray[i].setDConst(unionArray[i].getDConst() / length); + } + break; + } + + case EOpAny: + { + bool result = false; + for (int i = 0; i < objectSize; i++) { + if (unionArray[i].getBConst()) + result = true; + } + newConstArray[0].setBConst(result); + break; + } + case EOpAll: + { + bool result = true; + for (int i = 0; i < objectSize; i++) { + if (! unionArray[i].getBConst()) + result = false; + } + newConstArray[0].setBConst(result); + break; + } + + case EOpPackSnorm2x16: + case EOpPackUnorm2x16: + case EOpPackHalf2x16: + case EOpPack16: + case EOpPack32: + case EOpPack64: + case EOpUnpack32: + case EOpUnpack16: + case EOpUnpack8: + + case EOpUnpackSnorm2x16: + case EOpUnpackUnorm2x16: + case EOpUnpackHalf2x16: + + case EOpDeterminant: + case EOpMatrixInverse: + case EOpTranspose: + return nullptr; + + default: + assert(componentWise); + break; + } + + // Turn off the componentwise loop + if (! componentWise) + objectSize = 0; + + // Process component-wise operations + for (int i = 0; i < objectSize; i++) { + switch (op) { + case EOpNegative: + switch (getType().getBasicType()) { + case EbtDouble: + case EbtFloat16: + case EbtFloat: newConstArray[i].setDConst(-unionArray[i].getDConst()); break; + case EbtInt: newConstArray[i].setIConst(-unionArray[i].getIConst()); break; + case EbtUint: newConstArray[i].setUConst(static_cast(-static_cast(unionArray[i].getUConst()))); break; +#ifndef GLSLANG_WEB + case EbtInt8: newConstArray[i].setI8Const(-unionArray[i].getI8Const()); break; + case EbtUint8: newConstArray[i].setU8Const(static_cast(-static_cast(unionArray[i].getU8Const()))); break; + case EbtInt16: newConstArray[i].setI16Const(-unionArray[i].getI16Const()); break; + case EbtUint16:newConstArray[i].setU16Const(static_cast(-static_cast(unionArray[i].getU16Const()))); break; + case EbtInt64: newConstArray[i].setI64Const(-unionArray[i].getI64Const()); break; + case EbtUint64: newConstArray[i].setU64Const(static_cast(-static_cast(unionArray[i].getU64Const()))); break; +#endif + default: + return nullptr; + } + break; + case EOpLogicalNot: + case EOpVectorLogicalNot: + switch (getType().getBasicType()) { + case EbtBool: newConstArray[i].setBConst(!unionArray[i].getBConst()); break; + default: + return nullptr; + } + break; + case EOpBitwiseNot: + newConstArray[i] = ~unionArray[i]; + break; + case EOpRadians: + newConstArray[i].setDConst(unionArray[i].getDConst() * pi / 180.0); + break; + case EOpDegrees: + newConstArray[i].setDConst(unionArray[i].getDConst() * 180.0 / pi); + break; + case EOpSin: + newConstArray[i].setDConst(sin(unionArray[i].getDConst())); + break; + case EOpCos: + newConstArray[i].setDConst(cos(unionArray[i].getDConst())); + break; + case EOpTan: + newConstArray[i].setDConst(tan(unionArray[i].getDConst())); + break; + case EOpAsin: + newConstArray[i].setDConst(asin(unionArray[i].getDConst())); + break; + case EOpAcos: + newConstArray[i].setDConst(acos(unionArray[i].getDConst())); + break; + case EOpAtan: + newConstArray[i].setDConst(atan(unionArray[i].getDConst())); + break; + + case EOpDPdx: + case EOpDPdy: + case EOpFwidth: + case EOpDPdxFine: + case EOpDPdyFine: + case EOpFwidthFine: + case EOpDPdxCoarse: + case EOpDPdyCoarse: + case EOpFwidthCoarse: + // The derivatives are all mandated to create a constant 0. + newConstArray[i].setDConst(0.0); + break; + + case EOpExp: + newConstArray[i].setDConst(exp(unionArray[i].getDConst())); + break; + case EOpLog: + newConstArray[i].setDConst(log(unionArray[i].getDConst())); + break; + case EOpExp2: + { + const double inv_log2_e = 0.69314718055994530941723212145818; + newConstArray[i].setDConst(exp(unionArray[i].getDConst() * inv_log2_e)); + break; + } + case EOpLog2: + { + const double log2_e = 1.4426950408889634073599246810019; + newConstArray[i].setDConst(log2_e * log(unionArray[i].getDConst())); + break; + } + case EOpSqrt: + newConstArray[i].setDConst(sqrt(unionArray[i].getDConst())); + break; + case EOpInverseSqrt: + newConstArray[i].setDConst(1.0 / sqrt(unionArray[i].getDConst())); + break; + + case EOpAbs: + if (unionArray[i].getType() == EbtDouble) + newConstArray[i].setDConst(fabs(unionArray[i].getDConst())); + else if (unionArray[i].getType() == EbtInt) + newConstArray[i].setIConst(abs(unionArray[i].getIConst())); + else + newConstArray[i] = unionArray[i]; + break; + case EOpSign: + #define SIGN(X) (X == 0 ? 0 : (X < 0 ? -1 : 1)) + if (unionArray[i].getType() == EbtDouble) + newConstArray[i].setDConst(SIGN(unionArray[i].getDConst())); + else + newConstArray[i].setIConst(SIGN(unionArray[i].getIConst())); + break; + case EOpFloor: + newConstArray[i].setDConst(floor(unionArray[i].getDConst())); + break; + case EOpTrunc: + if (unionArray[i].getDConst() > 0) + newConstArray[i].setDConst(floor(unionArray[i].getDConst())); + else + newConstArray[i].setDConst(ceil(unionArray[i].getDConst())); + break; + case EOpRound: + newConstArray[i].setDConst(floor(0.5 + unionArray[i].getDConst())); + break; + case EOpRoundEven: + { + double flr = floor(unionArray[i].getDConst()); + bool even = flr / 2.0 == floor(flr / 2.0); + double rounded = even ? ceil(unionArray[i].getDConst() - 0.5) : floor(unionArray[i].getDConst() + 0.5); + newConstArray[i].setDConst(rounded); + break; + } + case EOpCeil: + newConstArray[i].setDConst(ceil(unionArray[i].getDConst())); + break; + case EOpFract: + { + double x = unionArray[i].getDConst(); + newConstArray[i].setDConst(x - floor(x)); + break; + } + + case EOpIsNan: + { + newConstArray[i].setBConst(isNan(unionArray[i].getDConst())); + break; + } + case EOpIsInf: + { + newConstArray[i].setBConst(isInf(unionArray[i].getDConst())); + break; + } + + case EOpConvIntToBool: + newConstArray[i].setBConst(unionArray[i].getIConst() != 0); break; + case EOpConvUintToBool: + newConstArray[i].setBConst(unionArray[i].getUConst() != 0); break; + case EOpConvBoolToInt: + newConstArray[i].setIConst(unionArray[i].getBConst()); break; + case EOpConvBoolToUint: + newConstArray[i].setUConst(unionArray[i].getBConst()); break; + case EOpConvIntToUint: + newConstArray[i].setUConst(unionArray[i].getIConst()); break; + case EOpConvUintToInt: + newConstArray[i].setIConst(unionArray[i].getUConst()); break; + + case EOpConvFloatToBool: + case EOpConvDoubleToBool: + newConstArray[i].setBConst(unionArray[i].getDConst() != 0); break; + + case EOpConvBoolToFloat: + case EOpConvBoolToDouble: + newConstArray[i].setDConst(unionArray[i].getBConst()); break; + + case EOpConvIntToFloat: + case EOpConvIntToDouble: + newConstArray[i].setDConst(unionArray[i].getIConst()); break; + + case EOpConvUintToFloat: + case EOpConvUintToDouble: + newConstArray[i].setDConst(unionArray[i].getUConst()); break; + + case EOpConvDoubleToFloat: + case EOpConvFloatToDouble: + newConstArray[i].setDConst(unionArray[i].getDConst()); break; + + case EOpConvFloatToUint: + case EOpConvDoubleToUint: + newConstArray[i].setUConst(static_cast(unionArray[i].getDConst())); break; + + case EOpConvFloatToInt: + case EOpConvDoubleToInt: + newConstArray[i].setIConst(static_cast(unionArray[i].getDConst())); break; + +#ifndef GLSLANG_WEB + case EOpConvInt8ToBool: + newConstArray[i].setBConst(unionArray[i].getI8Const() != 0); break; + case EOpConvUint8ToBool: + newConstArray[i].setBConst(unionArray[i].getU8Const() != 0); break; + case EOpConvInt16ToBool: + newConstArray[i].setBConst(unionArray[i].getI16Const() != 0); break; + case EOpConvUint16ToBool: + newConstArray[i].setBConst(unionArray[i].getU16Const() != 0); break; + case EOpConvInt64ToBool: + newConstArray[i].setBConst(unionArray[i].getI64Const() != 0); break; + case EOpConvUint64ToBool: + newConstArray[i].setBConst(unionArray[i].getI64Const() != 0); break; + case EOpConvFloat16ToBool: + newConstArray[i].setBConst(unionArray[i].getDConst() != 0); break; + + case EOpConvBoolToInt8: + newConstArray[i].setI8Const(unionArray[i].getBConst()); break; + case EOpConvBoolToUint8: + newConstArray[i].setU8Const(unionArray[i].getBConst()); break; + case EOpConvBoolToInt16: + newConstArray[i].setI16Const(unionArray[i].getBConst()); break; + case EOpConvBoolToUint16: + newConstArray[i].setU16Const(unionArray[i].getBConst()); break; + case EOpConvBoolToInt64: + newConstArray[i].setI64Const(unionArray[i].getBConst()); break; + case EOpConvBoolToUint64: + newConstArray[i].setU64Const(unionArray[i].getBConst()); break; + case EOpConvBoolToFloat16: + newConstArray[i].setDConst(unionArray[i].getBConst()); break; + + case EOpConvInt8ToInt16: + newConstArray[i].setI16Const(unionArray[i].getI8Const()); break; + case EOpConvInt8ToInt: + newConstArray[i].setIConst(unionArray[i].getI8Const()); break; + case EOpConvInt8ToInt64: + newConstArray[i].setI64Const(unionArray[i].getI8Const()); break; + case EOpConvInt8ToUint8: + newConstArray[i].setU8Const(unionArray[i].getI8Const()); break; + case EOpConvInt8ToUint16: + newConstArray[i].setU16Const(unionArray[i].getI8Const()); break; + case EOpConvInt8ToUint: + newConstArray[i].setUConst(unionArray[i].getI8Const()); break; + case EOpConvInt8ToUint64: + newConstArray[i].setU64Const(unionArray[i].getI8Const()); break; + case EOpConvUint8ToInt8: + newConstArray[i].setI8Const(unionArray[i].getU8Const()); break; + case EOpConvUint8ToInt16: + newConstArray[i].setI16Const(unionArray[i].getU8Const()); break; + case EOpConvUint8ToInt: + newConstArray[i].setIConst(unionArray[i].getU8Const()); break; + case EOpConvUint8ToInt64: + newConstArray[i].setI64Const(unionArray[i].getU8Const()); break; + case EOpConvUint8ToUint16: + newConstArray[i].setU16Const(unionArray[i].getU8Const()); break; + case EOpConvUint8ToUint: + newConstArray[i].setUConst(unionArray[i].getU8Const()); break; + case EOpConvUint8ToUint64: + newConstArray[i].setU64Const(unionArray[i].getU8Const()); break; + case EOpConvInt8ToFloat16: + newConstArray[i].setDConst(unionArray[i].getI8Const()); break; + case EOpConvInt8ToFloat: + newConstArray[i].setDConst(unionArray[i].getI8Const()); break; + case EOpConvInt8ToDouble: + newConstArray[i].setDConst(unionArray[i].getI8Const()); break; + case EOpConvUint8ToFloat16: + newConstArray[i].setDConst(unionArray[i].getU8Const()); break; + case EOpConvUint8ToFloat: + newConstArray[i].setDConst(unionArray[i].getU8Const()); break; + case EOpConvUint8ToDouble: + newConstArray[i].setDConst(unionArray[i].getU8Const()); break; + + case EOpConvInt16ToInt8: + newConstArray[i].setI8Const(static_cast(unionArray[i].getI16Const())); break; + case EOpConvInt16ToInt: + newConstArray[i].setIConst(unionArray[i].getI16Const()); break; + case EOpConvInt16ToInt64: + newConstArray[i].setI64Const(unionArray[i].getI16Const()); break; + case EOpConvInt16ToUint8: + newConstArray[i].setU8Const(static_cast(unionArray[i].getI16Const())); break; + case EOpConvInt16ToUint16: + newConstArray[i].setU16Const(unionArray[i].getI16Const()); break; + case EOpConvInt16ToUint: + newConstArray[i].setUConst(unionArray[i].getI16Const()); break; + case EOpConvInt16ToUint64: + newConstArray[i].setU64Const(unionArray[i].getI16Const()); break; + case EOpConvUint16ToInt8: + newConstArray[i].setI8Const(static_cast(unionArray[i].getU16Const())); break; + case EOpConvUint16ToInt16: + newConstArray[i].setI16Const(unionArray[i].getU16Const()); break; + case EOpConvUint16ToInt: + newConstArray[i].setIConst(unionArray[i].getU16Const()); break; + case EOpConvUint16ToInt64: + newConstArray[i].setI64Const(unionArray[i].getU16Const()); break; + case EOpConvUint16ToUint8: + newConstArray[i].setU8Const(static_cast(unionArray[i].getU16Const())); break; + + case EOpConvUint16ToUint: + newConstArray[i].setUConst(unionArray[i].getU16Const()); break; + case EOpConvUint16ToUint64: + newConstArray[i].setU64Const(unionArray[i].getU16Const()); break; + case EOpConvInt16ToFloat16: + newConstArray[i].setDConst(unionArray[i].getI16Const()); break; + case EOpConvInt16ToFloat: + newConstArray[i].setDConst(unionArray[i].getI16Const()); break; + case EOpConvInt16ToDouble: + newConstArray[i].setDConst(unionArray[i].getI16Const()); break; + case EOpConvUint16ToFloat16: + newConstArray[i].setDConst(unionArray[i].getU16Const()); break; + case EOpConvUint16ToFloat: + newConstArray[i].setDConst(unionArray[i].getU16Const()); break; + case EOpConvUint16ToDouble: + newConstArray[i].setDConst(unionArray[i].getU16Const()); break; + + case EOpConvIntToInt8: + newConstArray[i].setI8Const((signed char)unionArray[i].getIConst()); break; + case EOpConvIntToInt16: + newConstArray[i].setI16Const((signed short)unionArray[i].getIConst()); break; + case EOpConvIntToInt64: + newConstArray[i].setI64Const(unionArray[i].getIConst()); break; + case EOpConvIntToUint8: + newConstArray[i].setU8Const((unsigned char)unionArray[i].getIConst()); break; + case EOpConvIntToUint16: + newConstArray[i].setU16Const((unsigned char)unionArray[i].getIConst()); break; + case EOpConvIntToUint64: + newConstArray[i].setU64Const(unionArray[i].getIConst()); break; + + case EOpConvUintToInt8: + newConstArray[i].setI8Const((signed char)unionArray[i].getUConst()); break; + case EOpConvUintToInt16: + newConstArray[i].setI16Const((signed short)unionArray[i].getUConst()); break; + case EOpConvUintToInt64: + newConstArray[i].setI64Const(unionArray[i].getUConst()); break; + case EOpConvUintToUint8: + newConstArray[i].setU8Const((unsigned char)unionArray[i].getUConst()); break; + case EOpConvUintToUint16: + newConstArray[i].setU16Const((unsigned short)unionArray[i].getUConst()); break; + case EOpConvUintToUint64: + newConstArray[i].setU64Const(unionArray[i].getUConst()); break; + case EOpConvIntToFloat16: + newConstArray[i].setDConst(unionArray[i].getIConst()); break; + case EOpConvUintToFloat16: + newConstArray[i].setDConst(unionArray[i].getUConst()); break; + case EOpConvInt64ToInt8: + newConstArray[i].setI8Const(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToInt16: + newConstArray[i].setI16Const(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToInt: + newConstArray[i].setIConst(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToUint8: + newConstArray[i].setU8Const(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToUint16: + newConstArray[i].setU16Const(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToUint: + newConstArray[i].setUConst(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToUint64: + newConstArray[i].setU64Const(unionArray[i].getI64Const()); break; + case EOpConvUint64ToInt8: + newConstArray[i].setI8Const(static_cast(unionArray[i].getU64Const())); break; + case EOpConvUint64ToInt16: + newConstArray[i].setI16Const(static_cast(unionArray[i].getU64Const())); break; + case EOpConvUint64ToInt: + newConstArray[i].setIConst(static_cast(unionArray[i].getU64Const())); break; + case EOpConvUint64ToInt64: + newConstArray[i].setI64Const(unionArray[i].getU64Const()); break; + case EOpConvUint64ToUint8: + newConstArray[i].setU8Const(static_cast(unionArray[i].getU64Const())); break; + case EOpConvUint64ToUint16: + newConstArray[i].setU16Const(static_cast(unionArray[i].getU64Const())); break; + case EOpConvUint64ToUint: + newConstArray[i].setUConst(static_cast(unionArray[i].getU64Const())); break; + case EOpConvInt64ToFloat16: + newConstArray[i].setDConst(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToFloat: + newConstArray[i].setDConst(static_cast(unionArray[i].getI64Const())); break; + case EOpConvInt64ToDouble: + newConstArray[i].setDConst(static_cast(unionArray[i].getI64Const())); break; + case EOpConvUint64ToFloat16: + newConstArray[i].setDConst(static_cast(unionArray[i].getU64Const())); break; + case EOpConvUint64ToFloat: + newConstArray[i].setDConst(static_cast(unionArray[i].getU64Const())); break; + case EOpConvUint64ToDouble: + newConstArray[i].setDConst(static_cast(unionArray[i].getU64Const())); break; + case EOpConvFloat16ToInt8: + newConstArray[i].setI8Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToInt16: + newConstArray[i].setI16Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToInt: + newConstArray[i].setIConst(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToInt64: + newConstArray[i].setI64Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToUint8: + newConstArray[i].setU8Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToUint16: + newConstArray[i].setU16Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToUint: + newConstArray[i].setUConst(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToUint64: + newConstArray[i].setU64Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloat16ToFloat: + newConstArray[i].setDConst(unionArray[i].getDConst()); break; + case EOpConvFloat16ToDouble: + newConstArray[i].setDConst(unionArray[i].getDConst()); break; + case EOpConvFloatToInt8: + newConstArray[i].setI8Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloatToInt16: + newConstArray[i].setI16Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloatToInt64: + newConstArray[i].setI64Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloatToUint8: + newConstArray[i].setU8Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloatToUint16: + newConstArray[i].setU16Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloatToUint64: + newConstArray[i].setU64Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvFloatToFloat16: + newConstArray[i].setDConst(unionArray[i].getDConst()); break; + case EOpConvDoubleToInt8: + newConstArray[i].setI8Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvDoubleToInt16: + newConstArray[i].setI16Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvDoubleToInt64: + newConstArray[i].setI64Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvDoubleToUint8: + newConstArray[i].setU8Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvDoubleToUint16: + newConstArray[i].setU16Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvDoubleToUint64: + newConstArray[i].setU64Const(static_cast(unionArray[i].getDConst())); break; + case EOpConvDoubleToFloat16: + newConstArray[i].setDConst(unionArray[i].getDConst()); break; + case EOpConvPtrToUint64: + case EOpConvUint64ToPtr: + case EOpConstructReference: + newConstArray[i].setU64Const(unionArray[i].getU64Const()); break; +#endif + + // TODO: 3.0 Functionality: unary constant folding: the rest of the ops have to be fleshed out + + case EOpSinh: + case EOpCosh: + case EOpTanh: + case EOpAsinh: + case EOpAcosh: + case EOpAtanh: + + case EOpFloatBitsToInt: + case EOpFloatBitsToUint: + case EOpIntBitsToFloat: + case EOpUintBitsToFloat: + case EOpDoubleBitsToInt64: + case EOpDoubleBitsToUint64: + case EOpInt64BitsToDouble: + case EOpUint64BitsToDouble: + case EOpFloat16BitsToInt16: + case EOpFloat16BitsToUint16: + case EOpInt16BitsToFloat16: + case EOpUint16BitsToFloat16: + default: + return nullptr; + } + } + + TIntermConstantUnion *newNode = new TIntermConstantUnion(newConstArray, returnType); + newNode->getWritableType().getQualifier().storage = EvqConst; + newNode->setLoc(getLoc()); + + return newNode; +} + +// +// Do constant folding for an aggregate node that has all its children +// as constants and an operator that requires constant folding. +// +TIntermTyped* TIntermediate::fold(TIntermAggregate* aggrNode) +{ + if (aggrNode == nullptr) + return aggrNode; + + if (! areAllChildConst(aggrNode)) + return aggrNode; + + if (aggrNode->isConstructor()) + return foldConstructor(aggrNode); + + TIntermSequence& children = aggrNode->getSequence(); + + // First, see if this is an operation to constant fold, kick out if not, + // see what size the result is if so. + + bool componentwise = false; // will also say componentwise if a scalar argument gets repeated to make per-component results + int objectSize; + switch (aggrNode->getOp()) { + case EOpAtan: + case EOpPow: + case EOpMin: + case EOpMax: + case EOpMix: + case EOpMod: + case EOpClamp: + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + case EOpVectorEqual: + case EOpVectorNotEqual: + componentwise = true; + objectSize = children[0]->getAsConstantUnion()->getType().computeNumComponents(); + break; + case EOpCross: + case EOpReflect: + case EOpRefract: + case EOpFaceForward: + objectSize = children[0]->getAsConstantUnion()->getType().computeNumComponents(); + break; + case EOpDistance: + case EOpDot: + objectSize = 1; + break; + case EOpOuterProduct: + objectSize = children[0]->getAsTyped()->getType().getVectorSize() * + children[1]->getAsTyped()->getType().getVectorSize(); + break; + case EOpStep: + componentwise = true; + objectSize = std::max(children[0]->getAsTyped()->getType().getVectorSize(), + children[1]->getAsTyped()->getType().getVectorSize()); + break; + case EOpSmoothStep: + componentwise = true; + objectSize = std::max(children[0]->getAsTyped()->getType().getVectorSize(), + children[2]->getAsTyped()->getType().getVectorSize()); + break; + default: + return aggrNode; + } + TConstUnionArray newConstArray(objectSize); + + TVector childConstUnions; + for (unsigned int arg = 0; arg < children.size(); ++arg) + childConstUnions.push_back(children[arg]->getAsConstantUnion()->getConstArray()); + + if (componentwise) { + for (int comp = 0; comp < objectSize; comp++) { + + // some arguments are scalars instead of matching vectors; simulate a smear + int arg0comp = std::min(comp, children[0]->getAsTyped()->getType().getVectorSize() - 1); + int arg1comp = 0; + if (children.size() > 1) + arg1comp = std::min(comp, children[1]->getAsTyped()->getType().getVectorSize() - 1); + int arg2comp = 0; + if (children.size() > 2) + arg2comp = std::min(comp, children[2]->getAsTyped()->getType().getVectorSize() - 1); + + switch (aggrNode->getOp()) { + case EOpAtan: + newConstArray[comp].setDConst(atan2(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst())); + break; + case EOpPow: + newConstArray[comp].setDConst(pow(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst())); + break; + case EOpMod: + { + double arg0 = childConstUnions[0][arg0comp].getDConst(); + double arg1 = childConstUnions[1][arg1comp].getDConst(); + double result = arg0 - arg1 * floor(arg0 / arg1); + newConstArray[comp].setDConst(result); + break; + } + case EOpMin: + switch(children[0]->getAsTyped()->getBasicType()) { + case EbtFloat16: + case EbtFloat: + case EbtDouble: + newConstArray[comp].setDConst(std::min(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst())); + break; + case EbtInt: + newConstArray[comp].setIConst(std::min(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst())); + break; + case EbtUint: + newConstArray[comp].setUConst(std::min(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst())); + break; +#ifndef GLSLANG_WEB + case EbtInt8: + newConstArray[comp].setI8Const(std::min(childConstUnions[0][arg0comp].getI8Const(), childConstUnions[1][arg1comp].getI8Const())); + break; + case EbtUint8: + newConstArray[comp].setU8Const(std::min(childConstUnions[0][arg0comp].getU8Const(), childConstUnions[1][arg1comp].getU8Const())); + break; + case EbtInt16: + newConstArray[comp].setI16Const(std::min(childConstUnions[0][arg0comp].getI16Const(), childConstUnions[1][arg1comp].getI16Const())); + break; + case EbtUint16: + newConstArray[comp].setU16Const(std::min(childConstUnions[0][arg0comp].getU16Const(), childConstUnions[1][arg1comp].getU16Const())); + break; + case EbtInt64: + newConstArray[comp].setI64Const(std::min(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const())); + break; + case EbtUint64: + newConstArray[comp].setU64Const(std::min(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const())); + break; +#endif + default: assert(false && "Default missing"); + } + break; + case EOpMax: + switch(children[0]->getAsTyped()->getBasicType()) { + case EbtFloat16: + case EbtFloat: + case EbtDouble: + newConstArray[comp].setDConst(std::max(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst())); + break; + case EbtInt: + newConstArray[comp].setIConst(std::max(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst())); + break; + case EbtUint: + newConstArray[comp].setUConst(std::max(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst())); + break; +#ifndef GLSLANG_WEB + case EbtInt8: + newConstArray[comp].setI8Const(std::max(childConstUnions[0][arg0comp].getI8Const(), childConstUnions[1][arg1comp].getI8Const())); + break; + case EbtUint8: + newConstArray[comp].setU8Const(std::max(childConstUnions[0][arg0comp].getU8Const(), childConstUnions[1][arg1comp].getU8Const())); + break; + case EbtInt16: + newConstArray[comp].setI16Const(std::max(childConstUnions[0][arg0comp].getI16Const(), childConstUnions[1][arg1comp].getI16Const())); + break; + case EbtUint16: + newConstArray[comp].setU16Const(std::max(childConstUnions[0][arg0comp].getU16Const(), childConstUnions[1][arg1comp].getU16Const())); + break; + case EbtInt64: + newConstArray[comp].setI64Const(std::max(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const())); + break; + case EbtUint64: + newConstArray[comp].setU64Const(std::max(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const())); + break; +#endif + default: assert(false && "Default missing"); + } + break; + case EOpClamp: + switch(children[0]->getAsTyped()->getBasicType()) { + case EbtFloat16: + case EbtFloat: + case EbtDouble: + newConstArray[comp].setDConst(std::min(std::max(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst()), + childConstUnions[2][arg2comp].getDConst())); + break; + case EbtUint: + newConstArray[comp].setUConst(std::min(std::max(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst()), + childConstUnions[2][arg2comp].getUConst())); + break; +#ifndef GLSLANG_WEB + case EbtInt8: + newConstArray[comp].setI8Const(std::min(std::max(childConstUnions[0][arg0comp].getI8Const(), childConstUnions[1][arg1comp].getI8Const()), + childConstUnions[2][arg2comp].getI8Const())); + break; + case EbtUint8: + newConstArray[comp].setU8Const(std::min(std::max(childConstUnions[0][arg0comp].getU8Const(), childConstUnions[1][arg1comp].getU8Const()), + childConstUnions[2][arg2comp].getU8Const())); + break; + case EbtInt16: + newConstArray[comp].setI16Const(std::min(std::max(childConstUnions[0][arg0comp].getI16Const(), childConstUnions[1][arg1comp].getI16Const()), + childConstUnions[2][arg2comp].getI16Const())); + break; + case EbtUint16: + newConstArray[comp].setU16Const(std::min(std::max(childConstUnions[0][arg0comp].getU16Const(), childConstUnions[1][arg1comp].getU16Const()), + childConstUnions[2][arg2comp].getU16Const())); + break; + case EbtInt: + newConstArray[comp].setIConst(std::min(std::max(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst()), + childConstUnions[2][arg2comp].getIConst())); + break; + case EbtInt64: + newConstArray[comp].setI64Const(std::min(std::max(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const()), + childConstUnions[2][arg2comp].getI64Const())); + break; + case EbtUint64: + newConstArray[comp].setU64Const(std::min(std::max(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const()), + childConstUnions[2][arg2comp].getU64Const())); + break; +#endif + default: assert(false && "Default missing"); + } + break; + case EOpLessThan: + newConstArray[comp].setBConst(childConstUnions[0][arg0comp] < childConstUnions[1][arg1comp]); + break; + case EOpGreaterThan: + newConstArray[comp].setBConst(childConstUnions[0][arg0comp] > childConstUnions[1][arg1comp]); + break; + case EOpLessThanEqual: + newConstArray[comp].setBConst(! (childConstUnions[0][arg0comp] > childConstUnions[1][arg1comp])); + break; + case EOpGreaterThanEqual: + newConstArray[comp].setBConst(! (childConstUnions[0][arg0comp] < childConstUnions[1][arg1comp])); + break; + case EOpVectorEqual: + newConstArray[comp].setBConst(childConstUnions[0][arg0comp] == childConstUnions[1][arg1comp]); + break; + case EOpVectorNotEqual: + newConstArray[comp].setBConst(childConstUnions[0][arg0comp] != childConstUnions[1][arg1comp]); + break; + case EOpMix: + if (!children[0]->getAsTyped()->isFloatingDomain()) + return aggrNode; + if (children[2]->getAsTyped()->getBasicType() == EbtBool) { + newConstArray[comp].setDConst(childConstUnions[2][arg2comp].getBConst() + ? childConstUnions[1][arg1comp].getDConst() + : childConstUnions[0][arg0comp].getDConst()); + } else { + newConstArray[comp].setDConst( + childConstUnions[0][arg0comp].getDConst() * (1.0 - childConstUnions[2][arg2comp].getDConst()) + + childConstUnions[1][arg1comp].getDConst() * childConstUnions[2][arg2comp].getDConst()); + } + break; + case EOpStep: + newConstArray[comp].setDConst(childConstUnions[1][arg1comp].getDConst() < childConstUnions[0][arg0comp].getDConst() ? 0.0 : 1.0); + break; + case EOpSmoothStep: + { + double t = (childConstUnions[2][arg2comp].getDConst() - childConstUnions[0][arg0comp].getDConst()) / + (childConstUnions[1][arg1comp].getDConst() - childConstUnions[0][arg0comp].getDConst()); + if (t < 0.0) + t = 0.0; + if (t > 1.0) + t = 1.0; + newConstArray[comp].setDConst(t * t * (3.0 - 2.0 * t)); + break; + } + default: + return aggrNode; + } + } + } else { + // Non-componentwise... + + int numComps = children[0]->getAsConstantUnion()->getType().computeNumComponents(); + double dot; + + switch (aggrNode->getOp()) { + case EOpDistance: + { + double sum = 0.0; + for (int comp = 0; comp < numComps; ++comp) { + double diff = childConstUnions[1][comp].getDConst() - childConstUnions[0][comp].getDConst(); + sum += diff * diff; + } + newConstArray[0].setDConst(sqrt(sum)); + break; + } + case EOpDot: + newConstArray[0].setDConst(childConstUnions[0].dot(childConstUnions[1])); + break; + case EOpCross: + newConstArray[0] = childConstUnions[0][1] * childConstUnions[1][2] - childConstUnions[0][2] * childConstUnions[1][1]; + newConstArray[1] = childConstUnions[0][2] * childConstUnions[1][0] - childConstUnions[0][0] * childConstUnions[1][2]; + newConstArray[2] = childConstUnions[0][0] * childConstUnions[1][1] - childConstUnions[0][1] * childConstUnions[1][0]; + break; + case EOpFaceForward: + // If dot(Nref, I) < 0 return N, otherwise return -N: Arguments are (N, I, Nref). + dot = childConstUnions[1].dot(childConstUnions[2]); + for (int comp = 0; comp < numComps; ++comp) { + if (dot < 0.0) + newConstArray[comp] = childConstUnions[0][comp]; + else + newConstArray[comp].setDConst(-childConstUnions[0][comp].getDConst()); + } + break; + case EOpReflect: + // I - 2 * dot(N, I) * N: Arguments are (I, N). + dot = childConstUnions[0].dot(childConstUnions[1]); + dot *= 2.0; + for (int comp = 0; comp < numComps; ++comp) + newConstArray[comp].setDConst(childConstUnions[0][comp].getDConst() - dot * childConstUnions[1][comp].getDConst()); + break; + case EOpRefract: + { + // Arguments are (I, N, eta). + // k = 1.0 - eta * eta * (1.0 - dot(N, I) * dot(N, I)) + // if (k < 0.0) + // return dvec(0.0) + // else + // return eta * I - (eta * dot(N, I) + sqrt(k)) * N + dot = childConstUnions[0].dot(childConstUnions[1]); + double eta = childConstUnions[2][0].getDConst(); + double k = 1.0 - eta * eta * (1.0 - dot * dot); + if (k < 0.0) { + for (int comp = 0; comp < numComps; ++comp) + newConstArray[comp].setDConst(0.0); + } else { + for (int comp = 0; comp < numComps; ++comp) + newConstArray[comp].setDConst(eta * childConstUnions[0][comp].getDConst() - (eta * dot + sqrt(k)) * childConstUnions[1][comp].getDConst()); + } + break; + } + case EOpOuterProduct: + { + int numRows = numComps; + int numCols = children[1]->getAsConstantUnion()->getType().computeNumComponents(); + for (int row = 0; row < numRows; ++row) + for (int col = 0; col < numCols; ++col) + newConstArray[col * numRows + row] = childConstUnions[0][row] * childConstUnions[1][col]; + break; + } + default: + return aggrNode; + } + } + + TIntermConstantUnion *newNode = new TIntermConstantUnion(newConstArray, aggrNode->getType()); + newNode->getWritableType().getQualifier().storage = EvqConst; + newNode->setLoc(aggrNode->getLoc()); + + return newNode; +} + +bool TIntermediate::areAllChildConst(TIntermAggregate* aggrNode) +{ + bool allConstant = true; + + // check if all the child nodes are constants so that they can be inserted into + // the parent node + if (aggrNode) { + TIntermSequence& childSequenceVector = aggrNode->getSequence(); + for (TIntermSequence::iterator p = childSequenceVector.begin(); + p != childSequenceVector.end(); p++) { + if (!(*p)->getAsTyped()->getAsConstantUnion()) + return false; + } + } + + return allConstant; +} + +TIntermTyped* TIntermediate::foldConstructor(TIntermAggregate* aggrNode) +{ + bool error = false; + + TConstUnionArray unionArray(aggrNode->getType().computeNumComponents()); + if (aggrNode->getSequence().size() == 1) + error = parseConstTree(aggrNode, unionArray, aggrNode->getOp(), aggrNode->getType(), true); + else + error = parseConstTree(aggrNode, unionArray, aggrNode->getOp(), aggrNode->getType()); + + if (error) + return aggrNode; + + return addConstantUnion(unionArray, aggrNode->getType(), aggrNode->getLoc()); +} + +// +// Constant folding of a bracket (array-style) dereference or struct-like dot +// dereference. Can handle anything except a multi-character swizzle, though +// all swizzles may go to foldSwizzle(). +// +TIntermTyped* TIntermediate::foldDereference(TIntermTyped* node, int index, const TSourceLoc& loc) +{ + TType dereferencedType(node->getType(), index); + dereferencedType.getQualifier().storage = EvqConst; + TIntermTyped* result = 0; + int size = dereferencedType.computeNumComponents(); + + // arrays, vectors, matrices, all use simple multiplicative math + // while structures need to add up heterogeneous members + int start; + if (node->getType().isCoopMat()) + start = 0; + else if (node->isArray() || ! node->isStruct()) + start = size * index; + else { + // it is a structure + assert(node->isStruct()); + start = 0; + for (int i = 0; i < index; ++i) + start += (*node->getType().getStruct())[i].type->computeNumComponents(); + } + + result = addConstantUnion(TConstUnionArray(node->getAsConstantUnion()->getConstArray(), start, size), node->getType(), loc); + + if (result == 0) + result = node; + else + result->setType(dereferencedType); + + return result; +} + +// +// Make a constant vector node or constant scalar node, representing a given +// constant vector and constant swizzle into it. +// +TIntermTyped* TIntermediate::foldSwizzle(TIntermTyped* node, TSwizzleSelectors& selectors, const TSourceLoc& loc) +{ + const TConstUnionArray& unionArray = node->getAsConstantUnion()->getConstArray(); + TConstUnionArray constArray(selectors.size()); + + for (int i = 0; i < selectors.size(); i++) + constArray[i] = unionArray[selectors[i]]; + + TIntermTyped* result = addConstantUnion(constArray, node->getType(), loc); + + if (result == 0) + result = node; + else + result->setType(TType(node->getBasicType(), EvqConst, selectors.size())); + + return result; +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/InfoSink.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/InfoSink.cpp new file mode 100644 index 00000000..d00c4225 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/InfoSink.cpp @@ -0,0 +1,113 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#include "../Include/InfoSink.h" + +#include + +namespace glslang { + +void TInfoSinkBase::append(const char* s) +{ + if (outputStream & EString) { + if (s == nullptr) + sink.append("(null)"); + else { + checkMem(strlen(s)); + sink.append(s); + } + } + +//#ifdef _WIN32 +// if (outputStream & EDebugger) +// OutputDebugString(s); +//#endif + + if (outputStream & EStdOut) + fprintf(stdout, "%s", s); +} + +void TInfoSinkBase::append(int count, char c) +{ + if (outputStream & EString) { + checkMem(count); + sink.append(count, c); + } + +//#ifdef _WIN32 +// if (outputStream & EDebugger) { +// char str[2]; +// str[0] = c; +// str[1] = '\0'; +// OutputDebugString(str); +// } +//#endif + + if (outputStream & EStdOut) + fprintf(stdout, "%c", c); +} + +void TInfoSinkBase::append(const TPersistString& t) +{ + if (outputStream & EString) { + checkMem(t.size()); + sink.append(t); + } + +//#ifdef _WIN32 +// if (outputStream & EDebugger) +// OutputDebugString(t.c_str()); +//#endif + + if (outputStream & EStdOut) + fprintf(stdout, "%s", t.c_str()); +} + +void TInfoSinkBase::append(const TString& t) +{ + if (outputStream & EString) { + checkMem(t.size()); + sink.append(t.c_str()); + } + +//#ifdef _WIN32 +// if (outputStream & EDebugger) +// OutputDebugString(t.c_str()); +//#endif + + if (outputStream & EStdOut) + fprintf(stdout, "%s", t.c_str()); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Initialize.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/Initialize.cpp new file mode 100644 index 00000000..a5ef6cca --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Initialize.cpp @@ -0,0 +1,9450 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2016 LunarG, Inc. +// Copyright (C) 2015-2020 Google, Inc. +// Copyright (C) 2017 ARM Limited. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Create strings that declare built-in definitions, add built-ins programmatically +// that cannot be expressed in the strings, and establish mappings between +// built-in functions and operators. +// +// Where to put a built-in: +// TBuiltIns::initialize(version,profile) context-independent textual built-ins; add them to the right string +// TBuiltIns::initialize(resources,...) context-dependent textual built-ins; add them to the right string +// TBuiltIns::identifyBuiltIns(...,symbolTable) context-independent programmatic additions/mappings to the symbol table, +// including identifying what extensions are needed if a version does not allow a symbol +// TBuiltIns::identifyBuiltIns(...,symbolTable, resources) context-dependent programmatic additions/mappings to the symbol table, +// including identifying what extensions are needed if a version does not allow a symbol +// + +#include "../Include/intermediate.h" +#include "Initialize.h" + +namespace glslang { + +// TODO: ARB_Compatability: do full extension support +const bool ARBCompatibility = true; + +const bool ForwardCompatibility = false; + +// change this back to false if depending on textual spellings of texturing calls when consuming the AST +// Using PureOperatorBuiltins=false is deprecated. +bool PureOperatorBuiltins = true; + +namespace { + +// +// A set of definitions for tabling of the built-in functions. +// + +// Order matters here, as does correlation with the subsequent +// "const int ..." declarations and the ArgType enumerants. +const char* TypeString[] = { + "bool", "bvec2", "bvec3", "bvec4", + "float", "vec2", "vec3", "vec4", + "int", "ivec2", "ivec3", "ivec4", + "uint", "uvec2", "uvec3", "uvec4", +}; +const int TypeStringCount = sizeof(TypeString) / sizeof(char*); // number of entries in 'TypeString' +const int TypeStringRowShift = 2; // shift amount to go downe one row in 'TypeString' +const int TypeStringColumnMask = (1 << TypeStringRowShift) - 1; // reduce type to its column number in 'TypeString' +const int TypeStringScalarMask = ~TypeStringColumnMask; // take type to its scalar column in 'TypeString' + +enum ArgType { + // numbers hardcoded to correspond to 'TypeString'; order and value matter + TypeB = 1 << 0, // Boolean + TypeF = 1 << 1, // float 32 + TypeI = 1 << 2, // int 32 + TypeU = 1 << 3, // uint 32 + TypeF16 = 1 << 4, // float 16 + TypeF64 = 1 << 5, // float 64 + TypeI8 = 1 << 6, // int 8 + TypeI16 = 1 << 7, // int 16 + TypeI64 = 1 << 8, // int 64 + TypeU8 = 1 << 9, // uint 8 + TypeU16 = 1 << 10, // uint 16 + TypeU64 = 1 << 11, // uint 64 +}; +// Mixtures of the above, to help the function tables +const ArgType TypeFI = static_cast(TypeF | TypeI); +const ArgType TypeFIB = static_cast(TypeF | TypeI | TypeB); +const ArgType TypeIU = static_cast(TypeI | TypeU); + +// The relationships between arguments and return type, whether anything is +// output, or other unusual situations. +enum ArgClass { + ClassRegular = 0, // nothing special, just all vector widths with matching return type; traditional arithmetic + ClassLS = 1 << 0, // the last argument is also held fixed as a (type-matched) scalar while the others cycle + ClassXLS = 1 << 1, // the last argument is exclusively a (type-matched) scalar while the others cycle + ClassLS2 = 1 << 2, // the last two arguments are held fixed as a (type-matched) scalar while the others cycle + ClassFS = 1 << 3, // the first argument is held fixed as a (type-matched) scalar while the others cycle + ClassFS2 = 1 << 4, // the first two arguments are held fixed as a (type-matched) scalar while the others cycle + ClassLO = 1 << 5, // the last argument is an output + ClassB = 1 << 6, // return type cycles through only bool/bvec, matching vector width of args + ClassLB = 1 << 7, // last argument cycles through only bool/bvec, matching vector width of args + ClassV1 = 1 << 8, // scalar only + ClassFIO = 1 << 9, // first argument is inout + ClassRS = 1 << 10, // the return is held scalar as the arguments cycle + ClassNS = 1 << 11, // no scalar prototype + ClassCV = 1 << 12, // first argument is 'coherent volatile' + ClassFO = 1 << 13, // first argument is output + ClassV3 = 1 << 14, // vec3 only +}; +// Mixtures of the above, to help the function tables +const ArgClass ClassV1FIOCV = (ArgClass)(ClassV1 | ClassFIO | ClassCV); +const ArgClass ClassBNS = (ArgClass)(ClassB | ClassNS); +const ArgClass ClassRSNS = (ArgClass)(ClassRS | ClassNS); + +// A descriptor, for a single profile, of when something is available. +// If the current profile does not match 'profile' mask below, the other fields +// do not apply (nor validate). +// profiles == EBadProfile is the end of an array of these +struct Versioning { + EProfile profiles; // the profile(s) (mask) that the following fields are valid for + int minExtendedVersion; // earliest version when extensions are enabled; ignored if numExtensions is 0 + int minCoreVersion; // earliest version function is in core; 0 means never + int numExtensions; // how many extensions are in the 'extensions' list + const char** extensions; // list of extension names enabling the function +}; + +EProfile EDesktopProfile = static_cast(ENoProfile | ECoreProfile | ECompatibilityProfile); + +// Declare pointers to put into the table for versioning. +#ifdef GLSLANG_WEB + const Versioning* Es300Desktop130 = nullptr; + const Versioning* Es310Desktop420 = nullptr; +#elif defined(GLSLANG_ANGLE) + const Versioning* Es300Desktop130 = nullptr; + const Versioning* Es310Desktop420 = nullptr; + const Versioning* Es310Desktop450 = nullptr; +#else + const Versioning Es300Desktop130Version[] = { { EEsProfile, 0, 300, 0, nullptr }, + { EDesktopProfile, 0, 130, 0, nullptr }, + { EBadProfile } }; + const Versioning* Es300Desktop130 = &Es300Desktop130Version[0]; + + const Versioning Es310Desktop420Version[] = { { EEsProfile, 0, 310, 0, nullptr }, + { EDesktopProfile, 0, 420, 0, nullptr }, + { EBadProfile } }; + const Versioning* Es310Desktop420 = &Es310Desktop420Version[0]; + + const Versioning Es310Desktop450Version[] = { { EEsProfile, 0, 310, 0, nullptr }, + { EDesktopProfile, 0, 450, 0, nullptr }, + { EBadProfile } }; + const Versioning* Es310Desktop450 = &Es310Desktop450Version[0]; +#endif + +// The main descriptor of what a set of function prototypes can look like, and +// a pointer to extra versioning information, when needed. +struct BuiltInFunction { + TOperator op; // operator to map the name to + const char* name; // function name + int numArguments; // number of arguments (overloads with varying arguments need different entries) + ArgType types; // ArgType mask + ArgClass classes; // the ways this particular function entry manifests + const Versioning* versioning; // nullptr means always a valid version +}; + +// The tables can have the same built-in function name more than one time, +// but the exact same prototype must be indicated at most once. +// The prototypes that get declared are the union of all those indicated. +// This is important when different releases add new prototypes for the same name. +// It also also congnitively simpler tiling of the prototype space. +// In practice, most names can be fully represented with one entry. +// +// Table is terminated by an OpNull TOperator. + +const BuiltInFunction BaseFunctions[] = { +// TOperator, name, arg-count, ArgType, ArgClass, versioning +// --------- ---- --------- ------- -------- ---------- + { EOpRadians, "radians", 1, TypeF, ClassRegular, nullptr }, + { EOpDegrees, "degrees", 1, TypeF, ClassRegular, nullptr }, + { EOpSin, "sin", 1, TypeF, ClassRegular, nullptr }, + { EOpCos, "cos", 1, TypeF, ClassRegular, nullptr }, + { EOpTan, "tan", 1, TypeF, ClassRegular, nullptr }, + { EOpAsin, "asin", 1, TypeF, ClassRegular, nullptr }, + { EOpAcos, "acos", 1, TypeF, ClassRegular, nullptr }, + { EOpAtan, "atan", 2, TypeF, ClassRegular, nullptr }, + { EOpAtan, "atan", 1, TypeF, ClassRegular, nullptr }, + { EOpPow, "pow", 2, TypeF, ClassRegular, nullptr }, + { EOpExp, "exp", 1, TypeF, ClassRegular, nullptr }, + { EOpLog, "log", 1, TypeF, ClassRegular, nullptr }, + { EOpExp2, "exp2", 1, TypeF, ClassRegular, nullptr }, + { EOpLog2, "log2", 1, TypeF, ClassRegular, nullptr }, + { EOpSqrt, "sqrt", 1, TypeF, ClassRegular, nullptr }, + { EOpInverseSqrt, "inversesqrt", 1, TypeF, ClassRegular, nullptr }, + { EOpAbs, "abs", 1, TypeF, ClassRegular, nullptr }, + { EOpSign, "sign", 1, TypeF, ClassRegular, nullptr }, + { EOpFloor, "floor", 1, TypeF, ClassRegular, nullptr }, + { EOpCeil, "ceil", 1, TypeF, ClassRegular, nullptr }, + { EOpFract, "fract", 1, TypeF, ClassRegular, nullptr }, + { EOpMod, "mod", 2, TypeF, ClassLS, nullptr }, + { EOpMin, "min", 2, TypeF, ClassLS, nullptr }, + { EOpMax, "max", 2, TypeF, ClassLS, nullptr }, + { EOpClamp, "clamp", 3, TypeF, ClassLS2, nullptr }, + { EOpMix, "mix", 3, TypeF, ClassLS, nullptr }, + { EOpStep, "step", 2, TypeF, ClassFS, nullptr }, + { EOpSmoothStep, "smoothstep", 3, TypeF, ClassFS2, nullptr }, + { EOpNormalize, "normalize", 1, TypeF, ClassRegular, nullptr }, + { EOpFaceForward, "faceforward", 3, TypeF, ClassRegular, nullptr }, + { EOpReflect, "reflect", 2, TypeF, ClassRegular, nullptr }, + { EOpRefract, "refract", 3, TypeF, ClassXLS, nullptr }, + { EOpLength, "length", 1, TypeF, ClassRS, nullptr }, + { EOpDistance, "distance", 2, TypeF, ClassRS, nullptr }, + { EOpDot, "dot", 2, TypeF, ClassRS, nullptr }, + { EOpCross, "cross", 2, TypeF, ClassV3, nullptr }, + { EOpLessThan, "lessThan", 2, TypeFI, ClassBNS, nullptr }, + { EOpLessThanEqual, "lessThanEqual", 2, TypeFI, ClassBNS, nullptr }, + { EOpGreaterThan, "greaterThan", 2, TypeFI, ClassBNS, nullptr }, + { EOpGreaterThanEqual, "greaterThanEqual", 2, TypeFI, ClassBNS, nullptr }, + { EOpVectorEqual, "equal", 2, TypeFIB, ClassBNS, nullptr }, + { EOpVectorNotEqual, "notEqual", 2, TypeFIB, ClassBNS, nullptr }, + { EOpAny, "any", 1, TypeB, ClassRSNS, nullptr }, + { EOpAll, "all", 1, TypeB, ClassRSNS, nullptr }, + { EOpVectorLogicalNot, "not", 1, TypeB, ClassNS, nullptr }, + { EOpSinh, "sinh", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpCosh, "cosh", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpTanh, "tanh", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpAsinh, "asinh", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpAcosh, "acosh", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpAtanh, "atanh", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpAbs, "abs", 1, TypeI, ClassRegular, Es300Desktop130 }, + { EOpSign, "sign", 1, TypeI, ClassRegular, Es300Desktop130 }, + { EOpTrunc, "trunc", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpRound, "round", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpRoundEven, "roundEven", 1, TypeF, ClassRegular, Es300Desktop130 }, + { EOpModf, "modf", 2, TypeF, ClassLO, Es300Desktop130 }, + { EOpMin, "min", 2, TypeIU, ClassLS, Es300Desktop130 }, + { EOpMax, "max", 2, TypeIU, ClassLS, Es300Desktop130 }, + { EOpClamp, "clamp", 3, TypeIU, ClassLS2, Es300Desktop130 }, + { EOpMix, "mix", 3, TypeF, ClassLB, Es300Desktop130 }, + { EOpIsInf, "isinf", 1, TypeF, ClassB, Es300Desktop130 }, + { EOpIsNan, "isnan", 1, TypeF, ClassB, Es300Desktop130 }, + { EOpLessThan, "lessThan", 2, TypeU, ClassBNS, Es300Desktop130 }, + { EOpLessThanEqual, "lessThanEqual", 2, TypeU, ClassBNS, Es300Desktop130 }, + { EOpGreaterThan, "greaterThan", 2, TypeU, ClassBNS, Es300Desktop130 }, + { EOpGreaterThanEqual, "greaterThanEqual", 2, TypeU, ClassBNS, Es300Desktop130 }, + { EOpVectorEqual, "equal", 2, TypeU, ClassBNS, Es300Desktop130 }, + { EOpVectorNotEqual, "notEqual", 2, TypeU, ClassBNS, Es300Desktop130 }, + { EOpAtomicAdd, "atomicAdd", 2, TypeIU, ClassV1FIOCV, Es310Desktop420 }, + { EOpAtomicMin, "atomicMin", 2, TypeIU, ClassV1FIOCV, Es310Desktop420 }, + { EOpAtomicMax, "atomicMax", 2, TypeIU, ClassV1FIOCV, Es310Desktop420 }, + { EOpAtomicAnd, "atomicAnd", 2, TypeIU, ClassV1FIOCV, Es310Desktop420 }, + { EOpAtomicOr, "atomicOr", 2, TypeIU, ClassV1FIOCV, Es310Desktop420 }, + { EOpAtomicXor, "atomicXor", 2, TypeIU, ClassV1FIOCV, Es310Desktop420 }, + { EOpAtomicExchange, "atomicExchange", 2, TypeIU, ClassV1FIOCV, Es310Desktop420 }, + { EOpAtomicCompSwap, "atomicCompSwap", 3, TypeIU, ClassV1FIOCV, Es310Desktop420 }, +#ifndef GLSLANG_WEB + { EOpMix, "mix", 3, TypeB, ClassRegular, Es310Desktop450 }, + { EOpMix, "mix", 3, TypeIU, ClassLB, Es310Desktop450 }, +#endif + + { EOpNull } +}; + +const BuiltInFunction DerivativeFunctions[] = { + { EOpDPdx, "dFdx", 1, TypeF, ClassRegular, nullptr }, + { EOpDPdy, "dFdy", 1, TypeF, ClassRegular, nullptr }, + { EOpFwidth, "fwidth", 1, TypeF, ClassRegular, nullptr }, + { EOpNull } +}; + +// For functions declared some other way, but still use the table to relate to operator. +struct CustomFunction { + TOperator op; // operator to map the name to + const char* name; // function name + const Versioning* versioning; // nullptr means always a valid version +}; + +const CustomFunction CustomFunctions[] = { + { EOpBarrier, "barrier", nullptr }, + { EOpMemoryBarrierShared, "memoryBarrierShared", nullptr }, + { EOpGroupMemoryBarrier, "groupMemoryBarrier", nullptr }, + { EOpMemoryBarrier, "memoryBarrier", nullptr }, + { EOpMemoryBarrierBuffer, "memoryBarrierBuffer", nullptr }, + + { EOpPackSnorm2x16, "packSnorm2x16", nullptr }, + { EOpUnpackSnorm2x16, "unpackSnorm2x16", nullptr }, + { EOpPackUnorm2x16, "packUnorm2x16", nullptr }, + { EOpUnpackUnorm2x16, "unpackUnorm2x16", nullptr }, + { EOpPackHalf2x16, "packHalf2x16", nullptr }, + { EOpUnpackHalf2x16, "unpackHalf2x16", nullptr }, + + { EOpMul, "matrixCompMult", nullptr }, + { EOpOuterProduct, "outerProduct", nullptr }, + { EOpTranspose, "transpose", nullptr }, + { EOpDeterminant, "determinant", nullptr }, + { EOpMatrixInverse, "inverse", nullptr }, + { EOpFloatBitsToInt, "floatBitsToInt", nullptr }, + { EOpFloatBitsToUint, "floatBitsToUint", nullptr }, + { EOpIntBitsToFloat, "intBitsToFloat", nullptr }, + { EOpUintBitsToFloat, "uintBitsToFloat", nullptr }, + + { EOpTextureQuerySize, "textureSize", nullptr }, + { EOpTextureQueryLod, "textureQueryLod", nullptr }, + { EOpTextureQueryLevels, "textureQueryLevels", nullptr }, + { EOpTextureQuerySamples, "textureSamples", nullptr }, + { EOpTexture, "texture", nullptr }, + { EOpTextureProj, "textureProj", nullptr }, + { EOpTextureLod, "textureLod", nullptr }, + { EOpTextureOffset, "textureOffset", nullptr }, + { EOpTextureFetch, "texelFetch", nullptr }, + { EOpTextureFetchOffset, "texelFetchOffset", nullptr }, + { EOpTextureProjOffset, "textureProjOffset", nullptr }, + { EOpTextureLodOffset, "textureLodOffset", nullptr }, + { EOpTextureProjLod, "textureProjLod", nullptr }, + { EOpTextureProjLodOffset, "textureProjLodOffset", nullptr }, + { EOpTextureGrad, "textureGrad", nullptr }, + { EOpTextureGradOffset, "textureGradOffset", nullptr }, + { EOpTextureProjGrad, "textureProjGrad", nullptr }, + { EOpTextureProjGradOffset, "textureProjGradOffset", nullptr }, + + { EOpNull } +}; + +// For the given table of functions, add all the indicated prototypes for each +// one, to be returned in the passed in decls. +void AddTabledBuiltin(TString& decls, const BuiltInFunction& function) +{ + const auto isScalarType = [](int type) { return (type & TypeStringColumnMask) == 0; }; + + // loop across these two: + // 0: the varying arg set, and + // 1: the fixed scalar args + const ArgClass ClassFixed = (ArgClass)(ClassLS | ClassXLS | ClassLS2 | ClassFS | ClassFS2); + for (int fixed = 0; fixed < ((function.classes & ClassFixed) > 0 ? 2 : 1); ++fixed) { + + if (fixed == 0 && (function.classes & ClassXLS)) + continue; + + // walk the type strings in TypeString[] + for (int type = 0; type < TypeStringCount; ++type) { + // skip types not selected: go from type to row number to type bit + if ((function.types & (1 << (type >> TypeStringRowShift))) == 0) + continue; + + // if we aren't on a scalar, and should be, skip + if ((function.classes & ClassV1) && !isScalarType(type)) + continue; + + // if we aren't on a 3-vector, and should be, skip + if ((function.classes & ClassV3) && (type & TypeStringColumnMask) != 2) + continue; + + // skip replication of all arg scalars between the varying arg set and the fixed args + if (fixed == 1 && type == (type & TypeStringScalarMask) && (function.classes & ClassXLS) == 0) + continue; + + // skip scalars when we are told to + if ((function.classes & ClassNS) && isScalarType(type)) + continue; + + // return type + if (function.classes & ClassB) + decls.append(TypeString[type & TypeStringColumnMask]); + else if (function.classes & ClassRS) + decls.append(TypeString[type & TypeStringScalarMask]); + else + decls.append(TypeString[type]); + decls.append(" "); + decls.append(function.name); + decls.append("("); + + // arguments + for (int arg = 0; arg < function.numArguments; ++arg) { + if (arg == function.numArguments - 1 && (function.classes & ClassLO)) + decls.append("out "); + if (arg == 0) { +#ifndef GLSLANG_WEB + if (function.classes & ClassCV) + decls.append("coherent volatile "); +#endif + if (function.classes & ClassFIO) + decls.append("inout "); + if (function.classes & ClassFO) + decls.append("out "); + } + if ((function.classes & ClassLB) && arg == function.numArguments - 1) + decls.append(TypeString[type & TypeStringColumnMask]); + else if (fixed && ((arg == function.numArguments - 1 && (function.classes & (ClassLS | ClassXLS | + ClassLS2))) || + (arg == function.numArguments - 2 && (function.classes & ClassLS2)) || + (arg == 0 && (function.classes & (ClassFS | ClassFS2))) || + (arg == 1 && (function.classes & ClassFS2)))) + decls.append(TypeString[type & TypeStringScalarMask]); + else + decls.append(TypeString[type]); + if (arg < function.numArguments - 1) + decls.append(","); + } + decls.append(");\n"); + } + } +} + +// See if the tabled versioning information allows the current version. +bool ValidVersion(const BuiltInFunction& function, int version, EProfile profile, const SpvVersion& /* spVersion */) +{ +#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE) + // all entries in table are valid + return true; +#endif + + // nullptr means always valid + if (function.versioning == nullptr) + return true; + + // check for what is said about our current profile + for (const Versioning* v = function.versioning; v->profiles != EBadProfile; ++v) { + if ((v->profiles & profile) != 0) { + if (v->minCoreVersion <= version || (v->numExtensions > 0 && v->minExtendedVersion <= version)) + return true; + } + } + + return false; +} + +// Relate a single table of built-ins to their AST operator. +// This can get called redundantly (especially for the common built-ins, when +// called once per stage). This is a performance issue only, not a correctness +// concern. It is done for quality arising from simplicity, as there are subtleties +// to get correct if instead trying to do it surgically. +template +void RelateTabledBuiltins(const FunctionT* functions, TSymbolTable& symbolTable) +{ + while (functions->op != EOpNull) { + symbolTable.relateToOperator(functions->name, functions->op); + ++functions; + } +} + +} // end anonymous namespace + +// Add declarations for all tables of built-in functions. +void TBuiltIns::addTabledBuiltins(int version, EProfile profile, const SpvVersion& spvVersion) +{ + const auto forEachFunction = [&](TString& decls, const BuiltInFunction* function) { + while (function->op != EOpNull) { + if (ValidVersion(*function, version, profile, spvVersion)) + AddTabledBuiltin(decls, *function); + ++function; + } + }; + + forEachFunction(commonBuiltins, BaseFunctions); + forEachFunction(stageBuiltins[EShLangFragment], DerivativeFunctions); + + if ((profile == EEsProfile && version >= 320) || (profile != EEsProfile && version >= 450)) + forEachFunction(stageBuiltins[EShLangCompute], DerivativeFunctions); +} + +// Relate all tables of built-ins to the AST operators. +void TBuiltIns::relateTabledBuiltins(int /* version */, EProfile /* profile */, const SpvVersion& /* spvVersion */, EShLanguage /* stage */, TSymbolTable& symbolTable) +{ + RelateTabledBuiltins(BaseFunctions, symbolTable); + RelateTabledBuiltins(DerivativeFunctions, symbolTable); + RelateTabledBuiltins(CustomFunctions, symbolTable); +} + +inline bool IncludeLegacy(int version, EProfile profile, const SpvVersion& spvVersion) +{ + return profile != EEsProfile && (version <= 130 || (spvVersion.spv == 0 && ARBCompatibility) || profile == ECompatibilityProfile); +} + +// Construct TBuiltInParseables base class. This can be used for language-common constructs. +TBuiltInParseables::TBuiltInParseables() +{ +} + +// Destroy TBuiltInParseables. +TBuiltInParseables::~TBuiltInParseables() +{ +} + +TBuiltIns::TBuiltIns() +{ + // Set up textual representations for making all the permutations + // of texturing/imaging functions. + prefixes[EbtFloat] = ""; + prefixes[EbtInt] = "i"; + prefixes[EbtUint] = "u"; +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + prefixes[EbtFloat16] = "f16"; + prefixes[EbtInt8] = "i8"; + prefixes[EbtUint8] = "u8"; + prefixes[EbtInt16] = "i16"; + prefixes[EbtUint16] = "u16"; + prefixes[EbtInt64] = "i64"; + prefixes[EbtUint64] = "u64"; +#endif + + postfixes[2] = "2"; + postfixes[3] = "3"; + postfixes[4] = "4"; + + // Map from symbolic class of texturing dimension to numeric dimensions. + dimMap[Esd2D] = 2; + dimMap[Esd3D] = 3; + dimMap[EsdCube] = 3; +#ifndef GLSLANG_WEB +#ifndef GLSLANG_ANGLE + dimMap[Esd1D] = 1; +#endif + dimMap[EsdRect] = 2; + dimMap[EsdBuffer] = 1; + dimMap[EsdSubpass] = 2; // potentially unused for now +#endif +} + +TBuiltIns::~TBuiltIns() +{ +} + + +// +// Add all context-independent built-in functions and variables that are present +// for the given version and profile. Share common ones across stages, otherwise +// make stage-specific entries. +// +// Most built-ins variables can be added as simple text strings. Some need to +// be added programmatically, which is done later in IdentifyBuiltIns() below. +// +void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvVersion) +{ +#ifdef GLSLANG_WEB + version = 310; + profile = EEsProfile; +#elif defined(GLSLANG_ANGLE) + version = 450; + profile = ECoreProfile; +#endif + addTabledBuiltins(version, profile, spvVersion); + + //============================================================================ + // + // Prototypes for built-in functions used repeatly by different shaders + // + //============================================================================ + +#ifndef GLSLANG_WEB + // + // Derivatives Functions. + // + TString derivativeControls ( + "float dFdxFine(float p);" + "vec2 dFdxFine(vec2 p);" + "vec3 dFdxFine(vec3 p);" + "vec4 dFdxFine(vec4 p);" + + "float dFdyFine(float p);" + "vec2 dFdyFine(vec2 p);" + "vec3 dFdyFine(vec3 p);" + "vec4 dFdyFine(vec4 p);" + + "float fwidthFine(float p);" + "vec2 fwidthFine(vec2 p);" + "vec3 fwidthFine(vec3 p);" + "vec4 fwidthFine(vec4 p);" + + "float dFdxCoarse(float p);" + "vec2 dFdxCoarse(vec2 p);" + "vec3 dFdxCoarse(vec3 p);" + "vec4 dFdxCoarse(vec4 p);" + + "float dFdyCoarse(float p);" + "vec2 dFdyCoarse(vec2 p);" + "vec3 dFdyCoarse(vec3 p);" + "vec4 dFdyCoarse(vec4 p);" + + "float fwidthCoarse(float p);" + "vec2 fwidthCoarse(vec2 p);" + "vec3 fwidthCoarse(vec3 p);" + "vec4 fwidthCoarse(vec4 p);" + ); + +#ifndef GLSLANG_ANGLE + TString derivativesAndControl16bits ( + "float16_t dFdx(float16_t);" + "f16vec2 dFdx(f16vec2);" + "f16vec3 dFdx(f16vec3);" + "f16vec4 dFdx(f16vec4);" + + "float16_t dFdy(float16_t);" + "f16vec2 dFdy(f16vec2);" + "f16vec3 dFdy(f16vec3);" + "f16vec4 dFdy(f16vec4);" + + "float16_t dFdxFine(float16_t);" + "f16vec2 dFdxFine(f16vec2);" + "f16vec3 dFdxFine(f16vec3);" + "f16vec4 dFdxFine(f16vec4);" + + "float16_t dFdyFine(float16_t);" + "f16vec2 dFdyFine(f16vec2);" + "f16vec3 dFdyFine(f16vec3);" + "f16vec4 dFdyFine(f16vec4);" + + "float16_t dFdxCoarse(float16_t);" + "f16vec2 dFdxCoarse(f16vec2);" + "f16vec3 dFdxCoarse(f16vec3);" + "f16vec4 dFdxCoarse(f16vec4);" + + "float16_t dFdyCoarse(float16_t);" + "f16vec2 dFdyCoarse(f16vec2);" + "f16vec3 dFdyCoarse(f16vec3);" + "f16vec4 dFdyCoarse(f16vec4);" + + "float16_t fwidth(float16_t);" + "f16vec2 fwidth(f16vec2);" + "f16vec3 fwidth(f16vec3);" + "f16vec4 fwidth(f16vec4);" + + "float16_t fwidthFine(float16_t);" + "f16vec2 fwidthFine(f16vec2);" + "f16vec3 fwidthFine(f16vec3);" + "f16vec4 fwidthFine(f16vec4);" + + "float16_t fwidthCoarse(float16_t);" + "f16vec2 fwidthCoarse(f16vec2);" + "f16vec3 fwidthCoarse(f16vec3);" + "f16vec4 fwidthCoarse(f16vec4);" + ); + + TString derivativesAndControl64bits ( + "float64_t dFdx(float64_t);" + "f64vec2 dFdx(f64vec2);" + "f64vec3 dFdx(f64vec3);" + "f64vec4 dFdx(f64vec4);" + + "float64_t dFdy(float64_t);" + "f64vec2 dFdy(f64vec2);" + "f64vec3 dFdy(f64vec3);" + "f64vec4 dFdy(f64vec4);" + + "float64_t dFdxFine(float64_t);" + "f64vec2 dFdxFine(f64vec2);" + "f64vec3 dFdxFine(f64vec3);" + "f64vec4 dFdxFine(f64vec4);" + + "float64_t dFdyFine(float64_t);" + "f64vec2 dFdyFine(f64vec2);" + "f64vec3 dFdyFine(f64vec3);" + "f64vec4 dFdyFine(f64vec4);" + + "float64_t dFdxCoarse(float64_t);" + "f64vec2 dFdxCoarse(f64vec2);" + "f64vec3 dFdxCoarse(f64vec3);" + "f64vec4 dFdxCoarse(f64vec4);" + + "float64_t dFdyCoarse(float64_t);" + "f64vec2 dFdyCoarse(f64vec2);" + "f64vec3 dFdyCoarse(f64vec3);" + "f64vec4 dFdyCoarse(f64vec4);" + + "float64_t fwidth(float64_t);" + "f64vec2 fwidth(f64vec2);" + "f64vec3 fwidth(f64vec3);" + "f64vec4 fwidth(f64vec4);" + + "float64_t fwidthFine(float64_t);" + "f64vec2 fwidthFine(f64vec2);" + "f64vec3 fwidthFine(f64vec3);" + "f64vec4 fwidthFine(f64vec4);" + + "float64_t fwidthCoarse(float64_t);" + "f64vec2 fwidthCoarse(f64vec2);" + "f64vec3 fwidthCoarse(f64vec3);" + "f64vec4 fwidthCoarse(f64vec4);" + ); + + //============================================================================ + // + // Prototypes for built-in functions seen by both vertex and fragment shaders. + // + //============================================================================ + + // + // double functions added to desktop 4.00, but not fma, frexp, ldexp, or pack/unpack + // + if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64 + commonBuiltins.append( + + "double sqrt(double);" + "dvec2 sqrt(dvec2);" + "dvec3 sqrt(dvec3);" + "dvec4 sqrt(dvec4);" + + "double inversesqrt(double);" + "dvec2 inversesqrt(dvec2);" + "dvec3 inversesqrt(dvec3);" + "dvec4 inversesqrt(dvec4);" + + "double abs(double);" + "dvec2 abs(dvec2);" + "dvec3 abs(dvec3);" + "dvec4 abs(dvec4);" + + "double sign(double);" + "dvec2 sign(dvec2);" + "dvec3 sign(dvec3);" + "dvec4 sign(dvec4);" + + "double floor(double);" + "dvec2 floor(dvec2);" + "dvec3 floor(dvec3);" + "dvec4 floor(dvec4);" + + "double trunc(double);" + "dvec2 trunc(dvec2);" + "dvec3 trunc(dvec3);" + "dvec4 trunc(dvec4);" + + "double round(double);" + "dvec2 round(dvec2);" + "dvec3 round(dvec3);" + "dvec4 round(dvec4);" + + "double roundEven(double);" + "dvec2 roundEven(dvec2);" + "dvec3 roundEven(dvec3);" + "dvec4 roundEven(dvec4);" + + "double ceil(double);" + "dvec2 ceil(dvec2);" + "dvec3 ceil(dvec3);" + "dvec4 ceil(dvec4);" + + "double fract(double);" + "dvec2 fract(dvec2);" + "dvec3 fract(dvec3);" + "dvec4 fract(dvec4);" + + "double mod(double, double);" + "dvec2 mod(dvec2 , double);" + "dvec3 mod(dvec3 , double);" + "dvec4 mod(dvec4 , double);" + "dvec2 mod(dvec2 , dvec2);" + "dvec3 mod(dvec3 , dvec3);" + "dvec4 mod(dvec4 , dvec4);" + + "double modf(double, out double);" + "dvec2 modf(dvec2, out dvec2);" + "dvec3 modf(dvec3, out dvec3);" + "dvec4 modf(dvec4, out dvec4);" + + "double min(double, double);" + "dvec2 min(dvec2, double);" + "dvec3 min(dvec3, double);" + "dvec4 min(dvec4, double);" + "dvec2 min(dvec2, dvec2);" + "dvec3 min(dvec3, dvec3);" + "dvec4 min(dvec4, dvec4);" + + "double max(double, double);" + "dvec2 max(dvec2 , double);" + "dvec3 max(dvec3 , double);" + "dvec4 max(dvec4 , double);" + "dvec2 max(dvec2 , dvec2);" + "dvec3 max(dvec3 , dvec3);" + "dvec4 max(dvec4 , dvec4);" + + "double clamp(double, double, double);" + "dvec2 clamp(dvec2 , double, double);" + "dvec3 clamp(dvec3 , double, double);" + "dvec4 clamp(dvec4 , double, double);" + "dvec2 clamp(dvec2 , dvec2 , dvec2);" + "dvec3 clamp(dvec3 , dvec3 , dvec3);" + "dvec4 clamp(dvec4 , dvec4 , dvec4);" + + "double mix(double, double, double);" + "dvec2 mix(dvec2, dvec2, double);" + "dvec3 mix(dvec3, dvec3, double);" + "dvec4 mix(dvec4, dvec4, double);" + "dvec2 mix(dvec2, dvec2, dvec2);" + "dvec3 mix(dvec3, dvec3, dvec3);" + "dvec4 mix(dvec4, dvec4, dvec4);" + "double mix(double, double, bool);" + "dvec2 mix(dvec2, dvec2, bvec2);" + "dvec3 mix(dvec3, dvec3, bvec3);" + "dvec4 mix(dvec4, dvec4, bvec4);" + + "double step(double, double);" + "dvec2 step(dvec2 , dvec2);" + "dvec3 step(dvec3 , dvec3);" + "dvec4 step(dvec4 , dvec4);" + "dvec2 step(double, dvec2);" + "dvec3 step(double, dvec3);" + "dvec4 step(double, dvec4);" + + "double smoothstep(double, double, double);" + "dvec2 smoothstep(dvec2 , dvec2 , dvec2);" + "dvec3 smoothstep(dvec3 , dvec3 , dvec3);" + "dvec4 smoothstep(dvec4 , dvec4 , dvec4);" + "dvec2 smoothstep(double, double, dvec2);" + "dvec3 smoothstep(double, double, dvec3);" + "dvec4 smoothstep(double, double, dvec4);" + + "bool isnan(double);" + "bvec2 isnan(dvec2);" + "bvec3 isnan(dvec3);" + "bvec4 isnan(dvec4);" + + "bool isinf(double);" + "bvec2 isinf(dvec2);" + "bvec3 isinf(dvec3);" + "bvec4 isinf(dvec4);" + + "double length(double);" + "double length(dvec2);" + "double length(dvec3);" + "double length(dvec4);" + + "double distance(double, double);" + "double distance(dvec2 , dvec2);" + "double distance(dvec3 , dvec3);" + "double distance(dvec4 , dvec4);" + + "double dot(double, double);" + "double dot(dvec2 , dvec2);" + "double dot(dvec3 , dvec3);" + "double dot(dvec4 , dvec4);" + + "dvec3 cross(dvec3, dvec3);" + + "double normalize(double);" + "dvec2 normalize(dvec2);" + "dvec3 normalize(dvec3);" + "dvec4 normalize(dvec4);" + + "double faceforward(double, double, double);" + "dvec2 faceforward(dvec2, dvec2, dvec2);" + "dvec3 faceforward(dvec3, dvec3, dvec3);" + "dvec4 faceforward(dvec4, dvec4, dvec4);" + + "double reflect(double, double);" + "dvec2 reflect(dvec2 , dvec2 );" + "dvec3 reflect(dvec3 , dvec3 );" + "dvec4 reflect(dvec4 , dvec4 );" + + "double refract(double, double, double);" + "dvec2 refract(dvec2 , dvec2 , double);" + "dvec3 refract(dvec3 , dvec3 , double);" + "dvec4 refract(dvec4 , dvec4 , double);" + + "dmat2 matrixCompMult(dmat2, dmat2);" + "dmat3 matrixCompMult(dmat3, dmat3);" + "dmat4 matrixCompMult(dmat4, dmat4);" + "dmat2x3 matrixCompMult(dmat2x3, dmat2x3);" + "dmat2x4 matrixCompMult(dmat2x4, dmat2x4);" + "dmat3x2 matrixCompMult(dmat3x2, dmat3x2);" + "dmat3x4 matrixCompMult(dmat3x4, dmat3x4);" + "dmat4x2 matrixCompMult(dmat4x2, dmat4x2);" + "dmat4x3 matrixCompMult(dmat4x3, dmat4x3);" + + "dmat2 outerProduct(dvec2, dvec2);" + "dmat3 outerProduct(dvec3, dvec3);" + "dmat4 outerProduct(dvec4, dvec4);" + "dmat2x3 outerProduct(dvec3, dvec2);" + "dmat3x2 outerProduct(dvec2, dvec3);" + "dmat2x4 outerProduct(dvec4, dvec2);" + "dmat4x2 outerProduct(dvec2, dvec4);" + "dmat3x4 outerProduct(dvec4, dvec3);" + "dmat4x3 outerProduct(dvec3, dvec4);" + + "dmat2 transpose(dmat2);" + "dmat3 transpose(dmat3);" + "dmat4 transpose(dmat4);" + "dmat2x3 transpose(dmat3x2);" + "dmat3x2 transpose(dmat2x3);" + "dmat2x4 transpose(dmat4x2);" + "dmat4x2 transpose(dmat2x4);" + "dmat3x4 transpose(dmat4x3);" + "dmat4x3 transpose(dmat3x4);" + + "double determinant(dmat2);" + "double determinant(dmat3);" + "double determinant(dmat4);" + + "dmat2 inverse(dmat2);" + "dmat3 inverse(dmat3);" + "dmat4 inverse(dmat4);" + + "bvec2 lessThan(dvec2, dvec2);" + "bvec3 lessThan(dvec3, dvec3);" + "bvec4 lessThan(dvec4, dvec4);" + + "bvec2 lessThanEqual(dvec2, dvec2);" + "bvec3 lessThanEqual(dvec3, dvec3);" + "bvec4 lessThanEqual(dvec4, dvec4);" + + "bvec2 greaterThan(dvec2, dvec2);" + "bvec3 greaterThan(dvec3, dvec3);" + "bvec4 greaterThan(dvec4, dvec4);" + + "bvec2 greaterThanEqual(dvec2, dvec2);" + "bvec3 greaterThanEqual(dvec3, dvec3);" + "bvec4 greaterThanEqual(dvec4, dvec4);" + + "bvec2 equal(dvec2, dvec2);" + "bvec3 equal(dvec3, dvec3);" + "bvec4 equal(dvec4, dvec4);" + + "bvec2 notEqual(dvec2, dvec2);" + "bvec3 notEqual(dvec3, dvec3);" + "bvec4 notEqual(dvec4, dvec4);" + + "\n"); + } + + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append( + + "int64_t abs(int64_t);" + "i64vec2 abs(i64vec2);" + "i64vec3 abs(i64vec3);" + "i64vec4 abs(i64vec4);" + + "int64_t sign(int64_t);" + "i64vec2 sign(i64vec2);" + "i64vec3 sign(i64vec3);" + "i64vec4 sign(i64vec4);" + + "int64_t min(int64_t, int64_t);" + "i64vec2 min(i64vec2, int64_t);" + "i64vec3 min(i64vec3, int64_t);" + "i64vec4 min(i64vec4, int64_t);" + "i64vec2 min(i64vec2, i64vec2);" + "i64vec3 min(i64vec3, i64vec3);" + "i64vec4 min(i64vec4, i64vec4);" + "uint64_t min(uint64_t, uint64_t);" + "u64vec2 min(u64vec2, uint64_t);" + "u64vec3 min(u64vec3, uint64_t);" + "u64vec4 min(u64vec4, uint64_t);" + "u64vec2 min(u64vec2, u64vec2);" + "u64vec3 min(u64vec3, u64vec3);" + "u64vec4 min(u64vec4, u64vec4);" + + "int64_t max(int64_t, int64_t);" + "i64vec2 max(i64vec2, int64_t);" + "i64vec3 max(i64vec3, int64_t);" + "i64vec4 max(i64vec4, int64_t);" + "i64vec2 max(i64vec2, i64vec2);" + "i64vec3 max(i64vec3, i64vec3);" + "i64vec4 max(i64vec4, i64vec4);" + "uint64_t max(uint64_t, uint64_t);" + "u64vec2 max(u64vec2, uint64_t);" + "u64vec3 max(u64vec3, uint64_t);" + "u64vec4 max(u64vec4, uint64_t);" + "u64vec2 max(u64vec2, u64vec2);" + "u64vec3 max(u64vec3, u64vec3);" + "u64vec4 max(u64vec4, u64vec4);" + + "int64_t clamp(int64_t, int64_t, int64_t);" + "i64vec2 clamp(i64vec2, int64_t, int64_t);" + "i64vec3 clamp(i64vec3, int64_t, int64_t);" + "i64vec4 clamp(i64vec4, int64_t, int64_t);" + "i64vec2 clamp(i64vec2, i64vec2, i64vec2);" + "i64vec3 clamp(i64vec3, i64vec3, i64vec3);" + "i64vec4 clamp(i64vec4, i64vec4, i64vec4);" + "uint64_t clamp(uint64_t, uint64_t, uint64_t);" + "u64vec2 clamp(u64vec2, uint64_t, uint64_t);" + "u64vec3 clamp(u64vec3, uint64_t, uint64_t);" + "u64vec4 clamp(u64vec4, uint64_t, uint64_t);" + "u64vec2 clamp(u64vec2, u64vec2, u64vec2);" + "u64vec3 clamp(u64vec3, u64vec3, u64vec3);" + "u64vec4 clamp(u64vec4, u64vec4, u64vec4);" + + "int64_t mix(int64_t, int64_t, bool);" + "i64vec2 mix(i64vec2, i64vec2, bvec2);" + "i64vec3 mix(i64vec3, i64vec3, bvec3);" + "i64vec4 mix(i64vec4, i64vec4, bvec4);" + "uint64_t mix(uint64_t, uint64_t, bool);" + "u64vec2 mix(u64vec2, u64vec2, bvec2);" + "u64vec3 mix(u64vec3, u64vec3, bvec3);" + "u64vec4 mix(u64vec4, u64vec4, bvec4);" + + "int64_t doubleBitsToInt64(double);" + "i64vec2 doubleBitsToInt64(dvec2);" + "i64vec3 doubleBitsToInt64(dvec3);" + "i64vec4 doubleBitsToInt64(dvec4);" + + "uint64_t doubleBitsToUint64(double);" + "u64vec2 doubleBitsToUint64(dvec2);" + "u64vec3 doubleBitsToUint64(dvec3);" + "u64vec4 doubleBitsToUint64(dvec4);" + + "double int64BitsToDouble(int64_t);" + "dvec2 int64BitsToDouble(i64vec2);" + "dvec3 int64BitsToDouble(i64vec3);" + "dvec4 int64BitsToDouble(i64vec4);" + + "double uint64BitsToDouble(uint64_t);" + "dvec2 uint64BitsToDouble(u64vec2);" + "dvec3 uint64BitsToDouble(u64vec3);" + "dvec4 uint64BitsToDouble(u64vec4);" + + "int64_t packInt2x32(ivec2);" + "uint64_t packUint2x32(uvec2);" + "ivec2 unpackInt2x32(int64_t);" + "uvec2 unpackUint2x32(uint64_t);" + + "bvec2 lessThan(i64vec2, i64vec2);" + "bvec3 lessThan(i64vec3, i64vec3);" + "bvec4 lessThan(i64vec4, i64vec4);" + "bvec2 lessThan(u64vec2, u64vec2);" + "bvec3 lessThan(u64vec3, u64vec3);" + "bvec4 lessThan(u64vec4, u64vec4);" + + "bvec2 lessThanEqual(i64vec2, i64vec2);" + "bvec3 lessThanEqual(i64vec3, i64vec3);" + "bvec4 lessThanEqual(i64vec4, i64vec4);" + "bvec2 lessThanEqual(u64vec2, u64vec2);" + "bvec3 lessThanEqual(u64vec3, u64vec3);" + "bvec4 lessThanEqual(u64vec4, u64vec4);" + + "bvec2 greaterThan(i64vec2, i64vec2);" + "bvec3 greaterThan(i64vec3, i64vec3);" + "bvec4 greaterThan(i64vec4, i64vec4);" + "bvec2 greaterThan(u64vec2, u64vec2);" + "bvec3 greaterThan(u64vec3, u64vec3);" + "bvec4 greaterThan(u64vec4, u64vec4);" + + "bvec2 greaterThanEqual(i64vec2, i64vec2);" + "bvec3 greaterThanEqual(i64vec3, i64vec3);" + "bvec4 greaterThanEqual(i64vec4, i64vec4);" + "bvec2 greaterThanEqual(u64vec2, u64vec2);" + "bvec3 greaterThanEqual(u64vec3, u64vec3);" + "bvec4 greaterThanEqual(u64vec4, u64vec4);" + + "bvec2 equal(i64vec2, i64vec2);" + "bvec3 equal(i64vec3, i64vec3);" + "bvec4 equal(i64vec4, i64vec4);" + "bvec2 equal(u64vec2, u64vec2);" + "bvec3 equal(u64vec3, u64vec3);" + "bvec4 equal(u64vec4, u64vec4);" + + "bvec2 notEqual(i64vec2, i64vec2);" + "bvec3 notEqual(i64vec3, i64vec3);" + "bvec4 notEqual(i64vec4, i64vec4);" + "bvec2 notEqual(u64vec2, u64vec2);" + "bvec3 notEqual(u64vec3, u64vec3);" + "bvec4 notEqual(u64vec4, u64vec4);" + + "int64_t findLSB(int64_t);" + "i64vec2 findLSB(i64vec2);" + "i64vec3 findLSB(i64vec3);" + "i64vec4 findLSB(i64vec4);" + + "int64_t findLSB(uint64_t);" + "i64vec2 findLSB(u64vec2);" + "i64vec3 findLSB(u64vec3);" + "i64vec4 findLSB(u64vec4);" + + "int64_t findMSB(int64_t);" + "i64vec2 findMSB(i64vec2);" + "i64vec3 findMSB(i64vec3);" + "i64vec4 findMSB(i64vec4);" + + "int64_t findMSB(uint64_t);" + "i64vec2 findMSB(u64vec2);" + "i64vec3 findMSB(u64vec3);" + "i64vec4 findMSB(u64vec4);" + + "\n" + ); + } + + // GL_AMD_shader_trinary_minmax + if (profile != EEsProfile && version >= 430) { + commonBuiltins.append( + "float min3(float, float, float);" + "vec2 min3(vec2, vec2, vec2);" + "vec3 min3(vec3, vec3, vec3);" + "vec4 min3(vec4, vec4, vec4);" + + "int min3(int, int, int);" + "ivec2 min3(ivec2, ivec2, ivec2);" + "ivec3 min3(ivec3, ivec3, ivec3);" + "ivec4 min3(ivec4, ivec4, ivec4);" + + "uint min3(uint, uint, uint);" + "uvec2 min3(uvec2, uvec2, uvec2);" + "uvec3 min3(uvec3, uvec3, uvec3);" + "uvec4 min3(uvec4, uvec4, uvec4);" + + "float max3(float, float, float);" + "vec2 max3(vec2, vec2, vec2);" + "vec3 max3(vec3, vec3, vec3);" + "vec4 max3(vec4, vec4, vec4);" + + "int max3(int, int, int);" + "ivec2 max3(ivec2, ivec2, ivec2);" + "ivec3 max3(ivec3, ivec3, ivec3);" + "ivec4 max3(ivec4, ivec4, ivec4);" + + "uint max3(uint, uint, uint);" + "uvec2 max3(uvec2, uvec2, uvec2);" + "uvec3 max3(uvec3, uvec3, uvec3);" + "uvec4 max3(uvec4, uvec4, uvec4);" + + "float mid3(float, float, float);" + "vec2 mid3(vec2, vec2, vec2);" + "vec3 mid3(vec3, vec3, vec3);" + "vec4 mid3(vec4, vec4, vec4);" + + "int mid3(int, int, int);" + "ivec2 mid3(ivec2, ivec2, ivec2);" + "ivec3 mid3(ivec3, ivec3, ivec3);" + "ivec4 mid3(ivec4, ivec4, ivec4);" + + "uint mid3(uint, uint, uint);" + "uvec2 mid3(uvec2, uvec2, uvec2);" + "uvec3 mid3(uvec3, uvec3, uvec3);" + "uvec4 mid3(uvec4, uvec4, uvec4);" + + "float16_t min3(float16_t, float16_t, float16_t);" + "f16vec2 min3(f16vec2, f16vec2, f16vec2);" + "f16vec3 min3(f16vec3, f16vec3, f16vec3);" + "f16vec4 min3(f16vec4, f16vec4, f16vec4);" + + "float16_t max3(float16_t, float16_t, float16_t);" + "f16vec2 max3(f16vec2, f16vec2, f16vec2);" + "f16vec3 max3(f16vec3, f16vec3, f16vec3);" + "f16vec4 max3(f16vec4, f16vec4, f16vec4);" + + "float16_t mid3(float16_t, float16_t, float16_t);" + "f16vec2 mid3(f16vec2, f16vec2, f16vec2);" + "f16vec3 mid3(f16vec3, f16vec3, f16vec3);" + "f16vec4 mid3(f16vec4, f16vec4, f16vec4);" + + "int16_t min3(int16_t, int16_t, int16_t);" + "i16vec2 min3(i16vec2, i16vec2, i16vec2);" + "i16vec3 min3(i16vec3, i16vec3, i16vec3);" + "i16vec4 min3(i16vec4, i16vec4, i16vec4);" + + "int16_t max3(int16_t, int16_t, int16_t);" + "i16vec2 max3(i16vec2, i16vec2, i16vec2);" + "i16vec3 max3(i16vec3, i16vec3, i16vec3);" + "i16vec4 max3(i16vec4, i16vec4, i16vec4);" + + "int16_t mid3(int16_t, int16_t, int16_t);" + "i16vec2 mid3(i16vec2, i16vec2, i16vec2);" + "i16vec3 mid3(i16vec3, i16vec3, i16vec3);" + "i16vec4 mid3(i16vec4, i16vec4, i16vec4);" + + "uint16_t min3(uint16_t, uint16_t, uint16_t);" + "u16vec2 min3(u16vec2, u16vec2, u16vec2);" + "u16vec3 min3(u16vec3, u16vec3, u16vec3);" + "u16vec4 min3(u16vec4, u16vec4, u16vec4);" + + "uint16_t max3(uint16_t, uint16_t, uint16_t);" + "u16vec2 max3(u16vec2, u16vec2, u16vec2);" + "u16vec3 max3(u16vec3, u16vec3, u16vec3);" + "u16vec4 max3(u16vec4, u16vec4, u16vec4);" + + "uint16_t mid3(uint16_t, uint16_t, uint16_t);" + "u16vec2 mid3(u16vec2, u16vec2, u16vec2);" + "u16vec3 mid3(u16vec3, u16vec3, u16vec3);" + "u16vec4 mid3(u16vec4, u16vec4, u16vec4);" + + "\n" + ); + } +#endif // !GLSLANG_ANGLE + + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 430)) { + commonBuiltins.append( + "uint atomicAdd(coherent volatile inout uint, uint, int, int, int);" + " int atomicAdd(coherent volatile inout int, int, int, int, int);" + + "uint atomicMin(coherent volatile inout uint, uint, int, int, int);" + " int atomicMin(coherent volatile inout int, int, int, int, int);" + + "uint atomicMax(coherent volatile inout uint, uint, int, int, int);" + " int atomicMax(coherent volatile inout int, int, int, int, int);" + + "uint atomicAnd(coherent volatile inout uint, uint, int, int, int);" + " int atomicAnd(coherent volatile inout int, int, int, int, int);" + + "uint atomicOr (coherent volatile inout uint, uint, int, int, int);" + " int atomicOr (coherent volatile inout int, int, int, int, int);" + + "uint atomicXor(coherent volatile inout uint, uint, int, int, int);" + " int atomicXor(coherent volatile inout int, int, int, int, int);" + + "uint atomicExchange(coherent volatile inout uint, uint, int, int, int);" + " int atomicExchange(coherent volatile inout int, int, int, int, int);" + + "uint atomicCompSwap(coherent volatile inout uint, uint, uint, int, int, int, int, int);" + " int atomicCompSwap(coherent volatile inout int, int, int, int, int, int, int, int);" + + "uint atomicLoad(coherent volatile in uint, int, int, int);" + " int atomicLoad(coherent volatile in int, int, int, int);" + + "void atomicStore(coherent volatile out uint, uint, int, int, int);" + "void atomicStore(coherent volatile out int, int, int, int, int);" + + "\n"); + } + +#ifndef GLSLANG_ANGLE + if (profile != EEsProfile && version >= 440) { + commonBuiltins.append( + "uint64_t atomicMin(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicMin(coherent volatile inout int64_t, int64_t);" + "uint64_t atomicMin(coherent volatile inout uint64_t, uint64_t, int, int, int);" + " int64_t atomicMin(coherent volatile inout int64_t, int64_t, int, int, int);" + + "uint64_t atomicMax(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicMax(coherent volatile inout int64_t, int64_t);" + "uint64_t atomicMax(coherent volatile inout uint64_t, uint64_t, int, int, int);" + " int64_t atomicMax(coherent volatile inout int64_t, int64_t, int, int, int);" + + "uint64_t atomicAnd(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicAnd(coherent volatile inout int64_t, int64_t);" + "uint64_t atomicAnd(coherent volatile inout uint64_t, uint64_t, int, int, int);" + " int64_t atomicAnd(coherent volatile inout int64_t, int64_t, int, int, int);" + + "uint64_t atomicOr (coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicOr (coherent volatile inout int64_t, int64_t);" + "uint64_t atomicOr (coherent volatile inout uint64_t, uint64_t, int, int, int);" + " int64_t atomicOr (coherent volatile inout int64_t, int64_t, int, int, int);" + + "uint64_t atomicXor(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicXor(coherent volatile inout int64_t, int64_t);" + "uint64_t atomicXor(coherent volatile inout uint64_t, uint64_t, int, int, int);" + " int64_t atomicXor(coherent volatile inout int64_t, int64_t, int, int, int);" + + "uint64_t atomicAdd(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicAdd(coherent volatile inout int64_t, int64_t);" + "uint64_t atomicAdd(coherent volatile inout uint64_t, uint64_t, int, int, int);" + " int64_t atomicAdd(coherent volatile inout int64_t, int64_t, int, int, int);" + " float atomicAdd(coherent volatile inout float, float);" + " float atomicAdd(coherent volatile inout float, float, int, int, int);" + " double atomicAdd(coherent volatile inout double, double);" + " double atomicAdd(coherent volatile inout double, double, int, int, int);" + + "uint64_t atomicExchange(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicExchange(coherent volatile inout int64_t, int64_t);" + "uint64_t atomicExchange(coherent volatile inout uint64_t, uint64_t, int, int, int);" + " int64_t atomicExchange(coherent volatile inout int64_t, int64_t, int, int, int);" + " float atomicExchange(coherent volatile inout float, float);" + " float atomicExchange(coherent volatile inout float, float, int, int, int);" + " double atomicExchange(coherent volatile inout double, double);" + " double atomicExchange(coherent volatile inout double, double, int, int, int);" + + "uint64_t atomicCompSwap(coherent volatile inout uint64_t, uint64_t, uint64_t);" + " int64_t atomicCompSwap(coherent volatile inout int64_t, int64_t, int64_t);" + "uint64_t atomicCompSwap(coherent volatile inout uint64_t, uint64_t, uint64_t, int, int, int, int, int);" + " int64_t atomicCompSwap(coherent volatile inout int64_t, int64_t, int64_t, int, int, int, int, int);" + + "uint64_t atomicLoad(coherent volatile in uint64_t, int, int, int);" + " int64_t atomicLoad(coherent volatile in int64_t, int, int, int);" + " float atomicLoad(coherent volatile in float, int, int, int);" + " double atomicLoad(coherent volatile in double, int, int, int);" + + "void atomicStore(coherent volatile out uint64_t, uint64_t, int, int, int);" + "void atomicStore(coherent volatile out int64_t, int64_t, int, int, int);" + "void atomicStore(coherent volatile out float, float, int, int, int);" + "void atomicStore(coherent volatile out double, double, int, int, int);" + "\n"); + } +#endif // !GLSLANG_ANGLE +#endif // !GLSLANG_WEB + + if ((profile == EEsProfile && version >= 300) || + (profile != EEsProfile && version >= 150)) { // GL_ARB_shader_bit_encoding + commonBuiltins.append( + "int floatBitsToInt(highp float value);" + "ivec2 floatBitsToInt(highp vec2 value);" + "ivec3 floatBitsToInt(highp vec3 value);" + "ivec4 floatBitsToInt(highp vec4 value);" + + "uint floatBitsToUint(highp float value);" + "uvec2 floatBitsToUint(highp vec2 value);" + "uvec3 floatBitsToUint(highp vec3 value);" + "uvec4 floatBitsToUint(highp vec4 value);" + + "float intBitsToFloat(highp int value);" + "vec2 intBitsToFloat(highp ivec2 value);" + "vec3 intBitsToFloat(highp ivec3 value);" + "vec4 intBitsToFloat(highp ivec4 value);" + + "float uintBitsToFloat(highp uint value);" + "vec2 uintBitsToFloat(highp uvec2 value);" + "vec3 uintBitsToFloat(highp uvec3 value);" + "vec4 uintBitsToFloat(highp uvec4 value);" + + "\n"); + } + +#ifndef GLSLANG_WEB + if ((profile != EEsProfile && version >= 400) || + (profile == EEsProfile && version >= 310)) { // GL_OES_gpu_shader5 + + commonBuiltins.append( + "float fma(float, float, float );" + "vec2 fma(vec2, vec2, vec2 );" + "vec3 fma(vec3, vec3, vec3 );" + "vec4 fma(vec4, vec4, vec4 );" + "\n"); + } + +#ifndef GLSLANG_ANGLE + if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64 + commonBuiltins.append( + "double fma(double, double, double);" + "dvec2 fma(dvec2, dvec2, dvec2 );" + "dvec3 fma(dvec3, dvec3, dvec3 );" + "dvec4 fma(dvec4, dvec4, dvec4 );" + "\n"); + } +#endif + + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 400)) { + commonBuiltins.append( + "float frexp(highp float, out highp int);" + "vec2 frexp(highp vec2, out highp ivec2);" + "vec3 frexp(highp vec3, out highp ivec3);" + "vec4 frexp(highp vec4, out highp ivec4);" + + "float ldexp(highp float, highp int);" + "vec2 ldexp(highp vec2, highp ivec2);" + "vec3 ldexp(highp vec3, highp ivec3);" + "vec4 ldexp(highp vec4, highp ivec4);" + + "\n"); + } + +#ifndef GLSLANG_ANGLE + if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64 + commonBuiltins.append( + "double frexp(double, out int);" + "dvec2 frexp( dvec2, out ivec2);" + "dvec3 frexp( dvec3, out ivec3);" + "dvec4 frexp( dvec4, out ivec4);" + + "double ldexp(double, int);" + "dvec2 ldexp( dvec2, ivec2);" + "dvec3 ldexp( dvec3, ivec3);" + "dvec4 ldexp( dvec4, ivec4);" + + "double packDouble2x32(uvec2);" + "uvec2 unpackDouble2x32(double);" + + "\n"); + } +#endif +#endif + + if ((profile == EEsProfile && version >= 300) || + (profile != EEsProfile && version >= 150)) { + commonBuiltins.append( + "highp uint packUnorm2x16(vec2);" + "vec2 unpackUnorm2x16(highp uint);" + "\n"); + } + + if ((profile == EEsProfile && version >= 300) || + (profile != EEsProfile && version >= 150)) { + commonBuiltins.append( + "highp uint packSnorm2x16(vec2);" + " vec2 unpackSnorm2x16(highp uint);" + "highp uint packHalf2x16(vec2);" + "\n"); + } + + if (profile == EEsProfile && version >= 300) { + commonBuiltins.append( + "mediump vec2 unpackHalf2x16(highp uint);" + "\n"); + } else if (profile != EEsProfile && version >= 150) { + commonBuiltins.append( + " vec2 unpackHalf2x16(highp uint);" + "\n"); + } + +#ifndef GLSLANG_WEB + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 150)) { + commonBuiltins.append( + "highp uint packSnorm4x8(vec4);" + "highp uint packUnorm4x8(vec4);" + "\n"); + } + + if (profile == EEsProfile && version >= 310) { + commonBuiltins.append( + "mediump vec4 unpackSnorm4x8(highp uint);" + "mediump vec4 unpackUnorm4x8(highp uint);" + "\n"); + } else if (profile != EEsProfile && version >= 150) { + commonBuiltins.append( + "vec4 unpackSnorm4x8(highp uint);" + "vec4 unpackUnorm4x8(highp uint);" + "\n"); + } +#endif + + // + // Matrix Functions. + // + commonBuiltins.append( + "mat2 matrixCompMult(mat2 x, mat2 y);" + "mat3 matrixCompMult(mat3 x, mat3 y);" + "mat4 matrixCompMult(mat4 x, mat4 y);" + + "\n"); + + // 120 is correct for both ES and desktop + if (version >= 120) { + commonBuiltins.append( + "mat2 outerProduct(vec2 c, vec2 r);" + "mat3 outerProduct(vec3 c, vec3 r);" + "mat4 outerProduct(vec4 c, vec4 r);" + "mat2x3 outerProduct(vec3 c, vec2 r);" + "mat3x2 outerProduct(vec2 c, vec3 r);" + "mat2x4 outerProduct(vec4 c, vec2 r);" + "mat4x2 outerProduct(vec2 c, vec4 r);" + "mat3x4 outerProduct(vec4 c, vec3 r);" + "mat4x3 outerProduct(vec3 c, vec4 r);" + + "mat2 transpose(mat2 m);" + "mat3 transpose(mat3 m);" + "mat4 transpose(mat4 m);" + "mat2x3 transpose(mat3x2 m);" + "mat3x2 transpose(mat2x3 m);" + "mat2x4 transpose(mat4x2 m);" + "mat4x2 transpose(mat2x4 m);" + "mat3x4 transpose(mat4x3 m);" + "mat4x3 transpose(mat3x4 m);" + + "mat2x3 matrixCompMult(mat2x3, mat2x3);" + "mat2x4 matrixCompMult(mat2x4, mat2x4);" + "mat3x2 matrixCompMult(mat3x2, mat3x2);" + "mat3x4 matrixCompMult(mat3x4, mat3x4);" + "mat4x2 matrixCompMult(mat4x2, mat4x2);" + "mat4x3 matrixCompMult(mat4x3, mat4x3);" + + "\n"); + + // 150 is correct for both ES and desktop + if (version >= 150) { + commonBuiltins.append( + "float determinant(mat2 m);" + "float determinant(mat3 m);" + "float determinant(mat4 m);" + + "mat2 inverse(mat2 m);" + "mat3 inverse(mat3 m);" + "mat4 inverse(mat4 m);" + + "\n"); + } + } + +#ifndef GLSLANG_WEB +#ifndef GLSLANG_ANGLE + // + // Original-style texture functions existing in all stages. + // (Per-stage functions below.) + // + if ((profile == EEsProfile && version == 100) || + profile == ECompatibilityProfile || + (profile == ECoreProfile && version < 420) || + profile == ENoProfile) { + if (spvVersion.spv == 0) { + commonBuiltins.append( + "vec4 texture2D(sampler2D, vec2);" + + "vec4 texture2DProj(sampler2D, vec3);" + "vec4 texture2DProj(sampler2D, vec4);" + + "vec4 texture3D(sampler3D, vec3);" // OES_texture_3D, but caught by keyword check + "vec4 texture3DProj(sampler3D, vec4);" // OES_texture_3D, but caught by keyword check + + "vec4 textureCube(samplerCube, vec3);" + + "\n"); + } + } + + if ( profile == ECompatibilityProfile || + (profile == ECoreProfile && version < 420) || + profile == ENoProfile) { + if (spvVersion.spv == 0) { + commonBuiltins.append( + "vec4 texture1D(sampler1D, float);" + + "vec4 texture1DProj(sampler1D, vec2);" + "vec4 texture1DProj(sampler1D, vec4);" + + "vec4 shadow1D(sampler1DShadow, vec3);" + "vec4 shadow2D(sampler2DShadow, vec3);" + "vec4 shadow1DProj(sampler1DShadow, vec4);" + "vec4 shadow2DProj(sampler2DShadow, vec4);" + + "vec4 texture2DRect(sampler2DRect, vec2);" // GL_ARB_texture_rectangle, caught by keyword check + "vec4 texture2DRectProj(sampler2DRect, vec3);" // GL_ARB_texture_rectangle, caught by keyword check + "vec4 texture2DRectProj(sampler2DRect, vec4);" // GL_ARB_texture_rectangle, caught by keyword check + "vec4 shadow2DRect(sampler2DRectShadow, vec3);" // GL_ARB_texture_rectangle, caught by keyword check + "vec4 shadow2DRectProj(sampler2DRectShadow, vec4);" // GL_ARB_texture_rectangle, caught by keyword check + + "\n"); + } + } + + if (profile == EEsProfile) { + if (spvVersion.spv == 0) { + if (version < 300) { + commonBuiltins.append( + "vec4 texture2D(samplerExternalOES, vec2 coord);" // GL_OES_EGL_image_external + "vec4 texture2DProj(samplerExternalOES, vec3);" // GL_OES_EGL_image_external + "vec4 texture2DProj(samplerExternalOES, vec4);" // GL_OES_EGL_image_external + "\n"); + } else { + commonBuiltins.append( + "highp ivec2 textureSize(samplerExternalOES, int lod);" // GL_OES_EGL_image_external_essl3 + "vec4 texture(samplerExternalOES, vec2);" // GL_OES_EGL_image_external_essl3 + "vec4 texture(samplerExternalOES, vec2, float bias);" // GL_OES_EGL_image_external_essl3 + "vec4 textureProj(samplerExternalOES, vec3);" // GL_OES_EGL_image_external_essl3 + "vec4 textureProj(samplerExternalOES, vec3, float bias);" // GL_OES_EGL_image_external_essl3 + "vec4 textureProj(samplerExternalOES, vec4);" // GL_OES_EGL_image_external_essl3 + "vec4 textureProj(samplerExternalOES, vec4, float bias);" // GL_OES_EGL_image_external_essl3 + "vec4 texelFetch(samplerExternalOES, ivec2, int lod);" // GL_OES_EGL_image_external_essl3 + "\n"); + } + commonBuiltins.append( + "highp ivec2 textureSize(__samplerExternal2DY2YEXT, int lod);" // GL_EXT_YUV_target + "vec4 texture(__samplerExternal2DY2YEXT, vec2);" // GL_EXT_YUV_target + "vec4 texture(__samplerExternal2DY2YEXT, vec2, float bias);" // GL_EXT_YUV_target + "vec4 textureProj(__samplerExternal2DY2YEXT, vec3);" // GL_EXT_YUV_target + "vec4 textureProj(__samplerExternal2DY2YEXT, vec3, float bias);" // GL_EXT_YUV_target + "vec4 textureProj(__samplerExternal2DY2YEXT, vec4);" // GL_EXT_YUV_target + "vec4 textureProj(__samplerExternal2DY2YEXT, vec4, float bias);" // GL_EXT_YUV_target + "vec4 texelFetch(__samplerExternal2DY2YEXT sampler, ivec2, int lod);" // GL_EXT_YUV_target + "\n"); + commonBuiltins.append( + "vec4 texture2DGradEXT(sampler2D, vec2, vec2, vec2);" // GL_EXT_shader_texture_lod + "vec4 texture2DProjGradEXT(sampler2D, vec3, vec2, vec2);" // GL_EXT_shader_texture_lod + "vec4 texture2DProjGradEXT(sampler2D, vec4, vec2, vec2);" // GL_EXT_shader_texture_lod + "vec4 textureCubeGradEXT(samplerCube, vec3, vec3, vec3);" // GL_EXT_shader_texture_lod + + "float shadow2DEXT(sampler2DShadow, vec3);" // GL_EXT_shadow_samplers + "float shadow2DProjEXT(sampler2DShadow, vec4);" // GL_EXT_shadow_samplers + + "\n"); + } + } + + // + // Noise functions. + // + if (spvVersion.spv == 0 && profile != EEsProfile) { + commonBuiltins.append( + "float noise1(float x);" + "float noise1(vec2 x);" + "float noise1(vec3 x);" + "float noise1(vec4 x);" + + "vec2 noise2(float x);" + "vec2 noise2(vec2 x);" + "vec2 noise2(vec3 x);" + "vec2 noise2(vec4 x);" + + "vec3 noise3(float x);" + "vec3 noise3(vec2 x);" + "vec3 noise3(vec3 x);" + "vec3 noise3(vec4 x);" + + "vec4 noise4(float x);" + "vec4 noise4(vec2 x);" + "vec4 noise4(vec3 x);" + "vec4 noise4(vec4 x);" + + "\n"); + } + + if (spvVersion.vulkan == 0) { + // + // Atomic counter functions. + // + if ((profile != EEsProfile && version >= 300) || + (profile == EEsProfile && version >= 310)) { + commonBuiltins.append( + "uint atomicCounterIncrement(atomic_uint);" + "uint atomicCounterDecrement(atomic_uint);" + "uint atomicCounter(atomic_uint);" + + "\n"); + } + if (profile != EEsProfile && version >= 460) { + commonBuiltins.append( + "uint atomicCounterAdd(atomic_uint, uint);" + "uint atomicCounterSubtract(atomic_uint, uint);" + "uint atomicCounterMin(atomic_uint, uint);" + "uint atomicCounterMax(atomic_uint, uint);" + "uint atomicCounterAnd(atomic_uint, uint);" + "uint atomicCounterOr(atomic_uint, uint);" + "uint atomicCounterXor(atomic_uint, uint);" + "uint atomicCounterExchange(atomic_uint, uint);" + "uint atomicCounterCompSwap(atomic_uint, uint, uint);" + + "\n"); + } + } +#endif // !GLSLANG_ANGLE + + // Bitfield + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 400)) { + commonBuiltins.append( + " int bitfieldExtract( int, int, int);" + "ivec2 bitfieldExtract(ivec2, int, int);" + "ivec3 bitfieldExtract(ivec3, int, int);" + "ivec4 bitfieldExtract(ivec4, int, int);" + + " uint bitfieldExtract( uint, int, int);" + "uvec2 bitfieldExtract(uvec2, int, int);" + "uvec3 bitfieldExtract(uvec3, int, int);" + "uvec4 bitfieldExtract(uvec4, int, int);" + + " int bitfieldInsert( int base, int, int, int);" + "ivec2 bitfieldInsert(ivec2 base, ivec2, int, int);" + "ivec3 bitfieldInsert(ivec3 base, ivec3, int, int);" + "ivec4 bitfieldInsert(ivec4 base, ivec4, int, int);" + + " uint bitfieldInsert( uint base, uint, int, int);" + "uvec2 bitfieldInsert(uvec2 base, uvec2, int, int);" + "uvec3 bitfieldInsert(uvec3 base, uvec3, int, int);" + "uvec4 bitfieldInsert(uvec4 base, uvec4, int, int);" + + "\n"); + } + + if (profile != EEsProfile && version >= 400) { + commonBuiltins.append( + " int findLSB( int);" + "ivec2 findLSB(ivec2);" + "ivec3 findLSB(ivec3);" + "ivec4 findLSB(ivec4);" + + " int findLSB( uint);" + "ivec2 findLSB(uvec2);" + "ivec3 findLSB(uvec3);" + "ivec4 findLSB(uvec4);" + + "\n"); + } else if (profile == EEsProfile && version >= 310) { + commonBuiltins.append( + "lowp int findLSB( int);" + "lowp ivec2 findLSB(ivec2);" + "lowp ivec3 findLSB(ivec3);" + "lowp ivec4 findLSB(ivec4);" + + "lowp int findLSB( uint);" + "lowp ivec2 findLSB(uvec2);" + "lowp ivec3 findLSB(uvec3);" + "lowp ivec4 findLSB(uvec4);" + + "\n"); + } + + if (profile != EEsProfile && version >= 400) { + commonBuiltins.append( + " int bitCount( int);" + "ivec2 bitCount(ivec2);" + "ivec3 bitCount(ivec3);" + "ivec4 bitCount(ivec4);" + + " int bitCount( uint);" + "ivec2 bitCount(uvec2);" + "ivec3 bitCount(uvec3);" + "ivec4 bitCount(uvec4);" + + " int findMSB(highp int);" + "ivec2 findMSB(highp ivec2);" + "ivec3 findMSB(highp ivec3);" + "ivec4 findMSB(highp ivec4);" + + " int findMSB(highp uint);" + "ivec2 findMSB(highp uvec2);" + "ivec3 findMSB(highp uvec3);" + "ivec4 findMSB(highp uvec4);" + + "\n"); + } + + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 400)) { + commonBuiltins.append( + " uint uaddCarry(highp uint, highp uint, out lowp uint carry);" + "uvec2 uaddCarry(highp uvec2, highp uvec2, out lowp uvec2 carry);" + "uvec3 uaddCarry(highp uvec3, highp uvec3, out lowp uvec3 carry);" + "uvec4 uaddCarry(highp uvec4, highp uvec4, out lowp uvec4 carry);" + + " uint usubBorrow(highp uint, highp uint, out lowp uint borrow);" + "uvec2 usubBorrow(highp uvec2, highp uvec2, out lowp uvec2 borrow);" + "uvec3 usubBorrow(highp uvec3, highp uvec3, out lowp uvec3 borrow);" + "uvec4 usubBorrow(highp uvec4, highp uvec4, out lowp uvec4 borrow);" + + "void umulExtended(highp uint, highp uint, out highp uint, out highp uint lsb);" + "void umulExtended(highp uvec2, highp uvec2, out highp uvec2, out highp uvec2 lsb);" + "void umulExtended(highp uvec3, highp uvec3, out highp uvec3, out highp uvec3 lsb);" + "void umulExtended(highp uvec4, highp uvec4, out highp uvec4, out highp uvec4 lsb);" + + "void imulExtended(highp int, highp int, out highp int, out highp int lsb);" + "void imulExtended(highp ivec2, highp ivec2, out highp ivec2, out highp ivec2 lsb);" + "void imulExtended(highp ivec3, highp ivec3, out highp ivec3, out highp ivec3 lsb);" + "void imulExtended(highp ivec4, highp ivec4, out highp ivec4, out highp ivec4 lsb);" + + " int bitfieldReverse(highp int);" + "ivec2 bitfieldReverse(highp ivec2);" + "ivec3 bitfieldReverse(highp ivec3);" + "ivec4 bitfieldReverse(highp ivec4);" + + " uint bitfieldReverse(highp uint);" + "uvec2 bitfieldReverse(highp uvec2);" + "uvec3 bitfieldReverse(highp uvec3);" + "uvec4 bitfieldReverse(highp uvec4);" + + "\n"); + } + + if (profile == EEsProfile && version >= 310) { + commonBuiltins.append( + "lowp int bitCount( int);" + "lowp ivec2 bitCount(ivec2);" + "lowp ivec3 bitCount(ivec3);" + "lowp ivec4 bitCount(ivec4);" + + "lowp int bitCount( uint);" + "lowp ivec2 bitCount(uvec2);" + "lowp ivec3 bitCount(uvec3);" + "lowp ivec4 bitCount(uvec4);" + + "lowp int findMSB(highp int);" + "lowp ivec2 findMSB(highp ivec2);" + "lowp ivec3 findMSB(highp ivec3);" + "lowp ivec4 findMSB(highp ivec4);" + + "lowp int findMSB(highp uint);" + "lowp ivec2 findMSB(highp uvec2);" + "lowp ivec3 findMSB(highp uvec3);" + "lowp ivec4 findMSB(highp uvec4);" + + "\n"); + } + +#ifndef GLSLANG_ANGLE + // GL_ARB_shader_ballot + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append( + "uint64_t ballotARB(bool);" + + "float readInvocationARB(float, uint);" + "vec2 readInvocationARB(vec2, uint);" + "vec3 readInvocationARB(vec3, uint);" + "vec4 readInvocationARB(vec4, uint);" + + "int readInvocationARB(int, uint);" + "ivec2 readInvocationARB(ivec2, uint);" + "ivec3 readInvocationARB(ivec3, uint);" + "ivec4 readInvocationARB(ivec4, uint);" + + "uint readInvocationARB(uint, uint);" + "uvec2 readInvocationARB(uvec2, uint);" + "uvec3 readInvocationARB(uvec3, uint);" + "uvec4 readInvocationARB(uvec4, uint);" + + "float readFirstInvocationARB(float);" + "vec2 readFirstInvocationARB(vec2);" + "vec3 readFirstInvocationARB(vec3);" + "vec4 readFirstInvocationARB(vec4);" + + "int readFirstInvocationARB(int);" + "ivec2 readFirstInvocationARB(ivec2);" + "ivec3 readFirstInvocationARB(ivec3);" + "ivec4 readFirstInvocationARB(ivec4);" + + "uint readFirstInvocationARB(uint);" + "uvec2 readFirstInvocationARB(uvec2);" + "uvec3 readFirstInvocationARB(uvec3);" + "uvec4 readFirstInvocationARB(uvec4);" + + "\n"); + } + + // GL_ARB_shader_group_vote + if (profile != EEsProfile && version >= 430) { + commonBuiltins.append( + "bool anyInvocationARB(bool);" + "bool allInvocationsARB(bool);" + "bool allInvocationsEqualARB(bool);" + + "\n"); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + commonBuiltins.append( + "void subgroupBarrier();" + "void subgroupMemoryBarrier();" + "void subgroupMemoryBarrierBuffer();" + "void subgroupMemoryBarrierImage();" + "bool subgroupElect();" + + "bool subgroupAll(bool);\n" + "bool subgroupAny(bool);\n" + "uvec4 subgroupBallot(bool);\n" + "bool subgroupInverseBallot(uvec4);\n" + "bool subgroupBallotBitExtract(uvec4, uint);\n" + "uint subgroupBallotBitCount(uvec4);\n" + "uint subgroupBallotInclusiveBitCount(uvec4);\n" + "uint subgroupBallotExclusiveBitCount(uvec4);\n" + "uint subgroupBallotFindLSB(uvec4);\n" + "uint subgroupBallotFindMSB(uvec4);\n" + ); + + // Generate all flavors of subgroup ops. + static const char *subgroupOps[] = + { + "bool subgroupAllEqual(%s);\n", + "%s subgroupBroadcast(%s, uint);\n", + "%s subgroupBroadcastFirst(%s);\n", + "%s subgroupShuffle(%s, uint);\n", + "%s subgroupShuffleXor(%s, uint);\n", + "%s subgroupShuffleUp(%s, uint delta);\n", + "%s subgroupShuffleDown(%s, uint delta);\n", + "%s subgroupAdd(%s);\n", + "%s subgroupMul(%s);\n", + "%s subgroupMin(%s);\n", + "%s subgroupMax(%s);\n", + "%s subgroupAnd(%s);\n", + "%s subgroupOr(%s);\n", + "%s subgroupXor(%s);\n", + "%s subgroupInclusiveAdd(%s);\n", + "%s subgroupInclusiveMul(%s);\n", + "%s subgroupInclusiveMin(%s);\n", + "%s subgroupInclusiveMax(%s);\n", + "%s subgroupInclusiveAnd(%s);\n", + "%s subgroupInclusiveOr(%s);\n", + "%s subgroupInclusiveXor(%s);\n", + "%s subgroupExclusiveAdd(%s);\n", + "%s subgroupExclusiveMul(%s);\n", + "%s subgroupExclusiveMin(%s);\n", + "%s subgroupExclusiveMax(%s);\n", + "%s subgroupExclusiveAnd(%s);\n", + "%s subgroupExclusiveOr(%s);\n", + "%s subgroupExclusiveXor(%s);\n", + "%s subgroupClusteredAdd(%s, uint);\n", + "%s subgroupClusteredMul(%s, uint);\n", + "%s subgroupClusteredMin(%s, uint);\n", + "%s subgroupClusteredMax(%s, uint);\n", + "%s subgroupClusteredAnd(%s, uint);\n", + "%s subgroupClusteredOr(%s, uint);\n", + "%s subgroupClusteredXor(%s, uint);\n", + "%s subgroupQuadBroadcast(%s, uint);\n", + "%s subgroupQuadSwapHorizontal(%s);\n", + "%s subgroupQuadSwapVertical(%s);\n", + "%s subgroupQuadSwapDiagonal(%s);\n", + "uvec4 subgroupPartitionNV(%s);\n", + "%s subgroupPartitionedAddNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedMulNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedMinNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedMaxNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedAndNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedOrNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedXorNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedInclusiveAddNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedInclusiveMulNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedInclusiveMinNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedInclusiveMaxNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedInclusiveAndNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedInclusiveOrNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedInclusiveXorNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedExclusiveAddNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedExclusiveMulNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedExclusiveMinNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedExclusiveMaxNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedExclusiveAndNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedExclusiveOrNV(%s, uvec4 ballot);\n", + "%s subgroupPartitionedExclusiveXorNV(%s, uvec4 ballot);\n", + }; + + static const char *floatTypes[] = { + "float", "vec2", "vec3", "vec4", + "float16_t", "f16vec2", "f16vec3", "f16vec4", + }; + static const char *doubleTypes[] = { + "double", "dvec2", "dvec3", "dvec4", + }; + static const char *intTypes[] = { + "int8_t", "i8vec2", "i8vec3", "i8vec4", + "int16_t", "i16vec2", "i16vec3", "i16vec4", + "int", "ivec2", "ivec3", "ivec4", + "int64_t", "i64vec2", "i64vec3", "i64vec4", + "uint8_t", "u8vec2", "u8vec3", "u8vec4", + "uint16_t", "u16vec2", "u16vec3", "u16vec4", + "uint", "uvec2", "uvec3", "uvec4", + "uint64_t", "u64vec2", "u64vec3", "u64vec4", + }; + static const char *boolTypes[] = { + "bool", "bvec2", "bvec3", "bvec4", + }; + + for (size_t i = 0; i < sizeof(subgroupOps)/sizeof(subgroupOps[0]); ++i) { + const char *op = subgroupOps[i]; + + // Logical operations don't support float + bool logicalOp = strstr(op, "Or") || strstr(op, "And") || + (strstr(op, "Xor") && !strstr(op, "ShuffleXor")); + // Math operations don't support bool + bool mathOp = strstr(op, "Add") || strstr(op, "Mul") || strstr(op, "Min") || strstr(op, "Max"); + + const int bufSize = 256; + char buf[bufSize]; + + if (!logicalOp) { + for (size_t j = 0; j < sizeof(floatTypes)/sizeof(floatTypes[0]); ++j) { + snprintf(buf, bufSize, op, floatTypes[j], floatTypes[j]); + commonBuiltins.append(buf); + } + if (profile != EEsProfile && version >= 400) { + for (size_t j = 0; j < sizeof(doubleTypes)/sizeof(doubleTypes[0]); ++j) { + snprintf(buf, bufSize, op, doubleTypes[j], doubleTypes[j]); + commonBuiltins.append(buf); + } + } + } + if (!mathOp) { + for (size_t j = 0; j < sizeof(boolTypes)/sizeof(boolTypes[0]); ++j) { + snprintf(buf, bufSize, op, boolTypes[j], boolTypes[j]); + commonBuiltins.append(buf); + } + } + for (size_t j = 0; j < sizeof(intTypes)/sizeof(intTypes[0]); ++j) { + snprintf(buf, bufSize, op, intTypes[j], intTypes[j]); + commonBuiltins.append(buf); + } + } + + stageBuiltins[EShLangCompute].append( + "void subgroupMemoryBarrierShared();" + + "\n" + ); + stageBuiltins[EShLangMeshNV].append( + "void subgroupMemoryBarrierShared();" + "\n" + ); + stageBuiltins[EShLangTaskNV].append( + "void subgroupMemoryBarrierShared();" + "\n" + ); + } + + if (profile != EEsProfile && version >= 460) { + commonBuiltins.append( + "bool anyInvocation(bool);" + "bool allInvocations(bool);" + "bool allInvocationsEqual(bool);" + + "\n"); + } + + // GL_AMD_shader_ballot + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append( + "float minInvocationsAMD(float);" + "vec2 minInvocationsAMD(vec2);" + "vec3 minInvocationsAMD(vec3);" + "vec4 minInvocationsAMD(vec4);" + + "int minInvocationsAMD(int);" + "ivec2 minInvocationsAMD(ivec2);" + "ivec3 minInvocationsAMD(ivec3);" + "ivec4 minInvocationsAMD(ivec4);" + + "uint minInvocationsAMD(uint);" + "uvec2 minInvocationsAMD(uvec2);" + "uvec3 minInvocationsAMD(uvec3);" + "uvec4 minInvocationsAMD(uvec4);" + + "double minInvocationsAMD(double);" + "dvec2 minInvocationsAMD(dvec2);" + "dvec3 minInvocationsAMD(dvec3);" + "dvec4 minInvocationsAMD(dvec4);" + + "int64_t minInvocationsAMD(int64_t);" + "i64vec2 minInvocationsAMD(i64vec2);" + "i64vec3 minInvocationsAMD(i64vec3);" + "i64vec4 minInvocationsAMD(i64vec4);" + + "uint64_t minInvocationsAMD(uint64_t);" + "u64vec2 minInvocationsAMD(u64vec2);" + "u64vec3 minInvocationsAMD(u64vec3);" + "u64vec4 minInvocationsAMD(u64vec4);" + + "float16_t minInvocationsAMD(float16_t);" + "f16vec2 minInvocationsAMD(f16vec2);" + "f16vec3 minInvocationsAMD(f16vec3);" + "f16vec4 minInvocationsAMD(f16vec4);" + + "int16_t minInvocationsAMD(int16_t);" + "i16vec2 minInvocationsAMD(i16vec2);" + "i16vec3 minInvocationsAMD(i16vec3);" + "i16vec4 minInvocationsAMD(i16vec4);" + + "uint16_t minInvocationsAMD(uint16_t);" + "u16vec2 minInvocationsAMD(u16vec2);" + "u16vec3 minInvocationsAMD(u16vec3);" + "u16vec4 minInvocationsAMD(u16vec4);" + + "float minInvocationsInclusiveScanAMD(float);" + "vec2 minInvocationsInclusiveScanAMD(vec2);" + "vec3 minInvocationsInclusiveScanAMD(vec3);" + "vec4 minInvocationsInclusiveScanAMD(vec4);" + + "int minInvocationsInclusiveScanAMD(int);" + "ivec2 minInvocationsInclusiveScanAMD(ivec2);" + "ivec3 minInvocationsInclusiveScanAMD(ivec3);" + "ivec4 minInvocationsInclusiveScanAMD(ivec4);" + + "uint minInvocationsInclusiveScanAMD(uint);" + "uvec2 minInvocationsInclusiveScanAMD(uvec2);" + "uvec3 minInvocationsInclusiveScanAMD(uvec3);" + "uvec4 minInvocationsInclusiveScanAMD(uvec4);" + + "double minInvocationsInclusiveScanAMD(double);" + "dvec2 minInvocationsInclusiveScanAMD(dvec2);" + "dvec3 minInvocationsInclusiveScanAMD(dvec3);" + "dvec4 minInvocationsInclusiveScanAMD(dvec4);" + + "int64_t minInvocationsInclusiveScanAMD(int64_t);" + "i64vec2 minInvocationsInclusiveScanAMD(i64vec2);" + "i64vec3 minInvocationsInclusiveScanAMD(i64vec3);" + "i64vec4 minInvocationsInclusiveScanAMD(i64vec4);" + + "uint64_t minInvocationsInclusiveScanAMD(uint64_t);" + "u64vec2 minInvocationsInclusiveScanAMD(u64vec2);" + "u64vec3 minInvocationsInclusiveScanAMD(u64vec3);" + "u64vec4 minInvocationsInclusiveScanAMD(u64vec4);" + + "float16_t minInvocationsInclusiveScanAMD(float16_t);" + "f16vec2 minInvocationsInclusiveScanAMD(f16vec2);" + "f16vec3 minInvocationsInclusiveScanAMD(f16vec3);" + "f16vec4 minInvocationsInclusiveScanAMD(f16vec4);" + + "int16_t minInvocationsInclusiveScanAMD(int16_t);" + "i16vec2 minInvocationsInclusiveScanAMD(i16vec2);" + "i16vec3 minInvocationsInclusiveScanAMD(i16vec3);" + "i16vec4 minInvocationsInclusiveScanAMD(i16vec4);" + + "uint16_t minInvocationsInclusiveScanAMD(uint16_t);" + "u16vec2 minInvocationsInclusiveScanAMD(u16vec2);" + "u16vec3 minInvocationsInclusiveScanAMD(u16vec3);" + "u16vec4 minInvocationsInclusiveScanAMD(u16vec4);" + + "float minInvocationsExclusiveScanAMD(float);" + "vec2 minInvocationsExclusiveScanAMD(vec2);" + "vec3 minInvocationsExclusiveScanAMD(vec3);" + "vec4 minInvocationsExclusiveScanAMD(vec4);" + + "int minInvocationsExclusiveScanAMD(int);" + "ivec2 minInvocationsExclusiveScanAMD(ivec2);" + "ivec3 minInvocationsExclusiveScanAMD(ivec3);" + "ivec4 minInvocationsExclusiveScanAMD(ivec4);" + + "uint minInvocationsExclusiveScanAMD(uint);" + "uvec2 minInvocationsExclusiveScanAMD(uvec2);" + "uvec3 minInvocationsExclusiveScanAMD(uvec3);" + "uvec4 minInvocationsExclusiveScanAMD(uvec4);" + + "double minInvocationsExclusiveScanAMD(double);" + "dvec2 minInvocationsExclusiveScanAMD(dvec2);" + "dvec3 minInvocationsExclusiveScanAMD(dvec3);" + "dvec4 minInvocationsExclusiveScanAMD(dvec4);" + + "int64_t minInvocationsExclusiveScanAMD(int64_t);" + "i64vec2 minInvocationsExclusiveScanAMD(i64vec2);" + "i64vec3 minInvocationsExclusiveScanAMD(i64vec3);" + "i64vec4 minInvocationsExclusiveScanAMD(i64vec4);" + + "uint64_t minInvocationsExclusiveScanAMD(uint64_t);" + "u64vec2 minInvocationsExclusiveScanAMD(u64vec2);" + "u64vec3 minInvocationsExclusiveScanAMD(u64vec3);" + "u64vec4 minInvocationsExclusiveScanAMD(u64vec4);" + + "float16_t minInvocationsExclusiveScanAMD(float16_t);" + "f16vec2 minInvocationsExclusiveScanAMD(f16vec2);" + "f16vec3 minInvocationsExclusiveScanAMD(f16vec3);" + "f16vec4 minInvocationsExclusiveScanAMD(f16vec4);" + + "int16_t minInvocationsExclusiveScanAMD(int16_t);" + "i16vec2 minInvocationsExclusiveScanAMD(i16vec2);" + "i16vec3 minInvocationsExclusiveScanAMD(i16vec3);" + "i16vec4 minInvocationsExclusiveScanAMD(i16vec4);" + + "uint16_t minInvocationsExclusiveScanAMD(uint16_t);" + "u16vec2 minInvocationsExclusiveScanAMD(u16vec2);" + "u16vec3 minInvocationsExclusiveScanAMD(u16vec3);" + "u16vec4 minInvocationsExclusiveScanAMD(u16vec4);" + + "float maxInvocationsAMD(float);" + "vec2 maxInvocationsAMD(vec2);" + "vec3 maxInvocationsAMD(vec3);" + "vec4 maxInvocationsAMD(vec4);" + + "int maxInvocationsAMD(int);" + "ivec2 maxInvocationsAMD(ivec2);" + "ivec3 maxInvocationsAMD(ivec3);" + "ivec4 maxInvocationsAMD(ivec4);" + + "uint maxInvocationsAMD(uint);" + "uvec2 maxInvocationsAMD(uvec2);" + "uvec3 maxInvocationsAMD(uvec3);" + "uvec4 maxInvocationsAMD(uvec4);" + + "double maxInvocationsAMD(double);" + "dvec2 maxInvocationsAMD(dvec2);" + "dvec3 maxInvocationsAMD(dvec3);" + "dvec4 maxInvocationsAMD(dvec4);" + + "int64_t maxInvocationsAMD(int64_t);" + "i64vec2 maxInvocationsAMD(i64vec2);" + "i64vec3 maxInvocationsAMD(i64vec3);" + "i64vec4 maxInvocationsAMD(i64vec4);" + + "uint64_t maxInvocationsAMD(uint64_t);" + "u64vec2 maxInvocationsAMD(u64vec2);" + "u64vec3 maxInvocationsAMD(u64vec3);" + "u64vec4 maxInvocationsAMD(u64vec4);" + + "float16_t maxInvocationsAMD(float16_t);" + "f16vec2 maxInvocationsAMD(f16vec2);" + "f16vec3 maxInvocationsAMD(f16vec3);" + "f16vec4 maxInvocationsAMD(f16vec4);" + + "int16_t maxInvocationsAMD(int16_t);" + "i16vec2 maxInvocationsAMD(i16vec2);" + "i16vec3 maxInvocationsAMD(i16vec3);" + "i16vec4 maxInvocationsAMD(i16vec4);" + + "uint16_t maxInvocationsAMD(uint16_t);" + "u16vec2 maxInvocationsAMD(u16vec2);" + "u16vec3 maxInvocationsAMD(u16vec3);" + "u16vec4 maxInvocationsAMD(u16vec4);" + + "float maxInvocationsInclusiveScanAMD(float);" + "vec2 maxInvocationsInclusiveScanAMD(vec2);" + "vec3 maxInvocationsInclusiveScanAMD(vec3);" + "vec4 maxInvocationsInclusiveScanAMD(vec4);" + + "int maxInvocationsInclusiveScanAMD(int);" + "ivec2 maxInvocationsInclusiveScanAMD(ivec2);" + "ivec3 maxInvocationsInclusiveScanAMD(ivec3);" + "ivec4 maxInvocationsInclusiveScanAMD(ivec4);" + + "uint maxInvocationsInclusiveScanAMD(uint);" + "uvec2 maxInvocationsInclusiveScanAMD(uvec2);" + "uvec3 maxInvocationsInclusiveScanAMD(uvec3);" + "uvec4 maxInvocationsInclusiveScanAMD(uvec4);" + + "double maxInvocationsInclusiveScanAMD(double);" + "dvec2 maxInvocationsInclusiveScanAMD(dvec2);" + "dvec3 maxInvocationsInclusiveScanAMD(dvec3);" + "dvec4 maxInvocationsInclusiveScanAMD(dvec4);" + + "int64_t maxInvocationsInclusiveScanAMD(int64_t);" + "i64vec2 maxInvocationsInclusiveScanAMD(i64vec2);" + "i64vec3 maxInvocationsInclusiveScanAMD(i64vec3);" + "i64vec4 maxInvocationsInclusiveScanAMD(i64vec4);" + + "uint64_t maxInvocationsInclusiveScanAMD(uint64_t);" + "u64vec2 maxInvocationsInclusiveScanAMD(u64vec2);" + "u64vec3 maxInvocationsInclusiveScanAMD(u64vec3);" + "u64vec4 maxInvocationsInclusiveScanAMD(u64vec4);" + + "float16_t maxInvocationsInclusiveScanAMD(float16_t);" + "f16vec2 maxInvocationsInclusiveScanAMD(f16vec2);" + "f16vec3 maxInvocationsInclusiveScanAMD(f16vec3);" + "f16vec4 maxInvocationsInclusiveScanAMD(f16vec4);" + + "int16_t maxInvocationsInclusiveScanAMD(int16_t);" + "i16vec2 maxInvocationsInclusiveScanAMD(i16vec2);" + "i16vec3 maxInvocationsInclusiveScanAMD(i16vec3);" + "i16vec4 maxInvocationsInclusiveScanAMD(i16vec4);" + + "uint16_t maxInvocationsInclusiveScanAMD(uint16_t);" + "u16vec2 maxInvocationsInclusiveScanAMD(u16vec2);" + "u16vec3 maxInvocationsInclusiveScanAMD(u16vec3);" + "u16vec4 maxInvocationsInclusiveScanAMD(u16vec4);" + + "float maxInvocationsExclusiveScanAMD(float);" + "vec2 maxInvocationsExclusiveScanAMD(vec2);" + "vec3 maxInvocationsExclusiveScanAMD(vec3);" + "vec4 maxInvocationsExclusiveScanAMD(vec4);" + + "int maxInvocationsExclusiveScanAMD(int);" + "ivec2 maxInvocationsExclusiveScanAMD(ivec2);" + "ivec3 maxInvocationsExclusiveScanAMD(ivec3);" + "ivec4 maxInvocationsExclusiveScanAMD(ivec4);" + + "uint maxInvocationsExclusiveScanAMD(uint);" + "uvec2 maxInvocationsExclusiveScanAMD(uvec2);" + "uvec3 maxInvocationsExclusiveScanAMD(uvec3);" + "uvec4 maxInvocationsExclusiveScanAMD(uvec4);" + + "double maxInvocationsExclusiveScanAMD(double);" + "dvec2 maxInvocationsExclusiveScanAMD(dvec2);" + "dvec3 maxInvocationsExclusiveScanAMD(dvec3);" + "dvec4 maxInvocationsExclusiveScanAMD(dvec4);" + + "int64_t maxInvocationsExclusiveScanAMD(int64_t);" + "i64vec2 maxInvocationsExclusiveScanAMD(i64vec2);" + "i64vec3 maxInvocationsExclusiveScanAMD(i64vec3);" + "i64vec4 maxInvocationsExclusiveScanAMD(i64vec4);" + + "uint64_t maxInvocationsExclusiveScanAMD(uint64_t);" + "u64vec2 maxInvocationsExclusiveScanAMD(u64vec2);" + "u64vec3 maxInvocationsExclusiveScanAMD(u64vec3);" + "u64vec4 maxInvocationsExclusiveScanAMD(u64vec4);" + + "float16_t maxInvocationsExclusiveScanAMD(float16_t);" + "f16vec2 maxInvocationsExclusiveScanAMD(f16vec2);" + "f16vec3 maxInvocationsExclusiveScanAMD(f16vec3);" + "f16vec4 maxInvocationsExclusiveScanAMD(f16vec4);" + + "int16_t maxInvocationsExclusiveScanAMD(int16_t);" + "i16vec2 maxInvocationsExclusiveScanAMD(i16vec2);" + "i16vec3 maxInvocationsExclusiveScanAMD(i16vec3);" + "i16vec4 maxInvocationsExclusiveScanAMD(i16vec4);" + + "uint16_t maxInvocationsExclusiveScanAMD(uint16_t);" + "u16vec2 maxInvocationsExclusiveScanAMD(u16vec2);" + "u16vec3 maxInvocationsExclusiveScanAMD(u16vec3);" + "u16vec4 maxInvocationsExclusiveScanAMD(u16vec4);" + + "float addInvocationsAMD(float);" + "vec2 addInvocationsAMD(vec2);" + "vec3 addInvocationsAMD(vec3);" + "vec4 addInvocationsAMD(vec4);" + + "int addInvocationsAMD(int);" + "ivec2 addInvocationsAMD(ivec2);" + "ivec3 addInvocationsAMD(ivec3);" + "ivec4 addInvocationsAMD(ivec4);" + + "uint addInvocationsAMD(uint);" + "uvec2 addInvocationsAMD(uvec2);" + "uvec3 addInvocationsAMD(uvec3);" + "uvec4 addInvocationsAMD(uvec4);" + + "double addInvocationsAMD(double);" + "dvec2 addInvocationsAMD(dvec2);" + "dvec3 addInvocationsAMD(dvec3);" + "dvec4 addInvocationsAMD(dvec4);" + + "int64_t addInvocationsAMD(int64_t);" + "i64vec2 addInvocationsAMD(i64vec2);" + "i64vec3 addInvocationsAMD(i64vec3);" + "i64vec4 addInvocationsAMD(i64vec4);" + + "uint64_t addInvocationsAMD(uint64_t);" + "u64vec2 addInvocationsAMD(u64vec2);" + "u64vec3 addInvocationsAMD(u64vec3);" + "u64vec4 addInvocationsAMD(u64vec4);" + + "float16_t addInvocationsAMD(float16_t);" + "f16vec2 addInvocationsAMD(f16vec2);" + "f16vec3 addInvocationsAMD(f16vec3);" + "f16vec4 addInvocationsAMD(f16vec4);" + + "int16_t addInvocationsAMD(int16_t);" + "i16vec2 addInvocationsAMD(i16vec2);" + "i16vec3 addInvocationsAMD(i16vec3);" + "i16vec4 addInvocationsAMD(i16vec4);" + + "uint16_t addInvocationsAMD(uint16_t);" + "u16vec2 addInvocationsAMD(u16vec2);" + "u16vec3 addInvocationsAMD(u16vec3);" + "u16vec4 addInvocationsAMD(u16vec4);" + + "float addInvocationsInclusiveScanAMD(float);" + "vec2 addInvocationsInclusiveScanAMD(vec2);" + "vec3 addInvocationsInclusiveScanAMD(vec3);" + "vec4 addInvocationsInclusiveScanAMD(vec4);" + + "int addInvocationsInclusiveScanAMD(int);" + "ivec2 addInvocationsInclusiveScanAMD(ivec2);" + "ivec3 addInvocationsInclusiveScanAMD(ivec3);" + "ivec4 addInvocationsInclusiveScanAMD(ivec4);" + + "uint addInvocationsInclusiveScanAMD(uint);" + "uvec2 addInvocationsInclusiveScanAMD(uvec2);" + "uvec3 addInvocationsInclusiveScanAMD(uvec3);" + "uvec4 addInvocationsInclusiveScanAMD(uvec4);" + + "double addInvocationsInclusiveScanAMD(double);" + "dvec2 addInvocationsInclusiveScanAMD(dvec2);" + "dvec3 addInvocationsInclusiveScanAMD(dvec3);" + "dvec4 addInvocationsInclusiveScanAMD(dvec4);" + + "int64_t addInvocationsInclusiveScanAMD(int64_t);" + "i64vec2 addInvocationsInclusiveScanAMD(i64vec2);" + "i64vec3 addInvocationsInclusiveScanAMD(i64vec3);" + "i64vec4 addInvocationsInclusiveScanAMD(i64vec4);" + + "uint64_t addInvocationsInclusiveScanAMD(uint64_t);" + "u64vec2 addInvocationsInclusiveScanAMD(u64vec2);" + "u64vec3 addInvocationsInclusiveScanAMD(u64vec3);" + "u64vec4 addInvocationsInclusiveScanAMD(u64vec4);" + + "float16_t addInvocationsInclusiveScanAMD(float16_t);" + "f16vec2 addInvocationsInclusiveScanAMD(f16vec2);" + "f16vec3 addInvocationsInclusiveScanAMD(f16vec3);" + "f16vec4 addInvocationsInclusiveScanAMD(f16vec4);" + + "int16_t addInvocationsInclusiveScanAMD(int16_t);" + "i16vec2 addInvocationsInclusiveScanAMD(i16vec2);" + "i16vec3 addInvocationsInclusiveScanAMD(i16vec3);" + "i16vec4 addInvocationsInclusiveScanAMD(i16vec4);" + + "uint16_t addInvocationsInclusiveScanAMD(uint16_t);" + "u16vec2 addInvocationsInclusiveScanAMD(u16vec2);" + "u16vec3 addInvocationsInclusiveScanAMD(u16vec3);" + "u16vec4 addInvocationsInclusiveScanAMD(u16vec4);" + + "float addInvocationsExclusiveScanAMD(float);" + "vec2 addInvocationsExclusiveScanAMD(vec2);" + "vec3 addInvocationsExclusiveScanAMD(vec3);" + "vec4 addInvocationsExclusiveScanAMD(vec4);" + + "int addInvocationsExclusiveScanAMD(int);" + "ivec2 addInvocationsExclusiveScanAMD(ivec2);" + "ivec3 addInvocationsExclusiveScanAMD(ivec3);" + "ivec4 addInvocationsExclusiveScanAMD(ivec4);" + + "uint addInvocationsExclusiveScanAMD(uint);" + "uvec2 addInvocationsExclusiveScanAMD(uvec2);" + "uvec3 addInvocationsExclusiveScanAMD(uvec3);" + "uvec4 addInvocationsExclusiveScanAMD(uvec4);" + + "double addInvocationsExclusiveScanAMD(double);" + "dvec2 addInvocationsExclusiveScanAMD(dvec2);" + "dvec3 addInvocationsExclusiveScanAMD(dvec3);" + "dvec4 addInvocationsExclusiveScanAMD(dvec4);" + + "int64_t addInvocationsExclusiveScanAMD(int64_t);" + "i64vec2 addInvocationsExclusiveScanAMD(i64vec2);" + "i64vec3 addInvocationsExclusiveScanAMD(i64vec3);" + "i64vec4 addInvocationsExclusiveScanAMD(i64vec4);" + + "uint64_t addInvocationsExclusiveScanAMD(uint64_t);" + "u64vec2 addInvocationsExclusiveScanAMD(u64vec2);" + "u64vec3 addInvocationsExclusiveScanAMD(u64vec3);" + "u64vec4 addInvocationsExclusiveScanAMD(u64vec4);" + + "float16_t addInvocationsExclusiveScanAMD(float16_t);" + "f16vec2 addInvocationsExclusiveScanAMD(f16vec2);" + "f16vec3 addInvocationsExclusiveScanAMD(f16vec3);" + "f16vec4 addInvocationsExclusiveScanAMD(f16vec4);" + + "int16_t addInvocationsExclusiveScanAMD(int16_t);" + "i16vec2 addInvocationsExclusiveScanAMD(i16vec2);" + "i16vec3 addInvocationsExclusiveScanAMD(i16vec3);" + "i16vec4 addInvocationsExclusiveScanAMD(i16vec4);" + + "uint16_t addInvocationsExclusiveScanAMD(uint16_t);" + "u16vec2 addInvocationsExclusiveScanAMD(u16vec2);" + "u16vec3 addInvocationsExclusiveScanAMD(u16vec3);" + "u16vec4 addInvocationsExclusiveScanAMD(u16vec4);" + + "float minInvocationsNonUniformAMD(float);" + "vec2 minInvocationsNonUniformAMD(vec2);" + "vec3 minInvocationsNonUniformAMD(vec3);" + "vec4 minInvocationsNonUniformAMD(vec4);" + + "int minInvocationsNonUniformAMD(int);" + "ivec2 minInvocationsNonUniformAMD(ivec2);" + "ivec3 minInvocationsNonUniformAMD(ivec3);" + "ivec4 minInvocationsNonUniformAMD(ivec4);" + + "uint minInvocationsNonUniformAMD(uint);" + "uvec2 minInvocationsNonUniformAMD(uvec2);" + "uvec3 minInvocationsNonUniformAMD(uvec3);" + "uvec4 minInvocationsNonUniformAMD(uvec4);" + + "double minInvocationsNonUniformAMD(double);" + "dvec2 minInvocationsNonUniformAMD(dvec2);" + "dvec3 minInvocationsNonUniformAMD(dvec3);" + "dvec4 minInvocationsNonUniformAMD(dvec4);" + + "int64_t minInvocationsNonUniformAMD(int64_t);" + "i64vec2 minInvocationsNonUniformAMD(i64vec2);" + "i64vec3 minInvocationsNonUniformAMD(i64vec3);" + "i64vec4 minInvocationsNonUniformAMD(i64vec4);" + + "uint64_t minInvocationsNonUniformAMD(uint64_t);" + "u64vec2 minInvocationsNonUniformAMD(u64vec2);" + "u64vec3 minInvocationsNonUniformAMD(u64vec3);" + "u64vec4 minInvocationsNonUniformAMD(u64vec4);" + + "float16_t minInvocationsNonUniformAMD(float16_t);" + "f16vec2 minInvocationsNonUniformAMD(f16vec2);" + "f16vec3 minInvocationsNonUniformAMD(f16vec3);" + "f16vec4 minInvocationsNonUniformAMD(f16vec4);" + + "int16_t minInvocationsNonUniformAMD(int16_t);" + "i16vec2 minInvocationsNonUniformAMD(i16vec2);" + "i16vec3 minInvocationsNonUniformAMD(i16vec3);" + "i16vec4 minInvocationsNonUniformAMD(i16vec4);" + + "uint16_t minInvocationsNonUniformAMD(uint16_t);" + "u16vec2 minInvocationsNonUniformAMD(u16vec2);" + "u16vec3 minInvocationsNonUniformAMD(u16vec3);" + "u16vec4 minInvocationsNonUniformAMD(u16vec4);" + + "float minInvocationsInclusiveScanNonUniformAMD(float);" + "vec2 minInvocationsInclusiveScanNonUniformAMD(vec2);" + "vec3 minInvocationsInclusiveScanNonUniformAMD(vec3);" + "vec4 minInvocationsInclusiveScanNonUniformAMD(vec4);" + + "int minInvocationsInclusiveScanNonUniformAMD(int);" + "ivec2 minInvocationsInclusiveScanNonUniformAMD(ivec2);" + "ivec3 minInvocationsInclusiveScanNonUniformAMD(ivec3);" + "ivec4 minInvocationsInclusiveScanNonUniformAMD(ivec4);" + + "uint minInvocationsInclusiveScanNonUniformAMD(uint);" + "uvec2 minInvocationsInclusiveScanNonUniformAMD(uvec2);" + "uvec3 minInvocationsInclusiveScanNonUniformAMD(uvec3);" + "uvec4 minInvocationsInclusiveScanNonUniformAMD(uvec4);" + + "double minInvocationsInclusiveScanNonUniformAMD(double);" + "dvec2 minInvocationsInclusiveScanNonUniformAMD(dvec2);" + "dvec3 minInvocationsInclusiveScanNonUniformAMD(dvec3);" + "dvec4 minInvocationsInclusiveScanNonUniformAMD(dvec4);" + + "int64_t minInvocationsInclusiveScanNonUniformAMD(int64_t);" + "i64vec2 minInvocationsInclusiveScanNonUniformAMD(i64vec2);" + "i64vec3 minInvocationsInclusiveScanNonUniformAMD(i64vec3);" + "i64vec4 minInvocationsInclusiveScanNonUniformAMD(i64vec4);" + + "uint64_t minInvocationsInclusiveScanNonUniformAMD(uint64_t);" + "u64vec2 minInvocationsInclusiveScanNonUniformAMD(u64vec2);" + "u64vec3 minInvocationsInclusiveScanNonUniformAMD(u64vec3);" + "u64vec4 minInvocationsInclusiveScanNonUniformAMD(u64vec4);" + + "float16_t minInvocationsInclusiveScanNonUniformAMD(float16_t);" + "f16vec2 minInvocationsInclusiveScanNonUniformAMD(f16vec2);" + "f16vec3 minInvocationsInclusiveScanNonUniformAMD(f16vec3);" + "f16vec4 minInvocationsInclusiveScanNonUniformAMD(f16vec4);" + + "int16_t minInvocationsInclusiveScanNonUniformAMD(int16_t);" + "i16vec2 minInvocationsInclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 minInvocationsInclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 minInvocationsInclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t minInvocationsInclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 minInvocationsInclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 minInvocationsInclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 minInvocationsInclusiveScanNonUniformAMD(u16vec4);" + + "float minInvocationsExclusiveScanNonUniformAMD(float);" + "vec2 minInvocationsExclusiveScanNonUniformAMD(vec2);" + "vec3 minInvocationsExclusiveScanNonUniformAMD(vec3);" + "vec4 minInvocationsExclusiveScanNonUniformAMD(vec4);" + + "int minInvocationsExclusiveScanNonUniformAMD(int);" + "ivec2 minInvocationsExclusiveScanNonUniformAMD(ivec2);" + "ivec3 minInvocationsExclusiveScanNonUniformAMD(ivec3);" + "ivec4 minInvocationsExclusiveScanNonUniformAMD(ivec4);" + + "uint minInvocationsExclusiveScanNonUniformAMD(uint);" + "uvec2 minInvocationsExclusiveScanNonUniformAMD(uvec2);" + "uvec3 minInvocationsExclusiveScanNonUniformAMD(uvec3);" + "uvec4 minInvocationsExclusiveScanNonUniformAMD(uvec4);" + + "double minInvocationsExclusiveScanNonUniformAMD(double);" + "dvec2 minInvocationsExclusiveScanNonUniformAMD(dvec2);" + "dvec3 minInvocationsExclusiveScanNonUniformAMD(dvec3);" + "dvec4 minInvocationsExclusiveScanNonUniformAMD(dvec4);" + + "int64_t minInvocationsExclusiveScanNonUniformAMD(int64_t);" + "i64vec2 minInvocationsExclusiveScanNonUniformAMD(i64vec2);" + "i64vec3 minInvocationsExclusiveScanNonUniformAMD(i64vec3);" + "i64vec4 minInvocationsExclusiveScanNonUniformAMD(i64vec4);" + + "uint64_t minInvocationsExclusiveScanNonUniformAMD(uint64_t);" + "u64vec2 minInvocationsExclusiveScanNonUniformAMD(u64vec2);" + "u64vec3 minInvocationsExclusiveScanNonUniformAMD(u64vec3);" + "u64vec4 minInvocationsExclusiveScanNonUniformAMD(u64vec4);" + + "float16_t minInvocationsExclusiveScanNonUniformAMD(float16_t);" + "f16vec2 minInvocationsExclusiveScanNonUniformAMD(f16vec2);" + "f16vec3 minInvocationsExclusiveScanNonUniformAMD(f16vec3);" + "f16vec4 minInvocationsExclusiveScanNonUniformAMD(f16vec4);" + + "int16_t minInvocationsExclusiveScanNonUniformAMD(int16_t);" + "i16vec2 minInvocationsExclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 minInvocationsExclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 minInvocationsExclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t minInvocationsExclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 minInvocationsExclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 minInvocationsExclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 minInvocationsExclusiveScanNonUniformAMD(u16vec4);" + + "float maxInvocationsNonUniformAMD(float);" + "vec2 maxInvocationsNonUniformAMD(vec2);" + "vec3 maxInvocationsNonUniformAMD(vec3);" + "vec4 maxInvocationsNonUniformAMD(vec4);" + + "int maxInvocationsNonUniformAMD(int);" + "ivec2 maxInvocationsNonUniformAMD(ivec2);" + "ivec3 maxInvocationsNonUniformAMD(ivec3);" + "ivec4 maxInvocationsNonUniformAMD(ivec4);" + + "uint maxInvocationsNonUniformAMD(uint);" + "uvec2 maxInvocationsNonUniformAMD(uvec2);" + "uvec3 maxInvocationsNonUniformAMD(uvec3);" + "uvec4 maxInvocationsNonUniformAMD(uvec4);" + + "double maxInvocationsNonUniformAMD(double);" + "dvec2 maxInvocationsNonUniformAMD(dvec2);" + "dvec3 maxInvocationsNonUniformAMD(dvec3);" + "dvec4 maxInvocationsNonUniformAMD(dvec4);" + + "int64_t maxInvocationsNonUniformAMD(int64_t);" + "i64vec2 maxInvocationsNonUniformAMD(i64vec2);" + "i64vec3 maxInvocationsNonUniformAMD(i64vec3);" + "i64vec4 maxInvocationsNonUniformAMD(i64vec4);" + + "uint64_t maxInvocationsNonUniformAMD(uint64_t);" + "u64vec2 maxInvocationsNonUniformAMD(u64vec2);" + "u64vec3 maxInvocationsNonUniformAMD(u64vec3);" + "u64vec4 maxInvocationsNonUniformAMD(u64vec4);" + + "float16_t maxInvocationsNonUniformAMD(float16_t);" + "f16vec2 maxInvocationsNonUniformAMD(f16vec2);" + "f16vec3 maxInvocationsNonUniformAMD(f16vec3);" + "f16vec4 maxInvocationsNonUniformAMD(f16vec4);" + + "int16_t maxInvocationsNonUniformAMD(int16_t);" + "i16vec2 maxInvocationsNonUniformAMD(i16vec2);" + "i16vec3 maxInvocationsNonUniformAMD(i16vec3);" + "i16vec4 maxInvocationsNonUniformAMD(i16vec4);" + + "uint16_t maxInvocationsNonUniformAMD(uint16_t);" + "u16vec2 maxInvocationsNonUniformAMD(u16vec2);" + "u16vec3 maxInvocationsNonUniformAMD(u16vec3);" + "u16vec4 maxInvocationsNonUniformAMD(u16vec4);" + + "float maxInvocationsInclusiveScanNonUniformAMD(float);" + "vec2 maxInvocationsInclusiveScanNonUniformAMD(vec2);" + "vec3 maxInvocationsInclusiveScanNonUniformAMD(vec3);" + "vec4 maxInvocationsInclusiveScanNonUniformAMD(vec4);" + + "int maxInvocationsInclusiveScanNonUniformAMD(int);" + "ivec2 maxInvocationsInclusiveScanNonUniformAMD(ivec2);" + "ivec3 maxInvocationsInclusiveScanNonUniformAMD(ivec3);" + "ivec4 maxInvocationsInclusiveScanNonUniformAMD(ivec4);" + + "uint maxInvocationsInclusiveScanNonUniformAMD(uint);" + "uvec2 maxInvocationsInclusiveScanNonUniformAMD(uvec2);" + "uvec3 maxInvocationsInclusiveScanNonUniformAMD(uvec3);" + "uvec4 maxInvocationsInclusiveScanNonUniformAMD(uvec4);" + + "double maxInvocationsInclusiveScanNonUniformAMD(double);" + "dvec2 maxInvocationsInclusiveScanNonUniformAMD(dvec2);" + "dvec3 maxInvocationsInclusiveScanNonUniformAMD(dvec3);" + "dvec4 maxInvocationsInclusiveScanNonUniformAMD(dvec4);" + + "int64_t maxInvocationsInclusiveScanNonUniformAMD(int64_t);" + "i64vec2 maxInvocationsInclusiveScanNonUniformAMD(i64vec2);" + "i64vec3 maxInvocationsInclusiveScanNonUniformAMD(i64vec3);" + "i64vec4 maxInvocationsInclusiveScanNonUniformAMD(i64vec4);" + + "uint64_t maxInvocationsInclusiveScanNonUniformAMD(uint64_t);" + "u64vec2 maxInvocationsInclusiveScanNonUniformAMD(u64vec2);" + "u64vec3 maxInvocationsInclusiveScanNonUniformAMD(u64vec3);" + "u64vec4 maxInvocationsInclusiveScanNonUniformAMD(u64vec4);" + + "float16_t maxInvocationsInclusiveScanNonUniformAMD(float16_t);" + "f16vec2 maxInvocationsInclusiveScanNonUniformAMD(f16vec2);" + "f16vec3 maxInvocationsInclusiveScanNonUniformAMD(f16vec3);" + "f16vec4 maxInvocationsInclusiveScanNonUniformAMD(f16vec4);" + + "int16_t maxInvocationsInclusiveScanNonUniformAMD(int16_t);" + "i16vec2 maxInvocationsInclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 maxInvocationsInclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 maxInvocationsInclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t maxInvocationsInclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 maxInvocationsInclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 maxInvocationsInclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 maxInvocationsInclusiveScanNonUniformAMD(u16vec4);" + + "float maxInvocationsExclusiveScanNonUniformAMD(float);" + "vec2 maxInvocationsExclusiveScanNonUniformAMD(vec2);" + "vec3 maxInvocationsExclusiveScanNonUniformAMD(vec3);" + "vec4 maxInvocationsExclusiveScanNonUniformAMD(vec4);" + + "int maxInvocationsExclusiveScanNonUniformAMD(int);" + "ivec2 maxInvocationsExclusiveScanNonUniformAMD(ivec2);" + "ivec3 maxInvocationsExclusiveScanNonUniformAMD(ivec3);" + "ivec4 maxInvocationsExclusiveScanNonUniformAMD(ivec4);" + + "uint maxInvocationsExclusiveScanNonUniformAMD(uint);" + "uvec2 maxInvocationsExclusiveScanNonUniformAMD(uvec2);" + "uvec3 maxInvocationsExclusiveScanNonUniformAMD(uvec3);" + "uvec4 maxInvocationsExclusiveScanNonUniformAMD(uvec4);" + + "double maxInvocationsExclusiveScanNonUniformAMD(double);" + "dvec2 maxInvocationsExclusiveScanNonUniformAMD(dvec2);" + "dvec3 maxInvocationsExclusiveScanNonUniformAMD(dvec3);" + "dvec4 maxInvocationsExclusiveScanNonUniformAMD(dvec4);" + + "int64_t maxInvocationsExclusiveScanNonUniformAMD(int64_t);" + "i64vec2 maxInvocationsExclusiveScanNonUniformAMD(i64vec2);" + "i64vec3 maxInvocationsExclusiveScanNonUniformAMD(i64vec3);" + "i64vec4 maxInvocationsExclusiveScanNonUniformAMD(i64vec4);" + + "uint64_t maxInvocationsExclusiveScanNonUniformAMD(uint64_t);" + "u64vec2 maxInvocationsExclusiveScanNonUniformAMD(u64vec2);" + "u64vec3 maxInvocationsExclusiveScanNonUniformAMD(u64vec3);" + "u64vec4 maxInvocationsExclusiveScanNonUniformAMD(u64vec4);" + + "float16_t maxInvocationsExclusiveScanNonUniformAMD(float16_t);" + "f16vec2 maxInvocationsExclusiveScanNonUniformAMD(f16vec2);" + "f16vec3 maxInvocationsExclusiveScanNonUniformAMD(f16vec3);" + "f16vec4 maxInvocationsExclusiveScanNonUniformAMD(f16vec4);" + + "int16_t maxInvocationsExclusiveScanNonUniformAMD(int16_t);" + "i16vec2 maxInvocationsExclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 maxInvocationsExclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 maxInvocationsExclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t maxInvocationsExclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 maxInvocationsExclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 maxInvocationsExclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 maxInvocationsExclusiveScanNonUniformAMD(u16vec4);" + + "float addInvocationsNonUniformAMD(float);" + "vec2 addInvocationsNonUniformAMD(vec2);" + "vec3 addInvocationsNonUniformAMD(vec3);" + "vec4 addInvocationsNonUniformAMD(vec4);" + + "int addInvocationsNonUniformAMD(int);" + "ivec2 addInvocationsNonUniformAMD(ivec2);" + "ivec3 addInvocationsNonUniformAMD(ivec3);" + "ivec4 addInvocationsNonUniformAMD(ivec4);" + + "uint addInvocationsNonUniformAMD(uint);" + "uvec2 addInvocationsNonUniformAMD(uvec2);" + "uvec3 addInvocationsNonUniformAMD(uvec3);" + "uvec4 addInvocationsNonUniformAMD(uvec4);" + + "double addInvocationsNonUniformAMD(double);" + "dvec2 addInvocationsNonUniformAMD(dvec2);" + "dvec3 addInvocationsNonUniformAMD(dvec3);" + "dvec4 addInvocationsNonUniformAMD(dvec4);" + + "int64_t addInvocationsNonUniformAMD(int64_t);" + "i64vec2 addInvocationsNonUniformAMD(i64vec2);" + "i64vec3 addInvocationsNonUniformAMD(i64vec3);" + "i64vec4 addInvocationsNonUniformAMD(i64vec4);" + + "uint64_t addInvocationsNonUniformAMD(uint64_t);" + "u64vec2 addInvocationsNonUniformAMD(u64vec2);" + "u64vec3 addInvocationsNonUniformAMD(u64vec3);" + "u64vec4 addInvocationsNonUniformAMD(u64vec4);" + + "float16_t addInvocationsNonUniformAMD(float16_t);" + "f16vec2 addInvocationsNonUniformAMD(f16vec2);" + "f16vec3 addInvocationsNonUniformAMD(f16vec3);" + "f16vec4 addInvocationsNonUniformAMD(f16vec4);" + + "int16_t addInvocationsNonUniformAMD(int16_t);" + "i16vec2 addInvocationsNonUniformAMD(i16vec2);" + "i16vec3 addInvocationsNonUniformAMD(i16vec3);" + "i16vec4 addInvocationsNonUniformAMD(i16vec4);" + + "uint16_t addInvocationsNonUniformAMD(uint16_t);" + "u16vec2 addInvocationsNonUniformAMD(u16vec2);" + "u16vec3 addInvocationsNonUniformAMD(u16vec3);" + "u16vec4 addInvocationsNonUniformAMD(u16vec4);" + + "float addInvocationsInclusiveScanNonUniformAMD(float);" + "vec2 addInvocationsInclusiveScanNonUniformAMD(vec2);" + "vec3 addInvocationsInclusiveScanNonUniformAMD(vec3);" + "vec4 addInvocationsInclusiveScanNonUniformAMD(vec4);" + + "int addInvocationsInclusiveScanNonUniformAMD(int);" + "ivec2 addInvocationsInclusiveScanNonUniformAMD(ivec2);" + "ivec3 addInvocationsInclusiveScanNonUniformAMD(ivec3);" + "ivec4 addInvocationsInclusiveScanNonUniformAMD(ivec4);" + + "uint addInvocationsInclusiveScanNonUniformAMD(uint);" + "uvec2 addInvocationsInclusiveScanNonUniformAMD(uvec2);" + "uvec3 addInvocationsInclusiveScanNonUniformAMD(uvec3);" + "uvec4 addInvocationsInclusiveScanNonUniformAMD(uvec4);" + + "double addInvocationsInclusiveScanNonUniformAMD(double);" + "dvec2 addInvocationsInclusiveScanNonUniformAMD(dvec2);" + "dvec3 addInvocationsInclusiveScanNonUniformAMD(dvec3);" + "dvec4 addInvocationsInclusiveScanNonUniformAMD(dvec4);" + + "int64_t addInvocationsInclusiveScanNonUniformAMD(int64_t);" + "i64vec2 addInvocationsInclusiveScanNonUniformAMD(i64vec2);" + "i64vec3 addInvocationsInclusiveScanNonUniformAMD(i64vec3);" + "i64vec4 addInvocationsInclusiveScanNonUniformAMD(i64vec4);" + + "uint64_t addInvocationsInclusiveScanNonUniformAMD(uint64_t);" + "u64vec2 addInvocationsInclusiveScanNonUniformAMD(u64vec2);" + "u64vec3 addInvocationsInclusiveScanNonUniformAMD(u64vec3);" + "u64vec4 addInvocationsInclusiveScanNonUniformAMD(u64vec4);" + + "float16_t addInvocationsInclusiveScanNonUniformAMD(float16_t);" + "f16vec2 addInvocationsInclusiveScanNonUniformAMD(f16vec2);" + "f16vec3 addInvocationsInclusiveScanNonUniformAMD(f16vec3);" + "f16vec4 addInvocationsInclusiveScanNonUniformAMD(f16vec4);" + + "int16_t addInvocationsInclusiveScanNonUniformAMD(int16_t);" + "i16vec2 addInvocationsInclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 addInvocationsInclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 addInvocationsInclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t addInvocationsInclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 addInvocationsInclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 addInvocationsInclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 addInvocationsInclusiveScanNonUniformAMD(u16vec4);" + + "float addInvocationsExclusiveScanNonUniformAMD(float);" + "vec2 addInvocationsExclusiveScanNonUniformAMD(vec2);" + "vec3 addInvocationsExclusiveScanNonUniformAMD(vec3);" + "vec4 addInvocationsExclusiveScanNonUniformAMD(vec4);" + + "int addInvocationsExclusiveScanNonUniformAMD(int);" + "ivec2 addInvocationsExclusiveScanNonUniformAMD(ivec2);" + "ivec3 addInvocationsExclusiveScanNonUniformAMD(ivec3);" + "ivec4 addInvocationsExclusiveScanNonUniformAMD(ivec4);" + + "uint addInvocationsExclusiveScanNonUniformAMD(uint);" + "uvec2 addInvocationsExclusiveScanNonUniformAMD(uvec2);" + "uvec3 addInvocationsExclusiveScanNonUniformAMD(uvec3);" + "uvec4 addInvocationsExclusiveScanNonUniformAMD(uvec4);" + + "double addInvocationsExclusiveScanNonUniformAMD(double);" + "dvec2 addInvocationsExclusiveScanNonUniformAMD(dvec2);" + "dvec3 addInvocationsExclusiveScanNonUniformAMD(dvec3);" + "dvec4 addInvocationsExclusiveScanNonUniformAMD(dvec4);" + + "int64_t addInvocationsExclusiveScanNonUniformAMD(int64_t);" + "i64vec2 addInvocationsExclusiveScanNonUniformAMD(i64vec2);" + "i64vec3 addInvocationsExclusiveScanNonUniformAMD(i64vec3);" + "i64vec4 addInvocationsExclusiveScanNonUniformAMD(i64vec4);" + + "uint64_t addInvocationsExclusiveScanNonUniformAMD(uint64_t);" + "u64vec2 addInvocationsExclusiveScanNonUniformAMD(u64vec2);" + "u64vec3 addInvocationsExclusiveScanNonUniformAMD(u64vec3);" + "u64vec4 addInvocationsExclusiveScanNonUniformAMD(u64vec4);" + + "float16_t addInvocationsExclusiveScanNonUniformAMD(float16_t);" + "f16vec2 addInvocationsExclusiveScanNonUniformAMD(f16vec2);" + "f16vec3 addInvocationsExclusiveScanNonUniformAMD(f16vec3);" + "f16vec4 addInvocationsExclusiveScanNonUniformAMD(f16vec4);" + + "int16_t addInvocationsExclusiveScanNonUniformAMD(int16_t);" + "i16vec2 addInvocationsExclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 addInvocationsExclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 addInvocationsExclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t addInvocationsExclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 addInvocationsExclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 addInvocationsExclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 addInvocationsExclusiveScanNonUniformAMD(u16vec4);" + + "float swizzleInvocationsAMD(float, uvec4);" + "vec2 swizzleInvocationsAMD(vec2, uvec4);" + "vec3 swizzleInvocationsAMD(vec3, uvec4);" + "vec4 swizzleInvocationsAMD(vec4, uvec4);" + + "int swizzleInvocationsAMD(int, uvec4);" + "ivec2 swizzleInvocationsAMD(ivec2, uvec4);" + "ivec3 swizzleInvocationsAMD(ivec3, uvec4);" + "ivec4 swizzleInvocationsAMD(ivec4, uvec4);" + + "uint swizzleInvocationsAMD(uint, uvec4);" + "uvec2 swizzleInvocationsAMD(uvec2, uvec4);" + "uvec3 swizzleInvocationsAMD(uvec3, uvec4);" + "uvec4 swizzleInvocationsAMD(uvec4, uvec4);" + + "float swizzleInvocationsMaskedAMD(float, uvec3);" + "vec2 swizzleInvocationsMaskedAMD(vec2, uvec3);" + "vec3 swizzleInvocationsMaskedAMD(vec3, uvec3);" + "vec4 swizzleInvocationsMaskedAMD(vec4, uvec3);" + + "int swizzleInvocationsMaskedAMD(int, uvec3);" + "ivec2 swizzleInvocationsMaskedAMD(ivec2, uvec3);" + "ivec3 swizzleInvocationsMaskedAMD(ivec3, uvec3);" + "ivec4 swizzleInvocationsMaskedAMD(ivec4, uvec3);" + + "uint swizzleInvocationsMaskedAMD(uint, uvec3);" + "uvec2 swizzleInvocationsMaskedAMD(uvec2, uvec3);" + "uvec3 swizzleInvocationsMaskedAMD(uvec3, uvec3);" + "uvec4 swizzleInvocationsMaskedAMD(uvec4, uvec3);" + + "float writeInvocationAMD(float, float, uint);" + "vec2 writeInvocationAMD(vec2, vec2, uint);" + "vec3 writeInvocationAMD(vec3, vec3, uint);" + "vec4 writeInvocationAMD(vec4, vec4, uint);" + + "int writeInvocationAMD(int, int, uint);" + "ivec2 writeInvocationAMD(ivec2, ivec2, uint);" + "ivec3 writeInvocationAMD(ivec3, ivec3, uint);" + "ivec4 writeInvocationAMD(ivec4, ivec4, uint);" + + "uint writeInvocationAMD(uint, uint, uint);" + "uvec2 writeInvocationAMD(uvec2, uvec2, uint);" + "uvec3 writeInvocationAMD(uvec3, uvec3, uint);" + "uvec4 writeInvocationAMD(uvec4, uvec4, uint);" + + "uint mbcntAMD(uint64_t);" + + "\n"); + } + + // GL_AMD_gcn_shader + if (profile != EEsProfile && version >= 440) { + commonBuiltins.append( + "float cubeFaceIndexAMD(vec3);" + "vec2 cubeFaceCoordAMD(vec3);" + "uint64_t timeAMD();" + + "in int gl_SIMDGroupSizeAMD;" + "\n"); + } + + // GL_AMD_shader_fragment_mask + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append( + "uint fragmentMaskFetchAMD(sampler2DMS, ivec2);" + "uint fragmentMaskFetchAMD(isampler2DMS, ivec2);" + "uint fragmentMaskFetchAMD(usampler2DMS, ivec2);" + + "uint fragmentMaskFetchAMD(sampler2DMSArray, ivec3);" + "uint fragmentMaskFetchAMD(isampler2DMSArray, ivec3);" + "uint fragmentMaskFetchAMD(usampler2DMSArray, ivec3);" + + "vec4 fragmentFetchAMD(sampler2DMS, ivec2, uint);" + "ivec4 fragmentFetchAMD(isampler2DMS, ivec2, uint);" + "uvec4 fragmentFetchAMD(usampler2DMS, ivec2, uint);" + + "vec4 fragmentFetchAMD(sampler2DMSArray, ivec3, uint);" + "ivec4 fragmentFetchAMD(isampler2DMSArray, ivec3, uint);" + "uvec4 fragmentFetchAMD(usampler2DMSArray, ivec3, uint);" + + "\n"); + } + + if ((profile != EEsProfile && version >= 130) || + (profile == EEsProfile && version >= 300)) { + commonBuiltins.append( + "uint countLeadingZeros(uint);" + "uvec2 countLeadingZeros(uvec2);" + "uvec3 countLeadingZeros(uvec3);" + "uvec4 countLeadingZeros(uvec4);" + + "uint countTrailingZeros(uint);" + "uvec2 countTrailingZeros(uvec2);" + "uvec3 countTrailingZeros(uvec3);" + "uvec4 countTrailingZeros(uvec4);" + + "uint absoluteDifference(int, int);" + "uvec2 absoluteDifference(ivec2, ivec2);" + "uvec3 absoluteDifference(ivec3, ivec3);" + "uvec4 absoluteDifference(ivec4, ivec4);" + + "uint16_t absoluteDifference(int16_t, int16_t);" + "u16vec2 absoluteDifference(i16vec2, i16vec2);" + "u16vec3 absoluteDifference(i16vec3, i16vec3);" + "u16vec4 absoluteDifference(i16vec4, i16vec4);" + + "uint64_t absoluteDifference(int64_t, int64_t);" + "u64vec2 absoluteDifference(i64vec2, i64vec2);" + "u64vec3 absoluteDifference(i64vec3, i64vec3);" + "u64vec4 absoluteDifference(i64vec4, i64vec4);" + + "uint absoluteDifference(uint, uint);" + "uvec2 absoluteDifference(uvec2, uvec2);" + "uvec3 absoluteDifference(uvec3, uvec3);" + "uvec4 absoluteDifference(uvec4, uvec4);" + + "uint16_t absoluteDifference(uint16_t, uint16_t);" + "u16vec2 absoluteDifference(u16vec2, u16vec2);" + "u16vec3 absoluteDifference(u16vec3, u16vec3);" + "u16vec4 absoluteDifference(u16vec4, u16vec4);" + + "uint64_t absoluteDifference(uint64_t, uint64_t);" + "u64vec2 absoluteDifference(u64vec2, u64vec2);" + "u64vec3 absoluteDifference(u64vec3, u64vec3);" + "u64vec4 absoluteDifference(u64vec4, u64vec4);" + + "int addSaturate(int, int);" + "ivec2 addSaturate(ivec2, ivec2);" + "ivec3 addSaturate(ivec3, ivec3);" + "ivec4 addSaturate(ivec4, ivec4);" + + "int16_t addSaturate(int16_t, int16_t);" + "i16vec2 addSaturate(i16vec2, i16vec2);" + "i16vec3 addSaturate(i16vec3, i16vec3);" + "i16vec4 addSaturate(i16vec4, i16vec4);" + + "int64_t addSaturate(int64_t, int64_t);" + "i64vec2 addSaturate(i64vec2, i64vec2);" + "i64vec3 addSaturate(i64vec3, i64vec3);" + "i64vec4 addSaturate(i64vec4, i64vec4);" + + "uint addSaturate(uint, uint);" + "uvec2 addSaturate(uvec2, uvec2);" + "uvec3 addSaturate(uvec3, uvec3);" + "uvec4 addSaturate(uvec4, uvec4);" + + "uint16_t addSaturate(uint16_t, uint16_t);" + "u16vec2 addSaturate(u16vec2, u16vec2);" + "u16vec3 addSaturate(u16vec3, u16vec3);" + "u16vec4 addSaturate(u16vec4, u16vec4);" + + "uint64_t addSaturate(uint64_t, uint64_t);" + "u64vec2 addSaturate(u64vec2, u64vec2);" + "u64vec3 addSaturate(u64vec3, u64vec3);" + "u64vec4 addSaturate(u64vec4, u64vec4);" + + "int subtractSaturate(int, int);" + "ivec2 subtractSaturate(ivec2, ivec2);" + "ivec3 subtractSaturate(ivec3, ivec3);" + "ivec4 subtractSaturate(ivec4, ivec4);" + + "int16_t subtractSaturate(int16_t, int16_t);" + "i16vec2 subtractSaturate(i16vec2, i16vec2);" + "i16vec3 subtractSaturate(i16vec3, i16vec3);" + "i16vec4 subtractSaturate(i16vec4, i16vec4);" + + "int64_t subtractSaturate(int64_t, int64_t);" + "i64vec2 subtractSaturate(i64vec2, i64vec2);" + "i64vec3 subtractSaturate(i64vec3, i64vec3);" + "i64vec4 subtractSaturate(i64vec4, i64vec4);" + + "uint subtractSaturate(uint, uint);" + "uvec2 subtractSaturate(uvec2, uvec2);" + "uvec3 subtractSaturate(uvec3, uvec3);" + "uvec4 subtractSaturate(uvec4, uvec4);" + + "uint16_t subtractSaturate(uint16_t, uint16_t);" + "u16vec2 subtractSaturate(u16vec2, u16vec2);" + "u16vec3 subtractSaturate(u16vec3, u16vec3);" + "u16vec4 subtractSaturate(u16vec4, u16vec4);" + + "uint64_t subtractSaturate(uint64_t, uint64_t);" + "u64vec2 subtractSaturate(u64vec2, u64vec2);" + "u64vec3 subtractSaturate(u64vec3, u64vec3);" + "u64vec4 subtractSaturate(u64vec4, u64vec4);" + + "int average(int, int);" + "ivec2 average(ivec2, ivec2);" + "ivec3 average(ivec3, ivec3);" + "ivec4 average(ivec4, ivec4);" + + "int16_t average(int16_t, int16_t);" + "i16vec2 average(i16vec2, i16vec2);" + "i16vec3 average(i16vec3, i16vec3);" + "i16vec4 average(i16vec4, i16vec4);" + + "int64_t average(int64_t, int64_t);" + "i64vec2 average(i64vec2, i64vec2);" + "i64vec3 average(i64vec3, i64vec3);" + "i64vec4 average(i64vec4, i64vec4);" + + "uint average(uint, uint);" + "uvec2 average(uvec2, uvec2);" + "uvec3 average(uvec3, uvec3);" + "uvec4 average(uvec4, uvec4);" + + "uint16_t average(uint16_t, uint16_t);" + "u16vec2 average(u16vec2, u16vec2);" + "u16vec3 average(u16vec3, u16vec3);" + "u16vec4 average(u16vec4, u16vec4);" + + "uint64_t average(uint64_t, uint64_t);" + "u64vec2 average(u64vec2, u64vec2);" + "u64vec3 average(u64vec3, u64vec3);" + "u64vec4 average(u64vec4, u64vec4);" + + "int averageRounded(int, int);" + "ivec2 averageRounded(ivec2, ivec2);" + "ivec3 averageRounded(ivec3, ivec3);" + "ivec4 averageRounded(ivec4, ivec4);" + + "int16_t averageRounded(int16_t, int16_t);" + "i16vec2 averageRounded(i16vec2, i16vec2);" + "i16vec3 averageRounded(i16vec3, i16vec3);" + "i16vec4 averageRounded(i16vec4, i16vec4);" + + "int64_t averageRounded(int64_t, int64_t);" + "i64vec2 averageRounded(i64vec2, i64vec2);" + "i64vec3 averageRounded(i64vec3, i64vec3);" + "i64vec4 averageRounded(i64vec4, i64vec4);" + + "uint averageRounded(uint, uint);" + "uvec2 averageRounded(uvec2, uvec2);" + "uvec3 averageRounded(uvec3, uvec3);" + "uvec4 averageRounded(uvec4, uvec4);" + + "uint16_t averageRounded(uint16_t, uint16_t);" + "u16vec2 averageRounded(u16vec2, u16vec2);" + "u16vec3 averageRounded(u16vec3, u16vec3);" + "u16vec4 averageRounded(u16vec4, u16vec4);" + + "uint64_t averageRounded(uint64_t, uint64_t);" + "u64vec2 averageRounded(u64vec2, u64vec2);" + "u64vec3 averageRounded(u64vec3, u64vec3);" + "u64vec4 averageRounded(u64vec4, u64vec4);" + + "int multiply32x16(int, int);" + "ivec2 multiply32x16(ivec2, ivec2);" + "ivec3 multiply32x16(ivec3, ivec3);" + "ivec4 multiply32x16(ivec4, ivec4);" + + "uint multiply32x16(uint, uint);" + "uvec2 multiply32x16(uvec2, uvec2);" + "uvec3 multiply32x16(uvec3, uvec3);" + "uvec4 multiply32x16(uvec4, uvec4);" + "\n"); + } + + if ((profile != EEsProfile && version >= 450) || + (profile == EEsProfile && version >= 320)) { + commonBuiltins.append( + "struct gl_TextureFootprint2DNV {" + "uvec2 anchor;" + "uvec2 offset;" + "uvec2 mask;" + "uint lod;" + "uint granularity;" + "};" + + "struct gl_TextureFootprint3DNV {" + "uvec3 anchor;" + "uvec3 offset;" + "uvec2 mask;" + "uint lod;" + "uint granularity;" + "};" + "bool textureFootprintNV(sampler2D, vec2, int, bool, out gl_TextureFootprint2DNV);" + "bool textureFootprintNV(sampler3D, vec3, int, bool, out gl_TextureFootprint3DNV);" + "bool textureFootprintNV(sampler2D, vec2, int, bool, out gl_TextureFootprint2DNV, float);" + "bool textureFootprintNV(sampler3D, vec3, int, bool, out gl_TextureFootprint3DNV, float);" + "bool textureFootprintClampNV(sampler2D, vec2, float, int, bool, out gl_TextureFootprint2DNV);" + "bool textureFootprintClampNV(sampler3D, vec3, float, int, bool, out gl_TextureFootprint3DNV);" + "bool textureFootprintClampNV(sampler2D, vec2, float, int, bool, out gl_TextureFootprint2DNV, float);" + "bool textureFootprintClampNV(sampler3D, vec3, float, int, bool, out gl_TextureFootprint3DNV, float);" + "bool textureFootprintLodNV(sampler2D, vec2, float, int, bool, out gl_TextureFootprint2DNV);" + "bool textureFootprintLodNV(sampler3D, vec3, float, int, bool, out gl_TextureFootprint3DNV);" + "bool textureFootprintGradNV(sampler2D, vec2, vec2, vec2, int, bool, out gl_TextureFootprint2DNV);" + "bool textureFootprintGradClampNV(sampler2D, vec2, vec2, vec2, float, int, bool, out gl_TextureFootprint2DNV);" + "\n"); + } +#endif // !GLSLANG_ANGLE + + if ((profile == EEsProfile && version >= 300 && version < 310) || + (profile != EEsProfile && version >= 150 && version < 450)) { // GL_EXT_shader_integer_mix + commonBuiltins.append("int mix(int, int, bool);" + "ivec2 mix(ivec2, ivec2, bvec2);" + "ivec3 mix(ivec3, ivec3, bvec3);" + "ivec4 mix(ivec4, ivec4, bvec4);" + "uint mix(uint, uint, bool );" + "uvec2 mix(uvec2, uvec2, bvec2);" + "uvec3 mix(uvec3, uvec3, bvec3);" + "uvec4 mix(uvec4, uvec4, bvec4);" + "bool mix(bool, bool, bool );" + "bvec2 mix(bvec2, bvec2, bvec2);" + "bvec3 mix(bvec3, bvec3, bvec3);" + "bvec4 mix(bvec4, bvec4, bvec4);" + + "\n"); + } + +#ifndef GLSLANG_ANGLE + // GL_AMD_gpu_shader_half_float/Explicit types + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append( + "float16_t radians(float16_t);" + "f16vec2 radians(f16vec2);" + "f16vec3 radians(f16vec3);" + "f16vec4 radians(f16vec4);" + + "float16_t degrees(float16_t);" + "f16vec2 degrees(f16vec2);" + "f16vec3 degrees(f16vec3);" + "f16vec4 degrees(f16vec4);" + + "float16_t sin(float16_t);" + "f16vec2 sin(f16vec2);" + "f16vec3 sin(f16vec3);" + "f16vec4 sin(f16vec4);" + + "float16_t cos(float16_t);" + "f16vec2 cos(f16vec2);" + "f16vec3 cos(f16vec3);" + "f16vec4 cos(f16vec4);" + + "float16_t tan(float16_t);" + "f16vec2 tan(f16vec2);" + "f16vec3 tan(f16vec3);" + "f16vec4 tan(f16vec4);" + + "float16_t asin(float16_t);" + "f16vec2 asin(f16vec2);" + "f16vec3 asin(f16vec3);" + "f16vec4 asin(f16vec4);" + + "float16_t acos(float16_t);" + "f16vec2 acos(f16vec2);" + "f16vec3 acos(f16vec3);" + "f16vec4 acos(f16vec4);" + + "float16_t atan(float16_t, float16_t);" + "f16vec2 atan(f16vec2, f16vec2);" + "f16vec3 atan(f16vec3, f16vec3);" + "f16vec4 atan(f16vec4, f16vec4);" + + "float16_t atan(float16_t);" + "f16vec2 atan(f16vec2);" + "f16vec3 atan(f16vec3);" + "f16vec4 atan(f16vec4);" + + "float16_t sinh(float16_t);" + "f16vec2 sinh(f16vec2);" + "f16vec3 sinh(f16vec3);" + "f16vec4 sinh(f16vec4);" + + "float16_t cosh(float16_t);" + "f16vec2 cosh(f16vec2);" + "f16vec3 cosh(f16vec3);" + "f16vec4 cosh(f16vec4);" + + "float16_t tanh(float16_t);" + "f16vec2 tanh(f16vec2);" + "f16vec3 tanh(f16vec3);" + "f16vec4 tanh(f16vec4);" + + "float16_t asinh(float16_t);" + "f16vec2 asinh(f16vec2);" + "f16vec3 asinh(f16vec3);" + "f16vec4 asinh(f16vec4);" + + "float16_t acosh(float16_t);" + "f16vec2 acosh(f16vec2);" + "f16vec3 acosh(f16vec3);" + "f16vec4 acosh(f16vec4);" + + "float16_t atanh(float16_t);" + "f16vec2 atanh(f16vec2);" + "f16vec3 atanh(f16vec3);" + "f16vec4 atanh(f16vec4);" + + "float16_t pow(float16_t, float16_t);" + "f16vec2 pow(f16vec2, f16vec2);" + "f16vec3 pow(f16vec3, f16vec3);" + "f16vec4 pow(f16vec4, f16vec4);" + + "float16_t exp(float16_t);" + "f16vec2 exp(f16vec2);" + "f16vec3 exp(f16vec3);" + "f16vec4 exp(f16vec4);" + + "float16_t log(float16_t);" + "f16vec2 log(f16vec2);" + "f16vec3 log(f16vec3);" + "f16vec4 log(f16vec4);" + + "float16_t exp2(float16_t);" + "f16vec2 exp2(f16vec2);" + "f16vec3 exp2(f16vec3);" + "f16vec4 exp2(f16vec4);" + + "float16_t log2(float16_t);" + "f16vec2 log2(f16vec2);" + "f16vec3 log2(f16vec3);" + "f16vec4 log2(f16vec4);" + + "float16_t sqrt(float16_t);" + "f16vec2 sqrt(f16vec2);" + "f16vec3 sqrt(f16vec3);" + "f16vec4 sqrt(f16vec4);" + + "float16_t inversesqrt(float16_t);" + "f16vec2 inversesqrt(f16vec2);" + "f16vec3 inversesqrt(f16vec3);" + "f16vec4 inversesqrt(f16vec4);" + + "float16_t abs(float16_t);" + "f16vec2 abs(f16vec2);" + "f16vec3 abs(f16vec3);" + "f16vec4 abs(f16vec4);" + + "float16_t sign(float16_t);" + "f16vec2 sign(f16vec2);" + "f16vec3 sign(f16vec3);" + "f16vec4 sign(f16vec4);" + + "float16_t floor(float16_t);" + "f16vec2 floor(f16vec2);" + "f16vec3 floor(f16vec3);" + "f16vec4 floor(f16vec4);" + + "float16_t trunc(float16_t);" + "f16vec2 trunc(f16vec2);" + "f16vec3 trunc(f16vec3);" + "f16vec4 trunc(f16vec4);" + + "float16_t round(float16_t);" + "f16vec2 round(f16vec2);" + "f16vec3 round(f16vec3);" + "f16vec4 round(f16vec4);" + + "float16_t roundEven(float16_t);" + "f16vec2 roundEven(f16vec2);" + "f16vec3 roundEven(f16vec3);" + "f16vec4 roundEven(f16vec4);" + + "float16_t ceil(float16_t);" + "f16vec2 ceil(f16vec2);" + "f16vec3 ceil(f16vec3);" + "f16vec4 ceil(f16vec4);" + + "float16_t fract(float16_t);" + "f16vec2 fract(f16vec2);" + "f16vec3 fract(f16vec3);" + "f16vec4 fract(f16vec4);" + + "float16_t mod(float16_t, float16_t);" + "f16vec2 mod(f16vec2, float16_t);" + "f16vec3 mod(f16vec3, float16_t);" + "f16vec4 mod(f16vec4, float16_t);" + "f16vec2 mod(f16vec2, f16vec2);" + "f16vec3 mod(f16vec3, f16vec3);" + "f16vec4 mod(f16vec4, f16vec4);" + + "float16_t modf(float16_t, out float16_t);" + "f16vec2 modf(f16vec2, out f16vec2);" + "f16vec3 modf(f16vec3, out f16vec3);" + "f16vec4 modf(f16vec4, out f16vec4);" + + "float16_t min(float16_t, float16_t);" + "f16vec2 min(f16vec2, float16_t);" + "f16vec3 min(f16vec3, float16_t);" + "f16vec4 min(f16vec4, float16_t);" + "f16vec2 min(f16vec2, f16vec2);" + "f16vec3 min(f16vec3, f16vec3);" + "f16vec4 min(f16vec4, f16vec4);" + + "float16_t max(float16_t, float16_t);" + "f16vec2 max(f16vec2, float16_t);" + "f16vec3 max(f16vec3, float16_t);" + "f16vec4 max(f16vec4, float16_t);" + "f16vec2 max(f16vec2, f16vec2);" + "f16vec3 max(f16vec3, f16vec3);" + "f16vec4 max(f16vec4, f16vec4);" + + "float16_t clamp(float16_t, float16_t, float16_t);" + "f16vec2 clamp(f16vec2, float16_t, float16_t);" + "f16vec3 clamp(f16vec3, float16_t, float16_t);" + "f16vec4 clamp(f16vec4, float16_t, float16_t);" + "f16vec2 clamp(f16vec2, f16vec2, f16vec2);" + "f16vec3 clamp(f16vec3, f16vec3, f16vec3);" + "f16vec4 clamp(f16vec4, f16vec4, f16vec4);" + + "float16_t mix(float16_t, float16_t, float16_t);" + "f16vec2 mix(f16vec2, f16vec2, float16_t);" + "f16vec3 mix(f16vec3, f16vec3, float16_t);" + "f16vec4 mix(f16vec4, f16vec4, float16_t);" + "f16vec2 mix(f16vec2, f16vec2, f16vec2);" + "f16vec3 mix(f16vec3, f16vec3, f16vec3);" + "f16vec4 mix(f16vec4, f16vec4, f16vec4);" + "float16_t mix(float16_t, float16_t, bool);" + "f16vec2 mix(f16vec2, f16vec2, bvec2);" + "f16vec3 mix(f16vec3, f16vec3, bvec3);" + "f16vec4 mix(f16vec4, f16vec4, bvec4);" + + "float16_t step(float16_t, float16_t);" + "f16vec2 step(f16vec2, f16vec2);" + "f16vec3 step(f16vec3, f16vec3);" + "f16vec4 step(f16vec4, f16vec4);" + "f16vec2 step(float16_t, f16vec2);" + "f16vec3 step(float16_t, f16vec3);" + "f16vec4 step(float16_t, f16vec4);" + + "float16_t smoothstep(float16_t, float16_t, float16_t);" + "f16vec2 smoothstep(f16vec2, f16vec2, f16vec2);" + "f16vec3 smoothstep(f16vec3, f16vec3, f16vec3);" + "f16vec4 smoothstep(f16vec4, f16vec4, f16vec4);" + "f16vec2 smoothstep(float16_t, float16_t, f16vec2);" + "f16vec3 smoothstep(float16_t, float16_t, f16vec3);" + "f16vec4 smoothstep(float16_t, float16_t, f16vec4);" + + "bool isnan(float16_t);" + "bvec2 isnan(f16vec2);" + "bvec3 isnan(f16vec3);" + "bvec4 isnan(f16vec4);" + + "bool isinf(float16_t);" + "bvec2 isinf(f16vec2);" + "bvec3 isinf(f16vec3);" + "bvec4 isinf(f16vec4);" + + "float16_t fma(float16_t, float16_t, float16_t);" + "f16vec2 fma(f16vec2, f16vec2, f16vec2);" + "f16vec3 fma(f16vec3, f16vec3, f16vec3);" + "f16vec4 fma(f16vec4, f16vec4, f16vec4);" + + "float16_t frexp(float16_t, out int);" + "f16vec2 frexp(f16vec2, out ivec2);" + "f16vec3 frexp(f16vec3, out ivec3);" + "f16vec4 frexp(f16vec4, out ivec4);" + + "float16_t ldexp(float16_t, in int);" + "f16vec2 ldexp(f16vec2, in ivec2);" + "f16vec3 ldexp(f16vec3, in ivec3);" + "f16vec4 ldexp(f16vec4, in ivec4);" + + "uint packFloat2x16(f16vec2);" + "f16vec2 unpackFloat2x16(uint);" + + "float16_t length(float16_t);" + "float16_t length(f16vec2);" + "float16_t length(f16vec3);" + "float16_t length(f16vec4);" + + "float16_t distance(float16_t, float16_t);" + "float16_t distance(f16vec2, f16vec2);" + "float16_t distance(f16vec3, f16vec3);" + "float16_t distance(f16vec4, f16vec4);" + + "float16_t dot(float16_t, float16_t);" + "float16_t dot(f16vec2, f16vec2);" + "float16_t dot(f16vec3, f16vec3);" + "float16_t dot(f16vec4, f16vec4);" + + "f16vec3 cross(f16vec3, f16vec3);" + + "float16_t normalize(float16_t);" + "f16vec2 normalize(f16vec2);" + "f16vec3 normalize(f16vec3);" + "f16vec4 normalize(f16vec4);" + + "float16_t faceforward(float16_t, float16_t, float16_t);" + "f16vec2 faceforward(f16vec2, f16vec2, f16vec2);" + "f16vec3 faceforward(f16vec3, f16vec3, f16vec3);" + "f16vec4 faceforward(f16vec4, f16vec4, f16vec4);" + + "float16_t reflect(float16_t, float16_t);" + "f16vec2 reflect(f16vec2, f16vec2);" + "f16vec3 reflect(f16vec3, f16vec3);" + "f16vec4 reflect(f16vec4, f16vec4);" + + "float16_t refract(float16_t, float16_t, float16_t);" + "f16vec2 refract(f16vec2, f16vec2, float16_t);" + "f16vec3 refract(f16vec3, f16vec3, float16_t);" + "f16vec4 refract(f16vec4, f16vec4, float16_t);" + + "f16mat2 matrixCompMult(f16mat2, f16mat2);" + "f16mat3 matrixCompMult(f16mat3, f16mat3);" + "f16mat4 matrixCompMult(f16mat4, f16mat4);" + "f16mat2x3 matrixCompMult(f16mat2x3, f16mat2x3);" + "f16mat2x4 matrixCompMult(f16mat2x4, f16mat2x4);" + "f16mat3x2 matrixCompMult(f16mat3x2, f16mat3x2);" + "f16mat3x4 matrixCompMult(f16mat3x4, f16mat3x4);" + "f16mat4x2 matrixCompMult(f16mat4x2, f16mat4x2);" + "f16mat4x3 matrixCompMult(f16mat4x3, f16mat4x3);" + + "f16mat2 outerProduct(f16vec2, f16vec2);" + "f16mat3 outerProduct(f16vec3, f16vec3);" + "f16mat4 outerProduct(f16vec4, f16vec4);" + "f16mat2x3 outerProduct(f16vec3, f16vec2);" + "f16mat3x2 outerProduct(f16vec2, f16vec3);" + "f16mat2x4 outerProduct(f16vec4, f16vec2);" + "f16mat4x2 outerProduct(f16vec2, f16vec4);" + "f16mat3x4 outerProduct(f16vec4, f16vec3);" + "f16mat4x3 outerProduct(f16vec3, f16vec4);" + + "f16mat2 transpose(f16mat2);" + "f16mat3 transpose(f16mat3);" + "f16mat4 transpose(f16mat4);" + "f16mat2x3 transpose(f16mat3x2);" + "f16mat3x2 transpose(f16mat2x3);" + "f16mat2x4 transpose(f16mat4x2);" + "f16mat4x2 transpose(f16mat2x4);" + "f16mat3x4 transpose(f16mat4x3);" + "f16mat4x3 transpose(f16mat3x4);" + + "float16_t determinant(f16mat2);" + "float16_t determinant(f16mat3);" + "float16_t determinant(f16mat4);" + + "f16mat2 inverse(f16mat2);" + "f16mat3 inverse(f16mat3);" + "f16mat4 inverse(f16mat4);" + + "bvec2 lessThan(f16vec2, f16vec2);" + "bvec3 lessThan(f16vec3, f16vec3);" + "bvec4 lessThan(f16vec4, f16vec4);" + + "bvec2 lessThanEqual(f16vec2, f16vec2);" + "bvec3 lessThanEqual(f16vec3, f16vec3);" + "bvec4 lessThanEqual(f16vec4, f16vec4);" + + "bvec2 greaterThan(f16vec2, f16vec2);" + "bvec3 greaterThan(f16vec3, f16vec3);" + "bvec4 greaterThan(f16vec4, f16vec4);" + + "bvec2 greaterThanEqual(f16vec2, f16vec2);" + "bvec3 greaterThanEqual(f16vec3, f16vec3);" + "bvec4 greaterThanEqual(f16vec4, f16vec4);" + + "bvec2 equal(f16vec2, f16vec2);" + "bvec3 equal(f16vec3, f16vec3);" + "bvec4 equal(f16vec4, f16vec4);" + + "bvec2 notEqual(f16vec2, f16vec2);" + "bvec3 notEqual(f16vec3, f16vec3);" + "bvec4 notEqual(f16vec4, f16vec4);" + + "\n"); + } + + // Explicit types + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append( + "int8_t abs(int8_t);" + "i8vec2 abs(i8vec2);" + "i8vec3 abs(i8vec3);" + "i8vec4 abs(i8vec4);" + + "int8_t sign(int8_t);" + "i8vec2 sign(i8vec2);" + "i8vec3 sign(i8vec3);" + "i8vec4 sign(i8vec4);" + + "int8_t min(int8_t x, int8_t y);" + "i8vec2 min(i8vec2 x, int8_t y);" + "i8vec3 min(i8vec3 x, int8_t y);" + "i8vec4 min(i8vec4 x, int8_t y);" + "i8vec2 min(i8vec2 x, i8vec2 y);" + "i8vec3 min(i8vec3 x, i8vec3 y);" + "i8vec4 min(i8vec4 x, i8vec4 y);" + + "uint8_t min(uint8_t x, uint8_t y);" + "u8vec2 min(u8vec2 x, uint8_t y);" + "u8vec3 min(u8vec3 x, uint8_t y);" + "u8vec4 min(u8vec4 x, uint8_t y);" + "u8vec2 min(u8vec2 x, u8vec2 y);" + "u8vec3 min(u8vec3 x, u8vec3 y);" + "u8vec4 min(u8vec4 x, u8vec4 y);" + + "int8_t max(int8_t x, int8_t y);" + "i8vec2 max(i8vec2 x, int8_t y);" + "i8vec3 max(i8vec3 x, int8_t y);" + "i8vec4 max(i8vec4 x, int8_t y);" + "i8vec2 max(i8vec2 x, i8vec2 y);" + "i8vec3 max(i8vec3 x, i8vec3 y);" + "i8vec4 max(i8vec4 x, i8vec4 y);" + + "uint8_t max(uint8_t x, uint8_t y);" + "u8vec2 max(u8vec2 x, uint8_t y);" + "u8vec3 max(u8vec3 x, uint8_t y);" + "u8vec4 max(u8vec4 x, uint8_t y);" + "u8vec2 max(u8vec2 x, u8vec2 y);" + "u8vec3 max(u8vec3 x, u8vec3 y);" + "u8vec4 max(u8vec4 x, u8vec4 y);" + + "int8_t clamp(int8_t x, int8_t minVal, int8_t maxVal);" + "i8vec2 clamp(i8vec2 x, int8_t minVal, int8_t maxVal);" + "i8vec3 clamp(i8vec3 x, int8_t minVal, int8_t maxVal);" + "i8vec4 clamp(i8vec4 x, int8_t minVal, int8_t maxVal);" + "i8vec2 clamp(i8vec2 x, i8vec2 minVal, i8vec2 maxVal);" + "i8vec3 clamp(i8vec3 x, i8vec3 minVal, i8vec3 maxVal);" + "i8vec4 clamp(i8vec4 x, i8vec4 minVal, i8vec4 maxVal);" + + "uint8_t clamp(uint8_t x, uint8_t minVal, uint8_t maxVal);" + "u8vec2 clamp(u8vec2 x, uint8_t minVal, uint8_t maxVal);" + "u8vec3 clamp(u8vec3 x, uint8_t minVal, uint8_t maxVal);" + "u8vec4 clamp(u8vec4 x, uint8_t minVal, uint8_t maxVal);" + "u8vec2 clamp(u8vec2 x, u8vec2 minVal, u8vec2 maxVal);" + "u8vec3 clamp(u8vec3 x, u8vec3 minVal, u8vec3 maxVal);" + "u8vec4 clamp(u8vec4 x, u8vec4 minVal, u8vec4 maxVal);" + + "int8_t mix(int8_t, int8_t, bool);" + "i8vec2 mix(i8vec2, i8vec2, bvec2);" + "i8vec3 mix(i8vec3, i8vec3, bvec3);" + "i8vec4 mix(i8vec4, i8vec4, bvec4);" + "uint8_t mix(uint8_t, uint8_t, bool);" + "u8vec2 mix(u8vec2, u8vec2, bvec2);" + "u8vec3 mix(u8vec3, u8vec3, bvec3);" + "u8vec4 mix(u8vec4, u8vec4, bvec4);" + + "bvec2 lessThan(i8vec2, i8vec2);" + "bvec3 lessThan(i8vec3, i8vec3);" + "bvec4 lessThan(i8vec4, i8vec4);" + "bvec2 lessThan(u8vec2, u8vec2);" + "bvec3 lessThan(u8vec3, u8vec3);" + "bvec4 lessThan(u8vec4, u8vec4);" + + "bvec2 lessThanEqual(i8vec2, i8vec2);" + "bvec3 lessThanEqual(i8vec3, i8vec3);" + "bvec4 lessThanEqual(i8vec4, i8vec4);" + "bvec2 lessThanEqual(u8vec2, u8vec2);" + "bvec3 lessThanEqual(u8vec3, u8vec3);" + "bvec4 lessThanEqual(u8vec4, u8vec4);" + + "bvec2 greaterThan(i8vec2, i8vec2);" + "bvec3 greaterThan(i8vec3, i8vec3);" + "bvec4 greaterThan(i8vec4, i8vec4);" + "bvec2 greaterThan(u8vec2, u8vec2);" + "bvec3 greaterThan(u8vec3, u8vec3);" + "bvec4 greaterThan(u8vec4, u8vec4);" + + "bvec2 greaterThanEqual(i8vec2, i8vec2);" + "bvec3 greaterThanEqual(i8vec3, i8vec3);" + "bvec4 greaterThanEqual(i8vec4, i8vec4);" + "bvec2 greaterThanEqual(u8vec2, u8vec2);" + "bvec3 greaterThanEqual(u8vec3, u8vec3);" + "bvec4 greaterThanEqual(u8vec4, u8vec4);" + + "bvec2 equal(i8vec2, i8vec2);" + "bvec3 equal(i8vec3, i8vec3);" + "bvec4 equal(i8vec4, i8vec4);" + "bvec2 equal(u8vec2, u8vec2);" + "bvec3 equal(u8vec3, u8vec3);" + "bvec4 equal(u8vec4, u8vec4);" + + "bvec2 notEqual(i8vec2, i8vec2);" + "bvec3 notEqual(i8vec3, i8vec3);" + "bvec4 notEqual(i8vec4, i8vec4);" + "bvec2 notEqual(u8vec2, u8vec2);" + "bvec3 notEqual(u8vec3, u8vec3);" + "bvec4 notEqual(u8vec4, u8vec4);" + + " int8_t bitfieldExtract( int8_t, int8_t, int8_t);" + "i8vec2 bitfieldExtract(i8vec2, int8_t, int8_t);" + "i8vec3 bitfieldExtract(i8vec3, int8_t, int8_t);" + "i8vec4 bitfieldExtract(i8vec4, int8_t, int8_t);" + + " uint8_t bitfieldExtract( uint8_t, int8_t, int8_t);" + "u8vec2 bitfieldExtract(u8vec2, int8_t, int8_t);" + "u8vec3 bitfieldExtract(u8vec3, int8_t, int8_t);" + "u8vec4 bitfieldExtract(u8vec4, int8_t, int8_t);" + + " int8_t bitfieldInsert( int8_t base, int8_t, int8_t, int8_t);" + "i8vec2 bitfieldInsert(i8vec2 base, i8vec2, int8_t, int8_t);" + "i8vec3 bitfieldInsert(i8vec3 base, i8vec3, int8_t, int8_t);" + "i8vec4 bitfieldInsert(i8vec4 base, i8vec4, int8_t, int8_t);" + + " uint8_t bitfieldInsert( uint8_t base, uint8_t, int8_t, int8_t);" + "u8vec2 bitfieldInsert(u8vec2 base, u8vec2, int8_t, int8_t);" + "u8vec3 bitfieldInsert(u8vec3 base, u8vec3, int8_t, int8_t);" + "u8vec4 bitfieldInsert(u8vec4 base, u8vec4, int8_t, int8_t);" + + " int8_t bitCount( int8_t);" + "i8vec2 bitCount(i8vec2);" + "i8vec3 bitCount(i8vec3);" + "i8vec4 bitCount(i8vec4);" + + " int8_t bitCount( uint8_t);" + "i8vec2 bitCount(u8vec2);" + "i8vec3 bitCount(u8vec3);" + "i8vec4 bitCount(u8vec4);" + + " int8_t findLSB( int8_t);" + "i8vec2 findLSB(i8vec2);" + "i8vec3 findLSB(i8vec3);" + "i8vec4 findLSB(i8vec4);" + + " int8_t findLSB( uint8_t);" + "i8vec2 findLSB(u8vec2);" + "i8vec3 findLSB(u8vec3);" + "i8vec4 findLSB(u8vec4);" + + " int8_t findMSB( int8_t);" + "i8vec2 findMSB(i8vec2);" + "i8vec3 findMSB(i8vec3);" + "i8vec4 findMSB(i8vec4);" + + " int8_t findMSB( uint8_t);" + "i8vec2 findMSB(u8vec2);" + "i8vec3 findMSB(u8vec3);" + "i8vec4 findMSB(u8vec4);" + + "int16_t abs(int16_t);" + "i16vec2 abs(i16vec2);" + "i16vec3 abs(i16vec3);" + "i16vec4 abs(i16vec4);" + + "int16_t sign(int16_t);" + "i16vec2 sign(i16vec2);" + "i16vec3 sign(i16vec3);" + "i16vec4 sign(i16vec4);" + + "int16_t min(int16_t x, int16_t y);" + "i16vec2 min(i16vec2 x, int16_t y);" + "i16vec3 min(i16vec3 x, int16_t y);" + "i16vec4 min(i16vec4 x, int16_t y);" + "i16vec2 min(i16vec2 x, i16vec2 y);" + "i16vec3 min(i16vec3 x, i16vec3 y);" + "i16vec4 min(i16vec4 x, i16vec4 y);" + + "uint16_t min(uint16_t x, uint16_t y);" + "u16vec2 min(u16vec2 x, uint16_t y);" + "u16vec3 min(u16vec3 x, uint16_t y);" + "u16vec4 min(u16vec4 x, uint16_t y);" + "u16vec2 min(u16vec2 x, u16vec2 y);" + "u16vec3 min(u16vec3 x, u16vec3 y);" + "u16vec4 min(u16vec4 x, u16vec4 y);" + + "int16_t max(int16_t x, int16_t y);" + "i16vec2 max(i16vec2 x, int16_t y);" + "i16vec3 max(i16vec3 x, int16_t y);" + "i16vec4 max(i16vec4 x, int16_t y);" + "i16vec2 max(i16vec2 x, i16vec2 y);" + "i16vec3 max(i16vec3 x, i16vec3 y);" + "i16vec4 max(i16vec4 x, i16vec4 y);" + + "uint16_t max(uint16_t x, uint16_t y);" + "u16vec2 max(u16vec2 x, uint16_t y);" + "u16vec3 max(u16vec3 x, uint16_t y);" + "u16vec4 max(u16vec4 x, uint16_t y);" + "u16vec2 max(u16vec2 x, u16vec2 y);" + "u16vec3 max(u16vec3 x, u16vec3 y);" + "u16vec4 max(u16vec4 x, u16vec4 y);" + + "int16_t clamp(int16_t x, int16_t minVal, int16_t maxVal);" + "i16vec2 clamp(i16vec2 x, int16_t minVal, int16_t maxVal);" + "i16vec3 clamp(i16vec3 x, int16_t minVal, int16_t maxVal);" + "i16vec4 clamp(i16vec4 x, int16_t minVal, int16_t maxVal);" + "i16vec2 clamp(i16vec2 x, i16vec2 minVal, i16vec2 maxVal);" + "i16vec3 clamp(i16vec3 x, i16vec3 minVal, i16vec3 maxVal);" + "i16vec4 clamp(i16vec4 x, i16vec4 minVal, i16vec4 maxVal);" + + "uint16_t clamp(uint16_t x, uint16_t minVal, uint16_t maxVal);" + "u16vec2 clamp(u16vec2 x, uint16_t minVal, uint16_t maxVal);" + "u16vec3 clamp(u16vec3 x, uint16_t minVal, uint16_t maxVal);" + "u16vec4 clamp(u16vec4 x, uint16_t minVal, uint16_t maxVal);" + "u16vec2 clamp(u16vec2 x, u16vec2 minVal, u16vec2 maxVal);" + "u16vec3 clamp(u16vec3 x, u16vec3 minVal, u16vec3 maxVal);" + "u16vec4 clamp(u16vec4 x, u16vec4 minVal, u16vec4 maxVal);" + + "int16_t mix(int16_t, int16_t, bool);" + "i16vec2 mix(i16vec2, i16vec2, bvec2);" + "i16vec3 mix(i16vec3, i16vec3, bvec3);" + "i16vec4 mix(i16vec4, i16vec4, bvec4);" + "uint16_t mix(uint16_t, uint16_t, bool);" + "u16vec2 mix(u16vec2, u16vec2, bvec2);" + "u16vec3 mix(u16vec3, u16vec3, bvec3);" + "u16vec4 mix(u16vec4, u16vec4, bvec4);" + + "float16_t frexp(float16_t, out int16_t);" + "f16vec2 frexp(f16vec2, out i16vec2);" + "f16vec3 frexp(f16vec3, out i16vec3);" + "f16vec4 frexp(f16vec4, out i16vec4);" + + "float16_t ldexp(float16_t, int16_t);" + "f16vec2 ldexp(f16vec2, i16vec2);" + "f16vec3 ldexp(f16vec3, i16vec3);" + "f16vec4 ldexp(f16vec4, i16vec4);" + + "int16_t halfBitsToInt16(float16_t);" + "i16vec2 halfBitsToInt16(f16vec2);" + "i16vec3 halhBitsToInt16(f16vec3);" + "i16vec4 halfBitsToInt16(f16vec4);" + + "uint16_t halfBitsToUint16(float16_t);" + "u16vec2 halfBitsToUint16(f16vec2);" + "u16vec3 halfBitsToUint16(f16vec3);" + "u16vec4 halfBitsToUint16(f16vec4);" + + "int16_t float16BitsToInt16(float16_t);" + "i16vec2 float16BitsToInt16(f16vec2);" + "i16vec3 float16BitsToInt16(f16vec3);" + "i16vec4 float16BitsToInt16(f16vec4);" + + "uint16_t float16BitsToUint16(float16_t);" + "u16vec2 float16BitsToUint16(f16vec2);" + "u16vec3 float16BitsToUint16(f16vec3);" + "u16vec4 float16BitsToUint16(f16vec4);" + + "float16_t int16BitsToFloat16(int16_t);" + "f16vec2 int16BitsToFloat16(i16vec2);" + "f16vec3 int16BitsToFloat16(i16vec3);" + "f16vec4 int16BitsToFloat16(i16vec4);" + + "float16_t uint16BitsToFloat16(uint16_t);" + "f16vec2 uint16BitsToFloat16(u16vec2);" + "f16vec3 uint16BitsToFloat16(u16vec3);" + "f16vec4 uint16BitsToFloat16(u16vec4);" + + "float16_t int16BitsToHalf(int16_t);" + "f16vec2 int16BitsToHalf(i16vec2);" + "f16vec3 int16BitsToHalf(i16vec3);" + "f16vec4 int16BitsToHalf(i16vec4);" + + "float16_t uint16BitsToHalf(uint16_t);" + "f16vec2 uint16BitsToHalf(u16vec2);" + "f16vec3 uint16BitsToHalf(u16vec3);" + "f16vec4 uint16BitsToHalf(u16vec4);" + + "int packInt2x16(i16vec2);" + "uint packUint2x16(u16vec2);" + "int64_t packInt4x16(i16vec4);" + "uint64_t packUint4x16(u16vec4);" + "i16vec2 unpackInt2x16(int);" + "u16vec2 unpackUint2x16(uint);" + "i16vec4 unpackInt4x16(int64_t);" + "u16vec4 unpackUint4x16(uint64_t);" + + "bvec2 lessThan(i16vec2, i16vec2);" + "bvec3 lessThan(i16vec3, i16vec3);" + "bvec4 lessThan(i16vec4, i16vec4);" + "bvec2 lessThan(u16vec2, u16vec2);" + "bvec3 lessThan(u16vec3, u16vec3);" + "bvec4 lessThan(u16vec4, u16vec4);" + + "bvec2 lessThanEqual(i16vec2, i16vec2);" + "bvec3 lessThanEqual(i16vec3, i16vec3);" + "bvec4 lessThanEqual(i16vec4, i16vec4);" + "bvec2 lessThanEqual(u16vec2, u16vec2);" + "bvec3 lessThanEqual(u16vec3, u16vec3);" + "bvec4 lessThanEqual(u16vec4, u16vec4);" + + "bvec2 greaterThan(i16vec2, i16vec2);" + "bvec3 greaterThan(i16vec3, i16vec3);" + "bvec4 greaterThan(i16vec4, i16vec4);" + "bvec2 greaterThan(u16vec2, u16vec2);" + "bvec3 greaterThan(u16vec3, u16vec3);" + "bvec4 greaterThan(u16vec4, u16vec4);" + + "bvec2 greaterThanEqual(i16vec2, i16vec2);" + "bvec3 greaterThanEqual(i16vec3, i16vec3);" + "bvec4 greaterThanEqual(i16vec4, i16vec4);" + "bvec2 greaterThanEqual(u16vec2, u16vec2);" + "bvec3 greaterThanEqual(u16vec3, u16vec3);" + "bvec4 greaterThanEqual(u16vec4, u16vec4);" + + "bvec2 equal(i16vec2, i16vec2);" + "bvec3 equal(i16vec3, i16vec3);" + "bvec4 equal(i16vec4, i16vec4);" + "bvec2 equal(u16vec2, u16vec2);" + "bvec3 equal(u16vec3, u16vec3);" + "bvec4 equal(u16vec4, u16vec4);" + + "bvec2 notEqual(i16vec2, i16vec2);" + "bvec3 notEqual(i16vec3, i16vec3);" + "bvec4 notEqual(i16vec4, i16vec4);" + "bvec2 notEqual(u16vec2, u16vec2);" + "bvec3 notEqual(u16vec3, u16vec3);" + "bvec4 notEqual(u16vec4, u16vec4);" + + " int16_t bitfieldExtract( int16_t, int16_t, int16_t);" + "i16vec2 bitfieldExtract(i16vec2, int16_t, int16_t);" + "i16vec3 bitfieldExtract(i16vec3, int16_t, int16_t);" + "i16vec4 bitfieldExtract(i16vec4, int16_t, int16_t);" + + " uint16_t bitfieldExtract( uint16_t, int16_t, int16_t);" + "u16vec2 bitfieldExtract(u16vec2, int16_t, int16_t);" + "u16vec3 bitfieldExtract(u16vec3, int16_t, int16_t);" + "u16vec4 bitfieldExtract(u16vec4, int16_t, int16_t);" + + " int16_t bitfieldInsert( int16_t base, int16_t, int16_t, int16_t);" + "i16vec2 bitfieldInsert(i16vec2 base, i16vec2, int16_t, int16_t);" + "i16vec3 bitfieldInsert(i16vec3 base, i16vec3, int16_t, int16_t);" + "i16vec4 bitfieldInsert(i16vec4 base, i16vec4, int16_t, int16_t);" + + " uint16_t bitfieldInsert( uint16_t base, uint16_t, int16_t, int16_t);" + "u16vec2 bitfieldInsert(u16vec2 base, u16vec2, int16_t, int16_t);" + "u16vec3 bitfieldInsert(u16vec3 base, u16vec3, int16_t, int16_t);" + "u16vec4 bitfieldInsert(u16vec4 base, u16vec4, int16_t, int16_t);" + + " int16_t bitCount( int16_t);" + "i16vec2 bitCount(i16vec2);" + "i16vec3 bitCount(i16vec3);" + "i16vec4 bitCount(i16vec4);" + + " int16_t bitCount( uint16_t);" + "i16vec2 bitCount(u16vec2);" + "i16vec3 bitCount(u16vec3);" + "i16vec4 bitCount(u16vec4);" + + " int16_t findLSB( int16_t);" + "i16vec2 findLSB(i16vec2);" + "i16vec3 findLSB(i16vec3);" + "i16vec4 findLSB(i16vec4);" + + " int16_t findLSB( uint16_t);" + "i16vec2 findLSB(u16vec2);" + "i16vec3 findLSB(u16vec3);" + "i16vec4 findLSB(u16vec4);" + + " int16_t findMSB( int16_t);" + "i16vec2 findMSB(i16vec2);" + "i16vec3 findMSB(i16vec3);" + "i16vec4 findMSB(i16vec4);" + + " int16_t findMSB( uint16_t);" + "i16vec2 findMSB(u16vec2);" + "i16vec3 findMSB(u16vec3);" + "i16vec4 findMSB(u16vec4);" + + "int16_t pack16(i8vec2);" + "uint16_t pack16(u8vec2);" + "int32_t pack32(i8vec4);" + "uint32_t pack32(u8vec4);" + "int32_t pack32(i16vec2);" + "uint32_t pack32(u16vec2);" + "int64_t pack64(i16vec4);" + "uint64_t pack64(u16vec4);" + "int64_t pack64(i32vec2);" + "uint64_t pack64(u32vec2);" + + "i8vec2 unpack8(int16_t);" + "u8vec2 unpack8(uint16_t);" + "i8vec4 unpack8(int32_t);" + "u8vec4 unpack8(uint32_t);" + "i16vec2 unpack16(int32_t);" + "u16vec2 unpack16(uint32_t);" + "i16vec4 unpack16(int64_t);" + "u16vec4 unpack16(uint64_t);" + "i32vec2 unpack32(int64_t);" + "u32vec2 unpack32(uint64_t);" + + "float64_t radians(float64_t);" + "f64vec2 radians(f64vec2);" + "f64vec3 radians(f64vec3);" + "f64vec4 radians(f64vec4);" + + "float64_t degrees(float64_t);" + "f64vec2 degrees(f64vec2);" + "f64vec3 degrees(f64vec3);" + "f64vec4 degrees(f64vec4);" + + "float64_t sin(float64_t);" + "f64vec2 sin(f64vec2);" + "f64vec3 sin(f64vec3);" + "f64vec4 sin(f64vec4);" + + "float64_t cos(float64_t);" + "f64vec2 cos(f64vec2);" + "f64vec3 cos(f64vec3);" + "f64vec4 cos(f64vec4);" + + "float64_t tan(float64_t);" + "f64vec2 tan(f64vec2);" + "f64vec3 tan(f64vec3);" + "f64vec4 tan(f64vec4);" + + "float64_t asin(float64_t);" + "f64vec2 asin(f64vec2);" + "f64vec3 asin(f64vec3);" + "f64vec4 asin(f64vec4);" + + "float64_t acos(float64_t);" + "f64vec2 acos(f64vec2);" + "f64vec3 acos(f64vec3);" + "f64vec4 acos(f64vec4);" + + "float64_t atan(float64_t, float64_t);" + "f64vec2 atan(f64vec2, f64vec2);" + "f64vec3 atan(f64vec3, f64vec3);" + "f64vec4 atan(f64vec4, f64vec4);" + + "float64_t atan(float64_t);" + "f64vec2 atan(f64vec2);" + "f64vec3 atan(f64vec3);" + "f64vec4 atan(f64vec4);" + + "float64_t sinh(float64_t);" + "f64vec2 sinh(f64vec2);" + "f64vec3 sinh(f64vec3);" + "f64vec4 sinh(f64vec4);" + + "float64_t cosh(float64_t);" + "f64vec2 cosh(f64vec2);" + "f64vec3 cosh(f64vec3);" + "f64vec4 cosh(f64vec4);" + + "float64_t tanh(float64_t);" + "f64vec2 tanh(f64vec2);" + "f64vec3 tanh(f64vec3);" + "f64vec4 tanh(f64vec4);" + + "float64_t asinh(float64_t);" + "f64vec2 asinh(f64vec2);" + "f64vec3 asinh(f64vec3);" + "f64vec4 asinh(f64vec4);" + + "float64_t acosh(float64_t);" + "f64vec2 acosh(f64vec2);" + "f64vec3 acosh(f64vec3);" + "f64vec4 acosh(f64vec4);" + + "float64_t atanh(float64_t);" + "f64vec2 atanh(f64vec2);" + "f64vec3 atanh(f64vec3);" + "f64vec4 atanh(f64vec4);" + + "float64_t pow(float64_t, float64_t);" + "f64vec2 pow(f64vec2, f64vec2);" + "f64vec3 pow(f64vec3, f64vec3);" + "f64vec4 pow(f64vec4, f64vec4);" + + "float64_t exp(float64_t);" + "f64vec2 exp(f64vec2);" + "f64vec3 exp(f64vec3);" + "f64vec4 exp(f64vec4);" + + "float64_t log(float64_t);" + "f64vec2 log(f64vec2);" + "f64vec3 log(f64vec3);" + "f64vec4 log(f64vec4);" + + "float64_t exp2(float64_t);" + "f64vec2 exp2(f64vec2);" + "f64vec3 exp2(f64vec3);" + "f64vec4 exp2(f64vec4);" + + "float64_t log2(float64_t);" + "f64vec2 log2(f64vec2);" + "f64vec3 log2(f64vec3);" + "f64vec4 log2(f64vec4);" + "\n"); + } + + if (profile != EEsProfile && version >= 450) { + stageBuiltins[EShLangFragment].append(derivativesAndControl64bits); + stageBuiltins[EShLangFragment].append( + "float64_t interpolateAtCentroid(float64_t);" + "f64vec2 interpolateAtCentroid(f64vec2);" + "f64vec3 interpolateAtCentroid(f64vec3);" + "f64vec4 interpolateAtCentroid(f64vec4);" + + "float64_t interpolateAtSample(float64_t, int);" + "f64vec2 interpolateAtSample(f64vec2, int);" + "f64vec3 interpolateAtSample(f64vec3, int);" + "f64vec4 interpolateAtSample(f64vec4, int);" + + "float64_t interpolateAtOffset(float64_t, f64vec2);" + "f64vec2 interpolateAtOffset(f64vec2, f64vec2);" + "f64vec3 interpolateAtOffset(f64vec3, f64vec2);" + "f64vec4 interpolateAtOffset(f64vec4, f64vec2);" + + "\n"); + + } +#endif // !GLSLANG_ANGLE + + //============================================================================ + // + // Prototypes for built-in functions seen by vertex shaders only. + // (Except legacy lod functions, where it depends which release they are + // vertex only.) + // + //============================================================================ + + // + // Geometric Functions. + // + if (spvVersion.vulkan == 0 && IncludeLegacy(version, profile, spvVersion)) + stageBuiltins[EShLangVertex].append("vec4 ftransform();"); + +#ifndef GLSLANG_ANGLE + // + // Original-style texture Functions with lod. + // + TString* s; + if (version == 100) + s = &stageBuiltins[EShLangVertex]; + else + s = &commonBuiltins; + if ((profile == EEsProfile && version == 100) || + profile == ECompatibilityProfile || + (profile == ECoreProfile && version < 420) || + profile == ENoProfile) { + if (spvVersion.spv == 0) { + s->append( + "vec4 texture2DLod(sampler2D, vec2, float);" // GL_ARB_shader_texture_lod + "vec4 texture2DProjLod(sampler2D, vec3, float);" // GL_ARB_shader_texture_lod + "vec4 texture2DProjLod(sampler2D, vec4, float);" // GL_ARB_shader_texture_lod + "vec4 texture3DLod(sampler3D, vec3, float);" // GL_ARB_shader_texture_lod // OES_texture_3D, but caught by keyword check + "vec4 texture3DProjLod(sampler3D, vec4, float);" // GL_ARB_shader_texture_lod // OES_texture_3D, but caught by keyword check + "vec4 textureCubeLod(samplerCube, vec3, float);" // GL_ARB_shader_texture_lod + + "\n"); + } + } + if ( profile == ECompatibilityProfile || + (profile == ECoreProfile && version < 420) || + profile == ENoProfile) { + if (spvVersion.spv == 0) { + s->append( + "vec4 texture1DLod(sampler1D, float, float);" // GL_ARB_shader_texture_lod + "vec4 texture1DProjLod(sampler1D, vec2, float);" // GL_ARB_shader_texture_lod + "vec4 texture1DProjLod(sampler1D, vec4, float);" // GL_ARB_shader_texture_lod + "vec4 shadow1DLod(sampler1DShadow, vec3, float);" // GL_ARB_shader_texture_lod + "vec4 shadow2DLod(sampler2DShadow, vec3, float);" // GL_ARB_shader_texture_lod + "vec4 shadow1DProjLod(sampler1DShadow, vec4, float);" // GL_ARB_shader_texture_lod + "vec4 shadow2DProjLod(sampler2DShadow, vec4, float);" // GL_ARB_shader_texture_lod + + "vec4 texture1DGradARB(sampler1D, float, float, float);" // GL_ARB_shader_texture_lod + "vec4 texture1DProjGradARB(sampler1D, vec2, float, float);" // GL_ARB_shader_texture_lod + "vec4 texture1DProjGradARB(sampler1D, vec4, float, float);" // GL_ARB_shader_texture_lod + "vec4 texture2DGradARB(sampler2D, vec2, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 texture2DProjGradARB(sampler2D, vec3, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 texture2DProjGradARB(sampler2D, vec4, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 texture3DGradARB(sampler3D, vec3, vec3, vec3);" // GL_ARB_shader_texture_lod + "vec4 texture3DProjGradARB(sampler3D, vec4, vec3, vec3);" // GL_ARB_shader_texture_lod + "vec4 textureCubeGradARB(samplerCube, vec3, vec3, vec3);" // GL_ARB_shader_texture_lod + "vec4 shadow1DGradARB(sampler1DShadow, vec3, float, float);" // GL_ARB_shader_texture_lod + "vec4 shadow1DProjGradARB( sampler1DShadow, vec4, float, float);" // GL_ARB_shader_texture_lod + "vec4 shadow2DGradARB(sampler2DShadow, vec3, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 shadow2DProjGradARB( sampler2DShadow, vec4, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 texture2DRectGradARB(sampler2DRect, vec2, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 texture2DRectProjGradARB( sampler2DRect, vec3, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 texture2DRectProjGradARB( sampler2DRect, vec4, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 shadow2DRectGradARB( sampler2DRectShadow, vec3, vec2, vec2);" // GL_ARB_shader_texture_lod + "vec4 shadow2DRectProjGradARB(sampler2DRectShadow, vec4, vec2, vec2);" // GL_ARB_shader_texture_lod + + "\n"); + } + } +#endif // !GLSLANG_ANGLE + + if ((profile != EEsProfile && version >= 150) || + (profile == EEsProfile && version >= 310)) { + //============================================================================ + // + // Prototypes for built-in functions seen by geometry shaders only. + // + //============================================================================ + + if (profile != EEsProfile && version >= 400) { + stageBuiltins[EShLangGeometry].append( + "void EmitStreamVertex(int);" + "void EndStreamPrimitive(int);" + ); + } + stageBuiltins[EShLangGeometry].append( + "void EmitVertex();" + "void EndPrimitive();" + "\n"); + } +#endif // !GLSLANG_WEB + + //============================================================================ + // + // Prototypes for all control functions. + // + //============================================================================ + bool esBarrier = (profile == EEsProfile && version >= 310); + if ((profile != EEsProfile && version >= 150) || esBarrier) + stageBuiltins[EShLangTessControl].append( + "void barrier();" + ); + if ((profile != EEsProfile && version >= 420) || esBarrier) + stageBuiltins[EShLangCompute].append( + "void barrier();" + ); + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + stageBuiltins[EShLangMeshNV].append( + "void barrier();" + ); + stageBuiltins[EShLangTaskNV].append( + "void barrier();" + ); + } + if ((profile != EEsProfile && version >= 130) || esBarrier) + commonBuiltins.append( + "void memoryBarrier();" + ); + if ((profile != EEsProfile && version >= 420) || esBarrier) { + commonBuiltins.append( + "void memoryBarrierBuffer();" + ); + stageBuiltins[EShLangCompute].append( + "void memoryBarrierShared();" + "void groupMemoryBarrier();" + ); + } +#ifndef GLSLANG_WEB + if ((profile != EEsProfile && version >= 420) || esBarrier) { + if (spvVersion.vulkan == 0) { + commonBuiltins.append("void memoryBarrierAtomicCounter();"); + } + commonBuiltins.append("void memoryBarrierImage();"); + } + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + stageBuiltins[EShLangMeshNV].append( + "void memoryBarrierShared();" + "void groupMemoryBarrier();" + ); + stageBuiltins[EShLangTaskNV].append( + "void memoryBarrierShared();" + "void groupMemoryBarrier();" + ); + } + + commonBuiltins.append("void controlBarrier(int, int, int, int);\n" + "void memoryBarrier(int, int, int);\n"); + + commonBuiltins.append("void debugPrintfEXT();\n"); + +#ifndef GLSLANG_ANGLE + if (profile != EEsProfile && version >= 450) { + // coopMatStoreNV perhaps ought to have "out" on the buf parameter, but + // adding it introduces undesirable tempArgs on the stack. What we want + // is more like "buf" thought of as a pointer value being an in parameter. + stageBuiltins[EShLangCompute].append( + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent float16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent float[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out fcoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "void coopMatStoreNV(fcoopmatNV m, volatile coherent float16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent float[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent float64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(fcoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "fcoopmatNV coopMatMulAddNV(fcoopmatNV A, fcoopmatNV B, fcoopmatNV C);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out icoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatLoadNV(out ucoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "void coopMatStoreNV(icoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(icoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent int64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent ivec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent ivec4[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint8_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint16_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uint64_t[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uvec2[] buf, uint element, uint stride, bool colMajor);\n" + "void coopMatStoreNV(ucoopmatNV m, volatile coherent uvec4[] buf, uint element, uint stride, bool colMajor);\n" + + "icoopmatNV coopMatMulAddNV(icoopmatNV A, icoopmatNV B, icoopmatNV C);\n" + "ucoopmatNV coopMatMulAddNV(ucoopmatNV A, ucoopmatNV B, ucoopmatNV C);\n" + ); + } + + //============================================================================ + // + // Prototypes for built-in functions seen by fragment shaders only. + // + //============================================================================ + + // + // Original-style texture Functions with bias. + // + if (spvVersion.spv == 0 && (profile != EEsProfile || version == 100)) { + stageBuiltins[EShLangFragment].append( + "vec4 texture2D(sampler2D, vec2, float);" + "vec4 texture2DProj(sampler2D, vec3, float);" + "vec4 texture2DProj(sampler2D, vec4, float);" + "vec4 texture3D(sampler3D, vec3, float);" // OES_texture_3D + "vec4 texture3DProj(sampler3D, vec4, float);" // OES_texture_3D + "vec4 textureCube(samplerCube, vec3, float);" + + "\n"); + } + if (spvVersion.spv == 0 && (profile != EEsProfile && version > 100)) { + stageBuiltins[EShLangFragment].append( + "vec4 texture1D(sampler1D, float, float);" + "vec4 texture1DProj(sampler1D, vec2, float);" + "vec4 texture1DProj(sampler1D, vec4, float);" + "vec4 shadow1D(sampler1DShadow, vec3, float);" + "vec4 shadow2D(sampler2DShadow, vec3, float);" + "vec4 shadow1DProj(sampler1DShadow, vec4, float);" + "vec4 shadow2DProj(sampler2DShadow, vec4, float);" + + "\n"); + } + if (spvVersion.spv == 0 && profile == EEsProfile) { + stageBuiltins[EShLangFragment].append( + "vec4 texture2DLodEXT(sampler2D, vec2, float);" // GL_EXT_shader_texture_lod + "vec4 texture2DProjLodEXT(sampler2D, vec3, float);" // GL_EXT_shader_texture_lod + "vec4 texture2DProjLodEXT(sampler2D, vec4, float);" // GL_EXT_shader_texture_lod + "vec4 textureCubeLodEXT(samplerCube, vec3, float);" // GL_EXT_shader_texture_lod + + "\n"); + } +#endif // !GLSLANG_ANGLE + + // GL_ARB_derivative_control + if (profile != EEsProfile && version >= 400) { + stageBuiltins[EShLangFragment].append(derivativeControls); + stageBuiltins[EShLangFragment].append("\n"); + } + + // GL_OES_shader_multisample_interpolation + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 400)) { + stageBuiltins[EShLangFragment].append( + "float interpolateAtCentroid(float);" + "vec2 interpolateAtCentroid(vec2);" + "vec3 interpolateAtCentroid(vec3);" + "vec4 interpolateAtCentroid(vec4);" + + "float interpolateAtSample(float, int);" + "vec2 interpolateAtSample(vec2, int);" + "vec3 interpolateAtSample(vec3, int);" + "vec4 interpolateAtSample(vec4, int);" + + "float interpolateAtOffset(float, vec2);" + "vec2 interpolateAtOffset(vec2, vec2);" + "vec3 interpolateAtOffset(vec3, vec2);" + "vec4 interpolateAtOffset(vec4, vec2);" + + "\n"); + } + + stageBuiltins[EShLangFragment].append( + "void beginInvocationInterlockARB(void);" + "void endInvocationInterlockARB(void);"); + + stageBuiltins[EShLangFragment].append( + "bool helperInvocationEXT();" + "\n"); + +#ifndef GLSLANG_ANGLE + // GL_AMD_shader_explicit_vertex_parameter + if (profile != EEsProfile && version >= 450) { + stageBuiltins[EShLangFragment].append( + "float interpolateAtVertexAMD(float, uint);" + "vec2 interpolateAtVertexAMD(vec2, uint);" + "vec3 interpolateAtVertexAMD(vec3, uint);" + "vec4 interpolateAtVertexAMD(vec4, uint);" + + "int interpolateAtVertexAMD(int, uint);" + "ivec2 interpolateAtVertexAMD(ivec2, uint);" + "ivec3 interpolateAtVertexAMD(ivec3, uint);" + "ivec4 interpolateAtVertexAMD(ivec4, uint);" + + "uint interpolateAtVertexAMD(uint, uint);" + "uvec2 interpolateAtVertexAMD(uvec2, uint);" + "uvec3 interpolateAtVertexAMD(uvec3, uint);" + "uvec4 interpolateAtVertexAMD(uvec4, uint);" + + "float16_t interpolateAtVertexAMD(float16_t, uint);" + "f16vec2 interpolateAtVertexAMD(f16vec2, uint);" + "f16vec3 interpolateAtVertexAMD(f16vec3, uint);" + "f16vec4 interpolateAtVertexAMD(f16vec4, uint);" + + "\n"); + } + + // GL_AMD_gpu_shader_half_float + if (profile != EEsProfile && version >= 450) { + stageBuiltins[EShLangFragment].append(derivativesAndControl16bits); + stageBuiltins[EShLangFragment].append("\n"); + + stageBuiltins[EShLangFragment].append( + "float16_t interpolateAtCentroid(float16_t);" + "f16vec2 interpolateAtCentroid(f16vec2);" + "f16vec3 interpolateAtCentroid(f16vec3);" + "f16vec4 interpolateAtCentroid(f16vec4);" + + "float16_t interpolateAtSample(float16_t, int);" + "f16vec2 interpolateAtSample(f16vec2, int);" + "f16vec3 interpolateAtSample(f16vec3, int);" + "f16vec4 interpolateAtSample(f16vec4, int);" + + "float16_t interpolateAtOffset(float16_t, f16vec2);" + "f16vec2 interpolateAtOffset(f16vec2, f16vec2);" + "f16vec3 interpolateAtOffset(f16vec3, f16vec2);" + "f16vec4 interpolateAtOffset(f16vec4, f16vec2);" + + "\n"); + } + + // GL_ARB_shader_clock & GL_EXT_shader_realtime_clock + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append( + "uvec2 clock2x32ARB();" + "uint64_t clockARB();" + "uvec2 clockRealtime2x32EXT();" + "uint64_t clockRealtimeEXT();" + "\n"); + } + + // GL_AMD_shader_fragment_mask + if (profile != EEsProfile && version >= 450 && spvVersion.vulkan > 0) { + stageBuiltins[EShLangFragment].append( + "uint fragmentMaskFetchAMD(subpassInputMS);" + "uint fragmentMaskFetchAMD(isubpassInputMS);" + "uint fragmentMaskFetchAMD(usubpassInputMS);" + + "vec4 fragmentFetchAMD(subpassInputMS, uint);" + "ivec4 fragmentFetchAMD(isubpassInputMS, uint);" + "uvec4 fragmentFetchAMD(usubpassInputMS, uint);" + + "\n"); + } + + // Builtins for GL_NV_ray_tracing/GL_EXT_ray_tracing/GL_EXT_ray_query + if (profile != EEsProfile && version >= 460) { + commonBuiltins.append("void rayQueryInitializeEXT(rayQueryEXT, accelerationStructureEXT, uint, uint, vec3, float, vec3, float);" + "void rayQueryTerminateEXT(rayQueryEXT);" + "void rayQueryGenerateIntersectionEXT(rayQueryEXT, float);" + "void rayQueryConfirmIntersectionEXT(rayQueryEXT);" + "bool rayQueryProceedEXT(rayQueryEXT);" + "uint rayQueryGetIntersectionTypeEXT(rayQueryEXT, bool);" + "float rayQueryGetRayTMinEXT(rayQueryEXT);" + "uint rayQueryGetRayFlagsEXT(rayQueryEXT);" + "vec3 rayQueryGetWorldRayOriginEXT(rayQueryEXT);" + "vec3 rayQueryGetWorldRayDirectionEXT(rayQueryEXT);" + "float rayQueryGetIntersectionTEXT(rayQueryEXT, bool);" + "int rayQueryGetIntersectionInstanceCustomIndexEXT(rayQueryEXT, bool);" + "int rayQueryGetIntersectionInstanceIdEXT(rayQueryEXT, bool);" + "uint rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT(rayQueryEXT, bool);" + "int rayQueryGetIntersectionGeometryIndexEXT(rayQueryEXT, bool);" + "int rayQueryGetIntersectionPrimitiveIndexEXT(rayQueryEXT, bool);" + "vec2 rayQueryGetIntersectionBarycentricsEXT(rayQueryEXT, bool);" + "bool rayQueryGetIntersectionFrontFaceEXT(rayQueryEXT, bool);" + "bool rayQueryGetIntersectionCandidateAABBOpaqueEXT(rayQueryEXT);" + "vec3 rayQueryGetIntersectionObjectRayDirectionEXT(rayQueryEXT, bool);" + "vec3 rayQueryGetIntersectionObjectRayOriginEXT(rayQueryEXT, bool);" + "mat4x3 rayQueryGetIntersectionObjectToWorldEXT(rayQueryEXT, bool);" + "mat4x3 rayQueryGetIntersectionWorldToObjectEXT(rayQueryEXT, bool);" + "\n"); + + stageBuiltins[EShLangRayGen].append( + "void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void executeCallableNV(uint, int);" + "void executeCallableEXT(uint, int);" + "\n"); + stageBuiltins[EShLangIntersect].append( + "bool reportIntersectionNV(float, uint);" + "bool reportIntersectionEXT(float, uint);" + "\n"); + stageBuiltins[EShLangAnyHit].append( + "void ignoreIntersectionNV();" + "void terminateRayNV();" + "\n"); + stageBuiltins[EShLangClosestHit].append( + "void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void executeCallableNV(uint, int);" + "void executeCallableEXT(uint, int);" + "\n"); + stageBuiltins[EShLangMiss].append( + "void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);" + "void executeCallableNV(uint, int);" + "void executeCallableEXT(uint, int);" + "\n"); + stageBuiltins[EShLangCallable].append( + "void executeCallableNV(uint, int);" + "void executeCallableEXT(uint, int);" + "\n"); + } +#endif // !GLSLANG_ANGLE + + //E_SPV_NV_compute_shader_derivatives + if ((profile == EEsProfile && version >= 320) || (profile != EEsProfile && version >= 450)) { + stageBuiltins[EShLangCompute].append(derivativeControls); + stageBuiltins[EShLangCompute].append("\n"); + } +#ifndef GLSLANG_ANGLE + if (profile != EEsProfile && version >= 450) { + stageBuiltins[EShLangCompute].append(derivativesAndControl16bits); + stageBuiltins[EShLangCompute].append(derivativesAndControl64bits); + stageBuiltins[EShLangCompute].append("\n"); + } + + // Builtins for GL_NV_mesh_shader + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + stageBuiltins[EShLangMeshNV].append( + "void writePackedPrimitiveIndices4x8NV(uint, uint);" + "\n"); + } +#endif // !GLSLANG_ANGLE +#endif // !GLSLANG_WEB + + //============================================================================ + // + // Standard Uniforms + // + //============================================================================ + + // + // Depth range in window coordinates, p. 33 + // + if (spvVersion.spv == 0) { + commonBuiltins.append( + "struct gl_DepthRangeParameters {" + ); + if (profile == EEsProfile) { + commonBuiltins.append( + "highp float near;" // n + "highp float far;" // f + "highp float diff;" // f - n + ); + } else { +#ifndef GLSLANG_WEB + commonBuiltins.append( + "float near;" // n + "float far;" // f + "float diff;" // f - n + ); +#endif + } + + commonBuiltins.append( + "};" + "uniform gl_DepthRangeParameters gl_DepthRange;" + "\n"); + } + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + if (spvVersion.spv == 0 && IncludeLegacy(version, profile, spvVersion)) { + // + // Matrix state. p. 31, 32, 37, 39, 40. + // + commonBuiltins.append( + "uniform mat4 gl_ModelViewMatrix;" + "uniform mat4 gl_ProjectionMatrix;" + "uniform mat4 gl_ModelViewProjectionMatrix;" + + // + // Derived matrix state that provides inverse and transposed versions + // of the matrices above. + // + "uniform mat3 gl_NormalMatrix;" + + "uniform mat4 gl_ModelViewMatrixInverse;" + "uniform mat4 gl_ProjectionMatrixInverse;" + "uniform mat4 gl_ModelViewProjectionMatrixInverse;" + + "uniform mat4 gl_ModelViewMatrixTranspose;" + "uniform mat4 gl_ProjectionMatrixTranspose;" + "uniform mat4 gl_ModelViewProjectionMatrixTranspose;" + + "uniform mat4 gl_ModelViewMatrixInverseTranspose;" + "uniform mat4 gl_ProjectionMatrixInverseTranspose;" + "uniform mat4 gl_ModelViewProjectionMatrixInverseTranspose;" + + // + // Normal scaling p. 39. + // + "uniform float gl_NormalScale;" + + // + // Point Size, p. 66, 67. + // + "struct gl_PointParameters {" + "float size;" + "float sizeMin;" + "float sizeMax;" + "float fadeThresholdSize;" + "float distanceConstantAttenuation;" + "float distanceLinearAttenuation;" + "float distanceQuadraticAttenuation;" + "};" + + "uniform gl_PointParameters gl_Point;" + + // + // Material State p. 50, 55. + // + "struct gl_MaterialParameters {" + "vec4 emission;" // Ecm + "vec4 ambient;" // Acm + "vec4 diffuse;" // Dcm + "vec4 specular;" // Scm + "float shininess;" // Srm + "};" + "uniform gl_MaterialParameters gl_FrontMaterial;" + "uniform gl_MaterialParameters gl_BackMaterial;" + + // + // Light State p 50, 53, 55. + // + "struct gl_LightSourceParameters {" + "vec4 ambient;" // Acli + "vec4 diffuse;" // Dcli + "vec4 specular;" // Scli + "vec4 position;" // Ppli + "vec4 halfVector;" // Derived: Hi + "vec3 spotDirection;" // Sdli + "float spotExponent;" // Srli + "float spotCutoff;" // Crli + // (range: [0.0,90.0], 180.0) + "float spotCosCutoff;" // Derived: cos(Crli) + // (range: [1.0,0.0],-1.0) + "float constantAttenuation;" // K0 + "float linearAttenuation;" // K1 + "float quadraticAttenuation;"// K2 + "};" + + "struct gl_LightModelParameters {" + "vec4 ambient;" // Acs + "};" + + "uniform gl_LightModelParameters gl_LightModel;" + + // + // Derived state from products of light and material. + // + "struct gl_LightModelProducts {" + "vec4 sceneColor;" // Derived. Ecm + Acm * Acs + "};" + + "uniform gl_LightModelProducts gl_FrontLightModelProduct;" + "uniform gl_LightModelProducts gl_BackLightModelProduct;" + + "struct gl_LightProducts {" + "vec4 ambient;" // Acm * Acli + "vec4 diffuse;" // Dcm * Dcli + "vec4 specular;" // Scm * Scli + "};" + + // + // Fog p. 161 + // + "struct gl_FogParameters {" + "vec4 color;" + "float density;" + "float start;" + "float end;" + "float scale;" // 1 / (gl_FogEnd - gl_FogStart) + "};" + + "uniform gl_FogParameters gl_Fog;" + + "\n"); + } +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE + + //============================================================================ + // + // Define the interface to the compute shader. + // + //============================================================================ + + if ((profile != EEsProfile && version >= 420) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangCompute].append( + "in highp uvec3 gl_NumWorkGroups;" + "const highp uvec3 gl_WorkGroupSize = uvec3(1,1,1);" + + "in highp uvec3 gl_WorkGroupID;" + "in highp uvec3 gl_LocalInvocationID;" + + "in highp uvec3 gl_GlobalInvocationID;" + "in highp uint gl_LocalInvocationIndex;" + + "\n"); + } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangCompute].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "\n"); + } + +#ifndef GLSLANG_WEB +#ifndef GLSLANG_ANGLE + //============================================================================ + // + // Define the interface to the mesh/task shader. + // + //============================================================================ + + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + // per-vertex attributes + stageBuiltins[EShLangMeshNV].append( + "out gl_MeshPerVertexNV {" + "vec4 gl_Position;" + "float gl_PointSize;" + "float gl_ClipDistance[];" + "float gl_CullDistance[];" + "perviewNV vec4 gl_PositionPerViewNV[];" + "perviewNV float gl_ClipDistancePerViewNV[][];" + "perviewNV float gl_CullDistancePerViewNV[][];" + "} gl_MeshVerticesNV[];" + ); + + // per-primitive attributes + stageBuiltins[EShLangMeshNV].append( + "perprimitiveNV out gl_MeshPerPrimitiveNV {" + "int gl_PrimitiveID;" + "int gl_Layer;" + "int gl_ViewportIndex;" + "int gl_ViewportMask[];" + "perviewNV int gl_LayerPerViewNV[];" + "perviewNV int gl_ViewportMaskPerViewNV[][];" + "} gl_MeshPrimitivesNV[];" + ); + + stageBuiltins[EShLangMeshNV].append( + "out uint gl_PrimitiveCountNV;" + "out uint gl_PrimitiveIndicesNV[];" + + "in uint gl_MeshViewCountNV;" + "in uint gl_MeshViewIndicesNV[4];" + + "const highp uvec3 gl_WorkGroupSize = uvec3(1,1,1);" + + "in highp uvec3 gl_WorkGroupID;" + "in highp uvec3 gl_LocalInvocationID;" + + "in highp uvec3 gl_GlobalInvocationID;" + "in highp uint gl_LocalInvocationIndex;" + + "\n"); + + stageBuiltins[EShLangTaskNV].append( + "out uint gl_TaskCountNV;" + + "const highp uvec3 gl_WorkGroupSize = uvec3(1,1,1);" + + "in highp uvec3 gl_WorkGroupID;" + "in highp uvec3 gl_LocalInvocationID;" + + "in highp uvec3 gl_GlobalInvocationID;" + "in highp uint gl_LocalInvocationIndex;" + + "in uint gl_MeshViewCountNV;" + "in uint gl_MeshViewIndicesNV[4];" + + "\n"); + } + + if (profile != EEsProfile && version >= 450) { + stageBuiltins[EShLangMeshNV].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in int gl_DrawIDARB;" // GL_ARB_shader_draw_parameters + "\n"); + + stageBuiltins[EShLangTaskNV].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in int gl_DrawIDARB;" // GL_ARB_shader_draw_parameters + "\n"); + + if (version >= 460) { + stageBuiltins[EShLangMeshNV].append( + "in int gl_DrawID;" + "\n"); + + stageBuiltins[EShLangTaskNV].append( + "in int gl_DrawID;" + "\n"); + } + } +#endif // !GLSLANG_ANGLE + + //============================================================================ + // + // Define the interface to the vertex shader. + // + //============================================================================ + + if (profile != EEsProfile) { + if (version < 130) { + stageBuiltins[EShLangVertex].append( + "attribute vec4 gl_Color;" + "attribute vec4 gl_SecondaryColor;" + "attribute vec3 gl_Normal;" + "attribute vec4 gl_Vertex;" + "attribute vec4 gl_MultiTexCoord0;" + "attribute vec4 gl_MultiTexCoord1;" + "attribute vec4 gl_MultiTexCoord2;" + "attribute vec4 gl_MultiTexCoord3;" + "attribute vec4 gl_MultiTexCoord4;" + "attribute vec4 gl_MultiTexCoord5;" + "attribute vec4 gl_MultiTexCoord6;" + "attribute vec4 gl_MultiTexCoord7;" + "attribute float gl_FogCoord;" + "\n"); + } else if (IncludeLegacy(version, profile, spvVersion)) { + stageBuiltins[EShLangVertex].append( + "in vec4 gl_Color;" + "in vec4 gl_SecondaryColor;" + "in vec3 gl_Normal;" + "in vec4 gl_Vertex;" + "in vec4 gl_MultiTexCoord0;" + "in vec4 gl_MultiTexCoord1;" + "in vec4 gl_MultiTexCoord2;" + "in vec4 gl_MultiTexCoord3;" + "in vec4 gl_MultiTexCoord4;" + "in vec4 gl_MultiTexCoord5;" + "in vec4 gl_MultiTexCoord6;" + "in vec4 gl_MultiTexCoord7;" + "in float gl_FogCoord;" + "\n"); + } + + if (version < 150) { + if (version < 130) { + stageBuiltins[EShLangVertex].append( + " vec4 gl_ClipVertex;" // needs qualifier fixed later + "varying vec4 gl_FrontColor;" + "varying vec4 gl_BackColor;" + "varying vec4 gl_FrontSecondaryColor;" + "varying vec4 gl_BackSecondaryColor;" + "varying vec4 gl_TexCoord[];" + "varying float gl_FogFragCoord;" + "\n"); + } else if (IncludeLegacy(version, profile, spvVersion)) { + stageBuiltins[EShLangVertex].append( + " vec4 gl_ClipVertex;" // needs qualifier fixed later + "out vec4 gl_FrontColor;" + "out vec4 gl_BackColor;" + "out vec4 gl_FrontSecondaryColor;" + "out vec4 gl_BackSecondaryColor;" + "out vec4 gl_TexCoord[];" + "out float gl_FogFragCoord;" + "\n"); + } + stageBuiltins[EShLangVertex].append( + "vec4 gl_Position;" // needs qualifier fixed later + "float gl_PointSize;" // needs qualifier fixed later + ); + + if (version == 130 || version == 140) + stageBuiltins[EShLangVertex].append( + "out float gl_ClipDistance[];" + ); + } else { + // version >= 150 + stageBuiltins[EShLangVertex].append( + "out gl_PerVertex {" + "vec4 gl_Position;" // needs qualifier fixed later + "float gl_PointSize;" // needs qualifier fixed later + "float gl_ClipDistance[];" + ); + if (IncludeLegacy(version, profile, spvVersion)) + stageBuiltins[EShLangVertex].append( + "vec4 gl_ClipVertex;" // needs qualifier fixed later + "vec4 gl_FrontColor;" + "vec4 gl_BackColor;" + "vec4 gl_FrontSecondaryColor;" + "vec4 gl_BackSecondaryColor;" + "vec4 gl_TexCoord[];" + "float gl_FogFragCoord;" + ); + if (version >= 450) + stageBuiltins[EShLangVertex].append( + "float gl_CullDistance[];" + ); + stageBuiltins[EShLangVertex].append( + "};" + "\n"); + } + if (version >= 130 && spvVersion.vulkan == 0) + stageBuiltins[EShLangVertex].append( + "int gl_VertexID;" // needs qualifier fixed later + ); + if (version >= 140 && spvVersion.vulkan == 0) + stageBuiltins[EShLangVertex].append( + "int gl_InstanceID;" // needs qualifier fixed later + ); + if (spvVersion.vulkan > 0 && version >= 140) + stageBuiltins[EShLangVertex].append( + "in int gl_VertexIndex;" + "in int gl_InstanceIndex;" + ); + if (version >= 440) { + stageBuiltins[EShLangVertex].append( + "in int gl_BaseVertexARB;" + "in int gl_BaseInstanceARB;" + "in int gl_DrawIDARB;" + ); + } + if (version >= 410) { + stageBuiltins[EShLangVertex].append( + "out int gl_ViewportIndex;" + "out int gl_Layer;" + ); + } + if (version >= 460) { + stageBuiltins[EShLangVertex].append( + "in int gl_BaseVertex;" + "in int gl_BaseInstance;" + "in int gl_DrawID;" + ); + } + + if (version >= 450) + stageBuiltins[EShLangVertex].append( + "out int gl_ViewportMask[];" // GL_NV_viewport_array2 + "out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "out int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes + ); + } else { + // ES profile + if (version == 100) { + stageBuiltins[EShLangVertex].append( + "highp vec4 gl_Position;" // needs qualifier fixed later + "mediump float gl_PointSize;" // needs qualifier fixed later + ); + } else { + if (spvVersion.vulkan == 0) + stageBuiltins[EShLangVertex].append( + "in highp int gl_VertexID;" // needs qualifier fixed later + "in highp int gl_InstanceID;" // needs qualifier fixed later + ); + if (spvVersion.vulkan > 0) +#endif + stageBuiltins[EShLangVertex].append( + "in highp int gl_VertexIndex;" + "in highp int gl_InstanceIndex;" + ); +#ifndef GLSLANG_WEB + if (version < 310) +#endif + stageBuiltins[EShLangVertex].append( + "highp vec4 gl_Position;" // needs qualifier fixed later + "highp float gl_PointSize;" // needs qualifier fixed later + ); +#ifndef GLSLANG_WEB + else + stageBuiltins[EShLangVertex].append( + "out gl_PerVertex {" + "highp vec4 gl_Position;" // needs qualifier fixed later + "highp float gl_PointSize;" // needs qualifier fixed later + "};" + ); + } + } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangVertex].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + + if (version >= 300 /* both ES and non-ES */) { + stageBuiltins[EShLangVertex].append( + "in highp uint gl_ViewID_OVR;" // GL_OVR_multiview, GL_OVR_multiview2 + "\n"); + } + + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangVertex].append( + "out highp int gl_PrimitiveShadingRateEXT;" // GL_EXT_fragment_shading_rate + "\n"); + } + + //============================================================================ + // + // Define the interface to the geometry shader. + // + //============================================================================ + + if (profile == ECoreProfile || profile == ECompatibilityProfile) { + stageBuiltins[EShLangGeometry].append( + "in gl_PerVertex {" + "vec4 gl_Position;" + "float gl_PointSize;" + "float gl_ClipDistance[];" + ); + if (profile == ECompatibilityProfile) + stageBuiltins[EShLangGeometry].append( + "vec4 gl_ClipVertex;" + "vec4 gl_FrontColor;" + "vec4 gl_BackColor;" + "vec4 gl_FrontSecondaryColor;" + "vec4 gl_BackSecondaryColor;" + "vec4 gl_TexCoord[];" + "float gl_FogFragCoord;" + ); + if (version >= 450) + stageBuiltins[EShLangGeometry].append( + "float gl_CullDistance[];" + "vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + ); + stageBuiltins[EShLangGeometry].append( + "} gl_in[];" + + "in int gl_PrimitiveIDIn;" + "out gl_PerVertex {" + "vec4 gl_Position;" + "float gl_PointSize;" + "float gl_ClipDistance[];" + "\n"); + if (profile == ECompatibilityProfile && version >= 400) + stageBuiltins[EShLangGeometry].append( + "vec4 gl_ClipVertex;" + "vec4 gl_FrontColor;" + "vec4 gl_BackColor;" + "vec4 gl_FrontSecondaryColor;" + "vec4 gl_BackSecondaryColor;" + "vec4 gl_TexCoord[];" + "float gl_FogFragCoord;" + ); + if (version >= 450) + stageBuiltins[EShLangGeometry].append( + "float gl_CullDistance[];" + ); + stageBuiltins[EShLangGeometry].append( + "};" + + "out int gl_PrimitiveID;" + "out int gl_Layer;"); + + if (version >= 150) + stageBuiltins[EShLangGeometry].append( + "out int gl_ViewportIndex;" + ); + + if (profile == ECompatibilityProfile && version < 400) + stageBuiltins[EShLangGeometry].append( + "out vec4 gl_ClipVertex;" + ); + + if (version >= 400) + stageBuiltins[EShLangGeometry].append( + "in int gl_InvocationID;" + ); + + if (version >= 450) + stageBuiltins[EShLangGeometry].append( + "out int gl_ViewportMask[];" // GL_NV_viewport_array2 + "out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "out int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes + ); + + stageBuiltins[EShLangGeometry].append("\n"); + } else if (profile == EEsProfile && version >= 310) { + stageBuiltins[EShLangGeometry].append( + "in gl_PerVertex {" + "highp vec4 gl_Position;" + "highp float gl_PointSize;" + "} gl_in[];" + "\n" + "in highp int gl_PrimitiveIDIn;" + "in highp int gl_InvocationID;" + "\n" + "out gl_PerVertex {" + "highp vec4 gl_Position;" + "highp float gl_PointSize;" + "};" + "\n" + "out highp int gl_PrimitiveID;" + "out highp int gl_Layer;" + "\n" + ); + } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangGeometry].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangGeometry].append( + "out highp int gl_PrimitiveShadingRateEXT;" // GL_EXT_fragment_shading_rate + "\n"); + } + + //============================================================================ + // + // Define the interface to the tessellation control shader. + // + //============================================================================ + + if (profile != EEsProfile && version >= 150) { + // Note: "in gl_PerVertex {...} gl_in[gl_MaxPatchVertices];" is declared in initialize() below, + // as it depends on the resource sizing of gl_MaxPatchVertices. + + stageBuiltins[EShLangTessControl].append( + "in int gl_PatchVerticesIn;" + "in int gl_PrimitiveID;" + "in int gl_InvocationID;" + + "out gl_PerVertex {" + "vec4 gl_Position;" + "float gl_PointSize;" + "float gl_ClipDistance[];" + ); + if (profile == ECompatibilityProfile) + stageBuiltins[EShLangTessControl].append( + "vec4 gl_ClipVertex;" + "vec4 gl_FrontColor;" + "vec4 gl_BackColor;" + "vec4 gl_FrontSecondaryColor;" + "vec4 gl_BackSecondaryColor;" + "vec4 gl_TexCoord[];" + "float gl_FogFragCoord;" + ); + if (version >= 450) + stageBuiltins[EShLangTessControl].append( + "float gl_CullDistance[];" + "int gl_ViewportMask[];" // GL_NV_viewport_array2 + "vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes + ); + stageBuiltins[EShLangTessControl].append( + "} gl_out[];" + + "patch out float gl_TessLevelOuter[4];" + "patch out float gl_TessLevelInner[2];" + "\n"); + + if (version >= 410) + stageBuiltins[EShLangTessControl].append( + "out int gl_ViewportIndex;" + "out int gl_Layer;" + "\n"); + + } else { + // Note: "in gl_PerVertex {...} gl_in[gl_MaxPatchVertices];" is declared in initialize() below, + // as it depends on the resource sizing of gl_MaxPatchVertices. + + stageBuiltins[EShLangTessControl].append( + "in highp int gl_PatchVerticesIn;" + "in highp int gl_PrimitiveID;" + "in highp int gl_InvocationID;" + + "out gl_PerVertex {" + "highp vec4 gl_Position;" + "highp float gl_PointSize;" + ); + stageBuiltins[EShLangTessControl].append( + "} gl_out[];" + + "patch out highp float gl_TessLevelOuter[4];" + "patch out highp float gl_TessLevelInner[2];" + "patch out highp vec4 gl_BoundingBoxOES[2];" + "patch out highp vec4 gl_BoundingBoxEXT[2];" + "\n"); + if (profile == EEsProfile && version >= 320) { + stageBuiltins[EShLangTessControl].append( + "patch out highp vec4 gl_BoundingBox[2];" + "\n" + ); + } + } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangTessControl].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + + //============================================================================ + // + // Define the interface to the tessellation evaluation shader. + // + //============================================================================ + + if (profile != EEsProfile && version >= 150) { + // Note: "in gl_PerVertex {...} gl_in[gl_MaxPatchVertices];" is declared in initialize() below, + // as it depends on the resource sizing of gl_MaxPatchVertices. + + stageBuiltins[EShLangTessEvaluation].append( + "in int gl_PatchVerticesIn;" + "in int gl_PrimitiveID;" + "in vec3 gl_TessCoord;" + + "patch in float gl_TessLevelOuter[4];" + "patch in float gl_TessLevelInner[2];" + + "out gl_PerVertex {" + "vec4 gl_Position;" + "float gl_PointSize;" + "float gl_ClipDistance[];" + ); + if (version >= 400 && profile == ECompatibilityProfile) + stageBuiltins[EShLangTessEvaluation].append( + "vec4 gl_ClipVertex;" + "vec4 gl_FrontColor;" + "vec4 gl_BackColor;" + "vec4 gl_FrontSecondaryColor;" + "vec4 gl_BackSecondaryColor;" + "vec4 gl_TexCoord[];" + "float gl_FogFragCoord;" + ); + if (version >= 450) + stageBuiltins[EShLangTessEvaluation].append( + "float gl_CullDistance[];" + ); + stageBuiltins[EShLangTessEvaluation].append( + "};" + "\n"); + + if (version >= 410) + stageBuiltins[EShLangTessEvaluation].append( + "out int gl_ViewportIndex;" + "out int gl_Layer;" + "\n"); + + if (version >= 450) + stageBuiltins[EShLangTessEvaluation].append( + "out int gl_ViewportMask[];" // GL_NV_viewport_array2 + "out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "out int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes + ); + + } else if (profile == EEsProfile && version >= 310) { + // Note: "in gl_PerVertex {...} gl_in[gl_MaxPatchVertices];" is declared in initialize() below, + // as it depends on the resource sizing of gl_MaxPatchVertices. + + stageBuiltins[EShLangTessEvaluation].append( + "in highp int gl_PatchVerticesIn;" + "in highp int gl_PrimitiveID;" + "in highp vec3 gl_TessCoord;" + + "patch in highp float gl_TessLevelOuter[4];" + "patch in highp float gl_TessLevelInner[2];" + + "out gl_PerVertex {" + "highp vec4 gl_Position;" + "highp float gl_PointSize;" + ); + stageBuiltins[EShLangTessEvaluation].append( + "};" + "\n"); + } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangTessEvaluation].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + + //============================================================================ + // + // Define the interface to the fragment shader. + // + //============================================================================ + + if (profile != EEsProfile) { + + stageBuiltins[EShLangFragment].append( + "vec4 gl_FragCoord;" // needs qualifier fixed later + "bool gl_FrontFacing;" // needs qualifier fixed later + "float gl_FragDepth;" // needs qualifier fixed later + ); + if (version >= 120) + stageBuiltins[EShLangFragment].append( + "vec2 gl_PointCoord;" // needs qualifier fixed later + ); + if (version >= 140) + stageBuiltins[EShLangFragment].append( + "out int gl_FragStencilRefARB;" + ); + if (IncludeLegacy(version, profile, spvVersion) || (! ForwardCompatibility && version < 420)) + stageBuiltins[EShLangFragment].append( + "vec4 gl_FragColor;" // needs qualifier fixed later + ); + + if (version < 130) { + stageBuiltins[EShLangFragment].append( + "varying vec4 gl_Color;" + "varying vec4 gl_SecondaryColor;" + "varying vec4 gl_TexCoord[];" + "varying float gl_FogFragCoord;" + ); + } else { + stageBuiltins[EShLangFragment].append( + "in float gl_ClipDistance[];" + ); + + if (IncludeLegacy(version, profile, spvVersion)) { + if (version < 150) + stageBuiltins[EShLangFragment].append( + "in float gl_FogFragCoord;" + "in vec4 gl_TexCoord[];" + "in vec4 gl_Color;" + "in vec4 gl_SecondaryColor;" + ); + else + stageBuiltins[EShLangFragment].append( + "in gl_PerFragment {" + "in float gl_FogFragCoord;" + "in vec4 gl_TexCoord[];" + "in vec4 gl_Color;" + "in vec4 gl_SecondaryColor;" + "};" + ); + } + } + + if (version >= 150) + stageBuiltins[EShLangFragment].append( + "flat in int gl_PrimitiveID;" + ); + + if (version >= 130) { // ARB_sample_shading + stageBuiltins[EShLangFragment].append( + "flat in int gl_SampleID;" + " in vec2 gl_SamplePosition;" + " out int gl_SampleMask[];" + ); + + if (spvVersion.spv == 0) { + stageBuiltins[EShLangFragment].append( + "uniform int gl_NumSamples;" + ); + } + } + + if (version >= 400) + stageBuiltins[EShLangFragment].append( + "flat in int gl_SampleMaskIn[];" + ); + + if (version >= 430) + stageBuiltins[EShLangFragment].append( + "flat in int gl_Layer;" + "flat in int gl_ViewportIndex;" + ); + + if (version >= 450) + stageBuiltins[EShLangFragment].append( + "in float gl_CullDistance[];" + "bool gl_HelperInvocation;" // needs qualifier fixed later + ); + + if (version >= 450) + stageBuiltins[EShLangFragment].append( // GL_EXT_fragment_invocation_density + "flat in ivec2 gl_FragSizeEXT;" + "flat in int gl_FragInvocationCountEXT;" + ); + + if (version >= 450) + stageBuiltins[EShLangFragment].append( + "in vec2 gl_BaryCoordNoPerspAMD;" + "in vec2 gl_BaryCoordNoPerspCentroidAMD;" + "in vec2 gl_BaryCoordNoPerspSampleAMD;" + "in vec2 gl_BaryCoordSmoothAMD;" + "in vec2 gl_BaryCoordSmoothCentroidAMD;" + "in vec2 gl_BaryCoordSmoothSampleAMD;" + "in vec3 gl_BaryCoordPullModelAMD;" + ); + + if (version >= 430) + stageBuiltins[EShLangFragment].append( + "in bool gl_FragFullyCoveredNV;" + ); + if (version >= 450) + stageBuiltins[EShLangFragment].append( + "flat in ivec2 gl_FragmentSizeNV;" // GL_NV_shading_rate_image + "flat in int gl_InvocationsPerPixelNV;" + "in vec3 gl_BaryCoordNV;" // GL_NV_fragment_shader_barycentric + "in vec3 gl_BaryCoordNoPerspNV;" + ); + + if (version >= 450) + stageBuiltins[EShLangFragment].append( + "flat in int gl_ShadingRateEXT;" // GL_EXT_fragment_shading_rate + ); + + } else { + // ES profile + + if (version == 100) { + stageBuiltins[EShLangFragment].append( + "mediump vec4 gl_FragCoord;" // needs qualifier fixed later + " bool gl_FrontFacing;" // needs qualifier fixed later + "mediump vec4 gl_FragColor;" // needs qualifier fixed later + "mediump vec2 gl_PointCoord;" // needs qualifier fixed later + ); + } +#endif + if (version >= 300) { + stageBuiltins[EShLangFragment].append( + "highp vec4 gl_FragCoord;" // needs qualifier fixed later + " bool gl_FrontFacing;" // needs qualifier fixed later + "mediump vec2 gl_PointCoord;" // needs qualifier fixed later + "highp float gl_FragDepth;" // needs qualifier fixed later + ); + } +#ifndef GLSLANG_WEB + if (version >= 310) { + stageBuiltins[EShLangFragment].append( + "bool gl_HelperInvocation;" // needs qualifier fixed later + "flat in highp int gl_PrimitiveID;" // needs qualifier fixed later + "flat in highp int gl_Layer;" // needs qualifier fixed later + ); + + stageBuiltins[EShLangFragment].append( // GL_OES_sample_variables + "flat in lowp int gl_SampleID;" + " in mediump vec2 gl_SamplePosition;" + "flat in highp int gl_SampleMaskIn[];" + " out highp int gl_SampleMask[];" + ); + if (spvVersion.spv == 0) + stageBuiltins[EShLangFragment].append( // GL_OES_sample_variables + "uniform lowp int gl_NumSamples;" + ); + } + stageBuiltins[EShLangFragment].append( + "highp float gl_FragDepthEXT;" // GL_EXT_frag_depth + ); + + if (version >= 310) + stageBuiltins[EShLangFragment].append( // GL_EXT_fragment_invocation_density + "flat in ivec2 gl_FragSizeEXT;" + "flat in int gl_FragInvocationCountEXT;" + ); + if (version >= 320) + stageBuiltins[EShLangFragment].append( // GL_NV_shading_rate_image + "flat in ivec2 gl_FragmentSizeNV;" + "flat in int gl_InvocationsPerPixelNV;" + ); + if (version >= 320) + stageBuiltins[EShLangFragment].append( + "in vec3 gl_BaryCoordNV;" + "in vec3 gl_BaryCoordNoPerspNV;" + ); + if (version >= 310) + stageBuiltins[EShLangFragment].append( + "flat in highp int gl_ShadingRateEXT;" // GL_EXT_fragment_shading_rate + ); + } +#endif + + stageBuiltins[EShLangFragment].append("\n"); + + if (version >= 130) + add2ndGenerationSamplingImaging(version, profile, spvVersion); + +#ifndef GLSLANG_WEB + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangFragment].append( + "flat in highp int gl_DeviceIndex;" // GL_EXT_device_group + "flat in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + + if (version >= 300 /* both ES and non-ES */) { + stageBuiltins[EShLangFragment].append( + "flat in highp uint gl_ViewID_OVR;" // GL_OVR_multiview, GL_OVR_multiview2 + "\n"); + } + +#ifndef GLSLANG_ANGLE + // GL_ARB_shader_ballot + if (profile != EEsProfile && version >= 450) { + const char* ballotDecls = + "uniform uint gl_SubGroupSizeARB;" + "in uint gl_SubGroupInvocationARB;" + "in uint64_t gl_SubGroupEqMaskARB;" + "in uint64_t gl_SubGroupGeMaskARB;" + "in uint64_t gl_SubGroupGtMaskARB;" + "in uint64_t gl_SubGroupLeMaskARB;" + "in uint64_t gl_SubGroupLtMaskARB;" + "\n"; + const char* rtBallotDecls = + "uniform volatile uint gl_SubGroupSizeARB;" + "in volatile uint gl_SubGroupInvocationARB;" + "in volatile uint64_t gl_SubGroupEqMaskARB;" + "in volatile uint64_t gl_SubGroupGeMaskARB;" + "in volatile uint64_t gl_SubGroupGtMaskARB;" + "in volatile uint64_t gl_SubGroupLeMaskARB;" + "in volatile uint64_t gl_SubGroupLtMaskARB;" + "\n"; + const char* fragmentBallotDecls = + "uniform uint gl_SubGroupSizeARB;" + "flat in uint gl_SubGroupInvocationARB;" + "flat in uint64_t gl_SubGroupEqMaskARB;" + "flat in uint64_t gl_SubGroupGeMaskARB;" + "flat in uint64_t gl_SubGroupGtMaskARB;" + "flat in uint64_t gl_SubGroupLeMaskARB;" + "flat in uint64_t gl_SubGroupLtMaskARB;" + "\n"; + stageBuiltins[EShLangVertex] .append(ballotDecls); + stageBuiltins[EShLangTessControl] .append(ballotDecls); + stageBuiltins[EShLangTessEvaluation].append(ballotDecls); + stageBuiltins[EShLangGeometry] .append(ballotDecls); + stageBuiltins[EShLangCompute] .append(ballotDecls); + stageBuiltins[EShLangFragment] .append(fragmentBallotDecls); + stageBuiltins[EShLangMeshNV] .append(ballotDecls); + stageBuiltins[EShLangTaskNV] .append(ballotDecls); + stageBuiltins[EShLangRayGen] .append(rtBallotDecls); + stageBuiltins[EShLangIntersect] .append(rtBallotDecls); + // No volatile qualifier on these builtins in any-hit + stageBuiltins[EShLangAnyHit] .append(ballotDecls); + stageBuiltins[EShLangClosestHit] .append(rtBallotDecls); + stageBuiltins[EShLangMiss] .append(rtBallotDecls); + stageBuiltins[EShLangCallable] .append(rtBallotDecls); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + const char* subgroupDecls = + "in mediump uint gl_SubgroupSize;" + "in mediump uint gl_SubgroupInvocationID;" + "in highp uvec4 gl_SubgroupEqMask;" + "in highp uvec4 gl_SubgroupGeMask;" + "in highp uvec4 gl_SubgroupGtMask;" + "in highp uvec4 gl_SubgroupLeMask;" + "in highp uvec4 gl_SubgroupLtMask;" + // GL_NV_shader_sm_builtins + "in highp uint gl_WarpsPerSMNV;" + "in highp uint gl_SMCountNV;" + "in highp uint gl_WarpIDNV;" + "in highp uint gl_SMIDNV;" + "\n"; + const char* fragmentSubgroupDecls = + "flat in mediump uint gl_SubgroupSize;" + "flat in mediump uint gl_SubgroupInvocationID;" + "flat in highp uvec4 gl_SubgroupEqMask;" + "flat in highp uvec4 gl_SubgroupGeMask;" + "flat in highp uvec4 gl_SubgroupGtMask;" + "flat in highp uvec4 gl_SubgroupLeMask;" + "flat in highp uvec4 gl_SubgroupLtMask;" + // GL_NV_shader_sm_builtins + "flat in highp uint gl_WarpsPerSMNV;" + "flat in highp uint gl_SMCountNV;" + "flat in highp uint gl_WarpIDNV;" + "flat in highp uint gl_SMIDNV;" + "\n"; + const char* computeSubgroupDecls = + "in highp uint gl_NumSubgroups;" + "in highp uint gl_SubgroupID;" + "\n"; + // These builtins are volatile for RT stages + const char* rtSubgroupDecls = + "in mediump volatile uint gl_SubgroupSize;" + "in mediump volatile uint gl_SubgroupInvocationID;" + "in highp volatile uvec4 gl_SubgroupEqMask;" + "in highp volatile uvec4 gl_SubgroupGeMask;" + "in highp volatile uvec4 gl_SubgroupGtMask;" + "in highp volatile uvec4 gl_SubgroupLeMask;" + "in highp volatile uvec4 gl_SubgroupLtMask;" + // GL_NV_shader_sm_builtins + "in highp uint gl_WarpsPerSMNV;" + "in highp uint gl_SMCountNV;" + "in highp volatile uint gl_WarpIDNV;" + "in highp volatile uint gl_SMIDNV;" + "\n"; + + stageBuiltins[EShLangVertex] .append(subgroupDecls); + stageBuiltins[EShLangTessControl] .append(subgroupDecls); + stageBuiltins[EShLangTessEvaluation].append(subgroupDecls); + stageBuiltins[EShLangGeometry] .append(subgroupDecls); + stageBuiltins[EShLangCompute] .append(subgroupDecls); + stageBuiltins[EShLangCompute] .append(computeSubgroupDecls); + stageBuiltins[EShLangFragment] .append(fragmentSubgroupDecls); + stageBuiltins[EShLangMeshNV] .append(subgroupDecls); + stageBuiltins[EShLangMeshNV] .append(computeSubgroupDecls); + stageBuiltins[EShLangTaskNV] .append(subgroupDecls); + stageBuiltins[EShLangTaskNV] .append(computeSubgroupDecls); + stageBuiltins[EShLangRayGen] .append(rtSubgroupDecls); + stageBuiltins[EShLangIntersect] .append(rtSubgroupDecls); + // No volatile qualifier on these builtins in any-hit + stageBuiltins[EShLangAnyHit] .append(subgroupDecls); + stageBuiltins[EShLangClosestHit] .append(rtSubgroupDecls); + stageBuiltins[EShLangMiss] .append(rtSubgroupDecls); + stageBuiltins[EShLangCallable] .append(rtSubgroupDecls); + } + + // GL_NV_ray_tracing/GL_EXT_ray_tracing + if (profile != EEsProfile && version >= 460) { + + const char *constRayFlags = + "const uint gl_RayFlagsNoneNV = 0U;" + "const uint gl_RayFlagsNoneEXT = 0U;" + "const uint gl_RayFlagsOpaqueNV = 1U;" + "const uint gl_RayFlagsOpaqueEXT = 1U;" + "const uint gl_RayFlagsNoOpaqueNV = 2U;" + "const uint gl_RayFlagsNoOpaqueEXT = 2U;" + "const uint gl_RayFlagsTerminateOnFirstHitNV = 4U;" + "const uint gl_RayFlagsTerminateOnFirstHitEXT = 4U;" + "const uint gl_RayFlagsSkipClosestHitShaderNV = 8U;" + "const uint gl_RayFlagsSkipClosestHitShaderEXT = 8U;" + "const uint gl_RayFlagsCullBackFacingTrianglesNV = 16U;" + "const uint gl_RayFlagsCullBackFacingTrianglesEXT = 16U;" + "const uint gl_RayFlagsCullFrontFacingTrianglesNV = 32U;" + "const uint gl_RayFlagsCullFrontFacingTrianglesEXT = 32U;" + "const uint gl_RayFlagsCullOpaqueNV = 64U;" + "const uint gl_RayFlagsCullOpaqueEXT = 64U;" + "const uint gl_RayFlagsCullNoOpaqueNV = 128U;" + "const uint gl_RayFlagsCullNoOpaqueEXT = 128U;" + "const uint gl_RayFlagsSkipTrianglesEXT = 256U;" + "const uint gl_RayFlagsSkipAABBEXT = 512U;" + "const uint gl_HitKindFrontFacingTriangleEXT = 254U;" + "const uint gl_HitKindBackFacingTriangleEXT = 255U;" + "\n"; + + const char *constRayQueryIntersection = + "const uint gl_RayQueryCandidateIntersectionEXT = 0U;" + "const uint gl_RayQueryCommittedIntersectionEXT = 1U;" + "const uint gl_RayQueryCommittedIntersectionNoneEXT = 0U;" + "const uint gl_RayQueryCommittedIntersectionTriangleEXT = 1U;" + "const uint gl_RayQueryCommittedIntersectionGeneratedEXT = 2U;" + "const uint gl_RayQueryCandidateIntersectionTriangleEXT = 0U;" + "const uint gl_RayQueryCandidateIntersectionAABBEXT = 1U;" + "\n"; + + const char *rayGenDecls = + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchIDEXT;" + "in uvec3 gl_LaunchSizeNV;" + "in uvec3 gl_LaunchSizeEXT;" + "\n"; + const char *intersectDecls = + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchIDEXT;" + "in uvec3 gl_LaunchSizeNV;" + "in uvec3 gl_LaunchSizeEXT;" + "in int gl_PrimitiveID;" + "in int gl_InstanceID;" + "in int gl_InstanceCustomIndexNV;" + "in int gl_InstanceCustomIndexEXT;" + "in int gl_GeometryIndexEXT;" + "in vec3 gl_WorldRayOriginNV;" + "in vec3 gl_WorldRayOriginEXT;" + "in vec3 gl_WorldRayDirectionNV;" + "in vec3 gl_WorldRayDirectionEXT;" + "in vec3 gl_ObjectRayOriginNV;" + "in vec3 gl_ObjectRayOriginEXT;" + "in vec3 gl_ObjectRayDirectionNV;" + "in vec3 gl_ObjectRayDirectionEXT;" + "in float gl_RayTminNV;" + "in float gl_RayTminEXT;" + "in float gl_RayTmaxNV;" + "in volatile float gl_RayTmaxEXT;" + "in mat4x3 gl_ObjectToWorldNV;" + "in mat4x3 gl_ObjectToWorldEXT;" + "in mat3x4 gl_ObjectToWorld3x4EXT;" + "in mat4x3 gl_WorldToObjectNV;" + "in mat4x3 gl_WorldToObjectEXT;" + "in mat3x4 gl_WorldToObject3x4EXT;" + "in uint gl_IncomingRayFlagsNV;" + "in uint gl_IncomingRayFlagsEXT;" + "\n"; + const char *hitDecls = + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchIDEXT;" + "in uvec3 gl_LaunchSizeNV;" + "in uvec3 gl_LaunchSizeEXT;" + "in int gl_PrimitiveID;" + "in int gl_InstanceID;" + "in int gl_InstanceCustomIndexNV;" + "in int gl_InstanceCustomIndexEXT;" + "in int gl_GeometryIndexEXT;" + "in vec3 gl_WorldRayOriginNV;" + "in vec3 gl_WorldRayOriginEXT;" + "in vec3 gl_WorldRayDirectionNV;" + "in vec3 gl_WorldRayDirectionEXT;" + "in vec3 gl_ObjectRayOriginNV;" + "in vec3 gl_ObjectRayOriginEXT;" + "in vec3 gl_ObjectRayDirectionNV;" + "in vec3 gl_ObjectRayDirectionEXT;" + "in float gl_RayTminNV;" + "in float gl_RayTminEXT;" + "in float gl_RayTmaxNV;" + "in float gl_RayTmaxEXT;" + "in float gl_HitTNV;" + "in float gl_HitTEXT;" + "in uint gl_HitKindNV;" + "in uint gl_HitKindEXT;" + "in mat4x3 gl_ObjectToWorldNV;" + "in mat4x3 gl_ObjectToWorldEXT;" + "in mat3x4 gl_ObjectToWorld3x4EXT;" + "in mat4x3 gl_WorldToObjectNV;" + "in mat4x3 gl_WorldToObjectEXT;" + "in mat3x4 gl_WorldToObject3x4EXT;" + "in uint gl_IncomingRayFlagsNV;" + "in uint gl_IncomingRayFlagsEXT;" + "\n"; + const char *missDecls = + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchIDEXT;" + "in uvec3 gl_LaunchSizeNV;" + "in uvec3 gl_LaunchSizeEXT;" + "in vec3 gl_WorldRayOriginNV;" + "in vec3 gl_WorldRayOriginEXT;" + "in vec3 gl_WorldRayDirectionNV;" + "in vec3 gl_WorldRayDirectionEXT;" + "in vec3 gl_ObjectRayOriginNV;" + "in vec3 gl_ObjectRayDirectionNV;" + "in float gl_RayTminNV;" + "in float gl_RayTminEXT;" + "in float gl_RayTmaxNV;" + "in float gl_RayTmaxEXT;" + "in uint gl_IncomingRayFlagsNV;" + "in uint gl_IncomingRayFlagsEXT;" + "\n"; + + const char *callableDecls = + "in uvec3 gl_LaunchIDNV;" + "in uvec3 gl_LaunchIDEXT;" + "in uvec3 gl_LaunchSizeNV;" + "in uvec3 gl_LaunchSizeEXT;" + "\n"; + + + commonBuiltins.append(constRayQueryIntersection); + commonBuiltins.append(constRayFlags); + + stageBuiltins[EShLangRayGen].append(rayGenDecls); + stageBuiltins[EShLangIntersect].append(intersectDecls); + stageBuiltins[EShLangAnyHit].append(hitDecls); + stageBuiltins[EShLangClosestHit].append(hitDecls); + stageBuiltins[EShLangMiss].append(missDecls); + stageBuiltins[EShLangCallable].append(callableDecls); + + } + + if ((profile != EEsProfile && version >= 140)) { + const char *deviceIndex = + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "\n"; + + stageBuiltins[EShLangRayGen].append(deviceIndex); + stageBuiltins[EShLangIntersect].append(deviceIndex); + stageBuiltins[EShLangAnyHit].append(deviceIndex); + stageBuiltins[EShLangClosestHit].append(deviceIndex); + stageBuiltins[EShLangMiss].append(deviceIndex); + } + + if ((profile != EEsProfile && version >= 420) || + (profile == EEsProfile && version >= 310)) { + commonBuiltins.append("const int gl_ScopeDevice = 1;\n"); + commonBuiltins.append("const int gl_ScopeWorkgroup = 2;\n"); + commonBuiltins.append("const int gl_ScopeSubgroup = 3;\n"); + commonBuiltins.append("const int gl_ScopeInvocation = 4;\n"); + commonBuiltins.append("const int gl_ScopeQueueFamily = 5;\n"); + commonBuiltins.append("const int gl_ScopeShaderCallEXT = 6;\n"); + + commonBuiltins.append("const int gl_SemanticsRelaxed = 0x0;\n"); + commonBuiltins.append("const int gl_SemanticsAcquire = 0x2;\n"); + commonBuiltins.append("const int gl_SemanticsRelease = 0x4;\n"); + commonBuiltins.append("const int gl_SemanticsAcquireRelease = 0x8;\n"); + commonBuiltins.append("const int gl_SemanticsMakeAvailable = 0x2000;\n"); + commonBuiltins.append("const int gl_SemanticsMakeVisible = 0x4000;\n"); + commonBuiltins.append("const int gl_SemanticsVolatile = 0x8000;\n"); + + commonBuiltins.append("const int gl_StorageSemanticsNone = 0x0;\n"); + commonBuiltins.append("const int gl_StorageSemanticsBuffer = 0x40;\n"); + commonBuiltins.append("const int gl_StorageSemanticsShared = 0x100;\n"); + commonBuiltins.append("const int gl_StorageSemanticsImage = 0x800;\n"); + commonBuiltins.append("const int gl_StorageSemanticsOutput = 0x1000;\n"); + } + + // Adding these to common built-ins triggers an assert due to a memory corruption in related code when testing + // So instead add to each stage individually, avoiding the GLSLang bug + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 310)) { + for (int stage=EShLangVertex; stage(stage)].append("const highp int gl_ShadingRateFlag2VerticalPixelsEXT = 1;\n"); + stageBuiltins[static_cast(stage)].append("const highp int gl_ShadingRateFlag4VerticalPixelsEXT = 2;\n"); + stageBuiltins[static_cast(stage)].append("const highp int gl_ShadingRateFlag2HorizontalPixelsEXT = 4;\n"); + stageBuiltins[static_cast(stage)].append("const highp int gl_ShadingRateFlag4HorizontalPixelsEXT = 8;\n"); + } + } + + // GL_EXT_shader_image_int64 + if ((profile != EEsProfile && version >= 420) || + (profile == EEsProfile && version >= 310)) { + + const TBasicType bTypes[] = { EbtInt64, EbtUint64 }; + for (int ms = 0; ms <= 1; ++ms) { // loop over "bool" multisample or not + for (int arrayed = 0; arrayed <= 1; ++arrayed) { // loop over "bool" arrayed or not + for (int dim = Esd1D; dim < EsdSubpass; ++dim) { // 1D, ..., buffer + if ((dim == Esd1D || dim == EsdRect) && profile == EEsProfile) + continue; + + if ((dim == Esd3D || dim == EsdRect || dim == EsdBuffer) && arrayed) + continue; + + if (dim != Esd2D && ms) + continue; + + // Loop over the bTypes + for (size_t bType = 0; bType < sizeof(bTypes)/sizeof(TBasicType); ++bType) { + // + // Now, make all the function prototypes for the type we just built... + // + TSampler sampler; + + sampler.setImage(bTypes[bType], (TSamplerDim)dim, arrayed ? true : false, + false, + ms ? true : false); + + TString typeName = sampler.getString(); + + addQueryFunctions(sampler, typeName, version, profile); + addImageFunctions(sampler, typeName, version, profile); + } + } + } + } + } +#endif // !GLSLANG_ANGLE + +#endif // !GLSLANG_WEB + + // printf("%s\n", commonBuiltins.c_str()); + // printf("%s\n", stageBuiltins[EShLangFragment].c_str()); +} + +// +// Helper function for initialize(), to add the second set of names for texturing, +// when adding context-independent built-in functions. +// +void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile, const SpvVersion& spvVersion) +{ + // + // In this function proper, enumerate the types, then calls the next set of functions + // to enumerate all the uses for that type. + // + + // enumerate all the types + const TBasicType bTypes[] = { EbtFloat, EbtInt, EbtUint, +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + EbtFloat16 +#endif + }; +#ifdef GLSLANG_WEB + bool skipBuffer = true; + bool skipCubeArrayed = true; + const int image = 0; +#else + bool skipBuffer = (profile == EEsProfile && version < 310) || (profile != EEsProfile && version < 140); + bool skipCubeArrayed = (profile == EEsProfile && version < 310) || (profile != EEsProfile && version < 130); + for (int image = 0; image <= 1; ++image) // loop over "bool" image vs sampler +#endif + { + for (int shadow = 0; shadow <= 1; ++shadow) { // loop over "bool" shadow or not +#ifdef GLSLANG_WEB + const int ms = 0; +#else + for (int ms = 0; ms <= 1; ++ms) // loop over "bool" multisample or not +#endif + { + if ((ms || image) && shadow) + continue; + if (ms && profile != EEsProfile && version < 150) + continue; + if (ms && image && profile == EEsProfile) + continue; + if (ms && profile == EEsProfile && version < 310) + continue; + + for (int arrayed = 0; arrayed <= 1; ++arrayed) { // loop over "bool" arrayed or not +#ifdef GLSLANG_WEB + for (int dim = Esd2D; dim <= EsdCube; ++dim) { // 2D, 3D, and Cube +#else +#if defined(GLSLANG_ANGLE) + for (int dim = Esd2D; dim < EsdNumDims; ++dim) { // 2D, ..., buffer, subpass +#else + for (int dim = Esd1D; dim < EsdNumDims; ++dim) { // 1D, ..., buffer, subpass +#endif + if (dim == EsdSubpass && spvVersion.vulkan == 0) + continue; + if (dim == EsdSubpass && (image || shadow || arrayed)) + continue; + if ((dim == Esd1D || dim == EsdRect) && profile == EEsProfile) + continue; + if (dim == EsdSubpass && spvVersion.vulkan == 0) + continue; + if (dim == EsdSubpass && (image || shadow || arrayed)) + continue; + if ((dim == Esd1D || dim == EsdRect) && profile == EEsProfile) + continue; + if (dim != Esd2D && dim != EsdSubpass && ms) + continue; + if (dim == EsdBuffer && skipBuffer) + continue; + if (dim == EsdBuffer && (shadow || arrayed || ms)) + continue; + if (ms && arrayed && profile == EEsProfile && version < 310) + continue; +#endif + if (dim == Esd3D && shadow) + continue; + if (dim == EsdCube && arrayed && skipCubeArrayed) + continue; + if ((dim == Esd3D || dim == EsdRect) && arrayed) + continue; + + // Loop over the bTypes + for (size_t bType = 0; bType < sizeof(bTypes)/sizeof(TBasicType); ++bType) { +#ifndef GLSLANG_WEB + if (bTypes[bType] == EbtFloat16 && (profile == EEsProfile || version < 450)) + continue; + if (dim == EsdRect && version < 140 && bType > 0) + continue; +#endif + if (shadow && (bTypes[bType] == EbtInt || bTypes[bType] == EbtUint)) + continue; + // + // Now, make all the function prototypes for the type we just built... + // + TSampler sampler; +#ifndef GLSLANG_WEB + if (dim == EsdSubpass) { + sampler.setSubpass(bTypes[bType], ms ? true : false); + } else +#endif + if (image) { + sampler.setImage(bTypes[bType], (TSamplerDim)dim, arrayed ? true : false, + shadow ? true : false, + ms ? true : false); + } else { + sampler.set(bTypes[bType], (TSamplerDim)dim, arrayed ? true : false, + shadow ? true : false, + ms ? true : false); + } + + TString typeName = sampler.getString(); + +#ifndef GLSLANG_WEB + if (dim == EsdSubpass) { + addSubpassSampling(sampler, typeName, version, profile); + continue; + } +#endif + + addQueryFunctions(sampler, typeName, version, profile); + + if (image) + addImageFunctions(sampler, typeName, version, profile); + else { + addSamplingFunctions(sampler, typeName, version, profile); +#ifndef GLSLANG_WEB + addGatherFunctions(sampler, typeName, version, profile); + if (spvVersion.vulkan > 0 && sampler.isCombined() && !sampler.shadow) { + // Base Vulkan allows texelFetch() for + // textureBuffer (i.e. without sampler). + // + // GL_EXT_samplerless_texture_functions + // allows texelFetch() and query functions + // (other than textureQueryLod()) for all + // texture types. + sampler.setTexture(sampler.type, sampler.dim, sampler.arrayed, sampler.shadow, + sampler.ms); + TString textureTypeName = sampler.getString(); + addSamplingFunctions(sampler, textureTypeName, version, profile); + addQueryFunctions(sampler, textureTypeName, version, profile); + } +#endif + } + } + } + } + } + } + } + + // + // sparseTexelsResidentARB() + // + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append("bool sparseTexelsResidentARB(int code);\n"); + } +} + +// +// Helper function for add2ndGenerationSamplingImaging(), +// when adding context-independent built-in functions. +// +// Add all the query functions for the given type. +// +void TBuiltIns::addQueryFunctions(TSampler sampler, const TString& typeName, int version, EProfile profile) +{ + // + // textureSize() and imageSize() + // + + int sizeDims = dimMap[sampler.dim] + (sampler.arrayed ? 1 : 0) - (sampler.dim == EsdCube ? 1 : 0); + +#ifdef GLSLANG_WEB + commonBuiltins.append("highp "); + commonBuiltins.append("ivec"); + commonBuiltins.append(postfixes[sizeDims]); + commonBuiltins.append(" textureSize("); + commonBuiltins.append(typeName); + commonBuiltins.append(",int);\n"); + return; +#endif + + if (sampler.isImage() && ((profile == EEsProfile && version < 310) || (profile != EEsProfile && version < 420))) + return; + + if (profile == EEsProfile) + commonBuiltins.append("highp "); + if (sizeDims == 1) + commonBuiltins.append("int"); + else { + commonBuiltins.append("ivec"); + commonBuiltins.append(postfixes[sizeDims]); + } + if (sampler.isImage()) + commonBuiltins.append(" imageSize(readonly writeonly volatile coherent "); + else + commonBuiltins.append(" textureSize("); + commonBuiltins.append(typeName); + if (! sampler.isImage() && ! sampler.isRect() && ! sampler.isBuffer() && ! sampler.isMultiSample()) + commonBuiltins.append(",int);\n"); + else + commonBuiltins.append(");\n"); + + // + // textureSamples() and imageSamples() + // + + // GL_ARB_shader_texture_image_samples + // TODO: spec issue? there are no memory qualifiers; how to query a writeonly/readonly image, etc? + if (profile != EEsProfile && version >= 430 && sampler.isMultiSample()) { + commonBuiltins.append("int "); + if (sampler.isImage()) + commonBuiltins.append("imageSamples(readonly writeonly volatile coherent "); + else + commonBuiltins.append("textureSamples("); + commonBuiltins.append(typeName); + commonBuiltins.append(");\n"); + } + + // + // textureQueryLod(), fragment stage only + // Also enabled with extension GL_ARB_texture_query_lod + + if (profile != EEsProfile && version >= 150 && sampler.isCombined() && sampler.dim != EsdRect && + ! sampler.isMultiSample() && ! sampler.isBuffer()) { + for (int f16TexAddr = 0; f16TexAddr < 2; ++f16TexAddr) { + if (f16TexAddr && sampler.type != EbtFloat16) + continue; + stageBuiltins[EShLangFragment].append("vec2 textureQueryLod("); + stageBuiltins[EShLangFragment].append(typeName); + if (dimMap[sampler.dim] == 1) + if (f16TexAddr) + stageBuiltins[EShLangFragment].append(", float16_t"); + else + stageBuiltins[EShLangFragment].append(", float"); + else { + if (f16TexAddr) + stageBuiltins[EShLangFragment].append(", f16vec"); + else + stageBuiltins[EShLangFragment].append(", vec"); + stageBuiltins[EShLangFragment].append(postfixes[dimMap[sampler.dim]]); + } + stageBuiltins[EShLangFragment].append(");\n"); + } + + stageBuiltins[EShLangCompute].append("vec2 textureQueryLod("); + stageBuiltins[EShLangCompute].append(typeName); + if (dimMap[sampler.dim] == 1) + stageBuiltins[EShLangCompute].append(", float"); + else { + stageBuiltins[EShLangCompute].append(", vec"); + stageBuiltins[EShLangCompute].append(postfixes[dimMap[sampler.dim]]); + } + stageBuiltins[EShLangCompute].append(");\n"); + } + + // + // textureQueryLevels() + // + + if (profile != EEsProfile && version >= 430 && ! sampler.isImage() && sampler.dim != EsdRect && + ! sampler.isMultiSample() && ! sampler.isBuffer()) { + commonBuiltins.append("int textureQueryLevels("); + commonBuiltins.append(typeName); + commonBuiltins.append(");\n"); + } +} + +// +// Helper function for add2ndGenerationSamplingImaging(), +// when adding context-independent built-in functions. +// +// Add all the image access functions for the given type. +// +void TBuiltIns::addImageFunctions(TSampler sampler, const TString& typeName, int version, EProfile profile) +{ + int dims = dimMap[sampler.dim]; + // most things with an array add a dimension, except for cubemaps + if (sampler.arrayed && sampler.dim != EsdCube) + ++dims; + + TString imageParams = typeName; + if (dims == 1) + imageParams.append(", int"); + else { + imageParams.append(", ivec"); + imageParams.append(postfixes[dims]); + } + if (sampler.isMultiSample()) + imageParams.append(", int"); + + if (profile == EEsProfile) + commonBuiltins.append("highp "); + commonBuiltins.append(prefixes[sampler.type]); + commonBuiltins.append("vec4 imageLoad(readonly volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(");\n"); + + commonBuiltins.append("void imageStore(writeonly volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", "); + commonBuiltins.append(prefixes[sampler.type]); + commonBuiltins.append("vec4);\n"); + + if (! sampler.is1D() && ! sampler.isBuffer() && profile != EEsProfile && version >= 450) { + commonBuiltins.append("int sparseImageLoadARB(readonly volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", out "); + commonBuiltins.append(prefixes[sampler.type]); + commonBuiltins.append("vec4"); + commonBuiltins.append(");\n"); + } + + if ( profile != EEsProfile || + (profile == EEsProfile && version >= 310)) { + if (sampler.type == EbtInt || sampler.type == EbtUint || sampler.type == EbtInt64 || sampler.type == EbtUint64 ) { + + const char* dataType; + switch (sampler.type) { + case(EbtInt): dataType = "highp int"; break; + case(EbtUint): dataType = "highp uint"; break; + case(EbtInt64): dataType = "highp int64_t"; break; + case(EbtUint64): dataType = "highp uint64_t"; break; + default: dataType = ""; + } + + const int numBuiltins = 7; + + static const char* atomicFunc[numBuiltins] = { + " imageAtomicAdd(volatile coherent ", + " imageAtomicMin(volatile coherent ", + " imageAtomicMax(volatile coherent ", + " imageAtomicAnd(volatile coherent ", + " imageAtomicOr(volatile coherent ", + " imageAtomicXor(volatile coherent ", + " imageAtomicExchange(volatile coherent " + }; + + // Loop twice to add prototypes with/without scope/semantics + for (int j = 0; j < 2; ++j) { + for (size_t i = 0; i < numBuiltins; ++i) { + commonBuiltins.append(dataType); + commonBuiltins.append(atomicFunc[i]); + commonBuiltins.append(imageParams); + commonBuiltins.append(", "); + commonBuiltins.append(dataType); + if (j == 1) { + commonBuiltins.append(", int, int, int"); + } + commonBuiltins.append(");\n"); + } + + commonBuiltins.append(dataType); + commonBuiltins.append(" imageAtomicCompSwap(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", "); + commonBuiltins.append(dataType); + commonBuiltins.append(", "); + commonBuiltins.append(dataType); + if (j == 1) { + commonBuiltins.append(", int, int, int, int, int"); + } + commonBuiltins.append(");\n"); + } + + commonBuiltins.append(dataType); + commonBuiltins.append(" imageAtomicLoad(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", int, int, int);\n"); + + commonBuiltins.append("void imageAtomicStore(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", "); + commonBuiltins.append(dataType); + commonBuiltins.append(", int, int, int);\n"); + + } else { + // not int or uint + // GL_ARB_ES3_1_compatibility + // TODO: spec issue: are there restrictions on the kind of layout() that can be used? what about dropping memory qualifiers? + if (profile == EEsProfile && version >= 310) { + commonBuiltins.append("float imageAtomicExchange(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", float);\n"); + } + if (profile != EEsProfile && version >= 450) { + commonBuiltins.append("float imageAtomicAdd(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", float);\n"); + + commonBuiltins.append("float imageAtomicAdd(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", float"); + commonBuiltins.append(", int, int, int);\n"); + + commonBuiltins.append("float imageAtomicExchange(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", float);\n"); + + commonBuiltins.append("float imageAtomicExchange(volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", float"); + commonBuiltins.append(", int, int, int);\n"); + + commonBuiltins.append("float imageAtomicLoad(readonly volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", int, int, int);\n"); + + commonBuiltins.append("void imageAtomicStore(writeonly volatile coherent "); + commonBuiltins.append(imageParams); + commonBuiltins.append(", float"); + commonBuiltins.append(", int, int, int);\n"); + } + } + } + + if (sampler.dim == EsdRect || sampler.dim == EsdBuffer || sampler.shadow || sampler.isMultiSample()) + return; + + if (profile == EEsProfile || version < 450) + return; + + TString imageLodParams = typeName; + if (dims == 1) + imageLodParams.append(", int"); + else { + imageLodParams.append(", ivec"); + imageLodParams.append(postfixes[dims]); + } + imageLodParams.append(", int"); + + commonBuiltins.append(prefixes[sampler.type]); + commonBuiltins.append("vec4 imageLoadLodAMD(readonly volatile coherent "); + commonBuiltins.append(imageLodParams); + commonBuiltins.append(");\n"); + + commonBuiltins.append("void imageStoreLodAMD(writeonly volatile coherent "); + commonBuiltins.append(imageLodParams); + commonBuiltins.append(", "); + commonBuiltins.append(prefixes[sampler.type]); + commonBuiltins.append("vec4);\n"); + + if (! sampler.is1D()) { + commonBuiltins.append("int sparseImageLoadLodAMD(readonly volatile coherent "); + commonBuiltins.append(imageLodParams); + commonBuiltins.append(", out "); + commonBuiltins.append(prefixes[sampler.type]); + commonBuiltins.append("vec4"); + commonBuiltins.append(");\n"); + } +} + +// +// Helper function for initialize(), +// when adding context-independent built-in functions. +// +// Add all the subpass access functions for the given type. +// +void TBuiltIns::addSubpassSampling(TSampler sampler, const TString& typeName, int /*version*/, EProfile /*profile*/) +{ + stageBuiltins[EShLangFragment].append(prefixes[sampler.type]); + stageBuiltins[EShLangFragment].append("vec4 subpassLoad"); + stageBuiltins[EShLangFragment].append("("); + stageBuiltins[EShLangFragment].append(typeName.c_str()); + if (sampler.isMultiSample()) + stageBuiltins[EShLangFragment].append(", int"); + stageBuiltins[EShLangFragment].append(");\n"); +} + +// +// Helper function for add2ndGenerationSamplingImaging(), +// when adding context-independent built-in functions. +// +// Add all the texture lookup functions for the given type. +// +void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName, int version, EProfile profile) +{ +#ifdef GLSLANG_WEB + profile = EEsProfile; + version = 310; +#elif defined(GLSLANG_ANGLE) + profile = ECoreProfile; + version = 450; +#endif + + // + // texturing + // + for (int proj = 0; proj <= 1; ++proj) { // loop over "bool" projective or not + + if (proj && (sampler.dim == EsdCube || sampler.isBuffer() || sampler.arrayed || sampler.isMultiSample() + || !sampler.isCombined())) + continue; + + for (int lod = 0; lod <= 1; ++lod) { + + if (lod && (sampler.isBuffer() || sampler.isRect() || sampler.isMultiSample() || !sampler.isCombined())) + continue; + if (lod && sampler.dim == Esd2D && sampler.arrayed && sampler.shadow) + continue; + if (lod && sampler.dim == EsdCube && sampler.shadow) + continue; + + for (int bias = 0; bias <= 1; ++bias) { + + if (bias && (lod || sampler.isMultiSample() || !sampler.isCombined())) + continue; + if (bias && (sampler.dim == Esd2D || sampler.dim == EsdCube) && sampler.shadow && sampler.arrayed) + continue; + if (bias && (sampler.isRect() || sampler.isBuffer())) + continue; + + for (int offset = 0; offset <= 1; ++offset) { // loop over "bool" offset or not + + if (proj + offset + bias + lod > 3) + continue; + if (offset && (sampler.dim == EsdCube || sampler.isBuffer() || sampler.isMultiSample())) + continue; + + for (int fetch = 0; fetch <= 1; ++fetch) { // loop over "bool" fetch or not + + if (proj + offset + fetch + bias + lod > 3) + continue; + if (fetch && (lod || bias)) + continue; + if (fetch && (sampler.shadow || sampler.dim == EsdCube)) + continue; + if (fetch == 0 && (sampler.isMultiSample() || sampler.isBuffer() + || !sampler.isCombined())) + continue; + + for (int grad = 0; grad <= 1; ++grad) { // loop over "bool" grad or not + + if (grad && (lod || bias || sampler.isMultiSample() || !sampler.isCombined())) + continue; + if (grad && sampler.isBuffer()) + continue; + if (proj + offset + fetch + grad + bias + lod > 3) + continue; + + for (int extraProj = 0; extraProj <= 1; ++extraProj) { + bool compare = false; + int totalDims = dimMap[sampler.dim] + (sampler.arrayed ? 1 : 0); + // skip dummy unused second component for 1D non-array shadows + if (sampler.shadow && totalDims < 2) + totalDims = 2; + totalDims += (sampler.shadow ? 1 : 0) + proj; + if (totalDims > 4 && sampler.shadow) { + compare = true; + totalDims = 4; + } + assert(totalDims <= 4); + + if (extraProj && ! proj) + continue; + if (extraProj && (sampler.dim == Esd3D || sampler.shadow || !sampler.isCombined())) + continue; + + // loop over 16-bit floating-point texel addressing +#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE) + const int f16TexAddr = 0; +#else + for (int f16TexAddr = 0; f16TexAddr <= 1; ++f16TexAddr) +#endif + { + if (f16TexAddr && sampler.type != EbtFloat16) + continue; + if (f16TexAddr && sampler.shadow && ! compare) { + compare = true; // compare argument is always present + totalDims--; + } + // loop over "bool" lod clamp +#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE) + const int lodClamp = 0; +#else + for (int lodClamp = 0; lodClamp <= 1 ;++lodClamp) +#endif + { + if (lodClamp && (profile == EEsProfile || version < 450)) + continue; + if (lodClamp && (proj || lod || fetch)) + continue; + + // loop over "bool" sparse or not +#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE) + const int sparse = 0; +#else + for (int sparse = 0; sparse <= 1; ++sparse) +#endif + { + if (sparse && (profile == EEsProfile || version < 450)) + continue; + // Sparse sampling is not for 1D/1D array texture, buffer texture, and + // projective texture + if (sparse && (sampler.is1D() || sampler.isBuffer() || proj)) + continue; + + TString s; + + // return type + if (sparse) + s.append("int "); + else { + if (sampler.shadow) + if (sampler.type == EbtFloat16) + s.append("float16_t "); + else + s.append("float "); + else { + s.append(prefixes[sampler.type]); + s.append("vec4 "); + } + } + + // name + if (sparse) { + if (fetch) + s.append("sparseTexel"); + else + s.append("sparseTexture"); + } + else { + if (fetch) + s.append("texel"); + else + s.append("texture"); + } + if (proj) + s.append("Proj"); + if (lod) + s.append("Lod"); + if (grad) + s.append("Grad"); + if (fetch) + s.append("Fetch"); + if (offset) + s.append("Offset"); + if (lodClamp) + s.append("Clamp"); + if (lodClamp != 0 || sparse) + s.append("ARB"); + s.append("("); + + // sampler type + s.append(typeName); + // P coordinate + if (extraProj) { + if (f16TexAddr) + s.append(",f16vec4"); + else + s.append(",vec4"); + } else { + s.append(","); + TBasicType t = fetch ? EbtInt : (f16TexAddr ? EbtFloat16 : EbtFloat); + if (totalDims == 1) + s.append(TType::getBasicString(t)); + else { + s.append(prefixes[t]); + s.append("vec"); + s.append(postfixes[totalDims]); + } + } + // non-optional compare + if (compare) + s.append(",float"); + + // non-optional lod argument (lod that's not driven by lod loop) or sample + if ((fetch && !sampler.isBuffer() && + !sampler.isRect() && !sampler.isMultiSample()) + || (sampler.isMultiSample() && fetch)) + s.append(",int"); + // non-optional lod + if (lod) { + if (f16TexAddr) + s.append(",float16_t"); + else + s.append(",float"); + } + + // gradient arguments + if (grad) { + if (dimMap[sampler.dim] == 1) { + if (f16TexAddr) + s.append(",float16_t,float16_t"); + else + s.append(",float,float"); + } else { + if (f16TexAddr) + s.append(",f16vec"); + else + s.append(",vec"); + s.append(postfixes[dimMap[sampler.dim]]); + if (f16TexAddr) + s.append(",f16vec"); + else + s.append(",vec"); + s.append(postfixes[dimMap[sampler.dim]]); + } + } + // offset + if (offset) { + if (dimMap[sampler.dim] == 1) + s.append(",int"); + else { + s.append(",ivec"); + s.append(postfixes[dimMap[sampler.dim]]); + } + } + + // lod clamp + if (lodClamp) { + if (f16TexAddr) + s.append(",float16_t"); + else + s.append(",float"); + } + // texel out (for sparse texture) + if (sparse) { + s.append(",out "); + if (sampler.shadow) + if (sampler.type == EbtFloat16) + s.append("float16_t"); + else + s.append("float"); + else { + s.append(prefixes[sampler.type]); + s.append("vec4"); + } + } + // optional bias + if (bias) { + if (f16TexAddr) + s.append(",float16_t"); + else + s.append(",float"); + } + s.append(");\n"); + + // Add to the per-language set of built-ins + if (bias || lodClamp != 0) { + stageBuiltins[EShLangFragment].append(s); + stageBuiltins[EShLangCompute].append(s); + } else + commonBuiltins.append(s); + + } + } + } + } + } + } + } + } + } + } +} + +// +// Helper function for add2ndGenerationSamplingImaging(), +// when adding context-independent built-in functions. +// +// Add all the texture gather functions for the given type. +// +void TBuiltIns::addGatherFunctions(TSampler sampler, const TString& typeName, int version, EProfile profile) +{ +#ifdef GLSLANG_WEB + profile = EEsProfile; + version = 310; +#elif defined(GLSLANG_ANGLE) + profile = ECoreProfile; + version = 450; +#endif + + switch (sampler.dim) { + case Esd2D: + case EsdRect: + case EsdCube: + break; + default: + return; + } + + if (sampler.isMultiSample()) + return; + + if (version < 140 && sampler.dim == EsdRect && sampler.type != EbtFloat) + return; + + for (int f16TexAddr = 0; f16TexAddr <= 1; ++f16TexAddr) { // loop over 16-bit floating-point texel addressing + + if (f16TexAddr && sampler.type != EbtFloat16) + continue; + for (int offset = 0; offset < 3; ++offset) { // loop over three forms of offset in the call name: none, Offset, and Offsets + + for (int comp = 0; comp < 2; ++comp) { // loop over presence of comp argument + + if (comp > 0 && sampler.shadow) + continue; + + if (offset > 0 && sampler.dim == EsdCube) + continue; + + for (int sparse = 0; sparse <= 1; ++sparse) { // loop over "bool" sparse or not + if (sparse && (profile == EEsProfile || version < 450)) + continue; + + TString s; + + // return type + if (sparse) + s.append("int "); + else { + s.append(prefixes[sampler.type]); + s.append("vec4 "); + } + + // name + if (sparse) + s.append("sparseTextureGather"); + else + s.append("textureGather"); + switch (offset) { + case 1: + s.append("Offset"); + break; + case 2: + s.append("Offsets"); + break; + default: + break; + } + if (sparse) + s.append("ARB"); + s.append("("); + + // sampler type argument + s.append(typeName); + + // P coordinate argument + if (f16TexAddr) + s.append(",f16vec"); + else + s.append(",vec"); + int totalDims = dimMap[sampler.dim] + (sampler.arrayed ? 1 : 0); + s.append(postfixes[totalDims]); + + // refZ argument + if (sampler.shadow) + s.append(",float"); + + // offset argument + if (offset > 0) { + s.append(",ivec2"); + if (offset == 2) + s.append("[4]"); + } + + // texel out (for sparse texture) + if (sparse) { + s.append(",out "); + s.append(prefixes[sampler.type]); + s.append("vec4 "); + } + + // comp argument + if (comp) + s.append(",int"); + + s.append(");\n"); + commonBuiltins.append(s); + } + } + } + } + + if (sampler.dim == EsdRect || sampler.shadow) + return; + + if (profile == EEsProfile || version < 450) + return; + + for (int bias = 0; bias < 2; ++bias) { // loop over presence of bias argument + + for (int lod = 0; lod < 2; ++lod) { // loop over presence of lod argument + + if ((lod && bias) || (lod == 0 && bias == 0)) + continue; + + for (int f16TexAddr = 0; f16TexAddr <= 1; ++f16TexAddr) { // loop over 16-bit floating-point texel addressing + + if (f16TexAddr && sampler.type != EbtFloat16) + continue; + + for (int offset = 0; offset < 3; ++offset) { // loop over three forms of offset in the call name: none, Offset, and Offsets + + for (int comp = 0; comp < 2; ++comp) { // loop over presence of comp argument + + if (comp == 0 && bias) + continue; + + if (offset > 0 && sampler.dim == EsdCube) + continue; + + for (int sparse = 0; sparse <= 1; ++sparse) { // loop over "bool" sparse or not + if (sparse && (profile == EEsProfile || version < 450)) + continue; + + TString s; + + // return type + if (sparse) + s.append("int "); + else { + s.append(prefixes[sampler.type]); + s.append("vec4 "); + } + + // name + if (sparse) + s.append("sparseTextureGather"); + else + s.append("textureGather"); + + if (lod) + s.append("Lod"); + + switch (offset) { + case 1: + s.append("Offset"); + break; + case 2: + s.append("Offsets"); + break; + default: + break; + } + + if (lod) + s.append("AMD"); + else if (sparse) + s.append("ARB"); + + s.append("("); + + // sampler type argument + s.append(typeName); + + // P coordinate argument + if (f16TexAddr) + s.append(",f16vec"); + else + s.append(",vec"); + int totalDims = dimMap[sampler.dim] + (sampler.arrayed ? 1 : 0); + s.append(postfixes[totalDims]); + + // lod argument + if (lod) { + if (f16TexAddr) + s.append(",float16_t"); + else + s.append(",float"); + } + + // offset argument + if (offset > 0) { + s.append(",ivec2"); + if (offset == 2) + s.append("[4]"); + } + + // texel out (for sparse texture) + if (sparse) { + s.append(",out "); + s.append(prefixes[sampler.type]); + s.append("vec4 "); + } + + // comp argument + if (comp) + s.append(",int"); + + // bias argument + if (bias) { + if (f16TexAddr) + s.append(",float16_t"); + else + s.append(",float"); + } + + s.append(");\n"); + if (bias) + stageBuiltins[EShLangFragment].append(s); + else + commonBuiltins.append(s); + } + } + } + } + } + } +} + +// +// Add context-dependent built-in functions and variables that are present +// for the given version and profile. All the results are put into just the +// commonBuiltins, because it is called for just a specific stage. So, +// add stage-specific entries to the commonBuiltins, and only if that stage +// was requested. +// +void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language) +{ +#ifdef GLSLANG_WEB + version = 310; + profile = EEsProfile; +#elif defined(GLSLANG_ANGLE) + version = 450; + profile = ECoreProfile; +#endif + + // + // Initialize the context-dependent (resource-dependent) built-in strings for parsing. + // + + //============================================================================ + // + // Standard Uniforms + // + //============================================================================ + + TString& s = commonBuiltins; + const int maxSize = 200; + char builtInConstant[maxSize]; + + // + // Build string of implementation dependent constants. + // + + if (profile == EEsProfile) { + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxVertexAttribs = %d;", resources.maxVertexAttribs); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxVertexUniformVectors = %d;", resources.maxVertexUniformVectors); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxVertexTextureImageUnits = %d;", resources.maxVertexTextureImageUnits); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxCombinedTextureImageUnits = %d;", resources.maxCombinedTextureImageUnits); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxTextureImageUnits = %d;", resources.maxTextureImageUnits); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxFragmentUniformVectors = %d;", resources.maxFragmentUniformVectors); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxDrawBuffers = %d;", resources.maxDrawBuffers); + s.append(builtInConstant); + + if (version == 100) { + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxVaryingVectors = %d;", resources.maxVaryingVectors); + s.append(builtInConstant); + } else { + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxVertexOutputVectors = %d;", resources.maxVertexOutputVectors); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxFragmentInputVectors = %d;", resources.maxFragmentInputVectors); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MinProgramTexelOffset = %d;", resources.minProgramTexelOffset); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxProgramTexelOffset = %d;", resources.maxProgramTexelOffset); + s.append(builtInConstant); + } + +#ifndef GLSLANG_WEB + if (version >= 310) { + // geometry + + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryInputComponents = %d;", resources.maxGeometryInputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryOutputComponents = %d;", resources.maxGeometryOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryImageUniforms = %d;", resources.maxGeometryImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryTextureImageUnits = %d;", resources.maxGeometryTextureImageUnits); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryOutputVertices = %d;", resources.maxGeometryOutputVertices); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryTotalOutputComponents = %d;", resources.maxGeometryTotalOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryUniformComponents = %d;", resources.maxGeometryUniformComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryAtomicCounters = %d;", resources.maxGeometryAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryAtomicCounterBuffers = %d;", resources.maxGeometryAtomicCounterBuffers); + s.append(builtInConstant); + + // tessellation + + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlInputComponents = %d;", resources.maxTessControlInputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlOutputComponents = %d;", resources.maxTessControlOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlTextureImageUnits = %d;", resources.maxTessControlTextureImageUnits); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlUniformComponents = %d;", resources.maxTessControlUniformComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlTotalOutputComponents = %d;", resources.maxTessControlTotalOutputComponents); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationInputComponents = %d;", resources.maxTessEvaluationInputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationOutputComponents = %d;", resources.maxTessEvaluationOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationTextureImageUnits = %d;", resources.maxTessEvaluationTextureImageUnits); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationUniformComponents = %d;", resources.maxTessEvaluationUniformComponents); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxTessPatchComponents = %d;", resources.maxTessPatchComponents); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxPatchVertices = %d;", resources.maxPatchVertices); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessGenLevel = %d;", resources.maxTessGenLevel); + s.append(builtInConstant); + + // this is here instead of with the others in initialize(version, profile) due to the dependence on gl_MaxPatchVertices + if (language == EShLangTessControl || language == EShLangTessEvaluation) { + s.append( + "in gl_PerVertex {" + "highp vec4 gl_Position;" + "highp float gl_PointSize;" + "highp vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "highp vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "} gl_in[gl_MaxPatchVertices];" + "\n"); + } + } + + if (version >= 320) { + // tessellation + + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlImageUniforms = %d;", resources.maxTessControlImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationImageUniforms = %d;", resources.maxTessEvaluationImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlAtomicCounters = %d;", resources.maxTessControlAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationAtomicCounters = %d;", resources.maxTessEvaluationAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlAtomicCounterBuffers = %d;", resources.maxTessControlAtomicCounterBuffers); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationAtomicCounterBuffers = %d;", resources.maxTessEvaluationAtomicCounterBuffers); + s.append(builtInConstant); + } + + if (version >= 100) { + // GL_EXT_blend_func_extended + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxDualSourceDrawBuffersEXT = %d;", resources.maxDualSourceDrawBuffersEXT); + s.append(builtInConstant); + // this is here instead of with the others in initialize(version, profile) due to the dependence on gl_MaxDualSourceDrawBuffersEXT + if (language == EShLangFragment) { + s.append( + "mediump vec4 gl_SecondaryFragColorEXT;" + "mediump vec4 gl_SecondaryFragDataEXT[gl_MaxDualSourceDrawBuffersEXT];" + "\n"); + } + } + } else { + // non-ES profile + + if (version > 400) { + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexUniformVectors = %d;", resources.maxVertexUniformVectors); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxFragmentUniformVectors = %d;", resources.maxFragmentUniformVectors); + s.append(builtInConstant); + } + + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexAttribs = %d;", resources.maxVertexAttribs); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexTextureImageUnits = %d;", resources.maxVertexTextureImageUnits); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxCombinedTextureImageUnits = %d;", resources.maxCombinedTextureImageUnits); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxTextureImageUnits = %d;", resources.maxTextureImageUnits); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxDrawBuffers = %d;", resources.maxDrawBuffers); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxLights = %d;", resources.maxLights); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxClipPlanes = %d;", resources.maxClipPlanes); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxTextureUnits = %d;", resources.maxTextureUnits); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxTextureCoords = %d;", resources.maxTextureCoords); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexUniformComponents = %d;", resources.maxVertexUniformComponents); + s.append(builtInConstant); + + if (version < 150 || ARBCompatibility) { + snprintf(builtInConstant, maxSize, "const int gl_MaxVaryingFloats = %d;", resources.maxVaryingFloats); + s.append(builtInConstant); + } + + snprintf(builtInConstant, maxSize, "const int gl_MaxFragmentUniformComponents = %d;", resources.maxFragmentUniformComponents); + s.append(builtInConstant); + + if (spvVersion.spv == 0 && IncludeLegacy(version, profile, spvVersion)) { + // + // OpenGL'uniform' state. Page numbers are in reference to version + // 1.4 of the OpenGL specification. + // + + // + // Matrix state. p. 31, 32, 37, 39, 40. + // + s.append("uniform mat4 gl_TextureMatrix[gl_MaxTextureCoords];" + + // + // Derived matrix state that provides inverse and transposed versions + // of the matrices above. + // + "uniform mat4 gl_TextureMatrixInverse[gl_MaxTextureCoords];" + + "uniform mat4 gl_TextureMatrixTranspose[gl_MaxTextureCoords];" + + "uniform mat4 gl_TextureMatrixInverseTranspose[gl_MaxTextureCoords];" + + // + // Clip planes p. 42. + // + "uniform vec4 gl_ClipPlane[gl_MaxClipPlanes];" + + // + // Light State p 50, 53, 55. + // + "uniform gl_LightSourceParameters gl_LightSource[gl_MaxLights];" + + // + // Derived state from products of light. + // + "uniform gl_LightProducts gl_FrontLightProduct[gl_MaxLights];" + "uniform gl_LightProducts gl_BackLightProduct[gl_MaxLights];" + + // + // Texture Environment and Generation, p. 152, p. 40-42. + // + "uniform vec4 gl_TextureEnvColor[gl_MaxTextureImageUnits];" + "uniform vec4 gl_EyePlaneS[gl_MaxTextureCoords];" + "uniform vec4 gl_EyePlaneT[gl_MaxTextureCoords];" + "uniform vec4 gl_EyePlaneR[gl_MaxTextureCoords];" + "uniform vec4 gl_EyePlaneQ[gl_MaxTextureCoords];" + "uniform vec4 gl_ObjectPlaneS[gl_MaxTextureCoords];" + "uniform vec4 gl_ObjectPlaneT[gl_MaxTextureCoords];" + "uniform vec4 gl_ObjectPlaneR[gl_MaxTextureCoords];" + "uniform vec4 gl_ObjectPlaneQ[gl_MaxTextureCoords];"); + } + + if (version >= 130) { + snprintf(builtInConstant, maxSize, "const int gl_MaxClipDistances = %d;", resources.maxClipDistances); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxVaryingComponents = %d;", resources.maxVaryingComponents); + s.append(builtInConstant); + + // GL_ARB_shading_language_420pack + snprintf(builtInConstant, maxSize, "const mediump int gl_MinProgramTexelOffset = %d;", resources.minProgramTexelOffset); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const mediump int gl_MaxProgramTexelOffset = %d;", resources.maxProgramTexelOffset); + s.append(builtInConstant); + } + + // geometry + if (version >= 150) { + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryInputComponents = %d;", resources.maxGeometryInputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryOutputComponents = %d;", resources.maxGeometryOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryTextureImageUnits = %d;", resources.maxGeometryTextureImageUnits); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryOutputVertices = %d;", resources.maxGeometryOutputVertices); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryTotalOutputComponents = %d;", resources.maxGeometryTotalOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryUniformComponents = %d;", resources.maxGeometryUniformComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryVaryingComponents = %d;", resources.maxGeometryVaryingComponents); + s.append(builtInConstant); + + } + + if (version >= 150) { + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexOutputComponents = %d;", resources.maxVertexOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxFragmentInputComponents = %d;", resources.maxFragmentInputComponents); + s.append(builtInConstant); + } + + // tessellation + if (version >= 150) { + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlInputComponents = %d;", resources.maxTessControlInputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlOutputComponents = %d;", resources.maxTessControlOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlTextureImageUnits = %d;", resources.maxTessControlTextureImageUnits); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlUniformComponents = %d;", resources.maxTessControlUniformComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlTotalOutputComponents = %d;", resources.maxTessControlTotalOutputComponents); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationInputComponents = %d;", resources.maxTessEvaluationInputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationOutputComponents = %d;", resources.maxTessEvaluationOutputComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationTextureImageUnits = %d;", resources.maxTessEvaluationTextureImageUnits); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationUniformComponents = %d;", resources.maxTessEvaluationUniformComponents); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxTessPatchComponents = %d;", resources.maxTessPatchComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessGenLevel = %d;", resources.maxTessGenLevel); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxPatchVertices = %d;", resources.maxPatchVertices); + s.append(builtInConstant); + + // this is here instead of with the others in initialize(version, profile) due to the dependence on gl_MaxPatchVertices + if (language == EShLangTessControl || language == EShLangTessEvaluation) { + s.append( + "in gl_PerVertex {" + "vec4 gl_Position;" + "float gl_PointSize;" + "float gl_ClipDistance[];" + ); + if (profile == ECompatibilityProfile) + s.append( + "vec4 gl_ClipVertex;" + "vec4 gl_FrontColor;" + "vec4 gl_BackColor;" + "vec4 gl_FrontSecondaryColor;" + "vec4 gl_BackSecondaryColor;" + "vec4 gl_TexCoord[];" + "float gl_FogFragCoord;" + ); + if (profile != EEsProfile && version >= 450) + s.append( + "float gl_CullDistance[];" + "vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + ); + s.append( + "} gl_in[gl_MaxPatchVertices];" + "\n"); + } + } + + if (version >= 150) { + snprintf(builtInConstant, maxSize, "const int gl_MaxViewports = %d;", resources.maxViewports); + s.append(builtInConstant); + } + + // images + if (version >= 130) { + snprintf(builtInConstant, maxSize, "const int gl_MaxCombinedImageUnitsAndFragmentOutputs = %d;", resources.maxCombinedImageUnitsAndFragmentOutputs); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxImageSamples = %d;", resources.maxImageSamples); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlImageUniforms = %d;", resources.maxTessControlImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationImageUniforms = %d;", resources.maxTessEvaluationImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryImageUniforms = %d;", resources.maxGeometryImageUniforms); + s.append(builtInConstant); + } + + // enhanced layouts + if (version >= 430) { + snprintf(builtInConstant, maxSize, "const int gl_MaxTransformFeedbackBuffers = %d;", resources.maxTransformFeedbackBuffers); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTransformFeedbackInterleavedComponents = %d;", resources.maxTransformFeedbackInterleavedComponents); + s.append(builtInConstant); + } +#endif + } + + // compute + if ((profile == EEsProfile && version >= 310) || (profile != EEsProfile && version >= 420)) { + snprintf(builtInConstant, maxSize, "const ivec3 gl_MaxComputeWorkGroupCount = ivec3(%d,%d,%d);", resources.maxComputeWorkGroupCountX, + resources.maxComputeWorkGroupCountY, + resources.maxComputeWorkGroupCountZ); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const ivec3 gl_MaxComputeWorkGroupSize = ivec3(%d,%d,%d);", resources.maxComputeWorkGroupSizeX, + resources.maxComputeWorkGroupSizeY, + resources.maxComputeWorkGroupSizeZ); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxComputeUniformComponents = %d;", resources.maxComputeUniformComponents); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxComputeTextureImageUnits = %d;", resources.maxComputeTextureImageUnits); + s.append(builtInConstant); + + s.append("\n"); + } + +#ifndef GLSLANG_WEB + // images (some in compute below) + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 130)) { + snprintf(builtInConstant, maxSize, "const int gl_MaxImageUnits = %d;", resources.maxImageUnits); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxCombinedShaderOutputResources = %d;", resources.maxCombinedShaderOutputResources); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexImageUniforms = %d;", resources.maxVertexImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxFragmentImageUniforms = %d;", resources.maxFragmentImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxCombinedImageUniforms = %d;", resources.maxCombinedImageUniforms); + s.append(builtInConstant); + } + + // compute + if ((profile == EEsProfile && version >= 310) || (profile != EEsProfile && version >= 420)) { + snprintf(builtInConstant, maxSize, "const int gl_MaxComputeImageUniforms = %d;", resources.maxComputeImageUniforms); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxComputeAtomicCounters = %d;", resources.maxComputeAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxComputeAtomicCounterBuffers = %d;", resources.maxComputeAtomicCounterBuffers); + s.append(builtInConstant); + + s.append("\n"); + } + +#ifndef GLSLANG_ANGLE + // atomic counters (some in compute below) + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 420)) { + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexAtomicCounters = %d;", resources. maxVertexAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxFragmentAtomicCounters = %d;", resources. maxFragmentAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxCombinedAtomicCounters = %d;", resources. maxCombinedAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxAtomicCounterBindings = %d;", resources. maxAtomicCounterBindings); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxVertexAtomicCounterBuffers = %d;", resources. maxVertexAtomicCounterBuffers); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxFragmentAtomicCounterBuffers = %d;", resources. maxFragmentAtomicCounterBuffers); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxCombinedAtomicCounterBuffers = %d;", resources. maxCombinedAtomicCounterBuffers); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxAtomicCounterBufferSize = %d;", resources. maxAtomicCounterBufferSize); + s.append(builtInConstant); + } + if (profile != EEsProfile && version >= 420) { + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlAtomicCounters = %d;", resources. maxTessControlAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationAtomicCounters = %d;", resources. maxTessEvaluationAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryAtomicCounters = %d;", resources. maxGeometryAtomicCounters); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessControlAtomicCounterBuffers = %d;", resources. maxTessControlAtomicCounterBuffers); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxTessEvaluationAtomicCounterBuffers = %d;", resources. maxTessEvaluationAtomicCounterBuffers); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryAtomicCounterBuffers = %d;", resources. maxGeometryAtomicCounterBuffers); + s.append(builtInConstant); + + s.append("\n"); + } +#endif // !GLSLANG_ANGLE + + // GL_ARB_cull_distance + if (profile != EEsProfile && version >= 450) { + snprintf(builtInConstant, maxSize, "const int gl_MaxCullDistances = %d;", resources.maxCullDistances); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const int gl_MaxCombinedClipAndCullDistances = %d;", resources.maxCombinedClipAndCullDistances); + s.append(builtInConstant); + } + + // GL_ARB_ES3_1_compatibility + if ((profile != EEsProfile && version >= 450) || + (profile == EEsProfile && version >= 310)) { + snprintf(builtInConstant, maxSize, "const int gl_MaxSamples = %d;", resources.maxSamples); + s.append(builtInConstant); + } + +#ifndef GLSLANG_ANGLE + // SPV_NV_mesh_shader + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + snprintf(builtInConstant, maxSize, "const int gl_MaxMeshOutputVerticesNV = %d;", resources.maxMeshOutputVerticesNV); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxMeshOutputPrimitivesNV = %d;", resources.maxMeshOutputPrimitivesNV); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const ivec3 gl_MaxMeshWorkGroupSizeNV = ivec3(%d,%d,%d);", resources.maxMeshWorkGroupSizeX_NV, + resources.maxMeshWorkGroupSizeY_NV, + resources.maxMeshWorkGroupSizeZ_NV); + s.append(builtInConstant); + snprintf(builtInConstant, maxSize, "const ivec3 gl_MaxTaskWorkGroupSizeNV = ivec3(%d,%d,%d);", resources.maxTaskWorkGroupSizeX_NV, + resources.maxTaskWorkGroupSizeY_NV, + resources.maxTaskWorkGroupSizeZ_NV); + s.append(builtInConstant); + + snprintf(builtInConstant, maxSize, "const int gl_MaxMeshViewCountNV = %d;", resources.maxMeshViewCountNV); + s.append(builtInConstant); + + s.append("\n"); + } +#endif +#endif + + s.append("\n"); +} + +// +// To support special built-ins that have a special qualifier that cannot be declared textually +// in a shader, like gl_Position. +// +// This lets the type of the built-in be declared textually, and then have just its qualifier be +// updated afterward. +// +// Safe to call even if name is not present. +// +// Only use this for built-in variables that have a special qualifier in TStorageQualifier. +// New built-in variables should use a generic (textually declarable) qualifier in +// TStoraregQualifier and only call BuiltInVariable(). +// +static void SpecialQualifier(const char* name, TStorageQualifier qualifier, TBuiltInVariable builtIn, TSymbolTable& symbolTable) +{ + TSymbol* symbol = symbolTable.find(name); + if (symbol == nullptr) + return; + + TQualifier& symQualifier = symbol->getWritableType().getQualifier(); + symQualifier.storage = qualifier; + symQualifier.builtIn = builtIn; +} + +// +// To tag built-in variables with their TBuiltInVariable enum. Use this when the +// normal declaration text already gets the qualifier right, and all that's needed +// is setting the builtIn field. This should be the normal way for all new +// built-in variables. +// +// If SpecialQualifier() was called, this does not need to be called. +// +// Safe to call even if name is not present. +// +static void BuiltInVariable(const char* name, TBuiltInVariable builtIn, TSymbolTable& symbolTable) +{ + TSymbol* symbol = symbolTable.find(name); + if (symbol == nullptr) + return; + + TQualifier& symQualifier = symbol->getWritableType().getQualifier(); + symQualifier.builtIn = builtIn; +} + +// +// For built-in variables inside a named block. +// SpecialQualifier() won't ever go inside a block; their member's qualifier come +// from the qualification of the block. +// +// See comments above for other detail. +// +static void BuiltInVariable(const char* blockName, const char* name, TBuiltInVariable builtIn, TSymbolTable& symbolTable) +{ + TSymbol* symbol = symbolTable.find(blockName); + if (symbol == nullptr) + return; + + TTypeList& structure = *symbol->getWritableType().getWritableStruct(); + for (int i = 0; i < (int)structure.size(); ++i) { + if (structure[i].type->getFieldName().compare(name) == 0) { + structure[i].type->getQualifier().builtIn = builtIn; + return; + } + } +} + +// +// Finish adding/processing context-independent built-in symbols. +// 1) Programmatically add symbols that could not be added by simple text strings above. +// 2) Map built-in functions to operators, for those that will turn into an operation node +// instead of remaining a function call. +// 3) Tag extension-related symbols added to their base version with their extensions, so +// that if an early version has the extension turned off, there is an error reported on use. +// +void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable) +{ +#ifdef GLSLANG_WEB + version = 310; + profile = EEsProfile; +#elif defined(GLSLANG_ANGLE) + version = 450; + profile = ECoreProfile; +#endif + + // + // Tag built-in variables and functions with additional qualifier and extension information + // that cannot be declared with the text strings. + // + + // N.B.: a symbol should only be tagged once, and this function is called multiple times, once + // per stage that's used for this profile. So + // - generally, stick common ones in the fragment stage to ensure they are tagged exactly once + // - for ES, which has different precisions for different stages, the coarsest-grained tagging + // for a built-in used in many stages needs to be once for the fragment stage and once for + // the vertex stage + + switch(language) { + case EShLangVertex: + if (spvVersion.vulkan > 0) { + BuiltInVariable("gl_VertexIndex", EbvVertexIndex, symbolTable); + BuiltInVariable("gl_InstanceIndex", EbvInstanceIndex, symbolTable); + } + +#ifndef GLSLANG_WEB + if (spvVersion.vulkan == 0) { + SpecialQualifier("gl_VertexID", EvqVertexId, EbvVertexId, symbolTable); + SpecialQualifier("gl_InstanceID", EvqInstanceId, EbvInstanceId, symbolTable); + } + + if (profile != EEsProfile) { + if (version >= 440) { + symbolTable.setVariableExtensions("gl_BaseVertexARB", 1, &E_GL_ARB_shader_draw_parameters); + symbolTable.setVariableExtensions("gl_BaseInstanceARB", 1, &E_GL_ARB_shader_draw_parameters); + symbolTable.setVariableExtensions("gl_DrawIDARB", 1, &E_GL_ARB_shader_draw_parameters); + BuiltInVariable("gl_BaseVertexARB", EbvBaseVertex, symbolTable); + BuiltInVariable("gl_BaseInstanceARB", EbvBaseInstance, symbolTable); + BuiltInVariable("gl_DrawIDARB", EbvDrawId, symbolTable); + } + if (version >= 460) { + BuiltInVariable("gl_BaseVertex", EbvBaseVertex, symbolTable); + BuiltInVariable("gl_BaseInstance", EbvBaseInstance, symbolTable); + BuiltInVariable("gl_DrawID", EbvDrawId, symbolTable); + } + symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB", 1, &E_GL_ARB_shader_ballot); + + symbolTable.setFunctionExtensions("ballotARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setFunctionExtensions("readInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setFunctionExtensions("readFirstInvocationARB", 1, &E_GL_ARB_shader_ballot); + + if (version >= 430) { + symbolTable.setFunctionExtensions("anyInvocationARB", 1, &E_GL_ARB_shader_group_vote); + symbolTable.setFunctionExtensions("allInvocationsARB", 1, &E_GL_ARB_shader_group_vote); + symbolTable.setFunctionExtensions("allInvocationsEqualARB", 1, &E_GL_ARB_shader_group_vote); + } + } + + + if (profile != EEsProfile) { + symbolTable.setFunctionExtensions("minInvocationsAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("maxInvocationsAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("addInvocationsAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("minInvocationsNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("maxInvocationsNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("addInvocationsNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("swizzleInvocationsAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("swizzleInvocationsWithPatternAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("writeInvocationAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("mbcntAMD", 1, &E_GL_AMD_shader_ballot); + + symbolTable.setFunctionExtensions("minInvocationsInclusiveScanAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("maxInvocationsInclusiveScanAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("addInvocationsInclusiveScanAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("minInvocationsInclusiveScanNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("maxInvocationsInclusiveScanNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("addInvocationsInclusiveScanNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("minInvocationsExclusiveScanAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("maxInvocationsExclusiveScanAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("addInvocationsExclusiveScanAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("minInvocationsExclusiveScanNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("maxInvocationsExclusiveScanNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + symbolTable.setFunctionExtensions("addInvocationsExclusiveScanNonUniformAMD", 1, &E_GL_AMD_shader_ballot); + } + + if (profile != EEsProfile) { + symbolTable.setFunctionExtensions("min3", 1, &E_GL_AMD_shader_trinary_minmax); + symbolTable.setFunctionExtensions("max3", 1, &E_GL_AMD_shader_trinary_minmax); + symbolTable.setFunctionExtensions("mid3", 1, &E_GL_AMD_shader_trinary_minmax); + } + + if (profile != EEsProfile) { + symbolTable.setVariableExtensions("gl_SIMDGroupSizeAMD", 1, &E_GL_AMD_gcn_shader); + SpecialQualifier("gl_SIMDGroupSizeAMD", EvqVaryingIn, EbvSubGroupSize, symbolTable); + + symbolTable.setFunctionExtensions("cubeFaceIndexAMD", 1, &E_GL_AMD_gcn_shader); + symbolTable.setFunctionExtensions("cubeFaceCoordAMD", 1, &E_GL_AMD_gcn_shader); + symbolTable.setFunctionExtensions("timeAMD", 1, &E_GL_AMD_gcn_shader); + } + + if (profile != EEsProfile) { + symbolTable.setFunctionExtensions("fragmentMaskFetchAMD", 1, &E_GL_AMD_shader_fragment_mask); + symbolTable.setFunctionExtensions("fragmentFetchAMD", 1, &E_GL_AMD_shader_fragment_mask); + } + + symbolTable.setFunctionExtensions("countLeadingZeros", 1, &E_GL_INTEL_shader_integer_functions2); + symbolTable.setFunctionExtensions("countTrailingZeros", 1, &E_GL_INTEL_shader_integer_functions2); + symbolTable.setFunctionExtensions("absoluteDifference", 1, &E_GL_INTEL_shader_integer_functions2); + symbolTable.setFunctionExtensions("addSaturate", 1, &E_GL_INTEL_shader_integer_functions2); + symbolTable.setFunctionExtensions("subtractSaturate", 1, &E_GL_INTEL_shader_integer_functions2); + symbolTable.setFunctionExtensions("average", 1, &E_GL_INTEL_shader_integer_functions2); + symbolTable.setFunctionExtensions("averageRounded", 1, &E_GL_INTEL_shader_integer_functions2); + symbolTable.setFunctionExtensions("multiply32x16", 1, &E_GL_INTEL_shader_integer_functions2); + + symbolTable.setFunctionExtensions("textureFootprintNV", 1, &E_GL_NV_shader_texture_footprint); + symbolTable.setFunctionExtensions("textureFootprintClampNV", 1, &E_GL_NV_shader_texture_footprint); + symbolTable.setFunctionExtensions("textureFootprintLodNV", 1, &E_GL_NV_shader_texture_footprint); + symbolTable.setFunctionExtensions("textureFootprintGradNV", 1, &E_GL_NV_shader_texture_footprint); + symbolTable.setFunctionExtensions("textureFootprintGradClampNV", 1, &E_GL_NV_shader_texture_footprint); + // Compatibility variables, vertex only + if (spvVersion.spv == 0) { + BuiltInVariable("gl_Color", EbvColor, symbolTable); + BuiltInVariable("gl_SecondaryColor", EbvSecondaryColor, symbolTable); + BuiltInVariable("gl_Normal", EbvNormal, symbolTable); + BuiltInVariable("gl_Vertex", EbvVertex, symbolTable); + BuiltInVariable("gl_MultiTexCoord0", EbvMultiTexCoord0, symbolTable); + BuiltInVariable("gl_MultiTexCoord1", EbvMultiTexCoord1, symbolTable); + BuiltInVariable("gl_MultiTexCoord2", EbvMultiTexCoord2, symbolTable); + BuiltInVariable("gl_MultiTexCoord3", EbvMultiTexCoord3, symbolTable); + BuiltInVariable("gl_MultiTexCoord4", EbvMultiTexCoord4, symbolTable); + BuiltInVariable("gl_MultiTexCoord5", EbvMultiTexCoord5, symbolTable); + BuiltInVariable("gl_MultiTexCoord6", EbvMultiTexCoord6, symbolTable); + BuiltInVariable("gl_MultiTexCoord7", EbvMultiTexCoord7, symbolTable); + BuiltInVariable("gl_FogCoord", EbvFogFragCoord, symbolTable); + } + + if (profile == EEsProfile) { + if (spvVersion.spv == 0) { + symbolTable.setFunctionExtensions("texture2DGradEXT", 1, &E_GL_EXT_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DProjGradEXT", 1, &E_GL_EXT_shader_texture_lod); + symbolTable.setFunctionExtensions("textureCubeGradEXT", 1, &E_GL_EXT_shader_texture_lod); + if (version == 310) + symbolTable.setFunctionExtensions("textureGatherOffsets", Num_AEP_gpu_shader5, AEP_gpu_shader5); + } + if (version == 310) + symbolTable.setFunctionExtensions("fma", Num_AEP_gpu_shader5, AEP_gpu_shader5); + } + + if (profile == EEsProfile && version < 320) { + symbolTable.setFunctionExtensions("imageAtomicAdd", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicMin", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicMax", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicAnd", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicOr", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicXor", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicExchange", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicCompSwap", 1, &E_GL_OES_shader_image_atomic); + } + + if (version >= 300 /* both ES and non-ES */) { + symbolTable.setVariableExtensions("gl_ViewID_OVR", Num_OVR_multiview_EXTs, OVR_multiview_EXTs); + BuiltInVariable("gl_ViewID_OVR", EbvViewIndex, symbolTable); + } + + if (profile == EEsProfile) { + symbolTable.setFunctionExtensions("shadow2DEXT", 1, &E_GL_EXT_shadow_samplers); + symbolTable.setFunctionExtensions("shadow2DProjEXT", 1, &E_GL_EXT_shadow_samplers); + } + // Fall through + + case EShLangTessControl: + if (profile == EEsProfile && version >= 310) { + BuiltInVariable("gl_BoundingBoxEXT", EbvBoundingBox, symbolTable); + symbolTable.setVariableExtensions("gl_BoundingBoxEXT", 1, + &E_GL_EXT_primitive_bounding_box); + BuiltInVariable("gl_BoundingBoxOES", EbvBoundingBox, symbolTable); + symbolTable.setVariableExtensions("gl_BoundingBoxOES", 1, + &E_GL_OES_primitive_bounding_box); + + if (version >= 320) { + BuiltInVariable("gl_BoundingBox", EbvBoundingBox, symbolTable); + } + } + // Fall through + + case EShLangTessEvaluation: + case EShLangGeometry: +#endif // !GLSLANG_WEB + SpecialQualifier("gl_Position", EvqPosition, EbvPosition, symbolTable); + SpecialQualifier("gl_PointSize", EvqPointSize, EbvPointSize, symbolTable); + + BuiltInVariable("gl_in", "gl_Position", EbvPosition, symbolTable); + BuiltInVariable("gl_in", "gl_PointSize", EbvPointSize, symbolTable); + + BuiltInVariable("gl_out", "gl_Position", EbvPosition, symbolTable); + BuiltInVariable("gl_out", "gl_PointSize", EbvPointSize, symbolTable); + +#ifndef GLSLANG_WEB + SpecialQualifier("gl_ClipVertex", EvqClipVertex, EbvClipVertex, symbolTable); + + BuiltInVariable("gl_in", "gl_ClipDistance", EbvClipDistance, symbolTable); + BuiltInVariable("gl_in", "gl_CullDistance", EbvCullDistance, symbolTable); + + BuiltInVariable("gl_out", "gl_ClipDistance", EbvClipDistance, symbolTable); + BuiltInVariable("gl_out", "gl_CullDistance", EbvCullDistance, symbolTable); + + BuiltInVariable("gl_ClipDistance", EbvClipDistance, symbolTable); + BuiltInVariable("gl_CullDistance", EbvCullDistance, symbolTable); + BuiltInVariable("gl_PrimitiveIDIn", EbvPrimitiveId, symbolTable); + BuiltInVariable("gl_PrimitiveID", EbvPrimitiveId, symbolTable); + BuiltInVariable("gl_InvocationID", EbvInvocationId, symbolTable); + BuiltInVariable("gl_Layer", EbvLayer, symbolTable); + BuiltInVariable("gl_ViewportIndex", EbvViewportIndex, symbolTable); + + if (language != EShLangGeometry) { + symbolTable.setVariableExtensions("gl_Layer", Num_viewportEXTs, viewportEXTs); + symbolTable.setVariableExtensions("gl_ViewportIndex", Num_viewportEXTs, viewportEXTs); + } + symbolTable.setVariableExtensions("gl_ViewportMask", 1, &E_GL_NV_viewport_array2); + symbolTable.setVariableExtensions("gl_SecondaryPositionNV", 1, &E_GL_NV_stereo_view_rendering); + symbolTable.setVariableExtensions("gl_SecondaryViewportMaskNV", 1, &E_GL_NV_stereo_view_rendering); + symbolTable.setVariableExtensions("gl_PositionPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); + symbolTable.setVariableExtensions("gl_ViewportMaskPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); + + BuiltInVariable("gl_ViewportMask", EbvViewportMaskNV, symbolTable); + BuiltInVariable("gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable); + BuiltInVariable("gl_SecondaryViewportMaskNV", EbvSecondaryViewportMaskNV, symbolTable); + BuiltInVariable("gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + BuiltInVariable("gl_ViewportMaskPerViewNV", EbvViewportMaskPerViewNV, symbolTable); + + if (language == EShLangVertex || language == EShLangGeometry) { + symbolTable.setVariableExtensions("gl_in", "gl_SecondaryPositionNV", 1, &E_GL_NV_stereo_view_rendering); + symbolTable.setVariableExtensions("gl_in", "gl_PositionPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); + + BuiltInVariable("gl_in", "gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable); + BuiltInVariable("gl_in", "gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + } + symbolTable.setVariableExtensions("gl_out", "gl_ViewportMask", 1, &E_GL_NV_viewport_array2); + symbolTable.setVariableExtensions("gl_out", "gl_SecondaryPositionNV", 1, &E_GL_NV_stereo_view_rendering); + symbolTable.setVariableExtensions("gl_out", "gl_SecondaryViewportMaskNV", 1, &E_GL_NV_stereo_view_rendering); + symbolTable.setVariableExtensions("gl_out", "gl_PositionPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); + symbolTable.setVariableExtensions("gl_out", "gl_ViewportMaskPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); + + BuiltInVariable("gl_out", "gl_ViewportMask", EbvViewportMaskNV, symbolTable); + BuiltInVariable("gl_out", "gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable); + BuiltInVariable("gl_out", "gl_SecondaryViewportMaskNV", EbvSecondaryViewportMaskNV, symbolTable); + BuiltInVariable("gl_out", "gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + BuiltInVariable("gl_out", "gl_ViewportMaskPerViewNV", EbvViewportMaskPerViewNV, symbolTable); + + BuiltInVariable("gl_PatchVerticesIn", EbvPatchVertices, symbolTable); + BuiltInVariable("gl_TessLevelOuter", EbvTessLevelOuter, symbolTable); + BuiltInVariable("gl_TessLevelInner", EbvTessLevelInner, symbolTable); + BuiltInVariable("gl_TessCoord", EbvTessCoord, symbolTable); + + if (version < 410) + symbolTable.setVariableExtensions("gl_ViewportIndex", 1, &E_GL_ARB_viewport_array); + + // Compatibility variables + + BuiltInVariable("gl_in", "gl_ClipVertex", EbvClipVertex, symbolTable); + BuiltInVariable("gl_in", "gl_FrontColor", EbvFrontColor, symbolTable); + BuiltInVariable("gl_in", "gl_BackColor", EbvBackColor, symbolTable); + BuiltInVariable("gl_in", "gl_FrontSecondaryColor", EbvFrontSecondaryColor, symbolTable); + BuiltInVariable("gl_in", "gl_BackSecondaryColor", EbvBackSecondaryColor, symbolTable); + BuiltInVariable("gl_in", "gl_TexCoord", EbvTexCoord, symbolTable); + BuiltInVariable("gl_in", "gl_FogFragCoord", EbvFogFragCoord, symbolTable); + + BuiltInVariable("gl_out", "gl_ClipVertex", EbvClipVertex, symbolTable); + BuiltInVariable("gl_out", "gl_FrontColor", EbvFrontColor, symbolTable); + BuiltInVariable("gl_out", "gl_BackColor", EbvBackColor, symbolTable); + BuiltInVariable("gl_out", "gl_FrontSecondaryColor", EbvFrontSecondaryColor, symbolTable); + BuiltInVariable("gl_out", "gl_BackSecondaryColor", EbvBackSecondaryColor, symbolTable); + BuiltInVariable("gl_out", "gl_TexCoord", EbvTexCoord, symbolTable); + BuiltInVariable("gl_out", "gl_FogFragCoord", EbvFogFragCoord, symbolTable); + + BuiltInVariable("gl_ClipVertex", EbvClipVertex, symbolTable); + BuiltInVariable("gl_FrontColor", EbvFrontColor, symbolTable); + BuiltInVariable("gl_BackColor", EbvBackColor, symbolTable); + BuiltInVariable("gl_FrontSecondaryColor", EbvFrontSecondaryColor, symbolTable); + BuiltInVariable("gl_BackSecondaryColor", EbvBackSecondaryColor, symbolTable); + BuiltInVariable("gl_TexCoord", EbvTexCoord, symbolTable); + BuiltInVariable("gl_FogFragCoord", EbvFogFragCoord, symbolTable); + + // gl_PointSize, when it needs to be tied to an extension, is always a member of a block. + // (Sometimes with an instance name, sometimes anonymous). + if (profile == EEsProfile) { + if (language == EShLangGeometry) { + symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_geometry_point_size, AEP_geometry_point_size); + symbolTable.setVariableExtensions("gl_in", "gl_PointSize", Num_AEP_geometry_point_size, AEP_geometry_point_size); + } else if (language == EShLangTessEvaluation || language == EShLangTessControl) { + // gl_in tessellation settings of gl_PointSize are in the context-dependent paths + symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size); + symbolTable.setVariableExtensions("gl_out", "gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size); + } + } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview); + BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable); + } + + if (profile != EEsProfile) { + BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable); + BuiltInVariable("gl_SubGroupEqMaskARB", EbvSubGroupEqMask, symbolTable); + BuiltInVariable("gl_SubGroupGeMaskARB", EbvSubGroupGeMask, symbolTable); + BuiltInVariable("gl_SubGroupGtMaskARB", EbvSubGroupGtMask, symbolTable); + BuiltInVariable("gl_SubGroupLeMaskARB", EbvSubGroupLeMask, symbolTable); + BuiltInVariable("gl_SubGroupLtMaskARB", EbvSubGroupLtMask, symbolTable); + + if (spvVersion.vulkan > 0) + // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan + SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable); + else + BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + symbolTable.setVariableExtensions("gl_SubgroupSize", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupEqMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + + BuiltInVariable("gl_SubgroupSize", EbvSubgroupSize2, symbolTable); + BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable); + BuiltInVariable("gl_SubgroupEqMask", EbvSubgroupEqMask2, symbolTable); + BuiltInVariable("gl_SubgroupGeMask", EbvSubgroupGeMask2, symbolTable); + BuiltInVariable("gl_SubgroupGtMask", EbvSubgroupGtMask2, symbolTable); + BuiltInVariable("gl_SubgroupLeMask", EbvSubgroupLeMask2, symbolTable); + BuiltInVariable("gl_SubgroupLtMask", EbvSubgroupLtMask2, symbolTable); + + // GL_NV_shader_sm_builtins + symbolTable.setVariableExtensions("gl_WarpsPerSMNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMCountNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_WarpIDNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMIDNV", 1, &E_GL_NV_shader_sm_builtins); + BuiltInVariable("gl_WarpsPerSMNV", EbvWarpsPerSM, symbolTable); + BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable); + BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable); + BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable); + } + + if (language == EShLangGeometry || language == EShLangVertex) { + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 450)) { + symbolTable.setVariableExtensions("gl_PrimitiveShadingRateEXT", 1, &E_GL_EXT_fragment_shading_rate); + BuiltInVariable("gl_PrimitiveShadingRateEXT", EbvPrimitiveShadingRateKHR, symbolTable); + + symbolTable.setVariableExtensions("gl_ShadingRateFlag2VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag2HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + } + } + +#endif // !GLSLANG_WEB + break; + + case EShLangFragment: + SpecialQualifier("gl_FrontFacing", EvqFace, EbvFace, symbolTable); + SpecialQualifier("gl_FragCoord", EvqFragCoord, EbvFragCoord, symbolTable); + SpecialQualifier("gl_PointCoord", EvqPointCoord, EbvPointCoord, symbolTable); + if (spvVersion.spv == 0) + SpecialQualifier("gl_FragColor", EvqFragColor, EbvFragColor, symbolTable); + else { + TSymbol* symbol = symbolTable.find("gl_FragColor"); + if (symbol) { + symbol->getWritableType().getQualifier().storage = EvqVaryingOut; + symbol->getWritableType().getQualifier().layoutLocation = 0; + } + } + SpecialQualifier("gl_FragDepth", EvqFragDepth, EbvFragDepth, symbolTable); +#ifndef GLSLANG_WEB + SpecialQualifier("gl_FragDepthEXT", EvqFragDepth, EbvFragDepth, symbolTable); + SpecialQualifier("gl_HelperInvocation", EvqVaryingIn, EbvHelperInvocation, symbolTable); + + BuiltInVariable("gl_ClipDistance", EbvClipDistance, symbolTable); + BuiltInVariable("gl_CullDistance", EbvCullDistance, symbolTable); + BuiltInVariable("gl_PrimitiveID", EbvPrimitiveId, symbolTable); + + if (profile != EEsProfile && version >= 140) { + symbolTable.setVariableExtensions("gl_FragStencilRefARB", 1, &E_GL_ARB_shader_stencil_export); + BuiltInVariable("gl_FragStencilRefARB", EbvFragStencilRef, symbolTable); + } + + if (profile != EEsProfile && version < 400) { + symbolTable.setFunctionExtensions("textureQueryLod", 1, &E_GL_ARB_texture_query_lod); + } + + if (profile != EEsProfile && version >= 460) { + symbolTable.setFunctionExtensions("rayQueryInitializeEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryTerminateEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGenerateIntersectionEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryConfirmIntersectionEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryProceedEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionTypeEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionTEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetRayFlagsEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetRayTMinEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionInstanceCustomIndexEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionInstanceIdEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionGeometryIndexEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionPrimitiveIndexEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionBarycentricsEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionFrontFaceEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionCandidateAABBOpaqueEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionObjectRayDirectionEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionObjectRayOriginEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionObjectToWorldEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetIntersectionWorldToObjectEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetWorldRayOriginEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setFunctionExtensions("rayQueryGetWorldRayDirectionEXT", 1, &E_GL_EXT_ray_query); + symbolTable.setVariableExtensions("gl_RayFlagsSkipAABBEXT", 1, &E_GL_EXT_ray_flags_primitive_culling); + symbolTable.setVariableExtensions("gl_RayFlagsSkipTrianglesEXT", 1, &E_GL_EXT_ray_flags_primitive_culling); + } + + if ((profile != EEsProfile && version >= 130) || + (profile == EEsProfile && version >= 310)) { + BuiltInVariable("gl_SampleID", EbvSampleId, symbolTable); + BuiltInVariable("gl_SamplePosition", EbvSamplePosition, symbolTable); + BuiltInVariable("gl_SampleMask", EbvSampleMask, symbolTable); + + if (profile != EEsProfile && version < 400) { + BuiltInVariable("gl_NumSamples", EbvSampleMask, symbolTable); + + symbolTable.setVariableExtensions("gl_SampleMask", 1, &E_GL_ARB_sample_shading); + symbolTable.setVariableExtensions("gl_SampleID", 1, &E_GL_ARB_sample_shading); + symbolTable.setVariableExtensions("gl_SamplePosition", 1, &E_GL_ARB_sample_shading); + symbolTable.setVariableExtensions("gl_NumSamples", 1, &E_GL_ARB_sample_shading); + } else { + BuiltInVariable("gl_SampleMaskIn", EbvSampleMask, symbolTable); + + if (profile == EEsProfile && version < 320) { + symbolTable.setVariableExtensions("gl_SampleID", 1, &E_GL_OES_sample_variables); + symbolTable.setVariableExtensions("gl_SamplePosition", 1, &E_GL_OES_sample_variables); + symbolTable.setVariableExtensions("gl_SampleMaskIn", 1, &E_GL_OES_sample_variables); + symbolTable.setVariableExtensions("gl_SampleMask", 1, &E_GL_OES_sample_variables); + symbolTable.setVariableExtensions("gl_NumSamples", 1, &E_GL_OES_sample_variables); + } + } + } + + BuiltInVariable("gl_Layer", EbvLayer, symbolTable); + BuiltInVariable("gl_ViewportIndex", EbvViewportIndex, symbolTable); + + // Compatibility variables + + BuiltInVariable("gl_in", "gl_FogFragCoord", EbvFogFragCoord, symbolTable); + BuiltInVariable("gl_in", "gl_TexCoord", EbvTexCoord, symbolTable); + BuiltInVariable("gl_in", "gl_Color", EbvColor, symbolTable); + BuiltInVariable("gl_in", "gl_SecondaryColor", EbvSecondaryColor, symbolTable); + + BuiltInVariable("gl_FogFragCoord", EbvFogFragCoord, symbolTable); + BuiltInVariable("gl_TexCoord", EbvTexCoord, symbolTable); + BuiltInVariable("gl_Color", EbvColor, symbolTable); + BuiltInVariable("gl_SecondaryColor", EbvSecondaryColor, symbolTable); + + // built-in functions + + if (profile == EEsProfile) { + if (spvVersion.spv == 0) { + symbolTable.setFunctionExtensions("texture2DLodEXT", 1, &E_GL_EXT_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DProjLodEXT", 1, &E_GL_EXT_shader_texture_lod); + symbolTable.setFunctionExtensions("textureCubeLodEXT", 1, &E_GL_EXT_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DGradEXT", 1, &E_GL_EXT_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DProjGradEXT", 1, &E_GL_EXT_shader_texture_lod); + symbolTable.setFunctionExtensions("textureCubeGradEXT", 1, &E_GL_EXT_shader_texture_lod); + if (version < 320) + symbolTable.setFunctionExtensions("textureGatherOffsets", Num_AEP_gpu_shader5, AEP_gpu_shader5); + } + if (version == 100) { + symbolTable.setFunctionExtensions("dFdx", 1, &E_GL_OES_standard_derivatives); + symbolTable.setFunctionExtensions("dFdy", 1, &E_GL_OES_standard_derivatives); + symbolTable.setFunctionExtensions("fwidth", 1, &E_GL_OES_standard_derivatives); + } + if (version == 310) { + symbolTable.setFunctionExtensions("fma", Num_AEP_gpu_shader5, AEP_gpu_shader5); + symbolTable.setFunctionExtensions("interpolateAtCentroid", 1, &E_GL_OES_shader_multisample_interpolation); + symbolTable.setFunctionExtensions("interpolateAtSample", 1, &E_GL_OES_shader_multisample_interpolation); + symbolTable.setFunctionExtensions("interpolateAtOffset", 1, &E_GL_OES_shader_multisample_interpolation); + } + } else if (version < 130) { + if (spvVersion.spv == 0) { + symbolTable.setFunctionExtensions("texture1DLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture3DLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("textureCubeLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture1DProjLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DProjLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture3DProjLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow1DLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow2DLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow1DProjLod", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow2DProjLod", 1, &E_GL_ARB_shader_texture_lod); + } + } + + // E_GL_ARB_shader_texture_lod functions usable only with the extension enabled + if (profile != EEsProfile && spvVersion.spv == 0) { + symbolTable.setFunctionExtensions("texture1DGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture1DProjGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DProjGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture3DGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture3DProjGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("textureCubeGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow1DGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow1DProjGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow2DGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow2DProjGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DRectGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("texture2DRectProjGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow2DRectGradARB", 1, &E_GL_ARB_shader_texture_lod); + symbolTable.setFunctionExtensions("shadow2DRectProjGradARB", 1, &E_GL_ARB_shader_texture_lod); + } + + // E_GL_ARB_shader_image_load_store + if (profile != EEsProfile && version < 420) + symbolTable.setFunctionExtensions("memoryBarrier", 1, &E_GL_ARB_shader_image_load_store); + // All the image access functions are protected by checks on the type of the first argument. + + // E_GL_ARB_shader_atomic_counters + if (profile != EEsProfile && version < 420) { + symbolTable.setFunctionExtensions("atomicCounterIncrement", 1, &E_GL_ARB_shader_atomic_counters); + symbolTable.setFunctionExtensions("atomicCounterDecrement", 1, &E_GL_ARB_shader_atomic_counters); + symbolTable.setFunctionExtensions("atomicCounter" , 1, &E_GL_ARB_shader_atomic_counters); + } + + // E_GL_ARB_derivative_control + if (profile != EEsProfile && version < 450) { + symbolTable.setFunctionExtensions("dFdxFine", 1, &E_GL_ARB_derivative_control); + symbolTable.setFunctionExtensions("dFdyFine", 1, &E_GL_ARB_derivative_control); + symbolTable.setFunctionExtensions("fwidthFine", 1, &E_GL_ARB_derivative_control); + symbolTable.setFunctionExtensions("dFdxCoarse", 1, &E_GL_ARB_derivative_control); + symbolTable.setFunctionExtensions("dFdyCoarse", 1, &E_GL_ARB_derivative_control); + symbolTable.setFunctionExtensions("fwidthCoarse", 1, &E_GL_ARB_derivative_control); + } + + // E_GL_ARB_sparse_texture2 + if (profile != EEsProfile) + { + symbolTable.setFunctionExtensions("sparseTextureARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureLodARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureOffsetARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTexelFetchARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTexelFetchOffsetARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureLodOffsetARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureGradARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureGradOffsetARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureGatherARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureGatherOffsetARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTextureGatherOffsetsARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseImageLoadARB", 1, &E_GL_ARB_sparse_texture2); + symbolTable.setFunctionExtensions("sparseTexelsResident", 1, &E_GL_ARB_sparse_texture2); + } + + // E_GL_ARB_sparse_texture_clamp + if (profile != EEsProfile) + { + symbolTable.setFunctionExtensions("sparseTextureClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + symbolTable.setFunctionExtensions("sparseTextureOffsetClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + symbolTable.setFunctionExtensions("sparseTextureGradClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + symbolTable.setFunctionExtensions("sparseTextureGradOffsetClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + symbolTable.setFunctionExtensions("textureClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + symbolTable.setFunctionExtensions("textureOffsetClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + symbolTable.setFunctionExtensions("textureGradClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + symbolTable.setFunctionExtensions("textureGradOffsetClampARB", 1, &E_GL_ARB_sparse_texture_clamp); + } + + // E_GL_AMD_shader_explicit_vertex_parameter + if (profile != EEsProfile) { + symbolTable.setVariableExtensions("gl_BaryCoordNoPerspAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + symbolTable.setVariableExtensions("gl_BaryCoordNoPerspCentroidAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + symbolTable.setVariableExtensions("gl_BaryCoordNoPerspSampleAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + symbolTable.setVariableExtensions("gl_BaryCoordSmoothAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + symbolTable.setVariableExtensions("gl_BaryCoordSmoothCentroidAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + symbolTable.setVariableExtensions("gl_BaryCoordSmoothSampleAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + symbolTable.setVariableExtensions("gl_BaryCoordPullModelAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + + symbolTable.setFunctionExtensions("interpolateAtVertexAMD", 1, &E_GL_AMD_shader_explicit_vertex_parameter); + + BuiltInVariable("gl_BaryCoordNoPerspAMD", EbvBaryCoordNoPersp, symbolTable); + BuiltInVariable("gl_BaryCoordNoPerspCentroidAMD", EbvBaryCoordNoPerspCentroid, symbolTable); + BuiltInVariable("gl_BaryCoordNoPerspSampleAMD", EbvBaryCoordNoPerspSample, symbolTable); + BuiltInVariable("gl_BaryCoordSmoothAMD", EbvBaryCoordSmooth, symbolTable); + BuiltInVariable("gl_BaryCoordSmoothCentroidAMD", EbvBaryCoordSmoothCentroid, symbolTable); + BuiltInVariable("gl_BaryCoordSmoothSampleAMD", EbvBaryCoordSmoothSample, symbolTable); + BuiltInVariable("gl_BaryCoordPullModelAMD", EbvBaryCoordPullModel, symbolTable); + } + + // E_GL_AMD_texture_gather_bias_lod + if (profile != EEsProfile) { + symbolTable.setFunctionExtensions("textureGatherLodAMD", 1, &E_GL_AMD_texture_gather_bias_lod); + symbolTable.setFunctionExtensions("textureGatherLodOffsetAMD", 1, &E_GL_AMD_texture_gather_bias_lod); + symbolTable.setFunctionExtensions("textureGatherLodOffsetsAMD", 1, &E_GL_AMD_texture_gather_bias_lod); + symbolTable.setFunctionExtensions("sparseTextureGatherLodAMD", 1, &E_GL_AMD_texture_gather_bias_lod); + symbolTable.setFunctionExtensions("sparseTextureGatherLodOffsetAMD", 1, &E_GL_AMD_texture_gather_bias_lod); + symbolTable.setFunctionExtensions("sparseTextureGatherLodOffsetsAMD", 1, &E_GL_AMD_texture_gather_bias_lod); + } + + // E_GL_AMD_shader_image_load_store_lod + if (profile != EEsProfile) { + symbolTable.setFunctionExtensions("imageLoadLodAMD", 1, &E_GL_AMD_shader_image_load_store_lod); + symbolTable.setFunctionExtensions("imageStoreLodAMD", 1, &E_GL_AMD_shader_image_load_store_lod); + symbolTable.setFunctionExtensions("sparseImageLoadLodAMD", 1, &E_GL_AMD_shader_image_load_store_lod); + } + if (profile != EEsProfile && version >= 430) { + symbolTable.setVariableExtensions("gl_FragFullyCoveredNV", 1, &E_GL_NV_conservative_raster_underestimation); + BuiltInVariable("gl_FragFullyCoveredNV", EbvFragFullyCoveredNV, symbolTable); + } + if ((profile != EEsProfile && version >= 450) || + (profile == EEsProfile && version >= 320)) { + symbolTable.setVariableExtensions("gl_FragmentSizeNV", 1, &E_GL_NV_shading_rate_image); + symbolTable.setVariableExtensions("gl_InvocationsPerPixelNV", 1, &E_GL_NV_shading_rate_image); + BuiltInVariable("gl_FragmentSizeNV", EbvFragmentSizeNV, symbolTable); + BuiltInVariable("gl_InvocationsPerPixelNV", EbvInvocationsPerPixelNV, symbolTable); + symbolTable.setVariableExtensions("gl_BaryCoordNV", 1, &E_GL_NV_fragment_shader_barycentric); + symbolTable.setVariableExtensions("gl_BaryCoordNoPerspNV", 1, &E_GL_NV_fragment_shader_barycentric); + BuiltInVariable("gl_BaryCoordNV", EbvBaryCoordNV, symbolTable); + BuiltInVariable("gl_BaryCoordNoPerspNV", EbvBaryCoordNoPerspNV, symbolTable); + } + + if ((profile != EEsProfile && version >= 450) || + (profile == EEsProfile && version >= 310)) { + symbolTable.setVariableExtensions("gl_FragSizeEXT", 1, &E_GL_EXT_fragment_invocation_density); + symbolTable.setVariableExtensions("gl_FragInvocationCountEXT", 1, &E_GL_EXT_fragment_invocation_density); + BuiltInVariable("gl_FragSizeEXT", EbvFragSizeEXT, symbolTable); + BuiltInVariable("gl_FragInvocationCountEXT", EbvFragInvocationCountEXT, symbolTable); + } + + symbolTable.setVariableExtensions("gl_FragDepthEXT", 1, &E_GL_EXT_frag_depth); + + symbolTable.setFunctionExtensions("clockARB", 1, &E_GL_ARB_shader_clock); + symbolTable.setFunctionExtensions("clock2x32ARB", 1, &E_GL_ARB_shader_clock); + + symbolTable.setFunctionExtensions("clockRealtimeEXT", 1, &E_GL_EXT_shader_realtime_clock); + symbolTable.setFunctionExtensions("clockRealtime2x32EXT", 1, &E_GL_EXT_shader_realtime_clock); + + if (profile == EEsProfile && version < 320) { + symbolTable.setVariableExtensions("gl_PrimitiveID", Num_AEP_geometry_shader, AEP_geometry_shader); + symbolTable.setVariableExtensions("gl_Layer", Num_AEP_geometry_shader, AEP_geometry_shader); + } + + if (profile == EEsProfile && version < 320) { + symbolTable.setFunctionExtensions("imageAtomicAdd", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicMin", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicMax", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicAnd", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicOr", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicXor", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicExchange", 1, &E_GL_OES_shader_image_atomic); + symbolTable.setFunctionExtensions("imageAtomicCompSwap", 1, &E_GL_OES_shader_image_atomic); + } + + if (profile != EEsProfile && version < 330 ) { + symbolTable.setFunctionExtensions("floatBitsToInt", 1, &E_GL_ARB_shader_bit_encoding); + symbolTable.setFunctionExtensions("floatBitsToUint", 1, &E_GL_ARB_shader_bit_encoding); + symbolTable.setFunctionExtensions("intBitsToFloat", 1, &E_GL_ARB_shader_bit_encoding); + symbolTable.setFunctionExtensions("uintBitsToFloat", 1, &E_GL_ARB_shader_bit_encoding); + } + + if (profile != EEsProfile && version < 430 ) { + symbolTable.setFunctionExtensions("imageSize", 1, &E_GL_ARB_shader_image_size); + } + + // GL_ARB_shader_storage_buffer_object + if (profile != EEsProfile && version < 430 ) { + symbolTable.setFunctionExtensions("atomicAdd", 1, &E_GL_ARB_shader_storage_buffer_object); + symbolTable.setFunctionExtensions("atomicMin", 1, &E_GL_ARB_shader_storage_buffer_object); + symbolTable.setFunctionExtensions("atomicMax", 1, &E_GL_ARB_shader_storage_buffer_object); + symbolTable.setFunctionExtensions("atomicAnd", 1, &E_GL_ARB_shader_storage_buffer_object); + symbolTable.setFunctionExtensions("atomicOr", 1, &E_GL_ARB_shader_storage_buffer_object); + symbolTable.setFunctionExtensions("atomicXor", 1, &E_GL_ARB_shader_storage_buffer_object); + symbolTable.setFunctionExtensions("atomicExchange", 1, &E_GL_ARB_shader_storage_buffer_object); + symbolTable.setFunctionExtensions("atomicCompSwap", 1, &E_GL_ARB_shader_storage_buffer_object); + } + + // GL_ARB_shading_language_packing + if (profile != EEsProfile && version < 400 ) { + symbolTable.setFunctionExtensions("packUnorm2x16", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("unpackUnorm2x16", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("packSnorm4x8", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("packUnorm4x8", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("unpackSnorm4x8", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("unpackUnorm4x8", 1, &E_GL_ARB_shading_language_packing); + } + if (profile != EEsProfile && version < 420 ) { + symbolTable.setFunctionExtensions("packSnorm2x16", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("unpackSnorm2x16", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("unpackHalf2x16", 1, &E_GL_ARB_shading_language_packing); + symbolTable.setFunctionExtensions("packHalf2x16", 1, &E_GL_ARB_shading_language_packing); + } + + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview); + BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable); + if (version >= 300 /* both ES and non-ES */) { + symbolTable.setVariableExtensions("gl_ViewID_OVR", Num_OVR_multiview_EXTs, OVR_multiview_EXTs); + BuiltInVariable("gl_ViewID_OVR", EbvViewIndex, symbolTable); + } + + // GL_ARB_shader_ballot + if (profile != EEsProfile) { + symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB", 1, &E_GL_ARB_shader_ballot); + + BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable); + BuiltInVariable("gl_SubGroupEqMaskARB", EbvSubGroupEqMask, symbolTable); + BuiltInVariable("gl_SubGroupGeMaskARB", EbvSubGroupGeMask, symbolTable); + BuiltInVariable("gl_SubGroupGtMaskARB", EbvSubGroupGtMask, symbolTable); + BuiltInVariable("gl_SubGroupLeMaskARB", EbvSubGroupLeMask, symbolTable); + BuiltInVariable("gl_SubGroupLtMaskARB", EbvSubGroupLtMask, symbolTable); + + if (spvVersion.vulkan > 0) + // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan + SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable); + else + BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + symbolTable.setVariableExtensions("gl_SubgroupSize", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupEqMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + + BuiltInVariable("gl_SubgroupSize", EbvSubgroupSize2, symbolTable); + BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable); + BuiltInVariable("gl_SubgroupEqMask", EbvSubgroupEqMask2, symbolTable); + BuiltInVariable("gl_SubgroupGeMask", EbvSubgroupGeMask2, symbolTable); + BuiltInVariable("gl_SubgroupGtMask", EbvSubgroupGtMask2, symbolTable); + BuiltInVariable("gl_SubgroupLeMask", EbvSubgroupLeMask2, symbolTable); + BuiltInVariable("gl_SubgroupLtMask", EbvSubgroupLtMask2, symbolTable); + + symbolTable.setFunctionExtensions("subgroupBarrier", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setFunctionExtensions("subgroupMemoryBarrier", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setFunctionExtensions("subgroupMemoryBarrierBuffer", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setFunctionExtensions("subgroupMemoryBarrierImage", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setFunctionExtensions("subgroupElect", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setFunctionExtensions("subgroupAll", 1, &E_GL_KHR_shader_subgroup_vote); + symbolTable.setFunctionExtensions("subgroupAny", 1, &E_GL_KHR_shader_subgroup_vote); + symbolTable.setFunctionExtensions("subgroupAllEqual", 1, &E_GL_KHR_shader_subgroup_vote); + symbolTable.setFunctionExtensions("subgroupBroadcast", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBroadcastFirst", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBallot", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupInverseBallot", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBallotBitExtract", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBallotBitCount", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBallotInclusiveBitCount", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBallotExclusiveBitCount", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBallotFindLSB", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupBallotFindMSB", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setFunctionExtensions("subgroupShuffle", 1, &E_GL_KHR_shader_subgroup_shuffle); + symbolTable.setFunctionExtensions("subgroupShuffleXor", 1, &E_GL_KHR_shader_subgroup_shuffle); + symbolTable.setFunctionExtensions("subgroupShuffleUp", 1, &E_GL_KHR_shader_subgroup_shuffle_relative); + symbolTable.setFunctionExtensions("subgroupShuffleDown", 1, &E_GL_KHR_shader_subgroup_shuffle_relative); + symbolTable.setFunctionExtensions("subgroupAdd", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupMul", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupMin", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupMax", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupAnd", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupOr", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupXor", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupInclusiveAdd", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupInclusiveMul", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupInclusiveMin", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupInclusiveMax", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupInclusiveAnd", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupInclusiveOr", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupInclusiveXor", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupExclusiveAdd", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupExclusiveMul", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupExclusiveMin", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupExclusiveMax", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupExclusiveAnd", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupExclusiveOr", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupExclusiveXor", 1, &E_GL_KHR_shader_subgroup_arithmetic); + symbolTable.setFunctionExtensions("subgroupClusteredAdd", 1, &E_GL_KHR_shader_subgroup_clustered); + symbolTable.setFunctionExtensions("subgroupClusteredMul", 1, &E_GL_KHR_shader_subgroup_clustered); + symbolTable.setFunctionExtensions("subgroupClusteredMin", 1, &E_GL_KHR_shader_subgroup_clustered); + symbolTable.setFunctionExtensions("subgroupClusteredMax", 1, &E_GL_KHR_shader_subgroup_clustered); + symbolTable.setFunctionExtensions("subgroupClusteredAnd", 1, &E_GL_KHR_shader_subgroup_clustered); + symbolTable.setFunctionExtensions("subgroupClusteredOr", 1, &E_GL_KHR_shader_subgroup_clustered); + symbolTable.setFunctionExtensions("subgroupClusteredXor", 1, &E_GL_KHR_shader_subgroup_clustered); + symbolTable.setFunctionExtensions("subgroupQuadBroadcast", 1, &E_GL_KHR_shader_subgroup_quad); + symbolTable.setFunctionExtensions("subgroupQuadSwapHorizontal", 1, &E_GL_KHR_shader_subgroup_quad); + symbolTable.setFunctionExtensions("subgroupQuadSwapVertical", 1, &E_GL_KHR_shader_subgroup_quad); + symbolTable.setFunctionExtensions("subgroupQuadSwapDiagonal", 1, &E_GL_KHR_shader_subgroup_quad); + symbolTable.setFunctionExtensions("subgroupPartitionNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedAddNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedMulNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedMinNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedMaxNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedAndNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedOrNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedXorNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveAddNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveMulNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveMinNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveMaxNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveAndNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveOrNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveXorNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveAddNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveMulNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveMinNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveMaxNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveAndNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveOrNV", 1, &E_GL_NV_shader_subgroup_partitioned); + symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveXorNV", 1, &E_GL_NV_shader_subgroup_partitioned); + + // GL_NV_shader_sm_builtins + symbolTable.setVariableExtensions("gl_WarpsPerSMNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMCountNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_WarpIDNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMIDNV", 1, &E_GL_NV_shader_sm_builtins); + BuiltInVariable("gl_WarpsPerSMNV", EbvWarpsPerSM, symbolTable); + BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable); + BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable); + BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable); + } + + if (profile == EEsProfile) { + symbolTable.setFunctionExtensions("shadow2DEXT", 1, &E_GL_EXT_shadow_samplers); + symbolTable.setFunctionExtensions("shadow2DProjEXT", 1, &E_GL_EXT_shadow_samplers); + } + + if (spvVersion.vulkan > 0) { + symbolTable.setVariableExtensions("gl_ScopeDevice", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_ScopeWorkgroup", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_ScopeSubgroup", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_ScopeInvocation", 1, &E_GL_KHR_memory_scope_semantics); + + symbolTable.setVariableExtensions("gl_SemanticsRelaxed", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_SemanticsAcquire", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_SemanticsRelease", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_SemanticsAcquireRelease", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_SemanticsMakeAvailable", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_SemanticsMakeVisible", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_SemanticsVolatile", 1, &E_GL_KHR_memory_scope_semantics); + + symbolTable.setVariableExtensions("gl_StorageSemanticsNone", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_StorageSemanticsBuffer", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_StorageSemanticsShared", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_StorageSemanticsImage", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setVariableExtensions("gl_StorageSemanticsOutput", 1, &E_GL_KHR_memory_scope_semantics); + } + + symbolTable.setFunctionExtensions("helperInvocationEXT", 1, &E_GL_EXT_demote_to_helper_invocation); + + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 450)) { + symbolTable.setVariableExtensions("gl_ShadingRateEXT", 1, &E_GL_EXT_fragment_shading_rate); + BuiltInVariable("gl_ShadingRateEXT", EbvShadingRateKHR, symbolTable); + + symbolTable.setVariableExtensions("gl_ShadingRateFlag2VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag2HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + } +#endif // !GLSLANG_WEB + break; + + case EShLangCompute: + BuiltInVariable("gl_NumWorkGroups", EbvNumWorkGroups, symbolTable); + BuiltInVariable("gl_WorkGroupSize", EbvWorkGroupSize, symbolTable); + BuiltInVariable("gl_WorkGroupID", EbvWorkGroupId, symbolTable); + BuiltInVariable("gl_LocalInvocationID", EbvLocalInvocationId, symbolTable); + BuiltInVariable("gl_GlobalInvocationID", EbvGlobalInvocationId, symbolTable); + BuiltInVariable("gl_LocalInvocationIndex", EbvLocalInvocationIndex, symbolTable); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable); + +#ifndef GLSLANG_WEB + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview); + } + + if (profile != EEsProfile && version < 430) { + symbolTable.setVariableExtensions("gl_NumWorkGroups", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_WorkGroupSize", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_WorkGroupID", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_LocalInvocationID", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_GlobalInvocationID", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_LocalInvocationIndex", 1, &E_GL_ARB_compute_shader); + + symbolTable.setVariableExtensions("gl_MaxComputeWorkGroupCount", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_MaxComputeWorkGroupSize", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_MaxComputeUniformComponents", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_MaxComputeTextureImageUnits", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_MaxComputeImageUniforms", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_MaxComputeAtomicCounters", 1, &E_GL_ARB_compute_shader); + symbolTable.setVariableExtensions("gl_MaxComputeAtomicCounterBuffers", 1, &E_GL_ARB_compute_shader); + + symbolTable.setFunctionExtensions("barrier", 1, &E_GL_ARB_compute_shader); + symbolTable.setFunctionExtensions("memoryBarrierAtomicCounter", 1, &E_GL_ARB_compute_shader); + symbolTable.setFunctionExtensions("memoryBarrierBuffer", 1, &E_GL_ARB_compute_shader); + symbolTable.setFunctionExtensions("memoryBarrierImage", 1, &E_GL_ARB_compute_shader); + symbolTable.setFunctionExtensions("memoryBarrierShared", 1, &E_GL_ARB_compute_shader); + symbolTable.setFunctionExtensions("groupMemoryBarrier", 1, &E_GL_ARB_compute_shader); + } + + + symbolTable.setFunctionExtensions("controlBarrier", 1, &E_GL_KHR_memory_scope_semantics); + symbolTable.setFunctionExtensions("debugPrintfEXT", 1, &E_GL_EXT_debug_printf); + + // GL_ARB_shader_ballot + if (profile != EEsProfile) { + symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB", 1, &E_GL_ARB_shader_ballot); + + BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable); + BuiltInVariable("gl_SubGroupEqMaskARB", EbvSubGroupEqMask, symbolTable); + BuiltInVariable("gl_SubGroupGeMaskARB", EbvSubGroupGeMask, symbolTable); + BuiltInVariable("gl_SubGroupGtMaskARB", EbvSubGroupGtMask, symbolTable); + BuiltInVariable("gl_SubGroupLeMaskARB", EbvSubGroupLeMask, symbolTable); + BuiltInVariable("gl_SubGroupLtMaskARB", EbvSubGroupLtMask, symbolTable); + + if (spvVersion.vulkan > 0) + // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan + SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable); + else + BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + symbolTable.setVariableExtensions("gl_SubgroupSize", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupEqMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + + BuiltInVariable("gl_SubgroupSize", EbvSubgroupSize2, symbolTable); + BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable); + BuiltInVariable("gl_SubgroupEqMask", EbvSubgroupEqMask2, symbolTable); + BuiltInVariable("gl_SubgroupGeMask", EbvSubgroupGeMask2, symbolTable); + BuiltInVariable("gl_SubgroupGtMask", EbvSubgroupGtMask2, symbolTable); + BuiltInVariable("gl_SubgroupLeMask", EbvSubgroupLeMask2, symbolTable); + BuiltInVariable("gl_SubgroupLtMask", EbvSubgroupLtMask2, symbolTable); + + // GL_NV_shader_sm_builtins + symbolTable.setVariableExtensions("gl_WarpsPerSMNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMCountNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_WarpIDNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMIDNV", 1, &E_GL_NV_shader_sm_builtins); + BuiltInVariable("gl_WarpsPerSMNV", EbvWarpsPerSM, symbolTable); + BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable); + BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable); + BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + symbolTable.setVariableExtensions("gl_NumSubgroups", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupID", 1, &E_GL_KHR_shader_subgroup_basic); + + BuiltInVariable("gl_NumSubgroups", EbvNumSubgroups, symbolTable); + BuiltInVariable("gl_SubgroupID", EbvSubgroupID, symbolTable); + + symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic); + } + + { + const char *coopExt[2] = { E_GL_NV_cooperative_matrix, E_GL_NV_integer_cooperative_matrix }; + symbolTable.setFunctionExtensions("coopMatLoadNV", 2, coopExt); + symbolTable.setFunctionExtensions("coopMatStoreNV", 2, coopExt); + symbolTable.setFunctionExtensions("coopMatMulAddNV", 2, coopExt); + } + + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + symbolTable.setFunctionExtensions("dFdx", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("dFdy", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("fwidth", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("dFdxFine", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("dFdyFine", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("fwidthFine", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("dFdxCoarse", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("dFdyCoarse", 1, &E_GL_NV_compute_shader_derivatives); + symbolTable.setFunctionExtensions("fwidthCoarse", 1, &E_GL_NV_compute_shader_derivatives); + } + + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 450)) { + symbolTable.setVariableExtensions("gl_ShadingRateFlag2VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag2HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + } +#endif // !GLSLANG_WEB + break; + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + case EShLangRayGen: + case EShLangIntersect: + case EShLangAnyHit: + case EShLangClosestHit: + case EShLangMiss: + case EShLangCallable: + if (profile != EEsProfile && version >= 460) { + const char *rtexts[] = { E_GL_NV_ray_tracing, E_GL_EXT_ray_tracing }; + symbolTable.setVariableExtensions("gl_LaunchIDNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_LaunchIDEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_LaunchSizeNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_LaunchSizeEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_PrimitiveID", 2, rtexts); + symbolTable.setVariableExtensions("gl_InstanceID", 2, rtexts); + symbolTable.setVariableExtensions("gl_InstanceCustomIndexNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_InstanceCustomIndexEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_GeometryIndexEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldRayOriginNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldRayOriginEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldRayDirectionNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldRayDirectionEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectRayOriginNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectRayOriginEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectRayDirectionNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectRayDirectionEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_RayTminNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_RayTminEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_RayTmaxNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_RayTmaxEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_HitTNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_HitTEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_HitKindNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_HitKindEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectToWorldNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectToWorldEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_ObjectToWorld3x4EXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldToObjectNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldToObjectEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_WorldToObject3x4EXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setVariableExtensions("gl_IncomingRayFlagsNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setVariableExtensions("gl_IncomingRayFlagsEXT", 1, &E_GL_EXT_ray_tracing); + + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + + + symbolTable.setFunctionExtensions("traceNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setFunctionExtensions("traceRayEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setFunctionExtensions("reportIntersectionNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setFunctionExtensions("reportIntersectionEXT", 1, &E_GL_EXT_ray_tracing); + symbolTable.setFunctionExtensions("ignoreIntersectionNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setFunctionExtensions("terminateRayNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setFunctionExtensions("executeCallableNV", 1, &E_GL_NV_ray_tracing); + symbolTable.setFunctionExtensions("executeCallableEXT", 1, &E_GL_EXT_ray_tracing); + + + BuiltInVariable("gl_LaunchIDNV", EbvLaunchId, symbolTable); + BuiltInVariable("gl_LaunchIDEXT", EbvLaunchId, symbolTable); + BuiltInVariable("gl_LaunchSizeNV", EbvLaunchSize, symbolTable); + BuiltInVariable("gl_LaunchSizeEXT", EbvLaunchSize, symbolTable); + BuiltInVariable("gl_PrimitiveID", EbvPrimitiveId, symbolTable); + BuiltInVariable("gl_InstanceID", EbvInstanceId, symbolTable); + BuiltInVariable("gl_InstanceCustomIndexNV", EbvInstanceCustomIndex,symbolTable); + BuiltInVariable("gl_InstanceCustomIndexEXT", EbvInstanceCustomIndex,symbolTable); + BuiltInVariable("gl_GeometryIndexEXT", EbvGeometryIndex, symbolTable); + BuiltInVariable("gl_WorldRayOriginNV", EbvWorldRayOrigin, symbolTable); + BuiltInVariable("gl_WorldRayOriginEXT", EbvWorldRayOrigin, symbolTable); + BuiltInVariable("gl_WorldRayDirectionNV", EbvWorldRayDirection, symbolTable); + BuiltInVariable("gl_WorldRayDirectionEXT", EbvWorldRayDirection, symbolTable); + BuiltInVariable("gl_ObjectRayOriginNV", EbvObjectRayOrigin, symbolTable); + BuiltInVariable("gl_ObjectRayOriginEXT", EbvObjectRayOrigin, symbolTable); + BuiltInVariable("gl_ObjectRayDirectionNV", EbvObjectRayDirection, symbolTable); + BuiltInVariable("gl_ObjectRayDirectionEXT", EbvObjectRayDirection, symbolTable); + BuiltInVariable("gl_RayTminNV", EbvRayTmin, symbolTable); + BuiltInVariable("gl_RayTminEXT", EbvRayTmin, symbolTable); + BuiltInVariable("gl_RayTmaxNV", EbvRayTmax, symbolTable); + BuiltInVariable("gl_RayTmaxEXT", EbvRayTmax, symbolTable); + BuiltInVariable("gl_HitTNV", EbvHitT, symbolTable); + BuiltInVariable("gl_HitTEXT", EbvHitT, symbolTable); + BuiltInVariable("gl_HitKindNV", EbvHitKind, symbolTable); + BuiltInVariable("gl_HitKindEXT", EbvHitKind, symbolTable); + BuiltInVariable("gl_ObjectToWorldNV", EbvObjectToWorld, symbolTable); + BuiltInVariable("gl_ObjectToWorldEXT", EbvObjectToWorld, symbolTable); + BuiltInVariable("gl_ObjectToWorld3x4EXT", EbvObjectToWorld3x4, symbolTable); + BuiltInVariable("gl_WorldToObjectNV", EbvWorldToObject, symbolTable); + BuiltInVariable("gl_WorldToObjectEXT", EbvWorldToObject, symbolTable); + BuiltInVariable("gl_WorldToObject3x4EXT", EbvWorldToObject3x4, symbolTable); + BuiltInVariable("gl_IncomingRayFlagsNV", EbvIncomingRayFlags, symbolTable); + BuiltInVariable("gl_IncomingRayFlagsEXT", EbvIncomingRayFlags, symbolTable); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + + // GL_ARB_shader_ballot + symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB", 1, &E_GL_ARB_shader_ballot); + + BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable); + BuiltInVariable("gl_SubGroupEqMaskARB", EbvSubGroupEqMask, symbolTable); + BuiltInVariable("gl_SubGroupGeMaskARB", EbvSubGroupGeMask, symbolTable); + BuiltInVariable("gl_SubGroupGtMaskARB", EbvSubGroupGtMask, symbolTable); + BuiltInVariable("gl_SubGroupLeMaskARB", EbvSubGroupLeMask, symbolTable); + BuiltInVariable("gl_SubGroupLtMaskARB", EbvSubGroupLtMask, symbolTable); + + if (spvVersion.vulkan > 0) + // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan + SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable); + else + BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable); + + // GL_KHR_shader_subgroup + symbolTable.setVariableExtensions("gl_NumSubgroups", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupSize", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupEqMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + + BuiltInVariable("gl_NumSubgroups", EbvNumSubgroups, symbolTable); + BuiltInVariable("gl_SubgroupID", EbvSubgroupID, symbolTable); + BuiltInVariable("gl_SubgroupSize", EbvSubgroupSize2, symbolTable); + BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable); + BuiltInVariable("gl_SubgroupEqMask", EbvSubgroupEqMask2, symbolTable); + BuiltInVariable("gl_SubgroupGeMask", EbvSubgroupGeMask2, symbolTable); + BuiltInVariable("gl_SubgroupGtMask", EbvSubgroupGtMask2, symbolTable); + BuiltInVariable("gl_SubgroupLeMask", EbvSubgroupLeMask2, symbolTable); + BuiltInVariable("gl_SubgroupLtMask", EbvSubgroupLtMask2, symbolTable); + + // GL_NV_shader_sm_builtins + symbolTable.setVariableExtensions("gl_WarpsPerSMNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMCountNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_WarpIDNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMIDNV", 1, &E_GL_NV_shader_sm_builtins); + BuiltInVariable("gl_WarpsPerSMNV", EbvWarpsPerSM, symbolTable); + BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable); + BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable); + BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable); + } + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 450)) { + symbolTable.setVariableExtensions("gl_ShadingRateFlag2VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag2HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + } + break; + + case EShLangMeshNV: + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + // per-vertex builtins + symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_Position", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_PointSize", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_ClipDistance", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_CullDistance", 1, &E_GL_NV_mesh_shader); + + BuiltInVariable("gl_MeshVerticesNV", "gl_Position", EbvPosition, symbolTable); + BuiltInVariable("gl_MeshVerticesNV", "gl_PointSize", EbvPointSize, symbolTable); + BuiltInVariable("gl_MeshVerticesNV", "gl_ClipDistance", EbvClipDistance, symbolTable); + BuiltInVariable("gl_MeshVerticesNV", "gl_CullDistance", EbvCullDistance, symbolTable); + + symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_PositionPerViewNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_ClipDistancePerViewNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshVerticesNV", "gl_CullDistancePerViewNV", 1, &E_GL_NV_mesh_shader); + + BuiltInVariable("gl_MeshVerticesNV", "gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + BuiltInVariable("gl_MeshVerticesNV", "gl_ClipDistancePerViewNV", EbvClipDistancePerViewNV, symbolTable); + BuiltInVariable("gl_MeshVerticesNV", "gl_CullDistancePerViewNV", EbvCullDistancePerViewNV, symbolTable); + + // per-primitive builtins + symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_PrimitiveID", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_Layer", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_ViewportIndex", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_ViewportMask", 1, &E_GL_NV_mesh_shader); + + BuiltInVariable("gl_MeshPrimitivesNV", "gl_PrimitiveID", EbvPrimitiveId, symbolTable); + BuiltInVariable("gl_MeshPrimitivesNV", "gl_Layer", EbvLayer, symbolTable); + BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportIndex", EbvViewportIndex, symbolTable); + BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportMask", EbvViewportMaskNV, symbolTable); + + // per-view per-primitive builtins + symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_LayerPerViewNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshPrimitivesNV", "gl_ViewportMaskPerViewNV", 1, &E_GL_NV_mesh_shader); + + BuiltInVariable("gl_MeshPrimitivesNV", "gl_LayerPerViewNV", EbvLayerPerViewNV, symbolTable); + BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportMaskPerViewNV", EbvViewportMaskPerViewNV, symbolTable); + + // other builtins + symbolTable.setVariableExtensions("gl_PrimitiveCountNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_PrimitiveIndicesNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshViewCountNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshViewIndicesNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_WorkGroupSize", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_WorkGroupID", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_LocalInvocationID", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_GlobalInvocationID", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_LocalInvocationIndex", 1, &E_GL_NV_mesh_shader); + + BuiltInVariable("gl_PrimitiveCountNV", EbvPrimitiveCountNV, symbolTable); + BuiltInVariable("gl_PrimitiveIndicesNV", EbvPrimitiveIndicesNV, symbolTable); + BuiltInVariable("gl_MeshViewCountNV", EbvMeshViewCountNV, symbolTable); + BuiltInVariable("gl_MeshViewIndicesNV", EbvMeshViewIndicesNV, symbolTable); + BuiltInVariable("gl_WorkGroupSize", EbvWorkGroupSize, symbolTable); + BuiltInVariable("gl_WorkGroupID", EbvWorkGroupId, symbolTable); + BuiltInVariable("gl_LocalInvocationID", EbvLocalInvocationId, symbolTable); + BuiltInVariable("gl_GlobalInvocationID", EbvGlobalInvocationId, symbolTable); + BuiltInVariable("gl_LocalInvocationIndex", EbvLocalInvocationIndex, symbolTable); + + // builtin constants + symbolTable.setVariableExtensions("gl_MaxMeshOutputVerticesNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MaxMeshOutputPrimitivesNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MaxMeshWorkGroupSizeNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MaxMeshViewCountNV", 1, &E_GL_NV_mesh_shader); + + // builtin functions + symbolTable.setFunctionExtensions("barrier", 1, &E_GL_NV_mesh_shader); + symbolTable.setFunctionExtensions("memoryBarrierShared", 1, &E_GL_NV_mesh_shader); + symbolTable.setFunctionExtensions("groupMemoryBarrier", 1, &E_GL_NV_mesh_shader); + } + + if (profile != EEsProfile && version >= 450) { + // GL_EXT_device_group + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + + // GL_ARB_shader_draw_parameters + symbolTable.setVariableExtensions("gl_DrawIDARB", 1, &E_GL_ARB_shader_draw_parameters); + BuiltInVariable("gl_DrawIDARB", EbvDrawId, symbolTable); + if (version >= 460) { + BuiltInVariable("gl_DrawID", EbvDrawId, symbolTable); + } + + // GL_ARB_shader_ballot + symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB", 1, &E_GL_ARB_shader_ballot); + + BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable); + BuiltInVariable("gl_SubGroupEqMaskARB", EbvSubGroupEqMask, symbolTable); + BuiltInVariable("gl_SubGroupGeMaskARB", EbvSubGroupGeMask, symbolTable); + BuiltInVariable("gl_SubGroupGtMaskARB", EbvSubGroupGtMask, symbolTable); + BuiltInVariable("gl_SubGroupLeMaskARB", EbvSubGroupLeMask, symbolTable); + BuiltInVariable("gl_SubGroupLtMaskARB", EbvSubGroupLtMask, symbolTable); + + if (spvVersion.vulkan > 0) + // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan + SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable); + else + BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + symbolTable.setVariableExtensions("gl_NumSubgroups", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupSize", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupEqMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + + BuiltInVariable("gl_NumSubgroups", EbvNumSubgroups, symbolTable); + BuiltInVariable("gl_SubgroupID", EbvSubgroupID, symbolTable); + BuiltInVariable("gl_SubgroupSize", EbvSubgroupSize2, symbolTable); + BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable); + BuiltInVariable("gl_SubgroupEqMask", EbvSubgroupEqMask2, symbolTable); + BuiltInVariable("gl_SubgroupGeMask", EbvSubgroupGeMask2, symbolTable); + BuiltInVariable("gl_SubgroupGtMask", EbvSubgroupGtMask2, symbolTable); + BuiltInVariable("gl_SubgroupLeMask", EbvSubgroupLeMask2, symbolTable); + BuiltInVariable("gl_SubgroupLtMask", EbvSubgroupLtMask2, symbolTable); + + symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic); + + // GL_NV_shader_sm_builtins + symbolTable.setVariableExtensions("gl_WarpsPerSMNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMCountNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_WarpIDNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMIDNV", 1, &E_GL_NV_shader_sm_builtins); + BuiltInVariable("gl_WarpsPerSMNV", EbvWarpsPerSM, symbolTable); + BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable); + BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable); + BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable); + } + + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 450)) { + symbolTable.setVariableExtensions("gl_ShadingRateFlag2VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag2HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + } + break; + + case EShLangTaskNV: + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + symbolTable.setVariableExtensions("gl_TaskCountNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_WorkGroupSize", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_WorkGroupID", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_LocalInvocationID", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_GlobalInvocationID", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_LocalInvocationIndex", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshViewCountNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MeshViewIndicesNV", 1, &E_GL_NV_mesh_shader); + + BuiltInVariable("gl_TaskCountNV", EbvTaskCountNV, symbolTable); + BuiltInVariable("gl_WorkGroupSize", EbvWorkGroupSize, symbolTable); + BuiltInVariable("gl_WorkGroupID", EbvWorkGroupId, symbolTable); + BuiltInVariable("gl_LocalInvocationID", EbvLocalInvocationId, symbolTable); + BuiltInVariable("gl_GlobalInvocationID", EbvGlobalInvocationId, symbolTable); + BuiltInVariable("gl_LocalInvocationIndex", EbvLocalInvocationIndex, symbolTable); + BuiltInVariable("gl_MeshViewCountNV", EbvMeshViewCountNV, symbolTable); + BuiltInVariable("gl_MeshViewIndicesNV", EbvMeshViewIndicesNV, symbolTable); + + symbolTable.setVariableExtensions("gl_MaxTaskWorkGroupSizeNV", 1, &E_GL_NV_mesh_shader); + symbolTable.setVariableExtensions("gl_MaxMeshViewCountNV", 1, &E_GL_NV_mesh_shader); + + symbolTable.setFunctionExtensions("barrier", 1, &E_GL_NV_mesh_shader); + symbolTable.setFunctionExtensions("memoryBarrierShared", 1, &E_GL_NV_mesh_shader); + symbolTable.setFunctionExtensions("groupMemoryBarrier", 1, &E_GL_NV_mesh_shader); + } + + if (profile != EEsProfile && version >= 450) { + // GL_EXT_device_group + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + + // GL_ARB_shader_draw_parameters + symbolTable.setVariableExtensions("gl_DrawIDARB", 1, &E_GL_ARB_shader_draw_parameters); + BuiltInVariable("gl_DrawIDARB", EbvDrawId, symbolTable); + if (version >= 460) { + BuiltInVariable("gl_DrawID", EbvDrawId, symbolTable); + } + + // GL_ARB_shader_ballot + symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB", 1, &E_GL_ARB_shader_ballot); + + BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable); + BuiltInVariable("gl_SubGroupEqMaskARB", EbvSubGroupEqMask, symbolTable); + BuiltInVariable("gl_SubGroupGeMaskARB", EbvSubGroupGeMask, symbolTable); + BuiltInVariable("gl_SubGroupGtMaskARB", EbvSubGroupGtMask, symbolTable); + BuiltInVariable("gl_SubGroupLeMaskARB", EbvSubGroupLeMask, symbolTable); + BuiltInVariable("gl_SubGroupLtMaskARB", EbvSubGroupLtMask, symbolTable); + + if (spvVersion.vulkan > 0) + // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan + SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable); + else + BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + symbolTable.setVariableExtensions("gl_NumSubgroups", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupSize", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupEqMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + + BuiltInVariable("gl_NumSubgroups", EbvNumSubgroups, symbolTable); + BuiltInVariable("gl_SubgroupID", EbvSubgroupID, symbolTable); + BuiltInVariable("gl_SubgroupSize", EbvSubgroupSize2, symbolTable); + BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable); + BuiltInVariable("gl_SubgroupEqMask", EbvSubgroupEqMask2, symbolTable); + BuiltInVariable("gl_SubgroupGeMask", EbvSubgroupGeMask2, symbolTable); + BuiltInVariable("gl_SubgroupGtMask", EbvSubgroupGtMask2, symbolTable); + BuiltInVariable("gl_SubgroupLeMask", EbvSubgroupLeMask2, symbolTable); + BuiltInVariable("gl_SubgroupLtMask", EbvSubgroupLtMask2, symbolTable); + + symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic); + + // GL_NV_shader_sm_builtins + symbolTable.setVariableExtensions("gl_WarpsPerSMNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMCountNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_WarpIDNV", 1, &E_GL_NV_shader_sm_builtins); + symbolTable.setVariableExtensions("gl_SMIDNV", 1, &E_GL_NV_shader_sm_builtins); + BuiltInVariable("gl_WarpsPerSMNV", EbvWarpsPerSM, symbolTable); + BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable); + BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable); + BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable); + } + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 450)) { + symbolTable.setVariableExtensions("gl_ShadingRateFlag2VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4VerticalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag2HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + symbolTable.setVariableExtensions("gl_ShadingRateFlag4HorizontalPixelsEXT", 1, &E_GL_EXT_fragment_shading_rate); + } + break; +#endif + + default: + assert(false && "Language not supported"); + break; + } + + // + // Next, identify which built-ins have a mapping to an operator. + // If PureOperatorBuiltins is false, those that are not identified as such are + // expected to be resolved through a library of functions, versus as + // operations. + // + + relateTabledBuiltins(version, profile, spvVersion, language, symbolTable); + +#ifndef GLSLANG_WEB + symbolTable.relateToOperator("doubleBitsToInt64", EOpDoubleBitsToInt64); + symbolTable.relateToOperator("doubleBitsToUint64", EOpDoubleBitsToUint64); + symbolTable.relateToOperator("int64BitsToDouble", EOpInt64BitsToDouble); + symbolTable.relateToOperator("uint64BitsToDouble", EOpUint64BitsToDouble); + symbolTable.relateToOperator("halfBitsToInt16", EOpFloat16BitsToInt16); + symbolTable.relateToOperator("halfBitsToUint16", EOpFloat16BitsToUint16); + symbolTable.relateToOperator("float16BitsToInt16", EOpFloat16BitsToInt16); + symbolTable.relateToOperator("float16BitsToUint16", EOpFloat16BitsToUint16); + symbolTable.relateToOperator("int16BitsToFloat16", EOpInt16BitsToFloat16); + symbolTable.relateToOperator("uint16BitsToFloat16", EOpUint16BitsToFloat16); + + symbolTable.relateToOperator("int16BitsToHalf", EOpInt16BitsToFloat16); + symbolTable.relateToOperator("uint16BitsToHalf", EOpUint16BitsToFloat16); + + symbolTable.relateToOperator("packSnorm4x8", EOpPackSnorm4x8); + symbolTable.relateToOperator("unpackSnorm4x8", EOpUnpackSnorm4x8); + symbolTable.relateToOperator("packUnorm4x8", EOpPackUnorm4x8); + symbolTable.relateToOperator("unpackUnorm4x8", EOpUnpackUnorm4x8); + + symbolTable.relateToOperator("packDouble2x32", EOpPackDouble2x32); + symbolTable.relateToOperator("unpackDouble2x32", EOpUnpackDouble2x32); + + symbolTable.relateToOperator("packInt2x32", EOpPackInt2x32); + symbolTable.relateToOperator("unpackInt2x32", EOpUnpackInt2x32); + symbolTable.relateToOperator("packUint2x32", EOpPackUint2x32); + symbolTable.relateToOperator("unpackUint2x32", EOpUnpackUint2x32); + + symbolTable.relateToOperator("packInt2x16", EOpPackInt2x16); + symbolTable.relateToOperator("unpackInt2x16", EOpUnpackInt2x16); + symbolTable.relateToOperator("packUint2x16", EOpPackUint2x16); + symbolTable.relateToOperator("unpackUint2x16", EOpUnpackUint2x16); + + symbolTable.relateToOperator("packInt4x16", EOpPackInt4x16); + symbolTable.relateToOperator("unpackInt4x16", EOpUnpackInt4x16); + symbolTable.relateToOperator("packUint4x16", EOpPackUint4x16); + symbolTable.relateToOperator("unpackUint4x16", EOpUnpackUint4x16); + symbolTable.relateToOperator("packFloat2x16", EOpPackFloat2x16); + symbolTable.relateToOperator("unpackFloat2x16", EOpUnpackFloat2x16); + + symbolTable.relateToOperator("pack16", EOpPack16); + symbolTable.relateToOperator("pack32", EOpPack32); + symbolTable.relateToOperator("pack64", EOpPack64); + + symbolTable.relateToOperator("unpack32", EOpUnpack32); + symbolTable.relateToOperator("unpack16", EOpUnpack16); + symbolTable.relateToOperator("unpack8", EOpUnpack8); + + symbolTable.relateToOperator("controlBarrier", EOpBarrier); + symbolTable.relateToOperator("memoryBarrierAtomicCounter", EOpMemoryBarrierAtomicCounter); + symbolTable.relateToOperator("memoryBarrierImage", EOpMemoryBarrierImage); + + symbolTable.relateToOperator("atomicLoad", EOpAtomicLoad); + symbolTable.relateToOperator("atomicStore", EOpAtomicStore); + + symbolTable.relateToOperator("atomicCounterIncrement", EOpAtomicCounterIncrement); + symbolTable.relateToOperator("atomicCounterDecrement", EOpAtomicCounterDecrement); + symbolTable.relateToOperator("atomicCounter", EOpAtomicCounter); + + symbolTable.relateToOperator("clockARB", EOpReadClockSubgroupKHR); + symbolTable.relateToOperator("clock2x32ARB", EOpReadClockSubgroupKHR); + + symbolTable.relateToOperator("clockRealtimeEXT", EOpReadClockDeviceKHR); + symbolTable.relateToOperator("clockRealtime2x32EXT", EOpReadClockDeviceKHR); + + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("atomicCounterAdd", EOpAtomicCounterAdd); + symbolTable.relateToOperator("atomicCounterSubtract", EOpAtomicCounterSubtract); + symbolTable.relateToOperator("atomicCounterMin", EOpAtomicCounterMin); + symbolTable.relateToOperator("atomicCounterMax", EOpAtomicCounterMax); + symbolTable.relateToOperator("atomicCounterAnd", EOpAtomicCounterAnd); + symbolTable.relateToOperator("atomicCounterOr", EOpAtomicCounterOr); + symbolTable.relateToOperator("atomicCounterXor", EOpAtomicCounterXor); + symbolTable.relateToOperator("atomicCounterExchange", EOpAtomicCounterExchange); + symbolTable.relateToOperator("atomicCounterCompSwap", EOpAtomicCounterCompSwap); + } + + symbolTable.relateToOperator("fma", EOpFma); + symbolTable.relateToOperator("frexp", EOpFrexp); + symbolTable.relateToOperator("ldexp", EOpLdexp); + symbolTable.relateToOperator("uaddCarry", EOpAddCarry); + symbolTable.relateToOperator("usubBorrow", EOpSubBorrow); + symbolTable.relateToOperator("umulExtended", EOpUMulExtended); + symbolTable.relateToOperator("imulExtended", EOpIMulExtended); + symbolTable.relateToOperator("bitfieldExtract", EOpBitfieldExtract); + symbolTable.relateToOperator("bitfieldInsert", EOpBitfieldInsert); + symbolTable.relateToOperator("bitfieldReverse", EOpBitFieldReverse); + symbolTable.relateToOperator("bitCount", EOpBitCount); + symbolTable.relateToOperator("findLSB", EOpFindLSB); + symbolTable.relateToOperator("findMSB", EOpFindMSB); + + symbolTable.relateToOperator("helperInvocationEXT", EOpIsHelperInvocation); + + symbolTable.relateToOperator("countLeadingZeros", EOpCountLeadingZeros); + symbolTable.relateToOperator("countTrailingZeros", EOpCountTrailingZeros); + symbolTable.relateToOperator("absoluteDifference", EOpAbsDifference); + symbolTable.relateToOperator("addSaturate", EOpAddSaturate); + symbolTable.relateToOperator("subtractSaturate", EOpSubSaturate); + symbolTable.relateToOperator("average", EOpAverage); + symbolTable.relateToOperator("averageRounded", EOpAverageRounded); + symbolTable.relateToOperator("multiply32x16", EOpMul32x16); + symbolTable.relateToOperator("debugPrintfEXT", EOpDebugPrintf); + + + if (PureOperatorBuiltins) { + symbolTable.relateToOperator("imageSize", EOpImageQuerySize); + symbolTable.relateToOperator("imageSamples", EOpImageQuerySamples); + symbolTable.relateToOperator("imageLoad", EOpImageLoad); + symbolTable.relateToOperator("imageStore", EOpImageStore); + symbolTable.relateToOperator("imageAtomicAdd", EOpImageAtomicAdd); + symbolTable.relateToOperator("imageAtomicMin", EOpImageAtomicMin); + symbolTable.relateToOperator("imageAtomicMax", EOpImageAtomicMax); + symbolTable.relateToOperator("imageAtomicAnd", EOpImageAtomicAnd); + symbolTable.relateToOperator("imageAtomicOr", EOpImageAtomicOr); + symbolTable.relateToOperator("imageAtomicXor", EOpImageAtomicXor); + symbolTable.relateToOperator("imageAtomicExchange", EOpImageAtomicExchange); + symbolTable.relateToOperator("imageAtomicCompSwap", EOpImageAtomicCompSwap); + symbolTable.relateToOperator("imageAtomicLoad", EOpImageAtomicLoad); + symbolTable.relateToOperator("imageAtomicStore", EOpImageAtomicStore); + + symbolTable.relateToOperator("subpassLoad", EOpSubpassLoad); + symbolTable.relateToOperator("subpassLoadMS", EOpSubpassLoadMS); + + symbolTable.relateToOperator("textureGather", EOpTextureGather); + symbolTable.relateToOperator("textureGatherOffset", EOpTextureGatherOffset); + symbolTable.relateToOperator("textureGatherOffsets", EOpTextureGatherOffsets); + + symbolTable.relateToOperator("noise1", EOpNoise); + symbolTable.relateToOperator("noise2", EOpNoise); + symbolTable.relateToOperator("noise3", EOpNoise); + symbolTable.relateToOperator("noise4", EOpNoise); + + symbolTable.relateToOperator("textureFootprintNV", EOpImageSampleFootprintNV); + symbolTable.relateToOperator("textureFootprintClampNV", EOpImageSampleFootprintClampNV); + symbolTable.relateToOperator("textureFootprintLodNV", EOpImageSampleFootprintLodNV); + symbolTable.relateToOperator("textureFootprintGradNV", EOpImageSampleFootprintGradNV); + symbolTable.relateToOperator("textureFootprintGradClampNV", EOpImageSampleFootprintGradClampNV); + + if (spvVersion.spv == 0 && IncludeLegacy(version, profile, spvVersion)) + symbolTable.relateToOperator("ftransform", EOpFtransform); + + if (spvVersion.spv == 0 && (IncludeLegacy(version, profile, spvVersion) || + (profile == EEsProfile && version == 100))) { + + symbolTable.relateToOperator("texture1D", EOpTexture); + symbolTable.relateToOperator("texture1DGradARB", EOpTextureGrad); + symbolTable.relateToOperator("texture1DProj", EOpTextureProj); + symbolTable.relateToOperator("texture1DProjGradARB", EOpTextureProjGrad); + symbolTable.relateToOperator("texture1DLod", EOpTextureLod); + symbolTable.relateToOperator("texture1DProjLod", EOpTextureProjLod); + + symbolTable.relateToOperator("texture2DRect", EOpTexture); + symbolTable.relateToOperator("texture2DRectProj", EOpTextureProj); + symbolTable.relateToOperator("texture2DRectGradARB", EOpTextureGrad); + symbolTable.relateToOperator("texture2DRectProjGradARB", EOpTextureProjGrad); + symbolTable.relateToOperator("shadow2DRect", EOpTexture); + symbolTable.relateToOperator("shadow2DRectProj", EOpTextureProj); + symbolTable.relateToOperator("shadow2DRectGradARB", EOpTextureGrad); + symbolTable.relateToOperator("shadow2DRectProjGradARB", EOpTextureProjGrad); + + symbolTable.relateToOperator("texture2D", EOpTexture); + symbolTable.relateToOperator("texture2DProj", EOpTextureProj); + symbolTable.relateToOperator("texture2DGradEXT", EOpTextureGrad); + symbolTable.relateToOperator("texture2DGradARB", EOpTextureGrad); + symbolTable.relateToOperator("texture2DProjGradEXT", EOpTextureProjGrad); + symbolTable.relateToOperator("texture2DProjGradARB", EOpTextureProjGrad); + symbolTable.relateToOperator("texture2DLod", EOpTextureLod); + symbolTable.relateToOperator("texture2DLodEXT", EOpTextureLod); + symbolTable.relateToOperator("texture2DProjLod", EOpTextureProjLod); + symbolTable.relateToOperator("texture2DProjLodEXT", EOpTextureProjLod); + + symbolTable.relateToOperator("texture3D", EOpTexture); + symbolTable.relateToOperator("texture3DGradARB", EOpTextureGrad); + symbolTable.relateToOperator("texture3DProj", EOpTextureProj); + symbolTable.relateToOperator("texture3DProjGradARB", EOpTextureProjGrad); + symbolTable.relateToOperator("texture3DLod", EOpTextureLod); + symbolTable.relateToOperator("texture3DProjLod", EOpTextureProjLod); + symbolTable.relateToOperator("textureCube", EOpTexture); + symbolTable.relateToOperator("textureCubeGradEXT", EOpTextureGrad); + symbolTable.relateToOperator("textureCubeGradARB", EOpTextureGrad); + symbolTable.relateToOperator("textureCubeLod", EOpTextureLod); + symbolTable.relateToOperator("textureCubeLodEXT", EOpTextureLod); + symbolTable.relateToOperator("shadow1D", EOpTexture); + symbolTable.relateToOperator("shadow1DGradARB", EOpTextureGrad); + symbolTable.relateToOperator("shadow2D", EOpTexture); + symbolTable.relateToOperator("shadow2DGradARB", EOpTextureGrad); + symbolTable.relateToOperator("shadow1DProj", EOpTextureProj); + symbolTable.relateToOperator("shadow2DProj", EOpTextureProj); + symbolTable.relateToOperator("shadow1DProjGradARB", EOpTextureProjGrad); + symbolTable.relateToOperator("shadow2DProjGradARB", EOpTextureProjGrad); + symbolTable.relateToOperator("shadow1DLod", EOpTextureLod); + symbolTable.relateToOperator("shadow2DLod", EOpTextureLod); + symbolTable.relateToOperator("shadow1DProjLod", EOpTextureProjLod); + symbolTable.relateToOperator("shadow2DProjLod", EOpTextureProjLod); + } + + if (profile != EEsProfile) { + symbolTable.relateToOperator("sparseTextureARB", EOpSparseTexture); + symbolTable.relateToOperator("sparseTextureLodARB", EOpSparseTextureLod); + symbolTable.relateToOperator("sparseTextureOffsetARB", EOpSparseTextureOffset); + symbolTable.relateToOperator("sparseTexelFetchARB", EOpSparseTextureFetch); + symbolTable.relateToOperator("sparseTexelFetchOffsetARB", EOpSparseTextureFetchOffset); + symbolTable.relateToOperator("sparseTextureLodOffsetARB", EOpSparseTextureLodOffset); + symbolTable.relateToOperator("sparseTextureGradARB", EOpSparseTextureGrad); + symbolTable.relateToOperator("sparseTextureGradOffsetARB", EOpSparseTextureGradOffset); + symbolTable.relateToOperator("sparseTextureGatherARB", EOpSparseTextureGather); + symbolTable.relateToOperator("sparseTextureGatherOffsetARB", EOpSparseTextureGatherOffset); + symbolTable.relateToOperator("sparseTextureGatherOffsetsARB", EOpSparseTextureGatherOffsets); + symbolTable.relateToOperator("sparseImageLoadARB", EOpSparseImageLoad); + symbolTable.relateToOperator("sparseTexelsResidentARB", EOpSparseTexelsResident); + + symbolTable.relateToOperator("sparseTextureClampARB", EOpSparseTextureClamp); + symbolTable.relateToOperator("sparseTextureOffsetClampARB", EOpSparseTextureOffsetClamp); + symbolTable.relateToOperator("sparseTextureGradClampARB", EOpSparseTextureGradClamp); + symbolTable.relateToOperator("sparseTextureGradOffsetClampARB", EOpSparseTextureGradOffsetClamp); + symbolTable.relateToOperator("textureClampARB", EOpTextureClamp); + symbolTable.relateToOperator("textureOffsetClampARB", EOpTextureOffsetClamp); + symbolTable.relateToOperator("textureGradClampARB", EOpTextureGradClamp); + symbolTable.relateToOperator("textureGradOffsetClampARB", EOpTextureGradOffsetClamp); + + symbolTable.relateToOperator("ballotARB", EOpBallot); + symbolTable.relateToOperator("readInvocationARB", EOpReadInvocation); + symbolTable.relateToOperator("readFirstInvocationARB", EOpReadFirstInvocation); + + if (version >= 430) { + symbolTable.relateToOperator("anyInvocationARB", EOpAnyInvocation); + symbolTable.relateToOperator("allInvocationsARB", EOpAllInvocations); + symbolTable.relateToOperator("allInvocationsEqualARB", EOpAllInvocationsEqual); + } + if (version >= 460) { + symbolTable.relateToOperator("anyInvocation", EOpAnyInvocation); + symbolTable.relateToOperator("allInvocations", EOpAllInvocations); + symbolTable.relateToOperator("allInvocationsEqual", EOpAllInvocationsEqual); + } + symbolTable.relateToOperator("minInvocationsAMD", EOpMinInvocations); + symbolTable.relateToOperator("maxInvocationsAMD", EOpMaxInvocations); + symbolTable.relateToOperator("addInvocationsAMD", EOpAddInvocations); + symbolTable.relateToOperator("minInvocationsNonUniformAMD", EOpMinInvocationsNonUniform); + symbolTable.relateToOperator("maxInvocationsNonUniformAMD", EOpMaxInvocationsNonUniform); + symbolTable.relateToOperator("addInvocationsNonUniformAMD", EOpAddInvocationsNonUniform); + symbolTable.relateToOperator("minInvocationsInclusiveScanAMD", EOpMinInvocationsInclusiveScan); + symbolTable.relateToOperator("maxInvocationsInclusiveScanAMD", EOpMaxInvocationsInclusiveScan); + symbolTable.relateToOperator("addInvocationsInclusiveScanAMD", EOpAddInvocationsInclusiveScan); + symbolTable.relateToOperator("minInvocationsInclusiveScanNonUniformAMD", EOpMinInvocationsInclusiveScanNonUniform); + symbolTable.relateToOperator("maxInvocationsInclusiveScanNonUniformAMD", EOpMaxInvocationsInclusiveScanNonUniform); + symbolTable.relateToOperator("addInvocationsInclusiveScanNonUniformAMD", EOpAddInvocationsInclusiveScanNonUniform); + symbolTable.relateToOperator("minInvocationsExclusiveScanAMD", EOpMinInvocationsExclusiveScan); + symbolTable.relateToOperator("maxInvocationsExclusiveScanAMD", EOpMaxInvocationsExclusiveScan); + symbolTable.relateToOperator("addInvocationsExclusiveScanAMD", EOpAddInvocationsExclusiveScan); + symbolTable.relateToOperator("minInvocationsExclusiveScanNonUniformAMD", EOpMinInvocationsExclusiveScanNonUniform); + symbolTable.relateToOperator("maxInvocationsExclusiveScanNonUniformAMD", EOpMaxInvocationsExclusiveScanNonUniform); + symbolTable.relateToOperator("addInvocationsExclusiveScanNonUniformAMD", EOpAddInvocationsExclusiveScanNonUniform); + symbolTable.relateToOperator("swizzleInvocationsAMD", EOpSwizzleInvocations); + symbolTable.relateToOperator("swizzleInvocationsMaskedAMD", EOpSwizzleInvocationsMasked); + symbolTable.relateToOperator("writeInvocationAMD", EOpWriteInvocation); + symbolTable.relateToOperator("mbcntAMD", EOpMbcnt); + + symbolTable.relateToOperator("min3", EOpMin3); + symbolTable.relateToOperator("max3", EOpMax3); + symbolTable.relateToOperator("mid3", EOpMid3); + + symbolTable.relateToOperator("cubeFaceIndexAMD", EOpCubeFaceIndex); + symbolTable.relateToOperator("cubeFaceCoordAMD", EOpCubeFaceCoord); + symbolTable.relateToOperator("timeAMD", EOpTime); + + symbolTable.relateToOperator("textureGatherLodAMD", EOpTextureGatherLod); + symbolTable.relateToOperator("textureGatherLodOffsetAMD", EOpTextureGatherLodOffset); + symbolTable.relateToOperator("textureGatherLodOffsetsAMD", EOpTextureGatherLodOffsets); + symbolTable.relateToOperator("sparseTextureGatherLodAMD", EOpSparseTextureGatherLod); + symbolTable.relateToOperator("sparseTextureGatherLodOffsetAMD", EOpSparseTextureGatherLodOffset); + symbolTable.relateToOperator("sparseTextureGatherLodOffsetsAMD", EOpSparseTextureGatherLodOffsets); + + symbolTable.relateToOperator("imageLoadLodAMD", EOpImageLoadLod); + symbolTable.relateToOperator("imageStoreLodAMD", EOpImageStoreLod); + symbolTable.relateToOperator("sparseImageLoadLodAMD", EOpSparseImageLoadLod); + + symbolTable.relateToOperator("fragmentMaskFetchAMD", EOpFragmentMaskFetch); + symbolTable.relateToOperator("fragmentFetchAMD", EOpFragmentFetch); + } + + // GL_KHR_shader_subgroup + if ((profile == EEsProfile && version >= 310) || + (profile != EEsProfile && version >= 140)) { + symbolTable.relateToOperator("subgroupBarrier", EOpSubgroupBarrier); + symbolTable.relateToOperator("subgroupMemoryBarrier", EOpSubgroupMemoryBarrier); + symbolTable.relateToOperator("subgroupMemoryBarrierBuffer", EOpSubgroupMemoryBarrierBuffer); + symbolTable.relateToOperator("subgroupMemoryBarrierImage", EOpSubgroupMemoryBarrierImage); + symbolTable.relateToOperator("subgroupElect", EOpSubgroupElect); + symbolTable.relateToOperator("subgroupAll", EOpSubgroupAll); + symbolTable.relateToOperator("subgroupAny", EOpSubgroupAny); + symbolTable.relateToOperator("subgroupAllEqual", EOpSubgroupAllEqual); + symbolTable.relateToOperator("subgroupBroadcast", EOpSubgroupBroadcast); + symbolTable.relateToOperator("subgroupBroadcastFirst", EOpSubgroupBroadcastFirst); + symbolTable.relateToOperator("subgroupBallot", EOpSubgroupBallot); + symbolTable.relateToOperator("subgroupInverseBallot", EOpSubgroupInverseBallot); + symbolTable.relateToOperator("subgroupBallotBitExtract", EOpSubgroupBallotBitExtract); + symbolTable.relateToOperator("subgroupBallotBitCount", EOpSubgroupBallotBitCount); + symbolTable.relateToOperator("subgroupBallotInclusiveBitCount", EOpSubgroupBallotInclusiveBitCount); + symbolTable.relateToOperator("subgroupBallotExclusiveBitCount", EOpSubgroupBallotExclusiveBitCount); + symbolTable.relateToOperator("subgroupBallotFindLSB", EOpSubgroupBallotFindLSB); + symbolTable.relateToOperator("subgroupBallotFindMSB", EOpSubgroupBallotFindMSB); + symbolTable.relateToOperator("subgroupShuffle", EOpSubgroupShuffle); + symbolTable.relateToOperator("subgroupShuffleXor", EOpSubgroupShuffleXor); + symbolTable.relateToOperator("subgroupShuffleUp", EOpSubgroupShuffleUp); + symbolTable.relateToOperator("subgroupShuffleDown", EOpSubgroupShuffleDown); + symbolTable.relateToOperator("subgroupAdd", EOpSubgroupAdd); + symbolTable.relateToOperator("subgroupMul", EOpSubgroupMul); + symbolTable.relateToOperator("subgroupMin", EOpSubgroupMin); + symbolTable.relateToOperator("subgroupMax", EOpSubgroupMax); + symbolTable.relateToOperator("subgroupAnd", EOpSubgroupAnd); + symbolTable.relateToOperator("subgroupOr", EOpSubgroupOr); + symbolTable.relateToOperator("subgroupXor", EOpSubgroupXor); + symbolTable.relateToOperator("subgroupInclusiveAdd", EOpSubgroupInclusiveAdd); + symbolTable.relateToOperator("subgroupInclusiveMul", EOpSubgroupInclusiveMul); + symbolTable.relateToOperator("subgroupInclusiveMin", EOpSubgroupInclusiveMin); + symbolTable.relateToOperator("subgroupInclusiveMax", EOpSubgroupInclusiveMax); + symbolTable.relateToOperator("subgroupInclusiveAnd", EOpSubgroupInclusiveAnd); + symbolTable.relateToOperator("subgroupInclusiveOr", EOpSubgroupInclusiveOr); + symbolTable.relateToOperator("subgroupInclusiveXor", EOpSubgroupInclusiveXor); + symbolTable.relateToOperator("subgroupExclusiveAdd", EOpSubgroupExclusiveAdd); + symbolTable.relateToOperator("subgroupExclusiveMul", EOpSubgroupExclusiveMul); + symbolTable.relateToOperator("subgroupExclusiveMin", EOpSubgroupExclusiveMin); + symbolTable.relateToOperator("subgroupExclusiveMax", EOpSubgroupExclusiveMax); + symbolTable.relateToOperator("subgroupExclusiveAnd", EOpSubgroupExclusiveAnd); + symbolTable.relateToOperator("subgroupExclusiveOr", EOpSubgroupExclusiveOr); + symbolTable.relateToOperator("subgroupExclusiveXor", EOpSubgroupExclusiveXor); + symbolTable.relateToOperator("subgroupClusteredAdd", EOpSubgroupClusteredAdd); + symbolTable.relateToOperator("subgroupClusteredMul", EOpSubgroupClusteredMul); + symbolTable.relateToOperator("subgroupClusteredMin", EOpSubgroupClusteredMin); + symbolTable.relateToOperator("subgroupClusteredMax", EOpSubgroupClusteredMax); + symbolTable.relateToOperator("subgroupClusteredAnd", EOpSubgroupClusteredAnd); + symbolTable.relateToOperator("subgroupClusteredOr", EOpSubgroupClusteredOr); + symbolTable.relateToOperator("subgroupClusteredXor", EOpSubgroupClusteredXor); + symbolTable.relateToOperator("subgroupQuadBroadcast", EOpSubgroupQuadBroadcast); + symbolTable.relateToOperator("subgroupQuadSwapHorizontal", EOpSubgroupQuadSwapHorizontal); + symbolTable.relateToOperator("subgroupQuadSwapVertical", EOpSubgroupQuadSwapVertical); + symbolTable.relateToOperator("subgroupQuadSwapDiagonal", EOpSubgroupQuadSwapDiagonal); + + symbolTable.relateToOperator("subgroupPartitionNV", EOpSubgroupPartition); + symbolTable.relateToOperator("subgroupPartitionedAddNV", EOpSubgroupPartitionedAdd); + symbolTable.relateToOperator("subgroupPartitionedMulNV", EOpSubgroupPartitionedMul); + symbolTable.relateToOperator("subgroupPartitionedMinNV", EOpSubgroupPartitionedMin); + symbolTable.relateToOperator("subgroupPartitionedMaxNV", EOpSubgroupPartitionedMax); + symbolTable.relateToOperator("subgroupPartitionedAndNV", EOpSubgroupPartitionedAnd); + symbolTable.relateToOperator("subgroupPartitionedOrNV", EOpSubgroupPartitionedOr); + symbolTable.relateToOperator("subgroupPartitionedXorNV", EOpSubgroupPartitionedXor); + symbolTable.relateToOperator("subgroupPartitionedInclusiveAddNV", EOpSubgroupPartitionedInclusiveAdd); + symbolTable.relateToOperator("subgroupPartitionedInclusiveMulNV", EOpSubgroupPartitionedInclusiveMul); + symbolTable.relateToOperator("subgroupPartitionedInclusiveMinNV", EOpSubgroupPartitionedInclusiveMin); + symbolTable.relateToOperator("subgroupPartitionedInclusiveMaxNV", EOpSubgroupPartitionedInclusiveMax); + symbolTable.relateToOperator("subgroupPartitionedInclusiveAndNV", EOpSubgroupPartitionedInclusiveAnd); + symbolTable.relateToOperator("subgroupPartitionedInclusiveOrNV", EOpSubgroupPartitionedInclusiveOr); + symbolTable.relateToOperator("subgroupPartitionedInclusiveXorNV", EOpSubgroupPartitionedInclusiveXor); + symbolTable.relateToOperator("subgroupPartitionedExclusiveAddNV", EOpSubgroupPartitionedExclusiveAdd); + symbolTable.relateToOperator("subgroupPartitionedExclusiveMulNV", EOpSubgroupPartitionedExclusiveMul); + symbolTable.relateToOperator("subgroupPartitionedExclusiveMinNV", EOpSubgroupPartitionedExclusiveMin); + symbolTable.relateToOperator("subgroupPartitionedExclusiveMaxNV", EOpSubgroupPartitionedExclusiveMax); + symbolTable.relateToOperator("subgroupPartitionedExclusiveAndNV", EOpSubgroupPartitionedExclusiveAnd); + symbolTable.relateToOperator("subgroupPartitionedExclusiveOrNV", EOpSubgroupPartitionedExclusiveOr); + symbolTable.relateToOperator("subgroupPartitionedExclusiveXorNV", EOpSubgroupPartitionedExclusiveXor); + } + + if (profile == EEsProfile) { + symbolTable.relateToOperator("shadow2DEXT", EOpTexture); + symbolTable.relateToOperator("shadow2DProjEXT", EOpTextureProj); + } + } + + switch(language) { + case EShLangVertex: + break; + + case EShLangTessControl: + case EShLangTessEvaluation: + break; + + case EShLangGeometry: + symbolTable.relateToOperator("EmitStreamVertex", EOpEmitStreamVertex); + symbolTable.relateToOperator("EndStreamPrimitive", EOpEndStreamPrimitive); + symbolTable.relateToOperator("EmitVertex", EOpEmitVertex); + symbolTable.relateToOperator("EndPrimitive", EOpEndPrimitive); + break; + + case EShLangFragment: + if (profile != EEsProfile && version >= 400) { + symbolTable.relateToOperator("dFdxFine", EOpDPdxFine); + symbolTable.relateToOperator("dFdyFine", EOpDPdyFine); + symbolTable.relateToOperator("fwidthFine", EOpFwidthFine); + symbolTable.relateToOperator("dFdxCoarse", EOpDPdxCoarse); + symbolTable.relateToOperator("dFdyCoarse", EOpDPdyCoarse); + symbolTable.relateToOperator("fwidthCoarse", EOpFwidthCoarse); + } + + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("rayQueryInitializeEXT", EOpRayQueryInitialize); + symbolTable.relateToOperator("rayQueryTerminateEXT", EOpRayQueryTerminate); + symbolTable.relateToOperator("rayQueryGenerateIntersectionEXT", EOpRayQueryGenerateIntersection); + symbolTable.relateToOperator("rayQueryConfirmIntersectionEXT", EOpRayQueryConfirmIntersection); + symbolTable.relateToOperator("rayQueryProceedEXT", EOpRayQueryProceed); + symbolTable.relateToOperator("rayQueryGetIntersectionTypeEXT", EOpRayQueryGetIntersectionType); + symbolTable.relateToOperator("rayQueryGetRayTMinEXT", EOpRayQueryGetRayTMin); + symbolTable.relateToOperator("rayQueryGetRayFlagsEXT", EOpRayQueryGetRayFlags); + symbolTable.relateToOperator("rayQueryGetIntersectionTEXT", EOpRayQueryGetIntersectionT); + symbolTable.relateToOperator("rayQueryGetIntersectionInstanceCustomIndexEXT", EOpRayQueryGetIntersectionInstanceCustomIndex); + symbolTable.relateToOperator("rayQueryGetIntersectionInstanceIdEXT", EOpRayQueryGetIntersectionInstanceId); + symbolTable.relateToOperator("rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT", EOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffset); + symbolTable.relateToOperator("rayQueryGetIntersectionGeometryIndexEXT", EOpRayQueryGetIntersectionGeometryIndex); + symbolTable.relateToOperator("rayQueryGetIntersectionPrimitiveIndexEXT", EOpRayQueryGetIntersectionPrimitiveIndex); + symbolTable.relateToOperator("rayQueryGetIntersectionBarycentricsEXT", EOpRayQueryGetIntersectionBarycentrics); + symbolTable.relateToOperator("rayQueryGetIntersectionFrontFaceEXT", EOpRayQueryGetIntersectionFrontFace); + symbolTable.relateToOperator("rayQueryGetIntersectionCandidateAABBOpaqueEXT", EOpRayQueryGetIntersectionCandidateAABBOpaque); + symbolTable.relateToOperator("rayQueryGetIntersectionObjectRayDirectionEXT", EOpRayQueryGetIntersectionObjectRayDirection); + symbolTable.relateToOperator("rayQueryGetIntersectionObjectRayOriginEXT", EOpRayQueryGetIntersectionObjectRayOrigin); + symbolTable.relateToOperator("rayQueryGetWorldRayDirectionEXT", EOpRayQueryGetWorldRayDirection); + symbolTable.relateToOperator("rayQueryGetWorldRayOriginEXT", EOpRayQueryGetWorldRayOrigin); + symbolTable.relateToOperator("rayQueryGetIntersectionObjectToWorldEXT", EOpRayQueryGetIntersectionObjectToWorld); + symbolTable.relateToOperator("rayQueryGetIntersectionWorldToObjectEXT", EOpRayQueryGetIntersectionWorldToObject); + } + + symbolTable.relateToOperator("interpolateAtCentroid", EOpInterpolateAtCentroid); + symbolTable.relateToOperator("interpolateAtSample", EOpInterpolateAtSample); + symbolTable.relateToOperator("interpolateAtOffset", EOpInterpolateAtOffset); + + if (profile != EEsProfile) + symbolTable.relateToOperator("interpolateAtVertexAMD", EOpInterpolateAtVertex); + + symbolTable.relateToOperator("beginInvocationInterlockARB", EOpBeginInvocationInterlock); + symbolTable.relateToOperator("endInvocationInterlockARB", EOpEndInvocationInterlock); + + break; + + case EShLangCompute: + symbolTable.relateToOperator("subgroupMemoryBarrierShared", EOpSubgroupMemoryBarrierShared); + if ((profile != EEsProfile && version >= 450) || + (profile == EEsProfile && version >= 320)) { + symbolTable.relateToOperator("dFdx", EOpDPdx); + symbolTable.relateToOperator("dFdy", EOpDPdy); + symbolTable.relateToOperator("fwidth", EOpFwidth); + symbolTable.relateToOperator("dFdxFine", EOpDPdxFine); + symbolTable.relateToOperator("dFdyFine", EOpDPdyFine); + symbolTable.relateToOperator("fwidthFine", EOpFwidthFine); + symbolTable.relateToOperator("dFdxCoarse", EOpDPdxCoarse); + symbolTable.relateToOperator("dFdyCoarse", EOpDPdyCoarse); + symbolTable.relateToOperator("fwidthCoarse",EOpFwidthCoarse); + } + symbolTable.relateToOperator("coopMatLoadNV", EOpCooperativeMatrixLoad); + symbolTable.relateToOperator("coopMatStoreNV", EOpCooperativeMatrixStore); + symbolTable.relateToOperator("coopMatMulAddNV", EOpCooperativeMatrixMulAdd); + break; + + case EShLangRayGen: + case EShLangClosestHit: + case EShLangMiss: + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("traceNV", EOpTraceNV); + symbolTable.relateToOperator("traceRayEXT", EOpTraceKHR); + symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV); + symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallableKHR); + } + break; + case EShLangIntersect: + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("reportIntersectionNV", EOpReportIntersection); + symbolTable.relateToOperator("reportIntersectionEXT", EOpReportIntersection); + } + break; + case EShLangAnyHit: + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("ignoreIntersectionNV", EOpIgnoreIntersectionNV); + symbolTable.relateToOperator("terminateRayNV", EOpTerminateRayNV); + } + break; + case EShLangCallable: + if (profile != EEsProfile && version >= 460) { + symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV); + symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallableKHR); + } + break; + case EShLangMeshNV: + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + symbolTable.relateToOperator("writePackedPrimitiveIndices4x8NV", EOpWritePackedPrimitiveIndices4x8NV); + } + // fall through + case EShLangTaskNV: + if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { + symbolTable.relateToOperator("memoryBarrierShared", EOpMemoryBarrierShared); + symbolTable.relateToOperator("groupMemoryBarrier", EOpGroupMemoryBarrier); + symbolTable.relateToOperator("subgroupMemoryBarrierShared", EOpSubgroupMemoryBarrierShared); + } + break; + + default: + assert(false && "Language not supported"); + } +#endif // !GLSLANG_WEB +} + +// +// Add context-dependent (resource-specific) built-ins not handled by the above. These +// would be ones that need to be programmatically added because they cannot +// be added by simple text strings. For these, also +// 1) Map built-in functions to operators, for those that will turn into an operation node +// instead of remaining a function call. +// 2) Tag extension-related symbols added to their base version with their extensions, so +// that if an early version has the extension turned off, there is an error reported on use. +// +void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources) +{ +#ifndef GLSLANG_WEB +#if defined(GLSLANG_ANGLE) + profile = ECoreProfile; + version = 450; +#endif + if (profile != EEsProfile && version >= 430 && version < 440) { + symbolTable.setVariableExtensions("gl_MaxTransformFeedbackBuffers", 1, &E_GL_ARB_enhanced_layouts); + symbolTable.setVariableExtensions("gl_MaxTransformFeedbackInterleavedComponents", 1, &E_GL_ARB_enhanced_layouts); + } + if (profile != EEsProfile && version >= 130 && version < 420) { + symbolTable.setVariableExtensions("gl_MinProgramTexelOffset", 1, &E_GL_ARB_shading_language_420pack); + symbolTable.setVariableExtensions("gl_MaxProgramTexelOffset", 1, &E_GL_ARB_shading_language_420pack); + } + if (profile != EEsProfile && version >= 150 && version < 410) + symbolTable.setVariableExtensions("gl_MaxViewports", 1, &E_GL_ARB_viewport_array); + + switch(language) { + case EShLangFragment: + // Set up gl_FragData based on current array size. + if (version == 100 || IncludeLegacy(version, profile, spvVersion) || (! ForwardCompatibility && profile != EEsProfile && version < 420)) { + TPrecisionQualifier pq = profile == EEsProfile ? EpqMedium : EpqNone; + TType fragData(EbtFloat, EvqFragColor, pq, 4); + TArraySizes* arraySizes = new TArraySizes; + arraySizes->addInnerSize(resources.maxDrawBuffers); + fragData.transferArraySizes(arraySizes); + symbolTable.insert(*new TVariable(NewPoolTString("gl_FragData"), fragData)); + SpecialQualifier("gl_FragData", EvqFragColor, EbvFragData, symbolTable); + } + + // GL_EXT_blend_func_extended + if (profile == EEsProfile && version >= 100) { + symbolTable.setVariableExtensions("gl_MaxDualSourceDrawBuffersEXT", 1, &E_GL_EXT_blend_func_extended); + symbolTable.setVariableExtensions("gl_SecondaryFragColorEXT", 1, &E_GL_EXT_blend_func_extended); + symbolTable.setVariableExtensions("gl_SecondaryFragDataEXT", 1, &E_GL_EXT_blend_func_extended); + SpecialQualifier("gl_SecondaryFragColorEXT", EvqVaryingOut, EbvSecondaryFragColorEXT, symbolTable); + SpecialQualifier("gl_SecondaryFragDataEXT", EvqVaryingOut, EbvSecondaryFragDataEXT, symbolTable); + } + + break; + + case EShLangTessControl: + case EShLangTessEvaluation: + // Because of the context-dependent array size (gl_MaxPatchVertices), + // these variables were added later than the others and need to be mapped now. + + // standard members + BuiltInVariable("gl_in", "gl_Position", EbvPosition, symbolTable); + BuiltInVariable("gl_in", "gl_PointSize", EbvPointSize, symbolTable); + BuiltInVariable("gl_in", "gl_ClipDistance", EbvClipDistance, symbolTable); + BuiltInVariable("gl_in", "gl_CullDistance", EbvCullDistance, symbolTable); + + // compatibility members + BuiltInVariable("gl_in", "gl_ClipVertex", EbvClipVertex, symbolTable); + BuiltInVariable("gl_in", "gl_FrontColor", EbvFrontColor, symbolTable); + BuiltInVariable("gl_in", "gl_BackColor", EbvBackColor, symbolTable); + BuiltInVariable("gl_in", "gl_FrontSecondaryColor", EbvFrontSecondaryColor, symbolTable); + BuiltInVariable("gl_in", "gl_BackSecondaryColor", EbvBackSecondaryColor, symbolTable); + BuiltInVariable("gl_in", "gl_TexCoord", EbvTexCoord, symbolTable); + BuiltInVariable("gl_in", "gl_FogFragCoord", EbvFogFragCoord, symbolTable); + + symbolTable.setVariableExtensions("gl_in", "gl_SecondaryPositionNV", 1, &E_GL_NV_stereo_view_rendering); + symbolTable.setVariableExtensions("gl_in", "gl_PositionPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); + + BuiltInVariable("gl_in", "gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable); + BuiltInVariable("gl_in", "gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + + // extension requirements + if (profile == EEsProfile) { + symbolTable.setVariableExtensions("gl_in", "gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size); + } + + break; + + default: + break; + } +#endif +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Initialize.h b/android/x86_64/include/glslang/Include/MachineIndependent/Initialize.h new file mode 100644 index 00000000..ac8ec33e --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Initialize.h @@ -0,0 +1,112 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013-2016 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _INITIALIZE_INCLUDED_ +#define _INITIALIZE_INCLUDED_ + +#include "../Include/ResourceLimits.h" +#include "../Include/Common.h" +#include "../Include/ShHandle.h" +#include "SymbolTable.h" +#include "Versions.h" + +namespace glslang { + +// +// This is made to hold parseable strings for almost all the built-in +// functions and variables for one specific combination of version +// and profile. (Some still need to be added programmatically.) +// This is a base class for language-specific derivations, which +// can be used for language independent builtins. +// +// The strings are organized by +// commonBuiltins: intersection of all stages' built-ins, processed just once +// stageBuiltins[]: anything a stage needs that's not in commonBuiltins +// +class TBuiltInParseables { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + TBuiltInParseables(); + virtual ~TBuiltInParseables(); + virtual void initialize(int version, EProfile, const SpvVersion& spvVersion) = 0; + virtual void initialize(const TBuiltInResource& resources, int version, EProfile, const SpvVersion& spvVersion, EShLanguage) = 0; + virtual const TString& getCommonString() const { return commonBuiltins; } + virtual const TString& getStageString(EShLanguage language) const { return stageBuiltins[language]; } + + virtual void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable) = 0; + virtual void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources) = 0; + +protected: + TString commonBuiltins; + TString stageBuiltins[EShLangCount]; +}; + +// +// This is a GLSL specific derivation of TBuiltInParseables. To present a stable +// interface and match other similar code, it is called TBuiltIns, rather +// than TBuiltInParseablesGlsl. +// +class TBuiltIns : public TBuiltInParseables { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + TBuiltIns(); + virtual ~TBuiltIns(); + void initialize(int version, EProfile, const SpvVersion& spvVersion); + void initialize(const TBuiltInResource& resources, int version, EProfile, const SpvVersion& spvVersion, EShLanguage); + + void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable); + void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources); + +protected: + void addTabledBuiltins(int version, EProfile profile, const SpvVersion& spvVersion); + void relateTabledBuiltins(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage, TSymbolTable&); + void add2ndGenerationSamplingImaging(int version, EProfile profile, const SpvVersion& spvVersion); + void addSubpassSampling(TSampler, const TString& typeName, int version, EProfile profile); + void addQueryFunctions(TSampler, const TString& typeName, int version, EProfile profile); + void addImageFunctions(TSampler, const TString& typeName, int version, EProfile profile); + void addSamplingFunctions(TSampler, const TString& typeName, int version, EProfile profile); + void addGatherFunctions(TSampler, const TString& typeName, int version, EProfile profile); + + // Helpers for making textual representations of the permutations + // of texturing/imaging functions. + const char* postfixes[5]; + const char* prefixes[EbtNumTypes]; + int dimMap[EsdNumDims]; +}; + +} // end namespace glslang + +#endif // _INITIALIZE_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/IntermTraverse.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/IntermTraverse.cpp new file mode 100644 index 00000000..553b1b5f --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/IntermTraverse.cpp @@ -0,0 +1,309 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (c) 2002-2010 The ANGLE Project Authors. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#include "../Include/intermediate.h" + +namespace glslang { + +// +// Traverse the intermediate representation tree, and +// call a node type specific function for each node. +// Done recursively through the member function Traverse(). +// Node types can be skipped if their function to call is 0, +// but their subtree will still be traversed. +// Nodes with children can have their whole subtree skipped +// if preVisit is turned on and the type specific function +// returns false. +// +// preVisit, postVisit, and rightToLeft control what order +// nodes are visited in. +// + +// +// Traversal functions for terminals are straightforward.... +// +void TIntermMethod::traverse(TIntermTraverser*) +{ + // Tree should always resolve all methods as a non-method. +} + +void TIntermSymbol::traverse(TIntermTraverser *it) +{ + it->visitSymbol(this); +} + +void TIntermConstantUnion::traverse(TIntermTraverser *it) +{ + it->visitConstantUnion(this); +} + +const TString& TIntermSymbol::getAccessName() const { + if (getBasicType() == EbtBlock) + return getType().getTypeName(); + else + return getName(); +} + +// +// Traverse a binary node. +// +void TIntermBinary::traverse(TIntermTraverser *it) +{ + bool visit = true; + + // + // visit the node before children if pre-visiting. + // + if (it->preVisit) + visit = it->visitBinary(EvPreVisit, this); + + // + // Visit the children, in the right order. + // + if (visit) { + it->incrementDepth(this); + + if (it->rightToLeft) { + if (right) + right->traverse(it); + + if (it->inVisit) + visit = it->visitBinary(EvInVisit, this); + + if (visit && left) + left->traverse(it); + } else { + if (left) + left->traverse(it); + + if (it->inVisit) + visit = it->visitBinary(EvInVisit, this); + + if (visit && right) + right->traverse(it); + } + + it->decrementDepth(); + } + + // + // Visit the node after the children, if requested and the traversal + // hasn't been canceled yet. + // + if (visit && it->postVisit) + it->visitBinary(EvPostVisit, this); +} + +// +// Traverse a unary node. Same comments in binary node apply here. +// +void TIntermUnary::traverse(TIntermTraverser *it) +{ + bool visit = true; + + if (it->preVisit) + visit = it->visitUnary(EvPreVisit, this); + + if (visit) { + it->incrementDepth(this); + operand->traverse(it); + it->decrementDepth(); + } + + if (visit && it->postVisit) + it->visitUnary(EvPostVisit, this); +} + +// +// Traverse an aggregate node. Same comments in binary node apply here. +// +void TIntermAggregate::traverse(TIntermTraverser *it) +{ + bool visit = true; + + if (it->preVisit) + visit = it->visitAggregate(EvPreVisit, this); + + if (visit) { + it->incrementDepth(this); + + if (it->rightToLeft) { + for (TIntermSequence::reverse_iterator sit = sequence.rbegin(); sit != sequence.rend(); sit++) { + (*sit)->traverse(it); + + if (visit && it->inVisit) { + if (*sit != sequence.front()) + visit = it->visitAggregate(EvInVisit, this); + } + } + } else { + for (TIntermSequence::iterator sit = sequence.begin(); sit != sequence.end(); sit++) { + (*sit)->traverse(it); + + if (visit && it->inVisit) { + if (*sit != sequence.back()) + visit = it->visitAggregate(EvInVisit, this); + } + } + } + + it->decrementDepth(); + } + + if (visit && it->postVisit) + it->visitAggregate(EvPostVisit, this); +} + +// +// Traverse a selection node. Same comments in binary node apply here. +// +void TIntermSelection::traverse(TIntermTraverser *it) +{ + bool visit = true; + + if (it->preVisit) + visit = it->visitSelection(EvPreVisit, this); + + if (visit) { + it->incrementDepth(this); + if (it->rightToLeft) { + if (falseBlock) + falseBlock->traverse(it); + if (trueBlock) + trueBlock->traverse(it); + condition->traverse(it); + } else { + condition->traverse(it); + if (trueBlock) + trueBlock->traverse(it); + if (falseBlock) + falseBlock->traverse(it); + } + it->decrementDepth(); + } + + if (visit && it->postVisit) + it->visitSelection(EvPostVisit, this); +} + +// +// Traverse a loop node. Same comments in binary node apply here. +// +void TIntermLoop::traverse(TIntermTraverser *it) +{ + bool visit = true; + + if (it->preVisit) + visit = it->visitLoop(EvPreVisit, this); + + if (visit) { + it->incrementDepth(this); + + if (it->rightToLeft) { + if (terminal) + terminal->traverse(it); + + if (body) + body->traverse(it); + + if (test) + test->traverse(it); + } else { + if (test) + test->traverse(it); + + if (body) + body->traverse(it); + + if (terminal) + terminal->traverse(it); + } + + it->decrementDepth(); + } + + if (visit && it->postVisit) + it->visitLoop(EvPostVisit, this); +} + +// +// Traverse a branch node. Same comments in binary node apply here. +// +void TIntermBranch::traverse(TIntermTraverser *it) +{ + bool visit = true; + + if (it->preVisit) + visit = it->visitBranch(EvPreVisit, this); + + if (visit && expression) { + it->incrementDepth(this); + expression->traverse(it); + it->decrementDepth(); + } + + if (visit && it->postVisit) + it->visitBranch(EvPostVisit, this); +} + +// +// Traverse a switch node. +// +void TIntermSwitch::traverse(TIntermTraverser* it) +{ + bool visit = true; + + if (it->preVisit) + visit = it->visitSwitch(EvPreVisit, this); + + if (visit) { + it->incrementDepth(this); + if (it->rightToLeft) { + body->traverse(it); + condition->traverse(it); + } else { + condition->traverse(it); + body->traverse(it); + } + it->decrementDepth(); + } + + if (visit && it->postVisit) + it->visitSwitch(EvPostVisit, this); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Intermediate.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/Intermediate.cpp new file mode 100644 index 00000000..f6172a2b --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Intermediate.cpp @@ -0,0 +1,3990 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2015 LunarG, Inc. +// Copyright (C) 2015-2020 Google, Inc. +// Copyright (C) 2017 ARM Limited. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Build the intermediate representation. +// + +#include "localintermediate.h" +#include "RemoveTree.h" +#include "SymbolTable.h" +#include "propagateNoContraction.h" + +#include +#include +#include + +namespace glslang { + +//////////////////////////////////////////////////////////////////////////// +// +// First set of functions are to help build the intermediate representation. +// These functions are not member functions of the nodes. +// They are called from parser productions. +// +///////////////////////////////////////////////////////////////////////////// + +// +// Add a terminal node for an identifier in an expression. +// +// Returns the added node. +// + +TIntermSymbol* TIntermediate::addSymbol(int id, const TString& name, const TType& type, const TConstUnionArray& constArray, + TIntermTyped* constSubtree, const TSourceLoc& loc) +{ + TIntermSymbol* node = new TIntermSymbol(id, name, type); + node->setLoc(loc); + node->setConstArray(constArray); + node->setConstSubtree(constSubtree); + + return node; +} + +TIntermSymbol* TIntermediate::addSymbol(const TIntermSymbol& intermSymbol) +{ + return addSymbol(intermSymbol.getId(), + intermSymbol.getName(), + intermSymbol.getType(), + intermSymbol.getConstArray(), + intermSymbol.getConstSubtree(), + intermSymbol.getLoc()); +} + +TIntermSymbol* TIntermediate::addSymbol(const TVariable& variable) +{ + glslang::TSourceLoc loc; // just a null location + loc.init(); + + return addSymbol(variable, loc); +} + +TIntermSymbol* TIntermediate::addSymbol(const TVariable& variable, const TSourceLoc& loc) +{ + return addSymbol(variable.getUniqueId(), variable.getName(), variable.getType(), variable.getConstArray(), variable.getConstSubtree(), loc); +} + +TIntermSymbol* TIntermediate::addSymbol(const TType& type, const TSourceLoc& loc) +{ + TConstUnionArray unionArray; // just a null constant + + return addSymbol(0, "", type, unionArray, nullptr, loc); +} + +// +// Connect two nodes with a new parent that does a binary operation on the nodes. +// +// Returns the added node. +// +// Returns nullptr if the working conversions and promotions could not be found. +// +TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIntermTyped* right, const TSourceLoc& loc) +{ + // No operations work on blocks + if (left->getType().getBasicType() == EbtBlock || right->getType().getBasicType() == EbtBlock) + return nullptr; + + // Convert "reference +/- int" and "reference - reference" to integer math + if (op == EOpAdd || op == EOpSub) { + + // No addressing math on struct with unsized array. + if ((left->isReference() && left->getType().getReferentType()->containsUnsizedArray()) || + (right->isReference() && right->getType().getReferentType()->containsUnsizedArray())) { + return nullptr; + } + + if (left->isReference() && isTypeInt(right->getBasicType())) { + const TType& referenceType = left->getType(); + TIntermConstantUnion* size = addConstantUnion((unsigned long long)computeBufferReferenceTypeSize(left->getType()), loc, true); + left = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, left, TType(EbtUint64)); + + right = createConversion(EbtInt64, right); + right = addBinaryMath(EOpMul, right, size, loc); + + TIntermTyped *node = addBinaryMath(op, left, right, loc); + node = addBuiltInFunctionCall(loc, EOpConvUint64ToPtr, true, node, referenceType); + return node; + } + } + + if (op == EOpAdd && right->isReference() && isTypeInt(left->getBasicType())) { + const TType& referenceType = right->getType(); + TIntermConstantUnion* size = + addConstantUnion((unsigned long long)computeBufferReferenceTypeSize(right->getType()), loc, true); + right = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, right, TType(EbtUint64)); + + left = createConversion(EbtInt64, left); + left = addBinaryMath(EOpMul, left, size, loc); + + TIntermTyped *node = addBinaryMath(op, left, right, loc); + node = addBuiltInFunctionCall(loc, EOpConvUint64ToPtr, true, node, referenceType); + return node; + } + + if (op == EOpSub && left->isReference() && right->isReference()) { + TIntermConstantUnion* size = + addConstantUnion((long long)computeBufferReferenceTypeSize(left->getType()), loc, true); + + left = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, left, TType(EbtUint64)); + right = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, right, TType(EbtUint64)); + + left = addBuiltInFunctionCall(loc, EOpConvUint64ToInt64, true, left, TType(EbtInt64)); + right = addBuiltInFunctionCall(loc, EOpConvUint64ToInt64, true, right, TType(EbtInt64)); + + left = addBinaryMath(EOpSub, left, right, loc); + + TIntermTyped *node = addBinaryMath(EOpDiv, left, size, loc); + return node; + } + + // No other math operators supported on references + if (left->isReference() || right->isReference()) + return nullptr; + + // Try converting the children's base types to compatible types. + auto children = addPairConversion(op, left, right); + left = std::get<0>(children); + right = std::get<1>(children); + + if (left == nullptr || right == nullptr) + return nullptr; + + // Convert the children's type shape to be compatible. + addBiShapeConversion(op, left, right); + if (left == nullptr || right == nullptr) + return nullptr; + + // + // Need a new node holding things together. Make + // one and promote it to the right type. + // + TIntermBinary* node = addBinaryNode(op, left, right, loc); + if (! promote(node)) + return nullptr; + + node->updatePrecision(); + + // + // If they are both (non-specialization) constants, they must be folded. + // (Unless it's the sequence (comma) operator, but that's handled in addComma().) + // + TIntermConstantUnion *leftTempConstant = node->getLeft()->getAsConstantUnion(); + TIntermConstantUnion *rightTempConstant = node->getRight()->getAsConstantUnion(); + if (leftTempConstant && rightTempConstant) { + TIntermTyped* folded = leftTempConstant->fold(node->getOp(), rightTempConstant); + if (folded) + return folded; + } + + // If can propagate spec-constantness and if the operation is an allowed + // specialization-constant operation, make a spec-constant. + if (specConstantPropagates(*node->getLeft(), *node->getRight()) && isSpecializationOperation(*node)) + node->getWritableType().getQualifier().makeSpecConstant(); + + // If must propagate nonuniform, make a nonuniform. + if ((node->getLeft()->getQualifier().isNonUniform() || node->getRight()->getQualifier().isNonUniform()) && + isNonuniformPropagating(node->getOp())) + node->getWritableType().getQualifier().nonUniform = true; + + return node; +} + +// +// Low level: add binary node (no promotions or other argument modifications) +// +TIntermBinary* TIntermediate::addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, + const TSourceLoc& loc) const +{ + // build the node + TIntermBinary* node = new TIntermBinary(op); + node->setLoc(loc.line != 0 ? loc : left->getLoc()); + node->setLeft(left); + node->setRight(right); + + return node; +} + +// +// like non-type form, but sets node's type. +// +TIntermBinary* TIntermediate::addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, + const TSourceLoc& loc, const TType& type) const +{ + TIntermBinary* node = addBinaryNode(op, left, right, loc); + node->setType(type); + return node; +} + +// +// Low level: add unary node (no promotions or other argument modifications) +// +TIntermUnary* TIntermediate::addUnaryNode(TOperator op, TIntermTyped* child, const TSourceLoc& loc) const +{ + TIntermUnary* node = new TIntermUnary(op); + node->setLoc(loc.line != 0 ? loc : child->getLoc()); + node->setOperand(child); + + return node; +} + +// +// like non-type form, but sets node's type. +// +TIntermUnary* TIntermediate::addUnaryNode(TOperator op, TIntermTyped* child, const TSourceLoc& loc, const TType& type) + const +{ + TIntermUnary* node = addUnaryNode(op, child, loc); + node->setType(type); + return node; +} + +// +// Connect two nodes through an assignment. +// +// Returns the added node. +// +// Returns nullptr if the 'right' type could not be converted to match the 'left' type, +// or the resulting operation cannot be properly promoted. +// +TIntermTyped* TIntermediate::addAssign(TOperator op, TIntermTyped* left, TIntermTyped* right, + const TSourceLoc& loc) +{ + // No block assignment + if (left->getType().getBasicType() == EbtBlock || right->getType().getBasicType() == EbtBlock) + return nullptr; + + // Convert "reference += int" to "reference = reference + int". We need this because the + // "reference + int" calculation involves a cast back to the original type, which makes it + // not an lvalue. + if ((op == EOpAddAssign || op == EOpSubAssign) && left->isReference()) { + if (!(right->getType().isScalar() && right->getType().isIntegerDomain())) + return nullptr; + + TIntermTyped* node = addBinaryMath(op == EOpAddAssign ? EOpAdd : EOpSub, left, right, loc); + if (!node) + return nullptr; + + TIntermSymbol* symbol = left->getAsSymbolNode(); + left = addSymbol(*symbol); + + node = addAssign(EOpAssign, left, node, loc); + return node; + } + + // + // Like adding binary math, except the conversion can only go + // from right to left. + // + + // convert base types, nullptr return means not possible + right = addConversion(op, left->getType(), right); + if (right == nullptr) + return nullptr; + + // convert shape + right = addUniShapeConversion(op, left->getType(), right); + + // build the node + TIntermBinary* node = addBinaryNode(op, left, right, loc); + + if (! promote(node)) + return nullptr; + + node->updatePrecision(); + + return node; +} + +// +// Connect two nodes through an index operator, where the left node is the base +// of an array or struct, and the right node is a direct or indirect offset. +// +// Returns the added node. +// The caller should set the type of the returned node. +// +TIntermTyped* TIntermediate::addIndex(TOperator op, TIntermTyped* base, TIntermTyped* index, + const TSourceLoc& loc) +{ + // caller should set the type + return addBinaryNode(op, base, index, loc); +} + +// +// Add one node as the parent of another that it operates on. +// +// Returns the added node. +// +TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child, + const TSourceLoc& loc) +{ + if (child == 0) + return nullptr; + + if (child->getType().getBasicType() == EbtBlock) + return nullptr; + + switch (op) { + case EOpLogicalNot: + if (getSource() == EShSourceHlsl) { + break; // HLSL can promote logical not + } + + if (child->getType().getBasicType() != EbtBool || child->getType().isMatrix() || child->getType().isArray() || child->getType().isVector()) { + return nullptr; + } + break; + + case EOpPostIncrement: + case EOpPreIncrement: + case EOpPostDecrement: + case EOpPreDecrement: + case EOpNegative: + if (child->getType().getBasicType() == EbtStruct || child->getType().isArray()) + return nullptr; + default: break; // some compilers want this + } + + // + // Do we need to promote the operand? + // + TBasicType newType = EbtVoid; + switch (op) { + case EOpConstructBool: newType = EbtBool; break; + case EOpConstructFloat: newType = EbtFloat; break; + case EOpConstructInt: newType = EbtInt; break; + case EOpConstructUint: newType = EbtUint; break; +#ifndef GLSLANG_WEB + case EOpConstructInt8: newType = EbtInt8; break; + case EOpConstructUint8: newType = EbtUint8; break; + case EOpConstructInt16: newType = EbtInt16; break; + case EOpConstructUint16: newType = EbtUint16; break; + case EOpConstructInt64: newType = EbtInt64; break; + case EOpConstructUint64: newType = EbtUint64; break; + case EOpConstructDouble: newType = EbtDouble; break; + case EOpConstructFloat16: newType = EbtFloat16; break; +#endif + default: break; // some compilers want this + } + + if (newType != EbtVoid) { + child = addConversion(op, TType(newType, EvqTemporary, child->getVectorSize(), + child->getMatrixCols(), + child->getMatrixRows(), + child->isVector()), + child); + if (child == nullptr) + return nullptr; + } + + // + // For constructors, we are now done, it was all in the conversion. + // TODO: but, did this bypass constant folding? + // + switch (op) { + case EOpConstructInt8: + case EOpConstructUint8: + case EOpConstructInt16: + case EOpConstructUint16: + case EOpConstructInt: + case EOpConstructUint: + case EOpConstructInt64: + case EOpConstructUint64: + case EOpConstructBool: + case EOpConstructFloat: + case EOpConstructDouble: + case EOpConstructFloat16: + return child; + default: break; // some compilers want this + } + + // + // Make a new node for the operator. + // + TIntermUnary* node = addUnaryNode(op, child, loc); + + if (! promote(node)) + return nullptr; + + node->updatePrecision(); + + // If it's a (non-specialization) constant, it must be folded. + if (node->getOperand()->getAsConstantUnion()) + return node->getOperand()->getAsConstantUnion()->fold(op, node->getType()); + + // If it's a specialization constant, the result is too, + // if the operation is allowed for specialization constants. + if (node->getOperand()->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*node)) + node->getWritableType().getQualifier().makeSpecConstant(); + + // If must propagate nonuniform, make a nonuniform. + if (node->getOperand()->getQualifier().isNonUniform() && isNonuniformPropagating(node->getOp())) + node->getWritableType().getQualifier().nonUniform = true; + + return node; +} + +TIntermTyped* TIntermediate::addBuiltInFunctionCall(const TSourceLoc& loc, TOperator op, bool unary, + TIntermNode* childNode, const TType& returnType) +{ + if (unary) { + // + // Treat it like a unary operator. + // addUnaryMath() should get the type correct on its own; + // including constness (which would differ from the prototype). + // + TIntermTyped* child = childNode->getAsTyped(); + if (child == nullptr) + return nullptr; + + if (child->getAsConstantUnion()) { + TIntermTyped* folded = child->getAsConstantUnion()->fold(op, returnType); + if (folded) + return folded; + } + + return addUnaryNode(op, child, child->getLoc(), returnType); + } else { + // setAggregateOperater() calls fold() for constant folding + TIntermTyped* node = setAggregateOperator(childNode, op, returnType, loc); + + return node; + } +} + +// +// This is the safe way to change the operator on an aggregate, as it +// does lots of error checking and fixing. Especially for establishing +// a function call's operation on its set of parameters. Sequences +// of instructions are also aggregates, but they just directly set +// their operator to EOpSequence. +// +// Returns an aggregate node, which could be the one passed in if +// it was already an aggregate. +// +TIntermTyped* TIntermediate::setAggregateOperator(TIntermNode* node, TOperator op, const TType& type, + const TSourceLoc& loc) +{ + TIntermAggregate* aggNode; + + // + // Make sure we have an aggregate. If not turn it into one. + // + if (node != nullptr) { + aggNode = node->getAsAggregate(); + if (aggNode == nullptr || aggNode->getOp() != EOpNull) { + // + // Make an aggregate containing this node. + // + aggNode = new TIntermAggregate(); + aggNode->getSequence().push_back(node); + } + } else + aggNode = new TIntermAggregate(); + + // + // Set the operator. + // + aggNode->setOperator(op); + if (loc.line != 0 || node != nullptr) + aggNode->setLoc(loc.line != 0 ? loc : node->getLoc()); + + aggNode->setType(type); + + return fold(aggNode); +} + +bool TIntermediate::isConversionAllowed(TOperator op, TIntermTyped* node) const +{ + // + // Does the base type even allow the operation? + // + switch (node->getBasicType()) { + case EbtVoid: + return false; + case EbtAtomicUint: + case EbtSampler: + case EbtAccStruct: + // opaque types can be passed to functions + if (op == EOpFunction) + break; + + // HLSL can assign samplers directly (no constructor) + if (getSource() == EShSourceHlsl && node->getBasicType() == EbtSampler) + break; + + // samplers can get assigned via a sampler constructor + // (well, not yet, but code in the rest of this function is ready for it) + if (node->getBasicType() == EbtSampler && op == EOpAssign && + node->getAsOperator() != nullptr && node->getAsOperator()->getOp() == EOpConstructTextureSampler) + break; + + // otherwise, opaque types can't even be operated on, let alone converted + return false; + default: + break; + } + + return true; +} + +bool TIntermediate::buildConvertOp(TBasicType dst, TBasicType src, TOperator& newOp) const +{ + switch (dst) { +#ifndef GLSLANG_WEB + case EbtDouble: + switch (src) { + case EbtUint: newOp = EOpConvUintToDouble; break; + case EbtBool: newOp = EOpConvBoolToDouble; break; + case EbtFloat: newOp = EOpConvFloatToDouble; break; + case EbtInt: newOp = EOpConvIntToDouble; break; + case EbtInt8: newOp = EOpConvInt8ToDouble; break; + case EbtUint8: newOp = EOpConvUint8ToDouble; break; + case EbtInt16: newOp = EOpConvInt16ToDouble; break; + case EbtUint16: newOp = EOpConvUint16ToDouble; break; + case EbtFloat16: newOp = EOpConvFloat16ToDouble; break; + case EbtInt64: newOp = EOpConvInt64ToDouble; break; + case EbtUint64: newOp = EOpConvUint64ToDouble; break; + default: + return false; + } + break; +#endif + case EbtFloat: + switch (src) { + case EbtInt: newOp = EOpConvIntToFloat; break; + case EbtUint: newOp = EOpConvUintToFloat; break; + case EbtBool: newOp = EOpConvBoolToFloat; break; +#ifndef GLSLANG_WEB + case EbtDouble: newOp = EOpConvDoubleToFloat; break; + case EbtInt8: newOp = EOpConvInt8ToFloat; break; + case EbtUint8: newOp = EOpConvUint8ToFloat; break; + case EbtInt16: newOp = EOpConvInt16ToFloat; break; + case EbtUint16: newOp = EOpConvUint16ToFloat; break; + case EbtFloat16: newOp = EOpConvFloat16ToFloat; break; + case EbtInt64: newOp = EOpConvInt64ToFloat; break; + case EbtUint64: newOp = EOpConvUint64ToFloat; break; +#endif + default: + return false; + } + break; +#ifndef GLSLANG_WEB + case EbtFloat16: + switch (src) { + case EbtInt8: newOp = EOpConvInt8ToFloat16; break; + case EbtUint8: newOp = EOpConvUint8ToFloat16; break; + case EbtInt16: newOp = EOpConvInt16ToFloat16; break; + case EbtUint16: newOp = EOpConvUint16ToFloat16; break; + case EbtInt: newOp = EOpConvIntToFloat16; break; + case EbtUint: newOp = EOpConvUintToFloat16; break; + case EbtBool: newOp = EOpConvBoolToFloat16; break; + case EbtFloat: newOp = EOpConvFloatToFloat16; break; + case EbtDouble: newOp = EOpConvDoubleToFloat16; break; + case EbtInt64: newOp = EOpConvInt64ToFloat16; break; + case EbtUint64: newOp = EOpConvUint64ToFloat16; break; + default: + return false; + } + break; +#endif + case EbtBool: + switch (src) { + case EbtInt: newOp = EOpConvIntToBool; break; + case EbtUint: newOp = EOpConvUintToBool; break; + case EbtFloat: newOp = EOpConvFloatToBool; break; +#ifndef GLSLANG_WEB + case EbtDouble: newOp = EOpConvDoubleToBool; break; + case EbtInt8: newOp = EOpConvInt8ToBool; break; + case EbtUint8: newOp = EOpConvUint8ToBool; break; + case EbtInt16: newOp = EOpConvInt16ToBool; break; + case EbtUint16: newOp = EOpConvUint16ToBool; break; + case EbtFloat16: newOp = EOpConvFloat16ToBool; break; + case EbtInt64: newOp = EOpConvInt64ToBool; break; + case EbtUint64: newOp = EOpConvUint64ToBool; break; +#endif + default: + return false; + } + break; +#ifndef GLSLANG_WEB + case EbtInt8: + switch (src) { + case EbtUint8: newOp = EOpConvUint8ToInt8; break; + case EbtInt16: newOp = EOpConvInt16ToInt8; break; + case EbtUint16: newOp = EOpConvUint16ToInt8; break; + case EbtInt: newOp = EOpConvIntToInt8; break; + case EbtUint: newOp = EOpConvUintToInt8; break; + case EbtInt64: newOp = EOpConvInt64ToInt8; break; + case EbtUint64: newOp = EOpConvUint64ToInt8; break; + case EbtBool: newOp = EOpConvBoolToInt8; break; + case EbtFloat: newOp = EOpConvFloatToInt8; break; + case EbtDouble: newOp = EOpConvDoubleToInt8; break; + case EbtFloat16: newOp = EOpConvFloat16ToInt8; break; + default: + return false; + } + break; + case EbtUint8: + switch (src) { + case EbtInt8: newOp = EOpConvInt8ToUint8; break; + case EbtInt16: newOp = EOpConvInt16ToUint8; break; + case EbtUint16: newOp = EOpConvUint16ToUint8; break; + case EbtInt: newOp = EOpConvIntToUint8; break; + case EbtUint: newOp = EOpConvUintToUint8; break; + case EbtInt64: newOp = EOpConvInt64ToUint8; break; + case EbtUint64: newOp = EOpConvUint64ToUint8; break; + case EbtBool: newOp = EOpConvBoolToUint8; break; + case EbtFloat: newOp = EOpConvFloatToUint8; break; + case EbtDouble: newOp = EOpConvDoubleToUint8; break; + case EbtFloat16: newOp = EOpConvFloat16ToUint8; break; + default: + return false; + } + break; + + case EbtInt16: + switch (src) { + case EbtUint8: newOp = EOpConvUint8ToInt16; break; + case EbtInt8: newOp = EOpConvInt8ToInt16; break; + case EbtUint16: newOp = EOpConvUint16ToInt16; break; + case EbtInt: newOp = EOpConvIntToInt16; break; + case EbtUint: newOp = EOpConvUintToInt16; break; + case EbtInt64: newOp = EOpConvInt64ToInt16; break; + case EbtUint64: newOp = EOpConvUint64ToInt16; break; + case EbtBool: newOp = EOpConvBoolToInt16; break; + case EbtFloat: newOp = EOpConvFloatToInt16; break; + case EbtDouble: newOp = EOpConvDoubleToInt16; break; + case EbtFloat16: newOp = EOpConvFloat16ToInt16; break; + default: + return false; + } + break; + case EbtUint16: + switch (src) { + case EbtInt8: newOp = EOpConvInt8ToUint16; break; + case EbtUint8: newOp = EOpConvUint8ToUint16; break; + case EbtInt16: newOp = EOpConvInt16ToUint16; break; + case EbtInt: newOp = EOpConvIntToUint16; break; + case EbtUint: newOp = EOpConvUintToUint16; break; + case EbtInt64: newOp = EOpConvInt64ToUint16; break; + case EbtUint64: newOp = EOpConvUint64ToUint16; break; + case EbtBool: newOp = EOpConvBoolToUint16; break; + case EbtFloat: newOp = EOpConvFloatToUint16; break; + case EbtDouble: newOp = EOpConvDoubleToUint16; break; + case EbtFloat16: newOp = EOpConvFloat16ToUint16; break; + default: + return false; + } + break; +#endif + + case EbtInt: + switch (src) { + case EbtUint: newOp = EOpConvUintToInt; break; + case EbtBool: newOp = EOpConvBoolToInt; break; + case EbtFloat: newOp = EOpConvFloatToInt; break; +#ifndef GLSLANG_WEB + case EbtInt8: newOp = EOpConvInt8ToInt; break; + case EbtUint8: newOp = EOpConvUint8ToInt; break; + case EbtInt16: newOp = EOpConvInt16ToInt; break; + case EbtUint16: newOp = EOpConvUint16ToInt; break; + case EbtDouble: newOp = EOpConvDoubleToInt; break; + case EbtFloat16: newOp = EOpConvFloat16ToInt; break; + case EbtInt64: newOp = EOpConvInt64ToInt; break; + case EbtUint64: newOp = EOpConvUint64ToInt; break; +#endif + default: + return false; + } + break; + case EbtUint: + switch (src) { + case EbtInt: newOp = EOpConvIntToUint; break; + case EbtBool: newOp = EOpConvBoolToUint; break; + case EbtFloat: newOp = EOpConvFloatToUint; break; +#ifndef GLSLANG_WEB + case EbtInt8: newOp = EOpConvInt8ToUint; break; + case EbtUint8: newOp = EOpConvUint8ToUint; break; + case EbtInt16: newOp = EOpConvInt16ToUint; break; + case EbtUint16: newOp = EOpConvUint16ToUint; break; + case EbtDouble: newOp = EOpConvDoubleToUint; break; + case EbtFloat16: newOp = EOpConvFloat16ToUint; break; + case EbtInt64: newOp = EOpConvInt64ToUint; break; + case EbtUint64: newOp = EOpConvUint64ToUint; break; +#endif + default: + return false; + } + break; +#ifndef GLSLANG_WEB + case EbtInt64: + switch (src) { + case EbtInt8: newOp = EOpConvInt8ToInt64; break; + case EbtUint8: newOp = EOpConvUint8ToInt64; break; + case EbtInt16: newOp = EOpConvInt16ToInt64; break; + case EbtUint16: newOp = EOpConvUint16ToInt64; break; + case EbtInt: newOp = EOpConvIntToInt64; break; + case EbtUint: newOp = EOpConvUintToInt64; break; + case EbtBool: newOp = EOpConvBoolToInt64; break; + case EbtFloat: newOp = EOpConvFloatToInt64; break; + case EbtDouble: newOp = EOpConvDoubleToInt64; break; + case EbtFloat16: newOp = EOpConvFloat16ToInt64; break; + case EbtUint64: newOp = EOpConvUint64ToInt64; break; + default: + return false; + } + break; + case EbtUint64: + switch (src) { + case EbtInt8: newOp = EOpConvInt8ToUint64; break; + case EbtUint8: newOp = EOpConvUint8ToUint64; break; + case EbtInt16: newOp = EOpConvInt16ToUint64; break; + case EbtUint16: newOp = EOpConvUint16ToUint64; break; + case EbtInt: newOp = EOpConvIntToUint64; break; + case EbtUint: newOp = EOpConvUintToUint64; break; + case EbtBool: newOp = EOpConvBoolToUint64; break; + case EbtFloat: newOp = EOpConvFloatToUint64; break; + case EbtDouble: newOp = EOpConvDoubleToUint64; break; + case EbtFloat16: newOp = EOpConvFloat16ToUint64; break; + case EbtInt64: newOp = EOpConvInt64ToUint64; break; + default: + return false; + } + break; +#endif + default: + return false; + } + return true; +} + +// This is 'mechanism' here, it does any conversion told. +// It is about basic type, not about shape. +// The policy comes from the shader or the calling code. +TIntermTyped* TIntermediate::createConversion(TBasicType convertTo, TIntermTyped* node) const +{ + // + // Add a new newNode for the conversion. + // + +#ifndef GLSLANG_WEB + bool convertToIntTypes = (convertTo == EbtInt8 || convertTo == EbtUint8 || + convertTo == EbtInt16 || convertTo == EbtUint16 || + convertTo == EbtInt || convertTo == EbtUint || + convertTo == EbtInt64 || convertTo == EbtUint64); + + bool convertFromIntTypes = (node->getBasicType() == EbtInt8 || node->getBasicType() == EbtUint8 || + node->getBasicType() == EbtInt16 || node->getBasicType() == EbtUint16 || + node->getBasicType() == EbtInt || node->getBasicType() == EbtUint || + node->getBasicType() == EbtInt64 || node->getBasicType() == EbtUint64); + + bool convertToFloatTypes = (convertTo == EbtFloat16 || convertTo == EbtFloat || convertTo == EbtDouble); + + bool convertFromFloatTypes = (node->getBasicType() == EbtFloat16 || + node->getBasicType() == EbtFloat || + node->getBasicType() == EbtDouble); + + if (((convertTo == EbtInt8 || convertTo == EbtUint8) && ! convertFromIntTypes) || + ((node->getBasicType() == EbtInt8 || node->getBasicType() == EbtUint8) && ! convertToIntTypes)) { + if (! getArithemeticInt8Enabled()) { + return nullptr; + } + } + + if (((convertTo == EbtInt16 || convertTo == EbtUint16) && ! convertFromIntTypes) || + ((node->getBasicType() == EbtInt16 || node->getBasicType() == EbtUint16) && ! convertToIntTypes)) { + if (! getArithemeticInt16Enabled()) { + return nullptr; + } + } + + if ((convertTo == EbtFloat16 && ! convertFromFloatTypes) || + (node->getBasicType() == EbtFloat16 && ! convertToFloatTypes)) { + if (! getArithemeticFloat16Enabled()) { + return nullptr; + } + } +#endif + + TIntermUnary* newNode = nullptr; + TOperator newOp = EOpNull; + if (!buildConvertOp(convertTo, node->getBasicType(), newOp)) { + return nullptr; + } + + TType newType(convertTo, EvqTemporary, node->getVectorSize(), node->getMatrixCols(), node->getMatrixRows()); + newNode = addUnaryNode(newOp, node, node->getLoc(), newType); + + if (node->getAsConstantUnion()) { +#ifndef GLSLANG_WEB + // 8/16-bit storage extensions don't support 8/16-bit constants, so don't fold conversions + // to those types + if ((getArithemeticInt8Enabled() || !(convertTo == EbtInt8 || convertTo == EbtUint8)) && + (getArithemeticInt16Enabled() || !(convertTo == EbtInt16 || convertTo == EbtUint16)) && + (getArithemeticFloat16Enabled() || !(convertTo == EbtFloat16))) +#endif + { + TIntermTyped* folded = node->getAsConstantUnion()->fold(newOp, newType); + if (folded) + return folded; + } + } + + // Propagate specialization-constant-ness, if allowed + if (node->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*newNode)) + newNode->getWritableType().getQualifier().makeSpecConstant(); + + return newNode; +} + +TIntermTyped* TIntermediate::addConversion(TBasicType convertTo, TIntermTyped* node) const +{ + return createConversion(convertTo, node); +} + +// For converting a pair of operands to a binary operation to compatible +// types with each other, relative to the operation in 'op'. +// This does not cover assignment operations, which is asymmetric in that the +// left type is not changeable. +// See addConversion(op, type, node) for assignments and unary operation +// conversions. +// +// Generally, this is focused on basic type conversion, not shape conversion. +// See addShapeConversion() for shape conversions. +// +// Returns the converted pair of nodes. +// Returns when there is no conversion. +std::tuple +TIntermediate::addPairConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1) +{ + if (!isConversionAllowed(op, node0) || !isConversionAllowed(op, node1)) + return std::make_tuple(nullptr, nullptr); + + if (node0->getType() != node1->getType()) { + // If differing structure, then no conversions. + if (node0->isStruct() || node1->isStruct()) + return std::make_tuple(nullptr, nullptr); + + // If differing arrays, then no conversions. + if (node0->getType().isArray() || node1->getType().isArray()) + return std::make_tuple(nullptr, nullptr); + + // No implicit conversions for operations involving cooperative matrices + if (node0->getType().isCoopMat() || node1->getType().isCoopMat()) + return std::make_tuple(node0, node1); + } + + auto promoteTo = std::make_tuple(EbtNumTypes, EbtNumTypes); + + switch (op) { + // + // List all the binary ops that can implicitly convert one operand to the other's type; + // This implements the 'policy' for implicit type conversion. + // + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + case EOpEqual: + case EOpNotEqual: + + case EOpAdd: + case EOpSub: + case EOpMul: + case EOpDiv: + case EOpMod: + + case EOpVectorTimesScalar: + case EOpVectorTimesMatrix: + case EOpMatrixTimesVector: + case EOpMatrixTimesScalar: + + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + + case EOpSequence: // used by ?: + + if (node0->getBasicType() == node1->getBasicType()) + return std::make_tuple(node0, node1); + + promoteTo = getConversionDestinationType(node0->getBasicType(), node1->getBasicType(), op); + if (std::get<0>(promoteTo) == EbtNumTypes || std::get<1>(promoteTo) == EbtNumTypes) + return std::make_tuple(nullptr, nullptr); + + break; + + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: + if (getSource() == EShSourceHlsl) + promoteTo = std::make_tuple(EbtBool, EbtBool); + else + return std::make_tuple(node0, node1); + break; + + // There are no conversions needed for GLSL; the shift amount just needs to be an + // integer type, as does the base. + // HLSL can promote bools to ints to make this work. + case EOpLeftShift: + case EOpRightShift: + if (getSource() == EShSourceHlsl) { + TBasicType node0BasicType = node0->getBasicType(); + if (node0BasicType == EbtBool) + node0BasicType = EbtInt; + if (node1->getBasicType() == EbtBool) + promoteTo = std::make_tuple(node0BasicType, EbtInt); + else + promoteTo = std::make_tuple(node0BasicType, node1->getBasicType()); + } else { + if (isTypeInt(node0->getBasicType()) && isTypeInt(node1->getBasicType())) + return std::make_tuple(node0, node1); + else + return std::make_tuple(nullptr, nullptr); + } + break; + + default: + if (node0->getType() == node1->getType()) + return std::make_tuple(node0, node1); + + return std::make_tuple(nullptr, nullptr); + } + + TIntermTyped* newNode0; + TIntermTyped* newNode1; + + if (std::get<0>(promoteTo) != node0->getType().getBasicType()) { + if (node0->getAsConstantUnion()) + newNode0 = promoteConstantUnion(std::get<0>(promoteTo), node0->getAsConstantUnion()); + else + newNode0 = createConversion(std::get<0>(promoteTo), node0); + } else + newNode0 = node0; + + if (std::get<1>(promoteTo) != node1->getType().getBasicType()) { + if (node1->getAsConstantUnion()) + newNode1 = promoteConstantUnion(std::get<1>(promoteTo), node1->getAsConstantUnion()); + else + newNode1 = createConversion(std::get<1>(promoteTo), node1); + } else + newNode1 = node1; + + return std::make_tuple(newNode0, newNode1); +} + +// +// Convert the node's type to the given type, as allowed by the operation involved: 'op'. +// For implicit conversions, 'op' is not the requested conversion, it is the explicit +// operation requiring the implicit conversion. +// +// Binary operation conversions should be handled by addConversion(op, node, node), not here. +// +// Returns a node representing the conversion, which could be the same +// node passed in if no conversion was needed. +// +// Generally, this is focused on basic type conversion, not shape conversion. +// See addShapeConversion() for shape conversions. +// +// Return nullptr if a conversion can't be done. +// +TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node) +{ + if (!isConversionAllowed(op, node)) + return nullptr; + + // Otherwise, if types are identical, no problem + if (type == node->getType()) + return node; + + // If one's a structure, then no conversions. + if (type.isStruct() || node->isStruct()) + return nullptr; + + // If one's an array, then no conversions. + if (type.isArray() || node->getType().isArray()) + return nullptr; + + // Note: callers are responsible for other aspects of shape, + // like vector and matrix sizes. + + switch (op) { + // + // Explicit conversions (unary operations) + // + case EOpConstructBool: + case EOpConstructFloat: + case EOpConstructInt: + case EOpConstructUint: +#ifndef GLSLANG_WEB + case EOpConstructDouble: + case EOpConstructFloat16: + case EOpConstructInt8: + case EOpConstructUint8: + case EOpConstructInt16: + case EOpConstructUint16: + case EOpConstructInt64: + case EOpConstructUint64: + break; + +#endif + + // + // Implicit conversions + // + case EOpLogicalNot: + + case EOpFunctionCall: + + case EOpReturn: + case EOpAssign: + case EOpAddAssign: + case EOpSubAssign: + case EOpMulAssign: + case EOpVectorTimesScalarAssign: + case EOpMatrixTimesScalarAssign: + case EOpDivAssign: + case EOpModAssign: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + + case EOpAtan: + case EOpClamp: + case EOpCross: + case EOpDistance: + case EOpDot: + case EOpDst: + case EOpFaceForward: + case EOpFma: + case EOpFrexp: + case EOpLdexp: + case EOpMix: + case EOpLit: + case EOpMax: + case EOpMin: + case EOpMod: + case EOpModf: + case EOpPow: + case EOpReflect: + case EOpRefract: + case EOpSmoothStep: + case EOpStep: + + case EOpSequence: + case EOpConstructStruct: + case EOpConstructCooperativeMatrix: + + if (type.isReference() || node->getType().isReference()) { + // types must match to assign a reference + if (type == node->getType()) + return node; + else + return nullptr; + } + + if (type.getBasicType() == node->getType().getBasicType()) + return node; + + if (! canImplicitlyPromote(node->getBasicType(), type.getBasicType(), op)) + return nullptr; + break; + + // For GLSL, there are no conversions needed; the shift amount just needs to be an + // integer type, as do the base/result. + // HLSL can convert the shift from a bool to an int. + case EOpLeftShiftAssign: + case EOpRightShiftAssign: + { + if (!(getSource() == EShSourceHlsl && node->getType().getBasicType() == EbtBool)) { + if (isTypeInt(type.getBasicType()) && isTypeInt(node->getBasicType())) + return node; + else + return nullptr; + } + break; + } + + default: + // default is to require a match; all exceptions should have case statements above + + if (type.getBasicType() == node->getType().getBasicType()) + return node; + else + return nullptr; + } + + bool canPromoteConstant = true; +#ifndef GLSLANG_WEB + // GL_EXT_shader_16bit_storage can't do OpConstantComposite with + // 16-bit types, so disable promotion for those types. + // Many issues with this, from JohnK: + // - this isn't really right to discuss SPIR-V here + // - this could easily be entirely about scalars, so is overstepping + // - we should be looking at what the shader asked for, and saying whether or + // not it can be done, in the parser, by calling requireExtensions(), not + // changing language sementics on the fly by asking what extensions are in use + // - at the time of this writing (14-Aug-2020), no test results are changed by this. + switch (op) { + case EOpConstructFloat16: + canPromoteConstant = numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_float16); + break; + case EOpConstructInt8: + case EOpConstructUint8: + canPromoteConstant = numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int8); + break; + case EOpConstructInt16: + case EOpConstructUint16: + canPromoteConstant = numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int16); + break; + default: + break; + } +#endif + + if (canPromoteConstant && node->getAsConstantUnion()) + return promoteConstantUnion(type.getBasicType(), node->getAsConstantUnion()); + + // + // Add a new newNode for the conversion. + // + TIntermTyped* newNode = createConversion(type.getBasicType(), node); + + return newNode; +} + +// Convert the node's shape of type for the given type, as allowed by the +// operation involved: 'op'. This is for situations where there is only one +// direction to consider doing the shape conversion. +// +// This implements policy, it call addShapeConversion() for the mechanism. +// +// Generally, the AST represents allowed GLSL shapes, so this isn't needed +// for GLSL. Bad shapes are caught in conversion or promotion. +// +// Return 'node' if no conversion was done. Promotion handles final shape +// checking. +// +TIntermTyped* TIntermediate::addUniShapeConversion(TOperator op, const TType& type, TIntermTyped* node) +{ + // some source languages don't do this + switch (getSource()) { + case EShSourceHlsl: + break; + case EShSourceGlsl: + default: + return node; + } + + // some operations don't do this + switch (op) { + case EOpFunctionCall: + case EOpReturn: + break; + + case EOpMulAssign: + // want to support vector *= scalar native ops in AST and lower, not smear, similarly for + // matrix *= scalar, etc. + + case EOpAddAssign: + case EOpSubAssign: + case EOpDivAssign: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + case EOpRightShiftAssign: + case EOpLeftShiftAssign: + if (node->getVectorSize() == 1) + return node; + break; + + case EOpAssign: + break; + + case EOpMix: + break; + + default: + return node; + } + + return addShapeConversion(type, node); +} + +// Convert the nodes' shapes to be compatible for the operation 'op'. +// +// This implements policy, it call addShapeConversion() for the mechanism. +// +// Generally, the AST represents allowed GLSL shapes, so this isn't needed +// for GLSL. Bad shapes are caught in conversion or promotion. +// +void TIntermediate::addBiShapeConversion(TOperator op, TIntermTyped*& lhsNode, TIntermTyped*& rhsNode) +{ + // some source languages don't do this + switch (getSource()) { + case EShSourceHlsl: + break; + case EShSourceGlsl: + default: + return; + } + + // some operations don't do this + // 'break' will mean attempt bidirectional conversion + switch (op) { + case EOpMulAssign: + case EOpAssign: + case EOpAddAssign: + case EOpSubAssign: + case EOpDivAssign: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + case EOpRightShiftAssign: + case EOpLeftShiftAssign: + // switch to unidirectional conversion (the lhs can't change) + rhsNode = addUniShapeConversion(op, lhsNode->getType(), rhsNode); + return; + + case EOpMul: + // matrix multiply does not change shapes + if (lhsNode->isMatrix() && rhsNode->isMatrix()) + return; + case EOpAdd: + case EOpSub: + case EOpDiv: + // want to support vector * scalar native ops in AST and lower, not smear, similarly for + // matrix * vector, etc. + if (lhsNode->getVectorSize() == 1 || rhsNode->getVectorSize() == 1) + return; + break; + + case EOpRightShift: + case EOpLeftShift: + // can natively support the right operand being a scalar and the left a vector, + // but not the reverse + if (rhsNode->getVectorSize() == 1) + return; + break; + + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + + case EOpEqual: + case EOpNotEqual: + + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: + + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + + case EOpMix: + break; + + default: + return; + } + + // Do bidirectional conversions + if (lhsNode->getType().isScalarOrVec1() || rhsNode->getType().isScalarOrVec1()) { + if (lhsNode->getType().isScalarOrVec1()) + lhsNode = addShapeConversion(rhsNode->getType(), lhsNode); + else + rhsNode = addShapeConversion(lhsNode->getType(), rhsNode); + } + lhsNode = addShapeConversion(rhsNode->getType(), lhsNode); + rhsNode = addShapeConversion(lhsNode->getType(), rhsNode); +} + +// Convert the node's shape of type for the given type, as allowed by the +// operation involved: 'op'. +// +// Generally, the AST represents allowed GLSL shapes, so this isn't needed +// for GLSL. Bad shapes are caught in conversion or promotion. +// +// Return 'node' if no conversion was done. Promotion handles final shape +// checking. +// +TIntermTyped* TIntermediate::addShapeConversion(const TType& type, TIntermTyped* node) +{ + // no conversion needed + if (node->getType() == type) + return node; + + // structures and arrays don't change shape, either to or from + if (node->getType().isStruct() || node->getType().isArray() || + type.isStruct() || type.isArray()) + return node; + + // The new node that handles the conversion + TOperator constructorOp = mapTypeToConstructorOp(type); + + if (getSource() == EShSourceHlsl) { + // HLSL rules for scalar, vector and matrix conversions: + // 1) scalar can become anything, initializing every component with its value + // 2) vector and matrix can become scalar, first element is used (warning: truncation) + // 3) matrix can become matrix with less rows and/or columns (warning: truncation) + // 4) vector can become vector with less rows size (warning: truncation) + // 5a) vector 4 can become 2x2 matrix (special case) (same packing layout, its a reinterpret) + // 5b) 2x2 matrix can become vector 4 (special case) (same packing layout, its a reinterpret) + + const TType &sourceType = node->getType(); + + // rule 1 for scalar to matrix is special + if (sourceType.isScalarOrVec1() && type.isMatrix()) { + + // HLSL semantics: the scalar (or vec1) is replicated to every component of the matrix. Left to its + // own devices, the constructor from a scalar would populate the diagonal. This forces replication + // to every matrix element. + + // Note that if the node is complex (e.g, a function call), we don't want to duplicate it here + // repeatedly, so we copy it to a temp, then use the temp. + const int matSize = type.computeNumComponents(); + TIntermAggregate* rhsAggregate = new TIntermAggregate(); + + const bool isSimple = (node->getAsSymbolNode() != nullptr) || (node->getAsConstantUnion() != nullptr); + + if (!isSimple) { + assert(0); // TODO: use node replicator service when available. + } + + for (int x = 0; x < matSize; ++x) + rhsAggregate->getSequence().push_back(node); + + return setAggregateOperator(rhsAggregate, constructorOp, type, node->getLoc()); + } + + // rule 1 and 2 + if ((sourceType.isScalar() && !type.isScalar()) || (!sourceType.isScalar() && type.isScalar())) + return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc()); + + // rule 3 and 5b + if (sourceType.isMatrix()) { + // rule 3 + if (type.isMatrix()) { + if ((sourceType.getMatrixCols() != type.getMatrixCols() || sourceType.getMatrixRows() != type.getMatrixRows()) && + sourceType.getMatrixCols() >= type.getMatrixCols() && sourceType.getMatrixRows() >= type.getMatrixRows()) + return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc()); + // rule 5b + } else if (type.isVector()) { + if (type.getVectorSize() == 4 && sourceType.getMatrixCols() == 2 && sourceType.getMatrixRows() == 2) + return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc()); + } + } + + // rule 4 and 5a + if (sourceType.isVector()) { + // rule 4 + if (type.isVector()) + { + if (sourceType.getVectorSize() > type.getVectorSize()) + return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc()); + // rule 5a + } else if (type.isMatrix()) { + if (sourceType.getVectorSize() == 4 && type.getMatrixCols() == 2 && type.getMatrixRows() == 2) + return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc()); + } + } + } + + // scalar -> vector or vec1 -> vector or + // vector -> scalar or + // bigger vector -> smaller vector + if ((node->getType().isScalarOrVec1() && type.isVector()) || + (node->getType().isVector() && type.isScalar()) || + (node->isVector() && type.isVector() && node->getVectorSize() > type.getVectorSize())) + return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc()); + + return node; +} + +bool TIntermediate::isIntegralPromotion(TBasicType from, TBasicType to) const +{ + // integral promotions + if (to == EbtInt) { + switch(from) { + case EbtInt8: + case EbtInt16: + case EbtUint8: + case EbtUint16: + return true; + default: + break; + } + } + return false; +} + +bool TIntermediate::isFPPromotion(TBasicType from, TBasicType to) const +{ + // floating-point promotions + if (to == EbtDouble) { + switch(from) { + case EbtFloat16: + case EbtFloat: + return true; + default: + break; + } + } + return false; +} + +bool TIntermediate::isIntegralConversion(TBasicType from, TBasicType to) const +{ +#ifdef GLSLANG_WEB + return false; +#endif + + switch (from) { + case EbtInt: + switch(to) { + case EbtUint: + return version >= 400 || getSource() == EShSourceHlsl; + case EbtInt64: + case EbtUint64: + return true; + default: + break; + } + break; + case EbtUint: + switch(to) { + case EbtInt64: + case EbtUint64: + return true; + default: + break; + } + break; + case EbtInt8: + switch (to) { + case EbtUint8: + case EbtInt16: + case EbtUint16: + case EbtUint: + case EbtInt64: + case EbtUint64: + return true; + default: + break; + } + break; + case EbtUint8: + switch (to) { + case EbtInt16: + case EbtUint16: + case EbtUint: + case EbtInt64: + case EbtUint64: + return true; + default: + break; + } + break; + case EbtInt16: + switch(to) { + case EbtUint16: + case EbtUint: + case EbtInt64: + case EbtUint64: + return true; + default: + break; + } + break; + case EbtUint16: + switch(to) { + case EbtUint: + case EbtInt64: + case EbtUint64: + return true; + default: + break; + } + break; + case EbtInt64: + if (to == EbtUint64) { + return true; + } + break; + default: + break; + } + return false; +} + +bool TIntermediate::isFPConversion(TBasicType from, TBasicType to) const +{ +#ifdef GLSLANG_WEB + return false; +#endif + + if (to == EbtFloat && from == EbtFloat16) { + return true; + } else { + return false; + } +} + +bool TIntermediate::isFPIntegralConversion(TBasicType from, TBasicType to) const +{ + switch (from) { + case EbtInt: + case EbtUint: + switch(to) { + case EbtFloat: + case EbtDouble: + return true; + default: + break; + } + break; +#ifndef GLSLANG_WEB + case EbtInt8: + case EbtUint8: + case EbtInt16: + case EbtUint16: + switch (to) { + case EbtFloat16: + case EbtFloat: + case EbtDouble: + return true; + default: + break; + } + break; + case EbtInt64: + case EbtUint64: + if (to == EbtDouble) { + return true; + } + break; +#endif + default: + break; + } + return false; +} + +// +// See if the 'from' type is allowed to be implicitly converted to the +// 'to' type. This is not about vector/array/struct, only about basic type. +// +bool TIntermediate::canImplicitlyPromote(TBasicType from, TBasicType to, TOperator op) const +{ + if ((isEsProfile() && version < 310 ) || version == 110) + return false; + + if (from == to) + return true; + + // TODO: Move more policies into language-specific handlers. + // Some languages allow more general (or potentially, more specific) conversions under some conditions. + if (getSource() == EShSourceHlsl) { + const bool fromConvertable = (from == EbtFloat || from == EbtDouble || from == EbtInt || from == EbtUint || from == EbtBool); + const bool toConvertable = (to == EbtFloat || to == EbtDouble || to == EbtInt || to == EbtUint || to == EbtBool); + + if (fromConvertable && toConvertable) { + switch (op) { + case EOpAndAssign: // assignments can perform arbitrary conversions + case EOpInclusiveOrAssign: // ... + case EOpExclusiveOrAssign: // ... + case EOpAssign: // ... + case EOpAddAssign: // ... + case EOpSubAssign: // ... + case EOpMulAssign: // ... + case EOpVectorTimesScalarAssign: // ... + case EOpMatrixTimesScalarAssign: // ... + case EOpDivAssign: // ... + case EOpModAssign: // ... + case EOpReturn: // function returns can also perform arbitrary conversions + case EOpFunctionCall: // conversion of a calling parameter + case EOpLogicalNot: + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: + case EOpConstructStruct: + return true; + default: + break; + } + } + } + + if (getSource() == EShSourceHlsl) { + // HLSL + if (from == EbtBool && (to == EbtInt || to == EbtUint || to == EbtFloat)) + return true; + } else { + // GLSL + if (isIntegralPromotion(from, to) || + isFPPromotion(from, to) || + isIntegralConversion(from, to) || + isFPConversion(from, to) || + isFPIntegralConversion(from, to)) { + + if (numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int8) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int16) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int32) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int64) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_float16) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_float32) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_float64)) { + return true; + } + } + } + + if (isEsProfile()) { + switch (to) { + case EbtFloat: + switch (from) { + case EbtInt: + case EbtUint: + return numericFeatures.contains(TNumericFeatures::shader_implicit_conversions); + default: + return false; + } + case EbtUint: + switch (from) { + case EbtInt: + return numericFeatures.contains(TNumericFeatures::shader_implicit_conversions); + default: + return false; + } + default: + return false; + } + } else { + switch (to) { + case EbtDouble: + switch (from) { + case EbtInt: + case EbtUint: + case EbtInt64: + case EbtUint64: + case EbtFloat: + return version >= 400 || numericFeatures.contains(TNumericFeatures::gpu_shader_fp64); + case EbtInt16: + case EbtUint16: + return (version >= 400 || numericFeatures.contains(TNumericFeatures::gpu_shader_fp64)) && + numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + case EbtFloat16: + return (version >= 400 || numericFeatures.contains(TNumericFeatures::gpu_shader_fp64)) && + numericFeatures.contains(TNumericFeatures::gpu_shader_half_float); + default: + return false; + } + case EbtFloat: + switch (from) { + case EbtInt: + case EbtUint: + return true; + case EbtBool: + return getSource() == EShSourceHlsl; + case EbtInt16: + case EbtUint16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + case EbtFloat16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_half_float) || + getSource() == EShSourceHlsl; + default: + return false; + } + case EbtUint: + switch (from) { + case EbtInt: + return version >= 400 || getSource() == EShSourceHlsl; + case EbtBool: + return getSource() == EShSourceHlsl; + case EbtInt16: + case EbtUint16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + default: + return false; + } + case EbtInt: + switch (from) { + case EbtBool: + return getSource() == EShSourceHlsl; + case EbtInt16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + default: + return false; + } + case EbtUint64: + switch (from) { + case EbtInt: + case EbtUint: + case EbtInt64: + return true; + case EbtInt16: + case EbtUint16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + default: + return false; + } + case EbtInt64: + switch (from) { + case EbtInt: + return true; + case EbtInt16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + default: + return false; + } + case EbtFloat16: + switch (from) { + case EbtInt16: + case EbtUint16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + default: + break; + } + return false; + case EbtUint16: + switch (from) { + case EbtInt16: + return numericFeatures.contains(TNumericFeatures::gpu_shader_int16); + default: + break; + } + return false; + default: + return false; + } + } + + return false; +} + +static bool canSignedIntTypeRepresentAllUnsignedValues(TBasicType sintType, TBasicType uintType) +{ +#ifdef GLSLANG_WEB + return false; +#endif + + switch(sintType) { + case EbtInt8: + switch(uintType) { + case EbtUint8: + case EbtUint16: + case EbtUint: + case EbtUint64: + return false; + default: + assert(false); + return false; + } + break; + case EbtInt16: + switch(uintType) { + case EbtUint8: + return true; + case EbtUint16: + case EbtUint: + case EbtUint64: + return false; + default: + assert(false); + return false; + } + break; + case EbtInt: + switch(uintType) { + case EbtUint8: + case EbtUint16: + return true; + case EbtUint: + return false; + default: + assert(false); + return false; + } + break; + case EbtInt64: + switch(uintType) { + case EbtUint8: + case EbtUint16: + case EbtUint: + return true; + case EbtUint64: + return false; + default: + assert(false); + return false; + } + break; + default: + assert(false); + return false; + } +} + + +static TBasicType getCorrespondingUnsignedType(TBasicType type) +{ +#ifdef GLSLANG_WEB + assert(type == EbtInt); + return EbtUint; +#endif + + switch(type) { + case EbtInt8: + return EbtUint8; + case EbtInt16: + return EbtUint16; + case EbtInt: + return EbtUint; + case EbtInt64: + return EbtUint64; + default: + assert(false); + return EbtNumTypes; + } +} + +// Implements the following rules +// - If either operand has type float64_t or derived from float64_t, +// the other shall be converted to float64_t or derived type. +// - Otherwise, if either operand has type float32_t or derived from +// float32_t, the other shall be converted to float32_t or derived type. +// - Otherwise, if either operand has type float16_t or derived from +// float16_t, the other shall be converted to float16_t or derived type. +// - Otherwise, if both operands have integer types the following rules +// shall be applied to the operands: +// - If both operands have the same type, no further conversion +// is needed. +// - Otherwise, if both operands have signed integer types or both +// have unsigned integer types, the operand with the type of lesser +// integer conversion rank shall be converted to the type of the +// operand with greater rank. +// - Otherwise, if the operand that has unsigned integer type has rank +// greater than or equal to the rank of the type of the other +// operand, the operand with signed integer type shall be converted +// to the type of the operand with unsigned integer type. +// - Otherwise, if the type of the operand with signed integer type can +// represent all of the values of the type of the operand with +// unsigned integer type, the operand with unsigned integer type +// shall be converted to the type of the operand with signed +// integer type. +// - Otherwise, both operands shall be converted to the unsigned +// integer type corresponding to the type of the operand with signed +// integer type. + +std::tuple TIntermediate::getConversionDestinationType(TBasicType type0, TBasicType type1, TOperator op) const +{ + TBasicType res0 = EbtNumTypes; + TBasicType res1 = EbtNumTypes; + + if ((isEsProfile() && + (version < 310 || !numericFeatures.contains(TNumericFeatures::shader_implicit_conversions))) || + version == 110) + return std::make_tuple(res0, res1); + + if (getSource() == EShSourceHlsl) { + if (canImplicitlyPromote(type1, type0, op)) { + res0 = type0; + res1 = type0; + } else if (canImplicitlyPromote(type0, type1, op)) { + res0 = type1; + res1 = type1; + } + return std::make_tuple(res0, res1); + } + + if ((type0 == EbtDouble && canImplicitlyPromote(type1, EbtDouble, op)) || + (type1 == EbtDouble && canImplicitlyPromote(type0, EbtDouble, op)) ) { + res0 = EbtDouble; + res1 = EbtDouble; + } else if ((type0 == EbtFloat && canImplicitlyPromote(type1, EbtFloat, op)) || + (type1 == EbtFloat && canImplicitlyPromote(type0, EbtFloat, op)) ) { + res0 = EbtFloat; + res1 = EbtFloat; + } else if ((type0 == EbtFloat16 && canImplicitlyPromote(type1, EbtFloat16, op)) || + (type1 == EbtFloat16 && canImplicitlyPromote(type0, EbtFloat16, op)) ) { + res0 = EbtFloat16; + res1 = EbtFloat16; + } else if (isTypeInt(type0) && isTypeInt(type1) && + (canImplicitlyPromote(type0, type1, op) || canImplicitlyPromote(type1, type0, op))) { + if ((isTypeSignedInt(type0) && isTypeSignedInt(type1)) || + (isTypeUnsignedInt(type0) && isTypeUnsignedInt(type1))) { + if (getTypeRank(type0) < getTypeRank(type1)) { + res0 = type1; + res1 = type1; + } else { + res0 = type0; + res1 = type0; + } + } else if (isTypeUnsignedInt(type0) && (getTypeRank(type0) > getTypeRank(type1))) { + res0 = type0; + res1 = type0; + } else if (isTypeUnsignedInt(type1) && (getTypeRank(type1) > getTypeRank(type0))) { + res0 = type1; + res1 = type1; + } else if (isTypeSignedInt(type0)) { + if (canSignedIntTypeRepresentAllUnsignedValues(type0, type1)) { + res0 = type0; + res1 = type0; + } else { + res0 = getCorrespondingUnsignedType(type0); + res1 = getCorrespondingUnsignedType(type0); + } + } else if (isTypeSignedInt(type1)) { + if (canSignedIntTypeRepresentAllUnsignedValues(type1, type0)) { + res0 = type1; + res1 = type1; + } else { + res0 = getCorrespondingUnsignedType(type1); + res1 = getCorrespondingUnsignedType(type1); + } + } + } + + return std::make_tuple(res0, res1); +} + +// +// Given a type, find what operation would fully construct it. +// +TOperator TIntermediate::mapTypeToConstructorOp(const TType& type) const +{ + TOperator op = EOpNull; + + if (type.getQualifier().isNonUniform()) + return EOpConstructNonuniform; + + if (type.isCoopMat()) + return EOpConstructCooperativeMatrix; + + switch (type.getBasicType()) { + case EbtStruct: + op = EOpConstructStruct; + break; + case EbtSampler: + if (type.getSampler().isCombined()) + op = EOpConstructTextureSampler; + break; + case EbtFloat: + if (type.isMatrix()) { + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructMat2x2; break; + case 3: op = EOpConstructMat2x3; break; + case 4: op = EOpConstructMat2x4; break; + default: break; // some compilers want this + } + break; + case 3: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructMat3x2; break; + case 3: op = EOpConstructMat3x3; break; + case 4: op = EOpConstructMat3x4; break; + default: break; // some compilers want this + } + break; + case 4: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructMat4x2; break; + case 3: op = EOpConstructMat4x3; break; + case 4: op = EOpConstructMat4x4; break; + default: break; // some compilers want this + } + break; + default: break; // some compilers want this + } + } else { + switch(type.getVectorSize()) { + case 1: op = EOpConstructFloat; break; + case 2: op = EOpConstructVec2; break; + case 3: op = EOpConstructVec3; break; + case 4: op = EOpConstructVec4; break; + default: break; // some compilers want this + } + } + break; + case EbtInt: + if (type.getMatrixCols()) { + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructIMat2x2; break; + case 3: op = EOpConstructIMat2x3; break; + case 4: op = EOpConstructIMat2x4; break; + default: break; // some compilers want this + } + break; + case 3: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructIMat3x2; break; + case 3: op = EOpConstructIMat3x3; break; + case 4: op = EOpConstructIMat3x4; break; + default: break; // some compilers want this + } + break; + case 4: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructIMat4x2; break; + case 3: op = EOpConstructIMat4x3; break; + case 4: op = EOpConstructIMat4x4; break; + default: break; // some compilers want this + } + break; + } + } else { + switch(type.getVectorSize()) { + case 1: op = EOpConstructInt; break; + case 2: op = EOpConstructIVec2; break; + case 3: op = EOpConstructIVec3; break; + case 4: op = EOpConstructIVec4; break; + default: break; // some compilers want this + } + } + break; + case EbtUint: + if (type.getMatrixCols()) { + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructUMat2x2; break; + case 3: op = EOpConstructUMat2x3; break; + case 4: op = EOpConstructUMat2x4; break; + default: break; // some compilers want this + } + break; + case 3: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructUMat3x2; break; + case 3: op = EOpConstructUMat3x3; break; + case 4: op = EOpConstructUMat3x4; break; + default: break; // some compilers want this + } + break; + case 4: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructUMat4x2; break; + case 3: op = EOpConstructUMat4x3; break; + case 4: op = EOpConstructUMat4x4; break; + default: break; // some compilers want this + } + break; + } + } else { + switch(type.getVectorSize()) { + case 1: op = EOpConstructUint; break; + case 2: op = EOpConstructUVec2; break; + case 3: op = EOpConstructUVec3; break; + case 4: op = EOpConstructUVec4; break; + default: break; // some compilers want this + } + } + break; + case EbtBool: + if (type.getMatrixCols()) { + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructBMat2x2; break; + case 3: op = EOpConstructBMat2x3; break; + case 4: op = EOpConstructBMat2x4; break; + default: break; // some compilers want this + } + break; + case 3: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructBMat3x2; break; + case 3: op = EOpConstructBMat3x3; break; + case 4: op = EOpConstructBMat3x4; break; + default: break; // some compilers want this + } + break; + case 4: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructBMat4x2; break; + case 3: op = EOpConstructBMat4x3; break; + case 4: op = EOpConstructBMat4x4; break; + default: break; // some compilers want this + } + break; + } + } else { + switch(type.getVectorSize()) { + case 1: op = EOpConstructBool; break; + case 2: op = EOpConstructBVec2; break; + case 3: op = EOpConstructBVec3; break; + case 4: op = EOpConstructBVec4; break; + default: break; // some compilers want this + } + } + break; +#ifndef GLSLANG_WEB + case EbtDouble: + if (type.getMatrixCols()) { + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructDMat2x2; break; + case 3: op = EOpConstructDMat2x3; break; + case 4: op = EOpConstructDMat2x4; break; + default: break; // some compilers want this + } + break; + case 3: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructDMat3x2; break; + case 3: op = EOpConstructDMat3x3; break; + case 4: op = EOpConstructDMat3x4; break; + default: break; // some compilers want this + } + break; + case 4: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructDMat4x2; break; + case 3: op = EOpConstructDMat4x3; break; + case 4: op = EOpConstructDMat4x4; break; + default: break; // some compilers want this + } + break; + } + } else { + switch(type.getVectorSize()) { + case 1: op = EOpConstructDouble; break; + case 2: op = EOpConstructDVec2; break; + case 3: op = EOpConstructDVec3; break; + case 4: op = EOpConstructDVec4; break; + default: break; // some compilers want this + } + } + break; + case EbtFloat16: + if (type.getMatrixCols()) { + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructF16Mat2x2; break; + case 3: op = EOpConstructF16Mat2x3; break; + case 4: op = EOpConstructF16Mat2x4; break; + default: break; // some compilers want this + } + break; + case 3: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructF16Mat3x2; break; + case 3: op = EOpConstructF16Mat3x3; break; + case 4: op = EOpConstructF16Mat3x4; break; + default: break; // some compilers want this + } + break; + case 4: + switch (type.getMatrixRows()) { + case 2: op = EOpConstructF16Mat4x2; break; + case 3: op = EOpConstructF16Mat4x3; break; + case 4: op = EOpConstructF16Mat4x4; break; + default: break; // some compilers want this + } + break; + } + } + else { + switch (type.getVectorSize()) { + case 1: op = EOpConstructFloat16; break; + case 2: op = EOpConstructF16Vec2; break; + case 3: op = EOpConstructF16Vec3; break; + case 4: op = EOpConstructF16Vec4; break; + default: break; // some compilers want this + } + } + break; + case EbtInt8: + switch(type.getVectorSize()) { + case 1: op = EOpConstructInt8; break; + case 2: op = EOpConstructI8Vec2; break; + case 3: op = EOpConstructI8Vec3; break; + case 4: op = EOpConstructI8Vec4; break; + default: break; // some compilers want this + } + break; + case EbtUint8: + switch(type.getVectorSize()) { + case 1: op = EOpConstructUint8; break; + case 2: op = EOpConstructU8Vec2; break; + case 3: op = EOpConstructU8Vec3; break; + case 4: op = EOpConstructU8Vec4; break; + default: break; // some compilers want this + } + break; + case EbtInt16: + switch(type.getVectorSize()) { + case 1: op = EOpConstructInt16; break; + case 2: op = EOpConstructI16Vec2; break; + case 3: op = EOpConstructI16Vec3; break; + case 4: op = EOpConstructI16Vec4; break; + default: break; // some compilers want this + } + break; + case EbtUint16: + switch(type.getVectorSize()) { + case 1: op = EOpConstructUint16; break; + case 2: op = EOpConstructU16Vec2; break; + case 3: op = EOpConstructU16Vec3; break; + case 4: op = EOpConstructU16Vec4; break; + default: break; // some compilers want this + } + break; + case EbtInt64: + switch(type.getVectorSize()) { + case 1: op = EOpConstructInt64; break; + case 2: op = EOpConstructI64Vec2; break; + case 3: op = EOpConstructI64Vec3; break; + case 4: op = EOpConstructI64Vec4; break; + default: break; // some compilers want this + } + break; + case EbtUint64: + switch(type.getVectorSize()) { + case 1: op = EOpConstructUint64; break; + case 2: op = EOpConstructU64Vec2; break; + case 3: op = EOpConstructU64Vec3; break; + case 4: op = EOpConstructU64Vec4; break; + default: break; // some compilers want this + } + break; + case EbtReference: + op = EOpConstructReference; + break; + + case EbtAccStruct: + op = EOpConstructAccStruct; + break; +#endif + default: + break; + } + + return op; +} + +// +// Safe way to combine two nodes into an aggregate. Works with null pointers, +// a node that's not a aggregate yet, etc. +// +// Returns the resulting aggregate, unless nullptr was passed in for +// both existing nodes. +// +TIntermAggregate* TIntermediate::growAggregate(TIntermNode* left, TIntermNode* right) +{ + if (left == nullptr && right == nullptr) + return nullptr; + + TIntermAggregate* aggNode = nullptr; + if (left != nullptr) + aggNode = left->getAsAggregate(); + if (aggNode == nullptr || aggNode->getOp() != EOpNull) { + aggNode = new TIntermAggregate; + if (left != nullptr) + aggNode->getSequence().push_back(left); + } + + if (right != nullptr) + aggNode->getSequence().push_back(right); + + return aggNode; +} + +TIntermAggregate* TIntermediate::growAggregate(TIntermNode* left, TIntermNode* right, const TSourceLoc& loc) +{ + TIntermAggregate* aggNode = growAggregate(left, right); + if (aggNode) + aggNode->setLoc(loc); + + return aggNode; +} + +// +// Turn an existing node into an aggregate. +// +// Returns an aggregate, unless nullptr was passed in for the existing node. +// +TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node) +{ + if (node == nullptr) + return nullptr; + + TIntermAggregate* aggNode = new TIntermAggregate; + aggNode->getSequence().push_back(node); + aggNode->setLoc(node->getLoc()); + + return aggNode; +} + +TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node, const TSourceLoc& loc) +{ + if (node == nullptr) + return nullptr; + + TIntermAggregate* aggNode = new TIntermAggregate; + aggNode->getSequence().push_back(node); + aggNode->setLoc(loc); + + return aggNode; +} + +// +// Make an aggregate with an empty sequence. +// +TIntermAggregate* TIntermediate::makeAggregate(const TSourceLoc& loc) +{ + TIntermAggregate* aggNode = new TIntermAggregate; + aggNode->setLoc(loc); + + return aggNode; +} + +// +// For "if" test nodes. There are three children; a condition, +// a true path, and a false path. The two paths are in the +// nodePair. +// +// Returns the selection node created. +// +TIntermSelection* TIntermediate::addSelection(TIntermTyped* cond, TIntermNodePair nodePair, const TSourceLoc& loc) +{ + // + // Don't prune the false path for compile-time constants; it's needed + // for static access analysis. + // + + TIntermSelection* node = new TIntermSelection(cond, nodePair.node1, nodePair.node2); + node->setLoc(loc); + + return node; +} + +TIntermTyped* TIntermediate::addComma(TIntermTyped* left, TIntermTyped* right, const TSourceLoc& loc) +{ + // However, the lowest precedence operators of the sequence operator ( , ) and the assignment operators + // ... are not included in the operators that can create a constant expression. + // + // if (left->getType().getQualifier().storage == EvqConst && + // right->getType().getQualifier().storage == EvqConst) { + + // return right; + //} + + TIntermTyped *commaAggregate = growAggregate(left, right, loc); + commaAggregate->getAsAggregate()->setOperator(EOpComma); + commaAggregate->setType(right->getType()); + commaAggregate->getWritableType().getQualifier().makeTemporary(); + + return commaAggregate; +} + +TIntermTyped* TIntermediate::addMethod(TIntermTyped* object, const TType& type, const TString* name, const TSourceLoc& loc) +{ + TIntermMethod* method = new TIntermMethod(object, type, *name); + method->setLoc(loc); + + return method; +} + +// +// For "?:" test nodes. There are three children; a condition, +// a true path, and a false path. The two paths are specified +// as separate parameters. For vector 'cond', the true and false +// are not paths, but vectors to mix. +// +// Specialization constant operations include +// - The ternary operator ( ? : ) +// +// Returns the selection node created, or nullptr if one could not be. +// +TIntermTyped* TIntermediate::addSelection(TIntermTyped* cond, TIntermTyped* trueBlock, TIntermTyped* falseBlock, + const TSourceLoc& loc) +{ + // If it's void, go to the if-then-else selection() + if (trueBlock->getBasicType() == EbtVoid && falseBlock->getBasicType() == EbtVoid) { + TIntermNodePair pair = { trueBlock, falseBlock }; + TIntermSelection* selection = addSelection(cond, pair, loc); + if (getSource() == EShSourceHlsl) + selection->setNoShortCircuit(); + + return selection; + } + + // + // Get compatible types. + // + auto children = addPairConversion(EOpSequence, trueBlock, falseBlock); + trueBlock = std::get<0>(children); + falseBlock = std::get<1>(children); + + if (trueBlock == nullptr || falseBlock == nullptr) + return nullptr; + + // Handle a vector condition as a mix + if (!cond->getType().isScalarOrVec1()) { + TType targetVectorType(trueBlock->getType().getBasicType(), EvqTemporary, + cond->getType().getVectorSize()); + // smear true/false operands as needed + trueBlock = addUniShapeConversion(EOpMix, targetVectorType, trueBlock); + falseBlock = addUniShapeConversion(EOpMix, targetVectorType, falseBlock); + + // After conversion, types have to match. + if (falseBlock->getType() != trueBlock->getType()) + return nullptr; + + // make the mix operation + TIntermAggregate* mix = makeAggregate(loc); + mix = growAggregate(mix, falseBlock); + mix = growAggregate(mix, trueBlock); + mix = growAggregate(mix, cond); + mix->setType(targetVectorType); + mix->setOp(EOpMix); + + return mix; + } + + // Now have a scalar condition... + + // Convert true and false expressions to matching types + addBiShapeConversion(EOpMix, trueBlock, falseBlock); + + // After conversion, types have to match. + if (falseBlock->getType() != trueBlock->getType()) + return nullptr; + + // Eliminate the selection when the condition is a scalar and all operands are constant. + if (cond->getAsConstantUnion() && trueBlock->getAsConstantUnion() && falseBlock->getAsConstantUnion()) { + if (cond->getAsConstantUnion()->getConstArray()[0].getBConst()) + return trueBlock; + else + return falseBlock; + } + + // + // Make a selection node. + // + TIntermSelection* node = new TIntermSelection(cond, trueBlock, falseBlock, trueBlock->getType()); + node->setLoc(loc); + node->getQualifier().precision = std::max(trueBlock->getQualifier().precision, falseBlock->getQualifier().precision); + + if ((cond->getQualifier().isConstant() && specConstantPropagates(*trueBlock, *falseBlock)) || + (cond->getQualifier().isSpecConstant() && trueBlock->getQualifier().isConstant() && + falseBlock->getQualifier().isConstant())) + node->getQualifier().makeSpecConstant(); + else + node->getQualifier().makeTemporary(); + + if (getSource() == EShSourceHlsl) + node->setNoShortCircuit(); + + return node; +} + +// +// Constant terminal nodes. Has a union that contains bool, float or int constants +// +// Returns the constant union node created. +// + +TIntermConstantUnion* TIntermediate::addConstantUnion(const TConstUnionArray& unionArray, const TType& t, const TSourceLoc& loc, bool literal) const +{ + TIntermConstantUnion* node = new TIntermConstantUnion(unionArray, t); + node->getQualifier().storage = EvqConst; + node->setLoc(loc); + if (literal) + node->setLiteral(); + + return node; +} +TIntermConstantUnion* TIntermediate::addConstantUnion(signed char i8, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setI8Const(i8); + + return addConstantUnion(unionArray, TType(EbtInt8, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(unsigned char u8, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setUConst(u8); + + return addConstantUnion(unionArray, TType(EbtUint8, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(signed short i16, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setI16Const(i16); + + return addConstantUnion(unionArray, TType(EbtInt16, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(unsigned short u16, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setU16Const(u16); + + return addConstantUnion(unionArray, TType(EbtUint16, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(int i, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setIConst(i); + + return addConstantUnion(unionArray, TType(EbtInt, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(unsigned int u, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setUConst(u); + + return addConstantUnion(unionArray, TType(EbtUint, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(long long i64, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setI64Const(i64); + + return addConstantUnion(unionArray, TType(EbtInt64, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(unsigned long long u64, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setU64Const(u64); + + return addConstantUnion(unionArray, TType(EbtUint64, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(bool b, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setBConst(b); + + return addConstantUnion(unionArray, TType(EbtBool, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(double d, TBasicType baseType, const TSourceLoc& loc, bool literal) const +{ + assert(baseType == EbtFloat || baseType == EbtDouble || baseType == EbtFloat16); + + TConstUnionArray unionArray(1); + unionArray[0].setDConst(d); + + return addConstantUnion(unionArray, TType(baseType, EvqConst), loc, literal); +} + +TIntermConstantUnion* TIntermediate::addConstantUnion(const TString* s, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setSConst(s); + + return addConstantUnion(unionArray, TType(EbtString, EvqConst), loc, literal); +} + +// Put vector swizzle selectors onto the given sequence +void TIntermediate::pushSelector(TIntermSequence& sequence, const TVectorSelector& selector, const TSourceLoc& loc) +{ + TIntermConstantUnion* constIntNode = addConstantUnion(selector, loc); + sequence.push_back(constIntNode); +} + +// Put matrix swizzle selectors onto the given sequence +void TIntermediate::pushSelector(TIntermSequence& sequence, const TMatrixSelector& selector, const TSourceLoc& loc) +{ + TIntermConstantUnion* constIntNode = addConstantUnion(selector.coord1, loc); + sequence.push_back(constIntNode); + constIntNode = addConstantUnion(selector.coord2, loc); + sequence.push_back(constIntNode); +} + +// Make an aggregate node that has a sequence of all selectors. +template TIntermTyped* TIntermediate::addSwizzle(TSwizzleSelectors& selector, const TSourceLoc& loc); +template TIntermTyped* TIntermediate::addSwizzle(TSwizzleSelectors& selector, const TSourceLoc& loc); +template +TIntermTyped* TIntermediate::addSwizzle(TSwizzleSelectors& selector, const TSourceLoc& loc) +{ + TIntermAggregate* node = new TIntermAggregate(EOpSequence); + + node->setLoc(loc); + TIntermSequence &sequenceVector = node->getSequence(); + + for (int i = 0; i < selector.size(); i++) + pushSelector(sequenceVector, selector[i], loc); + + return node; +} + +// +// Follow the left branches down to the root of an l-value +// expression (just "." and []). +// +// Return the base of the l-value (where following indexing quits working). +// Return nullptr if a chain following dereferences cannot be followed. +// +// 'swizzleOkay' says whether or not it is okay to consider a swizzle +// a valid part of the dereference chain. +// +const TIntermTyped* TIntermediate::findLValueBase(const TIntermTyped* node, bool swizzleOkay) +{ + do { + const TIntermBinary* binary = node->getAsBinaryNode(); + if (binary == nullptr) + return node; + TOperator op = binary->getOp(); + if (op != EOpIndexDirect && op != EOpIndexIndirect && op != EOpIndexDirectStruct && op != EOpVectorSwizzle && op != EOpMatrixSwizzle) + return nullptr; + if (! swizzleOkay) { + if (op == EOpVectorSwizzle || op == EOpMatrixSwizzle) + return nullptr; + if ((op == EOpIndexDirect || op == EOpIndexIndirect) && + (binary->getLeft()->getType().isVector() || binary->getLeft()->getType().isScalar()) && + ! binary->getLeft()->getType().isArray()) + return nullptr; + } + node = node->getAsBinaryNode()->getLeft(); + } while (true); +} + +// +// Create while and do-while loop nodes. +// +TIntermLoop* TIntermediate::addLoop(TIntermNode* body, TIntermTyped* test, TIntermTyped* terminal, bool testFirst, + const TSourceLoc& loc) +{ + TIntermLoop* node = new TIntermLoop(body, test, terminal, testFirst); + node->setLoc(loc); + + return node; +} + +// +// Create a for-loop sequence. +// +TIntermAggregate* TIntermediate::addForLoop(TIntermNode* body, TIntermNode* initializer, TIntermTyped* test, + TIntermTyped* terminal, bool testFirst, const TSourceLoc& loc, TIntermLoop*& node) +{ + node = new TIntermLoop(body, test, terminal, testFirst); + node->setLoc(loc); + + // make a sequence of the initializer and statement, but try to reuse the + // aggregate already created for whatever is in the initializer, if there is one + TIntermAggregate* loopSequence = (initializer == nullptr || + initializer->getAsAggregate() == nullptr) ? makeAggregate(initializer, loc) + : initializer->getAsAggregate(); + if (loopSequence != nullptr && loopSequence->getOp() == EOpSequence) + loopSequence->setOp(EOpNull); + loopSequence = growAggregate(loopSequence, node); + loopSequence->setOperator(EOpSequence); + + return loopSequence; +} + +// +// Add branches. +// +TIntermBranch* TIntermediate::addBranch(TOperator branchOp, const TSourceLoc& loc) +{ + return addBranch(branchOp, nullptr, loc); +} + +TIntermBranch* TIntermediate::addBranch(TOperator branchOp, TIntermTyped* expression, const TSourceLoc& loc) +{ + TIntermBranch* node = new TIntermBranch(branchOp, expression); + node->setLoc(loc); + + return node; +} + +// Propagate precision from formal function return type to actual return type, +// and on to its subtree. +void TIntermBranch::updatePrecision(TPrecisionQualifier parentPrecision) +{ + TIntermTyped* exp = getExpression(); + if (exp == nullptr) + return; + + if (exp->getBasicType() == EbtInt || exp->getBasicType() == EbtUint || + exp->getBasicType() == EbtFloat || exp->getBasicType() == EbtFloat16) { + if (parentPrecision != EpqNone && exp->getQualifier().precision == EpqNone) { + exp->propagatePrecision(parentPrecision); + } + } +} + +// +// This is to be executed after the final root is put on top by the parsing +// process. +// +bool TIntermediate::postProcess(TIntermNode* root, EShLanguage /*language*/) +{ + if (root == nullptr) + return true; + + // Finish off the top-level sequence + TIntermAggregate* aggRoot = root->getAsAggregate(); + if (aggRoot && aggRoot->getOp() == EOpNull) + aggRoot->setOperator(EOpSequence); + +#ifndef GLSLANG_WEB + // Propagate 'noContraction' label in backward from 'precise' variables. + glslang::PropagateNoContraction(*this); + + switch (textureSamplerTransformMode) { + case EShTexSampTransKeep: + break; + case EShTexSampTransUpgradeTextureRemoveSampler: + performTextureUpgradeAndSamplerRemovalTransformation(root); + break; + case EShTexSampTransCount: + assert(0); + break; + } +#endif + + return true; +} + +void TIntermediate::addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage language, TSymbolTable& symbolTable) +{ + // Add top-level nodes for declarations that must be checked cross + // compilation unit by a linker, yet might not have been referenced + // by the AST. + // + // Almost entirely, translation of symbols is driven by what's present + // in the AST traversal, not by translating the symbol table. + // + // However, there are some special cases: + // - From the specification: "Special built-in inputs gl_VertexID and + // gl_InstanceID are also considered active vertex attributes." + // - Linker-based type mismatch error reporting needs to see all + // uniforms/ins/outs variables and blocks. + // - ftransform() can make gl_Vertex and gl_ModelViewProjectionMatrix active. + // + + // if (ftransformUsed) { + // TODO: 1.1 lowering functionality: track ftransform() usage + // addSymbolLinkageNode(root, symbolTable, "gl_Vertex"); + // addSymbolLinkageNode(root, symbolTable, "gl_ModelViewProjectionMatrix"); + //} + + if (language == EShLangVertex) { + // the names won't be found in the symbol table unless the versions are right, + // so version logic does not need to be repeated here + addSymbolLinkageNode(linkage, symbolTable, "gl_VertexID"); + addSymbolLinkageNode(linkage, symbolTable, "gl_InstanceID"); + } + + // Add a child to the root node for the linker objects + linkage->setOperator(EOpLinkerObjects); + treeRoot = growAggregate(treeRoot, linkage); +} + +// +// Add the given name or symbol to the list of nodes at the end of the tree used +// for link-time checking and external linkage. +// + +void TIntermediate::addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable& symbolTable, const TString& name) +{ + TSymbol* symbol = symbolTable.find(name); + if (symbol) + addSymbolLinkageNode(linkage, *symbol->getAsVariable()); +} + +void TIntermediate::addSymbolLinkageNode(TIntermAggregate*& linkage, const TSymbol& symbol) +{ + const TVariable* variable = symbol.getAsVariable(); + if (! variable) { + // This must be a member of an anonymous block, and we need to add the whole block + const TAnonMember* anon = symbol.getAsAnonMember(); + variable = &anon->getAnonContainer(); + } + TIntermSymbol* node = addSymbol(*variable); + linkage = growAggregate(linkage, node); +} + +// +// Add a caller->callee relationship to the call graph. +// Assumes the strings are unique per signature. +// +void TIntermediate::addToCallGraph(TInfoSink& /*infoSink*/, const TString& caller, const TString& callee) +{ + // Duplicates are okay, but faster to not keep them, and they come grouped by caller, + // as long as new ones are push on the same end we check on for duplicates + for (TGraph::const_iterator call = callGraph.begin(); call != callGraph.end(); ++call) { + if (call->caller != caller) + break; + if (call->callee == callee) + return; + } + + callGraph.push_front(TCall(caller, callee)); +} + +// +// This deletes the tree. +// +void TIntermediate::removeTree() +{ + if (treeRoot) + RemoveAllTreeNodes(treeRoot); +} + +// +// Implement the part of KHR_vulkan_glsl that lists the set of operations +// that can result in a specialization constant operation. +// +// "5.x Specialization Constant Operations" +// +// Only some operations discussed in this section may be applied to a +// specialization constant and still yield a result that is as +// specialization constant. The operations allowed are listed below. +// When a specialization constant is operated on with one of these +// operators and with another constant or specialization constant, the +// result is implicitly a specialization constant. +// +// - int(), uint(), and bool() constructors for type conversions +// from any of the following types to any of the following types: +// * int +// * uint +// * bool +// - vector versions of the above conversion constructors +// - allowed implicit conversions of the above +// - swizzles (e.g., foo.yx) +// - The following when applied to integer or unsigned integer types: +// * unary negative ( - ) +// * binary operations ( + , - , * , / , % ) +// * shift ( <<, >> ) +// * bitwise operations ( & , | , ^ ) +// - The following when applied to integer or unsigned integer scalar types: +// * comparison ( == , != , > , >= , < , <= ) +// - The following when applied to the Boolean scalar type: +// * not ( ! ) +// * logical operations ( && , || , ^^ ) +// * comparison ( == , != )" +// +// This function just handles binary and unary nodes. Construction +// rules are handled in construction paths that are not covered by the unary +// and binary paths, while required conversions will still show up here +// as unary converters in the from a construction operator. +// +bool TIntermediate::isSpecializationOperation(const TIntermOperator& node) const +{ + // The operations resulting in floating point are quite limited + // (However, some floating-point operations result in bool, like ">", + // so are handled later.) + if (node.getType().isFloatingDomain()) { + switch (node.getOp()) { + case EOpIndexDirect: + case EOpIndexIndirect: + case EOpIndexDirectStruct: + case EOpVectorSwizzle: + case EOpConvFloatToDouble: + case EOpConvDoubleToFloat: + case EOpConvFloat16ToFloat: + case EOpConvFloatToFloat16: + case EOpConvFloat16ToDouble: + case EOpConvDoubleToFloat16: + return true; + default: + return false; + } + } + + // Check for floating-point arguments + if (const TIntermBinary* bin = node.getAsBinaryNode()) + if (bin->getLeft() ->getType().isFloatingDomain() || + bin->getRight()->getType().isFloatingDomain()) + return false; + + // So, for now, we can assume everything left is non-floating-point... + + // Now check for integer/bool-based operations + switch (node.getOp()) { + + // dereference/swizzle + case EOpIndexDirect: + case EOpIndexIndirect: + case EOpIndexDirectStruct: + case EOpVectorSwizzle: + + // (u)int* -> bool + case EOpConvInt8ToBool: + case EOpConvInt16ToBool: + case EOpConvIntToBool: + case EOpConvInt64ToBool: + case EOpConvUint8ToBool: + case EOpConvUint16ToBool: + case EOpConvUintToBool: + case EOpConvUint64ToBool: + + // bool -> (u)int* + case EOpConvBoolToInt8: + case EOpConvBoolToInt16: + case EOpConvBoolToInt: + case EOpConvBoolToInt64: + case EOpConvBoolToUint8: + case EOpConvBoolToUint16: + case EOpConvBoolToUint: + case EOpConvBoolToUint64: + + // int8_t -> (u)int* + case EOpConvInt8ToInt16: + case EOpConvInt8ToInt: + case EOpConvInt8ToInt64: + case EOpConvInt8ToUint8: + case EOpConvInt8ToUint16: + case EOpConvInt8ToUint: + case EOpConvInt8ToUint64: + + // int16_t -> (u)int* + case EOpConvInt16ToInt8: + case EOpConvInt16ToInt: + case EOpConvInt16ToInt64: + case EOpConvInt16ToUint8: + case EOpConvInt16ToUint16: + case EOpConvInt16ToUint: + case EOpConvInt16ToUint64: + + // int32_t -> (u)int* + case EOpConvIntToInt8: + case EOpConvIntToInt16: + case EOpConvIntToInt64: + case EOpConvIntToUint8: + case EOpConvIntToUint16: + case EOpConvIntToUint: + case EOpConvIntToUint64: + + // int64_t -> (u)int* + case EOpConvInt64ToInt8: + case EOpConvInt64ToInt16: + case EOpConvInt64ToInt: + case EOpConvInt64ToUint8: + case EOpConvInt64ToUint16: + case EOpConvInt64ToUint: + case EOpConvInt64ToUint64: + + // uint8_t -> (u)int* + case EOpConvUint8ToInt8: + case EOpConvUint8ToInt16: + case EOpConvUint8ToInt: + case EOpConvUint8ToInt64: + case EOpConvUint8ToUint16: + case EOpConvUint8ToUint: + case EOpConvUint8ToUint64: + + // uint16_t -> (u)int* + case EOpConvUint16ToInt8: + case EOpConvUint16ToInt16: + case EOpConvUint16ToInt: + case EOpConvUint16ToInt64: + case EOpConvUint16ToUint8: + case EOpConvUint16ToUint: + case EOpConvUint16ToUint64: + + // uint32_t -> (u)int* + case EOpConvUintToInt8: + case EOpConvUintToInt16: + case EOpConvUintToInt: + case EOpConvUintToInt64: + case EOpConvUintToUint8: + case EOpConvUintToUint16: + case EOpConvUintToUint64: + + // uint64_t -> (u)int* + case EOpConvUint64ToInt8: + case EOpConvUint64ToInt16: + case EOpConvUint64ToInt: + case EOpConvUint64ToInt64: + case EOpConvUint64ToUint8: + case EOpConvUint64ToUint16: + case EOpConvUint64ToUint: + + // unary operations + case EOpNegative: + case EOpLogicalNot: + case EOpBitwiseNot: + + // binary operations + case EOpAdd: + case EOpSub: + case EOpMul: + case EOpVectorTimesScalar: + case EOpDiv: + case EOpMod: + case EOpRightShift: + case EOpLeftShift: + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + case EOpLogicalOr: + case EOpLogicalXor: + case EOpLogicalAnd: + case EOpEqual: + case EOpNotEqual: + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + return true; + default: + return false; + } +} + +// Is the operation one that must propagate nonuniform? +bool TIntermediate::isNonuniformPropagating(TOperator op) const +{ + // "* All Operators in Section 5.1 (Operators), except for assignment, + // arithmetic assignment, and sequence + // * Component selection in Section 5.5 + // * Matrix components in Section 5.6 + // * Structure and Array Operations in Section 5.7, except for the length + // method." + switch (op) { + case EOpPostIncrement: + case EOpPostDecrement: + case EOpPreIncrement: + case EOpPreDecrement: + + case EOpNegative: + case EOpLogicalNot: + case EOpVectorLogicalNot: + case EOpBitwiseNot: + + case EOpAdd: + case EOpSub: + case EOpMul: + case EOpDiv: + case EOpMod: + case EOpRightShift: + case EOpLeftShift: + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + case EOpEqual: + case EOpNotEqual: + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + case EOpVectorTimesScalar: + case EOpVectorTimesMatrix: + case EOpMatrixTimesVector: + case EOpMatrixTimesScalar: + + case EOpLogicalOr: + case EOpLogicalXor: + case EOpLogicalAnd: + + case EOpIndexDirect: + case EOpIndexIndirect: + case EOpIndexDirectStruct: + case EOpVectorSwizzle: + return true; + + default: + break; + } + + return false; +} + +//////////////////////////////////////////////////////////////// +// +// Member functions of the nodes used for building the tree. +// +//////////////////////////////////////////////////////////////// + +// +// Say whether or not an operation node changes the value of a variable. +// +// Returns true if state is modified. +// +bool TIntermOperator::modifiesState() const +{ + switch (op) { + case EOpPostIncrement: + case EOpPostDecrement: + case EOpPreIncrement: + case EOpPreDecrement: + case EOpAssign: + case EOpAddAssign: + case EOpSubAssign: + case EOpMulAssign: + case EOpVectorTimesMatrixAssign: + case EOpVectorTimesScalarAssign: + case EOpMatrixTimesScalarAssign: + case EOpMatrixTimesMatrixAssign: + case EOpDivAssign: + case EOpModAssign: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + case EOpLeftShiftAssign: + case EOpRightShiftAssign: + return true; + default: + return false; + } +} + +// +// returns true if the operator is for one of the constructors +// +bool TIntermOperator::isConstructor() const +{ + return op > EOpConstructGuardStart && op < EOpConstructGuardEnd; +} + +// +// Make sure the type of an operator is appropriate for its +// combination of operation and operand type. This will invoke +// promoteUnary, promoteBinary, etc as needed. +// +// Returns false if nothing makes sense. +// +bool TIntermediate::promote(TIntermOperator* node) +{ + if (node == nullptr) + return false; + + if (node->getAsUnaryNode()) + return promoteUnary(*node->getAsUnaryNode()); + + if (node->getAsBinaryNode()) + return promoteBinary(*node->getAsBinaryNode()); + + if (node->getAsAggregate()) + return promoteAggregate(*node->getAsAggregate()); + + return false; +} + +// +// See TIntermediate::promote +// +bool TIntermediate::promoteUnary(TIntermUnary& node) +{ + const TOperator op = node.getOp(); + TIntermTyped* operand = node.getOperand(); + + switch (op) { + case EOpLogicalNot: + // Convert operand to a boolean type + if (operand->getBasicType() != EbtBool) { + // Add constructor to boolean type. If that fails, we can't do it, so return false. + TIntermTyped* converted = addConversion(op, TType(EbtBool), operand); + if (converted == nullptr) + return false; + + // Use the result of converting the node to a bool. + node.setOperand(operand = converted); // also updates stack variable + } + break; + case EOpBitwiseNot: + if (!isTypeInt(operand->getBasicType())) + return false; + break; + case EOpNegative: + case EOpPostIncrement: + case EOpPostDecrement: + case EOpPreIncrement: + case EOpPreDecrement: + if (!isTypeInt(operand->getBasicType()) && + operand->getBasicType() != EbtFloat && + operand->getBasicType() != EbtFloat16 && + operand->getBasicType() != EbtDouble) + + return false; + break; + default: + // HLSL uses this path for initial function signature finding for built-ins + // taking a single argument, which generally don't participate in + // operator-based type promotion (type conversion will occur later). + // For now, scalar argument cases are relying on the setType() call below. + if (getSource() == EShSourceHlsl) + break; + + // GLSL only allows integer arguments for the cases identified above in the + // case statements. + if (operand->getBasicType() != EbtFloat) + return false; + } + + node.setType(operand->getType()); + node.getWritableType().getQualifier().makeTemporary(); + + return true; +} + +// Propagate precision qualifiers *up* from children to parent. +void TIntermUnary::updatePrecision() +{ + if (getBasicType() == EbtInt || getBasicType() == EbtUint || + getBasicType() == EbtFloat || getBasicType() == EbtFloat16) { + if (operand->getQualifier().precision > getQualifier().precision) + getQualifier().precision = operand->getQualifier().precision; + } +} + +// +// See TIntermediate::promote +// +bool TIntermediate::promoteBinary(TIntermBinary& node) +{ + TOperator op = node.getOp(); + TIntermTyped* left = node.getLeft(); + TIntermTyped* right = node.getRight(); + + // Arrays and structures have to be exact matches. + if ((left->isArray() || right->isArray() || left->getBasicType() == EbtStruct || right->getBasicType() == EbtStruct) + && left->getType() != right->getType()) + return false; + + // Base assumption: just make the type the same as the left + // operand. Only deviations from this will be coded. + node.setType(left->getType()); + node.getWritableType().getQualifier().clear(); + + // Composite and opaque types don't having pending operator changes, e.g., + // array, structure, and samplers. Just establish final type and correctness. + if (left->isArray() || left->getBasicType() == EbtStruct || left->getBasicType() == EbtSampler) { + switch (op) { + case EOpEqual: + case EOpNotEqual: + if (left->getBasicType() == EbtSampler) { + // can't compare samplers + return false; + } else { + // Promote to conditional + node.setType(TType(EbtBool)); + } + + return true; + + case EOpAssign: + // Keep type from above + + return true; + + default: + return false; + } + } + + // + // We now have only scalars, vectors, and matrices to worry about. + // + + // HLSL implicitly promotes bool -> int for numeric operations. + // (Implicit conversions to make the operands match each other's types were already done.) + if (getSource() == EShSourceHlsl && + (left->getBasicType() == EbtBool || right->getBasicType() == EbtBool)) { + switch (op) { + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + + case EOpRightShift: + case EOpLeftShift: + + case EOpMod: + + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + + case EOpAdd: + case EOpSub: + case EOpDiv: + case EOpMul: + if (left->getBasicType() == EbtBool) + left = createConversion(EbtInt, left); + if (right->getBasicType() == EbtBool) + right = createConversion(EbtInt, right); + if (left == nullptr || right == nullptr) + return false; + node.setLeft(left); + node.setRight(right); + + // Update the original base assumption on result type.. + node.setType(left->getType()); + node.getWritableType().getQualifier().clear(); + + break; + + default: + break; + } + } + + // Do general type checks against individual operands (comparing left and right is coming up, checking mixed shapes after that) + switch (op) { + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + // Relational comparisons need numeric types and will promote to scalar Boolean. + if (left->getBasicType() == EbtBool) + return false; + + node.setType(TType(EbtBool, EvqTemporary, left->getVectorSize())); + break; + + case EOpEqual: + case EOpNotEqual: + if (getSource() == EShSourceHlsl) { + const int resultWidth = std::max(left->getVectorSize(), right->getVectorSize()); + + // In HLSL, == or != on vectors means component-wise comparison. + if (resultWidth > 1) { + op = (op == EOpEqual) ? EOpVectorEqual : EOpVectorNotEqual; + node.setOp(op); + } + + node.setType(TType(EbtBool, EvqTemporary, resultWidth)); + } else { + // All the above comparisons result in a bool (but not the vector compares) + node.setType(TType(EbtBool)); + } + break; + + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: + // logical ops operate only on Booleans or vectors of Booleans. + if (left->getBasicType() != EbtBool || left->isMatrix()) + return false; + + if (getSource() == EShSourceGlsl) { + // logical ops operate only on scalar Booleans and will promote to scalar Boolean. + if (left->isVector()) + return false; + } + + node.setType(TType(EbtBool, EvqTemporary, left->getVectorSize())); + break; + + case EOpRightShift: + case EOpLeftShift: + case EOpRightShiftAssign: + case EOpLeftShiftAssign: + + case EOpMod: + case EOpModAssign: + + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + if (getSource() == EShSourceHlsl) + break; + + // Check for integer-only operands. + if (!isTypeInt(left->getBasicType()) && !isTypeInt(right->getBasicType())) + return false; + if (left->isMatrix() || right->isMatrix()) + return false; + + break; + + case EOpAdd: + case EOpSub: + case EOpDiv: + case EOpMul: + case EOpAddAssign: + case EOpSubAssign: + case EOpMulAssign: + case EOpDivAssign: + // check for non-Boolean operands + if (left->getBasicType() == EbtBool || right->getBasicType() == EbtBool) + return false; + + default: + break; + } + + // Compare left and right, and finish with the cases where the operand types must match + switch (op) { + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + + case EOpEqual: + case EOpNotEqual: + case EOpVectorEqual: + case EOpVectorNotEqual: + + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: + return left->getType() == right->getType(); + + case EOpMod: + case EOpModAssign: + + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + + case EOpAdd: + case EOpSub: + case EOpDiv: + + case EOpAddAssign: + case EOpSubAssign: + case EOpDivAssign: + // Quick out in case the types do match + if (left->getType() == right->getType()) + return true; + + // Fall through + + case EOpMul: + case EOpMulAssign: + // At least the basic type has to match + if (left->getBasicType() != right->getBasicType()) + return false; + + default: + break; + } + + if (left->getType().isCoopMat() || right->getType().isCoopMat()) { + if (left->getType().isCoopMat() && right->getType().isCoopMat() && + *left->getType().getTypeParameters() != *right->getType().getTypeParameters()) { + return false; + } + switch (op) { + case EOpMul: + case EOpMulAssign: + if (left->getType().isCoopMat() && right->getType().isCoopMat()) { + return false; + } + if (op == EOpMulAssign && right->getType().isCoopMat()) { + return false; + } + node.setOp(op == EOpMulAssign ? EOpMatrixTimesScalarAssign : EOpMatrixTimesScalar); + if (right->getType().isCoopMat()) { + node.setType(right->getType()); + } + return true; + case EOpAdd: + case EOpSub: + case EOpDiv: + case EOpAssign: + // These require both to be cooperative matrices + if (!left->getType().isCoopMat() || !right->getType().isCoopMat()) { + return false; + } + return true; + default: + break; + } + return false; + } + + // Finish handling the case, for all ops, where both operands are scalars. + if (left->isScalar() && right->isScalar()) + return true; + + // Finish handling the case, for all ops, where there are two vectors of different sizes + if (left->isVector() && right->isVector() && left->getVectorSize() != right->getVectorSize() && right->getVectorSize() > 1) + return false; + + // + // We now have a mix of scalars, vectors, or matrices, for non-relational operations. + // + + // Can these two operands be combined, what is the resulting type? + TBasicType basicType = left->getBasicType(); + switch (op) { + case EOpMul: + if (!left->isMatrix() && right->isMatrix()) { + if (left->isVector()) { + if (left->getVectorSize() != right->getMatrixRows()) + return false; + node.setOp(op = EOpVectorTimesMatrix); + node.setType(TType(basicType, EvqTemporary, right->getMatrixCols())); + } else { + node.setOp(op = EOpMatrixTimesScalar); + node.setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), right->getMatrixRows())); + } + } else if (left->isMatrix() && !right->isMatrix()) { + if (right->isVector()) { + if (left->getMatrixCols() != right->getVectorSize()) + return false; + node.setOp(op = EOpMatrixTimesVector); + node.setType(TType(basicType, EvqTemporary, left->getMatrixRows())); + } else { + node.setOp(op = EOpMatrixTimesScalar); + } + } else if (left->isMatrix() && right->isMatrix()) { + if (left->getMatrixCols() != right->getMatrixRows()) + return false; + node.setOp(op = EOpMatrixTimesMatrix); + node.setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), left->getMatrixRows())); + } else if (! left->isMatrix() && ! right->isMatrix()) { + if (left->isVector() && right->isVector()) { + ; // leave as component product + } else if (left->isVector() || right->isVector()) { + node.setOp(op = EOpVectorTimesScalar); + if (right->isVector()) + node.setType(TType(basicType, EvqTemporary, right->getVectorSize())); + } + } else { + return false; + } + break; + case EOpMulAssign: + if (! left->isMatrix() && right->isMatrix()) { + if (left->isVector()) { + if (left->getVectorSize() != right->getMatrixRows() || left->getVectorSize() != right->getMatrixCols()) + return false; + node.setOp(op = EOpVectorTimesMatrixAssign); + } else { + return false; + } + } else if (left->isMatrix() && !right->isMatrix()) { + if (right->isVector()) { + return false; + } else { + node.setOp(op = EOpMatrixTimesScalarAssign); + } + } else if (left->isMatrix() && right->isMatrix()) { + if (left->getMatrixCols() != right->getMatrixCols() || left->getMatrixCols() != right->getMatrixRows()) + return false; + node.setOp(op = EOpMatrixTimesMatrixAssign); + } else if (!left->isMatrix() && !right->isMatrix()) { + if (left->isVector() && right->isVector()) { + // leave as component product + } else if (left->isVector() || right->isVector()) { + if (! left->isVector()) + return false; + node.setOp(op = EOpVectorTimesScalarAssign); + } + } else { + return false; + } + break; + + case EOpRightShift: + case EOpLeftShift: + case EOpRightShiftAssign: + case EOpLeftShiftAssign: + if (right->isVector() && (! left->isVector() || right->getVectorSize() != left->getVectorSize())) + return false; + break; + + case EOpAssign: + if (left->getVectorSize() != right->getVectorSize() || left->getMatrixCols() != right->getMatrixCols() || left->getMatrixRows() != right->getMatrixRows()) + return false; + // fall through + + case EOpAdd: + case EOpSub: + case EOpDiv: + case EOpMod: + case EOpAnd: + case EOpInclusiveOr: + case EOpExclusiveOr: + case EOpAddAssign: + case EOpSubAssign: + case EOpDivAssign: + case EOpModAssign: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + + if ((left->isMatrix() && right->isVector()) || + (left->isVector() && right->isMatrix()) || + left->getBasicType() != right->getBasicType()) + return false; + if (left->isMatrix() && right->isMatrix() && (left->getMatrixCols() != right->getMatrixCols() || left->getMatrixRows() != right->getMatrixRows())) + return false; + if (left->isVector() && right->isVector() && left->getVectorSize() != right->getVectorSize()) + return false; + if (right->isVector() || right->isMatrix()) { + node.getWritableType().shallowCopy(right->getType()); + node.getWritableType().getQualifier().makeTemporary(); + } + break; + + default: + return false; + } + + // + // One more check for assignment. + // + switch (op) { + // The resulting type has to match the left operand. + case EOpAssign: + case EOpAddAssign: + case EOpSubAssign: + case EOpMulAssign: + case EOpDivAssign: + case EOpModAssign: + case EOpAndAssign: + case EOpInclusiveOrAssign: + case EOpExclusiveOrAssign: + case EOpLeftShiftAssign: + case EOpRightShiftAssign: + if (node.getType() != left->getType()) + return false; + break; + default: + break; + } + + return true; +} + +// +// See TIntermediate::promote +// +bool TIntermediate::promoteAggregate(TIntermAggregate& node) +{ + TOperator op = node.getOp(); + TIntermSequence& args = node.getSequence(); + const int numArgs = static_cast(args.size()); + + // Presently, only hlsl does intrinsic promotions. + if (getSource() != EShSourceHlsl) + return true; + + // set of opcodes that can be promoted in this manner. + switch (op) { + case EOpAtan: + case EOpClamp: + case EOpCross: + case EOpDistance: + case EOpDot: + case EOpDst: + case EOpFaceForward: + // case EOpFindMSB: TODO: + // case EOpFindLSB: TODO: + case EOpFma: + case EOpMod: + case EOpFrexp: + case EOpLdexp: + case EOpMix: + case EOpLit: + case EOpMax: + case EOpMin: + case EOpModf: + // case EOpGenMul: TODO: + case EOpPow: + case EOpReflect: + case EOpRefract: + // case EOpSinCos: TODO: + case EOpSmoothStep: + case EOpStep: + break; + default: + return true; + } + + // TODO: array and struct behavior + + // Try converting all nodes to the given node's type + TIntermSequence convertedArgs(numArgs, nullptr); + + // Try to convert all types to the nonConvArg type. + for (int nonConvArg = 0; nonConvArg < numArgs; ++nonConvArg) { + // Try converting all args to this arg's type + for (int convArg = 0; convArg < numArgs; ++convArg) { + convertedArgs[convArg] = addConversion(op, args[nonConvArg]->getAsTyped()->getType(), + args[convArg]->getAsTyped()); + } + + // If we successfully converted all the args, use the result. + if (std::all_of(convertedArgs.begin(), convertedArgs.end(), + [](const TIntermNode* node) { return node != nullptr; })) { + + std::swap(args, convertedArgs); + return true; + } + } + + return false; +} + +// Propagate precision qualifiers *up* from children to parent, and then +// back *down* again to the children's subtrees. +void TIntermBinary::updatePrecision() +{ + if (getBasicType() == EbtInt || getBasicType() == EbtUint || + getBasicType() == EbtFloat || getBasicType() == EbtFloat16) { + getQualifier().precision = std::max(right->getQualifier().precision, left->getQualifier().precision); + if (getQualifier().precision != EpqNone) { + left->propagatePrecision(getQualifier().precision); + right->propagatePrecision(getQualifier().precision); + } + } +} + +// Recursively propagate precision qualifiers *down* the subtree of the current node, +// until reaching a node that already has a precision qualifier or otherwise does +// not participate in precision propagation. +void TIntermTyped::propagatePrecision(TPrecisionQualifier newPrecision) +{ + if (getQualifier().precision != EpqNone || + (getBasicType() != EbtInt && getBasicType() != EbtUint && + getBasicType() != EbtFloat && getBasicType() != EbtFloat16)) + return; + + getQualifier().precision = newPrecision; + + TIntermBinary* binaryNode = getAsBinaryNode(); + if (binaryNode) { + binaryNode->getLeft()->propagatePrecision(newPrecision); + binaryNode->getRight()->propagatePrecision(newPrecision); + + return; + } + + TIntermUnary* unaryNode = getAsUnaryNode(); + if (unaryNode) { + unaryNode->getOperand()->propagatePrecision(newPrecision); + + return; + } + + TIntermAggregate* aggregateNode = getAsAggregate(); + if (aggregateNode) { + TIntermSequence operands = aggregateNode->getSequence(); + for (unsigned int i = 0; i < operands.size(); ++i) { + TIntermTyped* typedNode = operands[i]->getAsTyped(); + if (! typedNode) + break; + typedNode->propagatePrecision(newPrecision); + } + + return; + } + + TIntermSelection* selectionNode = getAsSelectionNode(); + if (selectionNode) { + TIntermTyped* typedNode = selectionNode->getTrueBlock()->getAsTyped(); + if (typedNode) { + typedNode->propagatePrecision(newPrecision); + typedNode = selectionNode->getFalseBlock()->getAsTyped(); + if (typedNode) + typedNode->propagatePrecision(newPrecision); + } + + return; + } +} + +TIntermTyped* TIntermediate::promoteConstantUnion(TBasicType promoteTo, TIntermConstantUnion* node) const +{ + const TConstUnionArray& rightUnionArray = node->getConstArray(); + int size = node->getType().computeNumComponents(); + + TConstUnionArray leftUnionArray(size); + + for (int i=0; i < size; i++) { + +#define PROMOTE(Set, CType, Get) leftUnionArray[i].Set(static_cast(rightUnionArray[i].Get())) +#define PROMOTE_TO_BOOL(Get) leftUnionArray[i].setBConst(rightUnionArray[i].Get() != 0) + +#ifdef GLSLANG_WEB +#define TO_ALL(Get) \ + switch (promoteTo) { \ + case EbtFloat: PROMOTE(setDConst, double, Get); break; \ + case EbtInt: PROMOTE(setIConst, int, Get); break; \ + case EbtUint: PROMOTE(setUConst, unsigned int, Get); break; \ + case EbtBool: PROMOTE_TO_BOOL(Get); break; \ + default: return node; \ + } +#else +#define TO_ALL(Get) \ + switch (promoteTo) { \ + case EbtFloat16: PROMOTE(setDConst, double, Get); break; \ + case EbtFloat: PROMOTE(setDConst, double, Get); break; \ + case EbtDouble: PROMOTE(setDConst, double, Get); break; \ + case EbtInt8: PROMOTE(setI8Const, char, Get); break; \ + case EbtInt16: PROMOTE(setI16Const, short, Get); break; \ + case EbtInt: PROMOTE(setIConst, int, Get); break; \ + case EbtInt64: PROMOTE(setI64Const, long long, Get); break; \ + case EbtUint8: PROMOTE(setU8Const, unsigned char, Get); break; \ + case EbtUint16: PROMOTE(setU16Const, unsigned short, Get); break; \ + case EbtUint: PROMOTE(setUConst, unsigned int, Get); break; \ + case EbtUint64: PROMOTE(setU64Const, unsigned long long, Get); break; \ + case EbtBool: PROMOTE_TO_BOOL(Get); break; \ + default: return node; \ + } +#endif + + switch (node->getType().getBasicType()) { + case EbtFloat: TO_ALL(getDConst); break; + case EbtInt: TO_ALL(getIConst); break; + case EbtUint: TO_ALL(getUConst); break; + case EbtBool: TO_ALL(getBConst); break; +#ifndef GLSLANG_WEB + case EbtFloat16: TO_ALL(getDConst); break; + case EbtDouble: TO_ALL(getDConst); break; + case EbtInt8: TO_ALL(getI8Const); break; + case EbtInt16: TO_ALL(getI16Const); break; + case EbtInt64: TO_ALL(getI64Const); break; + case EbtUint8: TO_ALL(getU8Const); break; + case EbtUint16: TO_ALL(getU16Const); break; + case EbtUint64: TO_ALL(getU64Const); break; +#endif + default: return node; + } + } + + const TType& t = node->getType(); + + return addConstantUnion(leftUnionArray, TType(promoteTo, t.getQualifier().storage, t.getVectorSize(), t.getMatrixCols(), t.getMatrixRows()), + node->getLoc()); +} + +void TIntermAggregate::setPragmaTable(const TPragmaTable& pTable) +{ + assert(pragmaTable == nullptr); + pragmaTable = new TPragmaTable; + *pragmaTable = pTable; +} + +// If either node is a specialization constant, while the other is +// a constant (or specialization constant), the result is still +// a specialization constant. +bool TIntermediate::specConstantPropagates(const TIntermTyped& node1, const TIntermTyped& node2) +{ + return (node1.getType().getQualifier().isSpecConstant() && node2.getType().getQualifier().isConstant()) || + (node2.getType().getQualifier().isSpecConstant() && node1.getType().getQualifier().isConstant()); +} + +struct TextureUpgradeAndSamplerRemovalTransform : public TIntermTraverser { + void visitSymbol(TIntermSymbol* symbol) override { + if (symbol->getBasicType() == EbtSampler && symbol->getType().getSampler().isTexture()) { + symbol->getWritableType().getSampler().setCombined(true); + } + } + bool visitAggregate(TVisit, TIntermAggregate* ag) override { + using namespace std; + TIntermSequence& seq = ag->getSequence(); + TQualifierList& qual = ag->getQualifierList(); + + // qual and seq are indexed using the same indices, so we have to modify both in lock-step + assert(seq.size() == qual.size() || qual.empty()); + + size_t write = 0; + for (size_t i = 0; i < seq.size(); ++i) { + TIntermSymbol* symbol = seq[i]->getAsSymbolNode(); + if (symbol && symbol->getBasicType() == EbtSampler && symbol->getType().getSampler().isPureSampler()) { + // remove pure sampler variables + continue; + } + + TIntermNode* result = seq[i]; + + // replace constructors with sampler/textures + TIntermAggregate *constructor = seq[i]->getAsAggregate(); + if (constructor && constructor->getOp() == EOpConstructTextureSampler) { + if (!constructor->getSequence().empty()) + result = constructor->getSequence()[0]; + } + + // write new node & qualifier + seq[write] = result; + if (!qual.empty()) + qual[write] = qual[i]; + write++; + } + + seq.resize(write); + if (!qual.empty()) + qual.resize(write); + + return true; + } +}; + +void TIntermediate::performTextureUpgradeAndSamplerRemovalTransformation(TIntermNode* root) +{ + TextureUpgradeAndSamplerRemovalTransform transform; + root->traverse(&transform); +} + +const char* TIntermediate::getResourceName(TResourceType res) +{ + switch (res) { + case EResSampler: return "shift-sampler-binding"; + case EResTexture: return "shift-texture-binding"; + case EResImage: return "shift-image-binding"; + case EResUbo: return "shift-UBO-binding"; + case EResSsbo: return "shift-ssbo-binding"; + case EResUav: return "shift-uav-binding"; + default: + assert(0); // internal error: should only be called with valid resource types. + return nullptr; + } +} + + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/LiveTraverser.h b/android/x86_64/include/glslang/Include/MachineIndependent/LiveTraverser.h new file mode 100644 index 00000000..9b39b598 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/LiveTraverser.h @@ -0,0 +1,168 @@ +// +// Copyright (C) 2016 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#pragma once + +#include "../Include/Common.h" +#include "reflection.h" +#include "localintermediate.h" + +#include "gl_types.h" + +#include +#include + +namespace glslang { + +// +// The traverser: mostly pass through, except +// - processing function-call nodes to push live functions onto the stack of functions to process +// - processing selection nodes to trim semantically dead code +// +// This is in the glslang namespace directly so it can be a friend of TReflection. +// This can be derived from to implement reflection database traversers or +// binding mappers: anything that wants to traverse the live subset of the tree. +// + +class TLiveTraverser : public TIntermTraverser { +public: + TLiveTraverser(const TIntermediate& i, bool traverseAll = false, + bool preVisit = true, bool inVisit = false, bool postVisit = false) : + TIntermTraverser(preVisit, inVisit, postVisit), + intermediate(i), traverseAll(traverseAll) + { } + + // + // Given a function name, find its subroot in the tree, and push it onto the stack of + // functions left to process. + // + void pushFunction(const TString& name) + { + TIntermSequence& globals = intermediate.getTreeRoot()->getAsAggregate()->getSequence(); + for (unsigned int f = 0; f < globals.size(); ++f) { + TIntermAggregate* candidate = globals[f]->getAsAggregate(); + if (candidate && candidate->getOp() == EOpFunction && candidate->getName() == name) { + destinations.push_back(candidate); + break; + } + } + } + + void pushGlobalReference(const TString& name) + { + TIntermSequence& globals = intermediate.getTreeRoot()->getAsAggregate()->getSequence(); + for (unsigned int f = 0; f < globals.size(); ++f) { + TIntermAggregate* candidate = globals[f]->getAsAggregate(); + if (candidate && candidate->getOp() == EOpSequence && + candidate->getSequence().size() == 1 && + candidate->getSequence()[0]->getAsBinaryNode()) { + TIntermBinary* binary = candidate->getSequence()[0]->getAsBinaryNode(); + TIntermSymbol* symbol = binary->getLeft()->getAsSymbolNode(); + if (symbol && symbol->getQualifier().storage == EvqGlobal && + symbol->getName() == name) { + destinations.push_back(candidate); + break; + } + } + } + } + + typedef std::list TDestinationStack; + TDestinationStack destinations; + +protected: + // To catch which function calls are not dead, and hence which functions must be visited. + virtual bool visitAggregate(TVisit, TIntermAggregate* node) + { + if (!traverseAll) + if (node->getOp() == EOpFunctionCall) + addFunctionCall(node); + + return true; // traverse this subtree + } + + // To prune semantically dead paths. + virtual bool visitSelection(TVisit /* visit */, TIntermSelection* node) + { + if (traverseAll) + return true; // traverse all code + + TIntermConstantUnion* constant = node->getCondition()->getAsConstantUnion(); + if (constant) { + // cull the path that is dead + if (constant->getConstArray()[0].getBConst() == true && node->getTrueBlock()) + node->getTrueBlock()->traverse(this); + if (constant->getConstArray()[0].getBConst() == false && node->getFalseBlock()) + node->getFalseBlock()->traverse(this); + + return false; // don't traverse any more, we did it all above + } else + return true; // traverse the whole subtree + } + + // Track live functions as well as uniforms, so that we don't visit dead functions + // and only visit each function once. + void addFunctionCall(TIntermAggregate* call) + { + // just use the map to ensure we process each function at most once + if (liveFunctions.find(call->getName()) == liveFunctions.end()) { + liveFunctions.insert(call->getName()); + pushFunction(call->getName()); + } + } + + void addGlobalReference(const TString& name) + { + // just use the map to ensure we process each global at most once + if (liveGlobals.find(name) == liveGlobals.end()) { + liveGlobals.insert(name); + pushGlobalReference(name); + } + } + + const TIntermediate& intermediate; + typedef std::unordered_set TLiveFunctions; + TLiveFunctions liveFunctions; + typedef std::unordered_set TLiveGlobals; + TLiveGlobals liveGlobals; + bool traverseAll; + +private: + // prevent copy & copy construct + TLiveTraverser(TLiveTraverser&); + TLiveTraverser& operator=(TLiveTraverser&); +}; + +} // namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/ParseContextBase.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/ParseContextBase.cpp new file mode 100644 index 00000000..3efa27ac --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/ParseContextBase.cpp @@ -0,0 +1,663 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2016 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// Implement the TParseContextBase class. + +#include + +#include "ParseHelper.h" + +extern int yyparse(glslang::TParseContext*); + +namespace glslang { + +// +// Used to output syntax, parsing, and semantic errors. +// + +void TParseContextBase::outputMessage(const TSourceLoc& loc, const char* szReason, + const char* szToken, + const char* szExtraInfoFormat, + TPrefixType prefix, va_list args) +{ + const int maxSize = MaxTokenLength + 200; + char szExtraInfo[maxSize]; + + safe_vsprintf(szExtraInfo, maxSize, szExtraInfoFormat, args); + + infoSink.info.prefix(prefix); + infoSink.info.location(loc); + infoSink.info << "'" << szToken << "' : " << szReason << " " << szExtraInfo << "\n"; + + if (prefix == EPrefixError) { + ++numErrors; + } +} + +#if !defined(GLSLANG_WEB) || defined(GLSLANG_WEB_DEVEL) + +void C_DECL TParseContextBase::error(const TSourceLoc& loc, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) +{ + if (messages & EShMsgOnlyPreprocessor) + return; + va_list args; + va_start(args, szExtraInfoFormat); + outputMessage(loc, szReason, szToken, szExtraInfoFormat, EPrefixError, args); + va_end(args); + + if ((messages & EShMsgCascadingErrors) == 0) + currentScanner->setEndOfInput(); +} + +void C_DECL TParseContextBase::warn(const TSourceLoc& loc, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) +{ + if (suppressWarnings()) + return; + va_list args; + va_start(args, szExtraInfoFormat); + outputMessage(loc, szReason, szToken, szExtraInfoFormat, EPrefixWarning, args); + va_end(args); +} + +void C_DECL TParseContextBase::ppError(const TSourceLoc& loc, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) +{ + va_list args; + va_start(args, szExtraInfoFormat); + outputMessage(loc, szReason, szToken, szExtraInfoFormat, EPrefixError, args); + va_end(args); + + if ((messages & EShMsgCascadingErrors) == 0) + currentScanner->setEndOfInput(); +} + +void C_DECL TParseContextBase::ppWarn(const TSourceLoc& loc, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) +{ + va_list args; + va_start(args, szExtraInfoFormat); + outputMessage(loc, szReason, szToken, szExtraInfoFormat, EPrefixWarning, args); + va_end(args); +} + +#endif + +// +// Both test and if necessary, spit out an error, to see if the node is really +// an l-value that can be operated on this way. +// +// Returns true if there was an error. +// +bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node) +{ + TIntermBinary* binaryNode = node->getAsBinaryNode(); + + const char* symbol = nullptr; + TIntermSymbol* symNode = node->getAsSymbolNode(); + if (symNode != nullptr) + symbol = symNode->getName().c_str(); + + const char* message = nullptr; + switch (node->getQualifier().storage) { + case EvqConst: message = "can't modify a const"; break; + case EvqConstReadOnly: message = "can't modify a const"; break; + case EvqUniform: message = "can't modify a uniform"; break; +#ifndef GLSLANG_WEB + case EvqBuffer: + if (node->getQualifier().isReadOnly()) + message = "can't modify a readonly buffer"; + if (node->getQualifier().isShaderRecord()) + message = "can't modify a shaderrecordnv qualified buffer"; + break; + case EvqHitAttr: + if (language != EShLangIntersect) + message = "cannot modify hitAttributeNV in this stage"; + break; +#endif + + default: + // + // Type that can't be written to? + // + switch (node->getBasicType()) { + case EbtSampler: + message = "can't modify a sampler"; + break; + case EbtVoid: + message = "can't modify void"; + break; +#ifndef GLSLANG_WEB + case EbtAtomicUint: + message = "can't modify an atomic_uint"; + break; + case EbtAccStruct: + message = "can't modify accelerationStructureNV"; + break; + case EbtRayQuery: + message = "can't modify rayQueryEXT"; + break; +#endif + default: + break; + } + } + + if (message == nullptr && binaryNode == nullptr && symNode == nullptr) { + error(loc, " l-value required", op, "", ""); + + return true; + } + + // + // Everything else is okay, no error. + // + if (message == nullptr) + { + if (binaryNode) { + switch (binaryNode->getOp()) { + case EOpIndexDirect: + case EOpIndexIndirect: // fall through + case EOpIndexDirectStruct: // fall through + case EOpVectorSwizzle: + case EOpMatrixSwizzle: + return lValueErrorCheck(loc, op, binaryNode->getLeft()); + default: + break; + } + error(loc, " l-value required", op, "", ""); + + return true; + } + return false; + } + + // + // If we get here, we have an error and a message. + // + const TIntermTyped* leftMostTypeNode = TIntermediate::findLValueBase(node, true); + + if (symNode) + error(loc, " l-value required", op, "\"%s\" (%s)", symbol, message); + else + if (binaryNode && binaryNode->getAsOperator()->getOp() == EOpIndexDirectStruct) + if(IsAnonymous(leftMostTypeNode->getAsSymbolNode()->getName())) + error(loc, " l-value required", op, "\"%s\" (%s)", leftMostTypeNode->getAsSymbolNode()->getAccessName().c_str(), message); + else + error(loc, " l-value required", op, "\"%s\" (%s)", leftMostTypeNode->getAsSymbolNode()->getName().c_str(), message); + else + error(loc, " l-value required", op, "(%s)", message); + + return true; +} + +// Test for and give an error if the node can't be read from. +void TParseContextBase::rValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node) +{ + TIntermBinary* binaryNode = node->getAsBinaryNode(); + const TIntermSymbol* symNode = node->getAsSymbolNode(); + + if (! node) + return; + + if (node->getQualifier().isWriteOnly()) { + const TIntermTyped* leftMostTypeNode = TIntermediate::findLValueBase(node, true); + + if (symNode != nullptr) + error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str()); + else if (binaryNode && + (binaryNode->getAsOperator()->getOp() == EOpIndexDirectStruct || + binaryNode->getAsOperator()->getOp() == EOpIndexDirect)) + if(IsAnonymous(leftMostTypeNode->getAsSymbolNode()->getName())) + error(loc, "can't read from writeonly object: ", op, leftMostTypeNode->getAsSymbolNode()->getAccessName().c_str()); + else + error(loc, "can't read from writeonly object: ", op, leftMostTypeNode->getAsSymbolNode()->getName().c_str()); + else + error(loc, "can't read from writeonly object: ", op, ""); + + } else { + if (binaryNode) { + switch (binaryNode->getOp()) { + case EOpIndexDirect: + case EOpIndexIndirect: + case EOpIndexDirectStruct: + case EOpVectorSwizzle: + case EOpMatrixSwizzle: + rValueErrorCheck(loc, op, binaryNode->getLeft()); + default: + break; + } + } + } +} + +// Add 'symbol' to the list of deferred linkage symbols, which +// are later processed in finish(), at which point the symbol +// must still be valid. +// It is okay if the symbol's type will be subsequently edited; +// the modifications will be tracked. +// Order is preserved, to avoid creating novel forward references. +void TParseContextBase::trackLinkage(TSymbol& symbol) +{ + if (!parsingBuiltins) + linkageSymbols.push_back(&symbol); +} + +// Ensure index is in bounds, correct if necessary. +// Give an error if not. +void TParseContextBase::checkIndex(const TSourceLoc& loc, const TType& type, int& index) +{ + const auto sizeIsSpecializationExpression = [&type]() { + return type.containsSpecializationSize() && + type.getArraySizes()->getOuterNode() != nullptr && + type.getArraySizes()->getOuterNode()->getAsSymbolNode() == nullptr; }; + + if (index < 0) { + error(loc, "", "[", "index out of range '%d'", index); + index = 0; + } else if (type.isArray()) { + if (type.isSizedArray() && !sizeIsSpecializationExpression() && + index >= type.getOuterArraySize()) { + error(loc, "", "[", "array index out of range '%d'", index); + index = type.getOuterArraySize() - 1; + } + } else if (type.isVector()) { + if (index >= type.getVectorSize()) { + error(loc, "", "[", "vector index out of range '%d'", index); + index = type.getVectorSize() - 1; + } + } else if (type.isMatrix()) { + if (index >= type.getMatrixCols()) { + error(loc, "", "[", "matrix index out of range '%d'", index); + index = type.getMatrixCols() - 1; + } + } +} + +// Make a shared symbol have a non-shared version that can be edited by the current +// compile, such that editing its type will not change the shared version and will +// effect all nodes already sharing it (non-shallow type), +// or adopting its full type after being edited (shallow type). +void TParseContextBase::makeEditable(TSymbol*& symbol) +{ + // copyUp() does a deep copy of the type. + symbol = symbolTable.copyUp(symbol); + + // Save it (deferred, so it can be edited first) in the AST for linker use. + if (symbol) + trackLinkage(*symbol); +} + +// Return a writable version of the variable 'name'. +// +// Return nullptr if 'name' is not found. This should mean +// something is seriously wrong (e.g., compiler asking self for +// built-in that doesn't exist). +TVariable* TParseContextBase::getEditableVariable(const char* name) +{ + bool builtIn; + TSymbol* symbol = symbolTable.find(name, &builtIn); + + assert(symbol != nullptr); + if (symbol == nullptr) + return nullptr; + + if (builtIn) + makeEditable(symbol); + + return symbol->getAsVariable(); +} + +// Select the best matching function for 'call' from 'candidateList'. +// +// Assumptions +// +// There is no exact match, so a selection algorithm needs to run. That is, the +// language-specific handler should check for exact match first, to +// decide what to do, before calling this selector. +// +// Input +// +// * list of candidate signatures to select from +// * the call +// * a predicate function convertible(from, to) that says whether or not type +// 'from' can implicitly convert to type 'to' (it includes the case of what +// the calling language would consider a matching type with no conversion +// needed) +// * a predicate function better(from1, from2, to1, to2) that says whether or +// not a conversion from <-> to2 is considered better than a conversion +// from <-> to1 (both in and out directions need testing, as declared by the +// formal parameter) +// +// Output +// +// * best matching candidate (or none, if no viable candidates found) +// * whether there was a tie for the best match (ambiguous overload selection, +// caller's choice for how to report) +// +const TFunction* TParseContextBase::selectFunction( + const TVector candidateList, + const TFunction& call, + std::function convertible, + std::function better, + /* output */ bool& tie) +{ +// +// Operation +// +// 1. Prune the input list of candidates down to a list of viable candidates, +// where each viable candidate has +// +// * at least as many parameters as there are calling arguments, with any +// remaining parameters being optional or having default values +// * each parameter is true under convertible(A, B), where A is the calling +// type for in and B is the formal type, and in addition, for out B is the +// calling type and A is the formal type +// +// 2. If there are no viable candidates, return with no match. +// +// 3. If there is only one viable candidate, it is the best match. +// +// 4. If there are multiple viable candidates, select the first viable candidate +// as the incumbent. Compare the incumbent to the next viable candidate, and if +// that candidate is better (bullets below), make it the incumbent. Repeat, with +// a linear walk through the viable candidate list. The final incumbent will be +// returned as the best match. A viable candidate is better than the incumbent if +// +// * it has a function argument with a better(...) conversion than the incumbent, +// for all directions needed by in and out +// * the incumbent has no argument with a better(...) conversion then the +// candidate, for either in or out (as needed) +// +// 5. Check for ambiguity by comparing the best match against all other viable +// candidates. If any other viable candidate has a function argument with a +// better(...) conversion than the best candidate (for either in or out +// directions), return that there was a tie for best. +// + + tie = false; + + // 1. prune to viable... + TVector viableCandidates; + for (auto it = candidateList.begin(); it != candidateList.end(); ++it) { + const TFunction& candidate = *(*it); + + // to even be a potential match, number of arguments must be >= the number of + // fixed (non-default) parameters, and <= the total (including parameter with defaults). + if (call.getParamCount() < candidate.getFixedParamCount() || + call.getParamCount() > candidate.getParamCount()) + continue; + + // see if arguments are convertible + bool viable = true; + + // The call can have fewer parameters than the candidate, if some have defaults. + const int paramCount = std::min(call.getParamCount(), candidate.getParamCount()); + for (int param = 0; param < paramCount; ++param) { + if (candidate[param].type->getQualifier().isParamInput()) { + if (! convertible(*call[param].type, *candidate[param].type, candidate.getBuiltInOp(), param)) { + viable = false; + break; + } + } + if (candidate[param].type->getQualifier().isParamOutput()) { + if (! convertible(*candidate[param].type, *call[param].type, candidate.getBuiltInOp(), param)) { + viable = false; + break; + } + } + } + + if (viable) + viableCandidates.push_back(&candidate); + } + + // 2. none viable... + if (viableCandidates.size() == 0) + return nullptr; + + // 3. only one viable... + if (viableCandidates.size() == 1) + return viableCandidates.front(); + + // 4. find best... + const auto betterParam = [&call, &better](const TFunction& can1, const TFunction& can2) -> bool { + // is call -> can2 better than call -> can1 for any parameter + bool hasBetterParam = false; + for (int param = 0; param < call.getParamCount(); ++param) { + if (better(*call[param].type, *can1[param].type, *can2[param].type)) { + hasBetterParam = true; + break; + } + } + return hasBetterParam; + }; + + const auto equivalentParams = [&call, &better](const TFunction& can1, const TFunction& can2) -> bool { + // is call -> can2 equivalent to call -> can1 for all the call parameters? + for (int param = 0; param < call.getParamCount(); ++param) { + if (better(*call[param].type, *can1[param].type, *can2[param].type) || + better(*call[param].type, *can2[param].type, *can1[param].type)) + return false; + } + return true; + }; + + const TFunction* incumbent = viableCandidates.front(); + for (auto it = viableCandidates.begin() + 1; it != viableCandidates.end(); ++it) { + const TFunction& candidate = *(*it); + if (betterParam(*incumbent, candidate) && ! betterParam(candidate, *incumbent)) + incumbent = &candidate; + } + + // 5. ambiguity... + for (auto it = viableCandidates.begin(); it != viableCandidates.end(); ++it) { + if (incumbent == *it) + continue; + const TFunction& candidate = *(*it); + + // In the case of default parameters, it may have an identical initial set, which is + // also ambiguous + if (betterParam(*incumbent, candidate) || equivalentParams(*incumbent, candidate)) + tie = true; + } + + return incumbent; +} + +// +// Look at a '.' field selector string and change it into numerical selectors +// for a vector or scalar. +// +// Always return some form of swizzle, so the result is always usable. +// +void TParseContextBase::parseSwizzleSelector(const TSourceLoc& loc, const TString& compString, int vecSize, + TSwizzleSelectors& selector) +{ + // Too long? + if (compString.size() > MaxSwizzleSelectors) + error(loc, "vector swizzle too long", compString.c_str(), ""); + + // Use this to test that all swizzle characters are from the same swizzle-namespace-set + enum { + exyzw, + ergba, + estpq, + } fieldSet[MaxSwizzleSelectors]; + + // Decode the swizzle string. + int size = std::min(MaxSwizzleSelectors, (int)compString.size()); + for (int i = 0; i < size; ++i) { + switch (compString[i]) { + case 'x': + selector.push_back(0); + fieldSet[i] = exyzw; + break; + case 'r': + selector.push_back(0); + fieldSet[i] = ergba; + break; + case 's': + selector.push_back(0); + fieldSet[i] = estpq; + break; + + case 'y': + selector.push_back(1); + fieldSet[i] = exyzw; + break; + case 'g': + selector.push_back(1); + fieldSet[i] = ergba; + break; + case 't': + selector.push_back(1); + fieldSet[i] = estpq; + break; + + case 'z': + selector.push_back(2); + fieldSet[i] = exyzw; + break; + case 'b': + selector.push_back(2); + fieldSet[i] = ergba; + break; + case 'p': + selector.push_back(2); + fieldSet[i] = estpq; + break; + + case 'w': + selector.push_back(3); + fieldSet[i] = exyzw; + break; + case 'a': + selector.push_back(3); + fieldSet[i] = ergba; + break; + case 'q': + selector.push_back(3); + fieldSet[i] = estpq; + break; + + default: + error(loc, "unknown swizzle selection", compString.c_str(), ""); + break; + } + } + + // Additional error checking. + for (int i = 0; i < selector.size(); ++i) { + if (selector[i] >= vecSize) { + error(loc, "vector swizzle selection out of range", compString.c_str(), ""); + selector.resize(i); + break; + } + + if (i > 0 && fieldSet[i] != fieldSet[i-1]) { + error(loc, "vector swizzle selectors not from the same set", compString.c_str(), ""); + selector.resize(i); + break; + } + } + + // Ensure it is valid. + if (selector.size() == 0) + selector.push_back(0); +} + +#ifdef ENABLE_HLSL +// +// Make the passed-in variable information become a member of the +// global uniform block. If this doesn't exist yet, make it. +// +void TParseContextBase::growGlobalUniformBlock(const TSourceLoc& loc, TType& memberType, const TString& memberName, TTypeList* typeList) +{ + // Make the global block, if not yet made. + if (globalUniformBlock == nullptr) { + TQualifier blockQualifier; + blockQualifier.clear(); + blockQualifier.storage = EvqUniform; + TType blockType(new TTypeList, *NewPoolTString(getGlobalUniformBlockName()), blockQualifier); + setUniformBlockDefaults(blockType); + globalUniformBlock = new TVariable(NewPoolTString(""), blockType, true); + firstNewMember = 0; + } + + // Update with binding and set + globalUniformBlock->getWritableType().getQualifier().layoutBinding = globalUniformBinding; + globalUniformBlock->getWritableType().getQualifier().layoutSet = globalUniformSet; + + // Add the requested member as a member to the global block. + TType* type = new TType; + type->shallowCopy(memberType); + type->setFieldName(memberName); + if (typeList) + type->setStruct(typeList); + TTypeLoc typeLoc = {type, loc}; + globalUniformBlock->getType().getWritableStruct()->push_back(typeLoc); + + // Insert into the symbol table. + if (firstNewMember == 0) { + // This is the first request; we need a normal symbol table insert + if (symbolTable.insert(*globalUniformBlock)) + trackLinkage(*globalUniformBlock); + else + error(loc, "failed to insert the global constant buffer", "uniform", ""); + } else { + // This is a follow-on request; we need to amend the first insert + symbolTable.amend(*globalUniformBlock, firstNewMember); + } + + ++firstNewMember; +} +#endif + +void TParseContextBase::finish() +{ + if (parsingBuiltins) + return; + + // Transfer the linkage symbols to AST nodes, preserving order. + TIntermAggregate* linkage = new TIntermAggregate; + for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i) + intermediate.addSymbolLinkageNode(linkage, **i); + intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.cpp new file mode 100644 index 00000000..9c42a204 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.cpp @@ -0,0 +1,8707 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2015 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// Copyright (C) 2017, 2019 ARM Limited. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#include "ParseHelper.h" +#include "Scan.h" + +#include "../OSDependent/osinclude.h" +#include + +#include "preprocessor/PpContext.h" + +extern int yyparse(glslang::TParseContext*); + +namespace glslang { + +TParseContext::TParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, + int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, + TInfoSink& infoSink, bool forwardCompatible, EShMessages messages, + const TString* entryPoint) : + TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, + infoSink, forwardCompatible, messages, entryPoint), + inMain(false), + blockName(nullptr), + limits(resources.limits) +#ifndef GLSLANG_WEB + , + atomicUintOffsets(nullptr), anyIndexLimits(false) +#endif +{ + // decide whether precision qualifiers should be ignored or respected + if (isEsProfile() || spvVersion.vulkan > 0) { + precisionManager.respectPrecisionQualifiers(); + if (! parsingBuiltins && language == EShLangFragment && !isEsProfile() && spvVersion.vulkan > 0) + precisionManager.warnAboutDefaults(); + } + + setPrecisionDefaults(); + + globalUniformDefaults.clear(); + globalUniformDefaults.layoutMatrix = ElmColumnMajor; + globalUniformDefaults.layoutPacking = spvVersion.spv != 0 ? ElpStd140 : ElpShared; + + globalBufferDefaults.clear(); + globalBufferDefaults.layoutMatrix = ElmColumnMajor; + globalBufferDefaults.layoutPacking = spvVersion.spv != 0 ? ElpStd430 : ElpShared; + + // use storage buffer on SPIR-V 1.3 and up + if (spvVersion.spv >= EShTargetSpv_1_3) + intermediate.setUseStorageBuffer(); + + globalInputDefaults.clear(); + globalOutputDefaults.clear(); + +#ifndef GLSLANG_WEB + // "Shaders in the transform + // feedback capturing mode have an initial global default of + // layout(xfb_buffer = 0) out;" + if (language == EShLangVertex || + language == EShLangTessControl || + language == EShLangTessEvaluation || + language == EShLangGeometry) + globalOutputDefaults.layoutXfbBuffer = 0; + + if (language == EShLangGeometry) + globalOutputDefaults.layoutStream = 0; +#endif + + if (entryPoint != nullptr && entryPoint->size() > 0 && *entryPoint != "main") + infoSink.info.message(EPrefixError, "Source entry point must be \"main\""); +} + +TParseContext::~TParseContext() +{ +#ifndef GLSLANG_WEB + delete [] atomicUintOffsets; +#endif +} + +// Set up all default precisions as needed by the current environment. +// Intended just as a TParseContext constructor helper. +void TParseContext::setPrecisionDefaults() +{ + // Set all precision defaults to EpqNone, which is correct for all types + // when not obeying precision qualifiers, and correct for types that don't + // have defaults (thus getting an error on use) when obeying precision + // qualifiers. + + for (int type = 0; type < EbtNumTypes; ++type) + defaultPrecision[type] = EpqNone; + + for (int type = 0; type < maxSamplerIndex; ++type) + defaultSamplerPrecision[type] = EpqNone; + + // replace with real precision defaults for those that have them + if (obeyPrecisionQualifiers()) { + if (isEsProfile()) { + // Most don't have defaults, a few default to lowp. + TSampler sampler; + sampler.set(EbtFloat, Esd2D); + defaultSamplerPrecision[computeSamplerTypeIndex(sampler)] = EpqLow; + sampler.set(EbtFloat, EsdCube); + defaultSamplerPrecision[computeSamplerTypeIndex(sampler)] = EpqLow; + sampler.set(EbtFloat, Esd2D); + sampler.setExternal(true); + defaultSamplerPrecision[computeSamplerTypeIndex(sampler)] = EpqLow; + } + + // If we are parsing built-in computational variables/functions, it is meaningful to record + // whether the built-in has no precision qualifier, as that ambiguity + // is used to resolve the precision from the supplied arguments/operands instead. + // So, we don't actually want to replace EpqNone with a default precision for built-ins. + if (! parsingBuiltins) { + if (isEsProfile() && language == EShLangFragment) { + defaultPrecision[EbtInt] = EpqMedium; + defaultPrecision[EbtUint] = EpqMedium; + } else { + defaultPrecision[EbtInt] = EpqHigh; + defaultPrecision[EbtUint] = EpqHigh; + defaultPrecision[EbtFloat] = EpqHigh; + } + + if (!isEsProfile()) { + // Non-ES profile + // All sampler precisions default to highp. + for (int type = 0; type < maxSamplerIndex; ++type) + defaultSamplerPrecision[type] = EpqHigh; + } + } + + defaultPrecision[EbtSampler] = EpqLow; + defaultPrecision[EbtAtomicUint] = EpqHigh; + } +} + +void TParseContext::setLimits(const TBuiltInResource& r) +{ + resources = r; + intermediate.setLimits(r); + +#ifndef GLSLANG_WEB + anyIndexLimits = ! limits.generalAttributeMatrixVectorIndexing || + ! limits.generalConstantMatrixVectorIndexing || + ! limits.generalSamplerIndexing || + ! limits.generalUniformIndexing || + ! limits.generalVariableIndexing || + ! limits.generalVaryingIndexing; + + + // "Each binding point tracks its own current default offset for + // inheritance of subsequent variables using the same binding. The initial state of compilation is that all + // binding points have an offset of 0." + atomicUintOffsets = new int[resources.maxAtomicCounterBindings]; + for (int b = 0; b < resources.maxAtomicCounterBindings; ++b) + atomicUintOffsets[b] = 0; +#endif +} + +// +// Parse an array of strings using yyparse, going through the +// preprocessor to tokenize the shader strings, then through +// the GLSL scanner. +// +// Returns true for successful acceptance of the shader, false if any errors. +// +bool TParseContext::parseShaderStrings(TPpContext& ppContext, TInputScanner& input, bool versionWillBeError) +{ + currentScanner = &input; + ppContext.setInput(input, versionWillBeError); + yyparse(this); + + finish(); + + return numErrors == 0; +} + +// This is called from bison when it has a parse (syntax) error +// Note though that to stop cascading errors, we set EOF, which +// will usually cause a syntax error, so be more accurate that +// compilation is terminating. +void TParseContext::parserError(const char* s) +{ + if (! getScanner()->atEndOfInput() || numErrors == 0) + error(getCurrentLoc(), "", "", s, ""); + else + error(getCurrentLoc(), "compilation terminated", "", ""); +} + +void TParseContext::handlePragma(const TSourceLoc& loc, const TVector& tokens) +{ +#ifndef GLSLANG_WEB + if (pragmaCallback) + pragmaCallback(loc.line, tokens); + + if (tokens.size() == 0) + return; + + if (tokens[0].compare("optimize") == 0) { + if (tokens.size() != 4) { + error(loc, "optimize pragma syntax is incorrect", "#pragma", ""); + return; + } + + if (tokens[1].compare("(") != 0) { + error(loc, "\"(\" expected after 'optimize' keyword", "#pragma", ""); + return; + } + + if (tokens[2].compare("on") == 0) + contextPragma.optimize = true; + else if (tokens[2].compare("off") == 0) + contextPragma.optimize = false; + else { + if(relaxedErrors()) + // If an implementation does not recognize the tokens following #pragma, then it will ignore that pragma. + warn(loc, "\"on\" or \"off\" expected after '(' for 'optimize' pragma", "#pragma", ""); + return; + } + + if (tokens[3].compare(")") != 0) { + error(loc, "\")\" expected to end 'optimize' pragma", "#pragma", ""); + return; + } + } else if (tokens[0].compare("debug") == 0) { + if (tokens.size() != 4) { + error(loc, "debug pragma syntax is incorrect", "#pragma", ""); + return; + } + + if (tokens[1].compare("(") != 0) { + error(loc, "\"(\" expected after 'debug' keyword", "#pragma", ""); + return; + } + + if (tokens[2].compare("on") == 0) + contextPragma.debug = true; + else if (tokens[2].compare("off") == 0) + contextPragma.debug = false; + else { + if(relaxedErrors()) + // If an implementation does not recognize the tokens following #pragma, then it will ignore that pragma. + warn(loc, "\"on\" or \"off\" expected after '(' for 'debug' pragma", "#pragma", ""); + return; + } + + if (tokens[3].compare(")") != 0) { + error(loc, "\")\" expected to end 'debug' pragma", "#pragma", ""); + return; + } + } else if (spvVersion.spv > 0 && tokens[0].compare("use_storage_buffer") == 0) { + if (tokens.size() != 1) + error(loc, "extra tokens", "#pragma", ""); + intermediate.setUseStorageBuffer(); + } else if (spvVersion.spv > 0 && tokens[0].compare("use_vulkan_memory_model") == 0) { + if (tokens.size() != 1) + error(loc, "extra tokens", "#pragma", ""); + intermediate.setUseVulkanMemoryModel(); + } else if (spvVersion.spv > 0 && tokens[0].compare("use_variable_pointers") == 0) { + if (tokens.size() != 1) + error(loc, "extra tokens", "#pragma", ""); + if (spvVersion.spv < glslang::EShTargetSpv_1_3) + error(loc, "requires SPIR-V 1.3", "#pragma use_variable_pointers", ""); + intermediate.setUseVariablePointers(); + } else if (tokens[0].compare("once") == 0) { + warn(loc, "not implemented", "#pragma once", ""); + } else if (tokens[0].compare("glslang_binary_double_output") == 0) + intermediate.setBinaryDoubleOutput(); +#endif +} + +// +// Handle seeing a variable identifier in the grammar. +// +TIntermTyped* TParseContext::handleVariable(const TSourceLoc& loc, TSymbol* symbol, const TString* string) +{ + TIntermTyped* node = nullptr; + + // Error check for requiring specific extensions present. + if (symbol && symbol->getNumExtensions()) + requireExtensions(loc, symbol->getNumExtensions(), symbol->getExtensions(), symbol->getName().c_str()); + +#ifndef GLSLANG_WEB + if (symbol && symbol->isReadOnly()) { + // All shared things containing an unsized array must be copied up + // on first use, so that all future references will share its array structure, + // so that editing the implicit size will effect all nodes consuming it, + // and so that editing the implicit size won't change the shared one. + // + // If this is a variable or a block, check it and all it contains, but if this + // is a member of an anonymous block, check the whole block, as the whole block + // will need to be copied up if it contains an unsized array. + // + // This check is being done before the block-name check further down, so guard + // for that too. + if (!symbol->getType().isUnusableName()) { + if (symbol->getType().containsUnsizedArray() || + (symbol->getAsAnonMember() && + symbol->getAsAnonMember()->getAnonContainer().getType().containsUnsizedArray())) + makeEditable(symbol); + } + } +#endif + + const TVariable* variable; + const TAnonMember* anon = symbol ? symbol->getAsAnonMember() : nullptr; + if (anon) { + // It was a member of an anonymous container. + + // Create a subtree for its dereference. + variable = anon->getAnonContainer().getAsVariable(); + TIntermTyped* container = intermediate.addSymbol(*variable, loc); + TIntermTyped* constNode = intermediate.addConstantUnion(anon->getMemberNumber(), loc); + node = intermediate.addIndex(EOpIndexDirectStruct, container, constNode, loc); + + node->setType(*(*variable->getType().getStruct())[anon->getMemberNumber()].type); + if (node->getType().hiddenMember()) + error(loc, "member of nameless block was not redeclared", string->c_str(), ""); + } else { + // Not a member of an anonymous container. + + // The symbol table search was done in the lexical phase. + // See if it was a variable. + variable = symbol ? symbol->getAsVariable() : nullptr; + if (variable) { + if (variable->getType().isUnusableName()) { + error(loc, "cannot be used (maybe an instance name is needed)", string->c_str(), ""); + variable = nullptr; + } + } else { + if (symbol) + error(loc, "variable name expected", string->c_str(), ""); + } + + // Recovery, if it wasn't found or was not a variable. + if (! variable) + variable = new TVariable(string, TType(EbtVoid)); + + if (variable->getType().getQualifier().isFrontEndConstant()) + node = intermediate.addConstantUnion(variable->getConstArray(), variable->getType(), loc); + else + node = intermediate.addSymbol(*variable, loc); + } + + if (variable->getType().getQualifier().isIo()) + intermediate.addIoAccessed(*string); + + if (variable->getType().isReference() && + variable->getType().getQualifier().bufferReferenceNeedsVulkanMemoryModel()) { + intermediate.setUseVulkanMemoryModel(); + } + + return node; +} + +// +// Handle seeing a base[index] dereference in the grammar. +// +TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIntermTyped* base, TIntermTyped* index) +{ + int indexValue = 0; + if (index->getQualifier().isFrontEndConstant()) + indexValue = index->getAsConstantUnion()->getConstArray()[0].getIConst(); + + // basic type checks... + variableCheck(base); + + if (! base->isArray() && ! base->isMatrix() && ! base->isVector() && ! base->getType().isCoopMat() && + ! base->isReference()) { + if (base->getAsSymbolNode()) + error(loc, " left of '[' is not of type array, matrix, or vector ", base->getAsSymbolNode()->getName().c_str(), ""); + else + error(loc, " left of '[' is not of type array, matrix, or vector ", "expression", ""); + + // Insert dummy error-recovery result + return intermediate.addConstantUnion(0.0, EbtFloat, loc); + } + + if (!base->isArray() && base->isVector()) { + if (base->getType().contains16BitFloat()) + requireFloat16Arithmetic(loc, "[", "does not operate on types containing float16"); + if (base->getType().contains16BitInt()) + requireInt16Arithmetic(loc, "[", "does not operate on types containing (u)int16"); + if (base->getType().contains8BitInt()) + requireInt8Arithmetic(loc, "[", "does not operate on types containing (u)int8"); + } + + // check for constant folding + if (base->getType().getQualifier().isFrontEndConstant() && index->getQualifier().isFrontEndConstant()) { + // both base and index are front-end constants + checkIndex(loc, base->getType(), indexValue); + return intermediate.foldDereference(base, indexValue, loc); + } + + // at least one of base and index is not a front-end constant variable... + TIntermTyped* result = nullptr; + +#ifndef GLSLANG_WEB + if (base->isReference() && ! base->isArray()) { + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference2, "buffer reference indexing"); + if (base->getType().getReferentType()->containsUnsizedArray()) { + error(loc, "cannot index reference to buffer containing an unsized array", "", ""); + result = nullptr; + } else { + result = intermediate.addBinaryMath(EOpAdd, base, index, loc); + if (result != nullptr) + result->setType(base->getType()); + } + if (result == nullptr) { + error(loc, "cannot index buffer reference", "", ""); + result = intermediate.addConstantUnion(0.0, EbtFloat, loc); + } + return result; + } + if (base->getAsSymbolNode() && isIoResizeArray(base->getType())) + handleIoResizeArrayAccess(loc, base); +#endif + + if (index->getQualifier().isFrontEndConstant()) + checkIndex(loc, base->getType(), indexValue); + + if (index->getQualifier().isFrontEndConstant()) { +#ifndef GLSLANG_WEB + if (base->getType().isUnsizedArray()) { + base->getWritableType().updateImplicitArraySize(indexValue + 1); + // For 2D per-view builtin arrays, update the inner dimension size in parent type + if (base->getQualifier().isPerView() && base->getQualifier().builtIn != EbvNone) { + TIntermBinary* binaryNode = base->getAsBinaryNode(); + if (binaryNode) { + TType& leftType = binaryNode->getLeft()->getWritableType(); + TArraySizes& arraySizes = *leftType.getArraySizes(); + assert(arraySizes.getNumDims() == 2); + arraySizes.setDimSize(1, std::max(arraySizes.getDimSize(1), indexValue + 1)); + } + } + } else +#endif + checkIndex(loc, base->getType(), indexValue); + result = intermediate.addIndex(EOpIndexDirect, base, index, loc); + } else { +#ifndef GLSLANG_WEB + if (base->getType().isUnsizedArray()) { + // we have a variable index into an unsized array, which is okay, + // depending on the situation + if (base->getAsSymbolNode() && isIoResizeArray(base->getType())) + error(loc, "", "[", "array must be sized by a redeclaration or layout qualifier before being indexed with a variable"); + else { + // it is okay for a run-time sized array + checkRuntimeSizable(loc, *base); + } + base->getWritableType().setArrayVariablyIndexed(); + } +#endif + if (base->getBasicType() == EbtBlock) { + if (base->getQualifier().storage == EvqBuffer) + requireProfile(base->getLoc(), ~EEsProfile, "variable indexing buffer block array"); + else if (base->getQualifier().storage == EvqUniform) + profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, + "variable indexing uniform block array"); + else { + // input/output blocks either don't exist or can't be variably indexed + } + } else if (language == EShLangFragment && base->getQualifier().isPipeOutput()) + requireProfile(base->getLoc(), ~EEsProfile, "variable indexing fragment shader output array"); + else if (base->getBasicType() == EbtSampler && version >= 130) { + const char* explanation = "variable indexing sampler array"; + requireProfile(base->getLoc(), EEsProfile | ECoreProfile | ECompatibilityProfile, explanation); + profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, explanation); + profileRequires(base->getLoc(), ECoreProfile | ECompatibilityProfile, 400, nullptr, explanation); + } + + result = intermediate.addIndex(EOpIndexIndirect, base, index, loc); + } + + // Insert valid dereferenced result type + TType newType(base->getType(), 0); + if (base->getType().getQualifier().isConstant() && index->getQualifier().isConstant()) { + newType.getQualifier().storage = EvqConst; + // If base or index is a specialization constant, the result should also be a specialization constant. + if (base->getType().getQualifier().isSpecConstant() || index->getQualifier().isSpecConstant()) { + newType.getQualifier().makeSpecConstant(); + } + } else { + newType.getQualifier().storage = EvqTemporary; + newType.getQualifier().specConstant = false; + } + result->setType(newType); + +#ifndef GLSLANG_WEB + inheritMemoryQualifiers(base->getQualifier(), result->getWritableType().getQualifier()); + + // Propagate nonuniform + if (base->getQualifier().isNonUniform() || index->getQualifier().isNonUniform()) + result->getWritableType().getQualifier().nonUniform = true; + + if (anyIndexLimits) + handleIndexLimits(loc, base, index); +#endif + + return result; +} + +#ifndef GLSLANG_WEB + +// for ES 2.0 (version 100) limitations for almost all index operations except vertex-shader uniforms +void TParseContext::handleIndexLimits(const TSourceLoc& /*loc*/, TIntermTyped* base, TIntermTyped* index) +{ + if ((! limits.generalSamplerIndexing && base->getBasicType() == EbtSampler) || + (! limits.generalUniformIndexing && base->getQualifier().isUniformOrBuffer() && language != EShLangVertex) || + (! limits.generalAttributeMatrixVectorIndexing && base->getQualifier().isPipeInput() && language == EShLangVertex && (base->getType().isMatrix() || base->getType().isVector())) || + (! limits.generalConstantMatrixVectorIndexing && base->getAsConstantUnion()) || + (! limits.generalVariableIndexing && ! base->getType().getQualifier().isUniformOrBuffer() && + ! base->getType().getQualifier().isPipeInput() && + ! base->getType().getQualifier().isPipeOutput() && + ! base->getType().getQualifier().isConstant()) || + (! limits.generalVaryingIndexing && (base->getType().getQualifier().isPipeInput() || + base->getType().getQualifier().isPipeOutput()))) { + // it's too early to know what the inductive variables are, save it for post processing + needsIndexLimitationChecking.push_back(index); + } +} + +// Make a shared symbol have a non-shared version that can be edited by the current +// compile, such that editing its type will not change the shared version and will +// effect all nodes sharing it. +void TParseContext::makeEditable(TSymbol*& symbol) +{ + TParseContextBase::makeEditable(symbol); + + // See if it's tied to IO resizing + if (isIoResizeArray(symbol->getType())) + ioArraySymbolResizeList.push_back(symbol); +} + +// Return true if this is a geometry shader input array or tessellation control output array +// or mesh shader output array. +bool TParseContext::isIoResizeArray(const TType& type) const +{ + return type.isArray() && + ((language == EShLangGeometry && type.getQualifier().storage == EvqVaryingIn) || + (language == EShLangTessControl && type.getQualifier().storage == EvqVaryingOut && + ! type.getQualifier().patch) || + (language == EShLangFragment && type.getQualifier().storage == EvqVaryingIn && + type.getQualifier().pervertexNV) || + (language == EShLangMeshNV && type.getQualifier().storage == EvqVaryingOut && + !type.getQualifier().perTaskNV)); +} + +// If an array is not isIoResizeArray() but is an io array, make sure it has the right size +void TParseContext::fixIoArraySize(const TSourceLoc& loc, TType& type) +{ + if (! type.isArray() || type.getQualifier().patch || symbolTable.atBuiltInLevel()) + return; + + assert(! isIoResizeArray(type)); + + if (type.getQualifier().storage != EvqVaryingIn || type.getQualifier().patch) + return; + + if (language == EShLangTessControl || language == EShLangTessEvaluation) { + if (type.getOuterArraySize() != resources.maxPatchVertices) { + if (type.isSizedArray()) + error(loc, "tessellation input array size must be gl_MaxPatchVertices or implicitly sized", "[]", ""); + type.changeOuterArraySize(resources.maxPatchVertices); + } + } +} + +// Issue any errors if the non-array object is missing arrayness WRT +// shader I/O that has array requirements. +// All arrayness checking is handled in array paths, this is for +void TParseContext::ioArrayCheck(const TSourceLoc& loc, const TType& type, const TString& identifier) +{ + if (! type.isArray() && ! symbolTable.atBuiltInLevel()) { + if (type.getQualifier().isArrayedIo(language) && !type.getQualifier().layoutPassthrough) + error(loc, "type must be an array:", type.getStorageQualifierString(), identifier.c_str()); + } +} + +// Handle a dereference of a geometry shader input array or tessellation control output array. +// See ioArraySymbolResizeList comment in ParseHelper.h. +// +void TParseContext::handleIoResizeArrayAccess(const TSourceLoc& /*loc*/, TIntermTyped* base) +{ + TIntermSymbol* symbolNode = base->getAsSymbolNode(); + assert(symbolNode); + if (! symbolNode) + return; + + // fix array size, if it can be fixed and needs to be fixed (will allow variable indexing) + if (symbolNode->getType().isUnsizedArray()) { + int newSize = getIoArrayImplicitSize(symbolNode->getType().getQualifier()); + if (newSize > 0) + symbolNode->getWritableType().changeOuterArraySize(newSize); + } +} + +// If there has been an input primitive declaration (geometry shader) or an output +// number of vertices declaration(tessellation shader), make sure all input array types +// match it in size. Types come either from nodes in the AST or symbols in the +// symbol table. +// +// Types without an array size will be given one. +// Types already having a size that is wrong will get an error. +// +void TParseContext::checkIoArraysConsistency(const TSourceLoc &loc, bool tailOnly) +{ + int requiredSize = 0; + TString featureString; + size_t listSize = ioArraySymbolResizeList.size(); + size_t i = 0; + + // If tailOnly = true, only check the last array symbol in the list. + if (tailOnly) { + i = listSize - 1; + } + for (bool firstIteration = true; i < listSize; ++i) { + TType &type = ioArraySymbolResizeList[i]->getWritableType(); + + // As I/O array sizes don't change, fetch requiredSize only once, + // except for mesh shaders which could have different I/O array sizes based on type qualifiers. + if (firstIteration || (language == EShLangMeshNV)) { + requiredSize = getIoArrayImplicitSize(type.getQualifier(), &featureString); + if (requiredSize == 0) + break; + firstIteration = false; + } + + checkIoArrayConsistency(loc, requiredSize, featureString.c_str(), type, + ioArraySymbolResizeList[i]->getName()); + } +} + +int TParseContext::getIoArrayImplicitSize(const TQualifier &qualifier, TString *featureString) const +{ + int expectedSize = 0; + TString str = "unknown"; + unsigned int maxVertices = intermediate.getVertices() != TQualifier::layoutNotSet ? intermediate.getVertices() : 0; + + if (language == EShLangGeometry) { + expectedSize = TQualifier::mapGeometryToSize(intermediate.getInputPrimitive()); + str = TQualifier::getGeometryString(intermediate.getInputPrimitive()); + } + else if (language == EShLangTessControl) { + expectedSize = maxVertices; + str = "vertices"; + } else if (language == EShLangFragment) { + // Number of vertices for Fragment shader is always three. + expectedSize = 3; + str = "vertices"; + } else if (language == EShLangMeshNV) { + unsigned int maxPrimitives = + intermediate.getPrimitives() != TQualifier::layoutNotSet ? intermediate.getPrimitives() : 0; + if (qualifier.builtIn == EbvPrimitiveIndicesNV) { + expectedSize = maxPrimitives * TQualifier::mapGeometryToSize(intermediate.getOutputPrimitive()); + str = "max_primitives*"; + str += TQualifier::getGeometryString(intermediate.getOutputPrimitive()); + } + else if (qualifier.isPerPrimitive()) { + expectedSize = maxPrimitives; + str = "max_primitives"; + } + else { + expectedSize = maxVertices; + str = "max_vertices"; + } + } + if (featureString) + *featureString = str; + return expectedSize; +} + +void TParseContext::checkIoArrayConsistency(const TSourceLoc& loc, int requiredSize, const char* feature, TType& type, const TString& name) +{ + if (type.isUnsizedArray()) + type.changeOuterArraySize(requiredSize); + else if (type.getOuterArraySize() != requiredSize) { + if (language == EShLangGeometry) + error(loc, "inconsistent input primitive for array size of", feature, name.c_str()); + else if (language == EShLangTessControl) + error(loc, "inconsistent output number of vertices for array size of", feature, name.c_str()); + else if (language == EShLangFragment) { + if (type.getOuterArraySize() > requiredSize) + error(loc, " cannot be greater than 3 for pervertexNV", feature, name.c_str()); + } + else if (language == EShLangMeshNV) + error(loc, "inconsistent output array size of", feature, name.c_str()); + else + assert(0); + } +} + +#endif // GLSLANG_WEB + +// Handle seeing a binary node with a math operation. +// Returns nullptr if not semantically allowed. +TIntermTyped* TParseContext::handleBinaryMath(const TSourceLoc& loc, const char* str, TOperator op, TIntermTyped* left, TIntermTyped* right) +{ + rValueErrorCheck(loc, str, left->getAsTyped()); + rValueErrorCheck(loc, str, right->getAsTyped()); + + bool allowed = true; + switch (op) { + // TODO: Bring more source language-specific checks up from intermediate.cpp + // to the specific parse helpers for that source language. + case EOpLessThan: + case EOpGreaterThan: + case EOpLessThanEqual: + case EOpGreaterThanEqual: + if (! left->isScalar() || ! right->isScalar()) + allowed = false; + break; + default: + break; + } + + if (((left->getType().contains16BitFloat() || right->getType().contains16BitFloat()) && !float16Arithmetic()) || + ((left->getType().contains16BitInt() || right->getType().contains16BitInt()) && !int16Arithmetic()) || + ((left->getType().contains8BitInt() || right->getType().contains8BitInt()) && !int8Arithmetic())) { + allowed = false; + } + + TIntermTyped* result = nullptr; + if (allowed) { + if ((left->isReference() || right->isReference())) + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference2, "buffer reference math"); + result = intermediate.addBinaryMath(op, left, right, loc); + } + + if (result == nullptr) + binaryOpError(loc, str, left->getCompleteString(), right->getCompleteString()); + + return result; +} + +// Handle seeing a unary node with a math operation. +TIntermTyped* TParseContext::handleUnaryMath(const TSourceLoc& loc, const char* str, TOperator op, TIntermTyped* childNode) +{ + rValueErrorCheck(loc, str, childNode); + + bool allowed = true; + if ((childNode->getType().contains16BitFloat() && !float16Arithmetic()) || + (childNode->getType().contains16BitInt() && !int16Arithmetic()) || + (childNode->getType().contains8BitInt() && !int8Arithmetic())) { + allowed = false; + } + + TIntermTyped* result = nullptr; + if (allowed) + result = intermediate.addUnaryMath(op, childNode, loc); + + if (result) + return result; + else + unaryOpError(loc, str, childNode->getCompleteString()); + + return childNode; +} + +// +// Handle seeing a base.field dereference in the grammar. +// +TIntermTyped* TParseContext::handleDotDereference(const TSourceLoc& loc, TIntermTyped* base, const TString& field) +{ + variableCheck(base); + + // + // .length() can't be resolved until we later see the function-calling syntax. + // Save away the name in the AST for now. Processing is completed in + // handleLengthMethod(). + // + if (field == "length") { + if (base->isArray()) { + profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, ".length"); + profileRequires(loc, EEsProfile, 300, nullptr, ".length"); + } else if (base->isVector() || base->isMatrix()) { + const char* feature = ".length() on vectors and matrices"; + requireProfile(loc, ~EEsProfile, feature); + profileRequires(loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, feature); + } else if (!base->getType().isCoopMat()) { + error(loc, "does not operate on this type:", field.c_str(), base->getType().getCompleteString().c_str()); + + return base; + } + + return intermediate.addMethod(base, TType(EbtInt), &field, loc); + } + + // It's not .length() if we get to here. + + if (base->isArray()) { + error(loc, "cannot apply to an array:", ".", field.c_str()); + + return base; + } + + if (base->getType().isCoopMat()) { + error(loc, "cannot apply to a cooperative matrix type:", ".", field.c_str()); + return base; + } + + // It's neither an array nor .length() if we get here, + // leaving swizzles and struct/block dereferences. + + TIntermTyped* result = base; + if ((base->isVector() || base->isScalar()) && + (base->isFloatingDomain() || base->isIntegerDomain() || base->getBasicType() == EbtBool)) { + result = handleDotSwizzle(loc, base, field); + } else if (base->isStruct() || base->isReference()) { + const TTypeList* fields = base->isReference() ? + base->getType().getReferentType()->getStruct() : + base->getType().getStruct(); + bool fieldFound = false; + int member; + for (member = 0; member < (int)fields->size(); ++member) { + if ((*fields)[member].type->getFieldName() == field) { + fieldFound = true; + break; + } + } + if (fieldFound) { + if (base->getType().getQualifier().isFrontEndConstant()) + result = intermediate.foldDereference(base, member, loc); + else { + blockMemberExtensionCheck(loc, base, member, field); + TIntermTyped* index = intermediate.addConstantUnion(member, loc); + result = intermediate.addIndex(EOpIndexDirectStruct, base, index, loc); + result->setType(*(*fields)[member].type); + if ((*fields)[member].type->getQualifier().isIo()) + intermediate.addIoAccessed(field); + } + inheritMemoryQualifiers(base->getQualifier(), result->getWritableType().getQualifier()); + } else + error(loc, "no such field in structure", field.c_str(), ""); + } else + error(loc, "does not apply to this type:", field.c_str(), base->getType().getCompleteString().c_str()); + + // Propagate noContraction up the dereference chain + if (base->getQualifier().isNoContraction()) + result->getWritableType().getQualifier().setNoContraction(); + + // Propagate nonuniform + if (base->getQualifier().isNonUniform()) + result->getWritableType().getQualifier().nonUniform = true; + + return result; +} + +// +// Handle seeing a base.swizzle, a subset of base.identifier in the grammar. +// +TIntermTyped* TParseContext::handleDotSwizzle(const TSourceLoc& loc, TIntermTyped* base, const TString& field) +{ + TIntermTyped* result = base; + if (base->isScalar()) { + const char* dotFeature = "scalar swizzle"; + requireProfile(loc, ~EEsProfile, dotFeature); + profileRequires(loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, dotFeature); + } + + TSwizzleSelectors selectors; + parseSwizzleSelector(loc, field, base->getVectorSize(), selectors); + + if (base->isVector() && selectors.size() != 1 && base->getType().contains16BitFloat()) + requireFloat16Arithmetic(loc, ".", "can't swizzle types containing float16"); + if (base->isVector() && selectors.size() != 1 && base->getType().contains16BitInt()) + requireInt16Arithmetic(loc, ".", "can't swizzle types containing (u)int16"); + if (base->isVector() && selectors.size() != 1 && base->getType().contains8BitInt()) + requireInt8Arithmetic(loc, ".", "can't swizzle types containing (u)int8"); + + if (base->isScalar()) { + if (selectors.size() == 1) + return result; + else { + TType type(base->getBasicType(), EvqTemporary, selectors.size()); + // Swizzle operations propagate specialization-constantness + if (base->getQualifier().isSpecConstant()) + type.getQualifier().makeSpecConstant(); + return addConstructor(loc, base, type); + } + } + + if (base->getType().getQualifier().isFrontEndConstant()) + result = intermediate.foldSwizzle(base, selectors, loc); + else { + if (selectors.size() == 1) { + TIntermTyped* index = intermediate.addConstantUnion(selectors[0], loc); + result = intermediate.addIndex(EOpIndexDirect, base, index, loc); + result->setType(TType(base->getBasicType(), EvqTemporary, base->getType().getQualifier().precision)); + } else { + TIntermTyped* index = intermediate.addSwizzle(selectors, loc); + result = intermediate.addIndex(EOpVectorSwizzle, base, index, loc); + result->setType(TType(base->getBasicType(), EvqTemporary, base->getType().getQualifier().precision, selectors.size())); + } + // Swizzle operations propagate specialization-constantness + if (base->getType().getQualifier().isSpecConstant()) + result->getWritableType().getQualifier().makeSpecConstant(); + } + + return result; +} + +void TParseContext::blockMemberExtensionCheck(const TSourceLoc& loc, const TIntermTyped* base, int member, const TString& memberName) +{ + // a block that needs extension checking is either 'base', or if arrayed, + // one level removed to the left + const TIntermSymbol* baseSymbol = nullptr; + if (base->getAsBinaryNode() == nullptr) + baseSymbol = base->getAsSymbolNode(); + else + baseSymbol = base->getAsBinaryNode()->getLeft()->getAsSymbolNode(); + if (baseSymbol == nullptr) + return; + const TSymbol* symbol = symbolTable.find(baseSymbol->getName()); + if (symbol == nullptr) + return; + const TVariable* variable = symbol->getAsVariable(); + if (variable == nullptr) + return; + if (!variable->hasMemberExtensions()) + return; + + // We now have a variable that is the base of a dot reference + // with members that need extension checking. + if (variable->getNumMemberExtensions(member) > 0) + requireExtensions(loc, variable->getNumMemberExtensions(member), variable->getMemberExtensions(member), memberName.c_str()); +} + +// +// Handle seeing a function declarator in the grammar. This is the precursor +// to recognizing a function prototype or function definition. +// +TFunction* TParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFunction& function, bool prototype) +{ + // ES can't declare prototypes inside functions + if (! symbolTable.atGlobalLevel()) + requireProfile(loc, ~EEsProfile, "local function declaration"); + + // + // Multiple declarations of the same function name are allowed. + // + // If this is a definition, the definition production code will check for redefinitions + // (we don't know at this point if it's a definition or not). + // + // Redeclarations (full signature match) are allowed. But, return types and parameter qualifiers must also match. + // - except ES 100, which only allows a single prototype + // + // ES 100 does not allow redefining, but does allow overloading of built-in functions. + // ES 300 does not allow redefining or overloading of built-in functions. + // + bool builtIn; + TSymbol* symbol = symbolTable.find(function.getMangledName(), &builtIn); + if (symbol && symbol->getAsFunction() && builtIn) + requireProfile(loc, ~EEsProfile, "redefinition of built-in function"); + const TFunction* prevDec = symbol ? symbol->getAsFunction() : 0; + if (prevDec) { + if (prevDec->isPrototyped() && prototype) + profileRequires(loc, EEsProfile, 300, nullptr, "multiple prototypes for same function"); + if (prevDec->getType() != function.getType()) + error(loc, "overloaded functions must have the same return type", function.getName().c_str(), ""); + for (int i = 0; i < prevDec->getParamCount(); ++i) { + if ((*prevDec)[i].type->getQualifier().storage != function[i].type->getQualifier().storage) + error(loc, "overloaded functions must have the same parameter storage qualifiers for argument", function[i].type->getStorageQualifierString(), "%d", i+1); + + if ((*prevDec)[i].type->getQualifier().precision != function[i].type->getQualifier().precision) + error(loc, "overloaded functions must have the same parameter precision qualifiers for argument", function[i].type->getPrecisionQualifierString(), "%d", i+1); + } + } + + arrayObjectCheck(loc, function.getType(), "array in function return type"); + + if (prototype) { + // All built-in functions are defined, even though they don't have a body. + // Count their prototype as a definition instead. + if (symbolTable.atBuiltInLevel()) + function.setDefined(); + else { + if (prevDec && ! builtIn) + symbol->getAsFunction()->setPrototyped(); // need a writable one, but like having prevDec as a const + function.setPrototyped(); + } + } + + // This insert won't actually insert it if it's a duplicate signature, but it will still check for + // other forms of name collisions. + if (! symbolTable.insert(function)) + error(loc, "function name is redeclaration of existing name", function.getName().c_str(), ""); + + // + // If this is a redeclaration, it could also be a definition, + // in which case, we need to use the parameter names from this one, and not the one that's + // being redeclared. So, pass back this declaration, not the one in the symbol table. + // + return &function; +} + +// +// Handle seeing the function prototype in front of a function definition in the grammar. +// The body is handled after this function returns. +// +TIntermAggregate* TParseContext::handleFunctionDefinition(const TSourceLoc& loc, TFunction& function) +{ + currentCaller = function.getMangledName(); + TSymbol* symbol = symbolTable.find(function.getMangledName()); + TFunction* prevDec = symbol ? symbol->getAsFunction() : nullptr; + + if (! prevDec) + error(loc, "can't find function", function.getName().c_str(), ""); + // Note: 'prevDec' could be 'function' if this is the first time we've seen function + // as it would have just been put in the symbol table. Otherwise, we're looking up + // an earlier occurrence. + + if (prevDec && prevDec->isDefined()) { + // Then this function already has a body. + error(loc, "function already has a body", function.getName().c_str(), ""); + } + if (prevDec && ! prevDec->isDefined()) { + prevDec->setDefined(); + + // Remember the return type for later checking for RETURN statements. + currentFunctionType = &(prevDec->getType()); + } else + currentFunctionType = new TType(EbtVoid); + functionReturnsValue = false; + + // Check for entry point + if (function.getName().compare(intermediate.getEntryPointName().c_str()) == 0) { + intermediate.setEntryPointMangledName(function.getMangledName().c_str()); + intermediate.incrementEntryPointCount(); + inMain = true; + } else + inMain = false; + + // + // Raise error message if main function takes any parameters or returns anything other than void + // + if (inMain) { + if (function.getParamCount() > 0) + error(loc, "function cannot take any parameter(s)", function.getName().c_str(), ""); + if (function.getType().getBasicType() != EbtVoid) + error(loc, "", function.getType().getBasicTypeString().c_str(), "entry point cannot return a value"); + } + + // + // New symbol table scope for body of function plus its arguments + // + symbolTable.push(); + + // + // Insert parameters into the symbol table. + // If the parameter has no name, it's not an error, just don't insert it + // (could be used for unused args). + // + // Also, accumulate the list of parameters into the HIL, so lower level code + // knows where to find parameters. + // + TIntermAggregate* paramNodes = new TIntermAggregate; + for (int i = 0; i < function.getParamCount(); i++) { + TParameter& param = function[i]; + if (param.name != nullptr) { + TVariable *variable = new TVariable(param.name, *param.type); + + // Insert the parameters with name in the symbol table. + if (! symbolTable.insert(*variable)) + error(loc, "redefinition", variable->getName().c_str(), ""); + else { + // Transfer ownership of name pointer to symbol table. + param.name = nullptr; + + // Add the parameter to the HIL + paramNodes = intermediate.growAggregate(paramNodes, + intermediate.addSymbol(*variable, loc), + loc); + } + } else + paramNodes = intermediate.growAggregate(paramNodes, intermediate.addSymbol(*param.type, loc), loc); + } + intermediate.setAggregateOperator(paramNodes, EOpParameters, TType(EbtVoid), loc); + loopNestingLevel = 0; + statementNestingLevel = 0; + controlFlowNestingLevel = 0; + postEntryPointReturn = false; + + return paramNodes; +} + +// +// Handle seeing function call syntax in the grammar, which could be any of +// - .length() method +// - constructor +// - a call to a built-in function mapped to an operator +// - a call to a built-in function that will remain a function call (e.g., texturing) +// - user function +// - subroutine call (not implemented yet) +// +TIntermTyped* TParseContext::handleFunctionCall(const TSourceLoc& loc, TFunction* function, TIntermNode* arguments) +{ + TIntermTyped* result = nullptr; + + if (function->getBuiltInOp() == EOpArrayLength) + result = handleLengthMethod(loc, function, arguments); + else if (function->getBuiltInOp() != EOpNull) { + // + // Then this should be a constructor. + // Don't go through the symbol table for constructors. + // Their parameters will be verified algorithmically. + // + TType type(EbtVoid); // use this to get the type back + if (! constructorError(loc, arguments, *function, function->getBuiltInOp(), type)) { + // + // It's a constructor, of type 'type'. + // + result = addConstructor(loc, arguments, type); + if (result == nullptr) + error(loc, "cannot construct with these arguments", type.getCompleteString().c_str(), ""); + } + } else { + // + // Find it in the symbol table. + // + const TFunction* fnCandidate; + bool builtIn; + fnCandidate = findFunction(loc, *function, builtIn); + if (fnCandidate) { + // This is a declared function that might map to + // - a built-in operator, + // - a built-in function not mapped to an operator, or + // - a user function. + + // Error check for a function requiring specific extensions present. + if (builtIn && fnCandidate->getNumExtensions()) + requireExtensions(loc, fnCandidate->getNumExtensions(), fnCandidate->getExtensions(), fnCandidate->getName().c_str()); + + if (builtIn && fnCandidate->getType().contains16BitFloat()) + requireFloat16Arithmetic(loc, "built-in function", "float16 types can only be in uniform block or buffer storage"); + if (builtIn && fnCandidate->getType().contains16BitInt()) + requireInt16Arithmetic(loc, "built-in function", "(u)int16 types can only be in uniform block or buffer storage"); + if (builtIn && fnCandidate->getType().contains8BitInt()) + requireInt8Arithmetic(loc, "built-in function", "(u)int8 types can only be in uniform block or buffer storage"); + + if (arguments != nullptr) { + // Make sure qualifications work for these arguments. + TIntermAggregate* aggregate = arguments->getAsAggregate(); + for (int i = 0; i < fnCandidate->getParamCount(); ++i) { + // At this early point there is a slight ambiguity between whether an aggregate 'arguments' + // is the single argument itself or its children are the arguments. Only one argument + // means take 'arguments' itself as the one argument. + TIntermNode* arg = fnCandidate->getParamCount() == 1 ? arguments : (aggregate ? aggregate->getSequence()[i] : arguments); + TQualifier& formalQualifier = (*fnCandidate)[i].type->getQualifier(); + if (formalQualifier.isParamOutput()) { + if (lValueErrorCheck(arguments->getLoc(), "assign", arg->getAsTyped())) + error(arguments->getLoc(), "Non-L-value cannot be passed for 'out' or 'inout' parameters.", "out", ""); + } + const TType& argType = arg->getAsTyped()->getType(); + const TQualifier& argQualifier = argType.getQualifier(); + if (argQualifier.isMemory() && (argType.containsOpaque() || argType.isReference())) { + const char* message = "argument cannot drop memory qualifier when passed to formal parameter"; +#ifndef GLSLANG_WEB + if (argQualifier.volatil && ! formalQualifier.volatil) + error(arguments->getLoc(), message, "volatile", ""); + if (argQualifier.coherent && ! (formalQualifier.devicecoherent || formalQualifier.coherent)) + error(arguments->getLoc(), message, "coherent", ""); + if (argQualifier.devicecoherent && ! (formalQualifier.devicecoherent || formalQualifier.coherent)) + error(arguments->getLoc(), message, "devicecoherent", ""); + if (argQualifier.queuefamilycoherent && ! (formalQualifier.queuefamilycoherent || formalQualifier.devicecoherent || formalQualifier.coherent)) + error(arguments->getLoc(), message, "queuefamilycoherent", ""); + if (argQualifier.workgroupcoherent && ! (formalQualifier.workgroupcoherent || formalQualifier.queuefamilycoherent || formalQualifier.devicecoherent || formalQualifier.coherent)) + error(arguments->getLoc(), message, "workgroupcoherent", ""); + if (argQualifier.subgroupcoherent && ! (formalQualifier.subgroupcoherent || formalQualifier.workgroupcoherent || formalQualifier.queuefamilycoherent || formalQualifier.devicecoherent || formalQualifier.coherent)) + error(arguments->getLoc(), message, "subgroupcoherent", ""); + if (argQualifier.readonly && ! formalQualifier.readonly) + error(arguments->getLoc(), message, "readonly", ""); + if (argQualifier.writeonly && ! formalQualifier.writeonly) + error(arguments->getLoc(), message, "writeonly", ""); + // Don't check 'restrict', it is different than the rest: + // "...but only restrict can be taken away from a calling argument, by a formal parameter that + // lacks the restrict qualifier..." +#endif + } + if (!builtIn && argQualifier.getFormat() != formalQualifier.getFormat()) { + // we have mismatched formats, which should only be allowed if writeonly + // and at least one format is unknown + if (!formalQualifier.isWriteOnly() || (formalQualifier.getFormat() != ElfNone && + argQualifier.getFormat() != ElfNone)) + error(arguments->getLoc(), "image formats must match", "format", ""); + } + if (builtIn && arg->getAsTyped()->getType().contains16BitFloat()) + requireFloat16Arithmetic(arguments->getLoc(), "built-in function", "float16 types can only be in uniform block or buffer storage"); + if (builtIn && arg->getAsTyped()->getType().contains16BitInt()) + requireInt16Arithmetic(arguments->getLoc(), "built-in function", "(u)int16 types can only be in uniform block or buffer storage"); + if (builtIn && arg->getAsTyped()->getType().contains8BitInt()) + requireInt8Arithmetic(arguments->getLoc(), "built-in function", "(u)int8 types can only be in uniform block or buffer storage"); + + // TODO 4.5 functionality: A shader will fail to compile + // if the value passed to the memargument of an atomic memory function does not correspond to a buffer or + // shared variable. It is acceptable to pass an element of an array or a single component of a vector to the + // memargument of an atomic memory function, as long as the underlying array or vector is a buffer or + // shared variable. + } + + // Convert 'in' arguments + addInputArgumentConversions(*fnCandidate, arguments); // arguments may be modified if it's just a single argument node + } + + if (builtIn && fnCandidate->getBuiltInOp() != EOpNull) { + // A function call mapped to a built-in operation. + result = handleBuiltInFunctionCall(loc, arguments, *fnCandidate); + } else { + // This is a function call not mapped to built-in operator. + // It could still be a built-in function, but only if PureOperatorBuiltins == false. + result = intermediate.setAggregateOperator(arguments, EOpFunctionCall, fnCandidate->getType(), loc); + TIntermAggregate* call = result->getAsAggregate(); + call->setName(fnCandidate->getMangledName()); + + // this is how we know whether the given function is a built-in function or a user-defined function + // if builtIn == false, it's a userDefined -> could be an overloaded built-in function also + // if builtIn == true, it's definitely a built-in function with EOpNull + if (! builtIn) { + call->setUserDefined(); + if (symbolTable.atGlobalLevel()) { + requireProfile(loc, ~EEsProfile, "calling user function from global scope"); + intermediate.addToCallGraph(infoSink, "main(", fnCandidate->getMangledName()); + } else + intermediate.addToCallGraph(infoSink, currentCaller, fnCandidate->getMangledName()); + } + +#ifndef GLSLANG_WEB + if (builtIn) + nonOpBuiltInCheck(loc, *fnCandidate, *call); + else +#endif + userFunctionCallCheck(loc, *call); + } + + // Convert 'out' arguments. If it was a constant folded built-in, it won't be an aggregate anymore. + // Built-ins with a single argument aren't called with an aggregate, but they also don't have an output. + // Also, build the qualifier list for user function calls, which are always called with an aggregate. + if (result->getAsAggregate()) { + TQualifierList& qualifierList = result->getAsAggregate()->getQualifierList(); + for (int i = 0; i < fnCandidate->getParamCount(); ++i) { + TStorageQualifier qual = (*fnCandidate)[i].type->getQualifier().storage; + qualifierList.push_back(qual); + } + result = addOutputArgumentConversions(*fnCandidate, *result->getAsAggregate()); + } + + if (result->getAsTyped()->getType().isCoopMat() && + !result->getAsTyped()->getType().isParameterized()) { + assert(fnCandidate->getBuiltInOp() == EOpCooperativeMatrixMulAdd); + + result->setType(result->getAsAggregate()->getSequence()[2]->getAsTyped()->getType()); + } + } + } + + // generic error recovery + // TODO: simplification: localize all the error recoveries that look like this, and taking type into account to reduce cascades + if (result == nullptr) + result = intermediate.addConstantUnion(0.0, EbtFloat, loc); + + return result; +} + +TIntermTyped* TParseContext::handleBuiltInFunctionCall(TSourceLoc loc, TIntermNode* arguments, + const TFunction& function) +{ + checkLocation(loc, function.getBuiltInOp()); + TIntermTyped *result = intermediate.addBuiltInFunctionCall(loc, function.getBuiltInOp(), + function.getParamCount() == 1, + arguments, function.getType()); + if (result != nullptr && obeyPrecisionQualifiers()) + computeBuiltinPrecisions(*result, function); + + if (result == nullptr) { + if (arguments == nullptr) + error(loc, " wrong operand type", "Internal Error", + "built in unary operator function. Type: %s", ""); + else + error(arguments->getLoc(), " wrong operand type", "Internal Error", + "built in unary operator function. Type: %s", + static_cast(arguments)->getCompleteString().c_str()); + } else if (result->getAsOperator()) + builtInOpCheck(loc, function, *result->getAsOperator()); + + return result; +} + +// "The operation of a built-in function can have a different precision +// qualification than the precision qualification of the resulting value. +// These two precision qualifications are established as follows. +// +// The precision qualification of the operation of a built-in function is +// based on the precision qualification of its input arguments and formal +// parameters: When a formal parameter specifies a precision qualifier, +// that is used, otherwise, the precision qualification of the calling +// argument is used. The highest precision of these will be the precision +// qualification of the operation of the built-in function. Generally, +// this is applied across all arguments to a built-in function, with the +// exceptions being: +// - bitfieldExtract and bitfieldInsert ignore the 'offset' and 'bits' +// arguments. +// - interpolateAt* functions only look at the 'interpolant' argument. +// +// The precision qualification of the result of a built-in function is +// determined in one of the following ways: +// +// - For the texture sampling, image load, and image store functions, +// the precision of the return type matches the precision of the +// sampler type +// +// Otherwise: +// +// - For prototypes that do not specify a resulting precision qualifier, +// the precision will be the same as the precision of the operation. +// +// - For prototypes that do specify a resulting precision qualifier, +// the specified precision qualifier is the precision qualification of +// the result." +// +void TParseContext::computeBuiltinPrecisions(TIntermTyped& node, const TFunction& function) +{ + TPrecisionQualifier operationPrecision = EpqNone; + TPrecisionQualifier resultPrecision = EpqNone; + + TIntermOperator* opNode = node.getAsOperator(); + if (opNode == nullptr) + return; + + if (TIntermUnary* unaryNode = node.getAsUnaryNode()) { + operationPrecision = std::max(function[0].type->getQualifier().precision, + unaryNode->getOperand()->getType().getQualifier().precision); + if (function.getType().getBasicType() != EbtBool) + resultPrecision = function.getType().getQualifier().precision == EpqNone ? + operationPrecision : + function.getType().getQualifier().precision; + } else if (TIntermAggregate* agg = node.getAsAggregate()) { + TIntermSequence& sequence = agg->getSequence(); + unsigned int numArgs = (unsigned int)sequence.size(); + switch (agg->getOp()) { + case EOpBitfieldExtract: + numArgs = 1; + break; + case EOpBitfieldInsert: + numArgs = 2; + break; + case EOpInterpolateAtCentroid: + case EOpInterpolateAtOffset: + case EOpInterpolateAtSample: + numArgs = 1; + break; + case EOpDebugPrintf: + numArgs = 0; + break; + default: + break; + } + // find the maximum precision from the arguments and parameters + for (unsigned int arg = 0; arg < numArgs; ++arg) { + operationPrecision = std::max(operationPrecision, sequence[arg]->getAsTyped()->getQualifier().precision); + operationPrecision = std::max(operationPrecision, function[arg].type->getQualifier().precision); + } + // compute the result precision + if (agg->isSampling() || + agg->getOp() == EOpImageLoad || agg->getOp() == EOpImageStore || + agg->getOp() == EOpImageLoadLod || agg->getOp() == EOpImageStoreLod) + resultPrecision = sequence[0]->getAsTyped()->getQualifier().precision; + else if (function.getType().getBasicType() != EbtBool) + resultPrecision = function.getType().getQualifier().precision == EpqNone ? + operationPrecision : + function.getType().getQualifier().precision; + } + + // Propagate precision through this node and its children. That algorithm stops + // when a precision is found, so start by clearing this subroot precision + opNode->getQualifier().precision = EpqNone; + if (operationPrecision != EpqNone) { + opNode->propagatePrecision(operationPrecision); + opNode->setOperationPrecision(operationPrecision); + } + // Now, set the result precision, which might not match + opNode->getQualifier().precision = resultPrecision; +} + +TIntermNode* TParseContext::handleReturnValue(const TSourceLoc& loc, TIntermTyped* value) +{ +#ifndef GLSLANG_WEB + storage16BitAssignmentCheck(loc, value->getType(), "return"); +#endif + + functionReturnsValue = true; + TIntermBranch* branch = nullptr; + if (currentFunctionType->getBasicType() == EbtVoid) { + error(loc, "void function cannot return a value", "return", ""); + branch = intermediate.addBranch(EOpReturn, loc); + } else if (*currentFunctionType != value->getType()) { + TIntermTyped* converted = intermediate.addConversion(EOpReturn, *currentFunctionType, value); + if (converted) { + if (*currentFunctionType != converted->getType()) + error(loc, "cannot convert return value to function return type", "return", ""); + if (version < 420) + warn(loc, "type conversion on return values was not explicitly allowed until version 420", + "return", ""); + branch = intermediate.addBranch(EOpReturn, converted, loc); + } else { + error(loc, "type does not match, or is not convertible to, the function's return type", "return", ""); + branch = intermediate.addBranch(EOpReturn, value, loc); + } + } else + branch = intermediate.addBranch(EOpReturn, value, loc); + + branch->updatePrecision(currentFunctionType->getQualifier().precision); + return branch; +} + +// See if the operation is being done in an illegal location. +void TParseContext::checkLocation(const TSourceLoc& loc, TOperator op) +{ +#ifndef GLSLANG_WEB + switch (op) { + case EOpBarrier: + if (language == EShLangTessControl) { + if (controlFlowNestingLevel > 0) + error(loc, "tessellation control barrier() cannot be placed within flow control", "", ""); + if (! inMain) + error(loc, "tessellation control barrier() must be in main()", "", ""); + else if (postEntryPointReturn) + error(loc, "tessellation control barrier() cannot be placed after a return from main()", "", ""); + } + break; + case EOpBeginInvocationInterlock: + if (language != EShLangFragment) + error(loc, "beginInvocationInterlockARB() must be in a fragment shader", "", ""); + if (! inMain) + error(loc, "beginInvocationInterlockARB() must be in main()", "", ""); + else if (postEntryPointReturn) + error(loc, "beginInvocationInterlockARB() cannot be placed after a return from main()", "", ""); + if (controlFlowNestingLevel > 0) + error(loc, "beginInvocationInterlockARB() cannot be placed within flow control", "", ""); + + if (beginInvocationInterlockCount > 0) + error(loc, "beginInvocationInterlockARB() must only be called once", "", ""); + if (endInvocationInterlockCount > 0) + error(loc, "beginInvocationInterlockARB() must be called before endInvocationInterlockARB()", "", ""); + + beginInvocationInterlockCount++; + + // default to pixel_interlock_ordered + if (intermediate.getInterlockOrdering() == EioNone) + intermediate.setInterlockOrdering(EioPixelInterlockOrdered); + break; + case EOpEndInvocationInterlock: + if (language != EShLangFragment) + error(loc, "endInvocationInterlockARB() must be in a fragment shader", "", ""); + if (! inMain) + error(loc, "endInvocationInterlockARB() must be in main()", "", ""); + else if (postEntryPointReturn) + error(loc, "endInvocationInterlockARB() cannot be placed after a return from main()", "", ""); + if (controlFlowNestingLevel > 0) + error(loc, "endInvocationInterlockARB() cannot be placed within flow control", "", ""); + + if (endInvocationInterlockCount > 0) + error(loc, "endInvocationInterlockARB() must only be called once", "", ""); + if (beginInvocationInterlockCount == 0) + error(loc, "beginInvocationInterlockARB() must be called before endInvocationInterlockARB()", "", ""); + + endInvocationInterlockCount++; + break; + default: + break; + } +#endif +} + +// Finish processing object.length(). This started earlier in handleDotDereference(), where +// the ".length" part was recognized and semantically checked, and finished here where the +// function syntax "()" is recognized. +// +// Return resulting tree node. +TIntermTyped* TParseContext::handleLengthMethod(const TSourceLoc& loc, TFunction* function, TIntermNode* intermNode) +{ + int length = 0; + + if (function->getParamCount() > 0) + error(loc, "method does not accept any arguments", function->getName().c_str(), ""); + else { + const TType& type = intermNode->getAsTyped()->getType(); + if (type.isArray()) { + if (type.isUnsizedArray()) { +#ifndef GLSLANG_WEB + if (intermNode->getAsSymbolNode() && isIoResizeArray(type)) { + // We could be between a layout declaration that gives a built-in io array implicit size and + // a user redeclaration of that array, meaning we have to substitute its implicit size here + // without actually redeclaring the array. (It is an error to use a member before the + // redeclaration, but not an error to use the array name itself.) + const TString& name = intermNode->getAsSymbolNode()->getName(); + if (name == "gl_in" || name == "gl_out" || name == "gl_MeshVerticesNV" || + name == "gl_MeshPrimitivesNV") { + length = getIoArrayImplicitSize(type.getQualifier()); + } + } +#endif + if (length == 0) { +#ifndef GLSLANG_WEB + if (intermNode->getAsSymbolNode() && isIoResizeArray(type)) + error(loc, "", function->getName().c_str(), "array must first be sized by a redeclaration or layout qualifier"); + else if (isRuntimeLength(*intermNode->getAsTyped())) { + // Create a unary op and let the back end handle it + return intermediate.addBuiltInFunctionCall(loc, EOpArrayLength, true, intermNode, TType(EbtInt)); + } else +#endif + error(loc, "", function->getName().c_str(), "array must be declared with a size before using this method"); + } + } else if (type.getOuterArrayNode()) { + // If the array's outer size is specified by an intermediate node, it means the array's length + // was specified by a specialization constant. In such a case, we should return the node of the + // specialization constants to represent the length. + return type.getOuterArrayNode(); + } else + length = type.getOuterArraySize(); + } else if (type.isMatrix()) + length = type.getMatrixCols(); + else if (type.isVector()) + length = type.getVectorSize(); + else if (type.isCoopMat()) + return intermediate.addBuiltInFunctionCall(loc, EOpArrayLength, true, intermNode, TType(EbtInt)); + else { + // we should not get here, because earlier semantic checking should have prevented this path + error(loc, ".length()", "unexpected use of .length()", ""); + } + } + + if (length == 0) + length = 1; + + return intermediate.addConstantUnion(length, loc); +} + +// +// Add any needed implicit conversions for function-call arguments to input parameters. +// +void TParseContext::addInputArgumentConversions(const TFunction& function, TIntermNode*& arguments) const +{ +#ifndef GLSLANG_WEB + TIntermAggregate* aggregate = arguments->getAsAggregate(); + + // Process each argument's conversion + for (int i = 0; i < function.getParamCount(); ++i) { + // At this early point there is a slight ambiguity between whether an aggregate 'arguments' + // is the single argument itself or its children are the arguments. Only one argument + // means take 'arguments' itself as the one argument. + TIntermTyped* arg = function.getParamCount() == 1 ? arguments->getAsTyped() : (aggregate ? aggregate->getSequence()[i]->getAsTyped() : arguments->getAsTyped()); + if (*function[i].type != arg->getType()) { + if (function[i].type->getQualifier().isParamInput() && + !function[i].type->isCoopMat()) { + // In-qualified arguments just need an extra node added above the argument to + // convert to the correct type. + arg = intermediate.addConversion(EOpFunctionCall, *function[i].type, arg); + if (arg) { + if (function.getParamCount() == 1) + arguments = arg; + else { + if (aggregate) + aggregate->getSequence()[i] = arg; + else + arguments = arg; + } + } + } + } + } +#endif +} + +// +// Add any needed implicit output conversions for function-call arguments. This +// can require a new tree topology, complicated further by whether the function +// has a return value. +// +// Returns a node of a subtree that evaluates to the return value of the function. +// +TIntermTyped* TParseContext::addOutputArgumentConversions(const TFunction& function, TIntermAggregate& intermNode) const +{ +#ifdef GLSLANG_WEB + return &intermNode; +#else + TIntermSequence& arguments = intermNode.getSequence(); + + // Will there be any output conversions? + bool outputConversions = false; + for (int i = 0; i < function.getParamCount(); ++i) { + if (*function[i].type != arguments[i]->getAsTyped()->getType() && function[i].type->getQualifier().isParamOutput()) { + outputConversions = true; + break; + } + } + + if (! outputConversions) + return &intermNode; + + // Setup for the new tree, if needed: + // + // Output conversions need a different tree topology. + // Out-qualified arguments need a temporary of the correct type, with the call + // followed by an assignment of the temporary to the original argument: + // void: function(arg, ...) -> ( function(tempArg, ...), arg = tempArg, ...) + // ret = function(arg, ...) -> ret = (tempRet = function(tempArg, ...), arg = tempArg, ..., tempRet) + // Where the "tempArg" type needs no conversion as an argument, but will convert on assignment. + TIntermTyped* conversionTree = nullptr; + TVariable* tempRet = nullptr; + if (intermNode.getBasicType() != EbtVoid) { + // do the "tempRet = function(...), " bit from above + tempRet = makeInternalVariable("tempReturn", intermNode.getType()); + TIntermSymbol* tempRetNode = intermediate.addSymbol(*tempRet, intermNode.getLoc()); + conversionTree = intermediate.addAssign(EOpAssign, tempRetNode, &intermNode, intermNode.getLoc()); + } else + conversionTree = &intermNode; + + conversionTree = intermediate.makeAggregate(conversionTree); + + // Process each argument's conversion + for (int i = 0; i < function.getParamCount(); ++i) { + if (*function[i].type != arguments[i]->getAsTyped()->getType()) { + if (function[i].type->getQualifier().isParamOutput()) { + // Out-qualified arguments need to use the topology set up above. + // do the " ...(tempArg, ...), arg = tempArg" bit from above + TType paramType; + paramType.shallowCopy(*function[i].type); + if (arguments[i]->getAsTyped()->getType().isParameterized() && + !paramType.isParameterized()) { + paramType.shallowCopy(arguments[i]->getAsTyped()->getType()); + paramType.copyTypeParameters(*arguments[i]->getAsTyped()->getType().getTypeParameters()); + } + TVariable* tempArg = makeInternalVariable("tempArg", paramType); + tempArg->getWritableType().getQualifier().makeTemporary(); + TIntermSymbol* tempArgNode = intermediate.addSymbol(*tempArg, intermNode.getLoc()); + TIntermTyped* tempAssign = intermediate.addAssign(EOpAssign, arguments[i]->getAsTyped(), tempArgNode, arguments[i]->getLoc()); + conversionTree = intermediate.growAggregate(conversionTree, tempAssign, arguments[i]->getLoc()); + // replace the argument with another node for the same tempArg variable + arguments[i] = intermediate.addSymbol(*tempArg, intermNode.getLoc()); + } + } + } + + // Finalize the tree topology (see bigger comment above). + if (tempRet) { + // do the "..., tempRet" bit from above + TIntermSymbol* tempRetNode = intermediate.addSymbol(*tempRet, intermNode.getLoc()); + conversionTree = intermediate.growAggregate(conversionTree, tempRetNode, intermNode.getLoc()); + } + conversionTree = intermediate.setAggregateOperator(conversionTree, EOpComma, intermNode.getType(), intermNode.getLoc()); + + return conversionTree; +#endif +} + +TIntermTyped* TParseContext::addAssign(const TSourceLoc& loc, TOperator op, TIntermTyped* left, TIntermTyped* right) +{ + if ((op == EOpAddAssign || op == EOpSubAssign) && left->isReference()) + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference2, "+= and -= on a buffer reference"); + + return intermediate.addAssign(op, left, right, loc); +} + +void TParseContext::memorySemanticsCheck(const TSourceLoc& loc, const TFunction& fnCandidate, const TIntermOperator& callNode) +{ + const TIntermSequence* argp = &callNode.getAsAggregate()->getSequence(); + + //const int gl_SemanticsRelaxed = 0x0; + const int gl_SemanticsAcquire = 0x2; + const int gl_SemanticsRelease = 0x4; + const int gl_SemanticsAcquireRelease = 0x8; + const int gl_SemanticsMakeAvailable = 0x2000; + const int gl_SemanticsMakeVisible = 0x4000; + const int gl_SemanticsVolatile = 0x8000; + + //const int gl_StorageSemanticsNone = 0x0; + const int gl_StorageSemanticsBuffer = 0x40; + const int gl_StorageSemanticsShared = 0x100; + const int gl_StorageSemanticsImage = 0x800; + const int gl_StorageSemanticsOutput = 0x1000; + + + unsigned int semantics = 0, storageClassSemantics = 0; + unsigned int semantics2 = 0, storageClassSemantics2 = 0; + + const TIntermTyped* arg0 = (*argp)[0]->getAsTyped(); + const bool isMS = arg0->getBasicType() == EbtSampler && arg0->getType().getSampler().isMultiSample(); + + // Grab the semantics and storage class semantics from the operands, based on opcode + switch (callNode.getOp()) { + case EOpAtomicAdd: + case EOpAtomicMin: + case EOpAtomicMax: + case EOpAtomicAnd: + case EOpAtomicOr: + case EOpAtomicXor: + case EOpAtomicExchange: + case EOpAtomicStore: + storageClassSemantics = (*argp)[3]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[4]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + case EOpAtomicLoad: + storageClassSemantics = (*argp)[2]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[3]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + case EOpAtomicCompSwap: + storageClassSemantics = (*argp)[4]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[5]->getAsConstantUnion()->getConstArray()[0].getIConst(); + storageClassSemantics2 = (*argp)[6]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics2 = (*argp)[7]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + + case EOpImageAtomicAdd: + case EOpImageAtomicMin: + case EOpImageAtomicMax: + case EOpImageAtomicAnd: + case EOpImageAtomicOr: + case EOpImageAtomicXor: + case EOpImageAtomicExchange: + case EOpImageAtomicStore: + storageClassSemantics = (*argp)[isMS ? 5 : 4]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[isMS ? 6 : 5]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + case EOpImageAtomicLoad: + storageClassSemantics = (*argp)[isMS ? 4 : 3]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[isMS ? 5 : 4]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + case EOpImageAtomicCompSwap: + storageClassSemantics = (*argp)[isMS ? 6 : 5]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[isMS ? 7 : 6]->getAsConstantUnion()->getConstArray()[0].getIConst(); + storageClassSemantics2 = (*argp)[isMS ? 8 : 7]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics2 = (*argp)[isMS ? 9 : 8]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + + case EOpBarrier: + storageClassSemantics = (*argp)[2]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[3]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + case EOpMemoryBarrier: + storageClassSemantics = (*argp)[1]->getAsConstantUnion()->getConstArray()[0].getIConst(); + semantics = (*argp)[2]->getAsConstantUnion()->getConstArray()[0].getIConst(); + break; + default: + break; + } + + if ((semantics & gl_SemanticsAcquire) && + (callNode.getOp() == EOpAtomicStore || callNode.getOp() == EOpImageAtomicStore)) { + error(loc, "gl_SemanticsAcquire must not be used with (image) atomic store", + fnCandidate.getName().c_str(), ""); + } + if ((semantics & gl_SemanticsRelease) && + (callNode.getOp() == EOpAtomicLoad || callNode.getOp() == EOpImageAtomicLoad)) { + error(loc, "gl_SemanticsRelease must not be used with (image) atomic load", + fnCandidate.getName().c_str(), ""); + } + if ((semantics & gl_SemanticsAcquireRelease) && + (callNode.getOp() == EOpAtomicStore || callNode.getOp() == EOpImageAtomicStore || + callNode.getOp() == EOpAtomicLoad || callNode.getOp() == EOpImageAtomicLoad)) { + error(loc, "gl_SemanticsAcquireRelease must not be used with (image) atomic load/store", + fnCandidate.getName().c_str(), ""); + } + if (((semantics | semantics2) & ~(gl_SemanticsAcquire | + gl_SemanticsRelease | + gl_SemanticsAcquireRelease | + gl_SemanticsMakeAvailable | + gl_SemanticsMakeVisible | + gl_SemanticsVolatile))) { + error(loc, "Invalid semantics value", fnCandidate.getName().c_str(), ""); + } + if (((storageClassSemantics | storageClassSemantics2) & ~(gl_StorageSemanticsBuffer | + gl_StorageSemanticsShared | + gl_StorageSemanticsImage | + gl_StorageSemanticsOutput))) { + error(loc, "Invalid storage class semantics value", fnCandidate.getName().c_str(), ""); + } + + if (callNode.getOp() == EOpMemoryBarrier) { + if (!IsPow2(semantics & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease))) { + error(loc, "Semantics must include exactly one of gl_SemanticsRelease, gl_SemanticsAcquire, or " + "gl_SemanticsAcquireRelease", fnCandidate.getName().c_str(), ""); + } + } else { + if (semantics & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease)) { + if (!IsPow2(semantics & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease))) { + error(loc, "Semantics must not include multiple of gl_SemanticsRelease, gl_SemanticsAcquire, or " + "gl_SemanticsAcquireRelease", fnCandidate.getName().c_str(), ""); + } + } + if (semantics2 & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease)) { + if (!IsPow2(semantics2 & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease))) { + error(loc, "semUnequal must not include multiple of gl_SemanticsRelease, gl_SemanticsAcquire, or " + "gl_SemanticsAcquireRelease", fnCandidate.getName().c_str(), ""); + } + } + } + if (callNode.getOp() == EOpMemoryBarrier) { + if (storageClassSemantics == 0) { + error(loc, "Storage class semantics must not be zero", fnCandidate.getName().c_str(), ""); + } + } + if (callNode.getOp() == EOpBarrier && semantics != 0 && storageClassSemantics == 0) { + error(loc, "Storage class semantics must not be zero", fnCandidate.getName().c_str(), ""); + } + if ((callNode.getOp() == EOpAtomicCompSwap || callNode.getOp() == EOpImageAtomicCompSwap) && + (semantics2 & (gl_SemanticsRelease | gl_SemanticsAcquireRelease))) { + error(loc, "semUnequal must not be gl_SemanticsRelease or gl_SemanticsAcquireRelease", + fnCandidate.getName().c_str(), ""); + } + if ((semantics & gl_SemanticsMakeAvailable) && + !(semantics & (gl_SemanticsRelease | gl_SemanticsAcquireRelease))) { + error(loc, "gl_SemanticsMakeAvailable requires gl_SemanticsRelease or gl_SemanticsAcquireRelease", + fnCandidate.getName().c_str(), ""); + } + if ((semantics & gl_SemanticsMakeVisible) && + !(semantics & (gl_SemanticsAcquire | gl_SemanticsAcquireRelease))) { + error(loc, "gl_SemanticsMakeVisible requires gl_SemanticsAcquire or gl_SemanticsAcquireRelease", + fnCandidate.getName().c_str(), ""); + } + if ((semantics & gl_SemanticsVolatile) && + (callNode.getOp() == EOpMemoryBarrier || callNode.getOp() == EOpBarrier)) { + error(loc, "gl_SemanticsVolatile must not be used with memoryBarrier or controlBarrier", + fnCandidate.getName().c_str(), ""); + } + if ((callNode.getOp() == EOpAtomicCompSwap || callNode.getOp() == EOpImageAtomicCompSwap) && + ((semantics ^ semantics2) & gl_SemanticsVolatile)) { + error(loc, "semEqual and semUnequal must either both include gl_SemanticsVolatile or neither", + fnCandidate.getName().c_str(), ""); + } +} + +// +// Do additional checking of built-in function calls that is not caught +// by normal semantic checks on argument type, extension tagging, etc. +// +// Assumes there has been a semantically correct match to a built-in function prototype. +// +void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCandidate, TIntermOperator& callNode) +{ + // Set up convenience accessors to the argument(s). There is almost always + // multiple arguments for the cases below, but when there might be one, + // check the unaryArg first. + const TIntermSequence* argp = nullptr; // confusing to use [] syntax on a pointer, so this is to help get a reference + const TIntermTyped* unaryArg = nullptr; + const TIntermTyped* arg0 = nullptr; + if (callNode.getAsAggregate()) { + argp = &callNode.getAsAggregate()->getSequence(); + if (argp->size() > 0) + arg0 = (*argp)[0]->getAsTyped(); + } else { + assert(callNode.getAsUnaryNode()); + unaryArg = callNode.getAsUnaryNode()->getOperand(); + arg0 = unaryArg; + } + + TString featureString; + const char* feature = nullptr; + switch (callNode.getOp()) { +#ifndef GLSLANG_WEB + case EOpTextureGather: + case EOpTextureGatherOffset: + case EOpTextureGatherOffsets: + { + // Figure out which variants are allowed by what extensions, + // and what arguments must be constant for which situations. + + featureString = fnCandidate.getName(); + featureString += "(...)"; + feature = featureString.c_str(); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + int compArg = -1; // track which argument, if any, is the constant component argument + switch (callNode.getOp()) { + case EOpTextureGather: + // More than two arguments needs gpu_shader5, and rectangular or shadow needs gpu_shader5, + // otherwise, need GL_ARB_texture_gather. + if (fnCandidate.getParamCount() > 2 || fnCandidate[0].type->getSampler().dim == EsdRect || fnCandidate[0].type->getSampler().shadow) { + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature); + if (! fnCandidate[0].type->getSampler().shadow) + compArg = 2; + } else + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_texture_gather, feature); + break; + case EOpTextureGatherOffset: + // GL_ARB_texture_gather is good enough for 2D non-shadow textures with no component argument + if (fnCandidate[0].type->getSampler().dim == Esd2D && ! fnCandidate[0].type->getSampler().shadow && fnCandidate.getParamCount() == 3) + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_texture_gather, feature); + else + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature); + if (! (*argp)[fnCandidate[0].type->getSampler().shadow ? 3 : 2]->getAsConstantUnion()) + profileRequires(loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, + "non-constant offset argument"); + if (! fnCandidate[0].type->getSampler().shadow) + compArg = 3; + break; + case EOpTextureGatherOffsets: + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature); + if (! fnCandidate[0].type->getSampler().shadow) + compArg = 3; + // check for constant offsets + if (! (*argp)[fnCandidate[0].type->getSampler().shadow ? 3 : 2]->getAsConstantUnion()) + error(loc, "must be a compile-time constant:", feature, "offsets argument"); + break; + default: + break; + } + + if (compArg > 0 && compArg < fnCandidate.getParamCount()) { + if ((*argp)[compArg]->getAsConstantUnion()) { + int value = (*argp)[compArg]->getAsConstantUnion()->getConstArray()[0].getIConst(); + if (value < 0 || value > 3) + error(loc, "must be 0, 1, 2, or 3:", feature, "component argument"); + } else + error(loc, "must be a compile-time constant:", feature, "component argument"); + } + + bool bias = false; + if (callNode.getOp() == EOpTextureGather) + bias = fnCandidate.getParamCount() > 3; + else if (callNode.getOp() == EOpTextureGatherOffset || + callNode.getOp() == EOpTextureGatherOffsets) + bias = fnCandidate.getParamCount() > 4; + + if (bias) { + featureString = fnCandidate.getName(); + featureString += "with bias argument"; + feature = featureString.c_str(); + profileRequires(loc, ~EEsProfile, 450, nullptr, feature); + requireExtensions(loc, 1, &E_GL_AMD_texture_gather_bias_lod, feature); + } + break; + } + case EOpSparseTextureGather: + case EOpSparseTextureGatherOffset: + case EOpSparseTextureGatherOffsets: + { + bool bias = false; + if (callNode.getOp() == EOpSparseTextureGather) + bias = fnCandidate.getParamCount() > 4; + else if (callNode.getOp() == EOpSparseTextureGatherOffset || + callNode.getOp() == EOpSparseTextureGatherOffsets) + bias = fnCandidate.getParamCount() > 5; + + if (bias) { + featureString = fnCandidate.getName(); + featureString += "with bias argument"; + feature = featureString.c_str(); + profileRequires(loc, ~EEsProfile, 450, nullptr, feature); + requireExtensions(loc, 1, &E_GL_AMD_texture_gather_bias_lod, feature); + } + + break; + } + + case EOpSparseTextureGatherLod: + case EOpSparseTextureGatherLodOffset: + case EOpSparseTextureGatherLodOffsets: + { + requireExtensions(loc, 1, &E_GL_ARB_sparse_texture2, fnCandidate.getName().c_str()); + break; + } + + case EOpSwizzleInvocations: + { + if (! (*argp)[1]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "offset", ""); + else { + unsigned offset[4] = {}; + offset[0] = (*argp)[1]->getAsConstantUnion()->getConstArray()[0].getUConst(); + offset[1] = (*argp)[1]->getAsConstantUnion()->getConstArray()[1].getUConst(); + offset[2] = (*argp)[1]->getAsConstantUnion()->getConstArray()[2].getUConst(); + offset[3] = (*argp)[1]->getAsConstantUnion()->getConstArray()[3].getUConst(); + if (offset[0] > 3 || offset[1] > 3 || offset[2] > 3 || offset[3] > 3) + error(loc, "components must be in the range [0, 3]", "offset", ""); + } + + break; + } + + case EOpSwizzleInvocationsMasked: + { + if (! (*argp)[1]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "mask", ""); + else { + unsigned mask[3] = {}; + mask[0] = (*argp)[1]->getAsConstantUnion()->getConstArray()[0].getUConst(); + mask[1] = (*argp)[1]->getAsConstantUnion()->getConstArray()[1].getUConst(); + mask[2] = (*argp)[1]->getAsConstantUnion()->getConstArray()[2].getUConst(); + if (mask[0] > 31 || mask[1] > 31 || mask[2] > 31) + error(loc, "components must be in the range [0, 31]", "mask", ""); + } + + break; + } +#endif + + case EOpTextureOffset: + case EOpTextureFetchOffset: + case EOpTextureProjOffset: + case EOpTextureLodOffset: + case EOpTextureProjLodOffset: + case EOpTextureGradOffset: + case EOpTextureProjGradOffset: + { + // Handle texture-offset limits checking + // Pick which argument has to hold constant offsets + int arg = -1; + switch (callNode.getOp()) { + case EOpTextureOffset: arg = 2; break; + case EOpTextureFetchOffset: arg = (arg0->getType().getSampler().isRect()) ? 2 : 3; break; + case EOpTextureProjOffset: arg = 2; break; + case EOpTextureLodOffset: arg = 3; break; + case EOpTextureProjLodOffset: arg = 3; break; + case EOpTextureGradOffset: arg = 4; break; + case EOpTextureProjGradOffset: arg = 4; break; + default: + assert(0); + break; + } + + if (arg > 0) { + +#ifndef GLSLANG_WEB + bool f16ShadowCompare = (*argp)[1]->getAsTyped()->getBasicType() == EbtFloat16 && + arg0->getType().getSampler().shadow; + if (f16ShadowCompare) + ++arg; +#endif + if (! (*argp)[arg]->getAsTyped()->getQualifier().isConstant()) + error(loc, "argument must be compile-time constant", "texel offset", ""); + else if ((*argp)[arg]->getAsConstantUnion()) { + const TType& type = (*argp)[arg]->getAsTyped()->getType(); + for (int c = 0; c < type.getVectorSize(); ++c) { + int offset = (*argp)[arg]->getAsConstantUnion()->getConstArray()[c].getIConst(); + if (offset > resources.maxProgramTexelOffset || offset < resources.minProgramTexelOffset) + error(loc, "value is out of range:", "texel offset", + "[gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]"); + } + } + } + + break; + } + +#ifndef GLSLANG_WEB + case EOpTraceNV: + if (!(*argp)[10]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "payload number", "a"); + break; + case EOpTraceKHR: + if (!(*argp)[10]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "payload number", "a"); + else { + unsigned int location = (*argp)[10]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst(); + if (intermediate.checkLocationRT(0, location) < 0) + error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location); + } + break; + case EOpExecuteCallableNV: + if (!(*argp)[1]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "callable data number", ""); + break; + case EOpExecuteCallableKHR: + if (!(*argp)[1]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "callable data number", ""); + else { + unsigned int location = (*argp)[1]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst(); + if (intermediate.checkLocationRT(1, location) < 0) + error(loc, "with layout(location =", "no callableDataEXT/callableDataInEXT declared", "%d)", location); + } + break; + + case EOpRayQueryGetIntersectionType: + case EOpRayQueryGetIntersectionT: + case EOpRayQueryGetIntersectionInstanceCustomIndex: + case EOpRayQueryGetIntersectionInstanceId: + case EOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffset: + case EOpRayQueryGetIntersectionGeometryIndex: + case EOpRayQueryGetIntersectionPrimitiveIndex: + case EOpRayQueryGetIntersectionBarycentrics: + case EOpRayQueryGetIntersectionFrontFace: + case EOpRayQueryGetIntersectionObjectRayDirection: + case EOpRayQueryGetIntersectionObjectRayOrigin: + case EOpRayQueryGetIntersectionObjectToWorld: + case EOpRayQueryGetIntersectionWorldToObject: + if (!(*argp)[1]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "committed", ""); + break; + + case EOpTextureQuerySamples: + case EOpImageQuerySamples: + // GL_ARB_shader_texture_image_samples + profileRequires(loc, ~EEsProfile, 450, E_GL_ARB_shader_texture_image_samples, "textureSamples and imageSamples"); + break; + + case EOpImageAtomicAdd: + case EOpImageAtomicMin: + case EOpImageAtomicMax: + case EOpImageAtomicAnd: + case EOpImageAtomicOr: + case EOpImageAtomicXor: + case EOpImageAtomicExchange: + case EOpImageAtomicCompSwap: + case EOpImageAtomicLoad: + case EOpImageAtomicStore: + { + // Make sure the image types have the correct layout() format and correct argument types + const TType& imageType = arg0->getType(); + if (imageType.getSampler().type == EbtInt || imageType.getSampler().type == EbtUint || + imageType.getSampler().type == EbtInt64 || imageType.getSampler().type == EbtUint64) { + if (imageType.getQualifier().getFormat() != ElfR32i && imageType.getQualifier().getFormat() != ElfR32ui && + imageType.getQualifier().getFormat() != ElfR64i && imageType.getQualifier().getFormat() != ElfR64ui) + error(loc, "only supported on image with format r32i or r32ui", fnCandidate.getName().c_str(), ""); + if (callNode.getType().getBasicType() == EbtInt64 && imageType.getQualifier().getFormat() != ElfR64i) + error(loc, "only supported on image with format r64i", fnCandidate.getName().c_str(), ""); + else if (callNode.getType().getBasicType() == EbtUint64 && imageType.getQualifier().getFormat() != ElfR64ui) + error(loc, "only supported on image with format r64ui", fnCandidate.getName().c_str(), ""); + } else { + bool isImageAtomicOnFloatAllowed = ((fnCandidate.getName().compare(0, 14, "imageAtomicAdd") == 0) || + (fnCandidate.getName().compare(0, 15, "imageAtomicLoad") == 0) || + (fnCandidate.getName().compare(0, 16, "imageAtomicStore") == 0) || + (fnCandidate.getName().compare(0, 19, "imageAtomicExchange") == 0)); + if (imageType.getSampler().type == EbtFloat && isImageAtomicOnFloatAllowed && + (fnCandidate.getName().compare(0, 19, "imageAtomicExchange") != 0)) // imageAtomicExchange doesn't require GL_EXT_shader_atomic_float + requireExtensions(loc, 1, &E_GL_EXT_shader_atomic_float, fnCandidate.getName().c_str()); + if (!isImageAtomicOnFloatAllowed) + error(loc, "only supported on integer images", fnCandidate.getName().c_str(), ""); + else if (imageType.getQualifier().getFormat() != ElfR32f && isEsProfile()) + error(loc, "only supported on image with format r32f", fnCandidate.getName().c_str(), ""); + } + + const size_t maxArgs = imageType.getSampler().isMultiSample() ? 5 : 4; + if (argp->size() > maxArgs) { + requireExtensions(loc, 1, &E_GL_KHR_memory_scope_semantics, fnCandidate.getName().c_str()); + memorySemanticsCheck(loc, fnCandidate, callNode); + } + + break; + } + + case EOpAtomicAdd: + case EOpAtomicMin: + case EOpAtomicMax: + case EOpAtomicAnd: + case EOpAtomicOr: + case EOpAtomicXor: + case EOpAtomicExchange: + case EOpAtomicCompSwap: + case EOpAtomicLoad: + case EOpAtomicStore: + { + if (argp->size() > 3) { + requireExtensions(loc, 1, &E_GL_KHR_memory_scope_semantics, fnCandidate.getName().c_str()); + memorySemanticsCheck(loc, fnCandidate, callNode); + if ((callNode.getOp() == EOpAtomicAdd || callNode.getOp() == EOpAtomicExchange || + callNode.getOp() == EOpAtomicLoad || callNode.getOp() == EOpAtomicStore) && + (arg0->getType().isFloatingDomain())) { + requireExtensions(loc, 1, &E_GL_EXT_shader_atomic_float, fnCandidate.getName().c_str()); + } + } else if (arg0->getType().getBasicType() == EbtInt64 || arg0->getType().getBasicType() == EbtUint64) { + const char* const extensions[2] = { E_GL_NV_shader_atomic_int64, + E_GL_EXT_shader_atomic_int64 }; + requireExtensions(loc, 2, extensions, fnCandidate.getName().c_str()); + } else if ((callNode.getOp() == EOpAtomicAdd || callNode.getOp() == EOpAtomicExchange) && + (arg0->getType().isFloatingDomain())) { + requireExtensions(loc, 1, &E_GL_EXT_shader_atomic_float, fnCandidate.getName().c_str()); + } + break; + } + + case EOpInterpolateAtCentroid: + case EOpInterpolateAtSample: + case EOpInterpolateAtOffset: + case EOpInterpolateAtVertex: + // Make sure the first argument is an interpolant, or an array element of an interpolant + if (arg0->getType().getQualifier().storage != EvqVaryingIn) { + // It might still be an array element. + // + // We could check more, but the semantics of the first argument are already met; the + // only way to turn an array into a float/vec* is array dereference and swizzle. + // + // ES and desktop 4.3 and earlier: swizzles may not be used + // desktop 4.4 and later: swizzles may be used + bool swizzleOkay = (!isEsProfile()) && (version >= 440); + const TIntermTyped* base = TIntermediate::findLValueBase(arg0, swizzleOkay); + if (base == nullptr || base->getType().getQualifier().storage != EvqVaryingIn) + error(loc, "first argument must be an interpolant, or interpolant-array element", fnCandidate.getName().c_str(), ""); + } + + if (callNode.getOp() == EOpInterpolateAtVertex) { + if (!arg0->getType().getQualifier().isExplicitInterpolation()) + error(loc, "argument must be qualified as __explicitInterpAMD in", "interpolant", ""); + else { + if (! (*argp)[1]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "vertex index", ""); + else { + unsigned vertexIdx = (*argp)[1]->getAsConstantUnion()->getConstArray()[0].getUConst(); + if (vertexIdx > 2) + error(loc, "must be in the range [0, 2]", "vertex index", ""); + } + } + } + break; + + case EOpEmitStreamVertex: + case EOpEndStreamPrimitive: + intermediate.setMultiStream(); + break; + + case EOpSubgroupClusteredAdd: + case EOpSubgroupClusteredMul: + case EOpSubgroupClusteredMin: + case EOpSubgroupClusteredMax: + case EOpSubgroupClusteredAnd: + case EOpSubgroupClusteredOr: + case EOpSubgroupClusteredXor: + // The as used in the subgroupClustered() operations must be: + // - An integral constant expression. + // - At least 1. + // - A power of 2. + if ((*argp)[1]->getAsConstantUnion() == nullptr) + error(loc, "argument must be compile-time constant", "cluster size", ""); + else { + int size = (*argp)[1]->getAsConstantUnion()->getConstArray()[0].getIConst(); + if (size < 1) + error(loc, "argument must be at least 1", "cluster size", ""); + else if (!IsPow2(size)) + error(loc, "argument must be a power of 2", "cluster size", ""); + } + break; + + case EOpSubgroupBroadcast: + case EOpSubgroupQuadBroadcast: + if (spvVersion.spv < EShTargetSpv_1_5) { + // must be an integral constant expression. + if ((*argp)[1]->getAsConstantUnion() == nullptr) + error(loc, "argument must be compile-time constant", "id", ""); + } + break; + + case EOpBarrier: + case EOpMemoryBarrier: + if (argp->size() > 0) { + requireExtensions(loc, 1, &E_GL_KHR_memory_scope_semantics, fnCandidate.getName().c_str()); + memorySemanticsCheck(loc, fnCandidate, callNode); + } + break; + + case EOpMix: + if (profile == EEsProfile && version < 310) { + // Look for specific signatures + if ((*argp)[0]->getAsTyped()->getBasicType() != EbtFloat && + (*argp)[1]->getAsTyped()->getBasicType() != EbtFloat && + (*argp)[2]->getAsTyped()->getBasicType() == EbtBool) { + requireExtensions(loc, 1, &E_GL_EXT_shader_integer_mix, "specific signature of builtin mix"); + } + } + + if (profile != EEsProfile && version < 450) { + if ((*argp)[0]->getAsTyped()->getBasicType() != EbtFloat && + (*argp)[0]->getAsTyped()->getBasicType() != EbtDouble && + (*argp)[1]->getAsTyped()->getBasicType() != EbtFloat && + (*argp)[1]->getAsTyped()->getBasicType() != EbtDouble && + (*argp)[2]->getAsTyped()->getBasicType() == EbtBool) { + requireExtensions(loc, 1, &E_GL_EXT_shader_integer_mix, fnCandidate.getName().c_str()); + } + } + + break; +#endif + + default: + break; + } + + // Texture operations on texture objects (aside from texelFetch on a + // textureBuffer) require EXT_samplerless_texture_functions. + switch (callNode.getOp()) { + case EOpTextureQuerySize: + case EOpTextureQueryLevels: + case EOpTextureQuerySamples: + case EOpTextureFetch: + case EOpTextureFetchOffset: + { + const TSampler& sampler = fnCandidate[0].type->getSampler(); + + const bool isTexture = sampler.isTexture() && !sampler.isCombined(); + const bool isBuffer = sampler.isBuffer(); + const bool isFetch = callNode.getOp() == EOpTextureFetch || callNode.getOp() == EOpTextureFetchOffset; + + if (isTexture && (!isBuffer || !isFetch)) + requireExtensions(loc, 1, &E_GL_EXT_samplerless_texture_functions, fnCandidate.getName().c_str()); + + break; + } + + default: + break; + } + + if (callNode.isSubgroup()) { + // these require SPIR-V 1.3 + if (spvVersion.spv > 0 && spvVersion.spv < EShTargetSpv_1_3) + error(loc, "requires SPIR-V 1.3", "subgroup op", ""); + + // Check that if extended types are being used that the correct extensions are enabled. + if (arg0 != nullptr) { + const TType& type = arg0->getType(); + switch (type.getBasicType()) { + default: + break; + case EbtInt8: + case EbtUint8: + requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_int8, type.getCompleteString().c_str()); + break; + case EbtInt16: + case EbtUint16: + requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_int16, type.getCompleteString().c_str()); + break; + case EbtInt64: + case EbtUint64: + requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_int64, type.getCompleteString().c_str()); + break; + case EbtFloat16: + requireExtensions(loc, 1, &E_GL_EXT_shader_subgroup_extended_types_float16, type.getCompleteString().c_str()); + break; + } + } + } +} + +#ifndef GLSLANG_WEB + +extern bool PureOperatorBuiltins; + +// Deprecated! Use PureOperatorBuiltins == true instead, in which case this +// functionality is handled in builtInOpCheck() instead of here. +// +// Do additional checking of built-in function calls that were not mapped +// to built-in operations (e.g., texturing functions). +// +// Assumes there has been a semantically correct match to a built-in function. +// +void TParseContext::nonOpBuiltInCheck(const TSourceLoc& loc, const TFunction& fnCandidate, TIntermAggregate& callNode) +{ + // Further maintenance of this function is deprecated, because the "correct" + // future-oriented design is to not have to do string compares on function names. + + // If PureOperatorBuiltins == true, then all built-ins should be mapped + // to a TOperator, and this function would then never get called. + + assert(PureOperatorBuiltins == false); + + // built-in texturing functions get their return value precision from the precision of the sampler + if (fnCandidate.getType().getQualifier().precision == EpqNone && + fnCandidate.getParamCount() > 0 && fnCandidate[0].type->getBasicType() == EbtSampler) + callNode.getQualifier().precision = callNode.getSequence()[0]->getAsTyped()->getQualifier().precision; + + if (fnCandidate.getName().compare(0, 7, "texture") == 0) { + if (fnCandidate.getName().compare(0, 13, "textureGather") == 0) { + TString featureString = fnCandidate.getName() + "(...)"; + const char* feature = featureString.c_str(); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + + int compArg = -1; // track which argument, if any, is the constant component argument + if (fnCandidate.getName().compare("textureGatherOffset") == 0) { + // GL_ARB_texture_gather is good enough for 2D non-shadow textures with no component argument + if (fnCandidate[0].type->getSampler().dim == Esd2D && ! fnCandidate[0].type->getSampler().shadow && fnCandidate.getParamCount() == 3) + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_texture_gather, feature); + else + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature); + int offsetArg = fnCandidate[0].type->getSampler().shadow ? 3 : 2; + if (! callNode.getSequence()[offsetArg]->getAsConstantUnion()) + profileRequires(loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, + "non-constant offset argument"); + if (! fnCandidate[0].type->getSampler().shadow) + compArg = 3; + } else if (fnCandidate.getName().compare("textureGatherOffsets") == 0) { + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature); + if (! fnCandidate[0].type->getSampler().shadow) + compArg = 3; + // check for constant offsets + int offsetArg = fnCandidate[0].type->getSampler().shadow ? 3 : 2; + if (! callNode.getSequence()[offsetArg]->getAsConstantUnion()) + error(loc, "must be a compile-time constant:", feature, "offsets argument"); + } else if (fnCandidate.getName().compare("textureGather") == 0) { + // More than two arguments needs gpu_shader5, and rectangular or shadow needs gpu_shader5, + // otherwise, need GL_ARB_texture_gather. + if (fnCandidate.getParamCount() > 2 || fnCandidate[0].type->getSampler().dim == EsdRect || fnCandidate[0].type->getSampler().shadow) { + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_gpu_shader5, feature); + if (! fnCandidate[0].type->getSampler().shadow) + compArg = 2; + } else + profileRequires(loc, ~EEsProfile, 400, E_GL_ARB_texture_gather, feature); + } + + if (compArg > 0 && compArg < fnCandidate.getParamCount()) { + if (callNode.getSequence()[compArg]->getAsConstantUnion()) { + int value = callNode.getSequence()[compArg]->getAsConstantUnion()->getConstArray()[0].getIConst(); + if (value < 0 || value > 3) + error(loc, "must be 0, 1, 2, or 3:", feature, "component argument"); + } else + error(loc, "must be a compile-time constant:", feature, "component argument"); + } + } else { + // this is only for functions not starting "textureGather"... + if (fnCandidate.getName().find("Offset") != TString::npos) { + + // Handle texture-offset limits checking + int arg = -1; + if (fnCandidate.getName().compare("textureOffset") == 0) + arg = 2; + else if (fnCandidate.getName().compare("texelFetchOffset") == 0) + arg = 3; + else if (fnCandidate.getName().compare("textureProjOffset") == 0) + arg = 2; + else if (fnCandidate.getName().compare("textureLodOffset") == 0) + arg = 3; + else if (fnCandidate.getName().compare("textureProjLodOffset") == 0) + arg = 3; + else if (fnCandidate.getName().compare("textureGradOffset") == 0) + arg = 4; + else if (fnCandidate.getName().compare("textureProjGradOffset") == 0) + arg = 4; + + if (arg > 0) { + if (! callNode.getSequence()[arg]->getAsConstantUnion()) + error(loc, "argument must be compile-time constant", "texel offset", ""); + else { + const TType& type = callNode.getSequence()[arg]->getAsTyped()->getType(); + for (int c = 0; c < type.getVectorSize(); ++c) { + int offset = callNode.getSequence()[arg]->getAsConstantUnion()->getConstArray()[c].getIConst(); + if (offset > resources.maxProgramTexelOffset || offset < resources.minProgramTexelOffset) + error(loc, "value is out of range:", "texel offset", "[gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]"); + } + } + } + } + } + } + + // GL_ARB_shader_texture_image_samples + if (fnCandidate.getName().compare(0, 14, "textureSamples") == 0 || fnCandidate.getName().compare(0, 12, "imageSamples") == 0) + profileRequires(loc, ~EEsProfile, 450, E_GL_ARB_shader_texture_image_samples, "textureSamples and imageSamples"); + + if (fnCandidate.getName().compare(0, 11, "imageAtomic") == 0) { + const TType& imageType = callNode.getSequence()[0]->getAsTyped()->getType(); + if (imageType.getSampler().type == EbtInt || imageType.getSampler().type == EbtUint) { + if (imageType.getQualifier().getFormat() != ElfR32i && imageType.getQualifier().getFormat() != ElfR32ui) + error(loc, "only supported on image with format r32i or r32ui", fnCandidate.getName().c_str(), ""); + } else { + if (fnCandidate.getName().compare(0, 19, "imageAtomicExchange") != 0) + error(loc, "only supported on integer images", fnCandidate.getName().c_str(), ""); + else if (imageType.getQualifier().getFormat() != ElfR32f && isEsProfile()) + error(loc, "only supported on image with format r32f", fnCandidate.getName().c_str(), ""); + } + } +} + +#endif + +// +// Do any extra checking for a user function call. +// +void TParseContext::userFunctionCallCheck(const TSourceLoc& loc, TIntermAggregate& callNode) +{ + TIntermSequence& arguments = callNode.getSequence(); + + for (int i = 0; i < (int)arguments.size(); ++i) + samplerConstructorLocationCheck(loc, "call argument", arguments[i]); +} + +// +// Emit an error if this is a sampler constructor +// +void TParseContext::samplerConstructorLocationCheck(const TSourceLoc& loc, const char* token, TIntermNode* node) +{ + if (node->getAsOperator() && node->getAsOperator()->getOp() == EOpConstructTextureSampler) + error(loc, "sampler constructor must appear at point of use", token, ""); +} + +// +// Handle seeing a built-in constructor in a grammar production. +// +TFunction* TParseContext::handleConstructorCall(const TSourceLoc& loc, const TPublicType& publicType) +{ + TType type(publicType); + type.getQualifier().precision = EpqNone; + + if (type.isArray()) { + profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed constructor"); + profileRequires(loc, EEsProfile, 300, nullptr, "arrayed constructor"); + } + + TOperator op = intermediate.mapTypeToConstructorOp(type); + + if (op == EOpNull) { + error(loc, "cannot construct this type", type.getBasicString(), ""); + op = EOpConstructFloat; + TType errorType(EbtFloat); + type.shallowCopy(errorType); + } + + TString empty(""); + + return new TFunction(&empty, type, op); +} + +// Handle seeing a precision qualifier in the grammar. +void TParseContext::handlePrecisionQualifier(const TSourceLoc& /*loc*/, TQualifier& qualifier, TPrecisionQualifier precision) +{ + if (obeyPrecisionQualifiers()) + qualifier.precision = precision; +} + +// Check for messages to give on seeing a precision qualifier used in a +// declaration in the grammar. +void TParseContext::checkPrecisionQualifier(const TSourceLoc& loc, TPrecisionQualifier) +{ + if (precisionManager.shouldWarnAboutDefaults()) { + warn(loc, "all default precisions are highp; use precision statements to quiet warning, e.g.:\n" + " \"precision mediump int; precision highp float;\"", "", ""); + precisionManager.defaultWarningGiven(); + } +} + +// +// Same error message for all places assignments don't work. +// +void TParseContext::assignError(const TSourceLoc& loc, const char* op, TString left, TString right) +{ + error(loc, "", op, "cannot convert from '%s' to '%s'", + right.c_str(), left.c_str()); +} + +// +// Same error message for all places unary operations don't work. +// +void TParseContext::unaryOpError(const TSourceLoc& loc, const char* op, TString operand) +{ + error(loc, " wrong operand type", op, + "no operation '%s' exists that takes an operand of type %s (or there is no acceptable conversion)", + op, operand.c_str()); +} + +// +// Same error message for all binary operations don't work. +// +void TParseContext::binaryOpError(const TSourceLoc& loc, const char* op, TString left, TString right) +{ + error(loc, " wrong operand types:", op, + "no operation '%s' exists that takes a left-hand operand of type '%s' and " + "a right operand of type '%s' (or there is no acceptable conversion)", + op, left.c_str(), right.c_str()); +} + +// +// A basic type of EbtVoid is a key that the name string was seen in the source, but +// it was not found as a variable in the symbol table. If so, give the error +// message and insert a dummy variable in the symbol table to prevent future errors. +// +void TParseContext::variableCheck(TIntermTyped*& nodePtr) +{ + TIntermSymbol* symbol = nodePtr->getAsSymbolNode(); + if (! symbol) + return; + + if (symbol->getType().getBasicType() == EbtVoid) { + const char *extraInfoFormat = ""; + if (spvVersion.vulkan != 0 && symbol->getName() == "gl_VertexID") { + extraInfoFormat = "(Did you mean gl_VertexIndex?)"; + } else if (spvVersion.vulkan != 0 && symbol->getName() == "gl_InstanceID") { + extraInfoFormat = "(Did you mean gl_InstanceIndex?)"; + } + error(symbol->getLoc(), "undeclared identifier", symbol->getName().c_str(), extraInfoFormat); + + // Add to symbol table to prevent future error messages on the same name + if (symbol->getName().size() > 0) { + TVariable* fakeVariable = new TVariable(&symbol->getName(), TType(EbtFloat)); + symbolTable.insert(*fakeVariable); + + // substitute a symbol node for this new variable + nodePtr = intermediate.addSymbol(*fakeVariable, symbol->getLoc()); + } + } else { + switch (symbol->getQualifier().storage) { + case EvqPointCoord: + profileRequires(symbol->getLoc(), ENoProfile, 120, nullptr, "gl_PointCoord"); + break; + default: break; // some compilers want this + } + } +} + +// +// Both test and if necessary, spit out an error, to see if the node is really +// an l-value that can be operated on this way. +// +// Returns true if there was an error. +// +bool TParseContext::lValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node) +{ + TIntermBinary* binaryNode = node->getAsBinaryNode(); + + if (binaryNode) { + bool errorReturn = false; + + switch(binaryNode->getOp()) { +#ifndef GLSLANG_WEB + case EOpIndexDirect: + case EOpIndexIndirect: + // ... tessellation control shader ... + // If a per-vertex output variable is used as an l-value, it is a + // compile-time or link-time error if the expression indicating the + // vertex index is not the identifier gl_InvocationID. + if (language == EShLangTessControl) { + const TType& leftType = binaryNode->getLeft()->getType(); + if (leftType.getQualifier().storage == EvqVaryingOut && ! leftType.getQualifier().patch && binaryNode->getLeft()->getAsSymbolNode()) { + // we have a per-vertex output + const TIntermSymbol* rightSymbol = binaryNode->getRight()->getAsSymbolNode(); + if (! rightSymbol || rightSymbol->getQualifier().builtIn != EbvInvocationId) + error(loc, "tessellation-control per-vertex output l-value must be indexed with gl_InvocationID", "[]", ""); + } + } + break; // left node is checked by base class +#endif + case EOpVectorSwizzle: + errorReturn = lValueErrorCheck(loc, op, binaryNode->getLeft()); + if (!errorReturn) { + int offset[4] = {0,0,0,0}; + + TIntermTyped* rightNode = binaryNode->getRight(); + TIntermAggregate *aggrNode = rightNode->getAsAggregate(); + + for (TIntermSequence::iterator p = aggrNode->getSequence().begin(); + p != aggrNode->getSequence().end(); p++) { + int value = (*p)->getAsTyped()->getAsConstantUnion()->getConstArray()[0].getIConst(); + offset[value]++; + if (offset[value] > 1) { + error(loc, " l-value of swizzle cannot have duplicate components", op, "", ""); + + return true; + } + } + } + + return errorReturn; + default: + break; + } + + if (errorReturn) { + error(loc, " l-value required", op, "", ""); + return true; + } + } + + if (binaryNode && binaryNode->getOp() == EOpIndexDirectStruct && binaryNode->getLeft()->isReference()) + return false; + + // Let the base class check errors + if (TParseContextBase::lValueErrorCheck(loc, op, node)) + return true; + + const char* symbol = nullptr; + TIntermSymbol* symNode = node->getAsSymbolNode(); + if (symNode != nullptr) + symbol = symNode->getName().c_str(); + + const char* message = nullptr; + switch (node->getQualifier().storage) { + case EvqVaryingIn: message = "can't modify shader input"; break; + case EvqInstanceId: message = "can't modify gl_InstanceID"; break; + case EvqVertexId: message = "can't modify gl_VertexID"; break; + case EvqFace: message = "can't modify gl_FrontFace"; break; + case EvqFragCoord: message = "can't modify gl_FragCoord"; break; + case EvqPointCoord: message = "can't modify gl_PointCoord"; break; + case EvqFragDepth: + intermediate.setDepthReplacing(); + // "In addition, it is an error to statically write to gl_FragDepth in the fragment shader." + if (isEsProfile() && intermediate.getEarlyFragmentTests()) + message = "can't modify gl_FragDepth if using early_fragment_tests"; + break; + + default: + break; + } + + if (message == nullptr && binaryNode == nullptr && symNode == nullptr) { + error(loc, " l-value required", op, "", ""); + + return true; + } + + // + // Everything else is okay, no error. + // + if (message == nullptr) + return false; + + // + // If we get here, we have an error and a message. + // + if (symNode) + error(loc, " l-value required", op, "\"%s\" (%s)", symbol, message); + else + error(loc, " l-value required", op, "(%s)", message); + + return true; +} + +// Test for and give an error if the node can't be read from. +void TParseContext::rValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node) +{ + // Let the base class check errors + TParseContextBase::rValueErrorCheck(loc, op, node); + + TIntermSymbol* symNode = node->getAsSymbolNode(); + if (!(symNode && symNode->getQualifier().isWriteOnly())) // base class checks + if (symNode && symNode->getQualifier().isExplicitInterpolation()) + error(loc, "can't read from explicitly-interpolated object: ", op, symNode->getName().c_str()); +} + +// +// Both test, and if necessary spit out an error, to see if the node is really +// a constant. +// +void TParseContext::constantValueCheck(TIntermTyped* node, const char* token) +{ + if (! node->getQualifier().isConstant()) + error(node->getLoc(), "constant expression required", token, ""); +} + +// +// Both test, and if necessary spit out an error, to see if the node is really +// an integer. +// +void TParseContext::integerCheck(const TIntermTyped* node, const char* token) +{ + if ((node->getBasicType() == EbtInt || node->getBasicType() == EbtUint) && node->isScalar()) + return; + + error(node->getLoc(), "scalar integer expression required", token, ""); +} + +// +// Both test, and if necessary spit out an error, to see if we are currently +// globally scoped. +// +void TParseContext::globalCheck(const TSourceLoc& loc, const char* token) +{ + if (! symbolTable.atGlobalLevel()) + error(loc, "not allowed in nested scope", token, ""); +} + +// +// Reserved errors for GLSL. +// +void TParseContext::reservedErrorCheck(const TSourceLoc& loc, const TString& identifier) +{ + // "Identifiers starting with "gl_" are reserved for use by OpenGL, and may not be + // declared in a shader; this results in a compile-time error." + if (! symbolTable.atBuiltInLevel()) { + if (builtInName(identifier)) + error(loc, "identifiers starting with \"gl_\" are reserved", identifier.c_str(), ""); + + // "__" are not supposed to be an error. ES 300 (and desktop) added the clarification: + // "In addition, all identifiers containing two consecutive underscores (__) are + // reserved; using such a name does not itself result in an error, but may result + // in undefined behavior." + // however, before that, ES tests required an error. + if (identifier.find("__") != TString::npos) { + if (isEsProfile() && version < 300) + error(loc, "identifiers containing consecutive underscores (\"__\") are reserved, and an error if version < 300", identifier.c_str(), ""); + else + warn(loc, "identifiers containing consecutive underscores (\"__\") are reserved", identifier.c_str(), ""); + } + } +} + +// +// Reserved errors for the preprocessor. +// +void TParseContext::reservedPpErrorCheck(const TSourceLoc& loc, const char* identifier, const char* op) +{ + // "__" are not supposed to be an error. ES 300 (and desktop) added the clarification: + // "All macro names containing two consecutive underscores ( __ ) are reserved; + // defining such a name does not itself result in an error, but may result in + // undefined behavior. All macro names prefixed with "GL_" ("GL" followed by a + // single underscore) are also reserved, and defining such a name results in a + // compile-time error." + // however, before that, ES tests required an error. + if (strncmp(identifier, "GL_", 3) == 0) + ppError(loc, "names beginning with \"GL_\" can't be (un)defined:", op, identifier); + else if (strncmp(identifier, "defined", 8) == 0) + if (relaxedErrors()) + ppWarn(loc, "\"defined\" is (un)defined:", op, identifier); + else + ppError(loc, "\"defined\" can't be (un)defined:", op, identifier); + else if (strstr(identifier, "__") != 0) { + if (isEsProfile() && version >= 300 && + (strcmp(identifier, "__LINE__") == 0 || + strcmp(identifier, "__FILE__") == 0 || + strcmp(identifier, "__VERSION__") == 0)) + ppError(loc, "predefined names can't be (un)defined:", op, identifier); + else { + if (isEsProfile() && version < 300 && !relaxedErrors()) + ppError(loc, "names containing consecutive underscores are reserved, and an error if version < 300:", op, identifier); + else + ppWarn(loc, "names containing consecutive underscores are reserved:", op, identifier); + } + } +} + +// +// See if this version/profile allows use of the line-continuation character '\'. +// +// Returns true if a line continuation should be done. +// +bool TParseContext::lineContinuationCheck(const TSourceLoc& loc, bool endOfComment) +{ +#ifdef GLSLANG_WEB + return true; +#endif + + const char* message = "line continuation"; + + bool lineContinuationAllowed = (isEsProfile() && version >= 300) || + (!isEsProfile() && (version >= 420 || extensionTurnedOn(E_GL_ARB_shading_language_420pack))); + + if (endOfComment) { + if (lineContinuationAllowed) + warn(loc, "used at end of comment; the following line is still part of the comment", message, ""); + else + warn(loc, "used at end of comment, but this version does not provide line continuation", message, ""); + + return lineContinuationAllowed; + } + + if (relaxedErrors()) { + if (! lineContinuationAllowed) + warn(loc, "not allowed in this version", message, ""); + return true; + } else { + profileRequires(loc, EEsProfile, 300, nullptr, message); + profileRequires(loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, message); + } + + return lineContinuationAllowed; +} + +bool TParseContext::builtInName(const TString& identifier) +{ + return identifier.compare(0, 3, "gl_") == 0; +} + +// +// Make sure there is enough data and not too many arguments provided to the +// constructor to build something of the type of the constructor. Also returns +// the type of the constructor. +// +// Part of establishing type is establishing specialization-constness. +// We don't yet know "top down" whether type is a specialization constant, +// but a const constructor can becomes a specialization constant if any of +// its children are, subject to KHR_vulkan_glsl rules: +// +// - int(), uint(), and bool() constructors for type conversions +// from any of the following types to any of the following types: +// * int +// * uint +// * bool +// - vector versions of the above conversion constructors +// +// Returns true if there was an error in construction. +// +bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, TFunction& function, TOperator op, TType& type) +{ + // See if the constructor does not establish the main type, only requalifies + // it, in which case the type comes from the argument instead of from the + // constructor function. + switch (op) { +#ifndef GLSLANG_WEB + case EOpConstructNonuniform: + if (node != nullptr && node->getAsTyped() != nullptr) { + type.shallowCopy(node->getAsTyped()->getType()); + type.getQualifier().makeTemporary(); + type.getQualifier().nonUniform = true; + } + break; +#endif + default: + type.shallowCopy(function.getType()); + break; + } + + // See if it's a matrix + bool constructingMatrix = false; + switch (op) { + case EOpConstructTextureSampler: + return constructorTextureSamplerError(loc, function); + case EOpConstructMat2x2: + case EOpConstructMat2x3: + case EOpConstructMat2x4: + case EOpConstructMat3x2: + case EOpConstructMat3x3: + case EOpConstructMat3x4: + case EOpConstructMat4x2: + case EOpConstructMat4x3: + case EOpConstructMat4x4: +#ifndef GLSLANG_WEB + case EOpConstructDMat2x2: + case EOpConstructDMat2x3: + case EOpConstructDMat2x4: + case EOpConstructDMat3x2: + case EOpConstructDMat3x3: + case EOpConstructDMat3x4: + case EOpConstructDMat4x2: + case EOpConstructDMat4x3: + case EOpConstructDMat4x4: + case EOpConstructF16Mat2x2: + case EOpConstructF16Mat2x3: + case EOpConstructF16Mat2x4: + case EOpConstructF16Mat3x2: + case EOpConstructF16Mat3x3: + case EOpConstructF16Mat3x4: + case EOpConstructF16Mat4x2: + case EOpConstructF16Mat4x3: + case EOpConstructF16Mat4x4: +#endif + constructingMatrix = true; + break; + default: + break; + } + + // + // Walk the arguments for first-pass checks and collection of information. + // + + int size = 0; + bool constType = true; + bool specConstType = false; // value is only valid if constType is true + bool full = false; + bool overFull = false; + bool matrixInMatrix = false; + bool arrayArg = false; + bool floatArgument = false; + for (int arg = 0; arg < function.getParamCount(); ++arg) { + if (function[arg].type->isArray()) { + if (function[arg].type->isUnsizedArray()) { + // Can't construct from an unsized array. + error(loc, "array argument must be sized", "constructor", ""); + return true; + } + arrayArg = true; + } + if (constructingMatrix && function[arg].type->isMatrix()) + matrixInMatrix = true; + + // 'full' will go to true when enough args have been seen. If we loop + // again, there is an extra argument. + if (full) { + // For vectors and matrices, it's okay to have too many components + // available, but not okay to have unused arguments. + overFull = true; + } + + size += function[arg].type->computeNumComponents(); + if (op != EOpConstructStruct && ! type.isArray() && size >= type.computeNumComponents()) + full = true; + + if (! function[arg].type->getQualifier().isConstant()) + constType = false; + if (function[arg].type->getQualifier().isSpecConstant()) + specConstType = true; + if (function[arg].type->isFloatingDomain()) + floatArgument = true; + if (type.isStruct()) { + if (function[arg].type->contains16BitFloat()) { + requireFloat16Arithmetic(loc, "constructor", "can't construct structure containing 16-bit type"); + } + if (function[arg].type->contains16BitInt()) { + requireInt16Arithmetic(loc, "constructor", "can't construct structure containing 16-bit type"); + } + if (function[arg].type->contains8BitInt()) { + requireInt8Arithmetic(loc, "constructor", "can't construct structure containing 8-bit type"); + } + } + } + if (op == EOpConstructNonuniform) + constType = false; + +#ifndef GLSLANG_WEB + switch (op) { + case EOpConstructFloat16: + case EOpConstructF16Vec2: + case EOpConstructF16Vec3: + case EOpConstructF16Vec4: + if (type.isArray()) + requireFloat16Arithmetic(loc, "constructor", "16-bit arrays not supported"); + if (type.isVector() && function.getParamCount() != 1) + requireFloat16Arithmetic(loc, "constructor", "16-bit vectors only take vector types"); + break; + case EOpConstructUint16: + case EOpConstructU16Vec2: + case EOpConstructU16Vec3: + case EOpConstructU16Vec4: + case EOpConstructInt16: + case EOpConstructI16Vec2: + case EOpConstructI16Vec3: + case EOpConstructI16Vec4: + if (type.isArray()) + requireInt16Arithmetic(loc, "constructor", "16-bit arrays not supported"); + if (type.isVector() && function.getParamCount() != 1) + requireInt16Arithmetic(loc, "constructor", "16-bit vectors only take vector types"); + break; + case EOpConstructUint8: + case EOpConstructU8Vec2: + case EOpConstructU8Vec3: + case EOpConstructU8Vec4: + case EOpConstructInt8: + case EOpConstructI8Vec2: + case EOpConstructI8Vec3: + case EOpConstructI8Vec4: + if (type.isArray()) + requireInt8Arithmetic(loc, "constructor", "8-bit arrays not supported"); + if (type.isVector() && function.getParamCount() != 1) + requireInt8Arithmetic(loc, "constructor", "8-bit vectors only take vector types"); + break; + default: + break; + } +#endif + + // inherit constness from children + if (constType) { + bool makeSpecConst; + // Finish pinning down spec-const semantics + if (specConstType) { + switch (op) { + case EOpConstructInt8: + case EOpConstructInt: + case EOpConstructUint: + case EOpConstructBool: + case EOpConstructBVec2: + case EOpConstructBVec3: + case EOpConstructBVec4: + case EOpConstructIVec2: + case EOpConstructIVec3: + case EOpConstructIVec4: + case EOpConstructUVec2: + case EOpConstructUVec3: + case EOpConstructUVec4: +#ifndef GLSLANG_WEB + case EOpConstructUint8: + case EOpConstructInt16: + case EOpConstructUint16: + case EOpConstructInt64: + case EOpConstructUint64: + case EOpConstructI8Vec2: + case EOpConstructI8Vec3: + case EOpConstructI8Vec4: + case EOpConstructU8Vec2: + case EOpConstructU8Vec3: + case EOpConstructU8Vec4: + case EOpConstructI16Vec2: + case EOpConstructI16Vec3: + case EOpConstructI16Vec4: + case EOpConstructU16Vec2: + case EOpConstructU16Vec3: + case EOpConstructU16Vec4: + case EOpConstructI64Vec2: + case EOpConstructI64Vec3: + case EOpConstructI64Vec4: + case EOpConstructU64Vec2: + case EOpConstructU64Vec3: + case EOpConstructU64Vec4: +#endif + // This was the list of valid ones, if they aren't converting from float + // and aren't making an array. + makeSpecConst = ! floatArgument && ! type.isArray(); + break; + default: + // anything else wasn't white-listed in the spec as a conversion + makeSpecConst = false; + break; + } + } else + makeSpecConst = false; + + if (makeSpecConst) + type.getQualifier().makeSpecConstant(); + else if (specConstType) + type.getQualifier().makeTemporary(); + else + type.getQualifier().storage = EvqConst; + } + + if (type.isArray()) { + if (function.getParamCount() == 0) { + error(loc, "array constructor must have at least one argument", "constructor", ""); + return true; + } + + if (type.isUnsizedArray()) { + // auto adapt the constructor type to the number of arguments + type.changeOuterArraySize(function.getParamCount()); + } else if (type.getOuterArraySize() != function.getParamCount()) { + error(loc, "array constructor needs one argument per array element", "constructor", ""); + return true; + } + + if (type.isArrayOfArrays()) { + // Types have to match, but we're still making the type. + // Finish making the type, and the comparison is done later + // when checking for conversion. + TArraySizes& arraySizes = *type.getArraySizes(); + + // At least the dimensionalities have to match. + if (! function[0].type->isArray() || + arraySizes.getNumDims() != function[0].type->getArraySizes()->getNumDims() + 1) { + error(loc, "array constructor argument not correct type to construct array element", "constructor", ""); + return true; + } + + if (arraySizes.isInnerUnsized()) { + // "Arrays of arrays ..., and the size for any dimension is optional" + // That means we need to adopt (from the first argument) the other array sizes into the type. + for (int d = 1; d < arraySizes.getNumDims(); ++d) { + if (arraySizes.getDimSize(d) == UnsizedArraySize) { + arraySizes.setDimSize(d, function[0].type->getArraySizes()->getDimSize(d - 1)); + } + } + } + } + } + + if (arrayArg && op != EOpConstructStruct && ! type.isArrayOfArrays()) { + error(loc, "constructing non-array constituent from array argument", "constructor", ""); + return true; + } + + if (matrixInMatrix && ! type.isArray()) { + profileRequires(loc, ENoProfile, 120, nullptr, "constructing matrix from matrix"); + + // "If a matrix argument is given to a matrix constructor, + // it is a compile-time error to have any other arguments." + if (function.getParamCount() != 1) + error(loc, "matrix constructed from matrix can only have one argument", "constructor", ""); + return false; + } + + if (overFull) { + error(loc, "too many arguments", "constructor", ""); + return true; + } + + if (op == EOpConstructStruct && ! type.isArray() && (int)type.getStruct()->size() != function.getParamCount()) { + error(loc, "Number of constructor parameters does not match the number of structure fields", "constructor", ""); + return true; + } + + if ((op != EOpConstructStruct && size != 1 && size < type.computeNumComponents()) || + (op == EOpConstructStruct && size < type.computeNumComponents())) { + error(loc, "not enough data provided for construction", "constructor", ""); + return true; + } + + if (type.isCoopMat() && function.getParamCount() != 1) { + error(loc, "wrong number of arguments", "constructor", ""); + return true; + } + if (type.isCoopMat() && + !(function[0].type->isScalar() || function[0].type->isCoopMat())) { + error(loc, "Cooperative matrix constructor argument must be scalar or cooperative matrix", "constructor", ""); + return true; + } + + TIntermTyped* typed = node->getAsTyped(); + if (typed == nullptr) { + error(loc, "constructor argument does not have a type", "constructor", ""); + return true; + } + if (op != EOpConstructStruct && op != EOpConstructNonuniform && typed->getBasicType() == EbtSampler) { + error(loc, "cannot convert a sampler", "constructor", ""); + return true; + } + if (op != EOpConstructStruct && typed->isAtomic()) { + error(loc, "cannot convert an atomic_uint", "constructor", ""); + return true; + } + if (typed->getBasicType() == EbtVoid) { + error(loc, "cannot convert a void", "constructor", ""); + return true; + } + + return false; +} + +// Verify all the correct semantics for constructing a combined texture/sampler. +// Return true if the semantics are incorrect. +bool TParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const TFunction& function) +{ + TString constructorName = function.getType().getBasicTypeString(); // TODO: performance: should not be making copy; interface needs to change + const char* token = constructorName.c_str(); + + // exactly two arguments needed + if (function.getParamCount() != 2) { + error(loc, "sampler-constructor requires two arguments", token, ""); + return true; + } + + // For now, not allowing arrayed constructors, the rest of this function + // is set up to allow them, if this test is removed: + if (function.getType().isArray()) { + error(loc, "sampler-constructor cannot make an array of samplers", token, ""); + return true; + } + + // first argument + // * the constructor's first argument must be a texture type + // * the dimensionality (1D, 2D, 3D, Cube, Rect, Buffer, MS, and Array) + // of the texture type must match that of the constructed sampler type + // (that is, the suffixes of the type of the first argument and the + // type of the constructor will be spelled the same way) + if (function[0].type->getBasicType() != EbtSampler || + ! function[0].type->getSampler().isTexture() || + function[0].type->isArray()) { + error(loc, "sampler-constructor first argument must be a scalar *texture* type", token, ""); + return true; + } + // simulate the first argument's impact on the result type, so it can be compared with the encapsulated operator!=() + TSampler texture = function.getType().getSampler(); + texture.setCombined(false); + texture.shadow = false; + if (texture != function[0].type->getSampler()) { + error(loc, "sampler-constructor first argument must be a *texture* type" + " matching the dimensionality and sampled type of the constructor", token, ""); + return true; + } + + // second argument + // * the constructor's second argument must be a scalar of type + // *sampler* or *samplerShadow* + if ( function[1].type->getBasicType() != EbtSampler || + ! function[1].type->getSampler().isPureSampler() || + function[1].type->isArray()) { + error(loc, "sampler-constructor second argument must be a scalar sampler or samplerShadow", token, ""); + return true; + } + + return false; +} + +// Checks to see if a void variable has been declared and raise an error message for such a case +// +// returns true in case of an error +// +bool TParseContext::voidErrorCheck(const TSourceLoc& loc, const TString& identifier, const TBasicType basicType) +{ + if (basicType == EbtVoid) { + error(loc, "illegal use of type 'void'", identifier.c_str(), ""); + return true; + } + + return false; +} + +// Checks to see if the node (for the expression) contains a scalar boolean expression or not +void TParseContext::boolCheck(const TSourceLoc& loc, const TIntermTyped* type) +{ + if (type->getBasicType() != EbtBool || type->isArray() || type->isMatrix() || type->isVector()) + error(loc, "boolean expression expected", "", ""); +} + +// This function checks to see if the node (for the expression) contains a scalar boolean expression or not +void TParseContext::boolCheck(const TSourceLoc& loc, const TPublicType& pType) +{ + if (pType.basicType != EbtBool || pType.arraySizes || pType.matrixCols > 1 || (pType.vectorSize > 1)) + error(loc, "boolean expression expected", "", ""); +} + +void TParseContext::samplerCheck(const TSourceLoc& loc, const TType& type, const TString& identifier, TIntermTyped* /*initializer*/) +{ + // Check that the appropriate extension is enabled if external sampler is used. + // There are two extensions. The correct one must be used based on GLSL version. + if (type.getBasicType() == EbtSampler && type.getSampler().isExternal()) { + if (version < 300) { + requireExtensions(loc, 1, &E_GL_OES_EGL_image_external, "samplerExternalOES"); + } else { + requireExtensions(loc, 1, &E_GL_OES_EGL_image_external_essl3, "samplerExternalOES"); + } + } + if (type.getSampler().isYuv()) { + requireExtensions(loc, 1, &E_GL_EXT_YUV_target, "__samplerExternal2DY2YEXT"); + } + + if (type.getQualifier().storage == EvqUniform) + return; + + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtSampler)) + error(loc, "non-uniform struct contains a sampler or image:", type.getBasicTypeString().c_str(), identifier.c_str()); + else if (type.getBasicType() == EbtSampler && type.getQualifier().storage != EvqUniform) { + // non-uniform sampler + // not yet: okay if it has an initializer + // if (! initializer) + error(loc, "sampler/image types can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str()); + } +} + +#ifndef GLSLANG_WEB + +void TParseContext::atomicUintCheck(const TSourceLoc& loc, const TType& type, const TString& identifier) +{ + if (type.getQualifier().storage == EvqUniform) + return; + + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtAtomicUint)) + error(loc, "non-uniform struct contains an atomic_uint:", type.getBasicTypeString().c_str(), identifier.c_str()); + else if (type.getBasicType() == EbtAtomicUint && type.getQualifier().storage != EvqUniform) + error(loc, "atomic_uints can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str()); +} + +void TParseContext::accStructCheck(const TSourceLoc& loc, const TType& type, const TString& identifier) +{ + if (type.getQualifier().storage == EvqUniform) + return; + + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtAccStruct)) + error(loc, "non-uniform struct contains an accelerationStructureNV:", type.getBasicTypeString().c_str(), identifier.c_str()); + else if (type.getBasicType() == EbtAccStruct && type.getQualifier().storage != EvqUniform) + error(loc, "accelerationStructureNV can only be used in uniform variables or function parameters:", + type.getBasicTypeString().c_str(), identifier.c_str()); + +} + +#endif // GLSLANG_WEB + +void TParseContext::transparentOpaqueCheck(const TSourceLoc& loc, const TType& type, const TString& identifier) +{ + if (parsingBuiltins) + return; + + if (type.getQualifier().storage != EvqUniform) + return; + + if (type.containsNonOpaque()) { + // Vulkan doesn't allow transparent uniforms outside of blocks + if (spvVersion.vulkan > 0) + vulkanRemoved(loc, "non-opaque uniforms outside a block"); + // OpenGL wants locations on these (unless they are getting automapped) + if (spvVersion.openGl > 0 && !type.getQualifier().hasLocation() && !intermediate.getAutoMapLocations()) + error(loc, "non-opaque uniform variables need a layout(location=L)", identifier.c_str(), ""); + } +} + +// +// Qualifier checks knowing the qualifier and that it is a member of a struct/block. +// +void TParseContext::memberQualifierCheck(glslang::TPublicType& publicType) +{ + globalQualifierFixCheck(publicType.loc, publicType.qualifier, true); + checkNoShaderLayouts(publicType.loc, publicType.shaderQualifiers); + if (publicType.qualifier.isNonUniform()) { + error(publicType.loc, "not allowed on block or structure members", "nonuniformEXT", ""); + publicType.qualifier.nonUniform = false; + } +} + +// +// Check/fix just a full qualifier (no variables or types yet, but qualifier is complete) at global level. +// +void TParseContext::globalQualifierFixCheck(const TSourceLoc& loc, TQualifier& qualifier, bool isMemberCheck) +{ + bool nonuniformOkay = false; + + // move from parameter/unknown qualifiers to pipeline in/out qualifiers + switch (qualifier.storage) { + case EvqIn: + profileRequires(loc, ENoProfile, 130, nullptr, "in for stage inputs"); + profileRequires(loc, EEsProfile, 300, nullptr, "in for stage inputs"); + qualifier.storage = EvqVaryingIn; + nonuniformOkay = true; + break; + case EvqOut: + profileRequires(loc, ENoProfile, 130, nullptr, "out for stage outputs"); + profileRequires(loc, EEsProfile, 300, nullptr, "out for stage outputs"); + qualifier.storage = EvqVaryingOut; + break; + case EvqInOut: + qualifier.storage = EvqVaryingIn; + error(loc, "cannot use 'inout' at global scope", "", ""); + break; + case EvqGlobal: + case EvqTemporary: + nonuniformOkay = true; + break; + case EvqUniform: + // According to GLSL spec: The std430 qualifier is supported only for shader storage blocks; a shader using + // the std430 qualifier on a uniform block will fail to compile. + // Only check the global declaration: layout(std430) uniform; + if (blockName == nullptr && + qualifier.layoutPacking == ElpStd430) + { + error(loc, "it is invalid to declare std430 qualifier on uniform", "", ""); + } + break; + default: + break; + } + + if (!nonuniformOkay && qualifier.isNonUniform()) + error(loc, "for non-parameter, can only apply to 'in' or no storage qualifier", "nonuniformEXT", ""); + + // Storage qualifier isn't ready for memberQualifierCheck, we should skip invariantCheck for it. + if (!isMemberCheck || structNestingLevel > 0) + invariantCheck(loc, qualifier); +} + +// +// Check a full qualifier and type (no variable yet) at global level. +// +void TParseContext::globalQualifierTypeCheck(const TSourceLoc& loc, const TQualifier& qualifier, const TPublicType& publicType) +{ + if (! symbolTable.atGlobalLevel()) + return; + + if (!(publicType.userDef && publicType.userDef->isReference()) && !parsingBuiltins) { + if (qualifier.isMemoryQualifierImageAndSSBOOnly() && ! publicType.isImage() && publicType.qualifier.storage != EvqBuffer) { + error(loc, "memory qualifiers cannot be used on this type", "", ""); + } else if (qualifier.isMemory() && (publicType.basicType != EbtSampler) && !publicType.qualifier.isUniformOrBuffer()) { + error(loc, "memory qualifiers cannot be used on this type", "", ""); + } + } + + if (qualifier.storage == EvqBuffer && + publicType.basicType != EbtBlock && + !qualifier.hasBufferReference()) + error(loc, "buffers can be declared only as blocks", "buffer", ""); + + if (qualifier.storage != EvqVaryingIn && publicType.basicType == EbtDouble && + extensionTurnedOn(E_GL_ARB_vertex_attrib_64bit) && language == EShLangVertex && + version < 400) { + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 410, E_GL_ARB_gpu_shader_fp64, "vertex-shader `double` type"); + } + if (qualifier.storage != EvqVaryingIn && qualifier.storage != EvqVaryingOut) + return; + + if (publicType.shaderQualifiers.hasBlendEquation()) + error(loc, "can only be applied to a standalone 'out'", "blend equation", ""); + + // now, knowing it is a shader in/out, do all the in/out semantic checks + + if (publicType.basicType == EbtBool && !parsingBuiltins) { + error(loc, "cannot be bool", GetStorageQualifierString(qualifier.storage), ""); + return; + } + + if (isTypeInt(publicType.basicType) || publicType.basicType == EbtDouble) + profileRequires(loc, EEsProfile, 300, nullptr, "shader input/output"); + + if (!qualifier.flat && !qualifier.isExplicitInterpolation() && !qualifier.isPervertexNV()) { + if (isTypeInt(publicType.basicType) || + publicType.basicType == EbtDouble || + (publicType.userDef && ( publicType.userDef->containsBasicType(EbtInt) + || publicType.userDef->containsBasicType(EbtUint) + || publicType.userDef->contains16BitInt() + || publicType.userDef->contains8BitInt() + || publicType.userDef->contains64BitInt() + || publicType.userDef->containsDouble()))) { + if (qualifier.storage == EvqVaryingIn && language == EShLangFragment) + error(loc, "must be qualified as flat", TType::getBasicString(publicType.basicType), GetStorageQualifierString(qualifier.storage)); + else if (qualifier.storage == EvqVaryingOut && language == EShLangVertex && version == 300) + error(loc, "must be qualified as flat", TType::getBasicString(publicType.basicType), GetStorageQualifierString(qualifier.storage)); + } + } + + if (qualifier.isPatch() && qualifier.isInterpolation()) + error(loc, "cannot use interpolation qualifiers with patch", "patch", ""); + + if (qualifier.isTaskMemory() && publicType.basicType != EbtBlock) + error(loc, "taskNV variables can be declared only as blocks", "taskNV", ""); + + if (qualifier.storage == EvqVaryingIn) { + switch (language) { + case EShLangVertex: + if (publicType.basicType == EbtStruct) { + error(loc, "cannot be a structure or array", GetStorageQualifierString(qualifier.storage), ""); + return; + } + if (publicType.arraySizes) { + requireProfile(loc, ~EEsProfile, "vertex input arrays"); + profileRequires(loc, ENoProfile, 150, nullptr, "vertex input arrays"); + } + if (publicType.basicType == EbtDouble) + profileRequires(loc, ~EEsProfile, 410, E_GL_ARB_vertex_attrib_64bit, "vertex-shader `double` type input"); + if (qualifier.isAuxiliary() || qualifier.isInterpolation() || qualifier.isMemory() || qualifier.invariant) + error(loc, "vertex input cannot be further qualified", "", ""); + break; + case EShLangFragment: + if (publicType.userDef) { + profileRequires(loc, EEsProfile, 300, nullptr, "fragment-shader struct input"); + profileRequires(loc, ~EEsProfile, 150, nullptr, "fragment-shader struct input"); + if (publicType.userDef->containsStructure()) + requireProfile(loc, ~EEsProfile, "fragment-shader struct input containing structure"); + if (publicType.userDef->containsArray()) + requireProfile(loc, ~EEsProfile, "fragment-shader struct input containing an array"); + } + break; + case EShLangCompute: + if (! symbolTable.atBuiltInLevel()) + error(loc, "global storage input qualifier cannot be used in a compute shader", "in", ""); + break; +#ifndef GLSLANG_WEB + case EShLangTessControl: + if (qualifier.patch) + error(loc, "can only use on output in tessellation-control shader", "patch", ""); + break; +#endif + default: + break; + } + } else { + // qualifier.storage == EvqVaryingOut + switch (language) { + case EShLangVertex: + if (publicType.userDef) { + profileRequires(loc, EEsProfile, 300, nullptr, "vertex-shader struct output"); + profileRequires(loc, ~EEsProfile, 150, nullptr, "vertex-shader struct output"); + if (publicType.userDef->containsStructure()) + requireProfile(loc, ~EEsProfile, "vertex-shader struct output containing structure"); + if (publicType.userDef->containsArray()) + requireProfile(loc, ~EEsProfile, "vertex-shader struct output containing an array"); + } + + break; + case EShLangFragment: + profileRequires(loc, EEsProfile, 300, nullptr, "fragment shader output"); + if (publicType.basicType == EbtStruct) { + error(loc, "cannot be a structure", GetStorageQualifierString(qualifier.storage), ""); + return; + } + if (publicType.matrixRows > 0) { + error(loc, "cannot be a matrix", GetStorageQualifierString(qualifier.storage), ""); + return; + } + if (qualifier.isAuxiliary()) + error(loc, "can't use auxiliary qualifier on a fragment output", "centroid/sample/patch", ""); + if (qualifier.isInterpolation()) + error(loc, "can't use interpolation qualifier on a fragment output", "flat/smooth/noperspective", ""); + if (publicType.basicType == EbtDouble || publicType.basicType == EbtInt64 || publicType.basicType == EbtUint64) + error(loc, "cannot contain a double, int64, or uint64", GetStorageQualifierString(qualifier.storage), ""); + break; + + case EShLangCompute: + error(loc, "global storage output qualifier cannot be used in a compute shader", "out", ""); + break; +#ifndef GLSLANG_WEB + case EShLangTessEvaluation: + if (qualifier.patch) + error(loc, "can only use on input in tessellation-evaluation shader", "patch", ""); + break; +#endif + default: + break; + } + } +} + +// +// Merge characteristics of the 'src' qualifier into the 'dst'. +// If there is duplication, issue error messages, unless 'force' +// is specified, which means to just override default settings. +// +// Also, when force is false, it will be assumed that 'src' follows +// 'dst', for the purpose of error checking order for versions +// that require specific orderings of qualifiers. +// +void TParseContext::mergeQualifiers(const TSourceLoc& loc, TQualifier& dst, const TQualifier& src, bool force) +{ + // Multiple auxiliary qualifiers (mostly done later by 'individual qualifiers') + if (src.isAuxiliary() && dst.isAuxiliary()) + error(loc, "can only have one auxiliary qualifier (centroid, patch, and sample)", "", ""); + + // Multiple interpolation qualifiers (mostly done later by 'individual qualifiers') + if (src.isInterpolation() && dst.isInterpolation()) + error(loc, "can only have one interpolation qualifier (flat, smooth, noperspective, __explicitInterpAMD)", "", ""); + + // Ordering + if (! force && ((!isEsProfile() && version < 420) || + (isEsProfile() && version < 310)) + && ! extensionTurnedOn(E_GL_ARB_shading_language_420pack)) { + // non-function parameters + if (src.isNoContraction() && (dst.invariant || dst.isInterpolation() || dst.isAuxiliary() || dst.storage != EvqTemporary || dst.precision != EpqNone)) + error(loc, "precise qualifier must appear first", "", ""); + if (src.invariant && (dst.isInterpolation() || dst.isAuxiliary() || dst.storage != EvqTemporary || dst.precision != EpqNone)) + error(loc, "invariant qualifier must appear before interpolation, storage, and precision qualifiers ", "", ""); + else if (src.isInterpolation() && (dst.isAuxiliary() || dst.storage != EvqTemporary || dst.precision != EpqNone)) + error(loc, "interpolation qualifiers must appear before storage and precision qualifiers", "", ""); + else if (src.isAuxiliary() && (dst.storage != EvqTemporary || dst.precision != EpqNone)) + error(loc, "Auxiliary qualifiers (centroid, patch, and sample) must appear before storage and precision qualifiers", "", ""); + else if (src.storage != EvqTemporary && (dst.precision != EpqNone)) + error(loc, "precision qualifier must appear as last qualifier", "", ""); + + // function parameters + if (src.isNoContraction() && (dst.storage == EvqConst || dst.storage == EvqIn || dst.storage == EvqOut)) + error(loc, "precise qualifier must appear first", "", ""); + if (src.storage == EvqConst && (dst.storage == EvqIn || dst.storage == EvqOut)) + error(loc, "in/out must appear before const", "", ""); + } + + // Storage qualification + if (dst.storage == EvqTemporary || dst.storage == EvqGlobal) + dst.storage = src.storage; + else if ((dst.storage == EvqIn && src.storage == EvqOut) || + (dst.storage == EvqOut && src.storage == EvqIn)) + dst.storage = EvqInOut; + else if ((dst.storage == EvqIn && src.storage == EvqConst) || + (dst.storage == EvqConst && src.storage == EvqIn)) + dst.storage = EvqConstReadOnly; + else if (src.storage != EvqTemporary && + src.storage != EvqGlobal) + error(loc, "too many storage qualifiers", GetStorageQualifierString(src.storage), ""); + + // Precision qualifiers + if (! force && src.precision != EpqNone && dst.precision != EpqNone) + error(loc, "only one precision qualifier allowed", GetPrecisionQualifierString(src.precision), ""); + if (dst.precision == EpqNone || (force && src.precision != EpqNone)) + dst.precision = src.precision; + +#ifndef GLSLANG_WEB + if (!force && ((src.coherent && (dst.devicecoherent || dst.queuefamilycoherent || dst.workgroupcoherent || dst.subgroupcoherent || dst.shadercallcoherent)) || + (src.devicecoherent && (dst.coherent || dst.queuefamilycoherent || dst.workgroupcoherent || dst.subgroupcoherent || dst.shadercallcoherent)) || + (src.queuefamilycoherent && (dst.coherent || dst.devicecoherent || dst.workgroupcoherent || dst.subgroupcoherent || dst.shadercallcoherent)) || + (src.workgroupcoherent && (dst.coherent || dst.devicecoherent || dst.queuefamilycoherent || dst.subgroupcoherent || dst.shadercallcoherent)) || + (src.subgroupcoherent && (dst.coherent || dst.devicecoherent || dst.queuefamilycoherent || dst.workgroupcoherent || dst.shadercallcoherent)) || + (src.shadercallcoherent && (dst.coherent || dst.devicecoherent || dst.queuefamilycoherent || dst.workgroupcoherent || dst.subgroupcoherent)))) { + error(loc, "only one coherent/devicecoherent/queuefamilycoherent/workgroupcoherent/subgroupcoherent/shadercallcoherent qualifier allowed", + GetPrecisionQualifierString(src.precision), ""); + } +#endif + // Layout qualifiers + mergeObjectLayoutQualifiers(dst, src, false); + + // individual qualifiers + bool repeated = false; + #define MERGE_SINGLETON(field) repeated |= dst.field && src.field; dst.field |= src.field; + MERGE_SINGLETON(invariant); + MERGE_SINGLETON(centroid); + MERGE_SINGLETON(smooth); + MERGE_SINGLETON(flat); + MERGE_SINGLETON(specConstant); +#ifndef GLSLANG_WEB + MERGE_SINGLETON(noContraction); + MERGE_SINGLETON(nopersp); + MERGE_SINGLETON(explicitInterp); + MERGE_SINGLETON(perPrimitiveNV); + MERGE_SINGLETON(perViewNV); + MERGE_SINGLETON(perTaskNV); + MERGE_SINGLETON(patch); + MERGE_SINGLETON(sample); + MERGE_SINGLETON(coherent); + MERGE_SINGLETON(devicecoherent); + MERGE_SINGLETON(queuefamilycoherent); + MERGE_SINGLETON(workgroupcoherent); + MERGE_SINGLETON(subgroupcoherent); + MERGE_SINGLETON(shadercallcoherent); + MERGE_SINGLETON(nonprivate); + MERGE_SINGLETON(volatil); + MERGE_SINGLETON(restrict); + MERGE_SINGLETON(readonly); + MERGE_SINGLETON(writeonly); + MERGE_SINGLETON(nonUniform); +#endif + + if (repeated) + error(loc, "replicated qualifiers", "", ""); +} + +void TParseContext::setDefaultPrecision(const TSourceLoc& loc, TPublicType& publicType, TPrecisionQualifier qualifier) +{ + TBasicType basicType = publicType.basicType; + + if (basicType == EbtSampler) { + defaultSamplerPrecision[computeSamplerTypeIndex(publicType.sampler)] = qualifier; + + return; // all is well + } + + if (basicType == EbtInt || basicType == EbtFloat) { + if (publicType.isScalar()) { + defaultPrecision[basicType] = qualifier; + if (basicType == EbtInt) { + defaultPrecision[EbtUint] = qualifier; + precisionManager.explicitIntDefaultSeen(); + } else + precisionManager.explicitFloatDefaultSeen(); + + return; // all is well + } + } + + if (basicType == EbtAtomicUint) { + if (qualifier != EpqHigh) + error(loc, "can only apply highp to atomic_uint", "precision", ""); + + return; + } + + error(loc, "cannot apply precision statement to this type; use 'float', 'int' or a sampler type", TType::getBasicString(basicType), ""); +} + +// used to flatten the sampler type space into a single dimension +// correlates with the declaration of defaultSamplerPrecision[] +int TParseContext::computeSamplerTypeIndex(TSampler& sampler) +{ + int arrayIndex = sampler.arrayed ? 1 : 0; + int shadowIndex = sampler.shadow ? 1 : 0; + int externalIndex = sampler.isExternal() ? 1 : 0; + int imageIndex = sampler.isImageClass() ? 1 : 0; + int msIndex = sampler.isMultiSample() ? 1 : 0; + + int flattened = EsdNumDims * (EbtNumTypes * (2 * (2 * (2 * (2 * arrayIndex + msIndex) + imageIndex) + shadowIndex) + + externalIndex) + sampler.type) + sampler.dim; + assert(flattened < maxSamplerIndex); + + return flattened; +} + +TPrecisionQualifier TParseContext::getDefaultPrecision(TPublicType& publicType) +{ + if (publicType.basicType == EbtSampler) + return defaultSamplerPrecision[computeSamplerTypeIndex(publicType.sampler)]; + else + return defaultPrecision[publicType.basicType]; +} + +void TParseContext::precisionQualifierCheck(const TSourceLoc& loc, TBasicType baseType, TQualifier& qualifier) +{ + // Built-in symbols are allowed some ambiguous precisions, to be pinned down + // later by context. + if (! obeyPrecisionQualifiers() || parsingBuiltins) + return; + +#ifndef GLSLANG_WEB + if (baseType == EbtAtomicUint && qualifier.precision != EpqNone && qualifier.precision != EpqHigh) + error(loc, "atomic counters can only be highp", "atomic_uint", ""); +#endif + + if (baseType == EbtFloat || baseType == EbtUint || baseType == EbtInt || baseType == EbtSampler || baseType == EbtAtomicUint) { + if (qualifier.precision == EpqNone) { + if (relaxedErrors()) + warn(loc, "type requires declaration of default precision qualifier", TType::getBasicString(baseType), "substituting 'mediump'"); + else + error(loc, "type requires declaration of default precision qualifier", TType::getBasicString(baseType), ""); + qualifier.precision = EpqMedium; + defaultPrecision[baseType] = EpqMedium; + } + } else if (qualifier.precision != EpqNone) + error(loc, "type cannot have precision qualifier", TType::getBasicString(baseType), ""); +} + +void TParseContext::parameterTypeCheck(const TSourceLoc& loc, TStorageQualifier qualifier, const TType& type) +{ + if ((qualifier == EvqOut || qualifier == EvqInOut) && type.isOpaque()) + error(loc, "samplers and atomic_uints cannot be output parameters", type.getBasicTypeString().c_str(), ""); + if (!parsingBuiltins && type.contains16BitFloat()) + requireFloat16Arithmetic(loc, type.getBasicTypeString().c_str(), "float16 types can only be in uniform block or buffer storage"); + if (!parsingBuiltins && type.contains16BitInt()) + requireInt16Arithmetic(loc, type.getBasicTypeString().c_str(), "(u)int16 types can only be in uniform block or buffer storage"); + if (!parsingBuiltins && type.contains8BitInt()) + requireInt8Arithmetic(loc, type.getBasicTypeString().c_str(), "(u)int8 types can only be in uniform block or buffer storage"); +} + +bool TParseContext::containsFieldWithBasicType(const TType& type, TBasicType basicType) +{ + if (type.getBasicType() == basicType) + return true; + + if (type.getBasicType() == EbtStruct) { + const TTypeList& structure = *type.getStruct(); + for (unsigned int i = 0; i < structure.size(); ++i) { + if (containsFieldWithBasicType(*structure[i].type, basicType)) + return true; + } + } + + return false; +} + +// +// Do size checking for an array type's size. +// +void TParseContext::arraySizeCheck(const TSourceLoc& loc, TIntermTyped* expr, TArraySize& sizePair, const char *sizeType) +{ + bool isConst = false; + sizePair.node = nullptr; + + int size = 1; + + TIntermConstantUnion* constant = expr->getAsConstantUnion(); + if (constant) { + // handle true (non-specialization) constant + size = constant->getConstArray()[0].getIConst(); + isConst = true; + } else { + // see if it's a specialization constant instead + if (expr->getQualifier().isSpecConstant()) { + isConst = true; + sizePair.node = expr; + TIntermSymbol* symbol = expr->getAsSymbolNode(); + if (symbol && symbol->getConstArray().size() > 0) + size = symbol->getConstArray()[0].getIConst(); + } else if (expr->getAsUnaryNode() && + expr->getAsUnaryNode()->getOp() == glslang::EOpArrayLength && + expr->getAsUnaryNode()->getOperand()->getType().isCoopMat()) { + isConst = true; + size = 1; + sizePair.node = expr->getAsUnaryNode(); + } + } + + sizePair.size = size; + + if (! isConst || (expr->getBasicType() != EbtInt && expr->getBasicType() != EbtUint)) { + error(loc, sizeType, "", "must be a constant integer expression"); + return; + } + + if (size <= 0) { + error(loc, sizeType, "", "must be a positive integer"); + return; + } +} + +// +// See if this qualifier can be an array. +// +// Returns true if there is an error. +// +bool TParseContext::arrayQualifierError(const TSourceLoc& loc, const TQualifier& qualifier) +{ + if (qualifier.storage == EvqConst) { + profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, "const array"); + profileRequires(loc, EEsProfile, 300, nullptr, "const array"); + } + + if (qualifier.storage == EvqVaryingIn && language == EShLangVertex) { + requireProfile(loc, ~EEsProfile, "vertex input arrays"); + profileRequires(loc, ENoProfile, 150, nullptr, "vertex input arrays"); + } + + return false; +} + +// +// See if this qualifier and type combination can be an array. +// Assumes arrayQualifierError() was also called to catch the type-invariant tests. +// +// Returns true if there is an error. +// +bool TParseContext::arrayError(const TSourceLoc& loc, const TType& type) +{ + if (type.getQualifier().storage == EvqVaryingOut && language == EShLangVertex) { + if (type.isArrayOfArrays()) + requireProfile(loc, ~EEsProfile, "vertex-shader array-of-array output"); + else if (type.isStruct()) + requireProfile(loc, ~EEsProfile, "vertex-shader array-of-struct output"); + } + if (type.getQualifier().storage == EvqVaryingIn && language == EShLangFragment) { + if (type.isArrayOfArrays()) + requireProfile(loc, ~EEsProfile, "fragment-shader array-of-array input"); + else if (type.isStruct()) + requireProfile(loc, ~EEsProfile, "fragment-shader array-of-struct input"); + } + if (type.getQualifier().storage == EvqVaryingOut && language == EShLangFragment) { + if (type.isArrayOfArrays()) + requireProfile(loc, ~EEsProfile, "fragment-shader array-of-array output"); + } + + return false; +} + +// +// Require array to be completely sized +// +void TParseContext::arraySizeRequiredCheck(const TSourceLoc& loc, const TArraySizes& arraySizes) +{ + if (!parsingBuiltins && arraySizes.hasUnsized()) + error(loc, "array size required", "", ""); +} + +void TParseContext::structArrayCheck(const TSourceLoc& /*loc*/, const TType& type) +{ + const TTypeList& structure = *type.getStruct(); + for (int m = 0; m < (int)structure.size(); ++m) { + const TType& member = *structure[m].type; + if (member.isArray()) + arraySizeRequiredCheck(structure[m].loc, *member.getArraySizes()); + } +} + +void TParseContext::arraySizesCheck(const TSourceLoc& loc, const TQualifier& qualifier, TArraySizes* arraySizes, + const TIntermTyped* initializer, bool lastMember) +{ + assert(arraySizes); + + // always allow special built-in ins/outs sized to topologies + if (parsingBuiltins) + return; + + // initializer must be a sized array, in which case + // allow the initializer to set any unknown array sizes + if (initializer != nullptr) { + if (initializer->getType().isUnsizedArray()) + error(loc, "array initializer must be sized", "[]", ""); + return; + } + + // No environment allows any non-outer-dimension to be implicitly sized + if (arraySizes->isInnerUnsized()) { + error(loc, "only outermost dimension of an array of arrays can be implicitly sized", "[]", ""); + arraySizes->clearInnerUnsized(); + } + + if (arraySizes->isInnerSpecialization() && + (qualifier.storage != EvqTemporary && qualifier.storage != EvqGlobal && qualifier.storage != EvqShared && qualifier.storage != EvqConst)) + error(loc, "only outermost dimension of an array of arrays can be a specialization constant", "[]", ""); + +#ifndef GLSLANG_WEB + + // desktop always allows outer-dimension-unsized variable arrays, + if (!isEsProfile()) + return; + + // for ES, if size isn't coming from an initializer, it has to be explicitly declared now, + // with very few exceptions + + // implicitly-sized io exceptions: + switch (language) { + case EShLangGeometry: + if (qualifier.storage == EvqVaryingIn) + if ((isEsProfile() && version >= 320) || + extensionsTurnedOn(Num_AEP_geometry_shader, AEP_geometry_shader)) + return; + break; + case EShLangTessControl: + if ( qualifier.storage == EvqVaryingIn || + (qualifier.storage == EvqVaryingOut && ! qualifier.isPatch())) + if ((isEsProfile() && version >= 320) || + extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader)) + return; + break; + case EShLangTessEvaluation: + if ((qualifier.storage == EvqVaryingIn && ! qualifier.isPatch()) || + qualifier.storage == EvqVaryingOut) + if ((isEsProfile() && version >= 320) || + extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader)) + return; + break; + case EShLangMeshNV: + if (qualifier.storage == EvqVaryingOut) + if ((isEsProfile() && version >= 320) || + extensionTurnedOn(E_GL_NV_mesh_shader)) + return; + break; + default: + break; + } + +#endif + + // last member of ssbo block exception: + if (qualifier.storage == EvqBuffer && lastMember) + return; + + arraySizeRequiredCheck(loc, *arraySizes); +} + +void TParseContext::arrayOfArrayVersionCheck(const TSourceLoc& loc, const TArraySizes* sizes) +{ + if (sizes == nullptr || sizes->getNumDims() == 1) + return; + + const char* feature = "arrays of arrays"; + + requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, feature); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 430, nullptr, feature); +} + +// +// Do all the semantic checking for declaring or redeclaring an array, with and +// without a size, and make the right changes to the symbol table. +// +void TParseContext::declareArray(const TSourceLoc& loc, const TString& identifier, const TType& type, TSymbol*& symbol) +{ + if (symbol == nullptr) { + bool currentScope; + symbol = symbolTable.find(identifier, nullptr, ¤tScope); + + if (symbol && builtInName(identifier) && ! symbolTable.atBuiltInLevel()) { + // bad shader (errors already reported) trying to redeclare a built-in name as an array + symbol = nullptr; + return; + } + if (symbol == nullptr || ! currentScope) { + // + // Successfully process a new definition. + // (Redeclarations have to take place at the same scope; otherwise they are hiding declarations) + // + symbol = new TVariable(&identifier, type); + symbolTable.insert(*symbol); + if (symbolTable.atGlobalLevel()) + trackLinkage(*symbol); + +#ifndef GLSLANG_WEB + if (! symbolTable.atBuiltInLevel()) { + if (isIoResizeArray(type)) { + ioArraySymbolResizeList.push_back(symbol); + checkIoArraysConsistency(loc, true); + } else + fixIoArraySize(loc, symbol->getWritableType()); + } +#endif + + return; + } + if (symbol->getAsAnonMember()) { + error(loc, "cannot redeclare a user-block member array", identifier.c_str(), ""); + symbol = nullptr; + return; + } + } + + // + // Process a redeclaration. + // + + if (symbol == nullptr) { + error(loc, "array variable name expected", identifier.c_str(), ""); + return; + } + + // redeclareBuiltinVariable() should have already done the copyUp() + TType& existingType = symbol->getWritableType(); + + if (! existingType.isArray()) { + error(loc, "redeclaring non-array as array", identifier.c_str(), ""); + return; + } + + if (! existingType.sameElementType(type)) { + error(loc, "redeclaration of array with a different element type", identifier.c_str(), ""); + return; + } + + if (! existingType.sameInnerArrayness(type)) { + error(loc, "redeclaration of array with a different array dimensions or sizes", identifier.c_str(), ""); + return; + } + +#ifndef GLSLANG_WEB + if (existingType.isSizedArray()) { + // be more leniant for input arrays to geometry shaders and tessellation control outputs, where the redeclaration is the same size + if (! (isIoResizeArray(type) && existingType.getOuterArraySize() == type.getOuterArraySize())) + error(loc, "redeclaration of array with size", identifier.c_str(), ""); + return; + } + + arrayLimitCheck(loc, identifier, type.getOuterArraySize()); + + existingType.updateArraySizes(type); + + if (isIoResizeArray(type)) + checkIoArraysConsistency(loc); +#endif +} + +#ifndef GLSLANG_WEB + +// Policy and error check for needing a runtime sized array. +void TParseContext::checkRuntimeSizable(const TSourceLoc& loc, const TIntermTyped& base) +{ + // runtime length implies runtime sizeable, so no problem + if (isRuntimeLength(base)) + return; + + if (base.getType().getQualifier().builtIn == EbvSampleMask) + return; + + // Check for last member of a bufferreference type, which is runtime sizeable + // but doesn't support runtime length + if (base.getType().getQualifier().storage == EvqBuffer) { + const TIntermBinary* binary = base.getAsBinaryNode(); + if (binary != nullptr && + binary->getOp() == EOpIndexDirectStruct && + binary->getLeft()->isReference()) { + + const int index = binary->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst(); + const int memberCount = (int)binary->getLeft()->getType().getReferentType()->getStruct()->size(); + if (index == memberCount - 1) + return; + } + } + + // check for additional things allowed by GL_EXT_nonuniform_qualifier + if (base.getBasicType() == EbtSampler || base.getBasicType() == EbtAccStruct || base.getBasicType() == EbtRayQuery || + (base.getBasicType() == EbtBlock && base.getType().getQualifier().isUniformOrBuffer())) + requireExtensions(loc, 1, &E_GL_EXT_nonuniform_qualifier, "variable index"); + else + error(loc, "", "[", "array must be redeclared with a size before being indexed with a variable"); +} + +// Policy decision for whether a run-time .length() is allowed. +bool TParseContext::isRuntimeLength(const TIntermTyped& base) const +{ + if (base.getType().getQualifier().storage == EvqBuffer) { + // in a buffer block + const TIntermBinary* binary = base.getAsBinaryNode(); + if (binary != nullptr && binary->getOp() == EOpIndexDirectStruct) { + // is it the last member? + const int index = binary->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst(); + + if (binary->getLeft()->isReference()) + return false; + + const int memberCount = (int)binary->getLeft()->getType().getStruct()->size(); + if (index == memberCount - 1) + return true; + } + } + + return false; +} + +// Check if mesh perviewNV attributes have a view dimension +// and resize it to gl_MaxMeshViewCountNV when implicitly sized. +void TParseContext::checkAndResizeMeshViewDim(const TSourceLoc& loc, TType& type, bool isBlockMember) +{ + // see if member is a per-view attribute + if (!type.getQualifier().isPerView()) + return; + + if ((isBlockMember && type.isArray()) || (!isBlockMember && type.isArrayOfArrays())) { + // since we don't have the maxMeshViewCountNV set during parsing builtins, we hardcode the value. + int maxViewCount = parsingBuiltins ? 4 : resources.maxMeshViewCountNV; + // For block members, outermost array dimension is the view dimension. + // For non-block members, outermost array dimension is the vertex/primitive dimension + // and 2nd outermost is the view dimension. + int viewDim = isBlockMember ? 0 : 1; + int viewDimSize = type.getArraySizes()->getDimSize(viewDim); + + if (viewDimSize != UnsizedArraySize && viewDimSize != maxViewCount) + error(loc, "mesh view output array size must be gl_MaxMeshViewCountNV or implicitly sized", "[]", ""); + else if (viewDimSize == UnsizedArraySize) + type.getArraySizes()->setDimSize(viewDim, maxViewCount); + } + else { + error(loc, "requires a view array dimension", "perviewNV", ""); + } +} + +#endif // GLSLANG_WEB + +// Returns true if the first argument to the #line directive is the line number for the next line. +// +// Desktop, pre-version 3.30: "After processing this directive +// (including its new-line), the implementation will behave as if it is compiling at line number line+1 and +// source string number source-string-number." +// +// Desktop, version 3.30 and later, and ES: "After processing this directive +// (including its new-line), the implementation will behave as if it is compiling at line number line and +// source string number source-string-number. +bool TParseContext::lineDirectiveShouldSetNextLine() const +{ + return isEsProfile() || version >= 330; +} + +// +// Enforce non-initializer type/qualifier rules. +// +void TParseContext::nonInitConstCheck(const TSourceLoc& loc, TString& identifier, TType& type) +{ + // + // Make the qualifier make sense, given that there is not an initializer. + // + if (type.getQualifier().storage == EvqConst || + type.getQualifier().storage == EvqConstReadOnly) { + type.getQualifier().makeTemporary(); + error(loc, "variables with qualifier 'const' must be initialized", identifier.c_str(), ""); + } +} + +// +// See if the identifier is a built-in symbol that can be redeclared, and if so, +// copy the symbol table's read-only built-in variable to the current +// global level, where it can be modified based on the passed in type. +// +// Returns nullptr if no redeclaration took place; meaning a normal declaration still +// needs to occur for it, not necessarily an error. +// +// Returns a redeclared and type-modified variable if a redeclarated occurred. +// +TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier, + const TQualifier& qualifier, const TShaderQualifiers& publicType) +{ +#ifndef GLSLANG_WEB + if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel()) + return nullptr; + + bool nonEsRedecls = (!isEsProfile() && (version >= 130 || identifier == "gl_TexCoord")); + bool esRedecls = (isEsProfile() && + (version >= 320 || extensionsTurnedOn(Num_AEP_shader_io_blocks, AEP_shader_io_blocks))); + if (! esRedecls && ! nonEsRedecls) + return nullptr; + + // Special case when using GL_ARB_separate_shader_objects + bool ssoPre150 = false; // means the only reason this variable is redeclared is due to this combination + if (!isEsProfile() && version <= 140 && extensionTurnedOn(E_GL_ARB_separate_shader_objects)) { + if (identifier == "gl_Position" || + identifier == "gl_PointSize" || + identifier == "gl_ClipVertex" || + identifier == "gl_FogFragCoord") + ssoPre150 = true; + } + + // Potentially redeclaring a built-in variable... + + if (ssoPre150 || + (identifier == "gl_FragDepth" && ((nonEsRedecls && version >= 420) || esRedecls)) || + (identifier == "gl_FragCoord" && ((nonEsRedecls && version >= 150) || esRedecls)) || + identifier == "gl_ClipDistance" || + identifier == "gl_CullDistance" || + identifier == "gl_ShadingRateEXT" || + identifier == "gl_PrimitiveShadingRateEXT" || + identifier == "gl_FrontColor" || + identifier == "gl_BackColor" || + identifier == "gl_FrontSecondaryColor" || + identifier == "gl_BackSecondaryColor" || + identifier == "gl_SecondaryColor" || + (identifier == "gl_Color" && language == EShLangFragment) || + (identifier == "gl_FragStencilRefARB" && (nonEsRedecls && version >= 140) + && language == EShLangFragment) || + identifier == "gl_SampleMask" || + identifier == "gl_Layer" || + identifier == "gl_PrimitiveIndicesNV" || + identifier == "gl_TexCoord") { + + // Find the existing symbol, if any. + bool builtIn; + TSymbol* symbol = symbolTable.find(identifier, &builtIn); + + // If the symbol was not found, this must be a version/profile/stage + // that doesn't have it. + if (! symbol) + return nullptr; + + // If it wasn't at a built-in level, then it's already been redeclared; + // that is, this is a redeclaration of a redeclaration; reuse that initial + // redeclaration. Otherwise, make the new one. + if (builtIn) + makeEditable(symbol); + + // Now, modify the type of the copy, as per the type of the current redeclaration. + + TQualifier& symbolQualifier = symbol->getWritableType().getQualifier(); + if (ssoPre150) { + if (intermediate.inIoAccessed(identifier)) + error(loc, "cannot redeclare after use", identifier.c_str(), ""); + if (qualifier.hasLayout()) + error(loc, "cannot apply layout qualifier to", "redeclaration", symbol->getName().c_str()); + if (qualifier.isMemory() || qualifier.isAuxiliary() || (language == EShLangVertex && qualifier.storage != EvqVaryingOut) || + (language == EShLangFragment && qualifier.storage != EvqVaryingIn)) + error(loc, "cannot change storage, memory, or auxiliary qualification of", "redeclaration", symbol->getName().c_str()); + if (! qualifier.smooth) + error(loc, "cannot change interpolation qualification of", "redeclaration", symbol->getName().c_str()); + } else if (identifier == "gl_FrontColor" || + identifier == "gl_BackColor" || + identifier == "gl_FrontSecondaryColor" || + identifier == "gl_BackSecondaryColor" || + identifier == "gl_SecondaryColor" || + identifier == "gl_Color") { + symbolQualifier.flat = qualifier.flat; + symbolQualifier.smooth = qualifier.smooth; + symbolQualifier.nopersp = qualifier.nopersp; + if (qualifier.hasLayout()) + error(loc, "cannot apply layout qualifier to", "redeclaration", symbol->getName().c_str()); + if (qualifier.isMemory() || qualifier.isAuxiliary() || symbol->getType().getQualifier().storage != qualifier.storage) + error(loc, "cannot change storage, memory, or auxiliary qualification of", "redeclaration", symbol->getName().c_str()); + } else if (identifier == "gl_TexCoord" || + identifier == "gl_ClipDistance" || + identifier == "gl_CullDistance") { + if (qualifier.hasLayout() || qualifier.isMemory() || qualifier.isAuxiliary() || + qualifier.nopersp != symbolQualifier.nopersp || qualifier.flat != symbolQualifier.flat || + symbolQualifier.storage != qualifier.storage) + error(loc, "cannot change qualification of", "redeclaration", symbol->getName().c_str()); + } else if (identifier == "gl_FragCoord") { + if (intermediate.inIoAccessed("gl_FragCoord")) + error(loc, "cannot redeclare after use", "gl_FragCoord", ""); + if (qualifier.nopersp != symbolQualifier.nopersp || qualifier.flat != symbolQualifier.flat || + qualifier.isMemory() || qualifier.isAuxiliary()) + error(loc, "can only change layout qualification of", "redeclaration", symbol->getName().c_str()); + if (qualifier.storage != EvqVaryingIn) + error(loc, "cannot change input storage qualification of", "redeclaration", symbol->getName().c_str()); + if (! builtIn && (publicType.pixelCenterInteger != intermediate.getPixelCenterInteger() || + publicType.originUpperLeft != intermediate.getOriginUpperLeft())) + error(loc, "cannot redeclare with different qualification:", "redeclaration", symbol->getName().c_str()); + if (publicType.pixelCenterInteger) + intermediate.setPixelCenterInteger(); + if (publicType.originUpperLeft) + intermediate.setOriginUpperLeft(); + } else if (identifier == "gl_FragDepth") { + if (qualifier.nopersp != symbolQualifier.nopersp || qualifier.flat != symbolQualifier.flat || + qualifier.isMemory() || qualifier.isAuxiliary()) + error(loc, "can only change layout qualification of", "redeclaration", symbol->getName().c_str()); + if (qualifier.storage != EvqVaryingOut) + error(loc, "cannot change output storage qualification of", "redeclaration", symbol->getName().c_str()); + if (publicType.layoutDepth != EldNone) { + if (intermediate.inIoAccessed("gl_FragDepth")) + error(loc, "cannot redeclare after use", "gl_FragDepth", ""); + if (! intermediate.setDepth(publicType.layoutDepth)) + error(loc, "all redeclarations must use the same depth layout on", "redeclaration", symbol->getName().c_str()); + } + } + else if ( + identifier == "gl_PrimitiveIndicesNV" || + identifier == "gl_FragStencilRefARB") { + if (qualifier.hasLayout()) + error(loc, "cannot apply layout qualifier to", "redeclaration", symbol->getName().c_str()); + if (qualifier.storage != EvqVaryingOut) + error(loc, "cannot change output storage qualification of", "redeclaration", symbol->getName().c_str()); + } + else if (identifier == "gl_SampleMask") { + if (!publicType.layoutOverrideCoverage) { + error(loc, "redeclaration only allowed for override_coverage layout", "redeclaration", symbol->getName().c_str()); + } + intermediate.setLayoutOverrideCoverage(); + } + else if (identifier == "gl_Layer") { + if (!qualifier.layoutViewportRelative && qualifier.layoutSecondaryViewportRelativeOffset == -2048) + error(loc, "redeclaration only allowed for viewport_relative or secondary_view_offset layout", "redeclaration", symbol->getName().c_str()); + symbolQualifier.layoutViewportRelative = qualifier.layoutViewportRelative; + symbolQualifier.layoutSecondaryViewportRelativeOffset = qualifier.layoutSecondaryViewportRelativeOffset; + } + + // TODO: semantics quality: separate smooth from nothing declared, then use IsInterpolation for several tests above + + return symbol; + } +#endif + + return nullptr; +} + +// +// Either redeclare the requested block, or give an error message why it can't be done. +// +// TODO: functionality: explicitly sizing members of redeclared blocks is not giving them an explicit size +void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newTypeList, const TString& blockName, + const TString* instanceName, TArraySizes* arraySizes) +{ +#ifndef GLSLANG_WEB + const char* feature = "built-in block redeclaration"; + profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, feature); + profileRequires(loc, ~EEsProfile, 410, E_GL_ARB_separate_shader_objects, feature); + + if (blockName != "gl_PerVertex" && blockName != "gl_PerFragment" && + blockName != "gl_MeshPerVertexNV" && blockName != "gl_MeshPerPrimitiveNV") { + error(loc, "cannot redeclare block: ", "block declaration", blockName.c_str()); + return; + } + + // Redeclaring a built-in block... + + if (instanceName && ! builtInName(*instanceName)) { + error(loc, "cannot redeclare a built-in block with a user name", instanceName->c_str(), ""); + return; + } + + // Blocks with instance names are easy to find, lookup the instance name, + // Anonymous blocks need to be found via a member. + bool builtIn; + TSymbol* block; + if (instanceName) + block = symbolTable.find(*instanceName, &builtIn); + else + block = symbolTable.find(newTypeList.front().type->getFieldName(), &builtIn); + + // If the block was not found, this must be a version/profile/stage + // that doesn't have it, or the instance name is wrong. + const char* errorName = instanceName ? instanceName->c_str() : newTypeList.front().type->getFieldName().c_str(); + if (! block) { + error(loc, "no declaration found for redeclaration", errorName, ""); + return; + } + // Built-in blocks cannot be redeclared more than once, which if happened, + // we'd be finding the already redeclared one here, rather than the built in. + if (! builtIn) { + error(loc, "can only redeclare a built-in block once, and before any use", blockName.c_str(), ""); + return; + } + + // Copy the block to make a writable version, to insert into the block table after editing. + block = symbolTable.copyUpDeferredInsert(block); + + if (block->getType().getBasicType() != EbtBlock) { + error(loc, "cannot redeclare a non block as a block", errorName, ""); + return; + } + + // Fix XFB stuff up, it applies to the order of the redeclaration, not + // the order of the original members. + if (currentBlockQualifier.storage == EvqVaryingOut && globalOutputDefaults.hasXfbBuffer()) { + if (!currentBlockQualifier.hasXfbBuffer()) + currentBlockQualifier.layoutXfbBuffer = globalOutputDefaults.layoutXfbBuffer; + if (!currentBlockQualifier.hasStream()) + currentBlockQualifier.layoutStream = globalOutputDefaults.layoutStream; + fixXfbOffsets(currentBlockQualifier, newTypeList); + } + + // Edit and error check the container against the redeclaration + // - remove unused members + // - ensure remaining qualifiers/types match + + TType& type = block->getWritableType(); + + // if gl_PerVertex is redeclared for the purpose of passing through "gl_Position" + // for passthrough purpose, the redeclared block should have the same qualifers as + // the current one + if (currentBlockQualifier.layoutPassthrough) { + type.getQualifier().layoutPassthrough = currentBlockQualifier.layoutPassthrough; + type.getQualifier().storage = currentBlockQualifier.storage; + type.getQualifier().layoutStream = currentBlockQualifier.layoutStream; + type.getQualifier().layoutXfbBuffer = currentBlockQualifier.layoutXfbBuffer; + } + + TTypeList::iterator member = type.getWritableStruct()->begin(); + size_t numOriginalMembersFound = 0; + while (member != type.getStruct()->end()) { + // look for match + bool found = false; + TTypeList::const_iterator newMember; + TSourceLoc memberLoc; + memberLoc.init(); + for (newMember = newTypeList.begin(); newMember != newTypeList.end(); ++newMember) { + if (member->type->getFieldName() == newMember->type->getFieldName()) { + found = true; + memberLoc = newMember->loc; + break; + } + } + + if (found) { + ++numOriginalMembersFound; + // - ensure match between redeclared members' types + // - check for things that can't be changed + // - update things that can be changed + TType& oldType = *member->type; + const TType& newType = *newMember->type; + if (! newType.sameElementType(oldType)) + error(memberLoc, "cannot redeclare block member with a different type", member->type->getFieldName().c_str(), ""); + if (oldType.isArray() != newType.isArray()) + error(memberLoc, "cannot change arrayness of redeclared block member", member->type->getFieldName().c_str(), ""); + else if (! oldType.getQualifier().isPerView() && ! oldType.sameArrayness(newType) && oldType.isSizedArray()) + error(memberLoc, "cannot change array size of redeclared block member", member->type->getFieldName().c_str(), ""); + else if (! oldType.getQualifier().isPerView() && newType.isArray()) + arrayLimitCheck(loc, member->type->getFieldName(), newType.getOuterArraySize()); + if (oldType.getQualifier().isPerView() && ! newType.getQualifier().isPerView()) + error(memberLoc, "missing perviewNV qualifier to redeclared block member", member->type->getFieldName().c_str(), ""); + else if (! oldType.getQualifier().isPerView() && newType.getQualifier().isPerView()) + error(memberLoc, "cannot add perviewNV qualifier to redeclared block member", member->type->getFieldName().c_str(), ""); + else if (newType.getQualifier().isPerView()) { + if (oldType.getArraySizes()->getNumDims() != newType.getArraySizes()->getNumDims()) + error(memberLoc, "cannot change arrayness of redeclared block member", member->type->getFieldName().c_str(), ""); + else if (! newType.isUnsizedArray() && newType.getOuterArraySize() != resources.maxMeshViewCountNV) + error(loc, "mesh view output array size must be gl_MaxMeshViewCountNV or implicitly sized", "[]", ""); + else if (newType.getArraySizes()->getNumDims() == 2) { + int innerDimSize = newType.getArraySizes()->getDimSize(1); + arrayLimitCheck(memberLoc, member->type->getFieldName(), innerDimSize); + oldType.getArraySizes()->setDimSize(1, innerDimSize); + } + } + if (oldType.getQualifier().isPerPrimitive() && ! newType.getQualifier().isPerPrimitive()) + error(memberLoc, "missing perprimitiveNV qualifier to redeclared block member", member->type->getFieldName().c_str(), ""); + else if (! oldType.getQualifier().isPerPrimitive() && newType.getQualifier().isPerPrimitive()) + error(memberLoc, "cannot add perprimitiveNV qualifier to redeclared block member", member->type->getFieldName().c_str(), ""); + if (newType.getQualifier().isMemory()) + error(memberLoc, "cannot add memory qualifier to redeclared block member", member->type->getFieldName().c_str(), ""); + if (newType.getQualifier().hasNonXfbLayout()) + error(memberLoc, "cannot add non-XFB layout to redeclared block member", member->type->getFieldName().c_str(), ""); + if (newType.getQualifier().patch) + error(memberLoc, "cannot add patch to redeclared block member", member->type->getFieldName().c_str(), ""); + if (newType.getQualifier().hasXfbBuffer() && + newType.getQualifier().layoutXfbBuffer != currentBlockQualifier.layoutXfbBuffer) + error(memberLoc, "member cannot contradict block (or what block inherited from global)", "xfb_buffer", ""); + if (newType.getQualifier().hasStream() && + newType.getQualifier().layoutStream != currentBlockQualifier.layoutStream) + error(memberLoc, "member cannot contradict block (or what block inherited from global)", "xfb_stream", ""); + oldType.getQualifier().centroid = newType.getQualifier().centroid; + oldType.getQualifier().sample = newType.getQualifier().sample; + oldType.getQualifier().invariant = newType.getQualifier().invariant; + oldType.getQualifier().noContraction = newType.getQualifier().noContraction; + oldType.getQualifier().smooth = newType.getQualifier().smooth; + oldType.getQualifier().flat = newType.getQualifier().flat; + oldType.getQualifier().nopersp = newType.getQualifier().nopersp; + oldType.getQualifier().layoutXfbOffset = newType.getQualifier().layoutXfbOffset; + oldType.getQualifier().layoutXfbBuffer = newType.getQualifier().layoutXfbBuffer; + oldType.getQualifier().layoutXfbStride = newType.getQualifier().layoutXfbStride; + if (oldType.getQualifier().layoutXfbOffset != TQualifier::layoutXfbBufferEnd) { + // If any member has an xfb_offset, then the block's xfb_buffer inherents current xfb_buffer, + // and for xfb processing, the member needs it as well, along with xfb_stride. + type.getQualifier().layoutXfbBuffer = currentBlockQualifier.layoutXfbBuffer; + oldType.getQualifier().layoutXfbBuffer = currentBlockQualifier.layoutXfbBuffer; + } + if (oldType.isUnsizedArray() && newType.isSizedArray()) + oldType.changeOuterArraySize(newType.getOuterArraySize()); + + // check and process the member's type, which will include managing xfb information + layoutTypeCheck(loc, oldType); + + // go to next member + ++member; + } else { + // For missing members of anonymous blocks that have been redeclared, + // hide the original (shared) declaration. + // Instance-named blocks can just have the member removed. + if (instanceName) + member = type.getWritableStruct()->erase(member); + else { + member->type->hideMember(); + ++member; + } + } + } + + if (spvVersion.vulkan > 0) { + // ...then streams apply to built-in blocks, instead of them being only on stream 0 + type.getQualifier().layoutStream = currentBlockQualifier.layoutStream; + } + + if (numOriginalMembersFound < newTypeList.size()) + error(loc, "block redeclaration has extra members", blockName.c_str(), ""); + if (type.isArray() != (arraySizes != nullptr) || + (type.isArray() && arraySizes != nullptr && type.getArraySizes()->getNumDims() != arraySizes->getNumDims())) + error(loc, "cannot change arrayness of redeclared block", blockName.c_str(), ""); + else if (type.isArray()) { + // At this point, we know both are arrays and both have the same number of dimensions. + + // It is okay for a built-in block redeclaration to be unsized, and keep the size of the + // original block declaration. + if (!arraySizes->isSized() && type.isSizedArray()) + arraySizes->changeOuterSize(type.getOuterArraySize()); + + // And, okay to be giving a size to the array, by the redeclaration + if (!type.isSizedArray() && arraySizes->isSized()) + type.changeOuterArraySize(arraySizes->getOuterSize()); + + // Now, they must match in all dimensions. + if (type.isSizedArray() && *type.getArraySizes() != *arraySizes) + error(loc, "cannot change array size of redeclared block", blockName.c_str(), ""); + } + + symbolTable.insert(*block); + + // Check for general layout qualifier errors + layoutObjectCheck(loc, *block); + + // Tracking for implicit sizing of array + if (isIoResizeArray(block->getType())) { + ioArraySymbolResizeList.push_back(block); + checkIoArraysConsistency(loc, true); + } else if (block->getType().isArray()) + fixIoArraySize(loc, block->getWritableType()); + + // Save it in the AST for linker use. + trackLinkage(*block); +#endif // GLSLANG_WEB +} + +void TParseContext::paramCheckFixStorage(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type) +{ + switch (qualifier) { + case EvqConst: + case EvqConstReadOnly: + type.getQualifier().storage = EvqConstReadOnly; + break; + case EvqIn: + case EvqOut: + case EvqInOut: + type.getQualifier().storage = qualifier; + break; + case EvqGlobal: + case EvqTemporary: + type.getQualifier().storage = EvqIn; + break; + default: + type.getQualifier().storage = EvqIn; + error(loc, "storage qualifier not allowed on function parameter", GetStorageQualifierString(qualifier), ""); + break; + } +} + +void TParseContext::paramCheckFix(const TSourceLoc& loc, const TQualifier& qualifier, TType& type) +{ +#ifndef GLSLANG_WEB + if (qualifier.isMemory()) { + type.getQualifier().volatil = qualifier.volatil; + type.getQualifier().coherent = qualifier.coherent; + type.getQualifier().devicecoherent = qualifier.devicecoherent ; + type.getQualifier().queuefamilycoherent = qualifier.queuefamilycoherent; + type.getQualifier().workgroupcoherent = qualifier.workgroupcoherent; + type.getQualifier().subgroupcoherent = qualifier.subgroupcoherent; + type.getQualifier().shadercallcoherent = qualifier.shadercallcoherent; + type.getQualifier().nonprivate = qualifier.nonprivate; + type.getQualifier().readonly = qualifier.readonly; + type.getQualifier().writeonly = qualifier.writeonly; + type.getQualifier().restrict = qualifier.restrict; + } +#endif + + if (qualifier.isAuxiliary() || + qualifier.isInterpolation()) + error(loc, "cannot use auxiliary or interpolation qualifiers on a function parameter", "", ""); + if (qualifier.hasLayout()) + error(loc, "cannot use layout qualifiers on a function parameter", "", ""); + if (qualifier.invariant) + error(loc, "cannot use invariant qualifier on a function parameter", "", ""); + if (qualifier.isNoContraction()) { + if (qualifier.isParamOutput()) + type.getQualifier().setNoContraction(); + else + warn(loc, "qualifier has no effect on non-output parameters", "precise", ""); + } + if (qualifier.isNonUniform()) + type.getQualifier().nonUniform = qualifier.nonUniform; + + paramCheckFixStorage(loc, qualifier.storage, type); +} + +void TParseContext::nestedBlockCheck(const TSourceLoc& loc) +{ + if (structNestingLevel > 0 || blockNestingLevel > 0) + error(loc, "cannot nest a block definition inside a structure or block", "", ""); + ++blockNestingLevel; +} + +void TParseContext::nestedStructCheck(const TSourceLoc& loc) +{ + if (structNestingLevel > 0 || blockNestingLevel > 0) + error(loc, "cannot nest a structure definition inside a structure or block", "", ""); + ++structNestingLevel; +} + +void TParseContext::arrayObjectCheck(const TSourceLoc& loc, const TType& type, const char* op) +{ + // Some versions don't allow comparing arrays or structures containing arrays + if (type.containsArray()) { + profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, op); + profileRequires(loc, EEsProfile, 300, nullptr, op); + } +} + +void TParseContext::opaqueCheck(const TSourceLoc& loc, const TType& type, const char* op) +{ + if (containsFieldWithBasicType(type, EbtSampler)) + error(loc, "can't use with samplers or structs containing samplers", op, ""); +} + +void TParseContext::referenceCheck(const TSourceLoc& loc, const TType& type, const char* op) +{ +#ifndef GLSLANG_WEB + if (containsFieldWithBasicType(type, EbtReference)) + error(loc, "can't use with reference types", op, ""); +#endif +} + +void TParseContext::storage16BitAssignmentCheck(const TSourceLoc& loc, const TType& type, const char* op) +{ +#ifndef GLSLANG_WEB + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtFloat16)) + requireFloat16Arithmetic(loc, op, "can't use with structs containing float16"); + + if (type.isArray() && type.getBasicType() == EbtFloat16) + requireFloat16Arithmetic(loc, op, "can't use with arrays containing float16"); + + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtInt16)) + requireInt16Arithmetic(loc, op, "can't use with structs containing int16"); + + if (type.isArray() && type.getBasicType() == EbtInt16) + requireInt16Arithmetic(loc, op, "can't use with arrays containing int16"); + + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtUint16)) + requireInt16Arithmetic(loc, op, "can't use with structs containing uint16"); + + if (type.isArray() && type.getBasicType() == EbtUint16) + requireInt16Arithmetic(loc, op, "can't use with arrays containing uint16"); + + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtInt8)) + requireInt8Arithmetic(loc, op, "can't use with structs containing int8"); + + if (type.isArray() && type.getBasicType() == EbtInt8) + requireInt8Arithmetic(loc, op, "can't use with arrays containing int8"); + + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtUint8)) + requireInt8Arithmetic(loc, op, "can't use with structs containing uint8"); + + if (type.isArray() && type.getBasicType() == EbtUint8) + requireInt8Arithmetic(loc, op, "can't use with arrays containing uint8"); +#endif +} + +void TParseContext::specializationCheck(const TSourceLoc& loc, const TType& type, const char* op) +{ + if (type.containsSpecializationSize()) + error(loc, "can't use with types containing arrays sized with a specialization constant", op, ""); +} + +void TParseContext::structTypeCheck(const TSourceLoc& /*loc*/, TPublicType& publicType) +{ + const TTypeList& typeList = *publicType.userDef->getStruct(); + + // fix and check for member storage qualifiers and types that don't belong within a structure + for (unsigned int member = 0; member < typeList.size(); ++member) { + TQualifier& memberQualifier = typeList[member].type->getQualifier(); + const TSourceLoc& memberLoc = typeList[member].loc; + if (memberQualifier.isAuxiliary() || + memberQualifier.isInterpolation() || + (memberQualifier.storage != EvqTemporary && memberQualifier.storage != EvqGlobal)) + error(memberLoc, "cannot use storage or interpolation qualifiers on structure members", typeList[member].type->getFieldName().c_str(), ""); + if (memberQualifier.isMemory()) + error(memberLoc, "cannot use memory qualifiers on structure members", typeList[member].type->getFieldName().c_str(), ""); + if (memberQualifier.hasLayout()) { + error(memberLoc, "cannot use layout qualifiers on structure members", typeList[member].type->getFieldName().c_str(), ""); + memberQualifier.clearLayout(); + } + if (memberQualifier.invariant) + error(memberLoc, "cannot use invariant qualifier on structure members", typeList[member].type->getFieldName().c_str(), ""); + } +} + +// +// See if this loop satisfies the limitations for ES 2.0 (version 100) for loops in Appendex A: +// +// "The loop index has type int or float. +// +// "The for statement has the form: +// for ( init-declaration ; condition ; expression ) +// init-declaration has the form: type-specifier identifier = constant-expression +// condition has the form: loop-index relational_operator constant-expression +// where relational_operator is one of: > >= < <= == or != +// expression [sic] has one of the following forms: +// loop-index++ +// loop-index-- +// loop-index += constant-expression +// loop-index -= constant-expression +// +// The body is handled in an AST traversal. +// +void TParseContext::inductiveLoopCheck(const TSourceLoc& loc, TIntermNode* init, TIntermLoop* loop) +{ +#ifndef GLSLANG_WEB + // loop index init must exist and be a declaration, which shows up in the AST as an aggregate of size 1 of the declaration + bool badInit = false; + if (! init || ! init->getAsAggregate() || init->getAsAggregate()->getSequence().size() != 1) + badInit = true; + TIntermBinary* binaryInit = 0; + if (! badInit) { + // get the declaration assignment + binaryInit = init->getAsAggregate()->getSequence()[0]->getAsBinaryNode(); + if (! binaryInit) + badInit = true; + } + if (badInit) { + error(loc, "inductive-loop init-declaration requires the form \"type-specifier loop-index = constant-expression\"", "limitations", ""); + return; + } + + // loop index must be type int or float + if (! binaryInit->getType().isScalar() || (binaryInit->getBasicType() != EbtInt && binaryInit->getBasicType() != EbtFloat)) { + error(loc, "inductive loop requires a scalar 'int' or 'float' loop index", "limitations", ""); + return; + } + + // init is the form "loop-index = constant" + if (binaryInit->getOp() != EOpAssign || ! binaryInit->getLeft()->getAsSymbolNode() || ! binaryInit->getRight()->getAsConstantUnion()) { + error(loc, "inductive-loop init-declaration requires the form \"type-specifier loop-index = constant-expression\"", "limitations", ""); + return; + } + + // get the unique id of the loop index + int loopIndex = binaryInit->getLeft()->getAsSymbolNode()->getId(); + inductiveLoopIds.insert(loopIndex); + + // condition's form must be "loop-index relational-operator constant-expression" + bool badCond = ! loop->getTest(); + if (! badCond) { + TIntermBinary* binaryCond = loop->getTest()->getAsBinaryNode(); + badCond = ! binaryCond; + if (! badCond) { + switch (binaryCond->getOp()) { + case EOpGreaterThan: + case EOpGreaterThanEqual: + case EOpLessThan: + case EOpLessThanEqual: + case EOpEqual: + case EOpNotEqual: + break; + default: + badCond = true; + } + } + if (binaryCond && (! binaryCond->getLeft()->getAsSymbolNode() || + binaryCond->getLeft()->getAsSymbolNode()->getId() != loopIndex || + ! binaryCond->getRight()->getAsConstantUnion())) + badCond = true; + } + if (badCond) { + error(loc, "inductive-loop condition requires the form \"loop-index constant-expression\"", "limitations", ""); + return; + } + + // loop-index++ + // loop-index-- + // loop-index += constant-expression + // loop-index -= constant-expression + bool badTerminal = ! loop->getTerminal(); + if (! badTerminal) { + TIntermUnary* unaryTerminal = loop->getTerminal()->getAsUnaryNode(); + TIntermBinary* binaryTerminal = loop->getTerminal()->getAsBinaryNode(); + if (unaryTerminal || binaryTerminal) { + switch(loop->getTerminal()->getAsOperator()->getOp()) { + case EOpPostDecrement: + case EOpPostIncrement: + case EOpAddAssign: + case EOpSubAssign: + break; + default: + badTerminal = true; + } + } else + badTerminal = true; + if (binaryTerminal && (! binaryTerminal->getLeft()->getAsSymbolNode() || + binaryTerminal->getLeft()->getAsSymbolNode()->getId() != loopIndex || + ! binaryTerminal->getRight()->getAsConstantUnion())) + badTerminal = true; + if (unaryTerminal && (! unaryTerminal->getOperand()->getAsSymbolNode() || + unaryTerminal->getOperand()->getAsSymbolNode()->getId() != loopIndex)) + badTerminal = true; + } + if (badTerminal) { + error(loc, "inductive-loop termination requires the form \"loop-index++, loop-index--, loop-index += constant-expression, or loop-index -= constant-expression\"", "limitations", ""); + return; + } + + // the body + inductiveLoopBodyCheck(loop->getBody(), loopIndex, symbolTable); +#endif +} + +#ifndef GLSLANG_WEB +// Do limit checks for built-in arrays. +void TParseContext::arrayLimitCheck(const TSourceLoc& loc, const TString& identifier, int size) +{ + if (identifier.compare("gl_TexCoord") == 0) + limitCheck(loc, size, "gl_MaxTextureCoords", "gl_TexCoord array size"); + else if (identifier.compare("gl_ClipDistance") == 0) + limitCheck(loc, size, "gl_MaxClipDistances", "gl_ClipDistance array size"); + else if (identifier.compare("gl_CullDistance") == 0) + limitCheck(loc, size, "gl_MaxCullDistances", "gl_CullDistance array size"); + else if (identifier.compare("gl_ClipDistancePerViewNV") == 0) + limitCheck(loc, size, "gl_MaxClipDistances", "gl_ClipDistancePerViewNV array size"); + else if (identifier.compare("gl_CullDistancePerViewNV") == 0) + limitCheck(loc, size, "gl_MaxCullDistances", "gl_CullDistancePerViewNV array size"); +} +#endif // GLSLANG_WEB + +// See if the provided value is less than or equal to the symbol indicated by limit, +// which should be a constant in the symbol table. +void TParseContext::limitCheck(const TSourceLoc& loc, int value, const char* limit, const char* feature) +{ + TSymbol* symbol = symbolTable.find(limit); + assert(symbol->getAsVariable()); + const TConstUnionArray& constArray = symbol->getAsVariable()->getConstArray(); + assert(! constArray.empty()); + if (value > constArray[0].getIConst()) + error(loc, "must be less than or equal to", feature, "%s (%d)", limit, constArray[0].getIConst()); +} + +#ifndef GLSLANG_WEB + +// +// Do any additional error checking, etc., once we know the parsing is done. +// +void TParseContext::finish() +{ + TParseContextBase::finish(); + + if (parsingBuiltins) + return; + + // Check on array indexes for ES 2.0 (version 100) limitations. + for (size_t i = 0; i < needsIndexLimitationChecking.size(); ++i) + constantIndexExpressionCheck(needsIndexLimitationChecking[i]); + + // Check for stages that are enabled by extension. + // Can't do this at the beginning, it is chicken and egg to add a stage by + // extension. + // Stage-specific features were correctly tested for already, this is just + // about the stage itself. + switch (language) { + case EShLangGeometry: + if (isEsProfile() && version == 310) + requireExtensions(getCurrentLoc(), Num_AEP_geometry_shader, AEP_geometry_shader, "geometry shaders"); + break; + case EShLangTessControl: + case EShLangTessEvaluation: + if (isEsProfile() && version == 310) + requireExtensions(getCurrentLoc(), Num_AEP_tessellation_shader, AEP_tessellation_shader, "tessellation shaders"); + else if (!isEsProfile() && version < 400) + requireExtensions(getCurrentLoc(), 1, &E_GL_ARB_tessellation_shader, "tessellation shaders"); + break; + case EShLangCompute: + if (!isEsProfile() && version < 430) + requireExtensions(getCurrentLoc(), 1, &E_GL_ARB_compute_shader, "compute shaders"); + break; + case EShLangTaskNV: + requireExtensions(getCurrentLoc(), 1, &E_GL_NV_mesh_shader, "task shaders"); + break; + case EShLangMeshNV: + requireExtensions(getCurrentLoc(), 1, &E_GL_NV_mesh_shader, "mesh shaders"); + break; + default: + break; + } + + // Set default outputs for GL_NV_geometry_shader_passthrough + if (language == EShLangGeometry && extensionTurnedOn(E_SPV_NV_geometry_shader_passthrough)) { + if (intermediate.getOutputPrimitive() == ElgNone) { + switch (intermediate.getInputPrimitive()) { + case ElgPoints: intermediate.setOutputPrimitive(ElgPoints); break; + case ElgLines: intermediate.setOutputPrimitive(ElgLineStrip); break; + case ElgTriangles: intermediate.setOutputPrimitive(ElgTriangleStrip); break; + default: break; + } + } + if (intermediate.getVertices() == TQualifier::layoutNotSet) { + switch (intermediate.getInputPrimitive()) { + case ElgPoints: intermediate.setVertices(1); break; + case ElgLines: intermediate.setVertices(2); break; + case ElgTriangles: intermediate.setVertices(3); break; + default: break; + } + } + } +} +#endif // GLSLANG_WEB + +// +// Layout qualifier stuff. +// + +// Put the id's layout qualification into the public type, for qualifiers not having a number set. +// This is before we know any type information for error checking. +void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publicType, TString& id) +{ + std::transform(id.begin(), id.end(), id.begin(), ::tolower); + + if (id == TQualifier::getLayoutMatrixString(ElmColumnMajor)) { + publicType.qualifier.layoutMatrix = ElmColumnMajor; + return; + } + if (id == TQualifier::getLayoutMatrixString(ElmRowMajor)) { + publicType.qualifier.layoutMatrix = ElmRowMajor; + return; + } + if (id == TQualifier::getLayoutPackingString(ElpPacked)) { + if (spvVersion.spv != 0) + spvRemoved(loc, "packed"); + publicType.qualifier.layoutPacking = ElpPacked; + return; + } + if (id == TQualifier::getLayoutPackingString(ElpShared)) { + if (spvVersion.spv != 0) + spvRemoved(loc, "shared"); + publicType.qualifier.layoutPacking = ElpShared; + return; + } + if (id == TQualifier::getLayoutPackingString(ElpStd140)) { + publicType.qualifier.layoutPacking = ElpStd140; + return; + } +#ifndef GLSLANG_WEB + if (id == TQualifier::getLayoutPackingString(ElpStd430)) { + requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, "std430"); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_shader_storage_buffer_object, "std430"); + profileRequires(loc, EEsProfile, 310, nullptr, "std430"); + publicType.qualifier.layoutPacking = ElpStd430; + return; + } + if (id == TQualifier::getLayoutPackingString(ElpScalar)) { + requireVulkan(loc, "scalar"); + requireExtensions(loc, 1, &E_GL_EXT_scalar_block_layout, "scalar block layout"); + publicType.qualifier.layoutPacking = ElpScalar; + return; + } + // TODO: compile-time performance: may need to stop doing linear searches + for (TLayoutFormat format = (TLayoutFormat)(ElfNone + 1); format < ElfCount; format = (TLayoutFormat)(format + 1)) { + if (id == TQualifier::getLayoutFormatString(format)) { + if ((format > ElfEsFloatGuard && format < ElfFloatGuard) || + (format > ElfEsIntGuard && format < ElfIntGuard) || + (format > ElfEsUintGuard && format < ElfCount)) + requireProfile(loc, ENoProfile | ECoreProfile | ECompatibilityProfile, "image load-store format"); + profileRequires(loc, ENoProfile | ECoreProfile | ECompatibilityProfile, 420, E_GL_ARB_shader_image_load_store, "image load store"); + profileRequires(loc, EEsProfile, 310, E_GL_ARB_shader_image_load_store, "image load store"); + publicType.qualifier.layoutFormat = format; + return; + } + } + if (id == "push_constant") { + requireVulkan(loc, "push_constant"); + publicType.qualifier.layoutPushConstant = true; + return; + } + if (id == "buffer_reference") { + requireVulkan(loc, "buffer_reference"); + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference, "buffer_reference"); + publicType.qualifier.layoutBufferReference = true; + intermediate.setUseStorageBuffer(); + intermediate.setUsePhysicalStorageBuffer(); + return; + } + if (language == EShLangGeometry || language == EShLangTessEvaluation || language == EShLangMeshNV) { + if (id == TQualifier::getGeometryString(ElgTriangles)) { + publicType.shaderQualifiers.geometry = ElgTriangles; + return; + } + if (language == EShLangGeometry || language == EShLangMeshNV) { + if (id == TQualifier::getGeometryString(ElgPoints)) { + publicType.shaderQualifiers.geometry = ElgPoints; + return; + } + if (id == TQualifier::getGeometryString(ElgLines)) { + publicType.shaderQualifiers.geometry = ElgLines; + return; + } + if (language == EShLangGeometry) { + if (id == TQualifier::getGeometryString(ElgLineStrip)) { + publicType.shaderQualifiers.geometry = ElgLineStrip; + return; + } + if (id == TQualifier::getGeometryString(ElgLinesAdjacency)) { + publicType.shaderQualifiers.geometry = ElgLinesAdjacency; + return; + } + if (id == TQualifier::getGeometryString(ElgTrianglesAdjacency)) { + publicType.shaderQualifiers.geometry = ElgTrianglesAdjacency; + return; + } + if (id == TQualifier::getGeometryString(ElgTriangleStrip)) { + publicType.shaderQualifiers.geometry = ElgTriangleStrip; + return; + } + if (id == "passthrough") { + requireExtensions(loc, 1, &E_SPV_NV_geometry_shader_passthrough, "geometry shader passthrough"); + publicType.qualifier.layoutPassthrough = true; + intermediate.setGeoPassthroughEXT(); + return; + } + } + } else { + assert(language == EShLangTessEvaluation); + + // input primitive + if (id == TQualifier::getGeometryString(ElgTriangles)) { + publicType.shaderQualifiers.geometry = ElgTriangles; + return; + } + if (id == TQualifier::getGeometryString(ElgQuads)) { + publicType.shaderQualifiers.geometry = ElgQuads; + return; + } + if (id == TQualifier::getGeometryString(ElgIsolines)) { + publicType.shaderQualifiers.geometry = ElgIsolines; + return; + } + + // vertex spacing + if (id == TQualifier::getVertexSpacingString(EvsEqual)) { + publicType.shaderQualifiers.spacing = EvsEqual; + return; + } + if (id == TQualifier::getVertexSpacingString(EvsFractionalEven)) { + publicType.shaderQualifiers.spacing = EvsFractionalEven; + return; + } + if (id == TQualifier::getVertexSpacingString(EvsFractionalOdd)) { + publicType.shaderQualifiers.spacing = EvsFractionalOdd; + return; + } + + // triangle order + if (id == TQualifier::getVertexOrderString(EvoCw)) { + publicType.shaderQualifiers.order = EvoCw; + return; + } + if (id == TQualifier::getVertexOrderString(EvoCcw)) { + publicType.shaderQualifiers.order = EvoCcw; + return; + } + + // point mode + if (id == "point_mode") { + publicType.shaderQualifiers.pointMode = true; + return; + } + } + } + if (language == EShLangFragment) { + if (id == "origin_upper_left") { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, "origin_upper_left"); + publicType.shaderQualifiers.originUpperLeft = true; + return; + } + if (id == "pixel_center_integer") { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, "pixel_center_integer"); + publicType.shaderQualifiers.pixelCenterInteger = true; + return; + } + if (id == "early_fragment_tests") { + profileRequires(loc, ENoProfile | ECoreProfile | ECompatibilityProfile, 420, E_GL_ARB_shader_image_load_store, "early_fragment_tests"); + profileRequires(loc, EEsProfile, 310, nullptr, "early_fragment_tests"); + publicType.shaderQualifiers.earlyFragmentTests = true; + return; + } + if (id == "post_depth_coverage") { + requireExtensions(loc, Num_post_depth_coverageEXTs, post_depth_coverageEXTs, "post depth coverage"); + if (extensionTurnedOn(E_GL_ARB_post_depth_coverage)) { + publicType.shaderQualifiers.earlyFragmentTests = true; + } + publicType.shaderQualifiers.postDepthCoverage = true; + return; + } + for (TLayoutDepth depth = (TLayoutDepth)(EldNone + 1); depth < EldCount; depth = (TLayoutDepth)(depth+1)) { + if (id == TQualifier::getLayoutDepthString(depth)) { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, "depth layout qualifier"); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 420, nullptr, "depth layout qualifier"); + publicType.shaderQualifiers.layoutDepth = depth; + return; + } + } + for (TInterlockOrdering order = (TInterlockOrdering)(EioNone + 1); order < EioCount; order = (TInterlockOrdering)(order+1)) { + if (id == TQualifier::getInterlockOrderingString(order)) { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, "fragment shader interlock layout qualifier"); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 450, nullptr, "fragment shader interlock layout qualifier"); + requireExtensions(loc, 1, &E_GL_ARB_fragment_shader_interlock, TQualifier::getInterlockOrderingString(order)); + if (order == EioShadingRateInterlockOrdered || order == EioShadingRateInterlockUnordered) + requireExtensions(loc, 1, &E_GL_NV_shading_rate_image, TQualifier::getInterlockOrderingString(order)); + publicType.shaderQualifiers.interlockOrdering = order; + return; + } + } + if (id.compare(0, 13, "blend_support") == 0) { + bool found = false; + for (TBlendEquationShift be = (TBlendEquationShift)0; be < EBlendCount; be = (TBlendEquationShift)(be + 1)) { + if (id == TQualifier::getBlendEquationString(be)) { + profileRequires(loc, EEsProfile, 320, E_GL_KHR_blend_equation_advanced, "blend equation"); + profileRequires(loc, ~EEsProfile, 0, E_GL_KHR_blend_equation_advanced, "blend equation"); + intermediate.addBlendEquation(be); + publicType.shaderQualifiers.blendEquation = true; + found = true; + break; + } + } + if (! found) + error(loc, "unknown blend equation", "blend_support", ""); + return; + } + if (id == "override_coverage") { + requireExtensions(loc, 1, &E_GL_NV_sample_mask_override_coverage, "sample mask override coverage"); + publicType.shaderQualifiers.layoutOverrideCoverage = true; + return; + } + } + if (language == EShLangVertex || + language == EShLangTessControl || + language == EShLangTessEvaluation || + language == EShLangGeometry ) { + if (id == "viewport_relative") { + requireExtensions(loc, 1, &E_GL_NV_viewport_array2, "view port array2"); + publicType.qualifier.layoutViewportRelative = true; + return; + } + } else { + if (language == EShLangRayGen || language == EShLangIntersect || + language == EShLangAnyHit || language == EShLangClosestHit || + language == EShLangMiss || language == EShLangCallable) { + if (id == "shaderrecordnv" || id == "shaderrecordext") { + if (id == "shaderrecordnv") { + requireExtensions(loc, 1, &E_GL_NV_ray_tracing, "shader record NV"); + } else { + requireExtensions(loc, 1, &E_GL_EXT_ray_tracing, "shader record EXT"); + } + publicType.qualifier.layoutShaderRecord = true; + return; + } + + } + } + if (language == EShLangCompute) { + if (id.compare(0, 17, "derivative_group_") == 0) { + requireExtensions(loc, 1, &E_GL_NV_compute_shader_derivatives, "compute shader derivatives"); + if (id == "derivative_group_quadsnv") { + publicType.shaderQualifiers.layoutDerivativeGroupQuads = true; + return; + } else if (id == "derivative_group_linearnv") { + publicType.shaderQualifiers.layoutDerivativeGroupLinear = true; + return; + } + } + } + + if (id == "primitive_culling") { + requireExtensions(loc, 1, &E_GL_EXT_ray_flags_primitive_culling, "primitive culling"); + publicType.shaderQualifiers.layoutPrimitiveCulling = true; + return; + } +#endif + + error(loc, "unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)", id.c_str(), ""); +} + +// Put the id's layout qualifier value into the public type, for qualifiers having a number set. +// This is before we know any type information for error checking. +void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publicType, TString& id, const TIntermTyped* node) +{ + const char* feature = "layout-id value"; + const char* nonLiteralFeature = "non-literal layout-id value"; + + integerCheck(node, feature); + const TIntermConstantUnion* constUnion = node->getAsConstantUnion(); + int value; + bool nonLiteral = false; + if (constUnion) { + value = constUnion->getConstArray()[0].getIConst(); + if (! constUnion->isLiteral()) { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, nonLiteralFeature); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, nonLiteralFeature); + } + } else { + // grammar should have give out the error message + value = 0; + nonLiteral = true; + } + + if (value < 0) { + error(loc, "cannot be negative", feature, ""); + return; + } + + std::transform(id.begin(), id.end(), id.begin(), ::tolower); + + if (id == "offset") { + // "offset" can be for either + // - uniform offsets + // - atomic_uint offsets + const char* feature = "offset"; + if (spvVersion.spv == 0) { + requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, feature); + const char* exts[2] = { E_GL_ARB_enhanced_layouts, E_GL_ARB_shader_atomic_counters }; + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 420, 2, exts, feature); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + } + publicType.qualifier.layoutOffset = value; + publicType.qualifier.explicitOffset = true; + if (nonLiteral) + error(loc, "needs a literal integer", "offset", ""); + return; + } else if (id == "align") { + const char* feature = "uniform buffer-member align"; + if (spvVersion.spv == 0) { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, feature); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, feature); + } + // "The specified alignment must be a power of 2, or a compile-time error results." + if (! IsPow2(value)) + error(loc, "must be a power of 2", "align", ""); + else + publicType.qualifier.layoutAlign = value; + if (nonLiteral) + error(loc, "needs a literal integer", "align", ""); + return; + } else if (id == "location") { + profileRequires(loc, EEsProfile, 300, nullptr, "location"); + const char* exts[2] = { E_GL_ARB_separate_shader_objects, E_GL_ARB_explicit_attrib_location }; + // GL_ARB_explicit_uniform_location requires 330 or GL_ARB_explicit_attrib_location we do not need to add it here + profileRequires(loc, ~EEsProfile, 330, 2, exts, "location"); + if ((unsigned int)value >= TQualifier::layoutLocationEnd) + error(loc, "location is too large", id.c_str(), ""); + else + publicType.qualifier.layoutLocation = value; + if (nonLiteral) + error(loc, "needs a literal integer", "location", ""); + return; + } else if (id == "set") { + if ((unsigned int)value >= TQualifier::layoutSetEnd) + error(loc, "set is too large", id.c_str(), ""); + else + publicType.qualifier.layoutSet = value; + if (value != 0) + requireVulkan(loc, "descriptor set"); + if (nonLiteral) + error(loc, "needs a literal integer", "set", ""); + return; + } else if (id == "binding") { +#ifndef GLSLANG_WEB + profileRequires(loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, "binding"); + profileRequires(loc, EEsProfile, 310, nullptr, "binding"); +#endif + if ((unsigned int)value >= TQualifier::layoutBindingEnd) + error(loc, "binding is too large", id.c_str(), ""); + else + publicType.qualifier.layoutBinding = value; + if (nonLiteral) + error(loc, "needs a literal integer", "binding", ""); + return; + } + if (id == "constant_id") { + requireSpv(loc, "constant_id"); + if (value >= (int)TQualifier::layoutSpecConstantIdEnd) { + error(loc, "specialization-constant id is too large", id.c_str(), ""); + } else { + publicType.qualifier.layoutSpecConstantId = value; + publicType.qualifier.specConstant = true; + if (! intermediate.addUsedConstantId(value)) + error(loc, "specialization-constant id already used", id.c_str(), ""); + } + if (nonLiteral) + error(loc, "needs a literal integer", "constant_id", ""); + return; + } +#ifndef GLSLANG_WEB + if (id == "component") { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, "component"); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, "component"); + if ((unsigned)value >= TQualifier::layoutComponentEnd) + error(loc, "component is too large", id.c_str(), ""); + else + publicType.qualifier.layoutComponent = value; + if (nonLiteral) + error(loc, "needs a literal integer", "component", ""); + return; + } + if (id.compare(0, 4, "xfb_") == 0) { + // "Any shader making any static use (after preprocessing) of any of these + // *xfb_* qualifiers will cause the shader to be in a transform feedback + // capturing mode and hence responsible for describing the transform feedback + // setup." + intermediate.setXfbMode(); + const char* feature = "transform feedback qualifier"; + requireStage(loc, (EShLanguageMask)(EShLangVertexMask | EShLangGeometryMask | EShLangTessControlMask | EShLangTessEvaluationMask), feature); + requireProfile(loc, ECoreProfile | ECompatibilityProfile, feature); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, feature); + if (id == "xfb_buffer") { + // "It is a compile-time error to specify an *xfb_buffer* that is greater than + // the implementation-dependent constant gl_MaxTransformFeedbackBuffers." + if (value >= resources.maxTransformFeedbackBuffers) + error(loc, "buffer is too large:", id.c_str(), "gl_MaxTransformFeedbackBuffers is %d", resources.maxTransformFeedbackBuffers); + if (value >= (int)TQualifier::layoutXfbBufferEnd) + error(loc, "buffer is too large:", id.c_str(), "internal max is %d", TQualifier::layoutXfbBufferEnd-1); + else + publicType.qualifier.layoutXfbBuffer = value; + if (nonLiteral) + error(loc, "needs a literal integer", "xfb_buffer", ""); + return; + } else if (id == "xfb_offset") { + if (value >= (int)TQualifier::layoutXfbOffsetEnd) + error(loc, "offset is too large:", id.c_str(), "internal max is %d", TQualifier::layoutXfbOffsetEnd-1); + else + publicType.qualifier.layoutXfbOffset = value; + if (nonLiteral) + error(loc, "needs a literal integer", "xfb_offset", ""); + return; + } else if (id == "xfb_stride") { + // "The resulting stride (implicit or explicit), when divided by 4, must be less than or equal to the + // implementation-dependent constant gl_MaxTransformFeedbackInterleavedComponents." + if (value > 4 * resources.maxTransformFeedbackInterleavedComponents) { + error(loc, "1/4 stride is too large:", id.c_str(), "gl_MaxTransformFeedbackInterleavedComponents is %d", + resources.maxTransformFeedbackInterleavedComponents); + } + if (value >= (int)TQualifier::layoutXfbStrideEnd) + error(loc, "stride is too large:", id.c_str(), "internal max is %d", TQualifier::layoutXfbStrideEnd-1); + else + publicType.qualifier.layoutXfbStride = value; + if (nonLiteral) + error(loc, "needs a literal integer", "xfb_stride", ""); + return; + } + } + if (id == "input_attachment_index") { + requireVulkan(loc, "input_attachment_index"); + if (value >= (int)TQualifier::layoutAttachmentEnd) + error(loc, "attachment index is too large", id.c_str(), ""); + else + publicType.qualifier.layoutAttachment = value; + if (nonLiteral) + error(loc, "needs a literal integer", "input_attachment_index", ""); + return; + } + if (id == "num_views") { + requireExtensions(loc, Num_OVR_multiview_EXTs, OVR_multiview_EXTs, "num_views"); + publicType.shaderQualifiers.numViews = value; + if (nonLiteral) + error(loc, "needs a literal integer", "num_views", ""); + return; + } + if (language == EShLangVertex || + language == EShLangTessControl || + language == EShLangTessEvaluation || + language == EShLangGeometry) { + if (id == "secondary_view_offset") { + requireExtensions(loc, 1, &E_GL_NV_stereo_view_rendering, "stereo view rendering"); + publicType.qualifier.layoutSecondaryViewportRelativeOffset = value; + if (nonLiteral) + error(loc, "needs a literal integer", "secondary_view_offset", ""); + return; + } + } + + if (id == "buffer_reference_align") { + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference, "buffer_reference_align"); + if (! IsPow2(value)) + error(loc, "must be a power of 2", "buffer_reference_align", ""); + else + publicType.qualifier.layoutBufferReferenceAlign = (unsigned int)std::log2(value); + if (nonLiteral) + error(loc, "needs a literal integer", "buffer_reference_align", ""); + return; + } +#endif + + switch (language) { +#ifndef GLSLANG_WEB + case EShLangTessControl: + if (id == "vertices") { + if (value == 0) + error(loc, "must be greater than 0", "vertices", ""); + else + publicType.shaderQualifiers.vertices = value; + if (nonLiteral) + error(loc, "needs a literal integer", "vertices", ""); + return; + } + break; + + case EShLangGeometry: + if (id == "invocations") { + profileRequires(loc, ECompatibilityProfile | ECoreProfile, 400, nullptr, "invocations"); + if (value == 0) + error(loc, "must be at least 1", "invocations", ""); + else + publicType.shaderQualifiers.invocations = value; + if (nonLiteral) + error(loc, "needs a literal integer", "invocations", ""); + return; + } + if (id == "max_vertices") { + publicType.shaderQualifiers.vertices = value; + if (value > resources.maxGeometryOutputVertices) + error(loc, "too large, must be less than gl_MaxGeometryOutputVertices", "max_vertices", ""); + if (nonLiteral) + error(loc, "needs a literal integer", "max_vertices", ""); + return; + } + if (id == "stream") { + requireProfile(loc, ~EEsProfile, "selecting output stream"); + publicType.qualifier.layoutStream = value; + if (value > 0) + intermediate.setMultiStream(); + if (nonLiteral) + error(loc, "needs a literal integer", "stream", ""); + return; + } + break; + + case EShLangFragment: + if (id == "index") { + requireProfile(loc, ECompatibilityProfile | ECoreProfile | EEsProfile, "index layout qualifier on fragment output"); + const char* exts[2] = { E_GL_ARB_separate_shader_objects, E_GL_ARB_explicit_attrib_location }; + profileRequires(loc, ECompatibilityProfile | ECoreProfile, 330, 2, exts, "index layout qualifier on fragment output"); + profileRequires(loc, EEsProfile ,310, E_GL_EXT_blend_func_extended, "index layout qualifier on fragment output"); + // "It is also a compile-time error if a fragment shader sets a layout index to less than 0 or greater than 1." + if (value < 0 || value > 1) { + value = 0; + error(loc, "value must be 0 or 1", "index", ""); + } + + publicType.qualifier.layoutIndex = value; + if (nonLiteral) + error(loc, "needs a literal integer", "index", ""); + return; + } + break; + + case EShLangMeshNV: + if (id == "max_vertices") { + requireExtensions(loc, 1, &E_GL_NV_mesh_shader, "max_vertices"); + publicType.shaderQualifiers.vertices = value; + if (value > resources.maxMeshOutputVerticesNV) + error(loc, "too large, must be less than gl_MaxMeshOutputVerticesNV", "max_vertices", ""); + if (nonLiteral) + error(loc, "needs a literal integer", "max_vertices", ""); + return; + } + if (id == "max_primitives") { + requireExtensions(loc, 1, &E_GL_NV_mesh_shader, "max_primitives"); + publicType.shaderQualifiers.primitives = value; + if (value > resources.maxMeshOutputPrimitivesNV) + error(loc, "too large, must be less than gl_MaxMeshOutputPrimitivesNV", "max_primitives", ""); + if (nonLiteral) + error(loc, "needs a literal integer", "max_primitives", ""); + return; + } + // Fall through + + case EShLangTaskNV: + // Fall through +#endif + case EShLangCompute: + if (id.compare(0, 11, "local_size_") == 0) { +#ifndef GLSLANG_WEB + if (language == EShLangMeshNV || language == EShLangTaskNV) { + requireExtensions(loc, 1, &E_GL_NV_mesh_shader, "gl_WorkGroupSize"); + } else { + profileRequires(loc, EEsProfile, 310, 0, "gl_WorkGroupSize"); + profileRequires(loc, ~EEsProfile, 430, E_GL_ARB_compute_shader, "gl_WorkGroupSize"); + } +#endif + if (nonLiteral) + error(loc, "needs a literal integer", "local_size", ""); + if (id.size() == 12 && value == 0) { + error(loc, "must be at least 1", id.c_str(), ""); + return; + } + if (id == "local_size_x") { + publicType.shaderQualifiers.localSize[0] = value; + publicType.shaderQualifiers.localSizeNotDefault[0] = true; + return; + } + if (id == "local_size_y") { + publicType.shaderQualifiers.localSize[1] = value; + publicType.shaderQualifiers.localSizeNotDefault[1] = true; + return; + } + if (id == "local_size_z") { + publicType.shaderQualifiers.localSize[2] = value; + publicType.shaderQualifiers.localSizeNotDefault[2] = true; + return; + } + if (spvVersion.spv != 0) { + if (id == "local_size_x_id") { + publicType.shaderQualifiers.localSizeSpecId[0] = value; + return; + } + if (id == "local_size_y_id") { + publicType.shaderQualifiers.localSizeSpecId[1] = value; + return; + } + if (id == "local_size_z_id") { + publicType.shaderQualifiers.localSizeSpecId[2] = value; + return; + } + } + } + break; + + default: + break; + } + + error(loc, "there is no such layout identifier for this stage taking an assigned value", id.c_str(), ""); +} + +// Merge any layout qualifier information from src into dst, leaving everything else in dst alone +// +// "More than one layout qualifier may appear in a single declaration. +// Additionally, the same layout-qualifier-name can occur multiple times +// within a layout qualifier or across multiple layout qualifiers in the +// same declaration. When the same layout-qualifier-name occurs +// multiple times, in a single declaration, the last occurrence overrides +// the former occurrence(s). Further, if such a layout-qualifier-name +// will effect subsequent declarations or other observable behavior, it +// is only the last occurrence that will have any effect, behaving as if +// the earlier occurrence(s) within the declaration are not present. +// This is also true for overriding layout-qualifier-names, where one +// overrides the other (e.g., row_major vs. column_major); only the last +// occurrence has any effect." +void TParseContext::mergeObjectLayoutQualifiers(TQualifier& dst, const TQualifier& src, bool inheritOnly) +{ + if (src.hasMatrix()) + dst.layoutMatrix = src.layoutMatrix; + if (src.hasPacking()) + dst.layoutPacking = src.layoutPacking; + +#ifndef GLSLANG_WEB + if (src.hasStream()) + dst.layoutStream = src.layoutStream; + if (src.hasFormat()) + dst.layoutFormat = src.layoutFormat; + if (src.hasXfbBuffer()) + dst.layoutXfbBuffer = src.layoutXfbBuffer; + if (src.hasBufferReferenceAlign()) + dst.layoutBufferReferenceAlign = src.layoutBufferReferenceAlign; +#endif + + if (src.hasAlign()) + dst.layoutAlign = src.layoutAlign; + + if (! inheritOnly) { + if (src.hasLocation()) + dst.layoutLocation = src.layoutLocation; + if (src.hasOffset()) + dst.layoutOffset = src.layoutOffset; + if (src.hasSet()) + dst.layoutSet = src.layoutSet; + if (src.layoutBinding != TQualifier::layoutBindingEnd) + dst.layoutBinding = src.layoutBinding; + + if (src.hasSpecConstantId()) + dst.layoutSpecConstantId = src.layoutSpecConstantId; + +#ifndef GLSLANG_WEB + if (src.hasComponent()) + dst.layoutComponent = src.layoutComponent; + if (src.hasIndex()) + dst.layoutIndex = src.layoutIndex; + if (src.hasXfbStride()) + dst.layoutXfbStride = src.layoutXfbStride; + if (src.hasXfbOffset()) + dst.layoutXfbOffset = src.layoutXfbOffset; + if (src.hasAttachment()) + dst.layoutAttachment = src.layoutAttachment; + if (src.layoutPushConstant) + dst.layoutPushConstant = true; + + if (src.layoutBufferReference) + dst.layoutBufferReference = true; + + if (src.layoutPassthrough) + dst.layoutPassthrough = true; + if (src.layoutViewportRelative) + dst.layoutViewportRelative = true; + if (src.layoutSecondaryViewportRelativeOffset != -2048) + dst.layoutSecondaryViewportRelativeOffset = src.layoutSecondaryViewportRelativeOffset; + if (src.layoutShaderRecord) + dst.layoutShaderRecord = true; + if (src.pervertexNV) + dst.pervertexNV = true; +#endif + } +} + +// Do error layout error checking given a full variable/block declaration. +void TParseContext::layoutObjectCheck(const TSourceLoc& loc, const TSymbol& symbol) +{ + const TType& type = symbol.getType(); + const TQualifier& qualifier = type.getQualifier(); + + // first, cross check WRT to just the type + layoutTypeCheck(loc, type); + + // now, any remaining error checking based on the object itself + + if (qualifier.hasAnyLocation()) { + switch (qualifier.storage) { + case EvqUniform: + case EvqBuffer: + if (symbol.getAsVariable() == nullptr) + error(loc, "can only be used on variable declaration", "location", ""); + break; + default: + break; + } + } + + // user-variable location check, which are required for SPIR-V in/out: + // - variables have it directly, + // - blocks have it on each member (already enforced), so check first one + if (spvVersion.spv > 0 && !parsingBuiltins && qualifier.builtIn == EbvNone && + !qualifier.hasLocation() && !intermediate.getAutoMapLocations()) { + + switch (qualifier.storage) { + case EvqVaryingIn: + case EvqVaryingOut: + if (!type.getQualifier().isTaskMemory() && + (type.getBasicType() != EbtBlock || + (!(*type.getStruct())[0].type->getQualifier().hasLocation() && + (*type.getStruct())[0].type->getQualifier().builtIn == EbvNone))) + error(loc, "SPIR-V requires location for user input/output", "location", ""); + break; + default: + break; + } + } + + // Check packing and matrix + if (qualifier.hasUniformLayout()) { + switch (qualifier.storage) { + case EvqUniform: + case EvqBuffer: + if (type.getBasicType() != EbtBlock) { + if (qualifier.hasMatrix()) + error(loc, "cannot specify matrix layout on a variable declaration", "layout", ""); + if (qualifier.hasPacking()) + error(loc, "cannot specify packing on a variable declaration", "layout", ""); + // "The offset qualifier can only be used on block members of blocks..." + if (qualifier.hasOffset() && !type.isAtomic()) + error(loc, "cannot specify on a variable declaration", "offset", ""); + // "The align qualifier can only be used on blocks or block members..." + if (qualifier.hasAlign()) + error(loc, "cannot specify on a variable declaration", "align", ""); + if (qualifier.isPushConstant()) + error(loc, "can only specify on a uniform block", "push_constant", ""); + if (qualifier.isShaderRecord()) + error(loc, "can only specify on a buffer block", "shaderRecordNV", ""); + } + break; + default: + // these were already filtered by layoutTypeCheck() (or its callees) + break; + } + } +} + +// "For some blocks declared as arrays, the location can only be applied at the block level: +// When a block is declared as an array where additional locations are needed for each member +// for each block array element, it is a compile-time error to specify locations on the block +// members. That is, when locations would be under specified by applying them on block members, +// they are not allowed on block members. For arrayed interfaces (those generally having an +// extra level of arrayness due to interface expansion), the outer array is stripped before +// applying this rule." +void TParseContext::layoutMemberLocationArrayCheck(const TSourceLoc& loc, bool memberWithLocation, + TArraySizes* arraySizes) +{ + if (memberWithLocation && arraySizes != nullptr) { + if (arraySizes->getNumDims() > (currentBlockQualifier.isArrayedIo(language) ? 1 : 0)) + error(loc, "cannot use in a block array where new locations are needed for each block element", + "location", ""); + } +} + +// Do layout error checking with respect to a type. +void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type) +{ + const TQualifier& qualifier = type.getQualifier(); + + // first, intra-layout qualifier-only error checking + layoutQualifierCheck(loc, qualifier); + + // now, error checking combining type and qualifier + + if (qualifier.hasAnyLocation()) { + if (qualifier.hasLocation()) { + if (qualifier.storage == EvqVaryingOut && language == EShLangFragment) { + if (qualifier.layoutLocation >= (unsigned int)resources.maxDrawBuffers) + error(loc, "too large for fragment output", "location", ""); + } + } + if (qualifier.hasComponent()) { + // "It is a compile-time error if this sequence of components gets larger than 3." + if (qualifier.layoutComponent + type.getVectorSize() * (type.getBasicType() == EbtDouble ? 2 : 1) > 4) + error(loc, "type overflows the available 4 components", "component", ""); + + // "It is a compile-time error to apply the component qualifier to a matrix, a structure, a block, or an array containing any of these." + if (type.isMatrix() || type.getBasicType() == EbtBlock || type.getBasicType() == EbtStruct) + error(loc, "cannot apply to a matrix, structure, or block", "component", ""); + + // " It is a compile-time error to use component 1 or 3 as the beginning of a double or dvec2." + if (type.getBasicType() == EbtDouble) + if (qualifier.layoutComponent & 1) + error(loc, "doubles cannot start on an odd-numbered component", "component", ""); + } + + switch (qualifier.storage) { + case EvqVaryingIn: + case EvqVaryingOut: + if (type.getBasicType() == EbtBlock) + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, "location qualifier on in/out block"); + if (type.getQualifier().isTaskMemory()) + error(loc, "cannot apply to taskNV in/out blocks", "location", ""); + break; + case EvqUniform: + case EvqBuffer: + if (type.getBasicType() == EbtBlock) + error(loc, "cannot apply to uniform or buffer block", "location", ""); + break; +#ifndef GLSLANG_WEB + case EvqPayload: + case EvqPayloadIn: + case EvqHitAttr: + case EvqCallableData: + case EvqCallableDataIn: + break; +#endif + default: + error(loc, "can only apply to uniform, buffer, in, or out storage qualifiers", "location", ""); + break; + } + + bool typeCollision; + int repeated = intermediate.addUsedLocation(qualifier, type, typeCollision); + if (repeated >= 0 && ! typeCollision) + error(loc, "overlapping use of location", "location", "%d", repeated); + // "fragment-shader outputs ... if two variables are placed within the same + // location, they must have the same underlying type (floating-point or integer)" + if (typeCollision && language == EShLangFragment && qualifier.isPipeOutput()) + error(loc, "fragment outputs sharing the same location must be the same basic type", "location", "%d", repeated); + } + +#ifndef GLSLANG_WEB + if (qualifier.hasXfbOffset() && qualifier.hasXfbBuffer()) { + int repeated = intermediate.addXfbBufferOffset(type); + if (repeated >= 0) + error(loc, "overlapping offsets at", "xfb_offset", "offset %d in buffer %d", repeated, qualifier.layoutXfbBuffer); + if (type.isUnsizedArray()) + error(loc, "unsized array", "xfb_offset", "in buffer %d", qualifier.layoutXfbBuffer); + + // "The offset must be a multiple of the size of the first component of the first + // qualified variable or block member, or a compile-time error results. Further, if applied to an aggregate + // containing a double or 64-bit integer, the offset must also be a multiple of 8..." + if ((type.containsBasicType(EbtDouble) || type.containsBasicType(EbtInt64) || type.containsBasicType(EbtUint64)) && + ! IsMultipleOfPow2(qualifier.layoutXfbOffset, 8)) + error(loc, "type contains double or 64-bit integer; xfb_offset must be a multiple of 8", "xfb_offset", ""); + else if ((type.containsBasicType(EbtBool) || type.containsBasicType(EbtFloat) || + type.containsBasicType(EbtInt) || type.containsBasicType(EbtUint)) && + ! IsMultipleOfPow2(qualifier.layoutXfbOffset, 4)) + error(loc, "must be a multiple of size of first component", "xfb_offset", ""); + // ..., if applied to an aggregate containing a half float or 16-bit integer, the offset must also be a multiple of 2..." + else if ((type.contains16BitFloat() || type.containsBasicType(EbtInt16) || type.containsBasicType(EbtUint16)) && + !IsMultipleOfPow2(qualifier.layoutXfbOffset, 2)) + error(loc, "type contains half float or 16-bit integer; xfb_offset must be a multiple of 2", "xfb_offset", ""); + } + if (qualifier.hasXfbStride() && qualifier.hasXfbBuffer()) { + if (! intermediate.setXfbBufferStride(qualifier.layoutXfbBuffer, qualifier.layoutXfbStride)) + error(loc, "all stride settings must match for xfb buffer", "xfb_stride", "%d", qualifier.layoutXfbBuffer); + } +#endif + + if (qualifier.hasBinding()) { + // Binding checking, from the spec: + // + // "If the binding point for any uniform or shader storage block instance is less than zero, or greater than or + // equal to the implementation-dependent maximum number of uniform buffer bindings, a compile-time + // error will occur. When the binding identifier is used with a uniform or shader storage block instanced as + // an array of size N, all elements of the array from binding through binding + N - 1 must be within this + // range." + // + if (! type.isOpaque() && type.getBasicType() != EbtBlock) + error(loc, "requires block, or sampler/image, or atomic-counter type", "binding", ""); + if (type.getBasicType() == EbtSampler) { + int lastBinding = qualifier.layoutBinding; + if (type.isArray()) { + if (spvVersion.vulkan > 0) + lastBinding += 1; + else { + if (type.isSizedArray()) + lastBinding += type.getCumulativeArraySize(); + else { + lastBinding += 1; +#ifndef GLSLANG_WEB + if (spvVersion.vulkan == 0) + warn(loc, "assuming binding count of one for compile-time checking of binding numbers for unsized array", "[]", ""); +#endif + } + } + } +#ifndef GLSLANG_WEB + if (spvVersion.vulkan == 0 && lastBinding >= resources.maxCombinedTextureImageUnits) + error(loc, "sampler binding not less than gl_MaxCombinedTextureImageUnits", "binding", type.isArray() ? "(using array)" : ""); +#endif + } + if (type.isAtomic()) { + if (qualifier.layoutBinding >= (unsigned int)resources.maxAtomicCounterBindings) { + error(loc, "atomic_uint binding is too large; see gl_MaxAtomicCounterBindings", "binding", ""); + return; + } + } + } else if (!intermediate.getAutoMapBindings()) { + // some types require bindings + + // atomic_uint + if (type.isAtomic()) + error(loc, "layout(binding=X) is required", "atomic_uint", ""); + + // SPIR-V + if (spvVersion.spv > 0) { + if (qualifier.isUniformOrBuffer()) { + if (type.getBasicType() == EbtBlock && !qualifier.isPushConstant() && + !qualifier.isShaderRecord() && + !qualifier.hasAttachment() && + !qualifier.hasBufferReference()) + error(loc, "uniform/buffer blocks require layout(binding=X)", "binding", ""); + else if (spvVersion.vulkan > 0 && type.getBasicType() == EbtSampler) + error(loc, "sampler/texture/image requires layout(binding=X)", "binding", ""); + } + } + } + + // some things can't have arrays of arrays + if (type.isArrayOfArrays()) { + if (spvVersion.vulkan > 0) { + if (type.isOpaque() || (type.getQualifier().isUniformOrBuffer() && type.getBasicType() == EbtBlock)) + warn(loc, "Generating SPIR-V array-of-arrays, but Vulkan only supports single array level for this resource", "[][]", ""); + } + } + + // "The offset qualifier can only be used on block members of blocks..." + if (qualifier.hasOffset()) { + if (type.getBasicType() == EbtBlock) + error(loc, "only applies to block members, not blocks", "offset", ""); + } + + // Image format + if (qualifier.hasFormat()) { + if (! type.isImage()) + error(loc, "only apply to images", TQualifier::getLayoutFormatString(qualifier.getFormat()), ""); + else { + if (type.getSampler().type == EbtFloat && qualifier.getFormat() > ElfFloatGuard) + error(loc, "does not apply to floating point images", TQualifier::getLayoutFormatString(qualifier.getFormat()), ""); + if (type.getSampler().type == EbtInt && (qualifier.getFormat() < ElfFloatGuard || qualifier.getFormat() > ElfIntGuard)) + error(loc, "does not apply to signed integer images", TQualifier::getLayoutFormatString(qualifier.getFormat()), ""); + if (type.getSampler().type == EbtUint && qualifier.getFormat() < ElfIntGuard) + error(loc, "does not apply to unsigned integer images", TQualifier::getLayoutFormatString(qualifier.getFormat()), ""); + + if (isEsProfile()) { + // "Except for image variables qualified with the format qualifiers r32f, r32i, and r32ui, image variables must + // specify either memory qualifier readonly or the memory qualifier writeonly." + if (! (qualifier.getFormat() == ElfR32f || qualifier.getFormat() == ElfR32i || qualifier.getFormat() == ElfR32ui)) { + if (! qualifier.isReadOnly() && ! qualifier.isWriteOnly()) + error(loc, "format requires readonly or writeonly memory qualifier", TQualifier::getLayoutFormatString(qualifier.getFormat()), ""); + } + } + } + } else if (type.isImage() && ! qualifier.isWriteOnly()) { + const char *explanation = "image variables not declared 'writeonly' and without a format layout qualifier"; + requireProfile(loc, ECoreProfile | ECompatibilityProfile, explanation); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 0, E_GL_EXT_shader_image_load_formatted, explanation); + } + + if (qualifier.isPushConstant() && type.getBasicType() != EbtBlock) + error(loc, "can only be used with a block", "push_constant", ""); + + if (qualifier.hasBufferReference() && type.getBasicType() != EbtBlock) + error(loc, "can only be used with a block", "buffer_reference", ""); + + if (qualifier.isShaderRecord() && type.getBasicType() != EbtBlock) + error(loc, "can only be used with a block", "shaderRecordNV", ""); + + // input attachment + if (type.isSubpass()) { + if (! qualifier.hasAttachment()) + error(loc, "requires an input_attachment_index layout qualifier", "subpass", ""); + } else { + if (qualifier.hasAttachment()) + error(loc, "can only be used with a subpass", "input_attachment_index", ""); + } + + // specialization-constant id + if (qualifier.hasSpecConstantId()) { + if (type.getQualifier().storage != EvqConst) + error(loc, "can only be applied to 'const'-qualified scalar", "constant_id", ""); + if (! type.isScalar()) + error(loc, "can only be applied to a scalar", "constant_id", ""); + switch (type.getBasicType()) + { + case EbtInt8: + case EbtUint8: + case EbtInt16: + case EbtUint16: + case EbtInt: + case EbtUint: + case EbtInt64: + case EbtUint64: + case EbtBool: + case EbtFloat: + case EbtDouble: + case EbtFloat16: + break; + default: + error(loc, "cannot be applied to this type", "constant_id", ""); + break; + } + } +} + +// Do layout error checking that can be done within a layout qualifier proper, not needing to know +// if there are blocks, atomic counters, variables, etc. +void TParseContext::layoutQualifierCheck(const TSourceLoc& loc, const TQualifier& qualifier) +{ + if (qualifier.storage == EvqShared && qualifier.hasLayout()) + error(loc, "cannot apply layout qualifiers to a shared variable", "shared", ""); + + // "It is a compile-time error to use *component* without also specifying the location qualifier (order does not matter)." + if (qualifier.hasComponent() && ! qualifier.hasLocation()) + error(loc, "must specify 'location' to use 'component'", "component", ""); + + if (qualifier.hasAnyLocation()) { + + // "As with input layout qualifiers, all shaders except compute shaders + // allow *location* layout qualifiers on output variable declarations, + // output block declarations, and output block member declarations." + + switch (qualifier.storage) { +#ifndef GLSLANG_WEB + case EvqVaryingIn: + { + const char* feature = "location qualifier on input"; + if (isEsProfile() && version < 310) + requireStage(loc, EShLangVertex, feature); + else + requireStage(loc, (EShLanguageMask)~EShLangComputeMask, feature); + if (language == EShLangVertex) { + const char* exts[2] = { E_GL_ARB_separate_shader_objects, E_GL_ARB_explicit_attrib_location }; + profileRequires(loc, ~EEsProfile, 330, 2, exts, feature); + profileRequires(loc, EEsProfile, 300, nullptr, feature); + } else { + profileRequires(loc, ~EEsProfile, 410, E_GL_ARB_separate_shader_objects, feature); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + } + break; + } + case EvqVaryingOut: + { + const char* feature = "location qualifier on output"; + if (isEsProfile() && version < 310) + requireStage(loc, EShLangFragment, feature); + else + requireStage(loc, (EShLanguageMask)~EShLangComputeMask, feature); + if (language == EShLangFragment) { + const char* exts[2] = { E_GL_ARB_separate_shader_objects, E_GL_ARB_explicit_attrib_location }; + profileRequires(loc, ~EEsProfile, 330, 2, exts, feature); + profileRequires(loc, EEsProfile, 300, nullptr, feature); + } else { + profileRequires(loc, ~EEsProfile, 410, E_GL_ARB_separate_shader_objects, feature); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + } + break; + } +#endif + case EvqUniform: + case EvqBuffer: + { + const char* feature = "location qualifier on uniform or buffer"; + requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile | ENoProfile, feature); + profileRequires(loc, ~EEsProfile, 330, E_GL_ARB_explicit_attrib_location, feature); + profileRequires(loc, ~EEsProfile, 430, E_GL_ARB_explicit_uniform_location, feature); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + break; + } + default: + break; + } + if (qualifier.hasIndex()) { + if (qualifier.storage != EvqVaryingOut) + error(loc, "can only be used on an output", "index", ""); + if (! qualifier.hasLocation()) + error(loc, "can only be used with an explicit location", "index", ""); + } + } + + if (qualifier.hasBinding()) { + if (! qualifier.isUniformOrBuffer() && !qualifier.isTaskMemory()) + error(loc, "requires uniform or buffer storage qualifier", "binding", ""); + } + if (qualifier.hasStream()) { + if (!qualifier.isPipeOutput()) + error(loc, "can only be used on an output", "stream", ""); + } + if (qualifier.hasXfb()) { + if (!qualifier.isPipeOutput()) + error(loc, "can only be used on an output", "xfb layout qualifier", ""); + } + if (qualifier.hasUniformLayout()) { + if (! qualifier.isUniformOrBuffer() && !qualifier.isTaskMemory()) { + if (qualifier.hasMatrix() || qualifier.hasPacking()) + error(loc, "matrix or packing qualifiers can only be used on a uniform or buffer", "layout", ""); + if (qualifier.hasOffset() || qualifier.hasAlign()) + error(loc, "offset/align can only be used on a uniform or buffer", "layout", ""); + } + } + if (qualifier.isPushConstant()) { + if (qualifier.storage != EvqUniform) + error(loc, "can only be used with a uniform", "push_constant", ""); + if (qualifier.hasSet()) + error(loc, "cannot be used with push_constant", "set", ""); + } + if (qualifier.hasBufferReference()) { + if (qualifier.storage != EvqBuffer) + error(loc, "can only be used with buffer", "buffer_reference", ""); + } + if (qualifier.isShaderRecord()) { + if (qualifier.storage != EvqBuffer) + error(loc, "can only be used with a buffer", "shaderRecordNV", ""); + if (qualifier.hasBinding()) + error(loc, "cannot be used with shaderRecordNV", "binding", ""); + if (qualifier.hasSet()) + error(loc, "cannot be used with shaderRecordNV", "set", ""); + + } + if (qualifier.storage == EvqHitAttr && qualifier.hasLayout()) { + error(loc, "cannot apply layout qualifiers to hitAttributeNV variable", "hitAttributeNV", ""); + } +} + +// For places that can't have shader-level layout qualifiers +void TParseContext::checkNoShaderLayouts(const TSourceLoc& loc, const TShaderQualifiers& shaderQualifiers) +{ +#ifndef GLSLANG_WEB + const char* message = "can only apply to a standalone qualifier"; + + if (shaderQualifiers.geometry != ElgNone) + error(loc, message, TQualifier::getGeometryString(shaderQualifiers.geometry), ""); + if (shaderQualifiers.spacing != EvsNone) + error(loc, message, TQualifier::getVertexSpacingString(shaderQualifiers.spacing), ""); + if (shaderQualifiers.order != EvoNone) + error(loc, message, TQualifier::getVertexOrderString(shaderQualifiers.order), ""); + if (shaderQualifiers.pointMode) + error(loc, message, "point_mode", ""); + if (shaderQualifiers.invocations != TQualifier::layoutNotSet) + error(loc, message, "invocations", ""); + for (int i = 0; i < 3; ++i) { + if (shaderQualifiers.localSize[i] > 1) + error(loc, message, "local_size", ""); + if (shaderQualifiers.localSizeSpecId[i] != TQualifier::layoutNotSet) + error(loc, message, "local_size id", ""); + } + if (shaderQualifiers.vertices != TQualifier::layoutNotSet) { + if (language == EShLangGeometry || language == EShLangMeshNV) + error(loc, message, "max_vertices", ""); + else if (language == EShLangTessControl) + error(loc, message, "vertices", ""); + else + assert(0); + } + if (shaderQualifiers.earlyFragmentTests) + error(loc, message, "early_fragment_tests", ""); + if (shaderQualifiers.postDepthCoverage) + error(loc, message, "post_depth_coverage", ""); + if (shaderQualifiers.primitives != TQualifier::layoutNotSet) { + if (language == EShLangMeshNV) + error(loc, message, "max_primitives", ""); + else + assert(0); + } + if (shaderQualifiers.hasBlendEquation()) + error(loc, message, "blend equation", ""); + if (shaderQualifiers.numViews != TQualifier::layoutNotSet) + error(loc, message, "num_views", ""); + if (shaderQualifiers.interlockOrdering != EioNone) + error(loc, message, TQualifier::getInterlockOrderingString(shaderQualifiers.interlockOrdering), ""); + if (shaderQualifiers.layoutPrimitiveCulling) + error(loc, "can only be applied as standalone", "primitive_culling", ""); +#endif +} + +// Correct and/or advance an object's offset layout qualifier. +void TParseContext::fixOffset(const TSourceLoc& loc, TSymbol& symbol) +{ + const TQualifier& qualifier = symbol.getType().getQualifier(); +#ifndef GLSLANG_WEB + if (symbol.getType().isAtomic()) { + if (qualifier.hasBinding() && (int)qualifier.layoutBinding < resources.maxAtomicCounterBindings) { + + // Set the offset + int offset; + if (qualifier.hasOffset()) + offset = qualifier.layoutOffset; + else + offset = atomicUintOffsets[qualifier.layoutBinding]; + + if (offset % 4 != 0) + error(loc, "atomic counters offset should align based on 4:", "offset", "%d", offset); + + symbol.getWritableType().getQualifier().layoutOffset = offset; + + // Check for overlap + int numOffsets = 4; + if (symbol.getType().isArray()) { + if (symbol.getType().isSizedArray() && !symbol.getType().getArraySizes()->isInnerUnsized()) + numOffsets *= symbol.getType().getCumulativeArraySize(); + else { + // "It is a compile-time error to declare an unsized array of atomic_uint." + error(loc, "array must be explicitly sized", "atomic_uint", ""); + } + } + int repeated = intermediate.addUsedOffsets(qualifier.layoutBinding, offset, numOffsets); + if (repeated >= 0) + error(loc, "atomic counters sharing the same offset:", "offset", "%d", repeated); + + // Bump the default offset + atomicUintOffsets[qualifier.layoutBinding] = offset + numOffsets; + } + } +#endif +} + +// +// Look up a function name in the symbol table, and make sure it is a function. +// +// Return the function symbol if found, otherwise nullptr. +// +const TFunction* TParseContext::findFunction(const TSourceLoc& loc, const TFunction& call, bool& builtIn) +{ + if (symbolTable.isFunctionNameVariable(call.getName())) { + error(loc, "can't use function syntax on variable", call.getName().c_str(), ""); + return nullptr; + } + +#ifdef GLSLANG_WEB + return findFunctionExact(loc, call, builtIn); +#endif + + const TFunction* function = nullptr; + + // debugPrintfEXT has var args and is in the symbol table as "debugPrintfEXT()", + // mangled to "debugPrintfEXT(" + if (call.getName() == "debugPrintfEXT") { + TSymbol* symbol = symbolTable.find("debugPrintfEXT(", &builtIn); + if (symbol) + return symbol->getAsFunction(); + } + + bool explicitTypesEnabled = extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int8) || + extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int16) || + extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int32) || + extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int64) || + extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_float16) || + extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_float32) || + extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_float64); + + if (isEsProfile()) + function = (extensionTurnedOn(E_GL_EXT_shader_implicit_conversions) && version >= 310) ? + findFunction120(loc, call, builtIn) : findFunctionExact(loc, call, builtIn); + else if (version < 120) + function = findFunctionExact(loc, call, builtIn); + else if (version < 400) + function = extensionTurnedOn(E_GL_ARB_gpu_shader_fp64) ? findFunction400(loc, call, builtIn) : findFunction120(loc, call, builtIn); + else if (explicitTypesEnabled) + function = findFunctionExplicitTypes(loc, call, builtIn); + else + function = findFunction400(loc, call, builtIn); + + return function; +} + +// Function finding algorithm for ES and desktop 110. +const TFunction* TParseContext::findFunctionExact(const TSourceLoc& loc, const TFunction& call, bool& builtIn) +{ + TSymbol* symbol = symbolTable.find(call.getMangledName(), &builtIn); + if (symbol == nullptr) { + error(loc, "no matching overloaded function found", call.getName().c_str(), ""); + + return nullptr; + } + + return symbol->getAsFunction(); +} + +// Function finding algorithm for desktop versions 120 through 330. +const TFunction* TParseContext::findFunction120(const TSourceLoc& loc, const TFunction& call, bool& builtIn) +{ + // first, look for an exact match + TSymbol* symbol = symbolTable.find(call.getMangledName(), &builtIn); + if (symbol) + return symbol->getAsFunction(); + + // exact match not found, look through a list of overloaded functions of the same name + + // "If no exact match is found, then [implicit conversions] will be applied to find a match. Mismatched types + // on input parameters (in or inout or default) must have a conversion from the calling argument type to the + // formal parameter type. Mismatched types on output parameters (out or inout) must have a conversion + // from the formal parameter type to the calling argument type. When argument conversions are used to find + // a match, it is a semantic error if there are multiple ways to apply these conversions to make the call match + // more than one function." + + const TFunction* candidate = nullptr; + TVector candidateList; + symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn); + + for (auto it = candidateList.begin(); it != candidateList.end(); ++it) { + const TFunction& function = *(*it); + + // to even be a potential match, number of arguments has to match + if (call.getParamCount() != function.getParamCount()) + continue; + + bool possibleMatch = true; + for (int i = 0; i < function.getParamCount(); ++i) { + // same types is easy + if (*function[i].type == *call[i].type) + continue; + + // We have a mismatch in type, see if it is implicitly convertible + + if (function[i].type->isArray() || call[i].type->isArray() || + ! function[i].type->sameElementShape(*call[i].type)) + possibleMatch = false; + else { + // do direction-specific checks for conversion of basic type + if (function[i].type->getQualifier().isParamInput()) { + if (! intermediate.canImplicitlyPromote(call[i].type->getBasicType(), function[i].type->getBasicType())) + possibleMatch = false; + } + if (function[i].type->getQualifier().isParamOutput()) { + if (! intermediate.canImplicitlyPromote(function[i].type->getBasicType(), call[i].type->getBasicType())) + possibleMatch = false; + } + } + if (! possibleMatch) + break; + } + if (possibleMatch) { + if (candidate) { + // our second match, meaning ambiguity + error(loc, "ambiguous function signature match: multiple signatures match under implicit type conversion", call.getName().c_str(), ""); + } else + candidate = &function; + } + } + + if (candidate == nullptr) + error(loc, "no matching overloaded function found", call.getName().c_str(), ""); + + return candidate; +} + +// Function finding algorithm for desktop version 400 and above. +// +// "When function calls are resolved, an exact type match for all the arguments +// is sought. If an exact match is found, all other functions are ignored, and +// the exact match is used. If no exact match is found, then the implicit +// conversions in section 4.1.10 Implicit Conversions will be applied to find +// a match. Mismatched types on input parameters (in or inout or default) must +// have a conversion from the calling argument type to the formal parameter type. +// Mismatched types on output parameters (out or inout) must have a conversion +// from the formal parameter type to the calling argument type. +// +// "If implicit conversions can be used to find more than one matching function, +// a single best-matching function is sought. To determine a best match, the +// conversions between calling argument and formal parameter types are compared +// for each function argument and pair of matching functions. After these +// comparisons are performed, each pair of matching functions are compared. +// A function declaration A is considered a better match than function +// declaration B if +// +// * for at least one function argument, the conversion for that argument in A +// is better than the corresponding conversion in B; and +// * there is no function argument for which the conversion in B is better than +// the corresponding conversion in A. +// +// "If a single function declaration is considered a better match than every +// other matching function declaration, it will be used. Otherwise, a +// compile-time semantic error for an ambiguous overloaded function call occurs. +// +// "To determine whether the conversion for a single argument in one match is +// better than that for another match, the following rules are applied, in order: +// +// 1. An exact match is better than a match involving any implicit conversion. +// 2. A match involving an implicit conversion from float to double is better +// than a match involving any other implicit conversion. +// 3. A match involving an implicit conversion from either int or uint to float +// is better than a match involving an implicit conversion from either int +// or uint to double. +// +// "If none of the rules above apply to a particular pair of conversions, neither +// conversion is considered better than the other." +// +const TFunction* TParseContext::findFunction400(const TSourceLoc& loc, const TFunction& call, bool& builtIn) +{ + // first, look for an exact match + TSymbol* symbol = symbolTable.find(call.getMangledName(), &builtIn); + if (symbol) + return symbol->getAsFunction(); + + // no exact match, use the generic selector, parameterized by the GLSL rules + + // create list of candidates to send + TVector candidateList; + symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn); + + // can 'from' convert to 'to'? + const auto convertible = [this,builtIn](const TType& from, const TType& to, TOperator, int) -> bool { + if (from == to) + return true; + if (from.coopMatParameterOK(to)) + return true; + // Allow a sized array to be passed through an unsized array parameter, for coopMatLoad/Store functions + if (builtIn && from.isArray() && to.isUnsizedArray()) { + TType fromElementType(from, 0); + TType toElementType(to, 0); + if (fromElementType == toElementType) + return true; + } + if (from.isArray() || to.isArray() || ! from.sameElementShape(to)) + return false; + if (from.isCoopMat() && to.isCoopMat()) + return from.sameCoopMatBaseType(to); + return intermediate.canImplicitlyPromote(from.getBasicType(), to.getBasicType()); + }; + + // Is 'to2' a better conversion than 'to1'? + // Ties should not be considered as better. + // Assumes 'convertible' already said true. + const auto better = [](const TType& from, const TType& to1, const TType& to2) -> bool { + // 1. exact match + if (from == to2) + return from != to1; + if (from == to1) + return false; + + // 2. float -> double is better + if (from.getBasicType() == EbtFloat) { + if (to2.getBasicType() == EbtDouble && to1.getBasicType() != EbtDouble) + return true; + } + + // 3. -> float is better than -> double + return to2.getBasicType() == EbtFloat && to1.getBasicType() == EbtDouble; + }; + + // for ambiguity reporting + bool tie = false; + + // send to the generic selector + const TFunction* bestMatch = selectFunction(candidateList, call, convertible, better, tie); + + if (bestMatch == nullptr) + error(loc, "no matching overloaded function found", call.getName().c_str(), ""); + else if (tie) + error(loc, "ambiguous best function under implicit type conversion", call.getName().c_str(), ""); + + return bestMatch; +} + +// "To determine whether the conversion for a single argument in one match +// is better than that for another match, the conversion is assigned of the +// three ranks ordered from best to worst: +// 1. Exact match: no conversion. +// 2. Promotion: integral or floating-point promotion. +// 3. Conversion: integral conversion, floating-point conversion, +// floating-integral conversion. +// A conversion C1 is better than a conversion C2 if the rank of C1 is +// better than the rank of C2." +const TFunction* TParseContext::findFunctionExplicitTypes(const TSourceLoc& loc, const TFunction& call, bool& builtIn) +{ + // first, look for an exact match + TSymbol* symbol = symbolTable.find(call.getMangledName(), &builtIn); + if (symbol) + return symbol->getAsFunction(); + + // no exact match, use the generic selector, parameterized by the GLSL rules + + // create list of candidates to send + TVector candidateList; + symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn); + + // can 'from' convert to 'to'? + const auto convertible = [this,builtIn](const TType& from, const TType& to, TOperator, int) -> bool { + if (from == to) + return true; + if (from.coopMatParameterOK(to)) + return true; + // Allow a sized array to be passed through an unsized array parameter, for coopMatLoad/Store functions + if (builtIn && from.isArray() && to.isUnsizedArray()) { + TType fromElementType(from, 0); + TType toElementType(to, 0); + if (fromElementType == toElementType) + return true; + } + if (from.isArray() || to.isArray() || ! from.sameElementShape(to)) + return false; + if (from.isCoopMat() && to.isCoopMat()) + return from.sameCoopMatBaseType(to); + return intermediate.canImplicitlyPromote(from.getBasicType(), to.getBasicType()); + }; + + // Is 'to2' a better conversion than 'to1'? + // Ties should not be considered as better. + // Assumes 'convertible' already said true. + const auto better = [this](const TType& from, const TType& to1, const TType& to2) -> bool { + // 1. exact match + if (from == to2) + return from != to1; + if (from == to1) + return false; + + // 2. Promotion (integral, floating-point) is better + TBasicType from_type = from.getBasicType(); + TBasicType to1_type = to1.getBasicType(); + TBasicType to2_type = to2.getBasicType(); + bool isPromotion1 = (intermediate.isIntegralPromotion(from_type, to1_type) || + intermediate.isFPPromotion(from_type, to1_type)); + bool isPromotion2 = (intermediate.isIntegralPromotion(from_type, to2_type) || + intermediate.isFPPromotion(from_type, to2_type)); + if (isPromotion2) + return !isPromotion1; + if(isPromotion1) + return false; + + // 3. Conversion (integral, floating-point , floating-integral) + bool isConversion1 = (intermediate.isIntegralConversion(from_type, to1_type) || + intermediate.isFPConversion(from_type, to1_type) || + intermediate.isFPIntegralConversion(from_type, to1_type)); + bool isConversion2 = (intermediate.isIntegralConversion(from_type, to2_type) || + intermediate.isFPConversion(from_type, to2_type) || + intermediate.isFPIntegralConversion(from_type, to2_type)); + + return isConversion2 && !isConversion1; + }; + + // for ambiguity reporting + bool tie = false; + + // send to the generic selector + const TFunction* bestMatch = selectFunction(candidateList, call, convertible, better, tie); + + if (bestMatch == nullptr) + error(loc, "no matching overloaded function found", call.getName().c_str(), ""); + else if (tie) + error(loc, "ambiguous best function under implicit type conversion", call.getName().c_str(), ""); + + return bestMatch; +} + +// When a declaration includes a type, but not a variable name, it can be used +// to establish defaults. +void TParseContext::declareTypeDefaults(const TSourceLoc& loc, const TPublicType& publicType) +{ +#ifndef GLSLANG_WEB + if (publicType.basicType == EbtAtomicUint && publicType.qualifier.hasBinding()) { + if (publicType.qualifier.layoutBinding >= (unsigned int)resources.maxAtomicCounterBindings) { + error(loc, "atomic_uint binding is too large", "binding", ""); + return; + } + if (publicType.qualifier.hasOffset()) + atomicUintOffsets[publicType.qualifier.layoutBinding] = publicType.qualifier.layoutOffset; + return; + } + + if (publicType.arraySizes) { + error(loc, "expect an array name", "", ""); + } + + if (publicType.qualifier.hasLayout() && !publicType.qualifier.hasBufferReference()) + warn(loc, "useless application of layout qualifier", "layout", ""); +#endif +} + +// +// Do everything necessary to handle a variable (non-block) declaration. +// Either redeclaring a variable, or making a new one, updating the symbol +// table, and all error checking. +// +// Returns a subtree node that computes an initializer, if needed. +// Returns nullptr if there is no code to execute for initialization. +// +// 'publicType' is the type part of the declaration (to the left) +// 'arraySizes' is the arrayness tagged on the identifier (to the right) +// +TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& identifier, const TPublicType& publicType, + TArraySizes* arraySizes, TIntermTyped* initializer) +{ + // Make a fresh type that combines the characteristics from the individual + // identifier syntax and the declaration-type syntax. + TType type(publicType); + type.transferArraySizes(arraySizes); + type.copyArrayInnerSizes(publicType.arraySizes); + arrayOfArrayVersionCheck(loc, type.getArraySizes()); + + if (initializer) { + if (type.getBasicType() == EbtRayQuery) { + error(loc, "ray queries can only be initialized by using the rayQueryInitializeEXT intrinsic:", "=", identifier.c_str()); + } + } + + if (type.isCoopMat()) { + intermediate.setUseVulkanMemoryModel(); + intermediate.setUseStorageBuffer(); + + if (!publicType.typeParameters || publicType.typeParameters->getNumDims() != 4) { + error(loc, "expected four type parameters", identifier.c_str(), ""); + } + if (publicType.typeParameters) { + if (isTypeFloat(publicType.basicType) && + publicType.typeParameters->getDimSize(0) != 16 && + publicType.typeParameters->getDimSize(0) != 32 && + publicType.typeParameters->getDimSize(0) != 64) { + error(loc, "expected 16, 32, or 64 bits for first type parameter", identifier.c_str(), ""); + } + if (isTypeInt(publicType.basicType) && + publicType.typeParameters->getDimSize(0) != 8 && + publicType.typeParameters->getDimSize(0) != 32) { + error(loc, "expected 8 or 32 bits for first type parameter", identifier.c_str(), ""); + } + } + + } else { + if (publicType.typeParameters && publicType.typeParameters->getNumDims() != 0) { + error(loc, "unexpected type parameters", identifier.c_str(), ""); + } + } + + if (voidErrorCheck(loc, identifier, type.getBasicType())) + return nullptr; + + if (initializer) + rValueErrorCheck(loc, "initializer", initializer); + else + nonInitConstCheck(loc, identifier, type); + + samplerCheck(loc, type, identifier, initializer); + transparentOpaqueCheck(loc, type, identifier); +#ifndef GLSLANG_WEB + atomicUintCheck(loc, type, identifier); + accStructCheck(loc, type, identifier); + checkAndResizeMeshViewDim(loc, type, /*isBlockMember*/ false); +#endif + if (type.getQualifier().storage == EvqConst && type.containsReference()) { + error(loc, "variables with reference type can't have qualifier 'const'", "qualifier", ""); + } + + if (type.getQualifier().storage != EvqUniform && type.getQualifier().storage != EvqBuffer) { + if (type.contains16BitFloat()) + requireFloat16Arithmetic(loc, "qualifier", "float16 types can only be in uniform block or buffer storage"); + if (type.contains16BitInt()) + requireInt16Arithmetic(loc, "qualifier", "(u)int16 types can only be in uniform block or buffer storage"); + if (type.contains8BitInt()) + requireInt8Arithmetic(loc, "qualifier", "(u)int8 types can only be in uniform block or buffer storage"); + } + + if (type.getQualifier().storage == EvqShared && type.containsCoopMat()) + error(loc, "qualifier", "Cooperative matrix types must not be used in shared memory", ""); + + if (profile == EEsProfile) { + if (type.getQualifier().isPipeInput() && type.getBasicType() == EbtStruct) { + if (type.getQualifier().isArrayedIo(language)) { + TType perVertexType(type, 0); + if (perVertexType.containsArray() && perVertexType.containsBuiltIn() == false) { + error(loc, "A per vertex structure containing an array is not allowed as input in ES", type.getTypeName().c_str(), ""); + } + } + else if (type.containsArray() && type.containsBuiltIn() == false) { + error(loc, "A structure containing an array is not allowed as input in ES", type.getTypeName().c_str(), ""); + } + if (type.containsStructure()) + error(loc, "A structure containing an struct is not allowed as input in ES", type.getTypeName().c_str(), ""); + } + } + + if (identifier != "gl_FragCoord" && (publicType.shaderQualifiers.originUpperLeft || publicType.shaderQualifiers.pixelCenterInteger)) + error(loc, "can only apply origin_upper_left and pixel_center_origin to gl_FragCoord", "layout qualifier", ""); + if (identifier != "gl_FragDepth" && publicType.shaderQualifiers.getDepth() != EldNone) + error(loc, "can only apply depth layout to gl_FragDepth", "layout qualifier", ""); + + // Check for redeclaration of built-ins and/or attempting to declare a reserved name + TSymbol* symbol = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers); + if (symbol == nullptr) + reservedErrorCheck(loc, identifier); + + inheritGlobalDefaults(type.getQualifier()); + + // Declare the variable + if (type.isArray()) { + // Check that implicit sizing is only where allowed. + arraySizesCheck(loc, type.getQualifier(), type.getArraySizes(), initializer, false); + + if (! arrayQualifierError(loc, type.getQualifier()) && ! arrayError(loc, type)) + declareArray(loc, identifier, type, symbol); + + if (initializer) { + profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, "initializer"); + profileRequires(loc, EEsProfile, 300, nullptr, "initializer"); + } + } else { + // non-array case + if (symbol == nullptr) + symbol = declareNonArray(loc, identifier, type); + else if (type != symbol->getType()) + error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str()); + } + + if (symbol == nullptr) + return nullptr; + + // Deal with initializer + TIntermNode* initNode = nullptr; + if (symbol != nullptr && initializer) { + TVariable* variable = symbol->getAsVariable(); + if (! variable) { + error(loc, "initializer requires a variable, not a member", identifier.c_str(), ""); + return nullptr; + } + initNode = executeInitializer(loc, initializer, variable); + } + + // look for errors in layout qualifier use + layoutObjectCheck(loc, *symbol); + + // fix up + fixOffset(loc, *symbol); + + return initNode; +} + +// Pick up global defaults from the provide global defaults into dst. +void TParseContext::inheritGlobalDefaults(TQualifier& dst) const +{ +#ifndef GLSLANG_WEB + if (dst.storage == EvqVaryingOut) { + if (! dst.hasStream() && language == EShLangGeometry) + dst.layoutStream = globalOutputDefaults.layoutStream; + if (! dst.hasXfbBuffer()) + dst.layoutXfbBuffer = globalOutputDefaults.layoutXfbBuffer; + } +#endif +} + +// +// Make an internal-only variable whose name is for debug purposes only +// and won't be searched for. Callers will only use the return value to use +// the variable, not the name to look it up. It is okay if the name +// is the same as other names; there won't be any conflict. +// +TVariable* TParseContext::makeInternalVariable(const char* name, const TType& type) const +{ + TString* nameString = NewPoolTString(name); + TVariable* variable = new TVariable(nameString, type); + symbolTable.makeInternalVariable(*variable); + + return variable; +} + +// +// Declare a non-array variable, the main point being there is no redeclaration +// for resizing allowed. +// +// Return the successfully declared variable. +// +TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, const TString& identifier, const TType& type) +{ + // make a new variable + TVariable* variable = new TVariable(&identifier, type); + +#ifndef GLSLANG_WEB + ioArrayCheck(loc, type, identifier); +#endif + + // add variable to symbol table + if (symbolTable.insert(*variable)) { + if (symbolTable.atGlobalLevel()) + trackLinkage(*variable); + return variable; + } + + error(loc, "redefinition", variable->getName().c_str(), ""); + return nullptr; +} + +// +// Handle all types of initializers from the grammar. +// +// Returning nullptr just means there is no code to execute to handle the +// initializer, which will, for example, be the case for constant initializers. +// +TIntermNode* TParseContext::executeInitializer(const TSourceLoc& loc, TIntermTyped* initializer, TVariable* variable) +{ + // + // Identifier must be of type constant, a global, or a temporary, and + // starting at version 120, desktop allows uniforms to have initializers. + // + TStorageQualifier qualifier = variable->getType().getQualifier().storage; + if (! (qualifier == EvqTemporary || qualifier == EvqGlobal || qualifier == EvqConst || + (qualifier == EvqUniform && !isEsProfile() && version >= 120))) { + error(loc, " cannot initialize this type of qualifier ", variable->getType().getStorageQualifierString(), ""); + return nullptr; + } + arrayObjectCheck(loc, variable->getType(), "array initializer"); + + // + // If the initializer was from braces { ... }, we convert the whole subtree to a + // constructor-style subtree, allowing the rest of the code to operate + // identically for both kinds of initializers. + // + // Type can't be deduced from the initializer list, so a skeletal type to + // follow has to be passed in. Constness and specialization-constness + // should be deduced bottom up, not dictated by the skeletal type. + // + TType skeletalType; + skeletalType.shallowCopy(variable->getType()); + skeletalType.getQualifier().makeTemporary(); +#ifndef GLSLANG_WEB + initializer = convertInitializerList(loc, skeletalType, initializer); +#endif + if (! initializer) { + // error recovery; don't leave const without constant values + if (qualifier == EvqConst) + variable->getWritableType().getQualifier().makeTemporary(); + return nullptr; + } + + // Fix outer arrayness if variable is unsized, getting size from the initializer + if (initializer->getType().isSizedArray() && variable->getType().isUnsizedArray()) + variable->getWritableType().changeOuterArraySize(initializer->getType().getOuterArraySize()); + + // Inner arrayness can also get set by an initializer + if (initializer->getType().isArrayOfArrays() && variable->getType().isArrayOfArrays() && + initializer->getType().getArraySizes()->getNumDims() == + variable->getType().getArraySizes()->getNumDims()) { + // adopt unsized sizes from the initializer's sizes + for (int d = 1; d < variable->getType().getArraySizes()->getNumDims(); ++d) { + if (variable->getType().getArraySizes()->getDimSize(d) == UnsizedArraySize) { + variable->getWritableType().getArraySizes()->setDimSize(d, + initializer->getType().getArraySizes()->getDimSize(d)); + } + } + } + + // Uniforms require a compile-time constant initializer + if (qualifier == EvqUniform && ! initializer->getType().getQualifier().isFrontEndConstant()) { + error(loc, "uniform initializers must be constant", "=", "'%s'", variable->getType().getCompleteString().c_str()); + variable->getWritableType().getQualifier().makeTemporary(); + return nullptr; + } + // Global consts require a constant initializer (specialization constant is okay) + if (qualifier == EvqConst && symbolTable.atGlobalLevel() && ! initializer->getType().getQualifier().isConstant()) { + error(loc, "global const initializers must be constant", "=", "'%s'", variable->getType().getCompleteString().c_str()); + variable->getWritableType().getQualifier().makeTemporary(); + return nullptr; + } + + // Const variables require a constant initializer, depending on version + if (qualifier == EvqConst) { + if (! initializer->getType().getQualifier().isConstant()) { + const char* initFeature = "non-constant initializer"; + requireProfile(loc, ~EEsProfile, initFeature); + profileRequires(loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); + variable->getWritableType().getQualifier().storage = EvqConstReadOnly; + qualifier = EvqConstReadOnly; + } + } else { + // Non-const global variables in ES need a const initializer. + // + // "In declarations of global variables with no storage qualifier or with a const + // qualifier any initializer must be a constant expression." + if (symbolTable.atGlobalLevel() && ! initializer->getType().getQualifier().isConstant()) { + const char* initFeature = "non-constant global initializer (needs GL_EXT_shader_non_constant_global_initializers)"; + if (isEsProfile()) { + if (relaxedErrors() && ! extensionTurnedOn(E_GL_EXT_shader_non_constant_global_initializers)) + warn(loc, "not allowed in this version", initFeature, ""); + else + profileRequires(loc, EEsProfile, 0, E_GL_EXT_shader_non_constant_global_initializers, initFeature); + } + } + } + + if (qualifier == EvqConst || qualifier == EvqUniform) { + // Compile-time tagging of the variable with its constant value... + + initializer = intermediate.addConversion(EOpAssign, variable->getType(), initializer); + if (! initializer || ! initializer->getType().getQualifier().isConstant() || variable->getType() != initializer->getType()) { + error(loc, "non-matching or non-convertible constant type for const initializer", + variable->getType().getStorageQualifierString(), ""); + variable->getWritableType().getQualifier().makeTemporary(); + return nullptr; + } + + // We either have a folded constant in getAsConstantUnion, or we have to use + // the initializer's subtree in the AST to represent the computation of a + // specialization constant. + assert(initializer->getAsConstantUnion() || initializer->getType().getQualifier().isSpecConstant()); + if (initializer->getAsConstantUnion()) + variable->setConstArray(initializer->getAsConstantUnion()->getConstArray()); + else { + // It's a specialization constant. + variable->getWritableType().getQualifier().makeSpecConstant(); + + // Keep the subtree that computes the specialization constant with the variable. + // Later, a symbol node will adopt the subtree from the variable. + variable->setConstSubtree(initializer); + } + } else { + // normal assigning of a value to a variable... + specializationCheck(loc, initializer->getType(), "initializer"); + TIntermSymbol* intermSymbol = intermediate.addSymbol(*variable, loc); + TIntermTyped* initNode = intermediate.addAssign(EOpAssign, intermSymbol, initializer, loc); + if (! initNode) + assignError(loc, "=", intermSymbol->getCompleteString(), initializer->getCompleteString()); + + return initNode; + } + + return nullptr; +} + +// +// Reprocess any initializer-list (the "{ ... }" syntax) parts of the +// initializer. +// +// Need to hierarchically assign correct types and implicit +// conversions. Will do this mimicking the same process used for +// creating a constructor-style initializer, ensuring we get the +// same form. However, it has to in parallel walk the 'type' +// passed in, as type cannot be deduced from an initializer list. +// +TIntermTyped* TParseContext::convertInitializerList(const TSourceLoc& loc, const TType& type, TIntermTyped* initializer) +{ + // Will operate recursively. Once a subtree is found that is constructor style, + // everything below it is already good: Only the "top part" of the initializer + // can be an initializer list, where "top part" can extend for several (or all) levels. + + // see if we have bottomed out in the tree within the initializer-list part + TIntermAggregate* initList = initializer->getAsAggregate(); + if (! initList || initList->getOp() != EOpNull) + return initializer; + + // Of the initializer-list set of nodes, need to process bottom up, + // so recurse deep, then process on the way up. + + // Go down the tree here... + if (type.isArray()) { + // The type's array might be unsized, which could be okay, so base sizes on the size of the aggregate. + // Later on, initializer execution code will deal with array size logic. + TType arrayType; + arrayType.shallowCopy(type); // sharing struct stuff is fine + arrayType.copyArraySizes(*type.getArraySizes()); // but get a fresh copy of the array information, to edit below + + // edit array sizes to fill in unsized dimensions + arrayType.changeOuterArraySize((int)initList->getSequence().size()); + TIntermTyped* firstInit = initList->getSequence()[0]->getAsTyped(); + if (arrayType.isArrayOfArrays() && firstInit->getType().isArray() && + arrayType.getArraySizes()->getNumDims() == firstInit->getType().getArraySizes()->getNumDims() + 1) { + for (int d = 1; d < arrayType.getArraySizes()->getNumDims(); ++d) { + if (arrayType.getArraySizes()->getDimSize(d) == UnsizedArraySize) + arrayType.getArraySizes()->setDimSize(d, firstInit->getType().getArraySizes()->getDimSize(d - 1)); + } + } + + TType elementType(arrayType, 0); // dereferenced type + for (size_t i = 0; i < initList->getSequence().size(); ++i) { + initList->getSequence()[i] = convertInitializerList(loc, elementType, initList->getSequence()[i]->getAsTyped()); + if (initList->getSequence()[i] == nullptr) + return nullptr; + } + + return addConstructor(loc, initList, arrayType); + } else if (type.isStruct()) { + if (type.getStruct()->size() != initList->getSequence().size()) { + error(loc, "wrong number of structure members", "initializer list", ""); + return nullptr; + } + for (size_t i = 0; i < type.getStruct()->size(); ++i) { + initList->getSequence()[i] = convertInitializerList(loc, *(*type.getStruct())[i].type, initList->getSequence()[i]->getAsTyped()); + if (initList->getSequence()[i] == nullptr) + return nullptr; + } + } else if (type.isMatrix()) { + if (type.getMatrixCols() != (int)initList->getSequence().size()) { + error(loc, "wrong number of matrix columns:", "initializer list", type.getCompleteString().c_str()); + return nullptr; + } + TType vectorType(type, 0); // dereferenced type + for (int i = 0; i < type.getMatrixCols(); ++i) { + initList->getSequence()[i] = convertInitializerList(loc, vectorType, initList->getSequence()[i]->getAsTyped()); + if (initList->getSequence()[i] == nullptr) + return nullptr; + } + } else if (type.isVector()) { + if (type.getVectorSize() != (int)initList->getSequence().size()) { + error(loc, "wrong vector size (or rows in a matrix column):", "initializer list", type.getCompleteString().c_str()); + return nullptr; + } + TBasicType destType = type.getBasicType(); + for (int i = 0; i < type.getVectorSize(); ++i) { + TBasicType initType = initList->getSequence()[i]->getAsTyped()->getBasicType(); + if (destType != initType && !intermediate.canImplicitlyPromote(initType, destType)) { + error(loc, "type mismatch in initializer list", "initializer list", type.getCompleteString().c_str()); + return nullptr; + } + + } + } else { + error(loc, "unexpected initializer-list type:", "initializer list", type.getCompleteString().c_str()); + return nullptr; + } + + // Now that the subtree is processed, process this node as if the + // initializer list is a set of arguments to a constructor. + TIntermNode* emulatedConstructorArguments; + if (initList->getSequence().size() == 1) + emulatedConstructorArguments = initList->getSequence()[0]; + else + emulatedConstructorArguments = initList; + return addConstructor(loc, emulatedConstructorArguments, type); +} + +// +// Test for the correctness of the parameters passed to various constructor functions +// and also convert them to the right data type, if allowed and required. +// +// 'node' is what to construct from. +// 'type' is what type to construct. +// +// Returns nullptr for an error or the constructed node (aggregate or typed) for no error. +// +TIntermTyped* TParseContext::addConstructor(const TSourceLoc& loc, TIntermNode* node, const TType& type) +{ + if (node == nullptr || node->getAsTyped() == nullptr) + return nullptr; + rValueErrorCheck(loc, "constructor", node->getAsTyped()); + + TIntermAggregate* aggrNode = node->getAsAggregate(); + TOperator op = intermediate.mapTypeToConstructorOp(type); + + // Combined texture-sampler constructors are completely semantic checked + // in constructorTextureSamplerError() + if (op == EOpConstructTextureSampler) { + if (aggrNode->getSequence()[1]->getAsTyped()->getType().getSampler().shadow) { + // Transfer depth into the texture (SPIR-V image) type, as a hint + // for tools to know this texture/image is a depth image. + aggrNode->getSequence()[0]->getAsTyped()->getWritableType().getSampler().shadow = true; + } + return intermediate.setAggregateOperator(aggrNode, op, type, loc); + } + + TTypeList::const_iterator memberTypes; + if (op == EOpConstructStruct) + memberTypes = type.getStruct()->begin(); + + TType elementType; + if (type.isArray()) { + TType dereferenced(type, 0); + elementType.shallowCopy(dereferenced); + } else + elementType.shallowCopy(type); + + bool singleArg; + if (aggrNode) { + if (aggrNode->getOp() != EOpNull) + singleArg = true; + else + singleArg = false; + } else + singleArg = true; + + TIntermTyped *newNode; + if (singleArg) { + // If structure constructor or array constructor is being called + // for only one parameter inside the structure, we need to call constructAggregate function once. + if (type.isArray()) + newNode = constructAggregate(node, elementType, 1, node->getLoc()); + else if (op == EOpConstructStruct) + newNode = constructAggregate(node, *(*memberTypes).type, 1, node->getLoc()); + else + newNode = constructBuiltIn(type, op, node->getAsTyped(), node->getLoc(), false); + + if (newNode && (type.isArray() || op == EOpConstructStruct)) + newNode = intermediate.setAggregateOperator(newNode, EOpConstructStruct, type, loc); + + return newNode; + } + + // + // Handle list of arguments. + // + TIntermSequence &sequenceVector = aggrNode->getSequence(); // Stores the information about the parameter to the constructor + // if the structure constructor contains more than one parameter, then construct + // each parameter + + int paramCount = 0; // keeps track of the constructor parameter number being checked + + // for each parameter to the constructor call, check to see if the right type is passed or convert them + // to the right type if possible (and allowed). + // for structure constructors, just check if the right type is passed, no conversion is allowed. + for (TIntermSequence::iterator p = sequenceVector.begin(); + p != sequenceVector.end(); p++, paramCount++) { + if (type.isArray()) + newNode = constructAggregate(*p, elementType, paramCount+1, node->getLoc()); + else if (op == EOpConstructStruct) + newNode = constructAggregate(*p, *(memberTypes[paramCount]).type, paramCount+1, node->getLoc()); + else + newNode = constructBuiltIn(type, op, (*p)->getAsTyped(), node->getLoc(), true); + + if (newNode) + *p = newNode; + else + return nullptr; + } + + return intermediate.setAggregateOperator(aggrNode, op, type, loc); +} + +// Function for constructor implementation. Calls addUnaryMath with appropriate EOp value +// for the parameter to the constructor (passed to this function). Essentially, it converts +// the parameter types correctly. If a constructor expects an int (like ivec2) and is passed a +// float, then float is converted to int. +// +// Returns nullptr for an error or the constructed node. +// +TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, TIntermTyped* node, const TSourceLoc& loc, + bool subset) +{ + // If we are changing a matrix in both domain of basic type and to a non matrix, + // do the shape change first (by default, below, basic type is changed before shape). + // This avoids requesting a matrix of a new type that is going to be discarded anyway. + // TODO: This could be generalized to more type combinations, but that would require + // more extensive testing and full algorithm rework. For now, the need to do two changes makes + // the recursive call work, and avoids the most egregious case of creating integer matrices. + if (node->getType().isMatrix() && (type.isScalar() || type.isVector()) && + type.isFloatingDomain() != node->getType().isFloatingDomain()) { + TType transitionType(node->getBasicType(), glslang::EvqTemporary, type.getVectorSize(), 0, 0, node->isVector()); + TOperator transitionOp = intermediate.mapTypeToConstructorOp(transitionType); + node = constructBuiltIn(transitionType, transitionOp, node, loc, false); + } + + TIntermTyped* newNode; + TOperator basicOp; + + // + // First, convert types as needed. + // + switch (op) { + case EOpConstructVec2: + case EOpConstructVec3: + case EOpConstructVec4: + case EOpConstructMat2x2: + case EOpConstructMat2x3: + case EOpConstructMat2x4: + case EOpConstructMat3x2: + case EOpConstructMat3x3: + case EOpConstructMat3x4: + case EOpConstructMat4x2: + case EOpConstructMat4x3: + case EOpConstructMat4x4: + case EOpConstructFloat: + basicOp = EOpConstructFloat; + break; + + case EOpConstructIVec2: + case EOpConstructIVec3: + case EOpConstructIVec4: + case EOpConstructInt: + basicOp = EOpConstructInt; + break; + + case EOpConstructUVec2: + if (node->getType().getBasicType() == EbtReference) { + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference_uvec2, "reference conversion to uvec2"); + TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvPtrToUvec2, true, node, + type); + return newNode; + } + case EOpConstructUVec3: + case EOpConstructUVec4: + case EOpConstructUint: + basicOp = EOpConstructUint; + break; + + case EOpConstructBVec2: + case EOpConstructBVec3: + case EOpConstructBVec4: + case EOpConstructBool: + basicOp = EOpConstructBool; + break; + +#ifndef GLSLANG_WEB + + case EOpConstructDVec2: + case EOpConstructDVec3: + case EOpConstructDVec4: + case EOpConstructDMat2x2: + case EOpConstructDMat2x3: + case EOpConstructDMat2x4: + case EOpConstructDMat3x2: + case EOpConstructDMat3x3: + case EOpConstructDMat3x4: + case EOpConstructDMat4x2: + case EOpConstructDMat4x3: + case EOpConstructDMat4x4: + case EOpConstructDouble: + basicOp = EOpConstructDouble; + break; + + case EOpConstructF16Vec2: + case EOpConstructF16Vec3: + case EOpConstructF16Vec4: + case EOpConstructF16Mat2x2: + case EOpConstructF16Mat2x3: + case EOpConstructF16Mat2x4: + case EOpConstructF16Mat3x2: + case EOpConstructF16Mat3x3: + case EOpConstructF16Mat3x4: + case EOpConstructF16Mat4x2: + case EOpConstructF16Mat4x3: + case EOpConstructF16Mat4x4: + case EOpConstructFloat16: + basicOp = EOpConstructFloat16; + // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // so construct a 32-bit type and convert + if (!intermediate.getArithemeticFloat16Enabled()) { + TType tempType(EbtFloat, EvqTemporary, type.getVectorSize()); + newNode = node; + if (tempType != newNode->getType()) { + TOperator aggregateOp; + if (op == EOpConstructFloat16) + aggregateOp = EOpConstructFloat; + else + aggregateOp = (TOperator)(EOpConstructVec2 + op - EOpConstructF16Vec2); + newNode = intermediate.setAggregateOperator(newNode, aggregateOp, tempType, node->getLoc()); + } + newNode = intermediate.addConversion(EbtFloat16, newNode); + return newNode; + } + break; + + case EOpConstructI8Vec2: + case EOpConstructI8Vec3: + case EOpConstructI8Vec4: + case EOpConstructInt8: + basicOp = EOpConstructInt8; + // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // so construct a 32-bit type and convert + if (!intermediate.getArithemeticInt8Enabled()) { + TType tempType(EbtInt, EvqTemporary, type.getVectorSize()); + newNode = node; + if (tempType != newNode->getType()) { + TOperator aggregateOp; + if (op == EOpConstructInt8) + aggregateOp = EOpConstructInt; + else + aggregateOp = (TOperator)(EOpConstructIVec2 + op - EOpConstructI8Vec2); + newNode = intermediate.setAggregateOperator(newNode, aggregateOp, tempType, node->getLoc()); + } + newNode = intermediate.addConversion(EbtInt8, newNode); + return newNode; + } + break; + + case EOpConstructU8Vec2: + case EOpConstructU8Vec3: + case EOpConstructU8Vec4: + case EOpConstructUint8: + basicOp = EOpConstructUint8; + // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // so construct a 32-bit type and convert + if (!intermediate.getArithemeticInt8Enabled()) { + TType tempType(EbtUint, EvqTemporary, type.getVectorSize()); + newNode = node; + if (tempType != newNode->getType()) { + TOperator aggregateOp; + if (op == EOpConstructUint8) + aggregateOp = EOpConstructUint; + else + aggregateOp = (TOperator)(EOpConstructUVec2 + op - EOpConstructU8Vec2); + newNode = intermediate.setAggregateOperator(newNode, aggregateOp, tempType, node->getLoc()); + } + newNode = intermediate.addConversion(EbtUint8, newNode); + return newNode; + } + break; + + case EOpConstructI16Vec2: + case EOpConstructI16Vec3: + case EOpConstructI16Vec4: + case EOpConstructInt16: + basicOp = EOpConstructInt16; + // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // so construct a 32-bit type and convert + if (!intermediate.getArithemeticInt16Enabled()) { + TType tempType(EbtInt, EvqTemporary, type.getVectorSize()); + newNode = node; + if (tempType != newNode->getType()) { + TOperator aggregateOp; + if (op == EOpConstructInt16) + aggregateOp = EOpConstructInt; + else + aggregateOp = (TOperator)(EOpConstructIVec2 + op - EOpConstructI16Vec2); + newNode = intermediate.setAggregateOperator(newNode, aggregateOp, tempType, node->getLoc()); + } + newNode = intermediate.addConversion(EbtInt16, newNode); + return newNode; + } + break; + + case EOpConstructU16Vec2: + case EOpConstructU16Vec3: + case EOpConstructU16Vec4: + case EOpConstructUint16: + basicOp = EOpConstructUint16; + // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // so construct a 32-bit type and convert + if (!intermediate.getArithemeticInt16Enabled()) { + TType tempType(EbtUint, EvqTemporary, type.getVectorSize()); + newNode = node; + if (tempType != newNode->getType()) { + TOperator aggregateOp; + if (op == EOpConstructUint16) + aggregateOp = EOpConstructUint; + else + aggregateOp = (TOperator)(EOpConstructUVec2 + op - EOpConstructU16Vec2); + newNode = intermediate.setAggregateOperator(newNode, aggregateOp, tempType, node->getLoc()); + } + newNode = intermediate.addConversion(EbtUint16, newNode); + return newNode; + } + break; + + case EOpConstructI64Vec2: + case EOpConstructI64Vec3: + case EOpConstructI64Vec4: + case EOpConstructInt64: + basicOp = EOpConstructInt64; + break; + + case EOpConstructUint64: + if (type.isScalar() && node->getType().isReference()) { + TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvPtrToUint64, true, node, type); + return newNode; + } + // fall through + case EOpConstructU64Vec2: + case EOpConstructU64Vec3: + case EOpConstructU64Vec4: + basicOp = EOpConstructUint64; + break; + + case EOpConstructNonuniform: + // Make a nonuniform copy of node + newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpCopyObject, true, node, type); + return newNode; + + case EOpConstructReference: + // construct reference from reference + if (node->getType().isReference()) { + newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConstructReference, true, node, type); + return newNode; + // construct reference from uint64 + } else if (node->getType().isScalar() && node->getType().getBasicType() == EbtUint64) { + TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvUint64ToPtr, true, node, + type); + return newNode; + // construct reference from uvec2 + } else if (node->getType().isVector() && node->getType().getBasicType() == EbtUint && + node->getVectorSize() == 2) { + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference_uvec2, "uvec2 conversion to reference"); + TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvUvec2ToPtr, true, node, + type); + return newNode; + } else { + return nullptr; + } + + case EOpConstructCooperativeMatrix: + if (!node->getType().isCoopMat()) { + if (type.getBasicType() != node->getType().getBasicType()) { + node = intermediate.addConversion(type.getBasicType(), node); + if (node == nullptr) + return nullptr; + } + node = intermediate.setAggregateOperator(node, EOpConstructCooperativeMatrix, type, node->getLoc()); + } else { + TOperator op = EOpNull; + switch (type.getBasicType()) { + default: + assert(0); + break; + case EbtInt: + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToInt; break; + case EbtFloat16: op = EOpConvFloat16ToInt; break; + case EbtUint8: op = EOpConvUint8ToInt; break; + case EbtInt8: op = EOpConvInt8ToInt; break; + case EbtUint: op = EOpConvUintToInt; break; + default: assert(0); + } + break; + case EbtUint: + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToUint; break; + case EbtFloat16: op = EOpConvFloat16ToUint; break; + case EbtUint8: op = EOpConvUint8ToUint; break; + case EbtInt8: op = EOpConvInt8ToUint; break; + case EbtInt: op = EOpConvIntToUint; break; + case EbtUint: op = EOpConvUintToInt8; break; + default: assert(0); + } + break; + case EbtInt8: + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToInt8; break; + case EbtFloat16: op = EOpConvFloat16ToInt8; break; + case EbtUint8: op = EOpConvUint8ToInt8; break; + case EbtInt: op = EOpConvIntToInt8; break; + case EbtUint: op = EOpConvUintToInt8; break; + default: assert(0); + } + break; + case EbtUint8: + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToUint8; break; + case EbtFloat16: op = EOpConvFloat16ToUint8; break; + case EbtInt8: op = EOpConvInt8ToUint8; break; + case EbtInt: op = EOpConvIntToUint8; break; + case EbtUint: op = EOpConvUintToUint8; break; + default: assert(0); + } + break; + case EbtFloat: + switch (node->getType().getBasicType()) { + case EbtFloat16: op = EOpConvFloat16ToFloat; break; + case EbtInt8: op = EOpConvInt8ToFloat; break; + case EbtUint8: op = EOpConvUint8ToFloat; break; + case EbtInt: op = EOpConvIntToFloat; break; + case EbtUint: op = EOpConvUintToFloat; break; + default: assert(0); + } + break; + case EbtFloat16: + switch (node->getType().getBasicType()) { + case EbtFloat: op = EOpConvFloatToFloat16; break; + case EbtInt8: op = EOpConvInt8ToFloat16; break; + case EbtUint8: op = EOpConvUint8ToFloat16; break; + case EbtInt: op = EOpConvIntToFloat16; break; + case EbtUint: op = EOpConvUintToFloat16; break; + default: assert(0); + } + break; + } + + node = intermediate.addUnaryNode(op, node, node->getLoc(), type); + // If it's a (non-specialization) constant, it must be folded. + if (node->getAsUnaryNode()->getOperand()->getAsConstantUnion()) + return node->getAsUnaryNode()->getOperand()->getAsConstantUnion()->fold(op, node->getType()); + } + + return node; + + case EOpConstructAccStruct: + if ((node->getType().isScalar() && node->getType().getBasicType() == EbtUint64)) { + // construct acceleration structure from uint64 + requireExtensions(loc, 1, &E_GL_EXT_ray_tracing, "uint64_t conversion to acclerationStructureEXT"); + return intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvUint64ToAccStruct, true, node, + type); + } else if (node->getType().isVector() && node->getType().getBasicType() == EbtUint && node->getVectorSize() == 2) { + // construct acceleration structure from uint64 + requireExtensions(loc, 1, &E_GL_EXT_ray_tracing, "uvec2 conversion to accelerationStructureEXT"); + return intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvUvec2ToAccStruct, true, node, + type); + } else + return nullptr; +#endif // GLSLANG_WEB + + default: + error(loc, "unsupported construction", "", ""); + + return nullptr; + } + newNode = intermediate.addUnaryMath(basicOp, node, node->getLoc()); + if (newNode == nullptr) { + error(loc, "can't convert", "constructor", ""); + return nullptr; + } + + // + // Now, if there still isn't an operation to do the construction, and we need one, add one. + // + + // Otherwise, skip out early. + if (subset || (newNode != node && newNode->getType() == type)) + return newNode; + + // setAggregateOperator will insert a new node for the constructor, as needed. + return intermediate.setAggregateOperator(newNode, op, type, loc); +} + +// This function tests for the type of the parameters to the structure or array constructor. Raises +// an error message if the expected type does not match the parameter passed to the constructor. +// +// Returns nullptr for an error or the input node itself if the expected and the given parameter types match. +// +TIntermTyped* TParseContext::constructAggregate(TIntermNode* node, const TType& type, int paramCount, const TSourceLoc& loc) +{ + TIntermTyped* converted = intermediate.addConversion(EOpConstructStruct, type, node->getAsTyped()); + if (! converted || converted->getType() != type) { + error(loc, "", "constructor", "cannot convert parameter %d from '%s' to '%s'", paramCount, + node->getAsTyped()->getType().getCompleteString().c_str(), type.getCompleteString().c_str()); + + return nullptr; + } + + return converted; +} + +// If a memory qualifier is present in 'to', also make it present in 'from'. +void TParseContext::inheritMemoryQualifiers(const TQualifier& from, TQualifier& to) +{ +#ifndef GLSLANG_WEB + if (from.isReadOnly()) + to.readonly = from.readonly; + if (from.isWriteOnly()) + to.writeonly = from.writeonly; + if (from.coherent) + to.coherent = from.coherent; + if (from.volatil) + to.volatil = from.volatil; + if (from.restrict) + to.restrict = from.restrict; +#endif +} + +// +// Do everything needed to add an interface block. +// +void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, const TString* instanceName, + TArraySizes* arraySizes) +{ + blockStageIoCheck(loc, currentBlockQualifier); + blockQualifierCheck(loc, currentBlockQualifier, instanceName != nullptr); + if (arraySizes != nullptr) { + arraySizesCheck(loc, currentBlockQualifier, arraySizes, nullptr, false); + arrayOfArrayVersionCheck(loc, arraySizes); + if (arraySizes->getNumDims() > 1) + requireProfile(loc, ~EEsProfile, "array-of-array of block"); + } + + // Inherit and check member storage qualifiers WRT to the block-level qualifier. + for (unsigned int member = 0; member < typeList.size(); ++member) { + TType& memberType = *typeList[member].type; + TQualifier& memberQualifier = memberType.getQualifier(); + const TSourceLoc& memberLoc = typeList[member].loc; + if (memberQualifier.storage != EvqTemporary && memberQualifier.storage != EvqGlobal && memberQualifier.storage != currentBlockQualifier.storage) + error(memberLoc, "member storage qualifier cannot contradict block storage qualifier", memberType.getFieldName().c_str(), ""); + memberQualifier.storage = currentBlockQualifier.storage; + globalQualifierFixCheck(memberLoc, memberQualifier); +#ifndef GLSLANG_WEB + inheritMemoryQualifiers(currentBlockQualifier, memberQualifier); + if (currentBlockQualifier.perPrimitiveNV) + memberQualifier.perPrimitiveNV = currentBlockQualifier.perPrimitiveNV; + if (currentBlockQualifier.perViewNV) + memberQualifier.perViewNV = currentBlockQualifier.perViewNV; + if (currentBlockQualifier.perTaskNV) + memberQualifier.perTaskNV = currentBlockQualifier.perTaskNV; +#endif + if ((currentBlockQualifier.storage == EvqUniform || currentBlockQualifier.storage == EvqBuffer) && (memberQualifier.isInterpolation() || memberQualifier.isAuxiliary())) + error(memberLoc, "member of uniform or buffer block cannot have an auxiliary or interpolation qualifier", memberType.getFieldName().c_str(), ""); + if (memberType.isArray()) + arraySizesCheck(memberLoc, currentBlockQualifier, memberType.getArraySizes(), nullptr, member == typeList.size() - 1); + if (memberQualifier.hasOffset()) { + if (spvVersion.spv == 0) { + profileRequires(memberLoc, ~EEsProfile, 440, E_GL_ARB_enhanced_layouts, "\"offset\" on block member"); + profileRequires(memberLoc, EEsProfile, 300, E_GL_ARB_enhanced_layouts, "\"offset\" on block member"); + } + } + + if (memberType.containsOpaque()) + error(memberLoc, "member of block cannot be or contain a sampler, image, or atomic_uint type", typeList[member].type->getFieldName().c_str(), ""); + + if (memberType.containsCoopMat()) + error(memberLoc, "member of block cannot be or contain a cooperative matrix type", typeList[member].type->getFieldName().c_str(), ""); + } + + // This might be a redeclaration of a built-in block. If so, redeclareBuiltinBlock() will + // do all the rest. + if (! symbolTable.atBuiltInLevel() && builtInName(*blockName)) { + redeclareBuiltinBlock(loc, typeList, *blockName, instanceName, arraySizes); + return; + } + + // Not a redeclaration of a built-in; check that all names are user names. + reservedErrorCheck(loc, *blockName); + if (instanceName) + reservedErrorCheck(loc, *instanceName); + for (unsigned int member = 0; member < typeList.size(); ++member) + reservedErrorCheck(typeList[member].loc, typeList[member].type->getFieldName()); + + // Make default block qualification, and adjust the member qualifications + + TQualifier defaultQualification; + switch (currentBlockQualifier.storage) { + case EvqUniform: defaultQualification = globalUniformDefaults; break; + case EvqBuffer: defaultQualification = globalBufferDefaults; break; + case EvqVaryingIn: defaultQualification = globalInputDefaults; break; + case EvqVaryingOut: defaultQualification = globalOutputDefaults; break; + default: defaultQualification.clear(); break; + } + + // Special case for "push_constant uniform", which has a default of std430, + // contrary to normal uniform defaults, and can't have a default tracked for it. + if ((currentBlockQualifier.isPushConstant() && !currentBlockQualifier.hasPacking()) || + (currentBlockQualifier.isShaderRecord() && !currentBlockQualifier.hasPacking())) + currentBlockQualifier.layoutPacking = ElpStd430; + + // Special case for "taskNV in/out", which has a default of std430, + if (currentBlockQualifier.isTaskMemory() && !currentBlockQualifier.hasPacking()) + currentBlockQualifier.layoutPacking = ElpStd430; + + // fix and check for member layout qualifiers + + mergeObjectLayoutQualifiers(defaultQualification, currentBlockQualifier, true); + + // "The align qualifier can only be used on blocks or block members, and only for blocks declared with std140 or std430 layouts." + if (currentBlockQualifier.hasAlign()) { + if (defaultQualification.layoutPacking != ElpStd140 && + defaultQualification.layoutPacking != ElpStd430 && + defaultQualification.layoutPacking != ElpScalar) { + error(loc, "can only be used with std140, std430, or scalar layout packing", "align", ""); + defaultQualification.layoutAlign = -1; + } + } + + bool memberWithLocation = false; + bool memberWithoutLocation = false; + bool memberWithPerViewQualifier = false; + for (unsigned int member = 0; member < typeList.size(); ++member) { + TQualifier& memberQualifier = typeList[member].type->getQualifier(); + const TSourceLoc& memberLoc = typeList[member].loc; +#ifndef GLSLANG_WEB + if (memberQualifier.hasStream()) { + if (defaultQualification.layoutStream != memberQualifier.layoutStream) + error(memberLoc, "member cannot contradict block", "stream", ""); + } + + // "This includes a block's inheritance of the + // current global default buffer, a block member's inheritance of the block's + // buffer, and the requirement that any *xfb_buffer* declared on a block + // member must match the buffer inherited from the block." + if (memberQualifier.hasXfbBuffer()) { + if (defaultQualification.layoutXfbBuffer != memberQualifier.layoutXfbBuffer) + error(memberLoc, "member cannot contradict block (or what block inherited from global)", "xfb_buffer", ""); + } +#endif + + if (memberQualifier.hasPacking()) + error(memberLoc, "member of block cannot have a packing layout qualifier", typeList[member].type->getFieldName().c_str(), ""); + if (memberQualifier.hasLocation()) { + const char* feature = "location on block member"; + switch (currentBlockQualifier.storage) { +#ifndef GLSLANG_WEB + case EvqVaryingIn: + case EvqVaryingOut: + requireProfile(memberLoc, ECoreProfile | ECompatibilityProfile | EEsProfile, feature); + profileRequires(memberLoc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, feature); + profileRequires(memberLoc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, feature); + memberWithLocation = true; + break; +#endif + default: + error(memberLoc, "can only use in an in/out block", feature, ""); + break; + } + } else + memberWithoutLocation = true; + + // "The offset qualifier can only be used on block members of blocks declared with std140 or std430 layouts." + // "The align qualifier can only be used on blocks or block members, and only for blocks declared with std140 or std430 layouts." + if (memberQualifier.hasAlign() || memberQualifier.hasOffset()) { + if (defaultQualification.layoutPacking != ElpStd140 && + defaultQualification.layoutPacking != ElpStd430 && + defaultQualification.layoutPacking != ElpScalar) + error(memberLoc, "can only be used with std140, std430, or scalar layout packing", "offset/align", ""); + } + + if (memberQualifier.isPerView()) { + memberWithPerViewQualifier = true; + } + + TQualifier newMemberQualification = defaultQualification; + mergeQualifiers(memberLoc, newMemberQualification, memberQualifier, false); + memberQualifier = newMemberQualification; + } + + layoutMemberLocationArrayCheck(loc, memberWithLocation, arraySizes); + +#ifndef GLSLANG_WEB + // Ensure that the block has an XfbBuffer assigned. This is needed + // because if the block has a XfbOffset assigned, then it is + // assumed that it has implicitly assigned the current global + // XfbBuffer, and because it's members need to be assigned a + // XfbOffset if they lack it. + if (currentBlockQualifier.storage == EvqVaryingOut && globalOutputDefaults.hasXfbBuffer()) { + if (!currentBlockQualifier.hasXfbBuffer() && currentBlockQualifier.hasXfbOffset()) + currentBlockQualifier.layoutXfbBuffer = globalOutputDefaults.layoutXfbBuffer; + } +#endif + + // Process the members + fixBlockLocations(loc, currentBlockQualifier, typeList, memberWithLocation, memberWithoutLocation); + fixXfbOffsets(currentBlockQualifier, typeList); + fixBlockUniformOffsets(currentBlockQualifier, typeList); + fixBlockUniformLayoutMatrix(currentBlockQualifier, &typeList, nullptr); + fixBlockUniformLayoutPacking(currentBlockQualifier, &typeList, nullptr); + for (unsigned int member = 0; member < typeList.size(); ++member) + layoutTypeCheck(typeList[member].loc, *typeList[member].type); + +#ifndef GLSLANG_WEB + if (memberWithPerViewQualifier) { + for (unsigned int member = 0; member < typeList.size(); ++member) { + checkAndResizeMeshViewDim(typeList[member].loc, *typeList[member].type, /*isBlockMember*/ true); + } + } +#endif + + // reverse merge, so that currentBlockQualifier now has all layout information + // (can't use defaultQualification directly, it's missing other non-layout-default-class qualifiers) + mergeObjectLayoutQualifiers(currentBlockQualifier, defaultQualification, true); + + // + // Build and add the interface block as a new type named 'blockName' + // + + TType blockType(&typeList, *blockName, currentBlockQualifier); + if (arraySizes != nullptr) + blockType.transferArraySizes(arraySizes); + +#ifndef GLSLANG_WEB + if (arraySizes == nullptr) + ioArrayCheck(loc, blockType, instanceName ? *instanceName : *blockName); + if (currentBlockQualifier.hasBufferReference()) { + + if (currentBlockQualifier.storage != EvqBuffer) + error(loc, "can only be used with buffer", "buffer_reference", ""); + + // Create the block reference type. If it was forward-declared, detect that + // as a referent struct type with no members. Replace the referent type with + // blockType. + TType blockNameType(EbtReference, blockType, *blockName); + TVariable* blockNameVar = new TVariable(blockName, blockNameType, true); + if (! symbolTable.insert(*blockNameVar)) { + TSymbol* existingName = symbolTable.find(*blockName); + if (existingName->getType().isReference() && + existingName->getType().getReferentType()->getStruct() && + existingName->getType().getReferentType()->getStruct()->size() == 0 && + existingName->getType().getQualifier().storage == blockType.getQualifier().storage) { + existingName->getType().getReferentType()->deepCopy(blockType); + } else { + error(loc, "block name cannot be redefined", blockName->c_str(), ""); + } + } + if (!instanceName) { + return; + } + } else +#endif + { + // + // Don't make a user-defined type out of block name; that will cause an error + // if the same block name gets reused in a different interface. + // + // "Block names have no other use within a shader + // beyond interface matching; it is a compile-time error to use a block name at global scope for anything + // other than as a block name (e.g., use of a block name for a global variable name or function name is + // currently reserved)." + // + // Use the symbol table to prevent normal reuse of the block's name, as a variable entry, + // whose type is EbtBlock, but without all the structure; that will come from the type + // the instances point to. + // + TType blockNameType(EbtBlock, blockType.getQualifier().storage); + TVariable* blockNameVar = new TVariable(blockName, blockNameType); + if (! symbolTable.insert(*blockNameVar)) { + TSymbol* existingName = symbolTable.find(*blockName); + if (existingName->getType().getBasicType() == EbtBlock) { + if (existingName->getType().getQualifier().storage == blockType.getQualifier().storage) { + error(loc, "Cannot reuse block name within the same interface:", blockName->c_str(), blockType.getStorageQualifierString()); + return; + } + } else { + error(loc, "block name cannot redefine a non-block name", blockName->c_str(), ""); + return; + } + } + } + + // Add the variable, as anonymous or named instanceName. + // Make an anonymous variable if no name was provided. + if (! instanceName) + instanceName = NewPoolTString(""); + + TVariable& variable = *new TVariable(instanceName, blockType); + if (! symbolTable.insert(variable)) { + if (*instanceName == "") + error(loc, "nameless block contains a member that already has a name at global scope", blockName->c_str(), ""); + else + error(loc, "block instance name redefinition", variable.getName().c_str(), ""); + + return; + } + + // Check for general layout qualifier errors + layoutObjectCheck(loc, variable); + +#ifndef GLSLANG_WEB + // fix up + if (isIoResizeArray(blockType)) { + ioArraySymbolResizeList.push_back(&variable); + checkIoArraysConsistency(loc, true); + } else + fixIoArraySize(loc, variable.getWritableType()); +#endif + + // Save it in the AST for linker use. + trackLinkage(variable); +} + +// Do all block-declaration checking regarding the combination of in/out/uniform/buffer +// with a particular stage. +void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& qualifier) +{ + const char *extsrt[2] = { E_GL_NV_ray_tracing, E_GL_EXT_ray_tracing }; + switch (qualifier.storage) { + case EvqUniform: + profileRequires(loc, EEsProfile, 300, nullptr, "uniform block"); + profileRequires(loc, ENoProfile, 140, E_GL_ARB_uniform_buffer_object, "uniform block"); + if (currentBlockQualifier.layoutPacking == ElpStd430 && ! currentBlockQualifier.isPushConstant()) + requireExtensions(loc, 1, &E_GL_EXT_scalar_block_layout, "std430 requires the buffer storage qualifier"); + break; + case EvqBuffer: + requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, "buffer block"); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_shader_storage_buffer_object, "buffer block"); + profileRequires(loc, EEsProfile, 310, nullptr, "buffer block"); + break; + case EvqVaryingIn: + profileRequires(loc, ~EEsProfile, 150, E_GL_ARB_separate_shader_objects, "input block"); + // It is a compile-time error to have an input block in a vertex shader or an output block in a fragment shader + // "Compute shaders do not permit user-defined input variables..." + requireStage(loc, (EShLanguageMask)(EShLangTessControlMask|EShLangTessEvaluationMask|EShLangGeometryMask| + EShLangFragmentMask|EShLangMeshNVMask), "input block"); + if (language == EShLangFragment) { + profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "fragment input block"); + } else if (language == EShLangMeshNV && ! qualifier.isTaskMemory()) { + error(loc, "input blocks cannot be used in a mesh shader", "out", ""); + } + break; + case EvqVaryingOut: + profileRequires(loc, ~EEsProfile, 150, E_GL_ARB_separate_shader_objects, "output block"); + requireStage(loc, (EShLanguageMask)(EShLangVertexMask|EShLangTessControlMask|EShLangTessEvaluationMask| + EShLangGeometryMask|EShLangMeshNVMask|EShLangTaskNVMask), "output block"); + // ES 310 can have a block before shader_io is turned on, so skip this test for built-ins + if (language == EShLangVertex && ! parsingBuiltins) { + profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "vertex output block"); + } else if (language == EShLangMeshNV && qualifier.isTaskMemory()) { + error(loc, "can only use on input blocks in mesh shader", "taskNV", ""); + } else if (language == EShLangTaskNV && ! qualifier.isTaskMemory()) { + error(loc, "output blocks cannot be used in a task shader", "out", ""); + } + break; +#ifndef GLSLANG_WEB + case EvqPayload: + profileRequires(loc, ~EEsProfile, 460, 2, extsrt, "rayPayloadNV block"); + requireStage(loc, (EShLanguageMask)(EShLangRayGenMask | EShLangAnyHitMask | EShLangClosestHitMask | EShLangMissMask), + "rayPayloadNV block"); + break; + case EvqPayloadIn: + profileRequires(loc, ~EEsProfile, 460, 2, extsrt, "rayPayloadInNV block"); + requireStage(loc, (EShLanguageMask)(EShLangAnyHitMask | EShLangClosestHitMask | EShLangMissMask), + "rayPayloadInNV block"); + break; + case EvqHitAttr: + profileRequires(loc, ~EEsProfile, 460, 2, extsrt, "hitAttributeNV block"); + requireStage(loc, (EShLanguageMask)(EShLangIntersectMask | EShLangAnyHitMask | EShLangClosestHitMask), "hitAttributeNV block"); + break; + case EvqCallableData: + profileRequires(loc, ~EEsProfile, 460, 2, extsrt, "callableDataNV block"); + requireStage(loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), + "callableDataNV block"); + break; + case EvqCallableDataIn: + profileRequires(loc, ~EEsProfile, 460, 2, extsrt, "callableDataInNV block"); + requireStage(loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV block"); + break; +#endif + default: + error(loc, "only uniform, buffer, in, or out blocks are supported", blockName->c_str(), ""); + break; + } +} + +// Do all block-declaration checking regarding its qualifiers. +void TParseContext::blockQualifierCheck(const TSourceLoc& loc, const TQualifier& qualifier, bool /*instanceName*/) +{ + // The 4.5 specification says: + // + // interface-block : + // layout-qualifieropt interface-qualifier block-name { member-list } instance-nameopt ; + // + // interface-qualifier : + // in + // out + // patch in + // patch out + // uniform + // buffer + // + // Note however memory qualifiers aren't included, yet the specification also says + // + // "...memory qualifiers may also be used in the declaration of shader storage blocks..." + + if (qualifier.isInterpolation()) + error(loc, "cannot use interpolation qualifiers on an interface block", "flat/smooth/noperspective", ""); + if (qualifier.centroid) + error(loc, "cannot use centroid qualifier on an interface block", "centroid", ""); + if (qualifier.isSample()) + error(loc, "cannot use sample qualifier on an interface block", "sample", ""); + if (qualifier.invariant) + error(loc, "cannot use invariant qualifier on an interface block", "invariant", ""); + if (qualifier.isPushConstant()) + intermediate.addPushConstantCount(); + if (qualifier.isShaderRecord()) + intermediate.addShaderRecordCount(); + if (qualifier.isTaskMemory()) + intermediate.addTaskNVCount(); +} + +// +// "For a block, this process applies to the entire block, or until the first member +// is reached that has a location layout qualifier. When a block member is declared with a location +// qualifier, its location comes from that qualifier: The member's location qualifier overrides the block-level +// declaration. Subsequent members are again assigned consecutive locations, based on the newest location, +// until the next member declared with a location qualifier. The values used for locations do not have to be +// declared in increasing order." +void TParseContext::fixBlockLocations(const TSourceLoc& loc, TQualifier& qualifier, TTypeList& typeList, bool memberWithLocation, bool memberWithoutLocation) +{ + // "If a block has no block-level location layout qualifier, it is required that either all or none of its members + // have a location layout qualifier, or a compile-time error results." + if (! qualifier.hasLocation() && memberWithLocation && memberWithoutLocation) + error(loc, "either the block needs a location, or all members need a location, or no members have a location", "location", ""); + else { + if (memberWithLocation) { + // remove any block-level location and make it per *every* member + int nextLocation = 0; // by the rule above, initial value is not relevant + if (qualifier.hasAnyLocation()) { + nextLocation = qualifier.layoutLocation; + qualifier.layoutLocation = TQualifier::layoutLocationEnd; + if (qualifier.hasComponent()) { + // "It is a compile-time error to apply the *component* qualifier to a ... block" + error(loc, "cannot apply to a block", "component", ""); + } + if (qualifier.hasIndex()) { + error(loc, "cannot apply to a block", "index", ""); + } + } + for (unsigned int member = 0; member < typeList.size(); ++member) { + TQualifier& memberQualifier = typeList[member].type->getQualifier(); + const TSourceLoc& memberLoc = typeList[member].loc; + if (! memberQualifier.hasLocation()) { + if (nextLocation >= (int)TQualifier::layoutLocationEnd) + error(memberLoc, "location is too large", "location", ""); + memberQualifier.layoutLocation = nextLocation; + memberQualifier.layoutComponent = TQualifier::layoutComponentEnd; + } + nextLocation = memberQualifier.layoutLocation + intermediate.computeTypeLocationSize( + *typeList[member].type, language); + } + } + } +} + +void TParseContext::fixXfbOffsets(TQualifier& qualifier, TTypeList& typeList) +{ +#ifndef GLSLANG_WEB + // "If a block is qualified with xfb_offset, all its + // members are assigned transform feedback buffer offsets. If a block is not qualified with xfb_offset, any + // members of that block not qualified with an xfb_offset will not be assigned transform feedback buffer + // offsets." + + if (! qualifier.hasXfbBuffer() || ! qualifier.hasXfbOffset()) + return; + + int nextOffset = qualifier.layoutXfbOffset; + for (unsigned int member = 0; member < typeList.size(); ++member) { + TQualifier& memberQualifier = typeList[member].type->getQualifier(); + bool contains64BitType = false; + bool contains32BitType = false; + bool contains16BitType = false; + int memberSize = intermediate.computeTypeXfbSize(*typeList[member].type, contains64BitType, contains32BitType, contains16BitType); + // see if we need to auto-assign an offset to this member + if (! memberQualifier.hasXfbOffset()) { + // "if applied to an aggregate containing a double or 64-bit integer, the offset must also be a multiple of 8" + if (contains64BitType) + RoundToPow2(nextOffset, 8); + else if (contains32BitType) + RoundToPow2(nextOffset, 4); + else if (contains16BitType) + RoundToPow2(nextOffset, 2); + memberQualifier.layoutXfbOffset = nextOffset; + } else + nextOffset = memberQualifier.layoutXfbOffset; + nextOffset += memberSize; + } + + // The above gave all block members an offset, so we can take it off the block now, + // which will avoid double counting the offset usage. + qualifier.layoutXfbOffset = TQualifier::layoutXfbOffsetEnd; +#endif +} + +// Calculate and save the offset of each block member, using the recursively +// defined block offset rules and the user-provided offset and align. +// +// Also, compute and save the total size of the block. For the block's size, arrayness +// is not taken into account, as each element is backed by a separate buffer. +// +void TParseContext::fixBlockUniformOffsets(TQualifier& qualifier, TTypeList& typeList) +{ + if (!qualifier.isUniformOrBuffer() && !qualifier.isTaskMemory()) + return; + if (qualifier.layoutPacking != ElpStd140 && qualifier.layoutPacking != ElpStd430 && qualifier.layoutPacking != ElpScalar) + return; + + int offset = 0; + int memberSize; + for (unsigned int member = 0; member < typeList.size(); ++member) { + TQualifier& memberQualifier = typeList[member].type->getQualifier(); + const TSourceLoc& memberLoc = typeList[member].loc; + + // "When align is applied to an array, it effects only the start of the array, not the array's internal stride." + + // modify just the children's view of matrix layout, if there is one for this member + TLayoutMatrix subMatrixLayout = typeList[member].type->getQualifier().layoutMatrix; + int dummyStride; + int memberAlignment = intermediate.getMemberAlignment(*typeList[member].type, memberSize, dummyStride, qualifier.layoutPacking, + subMatrixLayout != ElmNone ? subMatrixLayout == ElmRowMajor : qualifier.layoutMatrix == ElmRowMajor); + if (memberQualifier.hasOffset()) { + // "The specified offset must be a multiple + // of the base alignment of the type of the block member it qualifies, or a compile-time error results." + if (! IsMultipleOfPow2(memberQualifier.layoutOffset, memberAlignment)) + error(memberLoc, "must be a multiple of the member's alignment", "offset", ""); + + // GLSL: "It is a compile-time error to specify an offset that is smaller than the offset of the previous + // member in the block or that lies within the previous member of the block" + if (spvVersion.spv == 0) { + if (memberQualifier.layoutOffset < offset) + error(memberLoc, "cannot lie in previous members", "offset", ""); + + // "The offset qualifier forces the qualified member to start at or after the specified + // integral-constant expression, which will be its byte offset from the beginning of the buffer. + // "The actual offset of a member is computed as + // follows: If offset was declared, start with that offset, otherwise start with the next available offset." + offset = std::max(offset, memberQualifier.layoutOffset); + } else { + // TODO: Vulkan: "It is a compile-time error to have any offset, explicit or assigned, + // that lies within another member of the block." + + offset = memberQualifier.layoutOffset; + } + } + + // "The actual alignment of a member will be the greater of the specified align alignment and the standard + // (e.g., std140) base alignment for the member's type." + if (memberQualifier.hasAlign()) + memberAlignment = std::max(memberAlignment, memberQualifier.layoutAlign); + + // "If the resulting offset is not a multiple of the actual alignment, + // increase it to the first offset that is a multiple of + // the actual alignment." + RoundToPow2(offset, memberAlignment); + typeList[member].type->getQualifier().layoutOffset = offset; + offset += memberSize; + } +} + +// +// Spread LayoutMatrix to uniform block member, if a uniform block member is a struct, +// we need spread LayoutMatrix to this struct member too. and keep this rule for recursive. +// +void TParseContext::fixBlockUniformLayoutMatrix(TQualifier& qualifier, TTypeList* originTypeList, + TTypeList* tmpTypeList) +{ + assert(tmpTypeList == nullptr || originTypeList->size() == tmpTypeList->size()); + for (unsigned int member = 0; member < originTypeList->size(); ++member) { + if (qualifier.layoutPacking != ElpNone) { + if (tmpTypeList == nullptr) { + if (((*originTypeList)[member].type->isMatrix() || + (*originTypeList)[member].type->getBasicType() == EbtStruct) && + (*originTypeList)[member].type->getQualifier().layoutMatrix == ElmNone) { + (*originTypeList)[member].type->getQualifier().layoutMatrix = qualifier.layoutMatrix; + } + } else { + if (((*tmpTypeList)[member].type->isMatrix() || + (*tmpTypeList)[member].type->getBasicType() == EbtStruct) && + (*tmpTypeList)[member].type->getQualifier().layoutMatrix == ElmNone) { + (*tmpTypeList)[member].type->getQualifier().layoutMatrix = qualifier.layoutMatrix; + } + } + } + + if ((*originTypeList)[member].type->getBasicType() == EbtStruct) { + TQualifier* memberQualifier = nullptr; + // block member can be declare a matrix style, so it should be update to the member's style + if ((*originTypeList)[member].type->getQualifier().layoutMatrix == ElmNone) { + memberQualifier = &qualifier; + } else { + memberQualifier = &((*originTypeList)[member].type->getQualifier()); + } + + const TType* tmpType = tmpTypeList == nullptr ? + (*originTypeList)[member].type->clone() : (*tmpTypeList)[member].type; + + fixBlockUniformLayoutMatrix(*memberQualifier, (*originTypeList)[member].type->getWritableStruct(), + tmpType->getWritableStruct()); + + const TTypeList* structure = recordStructCopy(matrixFixRecord, (*originTypeList)[member].type, tmpType); + + if (tmpTypeList == nullptr) { + (*originTypeList)[member].type->setStruct(const_cast(structure)); + } + if (tmpTypeList != nullptr) { + (*tmpTypeList)[member].type->setStruct(const_cast(structure)); + } + } + } +} + +// +// Spread LayoutPacking to block member, if a block member is a struct, we need spread LayoutPacking to +// this struct member too. and keep this rule for recursive. +// +void TParseContext::fixBlockUniformLayoutPacking(TQualifier& qualifier, TTypeList* originTypeList, + TTypeList* tmpTypeList) +{ + assert(tmpTypeList == nullptr || originTypeList->size() == tmpTypeList->size()); + for (unsigned int member = 0; member < originTypeList->size(); ++member) { + if (qualifier.layoutPacking != ElpNone) { + if (tmpTypeList == nullptr) { + if ((*originTypeList)[member].type->getQualifier().layoutPacking == ElpNone) { + (*originTypeList)[member].type->getQualifier().layoutPacking = qualifier.layoutPacking; + } + } else { + if ((*tmpTypeList)[member].type->getQualifier().layoutPacking == ElpNone) { + (*tmpTypeList)[member].type->getQualifier().layoutPacking = qualifier.layoutPacking; + } + } + } + + if ((*originTypeList)[member].type->getBasicType() == EbtStruct) { + // Deep copy the type in pool. + // Because, struct use in different block may have different layout qualifier. + // We have to new a object to distinguish between them. + const TType* tmpType = tmpTypeList == nullptr ? + (*originTypeList)[member].type->clone() : (*tmpTypeList)[member].type; + + fixBlockUniformLayoutPacking(qualifier, (*originTypeList)[member].type->getWritableStruct(), + tmpType->getWritableStruct()); + + const TTypeList* structure = recordStructCopy(packingFixRecord, (*originTypeList)[member].type, tmpType); + + if (tmpTypeList == nullptr) { + (*originTypeList)[member].type->setStruct(const_cast(structure)); + } + if (tmpTypeList != nullptr) { + (*tmpTypeList)[member].type->setStruct(const_cast(structure)); + } + } + } +} + +// For an identifier that is already declared, add more qualification to it. +void TParseContext::addQualifierToExisting(const TSourceLoc& loc, TQualifier qualifier, const TString& identifier) +{ + TSymbol* symbol = symbolTable.find(identifier); + + // A forward declaration of a block reference looks to the grammar like adding + // a qualifier to an existing symbol. Detect this and create the block reference + // type with an empty type list, which will be filled in later in + // TParseContext::declareBlock. + if (!symbol && qualifier.hasBufferReference()) { + TTypeList typeList; + TType blockType(&typeList, identifier, qualifier);; + TType blockNameType(EbtReference, blockType, identifier); + TVariable* blockNameVar = new TVariable(&identifier, blockNameType, true); + if (! symbolTable.insert(*blockNameVar)) { + error(loc, "block name cannot redefine a non-block name", blockName->c_str(), ""); + } + return; + } + + if (! symbol) { + error(loc, "identifier not previously declared", identifier.c_str(), ""); + return; + } + if (symbol->getAsFunction()) { + error(loc, "cannot re-qualify a function name", identifier.c_str(), ""); + return; + } + + if (qualifier.isAuxiliary() || + qualifier.isMemory() || + qualifier.isInterpolation() || + qualifier.hasLayout() || + qualifier.storage != EvqTemporary || + qualifier.precision != EpqNone) { + error(loc, "cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable", identifier.c_str(), ""); + return; + } + + // For read-only built-ins, add a new symbol for holding the modified qualifier. + // This will bring up an entire block, if a block type has to be modified (e.g., gl_Position inside a block) + if (symbol->isReadOnly()) + symbol = symbolTable.copyUp(symbol); + + if (qualifier.invariant) { + if (intermediate.inIoAccessed(identifier)) + error(loc, "cannot change qualification after use", "invariant", ""); + symbol->getWritableType().getQualifier().invariant = true; + invariantCheck(loc, symbol->getType().getQualifier()); + } else if (qualifier.isNoContraction()) { + if (intermediate.inIoAccessed(identifier)) + error(loc, "cannot change qualification after use", "precise", ""); + symbol->getWritableType().getQualifier().setNoContraction(); + } else if (qualifier.specConstant) { + symbol->getWritableType().getQualifier().makeSpecConstant(); + if (qualifier.hasSpecConstantId()) + symbol->getWritableType().getQualifier().layoutSpecConstantId = qualifier.layoutSpecConstantId; + } else + warn(loc, "unknown requalification", "", ""); +} + +void TParseContext::addQualifierToExisting(const TSourceLoc& loc, TQualifier qualifier, TIdentifierList& identifiers) +{ + for (unsigned int i = 0; i < identifiers.size(); ++i) + addQualifierToExisting(loc, qualifier, *identifiers[i]); +} + +// Make sure 'invariant' isn't being applied to a non-allowed object. +void TParseContext::invariantCheck(const TSourceLoc& loc, const TQualifier& qualifier) +{ + if (! qualifier.invariant) + return; + + bool pipeOut = qualifier.isPipeOutput(); + bool pipeIn = qualifier.isPipeInput(); + if ((version >= 300 && isEsProfile()) || (!isEsProfile() && version >= 420)) { + if (! pipeOut) + error(loc, "can only apply to an output", "invariant", ""); + } else { + if ((language == EShLangVertex && pipeIn) || (! pipeOut && ! pipeIn)) + error(loc, "can only apply to an output, or to an input in a non-vertex stage\n", "invariant", ""); + } +} + +// +// Updating default qualifier for the case of a declaration with just a qualifier, +// no type, block, or identifier. +// +void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, const TPublicType& publicType) +{ +#ifndef GLSLANG_WEB + if (publicType.shaderQualifiers.vertices != TQualifier::layoutNotSet) { + assert(language == EShLangTessControl || language == EShLangGeometry || language == EShLangMeshNV); + const char* id = (language == EShLangTessControl) ? "vertices" : "max_vertices"; + + if (publicType.qualifier.storage != EvqVaryingOut) + error(loc, "can only apply to 'out'", id, ""); + if (! intermediate.setVertices(publicType.shaderQualifiers.vertices)) + error(loc, "cannot change previously set layout value", id, ""); + + if (language == EShLangTessControl) + checkIoArraysConsistency(loc); + } + if (publicType.shaderQualifiers.primitives != TQualifier::layoutNotSet) { + assert(language == EShLangMeshNV); + const char* id = "max_primitives"; + + if (publicType.qualifier.storage != EvqVaryingOut) + error(loc, "can only apply to 'out'", id, ""); + if (! intermediate.setPrimitives(publicType.shaderQualifiers.primitives)) + error(loc, "cannot change previously set layout value", id, ""); + } + if (publicType.shaderQualifiers.invocations != TQualifier::layoutNotSet) { + if (publicType.qualifier.storage != EvqVaryingIn) + error(loc, "can only apply to 'in'", "invocations", ""); + if (! intermediate.setInvocations(publicType.shaderQualifiers.invocations)) + error(loc, "cannot change previously set layout value", "invocations", ""); + } + if (publicType.shaderQualifiers.geometry != ElgNone) { + if (publicType.qualifier.storage == EvqVaryingIn) { + switch (publicType.shaderQualifiers.geometry) { + case ElgPoints: + case ElgLines: + case ElgLinesAdjacency: + case ElgTriangles: + case ElgTrianglesAdjacency: + case ElgQuads: + case ElgIsolines: + if (language == EShLangMeshNV) { + error(loc, "cannot apply to input", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); + break; + } + if (intermediate.setInputPrimitive(publicType.shaderQualifiers.geometry)) { + if (language == EShLangGeometry) + checkIoArraysConsistency(loc); + } else + error(loc, "cannot change previously set input primitive", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); + break; + default: + error(loc, "cannot apply to input", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); + } + } else if (publicType.qualifier.storage == EvqVaryingOut) { + switch (publicType.shaderQualifiers.geometry) { + case ElgLines: + case ElgTriangles: + if (language != EShLangMeshNV) { + error(loc, "cannot apply to 'out'", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); + break; + } + // Fall through + case ElgPoints: + case ElgLineStrip: + case ElgTriangleStrip: + if (! intermediate.setOutputPrimitive(publicType.shaderQualifiers.geometry)) + error(loc, "cannot change previously set output primitive", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); + break; + default: + error(loc, "cannot apply to 'out'", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); + } + } else + error(loc, "cannot apply to:", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), GetStorageQualifierString(publicType.qualifier.storage)); + } + if (publicType.shaderQualifiers.spacing != EvsNone) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if (! intermediate.setVertexSpacing(publicType.shaderQualifiers.spacing)) + error(loc, "cannot change previously set vertex spacing", TQualifier::getVertexSpacingString(publicType.shaderQualifiers.spacing), ""); + } else + error(loc, "can only apply to 'in'", TQualifier::getVertexSpacingString(publicType.shaderQualifiers.spacing), ""); + } + if (publicType.shaderQualifiers.order != EvoNone) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if (! intermediate.setVertexOrder(publicType.shaderQualifiers.order)) + error(loc, "cannot change previously set vertex order", TQualifier::getVertexOrderString(publicType.shaderQualifiers.order), ""); + } else + error(loc, "can only apply to 'in'", TQualifier::getVertexOrderString(publicType.shaderQualifiers.order), ""); + } + if (publicType.shaderQualifiers.pointMode) { + if (publicType.qualifier.storage == EvqVaryingIn) + intermediate.setPointMode(); + else + error(loc, "can only apply to 'in'", "point_mode", ""); + } +#endif + for (int i = 0; i < 3; ++i) { + if (publicType.shaderQualifiers.localSizeNotDefault[i]) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if (! intermediate.setLocalSize(i, publicType.shaderQualifiers.localSize[i])) + error(loc, "cannot change previously set size", "local_size", ""); + else { + int max = 0; + if (language == EShLangCompute) { + switch (i) { + case 0: max = resources.maxComputeWorkGroupSizeX; break; + case 1: max = resources.maxComputeWorkGroupSizeY; break; + case 2: max = resources.maxComputeWorkGroupSizeZ; break; + default: break; + } + if (intermediate.getLocalSize(i) > (unsigned int)max) + error(loc, "too large; see gl_MaxComputeWorkGroupSize", "local_size", ""); + } +#ifndef GLSLANG_WEB + else if (language == EShLangMeshNV) { + switch (i) { + case 0: max = resources.maxMeshWorkGroupSizeX_NV; break; + case 1: max = resources.maxMeshWorkGroupSizeY_NV; break; + case 2: max = resources.maxMeshWorkGroupSizeZ_NV; break; + default: break; + } + if (intermediate.getLocalSize(i) > (unsigned int)max) + error(loc, "too large; see gl_MaxMeshWorkGroupSizeNV", "local_size", ""); + } else if (language == EShLangTaskNV) { + switch (i) { + case 0: max = resources.maxTaskWorkGroupSizeX_NV; break; + case 1: max = resources.maxTaskWorkGroupSizeY_NV; break; + case 2: max = resources.maxTaskWorkGroupSizeZ_NV; break; + default: break; + } + if (intermediate.getLocalSize(i) > (unsigned int)max) + error(loc, "too large; see gl_MaxTaskWorkGroupSizeNV", "local_size", ""); + } +#endif + else { + assert(0); + } + + // Fix the existing constant gl_WorkGroupSize with this new information. + TVariable* workGroupSize = getEditableVariable("gl_WorkGroupSize"); + if (workGroupSize != nullptr) + workGroupSize->getWritableConstArray()[i].setUConst(intermediate.getLocalSize(i)); + } + } else + error(loc, "can only apply to 'in'", "local_size", ""); + } + if (publicType.shaderQualifiers.localSizeSpecId[i] != TQualifier::layoutNotSet) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if (! intermediate.setLocalSizeSpecId(i, publicType.shaderQualifiers.localSizeSpecId[i])) + error(loc, "cannot change previously set size", "local_size", ""); + } else + error(loc, "can only apply to 'in'", "local_size id", ""); + // Set the workgroup built-in variable as a specialization constant + TVariable* workGroupSize = getEditableVariable("gl_WorkGroupSize"); + if (workGroupSize != nullptr) + workGroupSize->getWritableType().getQualifier().specConstant = true; + } + } + +#ifndef GLSLANG_WEB + if (publicType.shaderQualifiers.earlyFragmentTests) { + if (publicType.qualifier.storage == EvqVaryingIn) + intermediate.setEarlyFragmentTests(); + else + error(loc, "can only apply to 'in'", "early_fragment_tests", ""); + } + if (publicType.shaderQualifiers.postDepthCoverage) { + if (publicType.qualifier.storage == EvqVaryingIn) + intermediate.setPostDepthCoverage(); + else + error(loc, "can only apply to 'in'", "post_coverage_coverage", ""); + } + if (publicType.shaderQualifiers.hasBlendEquation()) { + if (publicType.qualifier.storage != EvqVaryingOut) + error(loc, "can only apply to 'out'", "blend equation", ""); + } + if (publicType.shaderQualifiers.interlockOrdering) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if (!intermediate.setInterlockOrdering(publicType.shaderQualifiers.interlockOrdering)) + error(loc, "cannot change previously set fragment shader interlock ordering", TQualifier::getInterlockOrderingString(publicType.shaderQualifiers.interlockOrdering), ""); + } + else + error(loc, "can only apply to 'in'", TQualifier::getInterlockOrderingString(publicType.shaderQualifiers.interlockOrdering), ""); + } + + if (publicType.shaderQualifiers.layoutDerivativeGroupQuads && + publicType.shaderQualifiers.layoutDerivativeGroupLinear) { + error(loc, "cannot be both specified", "derivative_group_quadsNV and derivative_group_linearNV", ""); + } + + if (publicType.shaderQualifiers.layoutDerivativeGroupQuads) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if ((intermediate.getLocalSize(0) & 1) || + (intermediate.getLocalSize(1) & 1)) + error(loc, "requires local_size_x and local_size_y to be multiple of two", "derivative_group_quadsNV", ""); + else + intermediate.setLayoutDerivativeMode(LayoutDerivativeGroupQuads); + } + else + error(loc, "can only apply to 'in'", "derivative_group_quadsNV", ""); + } + if (publicType.shaderQualifiers.layoutDerivativeGroupLinear) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if((intermediate.getLocalSize(0) * + intermediate.getLocalSize(1) * + intermediate.getLocalSize(2)) % 4 != 0) + error(loc, "requires total group size to be multiple of four", "derivative_group_linearNV", ""); + else + intermediate.setLayoutDerivativeMode(LayoutDerivativeGroupLinear); + } + else + error(loc, "can only apply to 'in'", "derivative_group_linearNV", ""); + } + // Check mesh out array sizes, once all the necessary out qualifiers are defined. + if ((language == EShLangMeshNV) && + (intermediate.getVertices() != TQualifier::layoutNotSet) && + (intermediate.getPrimitives() != TQualifier::layoutNotSet) && + (intermediate.getOutputPrimitive() != ElgNone)) + { + checkIoArraysConsistency(loc); + } + + if (publicType.shaderQualifiers.layoutPrimitiveCulling) { + if (publicType.qualifier.storage != EvqTemporary) + error(loc, "layout qualifier can not have storage qualifiers", "primitive_culling","", ""); + else { + intermediate.setLayoutPrimitiveCulling(); + } + // Exit early as further checks are not valid + return; + } +#endif + const TQualifier& qualifier = publicType.qualifier; + + if (qualifier.isAuxiliary() || + qualifier.isMemory() || + qualifier.isInterpolation() || + qualifier.precision != EpqNone) + error(loc, "cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)", "qualifier", ""); + + // "The offset qualifier can only be used on block members of blocks..." + // "The align qualifier can only be used on blocks or block members..." + if (qualifier.hasOffset() || + qualifier.hasAlign()) + error(loc, "cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)", "layout qualifier", ""); + + layoutQualifierCheck(loc, qualifier); + + switch (qualifier.storage) { + case EvqUniform: + if (qualifier.hasMatrix()) + globalUniformDefaults.layoutMatrix = qualifier.layoutMatrix; + if (qualifier.hasPacking()) + globalUniformDefaults.layoutPacking = qualifier.layoutPacking; + break; + case EvqBuffer: + if (qualifier.hasMatrix()) + globalBufferDefaults.layoutMatrix = qualifier.layoutMatrix; + if (qualifier.hasPacking()) + globalBufferDefaults.layoutPacking = qualifier.layoutPacking; + break; + case EvqVaryingIn: + break; + case EvqVaryingOut: +#ifndef GLSLANG_WEB + if (qualifier.hasStream()) + globalOutputDefaults.layoutStream = qualifier.layoutStream; + if (qualifier.hasXfbBuffer()) + globalOutputDefaults.layoutXfbBuffer = qualifier.layoutXfbBuffer; + if (globalOutputDefaults.hasXfbBuffer() && qualifier.hasXfbStride()) { + if (! intermediate.setXfbBufferStride(globalOutputDefaults.layoutXfbBuffer, qualifier.layoutXfbStride)) + error(loc, "all stride settings must match for xfb buffer", "xfb_stride", "%d", qualifier.layoutXfbBuffer); + } +#endif + break; + default: + error(loc, "default qualifier requires 'uniform', 'buffer', 'in', or 'out' storage qualification", "", ""); + return; + } + + if (qualifier.hasBinding()) + error(loc, "cannot declare a default, include a type or full declaration", "binding", ""); + if (qualifier.hasAnyLocation()) + error(loc, "cannot declare a default, use a full declaration", "location/component/index", ""); + if (qualifier.hasXfbOffset()) + error(loc, "cannot declare a default, use a full declaration", "xfb_offset", ""); + if (qualifier.isPushConstant()) + error(loc, "cannot declare a default, can only be used on a block", "push_constant", ""); + if (qualifier.hasBufferReference()) + error(loc, "cannot declare a default, can only be used on a block", "buffer_reference", ""); + if (qualifier.hasSpecConstantId()) + error(loc, "cannot declare a default, can only be used on a scalar", "constant_id", ""); + if (qualifier.isShaderRecord()) + error(loc, "cannot declare a default, can only be used on a block", "shaderRecordNV", ""); +} + +// +// Take the sequence of statements that has been built up since the last case/default, +// put it on the list of top-level nodes for the current (inner-most) switch statement, +// and follow that by the case/default we are on now. (See switch topology comment on +// TIntermSwitch.) +// +void TParseContext::wrapupSwitchSubsequence(TIntermAggregate* statements, TIntermNode* branchNode) +{ + TIntermSequence* switchSequence = switchSequenceStack.back(); + + if (statements) { + if (switchSequence->size() == 0) + error(statements->getLoc(), "cannot have statements before first case/default label", "switch", ""); + statements->setOperator(EOpSequence); + switchSequence->push_back(statements); + } + if (branchNode) { + // check all previous cases for the same label (or both are 'default') + for (unsigned int s = 0; s < switchSequence->size(); ++s) { + TIntermBranch* prevBranch = (*switchSequence)[s]->getAsBranchNode(); + if (prevBranch) { + TIntermTyped* prevExpression = prevBranch->getExpression(); + TIntermTyped* newExpression = branchNode->getAsBranchNode()->getExpression(); + if (prevExpression == nullptr && newExpression == nullptr) + error(branchNode->getLoc(), "duplicate label", "default", ""); + else if (prevExpression != nullptr && + newExpression != nullptr && + prevExpression->getAsConstantUnion() && + newExpression->getAsConstantUnion() && + prevExpression->getAsConstantUnion()->getConstArray()[0].getIConst() == + newExpression->getAsConstantUnion()->getConstArray()[0].getIConst()) + error(branchNode->getLoc(), "duplicated value", "case", ""); + } + } + switchSequence->push_back(branchNode); + } +} + +// +// Turn the top-level node sequence built up of wrapupSwitchSubsequence9) +// into a switch node. +// +TIntermNode* TParseContext::addSwitch(const TSourceLoc& loc, TIntermTyped* expression, TIntermAggregate* lastStatements) +{ + profileRequires(loc, EEsProfile, 300, nullptr, "switch statements"); + profileRequires(loc, ENoProfile, 130, nullptr, "switch statements"); + + wrapupSwitchSubsequence(lastStatements, nullptr); + + if (expression == nullptr || + (expression->getBasicType() != EbtInt && expression->getBasicType() != EbtUint) || + expression->getType().isArray() || expression->getType().isMatrix() || expression->getType().isVector()) + error(loc, "condition must be a scalar integer expression", "switch", ""); + + // If there is nothing to do, drop the switch but still execute the expression + TIntermSequence* switchSequence = switchSequenceStack.back(); + if (switchSequence->size() == 0) + return expression; + + if (lastStatements == nullptr) { + // This was originally an ERRROR, because early versions of the specification said + // "it is an error to have no statement between a label and the end of the switch statement." + // The specifications were updated to remove this (being ill-defined what a "statement" was), + // so, this became a warning. However, 3.0 tests still check for the error. + if (isEsProfile() && version <= 300 && ! relaxedErrors()) + error(loc, "last case/default label not followed by statements", "switch", ""); + else + warn(loc, "last case/default label not followed by statements", "switch", ""); + + // emulate a break for error recovery + lastStatements = intermediate.makeAggregate(intermediate.addBranch(EOpBreak, loc)); + lastStatements->setOperator(EOpSequence); + switchSequence->push_back(lastStatements); + } + + TIntermAggregate* body = new TIntermAggregate(EOpSequence); + body->getSequence() = *switchSequenceStack.back(); + body->setLoc(loc); + + TIntermSwitch* switchNode = new TIntermSwitch(expression, body); + switchNode->setLoc(loc); + + return switchNode; +} + +// +// When a struct used in block, and has it's own layout packing, layout matrix, +// record the origin structure of a struct to map, and Record the structure copy to the copy table, +// +const TTypeList* TParseContext::recordStructCopy(TStructRecord& record, const TType* originType, const TType* tmpType) +{ + size_t memberCount = tmpType->getStruct()->size(); + size_t originHash = 0, tmpHash = 0; + std::hash hasher; + for (size_t i = 0; i < memberCount; i++) { + size_t originMemberHash = hasher(originType->getStruct()->at(i).type->getQualifier().layoutPacking + + originType->getStruct()->at(i).type->getQualifier().layoutMatrix); + size_t tmpMemberHash = hasher(tmpType->getStruct()->at(i).type->getQualifier().layoutPacking + + tmpType->getStruct()->at(i).type->getQualifier().layoutMatrix); + originHash = hasher((originHash ^ originMemberHash) << 1); + tmpHash = hasher((tmpHash ^ tmpMemberHash) << 1); + } + const TTypeList* originStruct = originType->getStruct(); + const TTypeList* tmpStruct = tmpType->getStruct(); + if (originHash != tmpHash) { + auto fixRecords = record.find(originStruct); + if (fixRecords != record.end()) { + auto fixRecord = fixRecords->second.find(tmpHash); + if (fixRecord != fixRecords->second.end()) { + return fixRecord->second; + } else { + record[originStruct][tmpHash] = tmpStruct; + return tmpStruct; + } + } else { + record[originStruct] = std::map(); + record[originStruct][tmpHash] = tmpStruct; + return tmpStruct; + } + } + return originStruct; +} + +} // end namespace glslang + diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.h b/android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.h new file mode 100644 index 00000000..fe2b6fbb --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/ParseHelper.h @@ -0,0 +1,535 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// This header defines a two-level parse-helper hierarchy, derived from +// TParseVersions: +// - TParseContextBase: sharable across multiple parsers +// - TParseContext: GLSL specific helper +// + +#ifndef _PARSER_HELPER_INCLUDED_ +#define _PARSER_HELPER_INCLUDED_ + +#include +#include + +#include "parseVersions.h" +#include "../Include/ShHandle.h" +#include "SymbolTable.h" +#include "localintermediate.h" +#include "Scan.h" +#include "attribute.h" + +namespace glslang { + +struct TPragma { + TPragma(bool o, bool d) : optimize(o), debug(d) { } + bool optimize; + bool debug; + TPragmaTable pragmaTable; +}; + +class TScanContext; +class TPpContext; + +typedef std::set TIdSetType; +typedef std::map> TStructRecord; + +// +// Sharable code (as well as what's in TParseVersions) across +// parse helpers. +// +class TParseContextBase : public TParseVersions { +public: + TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, int version, + EProfile profile, const SpvVersion& spvVersion, EShLanguage language, + TInfoSink& infoSink, bool forwardCompatible, EShMessages messages, + const TString* entryPoint = nullptr) + : TParseVersions(interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), + scopeMangler("::"), + symbolTable(symbolTable), + statementNestingLevel(0), loopNestingLevel(0), structNestingLevel(0), blockNestingLevel(0), controlFlowNestingLevel(0), + currentFunctionType(nullptr), + postEntryPointReturn(false), + contextPragma(true, false), + beginInvocationInterlockCount(0), endInvocationInterlockCount(0), + parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr), + limits(resources.limits), + globalUniformBlock(nullptr), + globalUniformBinding(TQualifier::layoutBindingEnd), + globalUniformSet(TQualifier::layoutSetEnd) + { + if (entryPoint != nullptr) + sourceEntryPointName = *entryPoint; + } + virtual ~TParseContextBase() { } + +#if !defined(GLSLANG_WEB) || defined(GLSLANG_WEB_DEVEL) + virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...); + virtual void C_DECL warn(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...); + virtual void C_DECL ppError(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...); + virtual void C_DECL ppWarn(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...); +#endif + + virtual void setLimits(const TBuiltInResource&) = 0; + + void checkIndex(const TSourceLoc&, const TType&, int& index); + + EShLanguage getLanguage() const { return language; } + void setScanContext(TScanContext* c) { scanContext = c; } + TScanContext* getScanContext() const { return scanContext; } + void setPpContext(TPpContext* c) { ppContext = c; } + TPpContext* getPpContext() const { return ppContext; } + + virtual void setLineCallback(const std::function& func) { lineCallback = func; } + virtual void setExtensionCallback(const std::function& func) { extensionCallback = func; } + virtual void setVersionCallback(const std::function& func) { versionCallback = func; } + virtual void setPragmaCallback(const std::function&)>& func) { pragmaCallback = func; } + virtual void setErrorCallback(const std::function& func) { errorCallback = func; } + + virtual void reservedPpErrorCheck(const TSourceLoc&, const char* name, const char* op) = 0; + virtual bool lineContinuationCheck(const TSourceLoc&, bool endOfComment) = 0; + virtual bool lineDirectiveShouldSetNextLine() const = 0; + virtual void handlePragma(const TSourceLoc&, const TVector&) = 0; + + virtual bool parseShaderStrings(TPpContext&, TInputScanner& input, bool versionWillBeError = false) = 0; + + virtual void notifyVersion(int line, int version, const char* type_string) + { + if (versionCallback) + versionCallback(line, version, type_string); + } + virtual void notifyErrorDirective(int line, const char* error_message) + { + if (errorCallback) + errorCallback(line, error_message); + } + virtual void notifyLineDirective(int curLineNo, int newLineNo, bool hasSource, int sourceNum, const char* sourceName) + { + if (lineCallback) + lineCallback(curLineNo, newLineNo, hasSource, sourceNum, sourceName); + } + virtual void notifyExtensionDirective(int line, const char* extension, const char* behavior) + { + if (extensionCallback) + extensionCallback(line, extension, behavior); + } + +#ifdef ENABLE_HLSL + // Manage the global uniform block (default uniforms in GLSL, $Global in HLSL) + virtual void growGlobalUniformBlock(const TSourceLoc&, TType&, const TString& memberName, TTypeList* typeList = nullptr); +#endif + + // Potentially rename shader entry point function + void renameShaderFunction(TString*& name) const + { + // Replace the entry point name given in the shader with the real entry point name, + // if there is a substitution. + if (name != nullptr && *name == sourceEntryPointName && intermediate.getEntryPointName().size() > 0) + name = NewPoolTString(intermediate.getEntryPointName().c_str()); + } + + virtual bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*); + virtual void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*); + + const char* const scopeMangler; + + // Basic parsing state, easily accessible to the grammar + + TSymbolTable& symbolTable; // symbol table that goes with the current language, version, and profile + int statementNestingLevel; // 0 if outside all flow control or compound statements + int loopNestingLevel; // 0 if outside all loops + int structNestingLevel; // 0 if outside structures + int blockNestingLevel; // 0 if outside blocks + int controlFlowNestingLevel; // 0 if outside all flow control + const TType* currentFunctionType; // the return type of the function that's currently being parsed + bool functionReturnsValue; // true if a non-void function has a return + // if inside a function, true if the function is the entry point and this is after a return statement + bool postEntryPointReturn; + // case, node, case, case, node, ...; ensure only one node between cases; stack of them for nesting + TList switchSequenceStack; + // the statementNestingLevel the current switch statement is at, which must match the level of its case statements + TList switchLevel; + struct TPragma contextPragma; + int beginInvocationInterlockCount; + int endInvocationInterlockCount; + +protected: + TParseContextBase(TParseContextBase&); + TParseContextBase& operator=(TParseContextBase&); + + const bool parsingBuiltins; // true if parsing built-in symbols/functions + TVector linkageSymbols; // will be transferred to 'linkage', after all editing is done, order preserving + TScanContext* scanContext; + TPpContext* ppContext; + TBuiltInResource resources; + TLimits& limits; + TString sourceEntryPointName; + + // These, if set, will be called when a line, pragma ... is preprocessed. + // They will be called with any parameters to the original directive. + std::function lineCallback; + std::function&)> pragmaCallback; + std::function versionCallback; + std::function extensionCallback; + std::function errorCallback; + + // see implementation for detail + const TFunction* selectFunction(const TVector, const TFunction&, + std::function, + std::function, + /* output */ bool& tie); + + virtual void parseSwizzleSelector(const TSourceLoc&, const TString&, int size, + TSwizzleSelectors&); + + // Manage the global uniform block (default uniforms in GLSL, $Global in HLSL) + TVariable* globalUniformBlock; // the actual block, inserted into the symbol table + unsigned int globalUniformBinding; // the block's binding number + unsigned int globalUniformSet; // the block's set number + int firstNewMember; // the index of the first member not yet inserted into the symbol table + // override this to set the language-specific name + virtual const char* getGlobalUniformBlockName() const { return ""; } + virtual void setUniformBlockDefaults(TType&) const { } + virtual void finalizeGlobalUniformBlockLayout(TVariable&) { } + virtual void outputMessage(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, TPrefixType prefix, + va_list args); + virtual void trackLinkage(TSymbol& symbol); + virtual void makeEditable(TSymbol*&); + virtual TVariable* getEditableVariable(const char* name); + virtual void finish(); +}; + +// +// Manage the state for when to respect precision qualifiers and when to warn about +// the defaults being different than might be expected. +// +class TPrecisionManager { +public: + TPrecisionManager() : obey(false), warn(false), explicitIntDefault(false), explicitFloatDefault(false){ } + virtual ~TPrecisionManager() {} + + void respectPrecisionQualifiers() { obey = true; } + bool respectingPrecisionQualifiers() const { return obey; } + bool shouldWarnAboutDefaults() const { return warn; } + void defaultWarningGiven() { warn = false; } + void warnAboutDefaults() { warn = true; } + void explicitIntDefaultSeen() + { + explicitIntDefault = true; + if (explicitFloatDefault) + warn = false; + } + void explicitFloatDefaultSeen() + { + explicitFloatDefault = true; + if (explicitIntDefault) + warn = false; + } + +protected: + bool obey; // respect precision qualifiers + bool warn; // need to give a warning about the defaults + bool explicitIntDefault; // user set the default for int/uint + bool explicitFloatDefault; // user set the default for float +}; + +// +// GLSL-specific parse helper. Should have GLSL in the name, but that's +// too big of a change for comparing branches at the moment, and perhaps +// impacts downstream consumers as well. +// +class TParseContext : public TParseContextBase { +public: + TParseContext(TSymbolTable&, TIntermediate&, bool parsingBuiltins, int version, EProfile, const SpvVersion& spvVersion, EShLanguage, TInfoSink&, + bool forwardCompatible = false, EShMessages messages = EShMsgDefault, + const TString* entryPoint = nullptr); + virtual ~TParseContext(); + + bool obeyPrecisionQualifiers() const { return precisionManager.respectingPrecisionQualifiers(); } + void setPrecisionDefaults(); + + void setLimits(const TBuiltInResource&) override; + bool parseShaderStrings(TPpContext&, TInputScanner& input, bool versionWillBeError = false) override; + void parserError(const char* s); // for bison's yyerror + + void reservedErrorCheck(const TSourceLoc&, const TString&); + void reservedPpErrorCheck(const TSourceLoc&, const char* name, const char* op) override; + bool lineContinuationCheck(const TSourceLoc&, bool endOfComment) override; + bool lineDirectiveShouldSetNextLine() const override; + bool builtInName(const TString&); + + void handlePragma(const TSourceLoc&, const TVector&) override; + TIntermTyped* handleVariable(const TSourceLoc&, TSymbol* symbol, const TString* string); + TIntermTyped* handleBracketDereference(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index); + void handleIndexLimits(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index); + +#ifndef GLSLANG_WEB + void makeEditable(TSymbol*&) override; + void ioArrayCheck(const TSourceLoc&, const TType&, const TString& identifier); +#endif + bool isIoResizeArray(const TType&) const; + void fixIoArraySize(const TSourceLoc&, TType&); + void handleIoResizeArrayAccess(const TSourceLoc&, TIntermTyped* base); + void checkIoArraysConsistency(const TSourceLoc&, bool tailOnly = false); + int getIoArrayImplicitSize(const TQualifier&, TString* featureString = nullptr) const; + void checkIoArrayConsistency(const TSourceLoc&, int requiredSize, const char* feature, TType&, const TString&); + + TIntermTyped* handleBinaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* left, TIntermTyped* right); + TIntermTyped* handleUnaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* childNode); + TIntermTyped* handleDotDereference(const TSourceLoc&, TIntermTyped* base, const TString& field); + TIntermTyped* handleDotSwizzle(const TSourceLoc&, TIntermTyped* base, const TString& field); + void blockMemberExtensionCheck(const TSourceLoc&, const TIntermTyped* base, int member, const TString& memberName); + TFunction* handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype); + TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&); + TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*); + TIntermTyped* handleBuiltInFunctionCall(TSourceLoc, TIntermNode* arguments, const TFunction& function); + void computeBuiltinPrecisions(TIntermTyped&, const TFunction&); + TIntermNode* handleReturnValue(const TSourceLoc&, TIntermTyped*); + void checkLocation(const TSourceLoc&, TOperator); + TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*); + void addInputArgumentConversions(const TFunction&, TIntermNode*&) const; + TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermAggregate&) const; + TIntermTyped* addAssign(const TSourceLoc&, TOperator op, TIntermTyped* left, TIntermTyped* right); + void builtInOpCheck(const TSourceLoc&, const TFunction&, TIntermOperator&); + void nonOpBuiltInCheck(const TSourceLoc&, const TFunction&, TIntermAggregate&); + void userFunctionCallCheck(const TSourceLoc&, TIntermAggregate&); + void samplerConstructorLocationCheck(const TSourceLoc&, const char* token, TIntermNode*); + TFunction* handleConstructorCall(const TSourceLoc&, const TPublicType&); + void handlePrecisionQualifier(const TSourceLoc&, TQualifier&, TPrecisionQualifier); + void checkPrecisionQualifier(const TSourceLoc&, TPrecisionQualifier); + void memorySemanticsCheck(const TSourceLoc&, const TFunction&, const TIntermOperator& callNode); + + void assignError(const TSourceLoc&, const char* op, TString left, TString right); + void unaryOpError(const TSourceLoc&, const char* op, TString operand); + void binaryOpError(const TSourceLoc&, const char* op, TString left, TString right); + void variableCheck(TIntermTyped*& nodePtr); + bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override; + void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override; + void constantValueCheck(TIntermTyped* node, const char* token); + void integerCheck(const TIntermTyped* node, const char* token); + void globalCheck(const TSourceLoc&, const char* token); + bool constructorError(const TSourceLoc&, TIntermNode*, TFunction&, TOperator, TType&); + bool constructorTextureSamplerError(const TSourceLoc&, const TFunction&); + void arraySizeCheck(const TSourceLoc&, TIntermTyped* expr, TArraySize&, const char *sizeType); + bool arrayQualifierError(const TSourceLoc&, const TQualifier&); + bool arrayError(const TSourceLoc&, const TType&); + void arraySizeRequiredCheck(const TSourceLoc&, const TArraySizes&); + void structArrayCheck(const TSourceLoc&, const TType& structure); + void arraySizesCheck(const TSourceLoc&, const TQualifier&, TArraySizes*, const TIntermTyped* initializer, bool lastMember); + void arrayOfArrayVersionCheck(const TSourceLoc&, const TArraySizes*); + bool voidErrorCheck(const TSourceLoc&, const TString&, TBasicType); + void boolCheck(const TSourceLoc&, const TIntermTyped*); + void boolCheck(const TSourceLoc&, const TPublicType&); + void samplerCheck(const TSourceLoc&, const TType&, const TString& identifier, TIntermTyped* initializer); + void atomicUintCheck(const TSourceLoc&, const TType&, const TString& identifier); + void accStructCheck(const TSourceLoc & loc, const TType & type, const TString & identifier); + void transparentOpaqueCheck(const TSourceLoc&, const TType&, const TString& identifier); + void memberQualifierCheck(glslang::TPublicType&); + void globalQualifierFixCheck(const TSourceLoc&, TQualifier&, bool isMemberCheck = false); + void globalQualifierTypeCheck(const TSourceLoc&, const TQualifier&, const TPublicType&); + bool structQualifierErrorCheck(const TSourceLoc&, const TPublicType& pType); + void mergeQualifiers(const TSourceLoc&, TQualifier& dst, const TQualifier& src, bool force); + void setDefaultPrecision(const TSourceLoc&, TPublicType&, TPrecisionQualifier); + int computeSamplerTypeIndex(TSampler&); + TPrecisionQualifier getDefaultPrecision(TPublicType&); + void precisionQualifierCheck(const TSourceLoc&, TBasicType, TQualifier&); + void parameterTypeCheck(const TSourceLoc&, TStorageQualifier qualifier, const TType& type); + bool containsFieldWithBasicType(const TType& type ,TBasicType basicType); + TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&); + void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes); + void paramCheckFixStorage(const TSourceLoc&, const TStorageQualifier&, TType& type); + void paramCheckFix(const TSourceLoc&, const TQualifier&, TType& type); + void nestedBlockCheck(const TSourceLoc&); + void nestedStructCheck(const TSourceLoc&); + void arrayObjectCheck(const TSourceLoc&, const TType&, const char* op); + void opaqueCheck(const TSourceLoc&, const TType&, const char* op); + void referenceCheck(const TSourceLoc&, const TType&, const char* op); + void storage16BitAssignmentCheck(const TSourceLoc&, const TType&, const char* op); + void specializationCheck(const TSourceLoc&, const TType&, const char* op); + void structTypeCheck(const TSourceLoc&, TPublicType&); + void inductiveLoopCheck(const TSourceLoc&, TIntermNode* init, TIntermLoop* loop); + void arrayLimitCheck(const TSourceLoc&, const TString&, int size); + void limitCheck(const TSourceLoc&, int value, const char* limit, const char* feature); + + void inductiveLoopBodyCheck(TIntermNode*, int loopIndexId, TSymbolTable&); + void constantIndexExpressionCheck(TIntermNode*); + + void setLayoutQualifier(const TSourceLoc&, TPublicType&, TString&); + void setLayoutQualifier(const TSourceLoc&, TPublicType&, TString&, const TIntermTyped*); + void mergeObjectLayoutQualifiers(TQualifier& dest, const TQualifier& src, bool inheritOnly); + void layoutObjectCheck(const TSourceLoc&, const TSymbol&); + void layoutMemberLocationArrayCheck(const TSourceLoc&, bool memberWithLocation, TArraySizes* arraySizes); + void layoutTypeCheck(const TSourceLoc&, const TType&); + void layoutQualifierCheck(const TSourceLoc&, const TQualifier&); + void checkNoShaderLayouts(const TSourceLoc&, const TShaderQualifiers&); + void fixOffset(const TSourceLoc&, TSymbol&); + + const TFunction* findFunction(const TSourceLoc& loc, const TFunction& call, bool& builtIn); + const TFunction* findFunctionExact(const TSourceLoc& loc, const TFunction& call, bool& builtIn); + const TFunction* findFunction120(const TSourceLoc& loc, const TFunction& call, bool& builtIn); + const TFunction* findFunction400(const TSourceLoc& loc, const TFunction& call, bool& builtIn); + const TFunction* findFunctionExplicitTypes(const TSourceLoc& loc, const TFunction& call, bool& builtIn); + void declareTypeDefaults(const TSourceLoc&, const TPublicType&); + TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, const TPublicType&, TArraySizes* typeArray = 0, TIntermTyped* initializer = 0); + TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&); + TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&); + TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset); + void inheritMemoryQualifiers(const TQualifier& from, TQualifier& to); + void declareBlock(const TSourceLoc&, TTypeList& typeList, const TString* instanceName = 0, TArraySizes* arraySizes = 0); + void blockStageIoCheck(const TSourceLoc&, const TQualifier&); + void blockQualifierCheck(const TSourceLoc&, const TQualifier&, bool instanceName); + void fixBlockLocations(const TSourceLoc&, TQualifier&, TTypeList&, bool memberWithLocation, bool memberWithoutLocation); + void fixXfbOffsets(TQualifier&, TTypeList&); + void fixBlockUniformOffsets(TQualifier&, TTypeList&); + void fixBlockUniformLayoutMatrix(TQualifier&, TTypeList*, TTypeList*); + void fixBlockUniformLayoutPacking(TQualifier&, TTypeList*, TTypeList*); + void addQualifierToExisting(const TSourceLoc&, TQualifier, const TString& identifier); + void addQualifierToExisting(const TSourceLoc&, TQualifier, TIdentifierList&); + void invariantCheck(const TSourceLoc&, const TQualifier&); + void updateStandaloneQualifierDefaults(const TSourceLoc&, const TPublicType&); + void wrapupSwitchSubsequence(TIntermAggregate* statements, TIntermNode* branchNode); + TIntermNode* addSwitch(const TSourceLoc&, TIntermTyped* expression, TIntermAggregate* body); + const TTypeList* recordStructCopy(TStructRecord&, const TType*, const TType*); + +#ifndef GLSLANG_WEB + TAttributeType attributeFromName(const TString& name) const; + TAttributes* makeAttributes(const TString& identifier) const; + TAttributes* makeAttributes(const TString& identifier, TIntermNode* node) const; + TAttributes* mergeAttributes(TAttributes*, TAttributes*) const; + + // Determine selection control from attributes + void handleSelectionAttributes(const TAttributes& attributes, TIntermNode*); + void handleSwitchAttributes(const TAttributes& attributes, TIntermNode*); + // Determine loop control from attributes + void handleLoopAttributes(const TAttributes& attributes, TIntermNode*); +#endif + + void checkAndResizeMeshViewDim(const TSourceLoc&, TType&, bool isBlockMember); + +protected: + void nonInitConstCheck(const TSourceLoc&, TString& identifier, TType& type); + void inheritGlobalDefaults(TQualifier& dst) const; + TVariable* makeInternalVariable(const char* name, const TType&) const; + TVariable* declareNonArray(const TSourceLoc&, const TString& identifier, const TType&); + void declareArray(const TSourceLoc&, const TString& identifier, const TType&, TSymbol*&); + void checkRuntimeSizable(const TSourceLoc&, const TIntermTyped&); + bool isRuntimeLength(const TIntermTyped&) const; + TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable); + TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer); +#ifndef GLSLANG_WEB + void finish() override; +#endif + +public: + // + // Generally, bison productions, the scanner, and the PP need read/write access to these; just give them direct access + // + + // Current state of parsing + bool inMain; // if inside a function, true if the function is main + const TString* blockName; + TQualifier currentBlockQualifier; + TPrecisionQualifier defaultPrecision[EbtNumTypes]; + TBuiltInResource resources; + TLimits& limits; + +protected: + TParseContext(TParseContext&); + TParseContext& operator=(TParseContext&); + + static const int maxSamplerIndex = EsdNumDims * (EbtNumTypes * (2 * 2 * 2 * 2 * 2)); // see computeSamplerTypeIndex() + TPrecisionQualifier defaultSamplerPrecision[maxSamplerIndex]; + TPrecisionManager precisionManager; + TQualifier globalBufferDefaults; + TQualifier globalUniformDefaults; + TQualifier globalInputDefaults; + TQualifier globalOutputDefaults; + TString currentCaller; // name of last function body entered (not valid when at global scope) +#ifndef GLSLANG_WEB + int* atomicUintOffsets; // to become an array of the right size to hold an offset per binding point + bool anyIndexLimits; + TIdSetType inductiveLoopIds; + TVector needsIndexLimitationChecking; + TStructRecord matrixFixRecord; + TStructRecord packingFixRecord; + + // + // Geometry shader input arrays: + // - array sizing is based on input primitive and/or explicit size + // + // Tessellation control output arrays: + // - array sizing is based on output layout(vertices=...) and/or explicit size + // + // Both: + // - array sizing is retroactive + // - built-in block redeclarations interact with this + // + // Design: + // - use a per-context "resize-list", a list of symbols whose array sizes + // can be fixed + // + // - the resize-list starts empty at beginning of user-shader compilation, it does + // not have built-ins in it + // + // - on built-in array use: copyUp() symbol and add it to the resize-list + // + // - on user array declaration: add it to the resize-list + // + // - on block redeclaration: copyUp() symbol and add it to the resize-list + // * note, that appropriately gives an error if redeclaring a block that + // was already used and hence already copied-up + // + // - on seeing a layout declaration that sizes the array, fix everything in the + // resize-list, giving errors for mismatch + // + // - on seeing an array size declaration, give errors on mismatch between it and previous + // array-sizing declarations + // + TVector ioArraySymbolResizeList; +#endif +}; + +} // end namespace glslang + +#endif // _PARSER_HELPER_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/PoolAlloc.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/PoolAlloc.cpp new file mode 100644 index 00000000..84c40f4e --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/PoolAlloc.cpp @@ -0,0 +1,315 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#include "../Include/Common.h" +#include "../Include/PoolAlloc.h" + +#include "../Include/InitializeGlobals.h" +#include "../OSDependent/osinclude.h" + +namespace glslang { + +// Process-wide TLS index +OS_TLSIndex PoolIndex; + +// Return the thread-specific current pool. +TPoolAllocator& GetThreadPoolAllocator() +{ + return *static_cast(OS_GetTLSValue(PoolIndex)); +} + +// Set the thread-specific current pool. +void SetThreadPoolAllocator(TPoolAllocator* poolAllocator) +{ + OS_SetTLSValue(PoolIndex, poolAllocator); +} + +// Process-wide set up of the TLS pool storage. +bool InitializePoolIndex() +{ + // Allocate a TLS index. + if ((PoolIndex = OS_AllocTLSIndex()) == OS_INVALID_TLS_INDEX) + return false; + + return true; +} + +// +// Implement the functionality of the TPoolAllocator class, which +// is documented in PoolAlloc.h. +// +TPoolAllocator::TPoolAllocator(int growthIncrement, int allocationAlignment) : + pageSize(growthIncrement), + alignment(allocationAlignment), + freeList(nullptr), + inUseList(nullptr), + numCalls(0) +{ + // + // Don't allow page sizes we know are smaller than all common + // OS page sizes. + // + if (pageSize < 4*1024) + pageSize = 4*1024; + + // + // A large currentPageOffset indicates a new page needs to + // be obtained to allocate memory. + // + currentPageOffset = pageSize; + + // + // Adjust alignment to be at least pointer aligned and + // power of 2. + // + size_t minAlign = sizeof(void*); + alignment &= ~(minAlign - 1); + if (alignment < minAlign) + alignment = minAlign; + size_t a = 1; + while (a < alignment) + a <<= 1; + alignment = a; + alignmentMask = a - 1; + + // + // Align header skip + // + headerSkip = minAlign; + if (headerSkip < sizeof(tHeader)) { + headerSkip = (sizeof(tHeader) + alignmentMask) & ~alignmentMask; + } + + push(); +} + +TPoolAllocator::~TPoolAllocator() +{ + while (inUseList) { + tHeader* next = inUseList->nextPage; + inUseList->~tHeader(); + delete [] reinterpret_cast(inUseList); + inUseList = next; + } + + // + // Always delete the free list memory - it can't be being + // (correctly) referenced, whether the pool allocator was + // global or not. We should not check the guard blocks + // here, because we did it already when the block was + // placed into the free list. + // + while (freeList) { + tHeader* next = freeList->nextPage; + delete [] reinterpret_cast(freeList); + freeList = next; + } +} + +const unsigned char TAllocation::guardBlockBeginVal = 0xfb; +const unsigned char TAllocation::guardBlockEndVal = 0xfe; +const unsigned char TAllocation::userDataFill = 0xcd; + +# ifdef GUARD_BLOCKS + const size_t TAllocation::guardBlockSize = 16; +# else + const size_t TAllocation::guardBlockSize = 0; +# endif + +// +// Check a single guard block for damage +// +#ifdef GUARD_BLOCKS +void TAllocation::checkGuardBlock(unsigned char* blockMem, unsigned char val, const char* locText) const +#else +void TAllocation::checkGuardBlock(unsigned char*, unsigned char, const char*) const +#endif +{ +#ifdef GUARD_BLOCKS + for (size_t x = 0; x < guardBlockSize; x++) { + if (blockMem[x] != val) { + const int maxSize = 80; + char assertMsg[maxSize]; + + // We don't print the assert message. It's here just to be helpful. + snprintf(assertMsg, maxSize, "PoolAlloc: Damage %s %zu byte allocation at 0x%p\n", + locText, size, data()); + assert(0 && "PoolAlloc: Damage in guard block"); + } + } +#else + assert(guardBlockSize == 0); +#endif +} + +void TPoolAllocator::push() +{ + tAllocState state = { currentPageOffset, inUseList }; + + stack.push_back(state); + + // + // Indicate there is no current page to allocate from. + // + currentPageOffset = pageSize; +} + +// +// Do a mass-deallocation of all the individual allocations +// that have occurred since the last push(), or since the +// last pop(), or since the object's creation. +// +// The deallocated pages are saved for future allocations. +// +void TPoolAllocator::pop() +{ + if (stack.size() < 1) + return; + + tHeader* page = stack.back().page; + currentPageOffset = stack.back().offset; + + while (inUseList != page) { + tHeader* nextInUse = inUseList->nextPage; + size_t pageCount = inUseList->pageCount; + + // This technically ends the lifetime of the header as C++ object, + // but we will still control the memory and reuse it. + inUseList->~tHeader(); // currently, just a debug allocation checker + + if (pageCount > 1) { + delete [] reinterpret_cast(inUseList); + } else { + inUseList->nextPage = freeList; + freeList = inUseList; + } + inUseList = nextInUse; + } + + stack.pop_back(); +} + +// +// Do a mass-deallocation of all the individual allocations +// that have occurred. +// +void TPoolAllocator::popAll() +{ + while (stack.size() > 0) + pop(); +} + +void* TPoolAllocator::allocate(size_t numBytes) +{ + // If we are using guard blocks, all allocations are bracketed by + // them: [guardblock][allocation][guardblock]. numBytes is how + // much memory the caller asked for. allocationSize is the total + // size including guard blocks. In release build, + // guardBlockSize=0 and this all gets optimized away. + size_t allocationSize = TAllocation::allocationSize(numBytes); + + // + // Just keep some interesting statistics. + // + ++numCalls; + totalBytes += numBytes; + + // + // Do the allocation, most likely case first, for efficiency. + // This step could be moved to be inline sometime. + // + if (currentPageOffset + allocationSize <= pageSize) { + // + // Safe to allocate from currentPageOffset. + // + unsigned char* memory = reinterpret_cast(inUseList) + currentPageOffset; + currentPageOffset += allocationSize; + currentPageOffset = (currentPageOffset + alignmentMask) & ~alignmentMask; + + return initializeAllocation(inUseList, memory, numBytes); + } + + if (allocationSize + headerSkip > pageSize) { + // + // Do a multi-page allocation. Don't mix these with the others. + // The OS is efficient and allocating and free-ing multiple pages. + // + size_t numBytesToAlloc = allocationSize + headerSkip; + tHeader* memory = reinterpret_cast(::new char[numBytesToAlloc]); + if (memory == 0) + return 0; + + // Use placement-new to initialize header + new(memory) tHeader(inUseList, (numBytesToAlloc + pageSize - 1) / pageSize); + inUseList = memory; + + currentPageOffset = pageSize; // make next allocation come from a new page + + // No guard blocks for multi-page allocations (yet) + return reinterpret_cast(reinterpret_cast(memory) + headerSkip); + } + + // + // Need a simple page to allocate from. + // + tHeader* memory; + if (freeList) { + memory = freeList; + freeList = freeList->nextPage; + } else { + memory = reinterpret_cast(::new char[pageSize]); + if (memory == 0) + return 0; + } + + // Use placement-new to initialize header + new(memory) tHeader(inUseList, 1); + inUseList = memory; + + unsigned char* ret = reinterpret_cast(inUseList) + headerSkip; + currentPageOffset = (headerSkip + allocationSize + alignmentMask) & ~alignmentMask; + + return initializeAllocation(inUseList, ret, numBytes); +} + +// +// Check all allocations in a list for damage by calling check on each. +// +void TAllocation::checkAllocList() const +{ + for (const TAllocation* alloc = this; alloc != 0; alloc = alloc->prevAlloc) + alloc->check(); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.cpp new file mode 100644 index 00000000..1d33bfd2 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.cpp @@ -0,0 +1,118 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#include "../Include/intermediate.h" +#include "RemoveTree.h" + +namespace glslang { + +// +// Code to recursively delete the intermediate tree. +// +struct TRemoveTraverser : TIntermTraverser { + TRemoveTraverser() : TIntermTraverser(false, false, true, false) {} + + virtual void visitSymbol(TIntermSymbol* node) + { + delete node; + } + + virtual bool visitBinary(TVisit /* visit*/ , TIntermBinary* node) + { + delete node; + + return true; + } + + virtual bool visitUnary(TVisit /* visit */, TIntermUnary* node) + { + delete node; + + return true; + } + + virtual bool visitAggregate(TVisit /* visit*/ , TIntermAggregate* node) + { + delete node; + + return true; + } + + virtual bool visitSelection(TVisit /* visit*/ , TIntermSelection* node) + { + delete node; + + return true; + } + + virtual bool visitSwitch(TVisit /* visit*/ , TIntermSwitch* node) + { + delete node; + + return true; + } + + virtual void visitConstantUnion(TIntermConstantUnion* node) + { + delete node; + } + + virtual bool visitLoop(TVisit /* visit*/ , TIntermLoop* node) + { + delete node; + + return true; + } + + virtual bool visitBranch(TVisit /* visit*/ , TIntermBranch* node) + { + delete node; + + return true; + } +}; + +// +// Entry point. +// +void RemoveAllTreeNodes(TIntermNode* root) +{ + TRemoveTraverser it; + + root->traverse(&it); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.h b/android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.h new file mode 100644 index 00000000..1ed01562 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/RemoveTree.h @@ -0,0 +1,41 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#pragma once + +namespace glslang { + +void RemoveAllTreeNodes(TIntermNode*); + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Scan.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/Scan.cpp new file mode 100644 index 00000000..78c8a365 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Scan.cpp @@ -0,0 +1,1925 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2020 Google, Inc. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// GLSL scanning, leveraging the scanning done by the preprocessor. +// + +#include +#include +#include + +#include "../Include/Types.h" +#include "SymbolTable.h" +#include "ParseHelper.h" +#include "attribute.h" +#include "glslang_tab.cpp.h" +#include "ScanContext.h" +#include "Scan.h" + +// preprocessor includes +#include "preprocessor/PpContext.h" +#include "preprocessor/PpTokens.h" + +// Required to avoid missing prototype warnings for some compilers +int yylex(YYSTYPE*, glslang::TParseContext&); + +namespace glslang { + +// read past any white space +void TInputScanner::consumeWhiteSpace(bool& foundNonSpaceTab) +{ + int c = peek(); // don't accidentally consume anything other than whitespace + while (c == ' ' || c == '\t' || c == '\r' || c == '\n') { + if (c == '\r' || c == '\n') + foundNonSpaceTab = true; + get(); + c = peek(); + } +} + +// return true if a comment was actually consumed +bool TInputScanner::consumeComment() +{ + if (peek() != '/') + return false; + + get(); // consume the '/' + int c = peek(); + if (c == '/') { + + // a '//' style comment + get(); // consume the second '/' + c = get(); + do { + while (c != EndOfInput && c != '\\' && c != '\r' && c != '\n') + c = get(); + + if (c == EndOfInput || c == '\r' || c == '\n') { + while (c == '\r' || c == '\n') + c = get(); + + // we reached the end of the comment + break; + } else { + // it's a '\', so we need to keep going, after skipping what's escaped + + // read the skipped character + c = get(); + + // if it's a two-character newline, skip both characters + if (c == '\r' && peek() == '\n') + get(); + c = get(); + } + } while (true); + + // put back the last non-comment character + if (c != EndOfInput) + unget(); + + return true; + } else if (c == '*') { + + // a '/*' style comment + get(); // consume the '*' + c = get(); + do { + while (c != EndOfInput && c != '*') + c = get(); + if (c == '*') { + c = get(); + if (c == '/') + break; // end of comment + // not end of comment + } else // end of input + break; + } while (true); + + return true; + } else { + // it's not a comment, put the '/' back + unget(); + + return false; + } +} + +// skip whitespace, then skip a comment, rinse, repeat +void TInputScanner::consumeWhitespaceComment(bool& foundNonSpaceTab) +{ + do { + consumeWhiteSpace(foundNonSpaceTab); + + // if not starting a comment now, then done + int c = peek(); + if (c != '/' || c == EndOfInput) + return; + + // skip potential comment + foundNonSpaceTab = true; + if (! consumeComment()) + return; + + } while (true); +} + +// Returns true if there was non-white space (e.g., a comment, newline) before the #version +// or no #version was found; otherwise, returns false. There is no error case, it always +// succeeds, but will leave version == 0 if no #version was found. +// +// Sets notFirstToken based on whether tokens (beyond white space and comments) +// appeared before the #version. +// +// N.B. does not attempt to leave input in any particular known state. The assumption +// is that scanning will start anew, following the rules for the chosen version/profile, +// and with a corresponding parsing context. +// +bool TInputScanner::scanVersion(int& version, EProfile& profile, bool& notFirstToken) +{ + // This function doesn't have to get all the semantics correct, + // just find the #version if there is a correct one present. + // The preprocessor will have the responsibility of getting all the semantics right. + + bool versionNotFirst = false; // means not first WRT comments and white space, nothing more + notFirstToken = false; // means not first WRT to real tokens + version = 0; // means not found + profile = ENoProfile; + + bool foundNonSpaceTab = false; + bool lookingInMiddle = false; + int c; + do { + if (lookingInMiddle) { + notFirstToken = true; + // make forward progress by finishing off the current line plus extra new lines + if (peek() != '\n' && peek() != '\r') { + do { + c = get(); + } while (c != EndOfInput && c != '\n' && c != '\r'); + } + while (peek() == '\n' || peek() == '\r') + get(); + if (peek() == EndOfInput) + return true; + } + lookingInMiddle = true; + + // Nominal start, skipping the desktop allowed comments and white space, but tracking if + // something else was found for ES: + consumeWhitespaceComment(foundNonSpaceTab); + if (foundNonSpaceTab) + versionNotFirst = true; + + // "#" + if (get() != '#') { + versionNotFirst = true; + continue; + } + + // whitespace + do { + c = get(); + } while (c == ' ' || c == '\t'); + + // "version" + if ( c != 'v' || + get() != 'e' || + get() != 'r' || + get() != 's' || + get() != 'i' || + get() != 'o' || + get() != 'n') { + versionNotFirst = true; + continue; + } + + // whitespace + do { + c = get(); + } while (c == ' ' || c == '\t'); + + // version number + while (c >= '0' && c <= '9') { + version = 10 * version + (c - '0'); + c = get(); + } + if (version == 0) { + versionNotFirst = true; + continue; + } + + // whitespace + while (c == ' ' || c == '\t') + c = get(); + + // profile + const int maxProfileLength = 13; // not including any 0 + char profileString[maxProfileLength]; + int profileLength; + for (profileLength = 0; profileLength < maxProfileLength; ++profileLength) { + if (c == EndOfInput || c == ' ' || c == '\t' || c == '\n' || c == '\r') + break; + profileString[profileLength] = (char)c; + c = get(); + } + if (c != EndOfInput && c != ' ' && c != '\t' && c != '\n' && c != '\r') { + versionNotFirst = true; + continue; + } + + if (profileLength == 2 && strncmp(profileString, "es", profileLength) == 0) + profile = EEsProfile; + else if (profileLength == 4 && strncmp(profileString, "core", profileLength) == 0) + profile = ECoreProfile; + else if (profileLength == 13 && strncmp(profileString, "compatibility", profileLength) == 0) + profile = ECompatibilityProfile; + + return versionNotFirst; + } while (true); +} + +// Fill this in when doing glslang-level scanning, to hand back to the parser. +class TParserToken { +public: + explicit TParserToken(YYSTYPE& b) : sType(b) { } + + YYSTYPE& sType; +protected: + TParserToken(TParserToken&); + TParserToken& operator=(TParserToken&); +}; + +} // end namespace glslang + +// This is the function the glslang parser (i.e., bison) calls to get its next token +int yylex(YYSTYPE* glslangTokenDesc, glslang::TParseContext& parseContext) +{ + glslang::TParserToken token(*glslangTokenDesc); + + return parseContext.getScanContext()->tokenize(parseContext.getPpContext(), token); +} + +namespace { + +struct str_eq +{ + bool operator()(const char* lhs, const char* rhs) const + { + return strcmp(lhs, rhs) == 0; + } +}; + +struct str_hash +{ + size_t operator()(const char* str) const + { + // djb2 + unsigned long hash = 5381; + int c; + + while ((c = *str++) != 0) + hash = ((hash << 5) + hash) + c; + + return hash; + } +}; + +// A single global usable by all threads, by all versions, by all languages. +// After a single process-level initialization, this is read only and thread safe +std::unordered_map* KeywordMap = nullptr; +#ifndef GLSLANG_WEB +std::unordered_set* ReservedSet = nullptr; +#endif + +}; + +namespace glslang { + +void TScanContext::fillInKeywordMap() +{ + if (KeywordMap != nullptr) { + // this is really an error, as this should called only once per process + // but, the only risk is if two threads called simultaneously + return; + } + KeywordMap = new std::unordered_map; + + (*KeywordMap)["const"] = CONST; + (*KeywordMap)["uniform"] = UNIFORM; + (*KeywordMap)["buffer"] = BUFFER; + (*KeywordMap)["in"] = IN; + (*KeywordMap)["out"] = OUT; + (*KeywordMap)["smooth"] = SMOOTH; + (*KeywordMap)["flat"] = FLAT; + (*KeywordMap)["centroid"] = CENTROID; + (*KeywordMap)["invariant"] = INVARIANT; + (*KeywordMap)["packed"] = PACKED; + (*KeywordMap)["resource"] = RESOURCE; + (*KeywordMap)["inout"] = INOUT; + (*KeywordMap)["struct"] = STRUCT; + (*KeywordMap)["break"] = BREAK; + (*KeywordMap)["continue"] = CONTINUE; + (*KeywordMap)["do"] = DO; + (*KeywordMap)["for"] = FOR; + (*KeywordMap)["while"] = WHILE; + (*KeywordMap)["switch"] = SWITCH; + (*KeywordMap)["case"] = CASE; + (*KeywordMap)["default"] = DEFAULT; + (*KeywordMap)["if"] = IF; + (*KeywordMap)["else"] = ELSE; + (*KeywordMap)["discard"] = DISCARD; + (*KeywordMap)["terminateInvocation"] = TERMINATE_INVOCATION; + (*KeywordMap)["terminateRayEXT"] = TERMINATE_RAY; + (*KeywordMap)["ignoreIntersectionEXT"] = IGNORE_INTERSECTION; + (*KeywordMap)["return"] = RETURN; + (*KeywordMap)["void"] = VOID; + (*KeywordMap)["bool"] = BOOL; + (*KeywordMap)["float"] = FLOAT; + (*KeywordMap)["int"] = INT; + (*KeywordMap)["bvec2"] = BVEC2; + (*KeywordMap)["bvec3"] = BVEC3; + (*KeywordMap)["bvec4"] = BVEC4; + (*KeywordMap)["vec2"] = VEC2; + (*KeywordMap)["vec3"] = VEC3; + (*KeywordMap)["vec4"] = VEC4; + (*KeywordMap)["ivec2"] = IVEC2; + (*KeywordMap)["ivec3"] = IVEC3; + (*KeywordMap)["ivec4"] = IVEC4; + (*KeywordMap)["mat2"] = MAT2; + (*KeywordMap)["mat3"] = MAT3; + (*KeywordMap)["mat4"] = MAT4; + (*KeywordMap)["true"] = BOOLCONSTANT; + (*KeywordMap)["false"] = BOOLCONSTANT; + (*KeywordMap)["layout"] = LAYOUT; + (*KeywordMap)["shared"] = SHARED; + (*KeywordMap)["highp"] = HIGH_PRECISION; + (*KeywordMap)["mediump"] = MEDIUM_PRECISION; + (*KeywordMap)["lowp"] = LOW_PRECISION; + (*KeywordMap)["superp"] = SUPERP; + (*KeywordMap)["precision"] = PRECISION; + (*KeywordMap)["mat2x2"] = MAT2X2; + (*KeywordMap)["mat2x3"] = MAT2X3; + (*KeywordMap)["mat2x4"] = MAT2X4; + (*KeywordMap)["mat3x2"] = MAT3X2; + (*KeywordMap)["mat3x3"] = MAT3X3; + (*KeywordMap)["mat3x4"] = MAT3X4; + (*KeywordMap)["mat4x2"] = MAT4X2; + (*KeywordMap)["mat4x3"] = MAT4X3; + (*KeywordMap)["mat4x4"] = MAT4X4; + (*KeywordMap)["uint"] = UINT; + (*KeywordMap)["uvec2"] = UVEC2; + (*KeywordMap)["uvec3"] = UVEC3; + (*KeywordMap)["uvec4"] = UVEC4; + +#ifndef GLSLANG_WEB + (*KeywordMap)["nonuniformEXT"] = NONUNIFORM; + (*KeywordMap)["demote"] = DEMOTE; + (*KeywordMap)["attribute"] = ATTRIBUTE; + (*KeywordMap)["varying"] = VARYING; + (*KeywordMap)["noperspective"] = NOPERSPECTIVE; + (*KeywordMap)["coherent"] = COHERENT; + (*KeywordMap)["devicecoherent"] = DEVICECOHERENT; + (*KeywordMap)["queuefamilycoherent"] = QUEUEFAMILYCOHERENT; + (*KeywordMap)["workgroupcoherent"] = WORKGROUPCOHERENT; + (*KeywordMap)["subgroupcoherent"] = SUBGROUPCOHERENT; + (*KeywordMap)["shadercallcoherent"] = SHADERCALLCOHERENT; + (*KeywordMap)["nonprivate"] = NONPRIVATE; + (*KeywordMap)["restrict"] = RESTRICT; + (*KeywordMap)["readonly"] = READONLY; + (*KeywordMap)["writeonly"] = WRITEONLY; + (*KeywordMap)["atomic_uint"] = ATOMIC_UINT; + (*KeywordMap)["volatile"] = VOLATILE; + (*KeywordMap)["patch"] = PATCH; + (*KeywordMap)["sample"] = SAMPLE; + (*KeywordMap)["subroutine"] = SUBROUTINE; + (*KeywordMap)["dmat2"] = DMAT2; + (*KeywordMap)["dmat3"] = DMAT3; + (*KeywordMap)["dmat4"] = DMAT4; + (*KeywordMap)["dmat2x2"] = DMAT2X2; + (*KeywordMap)["dmat2x3"] = DMAT2X3; + (*KeywordMap)["dmat2x4"] = DMAT2X4; + (*KeywordMap)["dmat3x2"] = DMAT3X2; + (*KeywordMap)["dmat3x3"] = DMAT3X3; + (*KeywordMap)["dmat3x4"] = DMAT3X4; + (*KeywordMap)["dmat4x2"] = DMAT4X2; + (*KeywordMap)["dmat4x3"] = DMAT4X3; + (*KeywordMap)["dmat4x4"] = DMAT4X4; + (*KeywordMap)["image1D"] = IMAGE1D; + (*KeywordMap)["iimage1D"] = IIMAGE1D; + (*KeywordMap)["uimage1D"] = UIMAGE1D; + (*KeywordMap)["image2D"] = IMAGE2D; + (*KeywordMap)["iimage2D"] = IIMAGE2D; + (*KeywordMap)["uimage2D"] = UIMAGE2D; + (*KeywordMap)["image3D"] = IMAGE3D; + (*KeywordMap)["iimage3D"] = IIMAGE3D; + (*KeywordMap)["uimage3D"] = UIMAGE3D; + (*KeywordMap)["image2DRect"] = IMAGE2DRECT; + (*KeywordMap)["iimage2DRect"] = IIMAGE2DRECT; + (*KeywordMap)["uimage2DRect"] = UIMAGE2DRECT; + (*KeywordMap)["imageCube"] = IMAGECUBE; + (*KeywordMap)["iimageCube"] = IIMAGECUBE; + (*KeywordMap)["uimageCube"] = UIMAGECUBE; + (*KeywordMap)["imageBuffer"] = IMAGEBUFFER; + (*KeywordMap)["iimageBuffer"] = IIMAGEBUFFER; + (*KeywordMap)["uimageBuffer"] = UIMAGEBUFFER; + (*KeywordMap)["image1DArray"] = IMAGE1DARRAY; + (*KeywordMap)["iimage1DArray"] = IIMAGE1DARRAY; + (*KeywordMap)["uimage1DArray"] = UIMAGE1DARRAY; + (*KeywordMap)["image2DArray"] = IMAGE2DARRAY; + (*KeywordMap)["iimage2DArray"] = IIMAGE2DARRAY; + (*KeywordMap)["uimage2DArray"] = UIMAGE2DARRAY; + (*KeywordMap)["imageCubeArray"] = IMAGECUBEARRAY; + (*KeywordMap)["iimageCubeArray"] = IIMAGECUBEARRAY; + (*KeywordMap)["uimageCubeArray"] = UIMAGECUBEARRAY; + (*KeywordMap)["image2DMS"] = IMAGE2DMS; + (*KeywordMap)["iimage2DMS"] = IIMAGE2DMS; + (*KeywordMap)["uimage2DMS"] = UIMAGE2DMS; + (*KeywordMap)["image2DMSArray"] = IMAGE2DMSARRAY; + (*KeywordMap)["iimage2DMSArray"] = IIMAGE2DMSARRAY; + (*KeywordMap)["uimage2DMSArray"] = UIMAGE2DMSARRAY; + (*KeywordMap)["i64image1D"] = I64IMAGE1D; + (*KeywordMap)["u64image1D"] = U64IMAGE1D; + (*KeywordMap)["i64image2D"] = I64IMAGE2D; + (*KeywordMap)["u64image2D"] = U64IMAGE2D; + (*KeywordMap)["i64image3D"] = I64IMAGE3D; + (*KeywordMap)["u64image3D"] = U64IMAGE3D; + (*KeywordMap)["i64image2DRect"] = I64IMAGE2DRECT; + (*KeywordMap)["u64image2DRect"] = U64IMAGE2DRECT; + (*KeywordMap)["i64imageCube"] = I64IMAGECUBE; + (*KeywordMap)["u64imageCube"] = U64IMAGECUBE; + (*KeywordMap)["i64imageBuffer"] = I64IMAGEBUFFER; + (*KeywordMap)["u64imageBuffer"] = U64IMAGEBUFFER; + (*KeywordMap)["i64image1DArray"] = I64IMAGE1DARRAY; + (*KeywordMap)["u64image1DArray"] = U64IMAGE1DARRAY; + (*KeywordMap)["i64image2DArray"] = I64IMAGE2DARRAY; + (*KeywordMap)["u64image2DArray"] = U64IMAGE2DARRAY; + (*KeywordMap)["i64imageCubeArray"] = I64IMAGECUBEARRAY; + (*KeywordMap)["u64imageCubeArray"] = U64IMAGECUBEARRAY; + (*KeywordMap)["i64image2DMS"] = I64IMAGE2DMS; + (*KeywordMap)["u64image2DMS"] = U64IMAGE2DMS; + (*KeywordMap)["i64image2DMSArray"] = I64IMAGE2DMSARRAY; + (*KeywordMap)["u64image2DMSArray"] = U64IMAGE2DMSARRAY; + (*KeywordMap)["double"] = DOUBLE; + (*KeywordMap)["dvec2"] = DVEC2; + (*KeywordMap)["dvec3"] = DVEC3; + (*KeywordMap)["dvec4"] = DVEC4; + (*KeywordMap)["int64_t"] = INT64_T; + (*KeywordMap)["uint64_t"] = UINT64_T; + (*KeywordMap)["i64vec2"] = I64VEC2; + (*KeywordMap)["i64vec3"] = I64VEC3; + (*KeywordMap)["i64vec4"] = I64VEC4; + (*KeywordMap)["u64vec2"] = U64VEC2; + (*KeywordMap)["u64vec3"] = U64VEC3; + (*KeywordMap)["u64vec4"] = U64VEC4; + + // GL_EXT_shader_explicit_arithmetic_types + (*KeywordMap)["int8_t"] = INT8_T; + (*KeywordMap)["i8vec2"] = I8VEC2; + (*KeywordMap)["i8vec3"] = I8VEC3; + (*KeywordMap)["i8vec4"] = I8VEC4; + (*KeywordMap)["uint8_t"] = UINT8_T; + (*KeywordMap)["u8vec2"] = U8VEC2; + (*KeywordMap)["u8vec3"] = U8VEC3; + (*KeywordMap)["u8vec4"] = U8VEC4; + + (*KeywordMap)["int16_t"] = INT16_T; + (*KeywordMap)["i16vec2"] = I16VEC2; + (*KeywordMap)["i16vec3"] = I16VEC3; + (*KeywordMap)["i16vec4"] = I16VEC4; + (*KeywordMap)["uint16_t"] = UINT16_T; + (*KeywordMap)["u16vec2"] = U16VEC2; + (*KeywordMap)["u16vec3"] = U16VEC3; + (*KeywordMap)["u16vec4"] = U16VEC4; + + (*KeywordMap)["int32_t"] = INT32_T; + (*KeywordMap)["i32vec2"] = I32VEC2; + (*KeywordMap)["i32vec3"] = I32VEC3; + (*KeywordMap)["i32vec4"] = I32VEC4; + (*KeywordMap)["uint32_t"] = UINT32_T; + (*KeywordMap)["u32vec2"] = U32VEC2; + (*KeywordMap)["u32vec3"] = U32VEC3; + (*KeywordMap)["u32vec4"] = U32VEC4; + + (*KeywordMap)["float16_t"] = FLOAT16_T; + (*KeywordMap)["f16vec2"] = F16VEC2; + (*KeywordMap)["f16vec3"] = F16VEC3; + (*KeywordMap)["f16vec4"] = F16VEC4; + (*KeywordMap)["f16mat2"] = F16MAT2; + (*KeywordMap)["f16mat3"] = F16MAT3; + (*KeywordMap)["f16mat4"] = F16MAT4; + (*KeywordMap)["f16mat2x2"] = F16MAT2X2; + (*KeywordMap)["f16mat2x3"] = F16MAT2X3; + (*KeywordMap)["f16mat2x4"] = F16MAT2X4; + (*KeywordMap)["f16mat3x2"] = F16MAT3X2; + (*KeywordMap)["f16mat3x3"] = F16MAT3X3; + (*KeywordMap)["f16mat3x4"] = F16MAT3X4; + (*KeywordMap)["f16mat4x2"] = F16MAT4X2; + (*KeywordMap)["f16mat4x3"] = F16MAT4X3; + (*KeywordMap)["f16mat4x4"] = F16MAT4X4; + + (*KeywordMap)["float32_t"] = FLOAT32_T; + (*KeywordMap)["f32vec2"] = F32VEC2; + (*KeywordMap)["f32vec3"] = F32VEC3; + (*KeywordMap)["f32vec4"] = F32VEC4; + (*KeywordMap)["f32mat2"] = F32MAT2; + (*KeywordMap)["f32mat3"] = F32MAT3; + (*KeywordMap)["f32mat4"] = F32MAT4; + (*KeywordMap)["f32mat2x2"] = F32MAT2X2; + (*KeywordMap)["f32mat2x3"] = F32MAT2X3; + (*KeywordMap)["f32mat2x4"] = F32MAT2X4; + (*KeywordMap)["f32mat3x2"] = F32MAT3X2; + (*KeywordMap)["f32mat3x3"] = F32MAT3X3; + (*KeywordMap)["f32mat3x4"] = F32MAT3X4; + (*KeywordMap)["f32mat4x2"] = F32MAT4X2; + (*KeywordMap)["f32mat4x3"] = F32MAT4X3; + (*KeywordMap)["f32mat4x4"] = F32MAT4X4; + (*KeywordMap)["float64_t"] = FLOAT64_T; + (*KeywordMap)["f64vec2"] = F64VEC2; + (*KeywordMap)["f64vec3"] = F64VEC3; + (*KeywordMap)["f64vec4"] = F64VEC4; + (*KeywordMap)["f64mat2"] = F64MAT2; + (*KeywordMap)["f64mat3"] = F64MAT3; + (*KeywordMap)["f64mat4"] = F64MAT4; + (*KeywordMap)["f64mat2x2"] = F64MAT2X2; + (*KeywordMap)["f64mat2x3"] = F64MAT2X3; + (*KeywordMap)["f64mat2x4"] = F64MAT2X4; + (*KeywordMap)["f64mat3x2"] = F64MAT3X2; + (*KeywordMap)["f64mat3x3"] = F64MAT3X3; + (*KeywordMap)["f64mat3x4"] = F64MAT3X4; + (*KeywordMap)["f64mat4x2"] = F64MAT4X2; + (*KeywordMap)["f64mat4x3"] = F64MAT4X3; + (*KeywordMap)["f64mat4x4"] = F64MAT4X4; +#endif + + (*KeywordMap)["sampler2D"] = SAMPLER2D; + (*KeywordMap)["samplerCube"] = SAMPLERCUBE; + (*KeywordMap)["samplerCubeShadow"] = SAMPLERCUBESHADOW; + (*KeywordMap)["sampler2DArray"] = SAMPLER2DARRAY; + (*KeywordMap)["sampler2DArrayShadow"] = SAMPLER2DARRAYSHADOW; + (*KeywordMap)["isampler2D"] = ISAMPLER2D; + (*KeywordMap)["isampler3D"] = ISAMPLER3D; + (*KeywordMap)["isamplerCube"] = ISAMPLERCUBE; + (*KeywordMap)["isampler2DArray"] = ISAMPLER2DARRAY; + (*KeywordMap)["usampler2D"] = USAMPLER2D; + (*KeywordMap)["usampler3D"] = USAMPLER3D; + (*KeywordMap)["usamplerCube"] = USAMPLERCUBE; + (*KeywordMap)["usampler2DArray"] = USAMPLER2DARRAY; + (*KeywordMap)["sampler3D"] = SAMPLER3D; + (*KeywordMap)["sampler2DShadow"] = SAMPLER2DSHADOW; + + (*KeywordMap)["texture2D"] = TEXTURE2D; + (*KeywordMap)["textureCube"] = TEXTURECUBE; + (*KeywordMap)["texture2DArray"] = TEXTURE2DARRAY; + (*KeywordMap)["itexture2D"] = ITEXTURE2D; + (*KeywordMap)["itexture3D"] = ITEXTURE3D; + (*KeywordMap)["itextureCube"] = ITEXTURECUBE; + (*KeywordMap)["itexture2DArray"] = ITEXTURE2DARRAY; + (*KeywordMap)["utexture2D"] = UTEXTURE2D; + (*KeywordMap)["utexture3D"] = UTEXTURE3D; + (*KeywordMap)["utextureCube"] = UTEXTURECUBE; + (*KeywordMap)["utexture2DArray"] = UTEXTURE2DARRAY; + (*KeywordMap)["texture3D"] = TEXTURE3D; + + (*KeywordMap)["sampler"] = SAMPLER; + (*KeywordMap)["samplerShadow"] = SAMPLERSHADOW; + +#ifndef GLSLANG_WEB + (*KeywordMap)["textureCubeArray"] = TEXTURECUBEARRAY; + (*KeywordMap)["itextureCubeArray"] = ITEXTURECUBEARRAY; + (*KeywordMap)["utextureCubeArray"] = UTEXTURECUBEARRAY; + (*KeywordMap)["samplerCubeArray"] = SAMPLERCUBEARRAY; + (*KeywordMap)["samplerCubeArrayShadow"] = SAMPLERCUBEARRAYSHADOW; + (*KeywordMap)["isamplerCubeArray"] = ISAMPLERCUBEARRAY; + (*KeywordMap)["usamplerCubeArray"] = USAMPLERCUBEARRAY; + (*KeywordMap)["sampler1DArrayShadow"] = SAMPLER1DARRAYSHADOW; + (*KeywordMap)["isampler1DArray"] = ISAMPLER1DARRAY; + (*KeywordMap)["usampler1D"] = USAMPLER1D; + (*KeywordMap)["isampler1D"] = ISAMPLER1D; + (*KeywordMap)["usampler1DArray"] = USAMPLER1DARRAY; + (*KeywordMap)["samplerBuffer"] = SAMPLERBUFFER; + (*KeywordMap)["isampler2DRect"] = ISAMPLER2DRECT; + (*KeywordMap)["usampler2DRect"] = USAMPLER2DRECT; + (*KeywordMap)["isamplerBuffer"] = ISAMPLERBUFFER; + (*KeywordMap)["usamplerBuffer"] = USAMPLERBUFFER; + (*KeywordMap)["sampler2DMS"] = SAMPLER2DMS; + (*KeywordMap)["isampler2DMS"] = ISAMPLER2DMS; + (*KeywordMap)["usampler2DMS"] = USAMPLER2DMS; + (*KeywordMap)["sampler2DMSArray"] = SAMPLER2DMSARRAY; + (*KeywordMap)["isampler2DMSArray"] = ISAMPLER2DMSARRAY; + (*KeywordMap)["usampler2DMSArray"] = USAMPLER2DMSARRAY; + (*KeywordMap)["sampler1D"] = SAMPLER1D; + (*KeywordMap)["sampler1DShadow"] = SAMPLER1DSHADOW; + (*KeywordMap)["sampler2DRect"] = SAMPLER2DRECT; + (*KeywordMap)["sampler2DRectShadow"] = SAMPLER2DRECTSHADOW; + (*KeywordMap)["sampler1DArray"] = SAMPLER1DARRAY; + + (*KeywordMap)["samplerExternalOES"] = SAMPLEREXTERNALOES; // GL_OES_EGL_image_external + + (*KeywordMap)["__samplerExternal2DY2YEXT"] = SAMPLEREXTERNAL2DY2YEXT; // GL_EXT_YUV_target + + (*KeywordMap)["itexture1DArray"] = ITEXTURE1DARRAY; + (*KeywordMap)["utexture1D"] = UTEXTURE1D; + (*KeywordMap)["itexture1D"] = ITEXTURE1D; + (*KeywordMap)["utexture1DArray"] = UTEXTURE1DARRAY; + (*KeywordMap)["textureBuffer"] = TEXTUREBUFFER; + (*KeywordMap)["itexture2DRect"] = ITEXTURE2DRECT; + (*KeywordMap)["utexture2DRect"] = UTEXTURE2DRECT; + (*KeywordMap)["itextureBuffer"] = ITEXTUREBUFFER; + (*KeywordMap)["utextureBuffer"] = UTEXTUREBUFFER; + (*KeywordMap)["texture2DMS"] = TEXTURE2DMS; + (*KeywordMap)["itexture2DMS"] = ITEXTURE2DMS; + (*KeywordMap)["utexture2DMS"] = UTEXTURE2DMS; + (*KeywordMap)["texture2DMSArray"] = TEXTURE2DMSARRAY; + (*KeywordMap)["itexture2DMSArray"] = ITEXTURE2DMSARRAY; + (*KeywordMap)["utexture2DMSArray"] = UTEXTURE2DMSARRAY; + (*KeywordMap)["texture1D"] = TEXTURE1D; + (*KeywordMap)["texture2DRect"] = TEXTURE2DRECT; + (*KeywordMap)["texture1DArray"] = TEXTURE1DARRAY; + + (*KeywordMap)["subpassInput"] = SUBPASSINPUT; + (*KeywordMap)["subpassInputMS"] = SUBPASSINPUTMS; + (*KeywordMap)["isubpassInput"] = ISUBPASSINPUT; + (*KeywordMap)["isubpassInputMS"] = ISUBPASSINPUTMS; + (*KeywordMap)["usubpassInput"] = USUBPASSINPUT; + (*KeywordMap)["usubpassInputMS"] = USUBPASSINPUTMS; + + (*KeywordMap)["f16sampler1D"] = F16SAMPLER1D; + (*KeywordMap)["f16sampler2D"] = F16SAMPLER2D; + (*KeywordMap)["f16sampler3D"] = F16SAMPLER3D; + (*KeywordMap)["f16sampler2DRect"] = F16SAMPLER2DRECT; + (*KeywordMap)["f16samplerCube"] = F16SAMPLERCUBE; + (*KeywordMap)["f16sampler1DArray"] = F16SAMPLER1DARRAY; + (*KeywordMap)["f16sampler2DArray"] = F16SAMPLER2DARRAY; + (*KeywordMap)["f16samplerCubeArray"] = F16SAMPLERCUBEARRAY; + (*KeywordMap)["f16samplerBuffer"] = F16SAMPLERBUFFER; + (*KeywordMap)["f16sampler2DMS"] = F16SAMPLER2DMS; + (*KeywordMap)["f16sampler2DMSArray"] = F16SAMPLER2DMSARRAY; + (*KeywordMap)["f16sampler1DShadow"] = F16SAMPLER1DSHADOW; + (*KeywordMap)["f16sampler2DShadow"] = F16SAMPLER2DSHADOW; + (*KeywordMap)["f16sampler2DRectShadow"] = F16SAMPLER2DRECTSHADOW; + (*KeywordMap)["f16samplerCubeShadow"] = F16SAMPLERCUBESHADOW; + (*KeywordMap)["f16sampler1DArrayShadow"] = F16SAMPLER1DARRAYSHADOW; + (*KeywordMap)["f16sampler2DArrayShadow"] = F16SAMPLER2DARRAYSHADOW; + (*KeywordMap)["f16samplerCubeArrayShadow"] = F16SAMPLERCUBEARRAYSHADOW; + + (*KeywordMap)["f16image1D"] = F16IMAGE1D; + (*KeywordMap)["f16image2D"] = F16IMAGE2D; + (*KeywordMap)["f16image3D"] = F16IMAGE3D; + (*KeywordMap)["f16image2DRect"] = F16IMAGE2DRECT; + (*KeywordMap)["f16imageCube"] = F16IMAGECUBE; + (*KeywordMap)["f16image1DArray"] = F16IMAGE1DARRAY; + (*KeywordMap)["f16image2DArray"] = F16IMAGE2DARRAY; + (*KeywordMap)["f16imageCubeArray"] = F16IMAGECUBEARRAY; + (*KeywordMap)["f16imageBuffer"] = F16IMAGEBUFFER; + (*KeywordMap)["f16image2DMS"] = F16IMAGE2DMS; + (*KeywordMap)["f16image2DMSArray"] = F16IMAGE2DMSARRAY; + + (*KeywordMap)["f16texture1D"] = F16TEXTURE1D; + (*KeywordMap)["f16texture2D"] = F16TEXTURE2D; + (*KeywordMap)["f16texture3D"] = F16TEXTURE3D; + (*KeywordMap)["f16texture2DRect"] = F16TEXTURE2DRECT; + (*KeywordMap)["f16textureCube"] = F16TEXTURECUBE; + (*KeywordMap)["f16texture1DArray"] = F16TEXTURE1DARRAY; + (*KeywordMap)["f16texture2DArray"] = F16TEXTURE2DARRAY; + (*KeywordMap)["f16textureCubeArray"] = F16TEXTURECUBEARRAY; + (*KeywordMap)["f16textureBuffer"] = F16TEXTUREBUFFER; + (*KeywordMap)["f16texture2DMS"] = F16TEXTURE2DMS; + (*KeywordMap)["f16texture2DMSArray"] = F16TEXTURE2DMSARRAY; + + (*KeywordMap)["f16subpassInput"] = F16SUBPASSINPUT; + (*KeywordMap)["f16subpassInputMS"] = F16SUBPASSINPUTMS; + (*KeywordMap)["__explicitInterpAMD"] = EXPLICITINTERPAMD; + (*KeywordMap)["pervertexNV"] = PERVERTEXNV; + (*KeywordMap)["precise"] = PRECISE; + + (*KeywordMap)["rayPayloadNV"] = PAYLOADNV; + (*KeywordMap)["rayPayloadEXT"] = PAYLOADEXT; + (*KeywordMap)["rayPayloadInNV"] = PAYLOADINNV; + (*KeywordMap)["rayPayloadInEXT"] = PAYLOADINEXT; + (*KeywordMap)["hitAttributeNV"] = HITATTRNV; + (*KeywordMap)["hitAttributeEXT"] = HITATTREXT; + (*KeywordMap)["callableDataNV"] = CALLDATANV; + (*KeywordMap)["callableDataEXT"] = CALLDATAEXT; + (*KeywordMap)["callableDataInNV"] = CALLDATAINNV; + (*KeywordMap)["callableDataInEXT"] = CALLDATAINEXT; + (*KeywordMap)["accelerationStructureNV"] = ACCSTRUCTNV; + (*KeywordMap)["accelerationStructureEXT"] = ACCSTRUCTEXT; + (*KeywordMap)["rayQueryEXT"] = RAYQUERYEXT; + (*KeywordMap)["perprimitiveNV"] = PERPRIMITIVENV; + (*KeywordMap)["perviewNV"] = PERVIEWNV; + (*KeywordMap)["taskNV"] = PERTASKNV; + + (*KeywordMap)["fcoopmatNV"] = FCOOPMATNV; + (*KeywordMap)["icoopmatNV"] = ICOOPMATNV; + (*KeywordMap)["ucoopmatNV"] = UCOOPMATNV; + + ReservedSet = new std::unordered_set; + + ReservedSet->insert("common"); + ReservedSet->insert("partition"); + ReservedSet->insert("active"); + ReservedSet->insert("asm"); + ReservedSet->insert("class"); + ReservedSet->insert("union"); + ReservedSet->insert("enum"); + ReservedSet->insert("typedef"); + ReservedSet->insert("template"); + ReservedSet->insert("this"); + ReservedSet->insert("goto"); + ReservedSet->insert("inline"); + ReservedSet->insert("noinline"); + ReservedSet->insert("public"); + ReservedSet->insert("static"); + ReservedSet->insert("extern"); + ReservedSet->insert("external"); + ReservedSet->insert("interface"); + ReservedSet->insert("long"); + ReservedSet->insert("short"); + ReservedSet->insert("half"); + ReservedSet->insert("fixed"); + ReservedSet->insert("unsigned"); + ReservedSet->insert("input"); + ReservedSet->insert("output"); + ReservedSet->insert("hvec2"); + ReservedSet->insert("hvec3"); + ReservedSet->insert("hvec4"); + ReservedSet->insert("fvec2"); + ReservedSet->insert("fvec3"); + ReservedSet->insert("fvec4"); + ReservedSet->insert("sampler3DRect"); + ReservedSet->insert("filter"); + ReservedSet->insert("sizeof"); + ReservedSet->insert("cast"); + ReservedSet->insert("namespace"); + ReservedSet->insert("using"); +#endif +} + +void TScanContext::deleteKeywordMap() +{ + delete KeywordMap; + KeywordMap = nullptr; +#ifndef GLSLANG_WEB + delete ReservedSet; + ReservedSet = nullptr; +#endif +} + +// Called by yylex to get the next token. +// Returning 0 implies end of input. +int TScanContext::tokenize(TPpContext* pp, TParserToken& token) +{ + do { + parserToken = &token; + TPpToken ppToken; + int token = pp->tokenize(ppToken); + if (token == EndOfInput) + return 0; + + tokenText = ppToken.name; + loc = ppToken.loc; + parserToken->sType.lex.loc = loc; + switch (token) { + case ';': afterType = false; afterBuffer = false; return SEMICOLON; + case ',': afterType = false; return COMMA; + case ':': return COLON; + case '=': afterType = false; return EQUAL; + case '(': afterType = false; return LEFT_PAREN; + case ')': afterType = false; return RIGHT_PAREN; + case '.': field = true; return DOT; + case '!': return BANG; + case '-': return DASH; + case '~': return TILDE; + case '+': return PLUS; + case '*': return STAR; + case '/': return SLASH; + case '%': return PERCENT; + case '<': return LEFT_ANGLE; + case '>': return RIGHT_ANGLE; + case '|': return VERTICAL_BAR; + case '^': return CARET; + case '&': return AMPERSAND; + case '?': return QUESTION; + case '[': return LEFT_BRACKET; + case ']': return RIGHT_BRACKET; + case '{': afterStruct = false; afterBuffer = false; return LEFT_BRACE; + case '}': return RIGHT_BRACE; + case '\\': + parseContext.error(loc, "illegal use of escape character", "\\", ""); + break; + + case PPAtomAddAssign: return ADD_ASSIGN; + case PPAtomSubAssign: return SUB_ASSIGN; + case PPAtomMulAssign: return MUL_ASSIGN; + case PPAtomDivAssign: return DIV_ASSIGN; + case PPAtomModAssign: return MOD_ASSIGN; + + case PpAtomRight: return RIGHT_OP; + case PpAtomLeft: return LEFT_OP; + + case PpAtomRightAssign: return RIGHT_ASSIGN; + case PpAtomLeftAssign: return LEFT_ASSIGN; + case PpAtomAndAssign: return AND_ASSIGN; + case PpAtomOrAssign: return OR_ASSIGN; + case PpAtomXorAssign: return XOR_ASSIGN; + + case PpAtomAnd: return AND_OP; + case PpAtomOr: return OR_OP; + case PpAtomXor: return XOR_OP; + + case PpAtomEQ: return EQ_OP; + case PpAtomGE: return GE_OP; + case PpAtomNE: return NE_OP; + case PpAtomLE: return LE_OP; + + case PpAtomDecrement: return DEC_OP; + case PpAtomIncrement: return INC_OP; + + case PpAtomColonColon: + parseContext.error(loc, "not supported", "::", ""); + break; + + case PpAtomConstString: parserToken->sType.lex.string = NewPoolTString(tokenText); return STRING_LITERAL; + case PpAtomConstInt: parserToken->sType.lex.i = ppToken.ival; return INTCONSTANT; + case PpAtomConstUint: parserToken->sType.lex.i = ppToken.ival; return UINTCONSTANT; + case PpAtomConstFloat: parserToken->sType.lex.d = ppToken.dval; return FLOATCONSTANT; +#ifndef GLSLANG_WEB + case PpAtomConstInt16: parserToken->sType.lex.i = ppToken.ival; return INT16CONSTANT; + case PpAtomConstUint16: parserToken->sType.lex.i = ppToken.ival; return UINT16CONSTANT; + case PpAtomConstInt64: parserToken->sType.lex.i64 = ppToken.i64val; return INT64CONSTANT; + case PpAtomConstUint64: parserToken->sType.lex.i64 = ppToken.i64val; return UINT64CONSTANT; + case PpAtomConstDouble: parserToken->sType.lex.d = ppToken.dval; return DOUBLECONSTANT; + case PpAtomConstFloat16: parserToken->sType.lex.d = ppToken.dval; return FLOAT16CONSTANT; +#endif + case PpAtomIdentifier: + { + int token = tokenizeIdentifier(); + field = false; + return token; + } + + case EndOfInput: return 0; + + default: + char buf[2]; + buf[0] = (char)token; + buf[1] = 0; + parseContext.error(loc, "unexpected token", buf, ""); + break; + } + } while (true); +} + +int TScanContext::tokenizeIdentifier() +{ +#ifndef GLSLANG_WEB + if (ReservedSet->find(tokenText) != ReservedSet->end()) + return reservedWord(); +#endif + + auto it = KeywordMap->find(tokenText); + if (it == KeywordMap->end()) { + // Should have an identifier of some sort + return identifierOrType(); + } + keyword = it->second; + + switch (keyword) { + case CONST: + case UNIFORM: + case IN: + case OUT: + case INOUT: + case BREAK: + case CONTINUE: + case DO: + case FOR: + case WHILE: + case IF: + case ELSE: + case DISCARD: + case RETURN: + case CASE: + return keyword; + + case TERMINATE_INVOCATION: + if (!parseContext.extensionTurnedOn(E_GL_EXT_terminate_invocation)) + return identifierOrType(); + return keyword; + + case TERMINATE_RAY: + case IGNORE_INTERSECTION: + if (!parseContext.extensionTurnedOn(E_GL_EXT_ray_tracing)) + return identifierOrType(); + return keyword; + + case BUFFER: + afterBuffer = true; + if ((parseContext.isEsProfile() && parseContext.version < 310) || + (!parseContext.isEsProfile() && (parseContext.version < 430 && + !parseContext.extensionTurnedOn(E_GL_ARB_shader_storage_buffer_object)))) + return identifierOrType(); + return keyword; + + case STRUCT: + afterStruct = true; + return keyword; + + case SWITCH: + case DEFAULT: + if ((parseContext.isEsProfile() && parseContext.version < 300) || + (!parseContext.isEsProfile() && parseContext.version < 130)) + reservedWord(); + return keyword; + + case VOID: + case BOOL: + case FLOAT: + case INT: + case BVEC2: + case BVEC3: + case BVEC4: + case VEC2: + case VEC3: + case VEC4: + case IVEC2: + case IVEC3: + case IVEC4: + case MAT2: + case MAT3: + case MAT4: + case SAMPLER2D: + case SAMPLERCUBE: + afterType = true; + return keyword; + + case BOOLCONSTANT: + if (strcmp("true", tokenText) == 0) + parserToken->sType.lex.b = true; + else + parserToken->sType.lex.b = false; + return keyword; + + case SMOOTH: + if ((parseContext.isEsProfile() && parseContext.version < 300) || + (!parseContext.isEsProfile() && parseContext.version < 130)) + return identifierOrType(); + return keyword; + case FLAT: + if (parseContext.isEsProfile() && parseContext.version < 300) + reservedWord(); + else if (!parseContext.isEsProfile() && parseContext.version < 130) + return identifierOrType(); + return keyword; + case CENTROID: + if (parseContext.version < 120) + return identifierOrType(); + return keyword; + case INVARIANT: + if (!parseContext.isEsProfile() && parseContext.version < 120) + return identifierOrType(); + return keyword; + case PACKED: + if ((parseContext.isEsProfile() && parseContext.version < 300) || + (!parseContext.isEsProfile() && parseContext.version < 140)) + return reservedWord(); + return identifierOrType(); + + case RESOURCE: + { + bool reserved = (parseContext.isEsProfile() && parseContext.version >= 300) || + (!parseContext.isEsProfile() && parseContext.version >= 420); + return identifierOrReserved(reserved); + } + case SUPERP: + { + bool reserved = parseContext.isEsProfile() || parseContext.version >= 130; + return identifierOrReserved(reserved); + } + +#ifndef GLSLANG_WEB + case NOPERSPECTIVE: + if (parseContext.extensionTurnedOn(E_GL_NV_shader_noperspective_interpolation)) + return keyword; + return es30ReservedFromGLSL(130); + + case NONUNIFORM: + if (parseContext.extensionTurnedOn(E_GL_EXT_nonuniform_qualifier)) + return keyword; + else + return identifierOrType(); + case ATTRIBUTE: + case VARYING: + if (parseContext.isEsProfile() && parseContext.version >= 300) + reservedWord(); + return keyword; + case PAYLOADNV: + case PAYLOADINNV: + case HITATTRNV: + case CALLDATANV: + case CALLDATAINNV: + case ACCSTRUCTNV: + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_NV_ray_tracing)) + return keyword; + return identifierOrType(); + case PAYLOADEXT: + case PAYLOADINEXT: + case HITATTREXT: + case CALLDATAEXT: + case CALLDATAINEXT: + case ACCSTRUCTEXT: + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_ray_tracing) || + parseContext.extensionTurnedOn(E_GL_EXT_ray_query)) + return keyword; + return identifierOrType(); + case RAYQUERYEXT: + if (parseContext.symbolTable.atBuiltInLevel() || + (!parseContext.isEsProfile() && parseContext.version >= 460 + && parseContext.extensionTurnedOn(E_GL_EXT_ray_query))) + return keyword; + return identifierOrType(); + case ATOMIC_UINT: + if ((parseContext.isEsProfile() && parseContext.version >= 310) || + parseContext.extensionTurnedOn(E_GL_ARB_shader_atomic_counters)) + return keyword; + return es30ReservedFromGLSL(420); + + case COHERENT: + case DEVICECOHERENT: + case QUEUEFAMILYCOHERENT: + case WORKGROUPCOHERENT: + case SUBGROUPCOHERENT: + case SHADERCALLCOHERENT: + case NONPRIVATE: + case RESTRICT: + case READONLY: + case WRITEONLY: + if (parseContext.isEsProfile() && parseContext.version >= 310) + return keyword; + return es30ReservedFromGLSL(parseContext.extensionTurnedOn(E_GL_ARB_shader_image_load_store) ? 130 : 420); + case VOLATILE: + if (parseContext.isEsProfile() && parseContext.version >= 310) + return keyword; + if (! parseContext.symbolTable.atBuiltInLevel() && (parseContext.isEsProfile() || + (parseContext.version < 420 && ! parseContext.extensionTurnedOn(E_GL_ARB_shader_image_load_store)))) + reservedWord(); + return keyword; + case PATCH: + if (parseContext.symbolTable.atBuiltInLevel() || + (parseContext.isEsProfile() && + (parseContext.version >= 320 || + parseContext.extensionsTurnedOn(Num_AEP_tessellation_shader, AEP_tessellation_shader))) || + (!parseContext.isEsProfile() && parseContext.extensionTurnedOn(E_GL_ARB_tessellation_shader))) + return keyword; + + return es30ReservedFromGLSL(400); + + case SAMPLE: + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(1, &E_GL_OES_shader_multisample_interpolation)) + return keyword; + return es30ReservedFromGLSL(400); + + case SUBROUTINE: + return es30ReservedFromGLSL(400); +#endif + case SHARED: + if ((parseContext.isEsProfile() && parseContext.version < 300) || + (!parseContext.isEsProfile() && parseContext.version < 140)) + return identifierOrType(); + return keyword; + case LAYOUT: + { + const int numLayoutExts = 2; + const char* layoutExts[numLayoutExts] = { E_GL_ARB_shading_language_420pack, + E_GL_ARB_explicit_attrib_location }; + if ((parseContext.isEsProfile() && parseContext.version < 300) || + (!parseContext.isEsProfile() && parseContext.version < 140 && + ! parseContext.extensionsTurnedOn(numLayoutExts, layoutExts))) + return identifierOrType(); + return keyword; + } + + case HIGH_PRECISION: + case MEDIUM_PRECISION: + case LOW_PRECISION: + case PRECISION: + return precisionKeyword(); + + case MAT2X2: + case MAT2X3: + case MAT2X4: + case MAT3X2: + case MAT3X3: + case MAT3X4: + case MAT4X2: + case MAT4X3: + case MAT4X4: + return matNxM(); + +#ifndef GLSLANG_WEB + case DMAT2: + case DMAT3: + case DMAT4: + case DMAT2X2: + case DMAT2X3: + case DMAT2X4: + case DMAT3X2: + case DMAT3X3: + case DMAT3X4: + case DMAT4X2: + case DMAT4X3: + case DMAT4X4: + return dMat(); + + case IMAGE1D: + case IIMAGE1D: + case UIMAGE1D: + case IMAGE1DARRAY: + case IIMAGE1DARRAY: + case UIMAGE1DARRAY: + case IMAGE2DRECT: + case IIMAGE2DRECT: + case UIMAGE2DRECT: + afterType = true; + return firstGenerationImage(false); + + case I64IMAGE1D: + case U64IMAGE1D: + case I64IMAGE1DARRAY: + case U64IMAGE1DARRAY: + case I64IMAGE2DRECT: + case U64IMAGE2DRECT: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_image_int64)) { + return firstGenerationImage(false); + } + return identifierOrType(); + + case IMAGEBUFFER: + case IIMAGEBUFFER: + case UIMAGEBUFFER: + afterType = true; + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer)) + return keyword; + return firstGenerationImage(false); + + case I64IMAGEBUFFER: + case U64IMAGEBUFFER: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_image_int64)) { + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer)) + return keyword; + return firstGenerationImage(false); + } + return identifierOrType(); + + case IMAGE2D: + case IIMAGE2D: + case UIMAGE2D: + case IMAGE3D: + case IIMAGE3D: + case UIMAGE3D: + case IMAGECUBE: + case IIMAGECUBE: + case UIMAGECUBE: + case IMAGE2DARRAY: + case IIMAGE2DARRAY: + case UIMAGE2DARRAY: + afterType = true; + return firstGenerationImage(true); + + case I64IMAGE2D: + case U64IMAGE2D: + case I64IMAGE3D: + case U64IMAGE3D: + case I64IMAGECUBE: + case U64IMAGECUBE: + case I64IMAGE2DARRAY: + case U64IMAGE2DARRAY: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_image_int64)) + return firstGenerationImage(true); + return identifierOrType(); + + case IMAGECUBEARRAY: + case IIMAGECUBEARRAY: + case UIMAGECUBEARRAY: + afterType = true; + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(Num_AEP_texture_cube_map_array, AEP_texture_cube_map_array)) + return keyword; + return secondGenerationImage(); + + case I64IMAGECUBEARRAY: + case U64IMAGECUBEARRAY: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_image_int64)) { + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(Num_AEP_texture_cube_map_array, AEP_texture_cube_map_array)) + return keyword; + return secondGenerationImage(); + } + return identifierOrType(); + + case IMAGE2DMS: + case IIMAGE2DMS: + case UIMAGE2DMS: + case IMAGE2DMSARRAY: + case IIMAGE2DMSARRAY: + case UIMAGE2DMSARRAY: + afterType = true; + return secondGenerationImage(); + + case I64IMAGE2DMS: + case U64IMAGE2DMS: + case I64IMAGE2DMSARRAY: + case U64IMAGE2DMSARRAY: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_image_int64)) { + return secondGenerationImage(); + } + return identifierOrType(); + + case DOUBLE: + case DVEC2: + case DVEC3: + case DVEC4: + afterType = true; + if (parseContext.isEsProfile() || parseContext.version < 150 || + (!parseContext.symbolTable.atBuiltInLevel() && + (parseContext.version < 400 && !parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_fp64) && + (parseContext.version < 410 && !parseContext.extensionTurnedOn(E_GL_ARB_vertex_attrib_64bit))))) + reservedWord(); + return keyword; + + case INT64_T: + case UINT64_T: + case I64VEC2: + case I64VEC3: + case I64VEC4: + case U64VEC2: + case U64VEC3: + case U64VEC4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_int64) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int64)) + return keyword; + return identifierOrType(); + + case INT8_T: + case UINT8_T: + case I8VEC2: + case I8VEC3: + case I8VEC4: + case U8VEC2: + case U8VEC3: + case U8VEC4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_8bit_storage) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int8)) + return keyword; + return identifierOrType(); + + case INT16_T: + case UINT16_T: + case I16VEC2: + case I16VEC3: + case I16VEC4: + case U16VEC2: + case U16VEC3: + case U16VEC4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_int16) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_16bit_storage) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int16)) + return keyword; + return identifierOrType(); + case INT32_T: + case UINT32_T: + case I32VEC2: + case I32VEC3: + case I32VEC4: + case U32VEC2: + case U32VEC3: + case U32VEC4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_int32)) + return keyword; + return identifierOrType(); + case FLOAT32_T: + case F32VEC2: + case F32VEC3: + case F32VEC4: + case F32MAT2: + case F32MAT3: + case F32MAT4: + case F32MAT2X2: + case F32MAT2X3: + case F32MAT2X4: + case F32MAT3X2: + case F32MAT3X3: + case F32MAT3X4: + case F32MAT4X2: + case F32MAT4X3: + case F32MAT4X4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_float32)) + return keyword; + return identifierOrType(); + + case FLOAT64_T: + case F64VEC2: + case F64VEC3: + case F64VEC4: + case F64MAT2: + case F64MAT3: + case F64MAT4: + case F64MAT2X2: + case F64MAT2X3: + case F64MAT2X4: + case F64MAT3X2: + case F64MAT3X3: + case F64MAT3X4: + case F64MAT4X2: + case F64MAT4X3: + case F64MAT4X4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_float64)) + return keyword; + return identifierOrType(); + + case FLOAT16_T: + case F16VEC2: + case F16VEC3: + case F16VEC4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_16bit_storage) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_float16)) + return keyword; + + return identifierOrType(); + + case F16MAT2: + case F16MAT3: + case F16MAT4: + case F16MAT2X2: + case F16MAT2X3: + case F16MAT2X4: + case F16MAT3X2: + case F16MAT3X3: + case F16MAT3X4: + case F16MAT4X2: + case F16MAT4X3: + case F16MAT4X4: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types) || + parseContext.extensionTurnedOn(E_GL_EXT_shader_explicit_arithmetic_types_float16)) + return keyword; + + return identifierOrType(); + + case SAMPLERCUBEARRAY: + case SAMPLERCUBEARRAYSHADOW: + case ISAMPLERCUBEARRAY: + case USAMPLERCUBEARRAY: + afterType = true; + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(Num_AEP_texture_cube_map_array, AEP_texture_cube_map_array)) + return keyword; + if (parseContext.isEsProfile() || (parseContext.version < 400 && ! parseContext.extensionTurnedOn(E_GL_ARB_texture_cube_map_array))) + reservedWord(); + return keyword; + + case TEXTURECUBEARRAY: + case ITEXTURECUBEARRAY: + case UTEXTURECUBEARRAY: + if (parseContext.spvVersion.vulkan > 0) + return keyword; + else + return identifierOrType(); +#endif + + case UINT: + case UVEC2: + case UVEC3: + case UVEC4: + case SAMPLERCUBESHADOW: + case SAMPLER2DARRAY: + case SAMPLER2DARRAYSHADOW: + case ISAMPLER2D: + case ISAMPLER3D: + case ISAMPLERCUBE: + case ISAMPLER2DARRAY: + case USAMPLER2D: + case USAMPLER3D: + case USAMPLERCUBE: + case USAMPLER2DARRAY: + afterType = true; + return nonreservedKeyword(300, 130); + + case SAMPLER3D: + afterType = true; + if (parseContext.isEsProfile() && parseContext.version < 300) { + if (!parseContext.extensionTurnedOn(E_GL_OES_texture_3D)) + reservedWord(); + } + return keyword; + + case SAMPLER2DSHADOW: + afterType = true; + if (parseContext.isEsProfile() && parseContext.version < 300) { + if (!parseContext.extensionTurnedOn(E_GL_EXT_shadow_samplers)) + reservedWord(); + } + return keyword; + + case TEXTURE2D: + case TEXTURECUBE: + case TEXTURE2DARRAY: + case ITEXTURE2D: + case ITEXTURE3D: + case ITEXTURECUBE: + case ITEXTURE2DARRAY: + case UTEXTURE2D: + case UTEXTURE3D: + case UTEXTURECUBE: + case UTEXTURE2DARRAY: + case TEXTURE3D: + case SAMPLER: + case SAMPLERSHADOW: + if (parseContext.spvVersion.vulkan > 0) + return keyword; + else + return identifierOrType(); + +#ifndef GLSLANG_WEB + case ISAMPLER1D: + case ISAMPLER1DARRAY: + case SAMPLER1DARRAYSHADOW: + case USAMPLER1D: + case USAMPLER1DARRAY: + afterType = true; + return es30ReservedFromGLSL(130); + case ISAMPLER2DRECT: + case USAMPLER2DRECT: + afterType = true; + return es30ReservedFromGLSL(140); + + case SAMPLERBUFFER: + afterType = true; + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer)) + return keyword; + return es30ReservedFromGLSL(130); + + case ISAMPLERBUFFER: + case USAMPLERBUFFER: + afterType = true; + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer)) + return keyword; + return es30ReservedFromGLSL(140); + + case SAMPLER2DMS: + case ISAMPLER2DMS: + case USAMPLER2DMS: + afterType = true; + if (parseContext.isEsProfile() && parseContext.version >= 310) + return keyword; + if (!parseContext.isEsProfile() && (parseContext.version > 140 || + (parseContext.version == 140 && parseContext.extensionsTurnedOn(1, &E_GL_ARB_texture_multisample)))) + return keyword; + return es30ReservedFromGLSL(150); + + case SAMPLER2DMSARRAY: + case ISAMPLER2DMSARRAY: + case USAMPLER2DMSARRAY: + afterType = true; + if ((parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionsTurnedOn(1, &E_GL_OES_texture_storage_multisample_2d_array)) + return keyword; + if (!parseContext.isEsProfile() && (parseContext.version > 140 || + (parseContext.version == 140 && parseContext.extensionsTurnedOn(1, &E_GL_ARB_texture_multisample)))) + return keyword; + return es30ReservedFromGLSL(150); + + case SAMPLER1D: + case SAMPLER1DSHADOW: + afterType = true; + if (parseContext.isEsProfile()) + reservedWord(); + return keyword; + + case SAMPLER2DRECT: + case SAMPLER2DRECTSHADOW: + afterType = true; + if (parseContext.isEsProfile()) + reservedWord(); + else if (parseContext.version < 140 && ! parseContext.symbolTable.atBuiltInLevel() && ! parseContext.extensionTurnedOn(E_GL_ARB_texture_rectangle)) { + if (parseContext.relaxedErrors()) + parseContext.requireExtensions(loc, 1, &E_GL_ARB_texture_rectangle, "texture-rectangle sampler keyword"); + else + reservedWord(); + } + return keyword; + + case SAMPLER1DARRAY: + afterType = true; + if (parseContext.isEsProfile() && parseContext.version == 300) + reservedWord(); + else if ((parseContext.isEsProfile() && parseContext.version < 300) || + (!parseContext.isEsProfile() && parseContext.version < 130)) + return identifierOrType(); + return keyword; + + case SAMPLEREXTERNALOES: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_OES_EGL_image_external) || + parseContext.extensionTurnedOn(E_GL_OES_EGL_image_external_essl3)) + return keyword; + return identifierOrType(); + + case SAMPLEREXTERNAL2DY2YEXT: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_EXT_YUV_target)) + return keyword; + return identifierOrType(); + + case ITEXTURE1DARRAY: + case UTEXTURE1D: + case ITEXTURE1D: + case UTEXTURE1DARRAY: + case TEXTUREBUFFER: + case ITEXTURE2DRECT: + case UTEXTURE2DRECT: + case ITEXTUREBUFFER: + case UTEXTUREBUFFER: + case TEXTURE2DMS: + case ITEXTURE2DMS: + case UTEXTURE2DMS: + case TEXTURE2DMSARRAY: + case ITEXTURE2DMSARRAY: + case UTEXTURE2DMSARRAY: + case TEXTURE1D: + case TEXTURE2DRECT: + case TEXTURE1DARRAY: + if (parseContext.spvVersion.vulkan > 0) + return keyword; + else + return identifierOrType(); + + case SUBPASSINPUT: + case SUBPASSINPUTMS: + case ISUBPASSINPUT: + case ISUBPASSINPUTMS: + case USUBPASSINPUT: + case USUBPASSINPUTMS: + if (parseContext.spvVersion.vulkan > 0) + return keyword; + else + return identifierOrType(); + + case F16SAMPLER1D: + case F16SAMPLER2D: + case F16SAMPLER3D: + case F16SAMPLER2DRECT: + case F16SAMPLERCUBE: + case F16SAMPLER1DARRAY: + case F16SAMPLER2DARRAY: + case F16SAMPLERCUBEARRAY: + case F16SAMPLERBUFFER: + case F16SAMPLER2DMS: + case F16SAMPLER2DMSARRAY: + case F16SAMPLER1DSHADOW: + case F16SAMPLER2DSHADOW: + case F16SAMPLER1DARRAYSHADOW: + case F16SAMPLER2DARRAYSHADOW: + case F16SAMPLER2DRECTSHADOW: + case F16SAMPLERCUBESHADOW: + case F16SAMPLERCUBEARRAYSHADOW: + + case F16IMAGE1D: + case F16IMAGE2D: + case F16IMAGE3D: + case F16IMAGE2DRECT: + case F16IMAGECUBE: + case F16IMAGE1DARRAY: + case F16IMAGE2DARRAY: + case F16IMAGECUBEARRAY: + case F16IMAGEBUFFER: + case F16IMAGE2DMS: + case F16IMAGE2DMSARRAY: + + case F16TEXTURE1D: + case F16TEXTURE2D: + case F16TEXTURE3D: + case F16TEXTURE2DRECT: + case F16TEXTURECUBE: + case F16TEXTURE1DARRAY: + case F16TEXTURE2DARRAY: + case F16TEXTURECUBEARRAY: + case F16TEXTUREBUFFER: + case F16TEXTURE2DMS: + case F16TEXTURE2DMSARRAY: + + case F16SUBPASSINPUT: + case F16SUBPASSINPUTMS: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float_fetch)) + return keyword; + return identifierOrType(); + + case EXPLICITINTERPAMD: + if (parseContext.extensionTurnedOn(E_GL_AMD_shader_explicit_vertex_parameter)) + return keyword; + return identifierOrType(); + + case PERVERTEXNV: + if ((!parseContext.isEsProfile() && parseContext.version >= 450) || + parseContext.extensionTurnedOn(E_GL_NV_fragment_shader_barycentric)) + return keyword; + return identifierOrType(); + + case PRECISE: + if ((parseContext.isEsProfile() && + (parseContext.version >= 320 || parseContext.extensionsTurnedOn(Num_AEP_gpu_shader5, AEP_gpu_shader5))) || + (!parseContext.isEsProfile() && parseContext.version >= 400)) + return keyword; + if (parseContext.isEsProfile() && parseContext.version == 310) { + reservedWord(); + return keyword; + } + return identifierOrType(); + + case PERPRIMITIVENV: + case PERVIEWNV: + case PERTASKNV: + if ((!parseContext.isEsProfile() && parseContext.version >= 450) || + (parseContext.isEsProfile() && parseContext.version >= 320) || + parseContext.extensionTurnedOn(E_GL_NV_mesh_shader)) + return keyword; + return identifierOrType(); + + case FCOOPMATNV: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_NV_cooperative_matrix)) + return keyword; + return identifierOrType(); + + case UCOOPMATNV: + case ICOOPMATNV: + afterType = true; + if (parseContext.symbolTable.atBuiltInLevel() || + parseContext.extensionTurnedOn(E_GL_NV_integer_cooperative_matrix)) + return keyword; + return identifierOrType(); + + case DEMOTE: + if (parseContext.extensionTurnedOn(E_GL_EXT_demote_to_helper_invocation)) + return keyword; + else + return identifierOrType(); +#endif + + default: + parseContext.infoSink.info.message(EPrefixInternalError, "Unknown glslang keyword", loc); + return 0; + } +} + +int TScanContext::identifierOrType() +{ + parserToken->sType.lex.string = NewPoolTString(tokenText); + if (field) + return IDENTIFIER; + + parserToken->sType.lex.symbol = parseContext.symbolTable.find(*parserToken->sType.lex.string); + if ((afterType == false && afterStruct == false) && parserToken->sType.lex.symbol != nullptr) { + if (const TVariable* variable = parserToken->sType.lex.symbol->getAsVariable()) { + if (variable->isUserType() && + // treat redeclaration of forward-declared buffer/uniform reference as an identifier + !(variable->getType().isReference() && afterBuffer)) { + afterType = true; + + return TYPE_NAME; + } + } + } + + return IDENTIFIER; +} + +// Give an error for use of a reserved symbol. +// However, allow built-in declarations to use reserved words, to allow +// extension support before the extension is enabled. +int TScanContext::reservedWord() +{ + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.error(loc, "Reserved word.", tokenText, "", ""); + + return 0; +} + +int TScanContext::identifierOrReserved(bool reserved) +{ + if (reserved) { + reservedWord(); + + return 0; + } + + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "using future reserved keyword", tokenText, ""); + + return identifierOrType(); +} + +// For keywords that suddenly showed up on non-ES (not previously reserved) +// but then got reserved by ES 3.0. +int TScanContext::es30ReservedFromGLSL(int version) +{ + if (parseContext.symbolTable.atBuiltInLevel()) + return keyword; + + if ((parseContext.isEsProfile() && parseContext.version < 300) || + (!parseContext.isEsProfile() && parseContext.version < version)) { + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "future reserved word in ES 300 and keyword in GLSL", tokenText, ""); + + return identifierOrType(); + } else if (parseContext.isEsProfile() && parseContext.version >= 300) + reservedWord(); + + return keyword; +} + +// For a keyword that was never reserved, until it suddenly +// showed up, both in an es version and a non-ES version. +int TScanContext::nonreservedKeyword(int esVersion, int nonEsVersion) +{ + if ((parseContext.isEsProfile() && parseContext.version < esVersion) || + (!parseContext.isEsProfile() && parseContext.version < nonEsVersion)) { + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "using future keyword", tokenText, ""); + + return identifierOrType(); + } + + return keyword; +} + +int TScanContext::precisionKeyword() +{ + if (parseContext.isEsProfile() || parseContext.version >= 130) + return keyword; + + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "using ES precision qualifier keyword", tokenText, ""); + + return identifierOrType(); +} + +int TScanContext::matNxM() +{ + afterType = true; + + if (parseContext.version > 110) + return keyword; + + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "using future non-square matrix type keyword", tokenText, ""); + + return identifierOrType(); +} + +int TScanContext::dMat() +{ + afterType = true; + + if (parseContext.isEsProfile() && parseContext.version >= 300) { + reservedWord(); + + return keyword; + } + + if (!parseContext.isEsProfile() && (parseContext.version >= 400 || + parseContext.symbolTable.atBuiltInLevel() || + (parseContext.version >= 150 && parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_fp64)) || + (parseContext.version >= 150 && parseContext.extensionTurnedOn(E_GL_ARB_vertex_attrib_64bit) + && parseContext.language == EShLangVertex))) + return keyword; + + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "using future type keyword", tokenText, ""); + + return identifierOrType(); +} + +int TScanContext::firstGenerationImage(bool inEs310) +{ + if (parseContext.symbolTable.atBuiltInLevel() || + (!parseContext.isEsProfile() && (parseContext.version >= 420 || + parseContext.extensionTurnedOn(E_GL_ARB_shader_image_load_store))) || + (inEs310 && parseContext.isEsProfile() && parseContext.version >= 310)) + return keyword; + + if ((parseContext.isEsProfile() && parseContext.version >= 300) || + (!parseContext.isEsProfile() && parseContext.version >= 130)) { + reservedWord(); + + return keyword; + } + + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "using future type keyword", tokenText, ""); + + return identifierOrType(); +} + +int TScanContext::secondGenerationImage() +{ + if (parseContext.isEsProfile() && parseContext.version >= 310) { + reservedWord(); + return keyword; + } + + if (parseContext.symbolTable.atBuiltInLevel() || + (!parseContext.isEsProfile() && + (parseContext.version >= 420 || parseContext.extensionTurnedOn(E_GL_ARB_shader_image_load_store)))) + return keyword; + + if (parseContext.isForwardCompatible()) + parseContext.warn(loc, "using future type keyword", tokenText, ""); + + return identifierOrType(); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Scan.h b/android/x86_64/include/glslang/Include/MachineIndependent/Scan.h new file mode 100644 index 00000000..24b75cf7 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Scan.h @@ -0,0 +1,276 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +#ifndef _GLSLANG_SCAN_INCLUDED_ +#define _GLSLANG_SCAN_INCLUDED_ + +#include "Versions.h" + +namespace glslang { + +// Use a global end-of-input character, so no translation is needed across +// layers of encapsulation. Characters are all 8 bit, and positive, so there is +// no aliasing of character 255 onto -1, for example. +const int EndOfInput = -1; + +// +// A character scanner that seamlessly, on read-only strings, reads across an +// array of strings without assuming null termination. +// +class TInputScanner { +public: + TInputScanner(int n, const char* const s[], size_t L[], const char* const* names = nullptr, + int b = 0, int f = 0, bool single = false) : + numSources(n), + // up to this point, common usage is "char*", but now we need positive 8-bit characters + sources(reinterpret_cast(s)), + lengths(L), currentSource(0), currentChar(0), stringBias(b), finale(f), singleLogical(single), + endOfFileReached(false) + { + loc = new TSourceLoc[numSources]; + for (int i = 0; i < numSources; ++i) { + loc[i].init(i - stringBias); + } + if (names != nullptr) { + for (int i = 0; i < numSources; ++i) + loc[i].name = names[i] != nullptr ? NewPoolTString(names[i]) : nullptr; + } + loc[currentSource].line = 1; + logicalSourceLoc.init(1); + logicalSourceLoc.name = loc[0].name; + } + + virtual ~TInputScanner() + { + delete [] loc; + } + + // retrieve the next character and advance one character + int get() + { + int ret = peek(); + if (ret == EndOfInput) + return ret; + ++loc[currentSource].column; + ++logicalSourceLoc.column; + if (ret == '\n') { + ++loc[currentSource].line; + ++logicalSourceLoc.line; + logicalSourceLoc.column = 0; + loc[currentSource].column = 0; + } + advance(); + + return ret; + } + + // retrieve the next character, no advance + int peek() + { + if (currentSource >= numSources) { + endOfFileReached = true; + return EndOfInput; + } + // Make sure we do not read off the end of a string. + // N.B. Sources can have a length of 0. + int sourceToRead = currentSource; + size_t charToRead = currentChar; + while(charToRead >= lengths[sourceToRead]) { + charToRead = 0; + sourceToRead += 1; + if (sourceToRead >= numSources) { + return EndOfInput; + } + } + + // Here, we care about making negative valued characters positive + return sources[sourceToRead][charToRead]; + } + + // go back one character + void unget() + { + // Do not roll back once we've reached the end of the file. + if (endOfFileReached) + return; + + if (currentChar > 0) { + --currentChar; + --loc[currentSource].column; + --logicalSourceLoc.column; + if (loc[currentSource].column < 0) { + // We've moved back past a new line. Find the + // previous newline (or start of the file) to compute + // the column count on the now current line. + size_t chIndex = currentChar; + while (chIndex > 0) { + if (sources[currentSource][chIndex] == '\n') { + break; + } + --chIndex; + } + logicalSourceLoc.column = (int)(currentChar - chIndex); + loc[currentSource].column = (int)(currentChar - chIndex); + } + } else { + do { + --currentSource; + } while (currentSource > 0 && lengths[currentSource] == 0); + if (lengths[currentSource] == 0) { + // set to 0 if we've backed up to the start of an empty string + currentChar = 0; + } else + currentChar = lengths[currentSource] - 1; + } + if (peek() == '\n') { + --loc[currentSource].line; + --logicalSourceLoc.line; + } + } + + // for #line override + void setLine(int newLine) + { + logicalSourceLoc.line = newLine; + loc[getLastValidSourceIndex()].line = newLine; + } + + // for #line override in filename based parsing + void setFile(const char* filename) + { + TString* fn_tstr = NewPoolTString(filename); + logicalSourceLoc.name = fn_tstr; + loc[getLastValidSourceIndex()].name = fn_tstr; + } + + void setFile(const char* filename, int i) + { + TString* fn_tstr = NewPoolTString(filename); + if (i == getLastValidSourceIndex()) { + logicalSourceLoc.name = fn_tstr; + } + loc[i].name = fn_tstr; + } + + void setString(int newString) + { + logicalSourceLoc.string = newString; + loc[getLastValidSourceIndex()].string = newString; + logicalSourceLoc.name = nullptr; + loc[getLastValidSourceIndex()].name = nullptr; + } + + // for #include content indentation + void setColumn(int col) + { + logicalSourceLoc.column = col; + loc[getLastValidSourceIndex()].column = col; + } + + void setEndOfInput() + { + endOfFileReached = true; + currentSource = numSources; + } + + bool atEndOfInput() const { return endOfFileReached; } + + const TSourceLoc& getSourceLoc() const + { + if (singleLogical) { + return logicalSourceLoc; + } else { + return loc[std::max(0, std::min(currentSource, numSources - finale - 1))]; + } + } + // Returns the index (starting from 0) of the most recent valid source string we are reading from. + int getLastValidSourceIndex() const { return std::min(currentSource, numSources - 1); } + + void consumeWhiteSpace(bool& foundNonSpaceTab); + bool consumeComment(); + void consumeWhitespaceComment(bool& foundNonSpaceTab); + bool scanVersion(int& version, EProfile& profile, bool& notFirstToken); + +protected: + + // advance one character + void advance() + { + ++currentChar; + if (currentChar >= lengths[currentSource]) { + ++currentSource; + if (currentSource < numSources) { + loc[currentSource].string = loc[currentSource - 1].string + 1; + loc[currentSource].line = 1; + loc[currentSource].column = 0; + } + while (currentSource < numSources && lengths[currentSource] == 0) { + ++currentSource; + if (currentSource < numSources) { + loc[currentSource].string = loc[currentSource - 1].string + 1; + loc[currentSource].line = 1; + loc[currentSource].column = 0; + } + } + currentChar = 0; + } + } + + int numSources; // number of strings in source + const unsigned char* const *sources; // array of strings; must be converted to positive values on use, to avoid aliasing with -1 as EndOfInput + const size_t *lengths; // length of each string + int currentSource; + size_t currentChar; + + // This is for reporting what string/line an error occurred on, and can be overridden by #line. + // It remembers the last state of each source string as it is left for the next one, so unget() + // can restore that state. + TSourceLoc* loc; // an array + + int stringBias; // the first string that is the user's string number 0 + int finale; // number of internal strings after user's last string + + TSourceLoc logicalSourceLoc; + bool singleLogical; // treats the strings as a single logical string. + // locations will be reported from the first string. + + // Set to true once peek() returns EndOfFile, so that we won't roll back + // once we've reached EndOfFile. + bool endOfFileReached; +}; + +} // end namespace glslang + +#endif // _GLSLANG_SCAN_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/ScanContext.h b/android/x86_64/include/glslang/Include/MachineIndependent/ScanContext.h new file mode 100644 index 00000000..74b2b3c7 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/ScanContext.h @@ -0,0 +1,93 @@ +// +// Copyright (C) 2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// This holds context specific to the GLSL scanner, which +// sits between the preprocessor scanner and parser. +// + +#pragma once + +#include "ParseHelper.h" + +namespace glslang { + +class TPpContext; +class TPpToken; +class TParserToken; + +class TScanContext { +public: + explicit TScanContext(TParseContextBase& pc) : + parseContext(pc), + afterType(false), afterStruct(false), + field(false), afterBuffer(false) { } + virtual ~TScanContext() { } + + static void fillInKeywordMap(); + static void deleteKeywordMap(); + + int tokenize(TPpContext*, TParserToken&); + +protected: + TScanContext(TScanContext&); + TScanContext& operator=(TScanContext&); + + int tokenizeIdentifier(); + int identifierOrType(); + int reservedWord(); + int identifierOrReserved(bool reserved); + int es30ReservedFromGLSL(int version); + int nonreservedKeyword(int esVersion, int nonEsVersion); + int precisionKeyword(); + int matNxM(); + int dMat(); + int firstGenerationImage(bool inEs310); + int secondGenerationImage(); + + TParseContextBase& parseContext; + bool afterType; // true if we've recognized a type, so can only be looking for an identifier + bool afterStruct; // true if we've recognized the STRUCT keyword, so can only be looking for an identifier + bool field; // true if we're on a field, right after a '.' + bool afterBuffer; // true if we've recognized the BUFFER keyword + TSourceLoc loc; + TParserToken* parserToken; + TPpToken* ppToken; + + const char* tokenText; + int keyword; +}; + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/ShaderLang.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/ShaderLang.cpp new file mode 100644 index 00000000..c6030bd7 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/ShaderLang.cpp @@ -0,0 +1,2146 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013-2016 LunarG, Inc. +// Copyright (C) 2015-2020 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Implement the top-level of interface to the compiler/linker, +// as defined in ShaderLang.h +// This is the platform independent interface between an OGL driver +// and the shading language compiler/linker. +// +#include +#include +#include +#include +#include "SymbolTable.h" +#include "ParseHelper.h" +#include "Scan.h" +#include "ScanContext.h" + +#ifdef ENABLE_HLSL +#include "../HLSL/hlslParseHelper.h" +#include "../HLSL/hlslParseables.h" +#include "../HLSL/hlslScanContext.h" +#endif + +#include "../Include/ShHandle.h" +#include "../../OGLCompilersDLL/InitializeDll.h" + +#include "preprocessor/PpContext.h" + +#define SH_EXPORTING +#include "../Public/ShaderLang.h" +#include "reflection.h" +#include "iomapper.h" +#include "Initialize.h" + +// TODO: this really shouldn't be here, it is only because of the trial addition +// of printing pre-processed tokens, which requires knowing the string literal +// token to print ", but none of that seems appropriate for this file. +#include "preprocessor/PpTokens.h" + +// Build-time generated includes +#include "glslang/build_info.h" + +namespace { // anonymous namespace for file-local functions and symbols + +// Total number of successful initializers of glslang: a refcount +// Shared global; access should be protected by a global mutex/critical section. +int NumberOfClients = 0; + +using namespace glslang; + +// Create a language specific version of parseables. +TBuiltInParseables* CreateBuiltInParseables(TInfoSink& infoSink, EShSource source) +{ + switch (source) { + case EShSourceGlsl: return new TBuiltIns(); // GLSL builtIns +#ifdef ENABLE_HLSL + case EShSourceHlsl: return new TBuiltInParseablesHlsl(); // HLSL intrinsics +#endif + + default: + infoSink.info.message(EPrefixInternalError, "Unable to determine source language"); + return nullptr; + } +} + +// Create a language specific version of a parse context. +TParseContextBase* CreateParseContext(TSymbolTable& symbolTable, TIntermediate& intermediate, + int version, EProfile profile, EShSource source, + EShLanguage language, TInfoSink& infoSink, + SpvVersion spvVersion, bool forwardCompatible, EShMessages messages, + bool parsingBuiltIns, std::string sourceEntryPointName = "") +{ + switch (source) { + case EShSourceGlsl: { + if (sourceEntryPointName.size() == 0) + intermediate.setEntryPointName("main"); + TString entryPoint = sourceEntryPointName.c_str(); + return new TParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion, + language, infoSink, forwardCompatible, messages, &entryPoint); + } +#ifdef ENABLE_HLSL + case EShSourceHlsl: + return new HlslParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion, + language, infoSink, sourceEntryPointName.c_str(), forwardCompatible, messages); +#endif + default: + infoSink.info.message(EPrefixInternalError, "Unable to determine source language"); + return nullptr; + } +} + +// Local mapping functions for making arrays of symbol tables.... + +const int VersionCount = 17; // index range in MapVersionToIndex + +int MapVersionToIndex(int version) +{ + int index = 0; + + switch (version) { + case 100: index = 0; break; + case 110: index = 1; break; + case 120: index = 2; break; + case 130: index = 3; break; + case 140: index = 4; break; + case 150: index = 5; break; + case 300: index = 6; break; + case 330: index = 7; break; + case 400: index = 8; break; + case 410: index = 9; break; + case 420: index = 10; break; + case 430: index = 11; break; + case 440: index = 12; break; + case 310: index = 13; break; + case 450: index = 14; break; + case 500: index = 0; break; // HLSL + case 320: index = 15; break; + case 460: index = 16; break; + default: assert(0); break; + } + + assert(index < VersionCount); + + return index; +} + +const int SpvVersionCount = 3; // index range in MapSpvVersionToIndex + +int MapSpvVersionToIndex(const SpvVersion& spvVersion) +{ + int index = 0; + + if (spvVersion.openGl > 0) + index = 1; + else if (spvVersion.vulkan > 0) + index = 2; + + assert(index < SpvVersionCount); + + return index; +} + +const int ProfileCount = 4; // index range in MapProfileToIndex + +int MapProfileToIndex(EProfile profile) +{ + int index = 0; + + switch (profile) { + case ENoProfile: index = 0; break; + case ECoreProfile: index = 1; break; + case ECompatibilityProfile: index = 2; break; + case EEsProfile: index = 3; break; + default: break; + } + + assert(index < ProfileCount); + + return index; +} + +const int SourceCount = 2; + +int MapSourceToIndex(EShSource source) +{ + int index = 0; + + switch (source) { + case EShSourceGlsl: index = 0; break; + case EShSourceHlsl: index = 1; break; + default: break; + } + + assert(index < SourceCount); + + return index; +} + +// only one of these needed for non-ES; ES needs 2 for different precision defaults of built-ins +enum EPrecisionClass { + EPcGeneral, + EPcFragment, + EPcCount +}; + +// A process-global symbol table per version per profile for built-ins common +// to multiple stages (languages), and a process-global symbol table per version +// per profile per stage for built-ins unique to each stage. They will be sparsely +// populated, so they will only be generated as needed. +// +// Each has a different set of built-ins, and we want to preserve that from +// compile to compile. +// +TSymbolTable* CommonSymbolTable[VersionCount][SpvVersionCount][ProfileCount][SourceCount][EPcCount] = {}; +TSymbolTable* SharedSymbolTables[VersionCount][SpvVersionCount][ProfileCount][SourceCount][EShLangCount] = {}; + +TPoolAllocator* PerProcessGPA = nullptr; + +// +// Parse and add to the given symbol table the content of the given shader string. +// +bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, + EShSource source, TInfoSink& infoSink, TSymbolTable& symbolTable) +{ + TIntermediate intermediate(language, version, profile); + + intermediate.setSource(source); + + std::unique_ptr parseContext(CreateParseContext(symbolTable, intermediate, version, profile, source, + language, infoSink, spvVersion, true, EShMsgDefault, + true)); + + TShader::ForbidIncluder includer; + TPpContext ppContext(*parseContext, "", includer); + TScanContext scanContext(*parseContext); + parseContext->setScanContext(&scanContext); + parseContext->setPpContext(&ppContext); + + // + // Push the symbol table to give it an initial scope. This + // push should not have a corresponding pop, so that built-ins + // are preserved, and the test for an empty table fails. + // + + symbolTable.push(); + + const char* builtInShaders[2]; + size_t builtInLengths[2]; + builtInShaders[0] = builtIns.c_str(); + builtInLengths[0] = builtIns.size(); + + if (builtInLengths[0] == 0) + return true; + + TInputScanner input(1, builtInShaders, builtInLengths); + if (! parseContext->parseShaderStrings(ppContext, input) != 0) { + infoSink.info.message(EPrefixInternalError, "Unable to parse built-ins"); + printf("Unable to parse built-ins\n%s\n", infoSink.info.c_str()); + printf("%s\n", builtInShaders[0]); + + return false; + } + + return true; +} + +int CommonIndex(EProfile profile, EShLanguage language) +{ + return (profile == EEsProfile && language == EShLangFragment) ? EPcFragment : EPcGeneral; +} + +// +// To initialize per-stage shared tables, with the common table already complete. +// +void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int version, EProfile profile, const SpvVersion& spvVersion, + EShLanguage language, EShSource source, TInfoSink& infoSink, TSymbolTable** commonTable, + TSymbolTable** symbolTables) +{ +#ifdef GLSLANG_WEB + profile = EEsProfile; + version = 310; +#elif defined(GLSLANG_ANGLE) + profile = ECoreProfile; + version = 450; +#endif + + (*symbolTables[language]).adoptLevels(*commonTable[CommonIndex(profile, language)]); + InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, source, + infoSink, *symbolTables[language]); + builtInParseables.identifyBuiltIns(version, profile, spvVersion, language, *symbolTables[language]); + if (profile == EEsProfile && version >= 300) + (*symbolTables[language]).setNoBuiltInRedeclarations(); + if (version == 110) + (*symbolTables[language]).setSeparateNameSpaces(); +} + +// +// Initialize the full set of shareable symbol tables; +// The common (cross-stage) and those shareable per-stage. +// +bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TSymbolTable** symbolTables, int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) +{ +#ifdef GLSLANG_WEB + profile = EEsProfile; + version = 310; +#elif defined(GLSLANG_ANGLE) + profile = ECoreProfile; + version = 450; +#endif + + std::unique_ptr builtInParseables(CreateBuiltInParseables(infoSink, source)); + + if (builtInParseables == nullptr) + return false; + + builtInParseables->initialize(version, profile, spvVersion); + + // do the common tables + InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, source, + infoSink, *commonTable[EPcGeneral]); + if (profile == EEsProfile) + InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, source, + infoSink, *commonTable[EPcFragment]); + + // do the per-stage tables + + // always have vertex and fragment + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, source, + infoSink, commonTable, symbolTables); + +#ifndef GLSLANG_WEB + // check for tessellation + if ((profile != EEsProfile && version >= 150) || + (profile == EEsProfile && version >= 310)) { + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, source, + infoSink, commonTable, symbolTables); + } + + // check for geometry + if ((profile != EEsProfile && version >= 150) || + (profile == EEsProfile && version >= 310)) + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, source, + infoSink, commonTable, symbolTables); + + // check for compute + if ((profile != EEsProfile && version >= 420) || + (profile == EEsProfile && version >= 310)) + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source, + infoSink, commonTable, symbolTables); + +#ifndef GLSLANG_ANGLE + // check for ray tracing stages + if (profile != EEsProfile && version >= 450) { + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGen, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangIntersect, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangAnyHit, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangClosestHit, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMiss, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCallable, source, + infoSink, commonTable, symbolTables); + } + + // check for mesh + if ((profile != EEsProfile && version >= 450) || + (profile == EEsProfile && version >= 320)) + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMeshNV, source, + infoSink, commonTable, symbolTables); + + // check for task + if ((profile != EEsProfile && version >= 450) || + (profile == EEsProfile && version >= 320)) + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTaskNV, source, + infoSink, commonTable, symbolTables); +#endif // !GLSLANG_ANGLE +#endif // !GLSLANG_WEB + + return true; +} + +bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& infoSink, TSymbolTable& symbolTable, int version, + EProfile profile, const SpvVersion& spvVersion, EShLanguage language, EShSource source) +{ + std::unique_ptr builtInParseables(CreateBuiltInParseables(infoSink, source)); + + if (builtInParseables == nullptr) + return false; + + builtInParseables->initialize(*resources, version, profile, spvVersion, language); + InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable); + builtInParseables->identifyBuiltIns(version, profile, spvVersion, language, symbolTable, *resources); + + return true; +} + +// +// To do this on the fly, we want to leave the current state of our thread's +// pool allocator intact, so: +// - Switch to a new pool for parsing the built-ins +// - Do the parsing, which builds the symbol table, using the new pool +// - Switch to the process-global pool to save a copy of the resulting symbol table +// - Free up the new pool used to parse the built-ins +// - Switch back to the original thread's pool +// +// This only gets done the first time any thread needs a particular symbol table +// (lazy evaluation). +// +void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) +{ + TInfoSink infoSink; + + // Make sure only one thread tries to do this at a time + glslang::GetGlobalLock(); + + // See if it's already been done for this version/profile combination + int versionIndex = MapVersionToIndex(version); + int spvVersionIndex = MapSpvVersionToIndex(spvVersion); + int profileIndex = MapProfileToIndex(profile); + int sourceIndex = MapSourceToIndex(source); + if (CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][EPcGeneral]) { + glslang::ReleaseGlobalLock(); + + return; + } + + // Switch to a new pool + TPoolAllocator& previousAllocator = GetThreadPoolAllocator(); + TPoolAllocator* builtInPoolAllocator = new TPoolAllocator; + SetThreadPoolAllocator(builtInPoolAllocator); + + // Dynamically allocate the local symbol tables so we can control when they are deallocated WRT when the pool is popped. + TSymbolTable* commonTable[EPcCount]; + TSymbolTable* stageTables[EShLangCount]; + for (int precClass = 0; precClass < EPcCount; ++precClass) + commonTable[precClass] = new TSymbolTable; + for (int stage = 0; stage < EShLangCount; ++stage) + stageTables[stage] = new TSymbolTable; + + // Generate the local symbol tables using the new pool + InitializeSymbolTables(infoSink, commonTable, stageTables, version, profile, spvVersion, source); + + // Switch to the process-global pool + SetThreadPoolAllocator(PerProcessGPA); + + // Copy the local symbol tables from the new pool to the global tables using the process-global pool + for (int precClass = 0; precClass < EPcCount; ++precClass) { + if (! commonTable[precClass]->isEmpty()) { + CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][precClass] = new TSymbolTable; + CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][precClass]->copyTable(*commonTable[precClass]); + CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][precClass]->readOnly(); + } + } + for (int stage = 0; stage < EShLangCount; ++stage) { + if (! stageTables[stage]->isEmpty()) { + SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][sourceIndex][stage] = new TSymbolTable; + SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][sourceIndex][stage]->adoptLevels(*CommonSymbolTable + [versionIndex][spvVersionIndex][profileIndex][sourceIndex][CommonIndex(profile, (EShLanguage)stage)]); + SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][sourceIndex][stage]->copyTable(*stageTables[stage]); + SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][sourceIndex][stage]->readOnly(); + } + } + + // Clean up the local tables before deleting the pool they used. + for (int precClass = 0; precClass < EPcCount; ++precClass) + delete commonTable[precClass]; + for (int stage = 0; stage < EShLangCount; ++stage) + delete stageTables[stage]; + + delete builtInPoolAllocator; + SetThreadPoolAllocator(&previousAllocator); + + glslang::ReleaseGlobalLock(); +} + +// Function to Print all builtins +void DumpBuiltinSymbolTable(TInfoSink& infoSink, const TSymbolTable& symbolTable) +{ +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + infoSink.debug << "BuiltinSymbolTable {\n"; + + symbolTable.dump(infoSink, true); + + infoSink.debug << "}\n"; +#endif +} + +// Return true if the shader was correctly specified for version/profile/stage. +bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNotFirst, int defaultVersion, + EShSource source, int& version, EProfile& profile, const SpvVersion& spvVersion) +{ + const int FirstProfileVersion = 150; + bool correct = true; + + if (source == EShSourceHlsl) { + version = 500; // shader model; currently a characteristic of glslang, not the input + profile = ECoreProfile; // allow doubles in prototype parsing + return correct; + } + + // Get a version... + if (version == 0) { + version = defaultVersion; + // infoSink.info.message(EPrefixWarning, "#version: statement missing; use #version on first line of shader"); + } + + // Get a good profile... + if (profile == ENoProfile) { + if (version == 300 || version == 310 || version == 320) { + correct = false; + infoSink.info.message(EPrefixError, "#version: versions 300, 310, and 320 require specifying the 'es' profile"); + profile = EEsProfile; + } else if (version == 100) + profile = EEsProfile; + else if (version >= FirstProfileVersion) + profile = ECoreProfile; + else + profile = ENoProfile; + } else { + // a profile was provided... + if (version < 150) { + correct = false; + infoSink.info.message(EPrefixError, "#version: versions before 150 do not allow a profile token"); + if (version == 100) + profile = EEsProfile; + else + profile = ENoProfile; + } else if (version == 300 || version == 310 || version == 320) { + if (profile != EEsProfile) { + correct = false; + infoSink.info.message(EPrefixError, "#version: versions 300, 310, and 320 support only the es profile"); + } + profile = EEsProfile; + } else { + if (profile == EEsProfile) { + correct = false; + infoSink.info.message(EPrefixError, "#version: only version 300, 310, and 320 support the es profile"); + if (version >= FirstProfileVersion) + profile = ECoreProfile; + else + profile = ENoProfile; + } + // else: typical desktop case... e.g., "#version 410 core" + } + } + + // Fix version... + switch (version) { + // ES versions + case 100: break; + case 300: break; + case 310: break; + case 320: break; + + // desktop versions + case 110: break; + case 120: break; + case 130: break; + case 140: break; + case 150: break; + case 330: break; + case 400: break; + case 410: break; + case 420: break; + case 430: break; + case 440: break; + case 450: break; + case 460: break; + + // unknown version + default: + correct = false; + infoSink.info.message(EPrefixError, "version not supported"); + if (profile == EEsProfile) + version = 310; + else { + version = 450; + profile = ECoreProfile; + } + break; + } + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + // Correct for stage type... + switch (stage) { + case EShLangGeometry: + if ((profile == EEsProfile && version < 310) || + (profile != EEsProfile && version < 150)) { + correct = false; + infoSink.info.message(EPrefixError, "#version: geometry shaders require es profile with version 310 or non-es profile with version 150 or above"); + version = (profile == EEsProfile) ? 310 : 150; + if (profile == EEsProfile || profile == ENoProfile) + profile = ECoreProfile; + } + break; + case EShLangTessControl: + case EShLangTessEvaluation: + if ((profile == EEsProfile && version < 310) || + (profile != EEsProfile && version < 150)) { + correct = false; + infoSink.info.message(EPrefixError, "#version: tessellation shaders require es profile with version 310 or non-es profile with version 150 or above"); + version = (profile == EEsProfile) ? 310 : 400; // 150 supports the extension, correction is to 400 which does not + if (profile == EEsProfile || profile == ENoProfile) + profile = ECoreProfile; + } + break; + case EShLangCompute: + if ((profile == EEsProfile && version < 310) || + (profile != EEsProfile && version < 420)) { + correct = false; + infoSink.info.message(EPrefixError, "#version: compute shaders require es profile with version 310 or above, or non-es profile with version 420 or above"); + version = profile == EEsProfile ? 310 : 420; + } + break; + case EShLangRayGen: + case EShLangIntersect: + case EShLangAnyHit: + case EShLangClosestHit: + case EShLangMiss: + case EShLangCallable: + if (profile == EEsProfile || version < 460) { + correct = false; + infoSink.info.message(EPrefixError, "#version: ray tracing shaders require non-es profile with version 460 or above"); + version = 460; + } + break; + case EShLangMeshNV: + case EShLangTaskNV: + if ((profile == EEsProfile && version < 320) || + (profile != EEsProfile && version < 450)) { + correct = false; + infoSink.info.message(EPrefixError, "#version: mesh/task shaders require es profile with version 320 or above, or non-es profile with version 450 or above"); + version = profile == EEsProfile ? 320 : 450; + } + default: + break; + } + + if (profile == EEsProfile && version >= 300 && versionNotFirst) { + correct = false; + infoSink.info.message(EPrefixError, "#version: statement must appear first in es-profile shader; before comments or newlines"); + } + + // Check for SPIR-V compatibility + if (spvVersion.spv != 0) { + switch (profile) { + case EEsProfile: + if (version < 310) { + correct = false; + infoSink.info.message(EPrefixError, "#version: ES shaders for SPIR-V require version 310 or higher"); + version = 310; + } + break; + case ECompatibilityProfile: + infoSink.info.message(EPrefixError, "#version: compilation for SPIR-V does not support the compatibility profile"); + break; + default: + if (spvVersion.vulkan > 0 && version < 140) { + correct = false; + infoSink.info.message(EPrefixError, "#version: Desktop shaders for Vulkan SPIR-V require version 140 or higher"); + version = 140; + } + if (spvVersion.openGl >= 100 && version < 330) { + correct = false; + infoSink.info.message(EPrefixError, "#version: Desktop shaders for OpenGL SPIR-V require version 330 or higher"); + version = 330; + } + break; + } + } +#endif + + return correct; +} + +// There are multiple paths in for setting environment stuff. +// TEnvironment takes precedence, for what it sets, so sort all this out. +// Ideally, the internal code could be made to use TEnvironment, but for +// now, translate it to the historically used parameters. +void TranslateEnvironment(const TEnvironment* environment, EShMessages& messages, EShSource& source, + EShLanguage& stage, SpvVersion& spvVersion) +{ + // Set up environmental defaults, first ignoring 'environment'. + if (messages & EShMsgSpvRules) + spvVersion.spv = EShTargetSpv_1_0; + if (messages & EShMsgVulkanRules) { + spvVersion.vulkan = EShTargetVulkan_1_0; + spvVersion.vulkanGlsl = 100; + } else if (spvVersion.spv != 0) + spvVersion.openGl = 100; + + // Now, override, based on any content set in 'environment'. + // 'environment' must be cleared to ESh*None settings when items + // are not being set. + if (environment != nullptr) { + // input language + if (environment->input.languageFamily != EShSourceNone) { + stage = environment->input.stage; + switch (environment->input.dialect) { + case EShClientNone: + break; + case EShClientVulkan: + spvVersion.vulkanGlsl = environment->input.dialectVersion; + break; + case EShClientOpenGL: + spvVersion.openGl = environment->input.dialectVersion; + break; + case EShClientCount: + assert(0); + break; + } + switch (environment->input.languageFamily) { + case EShSourceNone: + break; + case EShSourceGlsl: + source = EShSourceGlsl; + messages = static_cast(messages & ~EShMsgReadHlsl); + break; + case EShSourceHlsl: + source = EShSourceHlsl; + messages = static_cast(messages | EShMsgReadHlsl); + break; + case EShSourceCount: + assert(0); + break; + } + } + + // client + switch (environment->client.client) { + case EShClientVulkan: + spvVersion.vulkan = environment->client.version; + break; + default: + break; + } + + // generated code + switch (environment->target.language) { + case EshTargetSpv: + spvVersion.spv = environment->target.version; + break; + default: + break; + } + } +} + +// Most processes are recorded when set in the intermediate representation, +// These are the few that are not. +void RecordProcesses(TIntermediate& intermediate, EShMessages messages, const std::string& sourceEntryPointName) +{ + if ((messages & EShMsgRelaxedErrors) != 0) + intermediate.addProcess("relaxed-errors"); + if ((messages & EShMsgSuppressWarnings) != 0) + intermediate.addProcess("suppress-warnings"); + if ((messages & EShMsgKeepUncalled) != 0) + intermediate.addProcess("keep-uncalled"); + if (sourceEntryPointName.size() > 0) { + intermediate.addProcess("source-entrypoint"); + intermediate.addProcessArgument(sourceEntryPointName); + } +} + +// This is the common setup and cleanup code for PreprocessDeferred and +// CompileDeferred. +// It takes any callable with a signature of +// bool (TParseContextBase& parseContext, TPpContext& ppContext, +// TInputScanner& input, bool versionWillBeError, +// TSymbolTable& , TIntermediate& , +// EShOptimizationLevel , EShMessages ); +// Which returns false if a failure was detected and true otherwise. +// +template +bool ProcessDeferred( + TCompiler* compiler, + const char* const shaderStrings[], + const int numStrings, + const int* inputLengths, + const char* const stringNames[], + const char* customPreamble, + const EShOptimizationLevel optLevel, + const TBuiltInResource* resources, + int defaultVersion, // use 100 for ES environment, 110 for desktop; this is the GLSL version, not SPIR-V or Vulkan + EProfile defaultProfile, + // set version/profile to defaultVersion/defaultProfile regardless of the #version + // directive in the source code + bool forceDefaultVersionAndProfile, + bool forwardCompatible, // give errors for use of deprecated features + EShMessages messages, // warnings/errors/AST; things to print out + TIntermediate& intermediate, // returned tree, etc. + ProcessingContext& processingContext, + bool requireNonempty, + TShader::Includer& includer, + const std::string sourceEntryPointName = "", + const TEnvironment* environment = nullptr) // optional way of fully setting all versions, overriding the above +{ + // This must be undone (.pop()) by the caller, after it finishes consuming the created tree. + GetThreadPoolAllocator().push(); + + if (numStrings == 0) + return true; + + // Move to length-based strings, rather than null-terminated strings. + // Also, add strings to include the preamble and to ensure the shader is not null, + // which lets the grammar accept what was a null (post preprocessing) shader. + // + // Shader will look like + // string 0: system preamble + // string 1: custom preamble + // string 2...numStrings+1: user's shader + // string numStrings+2: "int;" + const int numPre = 2; + const int numPost = requireNonempty? 1 : 0; + const int numTotal = numPre + numStrings + numPost; + std::unique_ptr lengths(new size_t[numTotal]); + std::unique_ptr strings(new const char*[numTotal]); + std::unique_ptr names(new const char*[numTotal]); + for (int s = 0; s < numStrings; ++s) { + strings[s + numPre] = shaderStrings[s]; + if (inputLengths == nullptr || inputLengths[s] < 0) + lengths[s + numPre] = strlen(shaderStrings[s]); + else + lengths[s + numPre] = inputLengths[s]; + } + if (stringNames != nullptr) { + for (int s = 0; s < numStrings; ++s) + names[s + numPre] = stringNames[s]; + } else { + for (int s = 0; s < numStrings; ++s) + names[s + numPre] = nullptr; + } + + // Get all the stages, languages, clients, and other environment + // stuff sorted out. + EShSource sourceGuess = (messages & EShMsgReadHlsl) != 0 ? EShSourceHlsl : EShSourceGlsl; + SpvVersion spvVersion; + EShLanguage stage = compiler->getLanguage(); + TranslateEnvironment(environment, messages, sourceGuess, stage, spvVersion); +#ifdef ENABLE_HLSL + EShSource source = sourceGuess; + if (environment != nullptr && environment->target.hlslFunctionality1) + intermediate.setHlslFunctionality1(); +#else + const EShSource source = EShSourceGlsl; +#endif + // First, without using the preprocessor or parser, find the #version, so we know what + // symbol tables, processing rules, etc. to set up. This does not need the extra strings + // outlined above, just the user shader, after the system and user preambles. + glslang::TInputScanner userInput(numStrings, &strings[numPre], &lengths[numPre]); + int version = 0; + EProfile profile = ENoProfile; + bool versionNotFirstToken = false; + bool versionNotFirst = (source == EShSourceHlsl) + ? true + : userInput.scanVersion(version, profile, versionNotFirstToken); + bool versionNotFound = version == 0; + if (forceDefaultVersionAndProfile && source == EShSourceGlsl) { +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + if (! (messages & EShMsgSuppressWarnings) && ! versionNotFound && + (version != defaultVersion || profile != defaultProfile)) { + compiler->infoSink.info << "Warning, (version, profile) forced to be (" + << defaultVersion << ", " << ProfileName(defaultProfile) + << "), while in source code it is (" + << version << ", " << ProfileName(profile) << ")\n"; + } +#endif + if (versionNotFound) { + versionNotFirstToken = false; + versionNotFirst = false; + versionNotFound = false; + } + version = defaultVersion; + profile = defaultProfile; + } + + bool goodVersion = DeduceVersionProfile(compiler->infoSink, stage, + versionNotFirst, defaultVersion, source, version, profile, spvVersion); +#ifdef GLSLANG_WEB + profile = EEsProfile; + version = 310; +#elif defined(GLSLANG_ANGLE) + profile = ECoreProfile; + version = 450; +#endif + + bool versionWillBeError = (versionNotFound || (profile == EEsProfile && version >= 300 && versionNotFirst)); +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + bool warnVersionNotFirst = false; + if (! versionWillBeError && versionNotFirstToken) { + if (messages & EShMsgRelaxedErrors) + warnVersionNotFirst = true; + else + versionWillBeError = true; + } +#endif + + intermediate.setSource(source); + intermediate.setVersion(version); + intermediate.setProfile(profile); + intermediate.setSpv(spvVersion); + RecordProcesses(intermediate, messages, sourceEntryPointName); + if (spvVersion.vulkan > 0) + intermediate.setOriginUpperLeft(); +#ifdef ENABLE_HLSL + if ((messages & EShMsgHlslOffsets) || source == EShSourceHlsl) + intermediate.setHlslOffsets(); +#endif + if (messages & EShMsgDebugInfo) { + intermediate.setSourceFile(names[numPre]); + for (int s = 0; s < numStrings; ++s) { + // The string may not be null-terminated, so make sure we provide + // the length along with the string. + intermediate.addSourceText(strings[numPre + s], lengths[numPre + s]); + } + } + SetupBuiltinSymbolTable(version, profile, spvVersion, source); + + TSymbolTable* cachedTable = SharedSymbolTables[MapVersionToIndex(version)] + [MapSpvVersionToIndex(spvVersion)] + [MapProfileToIndex(profile)] + [MapSourceToIndex(source)] + [stage]; + + // Dynamically allocate the symbol table so we can control when it is deallocated WRT the pool. + std::unique_ptr symbolTable(new TSymbolTable); + if (cachedTable) + symbolTable->adoptLevels(*cachedTable); + + // Add built-in symbols that are potentially context dependent; + // they get popped again further down. + if (! AddContextSpecificSymbols(resources, compiler->infoSink, *symbolTable, version, profile, spvVersion, + stage, source)) { + return false; + } + + if (messages & EShMsgBuiltinSymbolTable) + DumpBuiltinSymbolTable(compiler->infoSink, *symbolTable); + + // + // Now we can process the full shader under proper symbols and rules. + // + + std::unique_ptr parseContext(CreateParseContext(*symbolTable, intermediate, version, profile, source, + stage, compiler->infoSink, + spvVersion, forwardCompatible, messages, false, sourceEntryPointName)); + TPpContext ppContext(*parseContext, names[numPre] ? names[numPre] : "", includer); + + // only GLSL (bison triggered, really) needs an externally set scan context + glslang::TScanContext scanContext(*parseContext); + if (source == EShSourceGlsl) + parseContext->setScanContext(&scanContext); + + parseContext->setPpContext(&ppContext); + parseContext->setLimits(*resources); + if (! goodVersion) + parseContext->addError(); +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + if (warnVersionNotFirst) { + TSourceLoc loc; + loc.init(); + parseContext->warn(loc, "Illegal to have non-comment, non-whitespace tokens before #version", "#version", ""); + } +#endif + + parseContext->initializeExtensionBehavior(); + + // Fill in the strings as outlined above. + std::string preamble; + parseContext->getPreamble(preamble); + strings[0] = preamble.c_str(); + lengths[0] = strlen(strings[0]); + names[0] = nullptr; + strings[1] = customPreamble; + lengths[1] = strlen(strings[1]); + names[1] = nullptr; + assert(2 == numPre); + if (requireNonempty) { + const int postIndex = numStrings + numPre; + strings[postIndex] = "\n int;"; + lengths[postIndex] = strlen(strings[numStrings + numPre]); + names[postIndex] = nullptr; + } + TInputScanner fullInput(numStrings + numPre + numPost, strings.get(), lengths.get(), names.get(), numPre, numPost); + + // Push a new symbol allocation scope that will get used for the shader's globals. + symbolTable->push(); + + bool success = processingContext(*parseContext, ppContext, fullInput, + versionWillBeError, *symbolTable, + intermediate, optLevel, messages); + return success; +} + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +// Responsible for keeping track of the most recent source string and line in +// the preprocessor and outputting newlines appropriately if the source string +// or line changes. +class SourceLineSynchronizer { +public: + SourceLineSynchronizer(const std::function& lastSourceIndex, + std::string* output) + : getLastSourceIndex(lastSourceIndex), output(output), lastSource(-1), lastLine(0) {} +// SourceLineSynchronizer(const SourceLineSynchronizer&) = delete; +// SourceLineSynchronizer& operator=(const SourceLineSynchronizer&) = delete; + + // Sets the internally tracked source string index to that of the most + // recently read token. If we switched to a new source string, returns + // true and inserts a newline. Otherwise, returns false and outputs nothing. + bool syncToMostRecentString() { + if (getLastSourceIndex() != lastSource) { + // After switching to a new source string, we need to reset lastLine + // because line number resets every time a new source string is + // used. We also need to output a newline to separate the output + // from the previous source string (if there is one). + if (lastSource != -1 || lastLine != 0) + *output += '\n'; + lastSource = getLastSourceIndex(); + lastLine = -1; + return true; + } + return false; + } + + // Calls syncToMostRecentString() and then sets the internally tracked line + // number to tokenLine. If we switched to a new line, returns true and inserts + // newlines appropriately. Otherwise, returns false and outputs nothing. + bool syncToLine(int tokenLine) { + syncToMostRecentString(); + const bool newLineStarted = lastLine < tokenLine; + for (; lastLine < tokenLine; ++lastLine) { + if (lastLine > 0) *output += '\n'; + } + return newLineStarted; + } + + // Sets the internally tracked line number to newLineNum. + void setLineNum(int newLineNum) { lastLine = newLineNum; } + +private: + SourceLineSynchronizer& operator=(const SourceLineSynchronizer&); + + // A function for getting the index of the last valid source string we've + // read tokens from. + const std::function getLastSourceIndex; + // output string for newlines. + std::string* output; + // lastSource is the source string index (starting from 0) of the last token + // processed. It is tracked in order for newlines to be inserted when a new + // source string starts. -1 means we haven't started processing any source + // string. + int lastSource; + // lastLine is the line number (starting from 1) of the last token processed. + // It is tracked in order for newlines to be inserted when a token appears + // on a new line. 0 means we haven't started processing any line in the + // current source string. + int lastLine; +}; + +// DoPreprocessing is a valid ProcessingContext template argument, +// which only performs the preprocessing step of compilation. +// It places the result in the "string" argument to its constructor. +// +// This is not an officially supported or fully working path. +struct DoPreprocessing { + explicit DoPreprocessing(std::string* string): outputString(string) {} + bool operator()(TParseContextBase& parseContext, TPpContext& ppContext, + TInputScanner& input, bool versionWillBeError, + TSymbolTable&, TIntermediate&, + EShOptimizationLevel, EShMessages) + { + // This is a list of tokens that do not require a space before or after. + static const std::string unNeededSpaceTokens = ";()[]"; + static const std::string noSpaceBeforeTokens = ","; + glslang::TPpToken ppToken; + + parseContext.setScanner(&input); + ppContext.setInput(input, versionWillBeError); + + std::string outputBuffer; + SourceLineSynchronizer lineSync( + std::bind(&TInputScanner::getLastValidSourceIndex, &input), &outputBuffer); + + parseContext.setExtensionCallback([&lineSync, &outputBuffer]( + int line, const char* extension, const char* behavior) { + lineSync.syncToLine(line); + outputBuffer += "#extension "; + outputBuffer += extension; + outputBuffer += " : "; + outputBuffer += behavior; + }); + + parseContext.setLineCallback([&lineSync, &outputBuffer, &parseContext]( + int curLineNum, int newLineNum, bool hasSource, int sourceNum, const char* sourceName) { + // SourceNum is the number of the source-string that is being parsed. + lineSync.syncToLine(curLineNum); + outputBuffer += "#line "; + outputBuffer += std::to_string(newLineNum); + if (hasSource) { + outputBuffer += ' '; + if (sourceName != nullptr) { + outputBuffer += '\"'; + outputBuffer += sourceName; + outputBuffer += '\"'; + } else { + outputBuffer += std::to_string(sourceNum); + } + } + if (parseContext.lineDirectiveShouldSetNextLine()) { + // newLineNum is the new line number for the line following the #line + // directive. So the new line number for the current line is + newLineNum -= 1; + } + outputBuffer += '\n'; + // And we are at the next line of the #line directive now. + lineSync.setLineNum(newLineNum + 1); + }); + + parseContext.setVersionCallback( + [&lineSync, &outputBuffer](int line, int version, const char* str) { + lineSync.syncToLine(line); + outputBuffer += "#version "; + outputBuffer += std::to_string(version); + if (str) { + outputBuffer += ' '; + outputBuffer += str; + } + }); + + parseContext.setPragmaCallback([&lineSync, &outputBuffer]( + int line, const glslang::TVector& ops) { + lineSync.syncToLine(line); + outputBuffer += "#pragma "; + for(size_t i = 0; i < ops.size(); ++i) { + outputBuffer += ops[i].c_str(); + } + }); + + parseContext.setErrorCallback([&lineSync, &outputBuffer]( + int line, const char* errorMessage) { + lineSync.syncToLine(line); + outputBuffer += "#error "; + outputBuffer += errorMessage; + }); + + int lastToken = EndOfInput; // lastToken records the last token processed. + do { + int token = ppContext.tokenize(ppToken); + if (token == EndOfInput) + break; + + bool isNewString = lineSync.syncToMostRecentString(); + bool isNewLine = lineSync.syncToLine(ppToken.loc.line); + + if (isNewLine) { + // Don't emit whitespace onto empty lines. + // Copy any whitespace characters at the start of a line + // from the input to the output. + outputBuffer += std::string(ppToken.loc.column - 1, ' '); + } + + // Output a space in between tokens, but not at the start of a line, + // and also not around special tokens. This helps with readability + // and consistency. + if (!isNewString && !isNewLine && lastToken != EndOfInput && + (unNeededSpaceTokens.find((char)token) == std::string::npos) && + (unNeededSpaceTokens.find((char)lastToken) == std::string::npos) && + (noSpaceBeforeTokens.find((char)token) == std::string::npos)) { + outputBuffer += ' '; + } + lastToken = token; + if (token == PpAtomConstString) + outputBuffer += "\""; + outputBuffer += ppToken.name; + if (token == PpAtomConstString) + outputBuffer += "\""; + } while (true); + outputBuffer += '\n'; + *outputString = std::move(outputBuffer); + + bool success = true; + if (parseContext.getNumErrors() > 0) { + success = false; + parseContext.infoSink.info.prefix(EPrefixError); + parseContext.infoSink.info << parseContext.getNumErrors() << " compilation errors. No code generated.\n\n"; + } + return success; + } + std::string* outputString; +}; + +#endif + +// DoFullParse is a valid ProcessingConext template argument for fully +// parsing the shader. It populates the "intermediate" with the AST. +struct DoFullParse{ + bool operator()(TParseContextBase& parseContext, TPpContext& ppContext, + TInputScanner& fullInput, bool versionWillBeError, + TSymbolTable&, TIntermediate& intermediate, + EShOptimizationLevel optLevel, EShMessages messages) + { + bool success = true; + // Parse the full shader. + if (! parseContext.parseShaderStrings(ppContext, fullInput, versionWillBeError)) + success = false; + + if (success && intermediate.getTreeRoot()) { + if (optLevel == EShOptNoGeneration) + parseContext.infoSink.info.message(EPrefixNone, "No errors. No code generation or linking was requested."); + else + success = intermediate.postProcess(intermediate.getTreeRoot(), parseContext.getLanguage()); + } else if (! success) { + parseContext.infoSink.info.prefix(EPrefixError); + parseContext.infoSink.info << parseContext.getNumErrors() << " compilation errors. No code generated.\n\n"; + } + +#ifndef GLSLANG_ANGLE + if (messages & EShMsgAST) + intermediate.output(parseContext.infoSink, true); +#endif + + return success; + } +}; + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) +// Take a single compilation unit, and run the preprocessor on it. +// Return: True if there were no issues found in preprocessing, +// False if during preprocessing any unknown version, pragmas or +// extensions were found. +// +// NOTE: Doing just preprocessing to obtain a correct preprocessed shader string +// is not an officially supported or fully working path. +bool PreprocessDeferred( + TCompiler* compiler, + const char* const shaderStrings[], + const int numStrings, + const int* inputLengths, + const char* const stringNames[], + const char* preamble, + const EShOptimizationLevel optLevel, + const TBuiltInResource* resources, + int defaultVersion, // use 100 for ES environment, 110 for desktop + EProfile defaultProfile, + bool forceDefaultVersionAndProfile, + bool forwardCompatible, // give errors for use of deprecated features + EShMessages messages, // warnings/errors/AST; things to print out + TShader::Includer& includer, + TIntermediate& intermediate, // returned tree, etc. + std::string* outputString) +{ + DoPreprocessing parser(outputString); + return ProcessDeferred(compiler, shaderStrings, numStrings, inputLengths, stringNames, + preamble, optLevel, resources, defaultVersion, + defaultProfile, forceDefaultVersionAndProfile, + forwardCompatible, messages, intermediate, parser, + false, includer); +} +#endif + +// +// do a partial compile on the given strings for a single compilation unit +// for a potential deferred link into a single stage (and deferred full compile of that +// stage through machine-dependent compilation). +// +// all preprocessing, parsing, semantic checks, etc. for a single compilation unit +// are done here. +// +// return: the tree and other information is filled into the intermediate argument, +// and true is returned by the function for success. +// +bool CompileDeferred( + TCompiler* compiler, + const char* const shaderStrings[], + const int numStrings, + const int* inputLengths, + const char* const stringNames[], + const char* preamble, + const EShOptimizationLevel optLevel, + const TBuiltInResource* resources, + int defaultVersion, // use 100 for ES environment, 110 for desktop + EProfile defaultProfile, + bool forceDefaultVersionAndProfile, + bool forwardCompatible, // give errors for use of deprecated features + EShMessages messages, // warnings/errors/AST; things to print out + TIntermediate& intermediate,// returned tree, etc. + TShader::Includer& includer, + const std::string sourceEntryPointName = "", + TEnvironment* environment = nullptr) +{ + DoFullParse parser; + return ProcessDeferred(compiler, shaderStrings, numStrings, inputLengths, stringNames, + preamble, optLevel, resources, defaultVersion, + defaultProfile, forceDefaultVersionAndProfile, + forwardCompatible, messages, intermediate, parser, + true, includer, sourceEntryPointName, environment); +} + +} // end anonymous namespace for local functions + +// +// ShInitialize() should be called exactly once per process, not per thread. +// +int ShInitialize() +{ + glslang::InitGlobalLock(); + + if (! InitProcess()) + return 0; + + glslang::GetGlobalLock(); + ++NumberOfClients; + glslang::ReleaseGlobalLock(); + + if (PerProcessGPA == nullptr) + PerProcessGPA = new TPoolAllocator(); + + glslang::TScanContext::fillInKeywordMap(); +#ifdef ENABLE_HLSL + glslang::HlslScanContext::fillInKeywordMap(); +#endif + + return 1; +} + +// +// Driver calls these to create and destroy compiler/linker +// objects. +// + +ShHandle ShConstructCompiler(const EShLanguage language, int debugOptions) +{ + if (!InitThread()) + return 0; + + TShHandleBase* base = static_cast(ConstructCompiler(language, debugOptions)); + + return reinterpret_cast(base); +} + +ShHandle ShConstructLinker(const EShExecutable executable, int debugOptions) +{ + if (!InitThread()) + return 0; + + TShHandleBase* base = static_cast(ConstructLinker(executable, debugOptions)); + + return reinterpret_cast(base); +} + +ShHandle ShConstructUniformMap() +{ + if (!InitThread()) + return 0; + + TShHandleBase* base = static_cast(ConstructUniformMap()); + + return reinterpret_cast(base); +} + +void ShDestruct(ShHandle handle) +{ + if (handle == 0) + return; + + TShHandleBase* base = static_cast(handle); + + if (base->getAsCompiler()) + DeleteCompiler(base->getAsCompiler()); + else if (base->getAsLinker()) + DeleteLinker(base->getAsLinker()); + else if (base->getAsUniformMap()) + DeleteUniformMap(base->getAsUniformMap()); +} + +// +// Cleanup symbol tables +// +int ShFinalize() +{ + glslang::GetGlobalLock(); + --NumberOfClients; + assert(NumberOfClients >= 0); + bool finalize = NumberOfClients == 0; + glslang::ReleaseGlobalLock(); + if (! finalize) + return 1; + + for (int version = 0; version < VersionCount; ++version) { + for (int spvVersion = 0; spvVersion < SpvVersionCount; ++spvVersion) { + for (int p = 0; p < ProfileCount; ++p) { + for (int source = 0; source < SourceCount; ++source) { + for (int stage = 0; stage < EShLangCount; ++stage) { + delete SharedSymbolTables[version][spvVersion][p][source][stage]; + SharedSymbolTables[version][spvVersion][p][source][stage] = 0; + } + } + } + } + } + + for (int version = 0; version < VersionCount; ++version) { + for (int spvVersion = 0; spvVersion < SpvVersionCount; ++spvVersion) { + for (int p = 0; p < ProfileCount; ++p) { + for (int source = 0; source < SourceCount; ++source) { + for (int pc = 0; pc < EPcCount; ++pc) { + delete CommonSymbolTable[version][spvVersion][p][source][pc]; + CommonSymbolTable[version][spvVersion][p][source][pc] = 0; + } + } + } + } + } + + if (PerProcessGPA != nullptr) { + delete PerProcessGPA; + PerProcessGPA = nullptr; + } + + glslang::TScanContext::deleteKeywordMap(); +#ifdef ENABLE_HLSL + glslang::HlslScanContext::deleteKeywordMap(); +#endif + + return 1; +} + +// +// Do a full compile on the given strings for a single compilation unit +// forming a complete stage. The result of the machine dependent compilation +// is left in the provided compile object. +// +// Return: The return value is really boolean, indicating +// success (1) or failure (0). +// +int ShCompile( + const ShHandle handle, + const char* const shaderStrings[], + const int numStrings, + const int* inputLengths, + const EShOptimizationLevel optLevel, + const TBuiltInResource* resources, + int /*debugOptions*/, + int defaultVersion, // use 100 for ES environment, 110 for desktop + bool forwardCompatible, // give errors for use of deprecated features + EShMessages messages // warnings/errors/AST; things to print out + ) +{ + // Map the generic handle to the C++ object + if (handle == 0) + return 0; + + TShHandleBase* base = reinterpret_cast(handle); + TCompiler* compiler = base->getAsCompiler(); + if (compiler == 0) + return 0; + + SetThreadPoolAllocator(compiler->getPool()); + + compiler->infoSink.info.erase(); + compiler->infoSink.debug.erase(); + + TIntermediate intermediate(compiler->getLanguage()); + TShader::ForbidIncluder includer; + bool success = CompileDeferred(compiler, shaderStrings, numStrings, inputLengths, nullptr, + "", optLevel, resources, defaultVersion, ENoProfile, false, + forwardCompatible, messages, intermediate, includer); + + // + // Call the machine dependent compiler + // + if (success && intermediate.getTreeRoot() && optLevel != EShOptNoGeneration) + success = compiler->compile(intermediate.getTreeRoot(), intermediate.getVersion(), intermediate.getProfile()); + + intermediate.removeTree(); + + // Throw away all the temporary memory used by the compilation process. + // The push was done in the CompileDeferred() call above. + GetThreadPoolAllocator().pop(); + + return success ? 1 : 0; +} + +// +// Link the given compile objects. +// +// Return: The return value of is really boolean, indicating +// success or failure. +// +int ShLinkExt( + const ShHandle linkHandle, + const ShHandle compHandles[], + const int numHandles) +{ + if (linkHandle == 0 || numHandles == 0) + return 0; + + THandleList cObjects; + + for (int i = 0; i < numHandles; ++i) { + if (compHandles[i] == 0) + return 0; + TShHandleBase* base = reinterpret_cast(compHandles[i]); + if (base->getAsLinker()) { + cObjects.push_back(base->getAsLinker()); + } + if (base->getAsCompiler()) + cObjects.push_back(base->getAsCompiler()); + + if (cObjects[i] == 0) + return 0; + } + + TShHandleBase* base = reinterpret_cast(linkHandle); + TLinker* linker = static_cast(base->getAsLinker()); + + SetThreadPoolAllocator(linker->getPool()); + + if (linker == 0) + return 0; + + linker->infoSink.info.erase(); + + for (int i = 0; i < numHandles; ++i) { + if (cObjects[i]->getAsCompiler()) { + if (! cObjects[i]->getAsCompiler()->linkable()) { + linker->infoSink.info.message(EPrefixError, "Not all shaders have valid object code."); + return 0; + } + } + } + + bool ret = linker->link(cObjects); + + return ret ? 1 : 0; +} + +// +// ShSetEncrpytionMethod is a place-holder for specifying +// how source code is encrypted. +// +void ShSetEncryptionMethod(ShHandle handle) +{ + if (handle == 0) + return; +} + +// +// Return any compiler/linker/uniformmap log of messages for the application. +// +const char* ShGetInfoLog(const ShHandle handle) +{ + if (handle == 0) + return 0; + + TShHandleBase* base = static_cast(handle); + TInfoSink* infoSink; + + if (base->getAsCompiler()) + infoSink = &(base->getAsCompiler()->getInfoSink()); + else if (base->getAsLinker()) + infoSink = &(base->getAsLinker()->getInfoSink()); + else + return 0; + + infoSink->info << infoSink->debug.c_str(); + return infoSink->info.c_str(); +} + +// +// Return the resulting binary code from the link process. Structure +// is machine dependent. +// +const void* ShGetExecutable(const ShHandle handle) +{ + if (handle == 0) + return 0; + + TShHandleBase* base = reinterpret_cast(handle); + + TLinker* linker = static_cast(base->getAsLinker()); + if (linker == 0) + return 0; + + return linker->getObjectCode(); +} + +// +// Let the linker know where the application said it's attributes are bound. +// The linker does not use these values, they are remapped by the ICD or +// hardware. It just needs them to know what's aliased. +// +// Return: The return value of is really boolean, indicating +// success or failure. +// +int ShSetVirtualAttributeBindings(const ShHandle handle, const ShBindingTable* table) +{ + if (handle == 0) + return 0; + + TShHandleBase* base = reinterpret_cast(handle); + TLinker* linker = static_cast(base->getAsLinker()); + + if (linker == 0) + return 0; + + linker->setAppAttributeBindings(table); + + return 1; +} + +// +// Let the linker know where the predefined attributes have to live. +// +int ShSetFixedAttributeBindings(const ShHandle handle, const ShBindingTable* table) +{ + if (handle == 0) + return 0; + + TShHandleBase* base = reinterpret_cast(handle); + TLinker* linker = static_cast(base->getAsLinker()); + + if (linker == 0) + return 0; + + linker->setFixedAttributeBindings(table); + return 1; +} + +// +// Some attribute locations are off-limits to the linker... +// +int ShExcludeAttributes(const ShHandle handle, int *attributes, int count) +{ + if (handle == 0) + return 0; + + TShHandleBase* base = reinterpret_cast(handle); + TLinker* linker = static_cast(base->getAsLinker()); + if (linker == 0) + return 0; + + linker->setExcludedAttributes(attributes, count); + + return 1; +} + +// +// Return the index for OpenGL to use for knowing where a uniform lives. +// +// Return: The return value of is really boolean, indicating +// success or failure. +// +int ShGetUniformLocation(const ShHandle handle, const char* name) +{ + if (handle == 0) + return -1; + + TShHandleBase* base = reinterpret_cast(handle); + TUniformMap* uniformMap= base->getAsUniformMap(); + if (uniformMap == 0) + return -1; + + return uniformMap->getLocation(name); +} + +//////////////////////////////////////////////////////////////////////////////////////////// +// +// Deferred-Lowering C++ Interface +// ----------------------------------- +// +// Below is a new alternate C++ interface that might potentially replace the above +// opaque handle-based interface. +// +// See more detailed comment in ShaderLang.h +// + +namespace glslang { + +Version GetVersion() +{ + Version version; + version.major = GLSLANG_VERSION_MAJOR; + version.minor = GLSLANG_VERSION_MINOR; + version.patch = GLSLANG_VERSION_PATCH; + version.flavor = GLSLANG_VERSION_FLAVOR; + return version; +} + +#define QUOTE(s) #s +#define STR(n) QUOTE(n) + +const char* GetEsslVersionString() +{ + return "OpenGL ES GLSL 3.20 glslang Khronos. " STR(GLSLANG_VERSION_MAJOR) "." STR(GLSLANG_VERSION_MINOR) "." STR( + GLSLANG_VERSION_PATCH) GLSLANG_VERSION_FLAVOR; +} + +const char* GetGlslVersionString() +{ + return "4.60 glslang Khronos. " STR(GLSLANG_VERSION_MAJOR) "." STR(GLSLANG_VERSION_MINOR) "." STR( + GLSLANG_VERSION_PATCH) GLSLANG_VERSION_FLAVOR; +} + +int GetKhronosToolId() +{ + return 8; +} + +bool InitializeProcess() +{ + return ShInitialize() != 0; +} + +void FinalizeProcess() +{ + ShFinalize(); +} + +class TDeferredCompiler : public TCompiler { +public: + TDeferredCompiler(EShLanguage s, TInfoSink& i) : TCompiler(s, i) { } + virtual bool compile(TIntermNode*, int = 0, EProfile = ENoProfile) { return true; } +}; + +TShader::TShader(EShLanguage s) + : stage(s), lengths(nullptr), stringNames(nullptr), preamble("") +{ + pool = new TPoolAllocator; + infoSink = new TInfoSink; + compiler = new TDeferredCompiler(stage, *infoSink); + intermediate = new TIntermediate(s); + + // clear environment (avoid constructors in them for use in a C interface) + environment.input.languageFamily = EShSourceNone; + environment.input.dialect = EShClientNone; + environment.client.client = EShClientNone; + environment.target.language = EShTargetNone; + environment.target.hlslFunctionality1 = false; +} + +TShader::~TShader() +{ + delete infoSink; + delete compiler; + delete intermediate; + delete pool; +} + +void TShader::setStrings(const char* const* s, int n) +{ + strings = s; + numStrings = n; + lengths = nullptr; +} + +void TShader::setStringsWithLengths(const char* const* s, const int* l, int n) +{ + strings = s; + numStrings = n; + lengths = l; +} + +void TShader::setStringsWithLengthsAndNames( + const char* const* s, const int* l, const char* const* names, int n) +{ + strings = s; + numStrings = n; + lengths = l; + stringNames = names; +} + +void TShader::setEntryPoint(const char* entryPoint) +{ + intermediate->setEntryPointName(entryPoint); +} + +void TShader::setSourceEntryPoint(const char* name) +{ + sourceEntryPointName = name; +} + +// Log initial settings and transforms. +// See comment for class TProcesses. +void TShader::addProcesses(const std::vector& p) +{ + intermediate->addProcesses(p); +} + +void TShader::setInvertY(bool invert) { intermediate->setInvertY(invert); } +void TShader::setNanMinMaxClamp(bool useNonNan) { intermediate->setNanMinMaxClamp(useNonNan); } + +#ifndef GLSLANG_WEB + +// Set binding base for given resource type +void TShader::setShiftBinding(TResourceType res, unsigned int base) { + intermediate->setShiftBinding(res, base); +} + +// Set binding base for given resource type for a given binding set. +void TShader::setShiftBindingForSet(TResourceType res, unsigned int base, unsigned int set) { + intermediate->setShiftBindingForSet(res, base, set); +} + +// Set binding base for sampler types +void TShader::setShiftSamplerBinding(unsigned int base) { setShiftBinding(EResSampler, base); } +// Set binding base for texture types (SRV) +void TShader::setShiftTextureBinding(unsigned int base) { setShiftBinding(EResTexture, base); } +// Set binding base for image types +void TShader::setShiftImageBinding(unsigned int base) { setShiftBinding(EResImage, base); } +// Set binding base for uniform buffer objects (CBV) +void TShader::setShiftUboBinding(unsigned int base) { setShiftBinding(EResUbo, base); } +// Synonym for setShiftUboBinding, to match HLSL language. +void TShader::setShiftCbufferBinding(unsigned int base) { setShiftBinding(EResUbo, base); } +// Set binding base for UAV (unordered access view) +void TShader::setShiftUavBinding(unsigned int base) { setShiftBinding(EResUav, base); } +// Set binding base for SSBOs +void TShader::setShiftSsboBinding(unsigned int base) { setShiftBinding(EResSsbo, base); } +// Enables binding automapping using TIoMapper +void TShader::setAutoMapBindings(bool map) { intermediate->setAutoMapBindings(map); } +// Enables position.Y output negation in vertex shader + +// Fragile: currently within one stage: simple auto-assignment of location +void TShader::setAutoMapLocations(bool map) { intermediate->setAutoMapLocations(map); } +void TShader::addUniformLocationOverride(const char* name, int loc) +{ + intermediate->addUniformLocationOverride(name, loc); +} +void TShader::setUniformLocationBase(int base) +{ + intermediate->setUniformLocationBase(base); +} +void TShader::setNoStorageFormat(bool useUnknownFormat) { intermediate->setNoStorageFormat(useUnknownFormat); } +void TShader::setResourceSetBinding(const std::vector& base) { intermediate->setResourceSetBinding(base); } +void TShader::setTextureSamplerTransformMode(EShTextureSamplerTransformMode mode) { intermediate->setTextureSamplerTransformMode(mode); } +#endif + +#ifdef ENABLE_HLSL +// See comment above TDefaultHlslIoMapper in iomapper.cpp: +void TShader::setHlslIoMapping(bool hlslIoMap) { intermediate->setHlslIoMapping(hlslIoMap); } +void TShader::setFlattenUniformArrays(bool flatten) { intermediate->setFlattenUniformArrays(flatten); } +#endif + +// +// Turn the shader strings into a parse tree in the TIntermediate. +// +// Returns true for success. +// +bool TShader::parse(const TBuiltInResource* builtInResources, int defaultVersion, EProfile defaultProfile, bool forceDefaultVersionAndProfile, + bool forwardCompatible, EShMessages messages, Includer& includer) +{ + if (! InitThread()) + return false; + SetThreadPoolAllocator(pool); + + if (! preamble) + preamble = ""; + + return CompileDeferred(compiler, strings, numStrings, lengths, stringNames, + preamble, EShOptNone, builtInResources, defaultVersion, + defaultProfile, forceDefaultVersionAndProfile, + forwardCompatible, messages, *intermediate, includer, sourceEntryPointName, + &environment); +} + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) +// Fill in a string with the result of preprocessing ShaderStrings +// Returns true if all extensions, pragmas and version strings were valid. +// +// NOTE: Doing just preprocessing to obtain a correct preprocessed shader string +// is not an officially supported or fully working path. +bool TShader::preprocess(const TBuiltInResource* builtInResources, + int defaultVersion, EProfile defaultProfile, + bool forceDefaultVersionAndProfile, + bool forwardCompatible, EShMessages message, + std::string* output_string, + Includer& includer) +{ + if (! InitThread()) + return false; + SetThreadPoolAllocator(pool); + + if (! preamble) + preamble = ""; + + return PreprocessDeferred(compiler, strings, numStrings, lengths, stringNames, preamble, + EShOptNone, builtInResources, defaultVersion, + defaultProfile, forceDefaultVersionAndProfile, + forwardCompatible, message, includer, *intermediate, output_string); +} +#endif + +const char* TShader::getInfoLog() +{ + return infoSink->info.c_str(); +} + +const char* TShader::getInfoDebugLog() +{ + return infoSink->debug.c_str(); +} + +TProgram::TProgram() : +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + reflection(0), +#endif + linked(false) +{ + pool = new TPoolAllocator; + infoSink = new TInfoSink; + for (int s = 0; s < EShLangCount; ++s) { + intermediate[s] = 0; + newedIntermediate[s] = false; + } +} + +TProgram::~TProgram() +{ + delete infoSink; +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + delete reflection; +#endif + + for (int s = 0; s < EShLangCount; ++s) + if (newedIntermediate[s]) + delete intermediate[s]; + + delete pool; +} + +// +// Merge the compilation units within each stage into a single TIntermediate. +// All starting compilation units need to be the result of calling TShader::parse(). +// +// Return true for success. +// +bool TProgram::link(EShMessages messages) +{ + if (linked) + return false; + linked = true; + + bool error = false; + + SetThreadPoolAllocator(pool); + + for (int s = 0; s < EShLangCount; ++s) { + if (! linkStage((EShLanguage)s, messages)) + error = true; + } + + // TODO: Link: cross-stage error checking + + return ! error; +} + +// +// Merge the compilation units within the given stage into a single TIntermediate. +// +// Return true for success. +// +bool TProgram::linkStage(EShLanguage stage, EShMessages messages) +{ + if (stages[stage].size() == 0) + return true; + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + int numEsShaders = 0, numNonEsShaders = 0; + for (auto it = stages[stage].begin(); it != stages[stage].end(); ++it) { + if ((*it)->intermediate->getProfile() == EEsProfile) { + numEsShaders++; + } else { + numNonEsShaders++; + } + } + + if (numEsShaders > 0 && numNonEsShaders > 0) { + infoSink->info.message(EPrefixError, "Cannot mix ES profile with non-ES profile shaders"); + return false; + } else if (numEsShaders > 1) { + infoSink->info.message(EPrefixError, "Cannot attach multiple ES shaders of the same type to a single program"); + return false; + } + + // + // Be efficient for the common single compilation unit per stage case, + // reusing it's TIntermediate instead of merging into a new one. + // + TIntermediate *firstIntermediate = stages[stage].front()->intermediate; + if (stages[stage].size() == 1) + intermediate[stage] = firstIntermediate; + else { + intermediate[stage] = new TIntermediate(stage, + firstIntermediate->getVersion(), + firstIntermediate->getProfile()); + intermediate[stage]->setLimits(firstIntermediate->getLimits()); + + // The new TIntermediate must use the same origin as the original TIntermediates. + // Otherwise linking will fail due to different coordinate systems. + if (firstIntermediate->getOriginUpperLeft()) { + intermediate[stage]->setOriginUpperLeft(); + } + intermediate[stage]->setSpv(firstIntermediate->getSpv()); + + newedIntermediate[stage] = true; + } + + if (messages & EShMsgAST) + infoSink->info << "\nLinked " << StageName(stage) << " stage:\n\n"; + + if (stages[stage].size() > 1) { + std::list::const_iterator it; + for (it = stages[stage].begin(); it != stages[stage].end(); ++it) + intermediate[stage]->merge(*infoSink, *(*it)->intermediate); + } +#else + intermediate[stage] = stages[stage].front()->intermediate; +#endif + intermediate[stage]->finalCheck(*infoSink, (messages & EShMsgKeepUncalled) != 0); + +#ifndef GLSLANG_ANGLE + if (messages & EShMsgAST) + intermediate[stage]->output(*infoSink, true); +#endif + + return intermediate[stage]->getNumErrors() == 0; +} + +const char* TProgram::getInfoLog() +{ + return infoSink->info.c_str(); +} + +const char* TProgram::getInfoDebugLog() +{ + return infoSink->debug.c_str(); +} + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +// +// Reflection implementation. +// + +bool TProgram::buildReflection(int opts) +{ + if (! linked || reflection != nullptr) + return false; + + int firstStage = EShLangVertex, lastStage = EShLangFragment; + + if (opts & EShReflectionIntermediateIO) { + // if we're reflecting intermediate I/O, determine the first and last stage linked and use those as the + // boundaries for which stages generate pipeline inputs/outputs + firstStage = EShLangCount; + lastStage = 0; + for (int s = 0; s < EShLangCount; ++s) { + if (intermediate[s]) { + firstStage = std::min(firstStage, s); + lastStage = std::max(lastStage, s); + } + } + } + + reflection = new TReflection((EShReflectionOptions)opts, (EShLanguage)firstStage, (EShLanguage)lastStage); + + for (int s = 0; s < EShLangCount; ++s) { + if (intermediate[s]) { + if (! reflection->addStage((EShLanguage)s, *intermediate[s])) + return false; + } + } + + return true; +} + +unsigned TProgram::getLocalSize(int dim) const { return reflection->getLocalSize(dim); } +int TProgram::getReflectionIndex(const char* name) const { return reflection->getIndex(name); } +int TProgram::getReflectionPipeIOIndex(const char* name, const bool inOrOut) const + { return reflection->getPipeIOIndex(name, inOrOut); } + +int TProgram::getNumUniformVariables() const { return reflection->getNumUniforms(); } +const TObjectReflection& TProgram::getUniform(int index) const { return reflection->getUniform(index); } +int TProgram::getNumUniformBlocks() const { return reflection->getNumUniformBlocks(); } +const TObjectReflection& TProgram::getUniformBlock(int index) const { return reflection->getUniformBlock(index); } +int TProgram::getNumPipeInputs() const { return reflection->getNumPipeInputs(); } +const TObjectReflection& TProgram::getPipeInput(int index) const { return reflection->getPipeInput(index); } +int TProgram::getNumPipeOutputs() const { return reflection->getNumPipeOutputs(); } +const TObjectReflection& TProgram::getPipeOutput(int index) const { return reflection->getPipeOutput(index); } +int TProgram::getNumBufferVariables() const { return reflection->getNumBufferVariables(); } +const TObjectReflection& TProgram::getBufferVariable(int index) const { return reflection->getBufferVariable(index); } +int TProgram::getNumBufferBlocks() const { return reflection->getNumStorageBuffers(); } +const TObjectReflection& TProgram::getBufferBlock(int index) const { return reflection->getStorageBufferBlock(index); } +int TProgram::getNumAtomicCounters() const { return reflection->getNumAtomicCounters(); } +const TObjectReflection& TProgram::getAtomicCounter(int index) const { return reflection->getAtomicCounter(index); } +void TProgram::dumpReflection() { if (reflection != nullptr) reflection->dump(); } + +// +// I/O mapping implementation. +// +bool TProgram::mapIO(TIoMapResolver* pResolver, TIoMapper* pIoMapper) +{ + if (! linked) + return false; + TIoMapper* ioMapper = nullptr; + TIoMapper defaultIOMapper; + if (pIoMapper == nullptr) + ioMapper = &defaultIOMapper; + else + ioMapper = pIoMapper; + for (int s = 0; s < EShLangCount; ++s) { + if (intermediate[s]) { + if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink, pResolver)) + return false; + } + } + + return ioMapper->doMap(pResolver, *infoSink); +} + +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.cpp new file mode 100644 index 00000000..f6291c39 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.cpp @@ -0,0 +1,450 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2018 Google, Inc. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Symbol table for parsing. Most functionality and main ideas +// are documented in the header file. +// + +#include "SymbolTable.h" + +namespace glslang { + +// +// TType helper function needs a place to live. +// + +// +// Recursively generate mangled names. +// +void TType::buildMangledName(TString& mangledName) const +{ + if (isMatrix()) + mangledName += 'm'; + else if (isVector()) + mangledName += 'v'; + + switch (basicType) { + case EbtFloat: mangledName += 'f'; break; + case EbtInt: mangledName += 'i'; break; + case EbtUint: mangledName += 'u'; break; + case EbtBool: mangledName += 'b'; break; +#ifndef GLSLANG_WEB + case EbtDouble: mangledName += 'd'; break; + case EbtFloat16: mangledName += "f16"; break; + case EbtInt8: mangledName += "i8"; break; + case EbtUint8: mangledName += "u8"; break; + case EbtInt16: mangledName += "i16"; break; + case EbtUint16: mangledName += "u16"; break; + case EbtInt64: mangledName += "i64"; break; + case EbtUint64: mangledName += "u64"; break; + case EbtAtomicUint: mangledName += "au"; break; + case EbtAccStruct: mangledName += "as"; break; + case EbtRayQuery: mangledName += "rq"; break; +#endif + case EbtSampler: + switch (sampler.type) { +#ifndef GLSLANG_WEB + case EbtFloat16: mangledName += "f16"; break; +#endif + case EbtInt: mangledName += "i"; break; + case EbtUint: mangledName += "u"; break; + case EbtInt64: mangledName += "i64"; break; + case EbtUint64: mangledName += "u64"; break; + default: break; // some compilers want this + } + if (sampler.isImageClass()) + mangledName += "I"; // a normal image or subpass + else if (sampler.isPureSampler()) + mangledName += "p"; // a "pure" sampler + else if (!sampler.isCombined()) + mangledName += "t"; // a "pure" texture + else + mangledName += "s"; // traditional combined sampler + if (sampler.isArrayed()) + mangledName += "A"; + if (sampler.isShadow()) + mangledName += "S"; + if (sampler.isExternal()) + mangledName += "E"; + if (sampler.isYuv()) + mangledName += "Y"; + switch (sampler.dim) { + case Esd2D: mangledName += "2"; break; + case Esd3D: mangledName += "3"; break; + case EsdCube: mangledName += "C"; break; +#ifndef GLSLANG_WEB + case Esd1D: mangledName += "1"; break; + case EsdRect: mangledName += "R2"; break; + case EsdBuffer: mangledName += "B"; break; + case EsdSubpass: mangledName += "P"; break; +#endif + default: break; // some compilers want this + } + +#ifdef ENABLE_HLSL + if (sampler.hasReturnStruct()) { + // Name mangle for sampler return struct uses struct table index. + mangledName += "-tx-struct"; + + char text[16]; // plenty enough space for the small integers. + snprintf(text, sizeof(text), "%u-", sampler.getStructReturnIndex()); + mangledName += text; + } else { + switch (sampler.getVectorSize()) { + case 1: mangledName += "1"; break; + case 2: mangledName += "2"; break; + case 3: mangledName += "3"; break; + case 4: break; // default to prior name mangle behavior + } + } +#endif + + if (sampler.isMultiSample()) + mangledName += "M"; + break; + case EbtStruct: + case EbtBlock: + if (basicType == EbtStruct) + mangledName += "struct-"; + else + mangledName += "block-"; + if (typeName) + mangledName += *typeName; + for (unsigned int i = 0; i < structure->size(); ++i) { + if ((*structure)[i].type->getBasicType() == EbtVoid) + continue; + mangledName += '-'; + (*structure)[i].type->buildMangledName(mangledName); + } + default: + break; + } + + if (getVectorSize() > 0) + mangledName += static_cast('0' + getVectorSize()); + else { + mangledName += static_cast('0' + getMatrixCols()); + mangledName += static_cast('0' + getMatrixRows()); + } + + if (arraySizes) { + const int maxSize = 11; + char buf[maxSize]; + for (int i = 0; i < arraySizes->getNumDims(); ++i) { + if (arraySizes->getDimNode(i)) { + if (arraySizes->getDimNode(i)->getAsSymbolNode()) + snprintf(buf, maxSize, "s%d", arraySizes->getDimNode(i)->getAsSymbolNode()->getId()); + else + snprintf(buf, maxSize, "s%p", arraySizes->getDimNode(i)); + } else + snprintf(buf, maxSize, "%d", arraySizes->getDimSize(i)); + mangledName += '['; + mangledName += buf; + mangledName += ']'; + } + } +} + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +// +// Dump functions. +// + +void TSymbol::dumpExtensions(TInfoSink& infoSink) const +{ + int numExtensions = getNumExtensions(); + if (numExtensions) { + infoSink.debug << " <"; + + for (int i = 0; i < numExtensions; i++) + infoSink.debug << getExtensions()[i] << ","; + + infoSink.debug << ">"; + } +} + +void TVariable::dump(TInfoSink& infoSink, bool complete) const +{ + if (complete) { + infoSink.debug << getName().c_str() << ": " << type.getCompleteString(); + dumpExtensions(infoSink); + } else { + infoSink.debug << getName().c_str() << ": " << type.getStorageQualifierString() << " " + << type.getBasicTypeString(); + + if (type.isArray()) + infoSink.debug << "[0]"; + } + + infoSink.debug << "\n"; +} + +void TFunction::dump(TInfoSink& infoSink, bool complete) const +{ + if (complete) { + infoSink.debug << getName().c_str() << ": " << returnType.getCompleteString() << " " << getName().c_str() + << "("; + + int numParams = getParamCount(); + for (int i = 0; i < numParams; i++) { + const TParameter ¶m = parameters[i]; + infoSink.debug << param.type->getCompleteString() << " " + << (param.type->isStruct() ? "of " + param.type->getTypeName() + " " : "") + << (param.name ? *param.name : "") << (i < numParams - 1 ? "," : ""); + } + + infoSink.debug << ")"; + dumpExtensions(infoSink); + } else { + infoSink.debug << getName().c_str() << ": " << returnType.getBasicTypeString() << " " + << getMangledName().c_str() << "n"; + } + + infoSink.debug << "\n"; +} + +void TAnonMember::dump(TInfoSink& TInfoSink, bool) const +{ + TInfoSink.debug << "anonymous member " << getMemberNumber() << " of " << getAnonContainer().getName().c_str() + << "\n"; +} + +void TSymbolTableLevel::dump(TInfoSink& infoSink, bool complete) const +{ + tLevel::const_iterator it; + for (it = level.begin(); it != level.end(); ++it) + (*it).second->dump(infoSink, complete); +} + +void TSymbolTable::dump(TInfoSink& infoSink, bool complete) const +{ + for (int level = currentLevel(); level >= 0; --level) { + infoSink.debug << "LEVEL " << level << "\n"; + table[level]->dump(infoSink, complete); + } +} + +#endif + +// +// Functions have buried pointers to delete. +// +TFunction::~TFunction() +{ + for (TParamList::iterator i = parameters.begin(); i != parameters.end(); ++i) + delete (*i).type; +} + +// +// Symbol table levels are a map of pointers to symbols that have to be deleted. +// +TSymbolTableLevel::~TSymbolTableLevel() +{ + for (tLevel::iterator it = level.begin(); it != level.end(); ++it) + delete (*it).second; + + delete [] defaultPrecision; +} + +// +// Change all function entries in the table with the non-mangled name +// to be related to the provided built-in operation. +// +void TSymbolTableLevel::relateToOperator(const char* name, TOperator op) +{ + tLevel::const_iterator candidate = level.lower_bound(name); + while (candidate != level.end()) { + const TString& candidateName = (*candidate).first; + TString::size_type parenAt = candidateName.find_first_of('('); + if (parenAt != candidateName.npos && candidateName.compare(0, parenAt, name) == 0) { + TFunction* function = (*candidate).second->getAsFunction(); + function->relateToOperator(op); + } else + break; + ++candidate; + } +} + +// Make all function overloads of the given name require an extension(s). +// Should only be used for a version/profile that actually needs the extension(s). +void TSymbolTableLevel::setFunctionExtensions(const char* name, int num, const char* const extensions[]) +{ + tLevel::const_iterator candidate = level.lower_bound(name); + while (candidate != level.end()) { + const TString& candidateName = (*candidate).first; + TString::size_type parenAt = candidateName.find_first_of('('); + if (parenAt != candidateName.npos && candidateName.compare(0, parenAt, name) == 0) { + TSymbol* symbol = candidate->second; + symbol->setExtensions(num, extensions); + } else + break; + ++candidate; + } +} + +// +// Make all symbols in this table level read only. +// +void TSymbolTableLevel::readOnly() +{ + for (tLevel::iterator it = level.begin(); it != level.end(); ++it) + (*it).second->makeReadOnly(); +} + +// +// Copy a symbol, but the copy is writable; call readOnly() afterward if that's not desired. +// +TSymbol::TSymbol(const TSymbol& copyOf) +{ + name = NewPoolTString(copyOf.name->c_str()); + uniqueId = copyOf.uniqueId; + writable = true; +} + +TVariable::TVariable(const TVariable& copyOf) : TSymbol(copyOf) +{ + type.deepCopy(copyOf.type); + userType = copyOf.userType; + + // we don't support specialization-constant subtrees in cloned tables, only extensions + constSubtree = nullptr; + extensions = nullptr; + memberExtensions = nullptr; + if (copyOf.getNumExtensions() > 0) + setExtensions(copyOf.getNumExtensions(), copyOf.getExtensions()); + if (copyOf.hasMemberExtensions()) { + for (int m = 0; m < (int)copyOf.type.getStruct()->size(); ++m) { + if (copyOf.getNumMemberExtensions(m) > 0) + setMemberExtensions(m, copyOf.getNumMemberExtensions(m), copyOf.getMemberExtensions(m)); + } + } + + if (! copyOf.constArray.empty()) { + assert(! copyOf.type.isStruct()); + TConstUnionArray newArray(copyOf.constArray, 0, copyOf.constArray.size()); + constArray = newArray; + } +} + +TVariable* TVariable::clone() const +{ + TVariable *variable = new TVariable(*this); + + return variable; +} + +TFunction::TFunction(const TFunction& copyOf) : TSymbol(copyOf) +{ + for (unsigned int i = 0; i < copyOf.parameters.size(); ++i) { + TParameter param; + parameters.push_back(param); + parameters.back().copyParam(copyOf.parameters[i]); + } + + extensions = nullptr; + if (copyOf.getNumExtensions() > 0) + setExtensions(copyOf.getNumExtensions(), copyOf.getExtensions()); + returnType.deepCopy(copyOf.returnType); + mangledName = copyOf.mangledName; + op = copyOf.op; + defined = copyOf.defined; + prototyped = copyOf.prototyped; + implicitThis = copyOf.implicitThis; + illegalImplicitThis = copyOf.illegalImplicitThis; + defaultParamCount = copyOf.defaultParamCount; +} + +TFunction* TFunction::clone() const +{ + TFunction *function = new TFunction(*this); + + return function; +} + +TAnonMember* TAnonMember::clone() const +{ + // Anonymous members of a given block should be cloned at a higher level, + // where they can all be assured to still end up pointing to a single + // copy of the original container. + assert(0); + + return 0; +} + +TSymbolTableLevel* TSymbolTableLevel::clone() const +{ + TSymbolTableLevel *symTableLevel = new TSymbolTableLevel(); + symTableLevel->anonId = anonId; + symTableLevel->thisLevel = thisLevel; + std::vector containerCopied(anonId, false); + tLevel::const_iterator iter; + for (iter = level.begin(); iter != level.end(); ++iter) { + const TAnonMember* anon = iter->second->getAsAnonMember(); + if (anon) { + // Insert all the anonymous members of this same container at once, + // avoid inserting the remaining members in the future, once this has been done, + // allowing them to all be part of the same new container. + if (! containerCopied[anon->getAnonId()]) { + TVariable* container = anon->getAnonContainer().clone(); + container->changeName(NewPoolTString("")); + // insert the container and all its members + symTableLevel->insert(*container, false); + containerCopied[anon->getAnonId()] = true; + } + } else + symTableLevel->insert(*iter->second->clone(), false); + } + + return symTableLevel; +} + +void TSymbolTable::copyTable(const TSymbolTable& copyOf) +{ + assert(adoptedLevels == copyOf.adoptedLevels); + + uniqueId = copyOf.uniqueId; + noBuiltInRedeclarations = copyOf.noBuiltInRedeclarations; + separateNameSpaces = copyOf.separateNameSpaces; + for (unsigned int i = copyOf.adoptedLevels; i < copyOf.table.size(); ++i) + table.push_back(copyOf.table[i]->clone()); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.h b/android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.h new file mode 100644 index 00000000..db16c19b --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/SymbolTable.h @@ -0,0 +1,899 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _SYMBOL_TABLE_INCLUDED_ +#define _SYMBOL_TABLE_INCLUDED_ + +// +// Symbol table for parsing. Has these design characteristics: +// +// * Same symbol table can be used to compile many shaders, to preserve +// effort of creating and loading with the large numbers of built-in +// symbols. +// +// --> This requires a copy mechanism, so initial pools used to create +// the shared information can be popped. Done through "clone" +// methods. +// +// * Name mangling will be used to give each function a unique name +// so that symbol table lookups are never ambiguous. This allows +// a simpler symbol table structure. +// +// * Pushing and popping of scope, so symbol table will really be a stack +// of symbol tables. Searched from the top, with new inserts going into +// the top. +// +// * Constants: Compile time constant symbols will keep their values +// in the symbol table. The parser can substitute constants at parse +// time, including doing constant folding and constant propagation. +// +// * No temporaries: Temporaries made from operations (+, --, .xy, etc.) +// are tracked in the intermediate representation, not the symbol table. +// + +#include "../Include/Common.h" +#include "../Include/intermediate.h" +#include "../Include/InfoSink.h" + +namespace glslang { + +// +// Symbol base class. (Can build functions or variables out of these...) +// + +class TVariable; +class TFunction; +class TAnonMember; + +typedef TVector TExtensionList; + +class TSymbol { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + explicit TSymbol(const TString *n) : name(n), extensions(0), writable(true) { } + virtual TSymbol* clone() const = 0; + virtual ~TSymbol() { } // rely on all symbol owned memory coming from the pool + + virtual const TString& getName() const { return *name; } + virtual void changeName(const TString* newName) { name = newName; } + virtual void addPrefix(const char* prefix) + { + TString newName(prefix); + newName.append(*name); + changeName(NewPoolTString(newName.c_str())); + } + virtual const TString& getMangledName() const { return getName(); } + virtual TFunction* getAsFunction() { return 0; } + virtual const TFunction* getAsFunction() const { return 0; } + virtual TVariable* getAsVariable() { return 0; } + virtual const TVariable* getAsVariable() const { return 0; } + virtual const TAnonMember* getAsAnonMember() const { return 0; } + virtual const TType& getType() const = 0; + virtual TType& getWritableType() = 0; + virtual void setUniqueId(int id) { uniqueId = id; } + virtual int getUniqueId() const { return uniqueId; } + virtual void setExtensions(int numExts, const char* const exts[]) + { + assert(extensions == 0); + assert(numExts > 0); + extensions = NewPoolObject(extensions); + for (int e = 0; e < numExts; ++e) + extensions->push_back(exts[e]); + } + virtual int getNumExtensions() const { return extensions == nullptr ? 0 : (int)extensions->size(); } + virtual const char** getExtensions() const { return extensions->data(); } + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + virtual void dump(TInfoSink& infoSink, bool complete = false) const = 0; + void dumpExtensions(TInfoSink& infoSink) const; +#endif + + virtual bool isReadOnly() const { return ! writable; } + virtual void makeReadOnly() { writable = false; } + +protected: + explicit TSymbol(const TSymbol&); + TSymbol& operator=(const TSymbol&); + + const TString *name; + unsigned int uniqueId; // For cross-scope comparing during code generation + + // For tracking what extensions must be present + // (don't use if correct version/profile is present). + TExtensionList* extensions; // an array of pointers to existing constant char strings + + // + // N.B.: Non-const functions that will be generally used should assert on this, + // to avoid overwriting shared symbol-table information. + // + bool writable; +}; + +// +// Variable class, meaning a symbol that's not a function. +// +// There could be a separate class hierarchy for Constant variables; +// Only one of int, bool, or float, (or none) is correct for +// any particular use, but it's easy to do this way, and doesn't +// seem worth having separate classes, and "getConst" can't simply return +// different values for different types polymorphically, so this is +// just simple and pragmatic. +// +class TVariable : public TSymbol { +public: + TVariable(const TString *name, const TType& t, bool uT = false ) + : TSymbol(name), + userType(uT), + constSubtree(nullptr), + memberExtensions(nullptr), + anonId(-1) + { type.shallowCopy(t); } + virtual TVariable* clone() const; + virtual ~TVariable() { } + + virtual TVariable* getAsVariable() { return this; } + virtual const TVariable* getAsVariable() const { return this; } + virtual const TType& getType() const { return type; } + virtual TType& getWritableType() { assert(writable); return type; } + virtual bool isUserType() const { return userType; } + virtual const TConstUnionArray& getConstArray() const { return constArray; } + virtual TConstUnionArray& getWritableConstArray() { assert(writable); return constArray; } + virtual void setConstArray(const TConstUnionArray& array) { constArray = array; } + virtual void setConstSubtree(TIntermTyped* subtree) { constSubtree = subtree; } + virtual TIntermTyped* getConstSubtree() const { return constSubtree; } + virtual void setAnonId(int i) { anonId = i; } + virtual int getAnonId() const { return anonId; } + + virtual void setMemberExtensions(int member, int numExts, const char* const exts[]) + { + assert(type.isStruct()); + assert(numExts > 0); + if (memberExtensions == nullptr) { + memberExtensions = NewPoolObject(memberExtensions); + memberExtensions->resize(type.getStruct()->size()); + } + for (int e = 0; e < numExts; ++e) + (*memberExtensions)[member].push_back(exts[e]); + } + virtual bool hasMemberExtensions() const { return memberExtensions != nullptr; } + virtual int getNumMemberExtensions(int member) const + { + return memberExtensions == nullptr ? 0 : (int)(*memberExtensions)[member].size(); + } + virtual const char** getMemberExtensions(int member) const { return (*memberExtensions)[member].data(); } + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + virtual void dump(TInfoSink& infoSink, bool complete = false) const; +#endif + +protected: + explicit TVariable(const TVariable&); + TVariable& operator=(const TVariable&); + + TType type; + bool userType; + + // we are assuming that Pool Allocator will free the memory allocated to unionArray + // when this object is destroyed + + TConstUnionArray constArray; // for compile-time constant value + TIntermTyped* constSubtree; // for specialization constant computation + TVector* memberExtensions; // per-member extension list, allocated only when needed + int anonId; // the ID used for anonymous blocks: TODO: see if uniqueId could serve a dual purpose +}; + +// +// The function sub-class of symbols and the parser will need to +// share this definition of a function parameter. +// +struct TParameter { + TString *name; + TType* type; + TIntermTyped* defaultValue; + void copyParam(const TParameter& param) + { + if (param.name) + name = NewPoolTString(param.name->c_str()); + else + name = 0; + type = param.type->clone(); + defaultValue = param.defaultValue; + } + TBuiltInVariable getDeclaredBuiltIn() const { return type->getQualifier().declaredBuiltIn; } +}; + +// +// The function sub-class of a symbol. +// +class TFunction : public TSymbol { +public: + explicit TFunction(TOperator o) : + TSymbol(0), + op(o), + defined(false), prototyped(false), implicitThis(false), illegalImplicitThis(false), defaultParamCount(0) { } + TFunction(const TString *name, const TType& retType, TOperator tOp = EOpNull) : + TSymbol(name), + mangledName(*name + '('), + op(tOp), + defined(false), prototyped(false), implicitThis(false), illegalImplicitThis(false), defaultParamCount(0) + { + returnType.shallowCopy(retType); + declaredBuiltIn = retType.getQualifier().builtIn; + } + virtual TFunction* clone() const override; + virtual ~TFunction(); + + virtual TFunction* getAsFunction() override { return this; } + virtual const TFunction* getAsFunction() const override { return this; } + + // Install 'p' as the (non-'this') last parameter. + // Non-'this' parameters are reflected in both the list of parameters and the + // mangled name. + virtual void addParameter(TParameter& p) + { + assert(writable); + parameters.push_back(p); + p.type->appendMangledName(mangledName); + + if (p.defaultValue != nullptr) + defaultParamCount++; + } + + // Install 'this' as the first parameter. + // 'this' is reflected in the list of parameters, but not the mangled name. + virtual void addThisParameter(TType& type, const char* name) + { + TParameter p = { NewPoolTString(name), new TType, nullptr }; + p.type->shallowCopy(type); + parameters.insert(parameters.begin(), p); + } + + virtual void addPrefix(const char* prefix) override + { + TSymbol::addPrefix(prefix); + mangledName.insert(0, prefix); + } + + virtual void removePrefix(const TString& prefix) + { + assert(mangledName.compare(0, prefix.size(), prefix) == 0); + mangledName.erase(0, prefix.size()); + } + + virtual const TString& getMangledName() const override { return mangledName; } + virtual const TType& getType() const override { return returnType; } + virtual TBuiltInVariable getDeclaredBuiltInType() const { return declaredBuiltIn; } + virtual TType& getWritableType() override { return returnType; } + virtual void relateToOperator(TOperator o) { assert(writable); op = o; } + virtual TOperator getBuiltInOp() const { return op; } + virtual void setDefined() { assert(writable); defined = true; } + virtual bool isDefined() const { return defined; } + virtual void setPrototyped() { assert(writable); prototyped = true; } + virtual bool isPrototyped() const { return prototyped; } + virtual void setImplicitThis() { assert(writable); implicitThis = true; } + virtual bool hasImplicitThis() const { return implicitThis; } + virtual void setIllegalImplicitThis() { assert(writable); illegalImplicitThis = true; } + virtual bool hasIllegalImplicitThis() const { return illegalImplicitThis; } + + // Return total number of parameters + virtual int getParamCount() const { return static_cast(parameters.size()); } + // Return number of parameters with default values. + virtual int getDefaultParamCount() const { return defaultParamCount; } + // Return number of fixed parameters (without default values) + virtual int getFixedParamCount() const { return getParamCount() - getDefaultParamCount(); } + + virtual TParameter& operator[](int i) { assert(writable); return parameters[i]; } + virtual const TParameter& operator[](int i) const { return parameters[i]; } + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + virtual void dump(TInfoSink& infoSink, bool complete = false) const override; +#endif + +protected: + explicit TFunction(const TFunction&); + TFunction& operator=(const TFunction&); + + typedef TVector TParamList; + TParamList parameters; + TType returnType; + TBuiltInVariable declaredBuiltIn; + + TString mangledName; + TOperator op; + bool defined; + bool prototyped; + bool implicitThis; // True if this function is allowed to see all members of 'this' + bool illegalImplicitThis; // True if this function is not supposed to have access to dynamic members of 'this', + // even if it finds member variables in the symbol table. + // This is important for a static member function that has member variables in scope, + // but is not allowed to use them, or see hidden symbols instead. + int defaultParamCount; +}; + +// +// Members of anonymous blocks are a kind of TSymbol. They are not hidden in +// the symbol table behind a container; rather they are visible and point to +// their anonymous container. (The anonymous container is found through the +// member, not the other way around.) +// +class TAnonMember : public TSymbol { +public: + TAnonMember(const TString* n, unsigned int m, TVariable& a, int an) : TSymbol(n), anonContainer(a), memberNumber(m), anonId(an) { } + virtual TAnonMember* clone() const override; + virtual ~TAnonMember() { } + + virtual const TAnonMember* getAsAnonMember() const override { return this; } + virtual const TVariable& getAnonContainer() const { return anonContainer; } + virtual unsigned int getMemberNumber() const { return memberNumber; } + + virtual const TType& getType() const override + { + const TTypeList& types = *anonContainer.getType().getStruct(); + return *types[memberNumber].type; + } + + virtual TType& getWritableType() override + { + assert(writable); + const TTypeList& types = *anonContainer.getType().getStruct(); + return *types[memberNumber].type; + } + + virtual void setExtensions(int numExts, const char* const exts[]) override + { + anonContainer.setMemberExtensions(memberNumber, numExts, exts); + } + virtual int getNumExtensions() const override { return anonContainer.getNumMemberExtensions(memberNumber); } + virtual const char** getExtensions() const override { return anonContainer.getMemberExtensions(memberNumber); } + + virtual int getAnonId() const { return anonId; } +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + virtual void dump(TInfoSink& infoSink, bool complete = false) const override; +#endif + +protected: + explicit TAnonMember(const TAnonMember&); + TAnonMember& operator=(const TAnonMember&); + + TVariable& anonContainer; + unsigned int memberNumber; + int anonId; +}; + +class TSymbolTableLevel { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + TSymbolTableLevel() : defaultPrecision(0), anonId(0), thisLevel(false) { } + ~TSymbolTableLevel(); + + bool insert(TSymbol& symbol, bool separateNameSpaces) + { + // + // returning true means symbol was added to the table with no semantic errors + // + const TString& name = symbol.getName(); + if (name == "") { + symbol.getAsVariable()->setAnonId(anonId++); + // An empty name means an anonymous container, exposing its members to the external scope. + // Give it a name and insert its members in the symbol table, pointing to the container. + char buf[20]; + snprintf(buf, 20, "%s%d", AnonymousPrefix, symbol.getAsVariable()->getAnonId()); + symbol.changeName(NewPoolTString(buf)); + + return insertAnonymousMembers(symbol, 0); + } else { + // Check for redefinition errors: + // - STL itself will tell us if there is a direct name collision, with name mangling, at this level + // - additionally, check for function-redefining-variable name collisions + const TString& insertName = symbol.getMangledName(); + if (symbol.getAsFunction()) { + // make sure there isn't a variable of this name + if (! separateNameSpaces && level.find(name) != level.end()) + return false; + + // insert, and whatever happens is okay + level.insert(tLevelPair(insertName, &symbol)); + + return true; + } else + return level.insert(tLevelPair(insertName, &symbol)).second; + } + } + + // Add more members to an already inserted aggregate object + bool amend(TSymbol& symbol, int firstNewMember) + { + // See insert() for comments on basic explanation of insert. + // This operates similarly, but more simply. + // Only supporting amend of anonymous blocks so far. + if (IsAnonymous(symbol.getName())) + return insertAnonymousMembers(symbol, firstNewMember); + else + return false; + } + + bool insertAnonymousMembers(TSymbol& symbol, int firstMember) + { + const TTypeList& types = *symbol.getAsVariable()->getType().getStruct(); + for (unsigned int m = firstMember; m < types.size(); ++m) { + TAnonMember* member = new TAnonMember(&types[m].type->getFieldName(), m, *symbol.getAsVariable(), symbol.getAsVariable()->getAnonId()); + if (! level.insert(tLevelPair(member->getMangledName(), member)).second) + return false; + } + + return true; + } + + TSymbol* find(const TString& name) const + { + tLevel::const_iterator it = level.find(name); + if (it == level.end()) + return 0; + else + return (*it).second; + } + + void findFunctionNameList(const TString& name, TVector& list) + { + size_t parenAt = name.find_first_of('('); + TString base(name, 0, parenAt + 1); + + tLevel::const_iterator begin = level.lower_bound(base); + base[parenAt] = ')'; // assume ')' is lexically after '(' + tLevel::const_iterator end = level.upper_bound(base); + for (tLevel::const_iterator it = begin; it != end; ++it) + list.push_back(it->second->getAsFunction()); + } + + // See if there is already a function in the table having the given non-function-style name. + bool hasFunctionName(const TString& name) const + { + tLevel::const_iterator candidate = level.lower_bound(name); + if (candidate != level.end()) { + const TString& candidateName = (*candidate).first; + TString::size_type parenAt = candidateName.find_first_of('('); + if (parenAt != candidateName.npos && candidateName.compare(0, parenAt, name) == 0) + + return true; + } + + return false; + } + + // See if there is a variable at this level having the given non-function-style name. + // Return true if name is found, and set variable to true if the name was a variable. + bool findFunctionVariableName(const TString& name, bool& variable) const + { + tLevel::const_iterator candidate = level.lower_bound(name); + if (candidate != level.end()) { + const TString& candidateName = (*candidate).first; + TString::size_type parenAt = candidateName.find_first_of('('); + if (parenAt == candidateName.npos) { + // not a mangled name + if (candidateName == name) { + // found a variable name match + variable = true; + return true; + } + } else { + // a mangled name + if (candidateName.compare(0, parenAt, name) == 0) { + // found a function name match + variable = false; + return true; + } + } + } + + return false; + } + + // Use this to do a lazy 'push' of precision defaults the first time + // a precision statement is seen in a new scope. Leave it at 0 for + // when no push was needed. Thus, it is not the current defaults, + // it is what to restore the defaults to when popping a level. + void setPreviousDefaultPrecisions(const TPrecisionQualifier *p) + { + // can call multiple times at one scope, will only latch on first call, + // as we're tracking the previous scope's values, not the current values + if (defaultPrecision != 0) + return; + + defaultPrecision = new TPrecisionQualifier[EbtNumTypes]; + for (int t = 0; t < EbtNumTypes; ++t) + defaultPrecision[t] = p[t]; + } + + void getPreviousDefaultPrecisions(TPrecisionQualifier *p) + { + // can be called for table level pops that didn't set the + // defaults + if (defaultPrecision == 0 || p == 0) + return; + + for (int t = 0; t < EbtNumTypes; ++t) + p[t] = defaultPrecision[t]; + } + + void relateToOperator(const char* name, TOperator op); + void setFunctionExtensions(const char* name, int num, const char* const extensions[]); +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + void dump(TInfoSink& infoSink, bool complete = false) const; +#endif + TSymbolTableLevel* clone() const; + void readOnly(); + + void setThisLevel() { thisLevel = true; } + bool isThisLevel() const { return thisLevel; } + +protected: + explicit TSymbolTableLevel(TSymbolTableLevel&); + TSymbolTableLevel& operator=(TSymbolTableLevel&); + + typedef std::map, pool_allocator > > tLevel; + typedef const tLevel::value_type tLevelPair; + typedef std::pair tInsertResult; + + tLevel level; // named mappings + TPrecisionQualifier *defaultPrecision; + int anonId; + bool thisLevel; // True if this level of the symbol table is a structure scope containing member function + // that are supposed to see anonymous access to member variables. +}; + +class TSymbolTable { +public: + TSymbolTable() : uniqueId(0), noBuiltInRedeclarations(false), separateNameSpaces(false), adoptedLevels(0) + { + // + // This symbol table cannot be used until push() is called. + // + } + ~TSymbolTable() + { + // this can be called explicitly; safest to code it so it can be called multiple times + + // don't deallocate levels passed in from elsewhere + while (table.size() > adoptedLevels) + pop(0); + } + + void adoptLevels(TSymbolTable& symTable) + { + for (unsigned int level = 0; level < symTable.table.size(); ++level) { + table.push_back(symTable.table[level]); + ++adoptedLevels; + } + uniqueId = symTable.uniqueId; + noBuiltInRedeclarations = symTable.noBuiltInRedeclarations; + separateNameSpaces = symTable.separateNameSpaces; + } + + // + // While level adopting is generic, the methods below enact a the following + // convention for levels: + // 0: common built-ins shared across all stages, all compiles, only one copy for all symbol tables + // 1: per-stage built-ins, shared across all compiles, but a different copy per stage + // 2: built-ins specific to a compile, like resources that are context-dependent, or redeclared built-ins + // 3: user-shader globals + // +protected: + static const int globalLevel = 3; + static bool isSharedLevel(int level) { return level <= 1; } // exclude all per-compile levels + static bool isBuiltInLevel(int level) { return level <= 2; } // exclude user globals + static bool isGlobalLevel(int level) { return level <= globalLevel; } // include user globals +public: + bool isEmpty() { return table.size() == 0; } + bool atBuiltInLevel() { return isBuiltInLevel(currentLevel()); } + bool atGlobalLevel() { return isGlobalLevel(currentLevel()); } + static bool isBuiltInSymbol(int uniqueId) { + int level = uniqueId >> LevelFlagBitOffset; + return isBuiltInLevel(level); + } + void setNoBuiltInRedeclarations() { noBuiltInRedeclarations = true; } + void setSeparateNameSpaces() { separateNameSpaces = true; } + + void push() + { + table.push_back(new TSymbolTableLevel); + updateUniqueIdLevelFlag(); + } + + // Make a new symbol-table level to represent the scope introduced by a structure + // containing member functions, such that the member functions can find anonymous + // references to member variables. + // + // 'thisSymbol' should have a name of "" to trigger anonymous structure-member + // symbol finds. + void pushThis(TSymbol& thisSymbol) + { + assert(thisSymbol.getName().size() == 0); + table.push_back(new TSymbolTableLevel); + updateUniqueIdLevelFlag(); + table.back()->setThisLevel(); + insert(thisSymbol); + } + + void pop(TPrecisionQualifier *p) + { + table[currentLevel()]->getPreviousDefaultPrecisions(p); + delete table.back(); + table.pop_back(); + updateUniqueIdLevelFlag(); + } + + // + // Insert a visible symbol into the symbol table so it can + // be found later by name. + // + // Returns false if the was a name collision. + // + bool insert(TSymbol& symbol) + { + symbol.setUniqueId(++uniqueId); + + // make sure there isn't a function of this variable name + if (! separateNameSpaces && ! symbol.getAsFunction() && table[currentLevel()]->hasFunctionName(symbol.getName())) + return false; + + // check for not overloading or redefining a built-in function + if (noBuiltInRedeclarations) { + if (atGlobalLevel() && currentLevel() > 0) { + if (table[0]->hasFunctionName(symbol.getName())) + return false; + if (currentLevel() > 1 && table[1]->hasFunctionName(symbol.getName())) + return false; + } + } + + return table[currentLevel()]->insert(symbol, separateNameSpaces); + } + + // Add more members to an already inserted aggregate object + bool amend(TSymbol& symbol, int firstNewMember) + { + // See insert() for comments on basic explanation of insert. + // This operates similarly, but more simply. + return table[currentLevel()]->amend(symbol, firstNewMember); + } + + // + // To allocate an internal temporary, which will need to be uniquely + // identified by the consumer of the AST, but never need to + // found by doing a symbol table search by name, hence allowed an + // arbitrary name in the symbol with no worry of collision. + // + void makeInternalVariable(TSymbol& symbol) + { + symbol.setUniqueId(++uniqueId); + } + + // + // Copy a variable or anonymous member's structure from a shared level so that + // it can be added (soon after return) to the symbol table where it can be + // modified without impacting other users of the shared table. + // + TSymbol* copyUpDeferredInsert(TSymbol* shared) + { + if (shared->getAsVariable()) { + TSymbol* copy = shared->clone(); + copy->setUniqueId(shared->getUniqueId()); + return copy; + } else { + const TAnonMember* anon = shared->getAsAnonMember(); + assert(anon); + TVariable* container = anon->getAnonContainer().clone(); + container->changeName(NewPoolTString("")); + container->setUniqueId(anon->getAnonContainer().getUniqueId()); + return container; + } + } + + TSymbol* copyUp(TSymbol* shared) + { + TSymbol* copy = copyUpDeferredInsert(shared); + table[globalLevel]->insert(*copy, separateNameSpaces); + if (shared->getAsVariable()) + return copy; + else { + // return the copy of the anonymous member + return table[globalLevel]->find(shared->getName()); + } + } + + // Normal find of a symbol, that can optionally say whether the symbol was found + // at a built-in level or the current top-scope level. + TSymbol* find(const TString& name, bool* builtIn = 0, bool* currentScope = 0, int* thisDepthP = 0) + { + int level = currentLevel(); + TSymbol* symbol; + int thisDepth = 0; + do { + if (table[level]->isThisLevel()) + ++thisDepth; + symbol = table[level]->find(name); + --level; + } while (symbol == nullptr && level >= 0); + level++; + if (builtIn) + *builtIn = isBuiltInLevel(level); + if (currentScope) + *currentScope = isGlobalLevel(currentLevel()) || level == currentLevel(); // consider shared levels as "current scope" WRT user globals + if (thisDepthP != nullptr) { + if (! table[level]->isThisLevel()) + thisDepth = 0; + *thisDepthP = thisDepth; + } + + return symbol; + } + + // Find of a symbol that returns how many layers deep of nested + // structures-with-member-functions ('this' scopes) deep the symbol was + // found in. + TSymbol* find(const TString& name, int& thisDepth) + { + int level = currentLevel(); + TSymbol* symbol; + thisDepth = 0; + do { + if (table[level]->isThisLevel()) + ++thisDepth; + symbol = table[level]->find(name); + --level; + } while (symbol == 0 && level >= 0); + + if (! table[level + 1]->isThisLevel()) + thisDepth = 0; + + return symbol; + } + + bool isFunctionNameVariable(const TString& name) const + { + if (separateNameSpaces) + return false; + + int level = currentLevel(); + do { + bool variable; + bool found = table[level]->findFunctionVariableName(name, variable); + if (found) + return variable; + --level; + } while (level >= 0); + + return false; + } + + void findFunctionNameList(const TString& name, TVector& list, bool& builtIn) + { + // For user levels, return the set found in the first scope with a match + builtIn = false; + int level = currentLevel(); + do { + table[level]->findFunctionNameList(name, list); + --level; + } while (list.empty() && level >= globalLevel); + + if (! list.empty()) + return; + + // Gather across all built-in levels; they don't hide each other + builtIn = true; + do { + table[level]->findFunctionNameList(name, list); + --level; + } while (level >= 0); + } + + void relateToOperator(const char* name, TOperator op) + { + for (unsigned int level = 0; level < table.size(); ++level) + table[level]->relateToOperator(name, op); + } + + void setFunctionExtensions(const char* name, int num, const char* const extensions[]) + { + for (unsigned int level = 0; level < table.size(); ++level) + table[level]->setFunctionExtensions(name, num, extensions); + } + + void setVariableExtensions(const char* name, int numExts, const char* const extensions[]) + { + TSymbol* symbol = find(TString(name)); + if (symbol == nullptr) + return; + + symbol->setExtensions(numExts, extensions); + } + + void setVariableExtensions(const char* blockName, const char* name, int numExts, const char* const extensions[]) + { + TSymbol* symbol = find(TString(blockName)); + if (symbol == nullptr) + return; + TVariable* variable = symbol->getAsVariable(); + assert(variable != nullptr); + + const TTypeList& structure = *variable->getAsVariable()->getType().getStruct(); + for (int member = 0; member < (int)structure.size(); ++member) { + if (structure[member].type->getFieldName().compare(name) == 0) { + variable->setMemberExtensions(member, numExts, extensions); + return; + } + } + } + + int getMaxSymbolId() { return uniqueId; } +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + void dump(TInfoSink& infoSink, bool complete = false) const; +#endif + void copyTable(const TSymbolTable& copyOf); + + void setPreviousDefaultPrecisions(TPrecisionQualifier *p) { table[currentLevel()]->setPreviousDefaultPrecisions(p); } + + void readOnly() + { + for (unsigned int level = 0; level < table.size(); ++level) + table[level]->readOnly(); + } + + // Add current level in the high-bits of unique id + void updateUniqueIdLevelFlag() { + // clamp level to avoid overflow + uint32_t level = currentLevel() > 7 ? 7 : currentLevel(); + uniqueId &= ((1 << LevelFlagBitOffset) - 1); + uniqueId |= (level << LevelFlagBitOffset); + } + +protected: + TSymbolTable(TSymbolTable&); + TSymbolTable& operator=(TSymbolTableLevel&); + + int currentLevel() const { return static_cast(table.size()) - 1; } + static const uint32_t LevelFlagBitOffset = 28; + std::vector table; + int uniqueId; // for unique identification in code generation + bool noBuiltInRedeclarations; + bool separateNameSpaces; + unsigned int adoptedLevels; +}; + +} // end namespace glslang + +#endif // _SYMBOL_TABLE_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Versions.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/Versions.cpp new file mode 100644 index 00000000..69b8863c --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Versions.cpp @@ -0,0 +1,1296 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2020 Google, Inc. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Help manage multiple profiles, versions, extensions etc. +// +// These don't return error codes, as the presumption is parsing will +// always continue as if the tested feature were enabled, and thus there +// is no error recovery needed. +// + +// +// HOW TO add a feature enabled by an extension. +// +// To add a new hypothetical "Feature F" to the front end, where an extension +// "XXX_extension_X" can be used to enable the feature, do the following. +// +// OVERVIEW: Specific features are what are error-checked for, not +// extensions: A specific Feature F might be enabled by an extension, or a +// particular version in a particular profile, or a stage, or combinations, etc. +// +// The basic mechanism is to use the following to "declare" all the things that +// enable/disable Feature F, in a code path that implements Feature F: +// +// requireProfile() +// profileRequires() +// requireStage() +// checkDeprecated() +// requireNotRemoved() +// requireExtensions() +// extensionRequires() +// +// Typically, only the first two calls are needed. They go into a code path that +// implements Feature F, and will log the proper error/warning messages. Parsing +// will then always continue as if the tested feature was enabled. +// +// There is typically no if-testing or conditional parsing, just insertion of the calls above. +// However, if symbols specific to the extension are added (step 5), they will +// only be added under tests that the minimum version and profile are present. +// +// 1) Add a symbol name for the extension string at the bottom of Versions.h: +// +// const char* const XXX_extension_X = "XXX_extension_X"; +// +// 2) Add extension initialization to TParseVersions::initializeExtensionBehavior(), +// the first function below and optionally a entry to extensionData for additional +// error checks: +// +// extensionBehavior[XXX_extension_X] = EBhDisable; +// (Optional) exts[] = {XXX_extension_X, EShTargetSpv_1_4} +// +// 3) Add any preprocessor directives etc. in the next function, TParseVersions::getPreamble(): +// +// "#define XXX_extension_X 1\n" +// +// The new-line is important, as that ends preprocess tokens. +// +// 4) Insert a profile check in the feature's path (unless all profiles support the feature, +// for some version level). That is, call requireProfile() to constrain the profiles, e.g.: +// +// // ... in a path specific to Feature F... +// requireProfile(loc, +// ECoreProfile | ECompatibilityProfile, +// "Feature F"); +// +// 5) For each profile that supports the feature, insert version/extension checks: +// +// The mostly likely scenario is that Feature F can only be used with a +// particular profile if XXX_extension_X is present or the version is +// high enough that the core specification already incorporated it. +// +// // following the requireProfile() call... +// profileRequires(loc, +// ECoreProfile | ECompatibilityProfile, +// 420, // 0 if no version incorporated the feature into the core spec. +// XXX_extension_X, // can be a list of extensions that all add the feature +// "Feature F Description"); +// +// This allows the feature if either A) one of the extensions is enabled or +// B) the version is high enough. If no version yet incorporates the feature +// into core, pass in 0. +// +// This can be called multiple times, if different profiles support the +// feature starting at different version numbers or with different +// extensions. +// +// This must be called for each profile allowed by the initial call to requireProfile(). +// +// Profiles are all masks, which can be "or"-ed together. +// +// ENoProfile +// ECoreProfile +// ECompatibilityProfile +// EEsProfile +// +// The ENoProfile profile is only for desktop, before profiles showed up in version 150; +// All other #version with no profile default to either es or core, and so have profiles. +// +// You can select all but a particular profile using ~. The following basically means "desktop": +// +// ~EEsProfile +// +// 6) If built-in symbols are added by the extension, add them in Initialize.cpp: Their use +// will be automatically error checked against the extensions enabled at that moment. +// see the comment at the top of Initialize.cpp for where to put them. Establish them at +// the earliest release that supports the extension. Then, tag them with the +// set of extensions that both enable them and are necessary, given the version of the symbol +// table. (There is a different symbol table for each version.) +// +// 7) If the extension has additional requirements like minimum SPIR-V version required, add them +// to extensionRequires() + +#include "parseVersions.h" +#include "localintermediate.h" + +namespace glslang { + +#ifndef GLSLANG_WEB + +// +// Initialize all extensions, almost always to 'disable', as once their features +// are incorporated into a core version, their features are supported through allowing that +// core version, not through a pseudo-enablement of the extension. +// +void TParseVersions::initializeExtensionBehavior() +{ + typedef struct { + const char *const extensionName; + EShTargetLanguageVersion minSpvVersion; + } extensionData; + + const extensionData exts[] = { {E_GL_EXT_ray_tracing, EShTargetSpv_1_4} }; + + for (size_t ii = 0; ii < sizeof(exts) / sizeof(exts[0]); ii++) { + // Add only extensions which require > spv1.0 to save space in map + if (exts[ii].minSpvVersion > EShTargetSpv_1_0) { + extensionMinSpv[E_GL_EXT_ray_tracing] = exts[ii].minSpvVersion; + } + } + + extensionBehavior[E_GL_OES_texture_3D] = EBhDisable; + extensionBehavior[E_GL_OES_standard_derivatives] = EBhDisable; + extensionBehavior[E_GL_EXT_frag_depth] = EBhDisable; + extensionBehavior[E_GL_OES_EGL_image_external] = EBhDisable; + extensionBehavior[E_GL_OES_EGL_image_external_essl3] = EBhDisable; + extensionBehavior[E_GL_EXT_YUV_target] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_texture_lod] = EBhDisable; + extensionBehavior[E_GL_EXT_shadow_samplers] = EBhDisable; + extensionBehavior[E_GL_ARB_texture_rectangle] = EBhDisable; + extensionBehavior[E_GL_3DL_array_objects] = EBhDisable; + extensionBehavior[E_GL_ARB_shading_language_420pack] = EBhDisable; + extensionBehavior[E_GL_ARB_texture_gather] = EBhDisable; + extensionBehavior[E_GL_ARB_gpu_shader5] = EBhDisablePartial; + extensionBehavior[E_GL_ARB_separate_shader_objects] = EBhDisable; + extensionBehavior[E_GL_ARB_compute_shader] = EBhDisable; + extensionBehavior[E_GL_ARB_tessellation_shader] = EBhDisable; + extensionBehavior[E_GL_ARB_enhanced_layouts] = EBhDisable; + extensionBehavior[E_GL_ARB_texture_cube_map_array] = EBhDisable; + extensionBehavior[E_GL_ARB_texture_multisample] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_texture_lod] = EBhDisable; + extensionBehavior[E_GL_ARB_explicit_attrib_location] = EBhDisable; + extensionBehavior[E_GL_ARB_explicit_uniform_location] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_image_load_store] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_atomic_counters] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_draw_parameters] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_group_vote] = EBhDisable; + extensionBehavior[E_GL_ARB_derivative_control] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_texture_image_samples] = EBhDisable; + extensionBehavior[E_GL_ARB_viewport_array] = EBhDisable; + extensionBehavior[E_GL_ARB_gpu_shader_int64] = EBhDisable; + extensionBehavior[E_GL_ARB_gpu_shader_fp64] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_ballot] = EBhDisable; + extensionBehavior[E_GL_ARB_sparse_texture2] = EBhDisable; + extensionBehavior[E_GL_ARB_sparse_texture_clamp] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_stencil_export] = EBhDisable; +// extensionBehavior[E_GL_ARB_cull_distance] = EBhDisable; // present for 4.5, but need extension control over block members + extensionBehavior[E_GL_ARB_post_depth_coverage] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_viewport_layer_array] = EBhDisable; + extensionBehavior[E_GL_ARB_fragment_shader_interlock] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_clock] = EBhDisable; + extensionBehavior[E_GL_ARB_uniform_buffer_object] = EBhDisable; + extensionBehavior[E_GL_ARB_sample_shading] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_bit_encoding] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_image_size] = EBhDisable; + extensionBehavior[E_GL_ARB_shader_storage_buffer_object] = EBhDisable; + extensionBehavior[E_GL_ARB_shading_language_packing] = EBhDisable; + extensionBehavior[E_GL_ARB_texture_query_lod] = EBhDisable; + extensionBehavior[E_GL_ARB_vertex_attrib_64bit] = EBhDisable; + + extensionBehavior[E_GL_KHR_shader_subgroup_basic] = EBhDisable; + extensionBehavior[E_GL_KHR_shader_subgroup_vote] = EBhDisable; + extensionBehavior[E_GL_KHR_shader_subgroup_arithmetic] = EBhDisable; + extensionBehavior[E_GL_KHR_shader_subgroup_ballot] = EBhDisable; + extensionBehavior[E_GL_KHR_shader_subgroup_shuffle] = EBhDisable; + extensionBehavior[E_GL_KHR_shader_subgroup_shuffle_relative] = EBhDisable; + extensionBehavior[E_GL_KHR_shader_subgroup_clustered] = EBhDisable; + extensionBehavior[E_GL_KHR_shader_subgroup_quad] = EBhDisable; + extensionBehavior[E_GL_KHR_memory_scope_semantics] = EBhDisable; + + extensionBehavior[E_GL_EXT_shader_atomic_int64] = EBhDisable; + + extensionBehavior[E_GL_EXT_shader_non_constant_global_initializers] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_image_load_formatted] = EBhDisable; + extensionBehavior[E_GL_EXT_post_depth_coverage] = EBhDisable; + extensionBehavior[E_GL_EXT_control_flow_attributes] = EBhDisable; + extensionBehavior[E_GL_EXT_nonuniform_qualifier] = EBhDisable; + extensionBehavior[E_GL_EXT_samplerless_texture_functions] = EBhDisable; + extensionBehavior[E_GL_EXT_scalar_block_layout] = EBhDisable; + extensionBehavior[E_GL_EXT_fragment_invocation_density] = EBhDisable; + extensionBehavior[E_GL_EXT_buffer_reference] = EBhDisable; + extensionBehavior[E_GL_EXT_buffer_reference2] = EBhDisable; + extensionBehavior[E_GL_EXT_buffer_reference_uvec2] = EBhDisable; + extensionBehavior[E_GL_EXT_demote_to_helper_invocation] = EBhDisable; + extensionBehavior[E_GL_EXT_debug_printf] = EBhDisable; + + extensionBehavior[E_GL_EXT_shader_16bit_storage] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_8bit_storage] = EBhDisable; + + // #line and #include + extensionBehavior[E_GL_GOOGLE_cpp_style_line_directive] = EBhDisable; + extensionBehavior[E_GL_GOOGLE_include_directive] = EBhDisable; + + extensionBehavior[E_GL_AMD_shader_ballot] = EBhDisable; + extensionBehavior[E_GL_AMD_shader_trinary_minmax] = EBhDisable; + extensionBehavior[E_GL_AMD_shader_explicit_vertex_parameter] = EBhDisable; + extensionBehavior[E_GL_AMD_gcn_shader] = EBhDisable; + extensionBehavior[E_GL_AMD_gpu_shader_half_float] = EBhDisable; + extensionBehavior[E_GL_AMD_texture_gather_bias_lod] = EBhDisable; + extensionBehavior[E_GL_AMD_gpu_shader_int16] = EBhDisable; + extensionBehavior[E_GL_AMD_shader_image_load_store_lod] = EBhDisable; + extensionBehavior[E_GL_AMD_shader_fragment_mask] = EBhDisable; + extensionBehavior[E_GL_AMD_gpu_shader_half_float_fetch] = EBhDisable; + + extensionBehavior[E_GL_INTEL_shader_integer_functions2] = EBhDisable; + + extensionBehavior[E_GL_NV_sample_mask_override_coverage] = EBhDisable; + extensionBehavior[E_SPV_NV_geometry_shader_passthrough] = EBhDisable; + extensionBehavior[E_GL_NV_viewport_array2] = EBhDisable; + extensionBehavior[E_GL_NV_stereo_view_rendering] = EBhDisable; + extensionBehavior[E_GL_NVX_multiview_per_view_attributes] = EBhDisable; + extensionBehavior[E_GL_NV_shader_atomic_int64] = EBhDisable; + extensionBehavior[E_GL_NV_conservative_raster_underestimation] = EBhDisable; + extensionBehavior[E_GL_NV_shader_noperspective_interpolation] = EBhDisable; + extensionBehavior[E_GL_NV_shader_subgroup_partitioned] = EBhDisable; + extensionBehavior[E_GL_NV_shading_rate_image] = EBhDisable; + extensionBehavior[E_GL_NV_ray_tracing] = EBhDisable; + extensionBehavior[E_GL_NV_fragment_shader_barycentric] = EBhDisable; + extensionBehavior[E_GL_NV_compute_shader_derivatives] = EBhDisable; + extensionBehavior[E_GL_NV_shader_texture_footprint] = EBhDisable; + extensionBehavior[E_GL_NV_mesh_shader] = EBhDisable; + + extensionBehavior[E_GL_NV_cooperative_matrix] = EBhDisable; + extensionBehavior[E_GL_NV_shader_sm_builtins] = EBhDisable; + extensionBehavior[E_GL_NV_integer_cooperative_matrix] = EBhDisable; + + // AEP + extensionBehavior[E_GL_ANDROID_extension_pack_es31a] = EBhDisable; + extensionBehavior[E_GL_KHR_blend_equation_advanced] = EBhDisable; + extensionBehavior[E_GL_OES_sample_variables] = EBhDisable; + extensionBehavior[E_GL_OES_shader_image_atomic] = EBhDisable; + extensionBehavior[E_GL_OES_shader_multisample_interpolation] = EBhDisable; + extensionBehavior[E_GL_OES_texture_storage_multisample_2d_array] = EBhDisable; + extensionBehavior[E_GL_EXT_geometry_shader] = EBhDisable; + extensionBehavior[E_GL_EXT_geometry_point_size] = EBhDisable; + extensionBehavior[E_GL_EXT_gpu_shader5] = EBhDisable; + extensionBehavior[E_GL_EXT_primitive_bounding_box] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_io_blocks] = EBhDisable; + extensionBehavior[E_GL_EXT_tessellation_shader] = EBhDisable; + extensionBehavior[E_GL_EXT_tessellation_point_size] = EBhDisable; + extensionBehavior[E_GL_EXT_texture_buffer] = EBhDisable; + extensionBehavior[E_GL_EXT_texture_cube_map_array] = EBhDisable; + + // OES matching AEP + extensionBehavior[E_GL_OES_geometry_shader] = EBhDisable; + extensionBehavior[E_GL_OES_geometry_point_size] = EBhDisable; + extensionBehavior[E_GL_OES_gpu_shader5] = EBhDisable; + extensionBehavior[E_GL_OES_primitive_bounding_box] = EBhDisable; + extensionBehavior[E_GL_OES_shader_io_blocks] = EBhDisable; + extensionBehavior[E_GL_OES_tessellation_shader] = EBhDisable; + extensionBehavior[E_GL_OES_tessellation_point_size] = EBhDisable; + extensionBehavior[E_GL_OES_texture_buffer] = EBhDisable; + extensionBehavior[E_GL_OES_texture_cube_map_array] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_integer_mix] = EBhDisable; + + // EXT extensions + extensionBehavior[E_GL_EXT_device_group] = EBhDisable; + extensionBehavior[E_GL_EXT_multiview] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_realtime_clock] = EBhDisable; + extensionBehavior[E_GL_EXT_ray_tracing] = EBhDisable; + extensionBehavior[E_GL_EXT_ray_query] = EBhDisable; + extensionBehavior[E_GL_EXT_ray_flags_primitive_culling] = EBhDisable; + extensionBehavior[E_GL_EXT_blend_func_extended] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_implicit_conversions] = EBhDisable; + extensionBehavior[E_GL_EXT_fragment_shading_rate] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_image_int64] = EBhDisable; + extensionBehavior[E_GL_EXT_terminate_invocation] = EBhDisable; + + // OVR extensions + extensionBehavior[E_GL_OVR_multiview] = EBhDisable; + extensionBehavior[E_GL_OVR_multiview2] = EBhDisable; + + // explicit types + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_int8] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_int16] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_int32] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_int64] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_float16] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_float32] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_explicit_arithmetic_types_float64] = EBhDisable; + + // subgroup extended types + extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_int8] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_int16] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_int64] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_float16] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_atomic_float] = EBhDisable; +} + +#endif // GLSLANG_WEB + +// Get code that is not part of a shared symbol table, is specific to this shader, +// or needed by the preprocessor (which does not use a shared symbol table). +void TParseVersions::getPreamble(std::string& preamble) +{ + if (isEsProfile()) { + preamble = + "#define GL_ES 1\n" + "#define GL_FRAGMENT_PRECISION_HIGH 1\n" +#ifdef GLSLANG_WEB + ; +#else + "#define GL_OES_texture_3D 1\n" + "#define GL_OES_standard_derivatives 1\n" + "#define GL_EXT_frag_depth 1\n" + "#define GL_OES_EGL_image_external 1\n" + "#define GL_OES_EGL_image_external_essl3 1\n" + "#define GL_EXT_YUV_target 1\n" + "#define GL_EXT_shader_texture_lod 1\n" + "#define GL_EXT_shadow_samplers 1\n" + "#define GL_EXT_fragment_shading_rate 1\n" + + // AEP + "#define GL_ANDROID_extension_pack_es31a 1\n" + "#define GL_OES_sample_variables 1\n" + "#define GL_OES_shader_image_atomic 1\n" + "#define GL_OES_shader_multisample_interpolation 1\n" + "#define GL_OES_texture_storage_multisample_2d_array 1\n" + "#define GL_EXT_geometry_shader 1\n" + "#define GL_EXT_geometry_point_size 1\n" + "#define GL_EXT_gpu_shader5 1\n" + "#define GL_EXT_primitive_bounding_box 1\n" + "#define GL_EXT_shader_io_blocks 1\n" + "#define GL_EXT_tessellation_shader 1\n" + "#define GL_EXT_tessellation_point_size 1\n" + "#define GL_EXT_texture_buffer 1\n" + "#define GL_EXT_texture_cube_map_array 1\n" + "#define GL_EXT_shader_implicit_conversions 1\n" + "#define GL_EXT_shader_integer_mix 1\n" + "#define GL_EXT_blend_func_extended 1\n" + + // OES matching AEP + "#define GL_OES_geometry_shader 1\n" + "#define GL_OES_geometry_point_size 1\n" + "#define GL_OES_gpu_shader5 1\n" + "#define GL_OES_primitive_bounding_box 1\n" + "#define GL_OES_shader_io_blocks 1\n" + "#define GL_OES_tessellation_shader 1\n" + "#define GL_OES_tessellation_point_size 1\n" + "#define GL_OES_texture_buffer 1\n" + "#define GL_OES_texture_cube_map_array 1\n" + "#define GL_EXT_shader_non_constant_global_initializers 1\n" + ; + + if (isEsProfile() && version >= 300) { + preamble += "#define GL_NV_shader_noperspective_interpolation 1\n"; + } + + } else { // !isEsProfile() + preamble = + "#define GL_FRAGMENT_PRECISION_HIGH 1\n" + "#define GL_ARB_texture_rectangle 1\n" + "#define GL_ARB_shading_language_420pack 1\n" + "#define GL_ARB_texture_gather 1\n" + "#define GL_ARB_gpu_shader5 1\n" + "#define GL_ARB_separate_shader_objects 1\n" + "#define GL_ARB_compute_shader 1\n" + "#define GL_ARB_tessellation_shader 1\n" + "#define GL_ARB_enhanced_layouts 1\n" + "#define GL_ARB_texture_cube_map_array 1\n" + "#define GL_ARB_texture_multisample 1\n" + "#define GL_ARB_shader_texture_lod 1\n" + "#define GL_ARB_explicit_attrib_location 1\n" + "#define GL_ARB_explicit_uniform_location 1\n" + "#define GL_ARB_shader_image_load_store 1\n" + "#define GL_ARB_shader_atomic_counters 1\n" + "#define GL_ARB_shader_draw_parameters 1\n" + "#define GL_ARB_shader_group_vote 1\n" + "#define GL_ARB_derivative_control 1\n" + "#define GL_ARB_shader_texture_image_samples 1\n" + "#define GL_ARB_viewport_array 1\n" + "#define GL_ARB_gpu_shader_int64 1\n" + "#define GL_ARB_gpu_shader_fp64 1\n" + "#define GL_ARB_shader_ballot 1\n" + "#define GL_ARB_sparse_texture2 1\n" + "#define GL_ARB_sparse_texture_clamp 1\n" + "#define GL_ARB_shader_stencil_export 1\n" + "#define GL_ARB_sample_shading 1\n" + "#define GL_ARB_shader_image_size 1\n" + "#define GL_ARB_shading_language_packing 1\n" +// "#define GL_ARB_cull_distance 1\n" // present for 4.5, but need extension control over block members + "#define GL_ARB_post_depth_coverage 1\n" + "#define GL_ARB_fragment_shader_interlock 1\n" + "#define GL_ARB_uniform_buffer_object 1\n" + "#define GL_ARB_shader_bit_encoding 1\n" + "#define GL_ARB_shader_storage_buffer_object 1\n" + "#define GL_ARB_texture_query_lod 1\n" + "#define GL_ARB_vertex_attrib_64bit 1\n" + "#define GL_EXT_shader_non_constant_global_initializers 1\n" + "#define GL_EXT_shader_image_load_formatted 1\n" + "#define GL_EXT_post_depth_coverage 1\n" + "#define GL_EXT_control_flow_attributes 1\n" + "#define GL_EXT_nonuniform_qualifier 1\n" + "#define GL_EXT_shader_16bit_storage 1\n" + "#define GL_EXT_shader_8bit_storage 1\n" + "#define GL_EXT_samplerless_texture_functions 1\n" + "#define GL_EXT_scalar_block_layout 1\n" + "#define GL_EXT_fragment_invocation_density 1\n" + "#define GL_EXT_buffer_reference 1\n" + "#define GL_EXT_buffer_reference2 1\n" + "#define GL_EXT_buffer_reference_uvec2 1\n" + "#define GL_EXT_demote_to_helper_invocation 1\n" + "#define GL_EXT_debug_printf 1\n" + "#define GL_EXT_fragment_shading_rate 1\n" + + // GL_KHR_shader_subgroup + "#define GL_KHR_shader_subgroup_basic 1\n" + "#define GL_KHR_shader_subgroup_vote 1\n" + "#define GL_KHR_shader_subgroup_arithmetic 1\n" + "#define GL_KHR_shader_subgroup_ballot 1\n" + "#define GL_KHR_shader_subgroup_shuffle 1\n" + "#define GL_KHR_shader_subgroup_shuffle_relative 1\n" + "#define GL_KHR_shader_subgroup_clustered 1\n" + "#define GL_KHR_shader_subgroup_quad 1\n" + + "#define GL_EXT_shader_image_int64 1\n" + "#define GL_EXT_shader_atomic_int64 1\n" + "#define GL_EXT_shader_realtime_clock 1\n" + "#define GL_EXT_ray_tracing 1\n" + "#define GL_EXT_ray_query 1\n" + "#define GL_EXT_ray_flags_primitive_culling 1\n" + + "#define GL_AMD_shader_ballot 1\n" + "#define GL_AMD_shader_trinary_minmax 1\n" + "#define GL_AMD_shader_explicit_vertex_parameter 1\n" + "#define GL_AMD_gcn_shader 1\n" + "#define GL_AMD_gpu_shader_half_float 1\n" + "#define GL_AMD_texture_gather_bias_lod 1\n" + "#define GL_AMD_gpu_shader_int16 1\n" + "#define GL_AMD_shader_image_load_store_lod 1\n" + "#define GL_AMD_shader_fragment_mask 1\n" + "#define GL_AMD_gpu_shader_half_float_fetch 1\n" + + "#define GL_INTEL_shader_integer_functions2 1\n" + + "#define GL_NV_sample_mask_override_coverage 1\n" + "#define GL_NV_geometry_shader_passthrough 1\n" + "#define GL_NV_viewport_array2 1\n" + "#define GL_NV_shader_atomic_int64 1\n" + "#define GL_NV_conservative_raster_underestimation 1\n" + "#define GL_NV_shader_subgroup_partitioned 1\n" + "#define GL_NV_shading_rate_image 1\n" + "#define GL_NV_ray_tracing 1\n" + "#define GL_NV_fragment_shader_barycentric 1\n" + "#define GL_NV_compute_shader_derivatives 1\n" + "#define GL_NV_shader_texture_footprint 1\n" + "#define GL_NV_mesh_shader 1\n" + "#define GL_NV_cooperative_matrix 1\n" + "#define GL_NV_integer_cooperative_matrix 1\n" + + "#define GL_EXT_shader_explicit_arithmetic_types 1\n" + "#define GL_EXT_shader_explicit_arithmetic_types_int8 1\n" + "#define GL_EXT_shader_explicit_arithmetic_types_int16 1\n" + "#define GL_EXT_shader_explicit_arithmetic_types_int32 1\n" + "#define GL_EXT_shader_explicit_arithmetic_types_int64 1\n" + "#define GL_EXT_shader_explicit_arithmetic_types_float16 1\n" + "#define GL_EXT_shader_explicit_arithmetic_types_float32 1\n" + "#define GL_EXT_shader_explicit_arithmetic_types_float64 1\n" + + "#define GL_EXT_shader_subgroup_extended_types_int8 1\n" + "#define GL_EXT_shader_subgroup_extended_types_int16 1\n" + "#define GL_EXT_shader_subgroup_extended_types_int64 1\n" + "#define GL_EXT_shader_subgroup_extended_types_float16 1\n" + + "#define GL_EXT_shader_atomic_float 1\n" + ; + + if (version >= 150) { + // define GL_core_profile and GL_compatibility_profile + preamble += "#define GL_core_profile 1\n"; + + if (profile == ECompatibilityProfile) + preamble += "#define GL_compatibility_profile 1\n"; + } +#endif // GLSLANG_WEB + } + +#ifndef GLSLANG_WEB + if ((!isEsProfile() && version >= 140) || + (isEsProfile() && version >= 310)) { + preamble += + "#define GL_EXT_device_group 1\n" + "#define GL_EXT_multiview 1\n" + "#define GL_NV_shader_sm_builtins 1\n" + ; + } + + if (version >= 300 /* both ES and non-ES */) { + preamble += + "#define GL_OVR_multiview 1\n" + "#define GL_OVR_multiview2 1\n" + ; + } + + // #line and #include + preamble += + "#define GL_GOOGLE_cpp_style_line_directive 1\n" + "#define GL_GOOGLE_include_directive 1\n" + "#define GL_KHR_blend_equation_advanced 1\n" + ; + + // other general extensions + preamble += + "#define GL_EXT_terminate_invocation 1\n" + ; +#endif + + // #define VULKAN XXXX + const int numberBufSize = 12; + char numberBuf[numberBufSize]; + if (spvVersion.vulkanGlsl > 0) { + preamble += "#define VULKAN "; + snprintf(numberBuf, numberBufSize, "%d", spvVersion.vulkanGlsl); + preamble += numberBuf; + preamble += "\n"; + } + +#ifndef GLSLANG_WEB + // #define GL_SPIRV XXXX + if (spvVersion.openGl > 0) { + preamble += "#define GL_SPIRV "; + snprintf(numberBuf, numberBufSize, "%d", spvVersion.openGl); + preamble += numberBuf; + preamble += "\n"; + } +#endif +} + +// +// Map from stage enum to externally readable text name. +// +const char* StageName(EShLanguage stage) +{ + switch(stage) { + case EShLangVertex: return "vertex"; + case EShLangFragment: return "fragment"; + case EShLangCompute: return "compute"; +#ifndef GLSLANG_WEB + case EShLangTessControl: return "tessellation control"; + case EShLangTessEvaluation: return "tessellation evaluation"; + case EShLangGeometry: return "geometry"; + case EShLangRayGen: return "ray-generation"; + case EShLangIntersect: return "intersection"; + case EShLangAnyHit: return "any-hit"; + case EShLangClosestHit: return "closest-hit"; + case EShLangMiss: return "miss"; + case EShLangCallable: return "callable"; + case EShLangMeshNV: return "mesh"; + case EShLangTaskNV: return "task"; +#endif + default: return "unknown stage"; + } +} + +// +// When to use requireStage() +// +// If only some stages support a feature. +// +// Operation: If the current stage is not present, give an error message. +// +void TParseVersions::requireStage(const TSourceLoc& loc, EShLanguageMask languageMask, const char* featureDesc) +{ + if (((1 << language) & languageMask) == 0) + error(loc, "not supported in this stage:", featureDesc, StageName(language)); +} + +// If only one stage supports a feature, this can be called. But, all supporting stages +// must be specified with one call. +void TParseVersions::requireStage(const TSourceLoc& loc, EShLanguage stage, const char* featureDesc) +{ + requireStage(loc, static_cast(1 << stage), featureDesc); +} + +#ifndef GLSLANG_WEB +// +// When to use requireProfile(): +// +// Use if only some profiles support a feature. However, if within a profile the feature +// is version or extension specific, follow this call with calls to profileRequires(). +// +// Operation: If the current profile is not one of the profileMask, +// give an error message. +// +void TParseVersions::requireProfile(const TSourceLoc& loc, int profileMask, const char* featureDesc) +{ + if (! (profile & profileMask)) + error(loc, "not supported with this profile:", featureDesc, ProfileName(profile)); +} + +// +// When to use profileRequires(): +// +// If a set of profiles have the same requirements for what version or extensions +// are needed to support a feature. +// +// It must be called for each profile that needs protection. Use requireProfile() first +// to reduce that set of profiles. +// +// Operation: Will issue warnings/errors based on the current profile, version, and extension +// behaviors. It only checks extensions when the current profile is one of the profileMask. +// +// A minVersion of 0 means no version of the profileMask support this in core, +// the extension must be present. +// + +// entry point that takes multiple extensions +void TParseVersions::profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, int numExtensions, + const char* const extensions[], const char* featureDesc) +{ + if (profile & profileMask) { + bool okay = minVersion > 0 && version >= minVersion; +#ifndef GLSLANG_WEB + for (int i = 0; i < numExtensions; ++i) { + switch (getExtensionBehavior(extensions[i])) { + case EBhWarn: + infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc); + // fall through + case EBhRequire: + case EBhEnable: + okay = true; + break; + default: break; // some compilers want this + } + } +#endif + if (! okay) + error(loc, "not supported for this version or the enabled extensions", featureDesc, ""); + } +} + +// entry point for the above that takes a single extension +void TParseVersions::profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, const char* extension, + const char* featureDesc) +{ + profileRequires(loc, profileMask, minVersion, extension ? 1 : 0, &extension, featureDesc); +} + +void TParseVersions::unimplemented(const TSourceLoc& loc, const char* featureDesc) +{ + error(loc, "feature not yet implemented", featureDesc, ""); +} + +// +// Within a set of profiles, see if a feature is deprecated and give an error or warning based on whether +// a future compatibility context is being use. +// +void TParseVersions::checkDeprecated(const TSourceLoc& loc, int profileMask, int depVersion, const char* featureDesc) +{ + if (profile & profileMask) { + if (version >= depVersion) { + if (forwardCompatible) + error(loc, "deprecated, may be removed in future release", featureDesc, ""); + else if (! suppressWarnings()) + infoSink.info.message(EPrefixWarning, (TString(featureDesc) + " deprecated in version " + + String(depVersion) + "; may be removed in future release").c_str(), loc); + } + } +} + +// +// Within a set of profiles, see if a feature has now been removed and if so, give an error. +// The version argument is the first version no longer having the feature. +// +void TParseVersions::requireNotRemoved(const TSourceLoc& loc, int profileMask, int removedVersion, const char* featureDesc) +{ + if (profile & profileMask) { + if (version >= removedVersion) { + const int maxSize = 60; + char buf[maxSize]; + snprintf(buf, maxSize, "%s profile; removed in version %d", ProfileName(profile), removedVersion); + error(loc, "no longer supported in", featureDesc, buf); + } + } +} + +// Returns true if at least one of the extensions in the extensions parameter is requested. Otherwise, returns false. +// Warns appropriately if the requested behavior of an extension is "warn". +bool TParseVersions::checkExtensionsRequested(const TSourceLoc& loc, int numExtensions, const char* const extensions[], const char* featureDesc) +{ + // First, see if any of the extensions are enabled + for (int i = 0; i < numExtensions; ++i) { + TExtensionBehavior behavior = getExtensionBehavior(extensions[i]); + if (behavior == EBhEnable || behavior == EBhRequire) + return true; + } + + // See if any extensions want to give a warning on use; give warnings for all such extensions + bool warned = false; + for (int i = 0; i < numExtensions; ++i) { + TExtensionBehavior behavior = getExtensionBehavior(extensions[i]); + if (behavior == EBhDisable && relaxedErrors()) { + infoSink.info.message(EPrefixWarning, "The following extension must be enabled to use this feature:", loc); + behavior = EBhWarn; + } + if (behavior == EBhWarn) { + infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc); + warned = true; + } + } + if (warned) + return true; + return false; +} + +// +// Use when there are no profile/version to check, it's just an error if one of the +// extensions is not present. +// +void TParseVersions::requireExtensions(const TSourceLoc& loc, int numExtensions, const char* const extensions[], + const char* featureDesc) +{ + if (checkExtensionsRequested(loc, numExtensions, extensions, featureDesc)) + return; + + // If we get this far, give errors explaining what extensions are needed + if (numExtensions == 1) + error(loc, "required extension not requested:", featureDesc, extensions[0]); + else { + error(loc, "required extension not requested:", featureDesc, "Possible extensions include:"); + for (int i = 0; i < numExtensions; ++i) + infoSink.info.message(EPrefixNone, extensions[i]); + } +} + +// +// Use by preprocessor when there are no profile/version to check, it's just an error if one of the +// extensions is not present. +// +void TParseVersions::ppRequireExtensions(const TSourceLoc& loc, int numExtensions, const char* const extensions[], + const char* featureDesc) +{ + if (checkExtensionsRequested(loc, numExtensions, extensions, featureDesc)) + return; + + // If we get this far, give errors explaining what extensions are needed + if (numExtensions == 1) + ppError(loc, "required extension not requested:", featureDesc, extensions[0]); + else { + ppError(loc, "required extension not requested:", featureDesc, "Possible extensions include:"); + for (int i = 0; i < numExtensions; ++i) + infoSink.info.message(EPrefixNone, extensions[i]); + } +} + +TExtensionBehavior TParseVersions::getExtensionBehavior(const char* extension) +{ + auto iter = extensionBehavior.find(TString(extension)); + if (iter == extensionBehavior.end()) + return EBhMissing; + else + return iter->second; +} + +// Returns true if the given extension is set to enable, require, or warn. +bool TParseVersions::extensionTurnedOn(const char* const extension) +{ + switch (getExtensionBehavior(extension)) { + case EBhEnable: + case EBhRequire: + case EBhWarn: + return true; + default: + break; + } + return false; +} +// See if any of the extensions are set to enable, require, or warn. +bool TParseVersions::extensionsTurnedOn(int numExtensions, const char* const extensions[]) +{ + for (int i = 0; i < numExtensions; ++i) { + if (extensionTurnedOn(extensions[i])) + return true; + } + return false; +} + +// +// Change the current state of an extension's behavior. +// +void TParseVersions::updateExtensionBehavior(int line, const char* extension, const char* behaviorString) +{ + // Translate from text string of extension's behavior to an enum. + TExtensionBehavior behavior = EBhDisable; + if (! strcmp("require", behaviorString)) + behavior = EBhRequire; + else if (! strcmp("enable", behaviorString)) + behavior = EBhEnable; + else if (! strcmp("disable", behaviorString)) + behavior = EBhDisable; + else if (! strcmp("warn", behaviorString)) + behavior = EBhWarn; + else { + error(getCurrentLoc(), "behavior not supported:", "#extension", behaviorString); + return; + } + bool on = behavior != EBhDisable; + + // check if extension is used with correct shader stage + checkExtensionStage(getCurrentLoc(), extension); + + // check if extension has additional requirements + extensionRequires(getCurrentLoc(), extension ,behaviorString); + + // update the requested extension + updateExtensionBehavior(extension, behavior); + + // see if need to propagate to implicitly modified things + if (strcmp(extension, "GL_ANDROID_extension_pack_es31a") == 0) { + // to everything in AEP + updateExtensionBehavior(line, "GL_KHR_blend_equation_advanced", behaviorString); + updateExtensionBehavior(line, "GL_OES_sample_variables", behaviorString); + updateExtensionBehavior(line, "GL_OES_shader_image_atomic", behaviorString); + updateExtensionBehavior(line, "GL_OES_shader_multisample_interpolation", behaviorString); + updateExtensionBehavior(line, "GL_OES_texture_storage_multisample_2d_array", behaviorString); + updateExtensionBehavior(line, "GL_EXT_geometry_shader", behaviorString); + updateExtensionBehavior(line, "GL_EXT_gpu_shader5", behaviorString); + updateExtensionBehavior(line, "GL_EXT_primitive_bounding_box", behaviorString); + updateExtensionBehavior(line, "GL_EXT_shader_io_blocks", behaviorString); + updateExtensionBehavior(line, "GL_EXT_tessellation_shader", behaviorString); + updateExtensionBehavior(line, "GL_EXT_texture_buffer", behaviorString); + updateExtensionBehavior(line, "GL_EXT_texture_cube_map_array", behaviorString); + } + // geometry to io_blocks + else if (strcmp(extension, "GL_EXT_geometry_shader") == 0) + updateExtensionBehavior(line, "GL_EXT_shader_io_blocks", behaviorString); + else if (strcmp(extension, "GL_OES_geometry_shader") == 0) + updateExtensionBehavior(line, "GL_OES_shader_io_blocks", behaviorString); + // tessellation to io_blocks + else if (strcmp(extension, "GL_EXT_tessellation_shader") == 0) + updateExtensionBehavior(line, "GL_EXT_shader_io_blocks", behaviorString); + else if (strcmp(extension, "GL_OES_tessellation_shader") == 0) + updateExtensionBehavior(line, "GL_OES_shader_io_blocks", behaviorString); + else if (strcmp(extension, "GL_GOOGLE_include_directive") == 0) + updateExtensionBehavior(line, "GL_GOOGLE_cpp_style_line_directive", behaviorString); + // subgroup_* to subgroup_basic + else if (strcmp(extension, "GL_KHR_shader_subgroup_vote") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_KHR_shader_subgroup_arithmetic") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_KHR_shader_subgroup_ballot") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_KHR_shader_subgroup_shuffle") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_KHR_shader_subgroup_shuffle_relative") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_KHR_shader_subgroup_clustered") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_KHR_shader_subgroup_quad") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_NV_shader_subgroup_partitioned") == 0) + updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); + else if (strcmp(extension, "GL_EXT_buffer_reference2") == 0 || + strcmp(extension, "GL_EXT_buffer_reference_uvec2") == 0) + updateExtensionBehavior(line, "GL_EXT_buffer_reference", behaviorString); + else if (strcmp(extension, "GL_NV_integer_cooperative_matrix") == 0) + updateExtensionBehavior(line, "GL_NV_cooperative_matrix", behaviorString); + // subgroup extended types to explicit types + else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_int8") == 0) + updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_int8", behaviorString); + else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_int16") == 0) + updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_int16", behaviorString); + else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_int64") == 0) + updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_int64", behaviorString); + else if (strcmp(extension, "GL_EXT_shader_subgroup_extended_types_float16") == 0) + updateExtensionBehavior(line, "GL_EXT_shader_explicit_arithmetic_types_float16", behaviorString); + + // see if we need to update the numeric features + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types, on); + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types_int8") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types_int8, on); + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types_int16") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types_int16, on); + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types_int32") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types_int32, on); + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types_int64") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types_int64, on); + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types_float16") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types_float16, on); + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types_float32") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types_float32, on); + else if (strcmp(extension, "GL_EXT_shader_explicit_arithmetic_types_float64") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_explicit_arithmetic_types_float64, on); + else if (strcmp(extension, "GL_EXT_shader_implicit_conversions") == 0) + intermediate.updateNumericFeature(TNumericFeatures::shader_implicit_conversions, on); + else if (strcmp(extension, "GL_ARB_gpu_shader_fp64") == 0) + intermediate.updateNumericFeature(TNumericFeatures::gpu_shader_fp64, on); + else if (strcmp(extension, "GL_AMD_gpu_shader_int16") == 0) + intermediate.updateNumericFeature(TNumericFeatures::gpu_shader_int16, on); + else if (strcmp(extension, "GL_AMD_gpu_shader_half_float") == 0) + intermediate.updateNumericFeature(TNumericFeatures::gpu_shader_half_float, on); +} + +void TParseVersions::updateExtensionBehavior(const char* extension, TExtensionBehavior behavior) +{ + // Update the current behavior + if (strcmp(extension, "all") == 0) { + // special case for the 'all' extension; apply it to every extension present + if (behavior == EBhRequire || behavior == EBhEnable) { + error(getCurrentLoc(), "extension 'all' cannot have 'require' or 'enable' behavior", "#extension", ""); + return; + } else { + for (auto iter = extensionBehavior.begin(); iter != extensionBehavior.end(); ++iter) + iter->second = behavior; + } + } else { + // Do the update for this single extension + auto iter = extensionBehavior.find(TString(extension)); + if (iter == extensionBehavior.end()) { + switch (behavior) { + case EBhRequire: + error(getCurrentLoc(), "extension not supported:", "#extension", extension); + break; + case EBhEnable: + case EBhWarn: + case EBhDisable: + warn(getCurrentLoc(), "extension not supported:", "#extension", extension); + break; + default: + assert(0 && "unexpected behavior"); + } + + return; + } else { + if (iter->second == EBhDisablePartial) + warn(getCurrentLoc(), "extension is only partially supported:", "#extension", extension); + if (behavior != EBhDisable) + intermediate.addRequestedExtension(extension); + iter->second = behavior; + } + } +} + +// Check if extension is used with correct shader stage. +void TParseVersions::checkExtensionStage(const TSourceLoc& loc, const char * const extension) +{ + // GL_NV_mesh_shader extension is only allowed in task/mesh shaders + if (strcmp(extension, "GL_NV_mesh_shader") == 0) { + requireStage(loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask | EShLangFragmentMask), + "#extension GL_NV_mesh_shader"); + profileRequires(loc, ECoreProfile, 450, 0, "#extension GL_NV_mesh_shader"); + profileRequires(loc, EEsProfile, 320, 0, "#extension GL_NV_mesh_shader"); + } +} + +// Check if extension has additional requirements +void TParseVersions::extensionRequires(const TSourceLoc &loc, const char * const extension, const char *behaviorString) +{ + bool isEnabled = false; + if (!strcmp("require", behaviorString)) + isEnabled = true; + else if (!strcmp("enable", behaviorString)) + isEnabled = true; + + if (isEnabled) { + unsigned int minSpvVersion = 0; + auto iter = extensionMinSpv.find(TString(extension)); + if (iter != extensionMinSpv.end()) + minSpvVersion = iter->second; + requireSpv(loc, extension, minSpvVersion); + } +} + +// Call for any operation needing full GLSL integer data-type support. +void TParseVersions::fullIntegerCheck(const TSourceLoc& loc, const char* op) +{ + profileRequires(loc, ENoProfile, 130, nullptr, op); + profileRequires(loc, EEsProfile, 300, nullptr, op); +} + +// Call for any operation needing GLSL double data-type support. +void TParseVersions::doubleCheck(const TSourceLoc& loc, const char* op) +{ + + //requireProfile(loc, ECoreProfile | ECompatibilityProfile, op); + if (language == EShLangVertex) { + const char* const f64_Extensions[] = {E_GL_ARB_gpu_shader_fp64, E_GL_ARB_vertex_attrib_64bit}; + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, 2, f64_Extensions, op); + } else + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader_fp64, op); +} + +// Call for any operation needing GLSL float16 data-type support. +void TParseVersions::float16Check(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (!builtIn) { + const char* const extensions[] = { + E_GL_AMD_gpu_shader_half_float, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_float16}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} + +bool TParseVersions::float16Arithmetic() +{ + const char* const extensions[] = { + E_GL_AMD_gpu_shader_half_float, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_float16}; + return extensionsTurnedOn(sizeof(extensions)/sizeof(extensions[0]), extensions); +} + +bool TParseVersions::int16Arithmetic() +{ + const char* const extensions[] = { + E_GL_AMD_gpu_shader_int16, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int16}; + return extensionsTurnedOn(sizeof(extensions)/sizeof(extensions[0]), extensions); +} + +bool TParseVersions::int8Arithmetic() +{ + const char* const extensions[] = { + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int8}; + return extensionsTurnedOn(sizeof(extensions)/sizeof(extensions[0]), extensions); +} + +void TParseVersions::requireFloat16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc) +{ + TString combined; + combined = op; + combined += ": "; + combined += featureDesc; + + const char* const extensions[] = { + E_GL_AMD_gpu_shader_half_float, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_float16}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, combined.c_str()); +} + +void TParseVersions::requireInt16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc) +{ + TString combined; + combined = op; + combined += ": "; + combined += featureDesc; + + const char* const extensions[] = { + E_GL_AMD_gpu_shader_int16, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int16}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, combined.c_str()); +} + +void TParseVersions::requireInt8Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc) +{ + TString combined; + combined = op; + combined += ": "; + combined += featureDesc; + + const char* const extensions[] = { + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int8}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, combined.c_str()); +} + +void TParseVersions::float16ScalarVectorCheck(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (!builtIn) { + const char* const extensions[] = { + E_GL_AMD_gpu_shader_half_float, + E_GL_EXT_shader_16bit_storage, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_float16}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} + +// Call for any operation needing GLSL float32 data-type support. +void TParseVersions::explicitFloat32Check(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (!builtIn) { + const char* const extensions[2] = {E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_float32}; + requireExtensions(loc, 2, extensions, op); + } +} + +// Call for any operation needing GLSL float64 data-type support. +void TParseVersions::explicitFloat64Check(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (!builtIn) { + const char* const extensions[2] = {E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_float64}; + requireExtensions(loc, 2, extensions, op); + requireProfile(loc, ECoreProfile | ECompatibilityProfile, op); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op); + } +} + +// Call for any operation needing GLSL explicit int8 data-type support. +void TParseVersions::explicitInt8Check(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (! builtIn) { + const char* const extensions[2] = {E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int8}; + requireExtensions(loc, 2, extensions, op); + } +} + +// Call for any operation needing GLSL float16 opaque-type support +void TParseVersions::float16OpaqueCheck(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (! builtIn) { + requireExtensions(loc, 1, &E_GL_AMD_gpu_shader_half_float_fetch, op); + requireProfile(loc, ECoreProfile | ECompatibilityProfile, op); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op); + } +} + +// Call for any operation needing GLSL explicit int16 data-type support. +void TParseVersions::explicitInt16Check(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (! builtIn) { + const char* const extensions[] = { + E_GL_AMD_gpu_shader_int16, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int16}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} + +void TParseVersions::int16ScalarVectorCheck(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (! builtIn) { + const char* const extensions[] = { + E_GL_AMD_gpu_shader_int16, + E_GL_EXT_shader_16bit_storage, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int16}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} + +void TParseVersions::int8ScalarVectorCheck(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (! builtIn) { + const char* const extensions[] = { + E_GL_EXT_shader_8bit_storage, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int8}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} + +// Call for any operation needing GLSL explicit int32 data-type support. +void TParseVersions::explicitInt32Check(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (! builtIn) { + const char* const extensions[2] = {E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int32}; + requireExtensions(loc, 2, extensions, op); + } +} + +// Call for any operation needing GLSL 64-bit integer data-type support. +void TParseVersions::int64Check(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (! builtIn) { + const char* const extensions[3] = {E_GL_ARB_gpu_shader_int64, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int64}; + requireExtensions(loc, 3, extensions, op); + requireProfile(loc, ECoreProfile | ECompatibilityProfile, op); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op); + } +} + +void TParseVersions::fcoopmatCheck(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (!builtIn) { + const char* const extensions[] = {E_GL_NV_cooperative_matrix}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} + +void TParseVersions::intcoopmatCheck(const TSourceLoc& loc, const char* op, bool builtIn) +{ + if (!builtIn) { + const char* const extensions[] = {E_GL_NV_integer_cooperative_matrix}; + requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op); + } +} +#endif // GLSLANG_WEB +// Call for any operation removed because SPIR-V is in use. +void TParseVersions::spvRemoved(const TSourceLoc& loc, const char* op) +{ + if (spvVersion.spv != 0) + error(loc, "not allowed when generating SPIR-V", op, ""); +} + +// Call for any operation removed because Vulkan SPIR-V is being generated. +void TParseVersions::vulkanRemoved(const TSourceLoc& loc, const char* op) +{ + if (spvVersion.vulkan > 0) + error(loc, "not allowed when using GLSL for Vulkan", op, ""); +} + +// Call for any operation that requires Vulkan. +void TParseVersions::requireVulkan(const TSourceLoc& loc, const char* op) +{ +#ifndef GLSLANG_WEB + if (spvVersion.vulkan == 0) + error(loc, "only allowed when using GLSL for Vulkan", op, ""); +#endif +} + +// Call for any operation that requires SPIR-V. +void TParseVersions::requireSpv(const TSourceLoc& loc, const char* op) +{ +#ifndef GLSLANG_WEB + if (spvVersion.spv == 0) + error(loc, "only allowed when generating SPIR-V", op, ""); +#endif +} +void TParseVersions::requireSpv(const TSourceLoc& loc, const char *op, unsigned int version) +{ +#ifndef GLSLANG_WEB + if (spvVersion.spv < version) + error(loc, "not supported for current targeted SPIR-V version", op, ""); +#endif +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/Versions.h b/android/x86_64/include/glslang/Include/MachineIndependent/Versions.h new file mode 100644 index 00000000..eb17c52e --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/Versions.h @@ -0,0 +1,337 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2018 Google, Inc. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _VERSIONS_INCLUDED_ +#define _VERSIONS_INCLUDED_ + +#define LAST_ELEMENT_MARKER(x) x + +// +// Help manage multiple profiles, versions, extensions etc. +// + +// +// Profiles are set up for masking operations, so queries can be done on multiple +// profiles at the same time. +// +// Don't maintain an ordinal set of enums (0,1,2,3...) to avoid all possible +// defects from mixing the two different forms. +// +typedef enum : unsigned { + EBadProfile = 0, + ENoProfile = (1 << 0), // only for desktop, before profiles showed up + ECoreProfile = (1 << 1), + ECompatibilityProfile = (1 << 2), + EEsProfile = (1 << 3), + LAST_ELEMENT_MARKER(EProfileCount), +} EProfile; + +namespace glslang { + +// +// Map from profile enum to externally readable text name. +// +inline const char* ProfileName(EProfile profile) +{ + switch (profile) { + case ENoProfile: return "none"; + case ECoreProfile: return "core"; + case ECompatibilityProfile: return "compatibility"; + case EEsProfile: return "es"; + default: return "unknown profile"; + } +} + +// +// What source rules, validation rules, target language, etc. are needed or +// desired for SPIR-V? +// +// 0 means a target or rule set is not enabled (ignore rules from that entity). +// Non-0 means to apply semantic rules arising from that version of its rule set. +// The union of all requested rule sets will be applied. +// +struct SpvVersion { + SpvVersion() : spv(0), vulkanGlsl(0), vulkan(0), openGl(0) {} + unsigned int spv; // the version of SPIR-V to target, as defined by "word 1" of the SPIR-V binary header + int vulkanGlsl; // the version of GLSL semantics for Vulkan, from GL_KHR_vulkan_glsl, for "#define VULKAN XXX" + int vulkan; // the version of Vulkan, for which SPIR-V execution environment rules to use + int openGl; // the version of GLSL semantics for OpenGL, from GL_ARB_gl_spirv, for "#define GL_SPIRV XXX" +}; + +// +// The behaviors from the GLSL "#extension extension_name : behavior" +// +typedef enum { + EBhMissing = 0, + EBhRequire, + EBhEnable, + EBhWarn, + EBhDisable, + EBhDisablePartial // use as initial state of an extension that is only partially implemented +} TExtensionBehavior; + +// +// Symbolic names for extensions. Strings may be directly used when calling the +// functions, but better to have the compiler do spelling checks. +// +const char* const E_GL_OES_texture_3D = "GL_OES_texture_3D"; +const char* const E_GL_OES_standard_derivatives = "GL_OES_standard_derivatives"; +const char* const E_GL_EXT_frag_depth = "GL_EXT_frag_depth"; +const char* const E_GL_OES_EGL_image_external = "GL_OES_EGL_image_external"; +const char* const E_GL_OES_EGL_image_external_essl3 = "GL_OES_EGL_image_external_essl3"; +const char* const E_GL_EXT_YUV_target = "GL_EXT_YUV_target"; +const char* const E_GL_EXT_shader_texture_lod = "GL_EXT_shader_texture_lod"; +const char* const E_GL_EXT_shadow_samplers = "GL_EXT_shadow_samplers"; + +const char* const E_GL_ARB_texture_rectangle = "GL_ARB_texture_rectangle"; +const char* const E_GL_3DL_array_objects = "GL_3DL_array_objects"; +const char* const E_GL_ARB_shading_language_420pack = "GL_ARB_shading_language_420pack"; +const char* const E_GL_ARB_texture_gather = "GL_ARB_texture_gather"; +const char* const E_GL_ARB_gpu_shader5 = "GL_ARB_gpu_shader5"; +const char* const E_GL_ARB_separate_shader_objects = "GL_ARB_separate_shader_objects"; +const char* const E_GL_ARB_compute_shader = "GL_ARB_compute_shader"; +const char* const E_GL_ARB_tessellation_shader = "GL_ARB_tessellation_shader"; +const char* const E_GL_ARB_enhanced_layouts = "GL_ARB_enhanced_layouts"; +const char* const E_GL_ARB_texture_cube_map_array = "GL_ARB_texture_cube_map_array"; +const char* const E_GL_ARB_texture_multisample = "GL_ARB_texture_multisample"; +const char* const E_GL_ARB_shader_texture_lod = "GL_ARB_shader_texture_lod"; +const char* const E_GL_ARB_explicit_attrib_location = "GL_ARB_explicit_attrib_location"; +const char* const E_GL_ARB_explicit_uniform_location = "GL_ARB_explicit_uniform_location"; +const char* const E_GL_ARB_shader_image_load_store = "GL_ARB_shader_image_load_store"; +const char* const E_GL_ARB_shader_atomic_counters = "GL_ARB_shader_atomic_counters"; +const char* const E_GL_ARB_shader_draw_parameters = "GL_ARB_shader_draw_parameters"; +const char* const E_GL_ARB_shader_group_vote = "GL_ARB_shader_group_vote"; +const char* const E_GL_ARB_derivative_control = "GL_ARB_derivative_control"; +const char* const E_GL_ARB_shader_texture_image_samples = "GL_ARB_shader_texture_image_samples"; +const char* const E_GL_ARB_viewport_array = "GL_ARB_viewport_array"; +const char* const E_GL_ARB_gpu_shader_int64 = "GL_ARB_gpu_shader_int64"; +const char* const E_GL_ARB_gpu_shader_fp64 = "GL_ARB_gpu_shader_fp64"; +const char* const E_GL_ARB_shader_ballot = "GL_ARB_shader_ballot"; +const char* const E_GL_ARB_sparse_texture2 = "GL_ARB_sparse_texture2"; +const char* const E_GL_ARB_sparse_texture_clamp = "GL_ARB_sparse_texture_clamp"; +const char* const E_GL_ARB_shader_stencil_export = "GL_ARB_shader_stencil_export"; +// const char* const E_GL_ARB_cull_distance = "GL_ARB_cull_distance"; // present for 4.5, but need extension control over block members +const char* const E_GL_ARB_post_depth_coverage = "GL_ARB_post_depth_coverage"; +const char* const E_GL_ARB_shader_viewport_layer_array = "GL_ARB_shader_viewport_layer_array"; +const char* const E_GL_ARB_fragment_shader_interlock = "GL_ARB_fragment_shader_interlock"; +const char* const E_GL_ARB_shader_clock = "GL_ARB_shader_clock"; +const char* const E_GL_ARB_uniform_buffer_object = "GL_ARB_uniform_buffer_object"; +const char* const E_GL_ARB_sample_shading = "GL_ARB_sample_shading"; +const char* const E_GL_ARB_shader_bit_encoding = "GL_ARB_shader_bit_encoding"; +const char* const E_GL_ARB_shader_image_size = "GL_ARB_shader_image_size"; +const char* const E_GL_ARB_shader_storage_buffer_object = "GL_ARB_shader_storage_buffer_object"; +const char* const E_GL_ARB_shading_language_packing = "GL_ARB_shading_language_packing"; +const char* const E_GL_ARB_texture_query_lod = "GL_ARB_texture_query_lod"; +const char* const E_GL_ARB_vertex_attrib_64bit = "GL_ARB_vertex_attrib_64bit"; + +const char* const E_GL_KHR_shader_subgroup_basic = "GL_KHR_shader_subgroup_basic"; +const char* const E_GL_KHR_shader_subgroup_vote = "GL_KHR_shader_subgroup_vote"; +const char* const E_GL_KHR_shader_subgroup_arithmetic = "GL_KHR_shader_subgroup_arithmetic"; +const char* const E_GL_KHR_shader_subgroup_ballot = "GL_KHR_shader_subgroup_ballot"; +const char* const E_GL_KHR_shader_subgroup_shuffle = "GL_KHR_shader_subgroup_shuffle"; +const char* const E_GL_KHR_shader_subgroup_shuffle_relative = "GL_KHR_shader_subgroup_shuffle_relative"; +const char* const E_GL_KHR_shader_subgroup_clustered = "GL_KHR_shader_subgroup_clustered"; +const char* const E_GL_KHR_shader_subgroup_quad = "GL_KHR_shader_subgroup_quad"; +const char* const E_GL_KHR_memory_scope_semantics = "GL_KHR_memory_scope_semantics"; + +const char* const E_GL_EXT_shader_atomic_int64 = "GL_EXT_shader_atomic_int64"; + +const char* const E_GL_EXT_shader_non_constant_global_initializers = "GL_EXT_shader_non_constant_global_initializers"; +const char* const E_GL_EXT_shader_image_load_formatted = "GL_EXT_shader_image_load_formatted"; + +const char* const E_GL_EXT_shader_16bit_storage = "GL_EXT_shader_16bit_storage"; +const char* const E_GL_EXT_shader_8bit_storage = "GL_EXT_shader_8bit_storage"; + + +// EXT extensions +const char* const E_GL_EXT_device_group = "GL_EXT_device_group"; +const char* const E_GL_EXT_multiview = "GL_EXT_multiview"; +const char* const E_GL_EXT_post_depth_coverage = "GL_EXT_post_depth_coverage"; +const char* const E_GL_EXT_control_flow_attributes = "GL_EXT_control_flow_attributes"; +const char* const E_GL_EXT_nonuniform_qualifier = "GL_EXT_nonuniform_qualifier"; +const char* const E_GL_EXT_samplerless_texture_functions = "GL_EXT_samplerless_texture_functions"; +const char* const E_GL_EXT_scalar_block_layout = "GL_EXT_scalar_block_layout"; +const char* const E_GL_EXT_fragment_invocation_density = "GL_EXT_fragment_invocation_density"; +const char* const E_GL_EXT_buffer_reference = "GL_EXT_buffer_reference"; +const char* const E_GL_EXT_buffer_reference2 = "GL_EXT_buffer_reference2"; +const char* const E_GL_EXT_buffer_reference_uvec2 = "GL_EXT_buffer_reference_uvec2"; +const char* const E_GL_EXT_demote_to_helper_invocation = "GL_EXT_demote_to_helper_invocation"; +const char* const E_GL_EXT_shader_realtime_clock = "GL_EXT_shader_realtime_clock"; +const char* const E_GL_EXT_debug_printf = "GL_EXT_debug_printf"; +const char* const E_GL_EXT_ray_tracing = "GL_EXT_ray_tracing"; +const char* const E_GL_EXT_ray_query = "GL_EXT_ray_query"; +const char* const E_GL_EXT_ray_flags_primitive_culling = "GL_EXT_ray_flags_primitive_culling"; +const char* const E_GL_EXT_blend_func_extended = "GL_EXT_blend_func_extended"; +const char* const E_GL_EXT_shader_implicit_conversions = "GL_EXT_shader_implicit_conversions"; +const char* const E_GL_EXT_fragment_shading_rate = "GL_EXT_fragment_shading_rate"; +const char* const E_GL_EXT_shader_image_int64 = "GL_EXT_shader_image_int64"; + +// Arrays of extensions for the above viewportEXTs duplications + +const char* const post_depth_coverageEXTs[] = { E_GL_ARB_post_depth_coverage, E_GL_EXT_post_depth_coverage }; +const int Num_post_depth_coverageEXTs = sizeof(post_depth_coverageEXTs) / sizeof(post_depth_coverageEXTs[0]); + +// OVR extensions +const char* const E_GL_OVR_multiview = "GL_OVR_multiview"; +const char* const E_GL_OVR_multiview2 = "GL_OVR_multiview2"; + +const char* const OVR_multiview_EXTs[] = { E_GL_OVR_multiview, E_GL_OVR_multiview2 }; +const int Num_OVR_multiview_EXTs = sizeof(OVR_multiview_EXTs) / sizeof(OVR_multiview_EXTs[0]); + +// #line and #include +const char* const E_GL_GOOGLE_cpp_style_line_directive = "GL_GOOGLE_cpp_style_line_directive"; +const char* const E_GL_GOOGLE_include_directive = "GL_GOOGLE_include_directive"; + +const char* const E_GL_AMD_shader_ballot = "GL_AMD_shader_ballot"; +const char* const E_GL_AMD_shader_trinary_minmax = "GL_AMD_shader_trinary_minmax"; +const char* const E_GL_AMD_shader_explicit_vertex_parameter = "GL_AMD_shader_explicit_vertex_parameter"; +const char* const E_GL_AMD_gcn_shader = "GL_AMD_gcn_shader"; +const char* const E_GL_AMD_gpu_shader_half_float = "GL_AMD_gpu_shader_half_float"; +const char* const E_GL_AMD_texture_gather_bias_lod = "GL_AMD_texture_gather_bias_lod"; +const char* const E_GL_AMD_gpu_shader_int16 = "GL_AMD_gpu_shader_int16"; +const char* const E_GL_AMD_shader_image_load_store_lod = "GL_AMD_shader_image_load_store_lod"; +const char* const E_GL_AMD_shader_fragment_mask = "GL_AMD_shader_fragment_mask"; +const char* const E_GL_AMD_gpu_shader_half_float_fetch = "GL_AMD_gpu_shader_half_float_fetch"; + +const char* const E_GL_INTEL_shader_integer_functions2 = "GL_INTEL_shader_integer_functions2"; + +const char* const E_GL_NV_sample_mask_override_coverage = "GL_NV_sample_mask_override_coverage"; +const char* const E_SPV_NV_geometry_shader_passthrough = "GL_NV_geometry_shader_passthrough"; +const char* const E_GL_NV_viewport_array2 = "GL_NV_viewport_array2"; +const char* const E_GL_NV_stereo_view_rendering = "GL_NV_stereo_view_rendering"; +const char* const E_GL_NVX_multiview_per_view_attributes = "GL_NVX_multiview_per_view_attributes"; +const char* const E_GL_NV_shader_atomic_int64 = "GL_NV_shader_atomic_int64"; +const char* const E_GL_NV_conservative_raster_underestimation = "GL_NV_conservative_raster_underestimation"; +const char* const E_GL_NV_shader_noperspective_interpolation = "GL_NV_shader_noperspective_interpolation"; +const char* const E_GL_NV_shader_subgroup_partitioned = "GL_NV_shader_subgroup_partitioned"; +const char* const E_GL_NV_shading_rate_image = "GL_NV_shading_rate_image"; +const char* const E_GL_NV_ray_tracing = "GL_NV_ray_tracing"; +const char* const E_GL_NV_fragment_shader_barycentric = "GL_NV_fragment_shader_barycentric"; +const char* const E_GL_NV_compute_shader_derivatives = "GL_NV_compute_shader_derivatives"; +const char* const E_GL_NV_shader_texture_footprint = "GL_NV_shader_texture_footprint"; +const char* const E_GL_NV_mesh_shader = "GL_NV_mesh_shader"; + +// Arrays of extensions for the above viewportEXTs duplications + +const char* const viewportEXTs[] = { E_GL_ARB_shader_viewport_layer_array, E_GL_NV_viewport_array2 }; +const int Num_viewportEXTs = sizeof(viewportEXTs) / sizeof(viewportEXTs[0]); + +const char* const E_GL_NV_cooperative_matrix = "GL_NV_cooperative_matrix"; +const char* const E_GL_NV_shader_sm_builtins = "GL_NV_shader_sm_builtins"; +const char* const E_GL_NV_integer_cooperative_matrix = "GL_NV_integer_cooperative_matrix"; + +// AEP +const char* const E_GL_ANDROID_extension_pack_es31a = "GL_ANDROID_extension_pack_es31a"; +const char* const E_GL_KHR_blend_equation_advanced = "GL_KHR_blend_equation_advanced"; +const char* const E_GL_OES_sample_variables = "GL_OES_sample_variables"; +const char* const E_GL_OES_shader_image_atomic = "GL_OES_shader_image_atomic"; +const char* const E_GL_OES_shader_multisample_interpolation = "GL_OES_shader_multisample_interpolation"; +const char* const E_GL_OES_texture_storage_multisample_2d_array = "GL_OES_texture_storage_multisample_2d_array"; +const char* const E_GL_EXT_geometry_shader = "GL_EXT_geometry_shader"; +const char* const E_GL_EXT_geometry_point_size = "GL_EXT_geometry_point_size"; +const char* const E_GL_EXT_gpu_shader5 = "GL_EXT_gpu_shader5"; +const char* const E_GL_EXT_primitive_bounding_box = "GL_EXT_primitive_bounding_box"; +const char* const E_GL_EXT_shader_io_blocks = "GL_EXT_shader_io_blocks"; +const char* const E_GL_EXT_tessellation_shader = "GL_EXT_tessellation_shader"; +const char* const E_GL_EXT_tessellation_point_size = "GL_EXT_tessellation_point_size"; +const char* const E_GL_EXT_texture_buffer = "GL_EXT_texture_buffer"; +const char* const E_GL_EXT_texture_cube_map_array = "GL_EXT_texture_cube_map_array"; +const char* const E_GL_EXT_shader_integer_mix = "GL_EXT_shader_integer_mix"; + +// OES matching AEP +const char* const E_GL_OES_geometry_shader = "GL_OES_geometry_shader"; +const char* const E_GL_OES_geometry_point_size = "GL_OES_geometry_point_size"; +const char* const E_GL_OES_gpu_shader5 = "GL_OES_gpu_shader5"; +const char* const E_GL_OES_primitive_bounding_box = "GL_OES_primitive_bounding_box"; +const char* const E_GL_OES_shader_io_blocks = "GL_OES_shader_io_blocks"; +const char* const E_GL_OES_tessellation_shader = "GL_OES_tessellation_shader"; +const char* const E_GL_OES_tessellation_point_size = "GL_OES_tessellation_point_size"; +const char* const E_GL_OES_texture_buffer = "GL_OES_texture_buffer"; +const char* const E_GL_OES_texture_cube_map_array = "GL_OES_texture_cube_map_array"; + +// EXT +const char* const E_GL_EXT_shader_explicit_arithmetic_types = "GL_EXT_shader_explicit_arithmetic_types"; +const char* const E_GL_EXT_shader_explicit_arithmetic_types_int8 = "GL_EXT_shader_explicit_arithmetic_types_int8"; +const char* const E_GL_EXT_shader_explicit_arithmetic_types_int16 = "GL_EXT_shader_explicit_arithmetic_types_int16"; +const char* const E_GL_EXT_shader_explicit_arithmetic_types_int32 = "GL_EXT_shader_explicit_arithmetic_types_int32"; +const char* const E_GL_EXT_shader_explicit_arithmetic_types_int64 = "GL_EXT_shader_explicit_arithmetic_types_int64"; +const char* const E_GL_EXT_shader_explicit_arithmetic_types_float16 = "GL_EXT_shader_explicit_arithmetic_types_float16"; +const char* const E_GL_EXT_shader_explicit_arithmetic_types_float32 = "GL_EXT_shader_explicit_arithmetic_types_float32"; +const char* const E_GL_EXT_shader_explicit_arithmetic_types_float64 = "GL_EXT_shader_explicit_arithmetic_types_float64"; + +const char* const E_GL_EXT_shader_subgroup_extended_types_int8 = "GL_EXT_shader_subgroup_extended_types_int8"; +const char* const E_GL_EXT_shader_subgroup_extended_types_int16 = "GL_EXT_shader_subgroup_extended_types_int16"; +const char* const E_GL_EXT_shader_subgroup_extended_types_int64 = "GL_EXT_shader_subgroup_extended_types_int64"; +const char* const E_GL_EXT_shader_subgroup_extended_types_float16 = "GL_EXT_shader_subgroup_extended_types_float16"; +const char* const E_GL_EXT_terminate_invocation = "GL_EXT_terminate_invocation"; + +const char* const E_GL_EXT_shader_atomic_float = "GL_EXT_shader_atomic_float"; + +// Arrays of extensions for the above AEP duplications + +const char* const AEP_geometry_shader[] = { E_GL_EXT_geometry_shader, E_GL_OES_geometry_shader }; +const int Num_AEP_geometry_shader = sizeof(AEP_geometry_shader)/sizeof(AEP_geometry_shader[0]); + +const char* const AEP_geometry_point_size[] = { E_GL_EXT_geometry_point_size, E_GL_OES_geometry_point_size }; +const int Num_AEP_geometry_point_size = sizeof(AEP_geometry_point_size)/sizeof(AEP_geometry_point_size[0]); + +const char* const AEP_gpu_shader5[] = { E_GL_EXT_gpu_shader5, E_GL_OES_gpu_shader5 }; +const int Num_AEP_gpu_shader5 = sizeof(AEP_gpu_shader5)/sizeof(AEP_gpu_shader5[0]); + +const char* const AEP_primitive_bounding_box[] = { E_GL_EXT_primitive_bounding_box, E_GL_OES_primitive_bounding_box }; +const int Num_AEP_primitive_bounding_box = sizeof(AEP_primitive_bounding_box)/sizeof(AEP_primitive_bounding_box[0]); + +const char* const AEP_shader_io_blocks[] = { E_GL_EXT_shader_io_blocks, E_GL_OES_shader_io_blocks }; +const int Num_AEP_shader_io_blocks = sizeof(AEP_shader_io_blocks)/sizeof(AEP_shader_io_blocks[0]); + +const char* const AEP_tessellation_shader[] = { E_GL_EXT_tessellation_shader, E_GL_OES_tessellation_shader }; +const int Num_AEP_tessellation_shader = sizeof(AEP_tessellation_shader)/sizeof(AEP_tessellation_shader[0]); + +const char* const AEP_tessellation_point_size[] = { E_GL_EXT_tessellation_point_size, E_GL_OES_tessellation_point_size }; +const int Num_AEP_tessellation_point_size = sizeof(AEP_tessellation_point_size)/sizeof(AEP_tessellation_point_size[0]); + +const char* const AEP_texture_buffer[] = { E_GL_EXT_texture_buffer, E_GL_OES_texture_buffer }; +const int Num_AEP_texture_buffer = sizeof(AEP_texture_buffer)/sizeof(AEP_texture_buffer[0]); + +const char* const AEP_texture_cube_map_array[] = { E_GL_EXT_texture_cube_map_array, E_GL_OES_texture_cube_map_array }; +const int Num_AEP_texture_cube_map_array = sizeof(AEP_texture_cube_map_array)/sizeof(AEP_texture_cube_map_array[0]); + +} // end namespace glslang + +#endif // _VERSIONS_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/attribute.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/attribute.cpp new file mode 100644 index 00000000..95855183 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/attribute.cpp @@ -0,0 +1,346 @@ +// +// Copyright (C) 2017 LunarG, Inc. +// Copyright (C) 2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of Google, Inc., nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef GLSLANG_WEB + +#include "attribute.h" +#include "../Include/intermediate.h" +#include "ParseHelper.h" + +namespace glslang { + +// extract integers out of attribute arguments stored in attribute aggregate +bool TAttributeArgs::getInt(int& value, int argNum) const +{ + const TConstUnion* intConst = getConstUnion(EbtInt, argNum); + + if (intConst == nullptr) + return false; + + value = intConst->getIConst(); + return true; +} + + +// extract strings out of attribute arguments stored in attribute aggregate. +// convert to lower case if converToLower is true (for case-insensitive compare convenience) +bool TAttributeArgs::getString(TString& value, int argNum, bool convertToLower) const +{ + const TConstUnion* stringConst = getConstUnion(EbtString, argNum); + + if (stringConst == nullptr) + return false; + + value = *stringConst->getSConst(); + + // Convenience. + if (convertToLower) + std::transform(value.begin(), value.end(), value.begin(), ::tolower); + + return true; +} + +// How many arguments were supplied? +int TAttributeArgs::size() const +{ + return args == nullptr ? 0 : (int)args->getSequence().size(); +} + +// Helper to get attribute const union. Returns nullptr on failure. +const TConstUnion* TAttributeArgs::getConstUnion(TBasicType basicType, int argNum) const +{ + if (args == nullptr) + return nullptr; + + if (argNum >= (int)args->getSequence().size()) + return nullptr; + + if (args->getSequence()[argNum]->getAsConstantUnion() == nullptr) + return nullptr; + + const TConstUnion* constVal = &args->getSequence()[argNum]->getAsConstantUnion()->getConstArray()[0]; + if (constVal == nullptr || constVal->getType() != basicType) + return nullptr; + + return constVal; +} + +// Implementation of TParseContext parts of attributes +TAttributeType TParseContext::attributeFromName(const TString& name) const +{ + if (name == "branch" || name == "dont_flatten") + return EatBranch; + else if (name == "flatten") + return EatFlatten; + else if (name == "unroll") + return EatUnroll; + else if (name == "loop" || name == "dont_unroll") + return EatLoop; + else if (name == "dependency_infinite") + return EatDependencyInfinite; + else if (name == "dependency_length") + return EatDependencyLength; + else if (name == "min_iterations") + return EatMinIterations; + else if (name == "max_iterations") + return EatMaxIterations; + else if (name == "iteration_multiple") + return EatIterationMultiple; + else if (name == "peel_count") + return EatPeelCount; + else if (name == "partial_count") + return EatPartialCount; + else + return EatNone; +} + +// Make an initial leaf for the grammar from a no-argument attribute +TAttributes* TParseContext::makeAttributes(const TString& identifier) const +{ + TAttributes *attributes = nullptr; + attributes = NewPoolObject(attributes); + TAttributeArgs args = { attributeFromName(identifier), nullptr }; + attributes->push_back(args); + return attributes; +} + +// Make an initial leaf for the grammar from a one-argument attribute +TAttributes* TParseContext::makeAttributes(const TString& identifier, TIntermNode* node) const +{ + TAttributes *attributes = nullptr; + attributes = NewPoolObject(attributes); + + // for now, node is always a simple single expression, but other code expects + // a list, so make it so + TIntermAggregate* agg = intermediate.makeAggregate(node); + TAttributeArgs args = { attributeFromName(identifier), agg }; + attributes->push_back(args); + return attributes; +} + +// Merge two sets of attributes into a single set. +// The second argument is destructively consumed. +TAttributes* TParseContext::mergeAttributes(TAttributes* attr1, TAttributes* attr2) const +{ + attr1->splice(attr1->end(), *attr2); + return attr1; +} + +// +// Selection attributes +// +void TParseContext::handleSelectionAttributes(const TAttributes& attributes, TIntermNode* node) +{ + TIntermSelection* selection = node->getAsSelectionNode(); + if (selection == nullptr) + return; + + for (auto it = attributes.begin(); it != attributes.end(); ++it) { + if (it->size() > 0) { + warn(node->getLoc(), "attribute with arguments not recognized, skipping", "", ""); + continue; + } + + switch (it->name) { + case EatFlatten: + selection->setFlatten(); + break; + case EatBranch: + selection->setDontFlatten(); + break; + default: + warn(node->getLoc(), "attribute does not apply to a selection", "", ""); + break; + } + } +} + +// +// Switch attributes +// +void TParseContext::handleSwitchAttributes(const TAttributes& attributes, TIntermNode* node) +{ + TIntermSwitch* selection = node->getAsSwitchNode(); + if (selection == nullptr) + return; + + for (auto it = attributes.begin(); it != attributes.end(); ++it) { + if (it->size() > 0) { + warn(node->getLoc(), "attribute with arguments not recognized, skipping", "", ""); + continue; + } + + switch (it->name) { + case EatFlatten: + selection->setFlatten(); + break; + case EatBranch: + selection->setDontFlatten(); + break; + default: + warn(node->getLoc(), "attribute does not apply to a switch", "", ""); + break; + } + } +} + +// +// Loop attributes +// +void TParseContext::handleLoopAttributes(const TAttributes& attributes, TIntermNode* node) +{ + TIntermLoop* loop = node->getAsLoopNode(); + if (loop == nullptr) { + // the actual loop might be part of a sequence + TIntermAggregate* agg = node->getAsAggregate(); + if (agg == nullptr) + return; + for (auto it = agg->getSequence().begin(); it != agg->getSequence().end(); ++it) { + loop = (*it)->getAsLoopNode(); + if (loop != nullptr) + break; + } + if (loop == nullptr) + return; + } + + for (auto it = attributes.begin(); it != attributes.end(); ++it) { + + const auto noArgument = [&](const char* feature) { + if (it->size() > 0) { + warn(node->getLoc(), "expected no arguments", feature, ""); + return false; + } + return true; + }; + + const auto positiveSignedArgument = [&](const char* feature, int& value) { + if (it->size() == 1 && it->getInt(value)) { + if (value <= 0) { + error(node->getLoc(), "must be positive", feature, ""); + return false; + } + } else { + warn(node->getLoc(), "expected a single integer argument", feature, ""); + return false; + } + return true; + }; + + const auto unsignedArgument = [&](const char* feature, unsigned int& uiValue) { + int value; + if (!(it->size() == 1 && it->getInt(value))) { + warn(node->getLoc(), "expected a single integer argument", feature, ""); + return false; + } + uiValue = (unsigned int)value; + return true; + }; + + const auto positiveUnsignedArgument = [&](const char* feature, unsigned int& uiValue) { + int value; + if (it->size() == 1 && it->getInt(value)) { + if (value == 0) { + error(node->getLoc(), "must be greater than or equal to 1", feature, ""); + return false; + } + } else { + warn(node->getLoc(), "expected a single integer argument", feature, ""); + return false; + } + uiValue = (unsigned int)value; + return true; + }; + + const auto spirv14 = [&](const char* feature) { + if (spvVersion.spv > 0 && spvVersion.spv < EShTargetSpv_1_4) + warn(node->getLoc(), "attribute requires a SPIR-V 1.4 target-env", feature, ""); + }; + + int value = 0; + unsigned uiValue = 0; + switch (it->name) { + case EatUnroll: + if (noArgument("unroll")) + loop->setUnroll(); + break; + case EatLoop: + if (noArgument("dont_unroll")) + loop->setDontUnroll(); + break; + case EatDependencyInfinite: + if (noArgument("dependency_infinite")) + loop->setLoopDependency(TIntermLoop::dependencyInfinite); + break; + case EatDependencyLength: + if (positiveSignedArgument("dependency_length", value)) + loop->setLoopDependency(value); + break; + case EatMinIterations: + spirv14("min_iterations"); + if (unsignedArgument("min_iterations", uiValue)) + loop->setMinIterations(uiValue); + break; + case EatMaxIterations: + spirv14("max_iterations"); + if (unsignedArgument("max_iterations", uiValue)) + loop->setMaxIterations(uiValue); + break; + case EatIterationMultiple: + spirv14("iteration_multiple"); + if (positiveUnsignedArgument("iteration_multiple", uiValue)) + loop->setIterationMultiple(uiValue); + break; + case EatPeelCount: + spirv14("peel_count"); + if (unsignedArgument("peel_count", uiValue)) + loop->setPeelCount(uiValue); + break; + case EatPartialCount: + spirv14("partial_count"); + if (unsignedArgument("partial_count", uiValue)) + loop->setPartialCount(uiValue); + break; + default: + warn(node->getLoc(), "attribute does not apply to a loop", "", ""); + break; + } + } +} + +} // end namespace glslang + +#endif // GLSLANG_WEB diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/attribute.h b/android/x86_64/include/glslang/Include/MachineIndependent/attribute.h new file mode 100644 index 00000000..38a943d2 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/attribute.h @@ -0,0 +1,149 @@ +// +// Copyright (C) 2017 LunarG, Inc. +// Copyright (C) 2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _ATTRIBUTE_INCLUDED_ +#define _ATTRIBUTE_INCLUDED_ + +#include "../Include/Common.h" +#include "../Include/ConstantUnion.h" + +namespace glslang { + + enum TAttributeType { + EatNone, + EatAllow_uav_condition, + EatBranch, + EatCall, + EatDomain, + EatEarlyDepthStencil, + EatFastOpt, + EatFlatten, + EatForceCase, + EatInstance, + EatMaxTessFactor, + EatNumThreads, + EatMaxVertexCount, + EatOutputControlPoints, + EatOutputTopology, + EatPartitioning, + EatPatchConstantFunc, + EatPatchSize, + EatUnroll, + EatLoop, + EatBinding, + EatGlobalBinding, + EatLocation, + EatInputAttachment, + EatBuiltIn, + EatPushConstant, + EatConstantId, + EatDependencyInfinite, + EatDependencyLength, + EatMinIterations, + EatMaxIterations, + EatIterationMultiple, + EatPeelCount, + EatPartialCount, + EatFormatRgba32f, + EatFormatRgba16f, + EatFormatR32f, + EatFormatRgba8, + EatFormatRgba8Snorm, + EatFormatRg32f, + EatFormatRg16f, + EatFormatR11fG11fB10f, + EatFormatR16f, + EatFormatRgba16, + EatFormatRgb10A2, + EatFormatRg16, + EatFormatRg8, + EatFormatR16, + EatFormatR8, + EatFormatRgba16Snorm, + EatFormatRg16Snorm, + EatFormatRg8Snorm, + EatFormatR16Snorm, + EatFormatR8Snorm, + EatFormatRgba32i, + EatFormatRgba16i, + EatFormatRgba8i, + EatFormatR32i, + EatFormatRg32i, + EatFormatRg16i, + EatFormatRg8i, + EatFormatR16i, + EatFormatR8i, + EatFormatRgba32ui, + EatFormatRgba16ui, + EatFormatRgba8ui, + EatFormatR32ui, + EatFormatRgb10a2ui, + EatFormatRg32ui, + EatFormatRg16ui, + EatFormatRg8ui, + EatFormatR16ui, + EatFormatR8ui, + EatFormatUnknown, + EatNonWritable, + EatNonReadable + }; + + class TIntermAggregate; + + struct TAttributeArgs { + TAttributeType name; + const TIntermAggregate* args; + + // Obtain attribute as integer + // Return false if it cannot be obtained + bool getInt(int& value, int argNum = 0) const; + + // Obtain attribute as string, with optional to-lower transform + // Return false if it cannot be obtained + bool getString(TString& value, int argNum = 0, bool convertToLower = true) const; + + // How many arguments were provided to the attribute? + int size() const; + + protected: + const TConstUnion* getConstUnion(TBasicType basicType, int argNum) const; + }; + + typedef TList TAttributes; + +} // end namespace glslang + +#endif // _ATTRIBUTE_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/gl_types.h b/android/x86_64/include/glslang/Include/MachineIndependent/gl_types.h new file mode 100644 index 00000000..b9372d4b --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/gl_types.h @@ -0,0 +1,218 @@ +/* +** Copyright (c) 2013 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are 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 Materials. +** +** THE MATERIALS ARE 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 +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#pragma once + +#define GL_FLOAT 0x1406 +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 + +#define GL_DOUBLE 0x140A +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE + +#define GL_INT 0x1404 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 + +#define GL_UNSIGNED_INT 0x1405 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 + +#define GL_INT64_ARB 0x140E +#define GL_INT64_VEC2_ARB 0x8FE9 +#define GL_INT64_VEC3_ARB 0x8FEA +#define GL_INT64_VEC4_ARB 0x8FEB + +#define GL_UNSIGNED_INT64_ARB 0x140F +#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FE5 +#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FE6 +#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FE7 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 + +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 + +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 + +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A + +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E + +// Those constants are borrowed from extension NV_gpu_shader5 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB + +#define GL_FLOAT16_MAT2_AMD 0x91C5 +#define GL_FLOAT16_MAT3_AMD 0x91C6 +#define GL_FLOAT16_MAT4_AMD 0x91C7 +#define GL_FLOAT16_MAT2x3_AMD 0x91C8 +#define GL_FLOAT16_MAT2x4_AMD 0x91C9 +#define GL_FLOAT16_MAT3x2_AMD 0x91CA +#define GL_FLOAT16_MAT3x4_AMD 0x91CB +#define GL_FLOAT16_MAT4x2_AMD 0x91CC +#define GL_FLOAT16_MAT4x3_AMD 0x91CD + +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D + +#define GL_FLOAT16_SAMPLER_1D_AMD 0x91CE +#define GL_FLOAT16_SAMPLER_2D_AMD 0x91CF +#define GL_FLOAT16_SAMPLER_3D_AMD 0x91D0 +#define GL_FLOAT16_SAMPLER_CUBE_AMD 0x91D1 +#define GL_FLOAT16_SAMPLER_2D_RECT_AMD 0x91D2 +#define GL_FLOAT16_SAMPLER_1D_ARRAY_AMD 0x91D3 +#define GL_FLOAT16_SAMPLER_2D_ARRAY_AMD 0x91D4 +#define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_AMD 0x91D5 +#define GL_FLOAT16_SAMPLER_BUFFER_AMD 0x91D6 +#define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_AMD 0x91D7 +#define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_ARRAY_AMD 0x91D8 + +#define GL_FLOAT16_SAMPLER_1D_SHADOW_AMD 0x91D9 +#define GL_FLOAT16_SAMPLER_2D_SHADOW_AMD 0x91DA +#define GL_FLOAT16_SAMPLER_2D_RECT_SHADOW_AMD 0x91DB +#define GL_FLOAT16_SAMPLER_1D_ARRAY_SHADOW_AMD 0x91DC +#define GL_FLOAT16_SAMPLER_2D_ARRAY_SHADOW_AMD 0x91DD +#define GL_FLOAT16_SAMPLER_CUBE_SHADOW_AMD 0x91DE +#define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_SHADOW_AMD 0x91DF + +#define GL_FLOAT16_IMAGE_1D_AMD 0x91E0 +#define GL_FLOAT16_IMAGE_2D_AMD 0x91E1 +#define GL_FLOAT16_IMAGE_3D_AMD 0x91E2 +#define GL_FLOAT16_IMAGE_2D_RECT_AMD 0x91E3 +#define GL_FLOAT16_IMAGE_CUBE_AMD 0x91E4 +#define GL_FLOAT16_IMAGE_1D_ARRAY_AMD 0x91E5 +#define GL_FLOAT16_IMAGE_2D_ARRAY_AMD 0x91E6 +#define GL_FLOAT16_IMAGE_CUBE_MAP_ARRAY_AMD 0x91E7 +#define GL_FLOAT16_IMAGE_BUFFER_AMD 0x91E8 +#define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_AMD 0x91E9 +#define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_ARRAY_AMD 0x91EA + +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E + +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A + +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C + +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/glslang.m4 b/android/x86_64/include/glslang/Include/MachineIndependent/glslang.m4 new file mode 100644 index 00000000..8884b268 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/glslang.m4 @@ -0,0 +1,4044 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2019 Google, Inc. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Do not edit the .y file, only edit the .m4 file. +// The .y bison file is not a source file, it is a derivative of the .m4 file. +// The m4 file needs to be processed by m4 to generate the .y bison file. +// +// Code sandwiched between a pair: +// +// GLSLANG_WEB_EXCLUDE_ON +// ... +// ... +// ... +// GLSLANG_WEB_EXCLUDE_OFF +// +// Will be excluded from the grammar when m4 is executed as: +// +// m4 -P -DGLSLANG_WEB +// +// It will be included when m4 is executed as: +// +// m4 -P +// + +m4_define(`GLSLANG_WEB_EXCLUDE_ON', `m4_ifdef(`GLSLANG_WEB', `m4_divert(`-1')')') +m4_define(`GLSLANG_WEB_EXCLUDE_OFF', `m4_ifdef(`GLSLANG_WEB', `m4_divert')') + +/** + * This is bison grammar and productions for parsing all versions of the + * GLSL shading languages. + */ +%{ + +/* Based on: +ANSI C Yacc grammar + +In 1985, Jeff Lee published his Yacc grammar (which is accompanied by a +matching Lex specification) for the April 30, 1985 draft version of the +ANSI C standard. Tom Stockfisch reposted it to net.sources in 1987; that +original, as mentioned in the answer to question 17.25 of the comp.lang.c +FAQ, can be ftp'ed from ftp.uu.net, file usenet/net.sources/ansi.c.grammar.Z. + +I intend to keep this version as close to the current C Standard grammar as +possible; please let me know if you discover discrepancies. + +Jutta Degener, 1995 +*/ + +#include "SymbolTable.h" +#include "ParseHelper.h" +#include "../Public/ShaderLang.h" +#include "attribute.h" + +using namespace glslang; + +%} + +%define parse.error verbose + +%union { + struct { + glslang::TSourceLoc loc; + union { + glslang::TString *string; + int i; + unsigned int u; + long long i64; + unsigned long long u64; + bool b; + double d; + }; + glslang::TSymbol* symbol; + } lex; + struct { + glslang::TSourceLoc loc; + glslang::TOperator op; + union { + TIntermNode* intermNode; + glslang::TIntermNodePair nodePair; + glslang::TIntermTyped* intermTypedNode; + glslang::TAttributes* attributes; + }; + union { + glslang::TPublicType type; + glslang::TFunction* function; + glslang::TParameter param; + glslang::TTypeLoc typeLine; + glslang::TTypeList* typeList; + glslang::TArraySizes* arraySizes; + glslang::TIdentifierList* identifierList; + }; + glslang::TArraySizes* typeParameters; + } interm; +} + +%{ + +/* windows only pragma */ +#ifdef _MSC_VER + #pragma warning(disable : 4065) + #pragma warning(disable : 4127) + #pragma warning(disable : 4244) +#endif + +#define parseContext (*pParseContext) +#define yyerror(context, msg) context->parserError(msg) + +extern int yylex(YYSTYPE*, TParseContext&); + +%} + +%parse-param {glslang::TParseContext* pParseContext} +%lex-param {parseContext} +%pure-parser // enable thread safety +%expect 1 // One shift reduce conflict because of if | else + +%token CONST BOOL INT UINT FLOAT +%token BVEC2 BVEC3 BVEC4 +%token IVEC2 IVEC3 IVEC4 +%token UVEC2 UVEC3 UVEC4 +%token VEC2 VEC3 VEC4 +%token MAT2 MAT3 MAT4 +%token MAT2X2 MAT2X3 MAT2X4 +%token MAT3X2 MAT3X3 MAT3X4 +%token MAT4X2 MAT4X3 MAT4X4 + +// combined image/sampler +%token SAMPLER2D SAMPLER3D SAMPLERCUBE SAMPLER2DSHADOW +%token SAMPLERCUBESHADOW SAMPLER2DARRAY +%token SAMPLER2DARRAYSHADOW ISAMPLER2D ISAMPLER3D ISAMPLERCUBE +%token ISAMPLER2DARRAY USAMPLER2D USAMPLER3D +%token USAMPLERCUBE USAMPLER2DARRAY + +// separate image/sampler +%token SAMPLER SAMPLERSHADOW +%token TEXTURE2D TEXTURE3D TEXTURECUBE TEXTURE2DARRAY +%token ITEXTURE2D ITEXTURE3D ITEXTURECUBE ITEXTURE2DARRAY +%token UTEXTURE2D UTEXTURE3D UTEXTURECUBE UTEXTURE2DARRAY + +GLSLANG_WEB_EXCLUDE_ON + +%token ATTRIBUTE VARYING +%token FLOAT16_T FLOAT32_T DOUBLE FLOAT64_T +%token INT64_T UINT64_T INT32_T UINT32_T INT16_T UINT16_T INT8_T UINT8_T +%token I64VEC2 I64VEC3 I64VEC4 +%token U64VEC2 U64VEC3 U64VEC4 +%token I32VEC2 I32VEC3 I32VEC4 +%token U32VEC2 U32VEC3 U32VEC4 +%token I16VEC2 I16VEC3 I16VEC4 +%token U16VEC2 U16VEC3 U16VEC4 +%token I8VEC2 I8VEC3 I8VEC4 +%token U8VEC2 U8VEC3 U8VEC4 +%token DVEC2 DVEC3 DVEC4 DMAT2 DMAT3 DMAT4 +%token F16VEC2 F16VEC3 F16VEC4 F16MAT2 F16MAT3 F16MAT4 +%token F32VEC2 F32VEC3 F32VEC4 F32MAT2 F32MAT3 F32MAT4 +%token F64VEC2 F64VEC3 F64VEC4 F64MAT2 F64MAT3 F64MAT4 +%token DMAT2X2 DMAT2X3 DMAT2X4 +%token DMAT3X2 DMAT3X3 DMAT3X4 +%token DMAT4X2 DMAT4X3 DMAT4X4 +%token F16MAT2X2 F16MAT2X3 F16MAT2X4 +%token F16MAT3X2 F16MAT3X3 F16MAT3X4 +%token F16MAT4X2 F16MAT4X3 F16MAT4X4 +%token F32MAT2X2 F32MAT2X3 F32MAT2X4 +%token F32MAT3X2 F32MAT3X3 F32MAT3X4 +%token F32MAT4X2 F32MAT4X3 F32MAT4X4 +%token F64MAT2X2 F64MAT2X3 F64MAT2X4 +%token F64MAT3X2 F64MAT3X3 F64MAT3X4 +%token F64MAT4X2 F64MAT4X3 F64MAT4X4 +%token ATOMIC_UINT +%token ACCSTRUCTNV +%token ACCSTRUCTEXT +%token RAYQUERYEXT +%token FCOOPMATNV ICOOPMATNV UCOOPMATNV + +// combined image/sampler +%token SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW +%token ISAMPLERCUBEARRAY USAMPLERCUBEARRAY +%token SAMPLER1D SAMPLER1DARRAY SAMPLER1DARRAYSHADOW ISAMPLER1D SAMPLER1DSHADOW +%token SAMPLER2DRECT SAMPLER2DRECTSHADOW ISAMPLER2DRECT USAMPLER2DRECT +%token SAMPLERBUFFER ISAMPLERBUFFER USAMPLERBUFFER +%token SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS +%token SAMPLER2DMSARRAY ISAMPLER2DMSARRAY USAMPLER2DMSARRAY +%token SAMPLEREXTERNALOES +%token SAMPLEREXTERNAL2DY2YEXT +%token ISAMPLER1DARRAY USAMPLER1D USAMPLER1DARRAY +%token F16SAMPLER1D F16SAMPLER2D F16SAMPLER3D F16SAMPLER2DRECT F16SAMPLERCUBE +%token F16SAMPLER1DARRAY F16SAMPLER2DARRAY F16SAMPLERCUBEARRAY +%token F16SAMPLERBUFFER F16SAMPLER2DMS F16SAMPLER2DMSARRAY +%token F16SAMPLER1DSHADOW F16SAMPLER2DSHADOW F16SAMPLER1DARRAYSHADOW F16SAMPLER2DARRAYSHADOW +%token F16SAMPLER2DRECTSHADOW F16SAMPLERCUBESHADOW F16SAMPLERCUBEARRAYSHADOW + +// images +%token IMAGE1D IIMAGE1D UIMAGE1D IMAGE2D IIMAGE2D +%token UIMAGE2D IMAGE3D IIMAGE3D UIMAGE3D +%token IMAGE2DRECT IIMAGE2DRECT UIMAGE2DRECT +%token IMAGECUBE IIMAGECUBE UIMAGECUBE +%token IMAGEBUFFER IIMAGEBUFFER UIMAGEBUFFER +%token IMAGE1DARRAY IIMAGE1DARRAY UIMAGE1DARRAY +%token IMAGE2DARRAY IIMAGE2DARRAY UIMAGE2DARRAY +%token IMAGECUBEARRAY IIMAGECUBEARRAY UIMAGECUBEARRAY +%token IMAGE2DMS IIMAGE2DMS UIMAGE2DMS +%token IMAGE2DMSARRAY IIMAGE2DMSARRAY UIMAGE2DMSARRAY + +%token F16IMAGE1D F16IMAGE2D F16IMAGE3D F16IMAGE2DRECT +%token F16IMAGECUBE F16IMAGE1DARRAY F16IMAGE2DARRAY F16IMAGECUBEARRAY +%token F16IMAGEBUFFER F16IMAGE2DMS F16IMAGE2DMSARRAY + +%token I64IMAGE1D U64IMAGE1D +%token I64IMAGE2D U64IMAGE2D +%token I64IMAGE3D U64IMAGE3D +%token I64IMAGE2DRECT U64IMAGE2DRECT +%token I64IMAGECUBE U64IMAGECUBE +%token I64IMAGEBUFFER U64IMAGEBUFFER +%token I64IMAGE1DARRAY U64IMAGE1DARRAY +%token I64IMAGE2DARRAY U64IMAGE2DARRAY +%token I64IMAGECUBEARRAY U64IMAGECUBEARRAY +%token I64IMAGE2DMS U64IMAGE2DMS +%token I64IMAGE2DMSARRAY U64IMAGE2DMSARRAY + +// texture without sampler +%token TEXTURECUBEARRAY ITEXTURECUBEARRAY UTEXTURECUBEARRAY +%token TEXTURE1D ITEXTURE1D UTEXTURE1D +%token TEXTURE1DARRAY ITEXTURE1DARRAY UTEXTURE1DARRAY +%token TEXTURE2DRECT ITEXTURE2DRECT UTEXTURE2DRECT +%token TEXTUREBUFFER ITEXTUREBUFFER UTEXTUREBUFFER +%token TEXTURE2DMS ITEXTURE2DMS UTEXTURE2DMS +%token TEXTURE2DMSARRAY ITEXTURE2DMSARRAY UTEXTURE2DMSARRAY + +%token F16TEXTURE1D F16TEXTURE2D F16TEXTURE3D F16TEXTURE2DRECT F16TEXTURECUBE +%token F16TEXTURE1DARRAY F16TEXTURE2DARRAY F16TEXTURECUBEARRAY +%token F16TEXTUREBUFFER F16TEXTURE2DMS F16TEXTURE2DMSARRAY + +// input attachments +%token SUBPASSINPUT SUBPASSINPUTMS ISUBPASSINPUT ISUBPASSINPUTMS USUBPASSINPUT USUBPASSINPUTMS +%token F16SUBPASSINPUT F16SUBPASSINPUTMS + +GLSLANG_WEB_EXCLUDE_OFF + +%token LEFT_OP RIGHT_OP +%token INC_OP DEC_OP LE_OP GE_OP EQ_OP NE_OP +%token AND_OP OR_OP XOR_OP MUL_ASSIGN DIV_ASSIGN ADD_ASSIGN +%token MOD_ASSIGN LEFT_ASSIGN RIGHT_ASSIGN AND_ASSIGN XOR_ASSIGN OR_ASSIGN +%token SUB_ASSIGN +%token STRING_LITERAL + +%token LEFT_PAREN RIGHT_PAREN LEFT_BRACKET RIGHT_BRACKET LEFT_BRACE RIGHT_BRACE DOT +%token COMMA COLON EQUAL SEMICOLON BANG DASH TILDE PLUS STAR SLASH PERCENT +%token LEFT_ANGLE RIGHT_ANGLE VERTICAL_BAR CARET AMPERSAND QUESTION + +%token INVARIANT +%token HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION +%token PACKED RESOURCE SUPERP + +%token FLOATCONSTANT INTCONSTANT UINTCONSTANT BOOLCONSTANT +%token IDENTIFIER TYPE_NAME +%token CENTROID IN OUT INOUT +%token STRUCT VOID WHILE +%token BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT +%token TERMINATE_INVOCATION +%token TERMINATE_RAY IGNORE_INTERSECTION +%token UNIFORM SHARED BUFFER +%token FLAT SMOOTH LAYOUT + +GLSLANG_WEB_EXCLUDE_ON +%token DOUBLECONSTANT INT16CONSTANT UINT16CONSTANT FLOAT16CONSTANT INT32CONSTANT UINT32CONSTANT +%token INT64CONSTANT UINT64CONSTANT +%token SUBROUTINE DEMOTE +%token PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV +%token PAYLOADEXT PAYLOADINEXT HITATTREXT CALLDATAEXT CALLDATAINEXT +%token PATCH SAMPLE NONUNIFORM +%token COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT +%token SUBGROUPCOHERENT NONPRIVATE SHADERCALLCOHERENT +%token NOPERSPECTIVE EXPLICITINTERPAMD PERVERTEXNV PERPRIMITIVENV PERVIEWNV PERTASKNV +%token PRECISE +GLSLANG_WEB_EXCLUDE_OFF + +%type assignment_operator unary_operator +%type variable_identifier primary_expression postfix_expression +%type expression integer_expression assignment_expression +%type unary_expression multiplicative_expression additive_expression +%type relational_expression equality_expression +%type conditional_expression constant_expression +%type logical_or_expression logical_xor_expression logical_and_expression +%type shift_expression and_expression exclusive_or_expression inclusive_or_expression +%type function_call initializer condition conditionopt + +%type translation_unit function_definition +%type statement simple_statement +%type statement_list switch_statement_list compound_statement +%type declaration_statement selection_statement selection_statement_nonattributed expression_statement +%type switch_statement switch_statement_nonattributed case_label +%type declaration external_declaration +%type for_init_statement compound_statement_no_new_scope +%type selection_rest_statement for_rest_statement +%type iteration_statement iteration_statement_nonattributed jump_statement statement_no_new_scope statement_scoped +%type single_declaration init_declarator_list + +%type parameter_declaration parameter_declarator parameter_type_specifier + +%type array_specifier +%type invariant_qualifier interpolation_qualifier storage_qualifier precision_qualifier +%type layout_qualifier layout_qualifier_id_list layout_qualifier_id + +%type type_parameter_specifier +%type type_parameter_specifier_opt +%type type_parameter_specifier_list + +%type type_qualifier fully_specified_type type_specifier +%type single_type_qualifier +%type type_specifier_nonarray +%type struct_specifier +%type struct_declarator +%type struct_declarator_list struct_declaration struct_declaration_list +%type block_structure +%type function_header function_declarator +%type function_header_with_parameters +%type function_call_header_with_parameters function_call_header_no_parameters function_call_generic function_prototype +%type function_call_or_method function_identifier function_call_header + +%type identifier_list + +GLSLANG_WEB_EXCLUDE_ON +%type precise_qualifier non_uniform_qualifier +%type type_name_list +%type attribute attribute_list single_attribute +%type demote_statement +%type initializer_list +GLSLANG_WEB_EXCLUDE_OFF + +%start translation_unit +%% + +variable_identifier + : IDENTIFIER { + $$ = parseContext.handleVariable($1.loc, $1.symbol, $1.string); + } + ; + +primary_expression + : variable_identifier { + $$ = $1; + } + | LEFT_PAREN expression RIGHT_PAREN { + $$ = $2; + if ($$->getAsConstantUnion()) + $$->getAsConstantUnion()->setExpression(); + } + | FLOATCONSTANT { + $$ = parseContext.intermediate.addConstantUnion($1.d, EbtFloat, $1.loc, true); + } + | INTCONSTANT { + $$ = parseContext.intermediate.addConstantUnion($1.i, $1.loc, true); + } + | UINTCONSTANT { + parseContext.fullIntegerCheck($1.loc, "unsigned literal"); + $$ = parseContext.intermediate.addConstantUnion($1.u, $1.loc, true); + } + | BOOLCONSTANT { + $$ = parseContext.intermediate.addConstantUnion($1.b, $1.loc, true); + } +GLSLANG_WEB_EXCLUDE_ON + | STRING_LITERAL { + $$ = parseContext.intermediate.addConstantUnion($1.string, $1.loc, true); + } + | INT32CONSTANT { + parseContext.explicitInt32Check($1.loc, "32-bit signed literal"); + $$ = parseContext.intermediate.addConstantUnion($1.i, $1.loc, true); + } + | UINT32CONSTANT { + parseContext.explicitInt32Check($1.loc, "32-bit signed literal"); + $$ = parseContext.intermediate.addConstantUnion($1.u, $1.loc, true); + } + | INT64CONSTANT { + parseContext.int64Check($1.loc, "64-bit integer literal"); + $$ = parseContext.intermediate.addConstantUnion($1.i64, $1.loc, true); + } + | UINT64CONSTANT { + parseContext.int64Check($1.loc, "64-bit unsigned integer literal"); + $$ = parseContext.intermediate.addConstantUnion($1.u64, $1.loc, true); + } + | INT16CONSTANT { + parseContext.explicitInt16Check($1.loc, "16-bit integer literal"); + $$ = parseContext.intermediate.addConstantUnion((short)$1.i, $1.loc, true); + } + | UINT16CONSTANT { + parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer literal"); + $$ = parseContext.intermediate.addConstantUnion((unsigned short)$1.u, $1.loc, true); + } + | DOUBLECONSTANT { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double literal"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double literal"); + $$ = parseContext.intermediate.addConstantUnion($1.d, EbtDouble, $1.loc, true); + } + | FLOAT16CONSTANT { + parseContext.float16Check($1.loc, "half float literal"); + $$ = parseContext.intermediate.addConstantUnion($1.d, EbtFloat16, $1.loc, true); + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +postfix_expression + : primary_expression { + $$ = $1; + } + | postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET { + $$ = parseContext.handleBracketDereference($2.loc, $1, $3); + } + | function_call { + $$ = $1; + } + | postfix_expression DOT IDENTIFIER { + $$ = parseContext.handleDotDereference($3.loc, $1, *$3.string); + } + | postfix_expression INC_OP { + parseContext.variableCheck($1); + parseContext.lValueErrorCheck($2.loc, "++", $1); + $$ = parseContext.handleUnaryMath($2.loc, "++", EOpPostIncrement, $1); + } + | postfix_expression DEC_OP { + parseContext.variableCheck($1); + parseContext.lValueErrorCheck($2.loc, "--", $1); + $$ = parseContext.handleUnaryMath($2.loc, "--", EOpPostDecrement, $1); + } + ; + +integer_expression + : expression { + parseContext.integerCheck($1, "[]"); + $$ = $1; + } + ; + +function_call + : function_call_or_method { + $$ = parseContext.handleFunctionCall($1.loc, $1.function, $1.intermNode); + delete $1.function; + } + ; + +function_call_or_method + : function_call_generic { + $$ = $1; + } + ; + +function_call_generic + : function_call_header_with_parameters RIGHT_PAREN { + $$ = $1; + $$.loc = $2.loc; + } + | function_call_header_no_parameters RIGHT_PAREN { + $$ = $1; + $$.loc = $2.loc; + } + ; + +function_call_header_no_parameters + : function_call_header VOID { + $$ = $1; + } + | function_call_header { + $$ = $1; + } + ; + +function_call_header_with_parameters + : function_call_header assignment_expression { + TParameter param = { 0, new TType }; + param.type->shallowCopy($2->getType()); + $1.function->addParameter(param); + $$.function = $1.function; + $$.intermNode = $2; + } + | function_call_header_with_parameters COMMA assignment_expression { + TParameter param = { 0, new TType }; + param.type->shallowCopy($3->getType()); + $1.function->addParameter(param); + $$.function = $1.function; + $$.intermNode = parseContext.intermediate.growAggregate($1.intermNode, $3, $2.loc); + } + ; + +function_call_header + : function_identifier LEFT_PAREN { + $$ = $1; + } + ; + +// Grammar Note: Constructors look like functions, but are recognized as types. + +function_identifier + : type_specifier { + // Constructor + $$.intermNode = 0; + $$.function = parseContext.handleConstructorCall($1.loc, $1); + } + | postfix_expression { + // + // Should be a method or subroutine call, but we haven't recognized the arguments yet. + // + $$.function = 0; + $$.intermNode = 0; + + TIntermMethod* method = $1->getAsMethodNode(); + if (method) { + $$.function = new TFunction(&method->getMethodName(), TType(EbtInt), EOpArrayLength); + $$.intermNode = method->getObject(); + } else { + TIntermSymbol* symbol = $1->getAsSymbolNode(); + if (symbol) { + parseContext.reservedErrorCheck(symbol->getLoc(), symbol->getName()); + TFunction *function = new TFunction(&symbol->getName(), TType(EbtVoid)); + $$.function = function; + } else + parseContext.error($1->getLoc(), "function call, method, or subroutine call expected", "", ""); + } + + if ($$.function == 0) { + // error recover + TString* empty = NewPoolTString(""); + $$.function = new TFunction(empty, TType(EbtVoid), EOpNull); + } + } +GLSLANG_WEB_EXCLUDE_ON + | non_uniform_qualifier { + // Constructor + $$.intermNode = 0; + $$.function = parseContext.handleConstructorCall($1.loc, $1); + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +unary_expression + : postfix_expression { + parseContext.variableCheck($1); + $$ = $1; + if (TIntermMethod* method = $1->getAsMethodNode()) + parseContext.error($1->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), ""); + } + | INC_OP unary_expression { + parseContext.lValueErrorCheck($1.loc, "++", $2); + $$ = parseContext.handleUnaryMath($1.loc, "++", EOpPreIncrement, $2); + } + | DEC_OP unary_expression { + parseContext.lValueErrorCheck($1.loc, "--", $2); + $$ = parseContext.handleUnaryMath($1.loc, "--", EOpPreDecrement, $2); + } + | unary_operator unary_expression { + if ($1.op != EOpNull) { + char errorOp[2] = {0, 0}; + switch($1.op) { + case EOpNegative: errorOp[0] = '-'; break; + case EOpLogicalNot: errorOp[0] = '!'; break; + case EOpBitwiseNot: errorOp[0] = '~'; break; + default: break; // some compilers want this + } + $$ = parseContext.handleUnaryMath($1.loc, errorOp, $1.op, $2); + } else { + $$ = $2; + if ($$->getAsConstantUnion()) + $$->getAsConstantUnion()->setExpression(); + } + } + ; +// Grammar Note: No traditional style type casts. + +unary_operator + : PLUS { $$.loc = $1.loc; $$.op = EOpNull; } + | DASH { $$.loc = $1.loc; $$.op = EOpNegative; } + | BANG { $$.loc = $1.loc; $$.op = EOpLogicalNot; } + | TILDE { $$.loc = $1.loc; $$.op = EOpBitwiseNot; + parseContext.fullIntegerCheck($1.loc, "bitwise not"); } + ; +// Grammar Note: No '*' or '&' unary ops. Pointers are not supported. + +multiplicative_expression + : unary_expression { $$ = $1; } + | multiplicative_expression STAR unary_expression { + $$ = parseContext.handleBinaryMath($2.loc, "*", EOpMul, $1, $3); + if ($$ == 0) + $$ = $1; + } + | multiplicative_expression SLASH unary_expression { + $$ = parseContext.handleBinaryMath($2.loc, "/", EOpDiv, $1, $3); + if ($$ == 0) + $$ = $1; + } + | multiplicative_expression PERCENT unary_expression { + parseContext.fullIntegerCheck($2.loc, "%"); + $$ = parseContext.handleBinaryMath($2.loc, "%", EOpMod, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +additive_expression + : multiplicative_expression { $$ = $1; } + | additive_expression PLUS multiplicative_expression { + $$ = parseContext.handleBinaryMath($2.loc, "+", EOpAdd, $1, $3); + if ($$ == 0) + $$ = $1; + } + | additive_expression DASH multiplicative_expression { + $$ = parseContext.handleBinaryMath($2.loc, "-", EOpSub, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +shift_expression + : additive_expression { $$ = $1; } + | shift_expression LEFT_OP additive_expression { + parseContext.fullIntegerCheck($2.loc, "bit shift left"); + $$ = parseContext.handleBinaryMath($2.loc, "<<", EOpLeftShift, $1, $3); + if ($$ == 0) + $$ = $1; + } + | shift_expression RIGHT_OP additive_expression { + parseContext.fullIntegerCheck($2.loc, "bit shift right"); + $$ = parseContext.handleBinaryMath($2.loc, ">>", EOpRightShift, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +relational_expression + : shift_expression { $$ = $1; } + | relational_expression LEFT_ANGLE shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, "<", EOpLessThan, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | relational_expression RIGHT_ANGLE shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, ">", EOpGreaterThan, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | relational_expression LE_OP shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, "<=", EOpLessThanEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | relational_expression GE_OP shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, ">=", EOpGreaterThanEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +equality_expression + : relational_expression { $$ = $1; } + | equality_expression EQ_OP relational_expression { + parseContext.arrayObjectCheck($2.loc, $1->getType(), "array comparison"); + parseContext.opaqueCheck($2.loc, $1->getType(), "=="); + parseContext.specializationCheck($2.loc, $1->getType(), "=="); + parseContext.referenceCheck($2.loc, $1->getType(), "=="); + $$ = parseContext.handleBinaryMath($2.loc, "==", EOpEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | equality_expression NE_OP relational_expression { + parseContext.arrayObjectCheck($2.loc, $1->getType(), "array comparison"); + parseContext.opaqueCheck($2.loc, $1->getType(), "!="); + parseContext.specializationCheck($2.loc, $1->getType(), "!="); + parseContext.referenceCheck($2.loc, $1->getType(), "!="); + $$ = parseContext.handleBinaryMath($2.loc, "!=", EOpNotEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +and_expression + : equality_expression { $$ = $1; } + | and_expression AMPERSAND equality_expression { + parseContext.fullIntegerCheck($2.loc, "bitwise and"); + $$ = parseContext.handleBinaryMath($2.loc, "&", EOpAnd, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +exclusive_or_expression + : and_expression { $$ = $1; } + | exclusive_or_expression CARET and_expression { + parseContext.fullIntegerCheck($2.loc, "bitwise exclusive or"); + $$ = parseContext.handleBinaryMath($2.loc, "^", EOpExclusiveOr, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +inclusive_or_expression + : exclusive_or_expression { $$ = $1; } + | inclusive_or_expression VERTICAL_BAR exclusive_or_expression { + parseContext.fullIntegerCheck($2.loc, "bitwise inclusive or"); + $$ = parseContext.handleBinaryMath($2.loc, "|", EOpInclusiveOr, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +logical_and_expression + : inclusive_or_expression { $$ = $1; } + | logical_and_expression AND_OP inclusive_or_expression { + $$ = parseContext.handleBinaryMath($2.loc, "&&", EOpLogicalAnd, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +logical_xor_expression + : logical_and_expression { $$ = $1; } + | logical_xor_expression XOR_OP logical_and_expression { + $$ = parseContext.handleBinaryMath($2.loc, "^^", EOpLogicalXor, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +logical_or_expression + : logical_xor_expression { $$ = $1; } + | logical_or_expression OR_OP logical_xor_expression { + $$ = parseContext.handleBinaryMath($2.loc, "||", EOpLogicalOr, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +conditional_expression + : logical_or_expression { $$ = $1; } + | logical_or_expression QUESTION { + ++parseContext.controlFlowNestingLevel; + } + expression COLON assignment_expression { + --parseContext.controlFlowNestingLevel; + parseContext.boolCheck($2.loc, $1); + parseContext.rValueErrorCheck($2.loc, "?", $1); + parseContext.rValueErrorCheck($5.loc, ":", $4); + parseContext.rValueErrorCheck($5.loc, ":", $6); + $$ = parseContext.intermediate.addSelection($1, $4, $6, $2.loc); + if ($$ == 0) { + parseContext.binaryOpError($2.loc, ":", $4->getCompleteString(), $6->getCompleteString()); + $$ = $6; + } + } + ; + +assignment_expression + : conditional_expression { $$ = $1; } + | unary_expression assignment_operator assignment_expression { + parseContext.arrayObjectCheck($2.loc, $1->getType(), "array assignment"); + parseContext.opaqueCheck($2.loc, $1->getType(), "="); + parseContext.storage16BitAssignmentCheck($2.loc, $1->getType(), "="); + parseContext.specializationCheck($2.loc, $1->getType(), "="); + parseContext.lValueErrorCheck($2.loc, "assign", $1); + parseContext.rValueErrorCheck($2.loc, "assign", $3); + $$ = parseContext.addAssign($2.loc, $2.op, $1, $3); + if ($$ == 0) { + parseContext.assignError($2.loc, "assign", $1->getCompleteString(), $3->getCompleteString()); + $$ = $1; + } + } + ; + +assignment_operator + : EQUAL { + $$.loc = $1.loc; + $$.op = EOpAssign; + } + | MUL_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpMulAssign; + } + | DIV_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpDivAssign; + } + | MOD_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "%="); + $$.loc = $1.loc; + $$.op = EOpModAssign; + } + | ADD_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpAddAssign; + } + | SUB_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpSubAssign; + } + | LEFT_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bit-shift left assign"); + $$.loc = $1.loc; $$.op = EOpLeftShiftAssign; + } + | RIGHT_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bit-shift right assign"); + $$.loc = $1.loc; $$.op = EOpRightShiftAssign; + } + | AND_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bitwise-and assign"); + $$.loc = $1.loc; $$.op = EOpAndAssign; + } + | XOR_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bitwise-xor assign"); + $$.loc = $1.loc; $$.op = EOpExclusiveOrAssign; + } + | OR_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bitwise-or assign"); + $$.loc = $1.loc; $$.op = EOpInclusiveOrAssign; + } + ; + +expression + : assignment_expression { + $$ = $1; + } + | expression COMMA assignment_expression { + parseContext.samplerConstructorLocationCheck($2.loc, ",", $3); + $$ = parseContext.intermediate.addComma($1, $3, $2.loc); + if ($$ == 0) { + parseContext.binaryOpError($2.loc, ",", $1->getCompleteString(), $3->getCompleteString()); + $$ = $3; + } + } + ; + +constant_expression + : conditional_expression { + parseContext.constantValueCheck($1, ""); + $$ = $1; + } + ; + +declaration + : function_prototype SEMICOLON { + parseContext.handleFunctionDeclarator($1.loc, *$1.function, true /* prototype */); + $$ = 0; + // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature + } + | init_declarator_list SEMICOLON { + if ($1.intermNode && $1.intermNode->getAsAggregate()) + $1.intermNode->getAsAggregate()->setOperator(EOpSequence); + $$ = $1.intermNode; + } + | PRECISION precision_qualifier type_specifier SEMICOLON { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "precision statement"); + // lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope + parseContext.symbolTable.setPreviousDefaultPrecisions(&parseContext.defaultPrecision[0]); + parseContext.setDefaultPrecision($1.loc, $3, $2.qualifier.precision); + $$ = 0; + } + | block_structure SEMICOLON { + parseContext.declareBlock($1.loc, *$1.typeList); + $$ = 0; + } + | block_structure IDENTIFIER SEMICOLON { + parseContext.declareBlock($1.loc, *$1.typeList, $2.string); + $$ = 0; + } + | block_structure IDENTIFIER array_specifier SEMICOLON { + parseContext.declareBlock($1.loc, *$1.typeList, $2.string, $3.arraySizes); + $$ = 0; + } + | type_qualifier SEMICOLON { + parseContext.globalQualifierFixCheck($1.loc, $1.qualifier); + parseContext.updateStandaloneQualifierDefaults($1.loc, $1); + $$ = 0; + } + | type_qualifier IDENTIFIER SEMICOLON { + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.addQualifierToExisting($1.loc, $1.qualifier, *$2.string); + $$ = 0; + } + | type_qualifier IDENTIFIER identifier_list SEMICOLON { + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + $3->push_back($2.string); + parseContext.addQualifierToExisting($1.loc, $1.qualifier, *$3); + $$ = 0; + } + ; + +block_structure + : type_qualifier IDENTIFIER LEFT_BRACE { parseContext.nestedBlockCheck($1.loc); } struct_declaration_list RIGHT_BRACE { + --parseContext.blockNestingLevel; + parseContext.blockName = $2.string; + parseContext.globalQualifierFixCheck($1.loc, $1.qualifier); + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.currentBlockQualifier = $1.qualifier; + $$.loc = $1.loc; + $$.typeList = $5; + } + +identifier_list + : COMMA IDENTIFIER { + $$ = new TIdentifierList; + $$->push_back($2.string); + } + | identifier_list COMMA IDENTIFIER { + $$ = $1; + $$->push_back($3.string); + } + ; + +function_prototype + : function_declarator RIGHT_PAREN { + $$.function = $1; + $$.loc = $2.loc; + } + ; + +function_declarator + : function_header { + $$ = $1; + } + | function_header_with_parameters { + $$ = $1; + } + ; + + +function_header_with_parameters + : function_header parameter_declaration { + // Add the parameter + $$ = $1; + if ($2.param.type->getBasicType() != EbtVoid) + $1->addParameter($2.param); + else + delete $2.param.type; + } + | function_header_with_parameters COMMA parameter_declaration { + // + // Only first parameter of one-parameter functions can be void + // The check for named parameters not being void is done in parameter_declarator + // + if ($3.param.type->getBasicType() == EbtVoid) { + // + // This parameter > first is void + // + parseContext.error($2.loc, "cannot be an argument type except for '(void)'", "void", ""); + delete $3.param.type; + } else { + // Add the parameter + $$ = $1; + $1->addParameter($3.param); + } + } + ; + +function_header + : fully_specified_type IDENTIFIER LEFT_PAREN { + if ($1.qualifier.storage != EvqGlobal && $1.qualifier.storage != EvqTemporary) { + parseContext.error($2.loc, "no qualifiers allowed for function return", + GetStorageQualifierString($1.qualifier.storage), ""); + } + if ($1.arraySizes) + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + + // Add the function as a prototype after parsing it (we do not support recursion) + TFunction *function; + TType type($1); + + // Potentially rename shader entry point function. No-op most of the time. + parseContext.renameShaderFunction($2.string); + + // Make the function + function = new TFunction($2.string, type); + $$ = function; + } + ; + +parameter_declarator + // Type + name + : type_specifier IDENTIFIER { + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + if ($1.basicType == EbtVoid) { + parseContext.error($2.loc, "illegal use of type 'void'", $2.string->c_str(), ""); + } + parseContext.reservedErrorCheck($2.loc, *$2.string); + + TParameter param = {$2.string, new TType($1)}; + $$.loc = $2.loc; + $$.param = param; + } + | type_specifier IDENTIFIER array_specifier { + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + TType* type = new TType($1); + type->transferArraySizes($3.arraySizes); + type->copyArrayInnerSizes($1.arraySizes); + + parseContext.arrayOfArrayVersionCheck($2.loc, type->getArraySizes()); + parseContext.arraySizeRequiredCheck($3.loc, *$3.arraySizes); + parseContext.reservedErrorCheck($2.loc, *$2.string); + + TParameter param = { $2.string, type }; + + $$.loc = $2.loc; + $$.param = param; + } + ; + +parameter_declaration + // + // With name + // + : type_qualifier parameter_declarator { + $$ = $2; + if ($1.qualifier.precision != EpqNone) + $$.param.type->getQualifier().precision = $1.qualifier.precision; + parseContext.precisionQualifierCheck($$.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.parameterTypeCheck($2.loc, $1.qualifier.storage, *$$.param.type); + parseContext.paramCheckFix($1.loc, $1.qualifier, *$$.param.type); + + } + | parameter_declarator { + $$ = $1; + + parseContext.parameterTypeCheck($1.loc, EvqIn, *$1.param.type); + parseContext.paramCheckFixStorage($1.loc, EvqTemporary, *$$.param.type); + parseContext.precisionQualifierCheck($$.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + } + // + // Without name + // + | type_qualifier parameter_type_specifier { + $$ = $2; + if ($1.qualifier.precision != EpqNone) + $$.param.type->getQualifier().precision = $1.qualifier.precision; + parseContext.precisionQualifierCheck($1.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.parameterTypeCheck($2.loc, $1.qualifier.storage, *$$.param.type); + parseContext.paramCheckFix($1.loc, $1.qualifier, *$$.param.type); + } + | parameter_type_specifier { + $$ = $1; + + parseContext.parameterTypeCheck($1.loc, EvqIn, *$1.param.type); + parseContext.paramCheckFixStorage($1.loc, EvqTemporary, *$$.param.type); + parseContext.precisionQualifierCheck($$.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + } + ; + +parameter_type_specifier + : type_specifier { + TParameter param = { 0, new TType($1) }; + $$.param = param; + if ($1.arraySizes) + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + ; + +init_declarator_list + : single_declaration { + $$ = $1; + } + | init_declarator_list COMMA IDENTIFIER { + $$ = $1; + parseContext.declareVariable($3.loc, *$3.string, $1.type); + } + | init_declarator_list COMMA IDENTIFIER array_specifier { + $$ = $1; + parseContext.declareVariable($3.loc, *$3.string, $1.type, $4.arraySizes); + } + | init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer { + $$.type = $1.type; + TIntermNode* initNode = parseContext.declareVariable($3.loc, *$3.string, $1.type, $4.arraySizes, $6); + $$.intermNode = parseContext.intermediate.growAggregate($1.intermNode, initNode, $5.loc); + } + | init_declarator_list COMMA IDENTIFIER EQUAL initializer { + $$.type = $1.type; + TIntermNode* initNode = parseContext.declareVariable($3.loc, *$3.string, $1.type, 0, $5); + $$.intermNode = parseContext.intermediate.growAggregate($1.intermNode, initNode, $4.loc); + } + ; + +single_declaration + : fully_specified_type { + $$.type = $1; + $$.intermNode = 0; +GLSLANG_WEB_EXCLUDE_ON + parseContext.declareTypeDefaults($$.loc, $$.type); +GLSLANG_WEB_EXCLUDE_OFF + } + | fully_specified_type IDENTIFIER { + $$.type = $1; + $$.intermNode = 0; + parseContext.declareVariable($2.loc, *$2.string, $1); + } + | fully_specified_type IDENTIFIER array_specifier { + $$.type = $1; + $$.intermNode = 0; + parseContext.declareVariable($2.loc, *$2.string, $1, $3.arraySizes); + } + | fully_specified_type IDENTIFIER array_specifier EQUAL initializer { + $$.type = $1; + TIntermNode* initNode = parseContext.declareVariable($2.loc, *$2.string, $1, $3.arraySizes, $5); + $$.intermNode = parseContext.intermediate.growAggregate(0, initNode, $4.loc); + } + | fully_specified_type IDENTIFIER EQUAL initializer { + $$.type = $1; + TIntermNode* initNode = parseContext.declareVariable($2.loc, *$2.string, $1, 0, $4); + $$.intermNode = parseContext.intermediate.growAggregate(0, initNode, $3.loc); + } + +// Grammar Note: No 'enum', or 'typedef'. + +fully_specified_type + : type_specifier { + $$ = $1; + + parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $$); + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + } + parseContext.precisionQualifierCheck($$.loc, $$.basicType, $$.qualifier); + } + | type_qualifier type_specifier { + parseContext.globalQualifierFixCheck($1.loc, $1.qualifier); + parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $2); + + if ($2.arraySizes) { + parseContext.profileRequires($2.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($2.loc, EEsProfile, 300, 0, "arrayed type"); + } + + if ($2.arraySizes && parseContext.arrayQualifierError($2.loc, $1.qualifier)) + $2.arraySizes = nullptr; + + parseContext.checkNoShaderLayouts($2.loc, $1.shaderQualifiers); + $2.shaderQualifiers.merge($1.shaderQualifiers); + parseContext.mergeQualifiers($2.loc, $2.qualifier, $1.qualifier, true); + parseContext.precisionQualifierCheck($2.loc, $2.basicType, $2.qualifier); + + $$ = $2; + + if (! $$.qualifier.isInterpolation() && + ((parseContext.language == EShLangVertex && $$.qualifier.storage == EvqVaryingOut) || + (parseContext.language == EShLangFragment && $$.qualifier.storage == EvqVaryingIn))) + $$.qualifier.smooth = true; + } + ; + +invariant_qualifier + : INVARIANT { + parseContext.globalCheck($1.loc, "invariant"); + parseContext.profileRequires($$.loc, ENoProfile, 120, 0, "invariant"); + $$.init($1.loc); + $$.qualifier.invariant = true; + } + ; + +interpolation_qualifier + : SMOOTH { + parseContext.globalCheck($1.loc, "smooth"); + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "smooth"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "smooth"); + $$.init($1.loc); + $$.qualifier.smooth = true; + } + | FLAT { + parseContext.globalCheck($1.loc, "flat"); + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "flat"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "flat"); + $$.init($1.loc); + $$.qualifier.flat = true; + } +GLSLANG_WEB_EXCLUDE_ON + | NOPERSPECTIVE { + parseContext.globalCheck($1.loc, "noperspective"); + parseContext.profileRequires($1.loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective"); + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "noperspective"); + $$.init($1.loc); + $$.qualifier.nopersp = true; + } + | EXPLICITINTERPAMD { + parseContext.globalCheck($1.loc, "__explicitInterpAMD"); + parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation"); + parseContext.profileRequires($1.loc, ECompatibilityProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation"); + $$.init($1.loc); + $$.qualifier.explicitInterp = true; + } + | PERVERTEXNV { + parseContext.globalCheck($1.loc, "pervertexNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + parseContext.profileRequires($1.loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + parseContext.profileRequires($1.loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + $$.init($1.loc); + $$.qualifier.pervertexNV = true; + } + | PERPRIMITIVENV { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck($1.loc, "perprimitiveNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshNVMask), "perprimitiveNV"); + // Fragment shader stage doesn't check for extension. So we explicitly add below extension check. + if (parseContext.language == EShLangFragment) + parseContext.requireExtensions($1.loc, 1, &E_GL_NV_mesh_shader, "perprimitiveNV"); + $$.init($1.loc); + $$.qualifier.perPrimitiveNV = true; + } + | PERVIEWNV { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck($1.loc, "perviewNV"); + parseContext.requireStage($1.loc, EShLangMeshNV, "perviewNV"); + $$.init($1.loc); + $$.qualifier.perViewNV = true; + } + | PERTASKNV { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck($1.loc, "taskNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask), "taskNV"); + $$.init($1.loc); + $$.qualifier.perTaskNV = true; + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +layout_qualifier + : LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN { + $$ = $3; + } + ; + +layout_qualifier_id_list + : layout_qualifier_id { + $$ = $1; + } + | layout_qualifier_id_list COMMA layout_qualifier_id { + $$ = $1; + $$.shaderQualifiers.merge($3.shaderQualifiers); + parseContext.mergeObjectLayoutQualifiers($$.qualifier, $3.qualifier, false); + } + +layout_qualifier_id + : IDENTIFIER { + $$.init($1.loc); + parseContext.setLayoutQualifier($1.loc, $$, *$1.string); + } + | IDENTIFIER EQUAL constant_expression { + $$.init($1.loc); + parseContext.setLayoutQualifier($1.loc, $$, *$1.string, $3); + } + | SHARED { // because "shared" is both an identifier and a keyword + $$.init($1.loc); + TString strShared("shared"); + parseContext.setLayoutQualifier($1.loc, $$, strShared); + } + ; + +GLSLANG_WEB_EXCLUDE_ON +precise_qualifier + : PRECISE { + parseContext.profileRequires($$.loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise"); + parseContext.profileRequires($1.loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise"); + $$.init($1.loc); + $$.qualifier.noContraction = true; + } + ; +GLSLANG_WEB_EXCLUDE_OFF + +type_qualifier + : single_type_qualifier { + $$ = $1; + } + | type_qualifier single_type_qualifier { + $$ = $1; + if ($$.basicType == EbtVoid) + $$.basicType = $2.basicType; + + $$.shaderQualifiers.merge($2.shaderQualifiers); + parseContext.mergeQualifiers($$.loc, $$.qualifier, $2.qualifier, false); + } + ; + +single_type_qualifier + : storage_qualifier { + $$ = $1; + } + | layout_qualifier { + $$ = $1; + } + | precision_qualifier { + parseContext.checkPrecisionQualifier($1.loc, $1.qualifier.precision); + $$ = $1; + } + | interpolation_qualifier { + // allow inheritance of storage qualifier from block declaration + $$ = $1; + } + | invariant_qualifier { + // allow inheritance of storage qualifier from block declaration + $$ = $1; + } +GLSLANG_WEB_EXCLUDE_ON + | precise_qualifier { + // allow inheritance of storage qualifier from block declaration + $$ = $1; + } + | non_uniform_qualifier { + $$ = $1; + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +storage_qualifier + : CONST { + $$.init($1.loc); + $$.qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant + } + | INOUT { + parseContext.globalCheck($1.loc, "inout"); + $$.init($1.loc); + $$.qualifier.storage = EvqInOut; + } + | IN { + parseContext.globalCheck($1.loc, "in"); + $$.init($1.loc); + // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later + $$.qualifier.storage = EvqIn; + } + | OUT { + parseContext.globalCheck($1.loc, "out"); + $$.init($1.loc); + // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later + $$.qualifier.storage = EvqOut; + } + | CENTROID { + parseContext.profileRequires($1.loc, ENoProfile, 120, 0, "centroid"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "centroid"); + parseContext.globalCheck($1.loc, "centroid"); + $$.init($1.loc); + $$.qualifier.centroid = true; + } + | UNIFORM { + parseContext.globalCheck($1.loc, "uniform"); + $$.init($1.loc); + $$.qualifier.storage = EvqUniform; + } + | SHARED { + parseContext.globalCheck($1.loc, "shared"); + parseContext.profileRequires($1.loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared"); + parseContext.profileRequires($1.loc, EEsProfile, 310, 0, "shared"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared"); + $$.init($1.loc); + $$.qualifier.storage = EvqShared; + } + | BUFFER { + parseContext.globalCheck($1.loc, "buffer"); + $$.init($1.loc); + $$.qualifier.storage = EvqBuffer; + } +GLSLANG_WEB_EXCLUDE_ON + | ATTRIBUTE { + parseContext.requireStage($1.loc, EShLangVertex, "attribute"); + parseContext.checkDeprecated($1.loc, ECoreProfile, 130, "attribute"); + parseContext.checkDeprecated($1.loc, ENoProfile, 130, "attribute"); + parseContext.requireNotRemoved($1.loc, ECoreProfile, 420, "attribute"); + parseContext.requireNotRemoved($1.loc, EEsProfile, 300, "attribute"); + + parseContext.globalCheck($1.loc, "attribute"); + + $$.init($1.loc); + $$.qualifier.storage = EvqVaryingIn; + } + | VARYING { + parseContext.checkDeprecated($1.loc, ENoProfile, 130, "varying"); + parseContext.checkDeprecated($1.loc, ECoreProfile, 130, "varying"); + parseContext.requireNotRemoved($1.loc, ECoreProfile, 420, "varying"); + parseContext.requireNotRemoved($1.loc, EEsProfile, 300, "varying"); + + parseContext.globalCheck($1.loc, "varying"); + + $$.init($1.loc); + if (parseContext.language == EShLangVertex) + $$.qualifier.storage = EvqVaryingOut; + else + $$.qualifier.storage = EvqVaryingIn; + } + | PATCH { + parseContext.globalCheck($1.loc, "patch"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch"); + $$.init($1.loc); + $$.qualifier.patch = true; + } + | SAMPLE { + parseContext.globalCheck($1.loc, "sample"); + $$.init($1.loc); + $$.qualifier.sample = true; + } + | HITATTRNV { + parseContext.globalCheck($1.loc, "hitAttributeNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask + | EShLangAnyHitMask), "hitAttributeNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqHitAttr; + } + | HITATTREXT { + parseContext.globalCheck($1.loc, "hitAttributeEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask + | EShLangAnyHitMask), "hitAttributeEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "hitAttributeNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqHitAttr; + } + | PAYLOADNV { + parseContext.globalCheck($1.loc, "rayPayloadNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayload; + } + | PAYLOADEXT { + parseContext.globalCheck($1.loc, "rayPayloadEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayload; + } + | PAYLOADINNV { + parseContext.globalCheck($1.loc, "rayPayloadInNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadInNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayloadIn; + } + | PAYLOADINEXT { + parseContext.globalCheck($1.loc, "rayPayloadInEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadInEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadInEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayloadIn; + } + | CALLDATANV { + parseContext.globalCheck($1.loc, "callableDataNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | + EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableData; + } + | CALLDATAEXT { + parseContext.globalCheck($1.loc, "callableDataEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | + EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableData; + } + | CALLDATAINNV { + parseContext.globalCheck($1.loc, "callableDataInNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableDataIn; + } + | CALLDATAINEXT { + parseContext.globalCheck($1.loc, "callableDataInEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataInEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableDataIn; + } + | COHERENT { + $$.init($1.loc); + $$.qualifier.coherent = true; + } + | DEVICECOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent"); + $$.qualifier.devicecoherent = true; + } + | QUEUEFAMILYCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent"); + $$.qualifier.queuefamilycoherent = true; + } + | WORKGROUPCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent"); + $$.qualifier.workgroupcoherent = true; + } + | SUBGROUPCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent"); + $$.qualifier.subgroupcoherent = true; + } + | NONPRIVATE { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate"); + $$.qualifier.nonprivate = true; + } + | SHADERCALLCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_ray_tracing, "shadercallcoherent"); + $$.qualifier.shadercallcoherent = true; + } + | VOLATILE { + $$.init($1.loc); + $$.qualifier.volatil = true; + } + | RESTRICT { + $$.init($1.loc); + $$.qualifier.restrict = true; + } + | READONLY { + $$.init($1.loc); + $$.qualifier.readonly = true; + } + | WRITEONLY { + $$.init($1.loc); + $$.qualifier.writeonly = true; + } + | SUBROUTINE { + parseContext.spvRemoved($1.loc, "subroutine"); + parseContext.globalCheck($1.loc, "subroutine"); + parseContext.unimplemented($1.loc, "subroutine"); + $$.init($1.loc); + } + | SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN { + parseContext.spvRemoved($1.loc, "subroutine"); + parseContext.globalCheck($1.loc, "subroutine"); + parseContext.unimplemented($1.loc, "subroutine"); + $$.init($1.loc); + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +GLSLANG_WEB_EXCLUDE_ON +non_uniform_qualifier + : NONUNIFORM { + $$.init($1.loc); + $$.qualifier.nonUniform = true; + } + ; + +type_name_list + : IDENTIFIER { + // TODO + } + | type_name_list COMMA IDENTIFIER { + // TODO: 4.0 semantics: subroutines + // 1) make sure each identifier is a type declared earlier with SUBROUTINE + // 2) save all of the identifiers for future comparison with the declared function + } + ; +GLSLANG_WEB_EXCLUDE_OFF + +type_specifier + : type_specifier_nonarray type_parameter_specifier_opt { + $$ = $1; + $$.qualifier.precision = parseContext.getDefaultPrecision($$); + $$.typeParameters = $2; + } + | type_specifier_nonarray type_parameter_specifier_opt array_specifier { + parseContext.arrayOfArrayVersionCheck($3.loc, $3.arraySizes); + $$ = $1; + $$.qualifier.precision = parseContext.getDefaultPrecision($$); + $$.typeParameters = $2; + $$.arraySizes = $3.arraySizes; + } + ; + +array_specifier + : LEFT_BRACKET RIGHT_BRACKET { + $$.loc = $1.loc; + $$.arraySizes = new TArraySizes; + $$.arraySizes->addInnerSize(); + } + | LEFT_BRACKET conditional_expression RIGHT_BRACKET { + $$.loc = $1.loc; + $$.arraySizes = new TArraySizes; + + TArraySize size; + parseContext.arraySizeCheck($2->getLoc(), $2, size, "array size"); + $$.arraySizes->addInnerSize(size); + } + | array_specifier LEFT_BRACKET RIGHT_BRACKET { + $$ = $1; + $$.arraySizes->addInnerSize(); + } + | array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET { + $$ = $1; + + TArraySize size; + parseContext.arraySizeCheck($3->getLoc(), $3, size, "array size"); + $$.arraySizes->addInnerSize(size); + } + ; + +type_parameter_specifier_opt + : type_parameter_specifier { + $$ = $1; + } + | /* May be null */ { + $$ = 0; + } + ; + +type_parameter_specifier + : LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE { + $$ = $2; + } + ; + +type_parameter_specifier_list + : unary_expression { + $$ = new TArraySizes; + + TArraySize size; + parseContext.arraySizeCheck($1->getLoc(), $1, size, "type parameter"); + $$->addInnerSize(size); + } + | type_parameter_specifier_list COMMA unary_expression { + $$ = $1; + + TArraySize size; + parseContext.arraySizeCheck($3->getLoc(), $3, size, "type parameter"); + $$->addInnerSize(size); + } + ; + +type_specifier_nonarray + : VOID { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtVoid; + } + | FLOAT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + } + | INT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + } + | UINT { + parseContext.fullIntegerCheck($1.loc, "unsigned integer"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + } + | BOOL { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + } + | VEC2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(2); + } + | VEC3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(3); + } + | VEC4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(4); + } + | BVEC2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + $$.setVector(2); + } + | BVEC3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + $$.setVector(3); + } + | BVEC4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + $$.setVector(4); + } + | IVEC2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(2); + } + | IVEC3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(3); + } + | IVEC4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(4); + } + | UVEC2 { + parseContext.fullIntegerCheck($1.loc, "unsigned integer vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(2); + } + | UVEC3 { + parseContext.fullIntegerCheck($1.loc, "unsigned integer vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(3); + } + | UVEC4 { + parseContext.fullIntegerCheck($1.loc, "unsigned integer vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(4); + } + | MAT2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | MAT3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | MAT4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } + | MAT2X2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | MAT2X3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 3); + } + | MAT2X4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 4); + } + | MAT3X2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 2); + } + | MAT3X3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | MAT3X4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 4); + } + | MAT4X2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 2); + } + | MAT4X3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 3); + } + | MAT4X4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } +GLSLANG_WEB_EXCLUDE_ON + | DOUBLE { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + } + | FLOAT16_T { + parseContext.float16ScalarVectorCheck($1.loc, "float16_t", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + } + | FLOAT32_T { + parseContext.explicitFloat32Check($1.loc, "float32_t", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + } + | FLOAT64_T { + parseContext.explicitFloat64Check($1.loc, "float64_t", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + } + | INT8_T { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + } + | UINT8_T { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + } + | INT16_T { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + } + | UINT16_T { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + } + | INT32_T { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + } + | UINT32_T { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + } + | INT64_T { + parseContext.int64Check($1.loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + } + | UINT64_T { + parseContext.int64Check($1.loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + } + | DVEC2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(2); + } + | DVEC3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(3); + } + | DVEC4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(4); + } + | F16VEC2 { + parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setVector(2); + } + | F16VEC3 { + parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setVector(3); + } + | F16VEC4 { + parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setVector(4); + } + | F32VEC2 { + parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(2); + } + | F32VEC3 { + parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(3); + } + | F32VEC4 { + parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(4); + } + | F64VEC2 { + parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(2); + } + | F64VEC3 { + parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(3); + } + | F64VEC4 { + parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(4); + } + | I8VEC2 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + $$.setVector(2); + } + | I8VEC3 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + $$.setVector(3); + } + | I8VEC4 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + $$.setVector(4); + } + | I16VEC2 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + $$.setVector(2); + } + | I16VEC3 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + $$.setVector(3); + } + | I16VEC4 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + $$.setVector(4); + } + | I32VEC2 { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(2); + } + | I32VEC3 { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(3); + } + | I32VEC4 { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(4); + } + | I64VEC2 { + parseContext.int64Check($1.loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + $$.setVector(2); + } + | I64VEC3 { + parseContext.int64Check($1.loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + $$.setVector(3); + } + | I64VEC4 { + parseContext.int64Check($1.loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + $$.setVector(4); + } + | U8VEC2 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + $$.setVector(2); + } + | U8VEC3 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + $$.setVector(3); + } + | U8VEC4 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + $$.setVector(4); + } + | U16VEC2 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + $$.setVector(2); + } + | U16VEC3 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + $$.setVector(3); + } + | U16VEC4 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + $$.setVector(4); + } + | U32VEC2 { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(2); + } + | U32VEC3 { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(3); + } + | U32VEC4 { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(4); + } + | U64VEC2 { + parseContext.int64Check($1.loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + $$.setVector(2); + } + | U64VEC3 { + parseContext.int64Check($1.loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + $$.setVector(3); + } + | U64VEC4 { + parseContext.int64Check($1.loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + $$.setVector(4); + } + | DMAT2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | DMAT3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | DMAT4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | DMAT2X2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | DMAT2X3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 3); + } + | DMAT2X4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 4); + } + | DMAT3X2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 2); + } + | DMAT3X3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | DMAT3X4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 4); + } + | DMAT4X2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 2); + } + | DMAT4X3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 3); + } + | DMAT4X4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | F16MAT2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 2); + } + | F16MAT3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 3); + } + | F16MAT4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 4); + } + | F16MAT2X2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 2); + } + | F16MAT2X3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 3); + } + | F16MAT2X4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 4); + } + | F16MAT3X2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 2); + } + | F16MAT3X3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 3); + } + | F16MAT3X4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 4); + } + | F16MAT4X2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 2); + } + | F16MAT4X3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 3); + } + | F16MAT4X4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 4); + } + | F32MAT2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | F32MAT3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | F32MAT4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } + | F32MAT2X2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | F32MAT2X3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 3); + } + | F32MAT2X4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 4); + } + | F32MAT3X2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 2); + } + | F32MAT3X3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | F32MAT3X4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 4); + } + | F32MAT4X2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 2); + } + | F32MAT4X3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 3); + } + | F32MAT4X4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } + | F64MAT2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | F64MAT3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | F64MAT4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | F64MAT2X2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | F64MAT2X3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 3); + } + | F64MAT2X4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 4); + } + | F64MAT3X2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 2); + } + | F64MAT3X3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | F64MAT3X4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 4); + } + | F64MAT4X2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 2); + } + | F64MAT4X3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 3); + } + | F64MAT4X4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | ACCSTRUCTNV { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtAccStruct; + } + | ACCSTRUCTEXT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtAccStruct; + } + | RAYQUERYEXT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtRayQuery; + } + | ATOMIC_UINT { + parseContext.vulkanRemoved($1.loc, "atomic counter types"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtAtomicUint; + } + | SAMPLER1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D); + } +GLSLANG_WEB_EXCLUDE_OFF + | SAMPLER2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D); + } + | SAMPLER3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd3D); + } + | SAMPLERCUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube); + } + | SAMPLER2DSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, false, true); + } + | SAMPLERCUBESHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube, false, true); + } + | SAMPLER2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, true); + } + | SAMPLER2DARRAYSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, true, true); + } +GLSLANG_WEB_EXCLUDE_ON + | SAMPLER1DSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D, false, true); + } + | SAMPLER1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D, true); + } + | SAMPLER1DARRAYSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D, true, true); + } + | SAMPLERCUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube, true); + } + | SAMPLERCUBEARRAYSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube, true, true); + } + | F16SAMPLER1D { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D); + } + | F16SAMPLER2D { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D); + } + | F16SAMPLER3D { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd3D); + } + | F16SAMPLERCUBE { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube); + } + | F16SAMPLER1DSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D, false, true); + } + | F16SAMPLER2DSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, false, true); + } + | F16SAMPLERCUBESHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube, false, true); + } + | F16SAMPLER1DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D, true); + } + | F16SAMPLER2DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, true); + } + | F16SAMPLER1DARRAYSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D, true, true); + } + | F16SAMPLER2DARRAYSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, true, true); + } + | F16SAMPLERCUBEARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube, true); + } + | F16SAMPLERCUBEARRAYSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube, true, true); + } + | ISAMPLER1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd1D); + } +GLSLANG_WEB_EXCLUDE_OFF + | ISAMPLER2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D); + } + | ISAMPLER3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd3D); + } + | ISAMPLERCUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdCube); + } + | ISAMPLER2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D, true); + } + | USAMPLER2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D); + } + | USAMPLER3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd3D); + } + | USAMPLERCUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdCube); + } +GLSLANG_WEB_EXCLUDE_ON + | ISAMPLER1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd1D, true); + } + | ISAMPLERCUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdCube, true); + } + | USAMPLER1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd1D); + } + | USAMPLER1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd1D, true); + } + | USAMPLERCUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdCube, true); + } + | TEXTURECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdCube, true); + } + | ITEXTURECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdCube, true); + } + | UTEXTURECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdCube, true); + } +GLSLANG_WEB_EXCLUDE_OFF + | USAMPLER2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D, true); + } + | TEXTURE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D); + } + | TEXTURE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd3D); + } + | TEXTURE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D, true); + } + | TEXTURECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdCube); + } + | ITEXTURE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D); + } + | ITEXTURE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd3D); + } + | ITEXTURECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdCube); + } + | ITEXTURE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D, true); + } + | UTEXTURE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D); + } + | UTEXTURE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd3D); + } + | UTEXTURECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdCube); + } + | UTEXTURE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D, true); + } + | SAMPLER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setPureSampler(false); + } + | SAMPLERSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setPureSampler(true); + } +GLSLANG_WEB_EXCLUDE_ON + | SAMPLER2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdRect); + } + | SAMPLER2DRECTSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdRect, false, true); + } + | F16SAMPLER2DRECT { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdRect); + } + | F16SAMPLER2DRECTSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdRect, false, true); + } + | ISAMPLER2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdRect); + } + | USAMPLER2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdRect); + } + | SAMPLERBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdBuffer); + } + | F16SAMPLERBUFFER { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdBuffer); + } + | ISAMPLERBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdBuffer); + } + | USAMPLERBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdBuffer); + } + | SAMPLER2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, false, false, true); + } + | F16SAMPLER2DMS { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, false, false, true); + } + | ISAMPLER2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D, false, false, true); + } + | USAMPLER2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D, false, false, true); + } + | SAMPLER2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, true, false, true); + } + | F16SAMPLER2DMSARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, true, false, true); + } + | ISAMPLER2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D, true, false, true); + } + | USAMPLER2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D, true, false, true); + } + | TEXTURE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd1D); + } + | F16TEXTURE1D { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd1D); + } + | F16TEXTURE2D { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D); + } + | F16TEXTURE3D { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd3D); + } + | F16TEXTURECUBE { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdCube); + } + | TEXTURE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd1D, true); + } + | F16TEXTURE1DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd1D, true); + } + | F16TEXTURE2DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D, true); + } + | F16TEXTURECUBEARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdCube, true); + } + | ITEXTURE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd1D); + } + | ITEXTURE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd1D, true); + } + | UTEXTURE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd1D); + } + | UTEXTURE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd1D, true); + } + | TEXTURE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdRect); + } + | F16TEXTURE2DRECT { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdRect); + } + | ITEXTURE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdRect); + } + | UTEXTURE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdRect); + } + | TEXTUREBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdBuffer); + } + | F16TEXTUREBUFFER { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdBuffer); + } + | ITEXTUREBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdBuffer); + } + | UTEXTUREBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdBuffer); + } + | TEXTURE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D, false, false, true); + } + | F16TEXTURE2DMS { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D, false, false, true); + } + | ITEXTURE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D, false, false, true); + } + | UTEXTURE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D, false, false, true); + } + | TEXTURE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D, true, false, true); + } + | F16TEXTURE2DMSARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D, true, false, true); + } + | ITEXTURE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D, true, false, true); + } + | UTEXTURE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D, true, false, true); + } + | IMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd1D); + } + | F16IMAGE1D { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd1D); + } + | IIMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd1D); + } + | UIMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd1D); + } + | IMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D); + } + | F16IMAGE2D { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D); + } + | IIMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D); + } + | UIMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D); + } + | IMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd3D); + } + | F16IMAGE3D { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd3D); + } + | IIMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd3D); + } + | UIMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd3D); + } + | IMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdRect); + } + | F16IMAGE2DRECT { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdRect); + } + | IIMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdRect); + } + | UIMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdRect); + } + | IMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdCube); + } + | F16IMAGECUBE { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdCube); + } + | IIMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdCube); + } + | UIMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdCube); + } + | IMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdBuffer); + } + | F16IMAGEBUFFER { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdBuffer); + } + | IIMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdBuffer); + } + | UIMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdBuffer); + } + | IMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd1D, true); + } + | F16IMAGE1DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd1D, true); + } + | IIMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd1D, true); + } + | UIMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd1D, true); + } + | IMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D, true); + } + | F16IMAGE2DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D, true); + } + | IIMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D, true); + } + | UIMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D, true); + } + | IMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdCube, true); + } + | F16IMAGECUBEARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdCube, true); + } + | IIMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdCube, true); + } + | UIMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdCube, true); + } + | IMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D, false, false, true); + } + | F16IMAGE2DMS { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D, false, false, true); + } + | IIMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D, false, false, true); + } + | UIMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D, false, false, true); + } + | IMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D, true, false, true); + } + | F16IMAGE2DMSARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D, true, false, true); + } + | IIMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D, true, false, true); + } + | UIMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D, true, false, true); + } + | I64IMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd1D); + } + | U64IMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd1D); + } + | I64IMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D); + } + | U64IMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D); + } + | I64IMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd3D); + } + | U64IMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd3D); + } + | I64IMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdRect); + } + | U64IMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdRect); + } + | I64IMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdCube); + } + | U64IMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdCube); + } + | I64IMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdBuffer); + } + | U64IMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdBuffer); + } + | I64IMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd1D, true); + } + | U64IMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd1D, true); + } + | I64IMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D, true); + } + | U64IMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D, true); + } + | I64IMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdCube, true); + } + | U64IMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdCube, true); + } + | I64IMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D, false, false, true); + } + | U64IMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D, false, false, true); + } + | I64IMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D, true, false, true); + } + | U64IMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D, true, false, true); + } + | SAMPLEREXTERNALOES { // GL_OES_EGL_image_external + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D); + $$.sampler.external = true; + } + | SAMPLEREXTERNAL2DY2YEXT { // GL_EXT_YUV_target + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D); + $$.sampler.yuv = true; + } + | SUBPASSINPUT { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat); + } + | SUBPASSINPUTMS { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat, true); + } + | F16SUBPASSINPUT { + parseContext.float16OpaqueCheck($1.loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat16); + } + | F16SUBPASSINPUTMS { + parseContext.float16OpaqueCheck($1.loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat16, true); + } + | ISUBPASSINPUT { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtInt); + } + | ISUBPASSINPUTMS { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtInt, true); + } + | USUBPASSINPUT { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtUint); + } + | USUBPASSINPUTMS { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtUint, true); + } + | FCOOPMATNV { + parseContext.fcoopmatCheck($1.loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.coopmat = true; + } + | ICOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.coopmat = true; + } + | UCOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.coopmat = true; + } +GLSLANG_WEB_EXCLUDE_OFF + | struct_specifier { + $$ = $1; + $$.qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + parseContext.structTypeCheck($$.loc, $$); + } + | TYPE_NAME { + // + // This is for user defined type names. The lexical phase looked up the + // type. + // + if (const TVariable* variable = ($1.symbol)->getAsVariable()) { + const TType& structure = variable->getType(); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtStruct; + $$.userDef = &structure; + } else + parseContext.error($1.loc, "expected type name", $1.string->c_str(), ""); + } + ; + +precision_qualifier + : HIGH_PRECISION { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "highp precision qualifier"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier($1.loc, $$.qualifier, EpqHigh); + } + | MEDIUM_PRECISION { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "mediump precision qualifier"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier($1.loc, $$.qualifier, EpqMedium); + } + | LOW_PRECISION { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "lowp precision qualifier"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier($1.loc, $$.qualifier, EpqLow); + } + ; + +struct_specifier + : STRUCT IDENTIFIER LEFT_BRACE { parseContext.nestedStructCheck($1.loc); } struct_declaration_list RIGHT_BRACE { + TType* structure = new TType($5, *$2.string); + parseContext.structArrayCheck($2.loc, *structure); + TVariable* userTypeDef = new TVariable($2.string, *structure, true); + if (! parseContext.symbolTable.insert(*userTypeDef)) + parseContext.error($2.loc, "redefinition", $2.string->c_str(), "struct"); + $$.init($1.loc); + $$.basicType = EbtStruct; + $$.userDef = structure; + --parseContext.structNestingLevel; + } + | STRUCT LEFT_BRACE { parseContext.nestedStructCheck($1.loc); } struct_declaration_list RIGHT_BRACE { + TType* structure = new TType($4, TString("")); + $$.init($1.loc); + $$.basicType = EbtStruct; + $$.userDef = structure; + --parseContext.structNestingLevel; + } + ; + +struct_declaration_list + : struct_declaration { + $$ = $1; + } + | struct_declaration_list struct_declaration { + $$ = $1; + for (unsigned int i = 0; i < $2->size(); ++i) { + for (unsigned int j = 0; j < $$->size(); ++j) { + if ((*$$)[j].type->getFieldName() == (*$2)[i].type->getFieldName()) + parseContext.error((*$2)[i].loc, "duplicate member name:", "", (*$2)[i].type->getFieldName().c_str()); + } + $$->push_back((*$2)[i]); + } + } + ; + +struct_declaration + : type_specifier struct_declarator_list SEMICOLON { + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + if (parseContext.isEsProfile()) + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + + $$ = $2; + + parseContext.voidErrorCheck($1.loc, (*$2)[0].type->getFieldName(), $1.basicType); + parseContext.precisionQualifierCheck($1.loc, $1.basicType, $1.qualifier); + + for (unsigned int i = 0; i < $$->size(); ++i) { + TType type($1); + type.setFieldName((*$$)[i].type->getFieldName()); + type.transferArraySizes((*$$)[i].type->getArraySizes()); + type.copyArrayInnerSizes($1.arraySizes); + parseContext.arrayOfArrayVersionCheck((*$$)[i].loc, type.getArraySizes()); + (*$$)[i].type->shallowCopy(type); + } + } + | type_qualifier type_specifier struct_declarator_list SEMICOLON { + if ($2.arraySizes) { + parseContext.profileRequires($2.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($2.loc, EEsProfile, 300, 0, "arrayed type"); + if (parseContext.isEsProfile()) + parseContext.arraySizeRequiredCheck($2.loc, *$2.arraySizes); + } + + $$ = $3; + + parseContext.memberQualifierCheck($1); + parseContext.voidErrorCheck($2.loc, (*$3)[0].type->getFieldName(), $2.basicType); + parseContext.mergeQualifiers($2.loc, $2.qualifier, $1.qualifier, true); + parseContext.precisionQualifierCheck($2.loc, $2.basicType, $2.qualifier); + + for (unsigned int i = 0; i < $$->size(); ++i) { + TType type($2); + type.setFieldName((*$$)[i].type->getFieldName()); + type.transferArraySizes((*$$)[i].type->getArraySizes()); + type.copyArrayInnerSizes($2.arraySizes); + parseContext.arrayOfArrayVersionCheck((*$$)[i].loc, type.getArraySizes()); + (*$$)[i].type->shallowCopy(type); + } + } + ; + +struct_declarator_list + : struct_declarator { + $$ = new TTypeList; + $$->push_back($1); + } + | struct_declarator_list COMMA struct_declarator { + $$->push_back($3); + } + ; + +struct_declarator + : IDENTIFIER { + $$.type = new TType(EbtVoid); + $$.loc = $1.loc; + $$.type->setFieldName(*$1.string); + } + | IDENTIFIER array_specifier { + parseContext.arrayOfArrayVersionCheck($1.loc, $2.arraySizes); + + $$.type = new TType(EbtVoid); + $$.loc = $1.loc; + $$.type->setFieldName(*$1.string); + $$.type->transferArraySizes($2.arraySizes); + } + ; + +initializer + : assignment_expression { + $$ = $1; + } +GLSLANG_WEB_EXCLUDE_ON + | LEFT_BRACE initializer_list RIGHT_BRACE { + const char* initFeature = "{ } style initializers"; + parseContext.requireProfile($1.loc, ~EEsProfile, initFeature); + parseContext.profileRequires($1.loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); + $$ = $2; + } + | LEFT_BRACE initializer_list COMMA RIGHT_BRACE { + const char* initFeature = "{ } style initializers"; + parseContext.requireProfile($1.loc, ~EEsProfile, initFeature); + parseContext.profileRequires($1.loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); + $$ = $2; + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +GLSLANG_WEB_EXCLUDE_ON +initializer_list + : initializer { + $$ = parseContext.intermediate.growAggregate(0, $1, $1->getLoc()); + } + | initializer_list COMMA initializer { + $$ = parseContext.intermediate.growAggregate($1, $3); + } + ; +GLSLANG_WEB_EXCLUDE_OFF + +declaration_statement + : declaration { $$ = $1; } + ; + +statement + : compound_statement { $$ = $1; } + | simple_statement { $$ = $1; } + ; + +// Grammar Note: labeled statements for switch statements only; 'goto' is not supported. + +simple_statement + : declaration_statement { $$ = $1; } + | expression_statement { $$ = $1; } + | selection_statement { $$ = $1; } + | switch_statement { $$ = $1; } + | case_label { $$ = $1; } + | iteration_statement { $$ = $1; } + | jump_statement { $$ = $1; } +GLSLANG_WEB_EXCLUDE_ON + | demote_statement { $$ = $1; } +GLSLANG_WEB_EXCLUDE_OFF + ; + +GLSLANG_WEB_EXCLUDE_ON +demote_statement + : DEMOTE SEMICOLON { + parseContext.requireStage($1.loc, EShLangFragment, "demote"); + parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote"); + $$ = parseContext.intermediate.addBranch(EOpDemote, $1.loc); + } + ; +GLSLANG_WEB_EXCLUDE_OFF + +compound_statement + : LEFT_BRACE RIGHT_BRACE { $$ = 0; } + | LEFT_BRACE { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + } + statement_list { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + } + RIGHT_BRACE { + if ($3 && $3->getAsAggregate()) + $3->getAsAggregate()->setOperator(EOpSequence); + $$ = $3; + } + ; + +statement_no_new_scope + : compound_statement_no_new_scope { $$ = $1; } + | simple_statement { $$ = $1; } + ; + +statement_scoped + : { + ++parseContext.controlFlowNestingLevel; + } + compound_statement { + --parseContext.controlFlowNestingLevel; + $$ = $2; + } + | { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + simple_statement { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + $$ = $2; + } + +compound_statement_no_new_scope + // Statement that doesn't create a new scope, for selection_statement, iteration_statement + : LEFT_BRACE RIGHT_BRACE { + $$ = 0; + } + | LEFT_BRACE statement_list RIGHT_BRACE { + if ($2 && $2->getAsAggregate()) + $2->getAsAggregate()->setOperator(EOpSequence); + $$ = $2; + } + ; + +statement_list + : statement { + $$ = parseContext.intermediate.makeAggregate($1); + if ($1 && $1->getAsBranchNode() && ($1->getAsBranchNode()->getFlowOp() == EOpCase || + $1->getAsBranchNode()->getFlowOp() == EOpDefault)) { + parseContext.wrapupSwitchSubsequence(0, $1); + $$ = 0; // start a fresh subsequence for what's after this case + } + } + | statement_list statement { + if ($2 && $2->getAsBranchNode() && ($2->getAsBranchNode()->getFlowOp() == EOpCase || + $2->getAsBranchNode()->getFlowOp() == EOpDefault)) { + parseContext.wrapupSwitchSubsequence($1 ? $1->getAsAggregate() : 0, $2); + $$ = 0; // start a fresh subsequence for what's after this case + } else + $$ = parseContext.intermediate.growAggregate($1, $2); + } + ; + +expression_statement + : SEMICOLON { $$ = 0; } + | expression SEMICOLON { $$ = static_cast($1); } + ; + +selection_statement + : selection_statement_nonattributed { + $$ = $1; + } +GLSLANG_WEB_EXCLUDE_ON + | attribute selection_statement_nonattributed { + parseContext.handleSelectionAttributes(*$1, $2); + $$ = $2; + } +GLSLANG_WEB_EXCLUDE_OFF + +selection_statement_nonattributed + : IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement { + parseContext.boolCheck($1.loc, $3); + $$ = parseContext.intermediate.addSelection($3, $5, $1.loc); + } + ; + +selection_rest_statement + : statement_scoped ELSE statement_scoped { + $$.node1 = $1; + $$.node2 = $3; + } + | statement_scoped { + $$.node1 = $1; + $$.node2 = 0; + } + ; + +condition + // In 1996 c++ draft, conditions can include single declarations + : expression { + $$ = $1; + parseContext.boolCheck($1->getLoc(), $1); + } + | fully_specified_type IDENTIFIER EQUAL initializer { + parseContext.boolCheck($2.loc, $1); + + TType type($1); + TIntermNode* initNode = parseContext.declareVariable($2.loc, *$2.string, $1, 0, $4); + if (initNode) + $$ = initNode->getAsTyped(); + else + $$ = 0; + } + ; + +switch_statement + : switch_statement_nonattributed { + $$ = $1; + } +GLSLANG_WEB_EXCLUDE_ON + | attribute switch_statement_nonattributed { + parseContext.handleSwitchAttributes(*$1, $2); + $$ = $2; + } +GLSLANG_WEB_EXCLUDE_OFF + +switch_statement_nonattributed + : SWITCH LEFT_PAREN expression RIGHT_PAREN { + // start new switch sequence on the switch stack + ++parseContext.controlFlowNestingLevel; + ++parseContext.statementNestingLevel; + parseContext.switchSequenceStack.push_back(new TIntermSequence); + parseContext.switchLevel.push_back(parseContext.statementNestingLevel); + parseContext.symbolTable.push(); + } + LEFT_BRACE switch_statement_list RIGHT_BRACE { + $$ = parseContext.addSwitch($1.loc, $3, $7 ? $7->getAsAggregate() : 0); + delete parseContext.switchSequenceStack.back(); + parseContext.switchSequenceStack.pop_back(); + parseContext.switchLevel.pop_back(); + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + ; + +switch_statement_list + : /* nothing */ { + $$ = 0; + } + | statement_list { + $$ = $1; + } + ; + +case_label + : CASE expression COLON { + $$ = 0; + if (parseContext.switchLevel.size() == 0) + parseContext.error($1.loc, "cannot appear outside switch statement", "case", ""); + else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel) + parseContext.error($1.loc, "cannot be nested inside control flow", "case", ""); + else { + parseContext.constantValueCheck($2, "case"); + parseContext.integerCheck($2, "case"); + $$ = parseContext.intermediate.addBranch(EOpCase, $2, $1.loc); + } + } + | DEFAULT COLON { + $$ = 0; + if (parseContext.switchLevel.size() == 0) + parseContext.error($1.loc, "cannot appear outside switch statement", "default", ""); + else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel) + parseContext.error($1.loc, "cannot be nested inside control flow", "default", ""); + else + $$ = parseContext.intermediate.addBranch(EOpDefault, $1.loc); + } + ; + +iteration_statement + : iteration_statement_nonattributed { + $$ = $1; + } +GLSLANG_WEB_EXCLUDE_ON + | attribute iteration_statement_nonattributed { + parseContext.handleLoopAttributes(*$1, $2); + $$ = $2; + } +GLSLANG_WEB_EXCLUDE_OFF + +iteration_statement_nonattributed + : WHILE LEFT_PAREN { + if (! parseContext.limits.whileLoops) + parseContext.error($1.loc, "while loops not available", "limitation", ""); + parseContext.symbolTable.push(); + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + condition RIGHT_PAREN statement_no_new_scope { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + $$ = parseContext.intermediate.addLoop($6, $4, 0, true, $1.loc); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + | DO { + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON { + if (! parseContext.limits.whileLoops) + parseContext.error($1.loc, "do-while loops not available", "limitation", ""); + + parseContext.boolCheck($8.loc, $6); + + $$ = parseContext.intermediate.addLoop($3, $6, 0, false, $4.loc); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + | FOR LEFT_PAREN { + parseContext.symbolTable.push(); + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + $$ = parseContext.intermediate.makeAggregate($4, $2.loc); + TIntermLoop* forLoop = parseContext.intermediate.addLoop($7, reinterpret_cast($5.node1), reinterpret_cast($5.node2), true, $1.loc); + if (! parseContext.limits.nonInductiveForLoops) + parseContext.inductiveLoopCheck($1.loc, $4, forLoop); + $$ = parseContext.intermediate.growAggregate($$, forLoop, $1.loc); + $$->getAsAggregate()->setOperator(EOpSequence); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + ; + +for_init_statement + : expression_statement { + $$ = $1; + } + | declaration_statement { + $$ = $1; + } + ; + +conditionopt + : condition { + $$ = $1; + } + | /* May be null */ { + $$ = 0; + } + ; + +for_rest_statement + : conditionopt SEMICOLON { + $$.node1 = $1; + $$.node2 = 0; + } + | conditionopt SEMICOLON expression { + $$.node1 = $1; + $$.node2 = $3; + } + ; + +jump_statement + : CONTINUE SEMICOLON { + if (parseContext.loopNestingLevel <= 0) + parseContext.error($1.loc, "continue statement only allowed in loops", "", ""); + $$ = parseContext.intermediate.addBranch(EOpContinue, $1.loc); + } + | BREAK SEMICOLON { + if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0) + parseContext.error($1.loc, "break statement only allowed in switch and loops", "", ""); + $$ = parseContext.intermediate.addBranch(EOpBreak, $1.loc); + } + | RETURN SEMICOLON { + $$ = parseContext.intermediate.addBranch(EOpReturn, $1.loc); + if (parseContext.currentFunctionType->getBasicType() != EbtVoid) + parseContext.error($1.loc, "non-void function must return a value", "return", ""); + if (parseContext.inMain) + parseContext.postEntryPointReturn = true; + } + | RETURN expression SEMICOLON { + $$ = parseContext.handleReturnValue($1.loc, $2); + } + | DISCARD SEMICOLON { + parseContext.requireStage($1.loc, EShLangFragment, "discard"); + $$ = parseContext.intermediate.addBranch(EOpKill, $1.loc); + } + | TERMINATE_INVOCATION SEMICOLON { + parseContext.requireStage($1.loc, EShLangFragment, "terminateInvocation"); + $$ = parseContext.intermediate.addBranch(EOpTerminateInvocation, $1.loc); + } +GLSLANG_WEB_EXCLUDE_ON + | TERMINATE_RAY SEMICOLON { + parseContext.requireStage($1.loc, EShLangAnyHit, "terminateRayEXT"); + $$ = parseContext.intermediate.addBranch(EOpTerminateRayKHR, $1.loc); + } + | IGNORE_INTERSECTION SEMICOLON { + parseContext.requireStage($1.loc, EShLangAnyHit, "ignoreIntersectionEXT"); + $$ = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, $1.loc); + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +// Grammar Note: No 'goto'. Gotos are not supported. + +translation_unit + : external_declaration { + $$ = $1; + parseContext.intermediate.setTreeRoot($$); + } + | translation_unit external_declaration { + if ($2 != nullptr) { + $$ = parseContext.intermediate.growAggregate($1, $2); + parseContext.intermediate.setTreeRoot($$); + } + } + ; + +external_declaration + : function_definition { + $$ = $1; + } + | declaration { + $$ = $1; + } +GLSLANG_WEB_EXCLUDE_ON + | SEMICOLON { + parseContext.requireProfile($1.loc, ~EEsProfile, "extraneous semicolon"); + parseContext.profileRequires($1.loc, ~EEsProfile, 460, nullptr, "extraneous semicolon"); + $$ = nullptr; + } +GLSLANG_WEB_EXCLUDE_OFF + ; + +function_definition + : function_prototype { + $1.function = parseContext.handleFunctionDeclarator($1.loc, *$1.function, false /* not prototype */); + $1.intermNode = parseContext.handleFunctionDefinition($1.loc, *$1.function); + + // For ES 100 only, according to ES shading language 100 spec: A function + // body has a scope nested inside the function's definition. + if (parseContext.profile == EEsProfile && parseContext.version == 100) + { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + } + } + compound_statement_no_new_scope { + // May be best done as post process phase on intermediate code + if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) + parseContext.error($1.loc, "function does not return a value:", "", $1.function->getName().c_str()); + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + $$ = parseContext.intermediate.growAggregate($1.intermNode, $3); + parseContext.intermediate.setAggregateOperator($$, EOpFunction, $1.function->getType(), $1.loc); + $$->getAsAggregate()->setName($1.function->getMangledName().c_str()); + + // store the pragma information for debug and optimize and other vendor specific + // information. This information can be queried from the parse tree + $$->getAsAggregate()->setOptimize(parseContext.contextPragma.optimize); + $$->getAsAggregate()->setDebug(parseContext.contextPragma.debug); + $$->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable); + + // Set currentFunctionType to empty pointer when goes outside of the function + parseContext.currentFunctionType = nullptr; + + // For ES 100 only, according to ES shading language 100 spec: A function + // body has a scope nested inside the function's definition. + if (parseContext.profile == EEsProfile && parseContext.version == 100) + { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + } + } + ; + +GLSLANG_WEB_EXCLUDE_ON +attribute + : LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET { + $$ = $3; + parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_control_flow_attributes, "attribute"); + } + +attribute_list + : single_attribute { + $$ = $1; + } + | attribute_list COMMA single_attribute { + $$ = parseContext.mergeAttributes($1, $3); + } + +single_attribute + : IDENTIFIER { + $$ = parseContext.makeAttributes(*$1.string); + } + | IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN { + $$ = parseContext.makeAttributes(*$1.string, $3); + } +GLSLANG_WEB_EXCLUDE_OFF + +%% diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/glslang.y b/android/x86_64/include/glslang/Include/MachineIndependent/glslang.y new file mode 100644 index 00000000..2681d48f --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/glslang.y @@ -0,0 +1,4044 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2019 Google, Inc. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Do not edit the .y file, only edit the .m4 file. +// The .y bison file is not a source file, it is a derivative of the .m4 file. +// The m4 file needs to be processed by m4 to generate the .y bison file. +// +// Code sandwiched between a pair: +// +// GLSLANG_WEB_EXCLUDE_ON +// ... +// ... +// ... +// GLSLANG_WEB_EXCLUDE_OFF +// +// Will be excluded from the grammar when m4 is executed as: +// +// m4 -P -DGLSLANG_WEB +// +// It will be included when m4 is executed as: +// +// m4 -P +// + + + + +/** + * This is bison grammar and productions for parsing all versions of the + * GLSL shading languages. + */ +%{ + +/* Based on: +ANSI C Yacc grammar + +In 1985, Jeff Lee published his Yacc grammar (which is accompanied by a +matching Lex specification) for the April 30, 1985 draft version of the +ANSI C standard. Tom Stockfisch reposted it to net.sources in 1987; that +original, as mentioned in the answer to question 17.25 of the comp.lang.c +FAQ, can be ftp'ed from ftp.uu.net, file usenet/net.sources/ansi.c.grammar.Z. + +I intend to keep this version as close to the current C Standard grammar as +possible; please let me know if you discover discrepancies. + +Jutta Degener, 1995 +*/ + +#include "SymbolTable.h" +#include "ParseHelper.h" +#include "../Public/ShaderLang.h" +#include "attribute.h" + +using namespace glslang; + +%} + +%define parse.error verbose + +%union { + struct { + glslang::TSourceLoc loc; + union { + glslang::TString *string; + int i; + unsigned int u; + long long i64; + unsigned long long u64; + bool b; + double d; + }; + glslang::TSymbol* symbol; + } lex; + struct { + glslang::TSourceLoc loc; + glslang::TOperator op; + union { + TIntermNode* intermNode; + glslang::TIntermNodePair nodePair; + glslang::TIntermTyped* intermTypedNode; + glslang::TAttributes* attributes; + }; + union { + glslang::TPublicType type; + glslang::TFunction* function; + glslang::TParameter param; + glslang::TTypeLoc typeLine; + glslang::TTypeList* typeList; + glslang::TArraySizes* arraySizes; + glslang::TIdentifierList* identifierList; + }; + glslang::TArraySizes* typeParameters; + } interm; +} + +%{ + +/* windows only pragma */ +#ifdef _MSC_VER + #pragma warning(disable : 4065) + #pragma warning(disable : 4127) + #pragma warning(disable : 4244) +#endif + +#define parseContext (*pParseContext) +#define yyerror(context, msg) context->parserError(msg) + +extern int yylex(YYSTYPE*, TParseContext&); + +%} + +%parse-param {glslang::TParseContext* pParseContext} +%lex-param {parseContext} +%pure-parser // enable thread safety +%expect 1 // One shift reduce conflict because of if | else + +%token CONST BOOL INT UINT FLOAT +%token BVEC2 BVEC3 BVEC4 +%token IVEC2 IVEC3 IVEC4 +%token UVEC2 UVEC3 UVEC4 +%token VEC2 VEC3 VEC4 +%token MAT2 MAT3 MAT4 +%token MAT2X2 MAT2X3 MAT2X4 +%token MAT3X2 MAT3X3 MAT3X4 +%token MAT4X2 MAT4X3 MAT4X4 + +// combined image/sampler +%token SAMPLER2D SAMPLER3D SAMPLERCUBE SAMPLER2DSHADOW +%token SAMPLERCUBESHADOW SAMPLER2DARRAY +%token SAMPLER2DARRAYSHADOW ISAMPLER2D ISAMPLER3D ISAMPLERCUBE +%token ISAMPLER2DARRAY USAMPLER2D USAMPLER3D +%token USAMPLERCUBE USAMPLER2DARRAY + +// separate image/sampler +%token SAMPLER SAMPLERSHADOW +%token TEXTURE2D TEXTURE3D TEXTURECUBE TEXTURE2DARRAY +%token ITEXTURE2D ITEXTURE3D ITEXTURECUBE ITEXTURE2DARRAY +%token UTEXTURE2D UTEXTURE3D UTEXTURECUBE UTEXTURE2DARRAY + + + +%token ATTRIBUTE VARYING +%token FLOAT16_T FLOAT32_T DOUBLE FLOAT64_T +%token INT64_T UINT64_T INT32_T UINT32_T INT16_T UINT16_T INT8_T UINT8_T +%token I64VEC2 I64VEC3 I64VEC4 +%token U64VEC2 U64VEC3 U64VEC4 +%token I32VEC2 I32VEC3 I32VEC4 +%token U32VEC2 U32VEC3 U32VEC4 +%token I16VEC2 I16VEC3 I16VEC4 +%token U16VEC2 U16VEC3 U16VEC4 +%token I8VEC2 I8VEC3 I8VEC4 +%token U8VEC2 U8VEC3 U8VEC4 +%token DVEC2 DVEC3 DVEC4 DMAT2 DMAT3 DMAT4 +%token F16VEC2 F16VEC3 F16VEC4 F16MAT2 F16MAT3 F16MAT4 +%token F32VEC2 F32VEC3 F32VEC4 F32MAT2 F32MAT3 F32MAT4 +%token F64VEC2 F64VEC3 F64VEC4 F64MAT2 F64MAT3 F64MAT4 +%token DMAT2X2 DMAT2X3 DMAT2X4 +%token DMAT3X2 DMAT3X3 DMAT3X4 +%token DMAT4X2 DMAT4X3 DMAT4X4 +%token F16MAT2X2 F16MAT2X3 F16MAT2X4 +%token F16MAT3X2 F16MAT3X3 F16MAT3X4 +%token F16MAT4X2 F16MAT4X3 F16MAT4X4 +%token F32MAT2X2 F32MAT2X3 F32MAT2X4 +%token F32MAT3X2 F32MAT3X3 F32MAT3X4 +%token F32MAT4X2 F32MAT4X3 F32MAT4X4 +%token F64MAT2X2 F64MAT2X3 F64MAT2X4 +%token F64MAT3X2 F64MAT3X3 F64MAT3X4 +%token F64MAT4X2 F64MAT4X3 F64MAT4X4 +%token ATOMIC_UINT +%token ACCSTRUCTNV +%token ACCSTRUCTEXT +%token RAYQUERYEXT +%token FCOOPMATNV ICOOPMATNV UCOOPMATNV + +// combined image/sampler +%token SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW +%token ISAMPLERCUBEARRAY USAMPLERCUBEARRAY +%token SAMPLER1D SAMPLER1DARRAY SAMPLER1DARRAYSHADOW ISAMPLER1D SAMPLER1DSHADOW +%token SAMPLER2DRECT SAMPLER2DRECTSHADOW ISAMPLER2DRECT USAMPLER2DRECT +%token SAMPLERBUFFER ISAMPLERBUFFER USAMPLERBUFFER +%token SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS +%token SAMPLER2DMSARRAY ISAMPLER2DMSARRAY USAMPLER2DMSARRAY +%token SAMPLEREXTERNALOES +%token SAMPLEREXTERNAL2DY2YEXT +%token ISAMPLER1DARRAY USAMPLER1D USAMPLER1DARRAY +%token F16SAMPLER1D F16SAMPLER2D F16SAMPLER3D F16SAMPLER2DRECT F16SAMPLERCUBE +%token F16SAMPLER1DARRAY F16SAMPLER2DARRAY F16SAMPLERCUBEARRAY +%token F16SAMPLERBUFFER F16SAMPLER2DMS F16SAMPLER2DMSARRAY +%token F16SAMPLER1DSHADOW F16SAMPLER2DSHADOW F16SAMPLER1DARRAYSHADOW F16SAMPLER2DARRAYSHADOW +%token F16SAMPLER2DRECTSHADOW F16SAMPLERCUBESHADOW F16SAMPLERCUBEARRAYSHADOW + +// images +%token IMAGE1D IIMAGE1D UIMAGE1D IMAGE2D IIMAGE2D +%token UIMAGE2D IMAGE3D IIMAGE3D UIMAGE3D +%token IMAGE2DRECT IIMAGE2DRECT UIMAGE2DRECT +%token IMAGECUBE IIMAGECUBE UIMAGECUBE +%token IMAGEBUFFER IIMAGEBUFFER UIMAGEBUFFER +%token IMAGE1DARRAY IIMAGE1DARRAY UIMAGE1DARRAY +%token IMAGE2DARRAY IIMAGE2DARRAY UIMAGE2DARRAY +%token IMAGECUBEARRAY IIMAGECUBEARRAY UIMAGECUBEARRAY +%token IMAGE2DMS IIMAGE2DMS UIMAGE2DMS +%token IMAGE2DMSARRAY IIMAGE2DMSARRAY UIMAGE2DMSARRAY + +%token F16IMAGE1D F16IMAGE2D F16IMAGE3D F16IMAGE2DRECT +%token F16IMAGECUBE F16IMAGE1DARRAY F16IMAGE2DARRAY F16IMAGECUBEARRAY +%token F16IMAGEBUFFER F16IMAGE2DMS F16IMAGE2DMSARRAY + +%token I64IMAGE1D U64IMAGE1D +%token I64IMAGE2D U64IMAGE2D +%token I64IMAGE3D U64IMAGE3D +%token I64IMAGE2DRECT U64IMAGE2DRECT +%token I64IMAGECUBE U64IMAGECUBE +%token I64IMAGEBUFFER U64IMAGEBUFFER +%token I64IMAGE1DARRAY U64IMAGE1DARRAY +%token I64IMAGE2DARRAY U64IMAGE2DARRAY +%token I64IMAGECUBEARRAY U64IMAGECUBEARRAY +%token I64IMAGE2DMS U64IMAGE2DMS +%token I64IMAGE2DMSARRAY U64IMAGE2DMSARRAY + +// texture without sampler +%token TEXTURECUBEARRAY ITEXTURECUBEARRAY UTEXTURECUBEARRAY +%token TEXTURE1D ITEXTURE1D UTEXTURE1D +%token TEXTURE1DARRAY ITEXTURE1DARRAY UTEXTURE1DARRAY +%token TEXTURE2DRECT ITEXTURE2DRECT UTEXTURE2DRECT +%token TEXTUREBUFFER ITEXTUREBUFFER UTEXTUREBUFFER +%token TEXTURE2DMS ITEXTURE2DMS UTEXTURE2DMS +%token TEXTURE2DMSARRAY ITEXTURE2DMSARRAY UTEXTURE2DMSARRAY + +%token F16TEXTURE1D F16TEXTURE2D F16TEXTURE3D F16TEXTURE2DRECT F16TEXTURECUBE +%token F16TEXTURE1DARRAY F16TEXTURE2DARRAY F16TEXTURECUBEARRAY +%token F16TEXTUREBUFFER F16TEXTURE2DMS F16TEXTURE2DMSARRAY + +// input attachments +%token SUBPASSINPUT SUBPASSINPUTMS ISUBPASSINPUT ISUBPASSINPUTMS USUBPASSINPUT USUBPASSINPUTMS +%token F16SUBPASSINPUT F16SUBPASSINPUTMS + + + +%token LEFT_OP RIGHT_OP +%token INC_OP DEC_OP LE_OP GE_OP EQ_OP NE_OP +%token AND_OP OR_OP XOR_OP MUL_ASSIGN DIV_ASSIGN ADD_ASSIGN +%token MOD_ASSIGN LEFT_ASSIGN RIGHT_ASSIGN AND_ASSIGN XOR_ASSIGN OR_ASSIGN +%token SUB_ASSIGN +%token STRING_LITERAL + +%token LEFT_PAREN RIGHT_PAREN LEFT_BRACKET RIGHT_BRACKET LEFT_BRACE RIGHT_BRACE DOT +%token COMMA COLON EQUAL SEMICOLON BANG DASH TILDE PLUS STAR SLASH PERCENT +%token LEFT_ANGLE RIGHT_ANGLE VERTICAL_BAR CARET AMPERSAND QUESTION + +%token INVARIANT +%token HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION PRECISION +%token PACKED RESOURCE SUPERP + +%token FLOATCONSTANT INTCONSTANT UINTCONSTANT BOOLCONSTANT +%token IDENTIFIER TYPE_NAME +%token CENTROID IN OUT INOUT +%token STRUCT VOID WHILE +%token BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT +%token TERMINATE_INVOCATION +%token TERMINATE_RAY IGNORE_INTERSECTION +%token UNIFORM SHARED BUFFER +%token FLAT SMOOTH LAYOUT + + +%token DOUBLECONSTANT INT16CONSTANT UINT16CONSTANT FLOAT16CONSTANT INT32CONSTANT UINT32CONSTANT +%token INT64CONSTANT UINT64CONSTANT +%token SUBROUTINE DEMOTE +%token PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV +%token PAYLOADEXT PAYLOADINEXT HITATTREXT CALLDATAEXT CALLDATAINEXT +%token PATCH SAMPLE NONUNIFORM +%token COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT +%token SUBGROUPCOHERENT NONPRIVATE SHADERCALLCOHERENT +%token NOPERSPECTIVE EXPLICITINTERPAMD PERVERTEXNV PERPRIMITIVENV PERVIEWNV PERTASKNV +%token PRECISE + + +%type assignment_operator unary_operator +%type variable_identifier primary_expression postfix_expression +%type expression integer_expression assignment_expression +%type unary_expression multiplicative_expression additive_expression +%type relational_expression equality_expression +%type conditional_expression constant_expression +%type logical_or_expression logical_xor_expression logical_and_expression +%type shift_expression and_expression exclusive_or_expression inclusive_or_expression +%type function_call initializer condition conditionopt + +%type translation_unit function_definition +%type statement simple_statement +%type statement_list switch_statement_list compound_statement +%type declaration_statement selection_statement selection_statement_nonattributed expression_statement +%type switch_statement switch_statement_nonattributed case_label +%type declaration external_declaration +%type for_init_statement compound_statement_no_new_scope +%type selection_rest_statement for_rest_statement +%type iteration_statement iteration_statement_nonattributed jump_statement statement_no_new_scope statement_scoped +%type single_declaration init_declarator_list + +%type parameter_declaration parameter_declarator parameter_type_specifier + +%type array_specifier +%type invariant_qualifier interpolation_qualifier storage_qualifier precision_qualifier +%type layout_qualifier layout_qualifier_id_list layout_qualifier_id + +%type type_parameter_specifier +%type type_parameter_specifier_opt +%type type_parameter_specifier_list + +%type type_qualifier fully_specified_type type_specifier +%type single_type_qualifier +%type type_specifier_nonarray +%type struct_specifier +%type struct_declarator +%type struct_declarator_list struct_declaration struct_declaration_list +%type block_structure +%type function_header function_declarator +%type function_header_with_parameters +%type function_call_header_with_parameters function_call_header_no_parameters function_call_generic function_prototype +%type function_call_or_method function_identifier function_call_header + +%type identifier_list + + +%type precise_qualifier non_uniform_qualifier +%type type_name_list +%type attribute attribute_list single_attribute +%type demote_statement +%type initializer_list + + +%start translation_unit +%% + +variable_identifier + : IDENTIFIER { + $$ = parseContext.handleVariable($1.loc, $1.symbol, $1.string); + } + ; + +primary_expression + : variable_identifier { + $$ = $1; + } + | LEFT_PAREN expression RIGHT_PAREN { + $$ = $2; + if ($$->getAsConstantUnion()) + $$->getAsConstantUnion()->setExpression(); + } + | FLOATCONSTANT { + $$ = parseContext.intermediate.addConstantUnion($1.d, EbtFloat, $1.loc, true); + } + | INTCONSTANT { + $$ = parseContext.intermediate.addConstantUnion($1.i, $1.loc, true); + } + | UINTCONSTANT { + parseContext.fullIntegerCheck($1.loc, "unsigned literal"); + $$ = parseContext.intermediate.addConstantUnion($1.u, $1.loc, true); + } + | BOOLCONSTANT { + $$ = parseContext.intermediate.addConstantUnion($1.b, $1.loc, true); + } + + | STRING_LITERAL { + $$ = parseContext.intermediate.addConstantUnion($1.string, $1.loc, true); + } + | INT32CONSTANT { + parseContext.explicitInt32Check($1.loc, "32-bit signed literal"); + $$ = parseContext.intermediate.addConstantUnion($1.i, $1.loc, true); + } + | UINT32CONSTANT { + parseContext.explicitInt32Check($1.loc, "32-bit signed literal"); + $$ = parseContext.intermediate.addConstantUnion($1.u, $1.loc, true); + } + | INT64CONSTANT { + parseContext.int64Check($1.loc, "64-bit integer literal"); + $$ = parseContext.intermediate.addConstantUnion($1.i64, $1.loc, true); + } + | UINT64CONSTANT { + parseContext.int64Check($1.loc, "64-bit unsigned integer literal"); + $$ = parseContext.intermediate.addConstantUnion($1.u64, $1.loc, true); + } + | INT16CONSTANT { + parseContext.explicitInt16Check($1.loc, "16-bit integer literal"); + $$ = parseContext.intermediate.addConstantUnion((short)$1.i, $1.loc, true); + } + | UINT16CONSTANT { + parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer literal"); + $$ = parseContext.intermediate.addConstantUnion((unsigned short)$1.u, $1.loc, true); + } + | DOUBLECONSTANT { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double literal"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double literal"); + $$ = parseContext.intermediate.addConstantUnion($1.d, EbtDouble, $1.loc, true); + } + | FLOAT16CONSTANT { + parseContext.float16Check($1.loc, "half float literal"); + $$ = parseContext.intermediate.addConstantUnion($1.d, EbtFloat16, $1.loc, true); + } + + ; + +postfix_expression + : primary_expression { + $$ = $1; + } + | postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET { + $$ = parseContext.handleBracketDereference($2.loc, $1, $3); + } + | function_call { + $$ = $1; + } + | postfix_expression DOT IDENTIFIER { + $$ = parseContext.handleDotDereference($3.loc, $1, *$3.string); + } + | postfix_expression INC_OP { + parseContext.variableCheck($1); + parseContext.lValueErrorCheck($2.loc, "++", $1); + $$ = parseContext.handleUnaryMath($2.loc, "++", EOpPostIncrement, $1); + } + | postfix_expression DEC_OP { + parseContext.variableCheck($1); + parseContext.lValueErrorCheck($2.loc, "--", $1); + $$ = parseContext.handleUnaryMath($2.loc, "--", EOpPostDecrement, $1); + } + ; + +integer_expression + : expression { + parseContext.integerCheck($1, "[]"); + $$ = $1; + } + ; + +function_call + : function_call_or_method { + $$ = parseContext.handleFunctionCall($1.loc, $1.function, $1.intermNode); + delete $1.function; + } + ; + +function_call_or_method + : function_call_generic { + $$ = $1; + } + ; + +function_call_generic + : function_call_header_with_parameters RIGHT_PAREN { + $$ = $1; + $$.loc = $2.loc; + } + | function_call_header_no_parameters RIGHT_PAREN { + $$ = $1; + $$.loc = $2.loc; + } + ; + +function_call_header_no_parameters + : function_call_header VOID { + $$ = $1; + } + | function_call_header { + $$ = $1; + } + ; + +function_call_header_with_parameters + : function_call_header assignment_expression { + TParameter param = { 0, new TType }; + param.type->shallowCopy($2->getType()); + $1.function->addParameter(param); + $$.function = $1.function; + $$.intermNode = $2; + } + | function_call_header_with_parameters COMMA assignment_expression { + TParameter param = { 0, new TType }; + param.type->shallowCopy($3->getType()); + $1.function->addParameter(param); + $$.function = $1.function; + $$.intermNode = parseContext.intermediate.growAggregate($1.intermNode, $3, $2.loc); + } + ; + +function_call_header + : function_identifier LEFT_PAREN { + $$ = $1; + } + ; + +// Grammar Note: Constructors look like functions, but are recognized as types. + +function_identifier + : type_specifier { + // Constructor + $$.intermNode = 0; + $$.function = parseContext.handleConstructorCall($1.loc, $1); + } + | postfix_expression { + // + // Should be a method or subroutine call, but we haven't recognized the arguments yet. + // + $$.function = 0; + $$.intermNode = 0; + + TIntermMethod* method = $1->getAsMethodNode(); + if (method) { + $$.function = new TFunction(&method->getMethodName(), TType(EbtInt), EOpArrayLength); + $$.intermNode = method->getObject(); + } else { + TIntermSymbol* symbol = $1->getAsSymbolNode(); + if (symbol) { + parseContext.reservedErrorCheck(symbol->getLoc(), symbol->getName()); + TFunction *function = new TFunction(&symbol->getName(), TType(EbtVoid)); + $$.function = function; + } else + parseContext.error($1->getLoc(), "function call, method, or subroutine call expected", "", ""); + } + + if ($$.function == 0) { + // error recover + TString* empty = NewPoolTString(""); + $$.function = new TFunction(empty, TType(EbtVoid), EOpNull); + } + } + + | non_uniform_qualifier { + // Constructor + $$.intermNode = 0; + $$.function = parseContext.handleConstructorCall($1.loc, $1); + } + + ; + +unary_expression + : postfix_expression { + parseContext.variableCheck($1); + $$ = $1; + if (TIntermMethod* method = $1->getAsMethodNode()) + parseContext.error($1->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), ""); + } + | INC_OP unary_expression { + parseContext.lValueErrorCheck($1.loc, "++", $2); + $$ = parseContext.handleUnaryMath($1.loc, "++", EOpPreIncrement, $2); + } + | DEC_OP unary_expression { + parseContext.lValueErrorCheck($1.loc, "--", $2); + $$ = parseContext.handleUnaryMath($1.loc, "--", EOpPreDecrement, $2); + } + | unary_operator unary_expression { + if ($1.op != EOpNull) { + char errorOp[2] = {0, 0}; + switch($1.op) { + case EOpNegative: errorOp[0] = '-'; break; + case EOpLogicalNot: errorOp[0] = '!'; break; + case EOpBitwiseNot: errorOp[0] = '~'; break; + default: break; // some compilers want this + } + $$ = parseContext.handleUnaryMath($1.loc, errorOp, $1.op, $2); + } else { + $$ = $2; + if ($$->getAsConstantUnion()) + $$->getAsConstantUnion()->setExpression(); + } + } + ; +// Grammar Note: No traditional style type casts. + +unary_operator + : PLUS { $$.loc = $1.loc; $$.op = EOpNull; } + | DASH { $$.loc = $1.loc; $$.op = EOpNegative; } + | BANG { $$.loc = $1.loc; $$.op = EOpLogicalNot; } + | TILDE { $$.loc = $1.loc; $$.op = EOpBitwiseNot; + parseContext.fullIntegerCheck($1.loc, "bitwise not"); } + ; +// Grammar Note: No '*' or '&' unary ops. Pointers are not supported. + +multiplicative_expression + : unary_expression { $$ = $1; } + | multiplicative_expression STAR unary_expression { + $$ = parseContext.handleBinaryMath($2.loc, "*", EOpMul, $1, $3); + if ($$ == 0) + $$ = $1; + } + | multiplicative_expression SLASH unary_expression { + $$ = parseContext.handleBinaryMath($2.loc, "/", EOpDiv, $1, $3); + if ($$ == 0) + $$ = $1; + } + | multiplicative_expression PERCENT unary_expression { + parseContext.fullIntegerCheck($2.loc, "%"); + $$ = parseContext.handleBinaryMath($2.loc, "%", EOpMod, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +additive_expression + : multiplicative_expression { $$ = $1; } + | additive_expression PLUS multiplicative_expression { + $$ = parseContext.handleBinaryMath($2.loc, "+", EOpAdd, $1, $3); + if ($$ == 0) + $$ = $1; + } + | additive_expression DASH multiplicative_expression { + $$ = parseContext.handleBinaryMath($2.loc, "-", EOpSub, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +shift_expression + : additive_expression { $$ = $1; } + | shift_expression LEFT_OP additive_expression { + parseContext.fullIntegerCheck($2.loc, "bit shift left"); + $$ = parseContext.handleBinaryMath($2.loc, "<<", EOpLeftShift, $1, $3); + if ($$ == 0) + $$ = $1; + } + | shift_expression RIGHT_OP additive_expression { + parseContext.fullIntegerCheck($2.loc, "bit shift right"); + $$ = parseContext.handleBinaryMath($2.loc, ">>", EOpRightShift, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +relational_expression + : shift_expression { $$ = $1; } + | relational_expression LEFT_ANGLE shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, "<", EOpLessThan, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | relational_expression RIGHT_ANGLE shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, ">", EOpGreaterThan, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | relational_expression LE_OP shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, "<=", EOpLessThanEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | relational_expression GE_OP shift_expression { + $$ = parseContext.handleBinaryMath($2.loc, ">=", EOpGreaterThanEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +equality_expression + : relational_expression { $$ = $1; } + | equality_expression EQ_OP relational_expression { + parseContext.arrayObjectCheck($2.loc, $1->getType(), "array comparison"); + parseContext.opaqueCheck($2.loc, $1->getType(), "=="); + parseContext.specializationCheck($2.loc, $1->getType(), "=="); + parseContext.referenceCheck($2.loc, $1->getType(), "=="); + $$ = parseContext.handleBinaryMath($2.loc, "==", EOpEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + | equality_expression NE_OP relational_expression { + parseContext.arrayObjectCheck($2.loc, $1->getType(), "array comparison"); + parseContext.opaqueCheck($2.loc, $1->getType(), "!="); + parseContext.specializationCheck($2.loc, $1->getType(), "!="); + parseContext.referenceCheck($2.loc, $1->getType(), "!="); + $$ = parseContext.handleBinaryMath($2.loc, "!=", EOpNotEqual, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +and_expression + : equality_expression { $$ = $1; } + | and_expression AMPERSAND equality_expression { + parseContext.fullIntegerCheck($2.loc, "bitwise and"); + $$ = parseContext.handleBinaryMath($2.loc, "&", EOpAnd, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +exclusive_or_expression + : and_expression { $$ = $1; } + | exclusive_or_expression CARET and_expression { + parseContext.fullIntegerCheck($2.loc, "bitwise exclusive or"); + $$ = parseContext.handleBinaryMath($2.loc, "^", EOpExclusiveOr, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +inclusive_or_expression + : exclusive_or_expression { $$ = $1; } + | inclusive_or_expression VERTICAL_BAR exclusive_or_expression { + parseContext.fullIntegerCheck($2.loc, "bitwise inclusive or"); + $$ = parseContext.handleBinaryMath($2.loc, "|", EOpInclusiveOr, $1, $3); + if ($$ == 0) + $$ = $1; + } + ; + +logical_and_expression + : inclusive_or_expression { $$ = $1; } + | logical_and_expression AND_OP inclusive_or_expression { + $$ = parseContext.handleBinaryMath($2.loc, "&&", EOpLogicalAnd, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +logical_xor_expression + : logical_and_expression { $$ = $1; } + | logical_xor_expression XOR_OP logical_and_expression { + $$ = parseContext.handleBinaryMath($2.loc, "^^", EOpLogicalXor, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +logical_or_expression + : logical_xor_expression { $$ = $1; } + | logical_or_expression OR_OP logical_xor_expression { + $$ = parseContext.handleBinaryMath($2.loc, "||", EOpLogicalOr, $1, $3); + if ($$ == 0) + $$ = parseContext.intermediate.addConstantUnion(false, $2.loc); + } + ; + +conditional_expression + : logical_or_expression { $$ = $1; } + | logical_or_expression QUESTION { + ++parseContext.controlFlowNestingLevel; + } + expression COLON assignment_expression { + --parseContext.controlFlowNestingLevel; + parseContext.boolCheck($2.loc, $1); + parseContext.rValueErrorCheck($2.loc, "?", $1); + parseContext.rValueErrorCheck($5.loc, ":", $4); + parseContext.rValueErrorCheck($5.loc, ":", $6); + $$ = parseContext.intermediate.addSelection($1, $4, $6, $2.loc); + if ($$ == 0) { + parseContext.binaryOpError($2.loc, ":", $4->getCompleteString(), $6->getCompleteString()); + $$ = $6; + } + } + ; + +assignment_expression + : conditional_expression { $$ = $1; } + | unary_expression assignment_operator assignment_expression { + parseContext.arrayObjectCheck($2.loc, $1->getType(), "array assignment"); + parseContext.opaqueCheck($2.loc, $1->getType(), "="); + parseContext.storage16BitAssignmentCheck($2.loc, $1->getType(), "="); + parseContext.specializationCheck($2.loc, $1->getType(), "="); + parseContext.lValueErrorCheck($2.loc, "assign", $1); + parseContext.rValueErrorCheck($2.loc, "assign", $3); + $$ = parseContext.addAssign($2.loc, $2.op, $1, $3); + if ($$ == 0) { + parseContext.assignError($2.loc, "assign", $1->getCompleteString(), $3->getCompleteString()); + $$ = $1; + } + } + ; + +assignment_operator + : EQUAL { + $$.loc = $1.loc; + $$.op = EOpAssign; + } + | MUL_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpMulAssign; + } + | DIV_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpDivAssign; + } + | MOD_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "%="); + $$.loc = $1.loc; + $$.op = EOpModAssign; + } + | ADD_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpAddAssign; + } + | SUB_ASSIGN { + $$.loc = $1.loc; + $$.op = EOpSubAssign; + } + | LEFT_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bit-shift left assign"); + $$.loc = $1.loc; $$.op = EOpLeftShiftAssign; + } + | RIGHT_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bit-shift right assign"); + $$.loc = $1.loc; $$.op = EOpRightShiftAssign; + } + | AND_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bitwise-and assign"); + $$.loc = $1.loc; $$.op = EOpAndAssign; + } + | XOR_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bitwise-xor assign"); + $$.loc = $1.loc; $$.op = EOpExclusiveOrAssign; + } + | OR_ASSIGN { + parseContext.fullIntegerCheck($1.loc, "bitwise-or assign"); + $$.loc = $1.loc; $$.op = EOpInclusiveOrAssign; + } + ; + +expression + : assignment_expression { + $$ = $1; + } + | expression COMMA assignment_expression { + parseContext.samplerConstructorLocationCheck($2.loc, ",", $3); + $$ = parseContext.intermediate.addComma($1, $3, $2.loc); + if ($$ == 0) { + parseContext.binaryOpError($2.loc, ",", $1->getCompleteString(), $3->getCompleteString()); + $$ = $3; + } + } + ; + +constant_expression + : conditional_expression { + parseContext.constantValueCheck($1, ""); + $$ = $1; + } + ; + +declaration + : function_prototype SEMICOLON { + parseContext.handleFunctionDeclarator($1.loc, *$1.function, true /* prototype */); + $$ = 0; + // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature + } + | init_declarator_list SEMICOLON { + if ($1.intermNode && $1.intermNode->getAsAggregate()) + $1.intermNode->getAsAggregate()->setOperator(EOpSequence); + $$ = $1.intermNode; + } + | PRECISION precision_qualifier type_specifier SEMICOLON { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "precision statement"); + // lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope + parseContext.symbolTable.setPreviousDefaultPrecisions(&parseContext.defaultPrecision[0]); + parseContext.setDefaultPrecision($1.loc, $3, $2.qualifier.precision); + $$ = 0; + } + | block_structure SEMICOLON { + parseContext.declareBlock($1.loc, *$1.typeList); + $$ = 0; + } + | block_structure IDENTIFIER SEMICOLON { + parseContext.declareBlock($1.loc, *$1.typeList, $2.string); + $$ = 0; + } + | block_structure IDENTIFIER array_specifier SEMICOLON { + parseContext.declareBlock($1.loc, *$1.typeList, $2.string, $3.arraySizes); + $$ = 0; + } + | type_qualifier SEMICOLON { + parseContext.globalQualifierFixCheck($1.loc, $1.qualifier); + parseContext.updateStandaloneQualifierDefaults($1.loc, $1); + $$ = 0; + } + | type_qualifier IDENTIFIER SEMICOLON { + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.addQualifierToExisting($1.loc, $1.qualifier, *$2.string); + $$ = 0; + } + | type_qualifier IDENTIFIER identifier_list SEMICOLON { + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + $3->push_back($2.string); + parseContext.addQualifierToExisting($1.loc, $1.qualifier, *$3); + $$ = 0; + } + ; + +block_structure + : type_qualifier IDENTIFIER LEFT_BRACE { parseContext.nestedBlockCheck($1.loc); } struct_declaration_list RIGHT_BRACE { + --parseContext.blockNestingLevel; + parseContext.blockName = $2.string; + parseContext.globalQualifierFixCheck($1.loc, $1.qualifier); + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.currentBlockQualifier = $1.qualifier; + $$.loc = $1.loc; + $$.typeList = $5; + } + +identifier_list + : COMMA IDENTIFIER { + $$ = new TIdentifierList; + $$->push_back($2.string); + } + | identifier_list COMMA IDENTIFIER { + $$ = $1; + $$->push_back($3.string); + } + ; + +function_prototype + : function_declarator RIGHT_PAREN { + $$.function = $1; + $$.loc = $2.loc; + } + ; + +function_declarator + : function_header { + $$ = $1; + } + | function_header_with_parameters { + $$ = $1; + } + ; + + +function_header_with_parameters + : function_header parameter_declaration { + // Add the parameter + $$ = $1; + if ($2.param.type->getBasicType() != EbtVoid) + $1->addParameter($2.param); + else + delete $2.param.type; + } + | function_header_with_parameters COMMA parameter_declaration { + // + // Only first parameter of one-parameter functions can be void + // The check for named parameters not being void is done in parameter_declarator + // + if ($3.param.type->getBasicType() == EbtVoid) { + // + // This parameter > first is void + // + parseContext.error($2.loc, "cannot be an argument type except for '(void)'", "void", ""); + delete $3.param.type; + } else { + // Add the parameter + $$ = $1; + $1->addParameter($3.param); + } + } + ; + +function_header + : fully_specified_type IDENTIFIER LEFT_PAREN { + if ($1.qualifier.storage != EvqGlobal && $1.qualifier.storage != EvqTemporary) { + parseContext.error($2.loc, "no qualifiers allowed for function return", + GetStorageQualifierString($1.qualifier.storage), ""); + } + if ($1.arraySizes) + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + + // Add the function as a prototype after parsing it (we do not support recursion) + TFunction *function; + TType type($1); + + // Potentially rename shader entry point function. No-op most of the time. + parseContext.renameShaderFunction($2.string); + + // Make the function + function = new TFunction($2.string, type); + $$ = function; + } + ; + +parameter_declarator + // Type + name + : type_specifier IDENTIFIER { + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + if ($1.basicType == EbtVoid) { + parseContext.error($2.loc, "illegal use of type 'void'", $2.string->c_str(), ""); + } + parseContext.reservedErrorCheck($2.loc, *$2.string); + + TParameter param = {$2.string, new TType($1)}; + $$.loc = $2.loc; + $$.param = param; + } + | type_specifier IDENTIFIER array_specifier { + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + TType* type = new TType($1); + type->transferArraySizes($3.arraySizes); + type->copyArrayInnerSizes($1.arraySizes); + + parseContext.arrayOfArrayVersionCheck($2.loc, type->getArraySizes()); + parseContext.arraySizeRequiredCheck($3.loc, *$3.arraySizes); + parseContext.reservedErrorCheck($2.loc, *$2.string); + + TParameter param = { $2.string, type }; + + $$.loc = $2.loc; + $$.param = param; + } + ; + +parameter_declaration + // + // With name + // + : type_qualifier parameter_declarator { + $$ = $2; + if ($1.qualifier.precision != EpqNone) + $$.param.type->getQualifier().precision = $1.qualifier.precision; + parseContext.precisionQualifierCheck($$.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.parameterTypeCheck($2.loc, $1.qualifier.storage, *$$.param.type); + parseContext.paramCheckFix($1.loc, $1.qualifier, *$$.param.type); + + } + | parameter_declarator { + $$ = $1; + + parseContext.parameterTypeCheck($1.loc, EvqIn, *$1.param.type); + parseContext.paramCheckFixStorage($1.loc, EvqTemporary, *$$.param.type); + parseContext.precisionQualifierCheck($$.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + } + // + // Without name + // + | type_qualifier parameter_type_specifier { + $$ = $2; + if ($1.qualifier.precision != EpqNone) + $$.param.type->getQualifier().precision = $1.qualifier.precision; + parseContext.precisionQualifierCheck($1.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + + parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers); + parseContext.parameterTypeCheck($2.loc, $1.qualifier.storage, *$$.param.type); + parseContext.paramCheckFix($1.loc, $1.qualifier, *$$.param.type); + } + | parameter_type_specifier { + $$ = $1; + + parseContext.parameterTypeCheck($1.loc, EvqIn, *$1.param.type); + parseContext.paramCheckFixStorage($1.loc, EvqTemporary, *$$.param.type); + parseContext.precisionQualifierCheck($$.loc, $$.param.type->getBasicType(), $$.param.type->getQualifier()); + } + ; + +parameter_type_specifier + : type_specifier { + TParameter param = { 0, new TType($1) }; + $$.param = param; + if ($1.arraySizes) + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + ; + +init_declarator_list + : single_declaration { + $$ = $1; + } + | init_declarator_list COMMA IDENTIFIER { + $$ = $1; + parseContext.declareVariable($3.loc, *$3.string, $1.type); + } + | init_declarator_list COMMA IDENTIFIER array_specifier { + $$ = $1; + parseContext.declareVariable($3.loc, *$3.string, $1.type, $4.arraySizes); + } + | init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer { + $$.type = $1.type; + TIntermNode* initNode = parseContext.declareVariable($3.loc, *$3.string, $1.type, $4.arraySizes, $6); + $$.intermNode = parseContext.intermediate.growAggregate($1.intermNode, initNode, $5.loc); + } + | init_declarator_list COMMA IDENTIFIER EQUAL initializer { + $$.type = $1.type; + TIntermNode* initNode = parseContext.declareVariable($3.loc, *$3.string, $1.type, 0, $5); + $$.intermNode = parseContext.intermediate.growAggregate($1.intermNode, initNode, $4.loc); + } + ; + +single_declaration + : fully_specified_type { + $$.type = $1; + $$.intermNode = 0; + + parseContext.declareTypeDefaults($$.loc, $$.type); + + } + | fully_specified_type IDENTIFIER { + $$.type = $1; + $$.intermNode = 0; + parseContext.declareVariable($2.loc, *$2.string, $1); + } + | fully_specified_type IDENTIFIER array_specifier { + $$.type = $1; + $$.intermNode = 0; + parseContext.declareVariable($2.loc, *$2.string, $1, $3.arraySizes); + } + | fully_specified_type IDENTIFIER array_specifier EQUAL initializer { + $$.type = $1; + TIntermNode* initNode = parseContext.declareVariable($2.loc, *$2.string, $1, $3.arraySizes, $5); + $$.intermNode = parseContext.intermediate.growAggregate(0, initNode, $4.loc); + } + | fully_specified_type IDENTIFIER EQUAL initializer { + $$.type = $1; + TIntermNode* initNode = parseContext.declareVariable($2.loc, *$2.string, $1, 0, $4); + $$.intermNode = parseContext.intermediate.growAggregate(0, initNode, $3.loc); + } + +// Grammar Note: No 'enum', or 'typedef'. + +fully_specified_type + : type_specifier { + $$ = $1; + + parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $$); + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + } + parseContext.precisionQualifierCheck($$.loc, $$.basicType, $$.qualifier); + } + | type_qualifier type_specifier { + parseContext.globalQualifierFixCheck($1.loc, $1.qualifier); + parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $2); + + if ($2.arraySizes) { + parseContext.profileRequires($2.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($2.loc, EEsProfile, 300, 0, "arrayed type"); + } + + if ($2.arraySizes && parseContext.arrayQualifierError($2.loc, $1.qualifier)) + $2.arraySizes = nullptr; + + parseContext.checkNoShaderLayouts($2.loc, $1.shaderQualifiers); + $2.shaderQualifiers.merge($1.shaderQualifiers); + parseContext.mergeQualifiers($2.loc, $2.qualifier, $1.qualifier, true); + parseContext.precisionQualifierCheck($2.loc, $2.basicType, $2.qualifier); + + $$ = $2; + + if (! $$.qualifier.isInterpolation() && + ((parseContext.language == EShLangVertex && $$.qualifier.storage == EvqVaryingOut) || + (parseContext.language == EShLangFragment && $$.qualifier.storage == EvqVaryingIn))) + $$.qualifier.smooth = true; + } + ; + +invariant_qualifier + : INVARIANT { + parseContext.globalCheck($1.loc, "invariant"); + parseContext.profileRequires($$.loc, ENoProfile, 120, 0, "invariant"); + $$.init($1.loc); + $$.qualifier.invariant = true; + } + ; + +interpolation_qualifier + : SMOOTH { + parseContext.globalCheck($1.loc, "smooth"); + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "smooth"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "smooth"); + $$.init($1.loc); + $$.qualifier.smooth = true; + } + | FLAT { + parseContext.globalCheck($1.loc, "flat"); + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "flat"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "flat"); + $$.init($1.loc); + $$.qualifier.flat = true; + } + + | NOPERSPECTIVE { + parseContext.globalCheck($1.loc, "noperspective"); + parseContext.profileRequires($1.loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective"); + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "noperspective"); + $$.init($1.loc); + $$.qualifier.nopersp = true; + } + | EXPLICITINTERPAMD { + parseContext.globalCheck($1.loc, "__explicitInterpAMD"); + parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation"); + parseContext.profileRequires($1.loc, ECompatibilityProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation"); + $$.init($1.loc); + $$.qualifier.explicitInterp = true; + } + | PERVERTEXNV { + parseContext.globalCheck($1.loc, "pervertexNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + parseContext.profileRequires($1.loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + parseContext.profileRequires($1.loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + $$.init($1.loc); + $$.qualifier.pervertexNV = true; + } + | PERPRIMITIVENV { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck($1.loc, "perprimitiveNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshNVMask), "perprimitiveNV"); + // Fragment shader stage doesn't check for extension. So we explicitly add below extension check. + if (parseContext.language == EShLangFragment) + parseContext.requireExtensions($1.loc, 1, &E_GL_NV_mesh_shader, "perprimitiveNV"); + $$.init($1.loc); + $$.qualifier.perPrimitiveNV = true; + } + | PERVIEWNV { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck($1.loc, "perviewNV"); + parseContext.requireStage($1.loc, EShLangMeshNV, "perviewNV"); + $$.init($1.loc); + $$.qualifier.perViewNV = true; + } + | PERTASKNV { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck($1.loc, "taskNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask), "taskNV"); + $$.init($1.loc); + $$.qualifier.perTaskNV = true; + } + + ; + +layout_qualifier + : LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN { + $$ = $3; + } + ; + +layout_qualifier_id_list + : layout_qualifier_id { + $$ = $1; + } + | layout_qualifier_id_list COMMA layout_qualifier_id { + $$ = $1; + $$.shaderQualifiers.merge($3.shaderQualifiers); + parseContext.mergeObjectLayoutQualifiers($$.qualifier, $3.qualifier, false); + } + +layout_qualifier_id + : IDENTIFIER { + $$.init($1.loc); + parseContext.setLayoutQualifier($1.loc, $$, *$1.string); + } + | IDENTIFIER EQUAL constant_expression { + $$.init($1.loc); + parseContext.setLayoutQualifier($1.loc, $$, *$1.string, $3); + } + | SHARED { // because "shared" is both an identifier and a keyword + $$.init($1.loc); + TString strShared("shared"); + parseContext.setLayoutQualifier($1.loc, $$, strShared); + } + ; + + +precise_qualifier + : PRECISE { + parseContext.profileRequires($$.loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise"); + parseContext.profileRequires($1.loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise"); + $$.init($1.loc); + $$.qualifier.noContraction = true; + } + ; + + +type_qualifier + : single_type_qualifier { + $$ = $1; + } + | type_qualifier single_type_qualifier { + $$ = $1; + if ($$.basicType == EbtVoid) + $$.basicType = $2.basicType; + + $$.shaderQualifiers.merge($2.shaderQualifiers); + parseContext.mergeQualifiers($$.loc, $$.qualifier, $2.qualifier, false); + } + ; + +single_type_qualifier + : storage_qualifier { + $$ = $1; + } + | layout_qualifier { + $$ = $1; + } + | precision_qualifier { + parseContext.checkPrecisionQualifier($1.loc, $1.qualifier.precision); + $$ = $1; + } + | interpolation_qualifier { + // allow inheritance of storage qualifier from block declaration + $$ = $1; + } + | invariant_qualifier { + // allow inheritance of storage qualifier from block declaration + $$ = $1; + } + + | precise_qualifier { + // allow inheritance of storage qualifier from block declaration + $$ = $1; + } + | non_uniform_qualifier { + $$ = $1; + } + + ; + +storage_qualifier + : CONST { + $$.init($1.loc); + $$.qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant + } + | INOUT { + parseContext.globalCheck($1.loc, "inout"); + $$.init($1.loc); + $$.qualifier.storage = EvqInOut; + } + | IN { + parseContext.globalCheck($1.loc, "in"); + $$.init($1.loc); + // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later + $$.qualifier.storage = EvqIn; + } + | OUT { + parseContext.globalCheck($1.loc, "out"); + $$.init($1.loc); + // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later + $$.qualifier.storage = EvqOut; + } + | CENTROID { + parseContext.profileRequires($1.loc, ENoProfile, 120, 0, "centroid"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "centroid"); + parseContext.globalCheck($1.loc, "centroid"); + $$.init($1.loc); + $$.qualifier.centroid = true; + } + | UNIFORM { + parseContext.globalCheck($1.loc, "uniform"); + $$.init($1.loc); + $$.qualifier.storage = EvqUniform; + } + | SHARED { + parseContext.globalCheck($1.loc, "shared"); + parseContext.profileRequires($1.loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared"); + parseContext.profileRequires($1.loc, EEsProfile, 310, 0, "shared"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared"); + $$.init($1.loc); + $$.qualifier.storage = EvqShared; + } + | BUFFER { + parseContext.globalCheck($1.loc, "buffer"); + $$.init($1.loc); + $$.qualifier.storage = EvqBuffer; + } + + | ATTRIBUTE { + parseContext.requireStage($1.loc, EShLangVertex, "attribute"); + parseContext.checkDeprecated($1.loc, ECoreProfile, 130, "attribute"); + parseContext.checkDeprecated($1.loc, ENoProfile, 130, "attribute"); + parseContext.requireNotRemoved($1.loc, ECoreProfile, 420, "attribute"); + parseContext.requireNotRemoved($1.loc, EEsProfile, 300, "attribute"); + + parseContext.globalCheck($1.loc, "attribute"); + + $$.init($1.loc); + $$.qualifier.storage = EvqVaryingIn; + } + | VARYING { + parseContext.checkDeprecated($1.loc, ENoProfile, 130, "varying"); + parseContext.checkDeprecated($1.loc, ECoreProfile, 130, "varying"); + parseContext.requireNotRemoved($1.loc, ECoreProfile, 420, "varying"); + parseContext.requireNotRemoved($1.loc, EEsProfile, 300, "varying"); + + parseContext.globalCheck($1.loc, "varying"); + + $$.init($1.loc); + if (parseContext.language == EShLangVertex) + $$.qualifier.storage = EvqVaryingOut; + else + $$.qualifier.storage = EvqVaryingIn; + } + | PATCH { + parseContext.globalCheck($1.loc, "patch"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch"); + $$.init($1.loc); + $$.qualifier.patch = true; + } + | SAMPLE { + parseContext.globalCheck($1.loc, "sample"); + $$.init($1.loc); + $$.qualifier.sample = true; + } + | HITATTRNV { + parseContext.globalCheck($1.loc, "hitAttributeNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask + | EShLangAnyHitMask), "hitAttributeNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqHitAttr; + } + | HITATTREXT { + parseContext.globalCheck($1.loc, "hitAttributeEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask + | EShLangAnyHitMask), "hitAttributeEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "hitAttributeNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqHitAttr; + } + | PAYLOADNV { + parseContext.globalCheck($1.loc, "rayPayloadNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayload; + } + | PAYLOADEXT { + parseContext.globalCheck($1.loc, "rayPayloadEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayload; + } + | PAYLOADINNV { + parseContext.globalCheck($1.loc, "rayPayloadInNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadInNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayloadIn; + } + | PAYLOADINEXT { + parseContext.globalCheck($1.loc, "rayPayloadInEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadInEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadInEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqPayloadIn; + } + | CALLDATANV { + parseContext.globalCheck($1.loc, "callableDataNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | + EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableData; + } + | CALLDATAEXT { + parseContext.globalCheck($1.loc, "callableDataEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | + EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableData; + } + | CALLDATAINNV { + parseContext.globalCheck($1.loc, "callableDataInNV"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableDataIn; + } + | CALLDATAINEXT { + parseContext.globalCheck($1.loc, "callableDataInEXT"); + parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInEXT"); + parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataInEXT"); + $$.init($1.loc); + $$.qualifier.storage = EvqCallableDataIn; + } + | COHERENT { + $$.init($1.loc); + $$.qualifier.coherent = true; + } + | DEVICECOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent"); + $$.qualifier.devicecoherent = true; + } + | QUEUEFAMILYCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent"); + $$.qualifier.queuefamilycoherent = true; + } + | WORKGROUPCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent"); + $$.qualifier.workgroupcoherent = true; + } + | SUBGROUPCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent"); + $$.qualifier.subgroupcoherent = true; + } + | NONPRIVATE { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate"); + $$.qualifier.nonprivate = true; + } + | SHADERCALLCOHERENT { + $$.init($1.loc); + parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_ray_tracing, "shadercallcoherent"); + $$.qualifier.shadercallcoherent = true; + } + | VOLATILE { + $$.init($1.loc); + $$.qualifier.volatil = true; + } + | RESTRICT { + $$.init($1.loc); + $$.qualifier.restrict = true; + } + | READONLY { + $$.init($1.loc); + $$.qualifier.readonly = true; + } + | WRITEONLY { + $$.init($1.loc); + $$.qualifier.writeonly = true; + } + | SUBROUTINE { + parseContext.spvRemoved($1.loc, "subroutine"); + parseContext.globalCheck($1.loc, "subroutine"); + parseContext.unimplemented($1.loc, "subroutine"); + $$.init($1.loc); + } + | SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN { + parseContext.spvRemoved($1.loc, "subroutine"); + parseContext.globalCheck($1.loc, "subroutine"); + parseContext.unimplemented($1.loc, "subroutine"); + $$.init($1.loc); + } + + ; + + +non_uniform_qualifier + : NONUNIFORM { + $$.init($1.loc); + $$.qualifier.nonUniform = true; + } + ; + +type_name_list + : IDENTIFIER { + // TODO + } + | type_name_list COMMA IDENTIFIER { + // TODO: 4.0 semantics: subroutines + // 1) make sure each identifier is a type declared earlier with SUBROUTINE + // 2) save all of the identifiers for future comparison with the declared function + } + ; + + +type_specifier + : type_specifier_nonarray type_parameter_specifier_opt { + $$ = $1; + $$.qualifier.precision = parseContext.getDefaultPrecision($$); + $$.typeParameters = $2; + } + | type_specifier_nonarray type_parameter_specifier_opt array_specifier { + parseContext.arrayOfArrayVersionCheck($3.loc, $3.arraySizes); + $$ = $1; + $$.qualifier.precision = parseContext.getDefaultPrecision($$); + $$.typeParameters = $2; + $$.arraySizes = $3.arraySizes; + } + ; + +array_specifier + : LEFT_BRACKET RIGHT_BRACKET { + $$.loc = $1.loc; + $$.arraySizes = new TArraySizes; + $$.arraySizes->addInnerSize(); + } + | LEFT_BRACKET conditional_expression RIGHT_BRACKET { + $$.loc = $1.loc; + $$.arraySizes = new TArraySizes; + + TArraySize size; + parseContext.arraySizeCheck($2->getLoc(), $2, size, "array size"); + $$.arraySizes->addInnerSize(size); + } + | array_specifier LEFT_BRACKET RIGHT_BRACKET { + $$ = $1; + $$.arraySizes->addInnerSize(); + } + | array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET { + $$ = $1; + + TArraySize size; + parseContext.arraySizeCheck($3->getLoc(), $3, size, "array size"); + $$.arraySizes->addInnerSize(size); + } + ; + +type_parameter_specifier_opt + : type_parameter_specifier { + $$ = $1; + } + | /* May be null */ { + $$ = 0; + } + ; + +type_parameter_specifier + : LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE { + $$ = $2; + } + ; + +type_parameter_specifier_list + : unary_expression { + $$ = new TArraySizes; + + TArraySize size; + parseContext.arraySizeCheck($1->getLoc(), $1, size, "type parameter"); + $$->addInnerSize(size); + } + | type_parameter_specifier_list COMMA unary_expression { + $$ = $1; + + TArraySize size; + parseContext.arraySizeCheck($3->getLoc(), $3, size, "type parameter"); + $$->addInnerSize(size); + } + ; + +type_specifier_nonarray + : VOID { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtVoid; + } + | FLOAT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + } + | INT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + } + | UINT { + parseContext.fullIntegerCheck($1.loc, "unsigned integer"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + } + | BOOL { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + } + | VEC2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(2); + } + | VEC3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(3); + } + | VEC4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(4); + } + | BVEC2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + $$.setVector(2); + } + | BVEC3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + $$.setVector(3); + } + | BVEC4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtBool; + $$.setVector(4); + } + | IVEC2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(2); + } + | IVEC3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(3); + } + | IVEC4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(4); + } + | UVEC2 { + parseContext.fullIntegerCheck($1.loc, "unsigned integer vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(2); + } + | UVEC3 { + parseContext.fullIntegerCheck($1.loc, "unsigned integer vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(3); + } + | UVEC4 { + parseContext.fullIntegerCheck($1.loc, "unsigned integer vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(4); + } + | MAT2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | MAT3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | MAT4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } + | MAT2X2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | MAT2X3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 3); + } + | MAT2X4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 4); + } + | MAT3X2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 2); + } + | MAT3X3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | MAT3X4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 4); + } + | MAT4X2 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 2); + } + | MAT4X3 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 3); + } + | MAT4X4 { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } + + | DOUBLE { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + } + | FLOAT16_T { + parseContext.float16ScalarVectorCheck($1.loc, "float16_t", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + } + | FLOAT32_T { + parseContext.explicitFloat32Check($1.loc, "float32_t", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + } + | FLOAT64_T { + parseContext.explicitFloat64Check($1.loc, "float64_t", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + } + | INT8_T { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + } + | UINT8_T { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + } + | INT16_T { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + } + | UINT16_T { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + } + | INT32_T { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + } + | UINT32_T { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + } + | INT64_T { + parseContext.int64Check($1.loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + } + | UINT64_T { + parseContext.int64Check($1.loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + } + | DVEC2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(2); + } + | DVEC3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(3); + } + | DVEC4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double vector"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(4); + } + | F16VEC2 { + parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setVector(2); + } + | F16VEC3 { + parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setVector(3); + } + | F16VEC4 { + parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setVector(4); + } + | F32VEC2 { + parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(2); + } + | F32VEC3 { + parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(3); + } + | F32VEC4 { + parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setVector(4); + } + | F64VEC2 { + parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(2); + } + | F64VEC3 { + parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(3); + } + | F64VEC4 { + parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setVector(4); + } + | I8VEC2 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + $$.setVector(2); + } + | I8VEC3 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + $$.setVector(3); + } + | I8VEC4 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt8; + $$.setVector(4); + } + | I16VEC2 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + $$.setVector(2); + } + | I16VEC3 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + $$.setVector(3); + } + | I16VEC4 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt16; + $$.setVector(4); + } + | I32VEC2 { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(2); + } + | I32VEC3 { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(3); + } + | I32VEC4 { + parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.setVector(4); + } + | I64VEC2 { + parseContext.int64Check($1.loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + $$.setVector(2); + } + | I64VEC3 { + parseContext.int64Check($1.loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + $$.setVector(3); + } + | I64VEC4 { + parseContext.int64Check($1.loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt64; + $$.setVector(4); + } + | U8VEC2 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + $$.setVector(2); + } + | U8VEC3 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + $$.setVector(3); + } + | U8VEC4 { + parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint8; + $$.setVector(4); + } + | U16VEC2 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + $$.setVector(2); + } + | U16VEC3 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + $$.setVector(3); + } + | U16VEC4 { + parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint16; + $$.setVector(4); + } + | U32VEC2 { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(2); + } + | U32VEC3 { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(3); + } + | U32VEC4 { + parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.setVector(4); + } + | U64VEC2 { + parseContext.int64Check($1.loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + $$.setVector(2); + } + | U64VEC3 { + parseContext.int64Check($1.loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + $$.setVector(3); + } + | U64VEC4 { + parseContext.int64Check($1.loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint64; + $$.setVector(4); + } + | DMAT2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | DMAT3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | DMAT4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | DMAT2X2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | DMAT2X3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 3); + } + | DMAT2X4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 4); + } + | DMAT3X2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 2); + } + | DMAT3X3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | DMAT3X4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 4); + } + | DMAT4X2 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 2); + } + | DMAT4X3 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 3); + } + | DMAT4X4 { + parseContext.requireProfile($1.loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck($1.loc, "double matrix"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | F16MAT2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 2); + } + | F16MAT3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 3); + } + | F16MAT4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 4); + } + | F16MAT2X2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 2); + } + | F16MAT2X3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 3); + } + | F16MAT2X4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(2, 4); + } + | F16MAT3X2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 2); + } + | F16MAT3X3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 3); + } + | F16MAT3X4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(3, 4); + } + | F16MAT4X2 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 2); + } + | F16MAT4X3 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 3); + } + | F16MAT4X4 { + parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat16; + $$.setMatrix(4, 4); + } + | F32MAT2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | F32MAT3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | F32MAT4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } + | F32MAT2X2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 2); + } + | F32MAT2X3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 3); + } + | F32MAT2X4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(2, 4); + } + | F32MAT3X2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 2); + } + | F32MAT3X3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 3); + } + | F32MAT3X4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(3, 4); + } + | F32MAT4X2 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 2); + } + | F32MAT4X3 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 3); + } + | F32MAT4X4 { + parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.setMatrix(4, 4); + } + | F64MAT2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | F64MAT3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | F64MAT4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | F64MAT2X2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 2); + } + | F64MAT2X3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 3); + } + | F64MAT2X4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(2, 4); + } + | F64MAT3X2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 2); + } + | F64MAT3X3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 3); + } + | F64MAT3X4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(3, 4); + } + | F64MAT4X2 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 2); + } + | F64MAT4X3 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 3); + } + | F64MAT4X4 { + parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtDouble; + $$.setMatrix(4, 4); + } + | ACCSTRUCTNV { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtAccStruct; + } + | ACCSTRUCTEXT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtAccStruct; + } + | RAYQUERYEXT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtRayQuery; + } + | ATOMIC_UINT { + parseContext.vulkanRemoved($1.loc, "atomic counter types"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtAtomicUint; + } + | SAMPLER1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D); + } + + | SAMPLER2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D); + } + | SAMPLER3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd3D); + } + | SAMPLERCUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube); + } + | SAMPLER2DSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, false, true); + } + | SAMPLERCUBESHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube, false, true); + } + | SAMPLER2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, true); + } + | SAMPLER2DARRAYSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, true, true); + } + + | SAMPLER1DSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D, false, true); + } + | SAMPLER1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D, true); + } + | SAMPLER1DARRAYSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd1D, true, true); + } + | SAMPLERCUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube, true); + } + | SAMPLERCUBEARRAYSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdCube, true, true); + } + | F16SAMPLER1D { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D); + } + | F16SAMPLER2D { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D); + } + | F16SAMPLER3D { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd3D); + } + | F16SAMPLERCUBE { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube); + } + | F16SAMPLER1DSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D, false, true); + } + | F16SAMPLER2DSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, false, true); + } + | F16SAMPLERCUBESHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube, false, true); + } + | F16SAMPLER1DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D, true); + } + | F16SAMPLER2DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, true); + } + | F16SAMPLER1DARRAYSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd1D, true, true); + } + | F16SAMPLER2DARRAYSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, true, true); + } + | F16SAMPLERCUBEARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube, true); + } + | F16SAMPLERCUBEARRAYSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdCube, true, true); + } + | ISAMPLER1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd1D); + } + + | ISAMPLER2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D); + } + | ISAMPLER3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd3D); + } + | ISAMPLERCUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdCube); + } + | ISAMPLER2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D, true); + } + | USAMPLER2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D); + } + | USAMPLER3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd3D); + } + | USAMPLERCUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdCube); + } + + | ISAMPLER1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd1D, true); + } + | ISAMPLERCUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdCube, true); + } + | USAMPLER1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd1D); + } + | USAMPLER1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd1D, true); + } + | USAMPLERCUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdCube, true); + } + | TEXTURECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdCube, true); + } + | ITEXTURECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdCube, true); + } + | UTEXTURECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdCube, true); + } + + | USAMPLER2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D, true); + } + | TEXTURE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D); + } + | TEXTURE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd3D); + } + | TEXTURE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D, true); + } + | TEXTURECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdCube); + } + | ITEXTURE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D); + } + | ITEXTURE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd3D); + } + | ITEXTURECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdCube); + } + | ITEXTURE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D, true); + } + | UTEXTURE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D); + } + | UTEXTURE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd3D); + } + | UTEXTURECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdCube); + } + | UTEXTURE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D, true); + } + | SAMPLER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setPureSampler(false); + } + | SAMPLERSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setPureSampler(true); + } + + | SAMPLER2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdRect); + } + | SAMPLER2DRECTSHADOW { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdRect, false, true); + } + | F16SAMPLER2DRECT { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdRect); + } + | F16SAMPLER2DRECTSHADOW { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdRect, false, true); + } + | ISAMPLER2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdRect); + } + | USAMPLER2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdRect); + } + | SAMPLERBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, EsdBuffer); + } + | F16SAMPLERBUFFER { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, EsdBuffer); + } + | ISAMPLERBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, EsdBuffer); + } + | USAMPLERBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, EsdBuffer); + } + | SAMPLER2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, false, false, true); + } + | F16SAMPLER2DMS { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, false, false, true); + } + | ISAMPLER2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D, false, false, true); + } + | USAMPLER2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D, false, false, true); + } + | SAMPLER2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D, true, false, true); + } + | F16SAMPLER2DMSARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat16, Esd2D, true, false, true); + } + | ISAMPLER2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtInt, Esd2D, true, false, true); + } + | USAMPLER2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtUint, Esd2D, true, false, true); + } + | TEXTURE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd1D); + } + | F16TEXTURE1D { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd1D); + } + | F16TEXTURE2D { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D); + } + | F16TEXTURE3D { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd3D); + } + | F16TEXTURECUBE { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdCube); + } + | TEXTURE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd1D, true); + } + | F16TEXTURE1DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd1D, true); + } + | F16TEXTURE2DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D, true); + } + | F16TEXTURECUBEARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdCube, true); + } + | ITEXTURE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd1D); + } + | ITEXTURE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd1D, true); + } + | UTEXTURE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd1D); + } + | UTEXTURE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd1D, true); + } + | TEXTURE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdRect); + } + | F16TEXTURE2DRECT { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdRect); + } + | ITEXTURE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdRect); + } + | UTEXTURE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdRect); + } + | TEXTUREBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, EsdBuffer); + } + | F16TEXTUREBUFFER { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, EsdBuffer); + } + | ITEXTUREBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, EsdBuffer); + } + | UTEXTUREBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, EsdBuffer); + } + | TEXTURE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D, false, false, true); + } + | F16TEXTURE2DMS { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D, false, false, true); + } + | ITEXTURE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D, false, false, true); + } + | UTEXTURE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D, false, false, true); + } + | TEXTURE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat, Esd2D, true, false, true); + } + | F16TEXTURE2DMSARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtFloat16, Esd2D, true, false, true); + } + | ITEXTURE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtInt, Esd2D, true, false, true); + } + | UTEXTURE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setTexture(EbtUint, Esd2D, true, false, true); + } + | IMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd1D); + } + | F16IMAGE1D { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd1D); + } + | IIMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd1D); + } + | UIMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd1D); + } + | IMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D); + } + | F16IMAGE2D { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D); + } + | IIMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D); + } + | UIMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D); + } + | IMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd3D); + } + | F16IMAGE3D { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd3D); + } + | IIMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd3D); + } + | UIMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd3D); + } + | IMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdRect); + } + | F16IMAGE2DRECT { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdRect); + } + | IIMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdRect); + } + | UIMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdRect); + } + | IMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdCube); + } + | F16IMAGECUBE { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdCube); + } + | IIMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdCube); + } + | UIMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdCube); + } + | IMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdBuffer); + } + | F16IMAGEBUFFER { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdBuffer); + } + | IIMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdBuffer); + } + | UIMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdBuffer); + } + | IMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd1D, true); + } + | F16IMAGE1DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd1D, true); + } + | IIMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd1D, true); + } + | UIMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd1D, true); + } + | IMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D, true); + } + | F16IMAGE2DARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D, true); + } + | IIMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D, true); + } + | UIMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D, true); + } + | IMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, EsdCube, true); + } + | F16IMAGECUBEARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, EsdCube, true); + } + | IIMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, EsdCube, true); + } + | UIMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, EsdCube, true); + } + | IMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D, false, false, true); + } + | F16IMAGE2DMS { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D, false, false, true); + } + | IIMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D, false, false, true); + } + | UIMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D, false, false, true); + } + | IMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat, Esd2D, true, false, true); + } + | F16IMAGE2DMSARRAY { + parseContext.float16OpaqueCheck($1.loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtFloat16, Esd2D, true, false, true); + } + | IIMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt, Esd2D, true, false, true); + } + | UIMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint, Esd2D, true, false, true); + } + | I64IMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd1D); + } + | U64IMAGE1D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd1D); + } + | I64IMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D); + } + | U64IMAGE2D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D); + } + | I64IMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd3D); + } + | U64IMAGE3D { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd3D); + } + | I64IMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdRect); + } + | U64IMAGE2DRECT { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdRect); + } + | I64IMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdCube); + } + | U64IMAGECUBE { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdCube); + } + | I64IMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdBuffer); + } + | U64IMAGEBUFFER { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdBuffer); + } + | I64IMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd1D, true); + } + | U64IMAGE1DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd1D, true); + } + | I64IMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D, true); + } + | U64IMAGE2DARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D, true); + } + | I64IMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, EsdCube, true); + } + | U64IMAGECUBEARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, EsdCube, true); + } + | I64IMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D, false, false, true); + } + | U64IMAGE2DMS { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D, false, false, true); + } + | I64IMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtInt64, Esd2D, true, false, true); + } + | U64IMAGE2DMSARRAY { + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setImage(EbtUint64, Esd2D, true, false, true); + } + | SAMPLEREXTERNALOES { // GL_OES_EGL_image_external + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D); + $$.sampler.external = true; + } + | SAMPLEREXTERNAL2DY2YEXT { // GL_EXT_YUV_target + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.set(EbtFloat, Esd2D); + $$.sampler.yuv = true; + } + | SUBPASSINPUT { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat); + } + | SUBPASSINPUTMS { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat, true); + } + | F16SUBPASSINPUT { + parseContext.float16OpaqueCheck($1.loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat16); + } + | F16SUBPASSINPUTMS { + parseContext.float16OpaqueCheck($1.loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtFloat16, true); + } + | ISUBPASSINPUT { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtInt); + } + | ISUBPASSINPUTMS { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtInt, true); + } + | USUBPASSINPUT { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtUint); + } + | USUBPASSINPUTMS { + parseContext.requireStage($1.loc, EShLangFragment, "subpass input"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtSampler; + $$.sampler.setSubpass(EbtUint, true); + } + | FCOOPMATNV { + parseContext.fcoopmatCheck($1.loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtFloat; + $$.coopmat = true; + } + | ICOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtInt; + $$.coopmat = true; + } + | UCOOPMATNV { + parseContext.intcoopmatCheck($1.loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtUint; + $$.coopmat = true; + } + + | struct_specifier { + $$ = $1; + $$.qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + parseContext.structTypeCheck($$.loc, $$); + } + | TYPE_NAME { + // + // This is for user defined type names. The lexical phase looked up the + // type. + // + if (const TVariable* variable = ($1.symbol)->getAsVariable()) { + const TType& structure = variable->getType(); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + $$.basicType = EbtStruct; + $$.userDef = &structure; + } else + parseContext.error($1.loc, "expected type name", $1.string->c_str(), ""); + } + ; + +precision_qualifier + : HIGH_PRECISION { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "highp precision qualifier"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier($1.loc, $$.qualifier, EpqHigh); + } + | MEDIUM_PRECISION { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "mediump precision qualifier"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier($1.loc, $$.qualifier, EpqMedium); + } + | LOW_PRECISION { + parseContext.profileRequires($1.loc, ENoProfile, 130, 0, "lowp precision qualifier"); + $$.init($1.loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier($1.loc, $$.qualifier, EpqLow); + } + ; + +struct_specifier + : STRUCT IDENTIFIER LEFT_BRACE { parseContext.nestedStructCheck($1.loc); } struct_declaration_list RIGHT_BRACE { + TType* structure = new TType($5, *$2.string); + parseContext.structArrayCheck($2.loc, *structure); + TVariable* userTypeDef = new TVariable($2.string, *structure, true); + if (! parseContext.symbolTable.insert(*userTypeDef)) + parseContext.error($2.loc, "redefinition", $2.string->c_str(), "struct"); + $$.init($1.loc); + $$.basicType = EbtStruct; + $$.userDef = structure; + --parseContext.structNestingLevel; + } + | STRUCT LEFT_BRACE { parseContext.nestedStructCheck($1.loc); } struct_declaration_list RIGHT_BRACE { + TType* structure = new TType($4, TString("")); + $$.init($1.loc); + $$.basicType = EbtStruct; + $$.userDef = structure; + --parseContext.structNestingLevel; + } + ; + +struct_declaration_list + : struct_declaration { + $$ = $1; + } + | struct_declaration_list struct_declaration { + $$ = $1; + for (unsigned int i = 0; i < $2->size(); ++i) { + for (unsigned int j = 0; j < $$->size(); ++j) { + if ((*$$)[j].type->getFieldName() == (*$2)[i].type->getFieldName()) + parseContext.error((*$2)[i].loc, "duplicate member name:", "", (*$2)[i].type->getFieldName().c_str()); + } + $$->push_back((*$2)[i]); + } + } + ; + +struct_declaration + : type_specifier struct_declarator_list SEMICOLON { + if ($1.arraySizes) { + parseContext.profileRequires($1.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($1.loc, EEsProfile, 300, 0, "arrayed type"); + if (parseContext.isEsProfile()) + parseContext.arraySizeRequiredCheck($1.loc, *$1.arraySizes); + } + + $$ = $2; + + parseContext.voidErrorCheck($1.loc, (*$2)[0].type->getFieldName(), $1.basicType); + parseContext.precisionQualifierCheck($1.loc, $1.basicType, $1.qualifier); + + for (unsigned int i = 0; i < $$->size(); ++i) { + TType type($1); + type.setFieldName((*$$)[i].type->getFieldName()); + type.transferArraySizes((*$$)[i].type->getArraySizes()); + type.copyArrayInnerSizes($1.arraySizes); + parseContext.arrayOfArrayVersionCheck((*$$)[i].loc, type.getArraySizes()); + (*$$)[i].type->shallowCopy(type); + } + } + | type_qualifier type_specifier struct_declarator_list SEMICOLON { + if ($2.arraySizes) { + parseContext.profileRequires($2.loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires($2.loc, EEsProfile, 300, 0, "arrayed type"); + if (parseContext.isEsProfile()) + parseContext.arraySizeRequiredCheck($2.loc, *$2.arraySizes); + } + + $$ = $3; + + parseContext.memberQualifierCheck($1); + parseContext.voidErrorCheck($2.loc, (*$3)[0].type->getFieldName(), $2.basicType); + parseContext.mergeQualifiers($2.loc, $2.qualifier, $1.qualifier, true); + parseContext.precisionQualifierCheck($2.loc, $2.basicType, $2.qualifier); + + for (unsigned int i = 0; i < $$->size(); ++i) { + TType type($2); + type.setFieldName((*$$)[i].type->getFieldName()); + type.transferArraySizes((*$$)[i].type->getArraySizes()); + type.copyArrayInnerSizes($2.arraySizes); + parseContext.arrayOfArrayVersionCheck((*$$)[i].loc, type.getArraySizes()); + (*$$)[i].type->shallowCopy(type); + } + } + ; + +struct_declarator_list + : struct_declarator { + $$ = new TTypeList; + $$->push_back($1); + } + | struct_declarator_list COMMA struct_declarator { + $$->push_back($3); + } + ; + +struct_declarator + : IDENTIFIER { + $$.type = new TType(EbtVoid); + $$.loc = $1.loc; + $$.type->setFieldName(*$1.string); + } + | IDENTIFIER array_specifier { + parseContext.arrayOfArrayVersionCheck($1.loc, $2.arraySizes); + + $$.type = new TType(EbtVoid); + $$.loc = $1.loc; + $$.type->setFieldName(*$1.string); + $$.type->transferArraySizes($2.arraySizes); + } + ; + +initializer + : assignment_expression { + $$ = $1; + } + + | LEFT_BRACE initializer_list RIGHT_BRACE { + const char* initFeature = "{ } style initializers"; + parseContext.requireProfile($1.loc, ~EEsProfile, initFeature); + parseContext.profileRequires($1.loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); + $$ = $2; + } + | LEFT_BRACE initializer_list COMMA RIGHT_BRACE { + const char* initFeature = "{ } style initializers"; + parseContext.requireProfile($1.loc, ~EEsProfile, initFeature); + parseContext.profileRequires($1.loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); + $$ = $2; + } + + ; + + +initializer_list + : initializer { + $$ = parseContext.intermediate.growAggregate(0, $1, $1->getLoc()); + } + | initializer_list COMMA initializer { + $$ = parseContext.intermediate.growAggregate($1, $3); + } + ; + + +declaration_statement + : declaration { $$ = $1; } + ; + +statement + : compound_statement { $$ = $1; } + | simple_statement { $$ = $1; } + ; + +// Grammar Note: labeled statements for switch statements only; 'goto' is not supported. + +simple_statement + : declaration_statement { $$ = $1; } + | expression_statement { $$ = $1; } + | selection_statement { $$ = $1; } + | switch_statement { $$ = $1; } + | case_label { $$ = $1; } + | iteration_statement { $$ = $1; } + | jump_statement { $$ = $1; } + + | demote_statement { $$ = $1; } + + ; + + +demote_statement + : DEMOTE SEMICOLON { + parseContext.requireStage($1.loc, EShLangFragment, "demote"); + parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote"); + $$ = parseContext.intermediate.addBranch(EOpDemote, $1.loc); + } + ; + + +compound_statement + : LEFT_BRACE RIGHT_BRACE { $$ = 0; } + | LEFT_BRACE { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + } + statement_list { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + } + RIGHT_BRACE { + if ($3 && $3->getAsAggregate()) + $3->getAsAggregate()->setOperator(EOpSequence); + $$ = $3; + } + ; + +statement_no_new_scope + : compound_statement_no_new_scope { $$ = $1; } + | simple_statement { $$ = $1; } + ; + +statement_scoped + : { + ++parseContext.controlFlowNestingLevel; + } + compound_statement { + --parseContext.controlFlowNestingLevel; + $$ = $2; + } + | { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + simple_statement { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + $$ = $2; + } + +compound_statement_no_new_scope + // Statement that doesn't create a new scope, for selection_statement, iteration_statement + : LEFT_BRACE RIGHT_BRACE { + $$ = 0; + } + | LEFT_BRACE statement_list RIGHT_BRACE { + if ($2 && $2->getAsAggregate()) + $2->getAsAggregate()->setOperator(EOpSequence); + $$ = $2; + } + ; + +statement_list + : statement { + $$ = parseContext.intermediate.makeAggregate($1); + if ($1 && $1->getAsBranchNode() && ($1->getAsBranchNode()->getFlowOp() == EOpCase || + $1->getAsBranchNode()->getFlowOp() == EOpDefault)) { + parseContext.wrapupSwitchSubsequence(0, $1); + $$ = 0; // start a fresh subsequence for what's after this case + } + } + | statement_list statement { + if ($2 && $2->getAsBranchNode() && ($2->getAsBranchNode()->getFlowOp() == EOpCase || + $2->getAsBranchNode()->getFlowOp() == EOpDefault)) { + parseContext.wrapupSwitchSubsequence($1 ? $1->getAsAggregate() : 0, $2); + $$ = 0; // start a fresh subsequence for what's after this case + } else + $$ = parseContext.intermediate.growAggregate($1, $2); + } + ; + +expression_statement + : SEMICOLON { $$ = 0; } + | expression SEMICOLON { $$ = static_cast($1); } + ; + +selection_statement + : selection_statement_nonattributed { + $$ = $1; + } + + | attribute selection_statement_nonattributed { + parseContext.handleSelectionAttributes(*$1, $2); + $$ = $2; + } + + +selection_statement_nonattributed + : IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement { + parseContext.boolCheck($1.loc, $3); + $$ = parseContext.intermediate.addSelection($3, $5, $1.loc); + } + ; + +selection_rest_statement + : statement_scoped ELSE statement_scoped { + $$.node1 = $1; + $$.node2 = $3; + } + | statement_scoped { + $$.node1 = $1; + $$.node2 = 0; + } + ; + +condition + // In 1996 c++ draft, conditions can include single declarations + : expression { + $$ = $1; + parseContext.boolCheck($1->getLoc(), $1); + } + | fully_specified_type IDENTIFIER EQUAL initializer { + parseContext.boolCheck($2.loc, $1); + + TType type($1); + TIntermNode* initNode = parseContext.declareVariable($2.loc, *$2.string, $1, 0, $4); + if (initNode) + $$ = initNode->getAsTyped(); + else + $$ = 0; + } + ; + +switch_statement + : switch_statement_nonattributed { + $$ = $1; + } + + | attribute switch_statement_nonattributed { + parseContext.handleSwitchAttributes(*$1, $2); + $$ = $2; + } + + +switch_statement_nonattributed + : SWITCH LEFT_PAREN expression RIGHT_PAREN { + // start new switch sequence on the switch stack + ++parseContext.controlFlowNestingLevel; + ++parseContext.statementNestingLevel; + parseContext.switchSequenceStack.push_back(new TIntermSequence); + parseContext.switchLevel.push_back(parseContext.statementNestingLevel); + parseContext.symbolTable.push(); + } + LEFT_BRACE switch_statement_list RIGHT_BRACE { + $$ = parseContext.addSwitch($1.loc, $3, $7 ? $7->getAsAggregate() : 0); + delete parseContext.switchSequenceStack.back(); + parseContext.switchSequenceStack.pop_back(); + parseContext.switchLevel.pop_back(); + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + ; + +switch_statement_list + : /* nothing */ { + $$ = 0; + } + | statement_list { + $$ = $1; + } + ; + +case_label + : CASE expression COLON { + $$ = 0; + if (parseContext.switchLevel.size() == 0) + parseContext.error($1.loc, "cannot appear outside switch statement", "case", ""); + else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel) + parseContext.error($1.loc, "cannot be nested inside control flow", "case", ""); + else { + parseContext.constantValueCheck($2, "case"); + parseContext.integerCheck($2, "case"); + $$ = parseContext.intermediate.addBranch(EOpCase, $2, $1.loc); + } + } + | DEFAULT COLON { + $$ = 0; + if (parseContext.switchLevel.size() == 0) + parseContext.error($1.loc, "cannot appear outside switch statement", "default", ""); + else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel) + parseContext.error($1.loc, "cannot be nested inside control flow", "default", ""); + else + $$ = parseContext.intermediate.addBranch(EOpDefault, $1.loc); + } + ; + +iteration_statement + : iteration_statement_nonattributed { + $$ = $1; + } + + | attribute iteration_statement_nonattributed { + parseContext.handleLoopAttributes(*$1, $2); + $$ = $2; + } + + +iteration_statement_nonattributed + : WHILE LEFT_PAREN { + if (! parseContext.limits.whileLoops) + parseContext.error($1.loc, "while loops not available", "limitation", ""); + parseContext.symbolTable.push(); + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + condition RIGHT_PAREN statement_no_new_scope { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + $$ = parseContext.intermediate.addLoop($6, $4, 0, true, $1.loc); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + | DO { + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON { + if (! parseContext.limits.whileLoops) + parseContext.error($1.loc, "do-while loops not available", "limitation", ""); + + parseContext.boolCheck($8.loc, $6); + + $$ = parseContext.intermediate.addLoop($3, $6, 0, false, $4.loc); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + | FOR LEFT_PAREN { + parseContext.symbolTable.push(); + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } + for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + $$ = parseContext.intermediate.makeAggregate($4, $2.loc); + TIntermLoop* forLoop = parseContext.intermediate.addLoop($7, reinterpret_cast($5.node1), reinterpret_cast($5.node2), true, $1.loc); + if (! parseContext.limits.nonInductiveForLoops) + parseContext.inductiveLoopCheck($1.loc, $4, forLoop); + $$ = parseContext.intermediate.growAggregate($$, forLoop, $1.loc); + $$->getAsAggregate()->setOperator(EOpSequence); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } + ; + +for_init_statement + : expression_statement { + $$ = $1; + } + | declaration_statement { + $$ = $1; + } + ; + +conditionopt + : condition { + $$ = $1; + } + | /* May be null */ { + $$ = 0; + } + ; + +for_rest_statement + : conditionopt SEMICOLON { + $$.node1 = $1; + $$.node2 = 0; + } + | conditionopt SEMICOLON expression { + $$.node1 = $1; + $$.node2 = $3; + } + ; + +jump_statement + : CONTINUE SEMICOLON { + if (parseContext.loopNestingLevel <= 0) + parseContext.error($1.loc, "continue statement only allowed in loops", "", ""); + $$ = parseContext.intermediate.addBranch(EOpContinue, $1.loc); + } + | BREAK SEMICOLON { + if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0) + parseContext.error($1.loc, "break statement only allowed in switch and loops", "", ""); + $$ = parseContext.intermediate.addBranch(EOpBreak, $1.loc); + } + | RETURN SEMICOLON { + $$ = parseContext.intermediate.addBranch(EOpReturn, $1.loc); + if (parseContext.currentFunctionType->getBasicType() != EbtVoid) + parseContext.error($1.loc, "non-void function must return a value", "return", ""); + if (parseContext.inMain) + parseContext.postEntryPointReturn = true; + } + | RETURN expression SEMICOLON { + $$ = parseContext.handleReturnValue($1.loc, $2); + } + | DISCARD SEMICOLON { + parseContext.requireStage($1.loc, EShLangFragment, "discard"); + $$ = parseContext.intermediate.addBranch(EOpKill, $1.loc); + } + | TERMINATE_INVOCATION SEMICOLON { + parseContext.requireStage($1.loc, EShLangFragment, "terminateInvocation"); + $$ = parseContext.intermediate.addBranch(EOpTerminateInvocation, $1.loc); + } + + | TERMINATE_RAY SEMICOLON { + parseContext.requireStage($1.loc, EShLangAnyHit, "terminateRayEXT"); + $$ = parseContext.intermediate.addBranch(EOpTerminateRayKHR, $1.loc); + } + | IGNORE_INTERSECTION SEMICOLON { + parseContext.requireStage($1.loc, EShLangAnyHit, "ignoreIntersectionEXT"); + $$ = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, $1.loc); + } + + ; + +// Grammar Note: No 'goto'. Gotos are not supported. + +translation_unit + : external_declaration { + $$ = $1; + parseContext.intermediate.setTreeRoot($$); + } + | translation_unit external_declaration { + if ($2 != nullptr) { + $$ = parseContext.intermediate.growAggregate($1, $2); + parseContext.intermediate.setTreeRoot($$); + } + } + ; + +external_declaration + : function_definition { + $$ = $1; + } + | declaration { + $$ = $1; + } + + | SEMICOLON { + parseContext.requireProfile($1.loc, ~EEsProfile, "extraneous semicolon"); + parseContext.profileRequires($1.loc, ~EEsProfile, 460, nullptr, "extraneous semicolon"); + $$ = nullptr; + } + + ; + +function_definition + : function_prototype { + $1.function = parseContext.handleFunctionDeclarator($1.loc, *$1.function, false /* not prototype */); + $1.intermNode = parseContext.handleFunctionDefinition($1.loc, *$1.function); + + // For ES 100 only, according to ES shading language 100 spec: A function + // body has a scope nested inside the function's definition. + if (parseContext.profile == EEsProfile && parseContext.version == 100) + { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + } + } + compound_statement_no_new_scope { + // May be best done as post process phase on intermediate code + if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) + parseContext.error($1.loc, "function does not return a value:", "", $1.function->getName().c_str()); + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + $$ = parseContext.intermediate.growAggregate($1.intermNode, $3); + parseContext.intermediate.setAggregateOperator($$, EOpFunction, $1.function->getType(), $1.loc); + $$->getAsAggregate()->setName($1.function->getMangledName().c_str()); + + // store the pragma information for debug and optimize and other vendor specific + // information. This information can be queried from the parse tree + $$->getAsAggregate()->setOptimize(parseContext.contextPragma.optimize); + $$->getAsAggregate()->setDebug(parseContext.contextPragma.debug); + $$->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable); + + // Set currentFunctionType to empty pointer when goes outside of the function + parseContext.currentFunctionType = nullptr; + + // For ES 100 only, according to ES shading language 100 spec: A function + // body has a scope nested inside the function's definition. + if (parseContext.profile == EEsProfile && parseContext.version == 100) + { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + } + } + ; + + +attribute + : LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET { + $$ = $3; + parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_control_flow_attributes, "attribute"); + } + +attribute_list + : single_attribute { + $$ = $1; + } + | attribute_list COMMA single_attribute { + $$ = parseContext.mergeAttributes($1, $3); + } + +single_attribute + : IDENTIFIER { + $$ = parseContext.makeAttributes(*$1.string); + } + | IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN { + $$ = parseContext.makeAttributes(*$1.string, $3); + } + + +%% diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp new file mode 100644 index 00000000..feecc982 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp @@ -0,0 +1,11224 @@ +/* A Bison parser, made by GNU Bison 3.7.4. */ + +/* Bison implementation for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ + +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output, and Bison version. */ +#define YYBISON 30704 + +/* Bison version string. */ +#define YYBISON_VERSION "3.7.4" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 1 + +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 + + + + +/* First part of user prologue. */ +#line 69 "MachineIndependent/glslang.y" + + +/* Based on: +ANSI C Yacc grammar + +In 1985, Jeff Lee published his Yacc grammar (which is accompanied by a +matching Lex specification) for the April 30, 1985 draft version of the +ANSI C standard. Tom Stockfisch reposted it to net.sources in 1987; that +original, as mentioned in the answer to question 17.25 of the comp.lang.c +FAQ, can be ftp'ed from ftp.uu.net, file usenet/net.sources/ansi.c.grammar.Z. + +I intend to keep this version as close to the current C Standard grammar as +possible; please let me know if you discover discrepancies. + +Jutta Degener, 1995 +*/ + +#include "SymbolTable.h" +#include "ParseHelper.h" +#include "../Public/ShaderLang.h" +#include "attribute.h" + +using namespace glslang; + + +#line 97 "MachineIndependent/glslang_tab.cpp" + +# ifndef YY_CAST +# ifdef __cplusplus +# define YY_CAST(Type, Val) static_cast (Val) +# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast (Val) +# else +# define YY_CAST(Type, Val) ((Type) (Val)) +# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) +# endif +# endif +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# else +# define YY_NULLPTR ((void*)0) +# endif +# endif + +#include "glslang_tab.cpp.h" +/* Symbol kind. */ +enum yysymbol_kind_t +{ + YYSYMBOL_YYEMPTY = -2, + YYSYMBOL_YYEOF = 0, /* "end of file" */ + YYSYMBOL_YYerror = 1, /* error */ + YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ + YYSYMBOL_CONST = 3, /* CONST */ + YYSYMBOL_BOOL = 4, /* BOOL */ + YYSYMBOL_INT = 5, /* INT */ + YYSYMBOL_UINT = 6, /* UINT */ + YYSYMBOL_FLOAT = 7, /* FLOAT */ + YYSYMBOL_BVEC2 = 8, /* BVEC2 */ + YYSYMBOL_BVEC3 = 9, /* BVEC3 */ + YYSYMBOL_BVEC4 = 10, /* BVEC4 */ + YYSYMBOL_IVEC2 = 11, /* IVEC2 */ + YYSYMBOL_IVEC3 = 12, /* IVEC3 */ + YYSYMBOL_IVEC4 = 13, /* IVEC4 */ + YYSYMBOL_UVEC2 = 14, /* UVEC2 */ + YYSYMBOL_UVEC3 = 15, /* UVEC3 */ + YYSYMBOL_UVEC4 = 16, /* UVEC4 */ + YYSYMBOL_VEC2 = 17, /* VEC2 */ + YYSYMBOL_VEC3 = 18, /* VEC3 */ + YYSYMBOL_VEC4 = 19, /* VEC4 */ + YYSYMBOL_MAT2 = 20, /* MAT2 */ + YYSYMBOL_MAT3 = 21, /* MAT3 */ + YYSYMBOL_MAT4 = 22, /* MAT4 */ + YYSYMBOL_MAT2X2 = 23, /* MAT2X2 */ + YYSYMBOL_MAT2X3 = 24, /* MAT2X3 */ + YYSYMBOL_MAT2X4 = 25, /* MAT2X4 */ + YYSYMBOL_MAT3X2 = 26, /* MAT3X2 */ + YYSYMBOL_MAT3X3 = 27, /* MAT3X3 */ + YYSYMBOL_MAT3X4 = 28, /* MAT3X4 */ + YYSYMBOL_MAT4X2 = 29, /* MAT4X2 */ + YYSYMBOL_MAT4X3 = 30, /* MAT4X3 */ + YYSYMBOL_MAT4X4 = 31, /* MAT4X4 */ + YYSYMBOL_SAMPLER2D = 32, /* SAMPLER2D */ + YYSYMBOL_SAMPLER3D = 33, /* SAMPLER3D */ + YYSYMBOL_SAMPLERCUBE = 34, /* SAMPLERCUBE */ + YYSYMBOL_SAMPLER2DSHADOW = 35, /* SAMPLER2DSHADOW */ + YYSYMBOL_SAMPLERCUBESHADOW = 36, /* SAMPLERCUBESHADOW */ + YYSYMBOL_SAMPLER2DARRAY = 37, /* SAMPLER2DARRAY */ + YYSYMBOL_SAMPLER2DARRAYSHADOW = 38, /* SAMPLER2DARRAYSHADOW */ + YYSYMBOL_ISAMPLER2D = 39, /* ISAMPLER2D */ + YYSYMBOL_ISAMPLER3D = 40, /* ISAMPLER3D */ + YYSYMBOL_ISAMPLERCUBE = 41, /* ISAMPLERCUBE */ + YYSYMBOL_ISAMPLER2DARRAY = 42, /* ISAMPLER2DARRAY */ + YYSYMBOL_USAMPLER2D = 43, /* USAMPLER2D */ + YYSYMBOL_USAMPLER3D = 44, /* USAMPLER3D */ + YYSYMBOL_USAMPLERCUBE = 45, /* USAMPLERCUBE */ + YYSYMBOL_USAMPLER2DARRAY = 46, /* USAMPLER2DARRAY */ + YYSYMBOL_SAMPLER = 47, /* SAMPLER */ + YYSYMBOL_SAMPLERSHADOW = 48, /* SAMPLERSHADOW */ + YYSYMBOL_TEXTURE2D = 49, /* TEXTURE2D */ + YYSYMBOL_TEXTURE3D = 50, /* TEXTURE3D */ + YYSYMBOL_TEXTURECUBE = 51, /* TEXTURECUBE */ + YYSYMBOL_TEXTURE2DARRAY = 52, /* TEXTURE2DARRAY */ + YYSYMBOL_ITEXTURE2D = 53, /* ITEXTURE2D */ + YYSYMBOL_ITEXTURE3D = 54, /* ITEXTURE3D */ + YYSYMBOL_ITEXTURECUBE = 55, /* ITEXTURECUBE */ + YYSYMBOL_ITEXTURE2DARRAY = 56, /* ITEXTURE2DARRAY */ + YYSYMBOL_UTEXTURE2D = 57, /* UTEXTURE2D */ + YYSYMBOL_UTEXTURE3D = 58, /* UTEXTURE3D */ + YYSYMBOL_UTEXTURECUBE = 59, /* UTEXTURECUBE */ + YYSYMBOL_UTEXTURE2DARRAY = 60, /* UTEXTURE2DARRAY */ + YYSYMBOL_ATTRIBUTE = 61, /* ATTRIBUTE */ + YYSYMBOL_VARYING = 62, /* VARYING */ + YYSYMBOL_FLOAT16_T = 63, /* FLOAT16_T */ + YYSYMBOL_FLOAT32_T = 64, /* FLOAT32_T */ + YYSYMBOL_DOUBLE = 65, /* DOUBLE */ + YYSYMBOL_FLOAT64_T = 66, /* FLOAT64_T */ + YYSYMBOL_INT64_T = 67, /* INT64_T */ + YYSYMBOL_UINT64_T = 68, /* UINT64_T */ + YYSYMBOL_INT32_T = 69, /* INT32_T */ + YYSYMBOL_UINT32_T = 70, /* UINT32_T */ + YYSYMBOL_INT16_T = 71, /* INT16_T */ + YYSYMBOL_UINT16_T = 72, /* UINT16_T */ + YYSYMBOL_INT8_T = 73, /* INT8_T */ + YYSYMBOL_UINT8_T = 74, /* UINT8_T */ + YYSYMBOL_I64VEC2 = 75, /* I64VEC2 */ + YYSYMBOL_I64VEC3 = 76, /* I64VEC3 */ + YYSYMBOL_I64VEC4 = 77, /* I64VEC4 */ + YYSYMBOL_U64VEC2 = 78, /* U64VEC2 */ + YYSYMBOL_U64VEC3 = 79, /* U64VEC3 */ + YYSYMBOL_U64VEC4 = 80, /* U64VEC4 */ + YYSYMBOL_I32VEC2 = 81, /* I32VEC2 */ + YYSYMBOL_I32VEC3 = 82, /* I32VEC3 */ + YYSYMBOL_I32VEC4 = 83, /* I32VEC4 */ + YYSYMBOL_U32VEC2 = 84, /* U32VEC2 */ + YYSYMBOL_U32VEC3 = 85, /* U32VEC3 */ + YYSYMBOL_U32VEC4 = 86, /* U32VEC4 */ + YYSYMBOL_I16VEC2 = 87, /* I16VEC2 */ + YYSYMBOL_I16VEC3 = 88, /* I16VEC3 */ + YYSYMBOL_I16VEC4 = 89, /* I16VEC4 */ + YYSYMBOL_U16VEC2 = 90, /* U16VEC2 */ + YYSYMBOL_U16VEC3 = 91, /* U16VEC3 */ + YYSYMBOL_U16VEC4 = 92, /* U16VEC4 */ + YYSYMBOL_I8VEC2 = 93, /* I8VEC2 */ + YYSYMBOL_I8VEC3 = 94, /* I8VEC3 */ + YYSYMBOL_I8VEC4 = 95, /* I8VEC4 */ + YYSYMBOL_U8VEC2 = 96, /* U8VEC2 */ + YYSYMBOL_U8VEC3 = 97, /* U8VEC3 */ + YYSYMBOL_U8VEC4 = 98, /* U8VEC4 */ + YYSYMBOL_DVEC2 = 99, /* DVEC2 */ + YYSYMBOL_DVEC3 = 100, /* DVEC3 */ + YYSYMBOL_DVEC4 = 101, /* DVEC4 */ + YYSYMBOL_DMAT2 = 102, /* DMAT2 */ + YYSYMBOL_DMAT3 = 103, /* DMAT3 */ + YYSYMBOL_DMAT4 = 104, /* DMAT4 */ + YYSYMBOL_F16VEC2 = 105, /* F16VEC2 */ + YYSYMBOL_F16VEC3 = 106, /* F16VEC3 */ + YYSYMBOL_F16VEC4 = 107, /* F16VEC4 */ + YYSYMBOL_F16MAT2 = 108, /* F16MAT2 */ + YYSYMBOL_F16MAT3 = 109, /* F16MAT3 */ + YYSYMBOL_F16MAT4 = 110, /* F16MAT4 */ + YYSYMBOL_F32VEC2 = 111, /* F32VEC2 */ + YYSYMBOL_F32VEC3 = 112, /* F32VEC3 */ + YYSYMBOL_F32VEC4 = 113, /* F32VEC4 */ + YYSYMBOL_F32MAT2 = 114, /* F32MAT2 */ + YYSYMBOL_F32MAT3 = 115, /* F32MAT3 */ + YYSYMBOL_F32MAT4 = 116, /* F32MAT4 */ + YYSYMBOL_F64VEC2 = 117, /* F64VEC2 */ + YYSYMBOL_F64VEC3 = 118, /* F64VEC3 */ + YYSYMBOL_F64VEC4 = 119, /* F64VEC4 */ + YYSYMBOL_F64MAT2 = 120, /* F64MAT2 */ + YYSYMBOL_F64MAT3 = 121, /* F64MAT3 */ + YYSYMBOL_F64MAT4 = 122, /* F64MAT4 */ + YYSYMBOL_DMAT2X2 = 123, /* DMAT2X2 */ + YYSYMBOL_DMAT2X3 = 124, /* DMAT2X3 */ + YYSYMBOL_DMAT2X4 = 125, /* DMAT2X4 */ + YYSYMBOL_DMAT3X2 = 126, /* DMAT3X2 */ + YYSYMBOL_DMAT3X3 = 127, /* DMAT3X3 */ + YYSYMBOL_DMAT3X4 = 128, /* DMAT3X4 */ + YYSYMBOL_DMAT4X2 = 129, /* DMAT4X2 */ + YYSYMBOL_DMAT4X3 = 130, /* DMAT4X3 */ + YYSYMBOL_DMAT4X4 = 131, /* DMAT4X4 */ + YYSYMBOL_F16MAT2X2 = 132, /* F16MAT2X2 */ + YYSYMBOL_F16MAT2X3 = 133, /* F16MAT2X3 */ + YYSYMBOL_F16MAT2X4 = 134, /* F16MAT2X4 */ + YYSYMBOL_F16MAT3X2 = 135, /* F16MAT3X2 */ + YYSYMBOL_F16MAT3X3 = 136, /* F16MAT3X3 */ + YYSYMBOL_F16MAT3X4 = 137, /* F16MAT3X4 */ + YYSYMBOL_F16MAT4X2 = 138, /* F16MAT4X2 */ + YYSYMBOL_F16MAT4X3 = 139, /* F16MAT4X3 */ + YYSYMBOL_F16MAT4X4 = 140, /* F16MAT4X4 */ + YYSYMBOL_F32MAT2X2 = 141, /* F32MAT2X2 */ + YYSYMBOL_F32MAT2X3 = 142, /* F32MAT2X3 */ + YYSYMBOL_F32MAT2X4 = 143, /* F32MAT2X4 */ + YYSYMBOL_F32MAT3X2 = 144, /* F32MAT3X2 */ + YYSYMBOL_F32MAT3X3 = 145, /* F32MAT3X3 */ + YYSYMBOL_F32MAT3X4 = 146, /* F32MAT3X4 */ + YYSYMBOL_F32MAT4X2 = 147, /* F32MAT4X2 */ + YYSYMBOL_F32MAT4X3 = 148, /* F32MAT4X3 */ + YYSYMBOL_F32MAT4X4 = 149, /* F32MAT4X4 */ + YYSYMBOL_F64MAT2X2 = 150, /* F64MAT2X2 */ + YYSYMBOL_F64MAT2X3 = 151, /* F64MAT2X3 */ + YYSYMBOL_F64MAT2X4 = 152, /* F64MAT2X4 */ + YYSYMBOL_F64MAT3X2 = 153, /* F64MAT3X2 */ + YYSYMBOL_F64MAT3X3 = 154, /* F64MAT3X3 */ + YYSYMBOL_F64MAT3X4 = 155, /* F64MAT3X4 */ + YYSYMBOL_F64MAT4X2 = 156, /* F64MAT4X2 */ + YYSYMBOL_F64MAT4X3 = 157, /* F64MAT4X3 */ + YYSYMBOL_F64MAT4X4 = 158, /* F64MAT4X4 */ + YYSYMBOL_ATOMIC_UINT = 159, /* ATOMIC_UINT */ + YYSYMBOL_ACCSTRUCTNV = 160, /* ACCSTRUCTNV */ + YYSYMBOL_ACCSTRUCTEXT = 161, /* ACCSTRUCTEXT */ + YYSYMBOL_RAYQUERYEXT = 162, /* RAYQUERYEXT */ + YYSYMBOL_FCOOPMATNV = 163, /* FCOOPMATNV */ + YYSYMBOL_ICOOPMATNV = 164, /* ICOOPMATNV */ + YYSYMBOL_UCOOPMATNV = 165, /* UCOOPMATNV */ + YYSYMBOL_SAMPLERCUBEARRAY = 166, /* SAMPLERCUBEARRAY */ + YYSYMBOL_SAMPLERCUBEARRAYSHADOW = 167, /* SAMPLERCUBEARRAYSHADOW */ + YYSYMBOL_ISAMPLERCUBEARRAY = 168, /* ISAMPLERCUBEARRAY */ + YYSYMBOL_USAMPLERCUBEARRAY = 169, /* USAMPLERCUBEARRAY */ + YYSYMBOL_SAMPLER1D = 170, /* SAMPLER1D */ + YYSYMBOL_SAMPLER1DARRAY = 171, /* SAMPLER1DARRAY */ + YYSYMBOL_SAMPLER1DARRAYSHADOW = 172, /* SAMPLER1DARRAYSHADOW */ + YYSYMBOL_ISAMPLER1D = 173, /* ISAMPLER1D */ + YYSYMBOL_SAMPLER1DSHADOW = 174, /* SAMPLER1DSHADOW */ + YYSYMBOL_SAMPLER2DRECT = 175, /* SAMPLER2DRECT */ + YYSYMBOL_SAMPLER2DRECTSHADOW = 176, /* SAMPLER2DRECTSHADOW */ + YYSYMBOL_ISAMPLER2DRECT = 177, /* ISAMPLER2DRECT */ + YYSYMBOL_USAMPLER2DRECT = 178, /* USAMPLER2DRECT */ + YYSYMBOL_SAMPLERBUFFER = 179, /* SAMPLERBUFFER */ + YYSYMBOL_ISAMPLERBUFFER = 180, /* ISAMPLERBUFFER */ + YYSYMBOL_USAMPLERBUFFER = 181, /* USAMPLERBUFFER */ + YYSYMBOL_SAMPLER2DMS = 182, /* SAMPLER2DMS */ + YYSYMBOL_ISAMPLER2DMS = 183, /* ISAMPLER2DMS */ + YYSYMBOL_USAMPLER2DMS = 184, /* USAMPLER2DMS */ + YYSYMBOL_SAMPLER2DMSARRAY = 185, /* SAMPLER2DMSARRAY */ + YYSYMBOL_ISAMPLER2DMSARRAY = 186, /* ISAMPLER2DMSARRAY */ + YYSYMBOL_USAMPLER2DMSARRAY = 187, /* USAMPLER2DMSARRAY */ + YYSYMBOL_SAMPLEREXTERNALOES = 188, /* SAMPLEREXTERNALOES */ + YYSYMBOL_SAMPLEREXTERNAL2DY2YEXT = 189, /* SAMPLEREXTERNAL2DY2YEXT */ + YYSYMBOL_ISAMPLER1DARRAY = 190, /* ISAMPLER1DARRAY */ + YYSYMBOL_USAMPLER1D = 191, /* USAMPLER1D */ + YYSYMBOL_USAMPLER1DARRAY = 192, /* USAMPLER1DARRAY */ + YYSYMBOL_F16SAMPLER1D = 193, /* F16SAMPLER1D */ + YYSYMBOL_F16SAMPLER2D = 194, /* F16SAMPLER2D */ + YYSYMBOL_F16SAMPLER3D = 195, /* F16SAMPLER3D */ + YYSYMBOL_F16SAMPLER2DRECT = 196, /* F16SAMPLER2DRECT */ + YYSYMBOL_F16SAMPLERCUBE = 197, /* F16SAMPLERCUBE */ + YYSYMBOL_F16SAMPLER1DARRAY = 198, /* F16SAMPLER1DARRAY */ + YYSYMBOL_F16SAMPLER2DARRAY = 199, /* F16SAMPLER2DARRAY */ + YYSYMBOL_F16SAMPLERCUBEARRAY = 200, /* F16SAMPLERCUBEARRAY */ + YYSYMBOL_F16SAMPLERBUFFER = 201, /* F16SAMPLERBUFFER */ + YYSYMBOL_F16SAMPLER2DMS = 202, /* F16SAMPLER2DMS */ + YYSYMBOL_F16SAMPLER2DMSARRAY = 203, /* F16SAMPLER2DMSARRAY */ + YYSYMBOL_F16SAMPLER1DSHADOW = 204, /* F16SAMPLER1DSHADOW */ + YYSYMBOL_F16SAMPLER2DSHADOW = 205, /* F16SAMPLER2DSHADOW */ + YYSYMBOL_F16SAMPLER1DARRAYSHADOW = 206, /* F16SAMPLER1DARRAYSHADOW */ + YYSYMBOL_F16SAMPLER2DARRAYSHADOW = 207, /* F16SAMPLER2DARRAYSHADOW */ + YYSYMBOL_F16SAMPLER2DRECTSHADOW = 208, /* F16SAMPLER2DRECTSHADOW */ + YYSYMBOL_F16SAMPLERCUBESHADOW = 209, /* F16SAMPLERCUBESHADOW */ + YYSYMBOL_F16SAMPLERCUBEARRAYSHADOW = 210, /* F16SAMPLERCUBEARRAYSHADOW */ + YYSYMBOL_IMAGE1D = 211, /* IMAGE1D */ + YYSYMBOL_IIMAGE1D = 212, /* IIMAGE1D */ + YYSYMBOL_UIMAGE1D = 213, /* UIMAGE1D */ + YYSYMBOL_IMAGE2D = 214, /* IMAGE2D */ + YYSYMBOL_IIMAGE2D = 215, /* IIMAGE2D */ + YYSYMBOL_UIMAGE2D = 216, /* UIMAGE2D */ + YYSYMBOL_IMAGE3D = 217, /* IMAGE3D */ + YYSYMBOL_IIMAGE3D = 218, /* IIMAGE3D */ + YYSYMBOL_UIMAGE3D = 219, /* UIMAGE3D */ + YYSYMBOL_IMAGE2DRECT = 220, /* IMAGE2DRECT */ + YYSYMBOL_IIMAGE2DRECT = 221, /* IIMAGE2DRECT */ + YYSYMBOL_UIMAGE2DRECT = 222, /* UIMAGE2DRECT */ + YYSYMBOL_IMAGECUBE = 223, /* IMAGECUBE */ + YYSYMBOL_IIMAGECUBE = 224, /* IIMAGECUBE */ + YYSYMBOL_UIMAGECUBE = 225, /* UIMAGECUBE */ + YYSYMBOL_IMAGEBUFFER = 226, /* IMAGEBUFFER */ + YYSYMBOL_IIMAGEBUFFER = 227, /* IIMAGEBUFFER */ + YYSYMBOL_UIMAGEBUFFER = 228, /* UIMAGEBUFFER */ + YYSYMBOL_IMAGE1DARRAY = 229, /* IMAGE1DARRAY */ + YYSYMBOL_IIMAGE1DARRAY = 230, /* IIMAGE1DARRAY */ + YYSYMBOL_UIMAGE1DARRAY = 231, /* UIMAGE1DARRAY */ + YYSYMBOL_IMAGE2DARRAY = 232, /* IMAGE2DARRAY */ + YYSYMBOL_IIMAGE2DARRAY = 233, /* IIMAGE2DARRAY */ + YYSYMBOL_UIMAGE2DARRAY = 234, /* UIMAGE2DARRAY */ + YYSYMBOL_IMAGECUBEARRAY = 235, /* IMAGECUBEARRAY */ + YYSYMBOL_IIMAGECUBEARRAY = 236, /* IIMAGECUBEARRAY */ + YYSYMBOL_UIMAGECUBEARRAY = 237, /* UIMAGECUBEARRAY */ + YYSYMBOL_IMAGE2DMS = 238, /* IMAGE2DMS */ + YYSYMBOL_IIMAGE2DMS = 239, /* IIMAGE2DMS */ + YYSYMBOL_UIMAGE2DMS = 240, /* UIMAGE2DMS */ + YYSYMBOL_IMAGE2DMSARRAY = 241, /* IMAGE2DMSARRAY */ + YYSYMBOL_IIMAGE2DMSARRAY = 242, /* IIMAGE2DMSARRAY */ + YYSYMBOL_UIMAGE2DMSARRAY = 243, /* UIMAGE2DMSARRAY */ + YYSYMBOL_F16IMAGE1D = 244, /* F16IMAGE1D */ + YYSYMBOL_F16IMAGE2D = 245, /* F16IMAGE2D */ + YYSYMBOL_F16IMAGE3D = 246, /* F16IMAGE3D */ + YYSYMBOL_F16IMAGE2DRECT = 247, /* F16IMAGE2DRECT */ + YYSYMBOL_F16IMAGECUBE = 248, /* F16IMAGECUBE */ + YYSYMBOL_F16IMAGE1DARRAY = 249, /* F16IMAGE1DARRAY */ + YYSYMBOL_F16IMAGE2DARRAY = 250, /* F16IMAGE2DARRAY */ + YYSYMBOL_F16IMAGECUBEARRAY = 251, /* F16IMAGECUBEARRAY */ + YYSYMBOL_F16IMAGEBUFFER = 252, /* F16IMAGEBUFFER */ + YYSYMBOL_F16IMAGE2DMS = 253, /* F16IMAGE2DMS */ + YYSYMBOL_F16IMAGE2DMSARRAY = 254, /* F16IMAGE2DMSARRAY */ + YYSYMBOL_I64IMAGE1D = 255, /* I64IMAGE1D */ + YYSYMBOL_U64IMAGE1D = 256, /* U64IMAGE1D */ + YYSYMBOL_I64IMAGE2D = 257, /* I64IMAGE2D */ + YYSYMBOL_U64IMAGE2D = 258, /* U64IMAGE2D */ + YYSYMBOL_I64IMAGE3D = 259, /* I64IMAGE3D */ + YYSYMBOL_U64IMAGE3D = 260, /* U64IMAGE3D */ + YYSYMBOL_I64IMAGE2DRECT = 261, /* I64IMAGE2DRECT */ + YYSYMBOL_U64IMAGE2DRECT = 262, /* U64IMAGE2DRECT */ + YYSYMBOL_I64IMAGECUBE = 263, /* I64IMAGECUBE */ + YYSYMBOL_U64IMAGECUBE = 264, /* U64IMAGECUBE */ + YYSYMBOL_I64IMAGEBUFFER = 265, /* I64IMAGEBUFFER */ + YYSYMBOL_U64IMAGEBUFFER = 266, /* U64IMAGEBUFFER */ + YYSYMBOL_I64IMAGE1DARRAY = 267, /* I64IMAGE1DARRAY */ + YYSYMBOL_U64IMAGE1DARRAY = 268, /* U64IMAGE1DARRAY */ + YYSYMBOL_I64IMAGE2DARRAY = 269, /* I64IMAGE2DARRAY */ + YYSYMBOL_U64IMAGE2DARRAY = 270, /* U64IMAGE2DARRAY */ + YYSYMBOL_I64IMAGECUBEARRAY = 271, /* I64IMAGECUBEARRAY */ + YYSYMBOL_U64IMAGECUBEARRAY = 272, /* U64IMAGECUBEARRAY */ + YYSYMBOL_I64IMAGE2DMS = 273, /* I64IMAGE2DMS */ + YYSYMBOL_U64IMAGE2DMS = 274, /* U64IMAGE2DMS */ + YYSYMBOL_I64IMAGE2DMSARRAY = 275, /* I64IMAGE2DMSARRAY */ + YYSYMBOL_U64IMAGE2DMSARRAY = 276, /* U64IMAGE2DMSARRAY */ + YYSYMBOL_TEXTURECUBEARRAY = 277, /* TEXTURECUBEARRAY */ + YYSYMBOL_ITEXTURECUBEARRAY = 278, /* ITEXTURECUBEARRAY */ + YYSYMBOL_UTEXTURECUBEARRAY = 279, /* UTEXTURECUBEARRAY */ + YYSYMBOL_TEXTURE1D = 280, /* TEXTURE1D */ + YYSYMBOL_ITEXTURE1D = 281, /* ITEXTURE1D */ + YYSYMBOL_UTEXTURE1D = 282, /* UTEXTURE1D */ + YYSYMBOL_TEXTURE1DARRAY = 283, /* TEXTURE1DARRAY */ + YYSYMBOL_ITEXTURE1DARRAY = 284, /* ITEXTURE1DARRAY */ + YYSYMBOL_UTEXTURE1DARRAY = 285, /* UTEXTURE1DARRAY */ + YYSYMBOL_TEXTURE2DRECT = 286, /* TEXTURE2DRECT */ + YYSYMBOL_ITEXTURE2DRECT = 287, /* ITEXTURE2DRECT */ + YYSYMBOL_UTEXTURE2DRECT = 288, /* UTEXTURE2DRECT */ + YYSYMBOL_TEXTUREBUFFER = 289, /* TEXTUREBUFFER */ + YYSYMBOL_ITEXTUREBUFFER = 290, /* ITEXTUREBUFFER */ + YYSYMBOL_UTEXTUREBUFFER = 291, /* UTEXTUREBUFFER */ + YYSYMBOL_TEXTURE2DMS = 292, /* TEXTURE2DMS */ + YYSYMBOL_ITEXTURE2DMS = 293, /* ITEXTURE2DMS */ + YYSYMBOL_UTEXTURE2DMS = 294, /* UTEXTURE2DMS */ + YYSYMBOL_TEXTURE2DMSARRAY = 295, /* TEXTURE2DMSARRAY */ + YYSYMBOL_ITEXTURE2DMSARRAY = 296, /* ITEXTURE2DMSARRAY */ + YYSYMBOL_UTEXTURE2DMSARRAY = 297, /* UTEXTURE2DMSARRAY */ + YYSYMBOL_F16TEXTURE1D = 298, /* F16TEXTURE1D */ + YYSYMBOL_F16TEXTURE2D = 299, /* F16TEXTURE2D */ + YYSYMBOL_F16TEXTURE3D = 300, /* F16TEXTURE3D */ + YYSYMBOL_F16TEXTURE2DRECT = 301, /* F16TEXTURE2DRECT */ + YYSYMBOL_F16TEXTURECUBE = 302, /* F16TEXTURECUBE */ + YYSYMBOL_F16TEXTURE1DARRAY = 303, /* F16TEXTURE1DARRAY */ + YYSYMBOL_F16TEXTURE2DARRAY = 304, /* F16TEXTURE2DARRAY */ + YYSYMBOL_F16TEXTURECUBEARRAY = 305, /* F16TEXTURECUBEARRAY */ + YYSYMBOL_F16TEXTUREBUFFER = 306, /* F16TEXTUREBUFFER */ + YYSYMBOL_F16TEXTURE2DMS = 307, /* F16TEXTURE2DMS */ + YYSYMBOL_F16TEXTURE2DMSARRAY = 308, /* F16TEXTURE2DMSARRAY */ + YYSYMBOL_SUBPASSINPUT = 309, /* SUBPASSINPUT */ + YYSYMBOL_SUBPASSINPUTMS = 310, /* SUBPASSINPUTMS */ + YYSYMBOL_ISUBPASSINPUT = 311, /* ISUBPASSINPUT */ + YYSYMBOL_ISUBPASSINPUTMS = 312, /* ISUBPASSINPUTMS */ + YYSYMBOL_USUBPASSINPUT = 313, /* USUBPASSINPUT */ + YYSYMBOL_USUBPASSINPUTMS = 314, /* USUBPASSINPUTMS */ + YYSYMBOL_F16SUBPASSINPUT = 315, /* F16SUBPASSINPUT */ + YYSYMBOL_F16SUBPASSINPUTMS = 316, /* F16SUBPASSINPUTMS */ + YYSYMBOL_LEFT_OP = 317, /* LEFT_OP */ + YYSYMBOL_RIGHT_OP = 318, /* RIGHT_OP */ + YYSYMBOL_INC_OP = 319, /* INC_OP */ + YYSYMBOL_DEC_OP = 320, /* DEC_OP */ + YYSYMBOL_LE_OP = 321, /* LE_OP */ + YYSYMBOL_GE_OP = 322, /* GE_OP */ + YYSYMBOL_EQ_OP = 323, /* EQ_OP */ + YYSYMBOL_NE_OP = 324, /* NE_OP */ + YYSYMBOL_AND_OP = 325, /* AND_OP */ + YYSYMBOL_OR_OP = 326, /* OR_OP */ + YYSYMBOL_XOR_OP = 327, /* XOR_OP */ + YYSYMBOL_MUL_ASSIGN = 328, /* MUL_ASSIGN */ + YYSYMBOL_DIV_ASSIGN = 329, /* DIV_ASSIGN */ + YYSYMBOL_ADD_ASSIGN = 330, /* ADD_ASSIGN */ + YYSYMBOL_MOD_ASSIGN = 331, /* MOD_ASSIGN */ + YYSYMBOL_LEFT_ASSIGN = 332, /* LEFT_ASSIGN */ + YYSYMBOL_RIGHT_ASSIGN = 333, /* RIGHT_ASSIGN */ + YYSYMBOL_AND_ASSIGN = 334, /* AND_ASSIGN */ + YYSYMBOL_XOR_ASSIGN = 335, /* XOR_ASSIGN */ + YYSYMBOL_OR_ASSIGN = 336, /* OR_ASSIGN */ + YYSYMBOL_SUB_ASSIGN = 337, /* SUB_ASSIGN */ + YYSYMBOL_STRING_LITERAL = 338, /* STRING_LITERAL */ + YYSYMBOL_LEFT_PAREN = 339, /* LEFT_PAREN */ + YYSYMBOL_RIGHT_PAREN = 340, /* RIGHT_PAREN */ + YYSYMBOL_LEFT_BRACKET = 341, /* LEFT_BRACKET */ + YYSYMBOL_RIGHT_BRACKET = 342, /* RIGHT_BRACKET */ + YYSYMBOL_LEFT_BRACE = 343, /* LEFT_BRACE */ + YYSYMBOL_RIGHT_BRACE = 344, /* RIGHT_BRACE */ + YYSYMBOL_DOT = 345, /* DOT */ + YYSYMBOL_COMMA = 346, /* COMMA */ + YYSYMBOL_COLON = 347, /* COLON */ + YYSYMBOL_EQUAL = 348, /* EQUAL */ + YYSYMBOL_SEMICOLON = 349, /* SEMICOLON */ + YYSYMBOL_BANG = 350, /* BANG */ + YYSYMBOL_DASH = 351, /* DASH */ + YYSYMBOL_TILDE = 352, /* TILDE */ + YYSYMBOL_PLUS = 353, /* PLUS */ + YYSYMBOL_STAR = 354, /* STAR */ + YYSYMBOL_SLASH = 355, /* SLASH */ + YYSYMBOL_PERCENT = 356, /* PERCENT */ + YYSYMBOL_LEFT_ANGLE = 357, /* LEFT_ANGLE */ + YYSYMBOL_RIGHT_ANGLE = 358, /* RIGHT_ANGLE */ + YYSYMBOL_VERTICAL_BAR = 359, /* VERTICAL_BAR */ + YYSYMBOL_CARET = 360, /* CARET */ + YYSYMBOL_AMPERSAND = 361, /* AMPERSAND */ + YYSYMBOL_QUESTION = 362, /* QUESTION */ + YYSYMBOL_INVARIANT = 363, /* INVARIANT */ + YYSYMBOL_HIGH_PRECISION = 364, /* HIGH_PRECISION */ + YYSYMBOL_MEDIUM_PRECISION = 365, /* MEDIUM_PRECISION */ + YYSYMBOL_LOW_PRECISION = 366, /* LOW_PRECISION */ + YYSYMBOL_PRECISION = 367, /* PRECISION */ + YYSYMBOL_PACKED = 368, /* PACKED */ + YYSYMBOL_RESOURCE = 369, /* RESOURCE */ + YYSYMBOL_SUPERP = 370, /* SUPERP */ + YYSYMBOL_FLOATCONSTANT = 371, /* FLOATCONSTANT */ + YYSYMBOL_INTCONSTANT = 372, /* INTCONSTANT */ + YYSYMBOL_UINTCONSTANT = 373, /* UINTCONSTANT */ + YYSYMBOL_BOOLCONSTANT = 374, /* BOOLCONSTANT */ + YYSYMBOL_IDENTIFIER = 375, /* IDENTIFIER */ + YYSYMBOL_TYPE_NAME = 376, /* TYPE_NAME */ + YYSYMBOL_CENTROID = 377, /* CENTROID */ + YYSYMBOL_IN = 378, /* IN */ + YYSYMBOL_OUT = 379, /* OUT */ + YYSYMBOL_INOUT = 380, /* INOUT */ + YYSYMBOL_STRUCT = 381, /* STRUCT */ + YYSYMBOL_VOID = 382, /* VOID */ + YYSYMBOL_WHILE = 383, /* WHILE */ + YYSYMBOL_BREAK = 384, /* BREAK */ + YYSYMBOL_CONTINUE = 385, /* CONTINUE */ + YYSYMBOL_DO = 386, /* DO */ + YYSYMBOL_ELSE = 387, /* ELSE */ + YYSYMBOL_FOR = 388, /* FOR */ + YYSYMBOL_IF = 389, /* IF */ + YYSYMBOL_DISCARD = 390, /* DISCARD */ + YYSYMBOL_RETURN = 391, /* RETURN */ + YYSYMBOL_SWITCH = 392, /* SWITCH */ + YYSYMBOL_CASE = 393, /* CASE */ + YYSYMBOL_DEFAULT = 394, /* DEFAULT */ + YYSYMBOL_TERMINATE_INVOCATION = 395, /* TERMINATE_INVOCATION */ + YYSYMBOL_TERMINATE_RAY = 396, /* TERMINATE_RAY */ + YYSYMBOL_IGNORE_INTERSECTION = 397, /* IGNORE_INTERSECTION */ + YYSYMBOL_UNIFORM = 398, /* UNIFORM */ + YYSYMBOL_SHARED = 399, /* SHARED */ + YYSYMBOL_BUFFER = 400, /* BUFFER */ + YYSYMBOL_FLAT = 401, /* FLAT */ + YYSYMBOL_SMOOTH = 402, /* SMOOTH */ + YYSYMBOL_LAYOUT = 403, /* LAYOUT */ + YYSYMBOL_DOUBLECONSTANT = 404, /* DOUBLECONSTANT */ + YYSYMBOL_INT16CONSTANT = 405, /* INT16CONSTANT */ + YYSYMBOL_UINT16CONSTANT = 406, /* UINT16CONSTANT */ + YYSYMBOL_FLOAT16CONSTANT = 407, /* FLOAT16CONSTANT */ + YYSYMBOL_INT32CONSTANT = 408, /* INT32CONSTANT */ + YYSYMBOL_UINT32CONSTANT = 409, /* UINT32CONSTANT */ + YYSYMBOL_INT64CONSTANT = 410, /* INT64CONSTANT */ + YYSYMBOL_UINT64CONSTANT = 411, /* UINT64CONSTANT */ + YYSYMBOL_SUBROUTINE = 412, /* SUBROUTINE */ + YYSYMBOL_DEMOTE = 413, /* DEMOTE */ + YYSYMBOL_PAYLOADNV = 414, /* PAYLOADNV */ + YYSYMBOL_PAYLOADINNV = 415, /* PAYLOADINNV */ + YYSYMBOL_HITATTRNV = 416, /* HITATTRNV */ + YYSYMBOL_CALLDATANV = 417, /* CALLDATANV */ + YYSYMBOL_CALLDATAINNV = 418, /* CALLDATAINNV */ + YYSYMBOL_PAYLOADEXT = 419, /* PAYLOADEXT */ + YYSYMBOL_PAYLOADINEXT = 420, /* PAYLOADINEXT */ + YYSYMBOL_HITATTREXT = 421, /* HITATTREXT */ + YYSYMBOL_CALLDATAEXT = 422, /* CALLDATAEXT */ + YYSYMBOL_CALLDATAINEXT = 423, /* CALLDATAINEXT */ + YYSYMBOL_PATCH = 424, /* PATCH */ + YYSYMBOL_SAMPLE = 425, /* SAMPLE */ + YYSYMBOL_NONUNIFORM = 426, /* NONUNIFORM */ + YYSYMBOL_COHERENT = 427, /* COHERENT */ + YYSYMBOL_VOLATILE = 428, /* VOLATILE */ + YYSYMBOL_RESTRICT = 429, /* RESTRICT */ + YYSYMBOL_READONLY = 430, /* READONLY */ + YYSYMBOL_WRITEONLY = 431, /* WRITEONLY */ + YYSYMBOL_DEVICECOHERENT = 432, /* DEVICECOHERENT */ + YYSYMBOL_QUEUEFAMILYCOHERENT = 433, /* QUEUEFAMILYCOHERENT */ + YYSYMBOL_WORKGROUPCOHERENT = 434, /* WORKGROUPCOHERENT */ + YYSYMBOL_SUBGROUPCOHERENT = 435, /* SUBGROUPCOHERENT */ + YYSYMBOL_NONPRIVATE = 436, /* NONPRIVATE */ + YYSYMBOL_SHADERCALLCOHERENT = 437, /* SHADERCALLCOHERENT */ + YYSYMBOL_NOPERSPECTIVE = 438, /* NOPERSPECTIVE */ + YYSYMBOL_EXPLICITINTERPAMD = 439, /* EXPLICITINTERPAMD */ + YYSYMBOL_PERVERTEXNV = 440, /* PERVERTEXNV */ + YYSYMBOL_PERPRIMITIVENV = 441, /* PERPRIMITIVENV */ + YYSYMBOL_PERVIEWNV = 442, /* PERVIEWNV */ + YYSYMBOL_PERTASKNV = 443, /* PERTASKNV */ + YYSYMBOL_PRECISE = 444, /* PRECISE */ + YYSYMBOL_YYACCEPT = 445, /* $accept */ + YYSYMBOL_variable_identifier = 446, /* variable_identifier */ + YYSYMBOL_primary_expression = 447, /* primary_expression */ + YYSYMBOL_postfix_expression = 448, /* postfix_expression */ + YYSYMBOL_integer_expression = 449, /* integer_expression */ + YYSYMBOL_function_call = 450, /* function_call */ + YYSYMBOL_function_call_or_method = 451, /* function_call_or_method */ + YYSYMBOL_function_call_generic = 452, /* function_call_generic */ + YYSYMBOL_function_call_header_no_parameters = 453, /* function_call_header_no_parameters */ + YYSYMBOL_function_call_header_with_parameters = 454, /* function_call_header_with_parameters */ + YYSYMBOL_function_call_header = 455, /* function_call_header */ + YYSYMBOL_function_identifier = 456, /* function_identifier */ + YYSYMBOL_unary_expression = 457, /* unary_expression */ + YYSYMBOL_unary_operator = 458, /* unary_operator */ + YYSYMBOL_multiplicative_expression = 459, /* multiplicative_expression */ + YYSYMBOL_additive_expression = 460, /* additive_expression */ + YYSYMBOL_shift_expression = 461, /* shift_expression */ + YYSYMBOL_relational_expression = 462, /* relational_expression */ + YYSYMBOL_equality_expression = 463, /* equality_expression */ + YYSYMBOL_and_expression = 464, /* and_expression */ + YYSYMBOL_exclusive_or_expression = 465, /* exclusive_or_expression */ + YYSYMBOL_inclusive_or_expression = 466, /* inclusive_or_expression */ + YYSYMBOL_logical_and_expression = 467, /* logical_and_expression */ + YYSYMBOL_logical_xor_expression = 468, /* logical_xor_expression */ + YYSYMBOL_logical_or_expression = 469, /* logical_or_expression */ + YYSYMBOL_conditional_expression = 470, /* conditional_expression */ + YYSYMBOL_471_1 = 471, /* $@1 */ + YYSYMBOL_assignment_expression = 472, /* assignment_expression */ + YYSYMBOL_assignment_operator = 473, /* assignment_operator */ + YYSYMBOL_expression = 474, /* expression */ + YYSYMBOL_constant_expression = 475, /* constant_expression */ + YYSYMBOL_declaration = 476, /* declaration */ + YYSYMBOL_block_structure = 477, /* block_structure */ + YYSYMBOL_478_2 = 478, /* $@2 */ + YYSYMBOL_identifier_list = 479, /* identifier_list */ + YYSYMBOL_function_prototype = 480, /* function_prototype */ + YYSYMBOL_function_declarator = 481, /* function_declarator */ + YYSYMBOL_function_header_with_parameters = 482, /* function_header_with_parameters */ + YYSYMBOL_function_header = 483, /* function_header */ + YYSYMBOL_parameter_declarator = 484, /* parameter_declarator */ + YYSYMBOL_parameter_declaration = 485, /* parameter_declaration */ + YYSYMBOL_parameter_type_specifier = 486, /* parameter_type_specifier */ + YYSYMBOL_init_declarator_list = 487, /* init_declarator_list */ + YYSYMBOL_single_declaration = 488, /* single_declaration */ + YYSYMBOL_fully_specified_type = 489, /* fully_specified_type */ + YYSYMBOL_invariant_qualifier = 490, /* invariant_qualifier */ + YYSYMBOL_interpolation_qualifier = 491, /* interpolation_qualifier */ + YYSYMBOL_layout_qualifier = 492, /* layout_qualifier */ + YYSYMBOL_layout_qualifier_id_list = 493, /* layout_qualifier_id_list */ + YYSYMBOL_layout_qualifier_id = 494, /* layout_qualifier_id */ + YYSYMBOL_precise_qualifier = 495, /* precise_qualifier */ + YYSYMBOL_type_qualifier = 496, /* type_qualifier */ + YYSYMBOL_single_type_qualifier = 497, /* single_type_qualifier */ + YYSYMBOL_storage_qualifier = 498, /* storage_qualifier */ + YYSYMBOL_non_uniform_qualifier = 499, /* non_uniform_qualifier */ + YYSYMBOL_type_name_list = 500, /* type_name_list */ + YYSYMBOL_type_specifier = 501, /* type_specifier */ + YYSYMBOL_array_specifier = 502, /* array_specifier */ + YYSYMBOL_type_parameter_specifier_opt = 503, /* type_parameter_specifier_opt */ + YYSYMBOL_type_parameter_specifier = 504, /* type_parameter_specifier */ + YYSYMBOL_type_parameter_specifier_list = 505, /* type_parameter_specifier_list */ + YYSYMBOL_type_specifier_nonarray = 506, /* type_specifier_nonarray */ + YYSYMBOL_precision_qualifier = 507, /* precision_qualifier */ + YYSYMBOL_struct_specifier = 508, /* struct_specifier */ + YYSYMBOL_509_3 = 509, /* $@3 */ + YYSYMBOL_510_4 = 510, /* $@4 */ + YYSYMBOL_struct_declaration_list = 511, /* struct_declaration_list */ + YYSYMBOL_struct_declaration = 512, /* struct_declaration */ + YYSYMBOL_struct_declarator_list = 513, /* struct_declarator_list */ + YYSYMBOL_struct_declarator = 514, /* struct_declarator */ + YYSYMBOL_initializer = 515, /* initializer */ + YYSYMBOL_initializer_list = 516, /* initializer_list */ + YYSYMBOL_declaration_statement = 517, /* declaration_statement */ + YYSYMBOL_statement = 518, /* statement */ + YYSYMBOL_simple_statement = 519, /* simple_statement */ + YYSYMBOL_demote_statement = 520, /* demote_statement */ + YYSYMBOL_compound_statement = 521, /* compound_statement */ + YYSYMBOL_522_5 = 522, /* $@5 */ + YYSYMBOL_523_6 = 523, /* $@6 */ + YYSYMBOL_statement_no_new_scope = 524, /* statement_no_new_scope */ + YYSYMBOL_statement_scoped = 525, /* statement_scoped */ + YYSYMBOL_526_7 = 526, /* $@7 */ + YYSYMBOL_527_8 = 527, /* $@8 */ + YYSYMBOL_compound_statement_no_new_scope = 528, /* compound_statement_no_new_scope */ + YYSYMBOL_statement_list = 529, /* statement_list */ + YYSYMBOL_expression_statement = 530, /* expression_statement */ + YYSYMBOL_selection_statement = 531, /* selection_statement */ + YYSYMBOL_selection_statement_nonattributed = 532, /* selection_statement_nonattributed */ + YYSYMBOL_selection_rest_statement = 533, /* selection_rest_statement */ + YYSYMBOL_condition = 534, /* condition */ + YYSYMBOL_switch_statement = 535, /* switch_statement */ + YYSYMBOL_switch_statement_nonattributed = 536, /* switch_statement_nonattributed */ + YYSYMBOL_537_9 = 537, /* $@9 */ + YYSYMBOL_switch_statement_list = 538, /* switch_statement_list */ + YYSYMBOL_case_label = 539, /* case_label */ + YYSYMBOL_iteration_statement = 540, /* iteration_statement */ + YYSYMBOL_iteration_statement_nonattributed = 541, /* iteration_statement_nonattributed */ + YYSYMBOL_542_10 = 542, /* $@10 */ + YYSYMBOL_543_11 = 543, /* $@11 */ + YYSYMBOL_544_12 = 544, /* $@12 */ + YYSYMBOL_for_init_statement = 545, /* for_init_statement */ + YYSYMBOL_conditionopt = 546, /* conditionopt */ + YYSYMBOL_for_rest_statement = 547, /* for_rest_statement */ + YYSYMBOL_jump_statement = 548, /* jump_statement */ + YYSYMBOL_translation_unit = 549, /* translation_unit */ + YYSYMBOL_external_declaration = 550, /* external_declaration */ + YYSYMBOL_function_definition = 551, /* function_definition */ + YYSYMBOL_552_13 = 552, /* $@13 */ + YYSYMBOL_attribute = 553, /* attribute */ + YYSYMBOL_attribute_list = 554, /* attribute_list */ + YYSYMBOL_single_attribute = 555 /* single_attribute */ +}; +typedef enum yysymbol_kind_t yysymbol_kind_t; + + +/* Second part of user prologue. */ +#line 133 "MachineIndependent/glslang.y" + + +/* windows only pragma */ +#ifdef _MSC_VER + #pragma warning(disable : 4065) + #pragma warning(disable : 4127) + #pragma warning(disable : 4244) +#endif + +#define parseContext (*pParseContext) +#define yyerror(context, msg) context->parserError(msg) + +extern int yylex(YYSTYPE*, TParseContext&); + + +#line 702 "MachineIndependent/glslang_tab.cpp" + + +#ifdef short +# undef short +#endif + +/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure + and (if available) are included + so that the code can choose integer types of a good width. */ + +#ifndef __PTRDIFF_MAX__ +# include /* INFRINGES ON USER NAME SPACE */ +# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ +# include /* INFRINGES ON USER NAME SPACE */ +# define YY_STDINT_H +# endif +#endif + +/* Narrow types that promote to a signed type and that can represent a + signed or unsigned integer of at least N bits. In tables they can + save space and decrease cache pressure. Promoting to a signed type + helps avoid bugs in integer arithmetic. */ + +#ifdef __INT_LEAST8_MAX__ +typedef __INT_LEAST8_TYPE__ yytype_int8; +#elif defined YY_STDINT_H +typedef int_least8_t yytype_int8; +#else +typedef signed char yytype_int8; +#endif + +#ifdef __INT_LEAST16_MAX__ +typedef __INT_LEAST16_TYPE__ yytype_int16; +#elif defined YY_STDINT_H +typedef int_least16_t yytype_int16; +#else +typedef short yytype_int16; +#endif + +#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST8_TYPE__ yytype_uint8; +#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST8_MAX <= INT_MAX) +typedef uint_least8_t yytype_uint8; +#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX +typedef unsigned char yytype_uint8; +#else +typedef short yytype_uint8; +#endif + +#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST16_TYPE__ yytype_uint16; +#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST16_MAX <= INT_MAX) +typedef uint_least16_t yytype_uint16; +#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX +typedef unsigned short yytype_uint16; +#else +typedef int yytype_uint16; +#endif + +#ifndef YYPTRDIFF_T +# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ +# define YYPTRDIFF_T __PTRDIFF_TYPE__ +# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ +# elif defined PTRDIFF_MAX +# ifndef ptrdiff_t +# include /* INFRINGES ON USER NAME SPACE */ +# endif +# define YYPTRDIFF_T ptrdiff_t +# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX +# else +# define YYPTRDIFF_T long +# define YYPTRDIFF_MAXIMUM LONG_MAX +# endif +#endif + +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned +# endif +#endif + +#define YYSIZE_MAXIMUM \ + YY_CAST (YYPTRDIFF_T, \ + (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ + ? YYPTRDIFF_MAXIMUM \ + : YY_CAST (YYSIZE_T, -1))) + +#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) + + +/* Stored state numbers (used for stacks). */ +typedef yytype_int16 yy_state_t; + +/* State numbers in computations. */ +typedef int yy_state_fast_t; + +#ifndef YY_ +# if defined YYENABLE_NLS && YYENABLE_NLS +# if ENABLE_NLS +# include /* INFRINGES ON USER NAME SPACE */ +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) +# endif +# endif +# ifndef YY_ +# define YY_(Msgid) Msgid +# endif +#endif + + +#ifndef YY_ATTRIBUTE_PURE +# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define YY_ATTRIBUTE_PURE +# endif +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +# else +# define YY_ATTRIBUTE_UNUSED +# endif +#endif + +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(E) ((void) (E)) +#else +# define YYUSE(E) /* empty */ +#endif + +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") +#else +# define YY_INITIAL_VALUE(Value) Value +#endif +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END +#endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + +#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ +# define YY_IGNORE_USELESS_CAST_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") +# define YY_IGNORE_USELESS_CAST_END \ + _Pragma ("GCC diagnostic pop") +#endif +#ifndef YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_END +#endif + + +#define YY_ASSERT(E) ((void) (0 && (E))) + +#if 1 + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS +# include /* INFRINGES ON USER NAME SPACE */ + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +# endif +# else +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +# endif +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include /* INFRINGES ON USER NAME SPACE */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined EXIT_SUCCESS +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined EXIT_SUCCESS +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* 1 */ + +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yy_state_t yyss_alloc; + YYSTYPE yyvs_alloc; +}; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +# define YYCOPY_NEEDED 1 + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYPTRDIFF_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / YYSIZEOF (*yyptr); \ + } \ + while (0) + +#endif + +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYPTRDIFF_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 416 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 10112 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 445 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 111 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 616 +/* YYNSTATES -- Number of states. */ +#define YYNSTATES 764 + +/* YYMAXUTOK -- Last valid token kind. */ +#define YYMAXUTOK 699 + + +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ +#define YYTRANSLATE(YYX) \ + (0 <= (YYX) && (YYX) <= YYMAXUTOK \ + ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ + : YYSYMBOL_YYUNDEF) + +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex. */ +static const yytype_int16 yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444 +}; + +#if YYDEBUG + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_int16 yyrline[] = +{ + 0, 371, 371, 377, 380, 385, 388, 391, 395, 399, + 402, 406, 410, 414, 418, 422, 426, 432, 440, 443, + 446, 449, 452, 457, 465, 472, 479, 485, 489, 496, + 499, 505, 512, 522, 530, 535, 563, 572, 578, 582, + 586, 606, 607, 608, 609, 615, 616, 621, 626, 635, + 636, 641, 649, 650, 656, 665, 666, 671, 676, 681, + 689, 690, 699, 711, 712, 721, 722, 731, 732, 741, + 742, 750, 751, 759, 760, 768, 769, 769, 787, 788, + 804, 808, 812, 816, 821, 825, 829, 833, 837, 841, + 845, 852, 855, 866, 873, 878, 883, 890, 894, 898, + 902, 907, 912, 921, 921, 932, 936, 943, 950, 953, + 960, 968, 988, 1011, 1026, 1051, 1062, 1072, 1082, 1092, + 1101, 1104, 1108, 1112, 1117, 1125, 1132, 1137, 1142, 1147, + 1156, 1166, 1193, 1202, 1209, 1217, 1224, 1231, 1239, 1249, + 1256, 1267, 1273, 1276, 1283, 1287, 1291, 1300, 1310, 1313, + 1324, 1327, 1330, 1334, 1338, 1343, 1347, 1354, 1358, 1363, + 1369, 1375, 1382, 1387, 1395, 1401, 1413, 1427, 1433, 1438, + 1446, 1454, 1462, 1470, 1478, 1486, 1494, 1502, 1509, 1516, + 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1554, 1558, 1562, + 1566, 1572, 1583, 1590, 1593, 1602, 1607, 1617, 1622, 1630, + 1634, 1644, 1647, 1653, 1659, 1666, 1676, 1680, 1684, 1688, + 1693, 1697, 1702, 1707, 1712, 1717, 1722, 1727, 1732, 1737, + 1742, 1748, 1754, 1760, 1765, 1770, 1775, 1780, 1785, 1790, + 1795, 1800, 1805, 1810, 1815, 1821, 1828, 1833, 1838, 1843, + 1848, 1853, 1858, 1863, 1868, 1873, 1878, 1883, 1891, 1899, + 1907, 1913, 1919, 1925, 1931, 1937, 1943, 1949, 1955, 1961, + 1967, 1973, 1979, 1985, 1991, 1997, 2003, 2009, 2015, 2021, + 2027, 2033, 2039, 2045, 2051, 2057, 2063, 2069, 2075, 2081, + 2087, 2093, 2099, 2105, 2113, 2121, 2129, 2137, 2145, 2153, + 2161, 2169, 2177, 2185, 2193, 2201, 2207, 2213, 2219, 2225, + 2231, 2237, 2243, 2249, 2255, 2261, 2267, 2273, 2279, 2285, + 2291, 2297, 2303, 2309, 2315, 2321, 2327, 2333, 2339, 2345, + 2351, 2357, 2363, 2369, 2375, 2381, 2387, 2393, 2399, 2405, + 2411, 2417, 2421, 2425, 2429, 2434, 2440, 2445, 2450, 2455, + 2460, 2465, 2470, 2476, 2481, 2486, 2491, 2496, 2501, 2507, + 2513, 2519, 2525, 2531, 2537, 2543, 2549, 2555, 2561, 2567, + 2573, 2579, 2585, 2590, 2595, 2600, 2605, 2610, 2615, 2621, + 2626, 2631, 2636, 2641, 2646, 2651, 2656, 2662, 2667, 2672, + 2677, 2682, 2687, 2692, 2697, 2702, 2707, 2712, 2717, 2722, + 2727, 2732, 2738, 2743, 2748, 2754, 2760, 2765, 2770, 2775, + 2781, 2786, 2791, 2796, 2802, 2807, 2812, 2817, 2823, 2828, + 2833, 2838, 2844, 2850, 2856, 2862, 2867, 2873, 2879, 2885, + 2890, 2895, 2900, 2905, 2910, 2916, 2921, 2926, 2931, 2937, + 2942, 2947, 2952, 2958, 2963, 2968, 2973, 2979, 2984, 2989, + 2994, 3000, 3005, 3010, 3015, 3021, 3026, 3031, 3036, 3042, + 3047, 3052, 3057, 3063, 3068, 3073, 3078, 3084, 3089, 3094, + 3099, 3105, 3110, 3115, 3120, 3126, 3131, 3136, 3141, 3147, + 3152, 3157, 3162, 3168, 3173, 3178, 3183, 3189, 3194, 3199, + 3204, 3210, 3215, 3220, 3225, 3230, 3235, 3240, 3245, 3250, + 3255, 3260, 3265, 3270, 3275, 3280, 3285, 3290, 3295, 3300, + 3305, 3310, 3315, 3320, 3325, 3330, 3336, 3342, 3348, 3354, + 3361, 3368, 3374, 3380, 3386, 3392, 3398, 3404, 3411, 3416, + 3432, 3437, 3442, 3450, 3450, 3461, 3461, 3471, 3474, 3487, + 3509, 3536, 3540, 3546, 3551, 3562, 3566, 3572, 3583, 3586, + 3593, 3597, 3598, 3604, 3605, 3606, 3607, 3608, 3609, 3610, + 3612, 3618, 3627, 3628, 3632, 3628, 3644, 3645, 3649, 3649, + 3656, 3656, 3670, 3673, 3681, 3689, 3700, 3701, 3705, 3709, + 3716, 3723, 3727, 3735, 3739, 3752, 3756, 3763, 3763, 3783, + 3786, 3792, 3804, 3816, 3820, 3827, 3827, 3842, 3842, 3858, + 3858, 3879, 3882, 3888, 3891, 3897, 3901, 3908, 3913, 3918, + 3925, 3928, 3932, 3937, 3941, 3951, 3955, 3964, 3967, 3971, + 3980, 3980, 4022, 4028, 4031, 4036, 4039 +}; +#endif + +/** Accessing symbol of state STATE. */ +#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) + +#if 1 +/* The user-facing name of the symbol whose (internal) number is + YYSYMBOL. No bounds checking. */ +static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; + +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "\"end of file\"", "error", "\"invalid token\"", "CONST", "BOOL", "INT", + "UINT", "FLOAT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", + "UVEC2", "UVEC3", "UVEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", + "MAT4", "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", + "MAT4X2", "MAT4X3", "MAT4X4", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", + "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER2DARRAY", + "SAMPLER2DARRAYSHADOW", "ISAMPLER2D", "ISAMPLER3D", "ISAMPLERCUBE", + "ISAMPLER2DARRAY", "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", + "USAMPLER2DARRAY", "SAMPLER", "SAMPLERSHADOW", "TEXTURE2D", "TEXTURE3D", + "TEXTURECUBE", "TEXTURE2DARRAY", "ITEXTURE2D", "ITEXTURE3D", + "ITEXTURECUBE", "ITEXTURE2DARRAY", "UTEXTURE2D", "UTEXTURE3D", + "UTEXTURECUBE", "UTEXTURE2DARRAY", "ATTRIBUTE", "VARYING", "FLOAT16_T", + "FLOAT32_T", "DOUBLE", "FLOAT64_T", "INT64_T", "UINT64_T", "INT32_T", + "UINT32_T", "INT16_T", "UINT16_T", "INT8_T", "UINT8_T", "I64VEC2", + "I64VEC3", "I64VEC4", "U64VEC2", "U64VEC3", "U64VEC4", "I32VEC2", + "I32VEC3", "I32VEC4", "U32VEC2", "U32VEC3", "U32VEC4", "I16VEC2", + "I16VEC3", "I16VEC4", "U16VEC2", "U16VEC3", "U16VEC4", "I8VEC2", + "I8VEC3", "I8VEC4", "U8VEC2", "U8VEC3", "U8VEC4", "DVEC2", "DVEC3", + "DVEC4", "DMAT2", "DMAT3", "DMAT4", "F16VEC2", "F16VEC3", "F16VEC4", + "F16MAT2", "F16MAT3", "F16MAT4", "F32VEC2", "F32VEC3", "F32VEC4", + "F32MAT2", "F32MAT3", "F32MAT4", "F64VEC2", "F64VEC3", "F64VEC4", + "F64MAT2", "F64MAT3", "F64MAT4", "DMAT2X2", "DMAT2X3", "DMAT2X4", + "DMAT3X2", "DMAT3X3", "DMAT3X4", "DMAT4X2", "DMAT4X3", "DMAT4X4", + "F16MAT2X2", "F16MAT2X3", "F16MAT2X4", "F16MAT3X2", "F16MAT3X3", + "F16MAT3X4", "F16MAT4X2", "F16MAT4X3", "F16MAT4X4", "F32MAT2X2", + "F32MAT2X3", "F32MAT2X4", "F32MAT3X2", "F32MAT3X3", "F32MAT3X4", + "F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2", "F64MAT2X3", + "F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4", "F64MAT4X2", + "F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV", "ACCSTRUCTEXT", + "RAYQUERYEXT", "FCOOPMATNV", "ICOOPMATNV", "UCOOPMATNV", + "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", "ISAMPLERCUBEARRAY", + "USAMPLERCUBEARRAY", "SAMPLER1D", "SAMPLER1DARRAY", + "SAMPLER1DARRAYSHADOW", "ISAMPLER1D", "SAMPLER1DSHADOW", "SAMPLER2DRECT", + "SAMPLER2DRECTSHADOW", "ISAMPLER2DRECT", "USAMPLER2DRECT", + "SAMPLERBUFFER", "ISAMPLERBUFFER", "USAMPLERBUFFER", "SAMPLER2DMS", + "ISAMPLER2DMS", "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY", + "USAMPLER2DMSARRAY", "SAMPLEREXTERNALOES", "SAMPLEREXTERNAL2DY2YEXT", + "ISAMPLER1DARRAY", "USAMPLER1D", "USAMPLER1DARRAY", "F16SAMPLER1D", + "F16SAMPLER2D", "F16SAMPLER3D", "F16SAMPLER2DRECT", "F16SAMPLERCUBE", + "F16SAMPLER1DARRAY", "F16SAMPLER2DARRAY", "F16SAMPLERCUBEARRAY", + "F16SAMPLERBUFFER", "F16SAMPLER2DMS", "F16SAMPLER2DMSARRAY", + "F16SAMPLER1DSHADOW", "F16SAMPLER2DSHADOW", "F16SAMPLER1DARRAYSHADOW", + "F16SAMPLER2DARRAYSHADOW", "F16SAMPLER2DRECTSHADOW", + "F16SAMPLERCUBESHADOW", "F16SAMPLERCUBEARRAYSHADOW", "IMAGE1D", + "IIMAGE1D", "UIMAGE1D", "IMAGE2D", "IIMAGE2D", "UIMAGE2D", "IMAGE3D", + "IIMAGE3D", "UIMAGE3D", "IMAGE2DRECT", "IIMAGE2DRECT", "UIMAGE2DRECT", + "IMAGECUBE", "IIMAGECUBE", "UIMAGECUBE", "IMAGEBUFFER", "IIMAGEBUFFER", + "UIMAGEBUFFER", "IMAGE1DARRAY", "IIMAGE1DARRAY", "UIMAGE1DARRAY", + "IMAGE2DARRAY", "IIMAGE2DARRAY", "UIMAGE2DARRAY", "IMAGECUBEARRAY", + "IIMAGECUBEARRAY", "UIMAGECUBEARRAY", "IMAGE2DMS", "IIMAGE2DMS", + "UIMAGE2DMS", "IMAGE2DMSARRAY", "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY", + "F16IMAGE1D", "F16IMAGE2D", "F16IMAGE3D", "F16IMAGE2DRECT", + "F16IMAGECUBE", "F16IMAGE1DARRAY", "F16IMAGE2DARRAY", + "F16IMAGECUBEARRAY", "F16IMAGEBUFFER", "F16IMAGE2DMS", + "F16IMAGE2DMSARRAY", "I64IMAGE1D", "U64IMAGE1D", "I64IMAGE2D", + "U64IMAGE2D", "I64IMAGE3D", "U64IMAGE3D", "I64IMAGE2DRECT", + "U64IMAGE2DRECT", "I64IMAGECUBE", "U64IMAGECUBE", "I64IMAGEBUFFER", + "U64IMAGEBUFFER", "I64IMAGE1DARRAY", "U64IMAGE1DARRAY", + "I64IMAGE2DARRAY", "U64IMAGE2DARRAY", "I64IMAGECUBEARRAY", + "U64IMAGECUBEARRAY", "I64IMAGE2DMS", "U64IMAGE2DMS", "I64IMAGE2DMSARRAY", + "U64IMAGE2DMSARRAY", "TEXTURECUBEARRAY", "ITEXTURECUBEARRAY", + "UTEXTURECUBEARRAY", "TEXTURE1D", "ITEXTURE1D", "UTEXTURE1D", + "TEXTURE1DARRAY", "ITEXTURE1DARRAY", "UTEXTURE1DARRAY", "TEXTURE2DRECT", + "ITEXTURE2DRECT", "UTEXTURE2DRECT", "TEXTUREBUFFER", "ITEXTUREBUFFER", + "UTEXTUREBUFFER", "TEXTURE2DMS", "ITEXTURE2DMS", "UTEXTURE2DMS", + "TEXTURE2DMSARRAY", "ITEXTURE2DMSARRAY", "UTEXTURE2DMSARRAY", + "F16TEXTURE1D", "F16TEXTURE2D", "F16TEXTURE3D", "F16TEXTURE2DRECT", + "F16TEXTURECUBE", "F16TEXTURE1DARRAY", "F16TEXTURE2DARRAY", + "F16TEXTURECUBEARRAY", "F16TEXTUREBUFFER", "F16TEXTURE2DMS", + "F16TEXTURE2DMSARRAY", "SUBPASSINPUT", "SUBPASSINPUTMS", "ISUBPASSINPUT", + "ISUBPASSINPUTMS", "USUBPASSINPUT", "USUBPASSINPUTMS", "F16SUBPASSINPUT", + "F16SUBPASSINPUTMS", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", + "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", + "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", + "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "STRING_LITERAL", + "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET", + "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL", + "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT", + "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND", + "QUESTION", "INVARIANT", "HIGH_PRECISION", "MEDIUM_PRECISION", + "LOW_PRECISION", "PRECISION", "PACKED", "RESOURCE", "SUPERP", + "FLOATCONSTANT", "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT", + "IDENTIFIER", "TYPE_NAME", "CENTROID", "IN", "OUT", "INOUT", "STRUCT", + "VOID", "WHILE", "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF", + "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "TERMINATE_INVOCATION", + "TERMINATE_RAY", "IGNORE_INTERSECTION", "UNIFORM", "SHARED", "BUFFER", + "FLAT", "SMOOTH", "LAYOUT", "DOUBLECONSTANT", "INT16CONSTANT", + "UINT16CONSTANT", "FLOAT16CONSTANT", "INT32CONSTANT", "UINT32CONSTANT", + "INT64CONSTANT", "UINT64CONSTANT", "SUBROUTINE", "DEMOTE", "PAYLOADNV", + "PAYLOADINNV", "HITATTRNV", "CALLDATANV", "CALLDATAINNV", "PAYLOADEXT", + "PAYLOADINEXT", "HITATTREXT", "CALLDATAEXT", "CALLDATAINEXT", "PATCH", + "SAMPLE", "NONUNIFORM", "COHERENT", "VOLATILE", "RESTRICT", "READONLY", + "WRITEONLY", "DEVICECOHERENT", "QUEUEFAMILYCOHERENT", + "WORKGROUPCOHERENT", "SUBGROUPCOHERENT", "NONPRIVATE", + "SHADERCALLCOHERENT", "NOPERSPECTIVE", "EXPLICITINTERPAMD", + "PERVERTEXNV", "PERPRIMITIVENV", "PERVIEWNV", "PERTASKNV", "PRECISE", + "$accept", "variable_identifier", "primary_expression", + "postfix_expression", "integer_expression", "function_call", + "function_call_or_method", "function_call_generic", + "function_call_header_no_parameters", + "function_call_header_with_parameters", "function_call_header", + "function_identifier", "unary_expression", "unary_operator", + "multiplicative_expression", "additive_expression", "shift_expression", + "relational_expression", "equality_expression", "and_expression", + "exclusive_or_expression", "inclusive_or_expression", + "logical_and_expression", "logical_xor_expression", + "logical_or_expression", "conditional_expression", "$@1", + "assignment_expression", "assignment_operator", "expression", + "constant_expression", "declaration", "block_structure", "$@2", + "identifier_list", "function_prototype", "function_declarator", + "function_header_with_parameters", "function_header", + "parameter_declarator", "parameter_declaration", + "parameter_type_specifier", "init_declarator_list", "single_declaration", + "fully_specified_type", "invariant_qualifier", "interpolation_qualifier", + "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id", + "precise_qualifier", "type_qualifier", "single_type_qualifier", + "storage_qualifier", "non_uniform_qualifier", "type_name_list", + "type_specifier", "array_specifier", "type_parameter_specifier_opt", + "type_parameter_specifier", "type_parameter_specifier_list", + "type_specifier_nonarray", "precision_qualifier", "struct_specifier", + "$@3", "$@4", "struct_declaration_list", "struct_declaration", + "struct_declarator_list", "struct_declarator", "initializer", + "initializer_list", "declaration_statement", "statement", + "simple_statement", "demote_statement", "compound_statement", "$@5", + "$@6", "statement_no_new_scope", "statement_scoped", "$@7", "$@8", + "compound_statement_no_new_scope", "statement_list", + "expression_statement", "selection_statement", + "selection_statement_nonattributed", "selection_rest_statement", + "condition", "switch_statement", "switch_statement_nonattributed", "$@9", + "switch_statement_list", "case_label", "iteration_statement", + "iteration_statement_nonattributed", "$@10", "$@11", "$@12", + "for_init_statement", "conditionopt", "for_rest_statement", + "jump_statement", "translation_unit", "external_declaration", + "function_definition", "$@13", "attribute", "attribute_list", + "single_attribute", YY_NULLPTR +}; + +static const char * +yysymbol_name (yysymbol_kind_t yysymbol) +{ + return yytname[yysymbol]; +} +#endif + +#ifdef YYPRINT +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ +static const yytype_int16 yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, + 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, + 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 695, 696, 697, 698, 699 +}; +#endif + +#define YYPACT_NINF (-732) + +#define yypact_value_is_default(Yyn) \ + ((Yyn) == YYPACT_NINF) + +#define YYTABLE_NINF (-559) + +#define yytable_value_is_error(Yyn) \ + 0 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +static const yytype_int16 yypact[] = +{ + 4303, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + 109, -732, -732, -732, -732, -732, 1, -732, -732, -732, + -732, -732, -732, -324, -261, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, 11, 44, 22, + 7, 6513, -332, -732, -10, -732, -732, -732, -732, 4745, + -732, -732, -732, -732, 46, -732, -732, 767, -732, -732, + 16, -732, 69, -5, 47, -732, -338, -732, 91, -732, + 6513, -732, -732, -732, 6513, 72, 80, -732, 13, -732, + 74, -732, -732, 9069, 126, -732, -732, -732, 127, 6513, + -732, 144, -732, 17, -732, -732, 61, 7377, -732, 10, + 1209, -732, -732, -732, -732, 126, 25, -732, 7800, 26, + -732, 119, -732, 78, 9069, 9069, -732, 9069, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, 36, -732, -732, + -732, 164, 65, 9492, 171, -732, 9069, -732, -732, -340, + 173, -732, 6513, 140, 5187, -732, 6513, 9069, -732, -5, + -732, 141, -732, -732, 124, 130, 179, 27, 117, 156, + 158, 160, 195, 194, 20, 181, 8223, -732, 183, 182, + -732, -732, 186, 178, 180, -732, 189, 192, 184, 8646, + 193, 9069, 187, 188, 190, 196, 197, 129, -732, -732, + 89, -732, 44, 199, 204, -732, -732, -732, -732, -732, + 1651, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -376, 173, 7800, 54, 7800, -732, -732, 7800, 6513, -732, + 161, -732, -732, -732, 70, -732, -732, 9069, 169, -732, + -732, 9069, 207, -732, -732, -732, 9069, -732, 140, 126, + 103, -732, -732, -732, 5629, -732, -732, -732, -732, 9069, + 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069, + 9069, 9069, 9069, 9069, 9069, 9069, 9069, 9069, -732, -732, + -732, 209, 177, -732, 2093, -732, -732, -732, 2093, -732, + 9069, -732, -732, 122, 9069, 152, -732, -732, -732, -732, + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, 9069, 9069, -732, -732, -732, -732, -732, -732, + -732, 7800, -732, 143, -732, 6071, -732, -732, 211, 208, + -732, -732, -732, 123, 173, 140, -732, -732, -732, -732, + -732, 124, 124, 130, 130, 179, 179, 179, 179, 27, + 27, 117, 156, 158, 160, 195, 194, 9069, -732, 216, + 87, -732, 2093, 3861, 174, 3419, 75, -732, 85, -732, + -732, -732, -732, -732, 6954, -732, -732, -732, -732, 154, + 9069, 217, 177, 191, 208, 185, 6513, 221, 223, -732, + -732, 3861, 220, -732, -732, -732, 9069, 224, -732, -732, + -732, 218, 2535, 9069, -732, 219, 225, 198, 226, 2977, + -732, 227, -732, -732, 7800, -732, -732, -732, 86, 9069, + 2535, 220, -732, -732, 2093, -732, 222, 208, -732, -732, + 2093, 228, -732, -732 +}; + + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_int16 yydefact[] = +{ + 0, 157, 210, 208, 209, 207, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 211, 212, 213, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 336, 337, 338, 339, 340, 341, 342, 362, 363, 364, + 365, 366, 367, 368, 377, 390, 391, 378, 379, 381, + 380, 382, 383, 384, 385, 386, 387, 388, 389, 165, + 166, 236, 237, 235, 238, 245, 246, 243, 244, 241, + 242, 239, 240, 268, 269, 270, 280, 281, 282, 265, + 266, 267, 277, 278, 279, 262, 263, 264, 274, 275, + 276, 259, 260, 261, 271, 272, 273, 247, 248, 249, + 283, 284, 285, 250, 251, 252, 295, 296, 297, 253, + 254, 255, 307, 308, 309, 256, 257, 258, 319, 320, + 321, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 334, 331, 332, + 333, 515, 516, 517, 346, 347, 370, 373, 335, 344, + 345, 361, 343, 392, 393, 396, 397, 398, 400, 401, + 402, 404, 405, 406, 408, 409, 505, 506, 369, 371, + 372, 348, 349, 350, 394, 351, 355, 356, 359, 399, + 403, 407, 352, 353, 357, 358, 395, 354, 360, 439, + 441, 442, 443, 445, 446, 447, 449, 450, 451, 453, + 454, 455, 457, 458, 459, 461, 462, 463, 465, 466, + 467, 469, 470, 471, 473, 474, 475, 477, 478, 479, + 481, 482, 440, 444, 448, 452, 456, 464, 468, 472, + 460, 476, 480, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 374, 375, 376, 410, 419, + 421, 415, 420, 422, 423, 425, 426, 427, 429, 430, + 431, 433, 434, 435, 437, 438, 411, 412, 413, 424, + 414, 416, 417, 418, 428, 432, 436, 507, 508, 511, + 512, 513, 514, 509, 510, 609, 132, 520, 521, 522, + 0, 519, 161, 159, 160, 158, 0, 206, 162, 163, + 164, 134, 133, 0, 190, 171, 173, 169, 175, 177, + 172, 174, 170, 176, 178, 167, 168, 192, 179, 186, + 187, 188, 189, 180, 181, 182, 183, 184, 185, 135, + 136, 137, 138, 139, 140, 147, 608, 0, 610, 0, + 109, 108, 0, 120, 125, 154, 153, 151, 155, 0, + 148, 150, 156, 130, 202, 152, 518, 0, 605, 607, + 0, 525, 0, 0, 0, 97, 0, 94, 0, 107, + 0, 116, 110, 118, 0, 119, 0, 95, 126, 100, + 0, 149, 131, 0, 195, 201, 1, 606, 0, 0, + 523, 144, 146, 0, 142, 193, 0, 0, 98, 0, + 0, 611, 111, 115, 117, 113, 121, 112, 0, 127, + 103, 0, 101, 0, 0, 0, 9, 0, 43, 42, + 44, 41, 5, 6, 7, 8, 2, 16, 14, 15, + 17, 10, 11, 12, 13, 3, 18, 37, 20, 25, + 26, 0, 0, 30, 0, 204, 0, 36, 34, 0, + 196, 96, 0, 0, 0, 527, 0, 0, 141, 0, + 191, 0, 197, 45, 49, 52, 55, 60, 63, 65, + 67, 69, 71, 73, 75, 0, 0, 99, 0, 553, + 562, 566, 0, 0, 0, 587, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 78, 91, + 0, 540, 0, 156, 130, 543, 564, 542, 550, 541, + 0, 544, 545, 568, 546, 575, 547, 548, 583, 549, + 0, 114, 0, 122, 0, 535, 129, 0, 0, 105, + 0, 102, 38, 39, 0, 22, 23, 0, 0, 28, + 27, 0, 206, 31, 33, 40, 0, 203, 0, 533, + 0, 531, 526, 528, 0, 93, 145, 143, 194, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 76, 198, + 199, 0, 0, 552, 0, 585, 598, 597, 0, 589, + 0, 601, 599, 0, 0, 0, 582, 602, 603, 604, + 551, 81, 82, 84, 83, 86, 87, 88, 89, 90, + 85, 80, 0, 0, 567, 563, 565, 569, 576, 584, + 124, 0, 538, 0, 128, 0, 106, 4, 0, 24, + 21, 32, 205, 0, 534, 0, 529, 524, 46, 47, + 48, 51, 50, 53, 54, 58, 59, 56, 57, 61, + 62, 64, 66, 68, 70, 72, 74, 0, 200, 615, + 0, 613, 554, 0, 0, 0, 0, 600, 0, 581, + 79, 92, 123, 536, 0, 104, 19, 530, 532, 0, + 0, 0, 0, 0, 573, 0, 0, 0, 0, 592, + 591, 594, 560, 577, 537, 539, 0, 0, 612, 614, + 555, 0, 0, 0, 593, 0, 0, 572, 0, 0, + 570, 0, 77, 616, 0, 557, 586, 556, 0, 595, + 0, 560, 559, 561, 579, 574, 0, 596, 590, 571, + 580, 0, 588, 578 +}; + + /* YYPGOTO[NTERM-NUM]. */ +static const yytype_int16 yypgoto[] = +{ + -732, -732, -732, -732, -732, -732, -732, -732, -732, -732, + -732, -732, 9402, -732, -90, -89, -153, -92, -29, -28, + -27, -26, -30, -25, -732, -88, -732, -101, -732, -113, + -132, 2, -732, -732, -732, 4, -732, -732, -732, 200, + 201, 202, -732, -732, -343, -732, -732, -732, -732, 92, + -732, -36, -46, -732, 9, -732, 0, -67, -732, -732, + -732, -732, 263, -732, -732, -732, -481, -142, 8, -78, + -214, -732, -107, -204, -731, -732, -149, -732, -732, -160, + -159, -732, -732, 212, -269, -104, -732, 45, -732, -127, + -732, 48, -732, -732, -732, -732, 49, -732, -732, -732, + -732, -732, -732, -732, -732, 210, -732, -732, -732, -732, + -116 +}; + + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = +{ + -1, 465, 466, 467, 658, 468, 469, 470, 471, 472, + 473, 474, 527, 476, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 528, 687, 529, 642, 530, + 586, 531, 367, 558, 443, 532, 369, 370, 371, 401, + 402, 403, 372, 373, 374, 375, 376, 377, 423, 424, + 378, 379, 380, 381, 477, 426, 478, 429, 414, 415, + 479, 384, 385, 386, 486, 419, 484, 485, 580, 581, + 556, 653, 535, 536, 537, 538, 539, 614, 713, 746, + 737, 738, 739, 747, 540, 541, 542, 543, 740, 717, + 544, 545, 741, 761, 546, 547, 548, 693, 618, 695, + 721, 735, 736, 549, 387, 388, 389, 398, 550, 690, + 691 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ +static const yytype_int16 yytable[] = +{ + 383, 745, 366, 427, 368, 584, 576, 512, 753, 382, + 515, 428, 516, 517, 406, 393, 520, 407, 577, 745, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 655, 394, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 411, 564, 404, 646, 555, 650, 505, + 652, 439, 583, 654, 391, 692, 607, 480, 596, 597, + 715, 506, 437, 400, 427, 565, 566, 488, 411, 507, + 395, 438, 399, 489, 404, 408, 427, 506, 551, 553, + 421, 405, 573, 552, 557, -35, 392, 567, 715, 412, + 382, 568, 608, 482, 598, 599, 396, 383, 382, 366, + 418, 368, 321, 397, 422, 506, 382, 326, 327, 585, + 405, 490, 651, 413, 405, 570, 623, 491, 625, 382, + 657, 571, 420, 382, 694, 722, 643, 440, 611, 483, + 441, 643, 425, 442, 560, 723, 756, 561, 382, 711, + 534, 643, 643, 712, 430, 643, 411, 702, 644, 533, + 600, 601, 583, 675, 676, 677, 678, 435, 482, 665, + 482, 555, 666, 555, 659, 436, 555, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 427, 643, 665, + 661, 697, 707, 317, 318, 319, 481, 641, 589, 590, + 591, 592, 578, 593, 483, 760, 483, 703, 646, 704, + 725, 382, 487, 382, 559, 382, 594, 595, 643, 699, + 643, 726, 671, 672, 569, 673, 674, 696, 679, 680, + 574, 698, 664, 583, 506, 579, 588, 602, 603, 604, + 605, 606, 482, 609, 612, 615, 613, 616, 619, 617, + 755, 620, 624, 621, 626, 730, 656, 627, -36, 628, + 534, 700, 701, -34, 660, 629, 630, -29, 482, 533, + 555, 688, 689, 706, 643, 710, 646, 718, 483, 728, + 731, 732, 733, -558, 743, 750, 744, 382, 749, 509, + 754, 762, 763, 681, 709, 682, 685, 683, 727, 684, + 714, 587, 686, 390, 483, 751, 663, 708, 719, 752, + 758, 720, 759, 382, 734, 647, 729, 417, 648, 649, + 0, 432, 0, 555, 433, 0, 434, 0, 714, 0, + 431, 0, 0, 0, 534, 0, 0, 0, 534, 482, + 748, 0, 585, 533, 0, 742, 0, 533, 0, 0, + 0, 0, 0, 0, 0, 0, 757, 0, 0, 0, + 0, 0, 0, 555, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 483, 0, 716, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 716, 0, 0, 0, 0, + 0, 0, 534, 534, 0, 534, 0, 0, 0, 0, + 0, 533, 533, 0, 533, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, + 0, 534, 0, 0, 0, 382, 0, 0, 0, 0, + 533, 0, 534, 0, 0, 0, 0, 0, 0, 534, + 0, 533, 0, 0, 0, 0, 0, 0, 533, 0, + 534, 0, 0, 0, 534, 0, 0, 0, 0, 533, + 534, 0, 0, 533, 0, 0, 0, 416, 0, 533, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 316, 317, 318, 319, 320, 0, 0, 0, 0, 0, + 0, 0, 0, 321, 322, 323, 324, 325, 326, 327, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 328, 329, 330, 331, 332, + 333, 0, 0, 0, 0, 0, 0, 0, 0, 334, + 0, 335, 336, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 0, 0, 444, 445, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 446, 447, 0, + 508, 0, 509, 510, 0, 0, 0, 0, 511, 448, + 449, 450, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 316, 317, 318, 319, 320, 0, 0, 0, + 452, 453, 454, 455, 456, 321, 322, 323, 324, 325, + 326, 327, 512, 513, 514, 515, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 328, 329, 330, + 331, 332, 333, 457, 458, 459, 460, 461, 462, 463, + 464, 334, 526, 335, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 0, 0, + 444, 445, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, + 447, 0, 508, 0, 509, 645, 0, 0, 0, 0, + 511, 448, 449, 450, 451, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 316, 317, 318, 319, 320, 0, + 0, 0, 452, 453, 454, 455, 456, 321, 322, 323, + 324, 325, 326, 327, 512, 513, 514, 515, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 328, + 329, 330, 331, 332, 333, 457, 458, 459, 460, 461, + 462, 463, 464, 334, 526, 335, 336, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 444, 445, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 446, 447, 0, 508, 0, 509, 0, 0, 0, + 0, 0, 511, 448, 449, 450, 451, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 316, 317, 318, 319, + 320, 0, 0, 0, 452, 453, 454, 455, 456, 321, + 322, 323, 324, 325, 326, 327, 512, 513, 514, 515, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 328, 329, 330, 331, 332, 333, 457, 458, 459, + 460, 461, 462, 463, 464, 334, 526, 335, 336, 337, + 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 0, 0, 444, 445, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 446, 447, 0, 508, 0, 430, 0, + 0, 0, 0, 0, 511, 448, 449, 450, 451, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, + 318, 319, 320, 0, 0, 0, 452, 453, 454, 455, + 456, 321, 322, 323, 324, 325, 326, 327, 512, 513, + 514, 515, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 328, 329, 330, 331, 332, 333, 457, + 458, 459, 460, 461, 462, 463, 464, 334, 526, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 0, 0, 444, 445, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 446, 447, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 511, 448, 449, 450, + 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 316, 317, 318, 319, 320, 0, 0, 0, 452, 453, + 454, 455, 456, 321, 322, 323, 324, 325, 326, 327, + 512, 513, 514, 515, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 328, 329, 330, 331, 332, + 333, 457, 458, 459, 460, 461, 462, 463, 464, 334, + 526, 335, 336, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 0, 0, 444, 445, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 446, 447, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 511, 448, + 449, 450, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 316, 317, 318, 319, 320, 0, 0, 0, + 452, 453, 454, 455, 456, 321, 322, 323, 324, 325, + 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, + 331, 332, 333, 457, 458, 459, 460, 461, 462, 463, + 464, 334, 0, 335, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 0, 0, + 444, 445, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, + 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 448, 449, 450, 451, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 316, 317, 318, 319, 0, 0, + 0, 0, 452, 453, 454, 455, 456, 321, 322, 323, + 324, 325, 326, 327, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, + 329, 330, 331, 332, 333, 457, 458, 459, 460, 461, + 462, 463, 464, 334, 0, 335, 336, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 316, 317, 318, 319, + 320, 0, 0, 0, 0, 0, 0, 0, 0, 321, + 322, 323, 324, 325, 326, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 328, 329, 330, 331, 332, 333, 0, 0, 0, + 0, 0, 0, 0, 0, 334, 0, 335, 336, 337, + 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 409, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, + 318, 319, 0, 0, 0, 0, 0, 0, 0, 0, + 410, 321, 322, 323, 324, 325, 326, 327, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 328, 329, 330, 331, 332, 333, 0, + 0, 0, 0, 0, 0, 0, 0, 334, 0, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 316, 317, 318, 319, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 321, 322, 323, 324, 325, 326, 327, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 328, 329, 330, 331, 332, + 333, 0, 0, 0, 0, 0, 0, 0, 0, 334, + 0, 335, 336, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 667, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 316, 317, 318, 319, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 321, 322, 323, 324, 325, + 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, + 331, 332, 333, 0, 0, 0, 0, 0, 0, 0, + 0, 334, 0, 335, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 705, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 316, 317, 318, 319, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 321, 322, 323, + 324, 325, 326, 327, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, + 329, 330, 331, 332, 333, 0, 0, 0, 0, 0, + 0, 0, 0, 334, 0, 335, 336, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 316, 317, 318, 319, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, + 322, 323, 324, 325, 326, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 328, 329, 330, 331, 332, 333, 0, 0, 0, + 0, 0, 0, 0, 0, 334, 0, 335, 336, 337, + 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 365, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 0, 0, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 0, 0, 444, 445, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 446, 447, 0, 0, 0, 554, 724, 0, + 0, 0, 0, 0, 448, 449, 450, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 452, 453, 454, 455, 456, + 321, 0, 0, 0, 0, 326, 327, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 457, 458, + 459, 460, 461, 462, 463, 464, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 0, 0, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 0, 0, 444, 445, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 446, 447, 0, 0, 492, + 0, 0, 0, 0, 0, 0, 0, 448, 449, 450, + 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 452, 453, + 454, 455, 456, 321, 0, 0, 0, 0, 326, 327, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 457, 458, 459, 460, 461, 462, 463, 464, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 347, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 0, 0, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 0, 0, 444, + 445, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 446, 447, + 0, 0, 0, 554, 0, 0, 0, 0, 0, 0, + 448, 449, 450, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 452, 453, 454, 455, 456, 321, 0, 0, 0, + 0, 326, 327, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, + 463, 464, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 347, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 0, 0, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 0, 0, 444, 445, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 446, 447, 0, 0, 610, 0, 0, 0, 0, + 0, 0, 0, 448, 449, 450, 451, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 452, 453, 454, 455, 456, 321, + 0, 0, 0, 0, 326, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 457, 458, 459, + 460, 461, 462, 463, 464, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 0, 0, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 0, 0, 444, 445, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 446, 447, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 622, 448, 449, 450, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 452, 453, 454, + 455, 456, 321, 0, 0, 0, 0, 326, 327, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 457, 458, 459, 460, 461, 462, 463, 464, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 0, 0, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 0, 0, 444, 445, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 446, 447, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 448, + 449, 450, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 452, 453, 454, 455, 456, 321, 0, 0, 0, 0, + 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, + 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 347, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 0, 0, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 0, + 0, 444, 445, 0, 0, 475, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, + 446, 447, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 448, 449, 450, 451, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 452, 453, 454, 455, 456, 321, 0, + 0, 0, 0, 326, 572, 0, 0, 0, 575, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, + 0, 0, 0, 0, 0, 0, 457, 458, 459, 460, + 461, 462, 463, 464, 0, 0, 0, 0, 493, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 668, 669, 670, 493, 493, 493, 493, 493, 493, + 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 493 +}; + +static const yytype_int16 yycheck[] = +{ + 0, 732, 0, 341, 0, 486, 346, 383, 739, 0, + 386, 349, 388, 389, 346, 339, 392, 349, 358, 750, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 558, 339, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 379, 447, 371, 540, 438, 552, 427, + 554, 408, 484, 557, 343, 614, 326, 414, 321, 322, + 693, 341, 339, 346, 341, 319, 320, 340, 404, 349, + 349, 348, 340, 346, 400, 375, 341, 341, 435, 436, + 375, 371, 473, 348, 348, 339, 375, 341, 721, 379, + 371, 345, 362, 419, 357, 358, 375, 387, 379, 387, + 390, 387, 376, 349, 399, 341, 387, 381, 382, 487, + 400, 340, 348, 357, 404, 340, 519, 346, 521, 400, + 340, 346, 343, 404, 618, 340, 346, 343, 506, 419, + 346, 346, 375, 349, 346, 340, 340, 349, 419, 342, + 430, 346, 346, 346, 343, 346, 482, 651, 349, 430, + 323, 324, 584, 596, 597, 598, 599, 375, 484, 346, + 486, 552, 349, 554, 567, 375, 557, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 341, 346, 346, + 571, 349, 349, 364, 365, 366, 349, 348, 354, 355, + 356, 351, 482, 353, 484, 754, 486, 344, 692, 346, + 704, 482, 348, 484, 375, 486, 317, 318, 346, 347, + 346, 347, 592, 593, 340, 594, 595, 620, 600, 601, + 339, 624, 579, 655, 341, 375, 375, 361, 360, 359, + 325, 327, 558, 342, 341, 339, 344, 349, 339, 349, + 744, 339, 339, 349, 347, 344, 375, 349, 339, 349, + 540, 642, 643, 339, 375, 349, 349, 340, 584, 540, + 651, 342, 375, 342, 346, 339, 760, 383, 558, 342, + 375, 340, 339, 343, 340, 340, 348, 558, 349, 343, + 343, 349, 344, 602, 687, 603, 606, 604, 710, 605, + 693, 489, 607, 320, 584, 387, 578, 665, 695, 738, + 750, 695, 751, 584, 721, 550, 712, 387, 550, 550, + -1, 400, -1, 704, 404, -1, 404, -1, 721, -1, + 398, -1, -1, -1, 614, -1, -1, -1, 618, 655, + 733, -1, 710, 614, -1, 726, -1, 618, -1, -1, + -1, -1, -1, -1, -1, -1, 749, -1, -1, -1, + -1, -1, -1, 744, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 655, -1, 693, -1, -1, + -1, -1, -1, -1, 655, -1, -1, -1, -1, -1, + 716, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 721, -1, -1, -1, -1, + -1, -1, 692, 693, -1, 695, -1, -1, -1, -1, + -1, 692, 693, -1, 695, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 716, -1, -1, -1, + -1, 721, -1, -1, -1, 716, -1, -1, -1, -1, + 721, -1, 732, -1, -1, -1, -1, -1, -1, 739, + -1, 732, -1, -1, -1, -1, -1, -1, 739, -1, + 750, -1, -1, -1, 754, -1, -1, -1, -1, 750, + 760, -1, -1, 754, -1, -1, -1, 0, -1, 760, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 349, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 363, 364, 365, 366, 367, -1, -1, -1, -1, -1, + -1, -1, -1, 376, 377, 378, 379, 380, 381, 382, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 398, 399, 400, 401, 402, + 403, -1, -1, -1, -1, -1, -1, -1, -1, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, -1, -1, 319, 320, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, + 341, -1, 343, 344, -1, -1, -1, -1, 349, 350, + 351, 352, 353, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 363, 364, 365, 366, 367, -1, -1, -1, + 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 443, 444, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, + 319, 320, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 338, + 339, -1, 341, -1, 343, 344, -1, -1, -1, -1, + 349, 350, 351, 352, 353, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 363, 364, 365, 366, 367, -1, + -1, -1, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, -1, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + -1, -1, 319, 320, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 338, 339, -1, 341, -1, 343, -1, -1, -1, + -1, -1, 349, 350, 351, 352, 353, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 363, 364, 365, 366, + 367, -1, -1, -1, 371, 372, 373, 374, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 443, 444, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, -1, -1, 319, 320, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 338, 339, -1, 341, -1, 343, -1, + -1, -1, -1, -1, 349, 350, 351, 352, 353, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, + 365, 366, 367, -1, -1, -1, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, -1, -1, 319, 320, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 338, 339, -1, 341, -1, + -1, -1, -1, -1, -1, -1, 349, 350, 351, 352, + 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 363, 364, 365, 366, 367, -1, -1, -1, 371, 372, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, -1, -1, 319, 320, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 349, 350, + 351, 352, 353, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 363, 364, 365, 366, 367, -1, -1, -1, + 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 443, 444, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, + 319, 320, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 338, + 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 350, 351, 352, 353, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 363, 364, 365, 366, -1, -1, + -1, -1, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 349, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 363, 364, 365, 366, + 367, -1, -1, -1, -1, -1, -1, -1, -1, 376, + 377, 378, 379, 380, 381, 382, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 398, 399, 400, 401, 402, 403, -1, -1, -1, + -1, -1, -1, -1, -1, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 443, 444, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 349, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, + 365, 366, -1, -1, -1, -1, -1, -1, -1, -1, + 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 398, 399, 400, 401, 402, 403, -1, + -1, -1, -1, -1, -1, -1, -1, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 363, 364, 365, 366, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 376, 377, 378, 379, 380, 381, 382, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 398, 399, 400, 401, 402, + 403, -1, -1, -1, -1, -1, -1, -1, -1, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 363, 364, 365, 366, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 376, 377, 378, 379, 380, + 381, 382, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 398, 399, 400, + 401, 402, 403, -1, -1, -1, -1, -1, -1, -1, + -1, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 443, 444, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 363, 364, 365, 366, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 376, 377, 378, + 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 398, + 399, 400, 401, 402, 403, -1, -1, -1, -1, -1, + -1, -1, -1, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 363, 364, 365, 366, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, + 377, 378, 379, 380, 381, 382, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 398, 399, 400, 401, 402, 403, -1, -1, -1, + -1, -1, -1, -1, -1, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 443, 444, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, -1, -1, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, -1, -1, 319, 320, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 338, 339, -1, -1, -1, 343, 344, -1, + -1, -1, -1, -1, 350, 351, 352, 353, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 371, 372, 373, 374, 375, + 376, -1, -1, -1, -1, 381, 382, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 404, 405, + 406, 407, 408, 409, 410, 411, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 426, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, -1, -1, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, -1, -1, 319, 320, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 338, 339, -1, -1, 342, + -1, -1, -1, -1, -1, -1, -1, 350, 351, 352, + 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 371, 372, + 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 404, 405, 406, 407, 408, 409, 410, 411, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 426, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, -1, -1, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, -1, -1, 319, + 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 338, 339, + -1, -1, -1, 343, -1, -1, -1, -1, -1, -1, + 350, 351, 352, 353, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, + -1, 381, 382, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 404, 405, 406, 407, 408, 409, + 410, 411, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 426, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, -1, -1, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + -1, -1, 319, 320, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 338, 339, -1, -1, 342, -1, -1, -1, -1, + -1, -1, -1, 350, 351, 352, 353, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 371, 372, 373, 374, 375, 376, + -1, -1, -1, -1, 381, 382, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 404, 405, 406, + 407, 408, 409, 410, 411, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 426, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, -1, -1, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, -1, -1, 319, 320, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 338, 339, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 349, 350, 351, 352, 353, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 371, 372, 373, + 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 404, 405, 406, 407, 408, 409, 410, 411, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 426, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + -1, -1, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, -1, -1, 319, 320, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 350, + 351, 352, 353, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, + 381, 382, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 404, 405, 406, 407, 408, 409, 410, + 411, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 426, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, -1, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, + -1, 319, 320, -1, -1, 413, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 427, + 338, 339, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 350, 351, 352, 353, 444, 445, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 371, 372, 373, 374, 375, 376, -1, + -1, -1, -1, 381, 382, -1, -1, -1, 476, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 487, + -1, -1, -1, -1, -1, -1, 404, 405, 406, 407, + 408, 409, 410, 411, -1, -1, -1, -1, 506, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 426, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 576, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 589, 590, 591, 592, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 710 +}; + + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const yytype_int16 yystos[] = +{ + 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 349, 363, 364, 365, 366, + 367, 376, 377, 378, 379, 380, 381, 382, 398, 399, + 400, 401, 402, 403, 412, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 476, 477, 480, 481, + 482, 483, 487, 488, 489, 490, 491, 492, 495, 496, + 497, 498, 499, 501, 506, 507, 508, 549, 550, 551, + 507, 343, 375, 339, 339, 349, 375, 349, 552, 340, + 346, 484, 485, 486, 496, 501, 346, 349, 375, 349, + 375, 497, 501, 357, 503, 504, 0, 550, 501, 510, + 343, 375, 399, 493, 494, 375, 500, 341, 349, 502, + 343, 528, 485, 484, 486, 375, 375, 339, 348, 502, + 343, 346, 349, 479, 319, 320, 338, 339, 350, 351, + 352, 353, 371, 372, 373, 374, 375, 404, 405, 406, + 407, 408, 409, 410, 411, 446, 447, 448, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 499, 501, 505, + 502, 349, 496, 501, 511, 512, 509, 348, 340, 346, + 340, 346, 342, 457, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 341, 349, 341, 343, + 344, 349, 383, 384, 385, 386, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 413, 457, 470, 472, + 474, 476, 480, 499, 501, 517, 518, 519, 520, 521, + 529, 530, 531, 532, 535, 536, 539, 540, 541, 548, + 553, 502, 348, 502, 343, 472, 515, 348, 478, 375, + 346, 349, 457, 457, 474, 319, 320, 341, 345, 340, + 340, 346, 382, 472, 339, 457, 346, 358, 501, 375, + 513, 514, 344, 512, 511, 470, 475, 494, 375, 354, + 355, 356, 351, 353, 317, 318, 321, 322, 357, 358, + 323, 324, 361, 360, 359, 325, 327, 326, 362, 342, + 342, 470, 341, 344, 522, 339, 349, 349, 543, 339, + 339, 349, 349, 474, 339, 474, 347, 349, 349, 349, + 349, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 348, 473, 346, 349, 344, 518, 532, 536, 541, + 515, 348, 515, 516, 515, 511, 375, 340, 449, 474, + 375, 472, 457, 513, 502, 346, 349, 344, 457, 457, + 457, 459, 459, 460, 460, 461, 461, 461, 461, 462, + 462, 463, 464, 465, 466, 467, 468, 471, 342, 375, + 554, 555, 529, 542, 518, 544, 474, 349, 474, 347, + 472, 472, 515, 344, 346, 344, 342, 349, 514, 474, + 339, 342, 346, 523, 474, 489, 496, 534, 383, 517, + 530, 545, 340, 340, 344, 515, 347, 475, 342, 555, + 344, 375, 340, 339, 534, 546, 547, 525, 526, 527, + 533, 537, 472, 340, 348, 519, 524, 528, 474, 349, + 340, 387, 521, 519, 343, 515, 340, 474, 524, 525, + 529, 538, 349, 344 +}; + + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_int16 yyr1[] = +{ + 0, 445, 446, 447, 447, 447, 447, 447, 447, 447, + 447, 447, 447, 447, 447, 447, 447, 447, 448, 448, + 448, 448, 448, 448, 449, 450, 451, 452, 452, 453, + 453, 454, 454, 455, 456, 456, 456, 457, 457, 457, + 457, 458, 458, 458, 458, 459, 459, 459, 459, 460, + 460, 460, 461, 461, 461, 462, 462, 462, 462, 462, + 463, 463, 463, 464, 464, 465, 465, 466, 466, 467, + 467, 468, 468, 469, 469, 470, 471, 470, 472, 472, + 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, + 473, 474, 474, 475, 476, 476, 476, 476, 476, 476, + 476, 476, 476, 478, 477, 479, 479, 480, 481, 481, + 482, 482, 483, 484, 484, 485, 485, 485, 485, 486, + 487, 487, 487, 487, 487, 488, 488, 488, 488, 488, + 489, 489, 490, 491, 491, 491, 491, 491, 491, 491, + 491, 492, 493, 493, 494, 494, 494, 495, 496, 496, + 497, 497, 497, 497, 497, 497, 497, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 499, 500, 500, 501, 501, 502, 502, 502, + 502, 503, 503, 504, 505, 505, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 507, 507, 507, 509, 508, 510, 508, 511, 511, 512, + 512, 513, 513, 514, 514, 515, 515, 515, 516, 516, + 517, 518, 518, 519, 519, 519, 519, 519, 519, 519, + 519, 520, 521, 522, 523, 521, 524, 524, 526, 525, + 527, 525, 528, 528, 529, 529, 530, 530, 531, 531, + 532, 533, 533, 534, 534, 535, 535, 537, 536, 538, + 538, 539, 539, 540, 540, 542, 541, 543, 541, 544, + 541, 545, 545, 546, 546, 547, 547, 548, 548, 548, + 548, 548, 548, 548, 548, 549, 549, 550, 550, 550, + 552, 551, 553, 554, 554, 555, 555 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_int8 yyr2[] = +{ + 0, 2, 1, 1, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 1, 3, 2, 2, 1, 1, 1, 2, 2, 2, + 1, 2, 3, 2, 1, 1, 1, 1, 2, 2, + 2, 1, 1, 1, 1, 1, 3, 3, 3, 1, + 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, + 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 0, 6, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 2, 2, 4, 2, 3, 4, + 2, 3, 4, 0, 6, 2, 3, 2, 1, 1, + 2, 3, 3, 2, 3, 2, 1, 2, 1, 1, + 1, 3, 4, 6, 5, 1, 2, 3, 5, 4, + 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 4, 1, 3, 1, 3, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 4, 1, 1, 3, 2, 3, 2, 3, 3, + 4, 1, 0, 3, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 6, 0, 5, 1, 2, 3, + 4, 1, 3, 1, 2, 1, 3, 4, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 0, 0, 5, 1, 1, 0, 2, + 0, 2, 2, 3, 1, 2, 1, 2, 1, 2, + 5, 3, 1, 1, 4, 1, 2, 0, 8, 0, + 1, 3, 2, 1, 2, 0, 6, 0, 8, 0, + 7, 1, 1, 1, 0, 2, 3, 2, 2, 2, + 3, 2, 2, 2, 2, 1, 2, 1, 1, 1, + 0, 3, 5, 1, 3, 1, 4 +}; + + +enum { YYENOMEM = -2 }; + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +#define YYRECOVERING() (!!yyerrstatus) + +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (pParseContext, YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) + +/* Backward compatibility with an undocumented macro. + Use YYerror or YYUNDEF. */ +#define YYERRCODE YYUNDEF + + +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +/* This macro is provided for backward compatibility. */ +# ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# endif + + +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Kind, Value, pParseContext); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ + +static void +yy_symbol_value_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext) +{ + FILE *yyoutput = yyo; + YYUSE (yyoutput); + YYUSE (pParseContext); + if (!yyvaluep) + return; +# ifdef YYPRINT + if (yykind < YYNTOKENS) + YYPRINT (yyo, yytoknum[yykind], *yyvaluep); +# endif + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yykind); + YY_IGNORE_MAYBE_UNINITIALIZED_END +} + + +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ + +static void +yy_symbol_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext) +{ + YYFPRINTF (yyo, "%s %s (", + yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); + + yy_symbol_value_print (yyo, yykind, yyvaluep, pParseContext); + YYFPRINTF (yyo, ")"); +} + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +static void +yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) +{ + YYFPRINTF (stderr, "Stack now"); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +static void +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, + int yyrule, glslang::TParseContext* pParseContext) +{ + int yylno = yyrline[yyrule]; + int yynrhs = yyr2[yyrule]; + int yyi; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", + yyrule - 1, yylno); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), + &yyvsp[(yyi + 1) - (yynrhs)], pParseContext); + YYFPRINTF (stderr, "\n"); + } +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule, pParseContext); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) ((void) 0) +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ +#ifndef YYINITDEPTH +# define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#ifndef YYMAXDEPTH +# define YYMAXDEPTH 10000 +#endif + + +/* Context of a parse error. */ +typedef struct +{ + yy_state_t *yyssp; + yysymbol_kind_t yytoken; +} yypcontext_t; + +/* Put in YYARG at most YYARGN of the expected tokens given the + current YYCTX, and return the number of tokens stored in YYARG. If + YYARG is null, return the number of expected tokens (guaranteed to + be less than YYNTOKENS). Return YYENOMEM on memory exhaustion. + Return 0 if there are more than YYARGN expected tokens, yet fill + YYARG up to YYARGN. */ +static int +yypcontext_expected_tokens (const yypcontext_t *yyctx, + yysymbol_kind_t yyarg[], int yyargn) +{ + /* Actual size of YYARG. */ + int yycount = 0; + int yyn = yypact[+*yyctx->yyssp]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (!yyarg) + ++yycount; + else if (yycount == yyargn) + return 0; + else + yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx); + } + } + if (yyarg && yycount == 0 && 0 < yyargn) + yyarg[0] = YYSYMBOL_YYEMPTY; + return yycount; +} + + + + +#ifndef yystrlen +# if defined __GLIBC__ && defined _STRING_H +# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S))) +# else +/* Return the length of YYSTR. */ +static YYPTRDIFF_T +yystrlen (const char *yystr) +{ + YYPTRDIFF_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) + continue; + return yylen; +} +# endif +#endif + +#ifndef yystpcpy +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +yystpcpy (char *yydest, const char *yysrc) +{ + char *yyd = yydest; + const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +#endif + +#ifndef yytnamerr +/* Copy to YYRES the contents of YYSTR after stripping away unnecessary + quotes and backslashes, so that it's suitable for yyerror. The + heuristic is that double-quoting is unnecessary unless the string + contains an apostrophe, a comma, or backslash (other than + backslash-backslash). YYSTR is taken from yytname. If YYRES is + null, do not copy; instead, return the length of what the result + would have been. */ +static YYPTRDIFF_T +yytnamerr (char *yyres, const char *yystr) +{ + if (*yystr == '"') + { + YYPTRDIFF_T yyn = 0; + char const *yyp = yystr; + for (;;) + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + else + goto append; + + append: + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } + do_not_strip_quotes: ; + } + + if (yyres) + return yystpcpy (yyres, yystr) - yyres; + else + return yystrlen (yystr); +} +#endif + + +static int +yy_syntax_error_arguments (const yypcontext_t *yyctx, + yysymbol_kind_t yyarg[], int yyargn) +{ + /* Actual size of YYARG. */ + int yycount = 0; + /* There are many possibilities here to consider: + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yyctx->yytoken != YYSYMBOL_YYEMPTY) + { + int yyn; + if (yyarg) + yyarg[yycount] = yyctx->yytoken; + ++yycount; + yyn = yypcontext_expected_tokens (yyctx, + yyarg ? yyarg + 1 : yyarg, yyargn - 1); + if (yyn == YYENOMEM) + return YYENOMEM; + else + yycount += yyn; + } + return yycount; +} + +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + + Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, + const yypcontext_t *yyctx) +{ + enum { YYARGS_MAX = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat: reported tokens (one for the "unexpected", + one per "expected"). */ + yysymbol_kind_t yyarg[YYARGS_MAX]; + /* Cumulated lengths of YYARG. */ + YYPTRDIFF_T yysize = 0; + + /* Actual size of YYARG. */ + int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX); + if (yycount == YYENOMEM) + return YYENOMEM; + + switch (yycount) + { +#define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + default: /* Avoid compiler warnings. */ + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +#undef YYCASE_ + } + + /* Compute error message size. Don't count the "%s"s, but reserve + room for the terminator. */ + yysize = yystrlen (yyformat) - 2 * yycount + 1; + { + int yyi; + for (yyi = 0; yyi < yycount; ++yyi) + { + YYPTRDIFF_T yysize1 + = yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]); + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else + return YYENOMEM; + } + } + + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return -1; + } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]); + yyformat += 2; + } + else + { + ++yyp; + ++yyformat; + } + } + return 0; +} + + +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +static void +yydestruct (const char *yymsg, + yysymbol_kind_t yykind, YYSTYPE *yyvaluep, glslang::TParseContext* pParseContext) +{ + YYUSE (yyvaluep); + YYUSE (pParseContext); + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yykind); + YY_IGNORE_MAYBE_UNINITIALIZED_END +} + + + + + + +/*----------. +| yyparse. | +`----------*/ + +int +yyparse (glslang::TParseContext* pParseContext) +{ +/* Lookahead token kind. */ +int yychar; + + +/* The semantic value of the lookahead symbol. */ +/* Default value used for initialization, for pacifying older GCCs + or non-GCC compilers. */ +YY_INITIAL_VALUE (static YYSTYPE yyval_default;) +YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); + + /* Number of syntax errors so far. */ + int yynerrs = 0; + + yy_state_fast_t yystate = 0; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus = 0; + + /* Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* Their size. */ + YYPTRDIFF_T yystacksize = YYINITDEPTH; + + /* The state stack: array, bottom, top. */ + yy_state_t yyssa[YYINITDEPTH]; + yy_state_t *yyss = yyssa; + yy_state_t *yyssp = yyss; + + /* The semantic value stack: array, bottom, top. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp = yyvs; + + int yyn; + /* The return value of yyparse. */ + int yyresult; + /* Lookahead symbol kind. */ + yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; + + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf; + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + + /* The number of symbols on the RHS of the reduced rule. + Keep to zero when no symbol should be popped. */ + int yylen = 0; + + YYDPRINTF ((stderr, "Starting parse\n")); + + yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; + + +/*------------------------------------------------------------. +| yynewstate -- push a new state, which is found in yystate. | +`------------------------------------------------------------*/ +yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. So pushing a state here evens the stacks. */ + yyssp++; + + +/*--------------------------------------------------------------------. +| yysetstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + YY_ASSERT (0 <= yystate && yystate < YYNSTATES); + YY_IGNORE_USELESS_CAST_BEGIN + *yyssp = YY_CAST (yy_state_t, yystate); + YY_IGNORE_USELESS_CAST_END + YY_STACK_PRINT (yyss, yyssp); + + if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else + { + /* Get the current used size of the three stacks, in elements. */ + YYPTRDIFF_T yysize = yyssp - yyss + 1; + +# if defined yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + yy_state_t *yyss1 = yyss; + YYSTYPE *yyvs1 = yyvs; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * YYSIZEOF (*yyssp), + &yyvs1, yysize * YYSIZEOF (*yyvsp), + &yystacksize); + yyss = yyss1; + yyvs = yyvs1; + } +# else /* defined YYSTACK_RELOCATE */ + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + yy_state_t *yyss1 = yyss; + union yyalloc *yyptr = + YY_CAST (union yyalloc *, + YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; + + YY_IGNORE_USELESS_CAST_BEGIN + YYDPRINTF ((stderr, "Stack size increased to %ld\n", + YY_CAST (long, yystacksize))); + YY_IGNORE_USELESS_CAST_END + + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + + if (yystate == YYFINAL) + YYACCEPT; + + goto yybackup; + + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: + /* Do appropriate processing given the current state. Read a + lookahead token if we need one and don't already have one. */ + + /* First try to decide what to do without reference to lookahead token. */ + yyn = yypact[yystate]; + if (yypact_value_is_default (yyn)) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token\n")); + yychar = yylex (&yylval, parseContext); + } + + if (yychar <= YYEOF) + { + yychar = YYEOF; + yytoken = YYSYMBOL_YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); + } + else if (yychar == YYerror) + { + /* The scanner already issued an error message, process directly + to error recovery. But do not keep the error token as + lookahead, it is too special and may lead us to an endless + loop in error recovery. */ + yychar = YYUNDEF; + yytoken = YYSYMBOL_YYerror; + goto yyerrlab1; + } + else + { + yytoken = YYTRANSLATE (yychar); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + } + + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + goto yydefault; + yyn = yytable[yyn]; + if (yyn <= 0) + { + if (yytable_value_is_error (yyn)) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; + + /* Shift the lookahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + /* Discard the shifted token. */ + yychar = YYEMPTY; + goto yynewstate; + + +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + goto yyreduce; + + +/*-----------------------------. +| yyreduce -- do a reduction. | +`-----------------------------*/ +yyreduce: + /* yyn is the number of a rule to reduce with. */ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: + '$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; + + + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 2: /* variable_identifier: IDENTIFIER */ +#line 371 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string); + } +#line 4594 "MachineIndependent/glslang_tab.cpp" + break; + + case 3: /* primary_expression: variable_identifier */ +#line 377 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 4602 "MachineIndependent/glslang_tab.cpp" + break; + + case 4: /* primary_expression: LEFT_PAREN expression RIGHT_PAREN */ +#line 380 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode); + if ((yyval.interm.intermTypedNode)->getAsConstantUnion()) + (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); + } +#line 4612 "MachineIndependent/glslang_tab.cpp" + break; + + case 5: /* primary_expression: FLOATCONSTANT */ +#line 385 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); + } +#line 4620 "MachineIndependent/glslang_tab.cpp" + break; + + case 6: /* primary_expression: INTCONSTANT */ +#line 388 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); + } +#line 4628 "MachineIndependent/glslang_tab.cpp" + break; + + case 7: /* primary_expression: UINTCONSTANT */ +#line 391 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); + } +#line 4637 "MachineIndependent/glslang_tab.cpp" + break; + + case 8: /* primary_expression: BOOLCONSTANT */ +#line 395 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); + } +#line 4645 "MachineIndependent/glslang_tab.cpp" + break; + + case 9: /* primary_expression: STRING_LITERAL */ +#line 399 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true); + } +#line 4653 "MachineIndependent/glslang_tab.cpp" + break; + + case 10: /* primary_expression: INT32CONSTANT */ +#line 402 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); + } +#line 4662 "MachineIndependent/glslang_tab.cpp" + break; + + case 11: /* primary_expression: UINT32CONSTANT */ +#line 406 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); + } +#line 4671 "MachineIndependent/glslang_tab.cpp" + break; + + case 12: /* primary_expression: INT64CONSTANT */ +#line 410 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true); + } +#line 4680 "MachineIndependent/glslang_tab.cpp" + break; + + case 13: /* primary_expression: UINT64CONSTANT */ +#line 414 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true); + } +#line 4689 "MachineIndependent/glslang_tab.cpp" + break; + + case 14: /* primary_expression: INT16CONSTANT */ +#line 418 "MachineIndependent/glslang.y" + { + parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); + } +#line 4698 "MachineIndependent/glslang_tab.cpp" + break; + + case 15: /* primary_expression: UINT16CONSTANT */ +#line 422 "MachineIndependent/glslang.y" + { + parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); + } +#line 4707 "MachineIndependent/glslang_tab.cpp" + break; + + case 16: /* primary_expression: DOUBLECONSTANT */ +#line 426 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double literal"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true); + } +#line 4718 "MachineIndependent/glslang_tab.cpp" + break; + + case 17: /* primary_expression: FLOAT16CONSTANT */ +#line 432 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float literal"); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true); + } +#line 4727 "MachineIndependent/glslang_tab.cpp" + break; + + case 18: /* postfix_expression: primary_expression */ +#line 440 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 4735 "MachineIndependent/glslang_tab.cpp" + break; + + case 19: /* postfix_expression: postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET */ +#line 443 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode)); + } +#line 4743 "MachineIndependent/glslang_tab.cpp" + break; + + case 20: /* postfix_expression: function_call */ +#line 446 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 4751 "MachineIndependent/glslang_tab.cpp" + break; + + case 21: /* postfix_expression: postfix_expression DOT IDENTIFIER */ +#line 449 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string); + } +#line 4759 "MachineIndependent/glslang_tab.cpp" + break; + + case 22: /* postfix_expression: postfix_expression INC_OP */ +#line 452 "MachineIndependent/glslang.y" + { + parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode)); + parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode)); + } +#line 4769 "MachineIndependent/glslang_tab.cpp" + break; + + case 23: /* postfix_expression: postfix_expression DEC_OP */ +#line 457 "MachineIndependent/glslang.y" + { + parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode)); + parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode)); + } +#line 4779 "MachineIndependent/glslang_tab.cpp" + break; + + case 24: /* integer_expression: expression */ +#line 465 "MachineIndependent/glslang.y" + { + parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]"); + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 4788 "MachineIndependent/glslang_tab.cpp" + break; + + case 25: /* function_call: function_call_or_method */ +#line 472 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode); + delete (yyvsp[0].interm).function; + } +#line 4797 "MachineIndependent/glslang_tab.cpp" + break; + + case 26: /* function_call_or_method: function_call_generic */ +#line 479 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[0].interm); + } +#line 4805 "MachineIndependent/glslang_tab.cpp" + break; + + case 27: /* function_call_generic: function_call_header_with_parameters RIGHT_PAREN */ +#line 485 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-1].interm); + (yyval.interm).loc = (yyvsp[0].lex).loc; + } +#line 4814 "MachineIndependent/glslang_tab.cpp" + break; + + case 28: /* function_call_generic: function_call_header_no_parameters RIGHT_PAREN */ +#line 489 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-1].interm); + (yyval.interm).loc = (yyvsp[0].lex).loc; + } +#line 4823 "MachineIndependent/glslang_tab.cpp" + break; + + case 29: /* function_call_header_no_parameters: function_call_header VOID */ +#line 496 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-1].interm); + } +#line 4831 "MachineIndependent/glslang_tab.cpp" + break; + + case 30: /* function_call_header_no_parameters: function_call_header */ +#line 499 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[0].interm); + } +#line 4839 "MachineIndependent/glslang_tab.cpp" + break; + + case 31: /* function_call_header_with_parameters: function_call_header assignment_expression */ +#line 505 "MachineIndependent/glslang.y" + { + TParameter param = { 0, new TType }; + param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType()); + (yyvsp[-1].interm).function->addParameter(param); + (yyval.interm).function = (yyvsp[-1].interm).function; + (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode); + } +#line 4851 "MachineIndependent/glslang_tab.cpp" + break; + + case 32: /* function_call_header_with_parameters: function_call_header_with_parameters COMMA assignment_expression */ +#line 512 "MachineIndependent/glslang.y" + { + TParameter param = { 0, new TType }; + param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType()); + (yyvsp[-2].interm).function->addParameter(param); + (yyval.interm).function = (yyvsp[-2].interm).function; + (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc); + } +#line 4863 "MachineIndependent/glslang_tab.cpp" + break; + + case 33: /* function_call_header: function_identifier LEFT_PAREN */ +#line 522 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-1].interm); + } +#line 4871 "MachineIndependent/glslang_tab.cpp" + break; + + case 34: /* function_identifier: type_specifier */ +#line 530 "MachineIndependent/glslang.y" + { + // Constructor + (yyval.interm).intermNode = 0; + (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); + } +#line 4881 "MachineIndependent/glslang_tab.cpp" + break; + + case 35: /* function_identifier: postfix_expression */ +#line 535 "MachineIndependent/glslang.y" + { + // + // Should be a method or subroutine call, but we haven't recognized the arguments yet. + // + (yyval.interm).function = 0; + (yyval.interm).intermNode = 0; + + TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode(); + if (method) { + (yyval.interm).function = new TFunction(&method->getMethodName(), TType(EbtInt), EOpArrayLength); + (yyval.interm).intermNode = method->getObject(); + } else { + TIntermSymbol* symbol = (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode(); + if (symbol) { + parseContext.reservedErrorCheck(symbol->getLoc(), symbol->getName()); + TFunction *function = new TFunction(&symbol->getName(), TType(EbtVoid)); + (yyval.interm).function = function; + } else + parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "function call, method, or subroutine call expected", "", ""); + } + + if ((yyval.interm).function == 0) { + // error recover + TString* empty = NewPoolTString(""); + (yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull); + } + } +#line 4913 "MachineIndependent/glslang_tab.cpp" + break; + + case 36: /* function_identifier: non_uniform_qualifier */ +#line 563 "MachineIndependent/glslang.y" + { + // Constructor + (yyval.interm).intermNode = 0; + (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); + } +#line 4923 "MachineIndependent/glslang_tab.cpp" + break; + + case 37: /* unary_expression: postfix_expression */ +#line 572 "MachineIndependent/glslang.y" + { + parseContext.variableCheck((yyvsp[0].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode()) + parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), ""); + } +#line 4934 "MachineIndependent/glslang_tab.cpp" + break; + + case 38: /* unary_expression: INC_OP unary_expression */ +#line 578 "MachineIndependent/glslang.y" + { + parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode)); + } +#line 4943 "MachineIndependent/glslang_tab.cpp" + break; + + case 39: /* unary_expression: DEC_OP unary_expression */ +#line 582 "MachineIndependent/glslang.y" + { + parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode)); + } +#line 4952 "MachineIndependent/glslang_tab.cpp" + break; + + case 40: /* unary_expression: unary_operator unary_expression */ +#line 586 "MachineIndependent/glslang.y" + { + if ((yyvsp[-1].interm).op != EOpNull) { + char errorOp[2] = {0, 0}; + switch((yyvsp[-1].interm).op) { + case EOpNegative: errorOp[0] = '-'; break; + case EOpLogicalNot: errorOp[0] = '!'; break; + case EOpBitwiseNot: errorOp[0] = '~'; break; + default: break; // some compilers want this + } + (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].interm).loc, errorOp, (yyvsp[-1].interm).op, (yyvsp[0].interm.intermTypedNode)); + } else { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + if ((yyval.interm.intermTypedNode)->getAsConstantUnion()) + (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); + } + } +#line 4973 "MachineIndependent/glslang_tab.cpp" + break; + + case 41: /* unary_operator: PLUS */ +#line 606 "MachineIndependent/glslang.y" + { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; } +#line 4979 "MachineIndependent/glslang_tab.cpp" + break; + + case 42: /* unary_operator: DASH */ +#line 607 "MachineIndependent/glslang.y" + { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; } +#line 4985 "MachineIndependent/glslang_tab.cpp" + break; + + case 43: /* unary_operator: BANG */ +#line 608 "MachineIndependent/glslang.y" + { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; } +#line 4991 "MachineIndependent/glslang_tab.cpp" + break; + + case 44: /* unary_operator: TILDE */ +#line 609 "MachineIndependent/glslang.y" + { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot; + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); } +#line 4998 "MachineIndependent/glslang_tab.cpp" + break; + + case 45: /* multiplicative_expression: unary_expression */ +#line 615 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5004 "MachineIndependent/glslang_tab.cpp" + break; + + case 46: /* multiplicative_expression: multiplicative_expression STAR unary_expression */ +#line 616 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5014 "MachineIndependent/glslang_tab.cpp" + break; + + case 47: /* multiplicative_expression: multiplicative_expression SLASH unary_expression */ +#line 621 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5024 "MachineIndependent/glslang_tab.cpp" + break; + + case 48: /* multiplicative_expression: multiplicative_expression PERCENT unary_expression */ +#line 626 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%"); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5035 "MachineIndependent/glslang_tab.cpp" + break; + + case 49: /* additive_expression: multiplicative_expression */ +#line 635 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5041 "MachineIndependent/glslang_tab.cpp" + break; + + case 50: /* additive_expression: additive_expression PLUS multiplicative_expression */ +#line 636 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5051 "MachineIndependent/glslang_tab.cpp" + break; + + case 51: /* additive_expression: additive_expression DASH multiplicative_expression */ +#line 641 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5061 "MachineIndependent/glslang_tab.cpp" + break; + + case 52: /* shift_expression: additive_expression */ +#line 649 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5067 "MachineIndependent/glslang_tab.cpp" + break; + + case 53: /* shift_expression: shift_expression LEFT_OP additive_expression */ +#line 650 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left"); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5078 "MachineIndependent/glslang_tab.cpp" + break; + + case 54: /* shift_expression: shift_expression RIGHT_OP additive_expression */ +#line 656 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right"); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5089 "MachineIndependent/glslang_tab.cpp" + break; + + case 55: /* relational_expression: shift_expression */ +#line 665 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5095 "MachineIndependent/glslang_tab.cpp" + break; + + case 56: /* relational_expression: relational_expression LEFT_ANGLE shift_expression */ +#line 666 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5105 "MachineIndependent/glslang_tab.cpp" + break; + + case 57: /* relational_expression: relational_expression RIGHT_ANGLE shift_expression */ +#line 671 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5115 "MachineIndependent/glslang_tab.cpp" + break; + + case 58: /* relational_expression: relational_expression LE_OP shift_expression */ +#line 676 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5125 "MachineIndependent/glslang_tab.cpp" + break; + + case 59: /* relational_expression: relational_expression GE_OP shift_expression */ +#line 681 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5135 "MachineIndependent/glslang_tab.cpp" + break; + + case 60: /* equality_expression: relational_expression */ +#line 689 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5141 "MachineIndependent/glslang_tab.cpp" + break; + + case 61: /* equality_expression: equality_expression EQ_OP relational_expression */ +#line 690 "MachineIndependent/glslang.y" + { + parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison"); + parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=="); + parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=="); + parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=="); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "==", EOpEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5155 "MachineIndependent/glslang_tab.cpp" + break; + + case 62: /* equality_expression: equality_expression NE_OP relational_expression */ +#line 699 "MachineIndependent/glslang.y" + { + parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison"); + parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!="); + parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!="); + parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!="); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "!=", EOpNotEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5169 "MachineIndependent/glslang_tab.cpp" + break; + + case 63: /* and_expression: equality_expression */ +#line 711 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5175 "MachineIndependent/glslang_tab.cpp" + break; + + case 64: /* and_expression: and_expression AMPERSAND equality_expression */ +#line 712 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and"); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5186 "MachineIndependent/glslang_tab.cpp" + break; + + case 65: /* exclusive_or_expression: and_expression */ +#line 721 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5192 "MachineIndependent/glslang_tab.cpp" + break; + + case 66: /* exclusive_or_expression: exclusive_or_expression CARET and_expression */ +#line 722 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or"); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5203 "MachineIndependent/glslang_tab.cpp" + break; + + case 67: /* inclusive_or_expression: exclusive_or_expression */ +#line 731 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5209 "MachineIndependent/glslang_tab.cpp" + break; + + case 68: /* inclusive_or_expression: inclusive_or_expression VERTICAL_BAR exclusive_or_expression */ +#line 732 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or"); + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 5220 "MachineIndependent/glslang_tab.cpp" + break; + + case 69: /* logical_and_expression: inclusive_or_expression */ +#line 741 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5226 "MachineIndependent/glslang_tab.cpp" + break; + + case 70: /* logical_and_expression: logical_and_expression AND_OP inclusive_or_expression */ +#line 742 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5236 "MachineIndependent/glslang_tab.cpp" + break; + + case 71: /* logical_xor_expression: logical_and_expression */ +#line 750 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5242 "MachineIndependent/glslang_tab.cpp" + break; + + case 72: /* logical_xor_expression: logical_xor_expression XOR_OP logical_and_expression */ +#line 751 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5252 "MachineIndependent/glslang_tab.cpp" + break; + + case 73: /* logical_or_expression: logical_xor_expression */ +#line 759 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5258 "MachineIndependent/glslang_tab.cpp" + break; + + case 74: /* logical_or_expression: logical_or_expression OR_OP logical_xor_expression */ +#line 760 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) + (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); + } +#line 5268 "MachineIndependent/glslang_tab.cpp" + break; + + case 75: /* conditional_expression: logical_or_expression */ +#line 768 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5274 "MachineIndependent/glslang_tab.cpp" + break; + + case 76: /* $@1: %empty */ +#line 769 "MachineIndependent/glslang.y" + { + ++parseContext.controlFlowNestingLevel; + } +#line 5282 "MachineIndependent/glslang_tab.cpp" + break; + + case 77: /* conditional_expression: logical_or_expression QUESTION $@1 expression COLON assignment_expression */ +#line 772 "MachineIndependent/glslang.y" + { + --parseContext.controlFlowNestingLevel; + parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode)); + parseContext.rValueErrorCheck((yyvsp[-4].lex).loc, "?", (yyvsp[-5].interm.intermTypedNode)); + parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode)); + parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[0].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addSelection((yyvsp[-5].interm.intermTypedNode), (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-4].lex).loc); + if ((yyval.interm.intermTypedNode) == 0) { + parseContext.binaryOpError((yyvsp[-4].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString()); + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } + } +#line 5299 "MachineIndependent/glslang_tab.cpp" + break; + + case 78: /* assignment_expression: conditional_expression */ +#line 787 "MachineIndependent/glslang.y" + { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } +#line 5305 "MachineIndependent/glslang_tab.cpp" + break; + + case 79: /* assignment_expression: unary_expression assignment_operator assignment_expression */ +#line 788 "MachineIndependent/glslang.y" + { + parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment"); + parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "="); + parseContext.storage16BitAssignmentCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "="); + parseContext.specializationCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "="); + parseContext.lValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode)); + parseContext.rValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[0].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = parseContext.addAssign((yyvsp[-1].interm).loc, (yyvsp[-1].interm).op, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + if ((yyval.interm.intermTypedNode) == 0) { + parseContext.assignError((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString()); + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } + } +#line 5323 "MachineIndependent/glslang_tab.cpp" + break; + + case 80: /* assignment_operator: EQUAL */ +#line 804 "MachineIndependent/glslang.y" + { + (yyval.interm).loc = (yyvsp[0].lex).loc; + (yyval.interm).op = EOpAssign; + } +#line 5332 "MachineIndependent/glslang_tab.cpp" + break; + + case 81: /* assignment_operator: MUL_ASSIGN */ +#line 808 "MachineIndependent/glslang.y" + { + (yyval.interm).loc = (yyvsp[0].lex).loc; + (yyval.interm).op = EOpMulAssign; + } +#line 5341 "MachineIndependent/glslang_tab.cpp" + break; + + case 82: /* assignment_operator: DIV_ASSIGN */ +#line 812 "MachineIndependent/glslang.y" + { + (yyval.interm).loc = (yyvsp[0].lex).loc; + (yyval.interm).op = EOpDivAssign; + } +#line 5350 "MachineIndependent/glslang_tab.cpp" + break; + + case 83: /* assignment_operator: MOD_ASSIGN */ +#line 816 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%="); + (yyval.interm).loc = (yyvsp[0].lex).loc; + (yyval.interm).op = EOpModAssign; + } +#line 5360 "MachineIndependent/glslang_tab.cpp" + break; + + case 84: /* assignment_operator: ADD_ASSIGN */ +#line 821 "MachineIndependent/glslang.y" + { + (yyval.interm).loc = (yyvsp[0].lex).loc; + (yyval.interm).op = EOpAddAssign; + } +#line 5369 "MachineIndependent/glslang_tab.cpp" + break; + + case 85: /* assignment_operator: SUB_ASSIGN */ +#line 825 "MachineIndependent/glslang.y" + { + (yyval.interm).loc = (yyvsp[0].lex).loc; + (yyval.interm).op = EOpSubAssign; + } +#line 5378 "MachineIndependent/glslang_tab.cpp" + break; + + case 86: /* assignment_operator: LEFT_ASSIGN */ +#line 829 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign"); + (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign; + } +#line 5387 "MachineIndependent/glslang_tab.cpp" + break; + + case 87: /* assignment_operator: RIGHT_ASSIGN */ +#line 833 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign"); + (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign; + } +#line 5396 "MachineIndependent/glslang_tab.cpp" + break; + + case 88: /* assignment_operator: AND_ASSIGN */ +#line 837 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign"); + (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign; + } +#line 5405 "MachineIndependent/glslang_tab.cpp" + break; + + case 89: /* assignment_operator: XOR_ASSIGN */ +#line 841 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign"); + (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign; + } +#line 5414 "MachineIndependent/glslang_tab.cpp" + break; + + case 90: /* assignment_operator: OR_ASSIGN */ +#line 845 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign"); + (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign; + } +#line 5423 "MachineIndependent/glslang_tab.cpp" + break; + + case 91: /* expression: assignment_expression */ +#line 852 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 5431 "MachineIndependent/glslang_tab.cpp" + break; + + case 92: /* expression: expression COMMA assignment_expression */ +#line 855 "MachineIndependent/glslang.y" + { + parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode)); + (yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc); + if ((yyval.interm.intermTypedNode) == 0) { + parseContext.binaryOpError((yyvsp[-1].lex).loc, ",", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString()); + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } + } +#line 5444 "MachineIndependent/glslang_tab.cpp" + break; + + case 93: /* constant_expression: conditional_expression */ +#line 866 "MachineIndependent/glslang.y" + { + parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), ""); + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 5453 "MachineIndependent/glslang_tab.cpp" + break; + + case 94: /* declaration: function_prototype SEMICOLON */ +#line 873 "MachineIndependent/glslang.y" + { + parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */); + (yyval.interm.intermNode) = 0; + // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature + } +#line 5463 "MachineIndependent/glslang_tab.cpp" + break; + + case 95: /* declaration: init_declarator_list SEMICOLON */ +#line 878 "MachineIndependent/glslang.y" + { + if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate()) + (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence); + (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode; + } +#line 5473 "MachineIndependent/glslang_tab.cpp" + break; + + case 96: /* declaration: PRECISION precision_qualifier type_specifier SEMICOLON */ +#line 883 "MachineIndependent/glslang.y" + { + parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement"); + // lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope + parseContext.symbolTable.setPreviousDefaultPrecisions(&parseContext.defaultPrecision[0]); + parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision); + (yyval.interm.intermNode) = 0; + } +#line 5485 "MachineIndependent/glslang_tab.cpp" + break; + + case 97: /* declaration: block_structure SEMICOLON */ +#line 890 "MachineIndependent/glslang.y" + { + parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList); + (yyval.interm.intermNode) = 0; + } +#line 5494 "MachineIndependent/glslang_tab.cpp" + break; + + case 98: /* declaration: block_structure IDENTIFIER SEMICOLON */ +#line 894 "MachineIndependent/glslang.y" + { + parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string); + (yyval.interm.intermNode) = 0; + } +#line 5503 "MachineIndependent/glslang_tab.cpp" + break; + + case 99: /* declaration: block_structure IDENTIFIER array_specifier SEMICOLON */ +#line 898 "MachineIndependent/glslang.y" + { + parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes); + (yyval.interm.intermNode) = 0; + } +#line 5512 "MachineIndependent/glslang_tab.cpp" + break; + + case 100: /* declaration: type_qualifier SEMICOLON */ +#line 902 "MachineIndependent/glslang.y" + { + parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier); + parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type)); + (yyval.interm.intermNode) = 0; + } +#line 5522 "MachineIndependent/glslang_tab.cpp" + break; + + case 101: /* declaration: type_qualifier IDENTIFIER SEMICOLON */ +#line 907 "MachineIndependent/glslang.y" + { + parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers); + parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string); + (yyval.interm.intermNode) = 0; + } +#line 5532 "MachineIndependent/glslang_tab.cpp" + break; + + case 102: /* declaration: type_qualifier IDENTIFIER identifier_list SEMICOLON */ +#line 912 "MachineIndependent/glslang.y" + { + parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers); + (yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string); + parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList)); + (yyval.interm.intermNode) = 0; + } +#line 5543 "MachineIndependent/glslang_tab.cpp" + break; + + case 103: /* $@2: %empty */ +#line 921 "MachineIndependent/glslang.y" + { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); } +#line 5549 "MachineIndependent/glslang_tab.cpp" + break; + + case 104: /* block_structure: type_qualifier IDENTIFIER LEFT_BRACE $@2 struct_declaration_list RIGHT_BRACE */ +#line 921 "MachineIndependent/glslang.y" + { + --parseContext.blockNestingLevel; + parseContext.blockName = (yyvsp[-4].lex).string; + parseContext.globalQualifierFixCheck((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).qualifier); + parseContext.checkNoShaderLayouts((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).shaderQualifiers); + parseContext.currentBlockQualifier = (yyvsp[-5].interm.type).qualifier; + (yyval.interm).loc = (yyvsp[-5].interm.type).loc; + (yyval.interm).typeList = (yyvsp[-1].interm.typeList); + } +#line 5563 "MachineIndependent/glslang_tab.cpp" + break; + + case 105: /* identifier_list: COMMA IDENTIFIER */ +#line 932 "MachineIndependent/glslang.y" + { + (yyval.interm.identifierList) = new TIdentifierList; + (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); + } +#line 5572 "MachineIndependent/glslang_tab.cpp" + break; + + case 106: /* identifier_list: identifier_list COMMA IDENTIFIER */ +#line 936 "MachineIndependent/glslang.y" + { + (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList); + (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); + } +#line 5581 "MachineIndependent/glslang_tab.cpp" + break; + + case 107: /* function_prototype: function_declarator RIGHT_PAREN */ +#line 943 "MachineIndependent/glslang.y" + { + (yyval.interm).function = (yyvsp[-1].interm.function); + (yyval.interm).loc = (yyvsp[0].lex).loc; + } +#line 5590 "MachineIndependent/glslang_tab.cpp" + break; + + case 108: /* function_declarator: function_header */ +#line 950 "MachineIndependent/glslang.y" + { + (yyval.interm.function) = (yyvsp[0].interm.function); + } +#line 5598 "MachineIndependent/glslang_tab.cpp" + break; + + case 109: /* function_declarator: function_header_with_parameters */ +#line 953 "MachineIndependent/glslang.y" + { + (yyval.interm.function) = (yyvsp[0].interm.function); + } +#line 5606 "MachineIndependent/glslang_tab.cpp" + break; + + case 110: /* function_header_with_parameters: function_header parameter_declaration */ +#line 960 "MachineIndependent/glslang.y" + { + // Add the parameter + (yyval.interm.function) = (yyvsp[-1].interm.function); + if ((yyvsp[0].interm).param.type->getBasicType() != EbtVoid) + (yyvsp[-1].interm.function)->addParameter((yyvsp[0].interm).param); + else + delete (yyvsp[0].interm).param.type; + } +#line 5619 "MachineIndependent/glslang_tab.cpp" + break; + + case 111: /* function_header_with_parameters: function_header_with_parameters COMMA parameter_declaration */ +#line 968 "MachineIndependent/glslang.y" + { + // + // Only first parameter of one-parameter functions can be void + // The check for named parameters not being void is done in parameter_declarator + // + if ((yyvsp[0].interm).param.type->getBasicType() == EbtVoid) { + // + // This parameter > first is void + // + parseContext.error((yyvsp[-1].lex).loc, "cannot be an argument type except for '(void)'", "void", ""); + delete (yyvsp[0].interm).param.type; + } else { + // Add the parameter + (yyval.interm.function) = (yyvsp[-2].interm.function); + (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param); + } + } +#line 5641 "MachineIndependent/glslang_tab.cpp" + break; + + case 112: /* function_header: fully_specified_type IDENTIFIER LEFT_PAREN */ +#line 988 "MachineIndependent/glslang.y" + { + if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) { + parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return", + GetStorageQualifierString((yyvsp[-2].interm.type).qualifier.storage), ""); + } + if ((yyvsp[-2].interm.type).arraySizes) + parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes); + + // Add the function as a prototype after parsing it (we do not support recursion) + TFunction *function; + TType type((yyvsp[-2].interm.type)); + + // Potentially rename shader entry point function. No-op most of the time. + parseContext.renameShaderFunction((yyvsp[-1].lex).string); + + // Make the function + function = new TFunction((yyvsp[-1].lex).string, type); + (yyval.interm.function) = function; + } +#line 5665 "MachineIndependent/glslang_tab.cpp" + break; + + case 113: /* parameter_declarator: type_specifier IDENTIFIER */ +#line 1011 "MachineIndependent/glslang.y" + { + if ((yyvsp[-1].interm.type).arraySizes) { + parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires((yyvsp[-1].interm.type).loc, EEsProfile, 300, 0, "arrayed type"); + parseContext.arraySizeRequiredCheck((yyvsp[-1].interm.type).loc, *(yyvsp[-1].interm.type).arraySizes); + } + if ((yyvsp[-1].interm.type).basicType == EbtVoid) { + parseContext.error((yyvsp[0].lex).loc, "illegal use of type 'void'", (yyvsp[0].lex).string->c_str(), ""); + } + parseContext.reservedErrorCheck((yyvsp[0].lex).loc, *(yyvsp[0].lex).string); + + TParameter param = {(yyvsp[0].lex).string, new TType((yyvsp[-1].interm.type))}; + (yyval.interm).loc = (yyvsp[0].lex).loc; + (yyval.interm).param = param; + } +#line 5685 "MachineIndependent/glslang_tab.cpp" + break; + + case 114: /* parameter_declarator: type_specifier IDENTIFIER array_specifier */ +#line 1026 "MachineIndependent/glslang.y" + { + if ((yyvsp[-2].interm.type).arraySizes) { + parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type"); + parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes); + } + TType* type = new TType((yyvsp[-2].interm.type)); + type->transferArraySizes((yyvsp[0].interm).arraySizes); + type->copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes); + + parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, type->getArraySizes()); + parseContext.arraySizeRequiredCheck((yyvsp[0].interm).loc, *(yyvsp[0].interm).arraySizes); + parseContext.reservedErrorCheck((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string); + + TParameter param = { (yyvsp[-1].lex).string, type }; + + (yyval.interm).loc = (yyvsp[-1].lex).loc; + (yyval.interm).param = param; + } +#line 5709 "MachineIndependent/glslang_tab.cpp" + break; + + case 115: /* parameter_declaration: type_qualifier parameter_declarator */ +#line 1051 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[0].interm); + if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone) + (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision; + parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); + + parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers); + parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type); + parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); + + } +#line 5725 "MachineIndependent/glslang_tab.cpp" + break; + + case 116: /* parameter_declaration: parameter_declarator */ +#line 1062 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[0].interm); + + parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type); + parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); + parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); + } +#line 5737 "MachineIndependent/glslang_tab.cpp" + break; + + case 117: /* parameter_declaration: type_qualifier parameter_type_specifier */ +#line 1072 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[0].interm); + if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone) + (yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision; + parseContext.precisionQualifierCheck((yyvsp[-1].interm.type).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); + + parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers); + parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type); + parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); + } +#line 5752 "MachineIndependent/glslang_tab.cpp" + break; + + case 118: /* parameter_declaration: parameter_type_specifier */ +#line 1082 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[0].interm); + + parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type); + parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); + parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); + } +#line 5764 "MachineIndependent/glslang_tab.cpp" + break; + + case 119: /* parameter_type_specifier: type_specifier */ +#line 1092 "MachineIndependent/glslang.y" + { + TParameter param = { 0, new TType((yyvsp[0].interm.type)) }; + (yyval.interm).param = param; + if ((yyvsp[0].interm.type).arraySizes) + parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes); + } +#line 5775 "MachineIndependent/glslang_tab.cpp" + break; + + case 120: /* init_declarator_list: single_declaration */ +#line 1101 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[0].interm); + } +#line 5783 "MachineIndependent/glslang_tab.cpp" + break; + + case 121: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER */ +#line 1104 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-2].interm); + parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type); + } +#line 5792 "MachineIndependent/glslang_tab.cpp" + break; + + case 122: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier */ +#line 1108 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-3].interm); + parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes); + } +#line 5801 "MachineIndependent/glslang_tab.cpp" + break; + + case 123: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer */ +#line 1112 "MachineIndependent/glslang.y" + { + (yyval.interm).type = (yyvsp[-5].interm).type; + TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode)); + (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc); + } +#line 5811 "MachineIndependent/glslang_tab.cpp" + break; + + case 124: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER EQUAL initializer */ +#line 1117 "MachineIndependent/glslang.y" + { + (yyval.interm).type = (yyvsp[-4].interm).type; + TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode)); + (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc); + } +#line 5821 "MachineIndependent/glslang_tab.cpp" + break; + + case 125: /* single_declaration: fully_specified_type */ +#line 1125 "MachineIndependent/glslang.y" + { + (yyval.interm).type = (yyvsp[0].interm.type); + (yyval.interm).intermNode = 0; + + parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type); + + } +#line 5833 "MachineIndependent/glslang_tab.cpp" + break; + + case 126: /* single_declaration: fully_specified_type IDENTIFIER */ +#line 1132 "MachineIndependent/glslang.y" + { + (yyval.interm).type = (yyvsp[-1].interm.type); + (yyval.interm).intermNode = 0; + parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type)); + } +#line 5843 "MachineIndependent/glslang_tab.cpp" + break; + + case 127: /* single_declaration: fully_specified_type IDENTIFIER array_specifier */ +#line 1137 "MachineIndependent/glslang.y" + { + (yyval.interm).type = (yyvsp[-2].interm.type); + (yyval.interm).intermNode = 0; + parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes); + } +#line 5853 "MachineIndependent/glslang_tab.cpp" + break; + + case 128: /* single_declaration: fully_specified_type IDENTIFIER array_specifier EQUAL initializer */ +#line 1142 "MachineIndependent/glslang.y" + { + (yyval.interm).type = (yyvsp[-4].interm.type); + TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode)); + (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc); + } +#line 5863 "MachineIndependent/glslang_tab.cpp" + break; + + case 129: /* single_declaration: fully_specified_type IDENTIFIER EQUAL initializer */ +#line 1147 "MachineIndependent/glslang.y" + { + (yyval.interm).type = (yyvsp[-3].interm.type); + TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode)); + (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc); + } +#line 5873 "MachineIndependent/glslang_tab.cpp" + break; + + case 130: /* fully_specified_type: type_specifier */ +#line 1156 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[0].interm.type); + + parseContext.globalQualifierTypeCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyval.interm.type)); + if ((yyvsp[0].interm.type).arraySizes) { + parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type"); + } + parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier); + } +#line 5888 "MachineIndependent/glslang_tab.cpp" + break; + + case 131: /* fully_specified_type: type_qualifier type_specifier */ +#line 1166 "MachineIndependent/glslang.y" + { + parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier); + parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type)); + + if ((yyvsp[0].interm.type).arraySizes) { + parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type"); + } + + if ((yyvsp[0].interm.type).arraySizes && parseContext.arrayQualifierError((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).qualifier)) + (yyvsp[0].interm.type).arraySizes = nullptr; + + parseContext.checkNoShaderLayouts((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers); + (yyvsp[0].interm.type).shaderQualifiers.merge((yyvsp[-1].interm.type).shaderQualifiers); + parseContext.mergeQualifiers((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyvsp[-1].interm.type).qualifier, true); + parseContext.precisionQualifierCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).basicType, (yyvsp[0].interm.type).qualifier); + + (yyval.interm.type) = (yyvsp[0].interm.type); + + if (! (yyval.interm.type).qualifier.isInterpolation() && + ((parseContext.language == EShLangVertex && (yyval.interm.type).qualifier.storage == EvqVaryingOut) || + (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn))) + (yyval.interm.type).qualifier.smooth = true; + } +#line 5917 "MachineIndependent/glslang_tab.cpp" + break; + + case 132: /* invariant_qualifier: INVARIANT */ +#line 1193 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "invariant"); + parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.invariant = true; + } +#line 5928 "MachineIndependent/glslang_tab.cpp" + break; + + case 133: /* interpolation_qualifier: SMOOTH */ +#line 1202 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "smooth"); + parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth"); + parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "smooth"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.smooth = true; + } +#line 5940 "MachineIndependent/glslang_tab.cpp" + break; + + case 134: /* interpolation_qualifier: FLAT */ +#line 1209 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "flat"); + parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat"); + parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "flat"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.flat = true; + } +#line 5952 "MachineIndependent/glslang_tab.cpp" + break; + + case 135: /* interpolation_qualifier: NOPERSPECTIVE */ +#line 1217 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective"); + parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective"); + parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "noperspective"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.nopersp = true; + } +#line 5964 "MachineIndependent/glslang_tab.cpp" + break; + + case 136: /* interpolation_qualifier: EXPLICITINTERPAMD */ +#line 1224 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.explicitInterp = true; + } +#line 5976 "MachineIndependent/glslang_tab.cpp" + break; + + case 137: /* interpolation_qualifier: PERVERTEXNV */ +#line 1231 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.pervertexNV = true; + } +#line 5989 "MachineIndependent/glslang_tab.cpp" + break; + + case 138: /* interpolation_qualifier: PERPRIMITIVENV */ +#line 1239 "MachineIndependent/glslang.y" + { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshNVMask), "perprimitiveNV"); + // Fragment shader stage doesn't check for extension. So we explicitly add below extension check. + if (parseContext.language == EShLangFragment) + parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_NV_mesh_shader, "perprimitiveNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.perPrimitiveNV = true; + } +#line 6004 "MachineIndependent/glslang_tab.cpp" + break; + + case 139: /* interpolation_qualifier: PERVIEWNV */ +#line 1249 "MachineIndependent/glslang.y" + { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV"); + parseContext.requireStage((yyvsp[0].lex).loc, EShLangMeshNV, "perviewNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.perViewNV = true; + } +#line 6016 "MachineIndependent/glslang_tab.cpp" + break; + + case 140: /* interpolation_qualifier: PERTASKNV */ +#line 1256 "MachineIndependent/glslang.y" + { + // No need for profile version or extension check. Shader stage already checks both. + parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTaskNVMask | EShLangMeshNVMask), "taskNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.perTaskNV = true; + } +#line 6028 "MachineIndependent/glslang_tab.cpp" + break; + + case 141: /* layout_qualifier: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN */ +#line 1267 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[-1].interm.type); + } +#line 6036 "MachineIndependent/glslang_tab.cpp" + break; + + case 142: /* layout_qualifier_id_list: layout_qualifier_id */ +#line 1273 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6044 "MachineIndependent/glslang_tab.cpp" + break; + + case 143: /* layout_qualifier_id_list: layout_qualifier_id_list COMMA layout_qualifier_id */ +#line 1276 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[-2].interm.type); + (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); + parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); + } +#line 6054 "MachineIndependent/glslang_tab.cpp" + break; + + case 144: /* layout_qualifier_id: IDENTIFIER */ +#line 1283 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string); + } +#line 6063 "MachineIndependent/glslang_tab.cpp" + break; + + case 145: /* layout_qualifier_id: IDENTIFIER EQUAL constant_expression */ +#line 1287 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[-2].lex).loc); + parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode)); + } +#line 6072 "MachineIndependent/glslang_tab.cpp" + break; + + case 146: /* layout_qualifier_id: SHARED */ +#line 1291 "MachineIndependent/glslang.y" + { // because "shared" is both an identifier and a keyword + (yyval.interm.type).init((yyvsp[0].lex).loc); + TString strShared("shared"); + parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared); + } +#line 6082 "MachineIndependent/glslang_tab.cpp" + break; + + case 147: /* precise_qualifier: PRECISE */ +#line 1300 "MachineIndependent/glslang.y" + { + parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise"); + parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.noContraction = true; + } +#line 6093 "MachineIndependent/glslang_tab.cpp" + break; + + case 148: /* type_qualifier: single_type_qualifier */ +#line 1310 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6101 "MachineIndependent/glslang_tab.cpp" + break; + + case 149: /* type_qualifier: type_qualifier single_type_qualifier */ +#line 1313 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[-1].interm.type); + if ((yyval.interm.type).basicType == EbtVoid) + (yyval.interm.type).basicType = (yyvsp[0].interm.type).basicType; + + (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); + parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); + } +#line 6114 "MachineIndependent/glslang_tab.cpp" + break; + + case 150: /* single_type_qualifier: storage_qualifier */ +#line 1324 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6122 "MachineIndependent/glslang_tab.cpp" + break; + + case 151: /* single_type_qualifier: layout_qualifier */ +#line 1327 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6130 "MachineIndependent/glslang_tab.cpp" + break; + + case 152: /* single_type_qualifier: precision_qualifier */ +#line 1330 "MachineIndependent/glslang.y" + { + parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision); + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6139 "MachineIndependent/glslang_tab.cpp" + break; + + case 153: /* single_type_qualifier: interpolation_qualifier */ +#line 1334 "MachineIndependent/glslang.y" + { + // allow inheritance of storage qualifier from block declaration + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6148 "MachineIndependent/glslang_tab.cpp" + break; + + case 154: /* single_type_qualifier: invariant_qualifier */ +#line 1338 "MachineIndependent/glslang.y" + { + // allow inheritance of storage qualifier from block declaration + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6157 "MachineIndependent/glslang_tab.cpp" + break; + + case 155: /* single_type_qualifier: precise_qualifier */ +#line 1343 "MachineIndependent/glslang.y" + { + // allow inheritance of storage qualifier from block declaration + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6166 "MachineIndependent/glslang_tab.cpp" + break; + + case 156: /* single_type_qualifier: non_uniform_qualifier */ +#line 1347 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[0].interm.type); + } +#line 6174 "MachineIndependent/glslang_tab.cpp" + break; + + case 157: /* storage_qualifier: CONST */ +#line 1354 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant + } +#line 6183 "MachineIndependent/glslang_tab.cpp" + break; + + case 158: /* storage_qualifier: INOUT */ +#line 1358 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "inout"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqInOut; + } +#line 6193 "MachineIndependent/glslang_tab.cpp" + break; + + case 159: /* storage_qualifier: IN */ +#line 1363 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "in"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later + (yyval.interm.type).qualifier.storage = EvqIn; + } +#line 6204 "MachineIndependent/glslang_tab.cpp" + break; + + case 160: /* storage_qualifier: OUT */ +#line 1369 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "out"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later + (yyval.interm.type).qualifier.storage = EvqOut; + } +#line 6215 "MachineIndependent/glslang_tab.cpp" + break; + + case 161: /* storage_qualifier: CENTROID */ +#line 1375 "MachineIndependent/glslang.y" + { + parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid"); + parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid"); + parseContext.globalCheck((yyvsp[0].lex).loc, "centroid"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.centroid = true; + } +#line 6227 "MachineIndependent/glslang_tab.cpp" + break; + + case 162: /* storage_qualifier: UNIFORM */ +#line 1382 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "uniform"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqUniform; + } +#line 6237 "MachineIndependent/glslang_tab.cpp" + break; + + case 163: /* storage_qualifier: SHARED */ +#line 1387 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "shared"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared"); + parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 310, 0, "shared"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqShared; + } +#line 6250 "MachineIndependent/glslang_tab.cpp" + break; + + case 164: /* storage_qualifier: BUFFER */ +#line 1395 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "buffer"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqBuffer; + } +#line 6260 "MachineIndependent/glslang_tab.cpp" + break; + + case 165: /* storage_qualifier: ATTRIBUTE */ +#line 1401 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute"); + parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute"); + parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "attribute"); + parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "attribute"); + parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "attribute"); + + parseContext.globalCheck((yyvsp[0].lex).loc, "attribute"); + + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqVaryingIn; + } +#line 6277 "MachineIndependent/glslang_tab.cpp" + break; + + case 166: /* storage_qualifier: VARYING */ +#line 1413 "MachineIndependent/glslang.y" + { + parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying"); + parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying"); + parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "varying"); + parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "varying"); + + parseContext.globalCheck((yyvsp[0].lex).loc, "varying"); + + (yyval.interm.type).init((yyvsp[0].lex).loc); + if (parseContext.language == EShLangVertex) + (yyval.interm.type).qualifier.storage = EvqVaryingOut; + else + (yyval.interm.type).qualifier.storage = EvqVaryingIn; + } +#line 6296 "MachineIndependent/glslang_tab.cpp" + break; + + case 167: /* storage_qualifier: PATCH */ +#line 1427 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "patch"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.patch = true; + } +#line 6307 "MachineIndependent/glslang_tab.cpp" + break; + + case 168: /* storage_qualifier: SAMPLE */ +#line 1433 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "sample"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.sample = true; + } +#line 6317 "MachineIndependent/glslang_tab.cpp" + break; + + case 169: /* storage_qualifier: HITATTRNV */ +#line 1438 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask + | EShLangAnyHitMask), "hitAttributeNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqHitAttr; + } +#line 6330 "MachineIndependent/glslang_tab.cpp" + break; + + case 170: /* storage_qualifier: HITATTREXT */ +#line 1446 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeEXT"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask + | EShLangAnyHitMask), "hitAttributeEXT"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "hitAttributeNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqHitAttr; + } +#line 6343 "MachineIndependent/glslang_tab.cpp" + break; + + case 171: /* storage_qualifier: PAYLOADNV */ +#line 1454 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqPayload; + } +#line 6356 "MachineIndependent/glslang_tab.cpp" + break; + + case 172: /* storage_qualifier: PAYLOADEXT */ +#line 1462 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadEXT"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadEXT"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadEXT"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqPayload; + } +#line 6369 "MachineIndependent/glslang_tab.cpp" + break; + + case 173: /* storage_qualifier: PAYLOADINNV */ +#line 1470 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadInNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqPayloadIn; + } +#line 6382 "MachineIndependent/glslang_tab.cpp" + break; + + case 174: /* storage_qualifier: PAYLOADINEXT */ +#line 1478 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInEXT"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask | + EShLangAnyHitMask | EShLangMissMask), "rayPayloadInEXT"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadInEXT"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqPayloadIn; + } +#line 6395 "MachineIndependent/glslang_tab.cpp" + break; + + case 175: /* storage_qualifier: CALLDATANV */ +#line 1486 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | + EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqCallableData; + } +#line 6408 "MachineIndependent/glslang_tab.cpp" + break; + + case 176: /* storage_qualifier: CALLDATAEXT */ +#line 1494 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataEXT"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | + EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataEXT"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataEXT"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqCallableData; + } +#line 6421 "MachineIndependent/glslang_tab.cpp" + break; + + case 177: /* storage_qualifier: CALLDATAINNV */ +#line 1502 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqCallableDataIn; + } +#line 6433 "MachineIndependent/glslang_tab.cpp" + break; + + case 178: /* storage_qualifier: CALLDATAINEXT */ +#line 1509 "MachineIndependent/glslang.y" + { + parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInEXT"); + parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInEXT"); + parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataInEXT"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.storage = EvqCallableDataIn; + } +#line 6445 "MachineIndependent/glslang_tab.cpp" + break; + + case 179: /* storage_qualifier: COHERENT */ +#line 1516 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.coherent = true; + } +#line 6454 "MachineIndependent/glslang_tab.cpp" + break; + + case 180: /* storage_qualifier: DEVICECOHERENT */ +#line 1520 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent"); + (yyval.interm.type).qualifier.devicecoherent = true; + } +#line 6464 "MachineIndependent/glslang_tab.cpp" + break; + + case 181: /* storage_qualifier: QUEUEFAMILYCOHERENT */ +#line 1525 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent"); + (yyval.interm.type).qualifier.queuefamilycoherent = true; + } +#line 6474 "MachineIndependent/glslang_tab.cpp" + break; + + case 182: /* storage_qualifier: WORKGROUPCOHERENT */ +#line 1530 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent"); + (yyval.interm.type).qualifier.workgroupcoherent = true; + } +#line 6484 "MachineIndependent/glslang_tab.cpp" + break; + + case 183: /* storage_qualifier: SUBGROUPCOHERENT */ +#line 1535 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent"); + (yyval.interm.type).qualifier.subgroupcoherent = true; + } +#line 6494 "MachineIndependent/glslang_tab.cpp" + break; + + case 184: /* storage_qualifier: NONPRIVATE */ +#line 1540 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate"); + (yyval.interm.type).qualifier.nonprivate = true; + } +#line 6504 "MachineIndependent/glslang_tab.cpp" + break; + + case 185: /* storage_qualifier: SHADERCALLCOHERENT */ +#line 1545 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_ray_tracing, "shadercallcoherent"); + (yyval.interm.type).qualifier.shadercallcoherent = true; + } +#line 6514 "MachineIndependent/glslang_tab.cpp" + break; + + case 186: /* storage_qualifier: VOLATILE */ +#line 1550 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.volatil = true; + } +#line 6523 "MachineIndependent/glslang_tab.cpp" + break; + + case 187: /* storage_qualifier: RESTRICT */ +#line 1554 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.restrict = true; + } +#line 6532 "MachineIndependent/glslang_tab.cpp" + break; + + case 188: /* storage_qualifier: READONLY */ +#line 1558 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.readonly = true; + } +#line 6541 "MachineIndependent/glslang_tab.cpp" + break; + + case 189: /* storage_qualifier: WRITEONLY */ +#line 1562 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.writeonly = true; + } +#line 6550 "MachineIndependent/glslang_tab.cpp" + break; + + case 190: /* storage_qualifier: SUBROUTINE */ +#line 1566 "MachineIndependent/glslang.y" + { + parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine"); + parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine"); + parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine"); + (yyval.interm.type).init((yyvsp[0].lex).loc); + } +#line 6561 "MachineIndependent/glslang_tab.cpp" + break; + + case 191: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */ +#line 1572 "MachineIndependent/glslang.y" + { + parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine"); + parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine"); + parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine"); + (yyval.interm.type).init((yyvsp[-3].lex).loc); + } +#line 6572 "MachineIndependent/glslang_tab.cpp" + break; + + case 192: /* non_uniform_qualifier: NONUNIFORM */ +#line 1583 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc); + (yyval.interm.type).qualifier.nonUniform = true; + } +#line 6581 "MachineIndependent/glslang_tab.cpp" + break; + + case 193: /* type_name_list: IDENTIFIER */ +#line 1590 "MachineIndependent/glslang.y" + { + // TODO + } +#line 6589 "MachineIndependent/glslang_tab.cpp" + break; + + case 194: /* type_name_list: type_name_list COMMA IDENTIFIER */ +#line 1593 "MachineIndependent/glslang.y" + { + // TODO: 4.0 semantics: subroutines + // 1) make sure each identifier is a type declared earlier with SUBROUTINE + // 2) save all of the identifiers for future comparison with the declared function + } +#line 6599 "MachineIndependent/glslang_tab.cpp" + break; + + case 195: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */ +#line 1602 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[-1].interm.type); + (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type)); + (yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters); + } +#line 6609 "MachineIndependent/glslang_tab.cpp" + break; + + case 196: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */ +#line 1607 "MachineIndependent/glslang.y" + { + parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes); + (yyval.interm.type) = (yyvsp[-2].interm.type); + (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type)); + (yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters); + (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes; + } +#line 6621 "MachineIndependent/glslang_tab.cpp" + break; + + case 197: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */ +#line 1617 "MachineIndependent/glslang.y" + { + (yyval.interm).loc = (yyvsp[-1].lex).loc; + (yyval.interm).arraySizes = new TArraySizes; + (yyval.interm).arraySizes->addInnerSize(); + } +#line 6631 "MachineIndependent/glslang_tab.cpp" + break; + + case 198: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */ +#line 1622 "MachineIndependent/glslang.y" + { + (yyval.interm).loc = (yyvsp[-2].lex).loc; + (yyval.interm).arraySizes = new TArraySizes; + + TArraySize size; + parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size"); + (yyval.interm).arraySizes->addInnerSize(size); + } +#line 6644 "MachineIndependent/glslang_tab.cpp" + break; + + case 199: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */ +#line 1630 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-2].interm); + (yyval.interm).arraySizes->addInnerSize(); + } +#line 6653 "MachineIndependent/glslang_tab.cpp" + break; + + case 200: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */ +#line 1634 "MachineIndependent/glslang.y" + { + (yyval.interm) = (yyvsp[-3].interm); + + TArraySize size; + parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size"); + (yyval.interm).arraySizes->addInnerSize(size); + } +#line 6665 "MachineIndependent/glslang_tab.cpp" + break; + + case 201: /* type_parameter_specifier_opt: type_parameter_specifier */ +#line 1644 "MachineIndependent/glslang.y" + { + (yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters); + } +#line 6673 "MachineIndependent/glslang_tab.cpp" + break; + + case 202: /* type_parameter_specifier_opt: %empty */ +#line 1647 "MachineIndependent/glslang.y" + { + (yyval.interm.typeParameters) = 0; + } +#line 6681 "MachineIndependent/glslang_tab.cpp" + break; + + case 203: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */ +#line 1653 "MachineIndependent/glslang.y" + { + (yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters); + } +#line 6689 "MachineIndependent/glslang_tab.cpp" + break; + + case 204: /* type_parameter_specifier_list: unary_expression */ +#line 1659 "MachineIndependent/glslang.y" + { + (yyval.interm.typeParameters) = new TArraySizes; + + TArraySize size; + parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter"); + (yyval.interm.typeParameters)->addInnerSize(size); + } +#line 6701 "MachineIndependent/glslang_tab.cpp" + break; + + case 205: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */ +#line 1666 "MachineIndependent/glslang.y" + { + (yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters); + + TArraySize size; + parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter"); + (yyval.interm.typeParameters)->addInnerSize(size); + } +#line 6713 "MachineIndependent/glslang_tab.cpp" + break; + + case 206: /* type_specifier_nonarray: VOID */ +#line 1676 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtVoid; + } +#line 6722 "MachineIndependent/glslang_tab.cpp" + break; + + case 207: /* type_specifier_nonarray: FLOAT */ +#line 1680 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + } +#line 6731 "MachineIndependent/glslang_tab.cpp" + break; + + case 208: /* type_specifier_nonarray: INT */ +#line 1684 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + } +#line 6740 "MachineIndependent/glslang_tab.cpp" + break; + + case 209: /* type_specifier_nonarray: UINT */ +#line 1688 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + } +#line 6750 "MachineIndependent/glslang_tab.cpp" + break; + + case 210: /* type_specifier_nonarray: BOOL */ +#line 1693 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtBool; + } +#line 6759 "MachineIndependent/glslang_tab.cpp" + break; + + case 211: /* type_specifier_nonarray: VEC2 */ +#line 1697 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setVector(2); + } +#line 6769 "MachineIndependent/glslang_tab.cpp" + break; + + case 212: /* type_specifier_nonarray: VEC3 */ +#line 1702 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setVector(3); + } +#line 6779 "MachineIndependent/glslang_tab.cpp" + break; + + case 213: /* type_specifier_nonarray: VEC4 */ +#line 1707 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setVector(4); + } +#line 6789 "MachineIndependent/glslang_tab.cpp" + break; + + case 214: /* type_specifier_nonarray: BVEC2 */ +#line 1712 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtBool; + (yyval.interm.type).setVector(2); + } +#line 6799 "MachineIndependent/glslang_tab.cpp" + break; + + case 215: /* type_specifier_nonarray: BVEC3 */ +#line 1717 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtBool; + (yyval.interm.type).setVector(3); + } +#line 6809 "MachineIndependent/glslang_tab.cpp" + break; + + case 216: /* type_specifier_nonarray: BVEC4 */ +#line 1722 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtBool; + (yyval.interm.type).setVector(4); + } +#line 6819 "MachineIndependent/glslang_tab.cpp" + break; + + case 217: /* type_specifier_nonarray: IVEC2 */ +#line 1727 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).setVector(2); + } +#line 6829 "MachineIndependent/glslang_tab.cpp" + break; + + case 218: /* type_specifier_nonarray: IVEC3 */ +#line 1732 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).setVector(3); + } +#line 6839 "MachineIndependent/glslang_tab.cpp" + break; + + case 219: /* type_specifier_nonarray: IVEC4 */ +#line 1737 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).setVector(4); + } +#line 6849 "MachineIndependent/glslang_tab.cpp" + break; + + case 220: /* type_specifier_nonarray: UVEC2 */ +#line 1742 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).setVector(2); + } +#line 6860 "MachineIndependent/glslang_tab.cpp" + break; + + case 221: /* type_specifier_nonarray: UVEC3 */ +#line 1748 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).setVector(3); + } +#line 6871 "MachineIndependent/glslang_tab.cpp" + break; + + case 222: /* type_specifier_nonarray: UVEC4 */ +#line 1754 "MachineIndependent/glslang.y" + { + parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).setVector(4); + } +#line 6882 "MachineIndependent/glslang_tab.cpp" + break; + + case 223: /* type_specifier_nonarray: MAT2 */ +#line 1760 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 2); + } +#line 6892 "MachineIndependent/glslang_tab.cpp" + break; + + case 224: /* type_specifier_nonarray: MAT3 */ +#line 1765 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 3); + } +#line 6902 "MachineIndependent/glslang_tab.cpp" + break; + + case 225: /* type_specifier_nonarray: MAT4 */ +#line 1770 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 4); + } +#line 6912 "MachineIndependent/glslang_tab.cpp" + break; + + case 226: /* type_specifier_nonarray: MAT2X2 */ +#line 1775 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 2); + } +#line 6922 "MachineIndependent/glslang_tab.cpp" + break; + + case 227: /* type_specifier_nonarray: MAT2X3 */ +#line 1780 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 3); + } +#line 6932 "MachineIndependent/glslang_tab.cpp" + break; + + case 228: /* type_specifier_nonarray: MAT2X4 */ +#line 1785 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 4); + } +#line 6942 "MachineIndependent/glslang_tab.cpp" + break; + + case 229: /* type_specifier_nonarray: MAT3X2 */ +#line 1790 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 2); + } +#line 6952 "MachineIndependent/glslang_tab.cpp" + break; + + case 230: /* type_specifier_nonarray: MAT3X3 */ +#line 1795 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 3); + } +#line 6962 "MachineIndependent/glslang_tab.cpp" + break; + + case 231: /* type_specifier_nonarray: MAT3X4 */ +#line 1800 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 4); + } +#line 6972 "MachineIndependent/glslang_tab.cpp" + break; + + case 232: /* type_specifier_nonarray: MAT4X2 */ +#line 1805 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 2); + } +#line 6982 "MachineIndependent/glslang_tab.cpp" + break; + + case 233: /* type_specifier_nonarray: MAT4X3 */ +#line 1810 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 3); + } +#line 6992 "MachineIndependent/glslang_tab.cpp" + break; + + case 234: /* type_specifier_nonarray: MAT4X4 */ +#line 1815 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7002 "MachineIndependent/glslang_tab.cpp" + break; + + case 235: /* type_specifier_nonarray: DOUBLE */ +#line 1821 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + } +#line 7014 "MachineIndependent/glslang_tab.cpp" + break; + + case 236: /* type_specifier_nonarray: FLOAT16_T */ +#line 1828 "MachineIndependent/glslang.y" + { + parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + } +#line 7024 "MachineIndependent/glslang_tab.cpp" + break; + + case 237: /* type_specifier_nonarray: FLOAT32_T */ +#line 1833 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + } +#line 7034 "MachineIndependent/glslang_tab.cpp" + break; + + case 238: /* type_specifier_nonarray: FLOAT64_T */ +#line 1838 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + } +#line 7044 "MachineIndependent/glslang_tab.cpp" + break; + + case 239: /* type_specifier_nonarray: INT8_T */ +#line 1843 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt8; + } +#line 7054 "MachineIndependent/glslang_tab.cpp" + break; + + case 240: /* type_specifier_nonarray: UINT8_T */ +#line 1848 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint8; + } +#line 7064 "MachineIndependent/glslang_tab.cpp" + break; + + case 241: /* type_specifier_nonarray: INT16_T */ +#line 1853 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt16; + } +#line 7074 "MachineIndependent/glslang_tab.cpp" + break; + + case 242: /* type_specifier_nonarray: UINT16_T */ +#line 1858 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint16; + } +#line 7084 "MachineIndependent/glslang_tab.cpp" + break; + + case 243: /* type_specifier_nonarray: INT32_T */ +#line 1863 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + } +#line 7094 "MachineIndependent/glslang_tab.cpp" + break; + + case 244: /* type_specifier_nonarray: UINT32_T */ +#line 1868 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + } +#line 7104 "MachineIndependent/glslang_tab.cpp" + break; + + case 245: /* type_specifier_nonarray: INT64_T */ +#line 1873 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt64; + } +#line 7114 "MachineIndependent/glslang_tab.cpp" + break; + + case 246: /* type_specifier_nonarray: UINT64_T */ +#line 1878 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint64; + } +#line 7124 "MachineIndependent/glslang_tab.cpp" + break; + + case 247: /* type_specifier_nonarray: DVEC2 */ +#line 1883 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setVector(2); + } +#line 7137 "MachineIndependent/glslang_tab.cpp" + break; + + case 248: /* type_specifier_nonarray: DVEC3 */ +#line 1891 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setVector(3); + } +#line 7150 "MachineIndependent/glslang_tab.cpp" + break; + + case 249: /* type_specifier_nonarray: DVEC4 */ +#line 1899 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setVector(4); + } +#line 7163 "MachineIndependent/glslang_tab.cpp" + break; + + case 250: /* type_specifier_nonarray: F16VEC2 */ +#line 1907 "MachineIndependent/glslang.y" + { + parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setVector(2); + } +#line 7174 "MachineIndependent/glslang_tab.cpp" + break; + + case 251: /* type_specifier_nonarray: F16VEC3 */ +#line 1913 "MachineIndependent/glslang.y" + { + parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setVector(3); + } +#line 7185 "MachineIndependent/glslang_tab.cpp" + break; + + case 252: /* type_specifier_nonarray: F16VEC4 */ +#line 1919 "MachineIndependent/glslang.y" + { + parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setVector(4); + } +#line 7196 "MachineIndependent/glslang_tab.cpp" + break; + + case 253: /* type_specifier_nonarray: F32VEC2 */ +#line 1925 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setVector(2); + } +#line 7207 "MachineIndependent/glslang_tab.cpp" + break; + + case 254: /* type_specifier_nonarray: F32VEC3 */ +#line 1931 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setVector(3); + } +#line 7218 "MachineIndependent/glslang_tab.cpp" + break; + + case 255: /* type_specifier_nonarray: F32VEC4 */ +#line 1937 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setVector(4); + } +#line 7229 "MachineIndependent/glslang_tab.cpp" + break; + + case 256: /* type_specifier_nonarray: F64VEC2 */ +#line 1943 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setVector(2); + } +#line 7240 "MachineIndependent/glslang_tab.cpp" + break; + + case 257: /* type_specifier_nonarray: F64VEC3 */ +#line 1949 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setVector(3); + } +#line 7251 "MachineIndependent/glslang_tab.cpp" + break; + + case 258: /* type_specifier_nonarray: F64VEC4 */ +#line 1955 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setVector(4); + } +#line 7262 "MachineIndependent/glslang_tab.cpp" + break; + + case 259: /* type_specifier_nonarray: I8VEC2 */ +#line 1961 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt8; + (yyval.interm.type).setVector(2); + } +#line 7273 "MachineIndependent/glslang_tab.cpp" + break; + + case 260: /* type_specifier_nonarray: I8VEC3 */ +#line 1967 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt8; + (yyval.interm.type).setVector(3); + } +#line 7284 "MachineIndependent/glslang_tab.cpp" + break; + + case 261: /* type_specifier_nonarray: I8VEC4 */ +#line 1973 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt8; + (yyval.interm.type).setVector(4); + } +#line 7295 "MachineIndependent/glslang_tab.cpp" + break; + + case 262: /* type_specifier_nonarray: I16VEC2 */ +#line 1979 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt16; + (yyval.interm.type).setVector(2); + } +#line 7306 "MachineIndependent/glslang_tab.cpp" + break; + + case 263: /* type_specifier_nonarray: I16VEC3 */ +#line 1985 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt16; + (yyval.interm.type).setVector(3); + } +#line 7317 "MachineIndependent/glslang_tab.cpp" + break; + + case 264: /* type_specifier_nonarray: I16VEC4 */ +#line 1991 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt16; + (yyval.interm.type).setVector(4); + } +#line 7328 "MachineIndependent/glslang_tab.cpp" + break; + + case 265: /* type_specifier_nonarray: I32VEC2 */ +#line 1997 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).setVector(2); + } +#line 7339 "MachineIndependent/glslang_tab.cpp" + break; + + case 266: /* type_specifier_nonarray: I32VEC3 */ +#line 2003 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).setVector(3); + } +#line 7350 "MachineIndependent/glslang_tab.cpp" + break; + + case 267: /* type_specifier_nonarray: I32VEC4 */ +#line 2009 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).setVector(4); + } +#line 7361 "MachineIndependent/glslang_tab.cpp" + break; + + case 268: /* type_specifier_nonarray: I64VEC2 */ +#line 2015 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt64; + (yyval.interm.type).setVector(2); + } +#line 7372 "MachineIndependent/glslang_tab.cpp" + break; + + case 269: /* type_specifier_nonarray: I64VEC3 */ +#line 2021 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt64; + (yyval.interm.type).setVector(3); + } +#line 7383 "MachineIndependent/glslang_tab.cpp" + break; + + case 270: /* type_specifier_nonarray: I64VEC4 */ +#line 2027 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt64; + (yyval.interm.type).setVector(4); + } +#line 7394 "MachineIndependent/glslang_tab.cpp" + break; + + case 271: /* type_specifier_nonarray: U8VEC2 */ +#line 2033 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint8; + (yyval.interm.type).setVector(2); + } +#line 7405 "MachineIndependent/glslang_tab.cpp" + break; + + case 272: /* type_specifier_nonarray: U8VEC3 */ +#line 2039 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint8; + (yyval.interm.type).setVector(3); + } +#line 7416 "MachineIndependent/glslang_tab.cpp" + break; + + case 273: /* type_specifier_nonarray: U8VEC4 */ +#line 2045 "MachineIndependent/glslang.y" + { + parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint8; + (yyval.interm.type).setVector(4); + } +#line 7427 "MachineIndependent/glslang_tab.cpp" + break; + + case 274: /* type_specifier_nonarray: U16VEC2 */ +#line 2051 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint16; + (yyval.interm.type).setVector(2); + } +#line 7438 "MachineIndependent/glslang_tab.cpp" + break; + + case 275: /* type_specifier_nonarray: U16VEC3 */ +#line 2057 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint16; + (yyval.interm.type).setVector(3); + } +#line 7449 "MachineIndependent/glslang_tab.cpp" + break; + + case 276: /* type_specifier_nonarray: U16VEC4 */ +#line 2063 "MachineIndependent/glslang.y" + { + parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint16; + (yyval.interm.type).setVector(4); + } +#line 7460 "MachineIndependent/glslang_tab.cpp" + break; + + case 277: /* type_specifier_nonarray: U32VEC2 */ +#line 2069 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).setVector(2); + } +#line 7471 "MachineIndependent/glslang_tab.cpp" + break; + + case 278: /* type_specifier_nonarray: U32VEC3 */ +#line 2075 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).setVector(3); + } +#line 7482 "MachineIndependent/glslang_tab.cpp" + break; + + case 279: /* type_specifier_nonarray: U32VEC4 */ +#line 2081 "MachineIndependent/glslang.y" + { + parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).setVector(4); + } +#line 7493 "MachineIndependent/glslang_tab.cpp" + break; + + case 280: /* type_specifier_nonarray: U64VEC2 */ +#line 2087 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint64; + (yyval.interm.type).setVector(2); + } +#line 7504 "MachineIndependent/glslang_tab.cpp" + break; + + case 281: /* type_specifier_nonarray: U64VEC3 */ +#line 2093 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint64; + (yyval.interm.type).setVector(3); + } +#line 7515 "MachineIndependent/glslang_tab.cpp" + break; + + case 282: /* type_specifier_nonarray: U64VEC4 */ +#line 2099 "MachineIndependent/glslang.y" + { + parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint64; + (yyval.interm.type).setVector(4); + } +#line 7526 "MachineIndependent/glslang_tab.cpp" + break; + + case 283: /* type_specifier_nonarray: DMAT2 */ +#line 2105 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7539 "MachineIndependent/glslang_tab.cpp" + break; + + case 284: /* type_specifier_nonarray: DMAT3 */ +#line 2113 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 3); + } +#line 7552 "MachineIndependent/glslang_tab.cpp" + break; + + case 285: /* type_specifier_nonarray: DMAT4 */ +#line 2121 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7565 "MachineIndependent/glslang_tab.cpp" + break; + + case 286: /* type_specifier_nonarray: DMAT2X2 */ +#line 2129 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7578 "MachineIndependent/glslang_tab.cpp" + break; + + case 287: /* type_specifier_nonarray: DMAT2X3 */ +#line 2137 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 3); + } +#line 7591 "MachineIndependent/glslang_tab.cpp" + break; + + case 288: /* type_specifier_nonarray: DMAT2X4 */ +#line 2145 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 4); + } +#line 7604 "MachineIndependent/glslang_tab.cpp" + break; + + case 289: /* type_specifier_nonarray: DMAT3X2 */ +#line 2153 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 2); + } +#line 7617 "MachineIndependent/glslang_tab.cpp" + break; + + case 290: /* type_specifier_nonarray: DMAT3X3 */ +#line 2161 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 3); + } +#line 7630 "MachineIndependent/glslang_tab.cpp" + break; + + case 291: /* type_specifier_nonarray: DMAT3X4 */ +#line 2169 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 4); + } +#line 7643 "MachineIndependent/glslang_tab.cpp" + break; + + case 292: /* type_specifier_nonarray: DMAT4X2 */ +#line 2177 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 2); + } +#line 7656 "MachineIndependent/glslang_tab.cpp" + break; + + case 293: /* type_specifier_nonarray: DMAT4X3 */ +#line 2185 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 3); + } +#line 7669 "MachineIndependent/glslang_tab.cpp" + break; + + case 294: /* type_specifier_nonarray: DMAT4X4 */ +#line 2193 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix"); + if (! parseContext.symbolTable.atBuiltInLevel()) + parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7682 "MachineIndependent/glslang_tab.cpp" + break; + + case 295: /* type_specifier_nonarray: F16MAT2 */ +#line 2201 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7693 "MachineIndependent/glslang_tab.cpp" + break; + + case 296: /* type_specifier_nonarray: F16MAT3 */ +#line 2207 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(3, 3); + } +#line 7704 "MachineIndependent/glslang_tab.cpp" + break; + + case 297: /* type_specifier_nonarray: F16MAT4 */ +#line 2213 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7715 "MachineIndependent/glslang_tab.cpp" + break; + + case 298: /* type_specifier_nonarray: F16MAT2X2 */ +#line 2219 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7726 "MachineIndependent/glslang_tab.cpp" + break; + + case 299: /* type_specifier_nonarray: F16MAT2X3 */ +#line 2225 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(2, 3); + } +#line 7737 "MachineIndependent/glslang_tab.cpp" + break; + + case 300: /* type_specifier_nonarray: F16MAT2X4 */ +#line 2231 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(2, 4); + } +#line 7748 "MachineIndependent/glslang_tab.cpp" + break; + + case 301: /* type_specifier_nonarray: F16MAT3X2 */ +#line 2237 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(3, 2); + } +#line 7759 "MachineIndependent/glslang_tab.cpp" + break; + + case 302: /* type_specifier_nonarray: F16MAT3X3 */ +#line 2243 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(3, 3); + } +#line 7770 "MachineIndependent/glslang_tab.cpp" + break; + + case 303: /* type_specifier_nonarray: F16MAT3X4 */ +#line 2249 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(3, 4); + } +#line 7781 "MachineIndependent/glslang_tab.cpp" + break; + + case 304: /* type_specifier_nonarray: F16MAT4X2 */ +#line 2255 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(4, 2); + } +#line 7792 "MachineIndependent/glslang_tab.cpp" + break; + + case 305: /* type_specifier_nonarray: F16MAT4X3 */ +#line 2261 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(4, 3); + } +#line 7803 "MachineIndependent/glslang_tab.cpp" + break; + + case 306: /* type_specifier_nonarray: F16MAT4X4 */ +#line 2267 "MachineIndependent/glslang.y" + { + parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat16; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7814 "MachineIndependent/glslang_tab.cpp" + break; + + case 307: /* type_specifier_nonarray: F32MAT2 */ +#line 2273 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7825 "MachineIndependent/glslang_tab.cpp" + break; + + case 308: /* type_specifier_nonarray: F32MAT3 */ +#line 2279 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 3); + } +#line 7836 "MachineIndependent/glslang_tab.cpp" + break; + + case 309: /* type_specifier_nonarray: F32MAT4 */ +#line 2285 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7847 "MachineIndependent/glslang_tab.cpp" + break; + + case 310: /* type_specifier_nonarray: F32MAT2X2 */ +#line 2291 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7858 "MachineIndependent/glslang_tab.cpp" + break; + + case 311: /* type_specifier_nonarray: F32MAT2X3 */ +#line 2297 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 3); + } +#line 7869 "MachineIndependent/glslang_tab.cpp" + break; + + case 312: /* type_specifier_nonarray: F32MAT2X4 */ +#line 2303 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(2, 4); + } +#line 7880 "MachineIndependent/glslang_tab.cpp" + break; + + case 313: /* type_specifier_nonarray: F32MAT3X2 */ +#line 2309 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 2); + } +#line 7891 "MachineIndependent/glslang_tab.cpp" + break; + + case 314: /* type_specifier_nonarray: F32MAT3X3 */ +#line 2315 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 3); + } +#line 7902 "MachineIndependent/glslang_tab.cpp" + break; + + case 315: /* type_specifier_nonarray: F32MAT3X4 */ +#line 2321 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(3, 4); + } +#line 7913 "MachineIndependent/glslang_tab.cpp" + break; + + case 316: /* type_specifier_nonarray: F32MAT4X2 */ +#line 2327 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 2); + } +#line 7924 "MachineIndependent/glslang_tab.cpp" + break; + + case 317: /* type_specifier_nonarray: F32MAT4X3 */ +#line 2333 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 3); + } +#line 7935 "MachineIndependent/glslang_tab.cpp" + break; + + case 318: /* type_specifier_nonarray: F32MAT4X4 */ +#line 2339 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7946 "MachineIndependent/glslang_tab.cpp" + break; + + case 319: /* type_specifier_nonarray: F64MAT2 */ +#line 2345 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7957 "MachineIndependent/glslang_tab.cpp" + break; + + case 320: /* type_specifier_nonarray: F64MAT3 */ +#line 2351 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 3); + } +#line 7968 "MachineIndependent/glslang_tab.cpp" + break; + + case 321: /* type_specifier_nonarray: F64MAT4 */ +#line 2357 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 4); + } +#line 7979 "MachineIndependent/glslang_tab.cpp" + break; + + case 322: /* type_specifier_nonarray: F64MAT2X2 */ +#line 2363 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 2); + } +#line 7990 "MachineIndependent/glslang_tab.cpp" + break; + + case 323: /* type_specifier_nonarray: F64MAT2X3 */ +#line 2369 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 3); + } +#line 8001 "MachineIndependent/glslang_tab.cpp" + break; + + case 324: /* type_specifier_nonarray: F64MAT2X4 */ +#line 2375 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(2, 4); + } +#line 8012 "MachineIndependent/glslang_tab.cpp" + break; + + case 325: /* type_specifier_nonarray: F64MAT3X2 */ +#line 2381 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 2); + } +#line 8023 "MachineIndependent/glslang_tab.cpp" + break; + + case 326: /* type_specifier_nonarray: F64MAT3X3 */ +#line 2387 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 3); + } +#line 8034 "MachineIndependent/glslang_tab.cpp" + break; + + case 327: /* type_specifier_nonarray: F64MAT3X4 */ +#line 2393 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(3, 4); + } +#line 8045 "MachineIndependent/glslang_tab.cpp" + break; + + case 328: /* type_specifier_nonarray: F64MAT4X2 */ +#line 2399 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 2); + } +#line 8056 "MachineIndependent/glslang_tab.cpp" + break; + + case 329: /* type_specifier_nonarray: F64MAT4X3 */ +#line 2405 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 3); + } +#line 8067 "MachineIndependent/glslang_tab.cpp" + break; + + case 330: /* type_specifier_nonarray: F64MAT4X4 */ +#line 2411 "MachineIndependent/glslang.y" + { + parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtDouble; + (yyval.interm.type).setMatrix(4, 4); + } +#line 8078 "MachineIndependent/glslang_tab.cpp" + break; + + case 331: /* type_specifier_nonarray: ACCSTRUCTNV */ +#line 2417 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtAccStruct; + } +#line 8087 "MachineIndependent/glslang_tab.cpp" + break; + + case 332: /* type_specifier_nonarray: ACCSTRUCTEXT */ +#line 2421 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtAccStruct; + } +#line 8096 "MachineIndependent/glslang_tab.cpp" + break; + + case 333: /* type_specifier_nonarray: RAYQUERYEXT */ +#line 2425 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtRayQuery; + } +#line 8105 "MachineIndependent/glslang_tab.cpp" + break; + + case 334: /* type_specifier_nonarray: ATOMIC_UINT */ +#line 2429 "MachineIndependent/glslang.y" + { + parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtAtomicUint; + } +#line 8115 "MachineIndependent/glslang_tab.cpp" + break; + + case 335: /* type_specifier_nonarray: SAMPLER1D */ +#line 2434 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd1D); + } +#line 8125 "MachineIndependent/glslang_tab.cpp" + break; + + case 336: /* type_specifier_nonarray: SAMPLER2D */ +#line 2440 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D); + } +#line 8135 "MachineIndependent/glslang_tab.cpp" + break; + + case 337: /* type_specifier_nonarray: SAMPLER3D */ +#line 2445 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd3D); + } +#line 8145 "MachineIndependent/glslang_tab.cpp" + break; + + case 338: /* type_specifier_nonarray: SAMPLERCUBE */ +#line 2450 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, EsdCube); + } +#line 8155 "MachineIndependent/glslang_tab.cpp" + break; + + case 339: /* type_specifier_nonarray: SAMPLER2DSHADOW */ +#line 2455 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true); + } +#line 8165 "MachineIndependent/glslang_tab.cpp" + break; + + case 340: /* type_specifier_nonarray: SAMPLERCUBESHADOW */ +#line 2460 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true); + } +#line 8175 "MachineIndependent/glslang_tab.cpp" + break; + + case 341: /* type_specifier_nonarray: SAMPLER2DARRAY */ +#line 2465 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true); + } +#line 8185 "MachineIndependent/glslang_tab.cpp" + break; + + case 342: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */ +#line 2470 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true); + } +#line 8195 "MachineIndependent/glslang_tab.cpp" + break; + + case 343: /* type_specifier_nonarray: SAMPLER1DSHADOW */ +#line 2476 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true); + } +#line 8205 "MachineIndependent/glslang_tab.cpp" + break; + + case 344: /* type_specifier_nonarray: SAMPLER1DARRAY */ +#line 2481 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true); + } +#line 8215 "MachineIndependent/glslang_tab.cpp" + break; + + case 345: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */ +#line 2486 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true); + } +#line 8225 "MachineIndependent/glslang_tab.cpp" + break; + + case 346: /* type_specifier_nonarray: SAMPLERCUBEARRAY */ +#line 2491 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true); + } +#line 8235 "MachineIndependent/glslang_tab.cpp" + break; + + case 347: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */ +#line 2496 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true); + } +#line 8245 "MachineIndependent/glslang_tab.cpp" + break; + + case 348: /* type_specifier_nonarray: F16SAMPLER1D */ +#line 2501 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd1D); + } +#line 8256 "MachineIndependent/glslang_tab.cpp" + break; + + case 349: /* type_specifier_nonarray: F16SAMPLER2D */ +#line 2507 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd2D); + } +#line 8267 "MachineIndependent/glslang_tab.cpp" + break; + + case 350: /* type_specifier_nonarray: F16SAMPLER3D */ +#line 2513 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd3D); + } +#line 8278 "MachineIndependent/glslang_tab.cpp" + break; + + case 351: /* type_specifier_nonarray: F16SAMPLERCUBE */ +#line 2519 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, EsdCube); + } +#line 8289 "MachineIndependent/glslang_tab.cpp" + break; + + case 352: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */ +#line 2525 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true); + } +#line 8300 "MachineIndependent/glslang_tab.cpp" + break; + + case 353: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */ +#line 2531 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true); + } +#line 8311 "MachineIndependent/glslang_tab.cpp" + break; + + case 354: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */ +#line 2537 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true); + } +#line 8322 "MachineIndependent/glslang_tab.cpp" + break; + + case 355: /* type_specifier_nonarray: F16SAMPLER1DARRAY */ +#line 2543 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true); + } +#line 8333 "MachineIndependent/glslang_tab.cpp" + break; + + case 356: /* type_specifier_nonarray: F16SAMPLER2DARRAY */ +#line 2549 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true); + } +#line 8344 "MachineIndependent/glslang_tab.cpp" + break; + + case 357: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */ +#line 2555 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true); + } +#line 8355 "MachineIndependent/glslang_tab.cpp" + break; + + case 358: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */ +#line 2561 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true); + } +#line 8366 "MachineIndependent/glslang_tab.cpp" + break; + + case 359: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */ +#line 2567 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true); + } +#line 8377 "MachineIndependent/glslang_tab.cpp" + break; + + case 360: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */ +#line 2573 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true); + } +#line 8388 "MachineIndependent/glslang_tab.cpp" + break; + + case 361: /* type_specifier_nonarray: ISAMPLER1D */ +#line 2579 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, Esd1D); + } +#line 8398 "MachineIndependent/glslang_tab.cpp" + break; + + case 362: /* type_specifier_nonarray: ISAMPLER2D */ +#line 2585 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, Esd2D); + } +#line 8408 "MachineIndependent/glslang_tab.cpp" + break; + + case 363: /* type_specifier_nonarray: ISAMPLER3D */ +#line 2590 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, Esd3D); + } +#line 8418 "MachineIndependent/glslang_tab.cpp" + break; + + case 364: /* type_specifier_nonarray: ISAMPLERCUBE */ +#line 2595 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, EsdCube); + } +#line 8428 "MachineIndependent/glslang_tab.cpp" + break; + + case 365: /* type_specifier_nonarray: ISAMPLER2DARRAY */ +#line 2600 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, Esd2D, true); + } +#line 8438 "MachineIndependent/glslang_tab.cpp" + break; + + case 366: /* type_specifier_nonarray: USAMPLER2D */ +#line 2605 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, Esd2D); + } +#line 8448 "MachineIndependent/glslang_tab.cpp" + break; + + case 367: /* type_specifier_nonarray: USAMPLER3D */ +#line 2610 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, Esd3D); + } +#line 8458 "MachineIndependent/glslang_tab.cpp" + break; + + case 368: /* type_specifier_nonarray: USAMPLERCUBE */ +#line 2615 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, EsdCube); + } +#line 8468 "MachineIndependent/glslang_tab.cpp" + break; + + case 369: /* type_specifier_nonarray: ISAMPLER1DARRAY */ +#line 2621 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, Esd1D, true); + } +#line 8478 "MachineIndependent/glslang_tab.cpp" + break; + + case 370: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */ +#line 2626 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, EsdCube, true); + } +#line 8488 "MachineIndependent/glslang_tab.cpp" + break; + + case 371: /* type_specifier_nonarray: USAMPLER1D */ +#line 2631 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, Esd1D); + } +#line 8498 "MachineIndependent/glslang_tab.cpp" + break; + + case 372: /* type_specifier_nonarray: USAMPLER1DARRAY */ +#line 2636 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, Esd1D, true); + } +#line 8508 "MachineIndependent/glslang_tab.cpp" + break; + + case 373: /* type_specifier_nonarray: USAMPLERCUBEARRAY */ +#line 2641 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, EsdCube, true); + } +#line 8518 "MachineIndependent/glslang_tab.cpp" + break; + + case 374: /* type_specifier_nonarray: TEXTURECUBEARRAY */ +#line 2646 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true); + } +#line 8528 "MachineIndependent/glslang_tab.cpp" + break; + + case 375: /* type_specifier_nonarray: ITEXTURECUBEARRAY */ +#line 2651 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true); + } +#line 8538 "MachineIndependent/glslang_tab.cpp" + break; + + case 376: /* type_specifier_nonarray: UTEXTURECUBEARRAY */ +#line 2656 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true); + } +#line 8548 "MachineIndependent/glslang_tab.cpp" + break; + + case 377: /* type_specifier_nonarray: USAMPLER2DARRAY */ +#line 2662 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, Esd2D, true); + } +#line 8558 "MachineIndependent/glslang_tab.cpp" + break; + + case 378: /* type_specifier_nonarray: TEXTURE2D */ +#line 2667 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D); + } +#line 8568 "MachineIndependent/glslang_tab.cpp" + break; + + case 379: /* type_specifier_nonarray: TEXTURE3D */ +#line 2672 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D); + } +#line 8578 "MachineIndependent/glslang_tab.cpp" + break; + + case 380: /* type_specifier_nonarray: TEXTURE2DARRAY */ +#line 2677 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true); + } +#line 8588 "MachineIndependent/glslang_tab.cpp" + break; + + case 381: /* type_specifier_nonarray: TEXTURECUBE */ +#line 2682 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube); + } +#line 8598 "MachineIndependent/glslang_tab.cpp" + break; + + case 382: /* type_specifier_nonarray: ITEXTURE2D */ +#line 2687 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D); + } +#line 8608 "MachineIndependent/glslang_tab.cpp" + break; + + case 383: /* type_specifier_nonarray: ITEXTURE3D */ +#line 2692 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D); + } +#line 8618 "MachineIndependent/glslang_tab.cpp" + break; + + case 384: /* type_specifier_nonarray: ITEXTURECUBE */ +#line 2697 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube); + } +#line 8628 "MachineIndependent/glslang_tab.cpp" + break; + + case 385: /* type_specifier_nonarray: ITEXTURE2DARRAY */ +#line 2702 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true); + } +#line 8638 "MachineIndependent/glslang_tab.cpp" + break; + + case 386: /* type_specifier_nonarray: UTEXTURE2D */ +#line 2707 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D); + } +#line 8648 "MachineIndependent/glslang_tab.cpp" + break; + + case 387: /* type_specifier_nonarray: UTEXTURE3D */ +#line 2712 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D); + } +#line 8658 "MachineIndependent/glslang_tab.cpp" + break; + + case 388: /* type_specifier_nonarray: UTEXTURECUBE */ +#line 2717 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube); + } +#line 8668 "MachineIndependent/glslang_tab.cpp" + break; + + case 389: /* type_specifier_nonarray: UTEXTURE2DARRAY */ +#line 2722 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true); + } +#line 8678 "MachineIndependent/glslang_tab.cpp" + break; + + case 390: /* type_specifier_nonarray: SAMPLER */ +#line 2727 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setPureSampler(false); + } +#line 8688 "MachineIndependent/glslang_tab.cpp" + break; + + case 391: /* type_specifier_nonarray: SAMPLERSHADOW */ +#line 2732 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setPureSampler(true); + } +#line 8698 "MachineIndependent/glslang_tab.cpp" + break; + + case 392: /* type_specifier_nonarray: SAMPLER2DRECT */ +#line 2738 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, EsdRect); + } +#line 8708 "MachineIndependent/glslang_tab.cpp" + break; + + case 393: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */ +#line 2743 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true); + } +#line 8718 "MachineIndependent/glslang_tab.cpp" + break; + + case 394: /* type_specifier_nonarray: F16SAMPLER2DRECT */ +#line 2748 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, EsdRect); + } +#line 8729 "MachineIndependent/glslang_tab.cpp" + break; + + case 395: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */ +#line 2754 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true); + } +#line 8740 "MachineIndependent/glslang_tab.cpp" + break; + + case 396: /* type_specifier_nonarray: ISAMPLER2DRECT */ +#line 2760 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, EsdRect); + } +#line 8750 "MachineIndependent/glslang_tab.cpp" + break; + + case 397: /* type_specifier_nonarray: USAMPLER2DRECT */ +#line 2765 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, EsdRect); + } +#line 8760 "MachineIndependent/glslang_tab.cpp" + break; + + case 398: /* type_specifier_nonarray: SAMPLERBUFFER */ +#line 2770 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer); + } +#line 8770 "MachineIndependent/glslang_tab.cpp" + break; + + case 399: /* type_specifier_nonarray: F16SAMPLERBUFFER */ +#line 2775 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer); + } +#line 8781 "MachineIndependent/glslang_tab.cpp" + break; + + case 400: /* type_specifier_nonarray: ISAMPLERBUFFER */ +#line 2781 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, EsdBuffer); + } +#line 8791 "MachineIndependent/glslang_tab.cpp" + break; + + case 401: /* type_specifier_nonarray: USAMPLERBUFFER */ +#line 2786 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, EsdBuffer); + } +#line 8801 "MachineIndependent/glslang_tab.cpp" + break; + + case 402: /* type_specifier_nonarray: SAMPLER2DMS */ +#line 2791 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true); + } +#line 8811 "MachineIndependent/glslang_tab.cpp" + break; + + case 403: /* type_specifier_nonarray: F16SAMPLER2DMS */ +#line 2796 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true); + } +#line 8822 "MachineIndependent/glslang_tab.cpp" + break; + + case 404: /* type_specifier_nonarray: ISAMPLER2DMS */ +#line 2802 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true); + } +#line 8832 "MachineIndependent/glslang_tab.cpp" + break; + + case 405: /* type_specifier_nonarray: USAMPLER2DMS */ +#line 2807 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true); + } +#line 8842 "MachineIndependent/glslang_tab.cpp" + break; + + case 406: /* type_specifier_nonarray: SAMPLER2DMSARRAY */ +#line 2812 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true); + } +#line 8852 "MachineIndependent/glslang_tab.cpp" + break; + + case 407: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */ +#line 2817 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true); + } +#line 8863 "MachineIndependent/glslang_tab.cpp" + break; + + case 408: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */ +#line 2823 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true); + } +#line 8873 "MachineIndependent/glslang_tab.cpp" + break; + + case 409: /* type_specifier_nonarray: USAMPLER2DMSARRAY */ +#line 2828 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true); + } +#line 8883 "MachineIndependent/glslang_tab.cpp" + break; + + case 410: /* type_specifier_nonarray: TEXTURE1D */ +#line 2833 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D); + } +#line 8893 "MachineIndependent/glslang_tab.cpp" + break; + + case 411: /* type_specifier_nonarray: F16TEXTURE1D */ +#line 2838 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D); + } +#line 8904 "MachineIndependent/glslang_tab.cpp" + break; + + case 412: /* type_specifier_nonarray: F16TEXTURE2D */ +#line 2844 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D); + } +#line 8915 "MachineIndependent/glslang_tab.cpp" + break; + + case 413: /* type_specifier_nonarray: F16TEXTURE3D */ +#line 2850 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D); + } +#line 8926 "MachineIndependent/glslang_tab.cpp" + break; + + case 414: /* type_specifier_nonarray: F16TEXTURECUBE */ +#line 2856 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube); + } +#line 8937 "MachineIndependent/glslang_tab.cpp" + break; + + case 415: /* type_specifier_nonarray: TEXTURE1DARRAY */ +#line 2862 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true); + } +#line 8947 "MachineIndependent/glslang_tab.cpp" + break; + + case 416: /* type_specifier_nonarray: F16TEXTURE1DARRAY */ +#line 2867 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true); + } +#line 8958 "MachineIndependent/glslang_tab.cpp" + break; + + case 417: /* type_specifier_nonarray: F16TEXTURE2DARRAY */ +#line 2873 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true); + } +#line 8969 "MachineIndependent/glslang_tab.cpp" + break; + + case 418: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */ +#line 2879 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true); + } +#line 8980 "MachineIndependent/glslang_tab.cpp" + break; + + case 419: /* type_specifier_nonarray: ITEXTURE1D */ +#line 2885 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D); + } +#line 8990 "MachineIndependent/glslang_tab.cpp" + break; + + case 420: /* type_specifier_nonarray: ITEXTURE1DARRAY */ +#line 2890 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true); + } +#line 9000 "MachineIndependent/glslang_tab.cpp" + break; + + case 421: /* type_specifier_nonarray: UTEXTURE1D */ +#line 2895 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D); + } +#line 9010 "MachineIndependent/glslang_tab.cpp" + break; + + case 422: /* type_specifier_nonarray: UTEXTURE1DARRAY */ +#line 2900 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true); + } +#line 9020 "MachineIndependent/glslang_tab.cpp" + break; + + case 423: /* type_specifier_nonarray: TEXTURE2DRECT */ +#line 2905 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect); + } +#line 9030 "MachineIndependent/glslang_tab.cpp" + break; + + case 424: /* type_specifier_nonarray: F16TEXTURE2DRECT */ +#line 2910 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect); + } +#line 9041 "MachineIndependent/glslang_tab.cpp" + break; + + case 425: /* type_specifier_nonarray: ITEXTURE2DRECT */ +#line 2916 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect); + } +#line 9051 "MachineIndependent/glslang_tab.cpp" + break; + + case 426: /* type_specifier_nonarray: UTEXTURE2DRECT */ +#line 2921 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect); + } +#line 9061 "MachineIndependent/glslang_tab.cpp" + break; + + case 427: /* type_specifier_nonarray: TEXTUREBUFFER */ +#line 2926 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer); + } +#line 9071 "MachineIndependent/glslang_tab.cpp" + break; + + case 428: /* type_specifier_nonarray: F16TEXTUREBUFFER */ +#line 2931 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer); + } +#line 9082 "MachineIndependent/glslang_tab.cpp" + break; + + case 429: /* type_specifier_nonarray: ITEXTUREBUFFER */ +#line 2937 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer); + } +#line 9092 "MachineIndependent/glslang_tab.cpp" + break; + + case 430: /* type_specifier_nonarray: UTEXTUREBUFFER */ +#line 2942 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer); + } +#line 9102 "MachineIndependent/glslang_tab.cpp" + break; + + case 431: /* type_specifier_nonarray: TEXTURE2DMS */ +#line 2947 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true); + } +#line 9112 "MachineIndependent/glslang_tab.cpp" + break; + + case 432: /* type_specifier_nonarray: F16TEXTURE2DMS */ +#line 2952 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true); + } +#line 9123 "MachineIndependent/glslang_tab.cpp" + break; + + case 433: /* type_specifier_nonarray: ITEXTURE2DMS */ +#line 2958 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true); + } +#line 9133 "MachineIndependent/glslang_tab.cpp" + break; + + case 434: /* type_specifier_nonarray: UTEXTURE2DMS */ +#line 2963 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true); + } +#line 9143 "MachineIndependent/glslang_tab.cpp" + break; + + case 435: /* type_specifier_nonarray: TEXTURE2DMSARRAY */ +#line 2968 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true); + } +#line 9153 "MachineIndependent/glslang_tab.cpp" + break; + + case 436: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */ +#line 2973 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true); + } +#line 9164 "MachineIndependent/glslang_tab.cpp" + break; + + case 437: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */ +#line 2979 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true); + } +#line 9174 "MachineIndependent/glslang_tab.cpp" + break; + + case 438: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */ +#line 2984 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true); + } +#line 9184 "MachineIndependent/glslang_tab.cpp" + break; + + case 439: /* type_specifier_nonarray: IMAGE1D */ +#line 2989 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D); + } +#line 9194 "MachineIndependent/glslang_tab.cpp" + break; + + case 440: /* type_specifier_nonarray: F16IMAGE1D */ +#line 2994 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D); + } +#line 9205 "MachineIndependent/glslang_tab.cpp" + break; + + case 441: /* type_specifier_nonarray: IIMAGE1D */ +#line 3000 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, Esd1D); + } +#line 9215 "MachineIndependent/glslang_tab.cpp" + break; + + case 442: /* type_specifier_nonarray: UIMAGE1D */ +#line 3005 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, Esd1D); + } +#line 9225 "MachineIndependent/glslang_tab.cpp" + break; + + case 443: /* type_specifier_nonarray: IMAGE2D */ +#line 3010 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D); + } +#line 9235 "MachineIndependent/glslang_tab.cpp" + break; + + case 444: /* type_specifier_nonarray: F16IMAGE2D */ +#line 3015 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D); + } +#line 9246 "MachineIndependent/glslang_tab.cpp" + break; + + case 445: /* type_specifier_nonarray: IIMAGE2D */ +#line 3021 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, Esd2D); + } +#line 9256 "MachineIndependent/glslang_tab.cpp" + break; + + case 446: /* type_specifier_nonarray: UIMAGE2D */ +#line 3026 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, Esd2D); + } +#line 9266 "MachineIndependent/glslang_tab.cpp" + break; + + case 447: /* type_specifier_nonarray: IMAGE3D */ +#line 3031 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D); + } +#line 9276 "MachineIndependent/glslang_tab.cpp" + break; + + case 448: /* type_specifier_nonarray: F16IMAGE3D */ +#line 3036 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D); + } +#line 9287 "MachineIndependent/glslang_tab.cpp" + break; + + case 449: /* type_specifier_nonarray: IIMAGE3D */ +#line 3042 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, Esd3D); + } +#line 9297 "MachineIndependent/glslang_tab.cpp" + break; + + case 450: /* type_specifier_nonarray: UIMAGE3D */ +#line 3047 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, Esd3D); + } +#line 9307 "MachineIndependent/glslang_tab.cpp" + break; + + case 451: /* type_specifier_nonarray: IMAGE2DRECT */ +#line 3052 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect); + } +#line 9317 "MachineIndependent/glslang_tab.cpp" + break; + + case 452: /* type_specifier_nonarray: F16IMAGE2DRECT */ +#line 3057 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect); + } +#line 9328 "MachineIndependent/glslang_tab.cpp" + break; + + case 453: /* type_specifier_nonarray: IIMAGE2DRECT */ +#line 3063 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, EsdRect); + } +#line 9338 "MachineIndependent/glslang_tab.cpp" + break; + + case 454: /* type_specifier_nonarray: UIMAGE2DRECT */ +#line 3068 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, EsdRect); + } +#line 9348 "MachineIndependent/glslang_tab.cpp" + break; + + case 455: /* type_specifier_nonarray: IMAGECUBE */ +#line 3073 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube); + } +#line 9358 "MachineIndependent/glslang_tab.cpp" + break; + + case 456: /* type_specifier_nonarray: F16IMAGECUBE */ +#line 3078 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube); + } +#line 9369 "MachineIndependent/glslang_tab.cpp" + break; + + case 457: /* type_specifier_nonarray: IIMAGECUBE */ +#line 3084 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, EsdCube); + } +#line 9379 "MachineIndependent/glslang_tab.cpp" + break; + + case 458: /* type_specifier_nonarray: UIMAGECUBE */ +#line 3089 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, EsdCube); + } +#line 9389 "MachineIndependent/glslang_tab.cpp" + break; + + case 459: /* type_specifier_nonarray: IMAGEBUFFER */ +#line 3094 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer); + } +#line 9399 "MachineIndependent/glslang_tab.cpp" + break; + + case 460: /* type_specifier_nonarray: F16IMAGEBUFFER */ +#line 3099 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer); + } +#line 9410 "MachineIndependent/glslang_tab.cpp" + break; + + case 461: /* type_specifier_nonarray: IIMAGEBUFFER */ +#line 3105 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer); + } +#line 9420 "MachineIndependent/glslang_tab.cpp" + break; + + case 462: /* type_specifier_nonarray: UIMAGEBUFFER */ +#line 3110 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer); + } +#line 9430 "MachineIndependent/glslang_tab.cpp" + break; + + case 463: /* type_specifier_nonarray: IMAGE1DARRAY */ +#line 3115 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true); + } +#line 9440 "MachineIndependent/glslang_tab.cpp" + break; + + case 464: /* type_specifier_nonarray: F16IMAGE1DARRAY */ +#line 3120 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true); + } +#line 9451 "MachineIndependent/glslang_tab.cpp" + break; + + case 465: /* type_specifier_nonarray: IIMAGE1DARRAY */ +#line 3126 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true); + } +#line 9461 "MachineIndependent/glslang_tab.cpp" + break; + + case 466: /* type_specifier_nonarray: UIMAGE1DARRAY */ +#line 3131 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true); + } +#line 9471 "MachineIndependent/glslang_tab.cpp" + break; + + case 467: /* type_specifier_nonarray: IMAGE2DARRAY */ +#line 3136 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true); + } +#line 9481 "MachineIndependent/glslang_tab.cpp" + break; + + case 468: /* type_specifier_nonarray: F16IMAGE2DARRAY */ +#line 3141 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true); + } +#line 9492 "MachineIndependent/glslang_tab.cpp" + break; + + case 469: /* type_specifier_nonarray: IIMAGE2DARRAY */ +#line 3147 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true); + } +#line 9502 "MachineIndependent/glslang_tab.cpp" + break; + + case 470: /* type_specifier_nonarray: UIMAGE2DARRAY */ +#line 3152 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true); + } +#line 9512 "MachineIndependent/glslang_tab.cpp" + break; + + case 471: /* type_specifier_nonarray: IMAGECUBEARRAY */ +#line 3157 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true); + } +#line 9522 "MachineIndependent/glslang_tab.cpp" + break; + + case 472: /* type_specifier_nonarray: F16IMAGECUBEARRAY */ +#line 3162 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true); + } +#line 9533 "MachineIndependent/glslang_tab.cpp" + break; + + case 473: /* type_specifier_nonarray: IIMAGECUBEARRAY */ +#line 3168 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true); + } +#line 9543 "MachineIndependent/glslang_tab.cpp" + break; + + case 474: /* type_specifier_nonarray: UIMAGECUBEARRAY */ +#line 3173 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true); + } +#line 9553 "MachineIndependent/glslang_tab.cpp" + break; + + case 475: /* type_specifier_nonarray: IMAGE2DMS */ +#line 3178 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true); + } +#line 9563 "MachineIndependent/glslang_tab.cpp" + break; + + case 476: /* type_specifier_nonarray: F16IMAGE2DMS */ +#line 3183 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true); + } +#line 9574 "MachineIndependent/glslang_tab.cpp" + break; + + case 477: /* type_specifier_nonarray: IIMAGE2DMS */ +#line 3189 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true); + } +#line 9584 "MachineIndependent/glslang_tab.cpp" + break; + + case 478: /* type_specifier_nonarray: UIMAGE2DMS */ +#line 3194 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true); + } +#line 9594 "MachineIndependent/glslang_tab.cpp" + break; + + case 479: /* type_specifier_nonarray: IMAGE2DMSARRAY */ +#line 3199 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true); + } +#line 9604 "MachineIndependent/glslang_tab.cpp" + break; + + case 480: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */ +#line 3204 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true); + } +#line 9615 "MachineIndependent/glslang_tab.cpp" + break; + + case 481: /* type_specifier_nonarray: IIMAGE2DMSARRAY */ +#line 3210 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true); + } +#line 9625 "MachineIndependent/glslang_tab.cpp" + break; + + case 482: /* type_specifier_nonarray: UIMAGE2DMSARRAY */ +#line 3215 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true); + } +#line 9635 "MachineIndependent/glslang_tab.cpp" + break; + + case 483: /* type_specifier_nonarray: I64IMAGE1D */ +#line 3220 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, Esd1D); + } +#line 9645 "MachineIndependent/glslang_tab.cpp" + break; + + case 484: /* type_specifier_nonarray: U64IMAGE1D */ +#line 3225 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, Esd1D); + } +#line 9655 "MachineIndependent/glslang_tab.cpp" + break; + + case 485: /* type_specifier_nonarray: I64IMAGE2D */ +#line 3230 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D); + } +#line 9665 "MachineIndependent/glslang_tab.cpp" + break; + + case 486: /* type_specifier_nonarray: U64IMAGE2D */ +#line 3235 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D); + } +#line 9675 "MachineIndependent/glslang_tab.cpp" + break; + + case 487: /* type_specifier_nonarray: I64IMAGE3D */ +#line 3240 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, Esd3D); + } +#line 9685 "MachineIndependent/glslang_tab.cpp" + break; + + case 488: /* type_specifier_nonarray: U64IMAGE3D */ +#line 3245 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, Esd3D); + } +#line 9695 "MachineIndependent/glslang_tab.cpp" + break; + + case 489: /* type_specifier_nonarray: I64IMAGE2DRECT */ +#line 3250 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, EsdRect); + } +#line 9705 "MachineIndependent/glslang_tab.cpp" + break; + + case 490: /* type_specifier_nonarray: U64IMAGE2DRECT */ +#line 3255 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, EsdRect); + } +#line 9715 "MachineIndependent/glslang_tab.cpp" + break; + + case 491: /* type_specifier_nonarray: I64IMAGECUBE */ +#line 3260 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, EsdCube); + } +#line 9725 "MachineIndependent/glslang_tab.cpp" + break; + + case 492: /* type_specifier_nonarray: U64IMAGECUBE */ +#line 3265 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, EsdCube); + } +#line 9735 "MachineIndependent/glslang_tab.cpp" + break; + + case 493: /* type_specifier_nonarray: I64IMAGEBUFFER */ +#line 3270 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, EsdBuffer); + } +#line 9745 "MachineIndependent/glslang_tab.cpp" + break; + + case 494: /* type_specifier_nonarray: U64IMAGEBUFFER */ +#line 3275 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, EsdBuffer); + } +#line 9755 "MachineIndependent/glslang_tab.cpp" + break; + + case 495: /* type_specifier_nonarray: I64IMAGE1DARRAY */ +#line 3280 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, Esd1D, true); + } +#line 9765 "MachineIndependent/glslang_tab.cpp" + break; + + case 496: /* type_specifier_nonarray: U64IMAGE1DARRAY */ +#line 3285 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, Esd1D, true); + } +#line 9775 "MachineIndependent/glslang_tab.cpp" + break; + + case 497: /* type_specifier_nonarray: I64IMAGE2DARRAY */ +#line 3290 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true); + } +#line 9785 "MachineIndependent/glslang_tab.cpp" + break; + + case 498: /* type_specifier_nonarray: U64IMAGE2DARRAY */ +#line 3295 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true); + } +#line 9795 "MachineIndependent/glslang_tab.cpp" + break; + + case 499: /* type_specifier_nonarray: I64IMAGECUBEARRAY */ +#line 3300 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, EsdCube, true); + } +#line 9805 "MachineIndependent/glslang_tab.cpp" + break; + + case 500: /* type_specifier_nonarray: U64IMAGECUBEARRAY */ +#line 3305 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, EsdCube, true); + } +#line 9815 "MachineIndependent/glslang_tab.cpp" + break; + + case 501: /* type_specifier_nonarray: I64IMAGE2DMS */ +#line 3310 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, false, false, true); + } +#line 9825 "MachineIndependent/glslang_tab.cpp" + break; + + case 502: /* type_specifier_nonarray: U64IMAGE2DMS */ +#line 3315 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, false, false, true); + } +#line 9835 "MachineIndependent/glslang_tab.cpp" + break; + + case 503: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */ +#line 3320 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true, false, true); + } +#line 9845 "MachineIndependent/glslang_tab.cpp" + break; + + case 504: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */ +#line 3325 "MachineIndependent/glslang.y" + { + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true, false, true); + } +#line 9855 "MachineIndependent/glslang_tab.cpp" + break; + + case 505: /* type_specifier_nonarray: SAMPLEREXTERNALOES */ +#line 3330 "MachineIndependent/glslang.y" + { // GL_OES_EGL_image_external + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D); + (yyval.interm.type).sampler.external = true; + } +#line 9866 "MachineIndependent/glslang_tab.cpp" + break; + + case 506: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */ +#line 3336 "MachineIndependent/glslang.y" + { // GL_EXT_YUV_target + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.set(EbtFloat, Esd2D); + (yyval.interm.type).sampler.yuv = true; + } +#line 9877 "MachineIndependent/glslang_tab.cpp" + break; + + case 507: /* type_specifier_nonarray: SUBPASSINPUT */ +#line 3342 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtFloat); + } +#line 9888 "MachineIndependent/glslang_tab.cpp" + break; + + case 508: /* type_specifier_nonarray: SUBPASSINPUTMS */ +#line 3348 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtFloat, true); + } +#line 9899 "MachineIndependent/glslang_tab.cpp" + break; + + case 509: /* type_specifier_nonarray: F16SUBPASSINPUT */ +#line 3354 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtFloat16); + } +#line 9911 "MachineIndependent/glslang_tab.cpp" + break; + + case 510: /* type_specifier_nonarray: F16SUBPASSINPUTMS */ +#line 3361 "MachineIndependent/glslang.y" + { + parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel()); + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtFloat16, true); + } +#line 9923 "MachineIndependent/glslang_tab.cpp" + break; + + case 511: /* type_specifier_nonarray: ISUBPASSINPUT */ +#line 3368 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtInt); + } +#line 9934 "MachineIndependent/glslang_tab.cpp" + break; + + case 512: /* type_specifier_nonarray: ISUBPASSINPUTMS */ +#line 3374 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtInt, true); + } +#line 9945 "MachineIndependent/glslang_tab.cpp" + break; + + case 513: /* type_specifier_nonarray: USUBPASSINPUT */ +#line 3380 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtUint); + } +#line 9956 "MachineIndependent/glslang_tab.cpp" + break; + + case 514: /* type_specifier_nonarray: USUBPASSINPUTMS */ +#line 3386 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtSampler; + (yyval.interm.type).sampler.setSubpass(EbtUint, true); + } +#line 9967 "MachineIndependent/glslang_tab.cpp" + break; + + case 515: /* type_specifier_nonarray: FCOOPMATNV */ +#line 3392 "MachineIndependent/glslang.y" + { + parseContext.fcoopmatCheck((yyvsp[0].lex).loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtFloat; + (yyval.interm.type).coopmat = true; + } +#line 9978 "MachineIndependent/glslang_tab.cpp" + break; + + case 516: /* type_specifier_nonarray: ICOOPMATNV */ +#line 3398 "MachineIndependent/glslang.y" + { + parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtInt; + (yyval.interm.type).coopmat = true; + } +#line 9989 "MachineIndependent/glslang_tab.cpp" + break; + + case 517: /* type_specifier_nonarray: UCOOPMATNV */ +#line 3404 "MachineIndependent/glslang.y" + { + parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel()); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtUint; + (yyval.interm.type).coopmat = true; + } +#line 10000 "MachineIndependent/glslang_tab.cpp" + break; + + case 518: /* type_specifier_nonarray: struct_specifier */ +#line 3411 "MachineIndependent/glslang.y" + { + (yyval.interm.type) = (yyvsp[0].interm.type); + (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; + parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type)); + } +#line 10010 "MachineIndependent/glslang_tab.cpp" + break; + + case 519: /* type_specifier_nonarray: TYPE_NAME */ +#line 3416 "MachineIndependent/glslang.y" + { + // + // This is for user defined type names. The lexical phase looked up the + // type. + // + if (const TVariable* variable = ((yyvsp[0].lex).symbol)->getAsVariable()) { + const TType& structure = variable->getType(); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + (yyval.interm.type).basicType = EbtStruct; + (yyval.interm.type).userDef = &structure; + } else + parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), ""); + } +#line 10028 "MachineIndependent/glslang_tab.cpp" + break; + + case 520: /* precision_qualifier: HIGH_PRECISION */ +#line 3432 "MachineIndependent/glslang.y" + { + parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh); + } +#line 10038 "MachineIndependent/glslang_tab.cpp" + break; + + case 521: /* precision_qualifier: MEDIUM_PRECISION */ +#line 3437 "MachineIndependent/glslang.y" + { + parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium); + } +#line 10048 "MachineIndependent/glslang_tab.cpp" + break; + + case 522: /* precision_qualifier: LOW_PRECISION */ +#line 3442 "MachineIndependent/glslang.y" + { + parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier"); + (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); + parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow); + } +#line 10058 "MachineIndependent/glslang_tab.cpp" + break; + + case 523: /* $@3: %empty */ +#line 3450 "MachineIndependent/glslang.y" + { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); } +#line 10064 "MachineIndependent/glslang_tab.cpp" + break; + + case 524: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */ +#line 3450 "MachineIndependent/glslang.y" + { + TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string); + parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure); + TVariable* userTypeDef = new TVariable((yyvsp[-4].lex).string, *structure, true); + if (! parseContext.symbolTable.insert(*userTypeDef)) + parseContext.error((yyvsp[-4].lex).loc, "redefinition", (yyvsp[-4].lex).string->c_str(), "struct"); + (yyval.interm.type).init((yyvsp[-5].lex).loc); + (yyval.interm.type).basicType = EbtStruct; + (yyval.interm.type).userDef = structure; + --parseContext.structNestingLevel; + } +#line 10080 "MachineIndependent/glslang_tab.cpp" + break; + + case 525: /* $@4: %empty */ +#line 3461 "MachineIndependent/glslang.y" + { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); } +#line 10086 "MachineIndependent/glslang_tab.cpp" + break; + + case 526: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */ +#line 3461 "MachineIndependent/glslang.y" + { + TType* structure = new TType((yyvsp[-1].interm.typeList), TString("")); + (yyval.interm.type).init((yyvsp[-4].lex).loc); + (yyval.interm.type).basicType = EbtStruct; + (yyval.interm.type).userDef = structure; + --parseContext.structNestingLevel; + } +#line 10098 "MachineIndependent/glslang_tab.cpp" + break; + + case 527: /* struct_declaration_list: struct_declaration */ +#line 3471 "MachineIndependent/glslang.y" + { + (yyval.interm.typeList) = (yyvsp[0].interm.typeList); + } +#line 10106 "MachineIndependent/glslang_tab.cpp" + break; + + case 528: /* struct_declaration_list: struct_declaration_list struct_declaration */ +#line 3474 "MachineIndependent/glslang.y" + { + (yyval.interm.typeList) = (yyvsp[-1].interm.typeList); + for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) { + for (unsigned int j = 0; j < (yyval.interm.typeList)->size(); ++j) { + if ((*(yyval.interm.typeList))[j].type->getFieldName() == (*(yyvsp[0].interm.typeList))[i].type->getFieldName()) + parseContext.error((*(yyvsp[0].interm.typeList))[i].loc, "duplicate member name:", "", (*(yyvsp[0].interm.typeList))[i].type->getFieldName().c_str()); + } + (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]); + } + } +#line 10121 "MachineIndependent/glslang_tab.cpp" + break; + + case 529: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */ +#line 3487 "MachineIndependent/glslang.y" + { + if ((yyvsp[-2].interm.type).arraySizes) { + parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type"); + if (parseContext.isEsProfile()) + parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes); + } + + (yyval.interm.typeList) = (yyvsp[-1].interm.typeList); + + parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType); + parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier); + + for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) { + TType type((yyvsp[-2].interm.type)); + type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName()); + type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes()); + type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes); + parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes()); + (*(yyval.interm.typeList))[i].type->shallowCopy(type); + } + } +#line 10148 "MachineIndependent/glslang_tab.cpp" + break; + + case 530: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */ +#line 3509 "MachineIndependent/glslang.y" + { + if ((yyvsp[-2].interm.type).arraySizes) { + parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type"); + parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type"); + if (parseContext.isEsProfile()) + parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes); + } + + (yyval.interm.typeList) = (yyvsp[-1].interm.typeList); + + parseContext.memberQualifierCheck((yyvsp[-3].interm.type)); + parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType); + parseContext.mergeQualifiers((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, (yyvsp[-3].interm.type).qualifier, true); + parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier); + + for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) { + TType type((yyvsp[-2].interm.type)); + type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName()); + type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes()); + type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes); + parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes()); + (*(yyval.interm.typeList))[i].type->shallowCopy(type); + } + } +#line 10177 "MachineIndependent/glslang_tab.cpp" + break; + + case 531: /* struct_declarator_list: struct_declarator */ +#line 3536 "MachineIndependent/glslang.y" + { + (yyval.interm.typeList) = new TTypeList; + (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); + } +#line 10186 "MachineIndependent/glslang_tab.cpp" + break; + + case 532: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */ +#line 3540 "MachineIndependent/glslang.y" + { + (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); + } +#line 10194 "MachineIndependent/glslang_tab.cpp" + break; + + case 533: /* struct_declarator: IDENTIFIER */ +#line 3546 "MachineIndependent/glslang.y" + { + (yyval.interm.typeLine).type = new TType(EbtVoid); + (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc; + (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string); + } +#line 10204 "MachineIndependent/glslang_tab.cpp" + break; + + case 534: /* struct_declarator: IDENTIFIER array_specifier */ +#line 3551 "MachineIndependent/glslang.y" + { + parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes); + + (yyval.interm.typeLine).type = new TType(EbtVoid); + (yyval.interm.typeLine).loc = (yyvsp[-1].lex).loc; + (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string); + (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes); + } +#line 10217 "MachineIndependent/glslang_tab.cpp" + break; + + case 535: /* initializer: assignment_expression */ +#line 3562 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 10225 "MachineIndependent/glslang_tab.cpp" + break; + + case 536: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */ +#line 3566 "MachineIndependent/glslang.y" + { + const char* initFeature = "{ } style initializers"; + parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature); + parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); + (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode); + } +#line 10236 "MachineIndependent/glslang_tab.cpp" + break; + + case 537: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */ +#line 3572 "MachineIndependent/glslang.y" + { + const char* initFeature = "{ } style initializers"; + parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature); + parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); + (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); + } +#line 10247 "MachineIndependent/glslang_tab.cpp" + break; + + case 538: /* initializer_list: initializer */ +#line 3583 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc()); + } +#line 10255 "MachineIndependent/glslang_tab.cpp" + break; + + case 539: /* initializer_list: initializer_list COMMA initializer */ +#line 3586 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); + } +#line 10263 "MachineIndependent/glslang_tab.cpp" + break; + + case 540: /* declaration_statement: declaration */ +#line 3593 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10269 "MachineIndependent/glslang_tab.cpp" + break; + + case 541: /* statement: compound_statement */ +#line 3597 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10275 "MachineIndependent/glslang_tab.cpp" + break; + + case 542: /* statement: simple_statement */ +#line 3598 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10281 "MachineIndependent/glslang_tab.cpp" + break; + + case 543: /* simple_statement: declaration_statement */ +#line 3604 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10287 "MachineIndependent/glslang_tab.cpp" + break; + + case 544: /* simple_statement: expression_statement */ +#line 3605 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10293 "MachineIndependent/glslang_tab.cpp" + break; + + case 545: /* simple_statement: selection_statement */ +#line 3606 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10299 "MachineIndependent/glslang_tab.cpp" + break; + + case 546: /* simple_statement: switch_statement */ +#line 3607 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10305 "MachineIndependent/glslang_tab.cpp" + break; + + case 547: /* simple_statement: case_label */ +#line 3608 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10311 "MachineIndependent/glslang_tab.cpp" + break; + + case 548: /* simple_statement: iteration_statement */ +#line 3609 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10317 "MachineIndependent/glslang_tab.cpp" + break; + + case 549: /* simple_statement: jump_statement */ +#line 3610 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10323 "MachineIndependent/glslang_tab.cpp" + break; + + case 550: /* simple_statement: demote_statement */ +#line 3612 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10329 "MachineIndependent/glslang_tab.cpp" + break; + + case 551: /* demote_statement: DEMOTE SEMICOLON */ +#line 3618 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "demote"); + parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote"); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDemote, (yyvsp[-1].lex).loc); + } +#line 10339 "MachineIndependent/glslang_tab.cpp" + break; + + case 552: /* compound_statement: LEFT_BRACE RIGHT_BRACE */ +#line 3627 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = 0; } +#line 10345 "MachineIndependent/glslang_tab.cpp" + break; + + case 553: /* $@5: %empty */ +#line 3628 "MachineIndependent/glslang.y" + { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + } +#line 10354 "MachineIndependent/glslang_tab.cpp" + break; + + case 554: /* $@6: %empty */ +#line 3632 "MachineIndependent/glslang.y" + { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + } +#line 10363 "MachineIndependent/glslang_tab.cpp" + break; + + case 555: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */ +#line 3636 "MachineIndependent/glslang.y" + { + if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) + (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); + (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode); + } +#line 10373 "MachineIndependent/glslang_tab.cpp" + break; + + case 556: /* statement_no_new_scope: compound_statement_no_new_scope */ +#line 3644 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10379 "MachineIndependent/glslang_tab.cpp" + break; + + case 557: /* statement_no_new_scope: simple_statement */ +#line 3645 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } +#line 10385 "MachineIndependent/glslang_tab.cpp" + break; + + case 558: /* $@7: %empty */ +#line 3649 "MachineIndependent/glslang.y" + { + ++parseContext.controlFlowNestingLevel; + } +#line 10393 "MachineIndependent/glslang_tab.cpp" + break; + + case 559: /* statement_scoped: $@7 compound_statement */ +#line 3652 "MachineIndependent/glslang.y" + { + --parseContext.controlFlowNestingLevel; + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10402 "MachineIndependent/glslang_tab.cpp" + break; + + case 560: /* $@8: %empty */ +#line 3656 "MachineIndependent/glslang.y" + { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } +#line 10412 "MachineIndependent/glslang_tab.cpp" + break; + + case 561: /* statement_scoped: $@8 simple_statement */ +#line 3661 "MachineIndependent/glslang.y" + { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10423 "MachineIndependent/glslang_tab.cpp" + break; + + case 562: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */ +#line 3670 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = 0; + } +#line 10431 "MachineIndependent/glslang_tab.cpp" + break; + + case 563: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */ +#line 3673 "MachineIndependent/glslang.y" + { + if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) + (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); + (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode); + } +#line 10441 "MachineIndependent/glslang_tab.cpp" + break; + + case 564: /* statement_list: statement */ +#line 3681 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); + if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || + (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) { + parseContext.wrapupSwitchSubsequence(0, (yyvsp[0].interm.intermNode)); + (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case + } + } +#line 10454 "MachineIndependent/glslang_tab.cpp" + break; + + case 565: /* statement_list: statement_list statement */ +#line 3689 "MachineIndependent/glslang.y" + { + if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || + (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) { + parseContext.wrapupSwitchSubsequence((yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0, (yyvsp[0].interm.intermNode)); + (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case + } else + (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); + } +#line 10467 "MachineIndependent/glslang_tab.cpp" + break; + + case 566: /* expression_statement: SEMICOLON */ +#line 3700 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = 0; } +#line 10473 "MachineIndependent/glslang_tab.cpp" + break; + + case 567: /* expression_statement: expression SEMICOLON */ +#line 3701 "MachineIndependent/glslang.y" + { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } +#line 10479 "MachineIndependent/glslang_tab.cpp" + break; + + case 568: /* selection_statement: selection_statement_nonattributed */ +#line 3705 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10487 "MachineIndependent/glslang_tab.cpp" + break; + + case 569: /* selection_statement: attribute selection_statement_nonattributed */ +#line 3709 "MachineIndependent/glslang.y" + { + parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10496 "MachineIndependent/glslang_tab.cpp" + break; + + case 570: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */ +#line 3716 "MachineIndependent/glslang.y" + { + parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode)); + (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc); + } +#line 10505 "MachineIndependent/glslang_tab.cpp" + break; + + case 571: /* selection_rest_statement: statement_scoped ELSE statement_scoped */ +#line 3723 "MachineIndependent/glslang.y" + { + (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); + (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); + } +#line 10514 "MachineIndependent/glslang_tab.cpp" + break; + + case 572: /* selection_rest_statement: statement_scoped */ +#line 3727 "MachineIndependent/glslang.y" + { + (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); + (yyval.interm.nodePair).node2 = 0; + } +#line 10523 "MachineIndependent/glslang_tab.cpp" + break; + + case 573: /* condition: expression */ +#line 3735 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); + } +#line 10532 "MachineIndependent/glslang_tab.cpp" + break; + + case 574: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */ +#line 3739 "MachineIndependent/glslang.y" + { + parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type)); + + TType type((yyvsp[-3].interm.type)); + TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode)); + if (initNode) + (yyval.interm.intermTypedNode) = initNode->getAsTyped(); + else + (yyval.interm.intermTypedNode) = 0; + } +#line 10547 "MachineIndependent/glslang_tab.cpp" + break; + + case 575: /* switch_statement: switch_statement_nonattributed */ +#line 3752 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10555 "MachineIndependent/glslang_tab.cpp" + break; + + case 576: /* switch_statement: attribute switch_statement_nonattributed */ +#line 3756 "MachineIndependent/glslang.y" + { + parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10564 "MachineIndependent/glslang_tab.cpp" + break; + + case 577: /* $@9: %empty */ +#line 3763 "MachineIndependent/glslang.y" + { + // start new switch sequence on the switch stack + ++parseContext.controlFlowNestingLevel; + ++parseContext.statementNestingLevel; + parseContext.switchSequenceStack.push_back(new TIntermSequence); + parseContext.switchLevel.push_back(parseContext.statementNestingLevel); + parseContext.symbolTable.push(); + } +#line 10577 "MachineIndependent/glslang_tab.cpp" + break; + + case 578: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */ +#line 3771 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0); + delete parseContext.switchSequenceStack.back(); + parseContext.switchSequenceStack.pop_back(); + parseContext.switchLevel.pop_back(); + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } +#line 10591 "MachineIndependent/glslang_tab.cpp" + break; + + case 579: /* switch_statement_list: %empty */ +#line 3783 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = 0; + } +#line 10599 "MachineIndependent/glslang_tab.cpp" + break; + + case 580: /* switch_statement_list: statement_list */ +#line 3786 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10607 "MachineIndependent/glslang_tab.cpp" + break; + + case 581: /* case_label: CASE expression COLON */ +#line 3792 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = 0; + if (parseContext.switchLevel.size() == 0) + parseContext.error((yyvsp[-2].lex).loc, "cannot appear outside switch statement", "case", ""); + else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel) + parseContext.error((yyvsp[-2].lex).loc, "cannot be nested inside control flow", "case", ""); + else { + parseContext.constantValueCheck((yyvsp[-1].interm.intermTypedNode), "case"); + parseContext.integerCheck((yyvsp[-1].interm.intermTypedNode), "case"); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc); + } + } +#line 10624 "MachineIndependent/glslang_tab.cpp" + break; + + case 582: /* case_label: DEFAULT COLON */ +#line 3804 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = 0; + if (parseContext.switchLevel.size() == 0) + parseContext.error((yyvsp[-1].lex).loc, "cannot appear outside switch statement", "default", ""); + else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel) + parseContext.error((yyvsp[-1].lex).loc, "cannot be nested inside control flow", "default", ""); + else + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc); + } +#line 10638 "MachineIndependent/glslang_tab.cpp" + break; + + case 583: /* iteration_statement: iteration_statement_nonattributed */ +#line 3816 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10646 "MachineIndependent/glslang_tab.cpp" + break; + + case 584: /* iteration_statement: attribute iteration_statement_nonattributed */ +#line 3820 "MachineIndependent/glslang.y" + { + parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10655 "MachineIndependent/glslang_tab.cpp" + break; + + case 585: /* $@10: %empty */ +#line 3827 "MachineIndependent/glslang.y" + { + if (! parseContext.limits.whileLoops) + parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", ""); + parseContext.symbolTable.push(); + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } +#line 10668 "MachineIndependent/glslang_tab.cpp" + break; + + case 586: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */ +#line 3835 "MachineIndependent/glslang.y" + { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } +#line 10680 "MachineIndependent/glslang_tab.cpp" + break; + + case 587: /* $@11: %empty */ +#line 3842 "MachineIndependent/glslang.y" + { + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } +#line 10690 "MachineIndependent/glslang_tab.cpp" + break; + + case 588: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */ +#line 3847 "MachineIndependent/glslang.y" + { + if (! parseContext.limits.whileLoops) + parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", ""); + + parseContext.boolCheck((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode)); + + (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[-5].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, false, (yyvsp[-4].lex).loc); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } +#line 10706 "MachineIndependent/glslang_tab.cpp" + break; + + case 589: /* $@12: %empty */ +#line 3858 "MachineIndependent/glslang.y" + { + parseContext.symbolTable.push(); + ++parseContext.loopNestingLevel; + ++parseContext.statementNestingLevel; + ++parseContext.controlFlowNestingLevel; + } +#line 10717 "MachineIndependent/glslang_tab.cpp" + break; + + case 590: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */ +#line 3864 "MachineIndependent/glslang.y" + { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc); + TIntermLoop* forLoop = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), reinterpret_cast((yyvsp[-2].interm.nodePair).node1), reinterpret_cast((yyvsp[-2].interm.nodePair).node2), true, (yyvsp[-6].lex).loc); + if (! parseContext.limits.nonInductiveForLoops) + parseContext.inductiveLoopCheck((yyvsp[-6].lex).loc, (yyvsp[-3].interm.intermNode), forLoop); + (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyval.interm.intermNode), forLoop, (yyvsp[-6].lex).loc); + (yyval.interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); + --parseContext.loopNestingLevel; + --parseContext.statementNestingLevel; + --parseContext.controlFlowNestingLevel; + } +#line 10734 "MachineIndependent/glslang_tab.cpp" + break; + + case 591: /* for_init_statement: expression_statement */ +#line 3879 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10742 "MachineIndependent/glslang_tab.cpp" + break; + + case 592: /* for_init_statement: declaration_statement */ +#line 3882 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10750 "MachineIndependent/glslang_tab.cpp" + break; + + case 593: /* conditionopt: condition */ +#line 3888 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); + } +#line 10758 "MachineIndependent/glslang_tab.cpp" + break; + + case 594: /* conditionopt: %empty */ +#line 3891 "MachineIndependent/glslang.y" + { + (yyval.interm.intermTypedNode) = 0; + } +#line 10766 "MachineIndependent/glslang_tab.cpp" + break; + + case 595: /* for_rest_statement: conditionopt SEMICOLON */ +#line 3897 "MachineIndependent/glslang.y" + { + (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); + (yyval.interm.nodePair).node2 = 0; + } +#line 10775 "MachineIndependent/glslang_tab.cpp" + break; + + case 596: /* for_rest_statement: conditionopt SEMICOLON expression */ +#line 3901 "MachineIndependent/glslang.y" + { + (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); + (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); + } +#line 10784 "MachineIndependent/glslang_tab.cpp" + break; + + case 597: /* jump_statement: CONTINUE SEMICOLON */ +#line 3908 "MachineIndependent/glslang.y" + { + if (parseContext.loopNestingLevel <= 0) + parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", ""); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc); + } +#line 10794 "MachineIndependent/glslang_tab.cpp" + break; + + case 598: /* jump_statement: BREAK SEMICOLON */ +#line 3913 "MachineIndependent/glslang.y" + { + if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0) + parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", ""); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc); + } +#line 10804 "MachineIndependent/glslang_tab.cpp" + break; + + case 599: /* jump_statement: RETURN SEMICOLON */ +#line 3918 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc); + if (parseContext.currentFunctionType->getBasicType() != EbtVoid) + parseContext.error((yyvsp[-1].lex).loc, "non-void function must return a value", "return", ""); + if (parseContext.inMain) + parseContext.postEntryPointReturn = true; + } +#line 10816 "MachineIndependent/glslang_tab.cpp" + break; + + case 600: /* jump_statement: RETURN expression SEMICOLON */ +#line 3925 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); + } +#line 10824 "MachineIndependent/glslang_tab.cpp" + break; + + case 601: /* jump_statement: DISCARD SEMICOLON */ +#line 3928 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); + } +#line 10833 "MachineIndependent/glslang_tab.cpp" + break; + + case 602: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */ +#line 3932 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation"); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc); + } +#line 10842 "MachineIndependent/glslang_tab.cpp" + break; + + case 603: /* jump_statement: TERMINATE_RAY SEMICOLON */ +#line 3937 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT"); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc); + } +#line 10851 "MachineIndependent/glslang_tab.cpp" + break; + + case 604: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */ +#line 3941 "MachineIndependent/glslang.y" + { + parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT"); + (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc); + } +#line 10860 "MachineIndependent/glslang_tab.cpp" + break; + + case 605: /* translation_unit: external_declaration */ +#line 3951 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); + } +#line 10869 "MachineIndependent/glslang_tab.cpp" + break; + + case 606: /* translation_unit: translation_unit external_declaration */ +#line 3955 "MachineIndependent/glslang.y" + { + if ((yyvsp[0].interm.intermNode) != nullptr) { + (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); + parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); + } + } +#line 10880 "MachineIndependent/glslang_tab.cpp" + break; + + case 607: /* external_declaration: function_definition */ +#line 3964 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10888 "MachineIndependent/glslang_tab.cpp" + break; + + case 608: /* external_declaration: declaration */ +#line 3967 "MachineIndependent/glslang.y" + { + (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); + } +#line 10896 "MachineIndependent/glslang_tab.cpp" + break; + + case 609: /* external_declaration: SEMICOLON */ +#line 3971 "MachineIndependent/glslang.y" + { + parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon"); + parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon"); + (yyval.interm.intermNode) = nullptr; + } +#line 10906 "MachineIndependent/glslang_tab.cpp" + break; + + case 610: /* $@13: %empty */ +#line 3980 "MachineIndependent/glslang.y" + { + (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */); + (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function); + + // For ES 100 only, according to ES shading language 100 spec: A function + // body has a scope nested inside the function's definition. + if (parseContext.profile == EEsProfile && parseContext.version == 100) + { + parseContext.symbolTable.push(); + ++parseContext.statementNestingLevel; + } + } +#line 10923 "MachineIndependent/glslang_tab.cpp" + break; + + case 611: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */ +#line 3992 "MachineIndependent/glslang.y" + { + // May be best done as post process phase on intermediate code + if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) + parseContext.error((yyvsp[-2].interm).loc, "function does not return a value:", "", (yyvsp[-2].interm).function->getName().c_str()); + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermNode)); + parseContext.intermediate.setAggregateOperator((yyval.interm.intermNode), EOpFunction, (yyvsp[-2].interm).function->getType(), (yyvsp[-2].interm).loc); + (yyval.interm.intermNode)->getAsAggregate()->setName((yyvsp[-2].interm).function->getMangledName().c_str()); + + // store the pragma information for debug and optimize and other vendor specific + // information. This information can be queried from the parse tree + (yyval.interm.intermNode)->getAsAggregate()->setOptimize(parseContext.contextPragma.optimize); + (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug); + (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable); + + // Set currentFunctionType to empty pointer when goes outside of the function + parseContext.currentFunctionType = nullptr; + + // For ES 100 only, according to ES shading language 100 spec: A function + // body has a scope nested inside the function's definition. + if (parseContext.profile == EEsProfile && parseContext.version == 100) + { + parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); + --parseContext.statementNestingLevel; + } + } +#line 10954 "MachineIndependent/glslang_tab.cpp" + break; + + case 612: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */ +#line 4022 "MachineIndependent/glslang.y" + { + (yyval.interm.attributes) = (yyvsp[-2].interm.attributes); + parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute"); + } +#line 10963 "MachineIndependent/glslang_tab.cpp" + break; + + case 613: /* attribute_list: single_attribute */ +#line 4028 "MachineIndependent/glslang.y" + { + (yyval.interm.attributes) = (yyvsp[0].interm.attributes); + } +#line 10971 "MachineIndependent/glslang_tab.cpp" + break; + + case 614: /* attribute_list: attribute_list COMMA single_attribute */ +#line 4031 "MachineIndependent/glslang.y" + { + (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); + } +#line 10979 "MachineIndependent/glslang_tab.cpp" + break; + + case 615: /* single_attribute: IDENTIFIER */ +#line 4036 "MachineIndependent/glslang.y" + { + (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); + } +#line 10987 "MachineIndependent/glslang_tab.cpp" + break; + + case 616: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */ +#line 4039 "MachineIndependent/glslang.y" + { + (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode)); + } +#line 10995 "MachineIndependent/glslang_tab.cpp" + break; + + +#line 10999 "MachineIndependent/glslang_tab.cpp" + + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ + YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); + + YYPOPSTACK (yylen); + yylen = 0; + + *++yyvsp = yyval; + + /* Now 'shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } + + goto yynewstate; + + +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ +yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) + { + ++yynerrs; + { + yypcontext_t yyctx + = {yyssp, yytoken}; + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx); + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == -1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = YY_CAST (char *, + YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc))); + if (yymsg) + { + yysyntax_error_status + = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx); + yymsgp = yymsg; + } + else + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = YYENOMEM; + } + } + yyerror (pParseContext, yymsgp); + if (yysyntax_error_status == YYENOMEM) + goto yyexhaustedlab; + } + } + + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } + else + { + yydestruct ("Error: discarding", + yytoken, &yylval, pParseContext); + yychar = YYEMPTY; + } + } + + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; + + +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; + + /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ + + /* Pop stack until we find a state that shifts the error token. */ + for (;;) + { + yyn = yypact[yystate]; + if (!yypact_value_is_default (yyn)) + { + yyn += YYSYMBOL_YYerror; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + + yydestruct ("Error: popping", + YY_ACCESSING_SYMBOL (yystate), yyvsp, pParseContext); + YYPOPSTACK (1); + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); + } + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + + /* Shift the error token. */ + YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); + + yystate = yyn; + goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + + +#if 1 +/*-------------------------------------------------. +| yyexhaustedlab -- memory exhaustion comes here. | +`-------------------------------------------------*/ +yyexhaustedlab: + yyerror (pParseContext, YY_("memory exhausted")); + yyresult = 2; + goto yyreturn; +#endif + + +/*-------------------------------------------------------. +| yyreturn -- parsing is finished, clean up and return. | +`-------------------------------------------------------*/ +yyreturn: + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval, pParseContext); + } + /* Do not reclaim the symbols of the rule whose action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", + YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, pParseContext); + YYPOPSTACK (1); + } +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + return yyresult; +} + +#line 4044 "MachineIndependent/glslang.y" + diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp.h b/android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp.h new file mode 100644 index 00000000..d6bc00d9 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/glslang_tab.cpp.h @@ -0,0 +1,555 @@ +/* A Bison parser, made by GNU Bison 3.7.4. */ + +/* Bison interface for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + +#ifndef YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED +# define YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token kinds. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + YYEMPTY = -2, + YYEOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + CONST = 258, /* CONST */ + BOOL = 259, /* BOOL */ + INT = 260, /* INT */ + UINT = 261, /* UINT */ + FLOAT = 262, /* FLOAT */ + BVEC2 = 263, /* BVEC2 */ + BVEC3 = 264, /* BVEC3 */ + BVEC4 = 265, /* BVEC4 */ + IVEC2 = 266, /* IVEC2 */ + IVEC3 = 267, /* IVEC3 */ + IVEC4 = 268, /* IVEC4 */ + UVEC2 = 269, /* UVEC2 */ + UVEC3 = 270, /* UVEC3 */ + UVEC4 = 271, /* UVEC4 */ + VEC2 = 272, /* VEC2 */ + VEC3 = 273, /* VEC3 */ + VEC4 = 274, /* VEC4 */ + MAT2 = 275, /* MAT2 */ + MAT3 = 276, /* MAT3 */ + MAT4 = 277, /* MAT4 */ + MAT2X2 = 278, /* MAT2X2 */ + MAT2X3 = 279, /* MAT2X3 */ + MAT2X4 = 280, /* MAT2X4 */ + MAT3X2 = 281, /* MAT3X2 */ + MAT3X3 = 282, /* MAT3X3 */ + MAT3X4 = 283, /* MAT3X4 */ + MAT4X2 = 284, /* MAT4X2 */ + MAT4X3 = 285, /* MAT4X3 */ + MAT4X4 = 286, /* MAT4X4 */ + SAMPLER2D = 287, /* SAMPLER2D */ + SAMPLER3D = 288, /* SAMPLER3D */ + SAMPLERCUBE = 289, /* SAMPLERCUBE */ + SAMPLER2DSHADOW = 290, /* SAMPLER2DSHADOW */ + SAMPLERCUBESHADOW = 291, /* SAMPLERCUBESHADOW */ + SAMPLER2DARRAY = 292, /* SAMPLER2DARRAY */ + SAMPLER2DARRAYSHADOW = 293, /* SAMPLER2DARRAYSHADOW */ + ISAMPLER2D = 294, /* ISAMPLER2D */ + ISAMPLER3D = 295, /* ISAMPLER3D */ + ISAMPLERCUBE = 296, /* ISAMPLERCUBE */ + ISAMPLER2DARRAY = 297, /* ISAMPLER2DARRAY */ + USAMPLER2D = 298, /* USAMPLER2D */ + USAMPLER3D = 299, /* USAMPLER3D */ + USAMPLERCUBE = 300, /* USAMPLERCUBE */ + USAMPLER2DARRAY = 301, /* USAMPLER2DARRAY */ + SAMPLER = 302, /* SAMPLER */ + SAMPLERSHADOW = 303, /* SAMPLERSHADOW */ + TEXTURE2D = 304, /* TEXTURE2D */ + TEXTURE3D = 305, /* TEXTURE3D */ + TEXTURECUBE = 306, /* TEXTURECUBE */ + TEXTURE2DARRAY = 307, /* TEXTURE2DARRAY */ + ITEXTURE2D = 308, /* ITEXTURE2D */ + ITEXTURE3D = 309, /* ITEXTURE3D */ + ITEXTURECUBE = 310, /* ITEXTURECUBE */ + ITEXTURE2DARRAY = 311, /* ITEXTURE2DARRAY */ + UTEXTURE2D = 312, /* UTEXTURE2D */ + UTEXTURE3D = 313, /* UTEXTURE3D */ + UTEXTURECUBE = 314, /* UTEXTURECUBE */ + UTEXTURE2DARRAY = 315, /* UTEXTURE2DARRAY */ + ATTRIBUTE = 316, /* ATTRIBUTE */ + VARYING = 317, /* VARYING */ + FLOAT16_T = 318, /* FLOAT16_T */ + FLOAT32_T = 319, /* FLOAT32_T */ + DOUBLE = 320, /* DOUBLE */ + FLOAT64_T = 321, /* FLOAT64_T */ + INT64_T = 322, /* INT64_T */ + UINT64_T = 323, /* UINT64_T */ + INT32_T = 324, /* INT32_T */ + UINT32_T = 325, /* UINT32_T */ + INT16_T = 326, /* INT16_T */ + UINT16_T = 327, /* UINT16_T */ + INT8_T = 328, /* INT8_T */ + UINT8_T = 329, /* UINT8_T */ + I64VEC2 = 330, /* I64VEC2 */ + I64VEC3 = 331, /* I64VEC3 */ + I64VEC4 = 332, /* I64VEC4 */ + U64VEC2 = 333, /* U64VEC2 */ + U64VEC3 = 334, /* U64VEC3 */ + U64VEC4 = 335, /* U64VEC4 */ + I32VEC2 = 336, /* I32VEC2 */ + I32VEC3 = 337, /* I32VEC3 */ + I32VEC4 = 338, /* I32VEC4 */ + U32VEC2 = 339, /* U32VEC2 */ + U32VEC3 = 340, /* U32VEC3 */ + U32VEC4 = 341, /* U32VEC4 */ + I16VEC2 = 342, /* I16VEC2 */ + I16VEC3 = 343, /* I16VEC3 */ + I16VEC4 = 344, /* I16VEC4 */ + U16VEC2 = 345, /* U16VEC2 */ + U16VEC3 = 346, /* U16VEC3 */ + U16VEC4 = 347, /* U16VEC4 */ + I8VEC2 = 348, /* I8VEC2 */ + I8VEC3 = 349, /* I8VEC3 */ + I8VEC4 = 350, /* I8VEC4 */ + U8VEC2 = 351, /* U8VEC2 */ + U8VEC3 = 352, /* U8VEC3 */ + U8VEC4 = 353, /* U8VEC4 */ + DVEC2 = 354, /* DVEC2 */ + DVEC3 = 355, /* DVEC3 */ + DVEC4 = 356, /* DVEC4 */ + DMAT2 = 357, /* DMAT2 */ + DMAT3 = 358, /* DMAT3 */ + DMAT4 = 359, /* DMAT4 */ + F16VEC2 = 360, /* F16VEC2 */ + F16VEC3 = 361, /* F16VEC3 */ + F16VEC4 = 362, /* F16VEC4 */ + F16MAT2 = 363, /* F16MAT2 */ + F16MAT3 = 364, /* F16MAT3 */ + F16MAT4 = 365, /* F16MAT4 */ + F32VEC2 = 366, /* F32VEC2 */ + F32VEC3 = 367, /* F32VEC3 */ + F32VEC4 = 368, /* F32VEC4 */ + F32MAT2 = 369, /* F32MAT2 */ + F32MAT3 = 370, /* F32MAT3 */ + F32MAT4 = 371, /* F32MAT4 */ + F64VEC2 = 372, /* F64VEC2 */ + F64VEC3 = 373, /* F64VEC3 */ + F64VEC4 = 374, /* F64VEC4 */ + F64MAT2 = 375, /* F64MAT2 */ + F64MAT3 = 376, /* F64MAT3 */ + F64MAT4 = 377, /* F64MAT4 */ + DMAT2X2 = 378, /* DMAT2X2 */ + DMAT2X3 = 379, /* DMAT2X3 */ + DMAT2X4 = 380, /* DMAT2X4 */ + DMAT3X2 = 381, /* DMAT3X2 */ + DMAT3X3 = 382, /* DMAT3X3 */ + DMAT3X4 = 383, /* DMAT3X4 */ + DMAT4X2 = 384, /* DMAT4X2 */ + DMAT4X3 = 385, /* DMAT4X3 */ + DMAT4X4 = 386, /* DMAT4X4 */ + F16MAT2X2 = 387, /* F16MAT2X2 */ + F16MAT2X3 = 388, /* F16MAT2X3 */ + F16MAT2X4 = 389, /* F16MAT2X4 */ + F16MAT3X2 = 390, /* F16MAT3X2 */ + F16MAT3X3 = 391, /* F16MAT3X3 */ + F16MAT3X4 = 392, /* F16MAT3X4 */ + F16MAT4X2 = 393, /* F16MAT4X2 */ + F16MAT4X3 = 394, /* F16MAT4X3 */ + F16MAT4X4 = 395, /* F16MAT4X4 */ + F32MAT2X2 = 396, /* F32MAT2X2 */ + F32MAT2X3 = 397, /* F32MAT2X3 */ + F32MAT2X4 = 398, /* F32MAT2X4 */ + F32MAT3X2 = 399, /* F32MAT3X2 */ + F32MAT3X3 = 400, /* F32MAT3X3 */ + F32MAT3X4 = 401, /* F32MAT3X4 */ + F32MAT4X2 = 402, /* F32MAT4X2 */ + F32MAT4X3 = 403, /* F32MAT4X3 */ + F32MAT4X4 = 404, /* F32MAT4X4 */ + F64MAT2X2 = 405, /* F64MAT2X2 */ + F64MAT2X3 = 406, /* F64MAT2X3 */ + F64MAT2X4 = 407, /* F64MAT2X4 */ + F64MAT3X2 = 408, /* F64MAT3X2 */ + F64MAT3X3 = 409, /* F64MAT3X3 */ + F64MAT3X4 = 410, /* F64MAT3X4 */ + F64MAT4X2 = 411, /* F64MAT4X2 */ + F64MAT4X3 = 412, /* F64MAT4X3 */ + F64MAT4X4 = 413, /* F64MAT4X4 */ + ATOMIC_UINT = 414, /* ATOMIC_UINT */ + ACCSTRUCTNV = 415, /* ACCSTRUCTNV */ + ACCSTRUCTEXT = 416, /* ACCSTRUCTEXT */ + RAYQUERYEXT = 417, /* RAYQUERYEXT */ + FCOOPMATNV = 418, /* FCOOPMATNV */ + ICOOPMATNV = 419, /* ICOOPMATNV */ + UCOOPMATNV = 420, /* UCOOPMATNV */ + SAMPLERCUBEARRAY = 421, /* SAMPLERCUBEARRAY */ + SAMPLERCUBEARRAYSHADOW = 422, /* SAMPLERCUBEARRAYSHADOW */ + ISAMPLERCUBEARRAY = 423, /* ISAMPLERCUBEARRAY */ + USAMPLERCUBEARRAY = 424, /* USAMPLERCUBEARRAY */ + SAMPLER1D = 425, /* SAMPLER1D */ + SAMPLER1DARRAY = 426, /* SAMPLER1DARRAY */ + SAMPLER1DARRAYSHADOW = 427, /* SAMPLER1DARRAYSHADOW */ + ISAMPLER1D = 428, /* ISAMPLER1D */ + SAMPLER1DSHADOW = 429, /* SAMPLER1DSHADOW */ + SAMPLER2DRECT = 430, /* SAMPLER2DRECT */ + SAMPLER2DRECTSHADOW = 431, /* SAMPLER2DRECTSHADOW */ + ISAMPLER2DRECT = 432, /* ISAMPLER2DRECT */ + USAMPLER2DRECT = 433, /* USAMPLER2DRECT */ + SAMPLERBUFFER = 434, /* SAMPLERBUFFER */ + ISAMPLERBUFFER = 435, /* ISAMPLERBUFFER */ + USAMPLERBUFFER = 436, /* USAMPLERBUFFER */ + SAMPLER2DMS = 437, /* SAMPLER2DMS */ + ISAMPLER2DMS = 438, /* ISAMPLER2DMS */ + USAMPLER2DMS = 439, /* USAMPLER2DMS */ + SAMPLER2DMSARRAY = 440, /* SAMPLER2DMSARRAY */ + ISAMPLER2DMSARRAY = 441, /* ISAMPLER2DMSARRAY */ + USAMPLER2DMSARRAY = 442, /* USAMPLER2DMSARRAY */ + SAMPLEREXTERNALOES = 443, /* SAMPLEREXTERNALOES */ + SAMPLEREXTERNAL2DY2YEXT = 444, /* SAMPLEREXTERNAL2DY2YEXT */ + ISAMPLER1DARRAY = 445, /* ISAMPLER1DARRAY */ + USAMPLER1D = 446, /* USAMPLER1D */ + USAMPLER1DARRAY = 447, /* USAMPLER1DARRAY */ + F16SAMPLER1D = 448, /* F16SAMPLER1D */ + F16SAMPLER2D = 449, /* F16SAMPLER2D */ + F16SAMPLER3D = 450, /* F16SAMPLER3D */ + F16SAMPLER2DRECT = 451, /* F16SAMPLER2DRECT */ + F16SAMPLERCUBE = 452, /* F16SAMPLERCUBE */ + F16SAMPLER1DARRAY = 453, /* F16SAMPLER1DARRAY */ + F16SAMPLER2DARRAY = 454, /* F16SAMPLER2DARRAY */ + F16SAMPLERCUBEARRAY = 455, /* F16SAMPLERCUBEARRAY */ + F16SAMPLERBUFFER = 456, /* F16SAMPLERBUFFER */ + F16SAMPLER2DMS = 457, /* F16SAMPLER2DMS */ + F16SAMPLER2DMSARRAY = 458, /* F16SAMPLER2DMSARRAY */ + F16SAMPLER1DSHADOW = 459, /* F16SAMPLER1DSHADOW */ + F16SAMPLER2DSHADOW = 460, /* F16SAMPLER2DSHADOW */ + F16SAMPLER1DARRAYSHADOW = 461, /* F16SAMPLER1DARRAYSHADOW */ + F16SAMPLER2DARRAYSHADOW = 462, /* F16SAMPLER2DARRAYSHADOW */ + F16SAMPLER2DRECTSHADOW = 463, /* F16SAMPLER2DRECTSHADOW */ + F16SAMPLERCUBESHADOW = 464, /* F16SAMPLERCUBESHADOW */ + F16SAMPLERCUBEARRAYSHADOW = 465, /* F16SAMPLERCUBEARRAYSHADOW */ + IMAGE1D = 466, /* IMAGE1D */ + IIMAGE1D = 467, /* IIMAGE1D */ + UIMAGE1D = 468, /* UIMAGE1D */ + IMAGE2D = 469, /* IMAGE2D */ + IIMAGE2D = 470, /* IIMAGE2D */ + UIMAGE2D = 471, /* UIMAGE2D */ + IMAGE3D = 472, /* IMAGE3D */ + IIMAGE3D = 473, /* IIMAGE3D */ + UIMAGE3D = 474, /* UIMAGE3D */ + IMAGE2DRECT = 475, /* IMAGE2DRECT */ + IIMAGE2DRECT = 476, /* IIMAGE2DRECT */ + UIMAGE2DRECT = 477, /* UIMAGE2DRECT */ + IMAGECUBE = 478, /* IMAGECUBE */ + IIMAGECUBE = 479, /* IIMAGECUBE */ + UIMAGECUBE = 480, /* UIMAGECUBE */ + IMAGEBUFFER = 481, /* IMAGEBUFFER */ + IIMAGEBUFFER = 482, /* IIMAGEBUFFER */ + UIMAGEBUFFER = 483, /* UIMAGEBUFFER */ + IMAGE1DARRAY = 484, /* IMAGE1DARRAY */ + IIMAGE1DARRAY = 485, /* IIMAGE1DARRAY */ + UIMAGE1DARRAY = 486, /* UIMAGE1DARRAY */ + IMAGE2DARRAY = 487, /* IMAGE2DARRAY */ + IIMAGE2DARRAY = 488, /* IIMAGE2DARRAY */ + UIMAGE2DARRAY = 489, /* UIMAGE2DARRAY */ + IMAGECUBEARRAY = 490, /* IMAGECUBEARRAY */ + IIMAGECUBEARRAY = 491, /* IIMAGECUBEARRAY */ + UIMAGECUBEARRAY = 492, /* UIMAGECUBEARRAY */ + IMAGE2DMS = 493, /* IMAGE2DMS */ + IIMAGE2DMS = 494, /* IIMAGE2DMS */ + UIMAGE2DMS = 495, /* UIMAGE2DMS */ + IMAGE2DMSARRAY = 496, /* IMAGE2DMSARRAY */ + IIMAGE2DMSARRAY = 497, /* IIMAGE2DMSARRAY */ + UIMAGE2DMSARRAY = 498, /* UIMAGE2DMSARRAY */ + F16IMAGE1D = 499, /* F16IMAGE1D */ + F16IMAGE2D = 500, /* F16IMAGE2D */ + F16IMAGE3D = 501, /* F16IMAGE3D */ + F16IMAGE2DRECT = 502, /* F16IMAGE2DRECT */ + F16IMAGECUBE = 503, /* F16IMAGECUBE */ + F16IMAGE1DARRAY = 504, /* F16IMAGE1DARRAY */ + F16IMAGE2DARRAY = 505, /* F16IMAGE2DARRAY */ + F16IMAGECUBEARRAY = 506, /* F16IMAGECUBEARRAY */ + F16IMAGEBUFFER = 507, /* F16IMAGEBUFFER */ + F16IMAGE2DMS = 508, /* F16IMAGE2DMS */ + F16IMAGE2DMSARRAY = 509, /* F16IMAGE2DMSARRAY */ + I64IMAGE1D = 510, /* I64IMAGE1D */ + U64IMAGE1D = 511, /* U64IMAGE1D */ + I64IMAGE2D = 512, /* I64IMAGE2D */ + U64IMAGE2D = 513, /* U64IMAGE2D */ + I64IMAGE3D = 514, /* I64IMAGE3D */ + U64IMAGE3D = 515, /* U64IMAGE3D */ + I64IMAGE2DRECT = 516, /* I64IMAGE2DRECT */ + U64IMAGE2DRECT = 517, /* U64IMAGE2DRECT */ + I64IMAGECUBE = 518, /* I64IMAGECUBE */ + U64IMAGECUBE = 519, /* U64IMAGECUBE */ + I64IMAGEBUFFER = 520, /* I64IMAGEBUFFER */ + U64IMAGEBUFFER = 521, /* U64IMAGEBUFFER */ + I64IMAGE1DARRAY = 522, /* I64IMAGE1DARRAY */ + U64IMAGE1DARRAY = 523, /* U64IMAGE1DARRAY */ + I64IMAGE2DARRAY = 524, /* I64IMAGE2DARRAY */ + U64IMAGE2DARRAY = 525, /* U64IMAGE2DARRAY */ + I64IMAGECUBEARRAY = 526, /* I64IMAGECUBEARRAY */ + U64IMAGECUBEARRAY = 527, /* U64IMAGECUBEARRAY */ + I64IMAGE2DMS = 528, /* I64IMAGE2DMS */ + U64IMAGE2DMS = 529, /* U64IMAGE2DMS */ + I64IMAGE2DMSARRAY = 530, /* I64IMAGE2DMSARRAY */ + U64IMAGE2DMSARRAY = 531, /* U64IMAGE2DMSARRAY */ + TEXTURECUBEARRAY = 532, /* TEXTURECUBEARRAY */ + ITEXTURECUBEARRAY = 533, /* ITEXTURECUBEARRAY */ + UTEXTURECUBEARRAY = 534, /* UTEXTURECUBEARRAY */ + TEXTURE1D = 535, /* TEXTURE1D */ + ITEXTURE1D = 536, /* ITEXTURE1D */ + UTEXTURE1D = 537, /* UTEXTURE1D */ + TEXTURE1DARRAY = 538, /* TEXTURE1DARRAY */ + ITEXTURE1DARRAY = 539, /* ITEXTURE1DARRAY */ + UTEXTURE1DARRAY = 540, /* UTEXTURE1DARRAY */ + TEXTURE2DRECT = 541, /* TEXTURE2DRECT */ + ITEXTURE2DRECT = 542, /* ITEXTURE2DRECT */ + UTEXTURE2DRECT = 543, /* UTEXTURE2DRECT */ + TEXTUREBUFFER = 544, /* TEXTUREBUFFER */ + ITEXTUREBUFFER = 545, /* ITEXTUREBUFFER */ + UTEXTUREBUFFER = 546, /* UTEXTUREBUFFER */ + TEXTURE2DMS = 547, /* TEXTURE2DMS */ + ITEXTURE2DMS = 548, /* ITEXTURE2DMS */ + UTEXTURE2DMS = 549, /* UTEXTURE2DMS */ + TEXTURE2DMSARRAY = 550, /* TEXTURE2DMSARRAY */ + ITEXTURE2DMSARRAY = 551, /* ITEXTURE2DMSARRAY */ + UTEXTURE2DMSARRAY = 552, /* UTEXTURE2DMSARRAY */ + F16TEXTURE1D = 553, /* F16TEXTURE1D */ + F16TEXTURE2D = 554, /* F16TEXTURE2D */ + F16TEXTURE3D = 555, /* F16TEXTURE3D */ + F16TEXTURE2DRECT = 556, /* F16TEXTURE2DRECT */ + F16TEXTURECUBE = 557, /* F16TEXTURECUBE */ + F16TEXTURE1DARRAY = 558, /* F16TEXTURE1DARRAY */ + F16TEXTURE2DARRAY = 559, /* F16TEXTURE2DARRAY */ + F16TEXTURECUBEARRAY = 560, /* F16TEXTURECUBEARRAY */ + F16TEXTUREBUFFER = 561, /* F16TEXTUREBUFFER */ + F16TEXTURE2DMS = 562, /* F16TEXTURE2DMS */ + F16TEXTURE2DMSARRAY = 563, /* F16TEXTURE2DMSARRAY */ + SUBPASSINPUT = 564, /* SUBPASSINPUT */ + SUBPASSINPUTMS = 565, /* SUBPASSINPUTMS */ + ISUBPASSINPUT = 566, /* ISUBPASSINPUT */ + ISUBPASSINPUTMS = 567, /* ISUBPASSINPUTMS */ + USUBPASSINPUT = 568, /* USUBPASSINPUT */ + USUBPASSINPUTMS = 569, /* USUBPASSINPUTMS */ + F16SUBPASSINPUT = 570, /* F16SUBPASSINPUT */ + F16SUBPASSINPUTMS = 571, /* F16SUBPASSINPUTMS */ + LEFT_OP = 572, /* LEFT_OP */ + RIGHT_OP = 573, /* RIGHT_OP */ + INC_OP = 574, /* INC_OP */ + DEC_OP = 575, /* DEC_OP */ + LE_OP = 576, /* LE_OP */ + GE_OP = 577, /* GE_OP */ + EQ_OP = 578, /* EQ_OP */ + NE_OP = 579, /* NE_OP */ + AND_OP = 580, /* AND_OP */ + OR_OP = 581, /* OR_OP */ + XOR_OP = 582, /* XOR_OP */ + MUL_ASSIGN = 583, /* MUL_ASSIGN */ + DIV_ASSIGN = 584, /* DIV_ASSIGN */ + ADD_ASSIGN = 585, /* ADD_ASSIGN */ + MOD_ASSIGN = 586, /* MOD_ASSIGN */ + LEFT_ASSIGN = 587, /* LEFT_ASSIGN */ + RIGHT_ASSIGN = 588, /* RIGHT_ASSIGN */ + AND_ASSIGN = 589, /* AND_ASSIGN */ + XOR_ASSIGN = 590, /* XOR_ASSIGN */ + OR_ASSIGN = 591, /* OR_ASSIGN */ + SUB_ASSIGN = 592, /* SUB_ASSIGN */ + STRING_LITERAL = 593, /* STRING_LITERAL */ + LEFT_PAREN = 594, /* LEFT_PAREN */ + RIGHT_PAREN = 595, /* RIGHT_PAREN */ + LEFT_BRACKET = 596, /* LEFT_BRACKET */ + RIGHT_BRACKET = 597, /* RIGHT_BRACKET */ + LEFT_BRACE = 598, /* LEFT_BRACE */ + RIGHT_BRACE = 599, /* RIGHT_BRACE */ + DOT = 600, /* DOT */ + COMMA = 601, /* COMMA */ + COLON = 602, /* COLON */ + EQUAL = 603, /* EQUAL */ + SEMICOLON = 604, /* SEMICOLON */ + BANG = 605, /* BANG */ + DASH = 606, /* DASH */ + TILDE = 607, /* TILDE */ + PLUS = 608, /* PLUS */ + STAR = 609, /* STAR */ + SLASH = 610, /* SLASH */ + PERCENT = 611, /* PERCENT */ + LEFT_ANGLE = 612, /* LEFT_ANGLE */ + RIGHT_ANGLE = 613, /* RIGHT_ANGLE */ + VERTICAL_BAR = 614, /* VERTICAL_BAR */ + CARET = 615, /* CARET */ + AMPERSAND = 616, /* AMPERSAND */ + QUESTION = 617, /* QUESTION */ + INVARIANT = 618, /* INVARIANT */ + HIGH_PRECISION = 619, /* HIGH_PRECISION */ + MEDIUM_PRECISION = 620, /* MEDIUM_PRECISION */ + LOW_PRECISION = 621, /* LOW_PRECISION */ + PRECISION = 622, /* PRECISION */ + PACKED = 623, /* PACKED */ + RESOURCE = 624, /* RESOURCE */ + SUPERP = 625, /* SUPERP */ + FLOATCONSTANT = 626, /* FLOATCONSTANT */ + INTCONSTANT = 627, /* INTCONSTANT */ + UINTCONSTANT = 628, /* UINTCONSTANT */ + BOOLCONSTANT = 629, /* BOOLCONSTANT */ + IDENTIFIER = 630, /* IDENTIFIER */ + TYPE_NAME = 631, /* TYPE_NAME */ + CENTROID = 632, /* CENTROID */ + IN = 633, /* IN */ + OUT = 634, /* OUT */ + INOUT = 635, /* INOUT */ + STRUCT = 636, /* STRUCT */ + VOID = 637, /* VOID */ + WHILE = 638, /* WHILE */ + BREAK = 639, /* BREAK */ + CONTINUE = 640, /* CONTINUE */ + DO = 641, /* DO */ + ELSE = 642, /* ELSE */ + FOR = 643, /* FOR */ + IF = 644, /* IF */ + DISCARD = 645, /* DISCARD */ + RETURN = 646, /* RETURN */ + SWITCH = 647, /* SWITCH */ + CASE = 648, /* CASE */ + DEFAULT = 649, /* DEFAULT */ + TERMINATE_INVOCATION = 650, /* TERMINATE_INVOCATION */ + TERMINATE_RAY = 651, /* TERMINATE_RAY */ + IGNORE_INTERSECTION = 652, /* IGNORE_INTERSECTION */ + UNIFORM = 653, /* UNIFORM */ + SHARED = 654, /* SHARED */ + BUFFER = 655, /* BUFFER */ + FLAT = 656, /* FLAT */ + SMOOTH = 657, /* SMOOTH */ + LAYOUT = 658, /* LAYOUT */ + DOUBLECONSTANT = 659, /* DOUBLECONSTANT */ + INT16CONSTANT = 660, /* INT16CONSTANT */ + UINT16CONSTANT = 661, /* UINT16CONSTANT */ + FLOAT16CONSTANT = 662, /* FLOAT16CONSTANT */ + INT32CONSTANT = 663, /* INT32CONSTANT */ + UINT32CONSTANT = 664, /* UINT32CONSTANT */ + INT64CONSTANT = 665, /* INT64CONSTANT */ + UINT64CONSTANT = 666, /* UINT64CONSTANT */ + SUBROUTINE = 667, /* SUBROUTINE */ + DEMOTE = 668, /* DEMOTE */ + PAYLOADNV = 669, /* PAYLOADNV */ + PAYLOADINNV = 670, /* PAYLOADINNV */ + HITATTRNV = 671, /* HITATTRNV */ + CALLDATANV = 672, /* CALLDATANV */ + CALLDATAINNV = 673, /* CALLDATAINNV */ + PAYLOADEXT = 674, /* PAYLOADEXT */ + PAYLOADINEXT = 675, /* PAYLOADINEXT */ + HITATTREXT = 676, /* HITATTREXT */ + CALLDATAEXT = 677, /* CALLDATAEXT */ + CALLDATAINEXT = 678, /* CALLDATAINEXT */ + PATCH = 679, /* PATCH */ + SAMPLE = 680, /* SAMPLE */ + NONUNIFORM = 681, /* NONUNIFORM */ + COHERENT = 682, /* COHERENT */ + VOLATILE = 683, /* VOLATILE */ + RESTRICT = 684, /* RESTRICT */ + READONLY = 685, /* READONLY */ + WRITEONLY = 686, /* WRITEONLY */ + DEVICECOHERENT = 687, /* DEVICECOHERENT */ + QUEUEFAMILYCOHERENT = 688, /* QUEUEFAMILYCOHERENT */ + WORKGROUPCOHERENT = 689, /* WORKGROUPCOHERENT */ + SUBGROUPCOHERENT = 690, /* SUBGROUPCOHERENT */ + NONPRIVATE = 691, /* NONPRIVATE */ + SHADERCALLCOHERENT = 692, /* SHADERCALLCOHERENT */ + NOPERSPECTIVE = 693, /* NOPERSPECTIVE */ + EXPLICITINTERPAMD = 694, /* EXPLICITINTERPAMD */ + PERVERTEXNV = 695, /* PERVERTEXNV */ + PERPRIMITIVENV = 696, /* PERPRIMITIVENV */ + PERVIEWNV = 697, /* PERVIEWNV */ + PERTASKNV = 698, /* PERTASKNV */ + PRECISE = 699 /* PRECISE */ + }; + typedef enum yytokentype yytoken_kind_t; +#endif + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +union YYSTYPE +{ +#line 97 "MachineIndependent/glslang.y" + + struct { + glslang::TSourceLoc loc; + union { + glslang::TString *string; + int i; + unsigned int u; + long long i64; + unsigned long long u64; + bool b; + double d; + }; + glslang::TSymbol* symbol; + } lex; + struct { + glslang::TSourceLoc loc; + glslang::TOperator op; + union { + TIntermNode* intermNode; + glslang::TIntermNodePair nodePair; + glslang::TIntermTyped* intermTypedNode; + glslang::TAttributes* attributes; + }; + union { + glslang::TPublicType type; + glslang::TFunction* function; + glslang::TParameter param; + glslang::TTypeLoc typeLine; + glslang::TTypeList* typeList; + glslang::TArraySizes* arraySizes; + glslang::TIdentifierList* identifierList; + }; + glslang::TArraySizes* typeParameters; + } interm; + +#line 544 "MachineIndependent/glslang_tab.cpp.h" + +}; +typedef union YYSTYPE YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + + + +int yyparse (glslang::TParseContext* pParseContext); + +#endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED */ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/intermOut.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/intermOut.cpp new file mode 100644 index 00000000..5ce3e472 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/intermOut.cpp @@ -0,0 +1,1579 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2016 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +#include "localintermediate.h" +#include "../Include/InfoSink.h" + +#ifdef _MSC_VER +#include +#else +#include +#endif +#include + +namespace { + +bool IsInfinity(double x) { +#ifdef _MSC_VER + switch (_fpclass(x)) { + case _FPCLASS_NINF: + case _FPCLASS_PINF: + return true; + default: + return false; + } +#else + return std::isinf(x); +#endif +} + +bool IsNan(double x) { +#ifdef _MSC_VER + switch (_fpclass(x)) { + case _FPCLASS_SNAN: + case _FPCLASS_QNAN: + return true; + default: + return false; + } +#else + return std::isnan(x); +#endif +} + +} + +namespace glslang { + +// +// Two purposes: +// 1. Show an example of how to iterate tree. Functions can +// also directly call Traverse() on children themselves to +// have finer grained control over the process than shown here. +// See the last function for how to get started. +// 2. Print out a text based description of the tree. +// + +// +// Use this class to carry along data from node to node in +// the traversal +// +class TOutputTraverser : public TIntermTraverser { +public: + TOutputTraverser(TInfoSink& i) : infoSink(i), extraOutput(NoExtraOutput) { } + + enum EExtraOutput { + NoExtraOutput, + BinaryDoubleOutput + }; + void setDoubleOutput(EExtraOutput extra) { extraOutput = extra; } + + virtual bool visitBinary(TVisit, TIntermBinary* node); + virtual bool visitUnary(TVisit, TIntermUnary* node); + virtual bool visitAggregate(TVisit, TIntermAggregate* node); + virtual bool visitSelection(TVisit, TIntermSelection* node); + virtual void visitConstantUnion(TIntermConstantUnion* node); + virtual void visitSymbol(TIntermSymbol* node); + virtual bool visitLoop(TVisit, TIntermLoop* node); + virtual bool visitBranch(TVisit, TIntermBranch* node); + virtual bool visitSwitch(TVisit, TIntermSwitch* node); + + TInfoSink& infoSink; +protected: + TOutputTraverser(TOutputTraverser&); + TOutputTraverser& operator=(TOutputTraverser&); + + EExtraOutput extraOutput; +}; + +// +// Helper functions for printing, not part of traversing. +// + +static void OutputTreeText(TInfoSink& infoSink, const TIntermNode* node, const int depth) +{ + int i; + + infoSink.debug << node->getLoc().string << ":"; + if (node->getLoc().line) + infoSink.debug << node->getLoc().line; + else + infoSink.debug << "? "; + + for (i = 0; i < depth; ++i) + infoSink.debug << " "; +} + +// +// The rest of the file are the traversal functions. The last one +// is the one that starts the traversal. +// +// Return true from interior nodes to have the external traversal +// continue on to children. If you process children yourself, +// return false. +// + +bool TOutputTraverser::visitBinary(TVisit /* visit */, TIntermBinary* node) +{ + TInfoSink& out = infoSink; + + OutputTreeText(out, node, depth); + + switch (node->getOp()) { + case EOpAssign: out.debug << "move second child to first child"; break; + case EOpAddAssign: out.debug << "add second child into first child"; break; + case EOpSubAssign: out.debug << "subtract second child into first child"; break; + case EOpMulAssign: out.debug << "multiply second child into first child"; break; + case EOpVectorTimesMatrixAssign: out.debug << "matrix mult second child into first child"; break; + case EOpVectorTimesScalarAssign: out.debug << "vector scale second child into first child"; break; + case EOpMatrixTimesScalarAssign: out.debug << "matrix scale second child into first child"; break; + case EOpMatrixTimesMatrixAssign: out.debug << "matrix mult second child into first child"; break; + case EOpDivAssign: out.debug << "divide second child into first child"; break; + case EOpModAssign: out.debug << "mod second child into first child"; break; + case EOpAndAssign: out.debug << "and second child into first child"; break; + case EOpInclusiveOrAssign: out.debug << "or second child into first child"; break; + case EOpExclusiveOrAssign: out.debug << "exclusive or second child into first child"; break; + case EOpLeftShiftAssign: out.debug << "left shift second child into first child"; break; + case EOpRightShiftAssign: out.debug << "right shift second child into first child"; break; + + case EOpIndexDirect: out.debug << "direct index"; break; + case EOpIndexIndirect: out.debug << "indirect index"; break; + case EOpIndexDirectStruct: + { + bool reference = node->getLeft()->getType().isReference(); + const TTypeList *members = reference ? node->getLeft()->getType().getReferentType()->getStruct() : node->getLeft()->getType().getStruct(); + out.debug << (*members)[node->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst()].type->getFieldName(); + out.debug << ": direct index for structure"; break; + } + case EOpVectorSwizzle: out.debug << "vector swizzle"; break; + case EOpMatrixSwizzle: out.debug << "matrix swizzle"; break; + + case EOpAdd: out.debug << "add"; break; + case EOpSub: out.debug << "subtract"; break; + case EOpMul: out.debug << "component-wise multiply"; break; + case EOpDiv: out.debug << "divide"; break; + case EOpMod: out.debug << "mod"; break; + case EOpRightShift: out.debug << "right-shift"; break; + case EOpLeftShift: out.debug << "left-shift"; break; + case EOpAnd: out.debug << "bitwise and"; break; + case EOpInclusiveOr: out.debug << "inclusive-or"; break; + case EOpExclusiveOr: out.debug << "exclusive-or"; break; + case EOpEqual: out.debug << "Compare Equal"; break; + case EOpNotEqual: out.debug << "Compare Not Equal"; break; + case EOpLessThan: out.debug << "Compare Less Than"; break; + case EOpGreaterThan: out.debug << "Compare Greater Than"; break; + case EOpLessThanEqual: out.debug << "Compare Less Than or Equal"; break; + case EOpGreaterThanEqual: out.debug << "Compare Greater Than or Equal"; break; + case EOpVectorEqual: out.debug << "Equal"; break; + case EOpVectorNotEqual: out.debug << "NotEqual"; break; + + case EOpVectorTimesScalar: out.debug << "vector-scale"; break; + case EOpVectorTimesMatrix: out.debug << "vector-times-matrix"; break; + case EOpMatrixTimesVector: out.debug << "matrix-times-vector"; break; + case EOpMatrixTimesScalar: out.debug << "matrix-scale"; break; + case EOpMatrixTimesMatrix: out.debug << "matrix-multiply"; break; + + case EOpLogicalOr: out.debug << "logical-or"; break; + case EOpLogicalXor: out.debug << "logical-xor"; break; + case EOpLogicalAnd: out.debug << "logical-and"; break; + + case EOpAbsDifference: out.debug << "absoluteDifference"; break; + case EOpAddSaturate: out.debug << "addSaturate"; break; + case EOpSubSaturate: out.debug << "subtractSaturate"; break; + case EOpAverage: out.debug << "average"; break; + case EOpAverageRounded: out.debug << "averageRounded"; break; + case EOpMul32x16: out.debug << "multiply32x16"; break; + + default: out.debug << ""; + } + + out.debug << " (" << node->getCompleteString() << ")"; + + out.debug << "\n"; + + return true; +} + +bool TOutputTraverser::visitUnary(TVisit /* visit */, TIntermUnary* node) +{ + TInfoSink& out = infoSink; + + OutputTreeText(out, node, depth); + + switch (node->getOp()) { + case EOpNegative: out.debug << "Negate value"; break; + case EOpVectorLogicalNot: + case EOpLogicalNot: out.debug << "Negate conditional"; break; + case EOpBitwiseNot: out.debug << "Bitwise not"; break; + + case EOpPostIncrement: out.debug << "Post-Increment"; break; + case EOpPostDecrement: out.debug << "Post-Decrement"; break; + case EOpPreIncrement: out.debug << "Pre-Increment"; break; + case EOpPreDecrement: out.debug << "Pre-Decrement"; break; + case EOpCopyObject: out.debug << "copy object"; break; + + // * -> bool + case EOpConvInt8ToBool: out.debug << "Convert int8_t to bool"; break; + case EOpConvUint8ToBool: out.debug << "Convert uint8_t to bool"; break; + case EOpConvInt16ToBool: out.debug << "Convert int16_t to bool"; break; + case EOpConvUint16ToBool: out.debug << "Convert uint16_t to bool";break; + case EOpConvIntToBool: out.debug << "Convert int to bool"; break; + case EOpConvUintToBool: out.debug << "Convert uint to bool"; break; + case EOpConvInt64ToBool: out.debug << "Convert int64 to bool"; break; + case EOpConvUint64ToBool: out.debug << "Convert uint64 to bool"; break; + case EOpConvFloat16ToBool: out.debug << "Convert float16_t to bool"; break; + case EOpConvFloatToBool: out.debug << "Convert float to bool"; break; + case EOpConvDoubleToBool: out.debug << "Convert double to bool"; break; + + // bool -> * + case EOpConvBoolToInt8: out.debug << "Convert bool to int8_t"; break; + case EOpConvBoolToUint8: out.debug << "Convert bool to uint8_t"; break; + case EOpConvBoolToInt16: out.debug << "Convert bool to in16t_t"; break; + case EOpConvBoolToUint16: out.debug << "Convert bool to uint16_t";break; + case EOpConvBoolToInt: out.debug << "Convert bool to int" ; break; + case EOpConvBoolToUint: out.debug << "Convert bool to uint"; break; + case EOpConvBoolToInt64: out.debug << "Convert bool to int64"; break; + case EOpConvBoolToUint64: out.debug << "Convert bool to uint64";break; + case EOpConvBoolToFloat16: out.debug << "Convert bool to float16_t"; break; + case EOpConvBoolToFloat: out.debug << "Convert bool to float"; break; + case EOpConvBoolToDouble: out.debug << "Convert bool to double"; break; + + // int8_t -> (u)int* + case EOpConvInt8ToInt16: out.debug << "Convert int8_t to int16_t";break; + case EOpConvInt8ToInt: out.debug << "Convert int8_t to int"; break; + case EOpConvInt8ToInt64: out.debug << "Convert int8_t to int64"; break; + case EOpConvInt8ToUint8: out.debug << "Convert int8_t to uint8_t";break; + case EOpConvInt8ToUint16: out.debug << "Convert int8_t to uint16_t";break; + case EOpConvInt8ToUint: out.debug << "Convert int8_t to uint"; break; + case EOpConvInt8ToUint64: out.debug << "Convert int8_t to uint64"; break; + + // uint8_t -> (u)int* + case EOpConvUint8ToInt8: out.debug << "Convert uint8_t to int8_t";break; + case EOpConvUint8ToInt16: out.debug << "Convert uint8_t to int16_t";break; + case EOpConvUint8ToInt: out.debug << "Convert uint8_t to int"; break; + case EOpConvUint8ToInt64: out.debug << "Convert uint8_t to int64"; break; + case EOpConvUint8ToUint16: out.debug << "Convert uint8_t to uint16_t";break; + case EOpConvUint8ToUint: out.debug << "Convert uint8_t to uint"; break; + case EOpConvUint8ToUint64: out.debug << "Convert uint8_t to uint64"; break; + + // int8_t -> float* + case EOpConvInt8ToFloat16: out.debug << "Convert int8_t to float16_t";break; + case EOpConvInt8ToFloat: out.debug << "Convert int8_t to float"; break; + case EOpConvInt8ToDouble: out.debug << "Convert int8_t to double"; break; + + // uint8_t -> float* + case EOpConvUint8ToFloat16: out.debug << "Convert uint8_t to float16_t";break; + case EOpConvUint8ToFloat: out.debug << "Convert uint8_t to float"; break; + case EOpConvUint8ToDouble: out.debug << "Convert uint8_t to double"; break; + + // int16_t -> (u)int* + case EOpConvInt16ToInt8: out.debug << "Convert int16_t to int8_t";break; + case EOpConvInt16ToInt: out.debug << "Convert int16_t to int"; break; + case EOpConvInt16ToInt64: out.debug << "Convert int16_t to int64"; break; + case EOpConvInt16ToUint8: out.debug << "Convert int16_t to uint8_t";break; + case EOpConvInt16ToUint16: out.debug << "Convert int16_t to uint16_t";break; + case EOpConvInt16ToUint: out.debug << "Convert int16_t to uint"; break; + case EOpConvInt16ToUint64: out.debug << "Convert int16_t to uint64"; break; + + // int16_t -> float* + case EOpConvInt16ToFloat16: out.debug << "Convert int16_t to float16_t";break; + case EOpConvInt16ToFloat: out.debug << "Convert int16_t to float"; break; + case EOpConvInt16ToDouble: out.debug << "Convert int16_t to double"; break; + + // uint16_t -> (u)int* + case EOpConvUint16ToInt8: out.debug << "Convert uint16_t to int8_t";break; + case EOpConvUint16ToInt16: out.debug << "Convert uint16_t to int16_t";break; + case EOpConvUint16ToInt: out.debug << "Convert uint16_t to int"; break; + case EOpConvUint16ToInt64: out.debug << "Convert uint16_t to int64"; break; + case EOpConvUint16ToUint8: out.debug << "Convert uint16_t to uint8_t";break; + case EOpConvUint16ToUint: out.debug << "Convert uint16_t to uint"; break; + case EOpConvUint16ToUint64: out.debug << "Convert uint16_t to uint64"; break; + + // uint16_t -> float* + case EOpConvUint16ToFloat16: out.debug << "Convert uint16_t to float16_t";break; + case EOpConvUint16ToFloat: out.debug << "Convert uint16_t to float"; break; + case EOpConvUint16ToDouble: out.debug << "Convert uint16_t to double"; break; + + // int32_t -> (u)int* + case EOpConvIntToInt8: out.debug << "Convert int to int8_t";break; + case EOpConvIntToInt16: out.debug << "Convert int to int16_t";break; + case EOpConvIntToInt64: out.debug << "Convert int to int64"; break; + case EOpConvIntToUint8: out.debug << "Convert int to uint8_t";break; + case EOpConvIntToUint16: out.debug << "Convert int to uint16_t";break; + case EOpConvIntToUint: out.debug << "Convert int to uint"; break; + case EOpConvIntToUint64: out.debug << "Convert int to uint64"; break; + + // int32_t -> float* + case EOpConvIntToFloat16: out.debug << "Convert int to float16_t";break; + case EOpConvIntToFloat: out.debug << "Convert int to float"; break; + case EOpConvIntToDouble: out.debug << "Convert int to double"; break; + + // uint32_t -> (u)int* + case EOpConvUintToInt8: out.debug << "Convert uint to int8_t";break; + case EOpConvUintToInt16: out.debug << "Convert uint to int16_t";break; + case EOpConvUintToInt: out.debug << "Convert uint to int";break; + case EOpConvUintToInt64: out.debug << "Convert uint to int64"; break; + case EOpConvUintToUint8: out.debug << "Convert uint to uint8_t";break; + case EOpConvUintToUint16: out.debug << "Convert uint to uint16_t";break; + case EOpConvUintToUint64: out.debug << "Convert uint to uint64"; break; + + // uint32_t -> float* + case EOpConvUintToFloat16: out.debug << "Convert uint to float16_t";break; + case EOpConvUintToFloat: out.debug << "Convert uint to float"; break; + case EOpConvUintToDouble: out.debug << "Convert uint to double"; break; + + // int64 -> (u)int* + case EOpConvInt64ToInt8: out.debug << "Convert int64 to int8_t"; break; + case EOpConvInt64ToInt16: out.debug << "Convert int64 to int16_t"; break; + case EOpConvInt64ToInt: out.debug << "Convert int64 to int"; break; + case EOpConvInt64ToUint8: out.debug << "Convert int64 to uint8_t";break; + case EOpConvInt64ToUint16: out.debug << "Convert int64 to uint16_t";break; + case EOpConvInt64ToUint: out.debug << "Convert int64 to uint"; break; + case EOpConvInt64ToUint64: out.debug << "Convert int64 to uint64"; break; + + // int64 -> float* + case EOpConvInt64ToFloat16: out.debug << "Convert int64 to float16_t";break; + case EOpConvInt64ToFloat: out.debug << "Convert int64 to float"; break; + case EOpConvInt64ToDouble: out.debug << "Convert int64 to double"; break; + + // uint64 -> (u)int* + case EOpConvUint64ToInt8: out.debug << "Convert uint64 to int8_t";break; + case EOpConvUint64ToInt16: out.debug << "Convert uint64 to int16_t";break; + case EOpConvUint64ToInt: out.debug << "Convert uint64 to int"; break; + case EOpConvUint64ToInt64: out.debug << "Convert uint64 to int64"; break; + case EOpConvUint64ToUint8: out.debug << "Convert uint64 to uint8_t";break; + case EOpConvUint64ToUint16: out.debug << "Convert uint64 to uint16"; break; + case EOpConvUint64ToUint: out.debug << "Convert uint64 to uint"; break; + + // uint64 -> float* + case EOpConvUint64ToFloat16: out.debug << "Convert uint64 to float16_t";break; + case EOpConvUint64ToFloat: out.debug << "Convert uint64 to float"; break; + case EOpConvUint64ToDouble: out.debug << "Convert uint64 to double"; break; + + // float16_t -> int* + case EOpConvFloat16ToInt8: out.debug << "Convert float16_t to int8_t"; break; + case EOpConvFloat16ToInt16: out.debug << "Convert float16_t to int16_t"; break; + case EOpConvFloat16ToInt: out.debug << "Convert float16_t to int"; break; + case EOpConvFloat16ToInt64: out.debug << "Convert float16_t to int64"; break; + + // float16_t -> uint* + case EOpConvFloat16ToUint8: out.debug << "Convert float16_t to uint8_t"; break; + case EOpConvFloat16ToUint16: out.debug << "Convert float16_t to uint16_t"; break; + case EOpConvFloat16ToUint: out.debug << "Convert float16_t to uint"; break; + case EOpConvFloat16ToUint64: out.debug << "Convert float16_t to uint64"; break; + + // float16_t -> float* + case EOpConvFloat16ToFloat: out.debug << "Convert float16_t to float"; break; + case EOpConvFloat16ToDouble: out.debug << "Convert float16_t to double"; break; + + // float32 -> float* + case EOpConvFloatToFloat16: out.debug << "Convert float to float16_t"; break; + case EOpConvFloatToDouble: out.debug << "Convert float to double"; break; + + // float32_t -> int* + case EOpConvFloatToInt8: out.debug << "Convert float to int8_t"; break; + case EOpConvFloatToInt16: out.debug << "Convert float to int16_t"; break; + case EOpConvFloatToInt: out.debug << "Convert float to int"; break; + case EOpConvFloatToInt64: out.debug << "Convert float to int64"; break; + + // float32_t -> uint* + case EOpConvFloatToUint8: out.debug << "Convert float to uint8_t"; break; + case EOpConvFloatToUint16: out.debug << "Convert float to uint16_t"; break; + case EOpConvFloatToUint: out.debug << "Convert float to uint"; break; + case EOpConvFloatToUint64: out.debug << "Convert float to uint64"; break; + + // double -> float* + case EOpConvDoubleToFloat16: out.debug << "Convert double to float16_t"; break; + case EOpConvDoubleToFloat: out.debug << "Convert double to float"; break; + + // double -> int* + case EOpConvDoubleToInt8: out.debug << "Convert double to int8_t"; break; + case EOpConvDoubleToInt16: out.debug << "Convert double to int16_t"; break; + case EOpConvDoubleToInt: out.debug << "Convert double to int"; break; + case EOpConvDoubleToInt64: out.debug << "Convert double to int64"; break; + + // float32_t -> uint* + case EOpConvDoubleToUint8: out.debug << "Convert double to uint8_t"; break; + case EOpConvDoubleToUint16: out.debug << "Convert double to uint16_t"; break; + case EOpConvDoubleToUint: out.debug << "Convert double to uint"; break; + case EOpConvDoubleToUint64: out.debug << "Convert double to uint64"; break; + + case EOpConvUint64ToPtr: out.debug << "Convert uint64_t to pointer"; break; + case EOpConvPtrToUint64: out.debug << "Convert pointer to uint64_t"; break; + + case EOpConvUint64ToAccStruct: out.debug << "Convert uint64_t to acceleration structure"; break; + case EOpConvUvec2ToAccStruct: out.debug << "Convert uvec2 to acceleration strucuture "; break; + + case EOpRadians: out.debug << "radians"; break; + case EOpDegrees: out.debug << "degrees"; break; + case EOpSin: out.debug << "sine"; break; + case EOpCos: out.debug << "cosine"; break; + case EOpTan: out.debug << "tangent"; break; + case EOpAsin: out.debug << "arc sine"; break; + case EOpAcos: out.debug << "arc cosine"; break; + case EOpAtan: out.debug << "arc tangent"; break; + case EOpSinh: out.debug << "hyp. sine"; break; + case EOpCosh: out.debug << "hyp. cosine"; break; + case EOpTanh: out.debug << "hyp. tangent"; break; + case EOpAsinh: out.debug << "arc hyp. sine"; break; + case EOpAcosh: out.debug << "arc hyp. cosine"; break; + case EOpAtanh: out.debug << "arc hyp. tangent"; break; + + case EOpExp: out.debug << "exp"; break; + case EOpLog: out.debug << "log"; break; + case EOpExp2: out.debug << "exp2"; break; + case EOpLog2: out.debug << "log2"; break; + case EOpSqrt: out.debug << "sqrt"; break; + case EOpInverseSqrt: out.debug << "inverse sqrt"; break; + + case EOpAbs: out.debug << "Absolute value"; break; + case EOpSign: out.debug << "Sign"; break; + case EOpFloor: out.debug << "Floor"; break; + case EOpTrunc: out.debug << "trunc"; break; + case EOpRound: out.debug << "round"; break; + case EOpRoundEven: out.debug << "roundEven"; break; + case EOpCeil: out.debug << "Ceiling"; break; + case EOpFract: out.debug << "Fraction"; break; + + case EOpIsNan: out.debug << "isnan"; break; + case EOpIsInf: out.debug << "isinf"; break; + + case EOpFloatBitsToInt: out.debug << "floatBitsToInt"; break; + case EOpFloatBitsToUint:out.debug << "floatBitsToUint"; break; + case EOpIntBitsToFloat: out.debug << "intBitsToFloat"; break; + case EOpUintBitsToFloat:out.debug << "uintBitsToFloat"; break; + case EOpDoubleBitsToInt64: out.debug << "doubleBitsToInt64"; break; + case EOpDoubleBitsToUint64: out.debug << "doubleBitsToUint64"; break; + case EOpInt64BitsToDouble: out.debug << "int64BitsToDouble"; break; + case EOpUint64BitsToDouble: out.debug << "uint64BitsToDouble"; break; + case EOpFloat16BitsToInt16: out.debug << "float16BitsToInt16"; break; + case EOpFloat16BitsToUint16: out.debug << "float16BitsToUint16"; break; + case EOpInt16BitsToFloat16: out.debug << "int16BitsToFloat16"; break; + case EOpUint16BitsToFloat16: out.debug << "uint16BitsToFloat16"; break; + + case EOpPackSnorm2x16: out.debug << "packSnorm2x16"; break; + case EOpUnpackSnorm2x16:out.debug << "unpackSnorm2x16"; break; + case EOpPackUnorm2x16: out.debug << "packUnorm2x16"; break; + case EOpUnpackUnorm2x16:out.debug << "unpackUnorm2x16"; break; + case EOpPackHalf2x16: out.debug << "packHalf2x16"; break; + case EOpUnpackHalf2x16: out.debug << "unpackHalf2x16"; break; + case EOpPack16: out.debug << "pack16"; break; + case EOpPack32: out.debug << "pack32"; break; + case EOpPack64: out.debug << "pack64"; break; + case EOpUnpack32: out.debug << "unpack32"; break; + case EOpUnpack16: out.debug << "unpack16"; break; + case EOpUnpack8: out.debug << "unpack8"; break; + + case EOpPackSnorm4x8: out.debug << "PackSnorm4x8"; break; + case EOpUnpackSnorm4x8: out.debug << "UnpackSnorm4x8"; break; + case EOpPackUnorm4x8: out.debug << "PackUnorm4x8"; break; + case EOpUnpackUnorm4x8: out.debug << "UnpackUnorm4x8"; break; + case EOpPackDouble2x32: out.debug << "PackDouble2x32"; break; + case EOpUnpackDouble2x32: out.debug << "UnpackDouble2x32"; break; + + case EOpPackInt2x32: out.debug << "packInt2x32"; break; + case EOpUnpackInt2x32: out.debug << "unpackInt2x32"; break; + case EOpPackUint2x32: out.debug << "packUint2x32"; break; + case EOpUnpackUint2x32: out.debug << "unpackUint2x32"; break; + + case EOpPackInt2x16: out.debug << "packInt2x16"; break; + case EOpUnpackInt2x16: out.debug << "unpackInt2x16"; break; + case EOpPackUint2x16: out.debug << "packUint2x16"; break; + case EOpUnpackUint2x16: out.debug << "unpackUint2x16"; break; + + case EOpPackInt4x16: out.debug << "packInt4x16"; break; + case EOpUnpackInt4x16: out.debug << "unpackInt4x16"; break; + case EOpPackUint4x16: out.debug << "packUint4x16"; break; + case EOpUnpackUint4x16: out.debug << "unpackUint4x16"; break; + case EOpPackFloat2x16: out.debug << "packFloat2x16"; break; + case EOpUnpackFloat2x16: out.debug << "unpackFloat2x16"; break; + + case EOpLength: out.debug << "length"; break; + case EOpNormalize: out.debug << "normalize"; break; + case EOpDPdx: out.debug << "dPdx"; break; + case EOpDPdy: out.debug << "dPdy"; break; + case EOpFwidth: out.debug << "fwidth"; break; + case EOpDPdxFine: out.debug << "dPdxFine"; break; + case EOpDPdyFine: out.debug << "dPdyFine"; break; + case EOpFwidthFine: out.debug << "fwidthFine"; break; + case EOpDPdxCoarse: out.debug << "dPdxCoarse"; break; + case EOpDPdyCoarse: out.debug << "dPdyCoarse"; break; + case EOpFwidthCoarse: out.debug << "fwidthCoarse"; break; + + case EOpInterpolateAtCentroid: out.debug << "interpolateAtCentroid"; break; + + case EOpDeterminant: out.debug << "determinant"; break; + case EOpMatrixInverse: out.debug << "inverse"; break; + case EOpTranspose: out.debug << "transpose"; break; + + case EOpAny: out.debug << "any"; break; + case EOpAll: out.debug << "all"; break; + + case EOpArrayLength: out.debug << "array length"; break; + + case EOpEmitStreamVertex: out.debug << "EmitStreamVertex"; break; + case EOpEndStreamPrimitive: out.debug << "EndStreamPrimitive"; break; + + case EOpAtomicCounterIncrement: out.debug << "AtomicCounterIncrement";break; + case EOpAtomicCounterDecrement: out.debug << "AtomicCounterDecrement";break; + case EOpAtomicCounter: out.debug << "AtomicCounter"; break; + + case EOpTextureQuerySize: out.debug << "textureSize"; break; + case EOpTextureQueryLod: out.debug << "textureQueryLod"; break; + case EOpTextureQueryLevels: out.debug << "textureQueryLevels"; break; + case EOpTextureQuerySamples: out.debug << "textureSamples"; break; + case EOpImageQuerySize: out.debug << "imageQuerySize"; break; + case EOpImageQuerySamples: out.debug << "imageQuerySamples"; break; + case EOpImageLoad: out.debug << "imageLoad"; break; + + case EOpBitFieldReverse: out.debug << "bitFieldReverse"; break; + case EOpBitCount: out.debug << "bitCount"; break; + case EOpFindLSB: out.debug << "findLSB"; break; + case EOpFindMSB: out.debug << "findMSB"; break; + + case EOpCountLeadingZeros: out.debug << "countLeadingZeros"; break; + case EOpCountTrailingZeros: out.debug << "countTrailingZeros"; break; + + case EOpNoise: out.debug << "noise"; break; + + case EOpBallot: out.debug << "ballot"; break; + case EOpReadFirstInvocation: out.debug << "readFirstInvocation"; break; + + case EOpAnyInvocation: out.debug << "anyInvocation"; break; + case EOpAllInvocations: out.debug << "allInvocations"; break; + case EOpAllInvocationsEqual: out.debug << "allInvocationsEqual"; break; + + case EOpSubgroupElect: out.debug << "subgroupElect"; break; + case EOpSubgroupAll: out.debug << "subgroupAll"; break; + case EOpSubgroupAny: out.debug << "subgroupAny"; break; + case EOpSubgroupAllEqual: out.debug << "subgroupAllEqual"; break; + case EOpSubgroupBroadcast: out.debug << "subgroupBroadcast"; break; + case EOpSubgroupBroadcastFirst: out.debug << "subgroupBroadcastFirst"; break; + case EOpSubgroupBallot: out.debug << "subgroupBallot"; break; + case EOpSubgroupInverseBallot: out.debug << "subgroupInverseBallot"; break; + case EOpSubgroupBallotBitExtract: out.debug << "subgroupBallotBitExtract"; break; + case EOpSubgroupBallotBitCount: out.debug << "subgroupBallotBitCount"; break; + case EOpSubgroupBallotInclusiveBitCount: out.debug << "subgroupBallotInclusiveBitCount"; break; + case EOpSubgroupBallotExclusiveBitCount: out.debug << "subgroupBallotExclusiveBitCount"; break; + case EOpSubgroupBallotFindLSB: out.debug << "subgroupBallotFindLSB"; break; + case EOpSubgroupBallotFindMSB: out.debug << "subgroupBallotFindMSB"; break; + case EOpSubgroupShuffle: out.debug << "subgroupShuffle"; break; + case EOpSubgroupShuffleXor: out.debug << "subgroupShuffleXor"; break; + case EOpSubgroupShuffleUp: out.debug << "subgroupShuffleUp"; break; + case EOpSubgroupShuffleDown: out.debug << "subgroupShuffleDown"; break; + case EOpSubgroupAdd: out.debug << "subgroupAdd"; break; + case EOpSubgroupMul: out.debug << "subgroupMul"; break; + case EOpSubgroupMin: out.debug << "subgroupMin"; break; + case EOpSubgroupMax: out.debug << "subgroupMax"; break; + case EOpSubgroupAnd: out.debug << "subgroupAnd"; break; + case EOpSubgroupOr: out.debug << "subgroupOr"; break; + case EOpSubgroupXor: out.debug << "subgroupXor"; break; + case EOpSubgroupInclusiveAdd: out.debug << "subgroupInclusiveAdd"; break; + case EOpSubgroupInclusiveMul: out.debug << "subgroupInclusiveMul"; break; + case EOpSubgroupInclusiveMin: out.debug << "subgroupInclusiveMin"; break; + case EOpSubgroupInclusiveMax: out.debug << "subgroupInclusiveMax"; break; + case EOpSubgroupInclusiveAnd: out.debug << "subgroupInclusiveAnd"; break; + case EOpSubgroupInclusiveOr: out.debug << "subgroupInclusiveOr"; break; + case EOpSubgroupInclusiveXor: out.debug << "subgroupInclusiveXor"; break; + case EOpSubgroupExclusiveAdd: out.debug << "subgroupExclusiveAdd"; break; + case EOpSubgroupExclusiveMul: out.debug << "subgroupExclusiveMul"; break; + case EOpSubgroupExclusiveMin: out.debug << "subgroupExclusiveMin"; break; + case EOpSubgroupExclusiveMax: out.debug << "subgroupExclusiveMax"; break; + case EOpSubgroupExclusiveAnd: out.debug << "subgroupExclusiveAnd"; break; + case EOpSubgroupExclusiveOr: out.debug << "subgroupExclusiveOr"; break; + case EOpSubgroupExclusiveXor: out.debug << "subgroupExclusiveXor"; break; + case EOpSubgroupClusteredAdd: out.debug << "subgroupClusteredAdd"; break; + case EOpSubgroupClusteredMul: out.debug << "subgroupClusteredMul"; break; + case EOpSubgroupClusteredMin: out.debug << "subgroupClusteredMin"; break; + case EOpSubgroupClusteredMax: out.debug << "subgroupClusteredMax"; break; + case EOpSubgroupClusteredAnd: out.debug << "subgroupClusteredAnd"; break; + case EOpSubgroupClusteredOr: out.debug << "subgroupClusteredOr"; break; + case EOpSubgroupClusteredXor: out.debug << "subgroupClusteredXor"; break; + case EOpSubgroupQuadBroadcast: out.debug << "subgroupQuadBroadcast"; break; + case EOpSubgroupQuadSwapHorizontal: out.debug << "subgroupQuadSwapHorizontal"; break; + case EOpSubgroupQuadSwapVertical: out.debug << "subgroupQuadSwapVertical"; break; + case EOpSubgroupQuadSwapDiagonal: out.debug << "subgroupQuadSwapDiagonal"; break; + + case EOpSubgroupPartition: out.debug << "subgroupPartitionNV"; break; + case EOpSubgroupPartitionedAdd: out.debug << "subgroupPartitionedAddNV"; break; + case EOpSubgroupPartitionedMul: out.debug << "subgroupPartitionedMulNV"; break; + case EOpSubgroupPartitionedMin: out.debug << "subgroupPartitionedMinNV"; break; + case EOpSubgroupPartitionedMax: out.debug << "subgroupPartitionedMaxNV"; break; + case EOpSubgroupPartitionedAnd: out.debug << "subgroupPartitionedAndNV"; break; + case EOpSubgroupPartitionedOr: out.debug << "subgroupPartitionedOrNV"; break; + case EOpSubgroupPartitionedXor: out.debug << "subgroupPartitionedXorNV"; break; + case EOpSubgroupPartitionedInclusiveAdd: out.debug << "subgroupPartitionedInclusiveAddNV"; break; + case EOpSubgroupPartitionedInclusiveMul: out.debug << "subgroupPartitionedInclusiveMulNV"; break; + case EOpSubgroupPartitionedInclusiveMin: out.debug << "subgroupPartitionedInclusiveMinNV"; break; + case EOpSubgroupPartitionedInclusiveMax: out.debug << "subgroupPartitionedInclusiveMaxNV"; break; + case EOpSubgroupPartitionedInclusiveAnd: out.debug << "subgroupPartitionedInclusiveAndNV"; break; + case EOpSubgroupPartitionedInclusiveOr: out.debug << "subgroupPartitionedInclusiveOrNV"; break; + case EOpSubgroupPartitionedInclusiveXor: out.debug << "subgroupPartitionedInclusiveXorNV"; break; + case EOpSubgroupPartitionedExclusiveAdd: out.debug << "subgroupPartitionedExclusiveAddNV"; break; + case EOpSubgroupPartitionedExclusiveMul: out.debug << "subgroupPartitionedExclusiveMulNV"; break; + case EOpSubgroupPartitionedExclusiveMin: out.debug << "subgroupPartitionedExclusiveMinNV"; break; + case EOpSubgroupPartitionedExclusiveMax: out.debug << "subgroupPartitionedExclusiveMaxNV"; break; + case EOpSubgroupPartitionedExclusiveAnd: out.debug << "subgroupPartitionedExclusiveAndNV"; break; + case EOpSubgroupPartitionedExclusiveOr: out.debug << "subgroupPartitionedExclusiveOrNV"; break; + case EOpSubgroupPartitionedExclusiveXor: out.debug << "subgroupPartitionedExclusiveXorNV"; break; + + case EOpClip: out.debug << "clip"; break; + case EOpIsFinite: out.debug << "isfinite"; break; + case EOpLog10: out.debug << "log10"; break; + case EOpRcp: out.debug << "rcp"; break; + case EOpSaturate: out.debug << "saturate"; break; + + case EOpSparseTexelsResident: out.debug << "sparseTexelsResident"; break; + + case EOpMinInvocations: out.debug << "minInvocations"; break; + case EOpMaxInvocations: out.debug << "maxInvocations"; break; + case EOpAddInvocations: out.debug << "addInvocations"; break; + case EOpMinInvocationsNonUniform: out.debug << "minInvocationsNonUniform"; break; + case EOpMaxInvocationsNonUniform: out.debug << "maxInvocationsNonUniform"; break; + case EOpAddInvocationsNonUniform: out.debug << "addInvocationsNonUniform"; break; + + case EOpMinInvocationsInclusiveScan: out.debug << "minInvocationsInclusiveScan"; break; + case EOpMaxInvocationsInclusiveScan: out.debug << "maxInvocationsInclusiveScan"; break; + case EOpAddInvocationsInclusiveScan: out.debug << "addInvocationsInclusiveScan"; break; + case EOpMinInvocationsInclusiveScanNonUniform: out.debug << "minInvocationsInclusiveScanNonUniform"; break; + case EOpMaxInvocationsInclusiveScanNonUniform: out.debug << "maxInvocationsInclusiveScanNonUniform"; break; + case EOpAddInvocationsInclusiveScanNonUniform: out.debug << "addInvocationsInclusiveScanNonUniform"; break; + + case EOpMinInvocationsExclusiveScan: out.debug << "minInvocationsExclusiveScan"; break; + case EOpMaxInvocationsExclusiveScan: out.debug << "maxInvocationsExclusiveScan"; break; + case EOpAddInvocationsExclusiveScan: out.debug << "addInvocationsExclusiveScan"; break; + case EOpMinInvocationsExclusiveScanNonUniform: out.debug << "minInvocationsExclusiveScanNonUniform"; break; + case EOpMaxInvocationsExclusiveScanNonUniform: out.debug << "maxInvocationsExclusiveScanNonUniform"; break; + case EOpAddInvocationsExclusiveScanNonUniform: out.debug << "addInvocationsExclusiveScanNonUniform"; break; + + case EOpMbcnt: out.debug << "mbcnt"; break; + + case EOpFragmentMaskFetch: out.debug << "fragmentMaskFetchAMD"; break; + case EOpFragmentFetch: out.debug << "fragmentFetchAMD"; break; + + case EOpCubeFaceIndex: out.debug << "cubeFaceIndex"; break; + case EOpCubeFaceCoord: out.debug << "cubeFaceCoord"; break; + + case EOpSubpassLoad: out.debug << "subpassLoad"; break; + case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break; + + case EOpConstructReference: out.debug << "Construct reference type"; break; + + default: out.debug.message(EPrefixError, "Bad unary op"); + } + + out.debug << " (" << node->getCompleteString() << ")"; + + out.debug << "\n"; + + return true; +} + +bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node) +{ + TInfoSink& out = infoSink; + + if (node->getOp() == EOpNull) { + out.debug.message(EPrefixError, "node is still EOpNull!"); + return true; + } + + OutputTreeText(out, node, depth); + + switch (node->getOp()) { + case EOpSequence: out.debug << "Sequence\n"; return true; + case EOpLinkerObjects: out.debug << "Linker Objects\n"; return true; + case EOpComma: out.debug << "Comma"; break; + case EOpFunction: out.debug << "Function Definition: " << node->getName(); break; + case EOpFunctionCall: out.debug << "Function Call: " << node->getName(); break; + case EOpParameters: out.debug << "Function Parameters: "; break; + + case EOpConstructFloat: out.debug << "Construct float"; break; + case EOpConstructDouble:out.debug << "Construct double"; break; + + case EOpConstructVec2: out.debug << "Construct vec2"; break; + case EOpConstructVec3: out.debug << "Construct vec3"; break; + case EOpConstructVec4: out.debug << "Construct vec4"; break; + case EOpConstructDVec2: out.debug << "Construct dvec2"; break; + case EOpConstructDVec3: out.debug << "Construct dvec3"; break; + case EOpConstructDVec4: out.debug << "Construct dvec4"; break; + case EOpConstructBool: out.debug << "Construct bool"; break; + case EOpConstructBVec2: out.debug << "Construct bvec2"; break; + case EOpConstructBVec3: out.debug << "Construct bvec3"; break; + case EOpConstructBVec4: out.debug << "Construct bvec4"; break; + case EOpConstructInt8: out.debug << "Construct int8_t"; break; + case EOpConstructI8Vec2: out.debug << "Construct i8vec2"; break; + case EOpConstructI8Vec3: out.debug << "Construct i8vec3"; break; + case EOpConstructI8Vec4: out.debug << "Construct i8vec4"; break; + case EOpConstructInt: out.debug << "Construct int"; break; + case EOpConstructIVec2: out.debug << "Construct ivec2"; break; + case EOpConstructIVec3: out.debug << "Construct ivec3"; break; + case EOpConstructIVec4: out.debug << "Construct ivec4"; break; + case EOpConstructUint8: out.debug << "Construct uint8_t"; break; + case EOpConstructU8Vec2: out.debug << "Construct u8vec2"; break; + case EOpConstructU8Vec3: out.debug << "Construct u8vec3"; break; + case EOpConstructU8Vec4: out.debug << "Construct u8vec4"; break; + case EOpConstructUint: out.debug << "Construct uint"; break; + case EOpConstructUVec2: out.debug << "Construct uvec2"; break; + case EOpConstructUVec3: out.debug << "Construct uvec3"; break; + case EOpConstructUVec4: out.debug << "Construct uvec4"; break; + case EOpConstructInt64: out.debug << "Construct int64"; break; + case EOpConstructI64Vec2: out.debug << "Construct i64vec2"; break; + case EOpConstructI64Vec3: out.debug << "Construct i64vec3"; break; + case EOpConstructI64Vec4: out.debug << "Construct i64vec4"; break; + case EOpConstructUint64: out.debug << "Construct uint64"; break; + case EOpConstructU64Vec2: out.debug << "Construct u64vec2"; break; + case EOpConstructU64Vec3: out.debug << "Construct u64vec3"; break; + case EOpConstructU64Vec4: out.debug << "Construct u64vec4"; break; + case EOpConstructInt16: out.debug << "Construct int16_t"; break; + case EOpConstructI16Vec2: out.debug << "Construct i16vec2"; break; + case EOpConstructI16Vec3: out.debug << "Construct i16vec3"; break; + case EOpConstructI16Vec4: out.debug << "Construct i16vec4"; break; + case EOpConstructUint16: out.debug << "Construct uint16_t"; break; + case EOpConstructU16Vec2: out.debug << "Construct u16vec2"; break; + case EOpConstructU16Vec3: out.debug << "Construct u16vec3"; break; + case EOpConstructU16Vec4: out.debug << "Construct u16vec4"; break; + case EOpConstructMat2x2: out.debug << "Construct mat2"; break; + case EOpConstructMat2x3: out.debug << "Construct mat2x3"; break; + case EOpConstructMat2x4: out.debug << "Construct mat2x4"; break; + case EOpConstructMat3x2: out.debug << "Construct mat3x2"; break; + case EOpConstructMat3x3: out.debug << "Construct mat3"; break; + case EOpConstructMat3x4: out.debug << "Construct mat3x4"; break; + case EOpConstructMat4x2: out.debug << "Construct mat4x2"; break; + case EOpConstructMat4x3: out.debug << "Construct mat4x3"; break; + case EOpConstructMat4x4: out.debug << "Construct mat4"; break; + case EOpConstructDMat2x2: out.debug << "Construct dmat2"; break; + case EOpConstructDMat2x3: out.debug << "Construct dmat2x3"; break; + case EOpConstructDMat2x4: out.debug << "Construct dmat2x4"; break; + case EOpConstructDMat3x2: out.debug << "Construct dmat3x2"; break; + case EOpConstructDMat3x3: out.debug << "Construct dmat3"; break; + case EOpConstructDMat3x4: out.debug << "Construct dmat3x4"; break; + case EOpConstructDMat4x2: out.debug << "Construct dmat4x2"; break; + case EOpConstructDMat4x3: out.debug << "Construct dmat4x3"; break; + case EOpConstructDMat4x4: out.debug << "Construct dmat4"; break; + case EOpConstructIMat2x2: out.debug << "Construct imat2"; break; + case EOpConstructIMat2x3: out.debug << "Construct imat2x3"; break; + case EOpConstructIMat2x4: out.debug << "Construct imat2x4"; break; + case EOpConstructIMat3x2: out.debug << "Construct imat3x2"; break; + case EOpConstructIMat3x3: out.debug << "Construct imat3"; break; + case EOpConstructIMat3x4: out.debug << "Construct imat3x4"; break; + case EOpConstructIMat4x2: out.debug << "Construct imat4x2"; break; + case EOpConstructIMat4x3: out.debug << "Construct imat4x3"; break; + case EOpConstructIMat4x4: out.debug << "Construct imat4"; break; + case EOpConstructUMat2x2: out.debug << "Construct umat2"; break; + case EOpConstructUMat2x3: out.debug << "Construct umat2x3"; break; + case EOpConstructUMat2x4: out.debug << "Construct umat2x4"; break; + case EOpConstructUMat3x2: out.debug << "Construct umat3x2"; break; + case EOpConstructUMat3x3: out.debug << "Construct umat3"; break; + case EOpConstructUMat3x4: out.debug << "Construct umat3x4"; break; + case EOpConstructUMat4x2: out.debug << "Construct umat4x2"; break; + case EOpConstructUMat4x3: out.debug << "Construct umat4x3"; break; + case EOpConstructUMat4x4: out.debug << "Construct umat4"; break; + case EOpConstructBMat2x2: out.debug << "Construct bmat2"; break; + case EOpConstructBMat2x3: out.debug << "Construct bmat2x3"; break; + case EOpConstructBMat2x4: out.debug << "Construct bmat2x4"; break; + case EOpConstructBMat3x2: out.debug << "Construct bmat3x2"; break; + case EOpConstructBMat3x3: out.debug << "Construct bmat3"; break; + case EOpConstructBMat3x4: out.debug << "Construct bmat3x4"; break; + case EOpConstructBMat4x2: out.debug << "Construct bmat4x2"; break; + case EOpConstructBMat4x3: out.debug << "Construct bmat4x3"; break; + case EOpConstructBMat4x4: out.debug << "Construct bmat4"; break; + case EOpConstructFloat16: out.debug << "Construct float16_t"; break; + case EOpConstructF16Vec2: out.debug << "Construct f16vec2"; break; + case EOpConstructF16Vec3: out.debug << "Construct f16vec3"; break; + case EOpConstructF16Vec4: out.debug << "Construct f16vec4"; break; + case EOpConstructF16Mat2x2: out.debug << "Construct f16mat2"; break; + case EOpConstructF16Mat2x3: out.debug << "Construct f16mat2x3"; break; + case EOpConstructF16Mat2x4: out.debug << "Construct f16mat2x4"; break; + case EOpConstructF16Mat3x2: out.debug << "Construct f16mat3x2"; break; + case EOpConstructF16Mat3x3: out.debug << "Construct f16mat3"; break; + case EOpConstructF16Mat3x4: out.debug << "Construct f16mat3x4"; break; + case EOpConstructF16Mat4x2: out.debug << "Construct f16mat4x2"; break; + case EOpConstructF16Mat4x3: out.debug << "Construct f16mat4x3"; break; + case EOpConstructF16Mat4x4: out.debug << "Construct f16mat4"; break; + case EOpConstructStruct: out.debug << "Construct structure"; break; + case EOpConstructTextureSampler: out.debug << "Construct combined texture-sampler"; break; + case EOpConstructReference: out.debug << "Construct reference"; break; + case EOpConstructCooperativeMatrix: out.debug << "Construct cooperative matrix"; break; + case EOpConstructAccStruct: out.debug << "Construct acceleration structure"; break; + + case EOpLessThan: out.debug << "Compare Less Than"; break; + case EOpGreaterThan: out.debug << "Compare Greater Than"; break; + case EOpLessThanEqual: out.debug << "Compare Less Than or Equal"; break; + case EOpGreaterThanEqual: out.debug << "Compare Greater Than or Equal"; break; + case EOpVectorEqual: out.debug << "Equal"; break; + case EOpVectorNotEqual: out.debug << "NotEqual"; break; + + case EOpMod: out.debug << "mod"; break; + case EOpModf: out.debug << "modf"; break; + case EOpPow: out.debug << "pow"; break; + + case EOpAtan: out.debug << "arc tangent"; break; + + case EOpMin: out.debug << "min"; break; + case EOpMax: out.debug << "max"; break; + case EOpClamp: out.debug << "clamp"; break; + case EOpMix: out.debug << "mix"; break; + case EOpStep: out.debug << "step"; break; + case EOpSmoothStep: out.debug << "smoothstep"; break; + + case EOpDistance: out.debug << "distance"; break; + case EOpDot: out.debug << "dot-product"; break; + case EOpCross: out.debug << "cross-product"; break; + case EOpFaceForward: out.debug << "face-forward"; break; + case EOpReflect: out.debug << "reflect"; break; + case EOpRefract: out.debug << "refract"; break; + case EOpMul: out.debug << "component-wise multiply"; break; + case EOpOuterProduct: out.debug << "outer product"; break; + + case EOpEmitVertex: out.debug << "EmitVertex"; break; + case EOpEndPrimitive: out.debug << "EndPrimitive"; break; + + case EOpBarrier: out.debug << "Barrier"; break; + case EOpMemoryBarrier: out.debug << "MemoryBarrier"; break; + case EOpMemoryBarrierAtomicCounter: out.debug << "MemoryBarrierAtomicCounter"; break; + case EOpMemoryBarrierBuffer: out.debug << "MemoryBarrierBuffer"; break; + case EOpMemoryBarrierImage: out.debug << "MemoryBarrierImage"; break; + case EOpMemoryBarrierShared: out.debug << "MemoryBarrierShared"; break; + case EOpGroupMemoryBarrier: out.debug << "GroupMemoryBarrier"; break; + + case EOpReadInvocation: out.debug << "readInvocation"; break; + + case EOpSwizzleInvocations: out.debug << "swizzleInvocations"; break; + case EOpSwizzleInvocationsMasked: out.debug << "swizzleInvocationsMasked"; break; + case EOpWriteInvocation: out.debug << "writeInvocation"; break; + + case EOpMin3: out.debug << "min3"; break; + case EOpMax3: out.debug << "max3"; break; + case EOpMid3: out.debug << "mid3"; break; + case EOpTime: out.debug << "time"; break; + + case EOpAtomicAdd: out.debug << "AtomicAdd"; break; + case EOpAtomicMin: out.debug << "AtomicMin"; break; + case EOpAtomicMax: out.debug << "AtomicMax"; break; + case EOpAtomicAnd: out.debug << "AtomicAnd"; break; + case EOpAtomicOr: out.debug << "AtomicOr"; break; + case EOpAtomicXor: out.debug << "AtomicXor"; break; + case EOpAtomicExchange: out.debug << "AtomicExchange"; break; + case EOpAtomicCompSwap: out.debug << "AtomicCompSwap"; break; + case EOpAtomicLoad: out.debug << "AtomicLoad"; break; + case EOpAtomicStore: out.debug << "AtomicStore"; break; + + case EOpAtomicCounterAdd: out.debug << "AtomicCounterAdd"; break; + case EOpAtomicCounterSubtract: out.debug << "AtomicCounterSubtract"; break; + case EOpAtomicCounterMin: out.debug << "AtomicCounterMin"; break; + case EOpAtomicCounterMax: out.debug << "AtomicCounterMax"; break; + case EOpAtomicCounterAnd: out.debug << "AtomicCounterAnd"; break; + case EOpAtomicCounterOr: out.debug << "AtomicCounterOr"; break; + case EOpAtomicCounterXor: out.debug << "AtomicCounterXor"; break; + case EOpAtomicCounterExchange: out.debug << "AtomicCounterExchange"; break; + case EOpAtomicCounterCompSwap: out.debug << "AtomicCounterCompSwap"; break; + + case EOpImageQuerySize: out.debug << "imageQuerySize"; break; + case EOpImageQuerySamples: out.debug << "imageQuerySamples"; break; + case EOpImageLoad: out.debug << "imageLoad"; break; + case EOpImageStore: out.debug << "imageStore"; break; + case EOpImageAtomicAdd: out.debug << "imageAtomicAdd"; break; + case EOpImageAtomicMin: out.debug << "imageAtomicMin"; break; + case EOpImageAtomicMax: out.debug << "imageAtomicMax"; break; + case EOpImageAtomicAnd: out.debug << "imageAtomicAnd"; break; + case EOpImageAtomicOr: out.debug << "imageAtomicOr"; break; + case EOpImageAtomicXor: out.debug << "imageAtomicXor"; break; + case EOpImageAtomicExchange: out.debug << "imageAtomicExchange"; break; + case EOpImageAtomicCompSwap: out.debug << "imageAtomicCompSwap"; break; + case EOpImageAtomicLoad: out.debug << "imageAtomicLoad"; break; + case EOpImageAtomicStore: out.debug << "imageAtomicStore"; break; + case EOpImageLoadLod: out.debug << "imageLoadLod"; break; + case EOpImageStoreLod: out.debug << "imageStoreLod"; break; + + case EOpTextureQuerySize: out.debug << "textureSize"; break; + case EOpTextureQueryLod: out.debug << "textureQueryLod"; break; + case EOpTextureQueryLevels: out.debug << "textureQueryLevels"; break; + case EOpTextureQuerySamples: out.debug << "textureSamples"; break; + case EOpTexture: out.debug << "texture"; break; + case EOpTextureProj: out.debug << "textureProj"; break; + case EOpTextureLod: out.debug << "textureLod"; break; + case EOpTextureOffset: out.debug << "textureOffset"; break; + case EOpTextureFetch: out.debug << "textureFetch"; break; + case EOpTextureFetchOffset: out.debug << "textureFetchOffset"; break; + case EOpTextureProjOffset: out.debug << "textureProjOffset"; break; + case EOpTextureLodOffset: out.debug << "textureLodOffset"; break; + case EOpTextureProjLod: out.debug << "textureProjLod"; break; + case EOpTextureProjLodOffset: out.debug << "textureProjLodOffset"; break; + case EOpTextureGrad: out.debug << "textureGrad"; break; + case EOpTextureGradOffset: out.debug << "textureGradOffset"; break; + case EOpTextureProjGrad: out.debug << "textureProjGrad"; break; + case EOpTextureProjGradOffset: out.debug << "textureProjGradOffset"; break; + case EOpTextureGather: out.debug << "textureGather"; break; + case EOpTextureGatherOffset: out.debug << "textureGatherOffset"; break; + case EOpTextureGatherOffsets: out.debug << "textureGatherOffsets"; break; + case EOpTextureClamp: out.debug << "textureClamp"; break; + case EOpTextureOffsetClamp: out.debug << "textureOffsetClamp"; break; + case EOpTextureGradClamp: out.debug << "textureGradClamp"; break; + case EOpTextureGradOffsetClamp: out.debug << "textureGradOffsetClamp"; break; + case EOpTextureGatherLod: out.debug << "textureGatherLod"; break; + case EOpTextureGatherLodOffset: out.debug << "textureGatherLodOffset"; break; + case EOpTextureGatherLodOffsets: out.debug << "textureGatherLodOffsets"; break; + + case EOpSparseTexture: out.debug << "sparseTexture"; break; + case EOpSparseTextureOffset: out.debug << "sparseTextureOffset"; break; + case EOpSparseTextureLod: out.debug << "sparseTextureLod"; break; + case EOpSparseTextureLodOffset: out.debug << "sparseTextureLodOffset"; break; + case EOpSparseTextureFetch: out.debug << "sparseTexelFetch"; break; + case EOpSparseTextureFetchOffset: out.debug << "sparseTexelFetchOffset"; break; + case EOpSparseTextureGrad: out.debug << "sparseTextureGrad"; break; + case EOpSparseTextureGradOffset: out.debug << "sparseTextureGradOffset"; break; + case EOpSparseTextureGather: out.debug << "sparseTextureGather"; break; + case EOpSparseTextureGatherOffset: out.debug << "sparseTextureGatherOffset"; break; + case EOpSparseTextureGatherOffsets: out.debug << "sparseTextureGatherOffsets"; break; + case EOpSparseImageLoad: out.debug << "sparseImageLoad"; break; + case EOpSparseTextureClamp: out.debug << "sparseTextureClamp"; break; + case EOpSparseTextureOffsetClamp: out.debug << "sparseTextureOffsetClamp"; break; + case EOpSparseTextureGradClamp: out.debug << "sparseTextureGradClamp"; break; + case EOpSparseTextureGradOffsetClamp: out.debug << "sparseTextureGradOffsetClam"; break; + case EOpSparseTextureGatherLod: out.debug << "sparseTextureGatherLod"; break; + case EOpSparseTextureGatherLodOffset: out.debug << "sparseTextureGatherLodOffset"; break; + case EOpSparseTextureGatherLodOffsets: out.debug << "sparseTextureGatherLodOffsets"; break; + case EOpSparseImageLoadLod: out.debug << "sparseImageLoadLod"; break; + case EOpImageSampleFootprintNV: out.debug << "imageSampleFootprintNV"; break; + case EOpImageSampleFootprintClampNV: out.debug << "imageSampleFootprintClampNV"; break; + case EOpImageSampleFootprintLodNV: out.debug << "imageSampleFootprintLodNV"; break; + case EOpImageSampleFootprintGradNV: out.debug << "imageSampleFootprintGradNV"; break; + case EOpImageSampleFootprintGradClampNV: out.debug << "mageSampleFootprintGradClampNV"; break; + case EOpAddCarry: out.debug << "addCarry"; break; + case EOpSubBorrow: out.debug << "subBorrow"; break; + case EOpUMulExtended: out.debug << "uMulExtended"; break; + case EOpIMulExtended: out.debug << "iMulExtended"; break; + case EOpBitfieldExtract: out.debug << "bitfieldExtract"; break; + case EOpBitfieldInsert: out.debug << "bitfieldInsert"; break; + + case EOpFma: out.debug << "fma"; break; + case EOpFrexp: out.debug << "frexp"; break; + case EOpLdexp: out.debug << "ldexp"; break; + + case EOpInterpolateAtSample: out.debug << "interpolateAtSample"; break; + case EOpInterpolateAtOffset: out.debug << "interpolateAtOffset"; break; + case EOpInterpolateAtVertex: out.debug << "interpolateAtVertex"; break; + + case EOpSinCos: out.debug << "sincos"; break; + case EOpGenMul: out.debug << "mul"; break; + + case EOpAllMemoryBarrierWithGroupSync: out.debug << "AllMemoryBarrierWithGroupSync"; break; + case EOpDeviceMemoryBarrier: out.debug << "DeviceMemoryBarrier"; break; + case EOpDeviceMemoryBarrierWithGroupSync: out.debug << "DeviceMemoryBarrierWithGroupSync"; break; + case EOpWorkgroupMemoryBarrier: out.debug << "WorkgroupMemoryBarrier"; break; + case EOpWorkgroupMemoryBarrierWithGroupSync: out.debug << "WorkgroupMemoryBarrierWithGroupSync"; break; + + case EOpSubgroupBarrier: out.debug << "subgroupBarrier"; break; + case EOpSubgroupMemoryBarrier: out.debug << "subgroupMemoryBarrier"; break; + case EOpSubgroupMemoryBarrierBuffer: out.debug << "subgroupMemoryBarrierBuffer"; break; + case EOpSubgroupMemoryBarrierImage: out.debug << "subgroupMemoryBarrierImage"; break; + case EOpSubgroupMemoryBarrierShared: out.debug << "subgroupMemoryBarrierShared"; break; + case EOpSubgroupElect: out.debug << "subgroupElect"; break; + case EOpSubgroupAll: out.debug << "subgroupAll"; break; + case EOpSubgroupAny: out.debug << "subgroupAny"; break; + case EOpSubgroupAllEqual: out.debug << "subgroupAllEqual"; break; + case EOpSubgroupBroadcast: out.debug << "subgroupBroadcast"; break; + case EOpSubgroupBroadcastFirst: out.debug << "subgroupBroadcastFirst"; break; + case EOpSubgroupBallot: out.debug << "subgroupBallot"; break; + case EOpSubgroupInverseBallot: out.debug << "subgroupInverseBallot"; break; + case EOpSubgroupBallotBitExtract: out.debug << "subgroupBallotBitExtract"; break; + case EOpSubgroupBallotBitCount: out.debug << "subgroupBallotBitCount"; break; + case EOpSubgroupBallotInclusiveBitCount: out.debug << "subgroupBallotInclusiveBitCount"; break; + case EOpSubgroupBallotExclusiveBitCount: out.debug << "subgroupBallotExclusiveBitCount"; break; + case EOpSubgroupBallotFindLSB: out.debug << "subgroupBallotFindLSB"; break; + case EOpSubgroupBallotFindMSB: out.debug << "subgroupBallotFindMSB"; break; + case EOpSubgroupShuffle: out.debug << "subgroupShuffle"; break; + case EOpSubgroupShuffleXor: out.debug << "subgroupShuffleXor"; break; + case EOpSubgroupShuffleUp: out.debug << "subgroupShuffleUp"; break; + case EOpSubgroupShuffleDown: out.debug << "subgroupShuffleDown"; break; + case EOpSubgroupAdd: out.debug << "subgroupAdd"; break; + case EOpSubgroupMul: out.debug << "subgroupMul"; break; + case EOpSubgroupMin: out.debug << "subgroupMin"; break; + case EOpSubgroupMax: out.debug << "subgroupMax"; break; + case EOpSubgroupAnd: out.debug << "subgroupAnd"; break; + case EOpSubgroupOr: out.debug << "subgroupOr"; break; + case EOpSubgroupXor: out.debug << "subgroupXor"; break; + case EOpSubgroupInclusiveAdd: out.debug << "subgroupInclusiveAdd"; break; + case EOpSubgroupInclusiveMul: out.debug << "subgroupInclusiveMul"; break; + case EOpSubgroupInclusiveMin: out.debug << "subgroupInclusiveMin"; break; + case EOpSubgroupInclusiveMax: out.debug << "subgroupInclusiveMax"; break; + case EOpSubgroupInclusiveAnd: out.debug << "subgroupInclusiveAnd"; break; + case EOpSubgroupInclusiveOr: out.debug << "subgroupInclusiveOr"; break; + case EOpSubgroupInclusiveXor: out.debug << "subgroupInclusiveXor"; break; + case EOpSubgroupExclusiveAdd: out.debug << "subgroupExclusiveAdd"; break; + case EOpSubgroupExclusiveMul: out.debug << "subgroupExclusiveMul"; break; + case EOpSubgroupExclusiveMin: out.debug << "subgroupExclusiveMin"; break; + case EOpSubgroupExclusiveMax: out.debug << "subgroupExclusiveMax"; break; + case EOpSubgroupExclusiveAnd: out.debug << "subgroupExclusiveAnd"; break; + case EOpSubgroupExclusiveOr: out.debug << "subgroupExclusiveOr"; break; + case EOpSubgroupExclusiveXor: out.debug << "subgroupExclusiveXor"; break; + case EOpSubgroupClusteredAdd: out.debug << "subgroupClusteredAdd"; break; + case EOpSubgroupClusteredMul: out.debug << "subgroupClusteredMul"; break; + case EOpSubgroupClusteredMin: out.debug << "subgroupClusteredMin"; break; + case EOpSubgroupClusteredMax: out.debug << "subgroupClusteredMax"; break; + case EOpSubgroupClusteredAnd: out.debug << "subgroupClusteredAnd"; break; + case EOpSubgroupClusteredOr: out.debug << "subgroupClusteredOr"; break; + case EOpSubgroupClusteredXor: out.debug << "subgroupClusteredXor"; break; + case EOpSubgroupQuadBroadcast: out.debug << "subgroupQuadBroadcast"; break; + case EOpSubgroupQuadSwapHorizontal: out.debug << "subgroupQuadSwapHorizontal"; break; + case EOpSubgroupQuadSwapVertical: out.debug << "subgroupQuadSwapVertical"; break; + case EOpSubgroupQuadSwapDiagonal: out.debug << "subgroupQuadSwapDiagonal"; break; + + case EOpSubgroupPartition: out.debug << "subgroupPartitionNV"; break; + case EOpSubgroupPartitionedAdd: out.debug << "subgroupPartitionedAddNV"; break; + case EOpSubgroupPartitionedMul: out.debug << "subgroupPartitionedMulNV"; break; + case EOpSubgroupPartitionedMin: out.debug << "subgroupPartitionedMinNV"; break; + case EOpSubgroupPartitionedMax: out.debug << "subgroupPartitionedMaxNV"; break; + case EOpSubgroupPartitionedAnd: out.debug << "subgroupPartitionedAndNV"; break; + case EOpSubgroupPartitionedOr: out.debug << "subgroupPartitionedOrNV"; break; + case EOpSubgroupPartitionedXor: out.debug << "subgroupPartitionedXorNV"; break; + case EOpSubgroupPartitionedInclusiveAdd: out.debug << "subgroupPartitionedInclusiveAddNV"; break; + case EOpSubgroupPartitionedInclusiveMul: out.debug << "subgroupPartitionedInclusiveMulNV"; break; + case EOpSubgroupPartitionedInclusiveMin: out.debug << "subgroupPartitionedInclusiveMinNV"; break; + case EOpSubgroupPartitionedInclusiveMax: out.debug << "subgroupPartitionedInclusiveMaxNV"; break; + case EOpSubgroupPartitionedInclusiveAnd: out.debug << "subgroupPartitionedInclusiveAndNV"; break; + case EOpSubgroupPartitionedInclusiveOr: out.debug << "subgroupPartitionedInclusiveOrNV"; break; + case EOpSubgroupPartitionedInclusiveXor: out.debug << "subgroupPartitionedInclusiveXorNV"; break; + case EOpSubgroupPartitionedExclusiveAdd: out.debug << "subgroupPartitionedExclusiveAddNV"; break; + case EOpSubgroupPartitionedExclusiveMul: out.debug << "subgroupPartitionedExclusiveMulNV"; break; + case EOpSubgroupPartitionedExclusiveMin: out.debug << "subgroupPartitionedExclusiveMinNV"; break; + case EOpSubgroupPartitionedExclusiveMax: out.debug << "subgroupPartitionedExclusiveMaxNV"; break; + case EOpSubgroupPartitionedExclusiveAnd: out.debug << "subgroupPartitionedExclusiveAndNV"; break; + case EOpSubgroupPartitionedExclusiveOr: out.debug << "subgroupPartitionedExclusiveOrNV"; break; + case EOpSubgroupPartitionedExclusiveXor: out.debug << "subgroupPartitionedExclusiveXorNV"; break; + + case EOpSubpassLoad: out.debug << "subpassLoad"; break; + case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break; + + case EOpTraceNV: out.debug << "traceNV"; break; + case EOpTraceKHR: out.debug << "traceRayKHR"; break; + case EOpReportIntersection: out.debug << "reportIntersectionNV"; break; + case EOpIgnoreIntersectionNV: out.debug << "ignoreIntersectionNV"; break; + case EOpIgnoreIntersectionKHR: out.debug << "ignoreIntersectionKHR"; break; + case EOpTerminateRayNV: out.debug << "terminateRayNV"; break; + case EOpTerminateRayKHR: out.debug << "terminateRayKHR"; break; + case EOpExecuteCallableNV: out.debug << "executeCallableNV"; break; + case EOpExecuteCallableKHR: out.debug << "executeCallableKHR"; break; + case EOpWritePackedPrimitiveIndices4x8NV: out.debug << "writePackedPrimitiveIndices4x8NV"; break; + + case EOpRayQueryInitialize: out.debug << "rayQueryInitializeEXT"; break; + case EOpRayQueryTerminate: out.debug << "rayQueryTerminateEXT"; break; + case EOpRayQueryGenerateIntersection: out.debug << "rayQueryGenerateIntersectionEXT"; break; + case EOpRayQueryConfirmIntersection: out.debug << "rayQueryConfirmIntersectionEXT"; break; + case EOpRayQueryProceed: out.debug << "rayQueryProceedEXT"; break; + case EOpRayQueryGetIntersectionType: out.debug << "rayQueryGetIntersectionTypeEXT"; break; + case EOpRayQueryGetRayTMin: out.debug << "rayQueryGetRayTMinEXT"; break; + case EOpRayQueryGetRayFlags: out.debug << "rayQueryGetRayFlagsEXT"; break; + case EOpRayQueryGetIntersectionT: out.debug << "rayQueryGetIntersectionTEXT"; break; + case EOpRayQueryGetIntersectionInstanceCustomIndex: out.debug << "rayQueryGetIntersectionInstanceCustomIndexEXT"; break; + case EOpRayQueryGetIntersectionInstanceId: out.debug << "rayQueryGetIntersectionInstanceIdEXT"; break; + case EOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffset: out.debug << "rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT"; break; + case EOpRayQueryGetIntersectionGeometryIndex: out.debug << "rayQueryGetIntersectionGeometryIndexEXT"; break; + case EOpRayQueryGetIntersectionPrimitiveIndex: out.debug << "rayQueryGetIntersectionPrimitiveIndexEXT"; break; + case EOpRayQueryGetIntersectionBarycentrics: out.debug << "rayQueryGetIntersectionBarycentricsEXT"; break; + case EOpRayQueryGetIntersectionFrontFace: out.debug << "rayQueryGetIntersectionFrontFaceEXT"; break; + case EOpRayQueryGetIntersectionCandidateAABBOpaque: out.debug << "rayQueryGetIntersectionCandidateAABBOpaqueEXT"; break; + case EOpRayQueryGetIntersectionObjectRayDirection: out.debug << "rayQueryGetIntersectionObjectRayDirectionEXT"; break; + case EOpRayQueryGetIntersectionObjectRayOrigin: out.debug << "rayQueryGetIntersectionObjectRayOriginEXT"; break; + case EOpRayQueryGetWorldRayDirection: out.debug << "rayQueryGetWorldRayDirectionEXT"; break; + case EOpRayQueryGetWorldRayOrigin: out.debug << "rayQueryGetWorldRayOriginEXT"; break; + case EOpRayQueryGetIntersectionObjectToWorld: out.debug << "rayQueryGetIntersectionObjectToWorldEXT"; break; + case EOpRayQueryGetIntersectionWorldToObject: out.debug << "rayQueryGetIntersectionWorldToObjectEXT"; break; + + case EOpCooperativeMatrixLoad: out.debug << "Load cooperative matrix"; break; + case EOpCooperativeMatrixStore: out.debug << "Store cooperative matrix"; break; + case EOpCooperativeMatrixMulAdd: out.debug << "MulAdd cooperative matrices"; break; + + case EOpIsHelperInvocation: out.debug << "IsHelperInvocation"; break; + case EOpDebugPrintf: out.debug << "Debug printf"; break; + + default: out.debug.message(EPrefixError, "Bad aggregation op"); + } + + if (node->getOp() != EOpSequence && node->getOp() != EOpParameters) + out.debug << " (" << node->getCompleteString() << ")"; + + out.debug << "\n"; + + return true; +} + +bool TOutputTraverser::visitSelection(TVisit /* visit */, TIntermSelection* node) +{ + TInfoSink& out = infoSink; + + OutputTreeText(out, node, depth); + + out.debug << "Test condition and select"; + out.debug << " (" << node->getCompleteString() << ")"; + + if (node->getShortCircuit() == false) + out.debug << ": no shortcircuit"; + if (node->getFlatten()) + out.debug << ": Flatten"; + if (node->getDontFlatten()) + out.debug << ": DontFlatten"; + out.debug << "\n"; + + ++depth; + + OutputTreeText(out, node, depth); + out.debug << "Condition\n"; + node->getCondition()->traverse(this); + + OutputTreeText(out, node, depth); + if (node->getTrueBlock()) { + out.debug << "true case\n"; + node->getTrueBlock()->traverse(this); + } else + out.debug << "true case is null\n"; + + if (node->getFalseBlock()) { + OutputTreeText(out, node, depth); + out.debug << "false case\n"; + node->getFalseBlock()->traverse(this); + } + + --depth; + + return false; +} + +// Print infinities and NaNs, and numbers in a portable way. +// Goals: +// - portable (across IEEE 754 platforms) +// - shows all possible IEEE values +// - shows simple numbers in a simple way, e.g., no leading/trailing 0s +// - shows all digits, no premature rounding +static void OutputDouble(TInfoSink& out, double value, TOutputTraverser::EExtraOutput extra) +{ + if (IsInfinity(value)) { + if (value < 0) + out.debug << "-1.#INF"; + else + out.debug << "+1.#INF"; + } else if (IsNan(value)) + out.debug << "1.#IND"; + else { + const int maxSize = 340; + char buf[maxSize]; + const char* format = "%f"; + if (fabs(value) > 0.0 && (fabs(value) < 1e-5 || fabs(value) > 1e12)) + format = "%-.13e"; + int len = snprintf(buf, maxSize, format, value); + assert(len < maxSize); + + // remove a leading zero in the 100s slot in exponent; it is not portable + // pattern: XX...XXXe+0XX or XX...XXXe-0XX + if (len > 5) { + if (buf[len-5] == 'e' && (buf[len-4] == '+' || buf[len-4] == '-') && buf[len-3] == '0') { + buf[len-3] = buf[len-2]; + buf[len-2] = buf[len-1]; + buf[len-1] = '\0'; + } + } + + out.debug << buf; + + switch (extra) { + case TOutputTraverser::BinaryDoubleOutput: + { + uint64_t b; + static_assert(sizeof(b) == sizeof(value), "sizeof(uint64_t) != sizeof(double)"); + memcpy(&b, &value, sizeof(b)); + + out.debug << " : "; + for (size_t i = 0; i < 8 * sizeof(value); ++i, ++b) { + out.debug << ((b & 0x8000000000000000) != 0 ? "1" : "0"); + b <<= 1; + } + break; + } + default: + break; + } + } +} + +static void OutputConstantUnion(TInfoSink& out, const TIntermTyped* node, const TConstUnionArray& constUnion, + TOutputTraverser::EExtraOutput extra, int depth) +{ + int size = node->getType().computeNumComponents(); + + for (int i = 0; i < size; i++) { + OutputTreeText(out, node, depth); + switch (constUnion[i].getType()) { + case EbtBool: + if (constUnion[i].getBConst()) + out.debug << "true"; + else + out.debug << "false"; + + out.debug << " (" << "const bool" << ")"; + + out.debug << "\n"; + break; + case EbtFloat: + case EbtDouble: + case EbtFloat16: + OutputDouble(out, constUnion[i].getDConst(), extra); + out.debug << "\n"; + break; + case EbtInt8: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%d (%s)", constUnion[i].getI8Const(), "const int8_t"); + + out.debug << buf << "\n"; + } + break; + case EbtUint8: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%u (%s)", constUnion[i].getU8Const(), "const uint8_t"); + + out.debug << buf << "\n"; + } + break; + case EbtInt16: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%d (%s)", constUnion[i].getI16Const(), "const int16_t"); + + out.debug << buf << "\n"; + } + break; + case EbtUint16: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%u (%s)", constUnion[i].getU16Const(), "const uint16_t"); + + out.debug << buf << "\n"; + } + break; + case EbtInt: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%d (%s)", constUnion[i].getIConst(), "const int"); + + out.debug << buf << "\n"; + } + break; + case EbtUint: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%u (%s)", constUnion[i].getUConst(), "const uint"); + + out.debug << buf << "\n"; + } + break; + case EbtInt64: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%lld (%s)", constUnion[i].getI64Const(), "const int64_t"); + + out.debug << buf << "\n"; + } + break; + case EbtUint64: + { + const int maxSize = 300; + char buf[maxSize]; + snprintf(buf, maxSize, "%llu (%s)", constUnion[i].getU64Const(), "const uint64_t"); + + out.debug << buf << "\n"; + } + break; + case EbtString: + out.debug << "\"" << constUnion[i].getSConst()->c_str() << "\"\n"; + break; + default: + out.info.message(EPrefixInternalError, "Unknown constant", node->getLoc()); + break; + } + } +} + +void TOutputTraverser::visitConstantUnion(TIntermConstantUnion* node) +{ + OutputTreeText(infoSink, node, depth); + infoSink.debug << "Constant:\n"; + + OutputConstantUnion(infoSink, node, node->getConstArray(), extraOutput, depth + 1); +} + +void TOutputTraverser::visitSymbol(TIntermSymbol* node) +{ + OutputTreeText(infoSink, node, depth); + + infoSink.debug << "'" << node->getName() << "' (" << node->getCompleteString() << ")\n"; + + if (! node->getConstArray().empty()) + OutputConstantUnion(infoSink, node, node->getConstArray(), extraOutput, depth + 1); + else if (node->getConstSubtree()) { + incrementDepth(node); + node->getConstSubtree()->traverse(this); + decrementDepth(); + } +} + +bool TOutputTraverser::visitLoop(TVisit /* visit */, TIntermLoop* node) +{ + TInfoSink& out = infoSink; + + OutputTreeText(out, node, depth); + + out.debug << "Loop with condition "; + if (! node->testFirst()) + out.debug << "not "; + out.debug << "tested first"; + + if (node->getUnroll()) + out.debug << ": Unroll"; + if (node->getDontUnroll()) + out.debug << ": DontUnroll"; + if (node->getLoopDependency()) { + out.debug << ": Dependency "; + out.debug << node->getLoopDependency(); + } + out.debug << "\n"; + + ++depth; + + OutputTreeText(infoSink, node, depth); + if (node->getTest()) { + out.debug << "Loop Condition\n"; + node->getTest()->traverse(this); + } else + out.debug << "No loop condition\n"; + + OutputTreeText(infoSink, node, depth); + if (node->getBody()) { + out.debug << "Loop Body\n"; + node->getBody()->traverse(this); + } else + out.debug << "No loop body\n"; + + if (node->getTerminal()) { + OutputTreeText(infoSink, node, depth); + out.debug << "Loop Terminal Expression\n"; + node->getTerminal()->traverse(this); + } + + --depth; + + return false; +} + +bool TOutputTraverser::visitBranch(TVisit /* visit*/, TIntermBranch* node) +{ + TInfoSink& out = infoSink; + + OutputTreeText(out, node, depth); + + switch (node->getFlowOp()) { + case EOpKill: out.debug << "Branch: Kill"; break; + case EOpTerminateInvocation: out.debug << "Branch: TerminateInvocation"; break; + case EOpIgnoreIntersectionKHR: out.debug << "Branch: IgnoreIntersectionKHR"; break; + case EOpTerminateRayKHR: out.debug << "Branch: TerminateRayKHR"; break; + case EOpBreak: out.debug << "Branch: Break"; break; + case EOpContinue: out.debug << "Branch: Continue"; break; + case EOpReturn: out.debug << "Branch: Return"; break; + case EOpCase: out.debug << "case: "; break; + case EOpDemote: out.debug << "Demote"; break; + case EOpDefault: out.debug << "default: "; break; + default: out.debug << "Branch: Unknown Branch"; break; + } + + if (node->getExpression()) { + out.debug << " with expression\n"; + ++depth; + node->getExpression()->traverse(this); + --depth; + } else + out.debug << "\n"; + + return false; +} + +bool TOutputTraverser::visitSwitch(TVisit /* visit */, TIntermSwitch* node) +{ + TInfoSink& out = infoSink; + + OutputTreeText(out, node, depth); + out.debug << "switch"; + + if (node->getFlatten()) + out.debug << ": Flatten"; + if (node->getDontFlatten()) + out.debug << ": DontFlatten"; + out.debug << "\n"; + + OutputTreeText(out, node, depth); + out.debug << "condition\n"; + ++depth; + node->getCondition()->traverse(this); + + --depth; + OutputTreeText(out, node, depth); + out.debug << "body\n"; + ++depth; + node->getBody()->traverse(this); + + --depth; + + return false; +} + +// +// This function is the one to call externally to start the traversal. +// Individual functions can be initialized to 0 to skip processing of that +// type of node. It's children will still be processed. +// +void TIntermediate::output(TInfoSink& infoSink, bool tree) +{ + infoSink.debug << "Shader version: " << version << "\n"; + if (requestedExtensions.size() > 0) { + for (auto extIt = requestedExtensions.begin(); extIt != requestedExtensions.end(); ++extIt) + infoSink.debug << "Requested " << *extIt << "\n"; + } + + if (xfbMode) + infoSink.debug << "in xfb mode\n"; + + switch (language) { + case EShLangVertex: + break; + + case EShLangTessControl: + infoSink.debug << "vertices = " << vertices << "\n"; + + if (inputPrimitive != ElgNone) + infoSink.debug << "input primitive = " << TQualifier::getGeometryString(inputPrimitive) << "\n"; + if (vertexSpacing != EvsNone) + infoSink.debug << "vertex spacing = " << TQualifier::getVertexSpacingString(vertexSpacing) << "\n"; + if (vertexOrder != EvoNone) + infoSink.debug << "triangle order = " << TQualifier::getVertexOrderString(vertexOrder) << "\n"; + break; + + case EShLangTessEvaluation: + infoSink.debug << "input primitive = " << TQualifier::getGeometryString(inputPrimitive) << "\n"; + infoSink.debug << "vertex spacing = " << TQualifier::getVertexSpacingString(vertexSpacing) << "\n"; + infoSink.debug << "triangle order = " << TQualifier::getVertexOrderString(vertexOrder) << "\n"; + if (pointMode) + infoSink.debug << "using point mode\n"; + break; + + case EShLangGeometry: + infoSink.debug << "invocations = " << invocations << "\n"; + infoSink.debug << "max_vertices = " << vertices << "\n"; + infoSink.debug << "input primitive = " << TQualifier::getGeometryString(inputPrimitive) << "\n"; + infoSink.debug << "output primitive = " << TQualifier::getGeometryString(outputPrimitive) << "\n"; + break; + + case EShLangFragment: + if (pixelCenterInteger) + infoSink.debug << "gl_FragCoord pixel center is integer\n"; + if (originUpperLeft) + infoSink.debug << "gl_FragCoord origin is upper left\n"; + if (earlyFragmentTests) + infoSink.debug << "using early_fragment_tests\n"; + if (postDepthCoverage) + infoSink.debug << "using post_depth_coverage\n"; + if (depthLayout != EldNone) + infoSink.debug << "using " << TQualifier::getLayoutDepthString(depthLayout) << "\n"; + if (blendEquations != 0) { + infoSink.debug << "using"; + // blendEquations is a mask, decode it + for (TBlendEquationShift be = (TBlendEquationShift)0; be < EBlendCount; be = (TBlendEquationShift)(be + 1)) { + if (blendEquations & (1 << be)) + infoSink.debug << " " << TQualifier::getBlendEquationString(be); + } + infoSink.debug << "\n"; + } + if (interlockOrdering != EioNone) + infoSink.debug << "interlock ordering = " << TQualifier::getInterlockOrderingString(interlockOrdering) << "\n"; + break; + + case EShLangMeshNV: + infoSink.debug << "max_vertices = " << vertices << "\n"; + infoSink.debug << "max_primitives = " << primitives << "\n"; + infoSink.debug << "output primitive = " << TQualifier::getGeometryString(outputPrimitive) << "\n"; + // Fall through + case EShLangTaskNV: + // Fall through + case EShLangCompute: + infoSink.debug << "local_size = (" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << ")\n"; + { + if (localSizeSpecId[0] != TQualifier::layoutNotSet || + localSizeSpecId[1] != TQualifier::layoutNotSet || + localSizeSpecId[2] != TQualifier::layoutNotSet) { + infoSink.debug << "local_size ids = (" << + localSizeSpecId[0] << ", " << + localSizeSpecId[1] << ", " << + localSizeSpecId[2] << ")\n"; + } + } + break; + + default: + break; + } + + if (treeRoot == 0 || ! tree) + return; + + TOutputTraverser it(infoSink); + if (getBinaryDoubleOutput()) + it.setDoubleOutput(TOutputTraverser::BinaryDoubleOutput); + treeRoot->traverse(&it); +} + +} // end namespace glslang + +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/iomapper.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/iomapper.cpp new file mode 100644 index 00000000..c42e74fa --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/iomapper.cpp @@ -0,0 +1,1601 @@ +// +// Copyright (C) 2016-2017 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +#include "../Include/Common.h" +#include "../Include/InfoSink.h" +#include "../Include/Types.h" + +#include "gl_types.h" +#include "iomapper.h" +#include "SymbolTable.h" + +// +// Map IO bindings. +// +// High-level algorithm for one stage: +// +// 1. Traverse all code (live+dead) to find the explicitly provided bindings. +// +// 2. Traverse (just) the live code to determine which non-provided bindings +// require auto-numbering. We do not auto-number dead ones. +// +// 3. Traverse all the code to apply the bindings: +// a. explicitly given bindings are offset according to their type +// b. implicit live bindings are auto-numbered into the holes, using +// any open binding slot. +// c. implicit dead bindings are left un-bound. +// + +namespace glslang { + +class TVarGatherTraverser : public TLiveTraverser { +public: + TVarGatherTraverser(const TIntermediate& i, bool traverseDeadCode, TVarLiveMap& inList, TVarLiveMap& outList, TVarLiveMap& uniformList) + : TLiveTraverser(i, traverseDeadCode, true, true, false) + , inputList(inList) + , outputList(outList) + , uniformList(uniformList) + { + } + + virtual void visitSymbol(TIntermSymbol* base) + { + TVarLiveMap* target = nullptr; + if (base->getQualifier().storage == EvqVaryingIn) + target = &inputList; + else if (base->getQualifier().storage == EvqVaryingOut) + target = &outputList; + else if (base->getQualifier().isUniformOrBuffer() && !base->getQualifier().isPushConstant()) + target = &uniformList; + // If a global is being visited, then we should also traverse it incase it's evaluation + // ends up visiting inputs we want to tag as live + else if (base->getQualifier().storage == EvqGlobal) + addGlobalReference(base->getAccessName()); + + if (target) { + TVarEntryInfo ent = {base->getId(), base, ! traverseAll}; + ent.stage = intermediate.getStage(); + TVarLiveMap::iterator at = target->find( + ent.symbol->getAccessName()); // std::lower_bound(target->begin(), target->end(), ent, TVarEntryInfo::TOrderById()); + if (at != target->end() && at->second.id == ent.id) + at->second.live = at->second.live || ! traverseAll; // update live state + else + (*target)[ent.symbol->getAccessName()] = ent; + } + } + +private: + TVarLiveMap& inputList; + TVarLiveMap& outputList; + TVarLiveMap& uniformList; +}; + +class TVarSetTraverser : public TLiveTraverser +{ +public: + TVarSetTraverser(const TIntermediate& i, const TVarLiveMap& inList, const TVarLiveMap& outList, const TVarLiveMap& uniformList) + : TLiveTraverser(i, true, true, true, false) + , inputList(inList) + , outputList(outList) + , uniformList(uniformList) + { + } + + virtual void visitSymbol(TIntermSymbol* base) { + const TVarLiveMap* source; + if (base->getQualifier().storage == EvqVaryingIn) + source = &inputList; + else if (base->getQualifier().storage == EvqVaryingOut) + source = &outputList; + else if (base->getQualifier().isUniformOrBuffer()) + source = &uniformList; + else + return; + + TVarEntryInfo ent = { base->getId() }; + // Fix a defect, when block has no instance name, we need to find its block name + TVarLiveMap::const_iterator at = source->find(base->getAccessName()); + if (at == source->end()) + return; + + if (at->second.id != ent.id) + return; + + if (at->second.newBinding != -1) + base->getWritableType().getQualifier().layoutBinding = at->second.newBinding; + if (at->second.newSet != -1) + base->getWritableType().getQualifier().layoutSet = at->second.newSet; + if (at->second.newLocation != -1) + base->getWritableType().getQualifier().layoutLocation = at->second.newLocation; + if (at->second.newComponent != -1) + base->getWritableType().getQualifier().layoutComponent = at->second.newComponent; + if (at->second.newIndex != -1) + base->getWritableType().getQualifier().layoutIndex = at->second.newIndex; + } + + private: + const TVarLiveMap& inputList; + const TVarLiveMap& outputList; + const TVarLiveMap& uniformList; +}; + +struct TNotifyUniformAdaptor +{ + EShLanguage stage; + TIoMapResolver& resolver; + inline TNotifyUniformAdaptor(EShLanguage s, TIoMapResolver& r) + : stage(s) + , resolver(r) + { + } + + inline void operator()(std::pair& entKey) + { + resolver.notifyBinding(stage, entKey.second); + } + +private: + TNotifyUniformAdaptor& operator=(TNotifyUniformAdaptor&) = delete; +}; + +struct TNotifyInOutAdaptor +{ + EShLanguage stage; + TIoMapResolver& resolver; + inline TNotifyInOutAdaptor(EShLanguage s, TIoMapResolver& r) + : stage(s) + , resolver(r) + { + } + + inline void operator()(std::pair& entKey) + { + resolver.notifyInOut(entKey.second.stage, entKey.second); + } + +private: + TNotifyInOutAdaptor& operator=(TNotifyInOutAdaptor&) = delete; +}; + +struct TResolverUniformAdaptor { + TResolverUniformAdaptor(EShLanguage s, TIoMapResolver& r, TVarLiveMap* uniform[EShLangCount], TInfoSink& i, bool& e) + : stage(s) + , resolver(r) + , infoSink(i) + , error(e) + { + memcpy(uniformVarMap, uniform, EShLangCount * (sizeof(TVarLiveMap*))); + } + + inline void operator()(std::pair& entKey) { + TVarEntryInfo& ent = entKey.second; + ent.newLocation = -1; + ent.newComponent = -1; + ent.newBinding = -1; + ent.newSet = -1; + ent.newIndex = -1; + const bool isValid = resolver.validateBinding(stage, ent); + if (isValid) { + resolver.resolveBinding(ent.stage, ent); + resolver.resolveSet(ent.stage, ent); + resolver.resolveUniformLocation(ent.stage, ent); + + if (ent.newBinding != -1) { + if (ent.newBinding >= int(TQualifier::layoutBindingEnd)) { + TString err = "mapped binding out of range: " + entKey.first; + + infoSink.info.message(EPrefixInternalError, err.c_str()); + error = true; + } + + if (ent.symbol->getQualifier().hasBinding()) { + for (uint32_t idx = EShLangVertex; idx < EShLangCount; ++idx) { + if (idx == ent.stage || uniformVarMap[idx] == nullptr) + continue; + auto entKey2 = uniformVarMap[idx]->find(entKey.first); + if (entKey2 != uniformVarMap[idx]->end()) { + entKey2->second.newBinding = ent.newBinding; + } + } + } + } + if (ent.newSet != -1) { + if (ent.newSet >= int(TQualifier::layoutSetEnd)) { + TString err = "mapped set out of range: " + entKey.first; + + infoSink.info.message(EPrefixInternalError, err.c_str()); + error = true; + } + if (ent.symbol->getQualifier().hasSet()) { + for (uint32_t idx = EShLangVertex; idx < EShLangCount; ++idx) { + if ((idx == stage) || (uniformVarMap[idx] == nullptr)) + continue; + auto entKey2 = uniformVarMap[idx]->find(entKey.first); + if (entKey2 != uniformVarMap[idx]->end()) { + entKey2->second.newSet = ent.newSet; + } + } + } + } + } else { + TString errorMsg = "Invalid binding: " + entKey.first; + infoSink.info.message(EPrefixInternalError, errorMsg.c_str()); + error = true; + } + } + + inline void setStage(EShLanguage s) { stage = s; } + + EShLanguage stage; + TIoMapResolver& resolver; + TInfoSink& infoSink; + bool& error; + TVarLiveMap* uniformVarMap[EShLangCount]; +private: + TResolverUniformAdaptor& operator=(TResolverUniformAdaptor&) = delete; +}; + +struct TResolverInOutAdaptor { + TResolverInOutAdaptor(EShLanguage s, TIoMapResolver& r, TInfoSink& i, bool& e) + : stage(s) + , resolver(r) + , infoSink(i) + , error(e) + { + } + + inline void operator()(std::pair& entKey) + { + TVarEntryInfo& ent = entKey.second; + ent.newLocation = -1; + ent.newComponent = -1; + ent.newBinding = -1; + ent.newSet = -1; + ent.newIndex = -1; + const bool isValid = resolver.validateInOut(ent.stage, ent); + if (isValid) { + resolver.resolveInOutLocation(stage, ent); + resolver.resolveInOutComponent(stage, ent); + resolver.resolveInOutIndex(stage, ent); + } else { + TString errorMsg; + if (ent.symbol->getType().getQualifier().semanticName != nullptr) { + errorMsg = "Invalid shader In/Out variable semantic: "; + errorMsg += ent.symbol->getType().getQualifier().semanticName; + } else { + errorMsg = "Invalid shader In/Out variable: "; + errorMsg += ent.symbol->getName(); + } + infoSink.info.message(EPrefixInternalError, errorMsg.c_str()); + error = true; + } + } + + inline void setStage(EShLanguage s) { stage = s; } + + EShLanguage stage; + TIoMapResolver& resolver; + TInfoSink& infoSink; + bool& error; + +private: + TResolverInOutAdaptor& operator=(TResolverInOutAdaptor&) = delete; +}; + +// The class is used for reserving explicit uniform locations and ubo/ssbo/opaque bindings + +struct TSymbolValidater +{ + TSymbolValidater(TIoMapResolver& r, TInfoSink& i, TVarLiveMap* in[EShLangCount], TVarLiveMap* out[EShLangCount], + TVarLiveMap* uniform[EShLangCount], bool& hadError, EProfile profile, int version) + : preStage(EShLangCount) + , currentStage(EShLangCount) + , nextStage(EShLangCount) + , resolver(r) + , infoSink(i) + , hadError(hadError) + , profile(profile) + , version(version) + { + memcpy(inVarMaps, in, EShLangCount * (sizeof(TVarLiveMap*))); + memcpy(outVarMaps, out, EShLangCount * (sizeof(TVarLiveMap*))); + memcpy(uniformVarMap, uniform, EShLangCount * (sizeof(TVarLiveMap*))); + + std::map anonymousMemberMap; + std::vector usedUniformLocation; + std::vector usedUniformName; + usedUniformLocation.clear(); + usedUniformName.clear(); + for (int i = 0; i < EShLangCount; i++) { + if (uniformVarMap[i]) { + for (auto uniformVar : *uniformVarMap[i]) + { + TIntermSymbol* pSymbol = uniformVar.second.symbol; + TQualifier qualifier = uniformVar.second.symbol->getQualifier(); + TString symbolName = pSymbol->getAccessName(); + + // All the uniform needs multi-stage location check (block/default) + int uniformLocation = qualifier.layoutLocation; + + if (uniformLocation != TQualifier::layoutLocationEnd) { + // Total size of current uniform, could be block, struct or other types. + int size = TIntermediate::computeTypeUniformLocationSize(pSymbol->getType()); + + TRange locationRange(uniformLocation, uniformLocation + size - 1); + + // Combine location and component ranges + int overlapLocation = -1; + bool diffLocation = false; + + // Check for collisions, except for vertex inputs on desktop targeting OpenGL + overlapLocation = checkLocationOverlap(locationRange, usedUniformLocation, symbolName, usedUniformName, diffLocation); + + // Overlap locations of uniforms, regardless of components (multi stages) + if (overlapLocation == -1) { + usedUniformLocation.push_back(locationRange); + usedUniformName.push_back(symbolName); + } + else if (overlapLocation >= 0) { + if (diffLocation == true) { + TString err = ("Uniform location should be equal for same uniforms: " +std::to_string(overlapLocation)).c_str(); + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + break; + } + else { + TString err = ("Uniform location overlaps across stages: " + std::to_string(overlapLocation)).c_str(); + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + break; + } + } + } + + if ((uniformVar.second.symbol->getBasicType() == EbtBlock) && + IsAnonymous(uniformVar.second.symbol->getName())) + { + auto blockType = uniformVar.second.symbol->getType().getStruct(); + for (size_t memberIdx = 0; memberIdx < blockType->size(); ++memberIdx) { + auto memberName = (*blockType)[memberIdx].type->getFieldName(); + if (anonymousMemberMap.find(memberName) != anonymousMemberMap.end()) + { + if (anonymousMemberMap[memberName] != uniformVar.second.symbol->getType().getTypeName()) + { + TString err = "Invalid block member name: " + memberName; + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + break; + } + } + else + { + anonymousMemberMap[memberName] = uniformVar.second.symbol->getType().getTypeName(); + } + } + } + if (hadError) + break; + } + } + } + } + + // In case we need to new an intermediate, which costs too much + int checkLocationOverlap(const TRange& locationRange, std::vector& usedUniformLocation, const TString symbolName, std::vector& usedUniformName, bool& diffLocation) + { + for (size_t r = 0; r < usedUniformLocation.size(); ++r) { + if (usedUniformName[r] == symbolName) { + diffLocation = true; + return (usedUniformLocation[r].start == locationRange.start && + usedUniformLocation[r].last == locationRange.last) + ? -2 : std::max(locationRange.start, usedUniformLocation[r].start); + } + if (locationRange.overlap(usedUniformLocation[r])) { + // there is a collision; pick one + return std::max(locationRange.start, usedUniformLocation[r].start); + } + } + + return -1; // no collision + } + + inline void operator()(std::pair& entKey) { + TVarEntryInfo& ent1 = entKey.second; + TIntermSymbol* base = ent1.symbol; + const TType& type = ent1.symbol->getType(); + const TString& name = entKey.first; + EShLanguage stage = ent1.stage; + TString mangleName1, mangleName2; + if (currentStage != stage) { + preStage = currentStage; + currentStage = stage; + nextStage = EShLangCount; + for (int i = currentStage + 1; i < EShLangCount; i++) { + if (inVarMaps[i] != nullptr) { + nextStage = static_cast(i); + break; + } + } + } + + if (type.getQualifier().isArrayedIo(stage)) { + TType subType(type, 0); + subType.appendMangledName(mangleName1); + } else { + type.appendMangledName(mangleName1); + } + + if (base->getQualifier().storage == EvqVaryingIn) { + // validate stage in; + if (preStage == EShLangCount) + return; + if (TSymbolTable::isBuiltInSymbol(base->getId())) + return; + if (outVarMaps[preStage] != nullptr) { + auto ent2 = outVarMaps[preStage]->find(name); + uint32_t location = base->getType().getQualifier().layoutLocation; + if (ent2 == outVarMaps[preStage]->end() && + location != glslang::TQualifier::layoutLocationEnd) { + for (auto var = outVarMaps[preStage]->begin(); var != ent2; var++) { + if (var->second.symbol->getType().getQualifier().layoutLocation == location) { + ent2 = var; + break; + } + } + } + if (ent2 != outVarMaps[preStage]->end()) { + auto& type1 = base->getType(); + auto& type2 = ent2->second.symbol->getType(); + hadError = hadError || typeCheck(&type1, &type2, name.c_str(), false); + if (ent2->second.symbol->getType().getQualifier().isArrayedIo(preStage)) { + TType subType(ent2->second.symbol->getType(), 0); + subType.appendMangledName(mangleName2); + } + else { + ent2->second.symbol->getType().appendMangledName(mangleName2); + } + + if (mangleName1 == mangleName2) { + // For ES 3.0 only, other versions have no such restrictions + // According to ES 3.0 spec: The type and presence of the interpolation qualifiers and + // storage qualifiers of variables with the same name declared in all linked shaders must + // match, otherwise the link command will fail. + if (profile == EEsProfile && version == 300) { + // Don't need to check smooth qualifier, as it uses the default interpolation mode + if (ent1.stage == EShLangFragment && type1.isBuiltIn() == false) { + if (type1.getQualifier().flat != type2.getQualifier().flat || + type1.getQualifier().nopersp != type2.getQualifier().nopersp) { + TString err = "Interpolation qualifier mismatch : " + entKey.first; + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + } + } + } + return; + } + else { + TString err = "Invalid In/Out variable type : " + entKey.first; + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + } + } + else if (!base->getType().isBuiltIn()) { + // According to spec: A link error is generated if any statically referenced input variable + // or block does not have a matching output + if (profile == EEsProfile && ent1.live) { + hadError = true; + TString errorStr = name + ": not been declare as a output variable in pre shader stage."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + } + } + return; + } + } else if (base->getQualifier().storage == EvqVaryingOut) { + // validate stage out; + if (nextStage == EShLangCount) + return; + if (TSymbolTable::isBuiltInSymbol(base->getId())) + return; + if (inVarMaps[nextStage] != nullptr) { + auto ent2 = inVarMaps[nextStage]->find(name); + if (ent2 != inVarMaps[nextStage]->end()) { + if (ent2->second.symbol->getType().getQualifier().isArrayedIo(nextStage)) { + TType subType(ent2->second.symbol->getType(), 0); + subType.appendMangledName(mangleName2); + } + else { + ent2->second.symbol->getType().appendMangledName(mangleName2); + } + if (mangleName1 == mangleName2) + return; + else { + TString err = "Invalid In/Out variable type : " + entKey.first; + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + } + } + return; + } + } else if (base->getQualifier().isUniformOrBuffer() && ! base->getQualifier().isPushConstant()) { + // validate uniform type; + for (int i = 0; i < EShLangCount; i++) { + if (i != currentStage && outVarMaps[i] != nullptr) { + auto ent2 = uniformVarMap[i]->find(name); + if (ent2 != uniformVarMap[i]->end()) { + ent2->second.symbol->getType().appendMangledName(mangleName2); + if (mangleName1 != mangleName2) { + TString err = "Invalid Uniform variable type : " + entKey.first; + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + } + mangleName2.clear(); + + // validate instance name of blocks + if (hadError == false && + base->getType().getBasicType() == EbtBlock && + IsAnonymous(base->getName()) != IsAnonymous(ent2->second.symbol->getName())) { + TString err = "Matched uniform block names must also either all be lacking " + "an instance name or all having an instance name: " + entKey.first; + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + } + + // validate uniform block member qualifier and member names + auto& type1 = base->getType(); + auto& type2 = ent2->second.symbol->getType(); + if (hadError == false && base->getType().getBasicType() == EbtBlock) { + hadError = hadError || typeCheck(&type1, &type2, name.c_str(), true); + } + else { + hadError = hadError || typeCheck(&type1, &type2, name.c_str(), false); + } + } + else if (base->getBasicType() == EbtBlock) + { + if (IsAnonymous(base->getName())) + { + // The name of anonymous block member can't same with default uniform variable. + auto blockType1 = base->getType().getStruct(); + for (size_t memberIdx = 0; memberIdx < blockType1->size(); ++memberIdx) { + auto memberName = (*blockType1)[memberIdx].type->getFieldName(); + if (uniformVarMap[i]->find(memberName) != uniformVarMap[i]->end()) + { + TString err = "Invalid Uniform variable name : " + memberName; + infoSink.info.message(EPrefixInternalError, err.c_str()); + hadError = true; + break; + } + } + } + } + } + } + } + } + + TVarLiveMap *inVarMaps[EShLangCount], *outVarMaps[EShLangCount], *uniformVarMap[EShLangCount]; + // Use for mark pre stage, to get more interface symbol information. + EShLanguage preStage, currentStage, nextStage; + // Use for mark current shader stage for resolver + TIoMapResolver& resolver; + TInfoSink& infoSink; + bool& hadError; + EProfile profile; + int version; + +private: + TSymbolValidater& operator=(TSymbolValidater&) = delete; + + bool qualifierCheck(const TType* const type1, const TType* const type2, const std::string& name, bool isBlock) + { + bool hasError = false; + const TQualifier& qualifier1 = type1->getQualifier(); + const TQualifier& qualifier2 = type2->getQualifier(); + + if (((isBlock == false) && + (type1->getQualifier().storage == EvqUniform && type2->getQualifier().storage == EvqUniform)) || + (type1->getQualifier().storage == EvqGlobal && type2->getQualifier().storage == EvqGlobal)) { + if (qualifier1.precision != qualifier2.precision) { + hasError = true; + std::string errorStr = name + ": have precision conflict cross stage."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + } + if (qualifier1.hasFormat() && qualifier2.hasFormat()) { + if (qualifier1.layoutFormat != qualifier2.layoutFormat) { + hasError = true; + std::string errorStr = name + ": have layout format conflict cross stage."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + } + + } + } + + if (isBlock == true) { + if (qualifier1.layoutPacking != qualifier2.layoutPacking) { + hasError = true; + std::string errorStr = name + ": have layoutPacking conflict cross stage."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + } + if (qualifier1.layoutMatrix != qualifier2.layoutMatrix) { + hasError = true; + std::string errorStr = name + ": have layoutMatrix conflict cross stage."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + } + if (qualifier1.layoutOffset != qualifier2.layoutOffset) { + hasError = true; + std::string errorStr = name + ": have layoutOffset conflict cross stage."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + } + if (qualifier1.layoutAlign != qualifier2.layoutAlign) { + hasError = true; + std::string errorStr = name + ": have layoutAlign conflict cross stage."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + } + } + + return hasError; + } + + bool typeCheck(const TType* const type1, const TType* const type2, const std::string& name, bool isBlock) + { + bool hasError = false; + if (!(type1->isStruct() && type2->isStruct())) { + hasError = hasError || qualifierCheck(type1, type2, name, isBlock); + } + else { + if (type1->getBasicType() == EbtBlock && type2->getBasicType() == EbtBlock) + isBlock = true; + const TTypeList* typeList1 = type1->getStruct(); + const TTypeList* typeList2 = type2->getStruct(); + + std::string newName = name; + size_t memberCount = typeList1->size(); + size_t index2 = 0; + for (size_t index = 0; index < memberCount; index++, index2++) { + // Skip inactive member + if (typeList1->at(index).type->getBasicType() == EbtVoid) + continue; + while (index2 < typeList2->size() && typeList2->at(index2).type->getBasicType() == EbtVoid) { + ++index2; + } + + // TypeList1 has more members in list + if (index2 == typeList2->size()) { + std::string errorStr = name + ": struct mismatch."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + hasError = true; + break; + } + + if (typeList1->at(index).type->getFieldName() != typeList2->at(index2).type->getFieldName()) { + std::string errorStr = name + ": member name mismatch."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + hasError = true; + } + else { + newName = typeList1->at(index).type->getFieldName().c_str(); + } + hasError = hasError || typeCheck(typeList1->at(index).type, typeList2->at(index2).type, newName, isBlock); + } + + while (index2 < typeList2->size()) + { + // TypeList2 has more members + if (typeList2->at(index2).type->getBasicType() != EbtVoid) { + std::string errorStr = name + ": struct mismatch."; + infoSink.info.message(EPrefixError, errorStr.c_str()); + hasError = true; + break; + } + ++index2; + } + } + return hasError; + } +}; + +struct TSlotCollector { + TSlotCollector(TIoMapResolver& r, TInfoSink& i) : resolver(r), infoSink(i) { } + + inline void operator()(std::pair& entKey) { + resolver.reserverStorageSlot(entKey.second, infoSink); + resolver.reserverResourceSlot(entKey.second, infoSink); + } + TIoMapResolver& resolver; + TInfoSink& infoSink; + +private: + TSlotCollector& operator=(TSlotCollector&) = delete; +}; + +TDefaultIoResolverBase::TDefaultIoResolverBase(const TIntermediate& intermediate) + : intermediate(intermediate) + , nextUniformLocation(intermediate.getUniformLocationBase()) + , nextInputLocation(0) + , nextOutputLocation(0) +{ + memset(stageMask, false, sizeof(bool) * (EShLangCount + 1)); +} + +int TDefaultIoResolverBase::getBaseBinding(TResourceType res, unsigned int set) const { + return selectBaseBinding(intermediate.getShiftBinding(res), intermediate.getShiftBindingForSet(res, set)); +} + +const std::vector& TDefaultIoResolverBase::getResourceSetBinding() const { + return intermediate.getResourceSetBinding(); +} + +bool TDefaultIoResolverBase::doAutoBindingMapping() const { return intermediate.getAutoMapBindings(); } + +bool TDefaultIoResolverBase::doAutoLocationMapping() const { return intermediate.getAutoMapLocations(); } + +TDefaultIoResolverBase::TSlotSet::iterator TDefaultIoResolverBase::findSlot(int set, int slot) { + return std::lower_bound(slots[set].begin(), slots[set].end(), slot); +} + +bool TDefaultIoResolverBase::checkEmpty(int set, int slot) { + TSlotSet::iterator at = findSlot(set, slot); + return ! (at != slots[set].end() && *at == slot); +} + +int TDefaultIoResolverBase::reserveSlot(int set, int slot, int size) { + TSlotSet::iterator at = findSlot(set, slot); + // tolerate aliasing, by not double-recording aliases + // (policy about appropriateness of the alias is higher up) + for (int i = 0; i < size; i++) { + if (at == slots[set].end() || *at != slot + i) + at = slots[set].insert(at, slot + i); + ++at; + } + return slot; +} + +int TDefaultIoResolverBase::getFreeSlot(int set, int base, int size) { + TSlotSet::iterator at = findSlot(set, base); + if (at == slots[set].end()) + return reserveSlot(set, base, size); + // look for a big enough gap + for (; at != slots[set].end(); ++at) { + if (*at - base >= size) + break; + base = *at + 1; + } + return reserveSlot(set, base, size); +} + +int TDefaultIoResolverBase::resolveSet(EShLanguage /*stage*/, TVarEntryInfo& ent) { + const TType& type = ent.symbol->getType(); + if (type.getQualifier().hasSet()) { + return ent.newSet = type.getQualifier().layoutSet; + } + // If a command line or API option requested a single descriptor set, use that (if not overrided by spaceN) + if (getResourceSetBinding().size() == 1) { + return ent.newSet = atoi(getResourceSetBinding()[0].c_str()); + } + return ent.newSet = 0; +} + +int TDefaultIoResolverBase::resolveUniformLocation(EShLanguage /*stage*/, TVarEntryInfo& ent) { + const TType& type = ent.symbol->getType(); + const char* name = ent.symbol->getAccessName().c_str(); + // kick out of not doing this + if (! doAutoLocationMapping()) { + return ent.newLocation = -1; + } + // no locations added if already present, a built-in variable, a block, or an opaque + if (type.getQualifier().hasLocation() || type.isBuiltIn() || type.getBasicType() == EbtBlock || + type.isAtomic() || (type.containsOpaque() && intermediate.getSpv().openGl == 0)) { + return ent.newLocation = -1; + } + // no locations on blocks of built-in variables + if (type.isStruct()) { + if (type.getStruct()->size() < 1) { + return ent.newLocation = -1; + } + if ((*type.getStruct())[0].type->isBuiltIn()) { + return ent.newLocation = -1; + } + } + int location = intermediate.getUniformLocationOverride(name); + if (location != -1) { + return ent.newLocation = location; + } + location = nextUniformLocation; + nextUniformLocation += TIntermediate::computeTypeUniformLocationSize(type); + return ent.newLocation = location; +} + +int TDefaultIoResolverBase::resolveInOutLocation(EShLanguage stage, TVarEntryInfo& ent) { + const TType& type = ent.symbol->getType(); + // kick out of not doing this + if (! doAutoLocationMapping()) { + return ent.newLocation = -1; + } + + // no locations added if already present, or a built-in variable + if (type.getQualifier().hasLocation() || type.isBuiltIn()) { + return ent.newLocation = -1; + } + + // no locations on blocks of built-in variables + if (type.isStruct()) { + if (type.getStruct()->size() < 1) { + return ent.newLocation = -1; + } + if ((*type.getStruct())[0].type->isBuiltIn()) { + return ent.newLocation = -1; + } + } + // point to the right input or output location counter + int& nextLocation = type.getQualifier().isPipeInput() ? nextInputLocation : nextOutputLocation; + // Placeholder. This does not do proper cross-stage lining up, nor + // work with mixed location/no-location declarations. + int location = nextLocation; + int typeLocationSize; + // Don’t take into account the outer-most array if the stage’s + // interface is automatically an array. + typeLocationSize = computeTypeLocationSize(type, stage); + nextLocation += typeLocationSize; + return ent.newLocation = location; +} + +int TDefaultIoResolverBase::resolveInOutComponent(EShLanguage /*stage*/, TVarEntryInfo& ent) { + return ent.newComponent = -1; +} + +int TDefaultIoResolverBase::resolveInOutIndex(EShLanguage /*stage*/, TVarEntryInfo& ent) { return ent.newIndex = -1; } + +uint32_t TDefaultIoResolverBase::computeTypeLocationSize(const TType& type, EShLanguage stage) { + int typeLocationSize; + // Don’t take into account the outer-most array if the stage’s + // interface is automatically an array. + if (type.getQualifier().isArrayedIo(stage)) { + TType elementType(type, 0); + typeLocationSize = TIntermediate::computeTypeLocationSize(elementType, stage); + } else { + typeLocationSize = TIntermediate::computeTypeLocationSize(type, stage); + } + return typeLocationSize; +} + +//TDefaultGlslIoResolver +TResourceType TDefaultGlslIoResolver::getResourceType(const glslang::TType& type) { + if (isImageType(type)) { + return EResImage; + } + if (isTextureType(type)) { + return EResTexture; + } + if (isSsboType(type)) { + return EResSsbo; + } + if (isSamplerType(type)) { + return EResSampler; + } + if (isUboType(type)) { + return EResUbo; + } + return EResCount; +} + +TDefaultGlslIoResolver::TDefaultGlslIoResolver(const TIntermediate& intermediate) + : TDefaultIoResolverBase(intermediate) + , preStage(EShLangCount) + , currentStage(EShLangCount) +{ } + +int TDefaultGlslIoResolver::resolveInOutLocation(EShLanguage stage, TVarEntryInfo& ent) { + const TType& type = ent.symbol->getType(); + const TString& name = ent.symbol->getAccessName(); + if (currentStage != stage) { + preStage = currentStage; + currentStage = stage; + } + // kick out of not doing this + if (! doAutoLocationMapping()) { + return ent.newLocation = -1; + } + // expand the location to each element if the symbol is a struct or array + if (type.getQualifier().hasLocation()) { + return ent.newLocation = type.getQualifier().layoutLocation; + } + // no locations added if already present, or a built-in variable + if (type.isBuiltIn()) { + return ent.newLocation = -1; + } + // no locations on blocks of built-in variables + if (type.isStruct()) { + if (type.getStruct()->size() < 1) { + return ent.newLocation = -1; + } + if ((*type.getStruct())[0].type->isBuiltIn()) { + return ent.newLocation = -1; + } + } + int typeLocationSize = computeTypeLocationSize(type, stage); + int location = type.getQualifier().layoutLocation; + bool hasLocation = false; + EShLanguage keyStage(EShLangCount); + TStorageQualifier storage; + storage = EvqInOut; + if (type.getQualifier().isPipeInput()) { + // If this symbol is a input, search pre stage's out + keyStage = preStage; + } + if (type.getQualifier().isPipeOutput()) { + // If this symbol is a output, search next stage's in + keyStage = currentStage; + } + // The in/out in current stage is not declared with location, but it is possible declared + // with explicit location in other stages, find the storageSlotMap firstly to check whether + // the in/out has location + int resourceKey = buildStorageKey(keyStage, storage); + if (! storageSlotMap[resourceKey].empty()) { + TVarSlotMap::iterator iter = storageSlotMap[resourceKey].find(name); + if (iter != storageSlotMap[resourceKey].end()) { + // If interface resource be found, set it has location and this symbol's new location + // equal the symbol's explicit location declaration in pre or next stage. + // + // vs: out vec4 a; + // fs: layout(..., location = 3,...) in vec4 a; + hasLocation = true; + location = iter->second; + // if we want deal like that: + // vs: layout(location=4) out vec4 a; + // out vec4 b; + // + // fs: in vec4 a; + // layout(location = 4) in vec4 b; + // we need retraverse the map. + } + if (! hasLocation) { + // If interface resource note found, It's mean the location in two stage are both implicit declarat. + // So we should find a new slot for this interface. + // + // vs: out vec4 a; + // fs: in vec4 a; + location = getFreeSlot(resourceKey, 0, typeLocationSize); + storageSlotMap[resourceKey][name] = location; + } + } else { + // the first interface declarated in a program. + TVarSlotMap varSlotMap; + location = getFreeSlot(resourceKey, 0, typeLocationSize); + varSlotMap[name] = location; + storageSlotMap[resourceKey] = varSlotMap; + } + //Update location + return ent.newLocation = location; +} + +int TDefaultGlslIoResolver::resolveUniformLocation(EShLanguage /*stage*/, TVarEntryInfo& ent) { + const TType& type = ent.symbol->getType(); + const TString& name = ent.symbol->getAccessName(); + // kick out of not doing this + if (! doAutoLocationMapping()) { + return ent.newLocation = -1; + } + // expand the location to each element if the symbol is a struct or array + if (type.getQualifier().hasLocation() && (type.isStruct() || type.isArray())) { + return ent.newLocation = type.getQualifier().layoutLocation; + } else { + // no locations added if already present, a built-in variable, a block, or an opaque + if (type.getQualifier().hasLocation() || type.isBuiltIn() || type.getBasicType() == EbtBlock || + type.isAtomic() || (type.containsOpaque() && intermediate.getSpv().openGl == 0)) { + return ent.newLocation = -1; + } + // no locations on blocks of built-in variables + if (type.isStruct()) { + if (type.getStruct()->size() < 1) { + return ent.newLocation = -1; + } + if ((*type.getStruct())[0].type->isBuiltIn()) { + return ent.newLocation = -1; + } + } + } + int location = intermediate.getUniformLocationOverride(name.c_str()); + if (location != -1) { + return ent.newLocation = location; + } + + int size = TIntermediate::computeTypeUniformLocationSize(type); + + // The uniform in current stage is not declared with location, but it is possible declared + // with explicit location in other stages, find the storageSlotMap firstly to check whether + // the uniform has location + bool hasLocation = false; + int resourceKey = buildStorageKey(EShLangCount, EvqUniform); + TVarSlotMap& slotMap = storageSlotMap[resourceKey]; + // Check dose shader program has uniform resource + if (! slotMap.empty()) { + // If uniform resource not empty, try find a same name uniform + TVarSlotMap::iterator iter = slotMap.find(name); + if (iter != slotMap.end()) { + // If uniform resource be found, set it has location and this symbol's new location + // equal the uniform's explicit location declaration in other stage. + // + // vs: uniform vec4 a; + // fs: layout(..., location = 3,...) uniform vec4 a; + hasLocation = true; + location = iter->second; + } + if (! hasLocation) { + // No explicit location declaration in other stage. + // So we should find a new slot for this uniform. + // + // vs: uniform vec4 a; + // fs: uniform vec4 a; + location = getFreeSlot(resourceKey, 0, computeTypeLocationSize(type, currentStage)); + storageSlotMap[resourceKey][name] = location; + } + } else { + // the first uniform declaration in a program. + TVarSlotMap varSlotMap; + location = getFreeSlot(resourceKey, 0, size); + varSlotMap[name] = location; + storageSlotMap[resourceKey] = varSlotMap; + } + return ent.newLocation = location; +} + +int TDefaultGlslIoResolver::resolveBinding(EShLanguage /*stage*/, TVarEntryInfo& ent) { + const TType& type = ent.symbol->getType(); + const TString& name = ent.symbol->getAccessName(); + // On OpenGL arrays of opaque types take a separate binding for each element + int numBindings = intermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1; + TResourceType resource = getResourceType(type); + // don't need to handle uniform symbol, it will be handled in resolveUniformLocation + if (resource == EResUbo && type.getBasicType() != EbtBlock) { + return ent.newBinding = -1; + } + // There is no 'set' qualifier in OpenGL shading language, each resource has its own + // binding name space, so remap the 'set' to resource type which make each resource + // binding is valid from 0 to MAX_XXRESOURCE_BINDINGS + int set = resource; + if (resource < EResCount) { + if (type.getQualifier().hasBinding()) { + ent.newBinding = reserveSlot(set, getBaseBinding(resource, set) + type.getQualifier().layoutBinding, numBindings); + return ent.newBinding; + } else if (ent.live && doAutoBindingMapping()) { + // The resource in current stage is not declared with binding, but it is possible declared + // with explicit binding in other stages, find the resourceSlotMap firstly to check whether + // the resource has binding, don't need to allocate if it already has a binding + bool hasBinding = false; + if (! resourceSlotMap[resource].empty()) { + TVarSlotMap::iterator iter = resourceSlotMap[resource].find(name); + if (iter != resourceSlotMap[resource].end()) { + hasBinding = true; + ent.newBinding = iter->second; + } + } + if (! hasBinding) { + TVarSlotMap varSlotMap; + // find free slot, the caller did make sure it passes all vars with binding + // first and now all are passed that do not have a binding and needs one + int binding = getFreeSlot(resource, getBaseBinding(resource, set), numBindings); + varSlotMap[name] = binding; + resourceSlotMap[resource] = varSlotMap; + ent.newBinding = binding; + } + return ent.newBinding; + } + } + return ent.newBinding = -1; +} + +void TDefaultGlslIoResolver::beginResolve(EShLanguage stage) { + // reset stage state + if (stage == EShLangCount) + preStage = currentStage = stage; + // update stage state + else if (currentStage != stage) { + preStage = currentStage; + currentStage = stage; + } +} + +void TDefaultGlslIoResolver::endResolve(EShLanguage /*stage*/) { + // TODO nothing +} + +void TDefaultGlslIoResolver::beginCollect(EShLanguage stage) { + // reset stage state + if (stage == EShLangCount) + preStage = currentStage = stage; + // update stage state + else if (currentStage != stage) { + preStage = currentStage; + currentStage = stage; + } +} + +void TDefaultGlslIoResolver::endCollect(EShLanguage /*stage*/) { + // TODO nothing +} + +void TDefaultGlslIoResolver::reserverStorageSlot(TVarEntryInfo& ent, TInfoSink& infoSink) { + const TType& type = ent.symbol->getType(); + const TString& name = ent.symbol->getAccessName(); + TStorageQualifier storage = type.getQualifier().storage; + EShLanguage stage(EShLangCount); + switch (storage) { + case EvqUniform: + if (type.getBasicType() != EbtBlock && type.getQualifier().hasLocation()) { + // + // Reserve the slots for the uniforms who has explicit location + int storageKey = buildStorageKey(EShLangCount, EvqUniform); + int location = type.getQualifier().layoutLocation; + TVarSlotMap& varSlotMap = storageSlotMap[storageKey]; + TVarSlotMap::iterator iter = varSlotMap.find(name); + if (iter == varSlotMap.end()) { + int numLocations = TIntermediate::computeTypeUniformLocationSize(type); + reserveSlot(storageKey, location, numLocations); + varSlotMap[name] = location; + } else { + // Allocate location by name for OpenGL driver, so the uniform in different + // stages should be declared with the same location + if (iter->second != location) { + TString errorMsg = "Invalid location: " + name; + infoSink.info.message(EPrefixInternalError, errorMsg.c_str()); + hasError = true; + } + } + } + break; + case EvqVaryingIn: + case EvqVaryingOut: + // + // Reserve the slots for the inout who has explicit location + if (type.getQualifier().hasLocation()) { + stage = storage == EvqVaryingIn ? preStage : stage; + stage = storage == EvqVaryingOut ? currentStage : stage; + int storageKey = buildStorageKey(stage, EvqInOut); + int location = type.getQualifier().layoutLocation; + TVarSlotMap& varSlotMap = storageSlotMap[storageKey]; + TVarSlotMap::iterator iter = varSlotMap.find(name); + if (iter == varSlotMap.end()) { + int numLocations = TIntermediate::computeTypeUniformLocationSize(type); + reserveSlot(storageKey, location, numLocations); + varSlotMap[name] = location; + } else { + // Allocate location by name for OpenGL driver, so the uniform in different + // stages should be declared with the same location + if (iter->second != location) { + TString errorMsg = "Invalid location: " + name; + infoSink.info.message(EPrefixInternalError, errorMsg.c_str()); + hasError = true; + } + } + } + break; + default: + break; + } +} + +void TDefaultGlslIoResolver::reserverResourceSlot(TVarEntryInfo& ent, TInfoSink& infoSink) { + const TType& type = ent.symbol->getType(); + const TString& name = ent.symbol->getAccessName(); + int resource = getResourceType(type); + if (type.getQualifier().hasBinding()) { + TVarSlotMap& varSlotMap = resourceSlotMap[resource]; + TVarSlotMap::iterator iter = varSlotMap.find(name); + int binding = type.getQualifier().layoutBinding; + if (iter == varSlotMap.end()) { + // Reserve the slots for the ubo, ssbo and opaques who has explicit binding + int numBindings = type.isSizedArray() ? type.getCumulativeArraySize() : 1; + varSlotMap[name] = binding; + reserveSlot(resource, binding, numBindings); + } else { + // Allocate binding by name for OpenGL driver, so the resource in different + // stages should be declared with the same binding + if (iter->second != binding) { + TString errorMsg = "Invalid binding: " + name; + infoSink.info.message(EPrefixInternalError, errorMsg.c_str()); + hasError = true; + } + } + } +} + +//TDefaultGlslIoResolver end + +/* + * Basic implementation of glslang::TIoMapResolver that replaces the + * previous offset behavior. + * It does the same, uses the offsets for the corresponding uniform + * types. Also respects the EOptionAutoMapBindings flag and binds + * them if needed. + */ +/* + * Default resolver + */ +struct TDefaultIoResolver : public TDefaultIoResolverBase { + TDefaultIoResolver(const TIntermediate& intermediate) : TDefaultIoResolverBase(intermediate) { } + + bool validateBinding(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; } + + TResourceType getResourceType(const glslang::TType& type) override { + if (isImageType(type)) { + return EResImage; + } + if (isTextureType(type)) { + return EResTexture; + } + if (isSsboType(type)) { + return EResSsbo; + } + if (isSamplerType(type)) { + return EResSampler; + } + if (isUboType(type)) { + return EResUbo; + } + return EResCount; + } + + int resolveBinding(EShLanguage /*stage*/, TVarEntryInfo& ent) override { + const TType& type = ent.symbol->getType(); + const int set = getLayoutSet(type); + // On OpenGL arrays of opaque types take a seperate binding for each element + int numBindings = intermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1; + TResourceType resource = getResourceType(type); + if (resource < EResCount) { + if (type.getQualifier().hasBinding()) { + return ent.newBinding = reserveSlot( + set, getBaseBinding(resource, set) + type.getQualifier().layoutBinding, numBindings); + } else if (ent.live && doAutoBindingMapping()) { + // find free slot, the caller did make sure it passes all vars with binding + // first and now all are passed that do not have a binding and needs one + return ent.newBinding = getFreeSlot(set, getBaseBinding(resource, set), numBindings); + } + } + return ent.newBinding = -1; + } +}; + +#ifdef ENABLE_HLSL +/******************************************************************************** +The following IO resolver maps types in HLSL register space, as follows: + +t - for shader resource views (SRV) + TEXTURE1D + TEXTURE1DARRAY + TEXTURE2D + TEXTURE2DARRAY + TEXTURE3D + TEXTURECUBE + TEXTURECUBEARRAY + TEXTURE2DMS + TEXTURE2DMSARRAY + STRUCTUREDBUFFER + BYTEADDRESSBUFFER + BUFFER + TBUFFER + +s - for samplers + SAMPLER + SAMPLER1D + SAMPLER2D + SAMPLER3D + SAMPLERCUBE + SAMPLERSTATE + SAMPLERCOMPARISONSTATE + +u - for unordered access views (UAV) + RWBYTEADDRESSBUFFER + RWSTRUCTUREDBUFFER + APPENDSTRUCTUREDBUFFER + CONSUMESTRUCTUREDBUFFER + RWBUFFER + RWTEXTURE1D + RWTEXTURE1DARRAY + RWTEXTURE2D + RWTEXTURE2DARRAY + RWTEXTURE3D + +b - for constant buffer views (CBV) + CBUFFER + CONSTANTBUFFER + ********************************************************************************/ +struct TDefaultHlslIoResolver : public TDefaultIoResolverBase { + TDefaultHlslIoResolver(const TIntermediate& intermediate) : TDefaultIoResolverBase(intermediate) { } + + bool validateBinding(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; } + + TResourceType getResourceType(const glslang::TType& type) override { + if (isUavType(type)) { + return EResUav; + } + if (isSrvType(type)) { + return EResTexture; + } + if (isSamplerType(type)) { + return EResSampler; + } + if (isUboType(type)) { + return EResUbo; + } + return EResCount; + } + + int resolveBinding(EShLanguage /*stage*/, TVarEntryInfo& ent) override { + const TType& type = ent.symbol->getType(); + const int set = getLayoutSet(type); + TResourceType resource = getResourceType(type); + if (resource < EResCount) { + if (type.getQualifier().hasBinding()) { + return ent.newBinding = reserveSlot(set, getBaseBinding(resource, set) + type.getQualifier().layoutBinding); + } else if (ent.live && doAutoBindingMapping()) { + // find free slot, the caller did make sure it passes all vars with binding + // first and now all are passed that do not have a binding and needs one + return ent.newBinding = getFreeSlot(set, getBaseBinding(resource, set)); + } + } + return ent.newBinding = -1; + } +}; +#endif + +// Map I/O variables to provided offsets, and make bindings for +// unbound but live variables. +// +// Returns false if the input is too malformed to do this. +bool TIoMapper::addStage(EShLanguage stage, TIntermediate& intermediate, TInfoSink& infoSink, TIoMapResolver* resolver) { + bool somethingToDo = ! intermediate.getResourceSetBinding().empty() || intermediate.getAutoMapBindings() || + intermediate.getAutoMapLocations(); + // Restrict the stricter condition to further check 'somethingToDo' only if 'somethingToDo' has not been set, reduce + // unnecessary or insignificant for-loop operation after 'somethingToDo' have been true. + for (int res = 0; (res < EResCount && !somethingToDo); ++res) { + somethingToDo = somethingToDo || (intermediate.getShiftBinding(TResourceType(res)) != 0) || + intermediate.hasShiftBindingForSet(TResourceType(res)); + } + if (! somethingToDo && resolver == nullptr) + return true; + if (intermediate.getNumEntryPoints() != 1 || intermediate.isRecursive()) + return false; + TIntermNode* root = intermediate.getTreeRoot(); + if (root == nullptr) + return false; + // if no resolver is provided, use the default resolver with the given shifts and auto map settings + TDefaultIoResolver defaultResolver(intermediate); +#ifdef ENABLE_HLSL + TDefaultHlslIoResolver defaultHlslResolver(intermediate); + if (resolver == nullptr) { + // TODO: use a passed in IO mapper for this + if (intermediate.usingHlslIoMapping()) + resolver = &defaultHlslResolver; + else + resolver = &defaultResolver; + } + resolver->addStage(stage); +#else + resolver = &defaultResolver; +#endif + + TVarLiveMap inVarMap, outVarMap, uniformVarMap; + TVarLiveVector inVector, outVector, uniformVector; + TVarGatherTraverser iter_binding_all(intermediate, true, inVarMap, outVarMap, uniformVarMap); + TVarGatherTraverser iter_binding_live(intermediate, false, inVarMap, outVarMap, uniformVarMap); + root->traverse(&iter_binding_all); + iter_binding_live.pushFunction(intermediate.getEntryPointMangledName().c_str()); + while (! iter_binding_live.destinations.empty()) { + TIntermNode* destination = iter_binding_live.destinations.back(); + iter_binding_live.destinations.pop_back(); + destination->traverse(&iter_binding_live); + } + + // sort entries by priority. see TVarEntryInfo::TOrderByPriority for info. + for (auto& var : inVarMap) { inVector.push_back(var); } + std::sort(inVector.begin(), inVector.end(), [](const TVarLivePair& p1, const TVarLivePair& p2) -> bool { + return TVarEntryInfo::TOrderByPriority()(p1.second, p2.second); + }); + for (auto& var : outVarMap) { outVector.push_back(var); } + std::sort(outVector.begin(), outVector.end(), [](const TVarLivePair& p1, const TVarLivePair& p2) -> bool { + return TVarEntryInfo::TOrderByPriority()(p1.second, p2.second); + }); + for (auto& var : uniformVarMap) { uniformVector.push_back(var); } + std::sort(uniformVector.begin(), uniformVector.end(), [](const TVarLivePair& p1, const TVarLivePair& p2) -> bool { + return TVarEntryInfo::TOrderByPriority()(p1.second, p2.second); + }); + bool hadError = false; + TVarLiveMap* dummyUniformVarMap[EShLangCount] = {}; + TNotifyInOutAdaptor inOutNotify(stage, *resolver); + TNotifyUniformAdaptor uniformNotify(stage, *resolver); + TResolverUniformAdaptor uniformResolve(stage, *resolver, dummyUniformVarMap, infoSink, hadError); + TResolverInOutAdaptor inOutResolve(stage, *resolver, infoSink, hadError); + resolver->beginNotifications(stage); + std::for_each(inVector.begin(), inVector.end(), inOutNotify); + std::for_each(outVector.begin(), outVector.end(), inOutNotify); + std::for_each(uniformVector.begin(), uniformVector.end(), uniformNotify); + resolver->endNotifications(stage); + resolver->beginResolve(stage); + for (auto& var : inVector) { inOutResolve(var); } + std::for_each(inVector.begin(), inVector.end(), [&inVarMap](TVarLivePair p) { + auto at = inVarMap.find(p.second.symbol->getAccessName()); + if (at != inVarMap.end() && p.second.id == at->second.id) + at->second = p.second; + }); + for (auto& var : outVector) { inOutResolve(var); } + std::for_each(outVector.begin(), outVector.end(), [&outVarMap](TVarLivePair p) { + auto at = outVarMap.find(p.second.symbol->getAccessName()); + if (at != outVarMap.end() && p.second.id == at->second.id) + at->second = p.second; + }); + std::for_each(uniformVector.begin(), uniformVector.end(), uniformResolve); + std::for_each(uniformVector.begin(), uniformVector.end(), [&uniformVarMap](TVarLivePair p) { + auto at = uniformVarMap.find(p.second.symbol->getAccessName()); + if (at != uniformVarMap.end() && p.second.id == at->second.id) + at->second = p.second; + }); + resolver->endResolve(stage); + if (!hadError) { + TVarSetTraverser iter_iomap(intermediate, inVarMap, outVarMap, uniformVarMap); + root->traverse(&iter_iomap); + } + return !hadError; +} + +// Map I/O variables to provided offsets, and make bindings for +// unbound but live variables. +// +// Returns false if the input is too malformed to do this. +bool TGlslIoMapper::addStage(EShLanguage stage, TIntermediate& intermediate, TInfoSink& infoSink, TIoMapResolver* resolver) { + bool somethingToDo = !intermediate.getResourceSetBinding().empty() || + intermediate.getAutoMapBindings() || + intermediate.getAutoMapLocations(); + + // Profile and version are use for symbol validate. + profile = intermediate.getProfile(); + version = intermediate.getVersion(); + + // Restrict the stricter condition to further check 'somethingToDo' only if 'somethingToDo' has not been set, reduce + // unnecessary or insignificant for-loop operation after 'somethingToDo' have been true. + for (int res = 0; (res < EResCount && !somethingToDo); ++res) { + somethingToDo = somethingToDo || (intermediate.getShiftBinding(TResourceType(res)) != 0) || + intermediate.hasShiftBindingForSet(TResourceType(res)); + } + if (! somethingToDo && resolver == nullptr) { + return true; + } + if (intermediate.getNumEntryPoints() != 1 || intermediate.isRecursive()) { + return false; + } + TIntermNode* root = intermediate.getTreeRoot(); + if (root == nullptr) { + return false; + } + // if no resolver is provided, use the default resolver with the given shifts and auto map settings + TDefaultGlslIoResolver defaultResolver(intermediate); + if (resolver == nullptr) { + resolver = &defaultResolver; + } + resolver->addStage(stage); + inVarMaps[stage] = new TVarLiveMap(); outVarMaps[stage] = new TVarLiveMap(); uniformVarMap[stage] = new TVarLiveMap(); + TVarGatherTraverser iter_binding_all(intermediate, true, *inVarMaps[stage], *outVarMaps[stage], + *uniformVarMap[stage]); + TVarGatherTraverser iter_binding_live(intermediate, false, *inVarMaps[stage], *outVarMaps[stage], + *uniformVarMap[stage]); + root->traverse(&iter_binding_all); + iter_binding_live.pushFunction(intermediate.getEntryPointMangledName().c_str()); + while (! iter_binding_live.destinations.empty()) { + TIntermNode* destination = iter_binding_live.destinations.back(); + iter_binding_live.destinations.pop_back(); + destination->traverse(&iter_binding_live); + } + + TNotifyInOutAdaptor inOutNotify(stage, *resolver); + TNotifyUniformAdaptor uniformNotify(stage, *resolver); + // Resolve current stage input symbol location with previous stage output here, + // uniform symbol, ubo, ssbo and opaque symbols are per-program resource, + // will resolve uniform symbol location and ubo/ssbo/opaque binding in doMap() + resolver->beginNotifications(stage); + std::for_each(inVarMaps[stage]->begin(), inVarMaps[stage]->end(), inOutNotify); + std::for_each(outVarMaps[stage]->begin(), outVarMaps[stage]->end(), inOutNotify); + std::for_each(uniformVarMap[stage]->begin(), uniformVarMap[stage]->end(), uniformNotify); + resolver->endNotifications(stage); + TSlotCollector slotCollector(*resolver, infoSink); + resolver->beginCollect(stage); + std::for_each(inVarMaps[stage]->begin(), inVarMaps[stage]->end(), slotCollector); + std::for_each(outVarMaps[stage]->begin(), outVarMaps[stage]->end(), slotCollector); + std::for_each(uniformVarMap[stage]->begin(), uniformVarMap[stage]->end(), slotCollector); + resolver->endCollect(stage); + intermediates[stage] = &intermediate; + return !hadError; +} + +bool TGlslIoMapper::doMap(TIoMapResolver* resolver, TInfoSink& infoSink) { + resolver->endResolve(EShLangCount); + if (!hadError) { + //Resolve uniform location, ubo/ssbo/opaque bindings across stages + TResolverUniformAdaptor uniformResolve(EShLangCount, *resolver, uniformVarMap, infoSink, hadError); + TResolverInOutAdaptor inOutResolve(EShLangCount, *resolver, infoSink, hadError); + TSymbolValidater symbolValidater(*resolver, infoSink, inVarMaps, + outVarMaps, uniformVarMap, hadError, profile, version); + TVarLiveVector uniformVector; + resolver->beginResolve(EShLangCount); + for (int stage = EShLangVertex; stage < EShLangCount; stage++) { + if (inVarMaps[stage] != nullptr) { + inOutResolve.setStage(EShLanguage(stage)); + for (auto& var : *(inVarMaps[stage])) { symbolValidater(var); } + for (auto& var : *(inVarMaps[stage])) { inOutResolve(var); } + for (auto& var : *(outVarMaps[stage])) { symbolValidater(var); } + for (auto& var : *(outVarMaps[stage])) { inOutResolve(var); } + } + if (uniformVarMap[stage] != nullptr) { + uniformResolve.setStage(EShLanguage(stage)); + for (auto& var : *(uniformVarMap[stage])) { uniformVector.push_back(var); } + } + } + std::sort(uniformVector.begin(), uniformVector.end(), [](const TVarLivePair& p1, const TVarLivePair& p2) -> bool { + return TVarEntryInfo::TOrderByPriority()(p1.second, p2.second); + }); + for (auto& var : uniformVector) { symbolValidater(var); } + for (auto& var : uniformVector) { uniformResolve(var); } + std::sort(uniformVector.begin(), uniformVector.end(), [](const TVarLivePair& p1, const TVarLivePair& p2) -> bool { + return TVarEntryInfo::TOrderByPriority()(p1.second, p2.second); + }); + resolver->endResolve(EShLangCount); + for (size_t stage = 0; stage < EShLangCount; stage++) { + if (intermediates[stage] != nullptr) { + // traverse each stage, set new location to each input/output and unifom symbol, set new binding to + // ubo, ssbo and opaque symbols + TVarLiveMap** pUniformVarMap = uniformResolve.uniformVarMap; + std::for_each(uniformVector.begin(), uniformVector.end(), [pUniformVarMap, stage](TVarLivePair p) { + auto at = pUniformVarMap[stage]->find(p.second.symbol->getAccessName()); + if (at != pUniformVarMap[stage]->end() && at->second.id == p.second.id){ + int resolvedBinding = at->second.newBinding; + at->second = p.second; + if (resolvedBinding > 0) + at->second.newBinding = resolvedBinding; + } + }); + TVarSetTraverser iter_iomap(*intermediates[stage], *inVarMaps[stage], *outVarMaps[stage], + *uniformResolve.uniformVarMap[stage]); + intermediates[stage]->getTreeRoot()->traverse(&iter_iomap); + } + } + return !hadError; + } else { + return false; + } +} + +} // end namespace glslang + +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/iomapper.h b/android/x86_64/include/glslang/Include/MachineIndependent/iomapper.h new file mode 100644 index 00000000..7934c4a9 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/iomapper.h @@ -0,0 +1,305 @@ +// +// Copyright (C) 2016 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +#ifndef _IOMAPPER_INCLUDED +#define _IOMAPPER_INCLUDED + +#include +#include "LiveTraverser.h" +#include +#include +// +// A reflection database and its interface, consistent with the OpenGL API reflection queries. +// + +class TInfoSink; + +namespace glslang { + +class TIntermediate; +struct TVarEntryInfo { + int id; + TIntermSymbol* symbol; + bool live; + int newBinding; + int newSet; + int newLocation; + int newComponent; + int newIndex; + EShLanguage stage; + struct TOrderById { + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { return l.id < r.id; } + }; + + struct TOrderByPriority { + // ordering: + // 1) has both binding and set + // 2) has binding but no set + // 3) has no binding but set + // 4) has no binding and no set + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { + const TQualifier& lq = l.symbol->getQualifier(); + const TQualifier& rq = r.symbol->getQualifier(); + + // simple rules: + // has binding gives 2 points + // has set gives 1 point + // who has the most points is more important. + int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); + int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); + + if (lPoints == rPoints) + return l.id < r.id; + return lPoints > rPoints; + } + }; +}; + +// Base class for shared TIoMapResolver services, used by several derivations. +struct TDefaultIoResolverBase : public glslang::TIoMapResolver { +public: + TDefaultIoResolverBase(const TIntermediate& intermediate); + typedef std::vector TSlotSet; + typedef std::unordered_map TSlotSetMap; + + // grow the reflection stage by stage + void notifyBinding(EShLanguage, TVarEntryInfo& /*ent*/) override {} + void notifyInOut(EShLanguage, TVarEntryInfo& /*ent*/) override {} + void beginNotifications(EShLanguage) override {} + void endNotifications(EShLanguage) override {} + void beginResolve(EShLanguage) override {} + void endResolve(EShLanguage) override {} + void beginCollect(EShLanguage) override {} + void endCollect(EShLanguage) override {} + void reserverResourceSlot(TVarEntryInfo& /*ent*/, TInfoSink& /*infoSink*/) override {} + void reserverStorageSlot(TVarEntryInfo& /*ent*/, TInfoSink& /*infoSink*/) override {} + int getBaseBinding(TResourceType res, unsigned int set) const; + const std::vector& getResourceSetBinding() const; + virtual TResourceType getResourceType(const glslang::TType& type) = 0; + bool doAutoBindingMapping() const; + bool doAutoLocationMapping() const; + TSlotSet::iterator findSlot(int set, int slot); + bool checkEmpty(int set, int slot); + bool validateInOut(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; } + int reserveSlot(int set, int slot, int size = 1); + int getFreeSlot(int set, int base, int size = 1); + int resolveSet(EShLanguage /*stage*/, TVarEntryInfo& ent) override; + int resolveUniformLocation(EShLanguage /*stage*/, TVarEntryInfo& ent) override; + int resolveInOutLocation(EShLanguage stage, TVarEntryInfo& ent) override; + int resolveInOutComponent(EShLanguage /*stage*/, TVarEntryInfo& ent) override; + int resolveInOutIndex(EShLanguage /*stage*/, TVarEntryInfo& ent) override; + void addStage(EShLanguage stage) override { + if (stage < EShLangCount) + stageMask[stage] = true; + } + uint32_t computeTypeLocationSize(const TType& type, EShLanguage stage); + + TSlotSetMap slots; + bool hasError = false; + +protected: + TDefaultIoResolverBase(TDefaultIoResolverBase&); + TDefaultIoResolverBase& operator=(TDefaultIoResolverBase&); + const TIntermediate& intermediate; + int nextUniformLocation; + int nextInputLocation; + int nextOutputLocation; + bool stageMask[EShLangCount + 1]; + // Return descriptor set specific base if there is one, and the generic base otherwise. + int selectBaseBinding(int base, int descriptorSetBase) const { + return descriptorSetBase != -1 ? descriptorSetBase : base; + } + + static int getLayoutSet(const glslang::TType& type) { + if (type.getQualifier().hasSet()) + return type.getQualifier().layoutSet; + else + return 0; + } + + static bool isSamplerType(const glslang::TType& type) { + return type.getBasicType() == glslang::EbtSampler && type.getSampler().isPureSampler(); + } + + static bool isTextureType(const glslang::TType& type) { + return (type.getBasicType() == glslang::EbtSampler && + (type.getSampler().isTexture() || type.getSampler().isSubpass())); + } + + static bool isUboType(const glslang::TType& type) { + return type.getQualifier().storage == EvqUniform; + } + + static bool isImageType(const glslang::TType& type) { + return type.getBasicType() == glslang::EbtSampler && type.getSampler().isImage(); + } + + static bool isSsboType(const glslang::TType& type) { + return type.getQualifier().storage == EvqBuffer; + } + + // Return true if this is a SRV (shader resource view) type: + static bool isSrvType(const glslang::TType& type) { + return isTextureType(type) || type.getQualifier().storage == EvqBuffer; + } + + // Return true if this is a UAV (unordered access view) type: + static bool isUavType(const glslang::TType& type) { + if (type.getQualifier().isReadOnly()) + return false; + return (type.getBasicType() == glslang::EbtSampler && type.getSampler().isImage()) || + (type.getQualifier().storage == EvqBuffer); + } +}; + +// Default I/O resolver for OpenGL +struct TDefaultGlslIoResolver : public TDefaultIoResolverBase { +public: + typedef std::map TVarSlotMap; // + typedef std::map TSlotMap; // + TDefaultGlslIoResolver(const TIntermediate& intermediate); + bool validateBinding(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; } + TResourceType getResourceType(const glslang::TType& type) override; + int resolveInOutLocation(EShLanguage stage, TVarEntryInfo& ent) override; + int resolveUniformLocation(EShLanguage /*stage*/, TVarEntryInfo& ent) override; + int resolveBinding(EShLanguage /*stage*/, TVarEntryInfo& ent) override; + void beginResolve(EShLanguage /*stage*/) override; + void endResolve(EShLanguage stage) override; + void beginCollect(EShLanguage) override; + void endCollect(EShLanguage) override; + void reserverStorageSlot(TVarEntryInfo& ent, TInfoSink& infoSink) override; + void reserverResourceSlot(TVarEntryInfo& ent, TInfoSink& infoSink) override; + // in/out symbol and uniform symbol are stored in the same resourceSlotMap, the storage key is used to identify each type of symbol. + // We use stage and storage qualifier to construct a storage key. it can help us identify the same storage resource used in different stage. + // if a resource is a program resource and we don't need know it usage stage, we can use same stage to build storage key. + // Note: both stage and type must less then 0xffff. + int buildStorageKey(EShLanguage stage, TStorageQualifier type) { + assert(static_cast(stage) <= 0x0000ffff && static_cast(type) <= 0x0000ffff); + return (stage << 16) | type; + } + +protected: + // Use for mark pre stage, to get more interface symbol information. + EShLanguage preStage; + // Use for mark current shader stage for resolver + EShLanguage currentStage; + // Slot map for storage resource(location of uniform and interface symbol) It's a program share slot + TSlotMap resourceSlotMap; + // Slot map for other resource(image, ubo, ssbo), It's a program share slot. + TSlotMap storageSlotMap; +}; + +typedef std::map TVarLiveMap; + +// override function "operator=", if a vector being sort, +// when use vc++, the sort function will call : +// pair& operator=(const pair<_Other1, _Other2>& _Right) +// { +// first = _Right.first; +// second = _Right.second; +// return (*this); +// } +// that will make a const type handing on left. +// override this function can avoid a compiler error. +// In the future, if the vc++ compiler can handle such a situation, +// this part of the code will be removed. +struct TVarLivePair : std::pair { + TVarLivePair(const std::pair& _Right) : pair(_Right.first, _Right.second) {} + TVarLivePair& operator=(const TVarLivePair& _Right) { + const_cast(first) = _Right.first; + second = _Right.second; + return (*this); + } + TVarLivePair(const TVarLivePair& src) : pair(src) { } +}; +typedef std::vector TVarLiveVector; + +// I/O mapper +class TIoMapper { +public: + TIoMapper() {} + virtual ~TIoMapper() {} + // grow the reflection stage by stage + bool virtual addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*); + bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; } +}; + +// I/O mapper for OpenGL +class TGlslIoMapper : public TIoMapper { +public: + TGlslIoMapper() { + memset(inVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); + memset(outVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); + memset(uniformVarMap, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); + memset(intermediates, 0, sizeof(TIntermediate*) * (EShLangCount + 1)); + profile = ENoProfile; + version = 0; + } + virtual ~TGlslIoMapper() { + for (size_t stage = 0; stage < EShLangCount; stage++) { + if (inVarMaps[stage] != nullptr) { + delete inVarMaps[stage]; + inVarMaps[stage] = nullptr; + } + if (outVarMaps[stage] != nullptr) { + delete outVarMaps[stage]; + outVarMaps[stage] = nullptr; + } + if (uniformVarMap[stage] != nullptr) { + delete uniformVarMap[stage]; + uniformVarMap[stage] = nullptr; + } + if (intermediates[stage] != nullptr) + intermediates[stage] = nullptr; + } + } + // grow the reflection stage by stage + bool addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*) override; + bool doMap(TIoMapResolver*, TInfoSink&) override; + TVarLiveMap *inVarMaps[EShLangCount], *outVarMaps[EShLangCount], + *uniformVarMap[EShLangCount]; + TIntermediate* intermediates[EShLangCount]; + bool hadError = false; + EProfile profile; + int version; +}; + +} // end namespace glslang + +#endif // _IOMAPPER_INCLUDED + +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/limits.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/limits.cpp new file mode 100644 index 00000000..51d93003 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/limits.cpp @@ -0,0 +1,200 @@ +// +// Copyright (C) 2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Do sub tree walks for +// 1) inductive loop bodies to see if the inductive variable is modified +// 2) array-index expressions to see if they are "constant-index-expression" +// +// These are per Appendix A of ES 2.0: +// +// "Within the body of the loop, the loop index is not statically assigned to nor is it used as the +// argument to a function out or inout parameter." +// +// "The following are constant-index-expressions: +// - Constant expressions +// - Loop indices as defined in section 4 +// - Expressions composed of both of the above" +// +// N.B.: assuming the last rule excludes function calls +// + +#include "ParseHelper.h" + +namespace glslang { + +// +// The inductive loop-body traverser. +// +// Just look at things that might modify the loop index. +// + +class TInductiveTraverser : public TIntermTraverser { +public: + TInductiveTraverser(int id, TSymbolTable& st) + : loopId(id), symbolTable(st), bad(false) { } + + virtual bool visitBinary(TVisit, TIntermBinary* node); + virtual bool visitUnary(TVisit, TIntermUnary* node); + virtual bool visitAggregate(TVisit, TIntermAggregate* node); + + int loopId; // unique ID of the symbol that's the loop inductive variable + TSymbolTable& symbolTable; + bool bad; + TSourceLoc badLoc; + +protected: + TInductiveTraverser(TInductiveTraverser&); + TInductiveTraverser& operator=(TInductiveTraverser&); +}; + +// check binary operations for those modifying the loop index +bool TInductiveTraverser::visitBinary(TVisit /* visit */, TIntermBinary* node) +{ + if (node->modifiesState() && node->getLeft()->getAsSymbolNode() && + node->getLeft()->getAsSymbolNode()->getId() == loopId) { + bad = true; + badLoc = node->getLoc(); + } + + return true; +} + +// check unary operations for those modifying the loop index +bool TInductiveTraverser::visitUnary(TVisit /* visit */, TIntermUnary* node) +{ + if (node->modifiesState() && node->getOperand()->getAsSymbolNode() && + node->getOperand()->getAsSymbolNode()->getId() == loopId) { + bad = true; + badLoc = node->getLoc(); + } + + return true; +} + +// check function calls for arguments modifying the loop index +bool TInductiveTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node) +{ + if (node->getOp() == EOpFunctionCall) { + // see if an out or inout argument is the loop index + const TIntermSequence& args = node->getSequence(); + for (int i = 0; i < (int)args.size(); ++i) { + if (args[i]->getAsSymbolNode() && args[i]->getAsSymbolNode()->getId() == loopId) { + TSymbol* function = symbolTable.find(node->getName()); + const TType* type = (*function->getAsFunction())[i].type; + if (type->getQualifier().storage == EvqOut || + type->getQualifier().storage == EvqInOut) { + bad = true; + badLoc = node->getLoc(); + } + } + } + } + + return true; +} + +// +// External function to call for loop check. +// +void TParseContext::inductiveLoopBodyCheck(TIntermNode* body, int loopId, TSymbolTable& symbolTable) +{ + TInductiveTraverser it(loopId, symbolTable); + + if (body == nullptr) + return; + + body->traverse(&it); + + if (it.bad) + error(it.badLoc, "inductive loop index modified", "limitations", ""); +} + +// +// The "constant-index-expression" tranverser. +// +// Just look at things that can form an index. +// + +class TIndexTraverser : public TIntermTraverser { +public: + TIndexTraverser(const TIdSetType& ids) : inductiveLoopIds(ids), bad(false) { } + virtual void visitSymbol(TIntermSymbol* symbol); + virtual bool visitAggregate(TVisit, TIntermAggregate* node); + const TIdSetType& inductiveLoopIds; + bool bad; + TSourceLoc badLoc; + +protected: + TIndexTraverser(TIndexTraverser&); + TIndexTraverser& operator=(TIndexTraverser&); +}; + +// make sure symbols are inductive-loop indexes +void TIndexTraverser::visitSymbol(TIntermSymbol* symbol) +{ + if (inductiveLoopIds.find(symbol->getId()) == inductiveLoopIds.end()) { + bad = true; + badLoc = symbol->getLoc(); + } +} + +// check for function calls, assuming they are bad; spec. doesn't really say +bool TIndexTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node) +{ + if (node->getOp() == EOpFunctionCall) { + bad = true; + badLoc = node->getLoc(); + } + + return true; +} + +// +// External function to call for loop check. +// +void TParseContext::constantIndexExpressionCheck(TIntermNode* index) +{ +#ifndef GLSLANG_WEB + TIndexTraverser it(inductiveLoopIds); + + index->traverse(&it); + + if (it.bad) + error(it.badLoc, "Non-constant-index-expression", "limitations", ""); +#endif +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/linkValidate.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/linkValidate.cpp new file mode 100644 index 00000000..4e84adbf --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/linkValidate.cpp @@ -0,0 +1,1807 @@ +// +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Do link-time merging and validation of intermediate representations. +// +// Basic model is that during compilation, each compilation unit (shader) is +// compiled into one TIntermediate instance. Then, at link time, multiple +// units for the same stage can be merged together, which can generate errors. +// Then, after all merging, a single instance of TIntermediate represents +// the whole stage. A final error check can be done on the resulting stage, +// even if no merging was done (i.e., the stage was only one compilation unit). +// + +#include "localintermediate.h" +#include "../Include/InfoSink.h" + +namespace glslang { + +// +// Link-time error emitter. +// +void TIntermediate::error(TInfoSink& infoSink, const char* message) +{ +#ifndef GLSLANG_WEB + infoSink.info.prefix(EPrefixError); + infoSink.info << "Linking " << StageName(language) << " stage: " << message << "\n"; +#endif + + ++numErrors; +} + +// Link-time warning. +void TIntermediate::warn(TInfoSink& infoSink, const char* message) +{ +#ifndef GLSLANG_WEB + infoSink.info.prefix(EPrefixWarning); + infoSink.info << "Linking " << StageName(language) << " stage: " << message << "\n"; +#endif +} + +// TODO: 4.4 offset/align: "Two blocks linked together in the same program with the same block +// name must have the exact same set of members qualified with offset and their integral-constant +// expression values must be the same, or a link-time error results." + +// +// Merge the information from 'unit' into 'this' +// +void TIntermediate::merge(TInfoSink& infoSink, TIntermediate& unit) +{ +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + mergeCallGraphs(infoSink, unit); + mergeModes(infoSink, unit); + mergeTrees(infoSink, unit); +#endif +} + +void TIntermediate::mergeCallGraphs(TInfoSink& infoSink, TIntermediate& unit) +{ + if (unit.getNumEntryPoints() > 0) { + if (getNumEntryPoints() > 0) + error(infoSink, "can't handle multiple entry points per stage"); + else { + entryPointName = unit.getEntryPointName(); + entryPointMangledName = unit.getEntryPointMangledName(); + } + } + numEntryPoints += unit.getNumEntryPoints(); + + callGraph.insert(callGraph.end(), unit.callGraph.begin(), unit.callGraph.end()); +} + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +#define MERGE_MAX(member) member = std::max(member, unit.member) +#define MERGE_TRUE(member) if (unit.member) member = unit.member; + +void TIntermediate::mergeModes(TInfoSink& infoSink, TIntermediate& unit) +{ + if (language != unit.language) + error(infoSink, "stages must match when linking into a single stage"); + + if (getSource() == EShSourceNone) + setSource(unit.getSource()); + if (getSource() != unit.getSource()) + error(infoSink, "can't link compilation units from different source languages"); + + if (treeRoot == nullptr) { + profile = unit.profile; + version = unit.version; + requestedExtensions = unit.requestedExtensions; + } else { + if ((isEsProfile()) != (unit.isEsProfile())) + error(infoSink, "Cannot cross link ES and desktop profiles"); + else if (unit.profile == ECompatibilityProfile) + profile = ECompatibilityProfile; + version = std::max(version, unit.version); + requestedExtensions.insert(unit.requestedExtensions.begin(), unit.requestedExtensions.end()); + } + + MERGE_MAX(spvVersion.spv); + MERGE_MAX(spvVersion.vulkanGlsl); + MERGE_MAX(spvVersion.vulkan); + MERGE_MAX(spvVersion.openGl); + + numErrors += unit.getNumErrors(); + // Only one push_constant is allowed, mergeLinkerObjects() will ensure the push_constant + // is the same for all units. + if (numPushConstants > 1 || unit.numPushConstants > 1) + error(infoSink, "Only one push_constant block is allowed per stage"); + numPushConstants = std::min(numPushConstants + unit.numPushConstants, 1); + + if (unit.invocations != TQualifier::layoutNotSet) { + if (invocations == TQualifier::layoutNotSet) + invocations = unit.invocations; + else if (invocations != unit.invocations) + error(infoSink, "number of invocations must match between compilation units"); + } + + if (vertices == TQualifier::layoutNotSet) + vertices = unit.vertices; + else if (unit.vertices != TQualifier::layoutNotSet && vertices != unit.vertices) { + if (language == EShLangGeometry || language == EShLangMeshNV) + error(infoSink, "Contradictory layout max_vertices values"); + else if (language == EShLangTessControl) + error(infoSink, "Contradictory layout vertices values"); + else + assert(0); + } + if (primitives == TQualifier::layoutNotSet) + primitives = unit.primitives; + else if (primitives != unit.primitives) { + if (language == EShLangMeshNV) + error(infoSink, "Contradictory layout max_primitives values"); + else + assert(0); + } + + if (inputPrimitive == ElgNone) + inputPrimitive = unit.inputPrimitive; + else if (unit.inputPrimitive != ElgNone && inputPrimitive != unit.inputPrimitive) + error(infoSink, "Contradictory input layout primitives"); + + if (outputPrimitive == ElgNone) + outputPrimitive = unit.outputPrimitive; + else if (unit.outputPrimitive != ElgNone && outputPrimitive != unit.outputPrimitive) + error(infoSink, "Contradictory output layout primitives"); + + if (originUpperLeft != unit.originUpperLeft || pixelCenterInteger != unit.pixelCenterInteger) + error(infoSink, "gl_FragCoord redeclarations must match across shaders"); + + if (vertexSpacing == EvsNone) + vertexSpacing = unit.vertexSpacing; + else if (vertexSpacing != unit.vertexSpacing) + error(infoSink, "Contradictory input vertex spacing"); + + if (vertexOrder == EvoNone) + vertexOrder = unit.vertexOrder; + else if (vertexOrder != unit.vertexOrder) + error(infoSink, "Contradictory triangle ordering"); + + MERGE_TRUE(pointMode); + + for (int i = 0; i < 3; ++i) { + if (unit.localSizeNotDefault[i]) { + if (!localSizeNotDefault[i]) { + localSize[i] = unit.localSize[i]; + localSizeNotDefault[i] = true; + } + else if (localSize[i] != unit.localSize[i]) + error(infoSink, "Contradictory local size"); + } + + if (localSizeSpecId[i] == TQualifier::layoutNotSet) + localSizeSpecId[i] = unit.localSizeSpecId[i]; + else if (localSizeSpecId[i] != unit.localSizeSpecId[i]) + error(infoSink, "Contradictory local size specialization ids"); + } + + MERGE_TRUE(earlyFragmentTests); + MERGE_TRUE(postDepthCoverage); + + if (depthLayout == EldNone) + depthLayout = unit.depthLayout; + else if (depthLayout != unit.depthLayout) + error(infoSink, "Contradictory depth layouts"); + + MERGE_TRUE(depthReplacing); + MERGE_TRUE(hlslFunctionality1); + + blendEquations |= unit.blendEquations; + + MERGE_TRUE(xfbMode); + + for (size_t b = 0; b < xfbBuffers.size(); ++b) { + if (xfbBuffers[b].stride == TQualifier::layoutXfbStrideEnd) + xfbBuffers[b].stride = unit.xfbBuffers[b].stride; + else if (xfbBuffers[b].stride != unit.xfbBuffers[b].stride) + error(infoSink, "Contradictory xfb_stride"); + xfbBuffers[b].implicitStride = std::max(xfbBuffers[b].implicitStride, unit.xfbBuffers[b].implicitStride); + if (unit.xfbBuffers[b].contains64BitType) + xfbBuffers[b].contains64BitType = true; + if (unit.xfbBuffers[b].contains32BitType) + xfbBuffers[b].contains32BitType = true; + if (unit.xfbBuffers[b].contains16BitType) + xfbBuffers[b].contains16BitType = true; + // TODO: 4.4 link: enhanced layouts: compare ranges + } + + MERGE_TRUE(multiStream); + MERGE_TRUE(layoutOverrideCoverage); + MERGE_TRUE(geoPassthroughEXT); + + for (unsigned int i = 0; i < unit.shiftBinding.size(); ++i) { + if (unit.shiftBinding[i] > 0) + setShiftBinding((TResourceType)i, unit.shiftBinding[i]); + } + + for (unsigned int i = 0; i < unit.shiftBindingForSet.size(); ++i) { + for (auto it = unit.shiftBindingForSet[i].begin(); it != unit.shiftBindingForSet[i].end(); ++it) + setShiftBindingForSet((TResourceType)i, it->second, it->first); + } + + resourceSetBinding.insert(resourceSetBinding.end(), unit.resourceSetBinding.begin(), unit.resourceSetBinding.end()); + + MERGE_TRUE(autoMapBindings); + MERGE_TRUE(autoMapLocations); + MERGE_TRUE(invertY); + MERGE_TRUE(flattenUniformArrays); + MERGE_TRUE(useUnknownFormat); + MERGE_TRUE(hlslOffsets); + MERGE_TRUE(useStorageBuffer); + MERGE_TRUE(hlslIoMapping); + + // TODO: sourceFile + // TODO: sourceText + // TODO: processes + + MERGE_TRUE(needToLegalize); + MERGE_TRUE(binaryDoubleOutput); + MERGE_TRUE(usePhysicalStorageBuffer); +} + +// +// Merge the 'unit' AST into 'this' AST. +// That includes rationalizing the unique IDs, which were set up independently, +// and might have overlaps that are not the same symbol, or might have different +// IDs for what should be the same shared symbol. +// +void TIntermediate::mergeTrees(TInfoSink& infoSink, TIntermediate& unit) +{ + if (unit.treeRoot == nullptr) + return; + + if (treeRoot == nullptr) { + treeRoot = unit.treeRoot; + return; + } + + // Getting this far means we have two existing trees to merge... + numShaderRecordBlocks += unit.numShaderRecordBlocks; + numTaskNVBlocks += unit.numTaskNVBlocks; + + // Get the top-level globals of each unit + TIntermSequence& globals = treeRoot->getAsAggregate()->getSequence(); + TIntermSequence& unitGlobals = unit.treeRoot->getAsAggregate()->getSequence(); + + // Get the linker-object lists + TIntermSequence& linkerObjects = findLinkerObjects()->getSequence(); + const TIntermSequence& unitLinkerObjects = unit.findLinkerObjects()->getSequence(); + + // Map by global name to unique ID to rationalize the same object having + // differing IDs in different trees. + TIdMaps idMaps; + int maxId; + seedIdMap(idMaps, maxId); + remapIds(idMaps, maxId + 1, unit); + + mergeBodies(infoSink, globals, unitGlobals); + mergeLinkerObjects(infoSink, linkerObjects, unitLinkerObjects); + ioAccessed.insert(unit.ioAccessed.begin(), unit.ioAccessed.end()); +} + +#endif + +static const TString& getNameForIdMap(TIntermSymbol* symbol) +{ + TShaderInterface si = symbol->getType().getShaderInterface(); + if (si == EsiNone) + return symbol->getName(); + else + return symbol->getType().getTypeName(); +} + + + +// Traverser that seeds an ID map with all built-ins, and tracks the +// maximum ID used. +// (It would be nice to put this in a function, but that causes warnings +// on having no bodies for the copy-constructor/operator=.) +class TBuiltInIdTraverser : public TIntermTraverser { +public: + TBuiltInIdTraverser(TIdMaps& idMaps) : idMaps(idMaps), maxId(0) { } + // If it's a built in, add it to the map. + // Track the max ID. + virtual void visitSymbol(TIntermSymbol* symbol) + { + const TQualifier& qualifier = symbol->getType().getQualifier(); + if (qualifier.builtIn != EbvNone) { + TShaderInterface si = symbol->getType().getShaderInterface(); + idMaps[si][getNameForIdMap(symbol)] = symbol->getId(); + } + maxId = std::max(maxId, symbol->getId()); + } + int getMaxId() const { return maxId; } +protected: + TBuiltInIdTraverser(TBuiltInIdTraverser&); + TBuiltInIdTraverser& operator=(TBuiltInIdTraverser&); + TIdMaps& idMaps; + int maxId; +}; + +// Traverser that seeds an ID map with non-builtins. +// (It would be nice to put this in a function, but that causes warnings +// on having no bodies for the copy-constructor/operator=.) +class TUserIdTraverser : public TIntermTraverser { +public: + TUserIdTraverser(TIdMaps& idMaps) : idMaps(idMaps) { } + // If its a non-built-in global, add it to the map. + virtual void visitSymbol(TIntermSymbol* symbol) + { + const TQualifier& qualifier = symbol->getType().getQualifier(); + if (qualifier.builtIn == EbvNone) { + TShaderInterface si = symbol->getType().getShaderInterface(); + idMaps[si][getNameForIdMap(symbol)] = symbol->getId(); + } + } + +protected: + TUserIdTraverser(TUserIdTraverser&); + TUserIdTraverser& operator=(TUserIdTraverser&); + TIdMaps& idMaps; // over biggest id +}; + +// Initialize the the ID map with what we know of 'this' AST. +void TIntermediate::seedIdMap(TIdMaps& idMaps, int& maxId) +{ + // all built-ins everywhere need to align on IDs and contribute to the max ID + TBuiltInIdTraverser builtInIdTraverser(idMaps); + treeRoot->traverse(&builtInIdTraverser); + maxId = builtInIdTraverser.getMaxId(); + + // user variables in the linker object list need to align on ids + TUserIdTraverser userIdTraverser(idMaps); + findLinkerObjects()->traverse(&userIdTraverser); +} + +// Traverser to map an AST ID to what was known from the seeding AST. +// (It would be nice to put this in a function, but that causes warnings +// on having no bodies for the copy-constructor/operator=.) +class TRemapIdTraverser : public TIntermTraverser { +public: + TRemapIdTraverser(const TIdMaps& idMaps, int idShift) : idMaps(idMaps), idShift(idShift) { } + // Do the mapping: + // - if the same symbol, adopt the 'this' ID + // - otherwise, ensure a unique ID by shifting to a new space + virtual void visitSymbol(TIntermSymbol* symbol) + { + const TQualifier& qualifier = symbol->getType().getQualifier(); + bool remapped = false; + if (qualifier.isLinkable() || qualifier.builtIn != EbvNone) { + TShaderInterface si = symbol->getType().getShaderInterface(); + auto it = idMaps[si].find(getNameForIdMap(symbol)); + if (it != idMaps[si].end()) { + symbol->changeId(it->second); + remapped = true; + } + } + if (!remapped) + symbol->changeId(symbol->getId() + idShift); + } +protected: + TRemapIdTraverser(TRemapIdTraverser&); + TRemapIdTraverser& operator=(TRemapIdTraverser&); + const TIdMaps& idMaps; + int idShift; +}; + +void TIntermediate::remapIds(const TIdMaps& idMaps, int idShift, TIntermediate& unit) +{ + // Remap all IDs to either share or be unique, as dictated by the idMap and idShift. + TRemapIdTraverser idTraverser(idMaps, idShift); + unit.getTreeRoot()->traverse(&idTraverser); +} + +// +// Merge the function bodies and global-level initializers from unitGlobals into globals. +// Will error check duplication of function bodies for the same signature. +// +void TIntermediate::mergeBodies(TInfoSink& infoSink, TIntermSequence& globals, const TIntermSequence& unitGlobals) +{ + // TODO: link-time performance: Processing in alphabetical order will be faster + + // Error check the global objects, not including the linker objects + for (unsigned int child = 0; child < globals.size() - 1; ++child) { + for (unsigned int unitChild = 0; unitChild < unitGlobals.size() - 1; ++unitChild) { + TIntermAggregate* body = globals[child]->getAsAggregate(); + TIntermAggregate* unitBody = unitGlobals[unitChild]->getAsAggregate(); + if (body && unitBody && body->getOp() == EOpFunction && unitBody->getOp() == EOpFunction && body->getName() == unitBody->getName()) { + error(infoSink, "Multiple function bodies in multiple compilation units for the same signature in the same stage:"); + infoSink.info << " " << globals[child]->getAsAggregate()->getName() << "\n"; + } + } + } + + // Merge the global objects, just in front of the linker objects + globals.insert(globals.end() - 1, unitGlobals.begin(), unitGlobals.end() - 1); +} + +// +// Merge the linker objects from unitLinkerObjects into linkerObjects. +// Duplication is expected and filtered out, but contradictions are an error. +// +void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& linkerObjects, const TIntermSequence& unitLinkerObjects) +{ + // Error check and merge the linker objects (duplicates should not be created) + std::size_t initialNumLinkerObjects = linkerObjects.size(); + for (unsigned int unitLinkObj = 0; unitLinkObj < unitLinkerObjects.size(); ++unitLinkObj) { + bool merge = true; + for (std::size_t linkObj = 0; linkObj < initialNumLinkerObjects; ++linkObj) { + TIntermSymbol* symbol = linkerObjects[linkObj]->getAsSymbolNode(); + TIntermSymbol* unitSymbol = unitLinkerObjects[unitLinkObj]->getAsSymbolNode(); + assert(symbol && unitSymbol); + + bool isSameSymbol = false; + // If they are both blocks in the same shader interface, + // match by the block-name, not the identifier name. + if (symbol->getType().getBasicType() == EbtBlock && unitSymbol->getType().getBasicType() == EbtBlock) { + if (symbol->getType().getShaderInterface() == unitSymbol->getType().getShaderInterface()) { + isSameSymbol = symbol->getType().getTypeName() == unitSymbol->getType().getTypeName(); + } + } + else if (symbol->getName() == unitSymbol->getName()) + isSameSymbol = true; + + if (isSameSymbol) { + // filter out copy + merge = false; + + // but if one has an initializer and the other does not, update + // the initializer + if (symbol->getConstArray().empty() && ! unitSymbol->getConstArray().empty()) + symbol->setConstArray(unitSymbol->getConstArray()); + + // Similarly for binding + if (! symbol->getQualifier().hasBinding() && unitSymbol->getQualifier().hasBinding()) + symbol->getQualifier().layoutBinding = unitSymbol->getQualifier().layoutBinding; + + // Update implicit array sizes + mergeImplicitArraySizes(symbol->getWritableType(), unitSymbol->getType()); + + // Check for consistent types/qualification/initializers etc. + mergeErrorCheck(infoSink, *symbol, *unitSymbol, false); + } + // If different symbols, verify they arn't push_constant since there can only be one per stage + else if (symbol->getQualifier().isPushConstant() && unitSymbol->getQualifier().isPushConstant()) + error(infoSink, "Only one push_constant block is allowed per stage"); + } + if (merge) + linkerObjects.push_back(unitLinkerObjects[unitLinkObj]); + } +} + +// TODO 4.5 link functionality: cull distance array size checking + +// Recursively merge the implicit array sizes through the objects' respective type trees. +void TIntermediate::mergeImplicitArraySizes(TType& type, const TType& unitType) +{ + if (type.isUnsizedArray()) { + if (unitType.isUnsizedArray()) { + type.updateImplicitArraySize(unitType.getImplicitArraySize()); + if (unitType.isArrayVariablyIndexed()) + type.setArrayVariablyIndexed(); + } else if (unitType.isSizedArray()) + type.changeOuterArraySize(unitType.getOuterArraySize()); + } + + // Type mismatches are caught and reported after this, just be careful for now. + if (! type.isStruct() || ! unitType.isStruct() || type.getStruct()->size() != unitType.getStruct()->size()) + return; + + for (int i = 0; i < (int)type.getStruct()->size(); ++i) + mergeImplicitArraySizes(*(*type.getStruct())[i].type, *(*unitType.getStruct())[i].type); +} + +// +// Compare two global objects from two compilation units and see if they match +// well enough. Rules can be different for intra- vs. cross-stage matching. +// +// This function only does one of intra- or cross-stage matching per call. +// +void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& symbol, const TIntermSymbol& unitSymbol, bool crossStage) +{ +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + bool writeTypeComparison = false; + + // Types have to match + if (symbol.getType() != unitSymbol.getType()) { + // but, we make an exception if one is an implicit array and the other is sized + if (! (symbol.getType().isArray() && unitSymbol.getType().isArray() && + symbol.getType().sameElementType(unitSymbol.getType()) && + (symbol.getType().isUnsizedArray() || unitSymbol.getType().isUnsizedArray()))) { + error(infoSink, "Types must match:"); + writeTypeComparison = true; + } + } + + // Qualifiers have to (almost) match + + // Storage... + if (symbol.getQualifier().storage != unitSymbol.getQualifier().storage) { + error(infoSink, "Storage qualifiers must match:"); + writeTypeComparison = true; + } + + // Uniform and buffer blocks must either both have an instance name, or + // must both be anonymous. The names don't need to match though. + if (symbol.getQualifier().isUniformOrBuffer() && + (IsAnonymous(symbol.getName()) != IsAnonymous(unitSymbol.getName()))) { + error(infoSink, "Matched Uniform or Storage blocks must all be anonymous," + " or all be named:"); + writeTypeComparison = true; + } + + if (symbol.getQualifier().storage == unitSymbol.getQualifier().storage && + (IsAnonymous(symbol.getName()) != IsAnonymous(unitSymbol.getName()) || + (!IsAnonymous(symbol.getName()) && symbol.getName() != unitSymbol.getName()))) { + warn(infoSink, "Matched shader interfaces are using different instance names."); + writeTypeComparison = true; + } + + // Precision... + if (symbol.getQualifier().precision != unitSymbol.getQualifier().precision) { + error(infoSink, "Precision qualifiers must match:"); + writeTypeComparison = true; + } + + // Invariance... + if (! crossStage && symbol.getQualifier().invariant != unitSymbol.getQualifier().invariant) { + error(infoSink, "Presence of invariant qualifier must match:"); + writeTypeComparison = true; + } + + // Precise... + if (! crossStage && symbol.getQualifier().isNoContraction() != unitSymbol.getQualifier().isNoContraction()) { + error(infoSink, "Presence of precise qualifier must match:"); + writeTypeComparison = true; + } + + // Auxiliary and interpolation... + if (symbol.getQualifier().centroid != unitSymbol.getQualifier().centroid || + symbol.getQualifier().smooth != unitSymbol.getQualifier().smooth || + symbol.getQualifier().flat != unitSymbol.getQualifier().flat || + symbol.getQualifier().isSample()!= unitSymbol.getQualifier().isSample() || + symbol.getQualifier().isPatch() != unitSymbol.getQualifier().isPatch() || + symbol.getQualifier().isNonPerspective() != unitSymbol.getQualifier().isNonPerspective()) { + error(infoSink, "Interpolation and auxiliary storage qualifiers must match:"); + writeTypeComparison = true; + } + + // Memory... + if (symbol.getQualifier().coherent != unitSymbol.getQualifier().coherent || + symbol.getQualifier().devicecoherent != unitSymbol.getQualifier().devicecoherent || + symbol.getQualifier().queuefamilycoherent != unitSymbol.getQualifier().queuefamilycoherent || + symbol.getQualifier().workgroupcoherent != unitSymbol.getQualifier().workgroupcoherent || + symbol.getQualifier().subgroupcoherent != unitSymbol.getQualifier().subgroupcoherent || + symbol.getQualifier().shadercallcoherent!= unitSymbol.getQualifier().shadercallcoherent || + symbol.getQualifier().nonprivate != unitSymbol.getQualifier().nonprivate || + symbol.getQualifier().volatil != unitSymbol.getQualifier().volatil || + symbol.getQualifier().restrict != unitSymbol.getQualifier().restrict || + symbol.getQualifier().readonly != unitSymbol.getQualifier().readonly || + symbol.getQualifier().writeonly != unitSymbol.getQualifier().writeonly) { + error(infoSink, "Memory qualifiers must match:"); + writeTypeComparison = true; + } + + // Layouts... + // TODO: 4.4 enhanced layouts: Generalize to include offset/align: current spec + // requires separate user-supplied offset from actual computed offset, but + // current implementation only has one offset. + if (symbol.getQualifier().layoutMatrix != unitSymbol.getQualifier().layoutMatrix || + symbol.getQualifier().layoutPacking != unitSymbol.getQualifier().layoutPacking || + symbol.getQualifier().layoutLocation != unitSymbol.getQualifier().layoutLocation || + symbol.getQualifier().layoutComponent != unitSymbol.getQualifier().layoutComponent || + symbol.getQualifier().layoutIndex != unitSymbol.getQualifier().layoutIndex || + symbol.getQualifier().layoutBinding != unitSymbol.getQualifier().layoutBinding || + (symbol.getQualifier().hasBinding() && (symbol.getQualifier().layoutOffset != unitSymbol.getQualifier().layoutOffset))) { + error(infoSink, "Layout qualification must match:"); + writeTypeComparison = true; + } + + // Initializers have to match, if both are present, and if we don't already know the types don't match + if (! writeTypeComparison) { + if (! symbol.getConstArray().empty() && ! unitSymbol.getConstArray().empty()) { + if (symbol.getConstArray() != unitSymbol.getConstArray()) { + error(infoSink, "Initializers must match:"); + infoSink.info << " " << symbol.getName() << "\n"; + } + } + } + + if (writeTypeComparison) { + infoSink.info << " " << symbol.getName() << ": \"" << symbol.getType().getCompleteString() << "\" versus "; + if (symbol.getName() != unitSymbol.getName()) + infoSink.info << unitSymbol.getName() << ": "; + + infoSink.info << "\"" << unitSymbol.getType().getCompleteString() << "\"\n"; + } +#endif +} + +// +// Do final link-time error checking of a complete (merged) intermediate representation. +// (Much error checking was done during merging). +// +// Also, lock in defaults of things not set, including array sizes. +// +void TIntermediate::finalCheck(TInfoSink& infoSink, bool keepUncalled) +{ + if (getTreeRoot() == nullptr) + return; + + if (numEntryPoints < 1) { + if (getSource() == EShSourceGlsl) + error(infoSink, "Missing entry point: Each stage requires one entry point"); + else + warn(infoSink, "Entry point not found"); + } + + // recursion and missing body checking + checkCallGraphCycles(infoSink); + checkCallGraphBodies(infoSink, keepUncalled); + + // overlap/alias/missing I/O, etc. + inOutLocationCheck(infoSink); + +#ifndef GLSLANG_WEB + if (getNumPushConstants() > 1) + error(infoSink, "Only one push_constant block is allowed per stage"); + + // invocations + if (invocations == TQualifier::layoutNotSet) + invocations = 1; + + if (inIoAccessed("gl_ClipDistance") && inIoAccessed("gl_ClipVertex")) + error(infoSink, "Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)"); + if (inIoAccessed("gl_CullDistance") && inIoAccessed("gl_ClipVertex")) + error(infoSink, "Can only use one of gl_CullDistance or gl_ClipVertex (gl_ClipDistance is preferred)"); + + if (userOutputUsed() && (inIoAccessed("gl_FragColor") || inIoAccessed("gl_FragData"))) + error(infoSink, "Cannot use gl_FragColor or gl_FragData when using user-defined outputs"); + if (inIoAccessed("gl_FragColor") && inIoAccessed("gl_FragData")) + error(infoSink, "Cannot use both gl_FragColor and gl_FragData"); + + for (size_t b = 0; b < xfbBuffers.size(); ++b) { + if (xfbBuffers[b].contains64BitType) + RoundToPow2(xfbBuffers[b].implicitStride, 8); + else if (xfbBuffers[b].contains32BitType) + RoundToPow2(xfbBuffers[b].implicitStride, 4); + else if (xfbBuffers[b].contains16BitType) + RoundToPow2(xfbBuffers[b].implicitStride, 2); + + // "It is a compile-time or link-time error to have + // any xfb_offset that overflows xfb_stride, whether stated on declarations before or after the xfb_stride, or + // in different compilation units. While xfb_stride can be declared multiple times for the same buffer, it is a + // compile-time or link-time error to have different values specified for the stride for the same buffer." + if (xfbBuffers[b].stride != TQualifier::layoutXfbStrideEnd && xfbBuffers[b].implicitStride > xfbBuffers[b].stride) { + error(infoSink, "xfb_stride is too small to hold all buffer entries:"); + infoSink.info.prefix(EPrefixError); + infoSink.info << " xfb_buffer " << (unsigned int)b << ", xfb_stride " << xfbBuffers[b].stride << ", minimum stride needed: " << xfbBuffers[b].implicitStride << "\n"; + } + if (xfbBuffers[b].stride == TQualifier::layoutXfbStrideEnd) + xfbBuffers[b].stride = xfbBuffers[b].implicitStride; + + // "If the buffer is capturing any + // outputs with double-precision or 64-bit integer components, the stride must be a multiple of 8, otherwise it must be a + // multiple of 4, or a compile-time or link-time error results." + if (xfbBuffers[b].contains64BitType && ! IsMultipleOfPow2(xfbBuffers[b].stride, 8)) { + error(infoSink, "xfb_stride must be multiple of 8 for buffer holding a double or 64-bit integer:"); + infoSink.info.prefix(EPrefixError); + infoSink.info << " xfb_buffer " << (unsigned int)b << ", xfb_stride " << xfbBuffers[b].stride << "\n"; + } else if (xfbBuffers[b].contains32BitType && ! IsMultipleOfPow2(xfbBuffers[b].stride, 4)) { + error(infoSink, "xfb_stride must be multiple of 4:"); + infoSink.info.prefix(EPrefixError); + infoSink.info << " xfb_buffer " << (unsigned int)b << ", xfb_stride " << xfbBuffers[b].stride << "\n"; + } + // "If the buffer is capturing any + // outputs with half-precision or 16-bit integer components, the stride must be a multiple of 2" + else if (xfbBuffers[b].contains16BitType && ! IsMultipleOfPow2(xfbBuffers[b].stride, 2)) { + error(infoSink, "xfb_stride must be multiple of 2 for buffer holding a half float or 16-bit integer:"); + infoSink.info.prefix(EPrefixError); + infoSink.info << " xfb_buffer " << (unsigned int)b << ", xfb_stride " << xfbBuffers[b].stride << "\n"; + } + + // "The resulting stride (implicit or explicit), when divided by 4, must be less than or equal to the + // implementation-dependent constant gl_MaxTransformFeedbackInterleavedComponents." + if (xfbBuffers[b].stride > (unsigned int)(4 * resources->maxTransformFeedbackInterleavedComponents)) { + error(infoSink, "xfb_stride is too large:"); + infoSink.info.prefix(EPrefixError); + infoSink.info << " xfb_buffer " << (unsigned int)b << ", components (1/4 stride) needed are " << xfbBuffers[b].stride/4 << ", gl_MaxTransformFeedbackInterleavedComponents is " << resources->maxTransformFeedbackInterleavedComponents << "\n"; + } + } + + switch (language) { + case EShLangVertex: + break; + case EShLangTessControl: + if (vertices == TQualifier::layoutNotSet) + error(infoSink, "At least one shader must specify an output layout(vertices=...)"); + break; + case EShLangTessEvaluation: + if (getSource() == EShSourceGlsl) { + if (inputPrimitive == ElgNone) + error(infoSink, "At least one shader must specify an input layout primitive"); + if (vertexSpacing == EvsNone) + vertexSpacing = EvsEqual; + if (vertexOrder == EvoNone) + vertexOrder = EvoCcw; + } + break; + case EShLangGeometry: + if (inputPrimitive == ElgNone) + error(infoSink, "At least one shader must specify an input layout primitive"); + if (outputPrimitive == ElgNone) + error(infoSink, "At least one shader must specify an output layout primitive"); + if (vertices == TQualifier::layoutNotSet) + error(infoSink, "At least one shader must specify a layout(max_vertices = value)"); + break; + case EShLangFragment: + // for GL_ARB_post_depth_coverage, EarlyFragmentTest is set automatically in + // ParseHelper.cpp. So if we reach here, this must be GL_EXT_post_depth_coverage + // requiring explicit early_fragment_tests + if (getPostDepthCoverage() && !getEarlyFragmentTests()) + error(infoSink, "post_depth_coverage requires early_fragment_tests"); + break; + case EShLangCompute: + break; + case EShLangRayGen: + case EShLangIntersect: + case EShLangAnyHit: + case EShLangClosestHit: + case EShLangMiss: + case EShLangCallable: + if (numShaderRecordBlocks > 1) + error(infoSink, "Only one shaderRecordNV buffer block is allowed per stage"); + break; + case EShLangMeshNV: + // NV_mesh_shader doesn't allow use of both single-view and per-view builtins. + if (inIoAccessed("gl_Position") && inIoAccessed("gl_PositionPerViewNV")) + error(infoSink, "Can only use one of gl_Position or gl_PositionPerViewNV"); + if (inIoAccessed("gl_ClipDistance") && inIoAccessed("gl_ClipDistancePerViewNV")) + error(infoSink, "Can only use one of gl_ClipDistance or gl_ClipDistancePerViewNV"); + if (inIoAccessed("gl_CullDistance") && inIoAccessed("gl_CullDistancePerViewNV")) + error(infoSink, "Can only use one of gl_CullDistance or gl_CullDistancePerViewNV"); + if (inIoAccessed("gl_Layer") && inIoAccessed("gl_LayerPerViewNV")) + error(infoSink, "Can only use one of gl_Layer or gl_LayerPerViewNV"); + if (inIoAccessed("gl_ViewportMask") && inIoAccessed("gl_ViewportMaskPerViewNV")) + error(infoSink, "Can only use one of gl_ViewportMask or gl_ViewportMaskPerViewNV"); + if (outputPrimitive == ElgNone) + error(infoSink, "At least one shader must specify an output layout primitive"); + if (vertices == TQualifier::layoutNotSet) + error(infoSink, "At least one shader must specify a layout(max_vertices = value)"); + if (primitives == TQualifier::layoutNotSet) + error(infoSink, "At least one shader must specify a layout(max_primitives = value)"); + // fall through + case EShLangTaskNV: + if (numTaskNVBlocks > 1) + error(infoSink, "Only one taskNV interface block is allowed per shader"); + break; + default: + error(infoSink, "Unknown Stage."); + break; + } + + // Process the tree for any node-specific work. + class TFinalLinkTraverser : public TIntermTraverser { + public: + TFinalLinkTraverser() { } + virtual ~TFinalLinkTraverser() { } + + virtual void visitSymbol(TIntermSymbol* symbol) + { + // Implicitly size arrays. + // If an unsized array is left as unsized, it effectively + // becomes run-time sized. + symbol->getWritableType().adoptImplicitArraySizes(false); + } + } finalLinkTraverser; + + treeRoot->traverse(&finalLinkTraverser); +#endif +} + +// +// See if the call graph contains any static recursion, which is disallowed +// by the specification. +// +void TIntermediate::checkCallGraphCycles(TInfoSink& infoSink) +{ + // Clear fields we'll use for this. + for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { + call->visited = false; + call->currentPath = false; + call->errorGiven = false; + } + + // + // Loop, looking for a new connected subgraph. One subgraph is handled per loop iteration. + // + + TCall* newRoot; + do { + // See if we have unvisited parts of the graph. + newRoot = 0; + for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { + if (! call->visited) { + newRoot = &(*call); + break; + } + } + + // If not, we are done. + if (! newRoot) + break; + + // Otherwise, we found a new subgraph, process it: + // See what all can be reached by this new root, and if any of + // that is recursive. This is done by depth-first traversals, seeing + // if a new call is found that was already in the currentPath (a back edge), + // thereby detecting recursion. + std::list stack; + newRoot->currentPath = true; // currentPath will be true iff it is on the stack + stack.push_back(newRoot); + while (! stack.empty()) { + // get a caller + TCall* call = stack.back(); + + // Add to the stack just one callee. + // This algorithm always terminates, because only !visited and !currentPath causes a push + // and all pushes change currentPath to true, and all pops change visited to true. + TGraph::iterator child = callGraph.begin(); + for (; child != callGraph.end(); ++child) { + + // If we already visited this node, its whole subgraph has already been processed, so skip it. + if (child->visited) + continue; + + if (call->callee == child->caller) { + if (child->currentPath) { + // Then, we found a back edge + if (! child->errorGiven) { + error(infoSink, "Recursion detected:"); + infoSink.info << " " << call->callee << " calling " << child->callee << "\n"; + child->errorGiven = true; + recursive = true; + } + } else { + child->currentPath = true; + stack.push_back(&(*child)); + break; + } + } + } + if (child == callGraph.end()) { + // no more callees, we bottomed out, never look at this node again + stack.back()->currentPath = false; + stack.back()->visited = true; + stack.pop_back(); + } + } // end while, meaning nothing left to process in this subtree + + } while (newRoot); // redundant loop check; should always exit via the 'break' above +} + +// +// See which functions are reachable from the entry point and which have bodies. +// Reachable ones with missing bodies are errors. +// Unreachable bodies are dead code. +// +void TIntermediate::checkCallGraphBodies(TInfoSink& infoSink, bool keepUncalled) +{ + // Clear fields we'll use for this. + for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { + call->visited = false; + call->calleeBodyPosition = -1; + } + + // The top level of the AST includes function definitions (bodies). + // Compare these to function calls in the call graph. + // We'll end up knowing which have bodies, and if so, + // how to map the call-graph node to the location in the AST. + TIntermSequence &functionSequence = getTreeRoot()->getAsAggregate()->getSequence(); + std::vector reachable(functionSequence.size(), true); // so that non-functions are reachable + for (int f = 0; f < (int)functionSequence.size(); ++f) { + glslang::TIntermAggregate* node = functionSequence[f]->getAsAggregate(); + if (node && (node->getOp() == glslang::EOpFunction)) { + if (node->getName().compare(getEntryPointMangledName().c_str()) != 0) + reachable[f] = false; // so that function bodies are unreachable, until proven otherwise + for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { + if (call->callee == node->getName()) + call->calleeBodyPosition = f; + } + } + } + + // Start call-graph traversal by visiting the entry point nodes. + for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { + if (call->caller.compare(getEntryPointMangledName().c_str()) == 0) + call->visited = true; + } + + // Propagate 'visited' through the call-graph to every part of the graph it + // can reach (seeded with the entry-point setting above). + bool changed; + do { + changed = false; + for (auto call1 = callGraph.begin(); call1 != callGraph.end(); ++call1) { + if (call1->visited) { + for (TGraph::iterator call2 = callGraph.begin(); call2 != callGraph.end(); ++call2) { + if (! call2->visited) { + if (call1->callee == call2->caller) { + changed = true; + call2->visited = true; + } + } + } + } + } + } while (changed); + + // Any call-graph node set to visited but without a callee body is an error. + for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { + if (call->visited) { + if (call->calleeBodyPosition == -1) { + error(infoSink, "No function definition (body) found: "); + infoSink.info << " " << call->callee << "\n"; + } else + reachable[call->calleeBodyPosition] = true; + } + } + + // Bodies in the AST not reached by the call graph are dead; + // clear them out, since they can't be reached and also can't + // be translated further due to possibility of being ill defined. + if (! keepUncalled) { + for (int f = 0; f < (int)functionSequence.size(); ++f) { + if (! reachable[f]) + functionSequence[f] = nullptr; + } + functionSequence.erase(std::remove(functionSequence.begin(), functionSequence.end(), nullptr), functionSequence.end()); + } +} + +// +// Satisfy rules for location qualifiers on inputs and outputs +// +void TIntermediate::inOutLocationCheck(TInfoSink& infoSink) +{ + // ES 3.0 requires all outputs to have location qualifiers if there is more than one output + bool fragOutWithNoLocation = false; + int numFragOut = 0; + + // TODO: linker functionality: location collision checking + + TIntermSequence& linkObjects = findLinkerObjects()->getSequence(); + for (size_t i = 0; i < linkObjects.size(); ++i) { + const TType& type = linkObjects[i]->getAsTyped()->getType(); + const TQualifier& qualifier = type.getQualifier(); + if (language == EShLangFragment) { + if (qualifier.storage == EvqVaryingOut && qualifier.builtIn == EbvNone) { + ++numFragOut; + if (!qualifier.hasAnyLocation()) + fragOutWithNoLocation = true; + } + } + } + + if (isEsProfile()) { + if (numFragOut > 1 && fragOutWithNoLocation) + error(infoSink, "when more than one fragment shader output, all must have location qualifiers"); + } +} + +TIntermAggregate* TIntermediate::findLinkerObjects() const +{ + // Get the top-level globals + TIntermSequence& globals = treeRoot->getAsAggregate()->getSequence(); + + // Get the last member of the sequences, expected to be the linker-object lists + assert(globals.back()->getAsAggregate()->getOp() == EOpLinkerObjects); + + return globals.back()->getAsAggregate(); +} + +// See if a variable was both a user-declared output and used. +// Note: the spec discusses writing to one, but this looks at read or write, which +// is more useful, and perhaps the spec should be changed to reflect that. +bool TIntermediate::userOutputUsed() const +{ + const TIntermSequence& linkerObjects = findLinkerObjects()->getSequence(); + + bool found = false; + for (size_t i = 0; i < linkerObjects.size(); ++i) { + const TIntermSymbol& symbolNode = *linkerObjects[i]->getAsSymbolNode(); + if (symbolNode.getQualifier().storage == EvqVaryingOut && + symbolNode.getName().compare(0, 3, "gl_") != 0 && + inIoAccessed(symbolNode.getName())) { + found = true; + break; + } + } + + return found; +} + +// Accumulate locations used for inputs, outputs, and uniforms, payload and callable data +// and check for collisions as the accumulation is done. +// +// Returns < 0 if no collision, >= 0 if collision and the value returned is a colliding value. +// +// typeCollision is set to true if there is no direct collision, but the types in the same location +// are different. +// +int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& type, bool& typeCollision) +{ + typeCollision = false; + + int set; + int setRT; + if (qualifier.isPipeInput()) + set = 0; + else if (qualifier.isPipeOutput()) + set = 1; + else if (qualifier.storage == EvqUniform) + set = 2; + else if (qualifier.storage == EvqBuffer) + set = 3; + else if (qualifier.isAnyPayload()) + setRT = 0; + else if (qualifier.isAnyCallable()) + setRT = 1; + else + return -1; + + int size; + if (qualifier.isAnyPayload() || qualifier.isAnyCallable()) { + size = 1; + } else if (qualifier.isUniformOrBuffer() || qualifier.isTaskMemory()) { + if (type.isSizedArray()) + size = type.getCumulativeArraySize(); + else + size = 1; + } else { + // Strip off the outer array dimension for those having an extra one. + if (type.isArray() && qualifier.isArrayedIo(language)) { + TType elementType(type, 0); + size = computeTypeLocationSize(elementType, language); + } else + size = computeTypeLocationSize(type, language); + } + + // Locations, and components within locations. + // + // Almost always, dealing with components means a single location is involved. + // The exception is a dvec3. From the spec: + // + // "A dvec3 will consume all four components of the first location and components 0 and 1 of + // the second location. This leaves components 2 and 3 available for other component-qualified + // declarations." + // + // That means, without ever mentioning a component, a component range + // for a different location gets specified, if it's not a vertex shader input. (!) + // (A vertex shader input will show using only one location, even for a dvec3/4.) + // + // So, for the case of dvec3, we need two independent ioRanges. + // + // For raytracing IO (payloads and callabledata) each declaration occupies a single + // slot irrespective of type. + int collision = -1; // no collision +#ifndef GLSLANG_WEB + if (qualifier.isAnyPayload() || qualifier.isAnyCallable()) { + TRange range(qualifier.layoutLocation, qualifier.layoutLocation); + collision = checkLocationRT(setRT, qualifier.layoutLocation); + if (collision < 0) + usedIoRT[setRT].push_back(range); + } else if (size == 2 && type.getBasicType() == EbtDouble && type.getVectorSize() == 3 && + (qualifier.isPipeInput() || qualifier.isPipeOutput())) { + // Dealing with dvec3 in/out split across two locations. + // Need two io-ranges. + // The case where the dvec3 doesn't start at component 0 was previously caught as overflow. + + // First range: + TRange locationRange(qualifier.layoutLocation, qualifier.layoutLocation); + TRange componentRange(0, 3); + TIoRange range(locationRange, componentRange, type.getBasicType(), 0); + + // check for collisions + collision = checkLocationRange(set, range, type, typeCollision); + if (collision < 0) { + usedIo[set].push_back(range); + + // Second range: + TRange locationRange2(qualifier.layoutLocation + 1, qualifier.layoutLocation + 1); + TRange componentRange2(0, 1); + TIoRange range2(locationRange2, componentRange2, type.getBasicType(), 0); + + // check for collisions + collision = checkLocationRange(set, range2, type, typeCollision); + if (collision < 0) + usedIo[set].push_back(range2); + } + } else +#endif + { + // Not a dvec3 in/out split across two locations, generic path. + // Need a single IO-range block. + + TRange locationRange(qualifier.layoutLocation, qualifier.layoutLocation + size - 1); + TRange componentRange(0, 3); + if (qualifier.hasComponent() || type.getVectorSize() > 0) { + int consumedComponents = type.getVectorSize() * (type.getBasicType() == EbtDouble ? 2 : 1); + if (qualifier.hasComponent()) + componentRange.start = qualifier.layoutComponent; + componentRange.last = componentRange.start + consumedComponents - 1; + } + + // combine location and component ranges + TIoRange range(locationRange, componentRange, type.getBasicType(), qualifier.hasIndex() ? qualifier.getIndex() : 0); + + // check for collisions, except for vertex inputs on desktop targeting OpenGL + if (! (!isEsProfile() && language == EShLangVertex && qualifier.isPipeInput()) || spvVersion.vulkan > 0) + collision = checkLocationRange(set, range, type, typeCollision); + + if (collision < 0) + usedIo[set].push_back(range); + } + + return collision; +} + +// Compare a new (the passed in) 'range' against the existing set, and see +// if there are any collisions. +// +// Returns < 0 if no collision, >= 0 if collision and the value returned is a colliding value. +// +int TIntermediate::checkLocationRange(int set, const TIoRange& range, const TType& type, bool& typeCollision) +{ + for (size_t r = 0; r < usedIo[set].size(); ++r) { + if (range.overlap(usedIo[set][r])) { + // there is a collision; pick one + return std::max(range.location.start, usedIo[set][r].location.start); + } else if (range.location.overlap(usedIo[set][r].location) && type.getBasicType() != usedIo[set][r].basicType) { + // aliased-type mismatch + typeCollision = true; + return std::max(range.location.start, usedIo[set][r].location.start); + } + } + + return -1; // no collision +} + +int TIntermediate::checkLocationRT(int set, int location) { + TRange range(location, location); + for (size_t r = 0; r < usedIoRT[set].size(); ++r) { + if (range.overlap(usedIoRT[set][r])) { + return range.start; + } + } + return -1; // no collision +} + +// Accumulate bindings and offsets, and check for collisions +// as the accumulation is done. +// +// Returns < 0 if no collision, >= 0 if collision and the value returned is a colliding value. +// +int TIntermediate::addUsedOffsets(int binding, int offset, int numOffsets) +{ + TRange bindingRange(binding, binding); + TRange offsetRange(offset, offset + numOffsets - 1); + TOffsetRange range(bindingRange, offsetRange); + + // check for collisions, except for vertex inputs on desktop + for (size_t r = 0; r < usedAtomics.size(); ++r) { + if (range.overlap(usedAtomics[r])) { + // there is a collision; pick one + return std::max(offset, usedAtomics[r].offset.start); + } + } + + usedAtomics.push_back(range); + + return -1; // no collision +} + +// Accumulate used constant_id values. +// +// Return false is one was already used. +bool TIntermediate::addUsedConstantId(int id) +{ + if (usedConstantId.find(id) != usedConstantId.end()) + return false; + + usedConstantId.insert(id); + + return true; +} + +// Recursively figure out how many locations are used up by an input or output type. +// Return the size of type, as measured by "locations". +int TIntermediate::computeTypeLocationSize(const TType& type, EShLanguage stage) +{ + // "If the declared input is an array of size n and each element takes m locations, it will be assigned m * n + // consecutive locations..." + if (type.isArray()) { + // TODO: perf: this can be flattened by using getCumulativeArraySize(), and a deref that discards all arrayness + // TODO: are there valid cases of having an unsized array with a location? If so, running this code too early. + TType elementType(type, 0); + if (type.isSizedArray() && !type.getQualifier().isPerView()) + return type.getOuterArraySize() * computeTypeLocationSize(elementType, stage); + else { +#ifndef GLSLANG_WEB + // unset perViewNV attributes for arrayed per-view outputs: "perviewNV vec4 v[MAX_VIEWS][3];" + elementType.getQualifier().perViewNV = false; +#endif + return computeTypeLocationSize(elementType, stage); + } + } + + // "The locations consumed by block and structure members are determined by applying the rules above + // recursively..." + if (type.isStruct()) { + int size = 0; + for (int member = 0; member < (int)type.getStruct()->size(); ++member) { + TType memberType(type, member); + size += computeTypeLocationSize(memberType, stage); + } + return size; + } + + // ES: "If a shader input is any scalar or vector type, it will consume a single location." + + // Desktop: "If a vertex shader input is any scalar or vector type, it will consume a single location. If a non-vertex + // shader input is a scalar or vector type other than dvec3 or dvec4, it will consume a single location, while + // types dvec3 or dvec4 will consume two consecutive locations. Inputs of type double and dvec2 will + // consume only a single location, in all stages." + if (type.isScalar()) + return 1; + if (type.isVector()) { + if (stage == EShLangVertex && type.getQualifier().isPipeInput()) + return 1; + if (type.getBasicType() == EbtDouble && type.getVectorSize() > 2) + return 2; + else + return 1; + } + + // "If the declared input is an n x m single- or double-precision matrix, ... + // The number of locations assigned for each matrix will be the same as + // for an n-element array of m-component vectors..." + if (type.isMatrix()) { + TType columnType(type, 0); + return type.getMatrixCols() * computeTypeLocationSize(columnType, stage); + } + + assert(0); + return 1; +} + +// Same as computeTypeLocationSize but for uniforms +int TIntermediate::computeTypeUniformLocationSize(const TType& type) +{ + // "Individual elements of a uniform array are assigned + // consecutive locations with the first element taking location + // location." + if (type.isArray()) { + // TODO: perf: this can be flattened by using getCumulativeArraySize(), and a deref that discards all arrayness + TType elementType(type, 0); + if (type.isSizedArray()) { + return type.getOuterArraySize() * computeTypeUniformLocationSize(elementType); + } else { + // TODO: are there valid cases of having an implicitly-sized array with a location? If so, running this code too early. + return computeTypeUniformLocationSize(elementType); + } + } + + // "Each subsequent inner-most member or element gets incremental + // locations for the entire structure or array." + if (type.isStruct()) { + int size = 0; + for (int member = 0; member < (int)type.getStruct()->size(); ++member) { + TType memberType(type, member); + size += computeTypeUniformLocationSize(memberType); + } + return size; + } + + return 1; +} + +#ifndef GLSLANG_WEB + +// Accumulate xfb buffer ranges and check for collisions as the accumulation is done. +// +// Returns < 0 if no collision, >= 0 if collision and the value returned is a colliding value. +// +int TIntermediate::addXfbBufferOffset(const TType& type) +{ + const TQualifier& qualifier = type.getQualifier(); + + assert(qualifier.hasXfbOffset() && qualifier.hasXfbBuffer()); + TXfbBuffer& buffer = xfbBuffers[qualifier.layoutXfbBuffer]; + + // compute the range + unsigned int size = computeTypeXfbSize(type, buffer.contains64BitType, buffer.contains32BitType, buffer.contains16BitType); + buffer.implicitStride = std::max(buffer.implicitStride, qualifier.layoutXfbOffset + size); + TRange range(qualifier.layoutXfbOffset, qualifier.layoutXfbOffset + size - 1); + + // check for collisions + for (size_t r = 0; r < buffer.ranges.size(); ++r) { + if (range.overlap(buffer.ranges[r])) { + // there is a collision; pick an example to return + return std::max(range.start, buffer.ranges[r].start); + } + } + + buffer.ranges.push_back(range); + + return -1; // no collision +} + +// Recursively figure out how many bytes of xfb buffer are used by the given type. +// Return the size of type, in bytes. +// Sets contains64BitType to true if the type contains a 64-bit data type. +// Sets contains32BitType to true if the type contains a 32-bit data type. +// Sets contains16BitType to true if the type contains a 16-bit data type. +// N.B. Caller must set contains64BitType, contains32BitType, and contains16BitType to false before calling. +unsigned int TIntermediate::computeTypeXfbSize(const TType& type, bool& contains64BitType, bool& contains32BitType, bool& contains16BitType) const +{ + // "...if applied to an aggregate containing a double or 64-bit integer, the offset must also be a multiple of 8, + // and the space taken in the buffer will be a multiple of 8. + // ...within the qualified entity, subsequent components are each + // assigned, in order, to the next available offset aligned to a multiple of + // that component's size. Aggregate types are flattened down to the component + // level to get this sequence of components." + + if (type.isSizedArray()) { + // TODO: perf: this can be flattened by using getCumulativeArraySize(), and a deref that discards all arrayness + // Unsized array use to xfb should be a compile error. + TType elementType(type, 0); + return type.getOuterArraySize() * computeTypeXfbSize(elementType, contains64BitType, contains16BitType, contains16BitType); + } + + if (type.isStruct()) { + unsigned int size = 0; + bool structContains64BitType = false; + bool structContains32BitType = false; + bool structContains16BitType = false; + for (int member = 0; member < (int)type.getStruct()->size(); ++member) { + TType memberType(type, member); + // "... if applied to + // an aggregate containing a double or 64-bit integer, the offset must also be a multiple of 8, + // and the space taken in the buffer will be a multiple of 8." + bool memberContains64BitType = false; + bool memberContains32BitType = false; + bool memberContains16BitType = false; + int memberSize = computeTypeXfbSize(memberType, memberContains64BitType, memberContains32BitType, memberContains16BitType); + if (memberContains64BitType) { + structContains64BitType = true; + RoundToPow2(size, 8); + } else if (memberContains32BitType) { + structContains32BitType = true; + RoundToPow2(size, 4); + } else if (memberContains16BitType) { + structContains16BitType = true; + RoundToPow2(size, 2); + } + size += memberSize; + } + + if (structContains64BitType) { + contains64BitType = true; + RoundToPow2(size, 8); + } else if (structContains32BitType) { + contains32BitType = true; + RoundToPow2(size, 4); + } else if (structContains16BitType) { + contains16BitType = true; + RoundToPow2(size, 2); + } + return size; + } + + int numComponents; + if (type.isScalar()) + numComponents = 1; + else if (type.isVector()) + numComponents = type.getVectorSize(); + else if (type.isMatrix()) + numComponents = type.getMatrixCols() * type.getMatrixRows(); + else { + assert(0); + numComponents = 1; + } + + if (type.getBasicType() == EbtDouble || type.getBasicType() == EbtInt64 || type.getBasicType() == EbtUint64) { + contains64BitType = true; + return 8 * numComponents; + } else if (type.getBasicType() == EbtFloat16 || type.getBasicType() == EbtInt16 || type.getBasicType() == EbtUint16) { + contains16BitType = true; + return 2 * numComponents; + } else if (type.getBasicType() == EbtInt8 || type.getBasicType() == EbtUint8) + return numComponents; + else { + contains32BitType = true; + return 4 * numComponents; + } +} + +#endif + +const int baseAlignmentVec4Std140 = 16; + +// Return the size and alignment of a component of the given type. +// The size is returned in the 'size' parameter +// Return value is the alignment.. +int TIntermediate::getBaseAlignmentScalar(const TType& type, int& size) +{ +#ifdef GLSLANG_WEB + size = 4; return 4; +#endif + + switch (type.getBasicType()) { + case EbtInt64: + case EbtUint64: + case EbtDouble: size = 8; return 8; + case EbtFloat16: size = 2; return 2; + case EbtInt8: + case EbtUint8: size = 1; return 1; + case EbtInt16: + case EbtUint16: size = 2; return 2; + case EbtReference: size = 8; return 8; + default: size = 4; return 4; + } +} + +// Implement base-alignment and size rules from section 7.6.2.2 Standard Uniform Block Layout +// Operates recursively. +// +// If std140 is true, it does the rounding up to vec4 size required by std140, +// otherwise it does not, yielding std430 rules. +// +// The size is returned in the 'size' parameter +// +// The stride is only non-0 for arrays or matrices, and is the stride of the +// top-level object nested within the type. E.g., for an array of matrices, +// it is the distances needed between matrices, despite the rules saying the +// stride comes from the flattening down to vectors. +// +// Return value is the alignment of the type. +int TIntermediate::getBaseAlignment(const TType& type, int& size, int& stride, TLayoutPacking layoutPacking, bool rowMajor) +{ + int alignment; + + bool std140 = layoutPacking == glslang::ElpStd140; + // When using the std140 storage layout, structures will be laid out in buffer + // storage with its members stored in monotonically increasing order based on their + // location in the declaration. A structure and each structure member have a base + // offset and a base alignment, from which an aligned offset is computed by rounding + // the base offset up to a multiple of the base alignment. The base offset of the first + // member of a structure is taken from the aligned offset of the structure itself. The + // base offset of all other structure members is derived by taking the offset of the + // last basic machine unit consumed by the previous member and adding one. Each + // structure member is stored in memory at its aligned offset. The members of a top- + // level uniform block are laid out in buffer storage by treating the uniform block as + // a structure with a base offset of zero. + // + // 1. If the member is a scalar consuming N basic machine units, the base alignment is N. + // + // 2. If the member is a two- or four-component vector with components consuming N basic + // machine units, the base alignment is 2N or 4N, respectively. + // + // 3. If the member is a three-component vector with components consuming N + // basic machine units, the base alignment is 4N. + // + // 4. If the member is an array of scalars or vectors, the base alignment and array + // stride are set to match the base alignment of a single array element, according + // to rules (1), (2), and (3), and rounded up to the base alignment of a vec4. The + // array may have padding at the end; the base offset of the member following + // the array is rounded up to the next multiple of the base alignment. + // + // 5. If the member is a column-major matrix with C columns and R rows, the + // matrix is stored identically to an array of C column vectors with R + // components each, according to rule (4). + // + // 6. If the member is an array of S column-major matrices with C columns and + // R rows, the matrix is stored identically to a row of S X C column vectors + // with R components each, according to rule (4). + // + // 7. If the member is a row-major matrix with C columns and R rows, the matrix + // is stored identically to an array of R row vectors with C components each, + // according to rule (4). + // + // 8. If the member is an array of S row-major matrices with C columns and R + // rows, the matrix is stored identically to a row of S X R row vectors with C + // components each, according to rule (4). + // + // 9. If the member is a structure, the base alignment of the structure is N , where + // N is the largest base alignment value of any of its members, and rounded + // up to the base alignment of a vec4. The individual members of this substructure + // are then assigned offsets by applying this set of rules recursively, + // where the base offset of the first member of the sub-structure is equal to the + // aligned offset of the structure. The structure may have padding at the end; + // the base offset of the member following the sub-structure is rounded up to + // the next multiple of the base alignment of the structure. + // + // 10. If the member is an array of S structures, the S elements of the array are laid + // out in order, according to rule (9). + // + // Assuming, for rule 10: The stride is the same as the size of an element. + + stride = 0; + int dummyStride; + + // rules 4, 6, 8, and 10 + if (type.isArray()) { + // TODO: perf: this might be flattened by using getCumulativeArraySize(), and a deref that discards all arrayness + TType derefType(type, 0); + alignment = getBaseAlignment(derefType, size, dummyStride, layoutPacking, rowMajor); + if (std140) + alignment = std::max(baseAlignmentVec4Std140, alignment); + RoundToPow2(size, alignment); + stride = size; // uses full matrix size for stride of an array of matrices (not quite what rule 6/8, but what's expected) + // uses the assumption for rule 10 in the comment above + // use one element to represent the last member of SSBO which is unsized array + int arraySize = (type.isUnsizedArray() && (type.getOuterArraySize() == 0)) ? 1 : type.getOuterArraySize(); + size = stride * arraySize; + return alignment; + } + + // rule 9 + if (type.getBasicType() == EbtStruct) { + const TTypeList& memberList = *type.getStruct(); + + size = 0; + int maxAlignment = std140 ? baseAlignmentVec4Std140 : 0; + for (size_t m = 0; m < memberList.size(); ++m) { + int memberSize; + // modify just the children's view of matrix layout, if there is one for this member + TLayoutMatrix subMatrixLayout = memberList[m].type->getQualifier().layoutMatrix; + int memberAlignment = getBaseAlignment(*memberList[m].type, memberSize, dummyStride, layoutPacking, + (subMatrixLayout != ElmNone) ? (subMatrixLayout == ElmRowMajor) : rowMajor); + maxAlignment = std::max(maxAlignment, memberAlignment); + RoundToPow2(size, memberAlignment); + size += memberSize; + } + + // The structure may have padding at the end; the base offset of + // the member following the sub-structure is rounded up to the next + // multiple of the base alignment of the structure. + RoundToPow2(size, maxAlignment); + + return maxAlignment; + } + + // rule 1 + if (type.isScalar()) + return getBaseAlignmentScalar(type, size); + + // rules 2 and 3 + if (type.isVector()) { + int scalarAlign = getBaseAlignmentScalar(type, size); + switch (type.getVectorSize()) { + case 1: // HLSL has this, GLSL does not + return scalarAlign; + case 2: + size *= 2; + return 2 * scalarAlign; + default: + size *= type.getVectorSize(); + return 4 * scalarAlign; + } + } + + // rules 5 and 7 + if (type.isMatrix()) { + // rule 5: deref to row, not to column, meaning the size of vector is num columns instead of num rows + TType derefType(type, 0, rowMajor); + + alignment = getBaseAlignment(derefType, size, dummyStride, layoutPacking, rowMajor); + if (std140) + alignment = std::max(baseAlignmentVec4Std140, alignment); + RoundToPow2(size, alignment); + stride = size; // use intra-matrix stride for stride of a just a matrix + if (rowMajor) + size = stride * type.getMatrixRows(); + else + size = stride * type.getMatrixCols(); + + return alignment; + } + + assert(0); // all cases should be covered above + size = baseAlignmentVec4Std140; + return baseAlignmentVec4Std140; +} + +// To aid the basic HLSL rule about crossing vec4 boundaries. +bool TIntermediate::improperStraddle(const TType& type, int size, int offset) +{ + if (! type.isVector() || type.isArray()) + return false; + + return size <= 16 ? offset / 16 != (offset + size - 1) / 16 + : offset % 16 != 0; +} + +int TIntermediate::getScalarAlignment(const TType& type, int& size, int& stride, bool rowMajor) +{ + int alignment; + + stride = 0; + int dummyStride; + + if (type.isArray()) { + TType derefType(type, 0); + alignment = getScalarAlignment(derefType, size, dummyStride, rowMajor); + + stride = size; + RoundToPow2(stride, alignment); + + size = stride * (type.getOuterArraySize() - 1) + size; + return alignment; + } + + if (type.getBasicType() == EbtStruct) { + const TTypeList& memberList = *type.getStruct(); + + size = 0; + int maxAlignment = 0; + for (size_t m = 0; m < memberList.size(); ++m) { + int memberSize; + // modify just the children's view of matrix layout, if there is one for this member + TLayoutMatrix subMatrixLayout = memberList[m].type->getQualifier().layoutMatrix; + int memberAlignment = getScalarAlignment(*memberList[m].type, memberSize, dummyStride, + (subMatrixLayout != ElmNone) ? (subMatrixLayout == ElmRowMajor) : rowMajor); + maxAlignment = std::max(maxAlignment, memberAlignment); + RoundToPow2(size, memberAlignment); + size += memberSize; + } + + return maxAlignment; + } + + if (type.isScalar()) + return getBaseAlignmentScalar(type, size); + + if (type.isVector()) { + int scalarAlign = getBaseAlignmentScalar(type, size); + + size *= type.getVectorSize(); + return scalarAlign; + } + + if (type.isMatrix()) { + TType derefType(type, 0, rowMajor); + + alignment = getScalarAlignment(derefType, size, dummyStride, rowMajor); + + stride = size; // use intra-matrix stride for stride of a just a matrix + if (rowMajor) + size = stride * type.getMatrixRows(); + else + size = stride * type.getMatrixCols(); + + return alignment; + } + + assert(0); // all cases should be covered above + size = 1; + return 1; +} + +int TIntermediate::getMemberAlignment(const TType& type, int& size, int& stride, TLayoutPacking layoutPacking, bool rowMajor) +{ + if (layoutPacking == glslang::ElpScalar) { + return getScalarAlignment(type, size, stride, rowMajor); + } else { + return getBaseAlignment(type, size, stride, layoutPacking, rowMajor); + } +} + +// shared calculation by getOffset and getOffsets +void TIntermediate::updateOffset(const TType& parentType, const TType& memberType, int& offset, int& memberSize) +{ + int dummyStride; + + // modify just the children's view of matrix layout, if there is one for this member + TLayoutMatrix subMatrixLayout = memberType.getQualifier().layoutMatrix; + int memberAlignment = getMemberAlignment(memberType, memberSize, dummyStride, + parentType.getQualifier().layoutPacking, + subMatrixLayout != ElmNone + ? subMatrixLayout == ElmRowMajor + : parentType.getQualifier().layoutMatrix == ElmRowMajor); + RoundToPow2(offset, memberAlignment); +} + +// Lookup or calculate the offset of a block member, using the recursively +// defined block offset rules. +int TIntermediate::getOffset(const TType& type, int index) +{ + const TTypeList& memberList = *type.getStruct(); + + // Don't calculate offset if one is present, it could be user supplied + // and different than what would be calculated. That is, this is faster, + // but not just an optimization. + if (memberList[index].type->getQualifier().hasOffset()) + return memberList[index].type->getQualifier().layoutOffset; + + int memberSize = 0; + int offset = 0; + for (int m = 0; m <= index; ++m) { + updateOffset(type, *memberList[m].type, offset, memberSize); + + if (m < index) + offset += memberSize; + } + + return offset; +} + +// Calculate the block data size. +// Block arrayness is not taken into account, each element is backed by a separate buffer. +int TIntermediate::getBlockSize(const TType& blockType) +{ + const TTypeList& memberList = *blockType.getStruct(); + int lastIndex = (int)memberList.size() - 1; + int lastOffset = getOffset(blockType, lastIndex); + + int lastMemberSize; + int dummyStride; + getMemberAlignment(*memberList[lastIndex].type, lastMemberSize, dummyStride, + blockType.getQualifier().layoutPacking, + blockType.getQualifier().layoutMatrix == ElmRowMajor); + + return lastOffset + lastMemberSize; +} + +int TIntermediate::computeBufferReferenceTypeSize(const TType& type) +{ + assert(type.isReference()); + int size = getBlockSize(*type.getReferentType()); + + int align = type.getBufferReferenceAlignment(); + + if (align) { + size = (size + align - 1) & ~(align-1); + } + + return size; +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/localintermediate.h b/android/x86_64/include/glslang/Include/MachineIndependent/localintermediate.h new file mode 100644 index 00000000..f8d8e801 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/localintermediate.h @@ -0,0 +1,1077 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2016 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _LOCAL_INTERMEDIATE_INCLUDED_ +#define _LOCAL_INTERMEDIATE_INCLUDED_ + +#include "../Include/intermediate.h" +#include "../Public/ShaderLang.h" +#include "Versions.h" + +#include +#include +#include +#include +#include + +class TInfoSink; + +namespace glslang { + +struct TMatrixSelector { + int coord1; // stay agnostic about column/row; this is parse order + int coord2; +}; + +typedef int TVectorSelector; + +const int MaxSwizzleSelectors = 4; + +template +class TSwizzleSelectors { +public: + TSwizzleSelectors() : size_(0) { } + + void push_back(selectorType comp) + { + if (size_ < MaxSwizzleSelectors) + components[size_++] = comp; + } + void resize(int s) + { + assert(s <= size_); + size_ = s; + } + int size() const { return size_; } + selectorType operator[](int i) const + { + assert(i < MaxSwizzleSelectors); + return components[i]; + } + +private: + int size_; + selectorType components[MaxSwizzleSelectors]; +}; + +// +// Some helper structures for TIntermediate. Their contents are encapsulated +// by TIntermediate. +// + +// Used for call-graph algorithms for detecting recursion, missing bodies, and dead bodies. +// A "call" is a pair: . +// There can be duplicates. General assumption is the list is small. +struct TCall { + TCall(const TString& pCaller, const TString& pCallee) : caller(pCaller), callee(pCallee) { } + TString caller; + TString callee; + bool visited; + bool currentPath; + bool errorGiven; + int calleeBodyPosition; +}; + +// A generic 1-D range. +struct TRange { + TRange(int start, int last) : start(start), last(last) { } + bool overlap(const TRange& rhs) const + { + return last >= rhs.start && start <= rhs.last; + } + int start; + int last; +}; + +// An IO range is a 3-D rectangle; the set of (location, component, index) triples all lying +// within the same location range, component range, and index value. Locations don't alias unless +// all other dimensions of their range overlap. +struct TIoRange { + TIoRange(TRange location, TRange component, TBasicType basicType, int index) + : location(location), component(component), basicType(basicType), index(index) { } + bool overlap(const TIoRange& rhs) const + { + return location.overlap(rhs.location) && component.overlap(rhs.component) && index == rhs.index; + } + TRange location; + TRange component; + TBasicType basicType; + int index; +}; + +// An offset range is a 2-D rectangle; the set of (binding, offset) pairs all lying +// within the same binding and offset range. +struct TOffsetRange { + TOffsetRange(TRange binding, TRange offset) + : binding(binding), offset(offset) { } + bool overlap(const TOffsetRange& rhs) const + { + return binding.overlap(rhs.binding) && offset.overlap(rhs.offset); + } + TRange binding; + TRange offset; +}; + +#ifndef GLSLANG_WEB +// Things that need to be tracked per xfb buffer. +struct TXfbBuffer { + TXfbBuffer() : stride(TQualifier::layoutXfbStrideEnd), implicitStride(0), contains64BitType(false), + contains32BitType(false), contains16BitType(false) { } + std::vector ranges; // byte offsets that have already been assigned + unsigned int stride; + unsigned int implicitStride; + bool contains64BitType; + bool contains32BitType; + bool contains16BitType; +}; +#endif + +// Track a set of strings describing how the module was processed. +// This includes command line options, transforms, etc., ideally inclusive enough +// to reproduce the steps used to transform the input source to the output. +// E.g., see SPIR-V OpModuleProcessed. +// Each "process" or "transform" uses is expressed in the form: +// process arg0 arg1 arg2 ... +// process arg0 arg1 arg2 ... +// where everything is textual, and there can be zero or more arguments +class TProcesses { +public: + TProcesses() {} + ~TProcesses() {} + + void addProcess(const char* process) + { + processes.push_back(process); + } + void addProcess(const std::string& process) + { + processes.push_back(process); + } + void addArgument(int arg) + { + processes.back().append(" "); + std::string argString = std::to_string(arg); + processes.back().append(argString); + } + void addArgument(const char* arg) + { + processes.back().append(" "); + processes.back().append(arg); + } + void addArgument(const std::string& arg) + { + processes.back().append(" "); + processes.back().append(arg); + } + void addIfNonZero(const char* process, int value) + { + if (value != 0) { + addProcess(process); + addArgument(value); + } + } + + const std::vector& getProcesses() const { return processes; } + +private: + std::vector processes; +}; + +class TSymbolTable; +class TSymbol; +class TVariable; + +// +// Texture and Sampler transformation mode. +// +enum ComputeDerivativeMode { + LayoutDerivativeNone, // default layout as SPV_NV_compute_shader_derivatives not enabled + LayoutDerivativeGroupQuads, // derivative_group_quadsNV + LayoutDerivativeGroupLinear, // derivative_group_linearNV +}; + +class TIdMaps { +public: + TMap& operator[](int i) { return maps[i]; } + const TMap& operator[](int i) const { return maps[i]; } +private: + TMap maps[EsiCount]; +}; + +class TNumericFeatures { +public: + TNumericFeatures() : features(0) { } + TNumericFeatures(const TNumericFeatures&) = delete; + TNumericFeatures& operator=(const TNumericFeatures&) = delete; + typedef enum : unsigned int { + shader_explicit_arithmetic_types = 1 << 0, + shader_explicit_arithmetic_types_int8 = 1 << 1, + shader_explicit_arithmetic_types_int16 = 1 << 2, + shader_explicit_arithmetic_types_int32 = 1 << 3, + shader_explicit_arithmetic_types_int64 = 1 << 4, + shader_explicit_arithmetic_types_float16 = 1 << 5, + shader_explicit_arithmetic_types_float32 = 1 << 6, + shader_explicit_arithmetic_types_float64 = 1 << 7, + shader_implicit_conversions = 1 << 8, + gpu_shader_fp64 = 1 << 9, + gpu_shader_int16 = 1 << 10, + gpu_shader_half_float = 1 << 11, + } feature; + void insert(feature f) { features |= f; } + void erase(feature f) { features &= ~f; } + bool contains(feature f) const { return (features & f) != 0; } +private: + unsigned int features; +}; + +// MustBeAssigned wraps a T, asserting that it has been assigned with +// operator =() before attempting to read with operator T() or operator ->(). +// Used to catch cases where fields are read before they have been assigned. +template +class MustBeAssigned +{ +public: + MustBeAssigned() = default; + MustBeAssigned(const T& v) : value(v) {} + operator const T&() const { assert(isSet); return value; } + const T* operator ->() const { assert(isSet); return &value; } + MustBeAssigned& operator = (const T& v) { value = v; isSet = true; return *this; } +private: + T value; + bool isSet = false; +}; + +// +// Set of helper functions to help parse and build the tree. +// +class TIntermediate { +public: + explicit TIntermediate(EShLanguage l, int v = 0, EProfile p = ENoProfile) : + language(l), +#ifndef GLSLANG_ANGLE + profile(p), version(v), +#endif + treeRoot(0), + resources(TBuiltInResource{}), + numEntryPoints(0), numErrors(0), numPushConstants(0), recursive(false), + invertY(false), + useStorageBuffer(false), + nanMinMaxClamp(false), + depthReplacing(false) +#ifndef GLSLANG_WEB + , + implicitThisName("@this"), implicitCounterName("@count"), + source(EShSourceNone), + useVulkanMemoryModel(false), + invocations(TQualifier::layoutNotSet), vertices(TQualifier::layoutNotSet), + inputPrimitive(ElgNone), outputPrimitive(ElgNone), + pixelCenterInteger(false), originUpperLeft(false), + vertexSpacing(EvsNone), vertexOrder(EvoNone), interlockOrdering(EioNone), pointMode(false), earlyFragmentTests(false), + postDepthCoverage(false), depthLayout(EldNone), + hlslFunctionality1(false), + blendEquations(0), xfbMode(false), multiStream(false), + layoutOverrideCoverage(false), + geoPassthroughEXT(false), + numShaderRecordBlocks(0), + computeDerivativeMode(LayoutDerivativeNone), + primitives(TQualifier::layoutNotSet), + numTaskNVBlocks(0), + layoutPrimitiveCulling(false), + autoMapBindings(false), + autoMapLocations(false), + flattenUniformArrays(false), + useUnknownFormat(false), + hlslOffsets(false), + hlslIoMapping(false), + useVariablePointers(false), + textureSamplerTransformMode(EShTexSampTransKeep), + needToLegalize(false), + binaryDoubleOutput(false), + usePhysicalStorageBuffer(false), + uniformLocationBase(0) +#endif + { + localSize[0] = 1; + localSize[1] = 1; + localSize[2] = 1; + localSizeNotDefault[0] = false; + localSizeNotDefault[1] = false; + localSizeNotDefault[2] = false; + localSizeSpecId[0] = TQualifier::layoutNotSet; + localSizeSpecId[1] = TQualifier::layoutNotSet; + localSizeSpecId[2] = TQualifier::layoutNotSet; +#ifndef GLSLANG_WEB + xfbBuffers.resize(TQualifier::layoutXfbBufferEnd); + shiftBinding.fill(0); +#endif + } + + void setVersion(int v) + { +#ifndef GLSLANG_ANGLE + version = v; +#endif + } + void setProfile(EProfile p) + { +#ifndef GLSLANG_ANGLE + profile = p; +#endif + } + + int getVersion() const { return version; } + EProfile getProfile() const { return profile; } + void setSpv(const SpvVersion& s) + { + spvVersion = s; + + // client processes + if (spvVersion.vulkan > 0) + processes.addProcess("client vulkan100"); + if (spvVersion.openGl > 0) + processes.addProcess("client opengl100"); + + // target SPV + switch (spvVersion.spv) { + case 0: + break; + case EShTargetSpv_1_0: + break; + case EShTargetSpv_1_1: + processes.addProcess("target-env spirv1.1"); + break; + case EShTargetSpv_1_2: + processes.addProcess("target-env spirv1.2"); + break; + case EShTargetSpv_1_3: + processes.addProcess("target-env spirv1.3"); + break; + case EShTargetSpv_1_4: + processes.addProcess("target-env spirv1.4"); + break; + case EShTargetSpv_1_5: + processes.addProcess("target-env spirv1.5"); + break; + default: + processes.addProcess("target-env spirvUnknown"); + break; + } + + // target-environment processes + switch (spvVersion.vulkan) { + case 0: + break; + case EShTargetVulkan_1_0: + processes.addProcess("target-env vulkan1.0"); + break; + case EShTargetVulkan_1_1: + processes.addProcess("target-env vulkan1.1"); + break; + case EShTargetVulkan_1_2: + processes.addProcess("target-env vulkan1.2"); + break; + default: + processes.addProcess("target-env vulkanUnknown"); + break; + } + if (spvVersion.openGl > 0) + processes.addProcess("target-env opengl"); + } + const SpvVersion& getSpv() const { return spvVersion; } + EShLanguage getStage() const { return language; } + void addRequestedExtension(const char* extension) { requestedExtensions.insert(extension); } + const std::set& getRequestedExtensions() const { return requestedExtensions; } + bool isRayTracingStage() const { + return language >= EShLangRayGen && language <= EShLangCallableNV; + } + + void setTreeRoot(TIntermNode* r) { treeRoot = r; } + TIntermNode* getTreeRoot() const { return treeRoot; } + void incrementEntryPointCount() { ++numEntryPoints; } + int getNumEntryPoints() const { return numEntryPoints; } + int getNumErrors() const { return numErrors; } + void addPushConstantCount() { ++numPushConstants; } + void setLimits(const TBuiltInResource& r) { resources = r; } + const TBuiltInResource& getLimits() const { return resources; } + + bool postProcess(TIntermNode*, EShLanguage); + void removeTree(); + + void setEntryPointName(const char* ep) + { + entryPointName = ep; + processes.addProcess("entry-point"); + processes.addArgument(entryPointName); + } + void setEntryPointMangledName(const char* ep) { entryPointMangledName = ep; } + const std::string& getEntryPointName() const { return entryPointName; } + const std::string& getEntryPointMangledName() const { return entryPointMangledName; } + + void setInvertY(bool invert) + { + invertY = invert; + if (invertY) + processes.addProcess("invert-y"); + } + bool getInvertY() const { return invertY; } + +#ifdef ENABLE_HLSL + void setSource(EShSource s) { source = s; } + EShSource getSource() const { return source; } +#else + void setSource(EShSource s) { assert(s == EShSourceGlsl); (void)s; } + EShSource getSource() const { return EShSourceGlsl; } +#endif + + bool isRecursive() const { return recursive; } + + TIntermSymbol* addSymbol(const TVariable&); + TIntermSymbol* addSymbol(const TVariable&, const TSourceLoc&); + TIntermSymbol* addSymbol(const TType&, const TSourceLoc&); + TIntermSymbol* addSymbol(const TIntermSymbol&); + TIntermTyped* addConversion(TOperator, const TType&, TIntermTyped*); + std::tuple addPairConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1); + TIntermTyped* addUniShapeConversion(TOperator, const TType&, TIntermTyped*); + TIntermTyped* addConversion(TBasicType convertTo, TIntermTyped* node) const; + void addBiShapeConversion(TOperator, TIntermTyped*& lhsNode, TIntermTyped*& rhsNode); + TIntermTyped* addShapeConversion(const TType&, TIntermTyped*); + TIntermTyped* addBinaryMath(TOperator, TIntermTyped* left, TIntermTyped* right, const TSourceLoc&); + TIntermTyped* addAssign(TOperator op, TIntermTyped* left, TIntermTyped* right, const TSourceLoc&); + TIntermTyped* addIndex(TOperator op, TIntermTyped* base, TIntermTyped* index, const TSourceLoc&); + TIntermTyped* addUnaryMath(TOperator, TIntermTyped* child, const TSourceLoc&); + TIntermTyped* addBuiltInFunctionCall(const TSourceLoc& line, TOperator, bool unary, TIntermNode*, const TType& returnType); + bool canImplicitlyPromote(TBasicType from, TBasicType to, TOperator op = EOpNull) const; + bool isIntegralPromotion(TBasicType from, TBasicType to) const; + bool isFPPromotion(TBasicType from, TBasicType to) const; + bool isIntegralConversion(TBasicType from, TBasicType to) const; + bool isFPConversion(TBasicType from, TBasicType to) const; + bool isFPIntegralConversion(TBasicType from, TBasicType to) const; + TOperator mapTypeToConstructorOp(const TType&) const; + TIntermAggregate* growAggregate(TIntermNode* left, TIntermNode* right); + TIntermAggregate* growAggregate(TIntermNode* left, TIntermNode* right, const TSourceLoc&); + TIntermAggregate* makeAggregate(TIntermNode* node); + TIntermAggregate* makeAggregate(TIntermNode* node, const TSourceLoc&); + TIntermAggregate* makeAggregate(const TSourceLoc&); + TIntermTyped* setAggregateOperator(TIntermNode*, TOperator, const TType& type, const TSourceLoc&); + bool areAllChildConst(TIntermAggregate* aggrNode); + TIntermSelection* addSelection(TIntermTyped* cond, TIntermNodePair code, const TSourceLoc&); + TIntermTyped* addSelection(TIntermTyped* cond, TIntermTyped* trueBlock, TIntermTyped* falseBlock, const TSourceLoc&); + TIntermTyped* addComma(TIntermTyped* left, TIntermTyped* right, const TSourceLoc&); + TIntermTyped* addMethod(TIntermTyped*, const TType&, const TString*, const TSourceLoc&); + TIntermConstantUnion* addConstantUnion(const TConstUnionArray&, const TType&, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(signed char, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(unsigned char, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(signed short, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(unsigned short, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(int, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(unsigned int, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(long long, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(unsigned long long, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(bool, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(double, TBasicType, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(const TString*, const TSourceLoc&, bool literal = false) const; + TIntermTyped* promoteConstantUnion(TBasicType, TIntermConstantUnion*) const; + bool parseConstTree(TIntermNode*, TConstUnionArray, TOperator, const TType&, bool singleConstantParam = false); + TIntermLoop* addLoop(TIntermNode*, TIntermTyped*, TIntermTyped*, bool testFirst, const TSourceLoc&); + TIntermAggregate* addForLoop(TIntermNode*, TIntermNode*, TIntermTyped*, TIntermTyped*, bool testFirst, + const TSourceLoc&, TIntermLoop*&); + TIntermBranch* addBranch(TOperator, const TSourceLoc&); + TIntermBranch* addBranch(TOperator, TIntermTyped*, const TSourceLoc&); + template TIntermTyped* addSwizzle(TSwizzleSelectors&, const TSourceLoc&); + + // Low level functions to add nodes (no conversions or other higher level transformations) + // If a type is provided, the node's type will be set to it. + TIntermBinary* addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, const TSourceLoc&) const; + TIntermBinary* addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, const TSourceLoc&, + const TType&) const; + TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, const TSourceLoc&) const; + TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, const TSourceLoc&, const TType&) const; + + // Constant folding (in Constant.cpp) + TIntermTyped* fold(TIntermAggregate* aggrNode); + TIntermTyped* foldConstructor(TIntermAggregate* aggrNode); + TIntermTyped* foldDereference(TIntermTyped* node, int index, const TSourceLoc&); + TIntermTyped* foldSwizzle(TIntermTyped* node, TSwizzleSelectors& fields, const TSourceLoc&); + + // Tree ops + static const TIntermTyped* findLValueBase(const TIntermTyped*, bool swizzleOkay); + + // Linkage related + void addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage, TSymbolTable&); + void addSymbolLinkageNode(TIntermAggregate*& linkage, const TSymbol&); + TIntermAggregate* findLinkerObjects() const; + + void setUseStorageBuffer() { useStorageBuffer = true; } + bool usingStorageBuffer() const { return useStorageBuffer; } + void setDepthReplacing() { depthReplacing = true; } + bool isDepthReplacing() const { return depthReplacing; } + bool setLocalSize(int dim, int size) + { + if (localSizeNotDefault[dim]) + return size == localSize[dim]; + localSizeNotDefault[dim] = true; + localSize[dim] = size; + return true; + } + unsigned int getLocalSize(int dim) const { return localSize[dim]; } + bool setLocalSizeSpecId(int dim, int id) + { + if (localSizeSpecId[dim] != TQualifier::layoutNotSet) + return id == localSizeSpecId[dim]; + localSizeSpecId[dim] = id; + return true; + } + int getLocalSizeSpecId(int dim) const { return localSizeSpecId[dim]; } +#ifdef GLSLANG_WEB + void output(TInfoSink&, bool tree) { } + + bool isEsProfile() const { return false; } + bool getXfbMode() const { return false; } + bool isMultiStream() const { return false; } + TLayoutGeometry getOutputPrimitive() const { return ElgNone; } + bool getPostDepthCoverage() const { return false; } + bool getEarlyFragmentTests() const { return false; } + TLayoutDepth getDepth() const { return EldNone; } + bool getPixelCenterInteger() const { return false; } + void setOriginUpperLeft() { } + bool getOriginUpperLeft() const { return true; } + TInterlockOrdering getInterlockOrdering() const { return EioNone; } + + bool getAutoMapBindings() const { return false; } + bool getAutoMapLocations() const { return false; } + int getNumPushConstants() const { return 0; } + void addShaderRecordCount() { } + void addTaskNVCount() { } + void setUseVulkanMemoryModel() { } + bool usingVulkanMemoryModel() const { return false; } + bool usingPhysicalStorageBuffer() const { return false; } + bool usingVariablePointers() const { return false; } + unsigned getXfbStride(int buffer) const { return 0; } + bool hasLayoutDerivativeModeNone() const { return false; } + ComputeDerivativeMode getLayoutDerivativeModeNone() const { return LayoutDerivativeNone; } +#else + void output(TInfoSink&, bool tree); + + bool isEsProfile() const { return profile == EEsProfile; } + + void setShiftBinding(TResourceType res, unsigned int shift) + { + shiftBinding[res] = shift; + + const char* name = getResourceName(res); + if (name != nullptr) + processes.addIfNonZero(name, shift); + } + + unsigned int getShiftBinding(TResourceType res) const { return shiftBinding[res]; } + + void setShiftBindingForSet(TResourceType res, unsigned int shift, unsigned int set) + { + if (shift == 0) // ignore if there's no shift: it's a no-op. + return; + + shiftBindingForSet[res][set] = shift; + + const char* name = getResourceName(res); + if (name != nullptr) { + processes.addProcess(name); + processes.addArgument(shift); + processes.addArgument(set); + } + } + + int getShiftBindingForSet(TResourceType res, unsigned int set) const + { + const auto shift = shiftBindingForSet[res].find(set); + return shift == shiftBindingForSet[res].end() ? -1 : shift->second; + } + bool hasShiftBindingForSet(TResourceType res) const { return !shiftBindingForSet[res].empty(); } + + void setResourceSetBinding(const std::vector& shift) + { + resourceSetBinding = shift; + if (shift.size() > 0) { + processes.addProcess("resource-set-binding"); + for (int s = 0; s < (int)shift.size(); ++s) + processes.addArgument(shift[s]); + } + } + const std::vector& getResourceSetBinding() const { return resourceSetBinding; } + void setAutoMapBindings(bool map) + { + autoMapBindings = map; + if (autoMapBindings) + processes.addProcess("auto-map-bindings"); + } + bool getAutoMapBindings() const { return autoMapBindings; } + void setAutoMapLocations(bool map) + { + autoMapLocations = map; + if (autoMapLocations) + processes.addProcess("auto-map-locations"); + } + bool getAutoMapLocations() const { return autoMapLocations; } + +#ifdef ENABLE_HLSL + void setFlattenUniformArrays(bool flatten) + { + flattenUniformArrays = flatten; + if (flattenUniformArrays) + processes.addProcess("flatten-uniform-arrays"); + } + bool getFlattenUniformArrays() const { return flattenUniformArrays; } +#endif + void setNoStorageFormat(bool b) + { + useUnknownFormat = b; + if (useUnknownFormat) + processes.addProcess("no-storage-format"); + } + bool getNoStorageFormat() const { return useUnknownFormat; } + void setUseVulkanMemoryModel() + { + useVulkanMemoryModel = true; + processes.addProcess("use-vulkan-memory-model"); + } + bool usingVulkanMemoryModel() const { return useVulkanMemoryModel; } + void setUsePhysicalStorageBuffer() + { + usePhysicalStorageBuffer = true; + } + bool usingPhysicalStorageBuffer() const { return usePhysicalStorageBuffer; } + void setUseVariablePointers() + { + useVariablePointers = true; + processes.addProcess("use-variable-pointers"); + } + bool usingVariablePointers() const { return useVariablePointers; } + +#ifdef ENABLE_HLSL + template T addCounterBufferName(const T& name) const { return name + implicitCounterName; } + bool hasCounterBufferName(const TString& name) const { + size_t len = strlen(implicitCounterName); + return name.size() > len && + name.compare(name.size() - len, len, implicitCounterName) == 0; + } +#endif + + void setTextureSamplerTransformMode(EShTextureSamplerTransformMode mode) { textureSamplerTransformMode = mode; } + int getNumPushConstants() const { return numPushConstants; } + void addShaderRecordCount() { ++numShaderRecordBlocks; } + void addTaskNVCount() { ++numTaskNVBlocks; } + + bool setInvocations(int i) + { + if (invocations != TQualifier::layoutNotSet) + return invocations == i; + invocations = i; + return true; + } + int getInvocations() const { return invocations; } + bool setVertices(int m) + { + if (vertices != TQualifier::layoutNotSet) + return vertices == m; + vertices = m; + return true; + } + int getVertices() const { return vertices; } + bool setInputPrimitive(TLayoutGeometry p) + { + if (inputPrimitive != ElgNone) + return inputPrimitive == p; + inputPrimitive = p; + return true; + } + TLayoutGeometry getInputPrimitive() const { return inputPrimitive; } + bool setVertexSpacing(TVertexSpacing s) + { + if (vertexSpacing != EvsNone) + return vertexSpacing == s; + vertexSpacing = s; + return true; + } + TVertexSpacing getVertexSpacing() const { return vertexSpacing; } + bool setVertexOrder(TVertexOrder o) + { + if (vertexOrder != EvoNone) + return vertexOrder == o; + vertexOrder = o; + return true; + } + TVertexOrder getVertexOrder() const { return vertexOrder; } + void setPointMode() { pointMode = true; } + bool getPointMode() const { return pointMode; } + + bool setInterlockOrdering(TInterlockOrdering o) + { + if (interlockOrdering != EioNone) + return interlockOrdering == o; + interlockOrdering = o; + return true; + } + TInterlockOrdering getInterlockOrdering() const { return interlockOrdering; } + + void setXfbMode() { xfbMode = true; } + bool getXfbMode() const { return xfbMode; } + void setMultiStream() { multiStream = true; } + bool isMultiStream() const { return multiStream; } + bool setOutputPrimitive(TLayoutGeometry p) + { + if (outputPrimitive != ElgNone) + return outputPrimitive == p; + outputPrimitive = p; + return true; + } + TLayoutGeometry getOutputPrimitive() const { return outputPrimitive; } + void setPostDepthCoverage() { postDepthCoverage = true; } + bool getPostDepthCoverage() const { return postDepthCoverage; } + void setEarlyFragmentTests() { earlyFragmentTests = true; } + bool getEarlyFragmentTests() const { return earlyFragmentTests; } + bool setDepth(TLayoutDepth d) + { + if (depthLayout != EldNone) + return depthLayout == d; + depthLayout = d; + return true; + } + TLayoutDepth getDepth() const { return depthLayout; } + void setOriginUpperLeft() { originUpperLeft = true; } + bool getOriginUpperLeft() const { return originUpperLeft; } + void setPixelCenterInteger() { pixelCenterInteger = true; } + bool getPixelCenterInteger() const { return pixelCenterInteger; } + void addBlendEquation(TBlendEquationShift b) { blendEquations |= (1 << b); } + unsigned int getBlendEquations() const { return blendEquations; } + bool setXfbBufferStride(int buffer, unsigned stride) + { + if (xfbBuffers[buffer].stride != TQualifier::layoutXfbStrideEnd) + return xfbBuffers[buffer].stride == stride; + xfbBuffers[buffer].stride = stride; + return true; + } + unsigned getXfbStride(int buffer) const { return xfbBuffers[buffer].stride; } + int addXfbBufferOffset(const TType&); + unsigned int computeTypeXfbSize(const TType&, bool& contains64BitType, bool& contains32BitType, bool& contains16BitType) const; + unsigned int computeTypeXfbSize(const TType&, bool& contains64BitType) const; + void setLayoutOverrideCoverage() { layoutOverrideCoverage = true; } + bool getLayoutOverrideCoverage() const { return layoutOverrideCoverage; } + void setGeoPassthroughEXT() { geoPassthroughEXT = true; } + bool getGeoPassthroughEXT() const { return geoPassthroughEXT; } + void setLayoutDerivativeMode(ComputeDerivativeMode mode) { computeDerivativeMode = mode; } + bool hasLayoutDerivativeModeNone() const { return computeDerivativeMode != LayoutDerivativeNone; } + ComputeDerivativeMode getLayoutDerivativeModeNone() const { return computeDerivativeMode; } + void setLayoutPrimitiveCulling() { layoutPrimitiveCulling = true; } + bool getLayoutPrimitiveCulling() const { return layoutPrimitiveCulling; } + bool setPrimitives(int m) + { + if (primitives != TQualifier::layoutNotSet) + return primitives == m; + primitives = m; + return true; + } + int getPrimitives() const { return primitives; } + const char* addSemanticName(const TString& name) + { + return semanticNameSet.insert(name).first->c_str(); + } + void addUniformLocationOverride(const char* nameStr, int location) + { + std::string name = nameStr; + uniformLocationOverrides[name] = location; + } + + int getUniformLocationOverride(const char* nameStr) const + { + std::string name = nameStr; + auto pos = uniformLocationOverrides.find(name); + if (pos == uniformLocationOverrides.end()) + return -1; + else + return pos->second; + } + + void setUniformLocationBase(int base) { uniformLocationBase = base; } + int getUniformLocationBase() const { return uniformLocationBase; } + + void setNeedsLegalization() { needToLegalize = true; } + bool needsLegalization() const { return needToLegalize; } + + void setBinaryDoubleOutput() { binaryDoubleOutput = true; } + bool getBinaryDoubleOutput() { return binaryDoubleOutput; } +#endif // GLSLANG_WEB + +#ifdef ENABLE_HLSL + void setHlslFunctionality1() { hlslFunctionality1 = true; } + bool getHlslFunctionality1() const { return hlslFunctionality1; } + void setHlslOffsets() + { + hlslOffsets = true; + if (hlslOffsets) + processes.addProcess("hlsl-offsets"); + } + bool usingHlslOffsets() const { return hlslOffsets; } + void setHlslIoMapping(bool b) + { + hlslIoMapping = b; + if (hlslIoMapping) + processes.addProcess("hlsl-iomap"); + } + bool usingHlslIoMapping() { return hlslIoMapping; } +#else + bool getHlslFunctionality1() const { return false; } + bool usingHlslOffsets() const { return false; } + bool usingHlslIoMapping() { return false; } +#endif + + void addToCallGraph(TInfoSink&, const TString& caller, const TString& callee); + void merge(TInfoSink&, TIntermediate&); + void finalCheck(TInfoSink&, bool keepUncalled); + + bool buildConvertOp(TBasicType dst, TBasicType src, TOperator& convertOp) const; + TIntermTyped* createConversion(TBasicType convertTo, TIntermTyped* node) const; + + void addIoAccessed(const TString& name) { ioAccessed.insert(name); } + bool inIoAccessed(const TString& name) const { return ioAccessed.find(name) != ioAccessed.end(); } + + int addUsedLocation(const TQualifier&, const TType&, bool& typeCollision); + int checkLocationRange(int set, const TIoRange& range, const TType&, bool& typeCollision); + int checkLocationRT(int set, int location); + int addUsedOffsets(int binding, int offset, int numOffsets); + bool addUsedConstantId(int id); + static int computeTypeLocationSize(const TType&, EShLanguage); + static int computeTypeUniformLocationSize(const TType&); + + static int getBaseAlignmentScalar(const TType&, int& size); + static int getBaseAlignment(const TType&, int& size, int& stride, TLayoutPacking layoutPacking, bool rowMajor); + static int getScalarAlignment(const TType&, int& size, int& stride, bool rowMajor); + static int getMemberAlignment(const TType&, int& size, int& stride, TLayoutPacking layoutPacking, bool rowMajor); + static bool improperStraddle(const TType& type, int size, int offset); + static void updateOffset(const TType& parentType, const TType& memberType, int& offset, int& memberSize); + static int getOffset(const TType& type, int index); + static int getBlockSize(const TType& blockType); + static int computeBufferReferenceTypeSize(const TType&); + bool promote(TIntermOperator*); + void setNanMinMaxClamp(bool setting) { nanMinMaxClamp = setting; } + bool getNanMinMaxClamp() const { return nanMinMaxClamp; } + + void setSourceFile(const char* file) { if (file != nullptr) sourceFile = file; } + const std::string& getSourceFile() const { return sourceFile; } + void addSourceText(const char* text, size_t len) { sourceText.append(text, len); } + const std::string& getSourceText() const { return sourceText; } + const std::map& getIncludeText() const { return includeText; } + void addIncludeText(const char* name, const char* text, size_t len) { includeText[name].assign(text,len); } + void addProcesses(const std::vector& p) + { + for (int i = 0; i < (int)p.size(); ++i) + processes.addProcess(p[i]); + } + void addProcess(const std::string& process) { processes.addProcess(process); } + void addProcessArgument(const std::string& arg) { processes.addArgument(arg); } + const std::vector& getProcesses() const { return processes.getProcesses(); } + + // Certain explicit conversions are allowed conditionally +#ifdef GLSLANG_WEB + bool getArithemeticInt8Enabled() const { return false; } + bool getArithemeticInt16Enabled() const { return false; } + bool getArithemeticFloat16Enabled() const { return false; } + void updateNumericFeature(TNumericFeatures::feature f, bool on) { } +#else + bool getArithemeticInt8Enabled() const { + return numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int8); + } + bool getArithemeticInt16Enabled() const { + return numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types) || + numericFeatures.contains(TNumericFeatures::gpu_shader_int16) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_int16); + } + + bool getArithemeticFloat16Enabled() const { + return numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types) || + numericFeatures.contains(TNumericFeatures::gpu_shader_half_float) || + numericFeatures.contains(TNumericFeatures::shader_explicit_arithmetic_types_float16); + } + void updateNumericFeature(TNumericFeatures::feature f, bool on) + { on ? numericFeatures.insert(f) : numericFeatures.erase(f); } +#endif + +protected: + TIntermSymbol* addSymbol(int Id, const TString&, const TType&, const TConstUnionArray&, TIntermTyped* subtree, const TSourceLoc&); + void error(TInfoSink& infoSink, const char*); + void warn(TInfoSink& infoSink, const char*); + void mergeCallGraphs(TInfoSink&, TIntermediate&); + void mergeModes(TInfoSink&, TIntermediate&); + void mergeTrees(TInfoSink&, TIntermediate&); + void seedIdMap(TIdMaps& idMaps, int& maxId); + void remapIds(const TIdMaps& idMaps, int idShift, TIntermediate&); + void mergeBodies(TInfoSink&, TIntermSequence& globals, const TIntermSequence& unitGlobals); + void mergeLinkerObjects(TInfoSink&, TIntermSequence& linkerObjects, const TIntermSequence& unitLinkerObjects); + void mergeImplicitArraySizes(TType&, const TType&); + void mergeErrorCheck(TInfoSink&, const TIntermSymbol&, const TIntermSymbol&, bool crossStage); + void checkCallGraphCycles(TInfoSink&); + void checkCallGraphBodies(TInfoSink&, bool keepUncalled); + void inOutLocationCheck(TInfoSink&); + bool userOutputUsed() const; + bool isSpecializationOperation(const TIntermOperator&) const; + bool isNonuniformPropagating(TOperator) const; + bool promoteUnary(TIntermUnary&); + bool promoteBinary(TIntermBinary&); + void addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable&, const TString&); + bool promoteAggregate(TIntermAggregate&); + void pushSelector(TIntermSequence&, const TVectorSelector&, const TSourceLoc&); + void pushSelector(TIntermSequence&, const TMatrixSelector&, const TSourceLoc&); + bool specConstantPropagates(const TIntermTyped&, const TIntermTyped&); + void performTextureUpgradeAndSamplerRemovalTransformation(TIntermNode* root); + bool isConversionAllowed(TOperator op, TIntermTyped* node) const; + std::tuple getConversionDestinationType(TBasicType type0, TBasicType type1, TOperator op) const; + + static const char* getResourceName(TResourceType); + + const EShLanguage language; // stage, known at construction time + std::string entryPointName; + std::string entryPointMangledName; + typedef std::list TGraph; + TGraph callGraph; + +#ifdef GLSLANG_ANGLE + const EProfile profile = ECoreProfile; + const int version = 450; +#else + EProfile profile; // source profile + int version; // source version +#endif + SpvVersion spvVersion; + TIntermNode* treeRoot; + std::set requestedExtensions; // cumulation of all enabled or required extensions; not connected to what subset of the shader used them + MustBeAssigned resources; + int numEntryPoints; + int numErrors; + int numPushConstants; + bool recursive; + bool invertY; + bool useStorageBuffer; + bool nanMinMaxClamp; // true if desiring min/max/clamp to favor non-NaN over NaN + bool depthReplacing; + int localSize[3]; + bool localSizeNotDefault[3]; + int localSizeSpecId[3]; +#ifndef GLSLANG_WEB +public: + const char* const implicitThisName; + const char* const implicitCounterName; +protected: + EShSource source; // source language, known a bit later + bool useVulkanMemoryModel; + int invocations; + int vertices; + TLayoutGeometry inputPrimitive; + TLayoutGeometry outputPrimitive; + bool pixelCenterInteger; + bool originUpperLeft; + TVertexSpacing vertexSpacing; + TVertexOrder vertexOrder; + TInterlockOrdering interlockOrdering; + bool pointMode; + bool earlyFragmentTests; + bool postDepthCoverage; + TLayoutDepth depthLayout; + bool hlslFunctionality1; + int blendEquations; // an 'or'ing of masks of shifts of TBlendEquationShift + bool xfbMode; + std::vector xfbBuffers; // all the data we need to track per xfb buffer + bool multiStream; + bool layoutOverrideCoverage; + bool geoPassthroughEXT; + int numShaderRecordBlocks; + ComputeDerivativeMode computeDerivativeMode; + int primitives; + int numTaskNVBlocks; + bool layoutPrimitiveCulling; + + // Base shift values + std::array shiftBinding; + + // Per-descriptor-set shift values + std::array, EResCount> shiftBindingForSet; + + std::vector resourceSetBinding; + bool autoMapBindings; + bool autoMapLocations; + bool flattenUniformArrays; + bool useUnknownFormat; + bool hlslOffsets; + bool hlslIoMapping; + bool useVariablePointers; + + std::set semanticNameSet; + + EShTextureSamplerTransformMode textureSamplerTransformMode; + + bool needToLegalize; + bool binaryDoubleOutput; + bool usePhysicalStorageBuffer; + + std::unordered_map uniformLocationOverrides; + int uniformLocationBase; + TNumericFeatures numericFeatures; +#endif + + std::unordered_set usedConstantId; // specialization constant ids used + std::vector usedAtomics; // sets of bindings used by atomic counters + std::vector usedIo[4]; // sets of used locations, one for each of in, out, uniform, and buffers + std::vector usedIoRT[2]; // sets of used location, one for rayPayload/rayPayloadIN and other + // for callableData/callableDataIn + // set of names of statically read/written I/O that might need extra checking + std::set ioAccessed; + // source code of shader, useful as part of debug information + std::string sourceFile; + std::string sourceText; + + // Included text. First string is a name, second is the included text + std::map includeText; + + // for OpModuleProcessed, or equivalent + TProcesses processes; + +private: + void operator=(TIntermediate&); // prevent assignments +}; + +} // end namespace glslang + +#endif // _LOCAL_INTERMEDIATE_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/parseConst.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/parseConst.cpp new file mode 100644 index 00000000..7c04743b --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/parseConst.cpp @@ -0,0 +1,214 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Traverse a tree of constants to create a single folded constant. +// It should only be used when the whole tree is known to be constant. +// + +#include "ParseHelper.h" + +namespace glslang { + +class TConstTraverser : public TIntermTraverser { +public: + TConstTraverser(const TConstUnionArray& cUnion, bool singleConstParam, TOperator constructType, const TType& t) + : unionArray(cUnion), type(t), + constructorType(constructType), singleConstantParam(singleConstParam), error(false), isMatrix(false), + matrixCols(0), matrixRows(0) { index = 0; tOp = EOpNull; } + + virtual void visitConstantUnion(TIntermConstantUnion* node); + virtual bool visitAggregate(TVisit, TIntermAggregate* node); + + int index; + TConstUnionArray unionArray; + TOperator tOp; + const TType& type; + TOperator constructorType; + bool singleConstantParam; + bool error; + int size; // size of the constructor ( 4 for vec4) + bool isMatrix; + int matrixCols; + int matrixRows; + +protected: + TConstTraverser(TConstTraverser&); + TConstTraverser& operator=(TConstTraverser&); +}; + +bool TConstTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node) +{ + if (! node->isConstructor() && node->getOp() != EOpComma) { + error = true; + + return false; + } + + bool flag = node->getSequence().size() == 1 && node->getSequence()[0]->getAsTyped()->getAsConstantUnion(); + if (flag) { + singleConstantParam = true; + constructorType = node->getOp(); + size = node->getType().computeNumComponents(); + + if (node->getType().isMatrix()) { + isMatrix = true; + matrixCols = node->getType().getMatrixCols(); + matrixRows = node->getType().getMatrixRows(); + } + } + + for (TIntermSequence::iterator p = node->getSequence().begin(); + p != node->getSequence().end(); p++) { + + if (node->getOp() == EOpComma) + index = 0; + + (*p)->traverse(this); + } + if (flag) + { + singleConstantParam = false; + constructorType = EOpNull; + size = 0; + isMatrix = false; + matrixCols = 0; + matrixRows = 0; + } + + return false; +} + +void TConstTraverser::visitConstantUnion(TIntermConstantUnion* node) +{ + TConstUnionArray leftUnionArray(unionArray); + int instanceSize = type.computeNumComponents(); + + if (index >= instanceSize) + return; + + if (! singleConstantParam) { + int rightUnionSize = node->getType().computeNumComponents(); + + const TConstUnionArray& rightUnionArray = node->getConstArray(); + for (int i = 0; i < rightUnionSize; i++) { + if (index >= instanceSize) + return; + leftUnionArray[index] = rightUnionArray[i]; + + index++; + } + } else { + int endIndex = index + size; + const TConstUnionArray& rightUnionArray = node->getConstArray(); + if (! isMatrix) { + int count = 0; + int nodeComps = node->getType().computeNumComponents(); + for (int i = index; i < endIndex; i++) { + if (i >= instanceSize) + return; + + leftUnionArray[i] = rightUnionArray[count]; + + (index)++; + + if (nodeComps > 1) + count++; + } + } else { + // constructing a matrix, but from what? + if (node->isMatrix()) { + // Matrix from a matrix; this has the outer matrix, node is the argument matrix. + // Traverse the outer, potentially bigger matrix, fill in missing pieces with the + // identity matrix. + for (int c = 0; c < matrixCols; ++c) { + for (int r = 0; r < matrixRows; ++r) { + int targetOffset = index + c * matrixRows + r; + if (r < node->getType().getMatrixRows() && c < node->getType().getMatrixCols()) { + int srcOffset = c * node->getType().getMatrixRows() + r; + leftUnionArray[targetOffset] = rightUnionArray[srcOffset]; + } else if (r == c) + leftUnionArray[targetOffset].setDConst(1.0); + else + leftUnionArray[targetOffset].setDConst(0.0); + } + } + } else { + // matrix from vector or scalar + int count = 0; + const int startIndex = index; + int nodeComps = node->getType().computeNumComponents(); + for (int i = startIndex; i < endIndex; i++) { + if (i >= instanceSize) + return; + if (nodeComps == 1) { + // If there is a single scalar parameter to a matrix + // constructor, it is used to initialize all the + // components on the matrix's diagonal, with the + // remaining components initialized to 0.0. + if (i == startIndex || (i - startIndex) % (matrixRows + 1) == 0 ) + leftUnionArray[i] = rightUnionArray[count]; + else + leftUnionArray[i].setDConst(0.0); + } else { + // construct the matrix in column-major order, from + // the components provided, in order + leftUnionArray[i] = rightUnionArray[count]; + } + + index++; + + if (nodeComps > 1) + count++; + } + } + } + } +} + +bool TIntermediate::parseConstTree(TIntermNode* root, TConstUnionArray unionArray, TOperator constructorType, const TType& t, bool singleConstantParam) +{ + if (root == 0) + return false; + + TConstTraverser it(unionArray, singleConstantParam, constructorType, t); + + root->traverse(&it); + if (it.error) + return true; + else + return false; +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/parseVersions.h b/android/x86_64/include/glslang/Include/MachineIndependent/parseVersions.h new file mode 100644 index 00000000..7248354e --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/parseVersions.h @@ -0,0 +1,245 @@ +// +// Copyright (C) 2015-2018 Google, Inc. +// Copyright (C) 2017 ARM Limited. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// This is implemented in Versions.cpp + +#ifndef _PARSE_VERSIONS_INCLUDED_ +#define _PARSE_VERSIONS_INCLUDED_ + +#include "../Public/ShaderLang.h" +#include "../Include/InfoSink.h" +#include "Scan.h" + +#include + +namespace glslang { + +// +// Base class for parse helpers. +// This just has version-related information and checking. +// This class should be sufficient for preprocessing. +// +class TParseVersions { +public: + TParseVersions(TIntermediate& interm, int version, EProfile profile, + const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink, + bool forwardCompatible, EShMessages messages) + : +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + forwardCompatible(forwardCompatible), + profile(profile), +#endif + infoSink(infoSink), version(version), + language(language), + spvVersion(spvVersion), + intermediate(interm), messages(messages), numErrors(0), currentScanner(0) { } + virtual ~TParseVersions() { } + void requireStage(const TSourceLoc&, EShLanguageMask, const char* featureDesc); + void requireStage(const TSourceLoc&, EShLanguage, const char* featureDesc); +#ifdef GLSLANG_WEB + const EProfile profile = EEsProfile; + bool isEsProfile() const { return true; } + void requireProfile(const TSourceLoc& loc, int profileMask, const char* featureDesc) + { + if (! (EEsProfile & profileMask)) + error(loc, "not supported with this profile:", featureDesc, ProfileName(profile)); + } + void profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, int numExtensions, + const char* const extensions[], const char* featureDesc) + { + if ((EEsProfile & profileMask) && (minVersion == 0 || version < minVersion)) + error(loc, "not supported for this version or the enabled extensions", featureDesc, ""); + } + void profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, const char* extension, + const char* featureDesc) + { + profileRequires(loc, profileMask, minVersion, extension ? 1 : 0, &extension, featureDesc); + } + void initializeExtensionBehavior() { } + void checkDeprecated(const TSourceLoc&, int queryProfiles, int depVersion, const char* featureDesc) { } + void requireNotRemoved(const TSourceLoc&, int queryProfiles, int removedVersion, const char* featureDesc) { } + void requireExtensions(const TSourceLoc&, int numExtensions, const char* const extensions[], + const char* featureDesc) { } + void ppRequireExtensions(const TSourceLoc&, int numExtensions, const char* const extensions[], + const char* featureDesc) { } + TExtensionBehavior getExtensionBehavior(const char*) { return EBhMissing; } + bool extensionTurnedOn(const char* const extension) { return false; } + bool extensionsTurnedOn(int numExtensions, const char* const extensions[]) { return false; } + void updateExtensionBehavior(int line, const char* const extension, const char* behavior) { } + void updateExtensionBehavior(const char* const extension, TExtensionBehavior) { } + void checkExtensionStage(const TSourceLoc&, const char* const extension) { } + void extensionRequires(const TSourceLoc&, const char* const extension, const char* behavior) { } + void fullIntegerCheck(const TSourceLoc&, const char* op) { } + void doubleCheck(const TSourceLoc&, const char* op) { } + bool float16Arithmetic() { return false; } + void requireFloat16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc) { } + bool int16Arithmetic() { return false; } + void requireInt16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc) { } + bool int8Arithmetic() { return false; } + void requireInt8Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc) { } + void int64Check(const TSourceLoc&, const char* op, bool builtIn = false) { } + void explicitFloat32Check(const TSourceLoc&, const char* op, bool builtIn = false) { } + void explicitFloat64Check(const TSourceLoc&, const char* op, bool builtIn = false) { } + bool relaxedErrors() const { return false; } + bool suppressWarnings() const { return true; } + bool isForwardCompatible() const { return false; } +#else +#ifdef GLSLANG_ANGLE + const bool forwardCompatible = true; + const EProfile profile = ECoreProfile; +#else + bool forwardCompatible; // true if errors are to be given for use of deprecated features + EProfile profile; // the declared profile in the shader (core by default) +#endif + bool isEsProfile() const { return profile == EEsProfile; } + void requireProfile(const TSourceLoc& loc, int profileMask, const char* featureDesc); + void profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, int numExtensions, + const char* const extensions[], const char* featureDesc); + void profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, const char* extension, + const char* featureDesc); + virtual void initializeExtensionBehavior(); + virtual void checkDeprecated(const TSourceLoc&, int queryProfiles, int depVersion, const char* featureDesc); + virtual void requireNotRemoved(const TSourceLoc&, int queryProfiles, int removedVersion, const char* featureDesc); + virtual void requireExtensions(const TSourceLoc&, int numExtensions, const char* const extensions[], + const char* featureDesc); + virtual void ppRequireExtensions(const TSourceLoc&, int numExtensions, const char* const extensions[], + const char* featureDesc); + virtual TExtensionBehavior getExtensionBehavior(const char*); + virtual bool extensionTurnedOn(const char* const extension); + virtual bool extensionsTurnedOn(int numExtensions, const char* const extensions[]); + virtual void updateExtensionBehavior(int line, const char* const extension, const char* behavior); + virtual void updateExtensionBehavior(const char* const extension, TExtensionBehavior); + virtual bool checkExtensionsRequested(const TSourceLoc&, int numExtensions, const char* const extensions[], + const char* featureDesc); + virtual void checkExtensionStage(const TSourceLoc&, const char* const extension); + virtual void extensionRequires(const TSourceLoc&, const char* const extension, const char* behavior); + virtual void fullIntegerCheck(const TSourceLoc&, const char* op); + + virtual void unimplemented(const TSourceLoc&, const char* featureDesc); + virtual void doubleCheck(const TSourceLoc&, const char* op); + virtual void float16Check(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void float16ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false); + virtual bool float16Arithmetic(); + virtual void requireFloat16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc); + virtual void int16ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false); + virtual bool int16Arithmetic(); + virtual void requireInt16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc); + virtual void int8ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false); + virtual bool int8Arithmetic(); + virtual void requireInt8Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc); + virtual void float16OpaqueCheck(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void int64Check(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void explicitInt8Check(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void explicitInt16Check(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void explicitInt32Check(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void explicitFloat32Check(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void explicitFloat64Check(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void fcoopmatCheck(const TSourceLoc&, const char* op, bool builtIn = false); + virtual void intcoopmatCheck(const TSourceLoc&, const char *op, bool builtIn = false); + bool relaxedErrors() const { return (messages & EShMsgRelaxedErrors) != 0; } + bool suppressWarnings() const { return (messages & EShMsgSuppressWarnings) != 0; } + bool isForwardCompatible() const { return forwardCompatible; } +#endif // GLSLANG_WEB + virtual void spvRemoved(const TSourceLoc&, const char* op); + virtual void vulkanRemoved(const TSourceLoc&, const char* op); + virtual void requireVulkan(const TSourceLoc&, const char* op); + virtual void requireSpv(const TSourceLoc&, const char* op); + virtual void requireSpv(const TSourceLoc&, const char *op, unsigned int version); + + +#if defined(GLSLANG_WEB) && !defined(GLSLANG_WEB_DEVEL) + void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) { addError(); } + void C_DECL warn(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) { } + void C_DECL ppError(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) { addError(); } + void C_DECL ppWarn(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) { } +#else + virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) = 0; + virtual void C_DECL warn(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) = 0; + virtual void C_DECL ppError(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) = 0; + virtual void C_DECL ppWarn(const TSourceLoc&, const char* szReason, const char* szToken, + const char* szExtraInfoFormat, ...) = 0; +#endif + + void addError() { ++numErrors; } + int getNumErrors() const { return numErrors; } + + void setScanner(TInputScanner* scanner) { currentScanner = scanner; } + TInputScanner* getScanner() const { return currentScanner; } + const TSourceLoc& getCurrentLoc() const { return currentScanner->getSourceLoc(); } + void setCurrentLine(int line) { currentScanner->setLine(line); } + void setCurrentColumn(int col) { currentScanner->setColumn(col); } + void setCurrentSourceName(const char* name) { currentScanner->setFile(name); } + void setCurrentString(int string) { currentScanner->setString(string); } + + void getPreamble(std::string&); +#ifdef ENABLE_HLSL + bool isReadingHLSL() const { return (messages & EShMsgReadHlsl) == EShMsgReadHlsl; } + bool hlslEnable16BitTypes() const { return (messages & EShMsgHlslEnable16BitTypes) != 0; } + bool hlslDX9Compatible() const { return (messages & EShMsgHlslDX9Compatible) != 0; } +#else + bool isReadingHLSL() const { return false; } +#endif + + TInfoSink& infoSink; + + // compilation mode + int version; // version, updated by #version in the shader + EShLanguage language; // really the stage + SpvVersion spvVersion; + TIntermediate& intermediate; // helper for making and hooking up pieces of the parse tree + +protected: + TMap extensionBehavior; // for each extension string, what its current behavior is + TMap extensionMinSpv; // for each extension string, store minimum spirv required + EShMessages messages; // errors/warnings/rule-sets + int numErrors; // number of compile-time errors encountered + TInputScanner* currentScanner; + +private: + explicit TParseVersions(const TParseVersions&); + TParseVersions& operator=(const TParseVersions&); +}; + +} // end namespace glslang + +#endif // _PARSE_VERSIONS_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/pch.h b/android/x86_64/include/glslang/Include/MachineIndependent/pch.h new file mode 100644 index 00000000..6ea3761e --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/pch.h @@ -0,0 +1,49 @@ +#ifndef _PCH_H +#define _PCH_H +// +// Copyright (C) 2018 The Khronos Group Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +#include +#include +#include +#include +#include +#include +#include +#include +#include "SymbolTable.h" +#include "ParseHelper.h" +#include "Scan.h" +#include "ScanContext.h" + +#endif /* _PCH_H */ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/Pp.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/Pp.cpp new file mode 100644 index 00000000..aa1e0d74 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/Pp.cpp @@ -0,0 +1,1346 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ + +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif + +#include +#include +#include +#include +#include + +#include "PpContext.h" +#include "PpTokens.h" + +namespace glslang { + +// Handle #define +int TPpContext::CPPdefine(TPpToken* ppToken) +{ + MacroSymbol mac; + + // get the macro name + int token = scanToken(ppToken); + if (token != PpAtomIdentifier) { + parseContext.ppError(ppToken->loc, "must be followed by macro name", "#define", ""); + return token; + } + if (ppToken->loc.string >= 0) { + // We are in user code; check for reserved name use: + parseContext.reservedPpErrorCheck(ppToken->loc, ppToken->name, "#define"); + } + + // save the macro name + const int defAtom = atomStrings.getAddAtom(ppToken->name); + TSourceLoc defineLoc = ppToken->loc; // because ppToken might go to the next line before we report errors + + // gather parameters to the macro, between (...) + token = scanToken(ppToken); + if (token == '(' && !ppToken->space) { + mac.functionLike = 1; + do { + token = scanToken(ppToken); + if (mac.args.size() == 0 && token == ')') + break; + if (token != PpAtomIdentifier) { + parseContext.ppError(ppToken->loc, "bad argument", "#define", ""); + + return token; + } + const int argAtom = atomStrings.getAddAtom(ppToken->name); + + // check for duplication of parameter name + bool duplicate = false; + for (size_t a = 0; a < mac.args.size(); ++a) { + if (mac.args[a] == argAtom) { + parseContext.ppError(ppToken->loc, "duplicate macro parameter", "#define", ""); + duplicate = true; + break; + } + } + if (! duplicate) + mac.args.push_back(argAtom); + token = scanToken(ppToken); + } while (token == ','); + if (token != ')') { + parseContext.ppError(ppToken->loc, "missing parenthesis", "#define", ""); + + return token; + } + + token = scanToken(ppToken); + } else if (token != '\n' && token != EndOfInput && !ppToken->space) { + parseContext.ppWarn(ppToken->loc, "missing space after macro name", "#define", ""); + + return token; + } + + // record the definition of the macro + while (token != '\n' && token != EndOfInput) { + mac.body.putToken(token, ppToken); + token = scanToken(ppToken); + if (token != '\n' && ppToken->space) + mac.body.putToken(' ', ppToken); + } + + // check for duplicate definition + MacroSymbol* existing = lookupMacroDef(defAtom); + if (existing != nullptr) { + if (! existing->undef) { + // Already defined -- need to make sure they are identical: + // "Two replacement lists are identical if and only if the + // preprocessing tokens in both have the same number, + // ordering, spelling, and white-space separation, where all + // white-space separations are considered identical." + if (existing->functionLike != mac.functionLike) { + parseContext.ppError(defineLoc, "Macro redefined; function-like versus object-like:", "#define", + atomStrings.getString(defAtom)); + } else if (existing->args.size() != mac.args.size()) { + parseContext.ppError(defineLoc, "Macro redefined; different number of arguments:", "#define", + atomStrings.getString(defAtom)); + } else { + if (existing->args != mac.args) { + parseContext.ppError(defineLoc, "Macro redefined; different argument names:", "#define", + atomStrings.getString(defAtom)); + } + // set up to compare the two + existing->body.reset(); + mac.body.reset(); + int newToken; + bool firstToken = true; + do { + int oldToken; + TPpToken oldPpToken; + TPpToken newPpToken; + oldToken = existing->body.getToken(parseContext, &oldPpToken); + newToken = mac.body.getToken(parseContext, &newPpToken); + // for the first token, preceding spaces don't matter + if (firstToken) { + newPpToken.space = oldPpToken.space; + firstToken = false; + } + if (oldToken != newToken || oldPpToken != newPpToken) { + parseContext.ppError(defineLoc, "Macro redefined; different substitutions:", "#define", + atomStrings.getString(defAtom)); + break; + } + } while (newToken != EndOfInput); + } + } + *existing = mac; + } else + addMacroDef(defAtom, mac); + + return '\n'; +} + +// Handle #undef +int TPpContext::CPPundef(TPpToken* ppToken) +{ + int token = scanToken(ppToken); + if (token != PpAtomIdentifier) { + parseContext.ppError(ppToken->loc, "must be followed by macro name", "#undef", ""); + + return token; + } + + parseContext.reservedPpErrorCheck(ppToken->loc, ppToken->name, "#undef"); + + MacroSymbol* macro = lookupMacroDef(atomStrings.getAtom(ppToken->name)); + if (macro != nullptr) + macro->undef = 1; + token = scanToken(ppToken); + if (token != '\n') + parseContext.ppError(ppToken->loc, "can only be followed by a single macro name", "#undef", ""); + + return token; +} + +// Handle #else +/* Skip forward to appropriate spot. This is used both +** to skip to a #endif after seeing an #else, AND to skip to a #else, +** #elif, or #endif after a #if/#ifdef/#ifndef/#elif test was false. +*/ +int TPpContext::CPPelse(int matchelse, TPpToken* ppToken) +{ + int depth = 0; + int token = scanToken(ppToken); + + while (token != EndOfInput) { + if (token != '#') { + while (token != '\n' && token != EndOfInput) + token = scanToken(ppToken); + + if (token == EndOfInput) + return token; + + token = scanToken(ppToken); + continue; + } + + if ((token = scanToken(ppToken)) != PpAtomIdentifier) + continue; + + int nextAtom = atomStrings.getAtom(ppToken->name); + if (nextAtom == PpAtomIf || nextAtom == PpAtomIfdef || nextAtom == PpAtomIfndef) { + depth++; + if (ifdepth >= maxIfNesting || elsetracker >= maxIfNesting) { + parseContext.ppError(ppToken->loc, "maximum nesting depth exceeded", "#if/#ifdef/#ifndef", ""); + return EndOfInput; + } else { + ifdepth++; + elsetracker++; + } + } else if (nextAtom == PpAtomEndif) { + token = extraTokenCheck(nextAtom, ppToken, scanToken(ppToken)); + elseSeen[elsetracker] = false; + --elsetracker; + if (depth == 0) { + // found the #endif we are looking for + if (ifdepth > 0) + --ifdepth; + break; + } + --depth; + --ifdepth; + } else if (matchelse && depth == 0) { + if (nextAtom == PpAtomElse) { + elseSeen[elsetracker] = true; + token = extraTokenCheck(nextAtom, ppToken, scanToken(ppToken)); + // found the #else we are looking for + break; + } else if (nextAtom == PpAtomElif) { + if (elseSeen[elsetracker]) + parseContext.ppError(ppToken->loc, "#elif after #else", "#elif", ""); + /* we decrement ifdepth here, because CPPif will increment + * it and we really want to leave it alone */ + if (ifdepth > 0) { + --ifdepth; + elseSeen[elsetracker] = false; + --elsetracker; + } + + return CPPif(ppToken); + } + } else if (nextAtom == PpAtomElse) { + if (elseSeen[elsetracker]) + parseContext.ppError(ppToken->loc, "#else after #else", "#else", ""); + else + elseSeen[elsetracker] = true; + token = extraTokenCheck(nextAtom, ppToken, scanToken(ppToken)); + } else if (nextAtom == PpAtomElif) { + if (elseSeen[elsetracker]) + parseContext.ppError(ppToken->loc, "#elif after #else", "#elif", ""); + } + } + + return token; +} + +// Call when there should be no more tokens left on a line. +int TPpContext::extraTokenCheck(int contextAtom, TPpToken* ppToken, int token) +{ + if (token != '\n' && token != EndOfInput) { + static const char* message = "unexpected tokens following directive"; + + const char* label; + if (contextAtom == PpAtomElse) + label = "#else"; + else if (contextAtom == PpAtomElif) + label = "#elif"; + else if (contextAtom == PpAtomEndif) + label = "#endif"; + else if (contextAtom == PpAtomIf) + label = "#if"; + else if (contextAtom == PpAtomLine) + label = "#line"; + else + label = ""; + + if (parseContext.relaxedErrors()) + parseContext.ppWarn(ppToken->loc, message, label, ""); + else + parseContext.ppError(ppToken->loc, message, label, ""); + + while (token != '\n' && token != EndOfInput) + token = scanToken(ppToken); + } + + return token; +} + +enum eval_prec { + MIN_PRECEDENCE, + COND, LOGOR, LOGAND, OR, XOR, AND, EQUAL, RELATION, SHIFT, ADD, MUL, UNARY, + MAX_PRECEDENCE +}; + +namespace { + + int op_logor(int a, int b) { return a || b; } + int op_logand(int a, int b) { return a && b; } + int op_or(int a, int b) { return a | b; } + int op_xor(int a, int b) { return a ^ b; } + int op_and(int a, int b) { return a & b; } + int op_eq(int a, int b) { return a == b; } + int op_ne(int a, int b) { return a != b; } + int op_ge(int a, int b) { return a >= b; } + int op_le(int a, int b) { return a <= b; } + int op_gt(int a, int b) { return a > b; } + int op_lt(int a, int b) { return a < b; } + int op_shl(int a, int b) { return a << b; } + int op_shr(int a, int b) { return a >> b; } + int op_add(int a, int b) { return a + b; } + int op_sub(int a, int b) { return a - b; } + int op_mul(int a, int b) { return a * b; } + int op_div(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a / b; } + int op_mod(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a % b; } + int op_pos(int a) { return a; } + int op_neg(int a) { return -a; } + int op_cmpl(int a) { return ~a; } + int op_not(int a) { return !a; } + +}; + +struct TBinop { + int token, precedence, (*op)(int, int); +} binop[] = { + { PpAtomOr, LOGOR, op_logor }, + { PpAtomAnd, LOGAND, op_logand }, + { '|', OR, op_or }, + { '^', XOR, op_xor }, + { '&', AND, op_and }, + { PpAtomEQ, EQUAL, op_eq }, + { PpAtomNE, EQUAL, op_ne }, + { '>', RELATION, op_gt }, + { PpAtomGE, RELATION, op_ge }, + { '<', RELATION, op_lt }, + { PpAtomLE, RELATION, op_le }, + { PpAtomLeft, SHIFT, op_shl }, + { PpAtomRight, SHIFT, op_shr }, + { '+', ADD, op_add }, + { '-', ADD, op_sub }, + { '*', MUL, op_mul }, + { '/', MUL, op_div }, + { '%', MUL, op_mod }, +}; + +struct TUnop { + int token, (*op)(int); +} unop[] = { + { '+', op_pos }, + { '-', op_neg }, + { '~', op_cmpl }, + { '!', op_not }, +}; + +#define NUM_ELEMENTS(A) (sizeof(A) / sizeof(A[0])) + +int TPpContext::eval(int token, int precedence, bool shortCircuit, int& res, bool& err, TPpToken* ppToken) +{ + TSourceLoc loc = ppToken->loc; // because we sometimes read the newline before reporting the error + if (token == PpAtomIdentifier) { + if (strcmp("defined", ppToken->name) == 0) { + if (! parseContext.isReadingHLSL() && isMacroInput()) { + if (parseContext.relaxedErrors()) + parseContext.ppWarn(ppToken->loc, "nonportable when expanded from macros for preprocessor expression", + "defined", ""); + else + parseContext.ppError(ppToken->loc, "cannot use in preprocessor expression when expanded from macros", + "defined", ""); + } + bool needclose = 0; + token = scanToken(ppToken); + if (token == '(') { + needclose = true; + token = scanToken(ppToken); + } + if (token != PpAtomIdentifier) { + parseContext.ppError(loc, "incorrect directive, expected identifier", "preprocessor evaluation", ""); + err = true; + res = 0; + + return token; + } + + MacroSymbol* macro = lookupMacroDef(atomStrings.getAtom(ppToken->name)); + res = macro != nullptr ? !macro->undef : 0; + token = scanToken(ppToken); + if (needclose) { + if (token != ')') { + parseContext.ppError(loc, "expected ')'", "preprocessor evaluation", ""); + err = true; + res = 0; + + return token; + } + token = scanToken(ppToken); + } + } else { + token = tokenPaste(token, *ppToken); + token = evalToToken(token, shortCircuit, res, err, ppToken); + return eval(token, precedence, shortCircuit, res, err, ppToken); + } + } else if (token == PpAtomConstInt) { + res = ppToken->ival; + token = scanToken(ppToken); + } else if (token == '(') { + token = scanToken(ppToken); + token = eval(token, MIN_PRECEDENCE, shortCircuit, res, err, ppToken); + if (! err) { + if (token != ')') { + parseContext.ppError(loc, "expected ')'", "preprocessor evaluation", ""); + err = true; + res = 0; + + return token; + } + token = scanToken(ppToken); + } + } else { + int op = NUM_ELEMENTS(unop) - 1; + for (; op >= 0; op--) { + if (unop[op].token == token) + break; + } + if (op >= 0) { + token = scanToken(ppToken); + token = eval(token, UNARY, shortCircuit, res, err, ppToken); + res = unop[op].op(res); + } else { + parseContext.ppError(loc, "bad expression", "preprocessor evaluation", ""); + err = true; + res = 0; + + return token; + } + } + + token = evalToToken(token, shortCircuit, res, err, ppToken); + + // Perform evaluation of binary operation, if there is one, otherwise we are done. + while (! err) { + if (token == ')' || token == '\n') + break; + int op; + for (op = NUM_ELEMENTS(binop) - 1; op >= 0; op--) { + if (binop[op].token == token) + break; + } + if (op < 0 || binop[op].precedence <= precedence) + break; + int leftSide = res; + + // Setup short-circuiting, needed for ES, unless already in a short circuit. + // (Once in a short-circuit, can't turn off again, until that whole subexpression is done. + if (! shortCircuit) { + if ((token == PpAtomOr && leftSide == 1) || + (token == PpAtomAnd && leftSide == 0)) + shortCircuit = true; + } + + token = scanToken(ppToken); + token = eval(token, binop[op].precedence, shortCircuit, res, err, ppToken); + + if (binop[op].op == op_div || binop[op].op == op_mod) { + if (res == 0) { + parseContext.ppError(loc, "division by 0", "preprocessor evaluation", ""); + res = 1; + } + } + res = binop[op].op(leftSide, res); + } + + return token; +} + +// Expand macros, skipping empty expansions, to get to the first real token in those expansions. +int TPpContext::evalToToken(int token, bool shortCircuit, int& res, bool& err, TPpToken* ppToken) +{ + while (token == PpAtomIdentifier && strcmp("defined", ppToken->name) != 0) { + switch (MacroExpand(ppToken, true, false)) { + case MacroExpandNotStarted: + case MacroExpandError: + parseContext.ppError(ppToken->loc, "can't evaluate expression", "preprocessor evaluation", ""); + err = true; + res = 0; + break; + case MacroExpandStarted: + break; + case MacroExpandUndef: + if (! shortCircuit && parseContext.isEsProfile()) { + const char* message = "undefined macro in expression not allowed in es profile"; + if (parseContext.relaxedErrors()) + parseContext.ppWarn(ppToken->loc, message, "preprocessor evaluation", ppToken->name); + else + parseContext.ppError(ppToken->loc, message, "preprocessor evaluation", ppToken->name); + } + break; + } + token = scanToken(ppToken); + if (err) + break; + } + + return token; +} + +// Handle #if +int TPpContext::CPPif(TPpToken* ppToken) +{ + int token = scanToken(ppToken); + if (ifdepth >= maxIfNesting || elsetracker >= maxIfNesting) { + parseContext.ppError(ppToken->loc, "maximum nesting depth exceeded", "#if", ""); + return EndOfInput; + } else { + elsetracker++; + ifdepth++; + } + int res = 0; + bool err = false; + token = eval(token, MIN_PRECEDENCE, false, res, err, ppToken); + token = extraTokenCheck(PpAtomIf, ppToken, token); + if (!res && !err) + token = CPPelse(1, ppToken); + + return token; +} + +// Handle #ifdef +int TPpContext::CPPifdef(int defined, TPpToken* ppToken) +{ + int token = scanToken(ppToken); + if (ifdepth > maxIfNesting || elsetracker > maxIfNesting) { + parseContext.ppError(ppToken->loc, "maximum nesting depth exceeded", "#ifdef", ""); + return EndOfInput; + } else { + elsetracker++; + ifdepth++; + } + + if (token != PpAtomIdentifier) { + if (defined) + parseContext.ppError(ppToken->loc, "must be followed by macro name", "#ifdef", ""); + else + parseContext.ppError(ppToken->loc, "must be followed by macro name", "#ifndef", ""); + } else { + MacroSymbol* macro = lookupMacroDef(atomStrings.getAtom(ppToken->name)); + token = scanToken(ppToken); + if (token != '\n') { + parseContext.ppError(ppToken->loc, "unexpected tokens following #ifdef directive - expected a newline", "#ifdef", ""); + while (token != '\n' && token != EndOfInput) + token = scanToken(ppToken); + } + if (((macro != nullptr && !macro->undef) ? 1 : 0) != defined) + token = CPPelse(1, ppToken); + } + + return token; +} + +// Handle #include ... +// TODO: Handle macro expansions for the header name +int TPpContext::CPPinclude(TPpToken* ppToken) +{ + const TSourceLoc directiveLoc = ppToken->loc; + bool startWithLocalSearch = true; // to additionally include the extra "" paths + int token; + + // Find the first non-whitespace char after #include + int ch = getChar(); + while (ch == ' ' || ch == '\t') { + ch = getChar(); + } + if (ch == '<') { + // style + startWithLocalSearch = false; + token = scanHeaderName(ppToken, '>'); + } else if (ch == '"') { + // "header-name" style + token = scanHeaderName(ppToken, '"'); + } else { + // unexpected, get the full token to generate the error + ungetChar(); + token = scanToken(ppToken); + } + + if (token != PpAtomConstString) { + parseContext.ppError(directiveLoc, "must be followed by a header name", "#include", ""); + return token; + } + + // Make a copy of the name because it will be overwritten by the next token scan. + const std::string filename = ppToken->name; + + // See if the directive was well formed + token = scanToken(ppToken); + if (token != '\n') { + if (token == EndOfInput) + parseContext.ppError(ppToken->loc, "expected newline after header name:", "#include", "%s", filename.c_str()); + else + parseContext.ppError(ppToken->loc, "extra content after header name:", "#include", "%s", filename.c_str()); + return token; + } + + // Process well-formed directive + + // Find the inclusion, first look in "Local" ("") paths, if requested, + // otherwise, only search the "System" (<>) paths. + TShader::Includer::IncludeResult* res = nullptr; + if (startWithLocalSearch) + res = includer.includeLocal(filename.c_str(), currentSourceFile.c_str(), includeStack.size() + 1); + if (res == nullptr || res->headerName.empty()) { + includer.releaseInclude(res); + res = includer.includeSystem(filename.c_str(), currentSourceFile.c_str(), includeStack.size() + 1); + } + + // Process the results + if (res != nullptr && !res->headerName.empty()) { + if (res->headerData != nullptr && res->headerLength > 0) { + // path for processing one or more tokens from an included header, hand off 'res' + const bool forNextLine = parseContext.lineDirectiveShouldSetNextLine(); + std::ostringstream prologue; + std::ostringstream epilogue; + prologue << "#line " << forNextLine << " " << "\"" << res->headerName << "\"\n"; + epilogue << (res->headerData[res->headerLength - 1] == '\n'? "" : "\n") << + "#line " << directiveLoc.line + forNextLine << " " << directiveLoc.getStringNameOrNum() << "\n"; + pushInput(new TokenizableIncludeFile(directiveLoc, prologue.str(), res, epilogue.str(), this)); + parseContext.intermediate.addIncludeText(res->headerName.c_str(), res->headerData, res->headerLength); + // There's no "current" location anymore. + parseContext.setCurrentColumn(0); + } else { + // things are okay, but there is nothing to process + includer.releaseInclude(res); + } + } else { + // error path, clean up + std::string message = + res != nullptr ? std::string(res->headerData, res->headerLength) + : std::string("Could not process include directive"); + parseContext.ppError(directiveLoc, message.c_str(), "#include", "for header name: %s", filename.c_str()); + includer.releaseInclude(res); + } + + return token; +} + +// Handle #line +int TPpContext::CPPline(TPpToken* ppToken) +{ + // "#line must have, after macro substitution, one of the following forms: + // "#line line + // "#line line source-string-number" + + int token = scanToken(ppToken); + const TSourceLoc directiveLoc = ppToken->loc; + if (token == '\n') { + parseContext.ppError(ppToken->loc, "must by followed by an integral literal", "#line", ""); + return token; + } + + int lineRes = 0; // Line number after macro expansion. + int lineToken = 0; + bool hasFile = false; + int fileRes = 0; // Source file number after macro expansion. + const char* sourceName = nullptr; // Optional source file name. + bool lineErr = false; + bool fileErr = false; + disableEscapeSequences = true; + token = eval(token, MIN_PRECEDENCE, false, lineRes, lineErr, ppToken); + disableEscapeSequences = false; + if (! lineErr) { + lineToken = lineRes; + if (token == '\n') + ++lineRes; + + if (parseContext.lineDirectiveShouldSetNextLine()) + --lineRes; + parseContext.setCurrentLine(lineRes); + + if (token != '\n') { +#ifndef GLSLANG_WEB + if (token == PpAtomConstString) { + parseContext.ppRequireExtensions(directiveLoc, 1, &E_GL_GOOGLE_cpp_style_line_directive, "filename-based #line"); + // We need to save a copy of the string instead of pointing + // to the name field of the token since the name field + // will likely be overwritten by the next token scan. + sourceName = atomStrings.getString(atomStrings.getAddAtom(ppToken->name)); + parseContext.setCurrentSourceName(sourceName); + hasFile = true; + token = scanToken(ppToken); + } else +#endif + { + token = eval(token, MIN_PRECEDENCE, false, fileRes, fileErr, ppToken); + if (! fileErr) { + parseContext.setCurrentString(fileRes); + hasFile = true; + } + } + } + } + if (!fileErr && !lineErr) { + parseContext.notifyLineDirective(directiveLoc.line, lineToken, hasFile, fileRes, sourceName); + } + token = extraTokenCheck(PpAtomLine, ppToken, token); + + return token; +} + +// Handle #error +int TPpContext::CPPerror(TPpToken* ppToken) +{ + disableEscapeSequences = true; + int token = scanToken(ppToken); + disableEscapeSequences = false; + std::string message; + TSourceLoc loc = ppToken->loc; + + while (token != '\n' && token != EndOfInput) { + if (token == PpAtomConstInt16 || token == PpAtomConstUint16 || + token == PpAtomConstInt || token == PpAtomConstUint || + token == PpAtomConstInt64 || token == PpAtomConstUint64 || + token == PpAtomConstFloat16 || + token == PpAtomConstFloat || token == PpAtomConstDouble) { + message.append(ppToken->name); + } else if (token == PpAtomIdentifier || token == PpAtomConstString) { + message.append(ppToken->name); + } else { + message.append(atomStrings.getString(token)); + } + message.append(" "); + token = scanToken(ppToken); + } + parseContext.notifyErrorDirective(loc.line, message.c_str()); + // store this msg into the shader's information log..set the Compile Error flag!!!! + parseContext.ppError(loc, message.c_str(), "#error", ""); + + return '\n'; +} + +// Handle #pragma +int TPpContext::CPPpragma(TPpToken* ppToken) +{ + char SrcStrName[2]; + TVector tokens; + + TSourceLoc loc = ppToken->loc; // because we go to the next line before processing + int token = scanToken(ppToken); + while (token != '\n' && token != EndOfInput) { + switch (token) { + case PpAtomIdentifier: + case PpAtomConstInt: + case PpAtomConstUint: + case PpAtomConstInt64: + case PpAtomConstUint64: + case PpAtomConstInt16: + case PpAtomConstUint16: + case PpAtomConstFloat: + case PpAtomConstDouble: + case PpAtomConstFloat16: + tokens.push_back(ppToken->name); + break; + default: + SrcStrName[0] = (char)token; + SrcStrName[1] = '\0'; + tokens.push_back(SrcStrName); + } + token = scanToken(ppToken); + } + + if (token == EndOfInput) + parseContext.ppError(loc, "directive must end with a newline", "#pragma", ""); + else + parseContext.handlePragma(loc, tokens); + + return token; +} + +// #version: This is just for error checking: the version and profile are decided before preprocessing starts +int TPpContext::CPPversion(TPpToken* ppToken) +{ + int token = scanToken(ppToken); + + if (errorOnVersion || versionSeen) { + if (parseContext.isReadingHLSL()) + parseContext.ppError(ppToken->loc, "invalid preprocessor command", "#version", ""); + else + parseContext.ppError(ppToken->loc, "must occur first in shader", "#version", ""); + } + versionSeen = true; + + if (token == '\n') { + parseContext.ppError(ppToken->loc, "must be followed by version number", "#version", ""); + + return token; + } + + if (token != PpAtomConstInt) + parseContext.ppError(ppToken->loc, "must be followed by version number", "#version", ""); + + ppToken->ival = atoi(ppToken->name); + int versionNumber = ppToken->ival; + int line = ppToken->loc.line; + token = scanToken(ppToken); + + if (token == '\n') { + parseContext.notifyVersion(line, versionNumber, nullptr); + return token; + } else { + int profileAtom = atomStrings.getAtom(ppToken->name); + if (profileAtom != PpAtomCore && + profileAtom != PpAtomCompatibility && + profileAtom != PpAtomEs) + parseContext.ppError(ppToken->loc, "bad profile name; use es, core, or compatibility", "#version", ""); + parseContext.notifyVersion(line, versionNumber, ppToken->name); + token = scanToken(ppToken); + + if (token == '\n') + return token; + else + parseContext.ppError(ppToken->loc, "bad tokens following profile -- expected newline", "#version", ""); + } + + return token; +} + +// Handle #extension +int TPpContext::CPPextension(TPpToken* ppToken) +{ + int line = ppToken->loc.line; + int token = scanToken(ppToken); + char extensionName[MaxTokenLength + 1]; + + if (token=='\n') { + parseContext.ppError(ppToken->loc, "extension name not specified", "#extension", ""); + return token; + } + + if (token != PpAtomIdentifier) + parseContext.ppError(ppToken->loc, "extension name expected", "#extension", ""); + + snprintf(extensionName, sizeof(extensionName), "%s", ppToken->name); + + token = scanToken(ppToken); + if (token != ':') { + parseContext.ppError(ppToken->loc, "':' missing after extension name", "#extension", ""); + return token; + } + + token = scanToken(ppToken); + if (token != PpAtomIdentifier) { + parseContext.ppError(ppToken->loc, "behavior for extension not specified", "#extension", ""); + return token; + } + + parseContext.updateExtensionBehavior(line, extensionName, ppToken->name); + parseContext.notifyExtensionDirective(line, extensionName, ppToken->name); + + token = scanToken(ppToken); + if (token == '\n') + return token; + else + parseContext.ppError(ppToken->loc, "extra tokens -- expected newline", "#extension",""); + + return token; +} + +int TPpContext::readCPPline(TPpToken* ppToken) +{ + int token = scanToken(ppToken); + + if (token == PpAtomIdentifier) { + switch (atomStrings.getAtom(ppToken->name)) { + case PpAtomDefine: + token = CPPdefine(ppToken); + break; + case PpAtomElse: + if (elseSeen[elsetracker]) + parseContext.ppError(ppToken->loc, "#else after #else", "#else", ""); + elseSeen[elsetracker] = true; + if (ifdepth == 0) + parseContext.ppError(ppToken->loc, "mismatched statements", "#else", ""); + token = extraTokenCheck(PpAtomElse, ppToken, scanToken(ppToken)); + token = CPPelse(0, ppToken); + break; + case PpAtomElif: + if (ifdepth == 0) + parseContext.ppError(ppToken->loc, "mismatched statements", "#elif", ""); + if (elseSeen[elsetracker]) + parseContext.ppError(ppToken->loc, "#elif after #else", "#elif", ""); + // this token is really a dont care, but we still need to eat the tokens + token = scanToken(ppToken); + while (token != '\n' && token != EndOfInput) + token = scanToken(ppToken); + token = CPPelse(0, ppToken); + break; + case PpAtomEndif: + if (ifdepth == 0) + parseContext.ppError(ppToken->loc, "mismatched statements", "#endif", ""); + else { + elseSeen[elsetracker] = false; + --elsetracker; + --ifdepth; + } + token = extraTokenCheck(PpAtomEndif, ppToken, scanToken(ppToken)); + break; + case PpAtomIf: + token = CPPif(ppToken); + break; + case PpAtomIfdef: + token = CPPifdef(1, ppToken); + break; + case PpAtomIfndef: + token = CPPifdef(0, ppToken); + break; + case PpAtomLine: + token = CPPline(ppToken); + break; +#ifndef GLSLANG_WEB + case PpAtomInclude: + if(!parseContext.isReadingHLSL()) { + parseContext.ppRequireExtensions(ppToken->loc, 1, &E_GL_GOOGLE_include_directive, "#include"); + } + token = CPPinclude(ppToken); + break; + case PpAtomPragma: + token = CPPpragma(ppToken); + break; +#endif + case PpAtomUndef: + token = CPPundef(ppToken); + break; + case PpAtomError: + token = CPPerror(ppToken); + break; + case PpAtomVersion: + token = CPPversion(ppToken); + break; + case PpAtomExtension: + token = CPPextension(ppToken); + break; + default: + parseContext.ppError(ppToken->loc, "invalid directive:", "#", ppToken->name); + break; + } + } else if (token != '\n' && token != EndOfInput) + parseContext.ppError(ppToken->loc, "invalid directive", "#", ""); + + while (token != '\n' && token != EndOfInput) + token = scanToken(ppToken); + + return token; +} + +// Context-dependent parsing of a #include . +// Assumes no macro expansions etc. are being done; the name is just on the current input. +// Always creates a name and returns PpAtomicConstString, unless we run out of input. +int TPpContext::scanHeaderName(TPpToken* ppToken, char delimit) +{ + bool tooLong = false; + + if (inputStack.empty()) + return EndOfInput; + + int len = 0; + ppToken->name[0] = '\0'; + do { + int ch = inputStack.back()->getch(); + + // done yet? + if (ch == delimit) { + ppToken->name[len] = '\0'; + if (tooLong) + parseContext.ppError(ppToken->loc, "header name too long", "", ""); + return PpAtomConstString; + } else if (ch == EndOfInput) + return EndOfInput; + + // found a character to expand the name with + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + else + tooLong = true; + } while (true); +} + +// Macro-expand a macro argument 'arg' to create 'expandedArg'. +// Does not replace 'arg'. +// Returns nullptr if no expanded argument is created. +TPpContext::TokenStream* TPpContext::PrescanMacroArg(TokenStream& arg, TPpToken* ppToken, bool newLineOkay) +{ + // expand the argument + TokenStream* expandedArg = new TokenStream; + pushInput(new tMarkerInput(this)); + pushTokenStreamInput(arg); + int token; + while ((token = scanToken(ppToken)) != tMarkerInput::marker && token != EndOfInput) { + token = tokenPaste(token, *ppToken); + if (token == PpAtomIdentifier) { + switch (MacroExpand(ppToken, false, newLineOkay)) { + case MacroExpandNotStarted: + break; + case MacroExpandError: + // toss the rest of the pushed-input argument by scanning until tMarkerInput + while ((token = scanToken(ppToken)) != tMarkerInput::marker && token != EndOfInput) + ; + break; + case MacroExpandStarted: + case MacroExpandUndef: + continue; + } + } + if (token == tMarkerInput::marker || token == EndOfInput) + break; + expandedArg->putToken(token, ppToken); + } + + if (token != tMarkerInput::marker) { + // Error, or MacroExpand ate the marker, so had bad input, recover + delete expandedArg; + expandedArg = nullptr; + } + + return expandedArg; +} + +// +// Return the next token for a macro expansion, handling macro arguments, +// whose semantics are dependent on being adjacent to ##. +// +int TPpContext::tMacroInput::scan(TPpToken* ppToken) +{ + int token; + do { + token = mac->body.getToken(pp->parseContext, ppToken); + } while (token == ' '); // handle white space in macro + + // Hash operators basically turn off a round of macro substitution + // (the round done on the argument before the round done on the RHS of the + // macro definition): + // + // "A parameter in the replacement list, unless preceded by a # or ## + // preprocessing token or followed by a ## preprocessing token (see below), + // is replaced by the corresponding argument after all macros contained + // therein have been expanded." + // + // "If, in the replacement list, a parameter is immediately preceded or + // followed by a ## preprocessing token, the parameter is replaced by the + // corresponding argument's preprocessing token sequence." + + bool pasting = false; + if (postpaste) { + // don't expand next token + pasting = true; + postpaste = false; + } + + if (prepaste) { + // already know we should be on a ##, verify + assert(token == PpAtomPaste); + prepaste = false; + postpaste = true; + } + + // see if are preceding a ## + if (mac->body.peekUntokenizedPasting()) { + prepaste = true; + pasting = true; + } + + // HLSL does expand macros before concatenation + if (pasting && pp->parseContext.isReadingHLSL()) + pasting = false; + + // TODO: preprocessor: properly handle whitespace (or lack of it) between tokens when expanding + if (token == PpAtomIdentifier) { + int i; + for (i = (int)mac->args.size() - 1; i >= 0; i--) + if (strcmp(pp->atomStrings.getString(mac->args[i]), ppToken->name) == 0) + break; + if (i >= 0) { + TokenStream* arg = expandedArgs[i]; + if (arg == nullptr || pasting) + arg = args[i]; + pp->pushTokenStreamInput(*arg, prepaste); + + return pp->scanToken(ppToken); + } + } + + if (token == EndOfInput) + mac->busy = 0; + + return token; +} + +// return a textual zero, for scanning a macro that was never defined +int TPpContext::tZeroInput::scan(TPpToken* ppToken) +{ + if (done) + return EndOfInput; + + ppToken->name[0] = '0'; + ppToken->name[1] = 0; + ppToken->ival = 0; + ppToken->space = false; + done = true; + + return PpAtomConstInt; +} + +// +// Check a token to see if it is a macro that should be expanded: +// - If it is, and defined, push a tInput that will produce the appropriate +// expansion and return MacroExpandStarted. +// - If it is, but undefined, and expandUndef is requested, push a tInput +// that will expand to 0 and return MacroExpandUndef. +// - Otherwise, there is no expansion, and there are two cases: +// * It might be okay there is no expansion, and no specific error was +// detected. Returns MacroExpandNotStarted. +// * The expansion was started, but could not be completed, due to an error +// that cannot be recovered from. Returns MacroExpandError. +// +MacroExpandResult TPpContext::MacroExpand(TPpToken* ppToken, bool expandUndef, bool newLineOkay) +{ + ppToken->space = false; + int macroAtom = atomStrings.getAtom(ppToken->name); + switch (macroAtom) { + case PpAtomLineMacro: + // Arguments which are macro have been replaced in the first stage. + if (ppToken->ival == 0) + ppToken->ival = parseContext.getCurrentLoc().line; + snprintf(ppToken->name, sizeof(ppToken->name), "%d", ppToken->ival); + UngetToken(PpAtomConstInt, ppToken); + return MacroExpandStarted; + + case PpAtomFileMacro: { + if (parseContext.getCurrentLoc().name) + parseContext.ppRequireExtensions(ppToken->loc, 1, &E_GL_GOOGLE_cpp_style_line_directive, "filename-based __FILE__"); + ppToken->ival = parseContext.getCurrentLoc().string; + snprintf(ppToken->name, sizeof(ppToken->name), "%s", ppToken->loc.getStringNameOrNum().c_str()); + UngetToken(PpAtomConstInt, ppToken); + return MacroExpandStarted; + } + + case PpAtomVersionMacro: + ppToken->ival = parseContext.version; + snprintf(ppToken->name, sizeof(ppToken->name), "%d", ppToken->ival); + UngetToken(PpAtomConstInt, ppToken); + return MacroExpandStarted; + + default: + break; + } + + MacroSymbol* macro = macroAtom == 0 ? nullptr : lookupMacroDef(macroAtom); + + // no recursive expansions + if (macro != nullptr && macro->busy) + return MacroExpandNotStarted; + + // not expanding undefined macros + if ((macro == nullptr || macro->undef) && ! expandUndef) + return MacroExpandNotStarted; + + // 0 is the value of an undefined macro + if ((macro == nullptr || macro->undef) && expandUndef) { + pushInput(new tZeroInput(this)); + return MacroExpandUndef; + } + + tMacroInput *in = new tMacroInput(this); + + TSourceLoc loc = ppToken->loc; // in case we go to the next line before discovering the error + in->mac = macro; + if (macro->functionLike) { + // We don't know yet if this will be a successful call of a + // function-like macro; need to look for a '(', but without trashing + // the passed in ppToken, until we know we are no longer speculative. + TPpToken parenToken; + int token = scanToken(&parenToken); + if (newLineOkay) { + while (token == '\n') + token = scanToken(&parenToken); + } + if (token != '(') { + // Function-like macro called with object-like syntax: okay, don't expand. + // (We ate exactly one token that might not be white space; put it back. + UngetToken(token, &parenToken); + delete in; + return MacroExpandNotStarted; + } + in->args.resize(in->mac->args.size()); + for (size_t i = 0; i < in->mac->args.size(); i++) + in->args[i] = new TokenStream; + in->expandedArgs.resize(in->mac->args.size()); + for (size_t i = 0; i < in->mac->args.size(); i++) + in->expandedArgs[i] = nullptr; + size_t arg = 0; + bool tokenRecorded = false; + do { + TVector nestStack; + while (true) { + token = scanToken(ppToken); + if (token == EndOfInput || token == tMarkerInput::marker) { + parseContext.ppError(loc, "End of input in macro", "macro expansion", atomStrings.getString(macroAtom)); + delete in; + return MacroExpandError; + } + if (token == '\n') { + if (! newLineOkay) { + parseContext.ppError(loc, "End of line in macro substitution:", "macro expansion", atomStrings.getString(macroAtom)); + delete in; + return MacroExpandError; + } + continue; + } + if (token == '#') { + parseContext.ppError(ppToken->loc, "unexpected '#'", "macro expansion", atomStrings.getString(macroAtom)); + delete in; + return MacroExpandError; + } + if (in->mac->args.size() == 0 && token != ')') + break; + if (nestStack.size() == 0 && (token == ',' || token == ')')) + break; + if (token == '(') + nestStack.push_back(')'); + else if (token == '{' && parseContext.isReadingHLSL()) + nestStack.push_back('}'); + else if (nestStack.size() > 0 && token == nestStack.back()) + nestStack.pop_back(); + + //Macro replacement list is expanded in the last stage. + if (atomStrings.getAtom(ppToken->name) == PpAtomLineMacro) + ppToken->ival = parseContext.getCurrentLoc().line; + + in->args[arg]->putToken(token, ppToken); + tokenRecorded = true; + } + // end of single argument scan + + if (token == ')') { + // closing paren of call + if (in->mac->args.size() == 1 && !tokenRecorded) + break; + arg++; + break; + } + arg++; + } while (arg < in->mac->args.size()); + // end of all arguments scan + + if (arg < in->mac->args.size()) + parseContext.ppError(loc, "Too few args in Macro", "macro expansion", atomStrings.getString(macroAtom)); + else if (token != ')') { + // Error recover code; find end of call, if possible + int depth = 0; + while (token != EndOfInput && (depth > 0 || token != ')')) { + if (token == ')' || token == '}') + depth--; + token = scanToken(ppToken); + if (token == '(' || token == '{') + depth++; + } + + if (token == EndOfInput) { + parseContext.ppError(loc, "End of input in macro", "macro expansion", atomStrings.getString(macroAtom)); + delete in; + return MacroExpandError; + } + parseContext.ppError(loc, "Too many args in macro", "macro expansion", atomStrings.getString(macroAtom)); + } + + // We need both expanded and non-expanded forms of the argument, for whether or + // not token pasting will be applied later when the argument is consumed next to ##. + for (size_t i = 0; i < in->mac->args.size(); i++) + in->expandedArgs[i] = PrescanMacroArg(*in->args[i], ppToken, newLineOkay); + } + + pushInput(in); + macro->busy = 1; + macro->body.reset(); + + return MacroExpandStarted; +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpAtom.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpAtom.cpp new file mode 100644 index 00000000..06c2333e --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpAtom.cpp @@ -0,0 +1,181 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ + +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif + +#include +#include +#include + +#include "PpContext.h" +#include "PpTokens.h" + +namespace { + +using namespace glslang; + +const struct { + int val; + const char* str; +} tokens[] = { + + { PPAtomAddAssign, "+=" }, + { PPAtomSubAssign, "-=" }, + { PPAtomMulAssign, "*=" }, + { PPAtomDivAssign, "/=" }, + { PPAtomModAssign, "%=" }, + + { PpAtomRight, ">>" }, + { PpAtomLeft, "<<" }, + { PpAtomAnd, "&&" }, + { PpAtomOr, "||" }, + { PpAtomXor, "^^" }, + + { PpAtomRightAssign, ">>=" }, + { PpAtomLeftAssign, "<<=" }, + { PpAtomAndAssign, "&=" }, + { PpAtomOrAssign, "|=" }, + { PpAtomXorAssign, "^=" }, + + { PpAtomEQ, "==" }, + { PpAtomNE, "!=" }, + { PpAtomGE, ">=" }, + { PpAtomLE, "<=" }, + + { PpAtomDecrement, "--" }, + { PpAtomIncrement, "++" }, + + { PpAtomColonColon, "::" }, + + { PpAtomDefine, "define" }, + { PpAtomUndef, "undef" }, + { PpAtomIf, "if" }, + { PpAtomElif, "elif" }, + { PpAtomElse, "else" }, + { PpAtomEndif, "endif" }, + { PpAtomIfdef, "ifdef" }, + { PpAtomIfndef, "ifndef" }, + { PpAtomLine, "line" }, + { PpAtomPragma, "pragma" }, + { PpAtomError, "error" }, + + { PpAtomVersion, "version" }, + { PpAtomCore, "core" }, + { PpAtomCompatibility, "compatibility" }, + { PpAtomEs, "es" }, + { PpAtomExtension, "extension" }, + + { PpAtomLineMacro, "__LINE__" }, + { PpAtomFileMacro, "__FILE__" }, + { PpAtomVersionMacro, "__VERSION__" }, + + { PpAtomInclude, "include" }, +}; + +} // end anonymous namespace + +namespace glslang { + +// +// Initialize the atom table. +// +TStringAtomMap::TStringAtomMap() +{ + badToken.assign(""); + + // Add single character tokens to the atom table: + const char* s = "~!%^&*()-+=|,.<>/?;:[]{}#\\"; + char t[2]; + + t[1] = '\0'; + while (*s) { + t[0] = *s; + addAtomFixed(t, s[0]); + s++; + } + + // Add multiple character scanner tokens : + for (size_t ii = 0; ii < sizeof(tokens)/sizeof(tokens[0]); ii++) + addAtomFixed(tokens[ii].str, tokens[ii].val); + + nextAtom = PpAtomLast; +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.cpp new file mode 100644 index 00000000..1363ce2b --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.cpp @@ -0,0 +1,120 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ + +#include +#include + +#include "PpContext.h" + +namespace glslang { + +TPpContext::TPpContext(TParseContextBase& pc, const std::string& rootFileName, TShader::Includer& inclr) : + preamble(0), strings(0), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false), + rootFileName(rootFileName), + currentSourceFile(rootFileName), + disableEscapeSequences(false) +{ + ifdepth = 0; + for (elsetracker = 0; elsetracker < maxIfNesting; elsetracker++) + elseSeen[elsetracker] = false; + elsetracker = 0; + + strtodStream.imbue(std::locale::classic()); +} + +TPpContext::~TPpContext() +{ + delete [] preamble; + + // free up the inputStack + while (! inputStack.empty()) + popInput(); +} + +void TPpContext::setInput(TInputScanner& input, bool versionWillBeError) +{ + assert(inputStack.size() == 0); + + pushInput(new tStringInput(this, input)); + + errorOnVersion = versionWillBeError; + versionSeen = false; +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.h b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.h new file mode 100644 index 00000000..714b5ead --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpContext.h @@ -0,0 +1,703 @@ +// +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ + +#ifndef PPCONTEXT_H +#define PPCONTEXT_H + +#include +#include +#include + +#include "../ParseHelper.h" +#include "PpTokens.h" + +/* windows only pragma */ +#ifdef _MSC_VER + #pragma warning(disable : 4127) +#endif + +namespace glslang { + +class TPpToken { +public: + TPpToken() { clear(); } + void clear() + { + space = false; + i64val = 0; + loc.init(); + name[0] = 0; + } + + // Used for comparing macro definitions, so checks what is relevant for that. + bool operator==(const TPpToken& right) const + { + return space == right.space && + ival == right.ival && dval == right.dval && i64val == right.i64val && + strncmp(name, right.name, MaxTokenLength) == 0; + } + bool operator!=(const TPpToken& right) const { return ! operator==(right); } + + TSourceLoc loc; + // True if a space (for white space or a removed comment) should also be + // recognized, in front of the token returned: + bool space; + // Numeric value of the token: + union { + int ival; + double dval; + long long i64val; + }; + // Text string of the token: + char name[MaxTokenLength + 1]; +}; + +class TStringAtomMap { +// +// Implementation is in PpAtom.cpp +// +// Maintain a bi-directional mapping between relevant preprocessor strings and +// "atoms" which a unique integers (small, contiguous, not hash-like) per string. +// +public: + TStringAtomMap(); + + // Map string -> atom. + // Return 0 if no existing string. + int getAtom(const char* s) const + { + auto it = atomMap.find(s); + return it == atomMap.end() ? 0 : it->second; + } + + // Map a new or existing string -> atom, inventing a new atom if necessary. + int getAddAtom(const char* s) + { + int atom = getAtom(s); + if (atom == 0) { + atom = nextAtom++; + addAtomFixed(s, atom); + } + return atom; + } + + // Map atom -> string. + const char* getString(int atom) const { return stringMap[atom]->c_str(); } + +protected: + TStringAtomMap(TStringAtomMap&); + TStringAtomMap& operator=(TStringAtomMap&); + + TUnorderedMap atomMap; + TVector stringMap; // these point into the TString in atomMap + int nextAtom; + + // Bad source characters can lead to bad atoms, so gracefully handle those by + // pre-filling the table with them (to avoid if tests later). + TString badToken; + + // Add bi-directional mappings: + // - string -> atom + // - atom -> string + void addAtomFixed(const char* s, int atom) + { + auto it = atomMap.insert(std::pair(s, atom)).first; + if (stringMap.size() < (size_t)atom + 1) + stringMap.resize(atom + 100, &badToken); + stringMap[atom] = &it->first; + } +}; + +class TInputScanner; + +enum MacroExpandResult { + MacroExpandNotStarted, // macro not expanded, which might not be an error + MacroExpandError, // a clear error occurred while expanding, no expansion + MacroExpandStarted, // macro expansion process has started + MacroExpandUndef // macro is undefined and will be expanded +}; + +// This class is the result of turning a huge pile of C code communicating through globals +// into a class. This was done to allowing instancing to attain thread safety. +// Don't expect too much in terms of OO design. +class TPpContext { +public: + TPpContext(TParseContextBase&, const std::string& rootFileName, TShader::Includer&); + virtual ~TPpContext(); + + void setPreamble(const char* preamble, size_t length); + + int tokenize(TPpToken& ppToken); + int tokenPaste(int token, TPpToken&); + + class tInput { + public: + tInput(TPpContext* p) : done(false), pp(p) { } + virtual ~tInput() { } + + virtual int scan(TPpToken*) = 0; + virtual int getch() = 0; + virtual void ungetch() = 0; + virtual bool peekPasting() { return false; } // true when about to see ## + virtual bool peekContinuedPasting(int) { return false; } // true when non-spaced tokens can paste + virtual bool endOfReplacementList() { return false; } // true when at the end of a macro replacement list (RHS of #define) + virtual bool isMacroInput() { return false; } + + // Will be called when we start reading tokens from this instance + virtual void notifyActivated() {} + // Will be called when we do not read tokens from this instance anymore + virtual void notifyDeleted() {} + protected: + bool done; + TPpContext* pp; + }; + + void setInput(TInputScanner& input, bool versionWillBeError); + + void pushInput(tInput* in) + { + inputStack.push_back(in); + in->notifyActivated(); + } + void popInput() + { + inputStack.back()->notifyDeleted(); + delete inputStack.back(); + inputStack.pop_back(); + } + + // + // From PpTokens.cpp + // + + // Capture the needed parts of a token stream for macro recording/playback. + class TokenStream { + public: + // Manage a stream of these 'Token', which capture the relevant parts + // of a TPpToken, plus its atom. + class Token { + public: + Token(int atom, const TPpToken& ppToken) : + atom(atom), + space(ppToken.space), + i64val(ppToken.i64val), + name(ppToken.name) { } + int get(TPpToken& ppToken) + { + ppToken.clear(); + ppToken.space = space; + ppToken.i64val = i64val; + snprintf(ppToken.name, sizeof(ppToken.name), "%s", name.c_str()); + return atom; + } + bool isAtom(int a) const { return atom == a; } + int getAtom() const { return atom; } + bool nonSpaced() const { return !space; } + protected: + Token() {} + int atom; + bool space; // did a space precede the token? + long long i64val; + TString name; + }; + + TokenStream() : currentPos(0) { } + + void putToken(int token, TPpToken* ppToken); + bool peekToken(int atom) { return !atEnd() && stream[currentPos].isAtom(atom); } + bool peekContinuedPasting(int atom) + { + // This is basically necessary because, for example, the PP + // tokenizer only accepts valid numeric-literals plus suffixes, so + // separates numeric-literals plus bad suffix into two tokens, which + // should get both pasted together as one token when token pasting. + // + // The following code is a bit more generalized than the above example. + if (!atEnd() && atom == PpAtomIdentifier && stream[currentPos].nonSpaced()) { + switch(stream[currentPos].getAtom()) { + case PpAtomConstInt: + case PpAtomConstUint: + case PpAtomConstInt64: + case PpAtomConstUint64: + case PpAtomConstInt16: + case PpAtomConstUint16: + case PpAtomConstFloat: + case PpAtomConstDouble: + case PpAtomConstFloat16: + case PpAtomConstString: + case PpAtomIdentifier: + return true; + default: + break; + } + } + + return false; + } + int getToken(TParseContextBase&, TPpToken*); + bool atEnd() { return currentPos >= stream.size(); } + bool peekTokenizedPasting(bool lastTokenPastes); + bool peekUntokenizedPasting(); + void reset() { currentPos = 0; } + + protected: + TVector stream; + size_t currentPos; + }; + + // + // From Pp.cpp + // + + struct MacroSymbol { + MacroSymbol() : functionLike(0), busy(0), undef(0) { } + TVector args; + TokenStream body; + unsigned functionLike : 1; // 0 means object-like, 1 means function-like + unsigned busy : 1; + unsigned undef : 1; + }; + + typedef TMap TSymbolMap; + TSymbolMap macroDefs; // map atoms to macro definitions + MacroSymbol* lookupMacroDef(int atom) + { + auto existingMacroIt = macroDefs.find(atom); + return (existingMacroIt == macroDefs.end()) ? nullptr : &(existingMacroIt->second); + } + void addMacroDef(int atom, MacroSymbol& macroDef) { macroDefs[atom] = macroDef; } + +protected: + TPpContext(TPpContext&); + TPpContext& operator=(TPpContext&); + + TStringAtomMap atomStrings; + char* preamble; // string to parse, all before line 1 of string 0, it is 0 if no preamble + int preambleLength; + char** strings; // official strings of shader, starting a string 0 line 1 + size_t* lengths; + int numStrings; // how many official strings there are + int currentString; // which string we're currently parsing (-1 for preamble) + + // Scanner data: + int previous_token; + TParseContextBase& parseContext; + + // Get the next token from *stack* of input sources, popping input sources + // that are out of tokens, down until an input source is found that has a token. + // Return EndOfInput when there are no more tokens to be found by doing this. + int scanToken(TPpToken* ppToken) + { + int token = EndOfInput; + + while (! inputStack.empty()) { + token = inputStack.back()->scan(ppToken); + if (token != EndOfInput || inputStack.empty()) + break; + popInput(); + } + + return token; + } + int getChar() { return inputStack.back()->getch(); } + void ungetChar() { inputStack.back()->ungetch(); } + bool peekPasting() { return !inputStack.empty() && inputStack.back()->peekPasting(); } + bool peekContinuedPasting(int a) + { + return !inputStack.empty() && inputStack.back()->peekContinuedPasting(a); + } + bool endOfReplacementList() { return inputStack.empty() || inputStack.back()->endOfReplacementList(); } + bool isMacroInput() { return inputStack.size() > 0 && inputStack.back()->isMacroInput(); } + + static const int maxIfNesting = 65; + + int ifdepth; // current #if-#else-#endif nesting in the cpp.c file (pre-processor) + bool elseSeen[maxIfNesting]; // Keep a track of whether an else has been seen at a particular depth + int elsetracker; // #if-#else and #endif constructs...Counter. + + class tMacroInput : public tInput { + public: + tMacroInput(TPpContext* pp) : tInput(pp), prepaste(false), postpaste(false) { } + virtual ~tMacroInput() + { + for (size_t i = 0; i < args.size(); ++i) + delete args[i]; + for (size_t i = 0; i < expandedArgs.size(); ++i) + delete expandedArgs[i]; + } + + virtual int scan(TPpToken*) override; + virtual int getch() override { assert(0); return EndOfInput; } + virtual void ungetch() override { assert(0); } + bool peekPasting() override { return prepaste; } + bool peekContinuedPasting(int a) override { return mac->body.peekContinuedPasting(a); } + bool endOfReplacementList() override { return mac->body.atEnd(); } + bool isMacroInput() override { return true; } + + MacroSymbol *mac; + TVector args; + TVector expandedArgs; + + protected: + bool prepaste; // true if we are just before ## + bool postpaste; // true if we are right after ## + }; + + class tMarkerInput : public tInput { + public: + tMarkerInput(TPpContext* pp) : tInput(pp) { } + virtual int scan(TPpToken*) override + { + if (done) + return EndOfInput; + done = true; + + return marker; + } + virtual int getch() override { assert(0); return EndOfInput; } + virtual void ungetch() override { assert(0); } + static const int marker = -3; + }; + + class tZeroInput : public tInput { + public: + tZeroInput(TPpContext* pp) : tInput(pp) { } + virtual int scan(TPpToken*) override; + virtual int getch() override { assert(0); return EndOfInput; } + virtual void ungetch() override { assert(0); } + }; + + std::vector inputStack; + bool errorOnVersion; + bool versionSeen; + + // + // from Pp.cpp + // + + // Used to obtain #include content. + TShader::Includer& includer; + + int CPPdefine(TPpToken * ppToken); + int CPPundef(TPpToken * ppToken); + int CPPelse(int matchelse, TPpToken * ppToken); + int extraTokenCheck(int atom, TPpToken* ppToken, int token); + int eval(int token, int precedence, bool shortCircuit, int& res, bool& err, TPpToken * ppToken); + int evalToToken(int token, bool shortCircuit, int& res, bool& err, TPpToken * ppToken); + int CPPif (TPpToken * ppToken); + int CPPifdef(int defined, TPpToken * ppToken); + int CPPinclude(TPpToken * ppToken); + int CPPline(TPpToken * ppToken); + int CPPerror(TPpToken * ppToken); + int CPPpragma(TPpToken * ppToken); + int CPPversion(TPpToken * ppToken); + int CPPextension(TPpToken * ppToken); + int readCPPline(TPpToken * ppToken); + int scanHeaderName(TPpToken* ppToken, char delimit); + TokenStream* PrescanMacroArg(TokenStream&, TPpToken*, bool newLineOkay); + MacroExpandResult MacroExpand(TPpToken* ppToken, bool expandUndef, bool newLineOkay); + + // + // From PpTokens.cpp + // + void pushTokenStreamInput(TokenStream&, bool pasting = false); + void UngetToken(int token, TPpToken*); + + class tTokenInput : public tInput { + public: + tTokenInput(TPpContext* pp, TokenStream* t, bool prepasting) : + tInput(pp), + tokens(t), + lastTokenPastes(prepasting) { } + virtual int scan(TPpToken *ppToken) override { return tokens->getToken(pp->parseContext, ppToken); } + virtual int getch() override { assert(0); return EndOfInput; } + virtual void ungetch() override { assert(0); } + virtual bool peekPasting() override { return tokens->peekTokenizedPasting(lastTokenPastes); } + bool peekContinuedPasting(int a) override { return tokens->peekContinuedPasting(a); } + protected: + TokenStream* tokens; + bool lastTokenPastes; // true if the last token in the input is to be pasted, rather than consumed as a token + }; + + class tUngotTokenInput : public tInput { + public: + tUngotTokenInput(TPpContext* pp, int t, TPpToken* p) : tInput(pp), token(t), lval(*p) { } + virtual int scan(TPpToken *) override; + virtual int getch() override { assert(0); return EndOfInput; } + virtual void ungetch() override { assert(0); } + protected: + int token; + TPpToken lval; + }; + + // + // From PpScanner.cpp + // + class tStringInput : public tInput { + public: + tStringInput(TPpContext* pp, TInputScanner& i) : tInput(pp), input(&i) { } + virtual int scan(TPpToken*) override; + + // Scanner used to get source stream characters. + // - Escaped newlines are handled here, invisibly to the caller. + // - All forms of newline are handled, and turned into just a '\n'. + int getch() override + { + int ch = input->get(); + + if (ch == '\\') { + // Move past escaped newlines, as many as sequentially exist + do { + if (input->peek() == '\r' || input->peek() == '\n') { + bool allowed = pp->parseContext.lineContinuationCheck(input->getSourceLoc(), pp->inComment); + if (! allowed && pp->inComment) + return '\\'; + + // escape one newline now + ch = input->get(); + int nextch = input->get(); + if (ch == '\r' && nextch == '\n') + ch = input->get(); + else + ch = nextch; + } else + return '\\'; + } while (ch == '\\'); + } + + // handle any non-escaped newline + if (ch == '\r' || ch == '\n') { + if (ch == '\r' && input->peek() == '\n') + input->get(); + return '\n'; + } + + return ch; + } + + // Scanner used to backup the source stream characters. Newlines are + // handled here, invisibly to the caller, meaning have to undo exactly + // what getch() above does (e.g., don't leave things in the middle of a + // sequence of escaped newlines). + void ungetch() override + { + input->unget(); + + do { + int ch = input->peek(); + if (ch == '\r' || ch == '\n') { + if (ch == '\n') { + // correct for two-character newline + input->unget(); + if (input->peek() != '\r') + input->get(); + } + // now in front of a complete newline, move past an escape character + input->unget(); + if (input->peek() == '\\') + input->unget(); + else { + input->get(); + break; + } + } else + break; + } while (true); + } + + protected: + TInputScanner* input; + }; + + // Holds a reference to included file data, as well as a + // prologue and an epilogue string. This can be scanned using the tInput + // interface and acts as a single source string. + class TokenizableIncludeFile : public tInput { + public: + // Copies prologue and epilogue. The includedFile must remain valid + // until this TokenizableIncludeFile is no longer used. + TokenizableIncludeFile(const TSourceLoc& startLoc, + const std::string& prologue, + TShader::Includer::IncludeResult* includedFile, + const std::string& epilogue, + TPpContext* pp) + : tInput(pp), + prologue_(prologue), + epilogue_(epilogue), + includedFile_(includedFile), + scanner(3, strings, lengths, nullptr, 0, 0, true), + prevScanner(nullptr), + stringInput(pp, scanner) + { + strings[0] = prologue_.data(); + strings[1] = includedFile_->headerData; + strings[2] = epilogue_.data(); + + lengths[0] = prologue_.size(); + lengths[1] = includedFile_->headerLength; + lengths[2] = epilogue_.size(); + + scanner.setLine(startLoc.line); + scanner.setString(startLoc.string); + + scanner.setFile(startLoc.getFilenameStr(), 0); + scanner.setFile(startLoc.getFilenameStr(), 1); + scanner.setFile(startLoc.getFilenameStr(), 2); + } + + // tInput methods: + int scan(TPpToken* t) override { return stringInput.scan(t); } + int getch() override { return stringInput.getch(); } + void ungetch() override { stringInput.ungetch(); } + + void notifyActivated() override + { + prevScanner = pp->parseContext.getScanner(); + pp->parseContext.setScanner(&scanner); + pp->push_include(includedFile_); + } + + void notifyDeleted() override + { + pp->parseContext.setScanner(prevScanner); + pp->pop_include(); + } + + private: + TokenizableIncludeFile& operator=(const TokenizableIncludeFile&); + + // Stores the prologue for this string. + const std::string prologue_; + + // Stores the epilogue for this string. + const std::string epilogue_; + + // Points to the IncludeResult that this TokenizableIncludeFile represents. + TShader::Includer::IncludeResult* includedFile_; + + // Will point to prologue_, includedFile_->headerData and epilogue_ + // This is passed to scanner constructor. + // These do not own the storage and it must remain valid until this + // object has been destroyed. + const char* strings[3]; + // Length of str_, passed to scanner constructor. + size_t lengths[3]; + // Scans over str_. + TInputScanner scanner; + // The previous effective scanner before the scanner in this instance + // has been activated. + TInputScanner* prevScanner; + // Delegate object implementing the tInput interface. + tStringInput stringInput; + }; + + int ScanFromString(char* s); + void missingEndifCheck(); + int lFloatConst(int len, int ch, TPpToken* ppToken); + int characterLiteral(TPpToken* ppToken); + + void push_include(TShader::Includer::IncludeResult* result) + { + currentSourceFile = result->headerName; + includeStack.push(result); + } + + void pop_include() + { + TShader::Includer::IncludeResult* include = includeStack.top(); + includeStack.pop(); + includer.releaseInclude(include); + if (includeStack.empty()) { + currentSourceFile = rootFileName; + } else { + currentSourceFile = includeStack.top()->headerName; + } + } + + bool inComment; + std::string rootFileName; + std::stack includeStack; + std::string currentSourceFile; + + std::istringstream strtodStream; + bool disableEscapeSequences; +}; + +} // end namespace glslang + +#endif // PPCONTEXT_H diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpScanner.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpScanner.cpp new file mode 100644 index 00000000..e0f44f8b --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpScanner.cpp @@ -0,0 +1,1315 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Copyright (C) 2015-2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ + +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif + +#include +#include + +#include "PpContext.h" +#include "PpTokens.h" +#include "../Scan.h" + +namespace glslang { + +/////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////// Floating point constants: ///////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////// + +// +// Scan a single- or double-precision floating point constant. +// Assumes that the scanner has seen at least one digit, +// followed by either a decimal '.' or the letter 'e', or a +// precision ending (e.g., F or LF). +// +// This is technically not correct, as the preprocessor should just +// accept the numeric literal along with whatever suffix it has, but +// currently, it stops on seeing a bad suffix, treating that as the +// next token. This effects things like token pasting, where it is +// relevant how many tokens something was broken into. +// +// See peekContinuedPasting(). +int TPpContext::lFloatConst(int len, int ch, TPpToken* ppToken) +{ + const auto saveName = [&](int ch) { + if (len <= MaxTokenLength) + ppToken->name[len++] = static_cast(ch); + }; + + // find the range of non-zero digits before the decimal point + int startNonZero = 0; + while (startNonZero < len && ppToken->name[startNonZero] == '0') + ++startNonZero; + int endNonZero = len; + while (endNonZero > startNonZero && ppToken->name[endNonZero-1] == '0') + --endNonZero; + int numWholeNumberDigits = endNonZero - startNonZero; + + // accumulate the range's value + bool fastPath = numWholeNumberDigits <= 15; // when the number gets too complex, set to false + unsigned long long wholeNumber = 0; + if (fastPath) { + for (int i = startNonZero; i < endNonZero; ++i) + wholeNumber = wholeNumber * 10 + (ppToken->name[i] - '0'); + } + int decimalShift = len - endNonZero; + + // Decimal point: + bool hasDecimalOrExponent = false; + if (ch == '.') { + hasDecimalOrExponent = true; + saveName(ch); + ch = getChar(); + int firstDecimal = len; + +#ifdef ENABLE_HLSL + // 1.#INF or -1.#INF + if (ch == '#' && (ifdepth > 0 || parseContext.intermediate.getSource() == EShSourceHlsl)) { + if ((len < 2) || + (len == 2 && ppToken->name[0] != '1') || + (len == 3 && ppToken->name[1] != '1' && !(ppToken->name[0] == '-' || ppToken->name[0] == '+')) || + (len > 3)) + parseContext.ppError(ppToken->loc, "unexpected use of", "#", ""); + else { + // we have 1.# or -1.# or +1.#, check for 'INF' + if ((ch = getChar()) != 'I' || + (ch = getChar()) != 'N' || + (ch = getChar()) != 'F') + parseContext.ppError(ppToken->loc, "expected 'INF'", "#", ""); + else { + // we have [+-].#INF, and we are targeting IEEE 754, so wrap it up: + saveName('I'); + saveName('N'); + saveName('F'); + ppToken->name[len] = '\0'; + if (ppToken->name[0] == '-') + ppToken->i64val = 0xfff0000000000000; // -Infinity + else + ppToken->i64val = 0x7ff0000000000000; // +Infinity + return PpAtomConstFloat; + } + } + } +#endif + + // Consume leading-zero digits after the decimal point + while (ch == '0') { + saveName(ch); + ch = getChar(); + } + int startNonZeroDecimal = len; + int endNonZeroDecimal = len; + + // Consume remaining digits, up to the exponent + while (ch >= '0' && ch <= '9') { + saveName(ch); + if (ch != '0') + endNonZeroDecimal = len; + ch = getChar(); + } + + // Compute accumulation up to the last non-zero digit + if (endNonZeroDecimal > startNonZeroDecimal) { + numWholeNumberDigits += endNonZeroDecimal - endNonZero - 1; // don't include the "." + if (numWholeNumberDigits > 15) + fastPath = false; + if (fastPath) { + for (int i = endNonZero; i < endNonZeroDecimal; ++i) { + if (ppToken->name[i] != '.') + wholeNumber = wholeNumber * 10 + (ppToken->name[i] - '0'); + } + } + decimalShift = firstDecimal - endNonZeroDecimal; + } + } + + // Exponent: + bool negativeExponent = false; + double exponentValue = 0.0; + int exponent = 0; + { + if (ch == 'e' || ch == 'E') { + hasDecimalOrExponent = true; + saveName(ch); + ch = getChar(); + if (ch == '+' || ch == '-') { + negativeExponent = ch == '-'; + saveName(ch); + ch = getChar(); + } + if (ch >= '0' && ch <= '9') { + while (ch >= '0' && ch <= '9') { + exponent = exponent * 10 + (ch - '0'); + saveName(ch); + ch = getChar(); + } + } else { + parseContext.ppError(ppToken->loc, "bad character in float exponent", "", ""); + } + } + + // Compensate for location of decimal + if (negativeExponent) + exponent -= decimalShift; + else { + exponent += decimalShift; + if (exponent < 0) { + negativeExponent = true; + exponent = -exponent; + } + } + if (exponent > 22) + fastPath = false; + + if (fastPath) { + // Compute the floating-point value of the exponent + exponentValue = 1.0; + if (exponent > 0) { + double expFactor = 10; + while (exponent > 0) { + if (exponent & 0x1) + exponentValue *= expFactor; + expFactor *= expFactor; + exponent >>= 1; + } + } + } + } + + // Suffix: + bool isDouble = false; + bool isFloat16 = false; +#ifndef GLSLANG_WEB + if (ch == 'l' || ch == 'L') { + if (ifdepth == 0 && parseContext.intermediate.getSource() == EShSourceGlsl) + parseContext.doubleCheck(ppToken->loc, "double floating-point suffix"); + if (ifdepth == 0 && !hasDecimalOrExponent) + parseContext.ppError(ppToken->loc, "float literal needs a decimal point or exponent", "", ""); + if (parseContext.intermediate.getSource() == EShSourceGlsl) { + int ch2 = getChar(); + if (ch2 != 'f' && ch2 != 'F') { + ungetChar(); + ungetChar(); + } else { + saveName(ch); + saveName(ch2); + isDouble = true; + } + } else if (parseContext.intermediate.getSource() == EShSourceHlsl) { + saveName(ch); + isDouble = true; + } + } else if (ch == 'h' || ch == 'H') { + if (ifdepth == 0 && parseContext.intermediate.getSource() == EShSourceGlsl) + parseContext.float16Check(ppToken->loc, "half floating-point suffix"); + if (ifdepth == 0 && !hasDecimalOrExponent) + parseContext.ppError(ppToken->loc, "float literal needs a decimal point or exponent", "", ""); + if (parseContext.intermediate.getSource() == EShSourceGlsl) { + int ch2 = getChar(); + if (ch2 != 'f' && ch2 != 'F') { + ungetChar(); + ungetChar(); + } else { + saveName(ch); + saveName(ch2); + isFloat16 = true; + } + } else if (parseContext.intermediate.getSource() == EShSourceHlsl) { + saveName(ch); + isFloat16 = true; + } + } else +#endif + if (ch == 'f' || ch == 'F') { +#ifndef GLSLANG_WEB + if (ifdepth == 0) + parseContext.profileRequires(ppToken->loc, EEsProfile, 300, nullptr, "floating-point suffix"); + if (ifdepth == 0 && !parseContext.relaxedErrors()) + parseContext.profileRequires(ppToken->loc, ~EEsProfile, 120, nullptr, "floating-point suffix"); +#endif + if (ifdepth == 0 && !hasDecimalOrExponent) + parseContext.ppError(ppToken->loc, "float literal needs a decimal point or exponent", "", ""); + saveName(ch); + } else + ungetChar(); + + // Patch up the name and length for overflow + + if (len > MaxTokenLength) { + len = MaxTokenLength; + parseContext.ppError(ppToken->loc, "float literal too long", "", ""); + } + ppToken->name[len] = '\0'; + + // Compute the numerical value + if (fastPath) { + // compute the floating-point value of the exponent + if (exponentValue == 0.0) + ppToken->dval = (double)wholeNumber; + else if (negativeExponent) + ppToken->dval = (double)wholeNumber / exponentValue; + else + ppToken->dval = (double)wholeNumber * exponentValue; + } else { + // slow path + ppToken->dval = 0.0; + + // remove suffix + TString numstr(ppToken->name); + if (numstr.back() == 'f' || numstr.back() == 'F') + numstr.pop_back(); + if (numstr.back() == 'h' || numstr.back() == 'H') + numstr.pop_back(); + if (numstr.back() == 'l' || numstr.back() == 'L') + numstr.pop_back(); + + // use platform library + strtodStream.clear(); + strtodStream.str(numstr.c_str()); + strtodStream >> ppToken->dval; + if (strtodStream.fail()) { + // Assume failure combined with a large exponent was overflow, in + // an attempt to set INF. + if (!negativeExponent && exponent + numWholeNumberDigits > 300) + ppToken->i64val = 0x7ff0000000000000; // +Infinity + // Assume failure combined with a small exponent was overflow. + if (negativeExponent && exponent + numWholeNumberDigits > 300) + ppToken->dval = 0.0; + // Unknown reason for failure. Theory is that either + // - the 0.0 is still there, or + // - something reasonable was written that is better than 0.0 + } + } + + // Return the right token type + if (isDouble) + return PpAtomConstDouble; + else if (isFloat16) + return PpAtomConstFloat16; + else + return PpAtomConstFloat; +} + +// Recognize a character literal. +// +// The first ' has already been accepted, read the rest, through the closing '. +// +// Always returns PpAtomConstInt. +// +int TPpContext::characterLiteral(TPpToken* ppToken) +{ + ppToken->name[0] = 0; + ppToken->ival = 0; + + if (parseContext.intermediate.getSource() != EShSourceHlsl) { + // illegal, except in macro definition, for which case we report the character + return '\''; + } + + int ch = getChar(); + switch (ch) { + case '\'': + // As empty sequence: '' + parseContext.ppError(ppToken->loc, "unexpected", "\'", ""); + return PpAtomConstInt; + case '\\': + // As escape sequence: '\XXX' + switch (ch = getChar()) { + case 'a': + ppToken->ival = 7; + break; + case 'b': + ppToken->ival = 8; + break; + case 't': + ppToken->ival = 9; + break; + case 'n': + ppToken->ival = 10; + break; + case 'v': + ppToken->ival = 11; + break; + case 'f': + ppToken->ival = 12; + break; + case 'r': + ppToken->ival = 13; + break; + case 'x': + case '0': + parseContext.ppError(ppToken->loc, "octal and hex sequences not supported", "\\", ""); + break; + default: + // This catches '\'', '\"', '\?', etc. + // Also, things like '\C' mean the same thing as 'C' + // (after the above cases are filtered out). + ppToken->ival = ch; + break; + } + break; + default: + ppToken->ival = ch; + break; + } + ppToken->name[0] = (char)ppToken->ival; + ppToken->name[1] = '\0'; + ch = getChar(); + if (ch != '\'') { + parseContext.ppError(ppToken->loc, "expected", "\'", ""); + // Look ahead for a closing ' + do { + ch = getChar(); + } while (ch != '\'' && ch != EndOfInput && ch != '\n'); + } + + return PpAtomConstInt; +} + +// +// Scanner used to tokenize source stream. +// +// N.B. Invalid numeric suffixes are not consumed.// +// This is technically not correct, as the preprocessor should just +// accept the numeric literal along with whatever suffix it has, but +// currently, it stops on seeing a bad suffix, treating that as the +// next token. This effects things like token pasting, where it is +// relevant how many tokens something was broken into. +// See peekContinuedPasting(). +// +int TPpContext::tStringInput::scan(TPpToken* ppToken) +{ + int AlreadyComplained = 0; + int len = 0; + int ch = 0; + int ii = 0; + unsigned long long ival = 0; + const auto floatingPointChar = [&](int ch) { return ch == '.' || ch == 'e' || ch == 'E' || + ch == 'f' || ch == 'F' || + ch == 'h' || ch == 'H'; }; + + static const char* const Int64_Extensions[] = { + E_GL_ARB_gpu_shader_int64, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int64 }; + static const int Num_Int64_Extensions = sizeof(Int64_Extensions) / sizeof(Int64_Extensions[0]); + + static const char* const Int16_Extensions[] = { + E_GL_AMD_gpu_shader_int16, + E_GL_EXT_shader_explicit_arithmetic_types, + E_GL_EXT_shader_explicit_arithmetic_types_int16 }; + static const int Num_Int16_Extensions = sizeof(Int16_Extensions) / sizeof(Int16_Extensions[0]); + + ppToken->ival = 0; + ppToken->i64val = 0; + ppToken->space = false; + ch = getch(); + for (;;) { + while (ch == ' ' || ch == '\t') { + ppToken->space = true; + ch = getch(); + } + + ppToken->loc = pp->parseContext.getCurrentLoc(); + len = 0; + switch (ch) { + default: + // Single character token, including EndOfInput, '#' and '\' (escaped newlines are handled at a lower level, so this is just a '\' token) + if (ch > PpAtomMaxSingle) + ch = PpAtomBadToken; + return ch; + + case 'A': case 'B': case 'C': case 'D': case 'E': + case 'F': case 'G': case 'H': case 'I': case 'J': + case 'K': case 'L': case 'M': case 'N': case 'O': + case 'P': case 'Q': case 'R': case 'S': case 'T': + case 'U': case 'V': case 'W': case 'X': case 'Y': + case 'Z': case '_': + case 'a': case 'b': case 'c': case 'd': case 'e': + case 'f': case 'g': case 'h': case 'i': case 'j': + case 'k': case 'l': case 'm': case 'n': case 'o': + case 'p': case 'q': case 'r': case 's': case 't': + case 'u': case 'v': case 'w': case 'x': case 'y': + case 'z': + do { + if (len < MaxTokenLength) { + ppToken->name[len++] = (char)ch; + ch = getch(); + } else { + if (! AlreadyComplained) { + pp->parseContext.ppError(ppToken->loc, "name too long", "", ""); + AlreadyComplained = 1; + } + ch = getch(); + } + } while ((ch >= 'a' && ch <= 'z') || + (ch >= 'A' && ch <= 'Z') || + (ch >= '0' && ch <= '9') || + ch == '_'); + + // line continuation with no token before or after makes len == 0, and need to start over skipping white space, etc. + if (len == 0) + continue; + + ppToken->name[len] = '\0'; + ungetch(); + return PpAtomIdentifier; + case '0': + ppToken->name[len++] = (char)ch; + ch = getch(); + if (ch == 'x' || ch == 'X') { + // must be hexadecimal + + bool isUnsigned = false; + bool isInt64 = false; + bool isInt16 = false; + ppToken->name[len++] = (char)ch; + ch = getch(); + if ((ch >= '0' && ch <= '9') || + (ch >= 'A' && ch <= 'F') || + (ch >= 'a' && ch <= 'f')) { + + ival = 0; + do { + if (len < MaxTokenLength && ival <= 0x0fffffffffffffffull) { + ppToken->name[len++] = (char)ch; + if (ch >= '0' && ch <= '9') { + ii = ch - '0'; + } else if (ch >= 'A' && ch <= 'F') { + ii = ch - 'A' + 10; + } else if (ch >= 'a' && ch <= 'f') { + ii = ch - 'a' + 10; + } else + pp->parseContext.ppError(ppToken->loc, "bad digit in hexadecimal literal", "", ""); + ival = (ival << 4) | ii; + } else { + if (! AlreadyComplained) { + if(len < MaxTokenLength) + pp->parseContext.ppError(ppToken->loc, "hexadecimal literal too big", "", ""); + else + pp->parseContext.ppError(ppToken->loc, "hexadecimal literal too long", "", ""); + AlreadyComplained = 1; + } + ival = 0xffffffffffffffffull; + } + ch = getch(); + } while ((ch >= '0' && ch <= '9') || + (ch >= 'A' && ch <= 'F') || + (ch >= 'a' && ch <= 'f')); + } else { + pp->parseContext.ppError(ppToken->loc, "bad digit in hexadecimal literal", "", ""); + } + if (ch == 'u' || ch == 'U') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isUnsigned = true; + +#ifndef GLSLANG_WEB + int nextCh = getch(); + if (nextCh == 'l' || nextCh == 'L') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)nextCh; + isInt64 = true; + } else + ungetch(); + + nextCh = getch(); + if ((nextCh == 's' || nextCh == 'S') && + pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)nextCh; + isInt16 = true; + } else + ungetch(); + } else if (ch == 'l' || ch == 'L') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isInt64 = true; + } else if ((ch == 's' || ch == 'S') && + pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isInt16 = true; +#endif + } else + ungetch(); + ppToken->name[len] = '\0'; + + if (isInt64 && pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (pp->ifdepth == 0) { + pp->parseContext.requireProfile(ppToken->loc, ~EEsProfile, + "64-bit hexadecimal literal"); + pp->parseContext.profileRequires(ppToken->loc, ~EEsProfile, 0, + Num_Int64_Extensions, Int64_Extensions, "64-bit hexadecimal literal"); + } + ppToken->i64val = ival; + return isUnsigned ? PpAtomConstUint64 : PpAtomConstInt64; + } else if (isInt16) { + if (pp->ifdepth == 0) { + if (pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + pp->parseContext.requireProfile(ppToken->loc, ~EEsProfile, + "16-bit hexadecimal literal"); + pp->parseContext.profileRequires(ppToken->loc, ~EEsProfile, 0, + Num_Int16_Extensions, Int16_Extensions, "16-bit hexadecimal literal"); + } + } + ppToken->ival = (int)ival; + return isUnsigned ? PpAtomConstUint16 : PpAtomConstInt16; + } else { + if (ival > 0xffffffffu && !AlreadyComplained) + pp->parseContext.ppError(ppToken->loc, "hexadecimal literal too big", "", ""); + ppToken->ival = (int)ival; + return isUnsigned ? PpAtomConstUint : PpAtomConstInt; + } + } else { + // could be octal integer or floating point, speculative pursue octal until it must be floating point + + bool isUnsigned = false; + bool isInt64 = false; + bool isInt16 = false; + bool octalOverflow = false; + bool nonOctal = false; + ival = 0; + + // see how much octal-like stuff we can read + while (ch >= '0' && ch <= '7') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + else if (! AlreadyComplained) { + pp->parseContext.ppError(ppToken->loc, "numeric literal too long", "", ""); + AlreadyComplained = 1; + } + if (ival <= 0x1fffffffffffffffull) { + ii = ch - '0'; + ival = (ival << 3) | ii; + } else + octalOverflow = true; + ch = getch(); + } + + // could be part of a float... + if (ch == '8' || ch == '9') { + nonOctal = true; + do { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + else if (! AlreadyComplained) { + pp->parseContext.ppError(ppToken->loc, "numeric literal too long", "", ""); + AlreadyComplained = 1; + } + ch = getch(); + } while (ch >= '0' && ch <= '9'); + } + if (floatingPointChar(ch)) + return pp->lFloatConst(len, ch, ppToken); + + // wasn't a float, so must be octal... + if (nonOctal) + pp->parseContext.ppError(ppToken->loc, "octal literal digit too large", "", ""); + + if (ch == 'u' || ch == 'U') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isUnsigned = true; + +#ifndef GLSLANG_WEB + int nextCh = getch(); + if (nextCh == 'l' || nextCh == 'L') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)nextCh; + isInt64 = true; + } else + ungetch(); + + nextCh = getch(); + if ((nextCh == 's' || nextCh == 'S') && + pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)nextCh; + isInt16 = true; + } else + ungetch(); + } else if (ch == 'l' || ch == 'L') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isInt64 = true; + } else if ((ch == 's' || ch == 'S') && + pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isInt16 = true; +#endif + } else + ungetch(); + ppToken->name[len] = '\0'; + + if (!isInt64 && ival > 0xffffffffu) + octalOverflow = true; + + if (octalOverflow) + pp->parseContext.ppError(ppToken->loc, "octal literal too big", "", ""); + + if (isInt64 && pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (pp->ifdepth == 0) { + pp->parseContext.requireProfile(ppToken->loc, ~EEsProfile, + "64-bit octal literal"); + pp->parseContext.profileRequires(ppToken->loc, ~EEsProfile, 0, + Num_Int64_Extensions, Int64_Extensions, "64-bit octal literal"); + } + ppToken->i64val = ival; + return isUnsigned ? PpAtomConstUint64 : PpAtomConstInt64; + } else if (isInt16) { + if (pp->ifdepth == 0) { + if (pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + pp->parseContext.requireProfile(ppToken->loc, ~EEsProfile, + "16-bit octal literal"); + pp->parseContext.profileRequires(ppToken->loc, ~EEsProfile, 0, + Num_Int16_Extensions, Int16_Extensions, "16-bit octal literal"); + } + } + ppToken->ival = (int)ival; + return isUnsigned ? PpAtomConstUint16 : PpAtomConstInt16; + } else { + ppToken->ival = (int)ival; + return isUnsigned ? PpAtomConstUint : PpAtomConstInt; + } + } + break; + case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + // can't be hexadecimal or octal, is either decimal or floating point + + do { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + else if (! AlreadyComplained) { + pp->parseContext.ppError(ppToken->loc, "numeric literal too long", "", ""); + AlreadyComplained = 1; + } + ch = getch(); + } while (ch >= '0' && ch <= '9'); + if (floatingPointChar(ch)) + return pp->lFloatConst(len, ch, ppToken); + else { + // Finish handling signed and unsigned integers + int numericLen = len; + bool isUnsigned = false; + bool isInt64 = false; + bool isInt16 = false; + if (ch == 'u' || ch == 'U') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isUnsigned = true; + +#ifndef GLSLANG_WEB + int nextCh = getch(); + if (nextCh == 'l' || nextCh == 'L') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)nextCh; + isInt64 = true; + } else + ungetch(); + + nextCh = getch(); + if ((nextCh == 's' || nextCh == 'S') && + pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)nextCh; + isInt16 = true; + } else + ungetch(); + } else if (ch == 'l' || ch == 'L') { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isInt64 = true; + } else if ((ch == 's' || ch == 'S') && + pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (len < MaxTokenLength) + ppToken->name[len++] = (char)ch; + isInt16 = true; +#endif + } else + ungetch(); + + ppToken->name[len] = '\0'; + ival = 0; + const unsigned oneTenthMaxInt = 0xFFFFFFFFu / 10; + const unsigned remainderMaxInt = 0xFFFFFFFFu - 10 * oneTenthMaxInt; + const unsigned long long oneTenthMaxInt64 = 0xFFFFFFFFFFFFFFFFull / 10; + const unsigned long long remainderMaxInt64 = 0xFFFFFFFFFFFFFFFFull - 10 * oneTenthMaxInt64; + const unsigned short oneTenthMaxInt16 = 0xFFFFu / 10; + const unsigned short remainderMaxInt16 = 0xFFFFu - 10 * oneTenthMaxInt16; + for (int i = 0; i < numericLen; i++) { + ch = ppToken->name[i] - '0'; + bool overflow = false; + if (isInt64) + overflow = (ival > oneTenthMaxInt64 || (ival == oneTenthMaxInt64 && (unsigned long long)ch > remainderMaxInt64)); + else if (isInt16) + overflow = (ival > oneTenthMaxInt16 || (ival == oneTenthMaxInt16 && (unsigned short)ch > remainderMaxInt16)); + else + overflow = (ival > oneTenthMaxInt || (ival == oneTenthMaxInt && (unsigned)ch > remainderMaxInt)); + if (overflow) { + pp->parseContext.ppError(ppToken->loc, "numeric literal too big", "", ""); + ival = 0xFFFFFFFFFFFFFFFFull; + break; + } else + ival = ival * 10 + ch; + } + + if (isInt64 && pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + if (pp->ifdepth == 0) { + pp->parseContext.requireProfile(ppToken->loc, ~EEsProfile, + "64-bit literal"); + pp->parseContext.profileRequires(ppToken->loc, ~EEsProfile, 0, + Num_Int64_Extensions, Int64_Extensions, "64-bit literal"); + } + ppToken->i64val = ival; + return isUnsigned ? PpAtomConstUint64 : PpAtomConstInt64; + } else if (isInt16) { + if (pp->ifdepth == 0 && pp->parseContext.intermediate.getSource() == EShSourceGlsl) { + pp->parseContext.requireProfile(ppToken->loc, ~EEsProfile, + "16-bit literal"); + pp->parseContext.profileRequires(ppToken->loc, ~EEsProfile, 0, + Num_Int16_Extensions, Int16_Extensions, "16-bit literal"); + } + ppToken->ival = (int)ival; + return isUnsigned ? PpAtomConstUint16 : PpAtomConstInt16; + } else { + ppToken->ival = (int)ival; + return isUnsigned ? PpAtomConstUint : PpAtomConstInt; + } + } + break; + case '-': + ch = getch(); + if (ch == '-') { + return PpAtomDecrement; + } else if (ch == '=') { + return PPAtomSubAssign; + } else { + ungetch(); + return '-'; + } + case '+': + ch = getch(); + if (ch == '+') { + return PpAtomIncrement; + } else if (ch == '=') { + return PPAtomAddAssign; + } else { + ungetch(); + return '+'; + } + case '*': + ch = getch(); + if (ch == '=') { + return PPAtomMulAssign; + } else { + ungetch(); + return '*'; + } + case '%': + ch = getch(); + if (ch == '=') { + return PPAtomModAssign; + } else { + ungetch(); + return '%'; + } + case '^': + ch = getch(); + if (ch == '^') { + return PpAtomXor; + } else { + if (ch == '=') + return PpAtomXorAssign; + else{ + ungetch(); + return '^'; + } + } + + case '=': + ch = getch(); + if (ch == '=') { + return PpAtomEQ; + } else { + ungetch(); + return '='; + } + case '!': + ch = getch(); + if (ch == '=') { + return PpAtomNE; + } else { + ungetch(); + return '!'; + } + case '|': + ch = getch(); + if (ch == '|') { + return PpAtomOr; + } else if (ch == '=') { + return PpAtomOrAssign; + } else { + ungetch(); + return '|'; + } + case '&': + ch = getch(); + if (ch == '&') { + return PpAtomAnd; + } else if (ch == '=') { + return PpAtomAndAssign; + } else { + ungetch(); + return '&'; + } + case '<': + ch = getch(); + if (ch == '<') { + ch = getch(); + if (ch == '=') + return PpAtomLeftAssign; + else { + ungetch(); + return PpAtomLeft; + } + } else if (ch == '=') { + return PpAtomLE; + } else { + ungetch(); + return '<'; + } + case '>': + ch = getch(); + if (ch == '>') { + ch = getch(); + if (ch == '=') + return PpAtomRightAssign; + else { + ungetch(); + return PpAtomRight; + } + } else if (ch == '=') { + return PpAtomGE; + } else { + ungetch(); + return '>'; + } + case '.': + ch = getch(); + if (ch >= '0' && ch <= '9') { + ungetch(); + return pp->lFloatConst(0, '.', ppToken); + } else { + ungetch(); + return '.'; + } + case '/': + ch = getch(); + if (ch == '/') { + pp->inComment = true; + do { + ch = getch(); + } while (ch != '\n' && ch != EndOfInput); + ppToken->space = true; + pp->inComment = false; + + return ch; + } else if (ch == '*') { + ch = getch(); + do { + while (ch != '*') { + if (ch == EndOfInput) { + pp->parseContext.ppError(ppToken->loc, "End of input in comment", "comment", ""); + return ch; + } + ch = getch(); + } + ch = getch(); + if (ch == EndOfInput) { + pp->parseContext.ppError(ppToken->loc, "End of input in comment", "comment", ""); + return ch; + } + } while (ch != '/'); + ppToken->space = true; + // loop again to get the next token... + break; + } else if (ch == '=') { + return PPAtomDivAssign; + } else { + ungetch(); + return '/'; + } + break; + case '\'': + return pp->characterLiteral(ppToken); + case '"': + // #include uses scanHeaderName() to ignore these escape sequences. + ch = getch(); + while (ch != '"' && ch != '\n' && ch != EndOfInput) { + if (len < MaxTokenLength) { + if (ch == '\\' && !pp->disableEscapeSequences) { + int nextCh = getch(); + switch (nextCh) { + case '\'': ch = 0x27; break; + case '"': ch = 0x22; break; + case '?': ch = 0x3f; break; + case '\\': ch = 0x5c; break; + case 'a': ch = 0x07; break; + case 'b': ch = 0x08; break; + case 'f': ch = 0x0c; break; + case 'n': ch = 0x0a; break; + case 'r': ch = 0x0d; break; + case 't': ch = 0x09; break; + case 'v': ch = 0x0b; break; + case 'x': + // Hex value, arbitrary number of characters. Terminated by the first + // non-hex digit + { + int numDigits = 0; + ch = 0; + while (true) { + nextCh = getch(); + if (nextCh >= '0' && nextCh <= '9') + nextCh -= '0'; + else if (nextCh >= 'A' && nextCh <= 'F') + nextCh -= 'A' - 10; + else if (nextCh >= 'a' && nextCh <= 'f') + nextCh -= 'a' - 10; + else { + ungetch(); + break; + } + numDigits++; + ch = ch * 0x10 + nextCh; + } + if (numDigits == 0) { + pp->parseContext.ppError(ppToken->loc, "Expected hex value in escape sequence", "string", ""); + } + break; + } + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + // Octal value, up to three octal digits + { + int numDigits = 1; + ch = nextCh - '0'; + while (numDigits < 3) { + nextCh = getch(); + if (nextCh >= '0' && nextCh <= '7') + nextCh -= '0'; + else { + ungetch(); + break; + } + numDigits++; + ch = ch * 8 + nextCh; + } + break; + } + default: + pp->parseContext.ppError(ppToken->loc, "Invalid escape sequence", "string", ""); + break; + } + } + ppToken->name[len] = (char)ch; + len++; + ch = getch(); + } else + break; + }; + ppToken->name[len] = '\0'; + if (ch != '"') { + ungetch(); + pp->parseContext.ppError(ppToken->loc, "End of line in string", "string", ""); + } + return PpAtomConstString; + case ':': + ch = getch(); + if (ch == ':') + return PpAtomColonColon; + ungetch(); + return ':'; + } + + ch = getch(); + } +} + +// +// The main functional entry point into the preprocessor, which will +// scan the source strings to figure out and return the next processing token. +// +// Return the token, or EndOfInput when no more tokens. +// +int TPpContext::tokenize(TPpToken& ppToken) +{ + for(;;) { + int token = scanToken(&ppToken); + + // Handle token-pasting logic + token = tokenPaste(token, ppToken); + + if (token == EndOfInput) { + missingEndifCheck(); + return EndOfInput; + } + if (token == '#') { + if (previous_token == '\n') { + token = readCPPline(&ppToken); + if (token == EndOfInput) { + missingEndifCheck(); + return EndOfInput; + } + continue; + } else { + parseContext.ppError(ppToken.loc, "preprocessor directive cannot be preceded by another token", "#", ""); + return EndOfInput; + } + } + previous_token = token; + + if (token == '\n') + continue; + + // expand macros + if (token == PpAtomIdentifier) { + switch (MacroExpand(&ppToken, false, true)) { + case MacroExpandNotStarted: + break; + case MacroExpandError: + return EndOfInput; + case MacroExpandStarted: + case MacroExpandUndef: + continue; + } + } + + switch (token) { + case PpAtomIdentifier: + case PpAtomConstInt: + case PpAtomConstUint: + case PpAtomConstFloat: + case PpAtomConstInt64: + case PpAtomConstUint64: + case PpAtomConstInt16: + case PpAtomConstUint16: + case PpAtomConstDouble: + case PpAtomConstFloat16: + if (ppToken.name[0] == '\0') + continue; + break; + case PpAtomConstString: + // HLSL allows string literals. + // GLSL allows string literals with GL_EXT_debug_printf. + if (ifdepth == 0 && parseContext.intermediate.getSource() != EShSourceHlsl) { + parseContext.requireExtensions(ppToken.loc, 1, &E_GL_EXT_debug_printf, "string literal"); + if (!parseContext.extensionTurnedOn(E_GL_EXT_debug_printf)) + continue; + } + break; + case '\'': + parseContext.ppError(ppToken.loc, "character literals not supported", "\'", ""); + continue; + default: + snprintf(ppToken.name, sizeof(ppToken.name), "%s", atomStrings.getString(token)); + break; + } + + return token; + } +} + +// +// Do all token-pasting related combining of two pasted tokens when getting a +// stream of tokens from a replacement list. Degenerates to no processing if a +// replacement list is not the source of the token stream. +// +int TPpContext::tokenPaste(int token, TPpToken& ppToken) +{ + // starting with ## is illegal, skip to next token + if (token == PpAtomPaste) { + parseContext.ppError(ppToken.loc, "unexpected location", "##", ""); + return scanToken(&ppToken); + } + + int resultToken = token; // "foo" pasted with "35" is an identifier, not a number + + // ## can be chained, process all in the chain at once + while (peekPasting()) { + TPpToken pastedPpToken; + + // next token has to be ## + token = scanToken(&pastedPpToken); + assert(token == PpAtomPaste); + + // This covers end of macro expansion + if (endOfReplacementList()) { + parseContext.ppError(ppToken.loc, "unexpected location; end of replacement list", "##", ""); + break; + } + + // Get the token(s) after the ##. + // Because of "space" semantics, and prior tokenization, what + // appeared a single token, e.g. "3A", might have been tokenized + // into two tokens "3" and "A", but the "A" will have 'space' set to + // false. Accumulate all of these to recreate the original lexical + // appearing token. + do { + token = scanToken(&pastedPpToken); + + // This covers end of argument expansion + if (token == tMarkerInput::marker) { + parseContext.ppError(ppToken.loc, "unexpected location; end of argument", "##", ""); + return resultToken; + } + + // get the token text + switch (resultToken) { + case PpAtomIdentifier: + // already have the correct text in token.names + break; + case '=': + case '!': + case '-': + case '~': + case '+': + case '*': + case '/': + case '%': + case '<': + case '>': + case '|': + case '^': + case '&': + case PpAtomRight: + case PpAtomLeft: + case PpAtomAnd: + case PpAtomOr: + case PpAtomXor: + snprintf(ppToken.name, sizeof(ppToken.name), "%s", atomStrings.getString(resultToken)); + snprintf(pastedPpToken.name, sizeof(pastedPpToken.name), "%s", atomStrings.getString(token)); + break; + default: + parseContext.ppError(ppToken.loc, "not supported for these tokens", "##", ""); + return resultToken; + } + + // combine the tokens + if (strlen(ppToken.name) + strlen(pastedPpToken.name) > MaxTokenLength) { + parseContext.ppError(ppToken.loc, "combined tokens are too long", "##", ""); + return resultToken; + } + snprintf(&ppToken.name[0] + strlen(ppToken.name), sizeof(ppToken.name) - strlen(ppToken.name), + "%s", pastedPpToken.name); + + // correct the kind of token we are making, if needed (identifiers stay identifiers) + if (resultToken != PpAtomIdentifier) { + int newToken = atomStrings.getAtom(ppToken.name); + if (newToken > 0) + resultToken = newToken; + else + parseContext.ppError(ppToken.loc, "combined token is invalid", "##", ""); + } + } while (peekContinuedPasting(resultToken)); + } + + return resultToken; +} + +// Checks if we've seen balanced #if...#endif +void TPpContext::missingEndifCheck() +{ + if (ifdepth > 0) + parseContext.ppError(parseContext.getCurrentLoc(), "missing #endif", "", ""); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.cpp new file mode 100644 index 00000000..7ed58703 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.cpp @@ -0,0 +1,221 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ + +// +// For recording and playing back the stream of tokens in a macro definition. +// + +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/) +#define snprintf sprintf_s +#endif + +#include +#include +#include +#include + +#include "PpContext.h" +#include "PpTokens.h" + +namespace glslang { + +// Add a token (including backing string) to the end of a macro +// token stream, for later playback. +void TPpContext::TokenStream::putToken(int atom, TPpToken* ppToken) +{ + TokenStream::Token streamToken(atom, *ppToken); + stream.push_back(streamToken); +} + +// Read the next token from a macro token stream. +int TPpContext::TokenStream::getToken(TParseContextBase& parseContext, TPpToken *ppToken) +{ + if (atEnd()) + return EndOfInput; + + int atom = stream[currentPos++].get(*ppToken); + ppToken->loc = parseContext.getCurrentLoc(); + +#ifndef GLSLANG_WEB + // Check for ##, unless the current # is the last character + if (atom == '#') { + if (peekToken('#')) { + parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)"); + parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)"); + currentPos++; + atom = PpAtomPaste; + } + } +#endif + + return atom; +} + +// We are pasting if +// 1. we are preceding a pasting operator within this stream +// or +// 2. the entire macro is preceding a pasting operator (lastTokenPastes) +// and we are also on the last token +bool TPpContext::TokenStream::peekTokenizedPasting(bool lastTokenPastes) +{ + // 1. preceding ##? + + size_t savePos = currentPos; + // skip white space + while (peekToken(' ')) + ++currentPos; + if (peekToken(PpAtomPaste)) { + currentPos = savePos; + return true; + } + + // 2. last token and we've been told after this there will be a ## + + if (! lastTokenPastes) + return false; + // Getting here means the last token will be pasted, after this + + // Are we at the last non-whitespace token? + savePos = currentPos; + bool moreTokens = false; + do { + if (atEnd()) + break; + if (!peekToken(' ')) { + moreTokens = true; + break; + } + ++currentPos; + } while (true); + currentPos = savePos; + + return !moreTokens; +} + +// See if the next non-white-space tokens are two consecutive # +bool TPpContext::TokenStream::peekUntokenizedPasting() +{ + // don't return early, have to restore this + size_t savePos = currentPos; + + // skip white-space + while (peekToken(' ')) + ++currentPos; + + // check for ## + bool pasting = false; + if (peekToken('#')) { + ++currentPos; + if (peekToken('#')) + pasting = true; + } + + currentPos = savePos; + + return pasting; +} + +void TPpContext::pushTokenStreamInput(TokenStream& ts, bool prepasting) +{ + pushInput(new tTokenInput(this, &ts, prepasting)); + ts.reset(); +} + +int TPpContext::tUngotTokenInput::scan(TPpToken* ppToken) +{ + if (done) + return EndOfInput; + + int ret = token; + *ppToken = lval; + done = true; + + return ret; +} + +void TPpContext::UngetToken(int token, TPpToken* ppToken) +{ + pushInput(new tUngotTokenInput(this, token, ppToken)); +} + +} // end namespace glslang diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.h b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.h new file mode 100644 index 00000000..7b0f8155 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/preprocessor/PpTokens.h @@ -0,0 +1,179 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ + +#ifndef PARSER_H +#define PARSER_H + +namespace glslang { + +// Multi-character tokens +enum EFixedAtoms { + // single character tokens get their own char value as their token; start here for multi-character tokens + PpAtomMaxSingle = 127, + + // replace bad character tokens with this, to avoid accidental aliasing with the below + PpAtomBadToken, + + // Operators + + PPAtomAddAssign, + PPAtomSubAssign, + PPAtomMulAssign, + PPAtomDivAssign, + PPAtomModAssign, + + PpAtomRight, + PpAtomLeft, + + PpAtomRightAssign, + PpAtomLeftAssign, + PpAtomAndAssign, + PpAtomOrAssign, + PpAtomXorAssign, + + PpAtomAnd, + PpAtomOr, + PpAtomXor, + + PpAtomEQ, + PpAtomNE, + PpAtomGE, + PpAtomLE, + + PpAtomDecrement, + PpAtomIncrement, + + PpAtomColonColon, + + PpAtomPaste, + + // Constants + + PpAtomConstInt, + PpAtomConstUint, + PpAtomConstInt64, + PpAtomConstUint64, + PpAtomConstInt16, + PpAtomConstUint16, + PpAtomConstFloat, + PpAtomConstDouble, + PpAtomConstFloat16, + PpAtomConstString, + + // Identifiers + PpAtomIdentifier, + + // preprocessor "keywords" + + PpAtomDefine, + PpAtomUndef, + + PpAtomIf, + PpAtomIfdef, + PpAtomIfndef, + PpAtomElse, + PpAtomElif, + PpAtomEndif, + + PpAtomLine, + PpAtomPragma, + PpAtomError, + + // #version ... + PpAtomVersion, + PpAtomCore, + PpAtomCompatibility, + PpAtomEs, + + // #extension + PpAtomExtension, + + // __LINE__, __FILE__, __VERSION__ + + PpAtomLineMacro, + PpAtomFileMacro, + PpAtomVersionMacro, + + // #include + PpAtomInclude, + + PpAtomLast, +}; + +} // end namespace glslang + +#endif /* not PARSER_H */ diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.cpp new file mode 100644 index 00000000..9def592b --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.cpp @@ -0,0 +1,870 @@ +// +// Copyright (C) 2015-2016 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +// +// Visit the nodes in the glslang intermediate tree representation to +// propagate the 'noContraction' qualifier. +// + +#ifndef GLSLANG_WEB + +#include "propagateNoContraction.h" + +#include +#include +#include +#include +#include + +#include "localintermediate.h" +namespace { + +// Use a string to hold the access chain information, as in most cases the +// access chain is short and may contain only one element, which is the symbol +// ID. +// Example: struct {float a; float b;} s; +// Object s.a will be represented with: /0 +// Object s.b will be represented with: /1 +// Object s will be represented with: +// For members of vector, matrix and arrays, they will be represented with the +// same symbol ID of their container symbol objects. This is because their +// preciseness is always the same as their container symbol objects. +typedef std::string ObjectAccessChain; + +// The delimiter used in the ObjectAccessChain string to separate symbol ID and +// different level of struct indices. +const char ObjectAccesschainDelimiter = '/'; + +// Mapping from Symbol IDs of symbol nodes, to their defining operation +// nodes. +typedef std::unordered_multimap NodeMapping; +// Mapping from object nodes to their access chain info string. +typedef std::unordered_map AccessChainMapping; + +// Set of object IDs. +typedef std::unordered_set ObjectAccesschainSet; +// Set of return branch nodes. +typedef std::unordered_set ReturnBranchNodeSet; + +// A helper function to tell whether a node is 'noContraction'. Returns true if +// the node has 'noContraction' qualifier, otherwise false. +bool isPreciseObjectNode(glslang::TIntermTyped* node) +{ + return node->getType().getQualifier().isNoContraction(); +} + +// Returns true if the opcode is a dereferencing one. +bool isDereferenceOperation(glslang::TOperator op) +{ + switch (op) { + case glslang::EOpIndexDirect: + case glslang::EOpIndexDirectStruct: + case glslang::EOpIndexIndirect: + case glslang::EOpVectorSwizzle: + case glslang::EOpMatrixSwizzle: + return true; + default: + return false; + } +} + +// Returns true if the opcode leads to an assignment operation. +bool isAssignOperation(glslang::TOperator op) +{ + switch (op) { + case glslang::EOpAssign: + case glslang::EOpAddAssign: + case glslang::EOpSubAssign: + case glslang::EOpMulAssign: + case glslang::EOpVectorTimesMatrixAssign: + case glslang::EOpVectorTimesScalarAssign: + case glslang::EOpMatrixTimesScalarAssign: + case glslang::EOpMatrixTimesMatrixAssign: + case glslang::EOpDivAssign: + case glslang::EOpModAssign: + case glslang::EOpAndAssign: + case glslang::EOpLeftShiftAssign: + case glslang::EOpRightShiftAssign: + case glslang::EOpInclusiveOrAssign: + case glslang::EOpExclusiveOrAssign: + + case glslang::EOpPostIncrement: + case glslang::EOpPostDecrement: + case glslang::EOpPreIncrement: + case glslang::EOpPreDecrement: + return true; + default: + return false; + } +} + +// A helper function to get the unsigned int from a given constant union node. +// Note the node should only hold a uint scalar. +unsigned getStructIndexFromConstantUnion(glslang::TIntermTyped* node) +{ + assert(node->getAsConstantUnion() && node->getAsConstantUnion()->isScalar()); + unsigned struct_dereference_index = node->getAsConstantUnion()->getConstArray()[0].getUConst(); + return struct_dereference_index; +} + +// A helper function to generate symbol_label. +ObjectAccessChain generateSymbolLabel(glslang::TIntermSymbol* node) +{ + ObjectAccessChain symbol_id = + std::to_string(node->getId()) + "(" + node->getName().c_str() + ")"; + return symbol_id; +} + +// Returns true if the operation is an arithmetic operation and valid for +// the 'NoContraction' decoration. +bool isArithmeticOperation(glslang::TOperator op) +{ + switch (op) { + case glslang::EOpAddAssign: + case glslang::EOpSubAssign: + case glslang::EOpMulAssign: + case glslang::EOpVectorTimesMatrixAssign: + case glslang::EOpVectorTimesScalarAssign: + case glslang::EOpMatrixTimesScalarAssign: + case glslang::EOpMatrixTimesMatrixAssign: + case glslang::EOpDivAssign: + case glslang::EOpModAssign: + + case glslang::EOpNegative: + + case glslang::EOpAdd: + case glslang::EOpSub: + case glslang::EOpMul: + case glslang::EOpDiv: + case glslang::EOpMod: + + case glslang::EOpVectorTimesScalar: + case glslang::EOpVectorTimesMatrix: + case glslang::EOpMatrixTimesVector: + case glslang::EOpMatrixTimesScalar: + case glslang::EOpMatrixTimesMatrix: + + case glslang::EOpDot: + + case glslang::EOpPostIncrement: + case glslang::EOpPostDecrement: + case glslang::EOpPreIncrement: + case glslang::EOpPreDecrement: + return true; + default: + return false; + } +} + +// A helper class to help manage the populating_initial_no_contraction_ flag. +template class StateSettingGuard { +public: + StateSettingGuard(T* state_ptr, T new_state_value) + : state_ptr_(state_ptr), previous_state_(*state_ptr) + { + *state_ptr = new_state_value; + } + StateSettingGuard(T* state_ptr) : state_ptr_(state_ptr), previous_state_(*state_ptr) {} + void setState(T new_state_value) { *state_ptr_ = new_state_value; } + ~StateSettingGuard() { *state_ptr_ = previous_state_; } + +private: + T* state_ptr_; + T previous_state_; +}; + +// A helper function to get the front element from a given ObjectAccessChain +ObjectAccessChain getFrontElement(const ObjectAccessChain& chain) +{ + size_t pos_delimiter = chain.find(ObjectAccesschainDelimiter); + return pos_delimiter == std::string::npos ? chain : chain.substr(0, pos_delimiter); +} + +// A helper function to get the access chain starting from the second element. +ObjectAccessChain subAccessChainFromSecondElement(const ObjectAccessChain& chain) +{ + size_t pos_delimiter = chain.find(ObjectAccesschainDelimiter); + return pos_delimiter == std::string::npos ? "" : chain.substr(pos_delimiter + 1); +} + +// A helper function to get the access chain after removing a given prefix. +ObjectAccessChain getSubAccessChainAfterPrefix(const ObjectAccessChain& chain, + const ObjectAccessChain& prefix) +{ + size_t pos = chain.find(prefix); + if (pos != 0) + return chain; + return chain.substr(prefix.length() + sizeof(ObjectAccesschainDelimiter)); +} + +// +// A traverser which traverses the whole AST and populates: +// 1) A mapping from symbol nodes' IDs to their defining operation nodes. +// 2) A set of access chains of the initial precise object nodes. +// +class TSymbolDefinitionCollectingTraverser : public glslang::TIntermTraverser { +public: + TSymbolDefinitionCollectingTraverser(NodeMapping* symbol_definition_mapping, + AccessChainMapping* accesschain_mapping, + ObjectAccesschainSet* precise_objects, + ReturnBranchNodeSet* precise_return_nodes); + + bool visitUnary(glslang::TVisit, glslang::TIntermUnary*) override; + bool visitBinary(glslang::TVisit, glslang::TIntermBinary*) override; + void visitSymbol(glslang::TIntermSymbol*) override; + bool visitAggregate(glslang::TVisit, glslang::TIntermAggregate*) override; + bool visitBranch(glslang::TVisit, glslang::TIntermBranch*) override; + +protected: + TSymbolDefinitionCollectingTraverser& operator=(const TSymbolDefinitionCollectingTraverser&); + + // The mapping from symbol node IDs to their defining nodes. This should be + // populated along traversing the AST. + NodeMapping& symbol_definition_mapping_; + // The set of symbol node IDs for precise symbol nodes, the ones marked as + // 'noContraction'. + ObjectAccesschainSet& precise_objects_; + // The set of precise return nodes. + ReturnBranchNodeSet& precise_return_nodes_; + // A temporary cache of the symbol node whose defining node is to be found + // currently along traversing the AST. + ObjectAccessChain current_object_; + // A map from object node to its access chain. This traverser stores + // the built access chains into this map for each object node it has + // visited. + AccessChainMapping& accesschain_mapping_; + // The pointer to the Function Definition node, so we can get the + // preciseness of the return expression from it when we traverse the + // return branch node. + glslang::TIntermAggregate* current_function_definition_node_; +}; + +TSymbolDefinitionCollectingTraverser::TSymbolDefinitionCollectingTraverser( + NodeMapping* symbol_definition_mapping, AccessChainMapping* accesschain_mapping, + ObjectAccesschainSet* precise_objects, + std::unordered_set* precise_return_nodes) + : TIntermTraverser(true, false, false), symbol_definition_mapping_(*symbol_definition_mapping), + precise_objects_(*precise_objects), precise_return_nodes_(*precise_return_nodes), + current_object_(), accesschain_mapping_(*accesschain_mapping), + current_function_definition_node_(nullptr) {} + +// Visits a symbol node, set the current_object_ to the +// current node symbol ID, and record a mapping from this node to the current +// current_object_, which is the just obtained symbol +// ID. +void TSymbolDefinitionCollectingTraverser::visitSymbol(glslang::TIntermSymbol* node) +{ + current_object_ = generateSymbolLabel(node); + accesschain_mapping_[node] = current_object_; +} + +// Visits an aggregate node, traverses all of its children. +bool TSymbolDefinitionCollectingTraverser::visitAggregate(glslang::TVisit, + glslang::TIntermAggregate* node) +{ + // This aggregate node might be a function definition node, in which case we need to + // cache this node, so we can get the preciseness information of the return value + // of this function later. + StateSettingGuard current_function_definition_node_setting_guard( + ¤t_function_definition_node_); + if (node->getOp() == glslang::EOpFunction) { + // This is function definition node, we need to cache this node so that we can + // get the preciseness of the return value later. + current_function_definition_node_setting_guard.setState(node); + } + // Traverse the items in the sequence. + glslang::TIntermSequence& seq = node->getSequence(); + for (int i = 0; i < (int)seq.size(); ++i) { + current_object_.clear(); + seq[i]->traverse(this); + } + return false; +} + +bool TSymbolDefinitionCollectingTraverser::visitBranch(glslang::TVisit, + glslang::TIntermBranch* node) +{ + if (node->getFlowOp() == glslang::EOpReturn && node->getExpression() && + current_function_definition_node_ && + current_function_definition_node_->getType().getQualifier().noContraction) { + // This node is a return node with an expression, and its function has a + // precise return value. We need to find the involved objects in its + // expression and add them to the set of initial precise objects. + precise_return_nodes_.insert(node); + node->getExpression()->traverse(this); + } + return false; +} + +// Visits a unary node. This might be an implicit assignment like i++, i--. etc. +bool TSymbolDefinitionCollectingTraverser::visitUnary(glslang::TVisit /* visit */, + glslang::TIntermUnary* node) +{ + current_object_.clear(); + node->getOperand()->traverse(this); + if (isAssignOperation(node->getOp())) { + // We should always be able to get an access chain of the operand node. + assert(!current_object_.empty()); + + // If the operand node object is 'precise', we collect its access chain + // for the initial set of 'precise' objects. + if (isPreciseObjectNode(node->getOperand())) { + // The operand node is an 'precise' object node, add its + // access chain to the set of 'precise' objects. This is to collect + // the initial set of 'precise' objects. + precise_objects_.insert(current_object_); + } + // Gets the symbol ID from the object's access chain. + ObjectAccessChain id_symbol = getFrontElement(current_object_); + // Add a mapping from the symbol ID to this assignment operation node. + symbol_definition_mapping_.insert(std::make_pair(id_symbol, node)); + } + // A unary node is not a dereference node, so we clear the access chain which + // is under construction. + current_object_.clear(); + return false; +} + +// Visits a binary node and updates the mapping from symbol IDs to the definition +// nodes. Also collects the access chains for the initial precise objects. +bool TSymbolDefinitionCollectingTraverser::visitBinary(glslang::TVisit /* visit */, + glslang::TIntermBinary* node) +{ + // Traverses the left node to build the access chain info for the object. + current_object_.clear(); + node->getLeft()->traverse(this); + + if (isAssignOperation(node->getOp())) { + // We should always be able to get an access chain for the left node. + assert(!current_object_.empty()); + + // If the left node object is 'precise', it is an initial precise object + // specified in the shader source. Adds it to the initial work list to + // process later. + if (isPreciseObjectNode(node->getLeft())) { + // The left node is an 'precise' object node, add its access chain to + // the set of 'precise' objects. This is to collect the initial set + // of 'precise' objects. + precise_objects_.insert(current_object_); + } + // Gets the symbol ID from the object access chain, which should be the + // first element recorded in the access chain. + ObjectAccessChain id_symbol = getFrontElement(current_object_); + // Adds a mapping from the symbol ID to this assignment operation node. + symbol_definition_mapping_.insert(std::make_pair(id_symbol, node)); + + // Traverses the right node, there may be other 'assignment' + // operations in the right. + current_object_.clear(); + node->getRight()->traverse(this); + + } else if (isDereferenceOperation(node->getOp())) { + // The left node (parent node) is a struct type object. We need to + // record the access chain information of the current node into its + // object id. + if (node->getOp() == glslang::EOpIndexDirectStruct) { + unsigned struct_dereference_index = getStructIndexFromConstantUnion(node->getRight()); + current_object_.push_back(ObjectAccesschainDelimiter); + current_object_.append(std::to_string(struct_dereference_index)); + } + accesschain_mapping_[node] = current_object_; + + // For a dereference node, there is no need to traverse the right child + // node as the right node should always be an integer type object. + + } else { + // For other binary nodes, still traverse the right node. + current_object_.clear(); + node->getRight()->traverse(this); + } + return false; +} + +// Traverses the AST and returns a tuple of four members: +// 1) a mapping from symbol IDs to the definition nodes (aka. assignment nodes) of these symbols. +// 2) a mapping from object nodes in the AST to the access chains of these objects. +// 3) a set of access chains of precise objects. +// 4) a set of return nodes with precise expressions. +std::tuple +getSymbolToDefinitionMappingAndPreciseSymbolIDs(const glslang::TIntermediate& intermediate) +{ + auto result_tuple = std::make_tuple(NodeMapping(), AccessChainMapping(), ObjectAccesschainSet(), + ReturnBranchNodeSet()); + + TIntermNode* root = intermediate.getTreeRoot(); + if (root == 0) + return result_tuple; + + NodeMapping& symbol_definition_mapping = std::get<0>(result_tuple); + AccessChainMapping& accesschain_mapping = std::get<1>(result_tuple); + ObjectAccesschainSet& precise_objects = std::get<2>(result_tuple); + ReturnBranchNodeSet& precise_return_nodes = std::get<3>(result_tuple); + + // Traverses the AST and populate the results. + TSymbolDefinitionCollectingTraverser collector(&symbol_definition_mapping, &accesschain_mapping, + &precise_objects, &precise_return_nodes); + root->traverse(&collector); + + return result_tuple; +} + +// +// A traverser that determine whether the left node (or operand node for unary +// node) of an assignment node is 'precise', containing 'precise' or not, +// according to the access chain a given precise object which share the same +// symbol as the left node. +// +// Post-orderly traverses the left node subtree of an binary assignment node and: +// +// 1) Propagates the 'precise' from the left object nodes to this object node. +// +// 2) Builds object access chain along the traversal, and also compares with +// the access chain of the given 'precise' object along with the traversal to +// tell if the node to be defined is 'precise' or not. +// +class TNoContractionAssigneeCheckingTraverser : public glslang::TIntermTraverser { + + enum DecisionStatus { + // The object node to be assigned to may contain 'precise' objects and also not 'precise' objects. + Mixed = 0, + // The object node to be assigned to is either a 'precise' object or a struct objects whose members are all 'precise'. + Precise = 1, + // The object node to be assigned to is not a 'precise' object. + NotPreicse = 2, + }; + +public: + TNoContractionAssigneeCheckingTraverser(const AccessChainMapping& accesschain_mapping) + : TIntermTraverser(true, false, false), accesschain_mapping_(accesschain_mapping), + precise_object_(nullptr) {} + + // Checks the preciseness of a given assignment node with a precise object + // represented as access chain. The precise object shares the same symbol + // with the assignee of the given assignment node. Return a tuple of two: + // + // 1) The preciseness of the assignee node of this assignment node. True + // if the assignee contains 'precise' objects or is 'precise', false if + // the assignee is not 'precise' according to the access chain of the given + // precise object. + // + // 2) The incremental access chain from the assignee node to its nested + // 'precise' object, according to the access chain of the given precise + // object. This incremental access chain can be empty, which means the + // assignee is 'precise'. Otherwise it shows the path to the nested + // precise object. + std::tuple + getPrecisenessAndRemainedAccessChain(glslang::TIntermOperator* node, + const ObjectAccessChain& precise_object) + { + assert(isAssignOperation(node->getOp())); + precise_object_ = &precise_object; + ObjectAccessChain assignee_object; + if (glslang::TIntermBinary* BN = node->getAsBinaryNode()) { + // This is a binary assignment node, we need to check the + // preciseness of the left node. + assert(accesschain_mapping_.count(BN->getLeft())); + // The left node (assignee node) is an object node, traverse the + // node to let the 'precise' of nesting objects being transfered to + // nested objects. + BN->getLeft()->traverse(this); + // After traversing the left node, if the left node is 'precise', + // we can conclude this assignment should propagate 'precise'. + if (isPreciseObjectNode(BN->getLeft())) { + return make_tuple(true, ObjectAccessChain()); + } + // If the preciseness of the left node (assignee node) can not + // be determined by now, we need to compare the access chain string + // of the assignee object with the given precise object. + assignee_object = accesschain_mapping_.at(BN->getLeft()); + + } else if (glslang::TIntermUnary* UN = node->getAsUnaryNode()) { + // This is a unary assignment node, we need to check the + // preciseness of the operand node. For unary assignment node, the + // operand node should always be an object node. + assert(accesschain_mapping_.count(UN->getOperand())); + // Traverse the operand node to let the 'precise' being propagated + // from lower nodes to upper nodes. + UN->getOperand()->traverse(this); + // After traversing the operand node, if the operand node is + // 'precise', this assignment should propagate 'precise'. + if (isPreciseObjectNode(UN->getOperand())) { + return make_tuple(true, ObjectAccessChain()); + } + // If the preciseness of the operand node (assignee node) can not + // be determined by now, we need to compare the access chain string + // of the assignee object with the given precise object. + assignee_object = accesschain_mapping_.at(UN->getOperand()); + } else { + // Not a binary or unary node, should not happen. + assert(false); + } + + // Compare the access chain string of the assignee node with the given + // precise object to determine if this assignment should propagate + // 'precise'. + if (assignee_object.find(precise_object) == 0) { + // The access chain string of the given precise object is a prefix + // of assignee's access chain string. The assignee should be + // 'precise'. + return make_tuple(true, ObjectAccessChain()); + } else if (precise_object.find(assignee_object) == 0) { + // The assignee's access chain string is a prefix of the given + // precise object, the assignee object contains 'precise' object, + // and we need to pass the remained access chain to the object nodes + // in the right. + return make_tuple(true, getSubAccessChainAfterPrefix(precise_object, assignee_object)); + } else { + // The access chain strings do not match, the assignee object can + // not be labeled as 'precise' according to the given precise + // object. + return make_tuple(false, ObjectAccessChain()); + } + } + +protected: + TNoContractionAssigneeCheckingTraverser& operator=(const TNoContractionAssigneeCheckingTraverser&); + + bool visitBinary(glslang::TVisit, glslang::TIntermBinary* node) override; + void visitSymbol(glslang::TIntermSymbol* node) override; + + // A map from object nodes to their access chain string (used as object ID). + const AccessChainMapping& accesschain_mapping_; + // A given precise object, represented in it access chain string. This + // precise object is used to be compared with the assignee node to tell if + // the assignee node is 'precise', contains 'precise' object or not + // 'precise'. + const ObjectAccessChain* precise_object_; +}; + +// Visits a binary node. If the node is an object node, it must be a dereference +// node. In such cases, if the left node is 'precise', this node should also be +// 'precise'. +bool TNoContractionAssigneeCheckingTraverser::visitBinary(glslang::TVisit, + glslang::TIntermBinary* node) +{ + // Traverses the left so that we transfer the 'precise' from nesting object + // to its nested object. + node->getLeft()->traverse(this); + // If this binary node is an object node, we should have it in the + // accesschain_mapping_. + if (accesschain_mapping_.count(node)) { + // A binary object node must be a dereference node. + assert(isDereferenceOperation(node->getOp())); + // If the left node is 'precise', this node should also be precise, + // otherwise, compare with the given precise_object_. If the + // access chain of this node matches with the given precise_object_, + // this node should be marked as 'precise'. + if (isPreciseObjectNode(node->getLeft())) { + node->getWritableType().getQualifier().noContraction = true; + } else if (accesschain_mapping_.at(node) == *precise_object_) { + node->getWritableType().getQualifier().noContraction = true; + } + } + return false; +} + +// Visits a symbol node, if the symbol node ID (its access chain string) matches +// with the given precise object, this node should be 'precise'. +void TNoContractionAssigneeCheckingTraverser::visitSymbol(glslang::TIntermSymbol* node) +{ + // A symbol node should always be an object node, and should have been added + // to the map from object nodes to their access chain strings. + assert(accesschain_mapping_.count(node)); + if (accesschain_mapping_.at(node) == *precise_object_) { + node->getWritableType().getQualifier().noContraction = true; + } +} + +// +// A traverser that only traverses the right side of binary assignment nodes +// and the operand node of unary assignment nodes. +// +// 1) Marks arithmetic operations as 'NoContraction'. +// +// 2) Find the object which should be marked as 'precise' in the right and +// update the 'precise' object work list. +// +class TNoContractionPropagator : public glslang::TIntermTraverser { +public: + TNoContractionPropagator(ObjectAccesschainSet* precise_objects, + const AccessChainMapping& accesschain_mapping) + : TIntermTraverser(true, false, false), + precise_objects_(*precise_objects), added_precise_object_ids_(), + remained_accesschain_(), accesschain_mapping_(accesschain_mapping) {} + + // Propagates 'precise' in the right nodes of a given assignment node with + // access chain record from the assignee node to a 'precise' object it + // contains. + void + propagateNoContractionInOneExpression(glslang::TIntermTyped* defining_node, + const ObjectAccessChain& assignee_remained_accesschain) + { + remained_accesschain_ = assignee_remained_accesschain; + if (glslang::TIntermBinary* BN = defining_node->getAsBinaryNode()) { + assert(isAssignOperation(BN->getOp())); + BN->getRight()->traverse(this); + if (isArithmeticOperation(BN->getOp())) { + BN->getWritableType().getQualifier().noContraction = true; + } + } else if (glslang::TIntermUnary* UN = defining_node->getAsUnaryNode()) { + assert(isAssignOperation(UN->getOp())); + UN->getOperand()->traverse(this); + if (isArithmeticOperation(UN->getOp())) { + UN->getWritableType().getQualifier().noContraction = true; + } + } + } + + // Propagates 'precise' in a given precise return node. + void propagateNoContractionInReturnNode(glslang::TIntermBranch* return_node) + { + remained_accesschain_ = ""; + assert(return_node->getFlowOp() == glslang::EOpReturn && return_node->getExpression()); + return_node->getExpression()->traverse(this); + } + +protected: + TNoContractionPropagator& operator=(const TNoContractionPropagator&); + + // Visits an aggregate node. The node can be a initializer list, in which + // case we need to find the 'precise' or 'precise' containing object node + // with the access chain record. In other cases, just need to traverse all + // the children nodes. + bool visitAggregate(glslang::TVisit, glslang::TIntermAggregate* node) override + { + if (!remained_accesschain_.empty() && node->getOp() == glslang::EOpConstructStruct) { + // This is a struct initializer node, and the remained + // access chain is not empty, we need to refer to the + // assignee_remained_access_chain_ to find the nested + // 'precise' object. And we don't need to visit other nodes in this + // aggregate node. + + // Gets the struct dereference index that leads to 'precise' object. + ObjectAccessChain precise_accesschain_index_str = + getFrontElement(remained_accesschain_); + unsigned precise_accesschain_index = (unsigned)strtoul(precise_accesschain_index_str.c_str(), nullptr, 10); + // Gets the node pointed by the access chain index extracted before. + glslang::TIntermTyped* potential_precise_node = + node->getSequence()[precise_accesschain_index]->getAsTyped(); + assert(potential_precise_node); + // Pop the front access chain index from the path, and visit the nested node. + { + ObjectAccessChain next_level_accesschain = + subAccessChainFromSecondElement(remained_accesschain_); + StateSettingGuard setup_remained_accesschain_for_next_level( + &remained_accesschain_, next_level_accesschain); + potential_precise_node->traverse(this); + } + return false; + } + return true; + } + + // Visits a binary node. A binary node can be an object node, e.g. a dereference node. + // As only the top object nodes in the right side of an assignment needs to be visited + // and added to 'precise' work list, this traverser won't visit the children nodes of + // an object node. If the binary node does not represent an object node, it should + // go on to traverse its children nodes and if it is an arithmetic operation node, this + // operation should be marked as 'noContraction'. + bool visitBinary(glslang::TVisit, glslang::TIntermBinary* node) override + { + if (isDereferenceOperation(node->getOp())) { + // This binary node is an object node. Need to update the precise + // object set with the access chain of this node + remained + // access chain . + ObjectAccessChain new_precise_accesschain = accesschain_mapping_.at(node); + if (remained_accesschain_.empty()) { + node->getWritableType().getQualifier().noContraction = true; + } else { + new_precise_accesschain += ObjectAccesschainDelimiter + remained_accesschain_; + } + // Cache the access chain as added precise object, so we won't add the + // same object to the work list again. + if (!added_precise_object_ids_.count(new_precise_accesschain)) { + precise_objects_.insert(new_precise_accesschain); + added_precise_object_ids_.insert(new_precise_accesschain); + } + // Only the upper-most object nodes should be visited, so do not + // visit children of this object node. + return false; + } + // If this is an arithmetic operation, marks this node as 'noContraction'. + if (isArithmeticOperation(node->getOp()) && node->getBasicType() != glslang::EbtInt) { + node->getWritableType().getQualifier().noContraction = true; + } + // As this node is not an object node, need to traverse the children nodes. + return true; + } + + // Visits a unary node. A unary node can not be an object node. If the operation + // is an arithmetic operation, need to mark this node as 'noContraction'. + bool visitUnary(glslang::TVisit /* visit */, glslang::TIntermUnary* node) override + { + // If this is an arithmetic operation, marks this with 'noContraction' + if (isArithmeticOperation(node->getOp())) { + node->getWritableType().getQualifier().noContraction = true; + } + return true; + } + + // Visits a symbol node. A symbol node is always an object node. So we + // should always be able to find its in our collected mapping from object + // nodes to access chains. As an object node, a symbol node can be either + // 'precise' or containing 'precise' objects according to unused + // access chain information we have when we visit this node. + void visitSymbol(glslang::TIntermSymbol* node) override + { + // Symbol nodes are object nodes and should always have an + // access chain collected before matches with it. + assert(accesschain_mapping_.count(node)); + ObjectAccessChain new_precise_accesschain = accesschain_mapping_.at(node); + // If the unused access chain is empty, this symbol node should be + // marked as 'precise'. Otherwise, the unused access chain should be + // appended to the symbol ID to build a new access chain which points to + // the nested 'precise' object in this symbol object. + if (remained_accesschain_.empty()) { + node->getWritableType().getQualifier().noContraction = true; + } else { + new_precise_accesschain += ObjectAccesschainDelimiter + remained_accesschain_; + } + // Add the new 'precise' access chain to the work list and make sure we + // don't visit it again. + if (!added_precise_object_ids_.count(new_precise_accesschain)) { + precise_objects_.insert(new_precise_accesschain); + added_precise_object_ids_.insert(new_precise_accesschain); + } + } + + // A set of precise objects, represented as access chains. + ObjectAccesschainSet& precise_objects_; + // Visited symbol nodes, should not revisit these nodes. + ObjectAccesschainSet added_precise_object_ids_; + // The left node of an assignment operation might be an parent of 'precise' objects. + // This means the left node might not be an 'precise' object node, but it may contains + // 'precise' qualifier which should be propagated to the corresponding child node in + // the right. So we need the path from the left node to its nested 'precise' node to + // tell us how to find the corresponding 'precise' node in the right. + ObjectAccessChain remained_accesschain_; + // A map from node pointers to their access chains. + const AccessChainMapping& accesschain_mapping_; +}; +} + +namespace glslang { + +void PropagateNoContraction(const glslang::TIntermediate& intermediate) +{ + // First, traverses the AST, records symbols with their defining operations + // and collects the initial set of precise symbols (symbol nodes that marked + // as 'noContraction') and precise return nodes. + auto mappings_and_precise_objects = + getSymbolToDefinitionMappingAndPreciseSymbolIDs(intermediate); + + // The mapping of symbol node IDs to their defining nodes. This enables us + // to get the defining node directly from a given symbol ID without + // traversing the tree again. + NodeMapping& symbol_definition_mapping = std::get<0>(mappings_and_precise_objects); + + // The mapping of object nodes to their access chains recorded. + AccessChainMapping& accesschain_mapping = std::get<1>(mappings_and_precise_objects); + + // The initial set of 'precise' objects which are represented as the + // access chain toward them. + ObjectAccesschainSet& precise_object_accesschains = std::get<2>(mappings_and_precise_objects); + + // The set of 'precise' return nodes. + ReturnBranchNodeSet& precise_return_nodes = std::get<3>(mappings_and_precise_objects); + + // Second, uses the initial set of precise objects as a work list, pops an + // access chain, extract the symbol ID from it. Then: + // 1) Check the assignee object, see if it is 'precise' object node or + // contains 'precise' object. Obtain the incremental access chain from the + // assignee node to its nested 'precise' node (if any). + // 2) If the assignee object node is 'precise' or it contains 'precise' + // objects, traverses the right side of the assignment operation + // expression to mark arithmetic operations as 'noContration' and update + // 'precise' access chain work list with new found object nodes. + // Repeat above steps until the work list is empty. + TNoContractionAssigneeCheckingTraverser checker(accesschain_mapping); + TNoContractionPropagator propagator(&precise_object_accesschains, accesschain_mapping); + + // We have two initial precise work lists to handle: + // 1) precise return nodes + // 2) precise object access chains + // We should process the precise return nodes first and the involved + // objects in the return expression should be added to the precise object + // access chain set. + while (!precise_return_nodes.empty()) { + glslang::TIntermBranch* precise_return_node = *precise_return_nodes.begin(); + propagator.propagateNoContractionInReturnNode(precise_return_node); + precise_return_nodes.erase(precise_return_node); + } + + while (!precise_object_accesschains.empty()) { + // Get the access chain of a precise object from the work list. + ObjectAccessChain precise_object_accesschain = *precise_object_accesschains.begin(); + // Get the symbol id from the access chain. + ObjectAccessChain symbol_id = getFrontElement(precise_object_accesschain); + // Get all the defining nodes of that symbol ID. + std::pair range = + symbol_definition_mapping.equal_range(symbol_id); + // Visits all the assignment nodes of that symbol ID and + // 1) Check if the assignee node is 'precise' or contains 'precise' + // objects. + // 2) Propagate the 'precise' to the top layer object nodes + // in the right side of the assignment operation, update the 'precise' + // work list with new access chains representing the new 'precise' + // objects, and mark arithmetic operations as 'noContraction'. + for (NodeMapping::iterator defining_node_iter = range.first; + defining_node_iter != range.second; defining_node_iter++) { + TIntermOperator* defining_node = defining_node_iter->second; + // Check the assignee node. + auto checker_result = checker.getPrecisenessAndRemainedAccessChain( + defining_node, precise_object_accesschain); + bool& contain_precise = std::get<0>(checker_result); + ObjectAccessChain& remained_accesschain = std::get<1>(checker_result); + // If the assignee node is 'precise' or contains 'precise', propagate the + // 'precise' to the right. Otherwise just skip this assignment node. + if (contain_precise) { + propagator.propagateNoContractionInOneExpression(defining_node, + remained_accesschain); + } + } + // Remove the last processed 'precise' object from the work list. + precise_object_accesschains.erase(precise_object_accesschain); + } +} +}; + +#endif // GLSLANG_WEB diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.h b/android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.h new file mode 100644 index 00000000..8521ad7d --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/propagateNoContraction.h @@ -0,0 +1,55 @@ +// +// Copyright (C) 2015-2016 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +// +// Visit the nodes in the glslang intermediate tree representation to +// propagate 'noContraction' qualifier. +// + +#pragma once + +#include "../Include/intermediate.h" + +namespace glslang { + +// Propagates the 'precise' qualifier for objects (objects marked with +// 'noContraction' qualifier) from the shader source specified 'precise' +// variables to all the involved objects, and add 'noContraction' qualifier for +// the involved arithmetic operations. +// Note that the same qualifier: 'noContraction' is used in both object nodes +// and arithmetic operation nodes, but has different meaning. For object nodes, +// 'noContraction' means the object is 'precise'; and for arithmetic operation +// nodes, it means the operation should not be contracted. +void PropagateNoContraction(const glslang::TIntermediate& intermediate); +}; diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/reflection.cpp b/android/x86_64/include/glslang/Include/MachineIndependent/reflection.cpp new file mode 100644 index 00000000..72950029 --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/reflection.cpp @@ -0,0 +1,1272 @@ +// +// Copyright (C) 2013-2016 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +#include "../Include/Common.h" +#include "reflection.h" +#include "LiveTraverser.h" +#include "localintermediate.h" + +#include "gl_types.h" + +// +// Grow the reflection database through a friend traverser class of TReflection and a +// collection of functions to do a liveness traversal that note what uniforms are used +// in semantically non-dead code. +// +// Can be used multiple times, once per stage, to grow a program reflection. +// +// High-level algorithm for one stage: +// +// 1. Put the entry point on the list of live functions. +// +// 2. Traverse any live function, while skipping if-tests with a compile-time constant +// condition of false, and while adding any encountered function calls to the live +// function list. +// +// Repeat until the live function list is empty. +// +// 3. Add any encountered uniform variables and blocks to the reflection database. +// +// Can be attempted with a failed link, but will return false if recursion had been detected, or +// there wasn't exactly one entry point. +// + +namespace glslang { + +// +// The traverser: mostly pass through, except +// - processing binary nodes to see if they are dereferences of an aggregates to track +// - processing symbol nodes to see if they are non-aggregate objects to track +// +// This ignores semantically dead code by using TLiveTraverser. +// +// This is in the glslang namespace directly so it can be a friend of TReflection. +// + +class TReflectionTraverser : public TIntermTraverser { +public: + TReflectionTraverser(const TIntermediate& i, TReflection& r) : + TIntermTraverser(), intermediate(i), reflection(r), updateStageMasks(true) { } + + virtual bool visitBinary(TVisit, TIntermBinary* node); + virtual void visitSymbol(TIntermSymbol* base); + + // Add a simple reference to a uniform variable to the uniform database, no dereference involved. + // However, no dereference doesn't mean simple... it could be a complex aggregate. + void addUniform(const TIntermSymbol& base) + { + if (processedDerefs.find(&base) == processedDerefs.end()) { + processedDerefs.insert(&base); + + int blockIndex = -1; + int offset = -1; + TList derefs; + TString baseName = base.getName(); + + if (base.getType().getBasicType() == EbtBlock) { + offset = 0; + bool anonymous = IsAnonymous(baseName); + const TString& blockName = base.getType().getTypeName(); + + if (!anonymous) + baseName = blockName; + else + baseName = ""; + + blockIndex = addBlockName(blockName, base.getType(), intermediate.getBlockSize(base.getType())); + } + + // Use a degenerate (empty) set of dereferences to immediately put as at the end of + // the dereference change expected by blowUpActiveAggregate. + blowUpActiveAggregate(base.getType(), baseName, derefs, derefs.end(), offset, blockIndex, 0, -1, 0, + base.getQualifier().storage, updateStageMasks); + } + } + + void addPipeIOVariable(const TIntermSymbol& base) + { + if (processedDerefs.find(&base) == processedDerefs.end()) { + processedDerefs.insert(&base); + + const TString &name = base.getName(); + const TType &type = base.getType(); + const bool input = base.getQualifier().isPipeInput(); + + TReflection::TMapIndexToReflection &ioItems = + input ? reflection.indexToPipeInput : reflection.indexToPipeOutput; + + + TReflection::TNameToIndex &ioMapper = + input ? reflection.pipeInNameToIndex : reflection.pipeOutNameToIndex; + + if (reflection.options & EShReflectionUnwrapIOBlocks) { + bool anonymous = IsAnonymous(name); + + TString baseName; + if (type.getBasicType() == EbtBlock) { + baseName = anonymous ? TString() : type.getTypeName(); + } else { + baseName = anonymous ? TString() : name; + } + + // by convention if this is an arrayed block we ignore the array in the reflection + if (type.isArray() && type.getBasicType() == EbtBlock) { + blowUpIOAggregate(input, baseName, TType(type, 0)); + } else { + blowUpIOAggregate(input, baseName, type); + } + } else { + TReflection::TNameToIndex::const_iterator it = ioMapper.find(name.c_str()); + if (it == ioMapper.end()) { + // seperate pipe i/o params from uniforms and blocks + // in is only for input in first stage as out is only for last stage. check traverse in call stack. + ioMapper[name.c_str()] = static_cast(ioItems.size()); + ioItems.push_back( + TObjectReflection(name.c_str(), type, 0, mapToGlType(type), mapToGlArraySize(type), 0)); + EShLanguageMask& stages = ioItems.back().stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } else { + EShLanguageMask& stages = ioItems[it->second].stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } + } + } + } + + // Lookup or calculate the offset of all block members at once, using the recursively + // defined block offset rules. + void getOffsets(const TType& type, TVector& offsets) + { + const TTypeList& memberList = *type.getStruct(); + int memberSize = 0; + int offset = 0; + + for (size_t m = 0; m < offsets.size(); ++m) { + // if the user supplied an offset, snap to it now + if (memberList[m].type->getQualifier().hasOffset()) + offset = memberList[m].type->getQualifier().layoutOffset; + + // calculate the offset of the next member and align the current offset to this member + intermediate.updateOffset(type, *memberList[m].type, offset, memberSize); + + // save the offset of this member + offsets[m] = offset; + + // update for the next member + offset += memberSize; + } + } + + // Calculate the stride of an array type + int getArrayStride(const TType& baseType, const TType& type) + { + int dummySize; + int stride; + + // consider blocks to have 0 stride, so that all offsets are relative to the start of their block + if (type.getBasicType() == EbtBlock) + return 0; + + TLayoutMatrix subMatrixLayout = type.getQualifier().layoutMatrix; + intermediate.getMemberAlignment(type, dummySize, stride, + baseType.getQualifier().layoutPacking, + subMatrixLayout != ElmNone + ? subMatrixLayout == ElmRowMajor + : baseType.getQualifier().layoutMatrix == ElmRowMajor); + + return stride; + } + + // count the total number of leaf members from iterating out of a block type + int countAggregateMembers(const TType& parentType) + { + if (! parentType.isStruct()) + return 1; + + const bool strictArraySuffix = (reflection.options & EShReflectionStrictArraySuffix); + + bool blockParent = (parentType.getBasicType() == EbtBlock && parentType.getQualifier().storage == EvqBuffer); + + const TTypeList &memberList = *parentType.getStruct(); + + int ret = 0; + + for (size_t i = 0; i < memberList.size(); i++) + { + const TType &memberType = *memberList[i].type; + int numMembers = countAggregateMembers(memberType); + // for sized arrays of structs, apply logic to expand out the same as we would below in + // blowUpActiveAggregate + if (memberType.isArray() && ! memberType.getArraySizes()->hasUnsized() && memberType.isStruct()) { + if (! strictArraySuffix || ! blockParent) + numMembers *= memberType.getArraySizes()->getCumulativeSize(); + } + ret += numMembers; + } + + return ret; + } + + // Traverse the provided deref chain, including the base, and + // - build a full reflection-granularity name, array size, etc. entry out of it, if it goes down to that granularity + // - recursively expand any variable array index in the middle of that traversal + // - recursively expand what's left at the end if the deref chain did not reach down to reflection granularity + // + // arraySize tracks, just for the final dereference in the chain, if there was a specific known size. + // A value of 0 for arraySize will mean to use the full array's size. + void blowUpActiveAggregate(const TType& baseType, const TString& baseName, const TList& derefs, + TList::const_iterator deref, int offset, int blockIndex, int arraySize, + int topLevelArraySize, int topLevelArrayStride, TStorageQualifier baseStorage, bool active) + { + // when strictArraySuffix is enabled, we closely follow the rules from ARB_program_interface_query. + // Broadly: + // * arrays-of-structs always have a [x] suffix. + // * with array-of-struct variables in the root of a buffer block, only ever return [0]. + // * otherwise, array suffixes are added whenever we iterate, even if that means expanding out an array. + const bool strictArraySuffix = (reflection.options & EShReflectionStrictArraySuffix); + + // is this variable inside a buffer block. This flag is set back to false after we iterate inside the first array element. + bool blockParent = (baseType.getBasicType() == EbtBlock && baseType.getQualifier().storage == EvqBuffer); + + // process the part of the dereference chain that was explicit in the shader + TString name = baseName; + const TType* terminalType = &baseType; + for (; deref != derefs.end(); ++deref) { + TIntermBinary* visitNode = *deref; + terminalType = &visitNode->getType(); + int index; + switch (visitNode->getOp()) { + case EOpIndexIndirect: { + int stride = getArrayStride(baseType, visitNode->getLeft()->getType()); + + if (topLevelArrayStride == 0) + topLevelArrayStride = stride; + + // Visit all the indices of this array, and for each one add on the remaining dereferencing + for (int i = 0; i < std::max(visitNode->getLeft()->getType().getOuterArraySize(), 1); ++i) { + TString newBaseName = name; + if (terminalType->getBasicType() == EbtBlock) {} + else if (strictArraySuffix && blockParent) + newBaseName.append(TString("[0]")); + else if (strictArraySuffix || baseType.getBasicType() != EbtBlock) + newBaseName.append(TString("[") + String(i) + "]"); + TList::const_iterator nextDeref = deref; + ++nextDeref; + blowUpActiveAggregate(*terminalType, newBaseName, derefs, nextDeref, offset, blockIndex, arraySize, + topLevelArraySize, topLevelArrayStride, baseStorage, active); + + if (offset >= 0) + offset += stride; + } + + // it was all completed in the recursive calls above + return; + } + case EOpIndexDirect: { + int stride = getArrayStride(baseType, visitNode->getLeft()->getType()); + + index = visitNode->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst(); + if (terminalType->getBasicType() == EbtBlock) {} + else if (strictArraySuffix && blockParent) + name.append(TString("[0]")); + else if (strictArraySuffix || baseType.getBasicType() != EbtBlock) { + name.append(TString("[") + String(index) + "]"); + + if (offset >= 0) + offset += stride * index; + } + + if (topLevelArrayStride == 0) + topLevelArrayStride = stride; + + // expand top-level arrays in blocks with [0] suffix + if (topLevelArrayStride != 0 && visitNode->getLeft()->getType().isArray()) { + blockParent = false; + } + break; + } + case EOpIndexDirectStruct: + index = visitNode->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst(); + if (offset >= 0) + offset += intermediate.getOffset(visitNode->getLeft()->getType(), index); + if (name.size() > 0) + name.append("."); + name.append((*visitNode->getLeft()->getType().getStruct())[index].type->getFieldName()); + + // expand non top-level arrays with [x] suffix + if (visitNode->getLeft()->getType().getBasicType() != EbtBlock && terminalType->isArray()) + { + blockParent = false; + } + break; + default: + break; + } + } + + // if the terminalType is still too coarse a granularity, this is still an aggregate to expand, expand it... + if (! isReflectionGranularity(*terminalType)) { + // the base offset of this node, that children are relative to + int baseOffset = offset; + + if (terminalType->isArray()) { + // Visit all the indices of this array, and for each one, + // fully explode the remaining aggregate to dereference + + int stride = 0; + if (offset >= 0) + stride = getArrayStride(baseType, *terminalType); + + int arrayIterateSize = std::max(terminalType->getOuterArraySize(), 1); + + // for top-level arrays in blocks, only expand [0] to avoid explosion of items + if ((strictArraySuffix && blockParent) || + ((topLevelArraySize == arrayIterateSize) && (topLevelArrayStride == 0))) { + arrayIterateSize = 1; + } + + if (topLevelArrayStride == 0) + topLevelArrayStride = stride; + + for (int i = 0; i < arrayIterateSize; ++i) { + TString newBaseName = name; + if (terminalType->getBasicType() != EbtBlock) + newBaseName.append(TString("[") + String(i) + "]"); + TType derefType(*terminalType, 0); + if (offset >= 0) + offset = baseOffset + stride * i; + + blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), offset, blockIndex, 0, + topLevelArraySize, topLevelArrayStride, baseStorage, active); + } + } else { + // Visit all members of this aggregate, and for each one, + // fully explode the remaining aggregate to dereference + const TTypeList& typeList = *terminalType->getStruct(); + + TVector memberOffsets; + + if (baseOffset >= 0) { + memberOffsets.resize(typeList.size()); + getOffsets(*terminalType, memberOffsets); + } + + for (int i = 0; i < (int)typeList.size(); ++i) { + TString newBaseName = name; + if (newBaseName.size() > 0) + newBaseName.append("."); + newBaseName.append(typeList[i].type->getFieldName()); + TType derefType(*terminalType, i); + if (offset >= 0) + offset = baseOffset + memberOffsets[i]; + + int arrayStride = topLevelArrayStride; + if (terminalType->getBasicType() == EbtBlock && terminalType->getQualifier().storage == EvqBuffer && + derefType.isArray()) { + arrayStride = getArrayStride(baseType, derefType); + } + + if (topLevelArraySize == -1 && arrayStride == 0 && blockParent) + topLevelArraySize = 1; + + if (strictArraySuffix && blockParent) { + // if this member is an array, store the top-level array stride but start the explosion from + // the inner struct type. + if (derefType.isArray() && derefType.isStruct()) { + newBaseName.append("[0]"); + auto dimSize = derefType.isUnsizedArray() ? 0 : derefType.getArraySizes()->getDimSize(0); + blowUpActiveAggregate(TType(derefType, 0), newBaseName, derefs, derefs.end(), memberOffsets[i], + blockIndex, 0, dimSize, arrayStride, terminalType->getQualifier().storage, false); + } + else if (derefType.isArray()) { + auto dimSize = derefType.isUnsizedArray() ? 0 : derefType.getArraySizes()->getDimSize(0); + blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), memberOffsets[i], blockIndex, + 0, dimSize, 0, terminalType->getQualifier().storage, false); + } + else { + blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), memberOffsets[i], blockIndex, + 0, 1, 0, terminalType->getQualifier().storage, false); + } + } else { + blowUpActiveAggregate(derefType, newBaseName, derefs, derefs.end(), offset, blockIndex, 0, + topLevelArraySize, arrayStride, baseStorage, active); + } + } + } + + // it was all completed in the recursive calls above + return; + } + + if ((reflection.options & EShReflectionBasicArraySuffix) && terminalType->isArray()) { + name.append(TString("[0]")); + } + + // Finally, add a full string to the reflection database, and update the array size if necessary. + // If the dereferenced entity to record is an array, compute the size and update the maximum size. + + // there might not be a final array dereference, it could have been copied as an array object + if (arraySize == 0) + arraySize = mapToGlArraySize(*terminalType); + + TReflection::TMapIndexToReflection& variables = reflection.GetVariableMapForStorage(baseStorage); + + TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name.c_str()); + if (it == reflection.nameToIndex.end()) { + int uniformIndex = (int)variables.size(); + reflection.nameToIndex[name.c_str()] = uniformIndex; + variables.push_back(TObjectReflection(name.c_str(), *terminalType, offset, mapToGlType(*terminalType), + arraySize, blockIndex)); + if (terminalType->isArray()) { + variables.back().arrayStride = getArrayStride(baseType, *terminalType); + if (topLevelArrayStride == 0) + topLevelArrayStride = variables.back().arrayStride; + } + + if ((reflection.options & EShReflectionSeparateBuffers) && terminalType->isAtomic()) + reflection.atomicCounterUniformIndices.push_back(uniformIndex); + + variables.back().topLevelArraySize = topLevelArraySize; + variables.back().topLevelArrayStride = topLevelArrayStride; + + if ((reflection.options & EShReflectionAllBlockVariables) && active) { + EShLanguageMask& stages = variables.back().stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } + } else { + if (arraySize > 1) { + int& reflectedArraySize = variables[it->second].size; + reflectedArraySize = std::max(arraySize, reflectedArraySize); + } + + if ((reflection.options & EShReflectionAllBlockVariables) && active) { + EShLanguageMask& stages = variables[it->second].stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } + } + } + + // similar to blowUpActiveAggregate, but with simpler rules and no dereferences to follow. + void blowUpIOAggregate(bool input, const TString &baseName, const TType &type) + { + TString name = baseName; + + // if the type is still too coarse a granularity, this is still an aggregate to expand, expand it... + if (! isReflectionGranularity(type)) { + if (type.isArray()) { + // Visit all the indices of this array, and for each one, + // fully explode the remaining aggregate to dereference + for (int i = 0; i < std::max(type.getOuterArraySize(), 1); ++i) { + TString newBaseName = name; + newBaseName.append(TString("[") + String(i) + "]"); + TType derefType(type, 0); + + blowUpIOAggregate(input, newBaseName, derefType); + } + } else { + // Visit all members of this aggregate, and for each one, + // fully explode the remaining aggregate to dereference + const TTypeList& typeList = *type.getStruct(); + + for (int i = 0; i < (int)typeList.size(); ++i) { + TString newBaseName = name; + if (newBaseName.size() > 0) + newBaseName.append("."); + newBaseName.append(typeList[i].type->getFieldName()); + TType derefType(type, i); + + blowUpIOAggregate(input, newBaseName, derefType); + } + } + + // it was all completed in the recursive calls above + return; + } + + if ((reflection.options & EShReflectionBasicArraySuffix) && type.isArray()) { + name.append(TString("[0]")); + } + + TReflection::TMapIndexToReflection &ioItems = + input ? reflection.indexToPipeInput : reflection.indexToPipeOutput; + + std::string namespacedName = input ? "in " : "out "; + namespacedName += name.c_str(); + + TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(namespacedName); + if (it == reflection.nameToIndex.end()) { + reflection.nameToIndex[namespacedName] = (int)ioItems.size(); + ioItems.push_back( + TObjectReflection(name.c_str(), type, 0, mapToGlType(type), mapToGlArraySize(type), 0)); + + EShLanguageMask& stages = ioItems.back().stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } else { + EShLanguageMask& stages = ioItems[it->second].stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } + } + + // Add a uniform dereference where blocks/struct/arrays are involved in the access. + // Handles the situation where the left node is at the correct or too coarse a + // granularity for reflection. (That is, further dereferences up the tree will be + // skipped.) Earlier dereferences, down the tree, will be handled + // at the same time, and logged to prevent reprocessing as the tree is traversed. + // + // Note: Other things like the following must be caught elsewhere: + // - a simple non-array, non-struct variable (no dereference even conceivable) + // - an aggregrate consumed en masse, without a dereference + // + // So, this code is for cases like + // - a struct/block dereferencing a member (whether the member is array or not) + // - an array of struct + // - structs/arrays containing the above + // + void addDereferencedUniform(TIntermBinary* topNode) + { + // See if too fine-grained to process (wait to get further down the tree) + const TType& leftType = topNode->getLeft()->getType(); + if ((leftType.isVector() || leftType.isMatrix()) && ! leftType.isArray()) + return; + + // We have an array or structure or block dereference, see if it's a uniform + // based dereference (if not, skip it). + TIntermSymbol* base = findBase(topNode); + if (! base || ! base->getQualifier().isUniformOrBuffer()) + return; + + // See if we've already processed this (e.g., in the middle of something + // we did earlier), and if so skip it + if (processedDerefs.find(topNode) != processedDerefs.end()) + return; + + // Process this uniform dereference + + int offset = -1; + int blockIndex = -1; + bool anonymous = false; + + // See if we need to record the block itself + bool block = base->getBasicType() == EbtBlock; + if (block) { + offset = 0; + anonymous = IsAnonymous(base->getName()); + + const TString& blockName = base->getType().getTypeName(); + TString baseName; + + if (! anonymous) + baseName = blockName; + + blockIndex = addBlockName(blockName, base->getType(), intermediate.getBlockSize(base->getType())); + + if (reflection.options & EShReflectionAllBlockVariables) { + // Use a degenerate (empty) set of dereferences to immediately put as at the end of + // the dereference change expected by blowUpActiveAggregate. + TList derefs; + + // otherwise - if we're not using strict array suffix rules, or this isn't a block so we are + // expanding root arrays anyway, just start the iteration from the base block type. + blowUpActiveAggregate(base->getType(), baseName, derefs, derefs.end(), 0, blockIndex, 0, -1, 0, + base->getQualifier().storage, false); + } + } + + // Process the dereference chain, backward, accumulating the pieces for later forward traversal. + // If the topNode is a reflection-granularity-array dereference, don't include that last dereference. + TList derefs; + for (TIntermBinary* visitNode = topNode; visitNode; visitNode = visitNode->getLeft()->getAsBinaryNode()) { + if (isReflectionGranularity(visitNode->getLeft()->getType())) + continue; + + derefs.push_front(visitNode); + processedDerefs.insert(visitNode); + } + processedDerefs.insert(base); + + // See if we have a specific array size to stick to while enumerating the explosion of the aggregate + int arraySize = 0; + if (isReflectionGranularity(topNode->getLeft()->getType()) && topNode->getLeft()->isArray()) { + if (topNode->getOp() == EOpIndexDirect) + arraySize = topNode->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst() + 1; + } + + // Put the dereference chain together, forward + TString baseName; + if (! anonymous) { + if (block) + baseName = base->getType().getTypeName(); + else + baseName = base->getName(); + } + blowUpActiveAggregate(base->getType(), baseName, derefs, derefs.begin(), offset, blockIndex, arraySize, -1, 0, + base->getQualifier().storage, true); + } + + int addBlockName(const TString& name, const TType& type, int size) + { + int blockIndex = 0; + if (type.isArray()) { + TType derefType(type, 0); + for (int e = 0; e < type.getOuterArraySize(); ++e) { + int memberBlockIndex = addBlockName(name + "[" + String(e) + "]", derefType, size); + if (e == 0) + blockIndex = memberBlockIndex; + } + } else { + TReflection::TMapIndexToReflection& blocks = reflection.GetBlockMapForStorage(type.getQualifier().storage); + + TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name.c_str()); + if (reflection.nameToIndex.find(name.c_str()) == reflection.nameToIndex.end()) { + blockIndex = (int)blocks.size(); + reflection.nameToIndex[name.c_str()] = blockIndex; + blocks.push_back(TObjectReflection(name.c_str(), type, -1, -1, size, blockIndex)); + + blocks.back().numMembers = countAggregateMembers(type); + + if (updateStageMasks) { + EShLanguageMask& stages = blocks.back().stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } + } + else { + blockIndex = it->second; + if (updateStageMasks) { + EShLanguageMask& stages = blocks[blockIndex].stages; + stages = static_cast(stages | 1 << intermediate.getStage()); + } + } + } + + return blockIndex; + } + + // Are we at a level in a dereference chain at which individual active uniform queries are made? + bool isReflectionGranularity(const TType& type) + { + return type.getBasicType() != EbtBlock && type.getBasicType() != EbtStruct && !type.isArrayOfArrays(); + } + + // For a binary operation indexing into an aggregate, chase down the base of the aggregate. + // Return 0 if the topology does not fit this situation. + TIntermSymbol* findBase(const TIntermBinary* node) + { + TIntermSymbol *base = node->getLeft()->getAsSymbolNode(); + if (base) + return base; + TIntermBinary* left = node->getLeft()->getAsBinaryNode(); + if (! left) + return nullptr; + + return findBase(left); + } + + // + // Translate a glslang sampler type into the GL API #define number. + // + int mapSamplerToGlType(TSampler sampler) + { + if (! sampler.image) { + // a sampler... + switch (sampler.type) { + case EbtFloat: + switch ((int)sampler.dim) { + case Esd1D: + switch ((int)sampler.shadow) { + case false: return sampler.arrayed ? GL_SAMPLER_1D_ARRAY : GL_SAMPLER_1D; + case true: return sampler.arrayed ? GL_SAMPLER_1D_ARRAY_SHADOW : GL_SAMPLER_1D_SHADOW; + } + case Esd2D: + switch ((int)sampler.ms) { + case false: + switch ((int)sampler.shadow) { + case false: return sampler.arrayed ? GL_SAMPLER_2D_ARRAY : GL_SAMPLER_2D; + case true: return sampler.arrayed ? GL_SAMPLER_2D_ARRAY_SHADOW : GL_SAMPLER_2D_SHADOW; + } + case true: return sampler.arrayed ? GL_SAMPLER_2D_MULTISAMPLE_ARRAY : GL_SAMPLER_2D_MULTISAMPLE; + } + case Esd3D: + return GL_SAMPLER_3D; + case EsdCube: + switch ((int)sampler.shadow) { + case false: return sampler.arrayed ? GL_SAMPLER_CUBE_MAP_ARRAY : GL_SAMPLER_CUBE; + case true: return sampler.arrayed ? GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW : GL_SAMPLER_CUBE_SHADOW; + } + case EsdRect: + return sampler.shadow ? GL_SAMPLER_2D_RECT_SHADOW : GL_SAMPLER_2D_RECT; + case EsdBuffer: + return GL_SAMPLER_BUFFER; + } + case EbtFloat16: + switch ((int)sampler.dim) { + case Esd1D: + switch ((int)sampler.shadow) { + case false: return sampler.arrayed ? GL_FLOAT16_SAMPLER_1D_ARRAY_AMD : GL_FLOAT16_SAMPLER_1D_AMD; + case true: return sampler.arrayed ? GL_FLOAT16_SAMPLER_1D_ARRAY_SHADOW_AMD : GL_FLOAT16_SAMPLER_1D_SHADOW_AMD; + } + case Esd2D: + switch ((int)sampler.ms) { + case false: + switch ((int)sampler.shadow) { + case false: return sampler.arrayed ? GL_FLOAT16_SAMPLER_2D_ARRAY_AMD : GL_FLOAT16_SAMPLER_2D_AMD; + case true: return sampler.arrayed ? GL_FLOAT16_SAMPLER_2D_ARRAY_SHADOW_AMD : GL_FLOAT16_SAMPLER_2D_SHADOW_AMD; + } + case true: return sampler.arrayed ? GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_ARRAY_AMD : GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_AMD; + } + case Esd3D: + return GL_FLOAT16_SAMPLER_3D_AMD; + case EsdCube: + switch ((int)sampler.shadow) { + case false: return sampler.arrayed ? GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_AMD : GL_FLOAT16_SAMPLER_CUBE_AMD; + case true: return sampler.arrayed ? GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_SHADOW_AMD : GL_FLOAT16_SAMPLER_CUBE_SHADOW_AMD; + } + case EsdRect: + return sampler.shadow ? GL_FLOAT16_SAMPLER_2D_RECT_SHADOW_AMD : GL_FLOAT16_SAMPLER_2D_RECT_AMD; + case EsdBuffer: + return GL_FLOAT16_SAMPLER_BUFFER_AMD; + } + case EbtInt: + switch ((int)sampler.dim) { + case Esd1D: + return sampler.arrayed ? GL_INT_SAMPLER_1D_ARRAY : GL_INT_SAMPLER_1D; + case Esd2D: + switch ((int)sampler.ms) { + case false: return sampler.arrayed ? GL_INT_SAMPLER_2D_ARRAY : GL_INT_SAMPLER_2D; + case true: return sampler.arrayed ? GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY + : GL_INT_SAMPLER_2D_MULTISAMPLE; + } + case Esd3D: + return GL_INT_SAMPLER_3D; + case EsdCube: + return sampler.arrayed ? GL_INT_SAMPLER_CUBE_MAP_ARRAY : GL_INT_SAMPLER_CUBE; + case EsdRect: + return GL_INT_SAMPLER_2D_RECT; + case EsdBuffer: + return GL_INT_SAMPLER_BUFFER; + } + case EbtUint: + switch ((int)sampler.dim) { + case Esd1D: + return sampler.arrayed ? GL_UNSIGNED_INT_SAMPLER_1D_ARRAY : GL_UNSIGNED_INT_SAMPLER_1D; + case Esd2D: + switch ((int)sampler.ms) { + case false: return sampler.arrayed ? GL_UNSIGNED_INT_SAMPLER_2D_ARRAY : GL_UNSIGNED_INT_SAMPLER_2D; + case true: return sampler.arrayed ? GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY + : GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE; + } + case Esd3D: + return GL_UNSIGNED_INT_SAMPLER_3D; + case EsdCube: + return sampler.arrayed ? GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY : GL_UNSIGNED_INT_SAMPLER_CUBE; + case EsdRect: + return GL_UNSIGNED_INT_SAMPLER_2D_RECT; + case EsdBuffer: + return GL_UNSIGNED_INT_SAMPLER_BUFFER; + } + default: + return 0; + } + } else { + // an image... + switch (sampler.type) { + case EbtFloat: + switch ((int)sampler.dim) { + case Esd1D: + return sampler.arrayed ? GL_IMAGE_1D_ARRAY : GL_IMAGE_1D; + case Esd2D: + switch ((int)sampler.ms) { + case false: return sampler.arrayed ? GL_IMAGE_2D_ARRAY : GL_IMAGE_2D; + case true: return sampler.arrayed ? GL_IMAGE_2D_MULTISAMPLE_ARRAY : GL_IMAGE_2D_MULTISAMPLE; + } + case Esd3D: + return GL_IMAGE_3D; + case EsdCube: + return sampler.arrayed ? GL_IMAGE_CUBE_MAP_ARRAY : GL_IMAGE_CUBE; + case EsdRect: + return GL_IMAGE_2D_RECT; + case EsdBuffer: + return GL_IMAGE_BUFFER; + } + case EbtFloat16: + switch ((int)sampler.dim) { + case Esd1D: + return sampler.arrayed ? GL_FLOAT16_IMAGE_1D_ARRAY_AMD : GL_FLOAT16_IMAGE_1D_AMD; + case Esd2D: + switch ((int)sampler.ms) { + case false: return sampler.arrayed ? GL_FLOAT16_IMAGE_2D_ARRAY_AMD : GL_FLOAT16_IMAGE_2D_AMD; + case true: return sampler.arrayed ? GL_FLOAT16_IMAGE_2D_MULTISAMPLE_ARRAY_AMD : GL_FLOAT16_IMAGE_2D_MULTISAMPLE_AMD; + } + case Esd3D: + return GL_FLOAT16_IMAGE_3D_AMD; + case EsdCube: + return sampler.arrayed ? GL_FLOAT16_IMAGE_CUBE_MAP_ARRAY_AMD : GL_FLOAT16_IMAGE_CUBE_AMD; + case EsdRect: + return GL_FLOAT16_IMAGE_2D_RECT_AMD; + case EsdBuffer: + return GL_FLOAT16_IMAGE_BUFFER_AMD; + } + case EbtInt: + switch ((int)sampler.dim) { + case Esd1D: + return sampler.arrayed ? GL_INT_IMAGE_1D_ARRAY : GL_INT_IMAGE_1D; + case Esd2D: + switch ((int)sampler.ms) { + case false: return sampler.arrayed ? GL_INT_IMAGE_2D_ARRAY : GL_INT_IMAGE_2D; + case true: return sampler.arrayed ? GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY : GL_INT_IMAGE_2D_MULTISAMPLE; + } + case Esd3D: + return GL_INT_IMAGE_3D; + case EsdCube: + return sampler.arrayed ? GL_INT_IMAGE_CUBE_MAP_ARRAY : GL_INT_IMAGE_CUBE; + case EsdRect: + return GL_INT_IMAGE_2D_RECT; + case EsdBuffer: + return GL_INT_IMAGE_BUFFER; + } + case EbtUint: + switch ((int)sampler.dim) { + case Esd1D: + return sampler.arrayed ? GL_UNSIGNED_INT_IMAGE_1D_ARRAY : GL_UNSIGNED_INT_IMAGE_1D; + case Esd2D: + switch ((int)sampler.ms) { + case false: return sampler.arrayed ? GL_UNSIGNED_INT_IMAGE_2D_ARRAY : GL_UNSIGNED_INT_IMAGE_2D; + case true: return sampler.arrayed ? GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY + : GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE; + } + case Esd3D: + return GL_UNSIGNED_INT_IMAGE_3D; + case EsdCube: + return sampler.arrayed ? GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY : GL_UNSIGNED_INT_IMAGE_CUBE; + case EsdRect: + return GL_UNSIGNED_INT_IMAGE_2D_RECT; + case EsdBuffer: + return GL_UNSIGNED_INT_IMAGE_BUFFER; + } + default: + return 0; + } + } + } + + // + // Translate a glslang type into the GL API #define number. + // Ignores arrayness. + // + int mapToGlType(const TType& type) + { + switch (type.getBasicType()) { + case EbtSampler: + return mapSamplerToGlType(type.getSampler()); + case EbtStruct: + case EbtBlock: + case EbtVoid: + return 0; + default: + break; + } + + if (type.isVector()) { + int offset = type.getVectorSize() - 2; + switch (type.getBasicType()) { + case EbtFloat: return GL_FLOAT_VEC2 + offset; + case EbtDouble: return GL_DOUBLE_VEC2 + offset; + case EbtFloat16: return GL_FLOAT16_VEC2_NV + offset; + case EbtInt: return GL_INT_VEC2 + offset; + case EbtUint: return GL_UNSIGNED_INT_VEC2 + offset; + case EbtInt64: return GL_INT64_ARB + offset; + case EbtUint64: return GL_UNSIGNED_INT64_ARB + offset; + case EbtBool: return GL_BOOL_VEC2 + offset; + case EbtAtomicUint: return GL_UNSIGNED_INT_ATOMIC_COUNTER + offset; + default: return 0; + } + } + if (type.isMatrix()) { + switch (type.getBasicType()) { + case EbtFloat: + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: return GL_FLOAT_MAT2; + case 3: return GL_FLOAT_MAT2x3; + case 4: return GL_FLOAT_MAT2x4; + default: return 0; + } + case 3: + switch (type.getMatrixRows()) { + case 2: return GL_FLOAT_MAT3x2; + case 3: return GL_FLOAT_MAT3; + case 4: return GL_FLOAT_MAT3x4; + default: return 0; + } + case 4: + switch (type.getMatrixRows()) { + case 2: return GL_FLOAT_MAT4x2; + case 3: return GL_FLOAT_MAT4x3; + case 4: return GL_FLOAT_MAT4; + default: return 0; + } + } + case EbtDouble: + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: return GL_DOUBLE_MAT2; + case 3: return GL_DOUBLE_MAT2x3; + case 4: return GL_DOUBLE_MAT2x4; + default: return 0; + } + case 3: + switch (type.getMatrixRows()) { + case 2: return GL_DOUBLE_MAT3x2; + case 3: return GL_DOUBLE_MAT3; + case 4: return GL_DOUBLE_MAT3x4; + default: return 0; + } + case 4: + switch (type.getMatrixRows()) { + case 2: return GL_DOUBLE_MAT4x2; + case 3: return GL_DOUBLE_MAT4x3; + case 4: return GL_DOUBLE_MAT4; + default: return 0; + } + } + case EbtFloat16: + switch (type.getMatrixCols()) { + case 2: + switch (type.getMatrixRows()) { + case 2: return GL_FLOAT16_MAT2_AMD; + case 3: return GL_FLOAT16_MAT2x3_AMD; + case 4: return GL_FLOAT16_MAT2x4_AMD; + default: return 0; + } + case 3: + switch (type.getMatrixRows()) { + case 2: return GL_FLOAT16_MAT3x2_AMD; + case 3: return GL_FLOAT16_MAT3_AMD; + case 4: return GL_FLOAT16_MAT3x4_AMD; + default: return 0; + } + case 4: + switch (type.getMatrixRows()) { + case 2: return GL_FLOAT16_MAT4x2_AMD; + case 3: return GL_FLOAT16_MAT4x3_AMD; + case 4: return GL_FLOAT16_MAT4_AMD; + default: return 0; + } + } + default: + return 0; + } + } + if (type.getVectorSize() == 1) { + switch (type.getBasicType()) { + case EbtFloat: return GL_FLOAT; + case EbtDouble: return GL_DOUBLE; + case EbtFloat16: return GL_FLOAT16_NV; + case EbtInt: return GL_INT; + case EbtUint: return GL_UNSIGNED_INT; + case EbtInt64: return GL_INT64_ARB; + case EbtUint64: return GL_UNSIGNED_INT64_ARB; + case EbtBool: return GL_BOOL; + case EbtAtomicUint: return GL_UNSIGNED_INT_ATOMIC_COUNTER; + default: return 0; + } + } + + return 0; + } + + int mapToGlArraySize(const TType& type) + { + return type.isArray() ? type.getOuterArraySize() : 1; + } + + const TIntermediate& intermediate; + TReflection& reflection; + std::set processedDerefs; + bool updateStageMasks; + +protected: + TReflectionTraverser(TReflectionTraverser&); + TReflectionTraverser& operator=(TReflectionTraverser&); +}; + +// +// Implement the traversal functions of interest. +// + +// To catch dereferenced aggregates that must be reflected. +// This catches them at the highest level possible in the tree. +bool TReflectionTraverser::visitBinary(TVisit /* visit */, TIntermBinary* node) +{ + switch (node->getOp()) { + case EOpIndexDirect: + case EOpIndexIndirect: + case EOpIndexDirectStruct: + addDereferencedUniform(node); + break; + default: + break; + } + + // still need to visit everything below, which could contain sub-expressions + // containing different uniforms + return true; +} + +// To reflect non-dereferenced objects. +void TReflectionTraverser::visitSymbol(TIntermSymbol* base) +{ + if (base->getQualifier().storage == EvqUniform) { + if (base->getBasicType() == EbtBlock) { + if (reflection.options & EShReflectionSharedStd140UBO) { + addUniform(*base); + } + } else { + addUniform(*base); + } + } + + // #TODO add std140/layout active rules for ssbo, same with ubo. + // Storage buffer blocks will be collected and expanding in this part. + if((reflection.options & EShReflectionSharedStd140SSBO) && + (base->getQualifier().storage == EvqBuffer && base->getBasicType() == EbtBlock && + (base->getQualifier().layoutPacking == ElpStd140 || base->getQualifier().layoutPacking == ElpShared))) + addUniform(*base); + + if ((intermediate.getStage() == reflection.firstStage && base->getQualifier().isPipeInput()) || + (intermediate.getStage() == reflection.lastStage && base->getQualifier().isPipeOutput())) + addPipeIOVariable(*base); +} + +// +// Implement TObjectReflection methods. +// + +TObjectReflection::TObjectReflection(const std::string &pName, const TType &pType, int pOffset, int pGLDefineType, + int pSize, int pIndex) + : name(pName), offset(pOffset), glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), + numMembers(-1), arrayStride(0), topLevelArrayStride(0), stages(EShLanguageMask(0)), type(pType.clone()) +{ +} + +int TObjectReflection::getBinding() const +{ + if (type == nullptr || !type->getQualifier().hasBinding()) + return -1; + return type->getQualifier().layoutBinding; +} + +void TObjectReflection::dump() const +{ + printf("%s: offset %d, type %x, size %d, index %d, binding %d, stages %d", name.c_str(), offset, glDefineType, size, + index, getBinding(), stages); + + if (counterIndex != -1) + printf(", counter %d", counterIndex); + + if (numMembers != -1) + printf(", numMembers %d", numMembers); + + if (arrayStride != 0) + printf(", arrayStride %d", arrayStride); + + if (topLevelArrayStride != 0) + printf(", topLevelArrayStride %d", topLevelArrayStride); + + printf("\n"); +} + +// +// Implement TReflection methods. +// + +// Track any required attribute reflection, such as compute shader numthreads. +// +void TReflection::buildAttributeReflection(EShLanguage stage, const TIntermediate& intermediate) +{ + if (stage == EShLangCompute) { + // Remember thread dimensions + for (int dim=0; dim<3; ++dim) + localSize[dim] = intermediate.getLocalSize(dim); + } +} + +// build counter block index associations for buffers +void TReflection::buildCounterIndices(const TIntermediate& intermediate) +{ +#ifdef ENABLE_HLSL + // search for ones that have counters + for (int i = 0; i < int(indexToUniformBlock.size()); ++i) { + const TString counterName(intermediate.addCounterBufferName(indexToUniformBlock[i].name).c_str()); + const int index = getIndex(counterName); + + if (index >= 0) + indexToUniformBlock[i].counterIndex = index; + } +#endif +} + +// build Shader Stages mask for all uniforms +void TReflection::buildUniformStageMask(const TIntermediate& intermediate) +{ + if (options & EShReflectionAllBlockVariables) + return; + + for (int i = 0; i < int(indexToUniform.size()); ++i) { + indexToUniform[i].stages = static_cast(indexToUniform[i].stages | 1 << intermediate.getStage()); + } + + for (int i = 0; i < int(indexToBufferVariable.size()); ++i) { + indexToBufferVariable[i].stages = + static_cast(indexToBufferVariable[i].stages | 1 << intermediate.getStage()); + } +} + +// Merge live symbols from 'intermediate' into the existing reflection database. +// +// Returns false if the input is too malformed to do this. +bool TReflection::addStage(EShLanguage stage, const TIntermediate& intermediate) +{ + if (intermediate.getTreeRoot() == nullptr || + intermediate.getNumEntryPoints() != 1 || + intermediate.isRecursive()) + return false; + + buildAttributeReflection(stage, intermediate); + + TReflectionTraverser it(intermediate, *this); + + for (auto& sequnence : intermediate.getTreeRoot()->getAsAggregate()->getSequence()) { + if (sequnence->getAsAggregate() != nullptr) { + if (sequnence->getAsAggregate()->getOp() == glslang::EOpLinkerObjects) { + it.updateStageMasks = false; + TIntermAggregate* linkerObjects = sequnence->getAsAggregate(); + for (auto& sequnence : linkerObjects->getSequence()) { + auto pNode = sequnence->getAsSymbolNode(); + if (pNode != nullptr) { + if ((pNode->getQualifier().storage == EvqUniform && + (options & EShReflectionSharedStd140UBO)) || + (pNode->getQualifier().storage == EvqBuffer && + (options & EShReflectionSharedStd140SSBO))) { + // collect std140 and shared uniform block form AST + if ((pNode->getBasicType() == EbtBlock) && + ((pNode->getQualifier().layoutPacking == ElpStd140) || + (pNode->getQualifier().layoutPacking == ElpShared))) { + pNode->traverse(&it); + } + } + else if ((options & EShReflectionAllIOVariables) && + (pNode->getQualifier().isPipeInput() || pNode->getQualifier().isPipeOutput())) + { + pNode->traverse(&it); + } + } + } + } else { + // This traverser will travers all function in AST. + // If we want reflect uncalled function, we need set linke message EShMsgKeepUncalled. + // When EShMsgKeepUncalled been set to true, all function will be keep in AST, even it is a uncalled function. + // This will keep some uniform variables in reflection, if those uniform variables is used in these uncalled function. + // + // If we just want reflect only live node, we can use a default link message or set EShMsgKeepUncalled false. + // When linke message not been set EShMsgKeepUncalled, linker won't keep uncalled function in AST. + // So, travers all function node can equivalent to travers live function. + it.updateStageMasks = true; + sequnence->getAsAggregate()->traverse(&it); + } + } + } + it.updateStageMasks = true; + + buildCounterIndices(intermediate); + buildUniformStageMask(intermediate); + + return true; +} + +void TReflection::dump() +{ + printf("Uniform reflection:\n"); + for (size_t i = 0; i < indexToUniform.size(); ++i) + indexToUniform[i].dump(); + printf("\n"); + + printf("Uniform block reflection:\n"); + for (size_t i = 0; i < indexToUniformBlock.size(); ++i) + indexToUniformBlock[i].dump(); + printf("\n"); + + printf("Buffer variable reflection:\n"); + for (size_t i = 0; i < indexToBufferVariable.size(); ++i) + indexToBufferVariable[i].dump(); + printf("\n"); + + printf("Buffer block reflection:\n"); + for (size_t i = 0; i < indexToBufferBlock.size(); ++i) + indexToBufferBlock[i].dump(); + printf("\n"); + + printf("Pipeline input reflection:\n"); + for (size_t i = 0; i < indexToPipeInput.size(); ++i) + indexToPipeInput[i].dump(); + printf("\n"); + + printf("Pipeline output reflection:\n"); + for (size_t i = 0; i < indexToPipeOutput.size(); ++i) + indexToPipeOutput[i].dump(); + printf("\n"); + + if (getLocalSize(0) > 1) { + static const char* axis[] = { "X", "Y", "Z" }; + + for (int dim=0; dim<3; ++dim) + if (getLocalSize(dim) > 1) + printf("Local size %s: %u\n", axis[dim], getLocalSize(dim)); + + printf("\n"); + } + + // printf("Live names\n"); + // for (TNameToIndex::const_iterator it = nameToIndex.begin(); it != nameToIndex.end(); ++it) + // printf("%s: %d\n", it->first.c_str(), it->second); + // printf("\n"); +} + +} // end namespace glslang + +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE diff --git a/android/x86_64/include/glslang/Include/MachineIndependent/reflection.h b/android/x86_64/include/glslang/Include/MachineIndependent/reflection.h new file mode 100644 index 00000000..5af4467c --- /dev/null +++ b/android/x86_64/include/glslang/Include/MachineIndependent/reflection.h @@ -0,0 +1,223 @@ +// +// Copyright (C) 2013-2016 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +#ifndef _REFLECTION_INCLUDED +#define _REFLECTION_INCLUDED + +#include "../Public/ShaderLang.h" +#include "../Include/Types.h" + +#include +#include + +// +// A reflection database and its interface, consistent with the OpenGL API reflection queries. +// + +namespace glslang { + +class TIntermediate; +class TIntermAggregate; +class TReflectionTraverser; + +// The full reflection database +class TReflection { +public: + TReflection(EShReflectionOptions opts, EShLanguage first, EShLanguage last) + : options(opts), firstStage(first), lastStage(last), badReflection(TObjectReflection::badReflection()) + { + for (int dim=0; dim<3; ++dim) + localSize[dim] = 0; + } + + virtual ~TReflection() {} + + // grow the reflection stage by stage + bool addStage(EShLanguage, const TIntermediate&); + + // for mapping a uniform index to a uniform object's description + int getNumUniforms() { return (int)indexToUniform.size(); } + const TObjectReflection& getUniform(int i) const + { + if (i >= 0 && i < (int)indexToUniform.size()) + return indexToUniform[i]; + else + return badReflection; + } + + // for mapping a block index to the block's description + int getNumUniformBlocks() const { return (int)indexToUniformBlock.size(); } + const TObjectReflection& getUniformBlock(int i) const + { + if (i >= 0 && i < (int)indexToUniformBlock.size()) + return indexToUniformBlock[i]; + else + return badReflection; + } + + // for mapping an pipeline input index to the input's description + int getNumPipeInputs() { return (int)indexToPipeInput.size(); } + const TObjectReflection& getPipeInput(int i) const + { + if (i >= 0 && i < (int)indexToPipeInput.size()) + return indexToPipeInput[i]; + else + return badReflection; + } + + // for mapping an pipeline output index to the output's description + int getNumPipeOutputs() { return (int)indexToPipeOutput.size(); } + const TObjectReflection& getPipeOutput(int i) const + { + if (i >= 0 && i < (int)indexToPipeOutput.size()) + return indexToPipeOutput[i]; + else + return badReflection; + } + + // for mapping from an atomic counter to the uniform index + int getNumAtomicCounters() const { return (int)atomicCounterUniformIndices.size(); } + const TObjectReflection& getAtomicCounter(int i) const + { + if (i >= 0 && i < (int)atomicCounterUniformIndices.size()) + return getUniform(atomicCounterUniformIndices[i]); + else + return badReflection; + } + + // for mapping a buffer variable index to a buffer variable object's description + int getNumBufferVariables() { return (int)indexToBufferVariable.size(); } + const TObjectReflection& getBufferVariable(int i) const + { + if (i >= 0 && i < (int)indexToBufferVariable.size()) + return indexToBufferVariable[i]; + else + return badReflection; + } + + // for mapping a storage block index to the storage block's description + int getNumStorageBuffers() const { return (int)indexToBufferBlock.size(); } + const TObjectReflection& getStorageBufferBlock(int i) const + { + if (i >= 0 && i < (int)indexToBufferBlock.size()) + return indexToBufferBlock[i]; + else + return badReflection; + } + + // for mapping any name to its index (block names, uniform names and input/output names) + int getIndex(const char* name) const + { + TNameToIndex::const_iterator it = nameToIndex.find(name); + if (it == nameToIndex.end()) + return -1; + else + return it->second; + } + + // see getIndex(const char*) + int getIndex(const TString& name) const { return getIndex(name.c_str()); } + + + // for mapping any name to its index (only pipe input/output names) + int getPipeIOIndex(const char* name, const bool inOrOut) const + { + TNameToIndex::const_iterator it = inOrOut ? pipeInNameToIndex.find(name) : pipeOutNameToIndex.find(name); + if (it == (inOrOut ? pipeInNameToIndex.end() : pipeOutNameToIndex.end())) + return -1; + else + return it->second; + } + + // see gePipeIOIndex(const char*, const bool) + int getPipeIOIndex(const TString& name, const bool inOrOut) const { return getPipeIOIndex(name.c_str(), inOrOut); } + + // Thread local size + unsigned getLocalSize(int dim) const { return dim <= 2 ? localSize[dim] : 0; } + + void dump(); + +protected: + friend class glslang::TReflectionTraverser; + + void buildCounterIndices(const TIntermediate&); + void buildUniformStageMask(const TIntermediate& intermediate); + void buildAttributeReflection(EShLanguage, const TIntermediate&); + + // Need a TString hash: typedef std::unordered_map TNameToIndex; + typedef std::map TNameToIndex; + typedef std::vector TMapIndexToReflection; + typedef std::vector TIndices; + + TMapIndexToReflection& GetBlockMapForStorage(TStorageQualifier storage) + { + if ((options & EShReflectionSeparateBuffers) && storage == EvqBuffer) + return indexToBufferBlock; + return indexToUniformBlock; + } + TMapIndexToReflection& GetVariableMapForStorage(TStorageQualifier storage) + { + if ((options & EShReflectionSeparateBuffers) && storage == EvqBuffer) + return indexToBufferVariable; + return indexToUniform; + } + + EShReflectionOptions options; + + EShLanguage firstStage; + EShLanguage lastStage; + + TObjectReflection badReflection; // return for queries of -1 or generally out of range; has expected descriptions with in it for this + TNameToIndex nameToIndex; // maps names to indexes; can hold all types of data: uniform/buffer and which function names have been processed + TNameToIndex pipeInNameToIndex; // maps pipe in names to indexes, this is a fix to seperate pipe I/O from uniforms and buffers. + TNameToIndex pipeOutNameToIndex; // maps pipe out names to indexes, this is a fix to seperate pipe I/O from uniforms and buffers. + TMapIndexToReflection indexToUniform; + TMapIndexToReflection indexToUniformBlock; + TMapIndexToReflection indexToBufferVariable; + TMapIndexToReflection indexToBufferBlock; + TMapIndexToReflection indexToPipeInput; + TMapIndexToReflection indexToPipeOutput; + TIndices atomicCounterUniformIndices; + + unsigned int localSize[3]; +}; + +} // end namespace glslang + +#endif // _REFLECTION_INCLUDED + +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE diff --git a/android/x86_64/include/glslang/Include/PoolAlloc.h b/android/x86_64/include/glslang/Include/PoolAlloc.h new file mode 100644 index 00000000..b8eccb88 --- /dev/null +++ b/android/x86_64/include/glslang/Include/PoolAlloc.h @@ -0,0 +1,316 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _POOLALLOC_INCLUDED_ +#define _POOLALLOC_INCLUDED_ + +#ifdef _DEBUG +# define GUARD_BLOCKS // define to enable guard block sanity checking +#endif + +// +// This header defines an allocator that can be used to efficiently +// allocate a large number of small requests for heap memory, with the +// intention that they are not individually deallocated, but rather +// collectively deallocated at one time. +// +// This simultaneously +// +// * Makes each individual allocation much more efficient; the +// typical allocation is trivial. +// * Completely avoids the cost of doing individual deallocation. +// * Saves the trouble of tracking down and plugging a large class of leaks. +// +// Individual classes can use this allocator by supplying their own +// new and delete methods. +// +// STL containers can use this allocator by using the pool_allocator +// class as the allocator (second) template argument. +// + +#include +#include +#include + +namespace glslang { + +// If we are using guard blocks, we must track each individual +// allocation. If we aren't using guard blocks, these +// never get instantiated, so won't have any impact. +// + +class TAllocation { +public: + TAllocation(size_t size, unsigned char* mem, TAllocation* prev = 0) : + size(size), mem(mem), prevAlloc(prev) { + // Allocations are bracketed: + // [allocationHeader][initialGuardBlock][userData][finalGuardBlock] + // This would be cleaner with if (guardBlockSize)..., but that + // makes the compiler print warnings about 0 length memsets, + // even with the if() protecting them. +# ifdef GUARD_BLOCKS + memset(preGuard(), guardBlockBeginVal, guardBlockSize); + memset(data(), userDataFill, size); + memset(postGuard(), guardBlockEndVal, guardBlockSize); +# endif + } + + void check() const { + checkGuardBlock(preGuard(), guardBlockBeginVal, "before"); + checkGuardBlock(postGuard(), guardBlockEndVal, "after"); + } + + void checkAllocList() const; + + // Return total size needed to accommodate user buffer of 'size', + // plus our tracking data. + inline static size_t allocationSize(size_t size) { + return size + 2 * guardBlockSize + headerSize(); + } + + // Offset from surrounding buffer to get to user data buffer. + inline static unsigned char* offsetAllocation(unsigned char* m) { + return m + guardBlockSize + headerSize(); + } + +private: + void checkGuardBlock(unsigned char* blockMem, unsigned char val, const char* locText) const; + + // Find offsets to pre and post guard blocks, and user data buffer + unsigned char* preGuard() const { return mem + headerSize(); } + unsigned char* data() const { return preGuard() + guardBlockSize; } + unsigned char* postGuard() const { return data() + size; } + + size_t size; // size of the user data area + unsigned char* mem; // beginning of our allocation (pts to header) + TAllocation* prevAlloc; // prior allocation in the chain + + const static unsigned char guardBlockBeginVal; + const static unsigned char guardBlockEndVal; + const static unsigned char userDataFill; + + const static size_t guardBlockSize; +# ifdef GUARD_BLOCKS + inline static size_t headerSize() { return sizeof(TAllocation); } +# else + inline static size_t headerSize() { return 0; } +# endif +}; + +// +// There are several stacks. One is to track the pushing and popping +// of the user, and not yet implemented. The others are simply a +// repositories of free pages or used pages. +// +// Page stacks are linked together with a simple header at the beginning +// of each allocation obtained from the underlying OS. Multi-page allocations +// are returned to the OS. Individual page allocations are kept for future +// re-use. +// +// The "page size" used is not, nor must it match, the underlying OS +// page size. But, having it be about that size or equal to a set of +// pages is likely most optimal. +// +class TPoolAllocator { +public: + TPoolAllocator(int growthIncrement = 8*1024, int allocationAlignment = 16); + + // + // Don't call the destructor just to free up the memory, call pop() + // + ~TPoolAllocator(); + + // + // Call push() to establish a new place to pop memory too. Does not + // have to be called to get things started. + // + void push(); + + // + // Call pop() to free all memory allocated since the last call to push(), + // or if no last call to push, frees all memory since first allocation. + // + void pop(); + + // + // Call popAll() to free all memory allocated. + // + void popAll(); + + // + // Call allocate() to actually acquire memory. Returns 0 if no memory + // available, otherwise a properly aligned pointer to 'numBytes' of memory. + // + void* allocate(size_t numBytes); + + // + // There is no deallocate. The point of this class is that + // deallocation can be skipped by the user of it, as the model + // of use is to simultaneously deallocate everything at once + // by calling pop(), and to not have to solve memory leak problems. + // + +protected: + friend struct tHeader; + + struct tHeader { + tHeader(tHeader* nextPage, size_t pageCount) : +#ifdef GUARD_BLOCKS + lastAllocation(0), +#endif + nextPage(nextPage), pageCount(pageCount) { } + + ~tHeader() { +#ifdef GUARD_BLOCKS + if (lastAllocation) + lastAllocation->checkAllocList(); +#endif + } + +#ifdef GUARD_BLOCKS + TAllocation* lastAllocation; +#endif + tHeader* nextPage; + size_t pageCount; + }; + + struct tAllocState { + size_t offset; + tHeader* page; + }; + typedef std::vector tAllocStack; + + // Track allocations if and only if we're using guard blocks +#ifndef GUARD_BLOCKS + void* initializeAllocation(tHeader*, unsigned char* memory, size_t) { +#else + void* initializeAllocation(tHeader* block, unsigned char* memory, size_t numBytes) { + new(memory) TAllocation(numBytes, memory, block->lastAllocation); + block->lastAllocation = reinterpret_cast(memory); +#endif + + // This is optimized entirely away if GUARD_BLOCKS is not defined. + return TAllocation::offsetAllocation(memory); + } + + size_t pageSize; // granularity of allocation from the OS + size_t alignment; // all returned allocations will be aligned at + // this granularity, which will be a power of 2 + size_t alignmentMask; + size_t headerSkip; // amount of memory to skip to make room for the + // header (basically, size of header, rounded + // up to make it aligned + size_t currentPageOffset; // next offset in top of inUseList to allocate from + tHeader* freeList; // list of popped memory + tHeader* inUseList; // list of all memory currently being used + tAllocStack stack; // stack of where to allocate from, to partition pool + + int numCalls; // just an interesting statistic + size_t totalBytes; // just an interesting statistic +private: + TPoolAllocator& operator=(const TPoolAllocator&); // don't allow assignment operator + TPoolAllocator(const TPoolAllocator&); // don't allow default copy constructor +}; + +// +// There could potentially be many pools with pops happening at +// different times. But a simple use is to have a global pop +// with everyone using the same global allocator. +// +extern TPoolAllocator& GetThreadPoolAllocator(); +void SetThreadPoolAllocator(TPoolAllocator* poolAllocator); + +// +// This STL compatible allocator is intended to be used as the allocator +// parameter to templatized STL containers, like vector and map. +// +// It will use the pools for allocation, and not +// do any deallocation, but will still do destruction. +// +template +class pool_allocator { +public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef T *pointer; + typedef const T *const_pointer; + typedef T& reference; + typedef const T& const_reference; + typedef T value_type; + template + struct rebind { + typedef pool_allocator other; + }; + pointer address(reference x) const { return &x; } + const_pointer address(const_reference x) const { return &x; } + + pool_allocator() : allocator(GetThreadPoolAllocator()) { } + pool_allocator(TPoolAllocator& a) : allocator(a) { } + pool_allocator(const pool_allocator& p) : allocator(p.allocator) { } + + template + pool_allocator(const pool_allocator& p) : allocator(p.getAllocator()) { } + + pointer allocate(size_type n) { + return reinterpret_cast(getAllocator().allocate(n * sizeof(T))); } + pointer allocate(size_type n, const void*) { + return reinterpret_cast(getAllocator().allocate(n * sizeof(T))); } + + void deallocate(void*, size_type) { } + void deallocate(pointer, size_type) { } + + pointer _Charalloc(size_t n) { + return reinterpret_cast(getAllocator().allocate(n)); } + + void construct(pointer p, const T& val) { new ((void *)p) T(val); } + void destroy(pointer p) { p->T::~T(); } + + bool operator==(const pool_allocator& rhs) const { return &getAllocator() == &rhs.getAllocator(); } + bool operator!=(const pool_allocator& rhs) const { return &getAllocator() != &rhs.getAllocator(); } + + size_type max_size() const { return static_cast(-1) / sizeof(T); } + size_type max_size(int size) const { return static_cast(-1) / size; } + + TPoolAllocator& getAllocator() const { return allocator; } + +protected: + pool_allocator& operator=(const pool_allocator&) { return *this; } + TPoolAllocator& allocator; +}; + +} // end namespace glslang + +#endif // _POOLALLOC_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/Public/ShaderLang.h b/android/x86_64/include/glslang/Include/Public/ShaderLang.h new file mode 100644 index 00000000..273f1569 --- /dev/null +++ b/android/x86_64/include/glslang/Include/Public/ShaderLang.h @@ -0,0 +1,948 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013-2016 LunarG, Inc. +// Copyright (C) 2015-2018 Google, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +#ifndef _COMPILER_INTERFACE_INCLUDED_ +#define _COMPILER_INTERFACE_INCLUDED_ + +#include "../Include/ResourceLimits.h" +#include "../MachineIndependent/Versions.h" + +#include +#include + +#ifdef _WIN32 + #define C_DECL __cdecl +#else + #define C_DECL +#endif + +#ifdef GLSLANG_IS_SHARED_LIBRARY + #ifdef _WIN32 + #ifdef GLSLANG_EXPORTING + #define GLSLANG_EXPORT __declspec(dllexport) + #else + #define GLSLANG_EXPORT __declspec(dllimport) + #endif + #elif __GNUC__ >= 4 + #define GLSLANG_EXPORT __attribute__((visibility("default"))) + #endif +#endif // GLSLANG_IS_SHARED_LIBRARY + +#ifndef GLSLANG_EXPORT +#define GLSLANG_EXPORT +#endif + +// +// This is the platform independent interface between an OGL driver +// and the shading language compiler/linker. +// + +#ifdef __cplusplus + extern "C" { +#endif + +// +// Call before doing any other compiler/linker operations. +// +// (Call once per process, not once per thread.) +// +GLSLANG_EXPORT int ShInitialize(); + +// +// Call this at process shutdown to clean up memory. +// +GLSLANG_EXPORT int ShFinalize(); + +// +// Types of languages the compiler can consume. +// +typedef enum { + EShLangVertex, + EShLangTessControl, + EShLangTessEvaluation, + EShLangGeometry, + EShLangFragment, + EShLangCompute, + EShLangRayGen, + EShLangRayGenNV = EShLangRayGen, + EShLangIntersect, + EShLangIntersectNV = EShLangIntersect, + EShLangAnyHit, + EShLangAnyHitNV = EShLangAnyHit, + EShLangClosestHit, + EShLangClosestHitNV = EShLangClosestHit, + EShLangMiss, + EShLangMissNV = EShLangMiss, + EShLangCallable, + EShLangCallableNV = EShLangCallable, + EShLangTaskNV, + EShLangMeshNV, + LAST_ELEMENT_MARKER(EShLangCount), +} EShLanguage; // would be better as stage, but this is ancient now + +typedef enum : unsigned { + EShLangVertexMask = (1 << EShLangVertex), + EShLangTessControlMask = (1 << EShLangTessControl), + EShLangTessEvaluationMask = (1 << EShLangTessEvaluation), + EShLangGeometryMask = (1 << EShLangGeometry), + EShLangFragmentMask = (1 << EShLangFragment), + EShLangComputeMask = (1 << EShLangCompute), + EShLangRayGenMask = (1 << EShLangRayGen), + EShLangRayGenNVMask = EShLangRayGenMask, + EShLangIntersectMask = (1 << EShLangIntersect), + EShLangIntersectNVMask = EShLangIntersectMask, + EShLangAnyHitMask = (1 << EShLangAnyHit), + EShLangAnyHitNVMask = EShLangAnyHitMask, + EShLangClosestHitMask = (1 << EShLangClosestHit), + EShLangClosestHitNVMask = EShLangClosestHitMask, + EShLangMissMask = (1 << EShLangMiss), + EShLangMissNVMask = EShLangMissMask, + EShLangCallableMask = (1 << EShLangCallable), + EShLangCallableNVMask = EShLangCallableMask, + EShLangTaskNVMask = (1 << EShLangTaskNV), + EShLangMeshNVMask = (1 << EShLangMeshNV), + LAST_ELEMENT_MARKER(EShLanguageMaskCount), +} EShLanguageMask; + +namespace glslang { + +class TType; + +typedef enum { + EShSourceNone, + EShSourceGlsl, // GLSL, includes ESSL (OpenGL ES GLSL) + EShSourceHlsl, // HLSL + LAST_ELEMENT_MARKER(EShSourceCount), +} EShSource; // if EShLanguage were EShStage, this could be EShLanguage instead + +typedef enum { + EShClientNone, // use when there is no client, e.g. for validation + EShClientVulkan, + EShClientOpenGL, + LAST_ELEMENT_MARKER(EShClientCount), +} EShClient; + +typedef enum { + EShTargetNone, + EShTargetSpv, // SPIR-V (preferred spelling) + EshTargetSpv = EShTargetSpv, // legacy spelling + LAST_ELEMENT_MARKER(EShTargetCount), +} EShTargetLanguage; + +typedef enum { + EShTargetVulkan_1_0 = (1 << 22), // Vulkan 1.0 + EShTargetVulkan_1_1 = (1 << 22) | (1 << 12), // Vulkan 1.1 + EShTargetVulkan_1_2 = (1 << 22) | (2 << 12), // Vulkan 1.2 + EShTargetOpenGL_450 = 450, // OpenGL + LAST_ELEMENT_MARKER(EShTargetClientVersionCount), +} EShTargetClientVersion; + +typedef EShTargetClientVersion EshTargetClientVersion; + +typedef enum { + EShTargetSpv_1_0 = (1 << 16), // SPIR-V 1.0 + EShTargetSpv_1_1 = (1 << 16) | (1 << 8), // SPIR-V 1.1 + EShTargetSpv_1_2 = (1 << 16) | (2 << 8), // SPIR-V 1.2 + EShTargetSpv_1_3 = (1 << 16) | (3 << 8), // SPIR-V 1.3 + EShTargetSpv_1_4 = (1 << 16) | (4 << 8), // SPIR-V 1.4 + EShTargetSpv_1_5 = (1 << 16) | (5 << 8), // SPIR-V 1.5 + LAST_ELEMENT_MARKER(EShTargetLanguageVersionCount), +} EShTargetLanguageVersion; + +struct TInputLanguage { + EShSource languageFamily; // redundant information with other input, this one overrides when not EShSourceNone + EShLanguage stage; // redundant information with other input, this one overrides when not EShSourceNone + EShClient dialect; + int dialectVersion; // version of client's language definition, not the client (when not EShClientNone) +}; + +struct TClient { + EShClient client; + EShTargetClientVersion version; // version of client itself (not the client's input dialect) +}; + +struct TTarget { + EShTargetLanguage language; + EShTargetLanguageVersion version; // version to target, if SPIR-V, defined by "word 1" of the SPIR-V header + bool hlslFunctionality1; // can target hlsl_functionality1 extension(s) +}; + +// All source/client/target versions and settings. +// Can override previous methods of setting, when items are set here. +// Expected to grow, as more are added, rather than growing parameter lists. +struct TEnvironment { + TInputLanguage input; // definition of the input language + TClient client; // what client is the overall compilation being done for? + TTarget target; // what to generate +}; + +GLSLANG_EXPORT const char* StageName(EShLanguage); + +} // end namespace glslang + +// +// Types of output the linker will create. +// +typedef enum { + EShExVertexFragment, + EShExFragment +} EShExecutable; + +// +// Optimization level for the compiler. +// +typedef enum { + EShOptNoGeneration, + EShOptNone, + EShOptSimple, // Optimizations that can be done quickly + EShOptFull, // Optimizations that will take more time + LAST_ELEMENT_MARKER(EshOptLevelCount), +} EShOptimizationLevel; + +// +// Texture and Sampler transformation mode. +// +typedef enum { + EShTexSampTransKeep, // keep textures and samplers as is (default) + EShTexSampTransUpgradeTextureRemoveSampler, // change texture w/o embeded sampler into sampled texture and throw away all samplers + LAST_ELEMENT_MARKER(EShTexSampTransCount), +} EShTextureSamplerTransformMode; + +// +// Message choices for what errors and warnings are given. +// +enum EShMessages : unsigned { + EShMsgDefault = 0, // default is to give all required errors and extra warnings + EShMsgRelaxedErrors = (1 << 0), // be liberal in accepting input + EShMsgSuppressWarnings = (1 << 1), // suppress all warnings, except those required by the specification + EShMsgAST = (1 << 2), // print the AST intermediate representation + EShMsgSpvRules = (1 << 3), // issue messages for SPIR-V generation + EShMsgVulkanRules = (1 << 4), // issue messages for Vulkan-requirements of GLSL for SPIR-V + EShMsgOnlyPreprocessor = (1 << 5), // only print out errors produced by the preprocessor + EShMsgReadHlsl = (1 << 6), // use HLSL parsing rules and semantics + EShMsgCascadingErrors = (1 << 7), // get cascading errors; risks error-recovery issues, instead of an early exit + EShMsgKeepUncalled = (1 << 8), // for testing, don't eliminate uncalled functions + EShMsgHlslOffsets = (1 << 9), // allow block offsets to follow HLSL rules instead of GLSL rules + EShMsgDebugInfo = (1 << 10), // save debug information + EShMsgHlslEnable16BitTypes = (1 << 11), // enable use of 16-bit types in SPIR-V for HLSL + EShMsgHlslLegalization = (1 << 12), // enable HLSL Legalization messages + EShMsgHlslDX9Compatible = (1 << 13), // enable HLSL DX9 compatible mode (for samplers and semantics) + EShMsgBuiltinSymbolTable = (1 << 14), // print the builtin symbol table + LAST_ELEMENT_MARKER(EShMsgCount), +}; + +// +// Options for building reflection +// +typedef enum { + EShReflectionDefault = 0, // default is original behaviour before options were added + EShReflectionStrictArraySuffix = (1 << 0), // reflection will follow stricter rules for array-of-structs suffixes + EShReflectionBasicArraySuffix = (1 << 1), // arrays of basic types will be appended with [0] as in GL reflection + EShReflectionIntermediateIO = (1 << 2), // reflect inputs and outputs to program, even with no vertex shader + EShReflectionSeparateBuffers = (1 << 3), // buffer variables and buffer blocks are reflected separately + EShReflectionAllBlockVariables = (1 << 4), // reflect all variables in blocks, even if they are inactive + EShReflectionUnwrapIOBlocks = (1 << 5), // unwrap input/output blocks the same as with uniform blocks + EShReflectionAllIOVariables = (1 << 6), // reflect all input/output variables, even if they are inactive + EShReflectionSharedStd140SSBO = (1 << 7), // Apply std140/shared rules for ubo to ssbo + EShReflectionSharedStd140UBO = (1 << 8), // Apply std140/shared rules for ubo to ssbo + LAST_ELEMENT_MARKER(EShReflectionCount), +} EShReflectionOptions; + +// +// Build a table for bindings. This can be used for locating +// attributes, uniforms, globals, etc., as needed. +// +typedef struct { + const char* name; + int binding; +} ShBinding; + +typedef struct { + int numBindings; + ShBinding* bindings; // array of bindings +} ShBindingTable; + +// +// ShHandle held by but opaque to the driver. It is allocated, +// managed, and de-allocated by the compiler/linker. It's contents +// are defined by and used by the compiler and linker. For example, +// symbol table information and object code passed from the compiler +// to the linker can be stored where ShHandle points. +// +// If handle creation fails, 0 will be returned. +// +typedef void* ShHandle; + +// +// Driver calls these to create and destroy compiler/linker +// objects. +// +GLSLANG_EXPORT ShHandle ShConstructCompiler(const EShLanguage, int debugOptions); // one per shader +GLSLANG_EXPORT ShHandle ShConstructLinker(const EShExecutable, int debugOptions); // one per shader pair +GLSLANG_EXPORT ShHandle ShConstructUniformMap(); // one per uniform namespace (currently entire program object) +GLSLANG_EXPORT void ShDestruct(ShHandle); + +// +// The return value of ShCompile is boolean, non-zero indicating +// success. +// +// The info-log should be written by ShCompile into +// ShHandle, so it can answer future queries. +// +GLSLANG_EXPORT int ShCompile( + const ShHandle, + const char* const shaderStrings[], + const int numStrings, + const int* lengths, + const EShOptimizationLevel, + const TBuiltInResource *resources, + int debugOptions, + int defaultVersion = 110, // use 100 for ES environment, overridden by #version in shader + bool forwardCompatible = false, // give errors for use of deprecated features + EShMessages messages = EShMsgDefault // warnings and errors + ); + +GLSLANG_EXPORT int ShLinkExt( + const ShHandle, // linker object + const ShHandle h[], // compiler objects to link together + const int numHandles); + +// +// ShSetEncrpytionMethod is a place-holder for specifying +// how source code is encrypted. +// +GLSLANG_EXPORT void ShSetEncryptionMethod(ShHandle); + +// +// All the following return 0 if the information is not +// available in the object passed down, or the object is bad. +// +GLSLANG_EXPORT const char* ShGetInfoLog(const ShHandle); +GLSLANG_EXPORT const void* ShGetExecutable(const ShHandle); +GLSLANG_EXPORT int ShSetVirtualAttributeBindings(const ShHandle, const ShBindingTable*); // to detect user aliasing +GLSLANG_EXPORT int ShSetFixedAttributeBindings(const ShHandle, const ShBindingTable*); // to force any physical mappings +// +// Tell the linker to never assign a vertex attribute to this list of physical attributes +// +GLSLANG_EXPORT int ShExcludeAttributes(const ShHandle, int *attributes, int count); + +// +// Returns the location ID of the named uniform. +// Returns -1 if error. +// +GLSLANG_EXPORT int ShGetUniformLocation(const ShHandle uniformMap, const char* name); + +#ifdef __cplusplus + } // end extern "C" +#endif + +//////////////////////////////////////////////////////////////////////////////////////////// +// +// Deferred-Lowering C++ Interface +// ----------------------------------- +// +// Below is a new alternate C++ interface, which deprecates the above +// opaque handle-based interface. +// +// The below is further designed to handle multiple compilation units per stage, where +// the intermediate results, including the parse tree, are preserved until link time, +// rather than the above interface which is designed to have each compilation unit +// lowered at compile time. In the above model, linking occurs on the lowered results, +// whereas in this model intra-stage linking can occur at the parse tree +// (treeRoot in TIntermediate) level, and then a full stage can be lowered. +// + +#include +#include +#include + +class TCompiler; +class TInfoSink; + +namespace glslang { + +struct Version { + int major; + int minor; + int patch; + const char* flavor; +}; + +GLSLANG_EXPORT Version GetVersion(); +GLSLANG_EXPORT const char* GetEsslVersionString(); +GLSLANG_EXPORT const char* GetGlslVersionString(); +GLSLANG_EXPORT int GetKhronosToolId(); + +class TIntermediate; +class TProgram; +class TPoolAllocator; + +// Call this exactly once per process before using anything else +GLSLANG_EXPORT bool InitializeProcess(); + +// Call once per process to tear down everything +GLSLANG_EXPORT void FinalizeProcess(); + +// Resource type for IO resolver +enum TResourceType { + EResSampler, + EResTexture, + EResImage, + EResUbo, + EResSsbo, + EResUav, + EResCount +}; + + +// Make one TShader per shader that you will link into a program. Then +// - provide the shader through setStrings() or setStringsWithLengths() +// - optionally call setEnv*(), see below for more detail +// - optionally use setPreamble() to set a special shader string that will be +// processed before all others but won't affect the validity of #version +// - optionally call addProcesses() for each setting/transform, +// see comment for class TProcesses +// - call parse(): source language and target environment must be selected +// either by correct setting of EShMessages sent to parse(), or by +// explicitly calling setEnv*() +// - query the info logs +// +// N.B.: Does not yet support having the same TShader instance being linked into +// multiple programs. +// +// N.B.: Destruct a linked program *before* destructing the shaders linked into it. +// +class TShader { +public: + GLSLANG_EXPORT explicit TShader(EShLanguage); + GLSLANG_EXPORT virtual ~TShader(); + GLSLANG_EXPORT void setStrings(const char* const* s, int n); + GLSLANG_EXPORT void setStringsWithLengths( + const char* const* s, const int* l, int n); + GLSLANG_EXPORT void setStringsWithLengthsAndNames( + const char* const* s, const int* l, const char* const* names, int n); + void setPreamble(const char* s) { preamble = s; } + GLSLANG_EXPORT void setEntryPoint(const char* entryPoint); + GLSLANG_EXPORT void setSourceEntryPoint(const char* sourceEntryPointName); + GLSLANG_EXPORT void addProcesses(const std::vector&); + + // IO resolver binding data: see comments in ShaderLang.cpp + GLSLANG_EXPORT void setShiftBinding(TResourceType res, unsigned int base); + GLSLANG_EXPORT void setShiftSamplerBinding(unsigned int base); // DEPRECATED: use setShiftBinding + GLSLANG_EXPORT void setShiftTextureBinding(unsigned int base); // DEPRECATED: use setShiftBinding + GLSLANG_EXPORT void setShiftImageBinding(unsigned int base); // DEPRECATED: use setShiftBinding + GLSLANG_EXPORT void setShiftUboBinding(unsigned int base); // DEPRECATED: use setShiftBinding + GLSLANG_EXPORT void setShiftUavBinding(unsigned int base); // DEPRECATED: use setShiftBinding + GLSLANG_EXPORT void setShiftCbufferBinding(unsigned int base); // synonym for setShiftUboBinding + GLSLANG_EXPORT void setShiftSsboBinding(unsigned int base); // DEPRECATED: use setShiftBinding + GLSLANG_EXPORT void setShiftBindingForSet(TResourceType res, unsigned int base, unsigned int set); + GLSLANG_EXPORT void setResourceSetBinding(const std::vector& base); + GLSLANG_EXPORT void setAutoMapBindings(bool map); + GLSLANG_EXPORT void setAutoMapLocations(bool map); + GLSLANG_EXPORT void addUniformLocationOverride(const char* name, int loc); + GLSLANG_EXPORT void setUniformLocationBase(int base); + GLSLANG_EXPORT void setInvertY(bool invert); +#ifdef ENABLE_HLSL + GLSLANG_EXPORT void setHlslIoMapping(bool hlslIoMap); + GLSLANG_EXPORT void setFlattenUniformArrays(bool flatten); +#endif + GLSLANG_EXPORT void setNoStorageFormat(bool useUnknownFormat); + GLSLANG_EXPORT void setNanMinMaxClamp(bool nanMinMaxClamp); + GLSLANG_EXPORT void setTextureSamplerTransformMode(EShTextureSamplerTransformMode mode); + + // For setting up the environment (cleared to nothingness in the constructor). + // These must be called so that parsing is done for the right source language and + // target environment, either indirectly through TranslateEnvironment() based on + // EShMessages et. al., or directly by the user. + // + // setEnvInput: The input source language and stage. If generating code for a + // specific client, the input client semantics to use and the + // version of the that client's input semantics to use, otherwise + // use EShClientNone and version of 0, e.g. for validation mode. + // Note 'version' does not describe the target environment, + // just the version of the source dialect to compile under. + // + // See the definitions of TEnvironment, EShSource, EShLanguage, + // and EShClient for choices and more detail. + // + // setEnvClient: The client that will be hosting the execution, and it's version. + // Note 'version' is not the version of the languages involved, but + // the version of the client environment. + // Use EShClientNone and version of 0 if there is no client, e.g. + // for validation mode. + // + // See EShTargetClientVersion for choices. + // + // setEnvTarget: The language to translate to when generating code, and that + // language's version. + // Use EShTargetNone and version of 0 if there is no client, e.g. + // for validation mode. + // + void setEnvInput(EShSource lang, EShLanguage envStage, EShClient client, int version) + { + environment.input.languageFamily = lang; + environment.input.stage = envStage; + environment.input.dialect = client; + environment.input.dialectVersion = version; + } + void setEnvClient(EShClient client, EShTargetClientVersion version) + { + environment.client.client = client; + environment.client.version = version; + } + void setEnvTarget(EShTargetLanguage lang, EShTargetLanguageVersion version) + { + environment.target.language = lang; + environment.target.version = version; + } + + void getStrings(const char* const* &s, int& n) { s = strings; n = numStrings; } + +#ifdef ENABLE_HLSL + void setEnvTargetHlslFunctionality1() { environment.target.hlslFunctionality1 = true; } + bool getEnvTargetHlslFunctionality1() const { return environment.target.hlslFunctionality1; } +#else + bool getEnvTargetHlslFunctionality1() const { return false; } +#endif + + // Interface to #include handlers. + // + // To support #include, a client of Glslang does the following: + // 1. Call setStringsWithNames to set the source strings and associated + // names. For example, the names could be the names of the files + // containing the shader sources. + // 2. Call parse with an Includer. + // + // When the Glslang parser encounters an #include directive, it calls + // the Includer's include method with the requested include name + // together with the current string name. The returned IncludeResult + // contains the fully resolved name of the included source, together + // with the source text that should replace the #include directive + // in the source stream. After parsing that source, Glslang will + // release the IncludeResult object. + class Includer { + public: + // An IncludeResult contains the resolved name and content of a source + // inclusion. + struct IncludeResult { + IncludeResult(const std::string& headerName, const char* const headerData, const size_t headerLength, void* userData) : + headerName(headerName), headerData(headerData), headerLength(headerLength), userData(userData) { } + // For a successful inclusion, the fully resolved name of the requested + // include. For example, in a file system-based includer, full resolution + // should convert a relative path name into an absolute path name. + // For a failed inclusion, this is an empty string. + const std::string headerName; + // The content and byte length of the requested inclusion. The + // Includer producing this IncludeResult retains ownership of the + // storage. + // For a failed inclusion, the header + // field points to a string containing error details. + const char* const headerData; + const size_t headerLength; + // Include resolver's context. + void* userData; + protected: + IncludeResult& operator=(const IncludeResult&); + IncludeResult(); + }; + + // For both include methods below: + // + // Resolves an inclusion request by name, current source name, + // and include depth. + // On success, returns an IncludeResult containing the resolved name + // and content of the include. + // On failure, returns a nullptr, or an IncludeResult + // with an empty string for the headerName and error details in the + // header field. + // The Includer retains ownership of the contents + // of the returned IncludeResult value, and those contents must + // remain valid until the releaseInclude method is called on that + // IncludeResult object. + // + // Note "local" vs. "system" is not an "either/or": "local" is an + // extra thing to do over "system". Both might get called, as per + // the C++ specification. + + // For the "system" or <>-style includes; search the "system" paths. + virtual IncludeResult* includeSystem(const char* /*headerName*/, + const char* /*includerName*/, + size_t /*inclusionDepth*/) { return nullptr; } + + // For the "local"-only aspect of a "" include. Should not search in the + // "system" paths, because on returning a failure, the parser will + // call includeSystem() to look in the "system" locations. + virtual IncludeResult* includeLocal(const char* /*headerName*/, + const char* /*includerName*/, + size_t /*inclusionDepth*/) { return nullptr; } + + // Signals that the parser will no longer use the contents of the + // specified IncludeResult. + virtual void releaseInclude(IncludeResult*) = 0; + virtual ~Includer() {} + }; + + // Fail all Includer searches + class ForbidIncluder : public Includer { + public: + virtual void releaseInclude(IncludeResult*) override { } + }; + + GLSLANG_EXPORT bool parse( + const TBuiltInResource*, int defaultVersion, EProfile defaultProfile, + bool forceDefaultVersionAndProfile, bool forwardCompatible, + EShMessages, Includer&); + + bool parse(const TBuiltInResource* res, int defaultVersion, EProfile defaultProfile, bool forceDefaultVersionAndProfile, + bool forwardCompatible, EShMessages messages) + { + TShader::ForbidIncluder includer; + return parse(res, defaultVersion, defaultProfile, forceDefaultVersionAndProfile, forwardCompatible, messages, includer); + } + + // Equivalent to parse() without a default profile and without forcing defaults. + bool parse(const TBuiltInResource* builtInResources, int defaultVersion, bool forwardCompatible, EShMessages messages) + { + return parse(builtInResources, defaultVersion, ENoProfile, false, forwardCompatible, messages); + } + + bool parse(const TBuiltInResource* builtInResources, int defaultVersion, bool forwardCompatible, EShMessages messages, + Includer& includer) + { + return parse(builtInResources, defaultVersion, ENoProfile, false, forwardCompatible, messages, includer); + } + + // NOTE: Doing just preprocessing to obtain a correct preprocessed shader string + // is not an officially supported or fully working path. + GLSLANG_EXPORT bool preprocess( + const TBuiltInResource* builtInResources, int defaultVersion, + EProfile defaultProfile, bool forceDefaultVersionAndProfile, + bool forwardCompatible, EShMessages message, std::string* outputString, + Includer& includer); + + GLSLANG_EXPORT const char* getInfoLog(); + GLSLANG_EXPORT const char* getInfoDebugLog(); + EShLanguage getStage() const { return stage; } + TIntermediate* getIntermediate() const { return intermediate; } + +protected: + TPoolAllocator* pool; + EShLanguage stage; + TCompiler* compiler; + TIntermediate* intermediate; + TInfoSink* infoSink; + // strings and lengths follow the standard for glShaderSource: + // strings is an array of numStrings pointers to string data. + // lengths can be null, but if not it is an array of numStrings + // integers containing the length of the associated strings. + // if lengths is null or lengths[n] < 0 the associated strings[n] is + // assumed to be null-terminated. + // stringNames is the optional names for all the strings. If stringNames + // is null, then none of the strings has name. If a certain element in + // stringNames is null, then the corresponding string does not have name. + const char* const* strings; // explicit code to compile, see previous comment + const int* lengths; + const char* const* stringNames; + int numStrings; // size of the above arrays + const char* preamble; // string of implicit code to compile before the explicitly provided code + + // a function in the source string can be renamed FROM this TO the name given in setEntryPoint. + std::string sourceEntryPointName; + + TEnvironment environment; + + friend class TProgram; + +private: + TShader& operator=(TShader&); +}; + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + +// +// A reflection database and its interface, consistent with the OpenGL API reflection queries. +// + +// Data needed for just a single object at the granularity exchanged by the reflection API +class TObjectReflection { +public: + GLSLANG_EXPORT TObjectReflection(const std::string& pName, const TType& pType, int pOffset, int pGLDefineType, int pSize, int pIndex); + + GLSLANG_EXPORT const TType* getType() const { return type; } + GLSLANG_EXPORT int getBinding() const; + GLSLANG_EXPORT void dump() const; + static TObjectReflection badReflection() { return TObjectReflection(); } + + std::string name; + int offset; + int glDefineType; + int size; // data size in bytes for a block, array size for a (non-block) object that's an array + int index; + int counterIndex; + int numMembers; + int arrayStride; // stride of an array variable + int topLevelArraySize; // size of the top-level variable in a storage buffer member + int topLevelArrayStride; // stride of the top-level variable in a storage buffer member + EShLanguageMask stages; + +protected: + TObjectReflection() + : offset(-1), glDefineType(-1), size(-1), index(-1), counterIndex(-1), numMembers(-1), arrayStride(0), + topLevelArrayStride(0), stages(EShLanguageMask(0)), type(nullptr) + { + } + + const TType* type; +}; + +class TReflection; +class TIoMapper; +struct TVarEntryInfo; + +// Allows to customize the binding layout after linking. +// All used uniform variables will invoke at least validateBinding. +// If validateBinding returned true then the other resolveBinding, +// resolveSet, and resolveLocation are invoked to resolve the binding +// and descriptor set index respectively. +// +// Invocations happen in a particular order: +// 1) all shader inputs +// 2) all shader outputs +// 3) all uniforms with binding and set already defined +// 4) all uniforms with binding but no set defined +// 5) all uniforms with set but no binding defined +// 6) all uniforms with no binding and no set defined +// +// mapIO will use this resolver in two phases. The first +// phase is a notification phase, calling the corresponging +// notifiy callbacks, this phase ends with a call to endNotifications. +// Phase two starts directly after the call to endNotifications +// and calls all other callbacks to validate and to get the +// bindings, sets, locations, component and color indices. +// +// NOTE: that still limit checks are applied to bindings and sets +// and may result in an error. +class TIoMapResolver +{ +public: + virtual ~TIoMapResolver() {} + + // Should return true if the resulting/current binding would be okay. + // Basic idea is to do aliasing binding checks with this. + virtual bool validateBinding(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Should return a value >= 0 if the current binding should be overridden. + // Return -1 if the current binding (including no binding) should be kept. + virtual int resolveBinding(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Should return a value >= 0 if the current set should be overridden. + // Return -1 if the current set (including no set) should be kept. + virtual int resolveSet(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Should return a value >= 0 if the current location should be overridden. + // Return -1 if the current location (including no location) should be kept. + virtual int resolveUniformLocation(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Should return true if the resulting/current setup would be okay. + // Basic idea is to do aliasing checks and reject invalid semantic names. + virtual bool validateInOut(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Should return a value >= 0 if the current location should be overridden. + // Return -1 if the current location (including no location) should be kept. + virtual int resolveInOutLocation(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Should return a value >= 0 if the current component index should be overridden. + // Return -1 if the current component index (including no index) should be kept. + virtual int resolveInOutComponent(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Should return a value >= 0 if the current color index should be overridden. + // Return -1 if the current color index (including no index) should be kept. + virtual int resolveInOutIndex(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Notification of a uniform variable + virtual void notifyBinding(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Notification of a in or out variable + virtual void notifyInOut(EShLanguage stage, TVarEntryInfo& ent) = 0; + // Called by mapIO when it starts its notify pass for the given stage + virtual void beginNotifications(EShLanguage stage) = 0; + // Called by mapIO when it has finished the notify pass + virtual void endNotifications(EShLanguage stage) = 0; + // Called by mipIO when it starts its resolve pass for the given stage + virtual void beginResolve(EShLanguage stage) = 0; + // Called by mapIO when it has finished the resolve pass + virtual void endResolve(EShLanguage stage) = 0; + // Called by mapIO when it starts its symbol collect for teh given stage + virtual void beginCollect(EShLanguage stage) = 0; + // Called by mapIO when it has finished the symbol collect + virtual void endCollect(EShLanguage stage) = 0; + // Called by TSlotCollector to resolve storage locations or bindings + virtual void reserverStorageSlot(TVarEntryInfo& ent, TInfoSink& infoSink) = 0; + // Called by TSlotCollector to resolve resource locations or bindings + virtual void reserverResourceSlot(TVarEntryInfo& ent, TInfoSink& infoSink) = 0; + // Called by mapIO.addStage to set shader stage mask to mark a stage be added to this pipeline + virtual void addStage(EShLanguage stage) = 0; +}; + +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE + +// Make one TProgram per set of shaders that will get linked together. Add all +// the shaders that are to be linked together. After calling shader.parse() +// for all shaders, call link(). +// +// N.B.: Destruct a linked program *before* destructing the shaders linked into it. +// +class TProgram { +public: + GLSLANG_EXPORT TProgram(); + GLSLANG_EXPORT virtual ~TProgram(); + void addShader(TShader* shader) { stages[shader->stage].push_back(shader); } + std::list& getShaders(EShLanguage stage) { return stages[stage]; } + // Link Validation interface + GLSLANG_EXPORT bool link(EShMessages); + GLSLANG_EXPORT const char* getInfoLog(); + GLSLANG_EXPORT const char* getInfoDebugLog(); + + TIntermediate* getIntermediate(EShLanguage stage) const { return intermediate[stage]; } + +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + + // Reflection Interface + + // call first, to do liveness analysis, index mapping, etc.; returns false on failure + GLSLANG_EXPORT bool buildReflection(int opts = EShReflectionDefault); + GLSLANG_EXPORT unsigned getLocalSize(int dim) const; // return dim'th local size + GLSLANG_EXPORT int getReflectionIndex(const char *name) const; + GLSLANG_EXPORT int getReflectionPipeIOIndex(const char* name, const bool inOrOut) const; + GLSLANG_EXPORT int getNumUniformVariables() const; + GLSLANG_EXPORT const TObjectReflection& getUniform(int index) const; + GLSLANG_EXPORT int getNumUniformBlocks() const; + GLSLANG_EXPORT const TObjectReflection& getUniformBlock(int index) const; + GLSLANG_EXPORT int getNumPipeInputs() const; + GLSLANG_EXPORT const TObjectReflection& getPipeInput(int index) const; + GLSLANG_EXPORT int getNumPipeOutputs() const; + GLSLANG_EXPORT const TObjectReflection& getPipeOutput(int index) const; + GLSLANG_EXPORT int getNumBufferVariables() const; + GLSLANG_EXPORT const TObjectReflection& getBufferVariable(int index) const; + GLSLANG_EXPORT int getNumBufferBlocks() const; + GLSLANG_EXPORT const TObjectReflection& getBufferBlock(int index) const; + GLSLANG_EXPORT int getNumAtomicCounters() const; + GLSLANG_EXPORT const TObjectReflection& getAtomicCounter(int index) const; + + // Legacy Reflection Interface - expressed in terms of above interface + + // can be used for glGetProgramiv(GL_ACTIVE_UNIFORMS) + int getNumLiveUniformVariables() const { return getNumUniformVariables(); } + + // can be used for glGetProgramiv(GL_ACTIVE_UNIFORM_BLOCKS) + int getNumLiveUniformBlocks() const { return getNumUniformBlocks(); } + + // can be used for glGetProgramiv(GL_ACTIVE_ATTRIBUTES) + int getNumLiveAttributes() const { return getNumPipeInputs(); } + + // can be used for glGetUniformIndices() + int getUniformIndex(const char *name) const { return getReflectionIndex(name); } + + int getPipeIOIndex(const char *name, const bool inOrOut) const + { return getReflectionPipeIOIndex(name, inOrOut); } + + // can be used for "name" part of glGetActiveUniform() + const char *getUniformName(int index) const { return getUniform(index).name.c_str(); } + + // returns the binding number + int getUniformBinding(int index) const { return getUniform(index).getBinding(); } + + // returns Shaders Stages where a Uniform is present + EShLanguageMask getUniformStages(int index) const { return getUniform(index).stages; } + + // can be used for glGetActiveUniformsiv(GL_UNIFORM_BLOCK_INDEX) + int getUniformBlockIndex(int index) const { return getUniform(index).index; } + + // can be used for glGetActiveUniformsiv(GL_UNIFORM_TYPE) + int getUniformType(int index) const { return getUniform(index).glDefineType; } + + // can be used for glGetActiveUniformsiv(GL_UNIFORM_OFFSET) + int getUniformBufferOffset(int index) const { return getUniform(index).offset; } + + // can be used for glGetActiveUniformsiv(GL_UNIFORM_SIZE) + int getUniformArraySize(int index) const { return getUniform(index).size; } + + // returns a TType* + const TType *getUniformTType(int index) const { return getUniform(index).getType(); } + + // can be used for glGetActiveUniformBlockName() + const char *getUniformBlockName(int index) const { return getUniformBlock(index).name.c_str(); } + + // can be used for glGetActiveUniformBlockiv(UNIFORM_BLOCK_DATA_SIZE) + int getUniformBlockSize(int index) const { return getUniformBlock(index).size; } + + // returns the block binding number + int getUniformBlockBinding(int index) const { return getUniformBlock(index).getBinding(); } + + // returns block index of associated counter. + int getUniformBlockCounterIndex(int index) const { return getUniformBlock(index).counterIndex; } + + // returns a TType* + const TType *getUniformBlockTType(int index) const { return getUniformBlock(index).getType(); } + + // can be used for glGetActiveAttrib() + const char *getAttributeName(int index) const { return getPipeInput(index).name.c_str(); } + + // can be used for glGetActiveAttrib() + int getAttributeType(int index) const { return getPipeInput(index).glDefineType; } + + // returns a TType* + const TType *getAttributeTType(int index) const { return getPipeInput(index).getType(); } + + GLSLANG_EXPORT void dumpReflection(); + // I/O mapping: apply base offsets and map live unbound variables + // If resolver is not provided it uses the previous approach + // and respects auto assignment and offsets. + GLSLANG_EXPORT bool mapIO(TIoMapResolver* pResolver = nullptr, TIoMapper* pIoMapper = nullptr); +#endif // !GLSLANG_WEB && !GLSLANG_ANGLE + +protected: + GLSLANG_EXPORT bool linkStage(EShLanguage, EShMessages); + + TPoolAllocator* pool; + std::list stages[EShLangCount]; + TIntermediate* intermediate[EShLangCount]; + bool newedIntermediate[EShLangCount]; // track which intermediate were "new" versus reusing a singleton unit in a stage + TInfoSink* infoSink; +#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE) + TReflection* reflection; +#endif + bool linked; + +private: + TProgram(TProgram&); + TProgram& operator=(TProgram&); +}; + +} // end namespace glslang + +#endif // _COMPILER_INTERFACE_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/ResourceLimits.h b/android/x86_64/include/glslang/Include/ResourceLimits.h new file mode 100644 index 00000000..b670cf16 --- /dev/null +++ b/android/x86_64/include/glslang/Include/ResourceLimits.h @@ -0,0 +1,150 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _RESOURCE_LIMITS_INCLUDED_ +#define _RESOURCE_LIMITS_INCLUDED_ + +struct TLimits { + bool nonInductiveForLoops; + bool whileLoops; + bool doWhileLoops; + bool generalUniformIndexing; + bool generalAttributeMatrixVectorIndexing; + bool generalVaryingIndexing; + bool generalSamplerIndexing; + bool generalVariableIndexing; + bool generalConstantMatrixVectorIndexing; +}; + +struct TBuiltInResource { + int maxLights; + int maxClipPlanes; + int maxTextureUnits; + int maxTextureCoords; + int maxVertexAttribs; + int maxVertexUniformComponents; + int maxVaryingFloats; + int maxVertexTextureImageUnits; + int maxCombinedTextureImageUnits; + int maxTextureImageUnits; + int maxFragmentUniformComponents; + int maxDrawBuffers; + int maxVertexUniformVectors; + int maxVaryingVectors; + int maxFragmentUniformVectors; + int maxVertexOutputVectors; + int maxFragmentInputVectors; + int minProgramTexelOffset; + int maxProgramTexelOffset; + int maxClipDistances; + int maxComputeWorkGroupCountX; + int maxComputeWorkGroupCountY; + int maxComputeWorkGroupCountZ; + int maxComputeWorkGroupSizeX; + int maxComputeWorkGroupSizeY; + int maxComputeWorkGroupSizeZ; + int maxComputeUniformComponents; + int maxComputeTextureImageUnits; + int maxComputeImageUniforms; + int maxComputeAtomicCounters; + int maxComputeAtomicCounterBuffers; + int maxVaryingComponents; + int maxVertexOutputComponents; + int maxGeometryInputComponents; + int maxGeometryOutputComponents; + int maxFragmentInputComponents; + int maxImageUnits; + int maxCombinedImageUnitsAndFragmentOutputs; + int maxCombinedShaderOutputResources; + int maxImageSamples; + int maxVertexImageUniforms; + int maxTessControlImageUniforms; + int maxTessEvaluationImageUniforms; + int maxGeometryImageUniforms; + int maxFragmentImageUniforms; + int maxCombinedImageUniforms; + int maxGeometryTextureImageUnits; + int maxGeometryOutputVertices; + int maxGeometryTotalOutputComponents; + int maxGeometryUniformComponents; + int maxGeometryVaryingComponents; + int maxTessControlInputComponents; + int maxTessControlOutputComponents; + int maxTessControlTextureImageUnits; + int maxTessControlUniformComponents; + int maxTessControlTotalOutputComponents; + int maxTessEvaluationInputComponents; + int maxTessEvaluationOutputComponents; + int maxTessEvaluationTextureImageUnits; + int maxTessEvaluationUniformComponents; + int maxTessPatchComponents; + int maxPatchVertices; + int maxTessGenLevel; + int maxViewports; + int maxVertexAtomicCounters; + int maxTessControlAtomicCounters; + int maxTessEvaluationAtomicCounters; + int maxGeometryAtomicCounters; + int maxFragmentAtomicCounters; + int maxCombinedAtomicCounters; + int maxAtomicCounterBindings; + int maxVertexAtomicCounterBuffers; + int maxTessControlAtomicCounterBuffers; + int maxTessEvaluationAtomicCounterBuffers; + int maxGeometryAtomicCounterBuffers; + int maxFragmentAtomicCounterBuffers; + int maxCombinedAtomicCounterBuffers; + int maxAtomicCounterBufferSize; + int maxTransformFeedbackBuffers; + int maxTransformFeedbackInterleavedComponents; + int maxCullDistances; + int maxCombinedClipAndCullDistances; + int maxSamples; + int maxMeshOutputVerticesNV; + int maxMeshOutputPrimitivesNV; + int maxMeshWorkGroupSizeX_NV; + int maxMeshWorkGroupSizeY_NV; + int maxMeshWorkGroupSizeZ_NV; + int maxTaskWorkGroupSizeX_NV; + int maxTaskWorkGroupSizeY_NV; + int maxTaskWorkGroupSizeZ_NV; + int maxMeshViewCountNV; + int maxDualSourceDrawBuffersEXT; + + TLimits limits; +}; + +#endif // _RESOURCE_LIMITS_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/ShHandle.h b/android/x86_64/include/glslang/Include/ShHandle.h new file mode 100644 index 00000000..df07bd8e --- /dev/null +++ b/android/x86_64/include/glslang/Include/ShHandle.h @@ -0,0 +1,176 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _SHHANDLE_INCLUDED_ +#define _SHHANDLE_INCLUDED_ + +// +// Machine independent part of the compiler private objects +// sent as ShHandle to the driver. +// +// This should not be included by driver code. +// + +#define SH_EXPORTING +#include "../Public/ShaderLang.h" +#include "../MachineIndependent/Versions.h" +#include "InfoSink.h" + +class TCompiler; +class TLinker; +class TUniformMap; + +// +// The base class used to back handles returned to the driver. +// +class TShHandleBase { +public: + TShHandleBase() { pool = new glslang::TPoolAllocator; } + virtual ~TShHandleBase() { delete pool; } + virtual TCompiler* getAsCompiler() { return 0; } + virtual TLinker* getAsLinker() { return 0; } + virtual TUniformMap* getAsUniformMap() { return 0; } + virtual glslang::TPoolAllocator* getPool() const { return pool; } +private: + glslang::TPoolAllocator* pool; +}; + +// +// The base class for the machine dependent linker to derive from +// for managing where uniforms live. +// +class TUniformMap : public TShHandleBase { +public: + TUniformMap() { } + virtual ~TUniformMap() { } + virtual TUniformMap* getAsUniformMap() { return this; } + virtual int getLocation(const char* name) = 0; + virtual TInfoSink& getInfoSink() { return infoSink; } + TInfoSink infoSink; +}; + +class TIntermNode; + +// +// The base class for the machine dependent compiler to derive from +// for managing object code from the compile. +// +class TCompiler : public TShHandleBase { +public: + TCompiler(EShLanguage l, TInfoSink& sink) : infoSink(sink) , language(l), haveValidObjectCode(false) { } + virtual ~TCompiler() { } + EShLanguage getLanguage() { return language; } + virtual TInfoSink& getInfoSink() { return infoSink; } + + virtual bool compile(TIntermNode* root, int version = 0, EProfile profile = ENoProfile) = 0; + + virtual TCompiler* getAsCompiler() { return this; } + virtual bool linkable() { return haveValidObjectCode; } + + TInfoSink& infoSink; +protected: + TCompiler& operator=(TCompiler&); + + EShLanguage language; + bool haveValidObjectCode; +}; + +// +// Link operations are based on a list of compile results... +// +typedef glslang::TVector TCompilerList; +typedef glslang::TVector THandleList; + +// +// The base class for the machine dependent linker to derive from +// to manage the resulting executable. +// + +class TLinker : public TShHandleBase { +public: + TLinker(EShExecutable e, TInfoSink& iSink) : + infoSink(iSink), + executable(e), + haveReturnableObjectCode(false), + appAttributeBindings(0), + fixedAttributeBindings(0), + excludedAttributes(0), + excludedCount(0), + uniformBindings(0) { } + virtual TLinker* getAsLinker() { return this; } + virtual ~TLinker() { } + virtual bool link(TCompilerList&, TUniformMap*) = 0; + virtual bool link(THandleList&) { return false; } + virtual void setAppAttributeBindings(const ShBindingTable* t) { appAttributeBindings = t; } + virtual void setFixedAttributeBindings(const ShBindingTable* t) { fixedAttributeBindings = t; } + virtual void getAttributeBindings(ShBindingTable const **t) const = 0; + virtual void setExcludedAttributes(const int* attributes, int count) { excludedAttributes = attributes; excludedCount = count; } + virtual ShBindingTable* getUniformBindings() const { return uniformBindings; } + virtual const void* getObjectCode() const { return 0; } // a real compiler would be returning object code here + virtual TInfoSink& getInfoSink() { return infoSink; } + TInfoSink& infoSink; +protected: + TLinker& operator=(TLinker&); + EShExecutable executable; + bool haveReturnableObjectCode; // true when objectCode is acceptable to send to driver + + const ShBindingTable* appAttributeBindings; + const ShBindingTable* fixedAttributeBindings; + const int* excludedAttributes; + int excludedCount; + ShBindingTable* uniformBindings; // created by the linker +}; + +// +// This is the interface between the machine independent code +// and the machine dependent code. +// +// The machine dependent code should derive from the classes +// above. Then Construct*() and Delete*() will create and +// destroy the machine dependent objects, which contain the +// above machine independent information. +// +TCompiler* ConstructCompiler(EShLanguage, int); + +TShHandleBase* ConstructLinker(EShExecutable, int); +TShHandleBase* ConstructBindings(); +void DeleteLinker(TShHandleBase*); +void DeleteBindingList(TShHandleBase* bindingList); + +TUniformMap* ConstructUniformMap(); +void DeleteCompiler(TCompiler*); + +void DeleteUniformMap(TUniformMap*); + +#endif // _SHHANDLE_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/Types.h b/android/x86_64/include/glslang/Include/Types.h new file mode 100644 index 00000000..696daf6d --- /dev/null +++ b/android/x86_64/include/glslang/Include/Types.h @@ -0,0 +1,2498 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2016 LunarG, Inc. +// Copyright (C) 2015-2016 Google, Inc. +// Copyright (C) 2017 ARM Limited. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef _TYPES_INCLUDED +#define _TYPES_INCLUDED + +#include "../Include/Common.h" +#include "../Include/BaseTypes.h" +#include "../Public/ShaderLang.h" +#include "arrays.h" + +#include + +namespace glslang { + +const int GlslangMaxTypeLength = 200; // TODO: need to print block/struct one member per line, so this can stay bounded + +const char* const AnonymousPrefix = "anon@"; // for something like a block whose members can be directly accessed +inline bool IsAnonymous(const TString& name) +{ + return name.compare(0, 5, AnonymousPrefix) == 0; +} + +// +// Details within a sampler type +// +enum TSamplerDim { + EsdNone, + Esd1D, + Esd2D, + Esd3D, + EsdCube, + EsdRect, + EsdBuffer, + EsdSubpass, // goes only with non-sampled image (image is true) + EsdNumDims +}; + +struct TSampler { // misnomer now; includes images, textures without sampler, and textures with sampler + TBasicType type : 8; // type returned by sampler + TSamplerDim dim : 8; + bool arrayed : 1; + bool shadow : 1; + bool ms : 1; + bool image : 1; // image, combined should be false + bool combined : 1; // true means texture is combined with a sampler, false means texture with no sampler + bool sampler : 1; // true means a pure sampler, other fields should be clear() + +#ifdef GLSLANG_WEB + bool is1D() const { return false; } + bool isBuffer() const { return false; } + bool isRect() const { return false; } + bool isSubpass() const { return false; } + bool isCombined() const { return true; } + bool isImage() const { return false; } + bool isImageClass() const { return false; } + bool isMultiSample() const { return false; } + bool isExternal() const { return false; } + void setExternal(bool e) { } + bool isYuv() const { return false; } +#else + unsigned int vectorSize : 3; // vector return type size. + // Some languages support structures as sample results. Storing the whole structure in the + // TSampler is too large, so there is an index to a separate table. + static const unsigned structReturnIndexBits = 4; // number of index bits to use. + static const unsigned structReturnSlots = (1< TTypeList; + +typedef TVector TIdentifierList; + +// +// Following are a series of helper enums for managing layouts and qualifiers, +// used for TPublicType, TType, others. +// + +enum TLayoutPacking { + ElpNone, + ElpShared, // default, but different than saying nothing + ElpStd140, + ElpStd430, + ElpPacked, + ElpScalar, + ElpCount // If expanding, see bitfield width below +}; + +enum TLayoutMatrix { + ElmNone, + ElmRowMajor, + ElmColumnMajor, // default, but different than saying nothing + ElmCount // If expanding, see bitfield width below +}; + +// Union of geometry shader and tessellation shader geometry types. +// They don't go into TType, but rather have current state per shader or +// active parser type (TPublicType). +enum TLayoutGeometry { + ElgNone, + ElgPoints, + ElgLines, + ElgLinesAdjacency, + ElgLineStrip, + ElgTriangles, + ElgTrianglesAdjacency, + ElgTriangleStrip, + ElgQuads, + ElgIsolines, +}; + +enum TVertexSpacing { + EvsNone, + EvsEqual, + EvsFractionalEven, + EvsFractionalOdd +}; + +enum TVertexOrder { + EvoNone, + EvoCw, + EvoCcw +}; + +// Note: order matters, as type of format is done by comparison. +enum TLayoutFormat { + ElfNone, + + // Float image + ElfRgba32f, + ElfRgba16f, + ElfR32f, + ElfRgba8, + ElfRgba8Snorm, + + ElfEsFloatGuard, // to help with comparisons + + ElfRg32f, + ElfRg16f, + ElfR11fG11fB10f, + ElfR16f, + ElfRgba16, + ElfRgb10A2, + ElfRg16, + ElfRg8, + ElfR16, + ElfR8, + ElfRgba16Snorm, + ElfRg16Snorm, + ElfRg8Snorm, + ElfR16Snorm, + ElfR8Snorm, + + ElfFloatGuard, // to help with comparisons + + // Int image + ElfRgba32i, + ElfRgba16i, + ElfRgba8i, + ElfR32i, + + ElfEsIntGuard, // to help with comparisons + + ElfRg32i, + ElfRg16i, + ElfRg8i, + ElfR16i, + ElfR8i, + ElfR64i, + + ElfIntGuard, // to help with comparisons + + // Uint image + ElfRgba32ui, + ElfRgba16ui, + ElfRgba8ui, + ElfR32ui, + + ElfEsUintGuard, // to help with comparisons + + ElfRg32ui, + ElfRg16ui, + ElfRgb10a2ui, + ElfRg8ui, + ElfR16ui, + ElfR8ui, + ElfR64ui, + + ElfCount +}; + +enum TLayoutDepth { + EldNone, + EldAny, + EldGreater, + EldLess, + EldUnchanged, + + EldCount +}; + +enum TBlendEquationShift { + // No 'EBlendNone': + // These are used as bit-shift amounts. A mask of such shifts will have type 'int', + // and in that space, 0 means no bits set, or none. In this enum, 0 means (1 << 0), a bit is set. + EBlendMultiply, + EBlendScreen, + EBlendOverlay, + EBlendDarken, + EBlendLighten, + EBlendColordodge, + EBlendColorburn, + EBlendHardlight, + EBlendSoftlight, + EBlendDifference, + EBlendExclusion, + EBlendHslHue, + EBlendHslSaturation, + EBlendHslColor, + EBlendHslLuminosity, + EBlendAllEquations, + + EBlendCount +}; + +enum TInterlockOrdering { + EioNone, + EioPixelInterlockOrdered, + EioPixelInterlockUnordered, + EioSampleInterlockOrdered, + EioSampleInterlockUnordered, + EioShadingRateInterlockOrdered, + EioShadingRateInterlockUnordered, + + EioCount, +}; + +enum TShaderInterface +{ + // Includes both uniform blocks and buffer blocks + EsiUniform = 0, + EsiInput, + EsiOutput, + EsiNone, + + EsiCount +}; + + +class TQualifier { +public: + static const int layoutNotSet = -1; + + void clear() + { + precision = EpqNone; + invariant = false; + makeTemporary(); + declaredBuiltIn = EbvNone; +#ifndef GLSLANG_WEB + noContraction = false; +#endif + } + + // drop qualifiers that don't belong in a temporary variable + void makeTemporary() + { + semanticName = nullptr; + storage = EvqTemporary; + builtIn = EbvNone; + clearInterstage(); + clearMemory(); + specConstant = false; + nonUniform = false; + clearLayout(); + } + + void clearInterstage() + { + clearInterpolation(); +#ifndef GLSLANG_WEB + patch = false; + sample = false; +#endif + } + + void clearInterpolation() + { + centroid = false; + smooth = false; + flat = false; +#ifndef GLSLANG_WEB + nopersp = false; + explicitInterp = false; + pervertexNV = false; + perPrimitiveNV = false; + perViewNV = false; + perTaskNV = false; +#endif + } + + void clearMemory() + { +#ifndef GLSLANG_WEB + coherent = false; + devicecoherent = false; + queuefamilycoherent = false; + workgroupcoherent = false; + subgroupcoherent = false; + shadercallcoherent = false; + nonprivate = false; + volatil = false; + restrict = false; + readonly = false; + writeonly = false; +#endif + } + + const char* semanticName; + TStorageQualifier storage : 6; + TBuiltInVariable builtIn : 9; + TBuiltInVariable declaredBuiltIn : 9; + static_assert(EbvLast < 256, "need to increase size of TBuiltInVariable bitfields!"); + TPrecisionQualifier precision : 3; + bool invariant : 1; // require canonical treatment for cross-shader invariance + bool centroid : 1; + bool smooth : 1; + bool flat : 1; + // having a constant_id is not sufficient: expressions have no id, but are still specConstant + bool specConstant : 1; + bool nonUniform : 1; + bool explicitOffset : 1; + +#ifdef GLSLANG_WEB + bool isWriteOnly() const { return false; } + bool isReadOnly() const { return false; } + bool isRestrict() const { return false; } + bool isCoherent() const { return false; } + bool isVolatile() const { return false; } + bool isSample() const { return false; } + bool isMemory() const { return false; } + bool isMemoryQualifierImageAndSSBOOnly() const { return false; } + bool bufferReferenceNeedsVulkanMemoryModel() const { return false; } + bool isInterpolation() const { return flat || smooth; } + bool isExplicitInterpolation() const { return false; } + bool isAuxiliary() const { return centroid; } + bool isPatch() const { return false; } + bool isNoContraction() const { return false; } + void setNoContraction() { } + bool isPervertexNV() const { return false; } +#else + bool noContraction: 1; // prevent contraction and reassociation, e.g., for 'precise' keyword, and expressions it affects + bool nopersp : 1; + bool explicitInterp : 1; + bool pervertexNV : 1; + bool perPrimitiveNV : 1; + bool perViewNV : 1; + bool perTaskNV : 1; + bool patch : 1; + bool sample : 1; + bool restrict : 1; + bool readonly : 1; + bool writeonly : 1; + bool coherent : 1; + bool volatil : 1; + bool devicecoherent : 1; + bool queuefamilycoherent : 1; + bool workgroupcoherent : 1; + bool subgroupcoherent : 1; + bool shadercallcoherent : 1; + bool nonprivate : 1; + bool isWriteOnly() const { return writeonly; } + bool isReadOnly() const { return readonly; } + bool isRestrict() const { return restrict; } + bool isCoherent() const { return coherent; } + bool isVolatile() const { return volatil; } + bool isSample() const { return sample; } + bool isMemory() const + { + return shadercallcoherent || subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || volatil || restrict || readonly || writeonly || nonprivate; + } + bool isMemoryQualifierImageAndSSBOOnly() const + { + return shadercallcoherent || subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || volatil || restrict || readonly || writeonly; + } + bool bufferReferenceNeedsVulkanMemoryModel() const + { + // include qualifiers that map to load/store availability/visibility/nonprivate memory access operands + return subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || nonprivate; + } + bool isInterpolation() const + { + return flat || smooth || nopersp || explicitInterp; + } + bool isExplicitInterpolation() const + { + return explicitInterp; + } + bool isAuxiliary() const + { + return centroid || patch || sample || pervertexNV; + } + bool isPatch() const { return patch; } + bool isNoContraction() const { return noContraction; } + void setNoContraction() { noContraction = true; } + bool isPervertexNV() const { return pervertexNV; } +#endif + + bool isPipeInput() const + { + switch (storage) { + case EvqVaryingIn: + case EvqFragCoord: + case EvqPointCoord: + case EvqFace: + case EvqVertexId: + case EvqInstanceId: + return true; + default: + return false; + } + } + + bool isPipeOutput() const + { + switch (storage) { + case EvqPosition: + case EvqPointSize: + case EvqClipVertex: + case EvqVaryingOut: + case EvqFragColor: + case EvqFragDepth: + return true; + default: + return false; + } + } + + bool isParamInput() const + { + switch (storage) { + case EvqIn: + case EvqInOut: + case EvqConstReadOnly: + return true; + default: + return false; + } + } + + bool isParamOutput() const + { + switch (storage) { + case EvqOut: + case EvqInOut: + return true; + default: + return false; + } + } + + bool isUniformOrBuffer() const + { + switch (storage) { + case EvqUniform: + case EvqBuffer: + return true; + default: + return false; + } + } + + bool isIo() const + { + switch (storage) { + case EvqUniform: + case EvqBuffer: + case EvqVaryingIn: + case EvqFragCoord: + case EvqPointCoord: + case EvqFace: + case EvqVertexId: + case EvqInstanceId: + case EvqPosition: + case EvqPointSize: + case EvqClipVertex: + case EvqVaryingOut: + case EvqFragColor: + case EvqFragDepth: + return true; + default: + return false; + } + } + + // non-built-in symbols that might link between compilation units + bool isLinkable() const + { + switch (storage) { + case EvqGlobal: + case EvqVaryingIn: + case EvqVaryingOut: + case EvqUniform: + case EvqBuffer: + case EvqShared: + return true; + default: + return false; + } + } + +#ifdef GLSLANG_WEB + bool isPerView() const { return false; } + bool isTaskMemory() const { return false; } + bool isArrayedIo(EShLanguage language) const { return false; } +#else + bool isPerPrimitive() const { return perPrimitiveNV; } + bool isPerView() const { return perViewNV; } + bool isTaskMemory() const { return perTaskNV; } + bool isAnyPayload() const { + return storage == EvqPayload || storage == EvqPayloadIn; + } + bool isAnyCallable() const { + return storage == EvqCallableData || storage == EvqCallableDataIn; + } + + // True if this type of IO is supposed to be arrayed with extra level for per-vertex data + bool isArrayedIo(EShLanguage language) const + { + switch (language) { + case EShLangGeometry: + return isPipeInput(); + case EShLangTessControl: + return ! patch && (isPipeInput() || isPipeOutput()); + case EShLangTessEvaluation: + return ! patch && isPipeInput(); + case EShLangFragment: + return pervertexNV && isPipeInput(); + case EShLangMeshNV: + return ! perTaskNV && isPipeOutput(); + + default: + return false; + } + } +#endif + + // Implementing an embedded layout-qualifier class here, since C++ can't have a real class bitfield + void clearLayout() // all layout + { + clearUniformLayout(); + +#ifndef GLSLANG_WEB + layoutPushConstant = false; + layoutBufferReference = false; + layoutPassthrough = false; + layoutViewportRelative = false; + // -2048 as the default value indicating layoutSecondaryViewportRelative is not set + layoutSecondaryViewportRelativeOffset = -2048; + layoutShaderRecord = false; + layoutBufferReferenceAlign = layoutBufferReferenceAlignEnd; + layoutFormat = ElfNone; +#endif + + clearInterstageLayout(); + + layoutSpecConstantId = layoutSpecConstantIdEnd; + } + void clearInterstageLayout() + { + layoutLocation = layoutLocationEnd; + layoutComponent = layoutComponentEnd; +#ifndef GLSLANG_WEB + layoutIndex = layoutIndexEnd; + clearStreamLayout(); + clearXfbLayout(); +#endif + } + +#ifndef GLSLANG_WEB + void clearStreamLayout() + { + layoutStream = layoutStreamEnd; + } + void clearXfbLayout() + { + layoutXfbBuffer = layoutXfbBufferEnd; + layoutXfbStride = layoutXfbStrideEnd; + layoutXfbOffset = layoutXfbOffsetEnd; + } +#endif + + bool hasNonXfbLayout() const + { + return hasUniformLayout() || + hasAnyLocation() || + hasStream() || + hasFormat() || + isShaderRecord() || + isPushConstant() || + hasBufferReference(); + } + bool hasLayout() const + { + return hasNonXfbLayout() || + hasXfb(); + } + TLayoutMatrix layoutMatrix : 3; + TLayoutPacking layoutPacking : 4; + int layoutOffset; + int layoutAlign; + + unsigned int layoutLocation : 12; + static const unsigned int layoutLocationEnd = 0xFFF; + + unsigned int layoutComponent : 3; + static const unsigned int layoutComponentEnd = 4; + + unsigned int layoutSet : 7; + static const unsigned int layoutSetEnd = 0x3F; + + unsigned int layoutBinding : 16; + static const unsigned int layoutBindingEnd = 0xFFFF; + + unsigned int layoutIndex : 8; + static const unsigned int layoutIndexEnd = 0xFF; + + unsigned int layoutStream : 8; + static const unsigned int layoutStreamEnd = 0xFF; + + unsigned int layoutXfbBuffer : 4; + static const unsigned int layoutXfbBufferEnd = 0xF; + + unsigned int layoutXfbStride : 14; + static const unsigned int layoutXfbStrideEnd = 0x3FFF; + + unsigned int layoutXfbOffset : 13; + static const unsigned int layoutXfbOffsetEnd = 0x1FFF; + + unsigned int layoutAttachment : 8; // for input_attachment_index + static const unsigned int layoutAttachmentEnd = 0XFF; + + unsigned int layoutSpecConstantId : 11; + static const unsigned int layoutSpecConstantIdEnd = 0x7FF; + +#ifndef GLSLANG_WEB + // stored as log2 of the actual alignment value + unsigned int layoutBufferReferenceAlign : 6; + static const unsigned int layoutBufferReferenceAlignEnd = 0x3F; + + TLayoutFormat layoutFormat : 8; + + bool layoutPushConstant; + bool layoutBufferReference; + bool layoutPassthrough; + bool layoutViewportRelative; + int layoutSecondaryViewportRelativeOffset; + bool layoutShaderRecord; +#endif + + bool hasUniformLayout() const + { + return hasMatrix() || + hasPacking() || + hasOffset() || + hasBinding() || + hasSet() || + hasAlign(); + } + void clearUniformLayout() // only uniform specific + { + layoutMatrix = ElmNone; + layoutPacking = ElpNone; + layoutOffset = layoutNotSet; + layoutAlign = layoutNotSet; + + layoutSet = layoutSetEnd; + layoutBinding = layoutBindingEnd; +#ifndef GLSLANG_WEB + layoutAttachment = layoutAttachmentEnd; +#endif + } + + bool hasMatrix() const + { + return layoutMatrix != ElmNone; + } + bool hasPacking() const + { + return layoutPacking != ElpNone; + } + bool hasAlign() const + { + return layoutAlign != layoutNotSet; + } + bool hasAnyLocation() const + { + return hasLocation() || + hasComponent() || + hasIndex(); + } + bool hasLocation() const + { + return layoutLocation != layoutLocationEnd; + } + bool hasSet() const + { + return layoutSet != layoutSetEnd; + } + bool hasBinding() const + { + return layoutBinding != layoutBindingEnd; + } +#ifdef GLSLANG_WEB + bool hasOffset() const { return false; } + bool isNonPerspective() const { return false; } + bool hasIndex() const { return false; } + unsigned getIndex() const { return 0; } + bool hasComponent() const { return false; } + bool hasStream() const { return false; } + bool hasFormat() const { return false; } + bool hasXfb() const { return false; } + bool hasXfbBuffer() const { return false; } + bool hasXfbStride() const { return false; } + bool hasXfbOffset() const { return false; } + bool hasAttachment() const { return false; } + TLayoutFormat getFormat() const { return ElfNone; } + bool isPushConstant() const { return false; } + bool isShaderRecord() const { return false; } + bool hasBufferReference() const { return false; } + bool hasBufferReferenceAlign() const { return false; } + bool isNonUniform() const { return false; } +#else + bool hasOffset() const + { + return layoutOffset != layoutNotSet; + } + bool isNonPerspective() const { return nopersp; } + bool hasIndex() const + { + return layoutIndex != layoutIndexEnd; + } + unsigned getIndex() const { return layoutIndex; } + bool hasComponent() const + { + return layoutComponent != layoutComponentEnd; + } + bool hasStream() const + { + return layoutStream != layoutStreamEnd; + } + bool hasFormat() const + { + return layoutFormat != ElfNone; + } + bool hasXfb() const + { + return hasXfbBuffer() || + hasXfbStride() || + hasXfbOffset(); + } + bool hasXfbBuffer() const + { + return layoutXfbBuffer != layoutXfbBufferEnd; + } + bool hasXfbStride() const + { + return layoutXfbStride != layoutXfbStrideEnd; + } + bool hasXfbOffset() const + { + return layoutXfbOffset != layoutXfbOffsetEnd; + } + bool hasAttachment() const + { + return layoutAttachment != layoutAttachmentEnd; + } + TLayoutFormat getFormat() const { return layoutFormat; } + bool isPushConstant() const { return layoutPushConstant; } + bool isShaderRecord() const { return layoutShaderRecord; } + bool hasBufferReference() const { return layoutBufferReference; } + bool hasBufferReferenceAlign() const + { + return layoutBufferReferenceAlign != layoutBufferReferenceAlignEnd; + } + bool isNonUniform() const + { + return nonUniform; + } +#endif + bool hasSpecConstantId() const + { + // Not the same thing as being a specialization constant, this + // is just whether or not it was declared with an ID. + return layoutSpecConstantId != layoutSpecConstantIdEnd; + } + bool isSpecConstant() const + { + // True if type is a specialization constant, whether or not it + // had a specialization-constant ID, and false if it is not a + // true front-end constant. + return specConstant; + } + bool isFrontEndConstant() const + { + // True if the front-end knows the final constant value. + // This allows front-end constant folding. + return storage == EvqConst && ! specConstant; + } + bool isConstant() const + { + // True if is either kind of constant; specialization or regular. + return isFrontEndConstant() || isSpecConstant(); + } + void makeSpecConstant() + { + storage = EvqConst; + specConstant = true; + } + static const char* getLayoutPackingString(TLayoutPacking packing) + { + switch (packing) { + case ElpStd140: return "std140"; +#ifndef GLSLANG_WEB + case ElpPacked: return "packed"; + case ElpShared: return "shared"; + case ElpStd430: return "std430"; + case ElpScalar: return "scalar"; +#endif + default: return "none"; + } + } + static const char* getLayoutMatrixString(TLayoutMatrix m) + { + switch (m) { + case ElmColumnMajor: return "column_major"; + case ElmRowMajor: return "row_major"; + default: return "none"; + } + } +#ifdef GLSLANG_WEB + static const char* getLayoutFormatString(TLayoutFormat f) { return "none"; } +#else + static const char* getLayoutFormatString(TLayoutFormat f) + { + switch (f) { + case ElfRgba32f: return "rgba32f"; + case ElfRgba16f: return "rgba16f"; + case ElfRg32f: return "rg32f"; + case ElfRg16f: return "rg16f"; + case ElfR11fG11fB10f: return "r11f_g11f_b10f"; + case ElfR32f: return "r32f"; + case ElfR16f: return "r16f"; + case ElfRgba16: return "rgba16"; + case ElfRgb10A2: return "rgb10_a2"; + case ElfRgba8: return "rgba8"; + case ElfRg16: return "rg16"; + case ElfRg8: return "rg8"; + case ElfR16: return "r16"; + case ElfR8: return "r8"; + case ElfRgba16Snorm: return "rgba16_snorm"; + case ElfRgba8Snorm: return "rgba8_snorm"; + case ElfRg16Snorm: return "rg16_snorm"; + case ElfRg8Snorm: return "rg8_snorm"; + case ElfR16Snorm: return "r16_snorm"; + case ElfR8Snorm: return "r8_snorm"; + + case ElfRgba32i: return "rgba32i"; + case ElfRgba16i: return "rgba16i"; + case ElfRgba8i: return "rgba8i"; + case ElfRg32i: return "rg32i"; + case ElfRg16i: return "rg16i"; + case ElfRg8i: return "rg8i"; + case ElfR32i: return "r32i"; + case ElfR16i: return "r16i"; + case ElfR8i: return "r8i"; + + case ElfRgba32ui: return "rgba32ui"; + case ElfRgba16ui: return "rgba16ui"; + case ElfRgba8ui: return "rgba8ui"; + case ElfRg32ui: return "rg32ui"; + case ElfRg16ui: return "rg16ui"; + case ElfRgb10a2ui: return "rgb10_a2ui"; + case ElfRg8ui: return "rg8ui"; + case ElfR32ui: return "r32ui"; + case ElfR16ui: return "r16ui"; + case ElfR8ui: return "r8ui"; + case ElfR64ui: return "r64ui"; + case ElfR64i: return "r64i"; + default: return "none"; + } + } + static const char* getLayoutDepthString(TLayoutDepth d) + { + switch (d) { + case EldAny: return "depth_any"; + case EldGreater: return "depth_greater"; + case EldLess: return "depth_less"; + case EldUnchanged: return "depth_unchanged"; + default: return "none"; + } + } + static const char* getBlendEquationString(TBlendEquationShift e) + { + switch (e) { + case EBlendMultiply: return "blend_support_multiply"; + case EBlendScreen: return "blend_support_screen"; + case EBlendOverlay: return "blend_support_overlay"; + case EBlendDarken: return "blend_support_darken"; + case EBlendLighten: return "blend_support_lighten"; + case EBlendColordodge: return "blend_support_colordodge"; + case EBlendColorburn: return "blend_support_colorburn"; + case EBlendHardlight: return "blend_support_hardlight"; + case EBlendSoftlight: return "blend_support_softlight"; + case EBlendDifference: return "blend_support_difference"; + case EBlendExclusion: return "blend_support_exclusion"; + case EBlendHslHue: return "blend_support_hsl_hue"; + case EBlendHslSaturation: return "blend_support_hsl_saturation"; + case EBlendHslColor: return "blend_support_hsl_color"; + case EBlendHslLuminosity: return "blend_support_hsl_luminosity"; + case EBlendAllEquations: return "blend_support_all_equations"; + default: return "unknown"; + } + } + static const char* getGeometryString(TLayoutGeometry geometry) + { + switch (geometry) { + case ElgPoints: return "points"; + case ElgLines: return "lines"; + case ElgLinesAdjacency: return "lines_adjacency"; + case ElgLineStrip: return "line_strip"; + case ElgTriangles: return "triangles"; + case ElgTrianglesAdjacency: return "triangles_adjacency"; + case ElgTriangleStrip: return "triangle_strip"; + case ElgQuads: return "quads"; + case ElgIsolines: return "isolines"; + default: return "none"; + } + } + static const char* getVertexSpacingString(TVertexSpacing spacing) + { + switch (spacing) { + case EvsEqual: return "equal_spacing"; + case EvsFractionalEven: return "fractional_even_spacing"; + case EvsFractionalOdd: return "fractional_odd_spacing"; + default: return "none"; + } + } + static const char* getVertexOrderString(TVertexOrder order) + { + switch (order) { + case EvoCw: return "cw"; + case EvoCcw: return "ccw"; + default: return "none"; + } + } + static int mapGeometryToSize(TLayoutGeometry geometry) + { + switch (geometry) { + case ElgPoints: return 1; + case ElgLines: return 2; + case ElgLinesAdjacency: return 4; + case ElgTriangles: return 3; + case ElgTrianglesAdjacency: return 6; + default: return 0; + } + } + static const char* getInterlockOrderingString(TInterlockOrdering order) + { + switch (order) { + case EioPixelInterlockOrdered: return "pixel_interlock_ordered"; + case EioPixelInterlockUnordered: return "pixel_interlock_unordered"; + case EioSampleInterlockOrdered: return "sample_interlock_ordered"; + case EioSampleInterlockUnordered: return "sample_interlock_unordered"; + case EioShadingRateInterlockOrdered: return "shading_rate_interlock_ordered"; + case EioShadingRateInterlockUnordered: return "shading_rate_interlock_unordered"; + default: return "none"; + } + } +#endif +}; + +// Qualifiers that don't need to be keep per object. They have shader scope, not object scope. +// So, they will not be part of TType, TQualifier, etc. +struct TShaderQualifiers { + TLayoutGeometry geometry; // geometry/tessellation shader in/out primitives + bool pixelCenterInteger; // fragment shader + bool originUpperLeft; // fragment shader + int invocations; + int vertices; // for tessellation "vertices", geometry & mesh "max_vertices" + TVertexSpacing spacing; + TVertexOrder order; + bool pointMode; + int localSize[3]; // compute shader + bool localSizeNotDefault[3]; // compute shader + int localSizeSpecId[3]; // compute shader specialization id for gl_WorkGroupSize +#ifndef GLSLANG_WEB + bool earlyFragmentTests; // fragment input + bool postDepthCoverage; // fragment input + TLayoutDepth layoutDepth; + bool blendEquation; // true if any blend equation was specified + int numViews; // multiview extenstions + TInterlockOrdering interlockOrdering; + bool layoutOverrideCoverage; // true if layout override_coverage set + bool layoutDerivativeGroupQuads; // true if layout derivative_group_quadsNV set + bool layoutDerivativeGroupLinear; // true if layout derivative_group_linearNV set + int primitives; // mesh shader "max_primitives"DerivativeGroupLinear; // true if layout derivative_group_linearNV set + bool layoutPrimitiveCulling; // true if layout primitive_culling set + TLayoutDepth getDepth() const { return layoutDepth; } +#else + TLayoutDepth getDepth() const { return EldNone; } +#endif + + void init() + { + geometry = ElgNone; + originUpperLeft = false; + pixelCenterInteger = false; + invocations = TQualifier::layoutNotSet; + vertices = TQualifier::layoutNotSet; + spacing = EvsNone; + order = EvoNone; + pointMode = false; + localSize[0] = 1; + localSize[1] = 1; + localSize[2] = 1; + localSizeNotDefault[0] = false; + localSizeNotDefault[1] = false; + localSizeNotDefault[2] = false; + localSizeSpecId[0] = TQualifier::layoutNotSet; + localSizeSpecId[1] = TQualifier::layoutNotSet; + localSizeSpecId[2] = TQualifier::layoutNotSet; +#ifndef GLSLANG_WEB + earlyFragmentTests = false; + postDepthCoverage = false; + layoutDepth = EldNone; + blendEquation = false; + numViews = TQualifier::layoutNotSet; + layoutOverrideCoverage = false; + layoutDerivativeGroupQuads = false; + layoutDerivativeGroupLinear = false; + layoutPrimitiveCulling = false; + primitives = TQualifier::layoutNotSet; + interlockOrdering = EioNone; +#endif + } + +#ifdef GLSLANG_WEB + bool hasBlendEquation() const { return false; } +#else + bool hasBlendEquation() const { return blendEquation; } +#endif + + // Merge in characteristics from the 'src' qualifier. They can override when + // set, but never erase when not set. + void merge(const TShaderQualifiers& src) + { + if (src.geometry != ElgNone) + geometry = src.geometry; + if (src.pixelCenterInteger) + pixelCenterInteger = src.pixelCenterInteger; + if (src.originUpperLeft) + originUpperLeft = src.originUpperLeft; + if (src.invocations != TQualifier::layoutNotSet) + invocations = src.invocations; + if (src.vertices != TQualifier::layoutNotSet) + vertices = src.vertices; + if (src.spacing != EvsNone) + spacing = src.spacing; + if (src.order != EvoNone) + order = src.order; + if (src.pointMode) + pointMode = true; + for (int i = 0; i < 3; ++i) { + if (src.localSize[i] > 1) + localSize[i] = src.localSize[i]; + } + for (int i = 0; i < 3; ++i) { + localSizeNotDefault[i] = src.localSizeNotDefault[i] || localSizeNotDefault[i]; + } + for (int i = 0; i < 3; ++i) { + if (src.localSizeSpecId[i] != TQualifier::layoutNotSet) + localSizeSpecId[i] = src.localSizeSpecId[i]; + } +#ifndef GLSLANG_WEB + if (src.earlyFragmentTests) + earlyFragmentTests = true; + if (src.postDepthCoverage) + postDepthCoverage = true; + if (src.layoutDepth) + layoutDepth = src.layoutDepth; + if (src.blendEquation) + blendEquation = src.blendEquation; + if (src.numViews != TQualifier::layoutNotSet) + numViews = src.numViews; + if (src.layoutOverrideCoverage) + layoutOverrideCoverage = src.layoutOverrideCoverage; + if (src.layoutDerivativeGroupQuads) + layoutDerivativeGroupQuads = src.layoutDerivativeGroupQuads; + if (src.layoutDerivativeGroupLinear) + layoutDerivativeGroupLinear = src.layoutDerivativeGroupLinear; + if (src.primitives != TQualifier::layoutNotSet) + primitives = src.primitives; + if (src.interlockOrdering != EioNone) + interlockOrdering = src.interlockOrdering; + if (src.layoutPrimitiveCulling) + layoutPrimitiveCulling = src.layoutPrimitiveCulling; +#endif + } +}; + +// +// TPublicType is just temporarily used while parsing and not quite the same +// information kept per node in TType. Due to the bison stack, it can't have +// types that it thinks have non-trivial constructors. It should +// just be used while recognizing the grammar, not anything else. +// Once enough is known about the situation, the proper information +// moved into a TType, or the parse context, etc. +// +class TPublicType { +public: + TBasicType basicType; + TSampler sampler; + TQualifier qualifier; + TShaderQualifiers shaderQualifiers; + int vectorSize : 4; + int matrixCols : 4; + int matrixRows : 4; + bool coopmat : 1; + TArraySizes* arraySizes; + const TType* userDef; + TSourceLoc loc; + TArraySizes* typeParameters; + +#ifdef GLSLANG_WEB + bool isCoopmat() const { return false; } +#else + bool isCoopmat() const { return coopmat; } +#endif + + void initType(const TSourceLoc& l) + { + basicType = EbtVoid; + vectorSize = 1; + matrixRows = 0; + matrixCols = 0; + arraySizes = nullptr; + userDef = nullptr; + loc = l; + typeParameters = nullptr; + coopmat = false; + } + + void initQualifiers(bool global = false) + { + qualifier.clear(); + if (global) + qualifier.storage = EvqGlobal; + } + + void init(const TSourceLoc& l, bool global = false) + { + initType(l); + sampler.clear(); + initQualifiers(global); + shaderQualifiers.init(); + } + + void setVector(int s) + { + matrixRows = 0; + matrixCols = 0; + vectorSize = s; + } + + void setMatrix(int c, int r) + { + matrixRows = r; + matrixCols = c; + vectorSize = 0; + } + + bool isScalar() const + { + return matrixCols == 0 && vectorSize == 1 && arraySizes == nullptr && userDef == nullptr; + } + + // "Image" is a superset of "Subpass" + bool isImage() const { return basicType == EbtSampler && sampler.isImage(); } + bool isSubpass() const { return basicType == EbtSampler && sampler.isSubpass(); } +}; + +// +// Base class for things that have a type. +// +class TType { +public: + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + + // for "empty" type (no args) or simple scalar/vector/matrix + explicit TType(TBasicType t = EbtVoid, TStorageQualifier q = EvqTemporary, int vs = 1, int mc = 0, int mr = 0, + bool isVector = false) : + basicType(t), vectorSize(vs), matrixCols(mc), matrixRows(mr), vector1(isVector && vs == 1), coopmat(false), + arraySizes(nullptr), structure(nullptr), fieldName(nullptr), typeName(nullptr), typeParameters(nullptr) + { + sampler.clear(); + qualifier.clear(); + qualifier.storage = q; + assert(!(isMatrix() && vectorSize != 0)); // prevent vectorSize != 0 on matrices + } + // for explicit precision qualifier + TType(TBasicType t, TStorageQualifier q, TPrecisionQualifier p, int vs = 1, int mc = 0, int mr = 0, + bool isVector = false) : + basicType(t), vectorSize(vs), matrixCols(mc), matrixRows(mr), vector1(isVector && vs == 1), coopmat(false), + arraySizes(nullptr), structure(nullptr), fieldName(nullptr), typeName(nullptr), typeParameters(nullptr) + { + sampler.clear(); + qualifier.clear(); + qualifier.storage = q; + qualifier.precision = p; + assert(p >= EpqNone && p <= EpqHigh); + assert(!(isMatrix() && vectorSize != 0)); // prevent vectorSize != 0 on matrices + } + // for turning a TPublicType into a TType, using a shallow copy + explicit TType(const TPublicType& p) : + basicType(p.basicType), + vectorSize(p.vectorSize), matrixCols(p.matrixCols), matrixRows(p.matrixRows), vector1(false), coopmat(p.coopmat), + arraySizes(p.arraySizes), structure(nullptr), fieldName(nullptr), typeName(nullptr), typeParameters(p.typeParameters) + { + if (basicType == EbtSampler) + sampler = p.sampler; + else + sampler.clear(); + qualifier = p.qualifier; + if (p.userDef) { + if (p.userDef->basicType == EbtReference) { + basicType = EbtReference; + referentType = p.userDef->referentType; + } else { + structure = p.userDef->getWritableStruct(); // public type is short-lived; there are no sharing issues + } + typeName = NewPoolTString(p.userDef->getTypeName().c_str()); + } + if (p.isCoopmat() && p.typeParameters && p.typeParameters->getNumDims() > 0) { + int numBits = p.typeParameters->getDimSize(0); + if (p.basicType == EbtFloat && numBits == 16) { + basicType = EbtFloat16; + qualifier.precision = EpqNone; + } else if (p.basicType == EbtUint && numBits == 8) { + basicType = EbtUint8; + qualifier.precision = EpqNone; + } else if (p.basicType == EbtInt && numBits == 8) { + basicType = EbtInt8; + qualifier.precision = EpqNone; + } + } + } + // for construction of sampler types + TType(const TSampler& sampler, TStorageQualifier q = EvqUniform, TArraySizes* as = nullptr) : + basicType(EbtSampler), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false), coopmat(false), + arraySizes(as), structure(nullptr), fieldName(nullptr), typeName(nullptr), + sampler(sampler), typeParameters(nullptr) + { + qualifier.clear(); + qualifier.storage = q; + } + // to efficiently make a dereferenced type + // without ever duplicating the outer structure that will be thrown away + // and using only shallow copy + TType(const TType& type, int derefIndex, bool rowMajor = false) + { + if (type.isArray()) { + shallowCopy(type); + if (type.getArraySizes()->getNumDims() == 1) { + arraySizes = nullptr; + } else { + // want our own copy of the array, so we can edit it + arraySizes = new TArraySizes; + arraySizes->copyDereferenced(*type.arraySizes); + } + } else if (type.basicType == EbtStruct || type.basicType == EbtBlock) { + // do a structure dereference + const TTypeList& memberList = *type.getStruct(); + shallowCopy(*memberList[derefIndex].type); + return; + } else { + // do a vector/matrix dereference + shallowCopy(type); + if (matrixCols > 0) { + // dereference from matrix to vector + if (rowMajor) + vectorSize = matrixCols; + else + vectorSize = matrixRows; + matrixCols = 0; + matrixRows = 0; + if (vectorSize == 1) + vector1 = true; + } else if (isVector()) { + // dereference from vector to scalar + vectorSize = 1; + vector1 = false; + } else if (isCoopMat()) { + coopmat = false; + typeParameters = nullptr; + } + } + } + // for making structures, ... + TType(TTypeList* userDef, const TString& n) : + basicType(EbtStruct), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false), coopmat(false), + arraySizes(nullptr), structure(userDef), fieldName(nullptr), typeParameters(nullptr) + { + sampler.clear(); + qualifier.clear(); + typeName = NewPoolTString(n.c_str()); + } + // For interface blocks + TType(TTypeList* userDef, const TString& n, const TQualifier& q) : + basicType(EbtBlock), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false), coopmat(false), + qualifier(q), arraySizes(nullptr), structure(userDef), fieldName(nullptr), typeParameters(nullptr) + { + sampler.clear(); + typeName = NewPoolTString(n.c_str()); + } + // for block reference (first parameter must be EbtReference) + explicit TType(TBasicType t, const TType &p, const TString& n) : + basicType(t), vectorSize(1), matrixCols(0), matrixRows(0), vector1(false), + arraySizes(nullptr), structure(nullptr), fieldName(nullptr), typeName(nullptr) + { + assert(t == EbtReference); + typeName = NewPoolTString(n.c_str()); + qualifier.clear(); + qualifier.storage = p.qualifier.storage; + referentType = p.clone(); + } + virtual ~TType() {} + + // Not for use across pool pops; it will cause multiple instances of TType to point to the same information. + // This only works if that information (like a structure's list of types) does not change and + // the instances are sharing the same pool. + void shallowCopy(const TType& copyOf) + { + basicType = copyOf.basicType; + sampler = copyOf.sampler; + qualifier = copyOf.qualifier; + vectorSize = copyOf.vectorSize; + matrixCols = copyOf.matrixCols; + matrixRows = copyOf.matrixRows; + vector1 = copyOf.vector1; + arraySizes = copyOf.arraySizes; // copying the pointer only, not the contents + fieldName = copyOf.fieldName; + typeName = copyOf.typeName; + if (isStruct()) { + structure = copyOf.structure; + } else { + referentType = copyOf.referentType; + } + typeParameters = copyOf.typeParameters; + coopmat = copyOf.isCoopMat(); + } + + // Make complete copy of the whole type graph rooted at 'copyOf'. + void deepCopy(const TType& copyOf) + { + TMap copied; // to enable copying a type graph as a graph, not a tree + deepCopy(copyOf, copied); + } + + // Recursively make temporary + void makeTemporary() + { + getQualifier().makeTemporary(); + + if (isStruct()) + for (unsigned int i = 0; i < structure->size(); ++i) + (*structure)[i].type->makeTemporary(); + } + + TType* clone() const + { + TType *newType = new TType(); + newType->deepCopy(*this); + + return newType; + } + + void makeVector() { vector1 = true; } + + virtual void hideMember() { basicType = EbtVoid; vectorSize = 1; } + virtual bool hiddenMember() const { return basicType == EbtVoid; } + + virtual void setFieldName(const TString& n) { fieldName = NewPoolTString(n.c_str()); } + virtual const TString& getTypeName() const + { + assert(typeName); + return *typeName; + } + + virtual const TString& getFieldName() const + { + assert(fieldName); + return *fieldName; + } + TShaderInterface getShaderInterface() const + { + if (basicType != EbtBlock) + return EsiNone; + + switch (qualifier.storage) { + default: + return EsiNone; + case EvqVaryingIn: + return EsiInput; + case EvqVaryingOut: + return EsiOutput; + case EvqUniform: + case EvqBuffer: + return EsiUniform; + } + } + + virtual TBasicType getBasicType() const { return basicType; } + virtual const TSampler& getSampler() const { return sampler; } + virtual TSampler& getSampler() { return sampler; } + + virtual TQualifier& getQualifier() { return qualifier; } + virtual const TQualifier& getQualifier() const { return qualifier; } + + virtual int getVectorSize() const { return vectorSize; } // returns 1 for either scalar or vector of size 1, valid for both + virtual int getMatrixCols() const { return matrixCols; } + virtual int getMatrixRows() const { return matrixRows; } + virtual int getOuterArraySize() const { return arraySizes->getOuterSize(); } + virtual TIntermTyped* getOuterArrayNode() const { return arraySizes->getOuterNode(); } + virtual int getCumulativeArraySize() const { return arraySizes->getCumulativeSize(); } +#ifdef GLSLANG_WEB + bool isArrayOfArrays() const { return false; } +#else + bool isArrayOfArrays() const { return arraySizes != nullptr && arraySizes->getNumDims() > 1; } +#endif + virtual int getImplicitArraySize() const { return arraySizes->getImplicitSize(); } + virtual const TArraySizes* getArraySizes() const { return arraySizes; } + virtual TArraySizes* getArraySizes() { return arraySizes; } + virtual TType* getReferentType() const { return referentType; } + virtual const TArraySizes* getTypeParameters() const { return typeParameters; } + virtual TArraySizes* getTypeParameters() { return typeParameters; } + + virtual bool isScalar() const { return ! isVector() && ! isMatrix() && ! isStruct() && ! isArray(); } + virtual bool isScalarOrVec1() const { return isScalar() || vector1; } + virtual bool isVector() const { return vectorSize > 1 || vector1; } + virtual bool isMatrix() const { return matrixCols ? true : false; } + virtual bool isArray() const { return arraySizes != nullptr; } + virtual bool isSizedArray() const { return isArray() && arraySizes->isSized(); } + virtual bool isUnsizedArray() const { return isArray() && !arraySizes->isSized(); } + virtual bool isArrayVariablyIndexed() const { assert(isArray()); return arraySizes->isVariablyIndexed(); } + virtual void setArrayVariablyIndexed() { assert(isArray()); arraySizes->setVariablyIndexed(); } + virtual void updateImplicitArraySize(int size) { assert(isArray()); arraySizes->updateImplicitSize(size); } + virtual bool isStruct() const { return basicType == EbtStruct || basicType == EbtBlock; } + virtual bool isFloatingDomain() const { return basicType == EbtFloat || basicType == EbtDouble || basicType == EbtFloat16; } + virtual bool isIntegerDomain() const + { + switch (basicType) { + case EbtInt8: + case EbtUint8: + case EbtInt16: + case EbtUint16: + case EbtInt: + case EbtUint: + case EbtInt64: + case EbtUint64: + case EbtAtomicUint: + return true; + default: + break; + } + return false; + } + virtual bool isOpaque() const { return basicType == EbtSampler +#ifndef GLSLANG_WEB + || basicType == EbtAtomicUint || basicType == EbtAccStruct || basicType == EbtRayQuery +#endif + ; } + virtual bool isBuiltIn() const { return getQualifier().builtIn != EbvNone; } + + // "Image" is a superset of "Subpass" + virtual bool isImage() const { return basicType == EbtSampler && getSampler().isImage(); } + virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); } + virtual bool isTexture() const { return basicType == EbtSampler && getSampler().isTexture(); } + // Check the block-name convention of creating a block without populating it's members: + virtual bool isUnusableName() const { return isStruct() && structure == nullptr; } + virtual bool isParameterized() const { return typeParameters != nullptr; } +#ifdef GLSLANG_WEB + bool isAtomic() const { return false; } + bool isCoopMat() const { return false; } + bool isReference() const { return false; } +#else + bool isAtomic() const { return basicType == EbtAtomicUint; } + bool isCoopMat() const { return coopmat; } + bool isReference() const { return getBasicType() == EbtReference; } +#endif + + // return true if this type contains any subtype which satisfies the given predicate. + template + bool contains(P predicate) const + { + if (predicate(this)) + return true; + + const auto hasa = [predicate](const TTypeLoc& tl) { return tl.type->contains(predicate); }; + + return isStruct() && std::any_of(structure->begin(), structure->end(), hasa); + } + + // Recursively checks if the type contains the given basic type + virtual bool containsBasicType(TBasicType checkType) const + { + return contains([checkType](const TType* t) { return t->basicType == checkType; } ); + } + + // Recursively check the structure for any arrays, needed for some error checks + virtual bool containsArray() const + { + return contains([](const TType* t) { return t->isArray(); } ); + } + + // Check the structure for any structures, needed for some error checks + virtual bool containsStructure() const + { + return contains([this](const TType* t) { return t != this && t->isStruct(); } ); + } + + // Recursively check the structure for any unsized arrays, needed for triggering a copyUp(). + virtual bool containsUnsizedArray() const + { + return contains([](const TType* t) { return t->isUnsizedArray(); } ); + } + + virtual bool containsOpaque() const + { + return contains([](const TType* t) { return t->isOpaque(); } ); + } + + // Recursively checks if the type contains a built-in variable + virtual bool containsBuiltIn() const + { + return contains([](const TType* t) { return t->isBuiltIn(); } ); + } + + virtual bool containsNonOpaque() const + { + const auto nonOpaque = [](const TType* t) { + switch (t->basicType) { + case EbtVoid: + case EbtFloat: + case EbtDouble: + case EbtFloat16: + case EbtInt8: + case EbtUint8: + case EbtInt16: + case EbtUint16: + case EbtInt: + case EbtUint: + case EbtInt64: + case EbtUint64: + case EbtBool: + case EbtReference: + return true; + default: + return false; + } + }; + + return contains(nonOpaque); + } + + virtual bool containsSpecializationSize() const + { + return contains([](const TType* t) { return t->isArray() && t->arraySizes->isOuterSpecialization(); } ); + } + +#ifdef GLSLANG_WEB + bool containsDouble() const { return false; } + bool contains16BitFloat() const { return false; } + bool contains64BitInt() const { return false; } + bool contains16BitInt() const { return false; } + bool contains8BitInt() const { return false; } + bool containsCoopMat() const { return false; } + bool containsReference() const { return false; } +#else + bool containsDouble() const + { + return containsBasicType(EbtDouble); + } + bool contains16BitFloat() const + { + return containsBasicType(EbtFloat16); + } + bool contains64BitInt() const + { + return containsBasicType(EbtInt64) || containsBasicType(EbtUint64); + } + bool contains16BitInt() const + { + return containsBasicType(EbtInt16) || containsBasicType(EbtUint16); + } + bool contains8BitInt() const + { + return containsBasicType(EbtInt8) || containsBasicType(EbtUint8); + } + bool containsCoopMat() const + { + return contains([](const TType* t) { return t->coopmat; } ); + } + bool containsReference() const + { + return containsBasicType(EbtReference); + } +#endif + + // Array editing methods. Array descriptors can be shared across + // type instances. This allows all uses of the same array + // to be updated at once. E.g., all nodes can be explicitly sized + // by tracking and correcting one implicit size. Or, all nodes + // can get the explicit size on a redeclaration that gives size. + // + // N.B.: Don't share with the shared symbol tables (symbols are + // marked as isReadOnly(). Such symbols with arrays that will be + // edited need to copyUp() on first use, so that + // A) the edits don't effect the shared symbol table, and + // B) the edits are shared across all users. + void updateArraySizes(const TType& type) + { + // For when we may already be sharing existing array descriptors, + // keeping the pointers the same, just updating the contents. + assert(arraySizes != nullptr); + assert(type.arraySizes != nullptr); + *arraySizes = *type.arraySizes; + } + void copyArraySizes(const TArraySizes& s) + { + // For setting a fresh new set of array sizes, not yet worrying about sharing. + arraySizes = new TArraySizes; + *arraySizes = s; + } + void transferArraySizes(TArraySizes* s) + { + // For setting an already allocated set of sizes that this type can use + // (no copy made). + arraySizes = s; + } + void clearArraySizes() + { + arraySizes = nullptr; + } + + // Add inner array sizes, to any existing sizes, via copy; the + // sizes passed in can still be reused for other purposes. + void copyArrayInnerSizes(const TArraySizes* s) + { + if (s != nullptr) { + if (arraySizes == nullptr) + copyArraySizes(*s); + else + arraySizes->addInnerSizes(*s); + } + } + void changeOuterArraySize(int s) { arraySizes->changeOuterSize(s); } + + // Recursively make the implicit array size the explicit array size. + // Expicit arrays are compile-time or link-time sized, never run-time sized. + // Sometimes, policy calls for an array to be run-time sized even if it was + // never variably indexed: Don't turn a 'skipNonvariablyIndexed' array into + // an explicit array. + void adoptImplicitArraySizes(bool skipNonvariablyIndexed) + { + if (isUnsizedArray() && !(skipNonvariablyIndexed || isArrayVariablyIndexed())) + changeOuterArraySize(getImplicitArraySize()); + // For multi-dim per-view arrays, set unsized inner dimension size to 1 + if (qualifier.isPerView() && arraySizes && arraySizes->isInnerUnsized()) + arraySizes->clearInnerUnsized(); + if (isStruct() && structure->size() > 0) { + int lastMember = (int)structure->size() - 1; + for (int i = 0; i < lastMember; ++i) + (*structure)[i].type->adoptImplicitArraySizes(false); + // implement the "last member of an SSBO" policy + (*structure)[lastMember].type->adoptImplicitArraySizes(getQualifier().storage == EvqBuffer); + } + } + + + void updateTypeParameters(const TType& type) + { + // For when we may already be sharing existing array descriptors, + // keeping the pointers the same, just updating the contents. + assert(typeParameters != nullptr); + assert(type.typeParameters != nullptr); + *typeParameters = *type.typeParameters; + } + void copyTypeParameters(const TArraySizes& s) + { + // For setting a fresh new set of type parameters, not yet worrying about sharing. + typeParameters = new TArraySizes; + *typeParameters = s; + } + void transferTypeParameters(TArraySizes* s) + { + // For setting an already allocated set of sizes that this type can use + // (no copy made). + typeParameters = s; + } + void clearTypeParameters() + { + typeParameters = nullptr; + } + + // Add inner array sizes, to any existing sizes, via copy; the + // sizes passed in can still be reused for other purposes. + void copyTypeParametersInnerSizes(const TArraySizes* s) + { + if (s != nullptr) { + if (typeParameters == nullptr) + copyTypeParameters(*s); + else + typeParameters->addInnerSizes(*s); + } + } + + + + const char* getBasicString() const + { + return TType::getBasicString(basicType); + } + + static const char* getBasicString(TBasicType t) + { + switch (t) { + case EbtFloat: return "float"; + case EbtInt: return "int"; + case EbtUint: return "uint"; + case EbtSampler: return "sampler/image"; +#ifndef GLSLANG_WEB + case EbtVoid: return "void"; + case EbtDouble: return "double"; + case EbtFloat16: return "float16_t"; + case EbtInt8: return "int8_t"; + case EbtUint8: return "uint8_t"; + case EbtInt16: return "int16_t"; + case EbtUint16: return "uint16_t"; + case EbtInt64: return "int64_t"; + case EbtUint64: return "uint64_t"; + case EbtBool: return "bool"; + case EbtAtomicUint: return "atomic_uint"; + case EbtStruct: return "structure"; + case EbtBlock: return "block"; + case EbtAccStruct: return "accelerationStructureNV"; + case EbtRayQuery: return "rayQueryEXT"; + case EbtReference: return "reference"; + case EbtString: return "string"; +#endif + default: return "unknown type"; + } + } + +#ifdef GLSLANG_WEB + TString getCompleteString() const { return ""; } + const char* getStorageQualifierString() const { return ""; } + const char* getBuiltInVariableString() const { return ""; } + const char* getPrecisionQualifierString() const { return ""; } + TString getBasicTypeString() const { return ""; } +#else + TString getCompleteString() const + { + TString typeString; + + const auto appendStr = [&](const char* s) { typeString.append(s); }; + const auto appendUint = [&](unsigned int u) { typeString.append(std::to_string(u).c_str()); }; + const auto appendInt = [&](int i) { typeString.append(std::to_string(i).c_str()); }; + + if (qualifier.hasLayout()) { + // To reduce noise, skip this if the only layout is an xfb_buffer + // with no triggering xfb_offset. + TQualifier noXfbBuffer = qualifier; + noXfbBuffer.layoutXfbBuffer = TQualifier::layoutXfbBufferEnd; + if (noXfbBuffer.hasLayout()) { + appendStr("layout("); + if (qualifier.hasAnyLocation()) { + appendStr(" location="); + appendUint(qualifier.layoutLocation); + if (qualifier.hasComponent()) { + appendStr(" component="); + appendUint(qualifier.layoutComponent); + } + if (qualifier.hasIndex()) { + appendStr(" index="); + appendUint(qualifier.layoutIndex); + } + } + if (qualifier.hasSet()) { + appendStr(" set="); + appendUint(qualifier.layoutSet); + } + if (qualifier.hasBinding()) { + appendStr(" binding="); + appendUint(qualifier.layoutBinding); + } + if (qualifier.hasStream()) { + appendStr(" stream="); + appendUint(qualifier.layoutStream); + } + if (qualifier.hasMatrix()) { + appendStr(" "); + appendStr(TQualifier::getLayoutMatrixString(qualifier.layoutMatrix)); + } + if (qualifier.hasPacking()) { + appendStr(" "); + appendStr(TQualifier::getLayoutPackingString(qualifier.layoutPacking)); + } + if (qualifier.hasOffset()) { + appendStr(" offset="); + appendInt(qualifier.layoutOffset); + } + if (qualifier.hasAlign()) { + appendStr(" align="); + appendInt(qualifier.layoutAlign); + } + if (qualifier.hasFormat()) { + appendStr(" "); + appendStr(TQualifier::getLayoutFormatString(qualifier.layoutFormat)); + } + if (qualifier.hasXfbBuffer() && qualifier.hasXfbOffset()) { + appendStr(" xfb_buffer="); + appendUint(qualifier.layoutXfbBuffer); + } + if (qualifier.hasXfbOffset()) { + appendStr(" xfb_offset="); + appendUint(qualifier.layoutXfbOffset); + } + if (qualifier.hasXfbStride()) { + appendStr(" xfb_stride="); + appendUint(qualifier.layoutXfbStride); + } + if (qualifier.hasAttachment()) { + appendStr(" input_attachment_index="); + appendUint(qualifier.layoutAttachment); + } + if (qualifier.hasSpecConstantId()) { + appendStr(" constant_id="); + appendUint(qualifier.layoutSpecConstantId); + } + if (qualifier.layoutPushConstant) + appendStr(" push_constant"); + if (qualifier.layoutBufferReference) + appendStr(" buffer_reference"); + if (qualifier.hasBufferReferenceAlign()) { + appendStr(" buffer_reference_align="); + appendUint(1u << qualifier.layoutBufferReferenceAlign); + } + + if (qualifier.layoutPassthrough) + appendStr(" passthrough"); + if (qualifier.layoutViewportRelative) + appendStr(" layoutViewportRelative"); + if (qualifier.layoutSecondaryViewportRelativeOffset != -2048) { + appendStr(" layoutSecondaryViewportRelativeOffset="); + appendInt(qualifier.layoutSecondaryViewportRelativeOffset); + } + if (qualifier.layoutShaderRecord) + appendStr(" shaderRecordNV"); + + appendStr(")"); + } + } + + if (qualifier.invariant) + appendStr(" invariant"); + if (qualifier.noContraction) + appendStr(" noContraction"); + if (qualifier.centroid) + appendStr(" centroid"); + if (qualifier.smooth) + appendStr(" smooth"); + if (qualifier.flat) + appendStr(" flat"); + if (qualifier.nopersp) + appendStr(" noperspective"); + if (qualifier.explicitInterp) + appendStr(" __explicitInterpAMD"); + if (qualifier.pervertexNV) + appendStr(" pervertexNV"); + if (qualifier.perPrimitiveNV) + appendStr(" perprimitiveNV"); + if (qualifier.perViewNV) + appendStr(" perviewNV"); + if (qualifier.perTaskNV) + appendStr(" taskNV"); + if (qualifier.patch) + appendStr(" patch"); + if (qualifier.sample) + appendStr(" sample"); + if (qualifier.coherent) + appendStr(" coherent"); + if (qualifier.devicecoherent) + appendStr(" devicecoherent"); + if (qualifier.queuefamilycoherent) + appendStr(" queuefamilycoherent"); + if (qualifier.workgroupcoherent) + appendStr(" workgroupcoherent"); + if (qualifier.subgroupcoherent) + appendStr(" subgroupcoherent"); + if (qualifier.shadercallcoherent) + appendStr(" shadercallcoherent"); + if (qualifier.nonprivate) + appendStr(" nonprivate"); + if (qualifier.volatil) + appendStr(" volatile"); + if (qualifier.restrict) + appendStr(" restrict"); + if (qualifier.readonly) + appendStr(" readonly"); + if (qualifier.writeonly) + appendStr(" writeonly"); + if (qualifier.specConstant) + appendStr(" specialization-constant"); + if (qualifier.nonUniform) + appendStr(" nonuniform"); + appendStr(" "); + appendStr(getStorageQualifierString()); + if (isArray()) { + for(int i = 0; i < (int)arraySizes->getNumDims(); ++i) { + int size = arraySizes->getDimSize(i); + if (size == UnsizedArraySize && i == 0 && arraySizes->isVariablyIndexed()) + appendStr(" runtime-sized array of"); + else { + if (size == UnsizedArraySize) { + appendStr(" unsized"); + if (i == 0) { + appendStr(" "); + appendInt(arraySizes->getImplicitSize()); + } + } else { + appendStr(" "); + appendInt(arraySizes->getDimSize(i)); + } + appendStr("-element array of"); + } + } + } + if (isParameterized()) { + appendStr("<"); + for(int i = 0; i < (int)typeParameters->getNumDims(); ++i) { + appendInt(typeParameters->getDimSize(i)); + if (i != (int)typeParameters->getNumDims() - 1) + appendStr(", "); + } + appendStr(">"); + } + if (qualifier.precision != EpqNone) { + appendStr(" "); + appendStr(getPrecisionQualifierString()); + } + if (isMatrix()) { + appendStr(" "); + appendInt(matrixCols); + appendStr("X"); + appendInt(matrixRows); + appendStr(" matrix of"); + } else if (isVector()) { + appendStr(" "); + appendInt(vectorSize); + appendStr("-component vector of"); + } + + appendStr(" "); + typeString.append(getBasicTypeString()); + + if (qualifier.builtIn != EbvNone) { + appendStr(" "); + appendStr(getBuiltInVariableString()); + } + + // Add struct/block members + if (isStruct() && structure) { + appendStr("{"); + bool hasHiddenMember = true; + for (size_t i = 0; i < structure->size(); ++i) { + if (! (*structure)[i].type->hiddenMember()) { + if (!hasHiddenMember) + appendStr(", "); + typeString.append((*structure)[i].type->getCompleteString()); + typeString.append(" "); + typeString.append((*structure)[i].type->getFieldName()); + hasHiddenMember = false; + } + } + appendStr("}"); + } + + return typeString; + } + + TString getBasicTypeString() const + { + if (basicType == EbtSampler) + return sampler.getString(); + else + return getBasicString(); + } + + const char* getStorageQualifierString() const { return GetStorageQualifierString(qualifier.storage); } + const char* getBuiltInVariableString() const { return GetBuiltInVariableString(qualifier.builtIn); } + const char* getPrecisionQualifierString() const { return GetPrecisionQualifierString(qualifier.precision); } +#endif + + const TTypeList* getStruct() const { assert(isStruct()); return structure; } + void setStruct(TTypeList* s) { assert(isStruct()); structure = s; } + TTypeList* getWritableStruct() const { assert(isStruct()); return structure; } // This should only be used when known to not be sharing with other threads + void setBasicType(const TBasicType& t) { basicType = t; } + + int computeNumComponents() const + { + int components = 0; + + if (getBasicType() == EbtStruct || getBasicType() == EbtBlock) { + for (TTypeList::const_iterator tl = getStruct()->begin(); tl != getStruct()->end(); tl++) + components += ((*tl).type)->computeNumComponents(); + } else if (matrixCols) + components = matrixCols * matrixRows; + else + components = vectorSize; + + if (arraySizes != nullptr) { + components *= arraySizes->getCumulativeSize(); + } + + return components; + } + + // append this type's mangled name to the passed in 'name' + void appendMangledName(TString& name) const + { + buildMangledName(name); + name += ';' ; + } + + // Do two structure types match? They could be declared independently, + // in different places, but still might satisfy the definition of matching. + // From the spec: + // + // "Structures must have the same name, sequence of type names, and + // type definitions, and member names to be considered the same type. + // This rule applies recursively for nested or embedded types." + // + bool sameStructType(const TType& right) const + { + // Most commonly, they are both nullptr, or the same pointer to the same actual structure + if ((!isStruct() && !right.isStruct()) || + (isStruct() && right.isStruct() && structure == right.structure)) + return true; + + // Both being nullptr was caught above, now they both have to be structures of the same number of elements + if (!isStruct() || !right.isStruct() || + structure->size() != right.structure->size()) + return false; + + // Structure names have to match + if (*typeName != *right.typeName) + return false; + + // Compare the names and types of all the members, which have to match + for (unsigned int i = 0; i < structure->size(); ++i) { + if ((*structure)[i].type->getFieldName() != (*right.structure)[i].type->getFieldName()) + return false; + + if (*(*structure)[i].type != *(*right.structure)[i].type) + return false; + } + + return true; + } + + bool sameReferenceType(const TType& right) const + { + if (isReference() != right.isReference()) + return false; + + if (!isReference() && !right.isReference()) + return true; + + assert(referentType != nullptr); + assert(right.referentType != nullptr); + + if (referentType == right.referentType) + return true; + + return *referentType == *right.referentType; + } + + // See if two types match, in all aspects except arrayness + bool sameElementType(const TType& right) const + { + return basicType == right.basicType && sameElementShape(right); + } + + // See if two type's arrayness match + bool sameArrayness(const TType& right) const + { + return ((arraySizes == nullptr && right.arraySizes == nullptr) || + (arraySizes != nullptr && right.arraySizes != nullptr && *arraySizes == *right.arraySizes)); + } + + // See if two type's arrayness match in everything except their outer dimension + bool sameInnerArrayness(const TType& right) const + { + assert(arraySizes != nullptr && right.arraySizes != nullptr); + return arraySizes->sameInnerArrayness(*right.arraySizes); + } + + // See if two type's parameters match + bool sameTypeParameters(const TType& right) const + { + return ((typeParameters == nullptr && right.typeParameters == nullptr) || + (typeParameters != nullptr && right.typeParameters != nullptr && *typeParameters == *right.typeParameters)); + } + + // See if two type's elements match in all ways except basic type + bool sameElementShape(const TType& right) const + { + return sampler == right.sampler && + vectorSize == right.vectorSize && + matrixCols == right.matrixCols && + matrixRows == right.matrixRows && + vector1 == right.vector1 && + isCoopMat() == right.isCoopMat() && + sameStructType(right) && + sameReferenceType(right); + } + + // See if a cooperative matrix type parameter with unspecified parameters is + // an OK function parameter + bool coopMatParameterOK(const TType& right) const + { + return isCoopMat() && right.isCoopMat() && (getBasicType() == right.getBasicType()) && + typeParameters == nullptr && right.typeParameters != nullptr; + } + + bool sameCoopMatBaseType(const TType &right) const { + bool rv = coopmat && right.coopmat; + if (getBasicType() == EbtFloat || getBasicType() == EbtFloat16) + rv = right.getBasicType() == EbtFloat || right.getBasicType() == EbtFloat16; + else if (getBasicType() == EbtUint || getBasicType() == EbtUint8) + rv = right.getBasicType() == EbtUint || right.getBasicType() == EbtUint8; + else if (getBasicType() == EbtInt || getBasicType() == EbtInt8) + rv = right.getBasicType() == EbtInt || right.getBasicType() == EbtInt8; + else + rv = false; + return rv; + } + + + // See if two types match in all ways (just the actual type, not qualification) + bool operator==(const TType& right) const + { + return sameElementType(right) && sameArrayness(right) && sameTypeParameters(right); + } + + bool operator!=(const TType& right) const + { + return ! operator==(right); + } + + unsigned int getBufferReferenceAlignment() const + { +#ifndef GLSLANG_WEB + if (getBasicType() == glslang::EbtReference) { + return getReferentType()->getQualifier().hasBufferReferenceAlign() ? + (1u << getReferentType()->getQualifier().layoutBufferReferenceAlign) : 16u; + } +#endif + return 0; + } + +protected: + // Require consumer to pick between deep copy and shallow copy. + TType(const TType& type); + TType& operator=(const TType& type); + + // Recursively copy a type graph, while preserving the graph-like + // quality. That is, don't make more than one copy of a structure that + // gets reused multiple times in the type graph. + void deepCopy(const TType& copyOf, TMap& copiedMap) + { + shallowCopy(copyOf); + + if (copyOf.arraySizes) { + arraySizes = new TArraySizes; + *arraySizes = *copyOf.arraySizes; + } + + if (copyOf.typeParameters) { + typeParameters = new TArraySizes; + *typeParameters = *copyOf.typeParameters; + } + + if (copyOf.isStruct() && copyOf.structure) { + auto prevCopy = copiedMap.find(copyOf.structure); + if (prevCopy != copiedMap.end()) + structure = prevCopy->second; + else { + structure = new TTypeList; + copiedMap[copyOf.structure] = structure; + for (unsigned int i = 0; i < copyOf.structure->size(); ++i) { + TTypeLoc typeLoc; + typeLoc.loc = (*copyOf.structure)[i].loc; + typeLoc.type = new TType(); + typeLoc.type->deepCopy(*(*copyOf.structure)[i].type, copiedMap); + structure->push_back(typeLoc); + } + } + } + + if (copyOf.fieldName) + fieldName = NewPoolTString(copyOf.fieldName->c_str()); + if (copyOf.typeName) + typeName = NewPoolTString(copyOf.typeName->c_str()); + } + + + void buildMangledName(TString&) const; + + TBasicType basicType : 8; + int vectorSize : 4; // 1 means either scalar or 1-component vector; see vector1 to disambiguate. + int matrixCols : 4; + int matrixRows : 4; + bool vector1 : 1; // Backward-compatible tracking of a 1-component vector distinguished from a scalar. + // GLSL 4.5 never has a 1-component vector; so this will always be false until such + // functionality is added. + // HLSL does have a 1-component vectors, so this will be true to disambiguate + // from a scalar. + bool coopmat : 1; + TQualifier qualifier; + + TArraySizes* arraySizes; // nullptr unless an array; can be shared across types + // A type can't be both a structure (EbtStruct/EbtBlock) and a reference (EbtReference), so + // conserve space by making these a union + union { + TTypeList* structure; // invalid unless this is a struct; can be shared across types + TType *referentType; // invalid unless this is an EbtReference + }; + TString *fieldName; // for structure field names + TString *typeName; // for structure type name + TSampler sampler; + TArraySizes* typeParameters;// nullptr unless a parameterized type; can be shared across types +}; + +} // end namespace glslang + +#endif // _TYPES_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/arrays.h b/android/x86_64/include/glslang/Include/arrays.h new file mode 100644 index 00000000..7f047d9f --- /dev/null +++ b/android/x86_64/include/glslang/Include/arrays.h @@ -0,0 +1,341 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2013 LunarG, Inc. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Implement types for tracking GLSL arrays, arrays of arrays, etc. +// + +#ifndef _ARRAYS_INCLUDED +#define _ARRAYS_INCLUDED + +#include + +namespace glslang { + +// This is used to mean there is no size yet (unsized), it is waiting to get a size from somewhere else. +const int UnsizedArraySize = 0; + +class TIntermTyped; +extern bool SameSpecializationConstants(TIntermTyped*, TIntermTyped*); + +// Specialization constants need both a nominal size and a node that defines +// the specialization constant being used. Array types are the same when their +// size and specialization constant nodes are the same. +struct TArraySize { + unsigned int size; + TIntermTyped* node; // nullptr means no specialization constant node + bool operator==(const TArraySize& rhs) const + { + if (size != rhs.size) + return false; + if (node == nullptr || rhs.node == nullptr) + return node == rhs.node; + + return SameSpecializationConstants(node, rhs.node); + } +}; + +// +// TSmallArrayVector is used as the container for the set of sizes in TArraySizes. +// It has generic-container semantics, while TArraySizes has array-of-array semantics. +// That is, TSmallArrayVector should be more focused on mechanism and TArraySizes on policy. +// +struct TSmallArrayVector { + // + // TODO: memory: TSmallArrayVector is intended to be smaller. + // Almost all arrays could be handled by two sizes each fitting + // in 16 bits, needing a real vector only in the cases where there + // are more than 3 sizes or a size needing more than 16 bits. + // + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + + TSmallArrayVector() : sizes(nullptr) { } + virtual ~TSmallArrayVector() { dealloc(); } + + // For breaking into two non-shared copies, independently modifiable. + TSmallArrayVector& operator=(const TSmallArrayVector& from) + { + if (from.sizes == nullptr) + sizes = nullptr; + else { + alloc(); + *sizes = *from.sizes; + } + + return *this; + } + + int size() const + { + if (sizes == nullptr) + return 0; + return (int)sizes->size(); + } + + unsigned int frontSize() const + { + assert(sizes != nullptr && sizes->size() > 0); + return sizes->front().size; + } + + TIntermTyped* frontNode() const + { + assert(sizes != nullptr && sizes->size() > 0); + return sizes->front().node; + } + + void changeFront(unsigned int s) + { + assert(sizes != nullptr); + // this should only happen for implicitly sized arrays, not specialization constants + assert(sizes->front().node == nullptr); + sizes->front().size = s; + } + + void push_back(unsigned int e, TIntermTyped* n) + { + alloc(); + TArraySize pair = { e, n }; + sizes->push_back(pair); + } + + void push_back(const TSmallArrayVector& newDims) + { + alloc(); + sizes->insert(sizes->end(), newDims.sizes->begin(), newDims.sizes->end()); + } + + void pop_front() + { + assert(sizes != nullptr && sizes->size() > 0); + if (sizes->size() == 1) + dealloc(); + else + sizes->erase(sizes->begin()); + } + + // 'this' should currently not be holding anything, and copyNonFront + // will make it hold a copy of all but the first element of rhs. + // (This would be useful for making a type that is dereferenced by + // one dimension.) + void copyNonFront(const TSmallArrayVector& rhs) + { + assert(sizes == nullptr); + if (rhs.size() > 1) { + alloc(); + sizes->insert(sizes->begin(), rhs.sizes->begin() + 1, rhs.sizes->end()); + } + } + + unsigned int getDimSize(int i) const + { + assert(sizes != nullptr && (int)sizes->size() > i); + return (*sizes)[i].size; + } + + void setDimSize(int i, unsigned int size) const + { + assert(sizes != nullptr && (int)sizes->size() > i); + assert((*sizes)[i].node == nullptr); + (*sizes)[i].size = size; + } + + TIntermTyped* getDimNode(int i) const + { + assert(sizes != nullptr && (int)sizes->size() > i); + return (*sizes)[i].node; + } + + bool operator==(const TSmallArrayVector& rhs) const + { + if (sizes == nullptr && rhs.sizes == nullptr) + return true; + if (sizes == nullptr || rhs.sizes == nullptr) + return false; + return *sizes == *rhs.sizes; + } + bool operator!=(const TSmallArrayVector& rhs) const { return ! operator==(rhs); } + +protected: + TSmallArrayVector(const TSmallArrayVector&); + + void alloc() + { + if (sizes == nullptr) + sizes = new TVector; + } + void dealloc() + { + delete sizes; + sizes = nullptr; + } + + TVector* sizes; // will either hold such a pointer, or in the future, hold the two array sizes +}; + +// +// Represent an array, or array of arrays, to arbitrary depth. This is not +// done through a hierarchy of types in a type tree, rather all contiguous arrayness +// in the type hierarchy is localized into this single cumulative object. +// +// The arrayness in TTtype is a pointer, so that it can be non-allocated and zero +// for the vast majority of types that are non-array types. +// +// Order Policy: these are all identical: +// - left to right order within a contiguous set of ...[..][..][..]... in the source language +// - index order 0, 1, 2, ... within the 'sizes' member below +// - outer-most to inner-most +// +struct TArraySizes { + POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) + + TArraySizes() : implicitArraySize(1), variablyIndexed(false) { } + + // For breaking into two non-shared copies, independently modifiable. + TArraySizes& operator=(const TArraySizes& from) + { + implicitArraySize = from.implicitArraySize; + variablyIndexed = from.variablyIndexed; + sizes = from.sizes; + + return *this; + } + + // translate from array-of-array semantics to container semantics + int getNumDims() const { return sizes.size(); } + int getDimSize(int dim) const { return sizes.getDimSize(dim); } + TIntermTyped* getDimNode(int dim) const { return sizes.getDimNode(dim); } + void setDimSize(int dim, int size) { sizes.setDimSize(dim, size); } + int getOuterSize() const { return sizes.frontSize(); } + TIntermTyped* getOuterNode() const { return sizes.frontNode(); } + int getCumulativeSize() const + { + int size = 1; + for (int d = 0; d < sizes.size(); ++d) { + // this only makes sense in paths that have a known array size + assert(sizes.getDimSize(d) != UnsizedArraySize); + size *= sizes.getDimSize(d); + } + return size; + } + void addInnerSize() { addInnerSize((unsigned)UnsizedArraySize); } + void addInnerSize(int s) { addInnerSize((unsigned)s, nullptr); } + void addInnerSize(int s, TIntermTyped* n) { sizes.push_back((unsigned)s, n); } + void addInnerSize(TArraySize pair) { + sizes.push_back(pair.size, pair.node); + } + void addInnerSizes(const TArraySizes& s) { sizes.push_back(s.sizes); } + void changeOuterSize(int s) { sizes.changeFront((unsigned)s); } + int getImplicitSize() const { return implicitArraySize; } + void updateImplicitSize(int s) { implicitArraySize = std::max(implicitArraySize, s); } + bool isInnerUnsized() const + { + for (int d = 1; d < sizes.size(); ++d) { + if (sizes.getDimSize(d) == (unsigned)UnsizedArraySize) + return true; + } + + return false; + } + bool clearInnerUnsized() + { + for (int d = 1; d < sizes.size(); ++d) { + if (sizes.getDimSize(d) == (unsigned)UnsizedArraySize) + setDimSize(d, 1); + } + + return false; + } + bool isInnerSpecialization() const + { + for (int d = 1; d < sizes.size(); ++d) { + if (sizes.getDimNode(d) != nullptr) + return true; + } + + return false; + } + bool isOuterSpecialization() + { + return sizes.getDimNode(0) != nullptr; + } + + bool hasUnsized() const { return getOuterSize() == UnsizedArraySize || isInnerUnsized(); } + bool isSized() const { return getOuterSize() != UnsizedArraySize; } + void dereference() { sizes.pop_front(); } + void copyDereferenced(const TArraySizes& rhs) + { + assert(sizes.size() == 0); + if (rhs.sizes.size() > 1) + sizes.copyNonFront(rhs.sizes); + } + + bool sameInnerArrayness(const TArraySizes& rhs) const + { + if (sizes.size() != rhs.sizes.size()) + return false; + + for (int d = 1; d < sizes.size(); ++d) { + if (sizes.getDimSize(d) != rhs.sizes.getDimSize(d) || + sizes.getDimNode(d) != rhs.sizes.getDimNode(d)) + return false; + } + + return true; + } + + void setVariablyIndexed() { variablyIndexed = true; } + bool isVariablyIndexed() const { return variablyIndexed; } + + bool operator==(const TArraySizes& rhs) const { return sizes == rhs.sizes; } + bool operator!=(const TArraySizes& rhs) const { return sizes != rhs.sizes; } + +protected: + TSmallArrayVector sizes; + + TArraySizes(const TArraySizes&); + + // For tracking maximum referenced compile-time constant index. + // Applies only to the outer-most dimension. Potentially becomes + // the implicit size of the array, if not variably indexed and + // otherwise legal. + int implicitArraySize; + bool variablyIndexed; // true if array is indexed with a non compile-time constant +}; + +} // end namespace glslang + +#endif // _ARRAYS_INCLUDED_ diff --git a/android/x86_64/include/glslang/Include/glslang_c_interface.h b/android/x86_64/include/glslang/Include/glslang_c_interface.h new file mode 100644 index 00000000..4b32e2b8 --- /dev/null +++ b/android/x86_64/include/glslang/Include/glslang_c_interface.h @@ -0,0 +1,249 @@ +/** + This code is based on the glslang_c_interface implementation by Viktor Latypov +**/ + +/** +BSD 2-Clause License + +Copyright (c) 2019, Viktor Latypov +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +#ifndef GLSLANG_C_IFACE_H_INCLUDED +#define GLSLANG_C_IFACE_H_INCLUDED + +#include +#include + +#include "glslang_c_shader_types.h" + +typedef struct glslang_shader_s glslang_shader_t; +typedef struct glslang_program_s glslang_program_t; + +/* TLimits counterpart */ +typedef struct glslang_limits_s { + bool non_inductive_for_loops; + bool while_loops; + bool do_while_loops; + bool general_uniform_indexing; + bool general_attribute_matrix_vector_indexing; + bool general_varying_indexing; + bool general_sampler_indexing; + bool general_variable_indexing; + bool general_constant_matrix_vector_indexing; +} glslang_limits_t; + +/* TBuiltInResource counterpart */ +typedef struct glslang_resource_s { + int max_lights; + int max_clip_planes; + int max_texture_units; + int max_texture_coords; + int max_vertex_attribs; + int max_vertex_uniform_components; + int max_varying_floats; + int max_vertex_texture_image_units; + int max_combined_texture_image_units; + int max_texture_image_units; + int max_fragment_uniform_components; + int max_draw_buffers; + int max_vertex_uniform_vectors; + int max_varying_vectors; + int max_fragment_uniform_vectors; + int max_vertex_output_vectors; + int max_fragment_input_vectors; + int min_program_texel_offset; + int max_program_texel_offset; + int max_clip_distances; + int max_compute_work_group_count_x; + int max_compute_work_group_count_y; + int max_compute_work_group_count_z; + int max_compute_work_group_size_x; + int max_compute_work_group_size_y; + int max_compute_work_group_size_z; + int max_compute_uniform_components; + int max_compute_texture_image_units; + int max_compute_image_uniforms; + int max_compute_atomic_counters; + int max_compute_atomic_counter_buffers; + int max_varying_components; + int max_vertex_output_components; + int max_geometry_input_components; + int max_geometry_output_components; + int max_fragment_input_components; + int max_image_units; + int max_combined_image_units_and_fragment_outputs; + int max_combined_shader_output_resources; + int max_image_samples; + int max_vertex_image_uniforms; + int max_tess_control_image_uniforms; + int max_tess_evaluation_image_uniforms; + int max_geometry_image_uniforms; + int max_fragment_image_uniforms; + int max_combined_image_uniforms; + int max_geometry_texture_image_units; + int max_geometry_output_vertices; + int max_geometry_total_output_components; + int max_geometry_uniform_components; + int max_geometry_varying_components; + int max_tess_control_input_components; + int max_tess_control_output_components; + int max_tess_control_texture_image_units; + int max_tess_control_uniform_components; + int max_tess_control_total_output_components; + int max_tess_evaluation_input_components; + int max_tess_evaluation_output_components; + int max_tess_evaluation_texture_image_units; + int max_tess_evaluation_uniform_components; + int max_tess_patch_components; + int max_patch_vertices; + int max_tess_gen_level; + int max_viewports; + int max_vertex_atomic_counters; + int max_tess_control_atomic_counters; + int max_tess_evaluation_atomic_counters; + int max_geometry_atomic_counters; + int max_fragment_atomic_counters; + int max_combined_atomic_counters; + int max_atomic_counter_bindings; + int max_vertex_atomic_counter_buffers; + int max_tess_control_atomic_counter_buffers; + int max_tess_evaluation_atomic_counter_buffers; + int max_geometry_atomic_counter_buffers; + int max_fragment_atomic_counter_buffers; + int max_combined_atomic_counter_buffers; + int max_atomic_counter_buffer_size; + int max_transform_feedback_buffers; + int max_transform_feedback_interleaved_components; + int max_cull_distances; + int max_combined_clip_and_cull_distances; + int max_samples; + int max_mesh_output_vertices_nv; + int max_mesh_output_primitives_nv; + int max_mesh_work_group_size_x_nv; + int max_mesh_work_group_size_y_nv; + int max_mesh_work_group_size_z_nv; + int max_task_work_group_size_x_nv; + int max_task_work_group_size_y_nv; + int max_task_work_group_size_z_nv; + int max_mesh_view_count_nv; + int maxDualSourceDrawBuffersEXT; + + glslang_limits_t limits; +} glslang_resource_t; + +typedef struct glslang_input_s { + glslang_source_t language; + glslang_stage_t stage; + glslang_client_t client; + glslang_target_client_version_t client_version; + glslang_target_language_t target_language; + glslang_target_language_version_t target_language_version; + /** Shader source code */ + const char* code; + int default_version; + glslang_profile_t default_profile; + int force_default_version_and_profile; + int forward_compatible; + glslang_messages_t messages; + const glslang_resource_t* resource; +} glslang_input_t; + +/* Inclusion result structure allocated by C include_local/include_system callbacks */ +typedef struct glsl_include_result_s { + /* Header file name or NULL if inclusion failed */ + const char* header_name; + + /* Header contents or NULL */ + const char* header_data; + size_t header_length; + +} glsl_include_result_t; + +/* Callback for local file inclusion */ +typedef glsl_include_result_t* (*glsl_include_local_func)(void* ctx, const char* header_name, const char* includer_name, + size_t include_depth); + +/* Callback for system file inclusion */ +typedef glsl_include_result_t* (*glsl_include_system_func)(void* ctx, const char* header_name, + const char* includer_name, size_t include_depth); + +/* Callback for include result destruction */ +typedef int (*glsl_free_include_result_func)(void* ctx, glsl_include_result_t* result); + +/* Collection of callbacks for GLSL preprocessor */ +typedef struct glsl_include_callbacks_s { + glsl_include_system_func include_system; + glsl_include_local_func include_local; + glsl_free_include_result_func free_include_result; +} glsl_include_callbacks_t; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef GLSLANG_IS_SHARED_LIBRARY + #ifdef _WIN32 + #ifdef GLSLANG_EXPORTING + #define GLSLANG_EXPORT __declspec(dllexport) + #else + #define GLSLANG_EXPORT __declspec(dllimport) + #endif + #elif __GNUC__ >= 4 + #define GLSLANG_EXPORT __attribute__((visibility("default"))) + #endif +#endif // GLSLANG_IS_SHARED_LIBRARY + +#ifndef GLSLANG_EXPORT +#define GLSLANG_EXPORT +#endif + +GLSLANG_EXPORT int glslang_initialize_process(); +GLSLANG_EXPORT void glslang_finalize_process(); + +GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* input); +GLSLANG_EXPORT void glslang_shader_delete(glslang_shader_t* shader); +GLSLANG_EXPORT int glslang_shader_preprocess(glslang_shader_t* shader, const glslang_input_t* input); +GLSLANG_EXPORT int glslang_shader_parse(glslang_shader_t* shader, const glslang_input_t* input); +GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader); +GLSLANG_EXPORT const char* glslang_shader_get_info_log(glslang_shader_t* shader); +GLSLANG_EXPORT const char* glslang_shader_get_info_debug_log(glslang_shader_t* shader); + +GLSLANG_EXPORT glslang_program_t* glslang_program_create(); +GLSLANG_EXPORT void glslang_program_delete(glslang_program_t* program); +GLSLANG_EXPORT void glslang_program_add_shader(glslang_program_t* program, glslang_shader_t* shader); +GLSLANG_EXPORT int glslang_program_link(glslang_program_t* program, int messages); // glslang_messages_t +GLSLANG_EXPORT void glslang_program_SPIRV_generate(glslang_program_t* program, glslang_stage_t stage); +GLSLANG_EXPORT size_t glslang_program_SPIRV_get_size(glslang_program_t* program); +GLSLANG_EXPORT void glslang_program_SPIRV_get(glslang_program_t* program, unsigned int*); +GLSLANG_EXPORT unsigned int* glslang_program_SPIRV_get_ptr(glslang_program_t* program); +GLSLANG_EXPORT const char* glslang_program_SPIRV_get_messages(glslang_program_t* program); +GLSLANG_EXPORT const char* glslang_program_get_info_log(glslang_program_t* program); +GLSLANG_EXPORT const char* glslang_program_get_info_debug_log(glslang_program_t* program); + +#ifdef __cplusplus +} +#endif + +#endif /* #ifdef GLSLANG_C_IFACE_INCLUDED */ diff --git a/android/x86_64/include/glslang/Include/glslang_c_shader_types.h b/android/x86_64/include/glslang/Include/glslang_c_shader_types.h new file mode 100644 index 00000000..d01a115f --- /dev/null +++ b/android/x86_64/include/glslang/Include/glslang_c_shader_types.h @@ -0,0 +1,185 @@ +/** + This code is based on the glslang_c_interface implementation by Viktor Latypov +**/ + +/** +BSD 2-Clause License + +Copyright (c) 2019, Viktor Latypov +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**/ + +#ifndef C_SHADER_TYPES_H_INCLUDED +#define C_SHADER_TYPES_H_INCLUDED + +#define LAST_ELEMENT_MARKER(x) x + +/* EShLanguage counterpart */ +typedef enum { + GLSLANG_STAGE_VERTEX, + GLSLANG_STAGE_TESSCONTROL, + GLSLANG_STAGE_TESSEVALUATION, + GLSLANG_STAGE_GEOMETRY, + GLSLANG_STAGE_FRAGMENT, + GLSLANG_STAGE_COMPUTE, + GLSLANG_STAGE_RAYGEN_NV, + GLSLANG_STAGE_INTERSECT_NV, + GLSLANG_STAGE_ANYHIT_NV, + GLSLANG_STAGE_CLOSESTHIT_NV, + GLSLANG_STAGE_MISS_NV, + GLSLANG_STAGE_CALLABLE_NV, + GLSLANG_STAGE_TASK_NV, + GLSLANG_STAGE_MESH_NV, + LAST_ELEMENT_MARKER(GLSLANG_STAGE_COUNT), +} glslang_stage_t; // would be better as stage, but this is ancient now + +/* EShLanguageMask counterpart */ +typedef enum { + GLSLANG_STAGE_VERTEX_MASK = (1 << GLSLANG_STAGE_VERTEX), + GLSLANG_STAGE_TESSCONTROL_MASK = (1 << GLSLANG_STAGE_TESSCONTROL), + GLSLANG_STAGE_TESSEVALUATION_MASK = (1 << GLSLANG_STAGE_TESSEVALUATION), + GLSLANG_STAGE_GEOMETRY_MASK = (1 << GLSLANG_STAGE_GEOMETRY), + GLSLANG_STAGE_FRAGMENT_MASK = (1 << GLSLANG_STAGE_FRAGMENT), + GLSLANG_STAGE_COMPUTE_MASK = (1 << GLSLANG_STAGE_COMPUTE), + GLSLANG_STAGE_RAYGEN_NV_MASK = (1 << GLSLANG_STAGE_RAYGEN_NV), + GLSLANG_STAGE_INTERSECT_NV_MASK = (1 << GLSLANG_STAGE_INTERSECT_NV), + GLSLANG_STAGE_ANYHIT_NV_MASK = (1 << GLSLANG_STAGE_ANYHIT_NV), + GLSLANG_STAGE_CLOSESTHIT_NV_MASK = (1 << GLSLANG_STAGE_CLOSESTHIT_NV), + GLSLANG_STAGE_MISS_NV_MASK = (1 << GLSLANG_STAGE_MISS_NV), + GLSLANG_STAGE_CALLABLE_NV_MASK = (1 << GLSLANG_STAGE_CALLABLE_NV), + GLSLANG_STAGE_TASK_NV_MASK = (1 << GLSLANG_STAGE_TASK_NV), + GLSLANG_STAGE_MESH_NV_MASK = (1 << GLSLANG_STAGE_MESH_NV), + LAST_ELEMENT_MARKER(GLSLANG_STAGE_MASK_COUNT), +} glslang_stage_mask_t; + +/* EShSource counterpart */ +typedef enum { + GLSLANG_SOURCE_NONE, + GLSLANG_SOURCE_GLSL, + GLSLANG_SOURCE_HLSL, + LAST_ELEMENT_MARKER(GLSLANG_SOURCE_COUNT), +} glslang_source_t; + +/* EShClient counterpart */ +typedef enum { + GLSLANG_CLIENT_NONE, + GLSLANG_CLIENT_VULKAN, + GLSLANG_CLIENT_OPENGL, + LAST_ELEMENT_MARKER(GLSLANG_CLIENT_COUNT), +} glslang_client_t; + +/* EShTargetLanguage counterpart */ +typedef enum { + GLSLANG_TARGET_NONE, + GLSLANG_TARGET_SPV, + LAST_ELEMENT_MARKER(GLSLANG_TARGET_COUNT), +} glslang_target_language_t; + +/* SH_TARGET_ClientVersion counterpart */ +typedef enum { + GLSLANG_TARGET_VULKAN_1_0 = (1 << 22), + GLSLANG_TARGET_VULKAN_1_1 = (1 << 22) | (1 << 12), + GLSLANG_TARGET_OPENGL_450 = 450, + LAST_ELEMENT_MARKER(GLSLANG_TARGET_CLIENT_VERSION_COUNT), +} glslang_target_client_version_t; + +/* SH_TARGET_LanguageVersion counterpart */ +typedef enum { + GLSLANG_TARGET_SPV_1_0 = (1 << 16), + GLSLANG_TARGET_SPV_1_1 = (1 << 16) | (1 << 8), + GLSLANG_TARGET_SPV_1_2 = (1 << 16) | (2 << 8), + GLSLANG_TARGET_SPV_1_3 = (1 << 16) | (3 << 8), + GLSLANG_TARGET_SPV_1_4 = (1 << 16) | (4 << 8), + GLSLANG_TARGET_SPV_1_5 = (1 << 16) | (5 << 8), + LAST_ELEMENT_MARKER(GLSLANG_TARGET_LANGUAGE_VERSION_COUNT), +} glslang_target_language_version_t; + +/* EShExecutable counterpart */ +typedef enum { GLSLANG_EX_VERTEX_FRAGMENT, GLSLANG_EX_FRAGMENT } glslang_executable_t; + +/* EShOptimizationLevel counterpart */ +typedef enum { + GLSLANG_OPT_NO_GENERATION, + GLSLANG_OPT_NONE, + GLSLANG_OPT_SIMPLE, + GLSLANG_OPT_FULL, + LAST_ELEMENT_MARKER(GLSLANG_OPT_LEVEL_COUNT), +} glslang_optimization_level_t; + +/* EShTextureSamplerTransformMode counterpart */ +typedef enum { + GLSLANG_TEX_SAMP_TRANS_KEEP, + GLSLANG_TEX_SAMP_TRANS_UPGRADE_TEXTURE_REMOVE_SAMPLER, + LAST_ELEMENT_MARKER(GLSLANG_TEX_SAMP_TRANS_COUNT), +} glslang_texture_sampler_transform_mode_t; + +/* EShMessages counterpart */ +typedef enum { + GLSLANG_MSG_DEFAULT_BIT = 0, + GLSLANG_MSG_RELAXED_ERRORS_BIT = (1 << 0), + GLSLANG_MSG_SUPPRESS_WARNINGS_BIT = (1 << 1), + GLSLANG_MSG_AST_BIT = (1 << 2), + GLSLANG_MSG_SPV_RULES_BIT = (1 << 3), + GLSLANG_MSG_VULKAN_RULES_BIT = (1 << 4), + GLSLANG_MSG_ONLY_PREPROCESSOR_BIT = (1 << 5), + GLSLANG_MSG_READ_HLSL_BIT = (1 << 6), + GLSLANG_MSG_CASCADING_ERRORS_BIT = (1 << 7), + GLSLANG_MSG_KEEP_UNCALLED_BIT = (1 << 8), + GLSLANG_MSG_HLSL_OFFSETS_BIT = (1 << 9), + GLSLANG_MSG_DEBUG_INFO_BIT = (1 << 10), + GLSLANG_MSG_HLSL_ENABLE_16BIT_TYPES_BIT = (1 << 11), + GLSLANG_MSG_HLSL_LEGALIZATION_BIT = (1 << 12), + GLSLANG_MSG_HLSL_DX9_COMPATIBLE_BIT = (1 << 13), + GLSLANG_MSG_BUILTIN_SYMBOL_TABLE_BIT = (1 << 14), + LAST_ELEMENT_MARKER(GLSLANG_MSG_COUNT), +} glslang_messages_t; + +/* EShReflectionOptions counterpart */ +typedef enum { + GLSLANG_REFLECTION_DEFAULT_BIT = 0, + GLSLANG_REFLECTION_STRICT_ARRAY_SUFFIX_BIT = (1 << 0), + GLSLANG_REFLECTION_BASIC_ARRAY_SUFFIX_BIT = (1 << 1), + GLSLANG_REFLECTION_INTERMEDIATE_IOO_BIT = (1 << 2), + GLSLANG_REFLECTION_SEPARATE_BUFFERS_BIT = (1 << 3), + GLSLANG_REFLECTION_ALL_BLOCK_VARIABLES_BIT = (1 << 4), + GLSLANG_REFLECTION_UNWRAP_IO_BLOCKS_BIT = (1 << 5), + GLSLANG_REFLECTION_ALL_IO_VARIABLES_BIT = (1 << 6), + GLSLANG_REFLECTION_SHARED_STD140_SSBO_BIT = (1 << 7), + GLSLANG_REFLECTION_SHARED_STD140_UBO_BIT = (1 << 8), + LAST_ELEMENT_MARKER(GLSLANG_REFLECTION_COUNT), +} glslang_reflection_options_t; + +/* EProfile counterpart (from Versions.h) */ +typedef enum { + GLSLANG_BAD_PROFILE = 0, + GLSLANG_NO_PROFILE = (1 << 0), + GLSLANG_CORE_PROFILE = (1 << 1), + GLSLANG_COMPATIBILITY_PROFILE = (1 << 2), + GLSLANG_ES_PROFILE = (1 << 3), + LAST_ELEMENT_MARKER(GLSLANG_PROFILE_COUNT), +} glslang_profile_t; + +#undef LAST_ELEMENT_MARKER + +#endif diff --git a/android/x86_64/include/glslang/Include/intermediate.h b/android/x86_64/include/glslang/Include/intermediate.h new file mode 100644 index 00000000..19cd32e9 --- /dev/null +++ b/android/x86_64/include/glslang/Include/intermediate.h @@ -0,0 +1,1820 @@ +// +// Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +// Copyright (C) 2012-2016 LunarG, Inc. +// Copyright (C) 2017 ARM Limited. +// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +// +// Definition of the in-memory high-level intermediate representation +// of shaders. This is a tree that parser creates. +// +// Nodes in the tree are defined as a hierarchy of classes derived from +// TIntermNode. Each is a node in a tree. There is no preset branching factor; +// each node can have it's own type of list of children. +// + +#ifndef __INTERMEDIATE_H +#define __INTERMEDIATE_H + +#if defined(_MSC_VER) && _MSC_VER >= 1900 + #pragma warning(disable : 4464) // relative include path contains '..' + #pragma warning(disable : 5026) // 'glslang::TIntermUnary': move constructor was implicitly defined as deleted +#endif + +#include "../Include/Common.h" +#include "../Include/Types.h" +#include "../Include/ConstantUnion.h" + +namespace glslang { + +class TIntermediate; + +// +// Operators used by the high-level (parse tree) representation. +// +enum TOperator { + EOpNull, // if in a node, should only mean a node is still being built + EOpSequence, // denotes a list of statements, or parameters, etc. + EOpLinkerObjects, // for aggregate node of objects the linker may need, if not reference by the rest of the AST + EOpFunctionCall, + EOpFunction, // For function definition + EOpParameters, // an aggregate listing the parameters to a function + + // + // Unary operators + // + + EOpNegative, + EOpLogicalNot, + EOpVectorLogicalNot, + EOpBitwiseNot, + + EOpPostIncrement, + EOpPostDecrement, + EOpPreIncrement, + EOpPreDecrement, + + EOpCopyObject, + + // (u)int* -> bool + EOpConvInt8ToBool, + EOpConvUint8ToBool, + EOpConvInt16ToBool, + EOpConvUint16ToBool, + EOpConvIntToBool, + EOpConvUintToBool, + EOpConvInt64ToBool, + EOpConvUint64ToBool, + + // float* -> bool + EOpConvFloat16ToBool, + EOpConvFloatToBool, + EOpConvDoubleToBool, + + // bool -> (u)int* + EOpConvBoolToInt8, + EOpConvBoolToUint8, + EOpConvBoolToInt16, + EOpConvBoolToUint16, + EOpConvBoolToInt, + EOpConvBoolToUint, + EOpConvBoolToInt64, + EOpConvBoolToUint64, + + // bool -> float* + EOpConvBoolToFloat16, + EOpConvBoolToFloat, + EOpConvBoolToDouble, + + // int8_t -> (u)int* + EOpConvInt8ToInt16, + EOpConvInt8ToInt, + EOpConvInt8ToInt64, + EOpConvInt8ToUint8, + EOpConvInt8ToUint16, + EOpConvInt8ToUint, + EOpConvInt8ToUint64, + + // uint8_t -> (u)int* + EOpConvUint8ToInt8, + EOpConvUint8ToInt16, + EOpConvUint8ToInt, + EOpConvUint8ToInt64, + EOpConvUint8ToUint16, + EOpConvUint8ToUint, + EOpConvUint8ToUint64, + + // int8_t -> float* + EOpConvInt8ToFloat16, + EOpConvInt8ToFloat, + EOpConvInt8ToDouble, + + // uint8_t -> float* + EOpConvUint8ToFloat16, + EOpConvUint8ToFloat, + EOpConvUint8ToDouble, + + // int16_t -> (u)int* + EOpConvInt16ToInt8, + EOpConvInt16ToInt, + EOpConvInt16ToInt64, + EOpConvInt16ToUint8, + EOpConvInt16ToUint16, + EOpConvInt16ToUint, + EOpConvInt16ToUint64, + + // uint16_t -> (u)int* + EOpConvUint16ToInt8, + EOpConvUint16ToInt16, + EOpConvUint16ToInt, + EOpConvUint16ToInt64, + EOpConvUint16ToUint8, + EOpConvUint16ToUint, + EOpConvUint16ToUint64, + + // int16_t -> float* + EOpConvInt16ToFloat16, + EOpConvInt16ToFloat, + EOpConvInt16ToDouble, + + // uint16_t -> float* + EOpConvUint16ToFloat16, + EOpConvUint16ToFloat, + EOpConvUint16ToDouble, + + // int32_t -> (u)int* + EOpConvIntToInt8, + EOpConvIntToInt16, + EOpConvIntToInt64, + EOpConvIntToUint8, + EOpConvIntToUint16, + EOpConvIntToUint, + EOpConvIntToUint64, + + // uint32_t -> (u)int* + EOpConvUintToInt8, + EOpConvUintToInt16, + EOpConvUintToInt, + EOpConvUintToInt64, + EOpConvUintToUint8, + EOpConvUintToUint16, + EOpConvUintToUint64, + + // int32_t -> float* + EOpConvIntToFloat16, + EOpConvIntToFloat, + EOpConvIntToDouble, + + // uint32_t -> float* + EOpConvUintToFloat16, + EOpConvUintToFloat, + EOpConvUintToDouble, + + // int64_t -> (u)int* + EOpConvInt64ToInt8, + EOpConvInt64ToInt16, + EOpConvInt64ToInt, + EOpConvInt64ToUint8, + EOpConvInt64ToUint16, + EOpConvInt64ToUint, + EOpConvInt64ToUint64, + + // uint64_t -> (u)int* + EOpConvUint64ToInt8, + EOpConvUint64ToInt16, + EOpConvUint64ToInt, + EOpConvUint64ToInt64, + EOpConvUint64ToUint8, + EOpConvUint64ToUint16, + EOpConvUint64ToUint, + + // int64_t -> float* + EOpConvInt64ToFloat16, + EOpConvInt64ToFloat, + EOpConvInt64ToDouble, + + // uint64_t -> float* + EOpConvUint64ToFloat16, + EOpConvUint64ToFloat, + EOpConvUint64ToDouble, + + // float16_t -> (u)int* + EOpConvFloat16ToInt8, + EOpConvFloat16ToInt16, + EOpConvFloat16ToInt, + EOpConvFloat16ToInt64, + EOpConvFloat16ToUint8, + EOpConvFloat16ToUint16, + EOpConvFloat16ToUint, + EOpConvFloat16ToUint64, + + // float16_t -> float* + EOpConvFloat16ToFloat, + EOpConvFloat16ToDouble, + + // float -> (u)int* + EOpConvFloatToInt8, + EOpConvFloatToInt16, + EOpConvFloatToInt, + EOpConvFloatToInt64, + EOpConvFloatToUint8, + EOpConvFloatToUint16, + EOpConvFloatToUint, + EOpConvFloatToUint64, + + // float -> float* + EOpConvFloatToFloat16, + EOpConvFloatToDouble, + + // float64 _t-> (u)int* + EOpConvDoubleToInt8, + EOpConvDoubleToInt16, + EOpConvDoubleToInt, + EOpConvDoubleToInt64, + EOpConvDoubleToUint8, + EOpConvDoubleToUint16, + EOpConvDoubleToUint, + EOpConvDoubleToUint64, + + // float64_t -> float* + EOpConvDoubleToFloat16, + EOpConvDoubleToFloat, + + // uint64_t <-> pointer + EOpConvUint64ToPtr, + EOpConvPtrToUint64, + + // uvec2 <-> pointer + EOpConvUvec2ToPtr, + EOpConvPtrToUvec2, + + // uint64_t -> accelerationStructureEXT + EOpConvUint64ToAccStruct, + + // uvec2 -> accelerationStructureEXT + EOpConvUvec2ToAccStruct, + + // + // binary operations + // + + EOpAdd, + EOpSub, + EOpMul, + EOpDiv, + EOpMod, + EOpRightShift, + EOpLeftShift, + EOpAnd, + EOpInclusiveOr, + EOpExclusiveOr, + EOpEqual, + EOpNotEqual, + EOpVectorEqual, + EOpVectorNotEqual, + EOpLessThan, + EOpGreaterThan, + EOpLessThanEqual, + EOpGreaterThanEqual, + EOpComma, + + EOpVectorTimesScalar, + EOpVectorTimesMatrix, + EOpMatrixTimesVector, + EOpMatrixTimesScalar, + + EOpLogicalOr, + EOpLogicalXor, + EOpLogicalAnd, + + EOpIndexDirect, + EOpIndexIndirect, + EOpIndexDirectStruct, + + EOpVectorSwizzle, + + EOpMethod, + EOpScoping, + + // + // Built-in functions mapped to operators + // + + EOpRadians, + EOpDegrees, + EOpSin, + EOpCos, + EOpTan, + EOpAsin, + EOpAcos, + EOpAtan, + EOpSinh, + EOpCosh, + EOpTanh, + EOpAsinh, + EOpAcosh, + EOpAtanh, + + EOpPow, + EOpExp, + EOpLog, + EOpExp2, + EOpLog2, + EOpSqrt, + EOpInverseSqrt, + + EOpAbs, + EOpSign, + EOpFloor, + EOpTrunc, + EOpRound, + EOpRoundEven, + EOpCeil, + EOpFract, + EOpModf, + EOpMin, + EOpMax, + EOpClamp, + EOpMix, + EOpStep, + EOpSmoothStep, + + EOpIsNan, + EOpIsInf, + + EOpFma, + + EOpFrexp, + EOpLdexp, + + EOpFloatBitsToInt, + EOpFloatBitsToUint, + EOpIntBitsToFloat, + EOpUintBitsToFloat, + EOpDoubleBitsToInt64, + EOpDoubleBitsToUint64, + EOpInt64BitsToDouble, + EOpUint64BitsToDouble, + EOpFloat16BitsToInt16, + EOpFloat16BitsToUint16, + EOpInt16BitsToFloat16, + EOpUint16BitsToFloat16, + EOpPackSnorm2x16, + EOpUnpackSnorm2x16, + EOpPackUnorm2x16, + EOpUnpackUnorm2x16, + EOpPackSnorm4x8, + EOpUnpackSnorm4x8, + EOpPackUnorm4x8, + EOpUnpackUnorm4x8, + EOpPackHalf2x16, + EOpUnpackHalf2x16, + EOpPackDouble2x32, + EOpUnpackDouble2x32, + EOpPackInt2x32, + EOpUnpackInt2x32, + EOpPackUint2x32, + EOpUnpackUint2x32, + EOpPackFloat2x16, + EOpUnpackFloat2x16, + EOpPackInt2x16, + EOpUnpackInt2x16, + EOpPackUint2x16, + EOpUnpackUint2x16, + EOpPackInt4x16, + EOpUnpackInt4x16, + EOpPackUint4x16, + EOpUnpackUint4x16, + EOpPack16, + EOpPack32, + EOpPack64, + EOpUnpack32, + EOpUnpack16, + EOpUnpack8, + + EOpLength, + EOpDistance, + EOpDot, + EOpCross, + EOpNormalize, + EOpFaceForward, + EOpReflect, + EOpRefract, + + EOpMin3, + EOpMax3, + EOpMid3, + + EOpDPdx, // Fragment only + EOpDPdy, // Fragment only + EOpFwidth, // Fragment only + EOpDPdxFine, // Fragment only + EOpDPdyFine, // Fragment only + EOpFwidthFine, // Fragment only + EOpDPdxCoarse, // Fragment only + EOpDPdyCoarse, // Fragment only + EOpFwidthCoarse, // Fragment only + + EOpInterpolateAtCentroid, // Fragment only + EOpInterpolateAtSample, // Fragment only + EOpInterpolateAtOffset, // Fragment only + EOpInterpolateAtVertex, + + EOpMatrixTimesMatrix, + EOpOuterProduct, + EOpDeterminant, + EOpMatrixInverse, + EOpTranspose, + + EOpFtransform, + + EOpNoise, + + EOpEmitVertex, // geometry only + EOpEndPrimitive, // geometry only + EOpEmitStreamVertex, // geometry only + EOpEndStreamPrimitive, // geometry only + + EOpBarrier, + EOpMemoryBarrier, + EOpMemoryBarrierAtomicCounter, + EOpMemoryBarrierBuffer, + EOpMemoryBarrierImage, + EOpMemoryBarrierShared, // compute only + EOpGroupMemoryBarrier, // compute only + + EOpBallot, + EOpReadInvocation, + EOpReadFirstInvocation, + + EOpAnyInvocation, + EOpAllInvocations, + EOpAllInvocationsEqual, + + EOpSubgroupGuardStart, + EOpSubgroupBarrier, + EOpSubgroupMemoryBarrier, + EOpSubgroupMemoryBarrierBuffer, + EOpSubgroupMemoryBarrierImage, + EOpSubgroupMemoryBarrierShared, // compute only + EOpSubgroupElect, + EOpSubgroupAll, + EOpSubgroupAny, + EOpSubgroupAllEqual, + EOpSubgroupBroadcast, + EOpSubgroupBroadcastFirst, + EOpSubgroupBallot, + EOpSubgroupInverseBallot, + EOpSubgroupBallotBitExtract, + EOpSubgroupBallotBitCount, + EOpSubgroupBallotInclusiveBitCount, + EOpSubgroupBallotExclusiveBitCount, + EOpSubgroupBallotFindLSB, + EOpSubgroupBallotFindMSB, + EOpSubgroupShuffle, + EOpSubgroupShuffleXor, + EOpSubgroupShuffleUp, + EOpSubgroupShuffleDown, + EOpSubgroupAdd, + EOpSubgroupMul, + EOpSubgroupMin, + EOpSubgroupMax, + EOpSubgroupAnd, + EOpSubgroupOr, + EOpSubgroupXor, + EOpSubgroupInclusiveAdd, + EOpSubgroupInclusiveMul, + EOpSubgroupInclusiveMin, + EOpSubgroupInclusiveMax, + EOpSubgroupInclusiveAnd, + EOpSubgroupInclusiveOr, + EOpSubgroupInclusiveXor, + EOpSubgroupExclusiveAdd, + EOpSubgroupExclusiveMul, + EOpSubgroupExclusiveMin, + EOpSubgroupExclusiveMax, + EOpSubgroupExclusiveAnd, + EOpSubgroupExclusiveOr, + EOpSubgroupExclusiveXor, + EOpSubgroupClusteredAdd, + EOpSubgroupClusteredMul, + EOpSubgroupClusteredMin, + EOpSubgroupClusteredMax, + EOpSubgroupClusteredAnd, + EOpSubgroupClusteredOr, + EOpSubgroupClusteredXor, + EOpSubgroupQuadBroadcast, + EOpSubgroupQuadSwapHorizontal, + EOpSubgroupQuadSwapVertical, + EOpSubgroupQuadSwapDiagonal, + + EOpSubgroupPartition, + EOpSubgroupPartitionedAdd, + EOpSubgroupPartitionedMul, + EOpSubgroupPartitionedMin, + EOpSubgroupPartitionedMax, + EOpSubgroupPartitionedAnd, + EOpSubgroupPartitionedOr, + EOpSubgroupPartitionedXor, + EOpSubgroupPartitionedInclusiveAdd, + EOpSubgroupPartitionedInclusiveMul, + EOpSubgroupPartitionedInclusiveMin, + EOpSubgroupPartitionedInclusiveMax, + EOpSubgroupPartitionedInclusiveAnd, + EOpSubgroupPartitionedInclusiveOr, + EOpSubgroupPartitionedInclusiveXor, + EOpSubgroupPartitionedExclusiveAdd, + EOpSubgroupPartitionedExclusiveMul, + EOpSubgroupPartitionedExclusiveMin, + EOpSubgroupPartitionedExclusiveMax, + EOpSubgroupPartitionedExclusiveAnd, + EOpSubgroupPartitionedExclusiveOr, + EOpSubgroupPartitionedExclusiveXor, + + EOpSubgroupGuardStop, + + EOpMinInvocations, + EOpMaxInvocations, + EOpAddInvocations, + EOpMinInvocationsNonUniform, + EOpMaxInvocationsNonUniform, + EOpAddInvocationsNonUniform, + EOpMinInvocationsInclusiveScan, + EOpMaxInvocationsInclusiveScan, + EOpAddInvocationsInclusiveScan, + EOpMinInvocationsInclusiveScanNonUniform, + EOpMaxInvocationsInclusiveScanNonUniform, + EOpAddInvocationsInclusiveScanNonUniform, + EOpMinInvocationsExclusiveScan, + EOpMaxInvocationsExclusiveScan, + EOpAddInvocationsExclusiveScan, + EOpMinInvocationsExclusiveScanNonUniform, + EOpMaxInvocationsExclusiveScanNonUniform, + EOpAddInvocationsExclusiveScanNonUniform, + EOpSwizzleInvocations, + EOpSwizzleInvocationsMasked, + EOpWriteInvocation, + EOpMbcnt, + + EOpCubeFaceIndex, + EOpCubeFaceCoord, + EOpTime, + + EOpAtomicAdd, + EOpAtomicMin, + EOpAtomicMax, + EOpAtomicAnd, + EOpAtomicOr, + EOpAtomicXor, + EOpAtomicExchange, + EOpAtomicCompSwap, + EOpAtomicLoad, + EOpAtomicStore, + + EOpAtomicCounterIncrement, // results in pre-increment value + EOpAtomicCounterDecrement, // results in post-decrement value + EOpAtomicCounter, + EOpAtomicCounterAdd, + EOpAtomicCounterSubtract, + EOpAtomicCounterMin, + EOpAtomicCounterMax, + EOpAtomicCounterAnd, + EOpAtomicCounterOr, + EOpAtomicCounterXor, + EOpAtomicCounterExchange, + EOpAtomicCounterCompSwap, + + EOpAny, + EOpAll, + + EOpCooperativeMatrixLoad, + EOpCooperativeMatrixStore, + EOpCooperativeMatrixMulAdd, + + EOpBeginInvocationInterlock, // Fragment only + EOpEndInvocationInterlock, // Fragment only + + EOpIsHelperInvocation, + + EOpDebugPrintf, + + // + // Branch + // + + EOpKill, // Fragment only + EOpTerminateInvocation, // Fragment only + EOpDemote, // Fragment only + EOpTerminateRayKHR, // Any-hit only + EOpIgnoreIntersectionKHR, // Any-hit only + EOpReturn, + EOpBreak, + EOpContinue, + EOpCase, + EOpDefault, + + // + // Constructors + // + + EOpConstructGuardStart, + EOpConstructInt, // these first scalar forms also identify what implicit conversion is needed + EOpConstructUint, + EOpConstructInt8, + EOpConstructUint8, + EOpConstructInt16, + EOpConstructUint16, + EOpConstructInt64, + EOpConstructUint64, + EOpConstructBool, + EOpConstructFloat, + EOpConstructDouble, + // Keep vector and matrix constructors in a consistent relative order for + // TParseContext::constructBuiltIn, which converts between 8/16/32 bit + // vector constructors + EOpConstructVec2, + EOpConstructVec3, + EOpConstructVec4, + EOpConstructMat2x2, + EOpConstructMat2x3, + EOpConstructMat2x4, + EOpConstructMat3x2, + EOpConstructMat3x3, + EOpConstructMat3x4, + EOpConstructMat4x2, + EOpConstructMat4x3, + EOpConstructMat4x4, + EOpConstructDVec2, + EOpConstructDVec3, + EOpConstructDVec4, + EOpConstructBVec2, + EOpConstructBVec3, + EOpConstructBVec4, + EOpConstructI8Vec2, + EOpConstructI8Vec3, + EOpConstructI8Vec4, + EOpConstructU8Vec2, + EOpConstructU8Vec3, + EOpConstructU8Vec4, + EOpConstructI16Vec2, + EOpConstructI16Vec3, + EOpConstructI16Vec4, + EOpConstructU16Vec2, + EOpConstructU16Vec3, + EOpConstructU16Vec4, + EOpConstructIVec2, + EOpConstructIVec3, + EOpConstructIVec4, + EOpConstructUVec2, + EOpConstructUVec3, + EOpConstructUVec4, + EOpConstructI64Vec2, + EOpConstructI64Vec3, + EOpConstructI64Vec4, + EOpConstructU64Vec2, + EOpConstructU64Vec3, + EOpConstructU64Vec4, + EOpConstructDMat2x2, + EOpConstructDMat2x3, + EOpConstructDMat2x4, + EOpConstructDMat3x2, + EOpConstructDMat3x3, + EOpConstructDMat3x4, + EOpConstructDMat4x2, + EOpConstructDMat4x3, + EOpConstructDMat4x4, + EOpConstructIMat2x2, + EOpConstructIMat2x3, + EOpConstructIMat2x4, + EOpConstructIMat3x2, + EOpConstructIMat3x3, + EOpConstructIMat3x4, + EOpConstructIMat4x2, + EOpConstructIMat4x3, + EOpConstructIMat4x4, + EOpConstructUMat2x2, + EOpConstructUMat2x3, + EOpConstructUMat2x4, + EOpConstructUMat3x2, + EOpConstructUMat3x3, + EOpConstructUMat3x4, + EOpConstructUMat4x2, + EOpConstructUMat4x3, + EOpConstructUMat4x4, + EOpConstructBMat2x2, + EOpConstructBMat2x3, + EOpConstructBMat2x4, + EOpConstructBMat3x2, + EOpConstructBMat3x3, + EOpConstructBMat3x4, + EOpConstructBMat4x2, + EOpConstructBMat4x3, + EOpConstructBMat4x4, + EOpConstructFloat16, + EOpConstructF16Vec2, + EOpConstructF16Vec3, + EOpConstructF16Vec4, + EOpConstructF16Mat2x2, + EOpConstructF16Mat2x3, + EOpConstructF16Mat2x4, + EOpConstructF16Mat3x2, + EOpConstructF16Mat3x3, + EOpConstructF16Mat3x4, + EOpConstructF16Mat4x2, + EOpConstructF16Mat4x3, + EOpConstructF16Mat4x4, + EOpConstructStruct, + EOpConstructTextureSampler, + EOpConstructNonuniform, // expected to be transformed away, not present in final AST + EOpConstructReference, + EOpConstructCooperativeMatrix, + EOpConstructAccStruct, + EOpConstructGuardEnd, + + // + // moves + // + + EOpAssign, + EOpAddAssign, + EOpSubAssign, + EOpMulAssign, + EOpVectorTimesMatrixAssign, + EOpVectorTimesScalarAssign, + EOpMatrixTimesScalarAssign, + EOpMatrixTimesMatrixAssign, + EOpDivAssign, + EOpModAssign, + EOpAndAssign, + EOpInclusiveOrAssign, + EOpExclusiveOrAssign, + EOpLeftShiftAssign, + EOpRightShiftAssign, + + // + // Array operators + // + + // Can apply to arrays, vectors, or matrices. + // Can be decomposed to a constant at compile time, but this does not always happen, + // due to link-time effects. So, consumer can expect either a link-time sized or + // run-time sized array. + EOpArrayLength, + + // + // Image operations + // + + EOpImageGuardBegin, + + EOpImageQuerySize, + EOpImageQuerySamples, + EOpImageLoad, + EOpImageStore, + EOpImageLoadLod, + EOpImageStoreLod, + EOpImageAtomicAdd, + EOpImageAtomicMin, + EOpImageAtomicMax, + EOpImageAtomicAnd, + EOpImageAtomicOr, + EOpImageAtomicXor, + EOpImageAtomicExchange, + EOpImageAtomicCompSwap, + EOpImageAtomicLoad, + EOpImageAtomicStore, + + EOpSubpassLoad, + EOpSubpassLoadMS, + EOpSparseImageLoad, + EOpSparseImageLoadLod, + + EOpImageGuardEnd, + + // + // Texture operations + // + + EOpTextureGuardBegin, + + EOpTextureQuerySize, + EOpTextureQueryLod, + EOpTextureQueryLevels, + EOpTextureQuerySamples, + + EOpSamplingGuardBegin, + + EOpTexture, + EOpTextureProj, + EOpTextureLod, + EOpTextureOffset, + EOpTextureFetch, + EOpTextureFetchOffset, + EOpTextureProjOffset, + EOpTextureLodOffset, + EOpTextureProjLod, + EOpTextureProjLodOffset, + EOpTextureGrad, + EOpTextureGradOffset, + EOpTextureProjGrad, + EOpTextureProjGradOffset, + EOpTextureGather, + EOpTextureGatherOffset, + EOpTextureGatherOffsets, + EOpTextureClamp, + EOpTextureOffsetClamp, + EOpTextureGradClamp, + EOpTextureGradOffsetClamp, + EOpTextureGatherLod, + EOpTextureGatherLodOffset, + EOpTextureGatherLodOffsets, + EOpFragmentMaskFetch, + EOpFragmentFetch, + + EOpSparseTextureGuardBegin, + + EOpSparseTexture, + EOpSparseTextureLod, + EOpSparseTextureOffset, + EOpSparseTextureFetch, + EOpSparseTextureFetchOffset, + EOpSparseTextureLodOffset, + EOpSparseTextureGrad, + EOpSparseTextureGradOffset, + EOpSparseTextureGather, + EOpSparseTextureGatherOffset, + EOpSparseTextureGatherOffsets, + EOpSparseTexelsResident, + EOpSparseTextureClamp, + EOpSparseTextureOffsetClamp, + EOpSparseTextureGradClamp, + EOpSparseTextureGradOffsetClamp, + EOpSparseTextureGatherLod, + EOpSparseTextureGatherLodOffset, + EOpSparseTextureGatherLodOffsets, + + EOpSparseTextureGuardEnd, + + EOpImageFootprintGuardBegin, + EOpImageSampleFootprintNV, + EOpImageSampleFootprintClampNV, + EOpImageSampleFootprintLodNV, + EOpImageSampleFootprintGradNV, + EOpImageSampleFootprintGradClampNV, + EOpImageFootprintGuardEnd, + EOpSamplingGuardEnd, + EOpTextureGuardEnd, + + // + // Integer operations + // + + EOpAddCarry, + EOpSubBorrow, + EOpUMulExtended, + EOpIMulExtended, + EOpBitfieldExtract, + EOpBitfieldInsert, + EOpBitFieldReverse, + EOpBitCount, + EOpFindLSB, + EOpFindMSB, + + EOpCountLeadingZeros, + EOpCountTrailingZeros, + EOpAbsDifference, + EOpAddSaturate, + EOpSubSaturate, + EOpAverage, + EOpAverageRounded, + EOpMul32x16, + + EOpTraceNV, + EOpTraceKHR, + EOpReportIntersection, + EOpIgnoreIntersectionNV, + EOpTerminateRayNV, + EOpExecuteCallableNV, + EOpExecuteCallableKHR, + EOpWritePackedPrimitiveIndices4x8NV, + + // + // GL_EXT_ray_query operations + // + + EOpRayQueryInitialize, + EOpRayQueryTerminate, + EOpRayQueryGenerateIntersection, + EOpRayQueryConfirmIntersection, + EOpRayQueryProceed, + EOpRayQueryGetIntersectionType, + EOpRayQueryGetRayTMin, + EOpRayQueryGetRayFlags, + EOpRayQueryGetIntersectionT, + EOpRayQueryGetIntersectionInstanceCustomIndex, + EOpRayQueryGetIntersectionInstanceId, + EOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffset, + EOpRayQueryGetIntersectionGeometryIndex, + EOpRayQueryGetIntersectionPrimitiveIndex, + EOpRayQueryGetIntersectionBarycentrics, + EOpRayQueryGetIntersectionFrontFace, + EOpRayQueryGetIntersectionCandidateAABBOpaque, + EOpRayQueryGetIntersectionObjectRayDirection, + EOpRayQueryGetIntersectionObjectRayOrigin, + EOpRayQueryGetWorldRayDirection, + EOpRayQueryGetWorldRayOrigin, + EOpRayQueryGetIntersectionObjectToWorld, + EOpRayQueryGetIntersectionWorldToObject, + + // + // HLSL operations + // + + EOpClip, // discard if input value < 0 + EOpIsFinite, + EOpLog10, // base 10 log + EOpRcp, // 1/x + EOpSaturate, // clamp from 0 to 1 + EOpSinCos, // sin and cos in out parameters + EOpGenMul, // mul(x,y) on any of mat/vec/scalars + EOpDst, // x = 1, y=src0.y * src1.y, z=src0.z, w=src1.w + EOpInterlockedAdd, // atomic ops, but uses [optional] out arg instead of return + EOpInterlockedAnd, // ... + EOpInterlockedCompareExchange, // ... + EOpInterlockedCompareStore, // ... + EOpInterlockedExchange, // ... + EOpInterlockedMax, // ... + EOpInterlockedMin, // ... + EOpInterlockedOr, // ... + EOpInterlockedXor, // ... + EOpAllMemoryBarrierWithGroupSync, // memory barriers without non-hlsl AST equivalents + EOpDeviceMemoryBarrier, // ... + EOpDeviceMemoryBarrierWithGroupSync, // ... + EOpWorkgroupMemoryBarrier, // ... + EOpWorkgroupMemoryBarrierWithGroupSync, // ... + EOpEvaluateAttributeSnapped, // InterpolateAtOffset with int position on 16x16 grid + EOpF32tof16, // HLSL conversion: half of a PackHalf2x16 + EOpF16tof32, // HLSL conversion: half of an UnpackHalf2x16 + EOpLit, // HLSL lighting coefficient vector + EOpTextureBias, // HLSL texture bias: will be lowered to EOpTexture + EOpAsDouble, // slightly different from EOpUint64BitsToDouble + EOpD3DCOLORtoUBYTE4, // convert and swizzle 4-component color to UBYTE4 range + + EOpMethodSample, // Texture object methods. These are translated to existing + EOpMethodSampleBias, // AST methods, and exist to represent HLSL semantics until that + EOpMethodSampleCmp, // translation is performed. See HlslParseContext::decomposeSampleMethods(). + EOpMethodSampleCmpLevelZero, // ... + EOpMethodSampleGrad, // ... + EOpMethodSampleLevel, // ... + EOpMethodLoad, // ... + EOpMethodGetDimensions, // ... + EOpMethodGetSamplePosition, // ... + EOpMethodGather, // ... + EOpMethodCalculateLevelOfDetail, // ... + EOpMethodCalculateLevelOfDetailUnclamped, // ... + + // Load already defined above for textures + EOpMethodLoad2, // Structure buffer object methods. These are translated to existing + EOpMethodLoad3, // AST methods, and exist to represent HLSL semantics until that + EOpMethodLoad4, // translation is performed. See HlslParseContext::decomposeSampleMethods(). + EOpMethodStore, // ... + EOpMethodStore2, // ... + EOpMethodStore3, // ... + EOpMethodStore4, // ... + EOpMethodIncrementCounter, // ... + EOpMethodDecrementCounter, // ... + // EOpMethodAppend is defined for geo shaders below + EOpMethodConsume, + + // SM5 texture methods + EOpMethodGatherRed, // These are covered under the above EOpMethodSample comment about + EOpMethodGatherGreen, // translation to existing AST opcodes. They exist temporarily + EOpMethodGatherBlue, // because HLSL arguments are slightly different. + EOpMethodGatherAlpha, // ... + EOpMethodGatherCmp, // ... + EOpMethodGatherCmpRed, // ... + EOpMethodGatherCmpGreen, // ... + EOpMethodGatherCmpBlue, // ... + EOpMethodGatherCmpAlpha, // ... + + // geometry methods + EOpMethodAppend, // Geometry shader methods + EOpMethodRestartStrip, // ... + + // matrix + EOpMatrixSwizzle, // select multiple matrix components (non-column) + + // SM6 wave ops + EOpWaveGetLaneCount, // Will decompose to gl_SubgroupSize. + EOpWaveGetLaneIndex, // Will decompose to gl_SubgroupInvocationID. + EOpWaveActiveCountBits, // Will decompose to subgroupBallotBitCount(subgroupBallot()). + EOpWavePrefixCountBits, // Will decompose to subgroupBallotInclusiveBitCount(subgroupBallot()). + + // Shader Clock Ops + EOpReadClockSubgroupKHR, + EOpReadClockDeviceKHR, +}; + +class TIntermTraverser; +class TIntermOperator; +class TIntermAggregate; +class TIntermUnary; +class TIntermBinary; +class TIntermConstantUnion; +class TIntermSelection; +class TIntermSwitch; +class TIntermBranch; +class TIntermTyped; +class TIntermMethod; +class TIntermSymbol; +class TIntermLoop; + +} // end namespace glslang + +// +// Base class for the tree nodes +// +// (Put outside the glslang namespace, as it's used as part of the external interface.) +// +class TIntermNode { +public: + POOL_ALLOCATOR_NEW_DELETE(glslang::GetThreadPoolAllocator()) + + TIntermNode() { loc.init(); } + virtual const glslang::TSourceLoc& getLoc() const { return loc; } + virtual void setLoc(const glslang::TSourceLoc& l) { loc = l; } + virtual void traverse(glslang::TIntermTraverser*) = 0; + virtual glslang::TIntermTyped* getAsTyped() { return 0; } + virtual glslang::TIntermOperator* getAsOperator() { return 0; } + virtual glslang::TIntermConstantUnion* getAsConstantUnion() { return 0; } + virtual glslang::TIntermAggregate* getAsAggregate() { return 0; } + virtual glslang::TIntermUnary* getAsUnaryNode() { return 0; } + virtual glslang::TIntermBinary* getAsBinaryNode() { return 0; } + virtual glslang::TIntermSelection* getAsSelectionNode() { return 0; } + virtual glslang::TIntermSwitch* getAsSwitchNode() { return 0; } + virtual glslang::TIntermMethod* getAsMethodNode() { return 0; } + virtual glslang::TIntermSymbol* getAsSymbolNode() { return 0; } + virtual glslang::TIntermBranch* getAsBranchNode() { return 0; } + virtual glslang::TIntermLoop* getAsLoopNode() { return 0; } + + virtual const glslang::TIntermTyped* getAsTyped() const { return 0; } + virtual const glslang::TIntermOperator* getAsOperator() const { return 0; } + virtual const glslang::TIntermConstantUnion* getAsConstantUnion() const { return 0; } + virtual const glslang::TIntermAggregate* getAsAggregate() const { return 0; } + virtual const glslang::TIntermUnary* getAsUnaryNode() const { return 0; } + virtual const glslang::TIntermBinary* getAsBinaryNode() const { return 0; } + virtual const glslang::TIntermSelection* getAsSelectionNode() const { return 0; } + virtual const glslang::TIntermSwitch* getAsSwitchNode() const { return 0; } + virtual const glslang::TIntermMethod* getAsMethodNode() const { return 0; } + virtual const glslang::TIntermSymbol* getAsSymbolNode() const { return 0; } + virtual const glslang::TIntermBranch* getAsBranchNode() const { return 0; } + virtual const glslang::TIntermLoop* getAsLoopNode() const { return 0; } + virtual ~TIntermNode() { } + +protected: + TIntermNode(const TIntermNode&); + TIntermNode& operator=(const TIntermNode&); + glslang::TSourceLoc loc; +}; + +namespace glslang { + +// +// This is just to help yacc. +// +struct TIntermNodePair { + TIntermNode* node1; + TIntermNode* node2; +}; + +// +// Intermediate class for nodes that have a type. +// +class TIntermTyped : public TIntermNode { +public: + TIntermTyped(const TType& t) { type.shallowCopy(t); } + TIntermTyped(TBasicType basicType) { TType bt(basicType); type.shallowCopy(bt); } + virtual TIntermTyped* getAsTyped() { return this; } + virtual const TIntermTyped* getAsTyped() const { return this; } + virtual void setType(const TType& t) { type.shallowCopy(t); } + virtual const TType& getType() const { return type; } + virtual TType& getWritableType() { return type; } + + virtual TBasicType getBasicType() const { return type.getBasicType(); } + virtual TQualifier& getQualifier() { return type.getQualifier(); } + virtual const TQualifier& getQualifier() const { return type.getQualifier(); } + virtual void propagatePrecision(TPrecisionQualifier); + virtual int getVectorSize() const { return type.getVectorSize(); } + virtual int getMatrixCols() const { return type.getMatrixCols(); } + virtual int getMatrixRows() const { return type.getMatrixRows(); } + virtual bool isMatrix() const { return type.isMatrix(); } + virtual bool isArray() const { return type.isArray(); } + virtual bool isVector() const { return type.isVector(); } + virtual bool isScalar() const { return type.isScalar(); } + virtual bool isStruct() const { return type.isStruct(); } + virtual bool isFloatingDomain() const { return type.isFloatingDomain(); } + virtual bool isIntegerDomain() const { return type.isIntegerDomain(); } + bool isAtomic() const { return type.isAtomic(); } + bool isReference() const { return type.isReference(); } + TString getCompleteString() const { return type.getCompleteString(); } + +protected: + TIntermTyped& operator=(const TIntermTyped&); + TType type; +}; + +// +// Handle for, do-while, and while loops. +// +class TIntermLoop : public TIntermNode { +public: + TIntermLoop(TIntermNode* aBody, TIntermTyped* aTest, TIntermTyped* aTerminal, bool testFirst) : + body(aBody), + test(aTest), + terminal(aTerminal), + first(testFirst), + unroll(false), + dontUnroll(false), + dependency(0), + minIterations(0), + maxIterations(iterationsInfinite), + iterationMultiple(1), + peelCount(0), + partialCount(0) + { } + + virtual TIntermLoop* getAsLoopNode() { return this; } + virtual const TIntermLoop* getAsLoopNode() const { return this; } + virtual void traverse(TIntermTraverser*); + TIntermNode* getBody() const { return body; } + TIntermTyped* getTest() const { return test; } + TIntermTyped* getTerminal() const { return terminal; } + bool testFirst() const { return first; } + + void setUnroll() { unroll = true; } + void setDontUnroll() { + dontUnroll = true; + peelCount = 0; + partialCount = 0; + } + bool getUnroll() const { return unroll; } + bool getDontUnroll() const { return dontUnroll; } + + static const unsigned int dependencyInfinite = 0xFFFFFFFF; + static const unsigned int iterationsInfinite = 0xFFFFFFFF; + void setLoopDependency(int d) { dependency = d; } + int getLoopDependency() const { return dependency; } + + void setMinIterations(unsigned int v) { minIterations = v; } + unsigned int getMinIterations() const { return minIterations; } + void setMaxIterations(unsigned int v) { maxIterations = v; } + unsigned int getMaxIterations() const { return maxIterations; } + void setIterationMultiple(unsigned int v) { iterationMultiple = v; } + unsigned int getIterationMultiple() const { return iterationMultiple; } + void setPeelCount(unsigned int v) { + peelCount = v; + dontUnroll = false; + } + unsigned int getPeelCount() const { return peelCount; } + void setPartialCount(unsigned int v) { + partialCount = v; + dontUnroll = false; + } + unsigned int getPartialCount() const { return partialCount; } + +protected: + TIntermNode* body; // code to loop over + TIntermTyped* test; // exit condition associated with loop, could be 0 for 'for' loops + TIntermTyped* terminal; // exists for for-loops + bool first; // true for while and for, not for do-while + bool unroll; // true if unroll requested + bool dontUnroll; // true if request to not unroll + unsigned int dependency; // loop dependency hint; 0 means not set or unknown + unsigned int minIterations; // as per the SPIR-V specification + unsigned int maxIterations; // as per the SPIR-V specification + unsigned int iterationMultiple; // as per the SPIR-V specification + unsigned int peelCount; // as per the SPIR-V specification + unsigned int partialCount; // as per the SPIR-V specification +}; + +// +// Handle case, break, continue, return, and kill. +// +class TIntermBranch : public TIntermNode { +public: + TIntermBranch(TOperator op, TIntermTyped* e) : + flowOp(op), + expression(e) { } + virtual TIntermBranch* getAsBranchNode() { return this; } + virtual const TIntermBranch* getAsBranchNode() const { return this; } + virtual void traverse(TIntermTraverser*); + TOperator getFlowOp() const { return flowOp; } + TIntermTyped* getExpression() const { return expression; } + void setExpression(TIntermTyped* pExpression) { expression = pExpression; } + void updatePrecision(TPrecisionQualifier parentPrecision); +protected: + TOperator flowOp; + TIntermTyped* expression; +}; + +// +// Represent method names before seeing their calling signature +// or resolving them to operations. Just an expression as the base object +// and a textural name. +// +class TIntermMethod : public TIntermTyped { +public: + TIntermMethod(TIntermTyped* o, const TType& t, const TString& m) : TIntermTyped(t), object(o), method(m) { } + virtual TIntermMethod* getAsMethodNode() { return this; } + virtual const TIntermMethod* getAsMethodNode() const { return this; } + virtual const TString& getMethodName() const { return method; } + virtual TIntermTyped* getObject() const { return object; } + virtual void traverse(TIntermTraverser*); +protected: + TIntermTyped* object; + TString method; +}; + +// +// Nodes that correspond to symbols or constants in the source code. +// +class TIntermSymbol : public TIntermTyped { +public: + // if symbol is initialized as symbol(sym), the memory comes from the pool allocator of sym. If sym comes from + // per process threadPoolAllocator, then it causes increased memory usage per compile + // it is essential to use "symbol = sym" to assign to symbol + TIntermSymbol(int i, const TString& n, const TType& t) + : TIntermTyped(t), id(i), +#ifndef GLSLANG_WEB + flattenSubset(-1), +#endif + constSubtree(nullptr) + { name = n; } + virtual int getId() const { return id; } + virtual void changeId(int i) { id = i; } + virtual const TString& getName() const { return name; } + virtual void traverse(TIntermTraverser*); + virtual TIntermSymbol* getAsSymbolNode() { return this; } + virtual const TIntermSymbol* getAsSymbolNode() const { return this; } + void setConstArray(const TConstUnionArray& c) { constArray = c; } + const TConstUnionArray& getConstArray() const { return constArray; } + void setConstSubtree(TIntermTyped* subtree) { constSubtree = subtree; } + TIntermTyped* getConstSubtree() const { return constSubtree; } +#ifndef GLSLANG_WEB + void setFlattenSubset(int subset) { flattenSubset = subset; } + virtual const TString& getAccessName() const; + + int getFlattenSubset() const { return flattenSubset; } // -1 means full object +#endif + + // This is meant for cases where a node has already been constructed, and + // later on, it becomes necessary to switch to a different symbol. + virtual void switchId(int newId) { id = newId; } + +protected: + int id; // the unique id of the symbol this node represents +#ifndef GLSLANG_WEB + int flattenSubset; // how deeply the flattened object rooted at id has been dereferenced +#endif + TString name; // the name of the symbol this node represents + TConstUnionArray constArray; // if the symbol is a front-end compile-time constant, this is its value + TIntermTyped* constSubtree; +}; + +class TIntermConstantUnion : public TIntermTyped { +public: + TIntermConstantUnion(const TConstUnionArray& ua, const TType& t) : TIntermTyped(t), constArray(ua), literal(false) { } + const TConstUnionArray& getConstArray() const { return constArray; } + virtual TIntermConstantUnion* getAsConstantUnion() { return this; } + virtual const TIntermConstantUnion* getAsConstantUnion() const { return this; } + virtual void traverse(TIntermTraverser*); + virtual TIntermTyped* fold(TOperator, const TIntermTyped*) const; + virtual TIntermTyped* fold(TOperator, const TType&) const; + void setLiteral() { literal = true; } + void setExpression() { literal = false; } + bool isLiteral() const { return literal; } + +protected: + TIntermConstantUnion& operator=(const TIntermConstantUnion&); + + const TConstUnionArray constArray; + bool literal; // true if node represents a literal in the source code +}; + +// Represent the independent aspects of a texturing TOperator +struct TCrackedTextureOp { + bool query; + bool proj; + bool lod; + bool fetch; + bool offset; + bool offsets; + bool gather; + bool grad; + bool subpass; + bool lodClamp; + bool fragMask; +}; + +// +// Intermediate class for node types that hold operators. +// +class TIntermOperator : public TIntermTyped { +public: + virtual TIntermOperator* getAsOperator() { return this; } + virtual const TIntermOperator* getAsOperator() const { return this; } + TOperator getOp() const { return op; } + void setOp(TOperator newOp) { op = newOp; } + bool modifiesState() const; + bool isConstructor() const; + bool isTexture() const { return op > EOpTextureGuardBegin && op < EOpTextureGuardEnd; } + bool isSampling() const { return op > EOpSamplingGuardBegin && op < EOpSamplingGuardEnd; } +#ifdef GLSLANG_WEB + bool isImage() const { return false; } + bool isSparseTexture() const { return false; } + bool isImageFootprint() const { return false; } + bool isSparseImage() const { return false; } + bool isSubgroup() const { return false; } +#else + bool isImage() const { return op > EOpImageGuardBegin && op < EOpImageGuardEnd; } + bool isSparseTexture() const { return op > EOpSparseTextureGuardBegin && op < EOpSparseTextureGuardEnd; } + bool isImageFootprint() const { return op > EOpImageFootprintGuardBegin && op < EOpImageFootprintGuardEnd; } + bool isSparseImage() const { return op == EOpSparseImageLoad; } + bool isSubgroup() const { return op > EOpSubgroupGuardStart && op < EOpSubgroupGuardStop; } +#endif + + void setOperationPrecision(TPrecisionQualifier p) { operationPrecision = p; } + TPrecisionQualifier getOperationPrecision() const { return operationPrecision != EpqNone ? + operationPrecision : + type.getQualifier().precision; } + TString getCompleteString() const + { + TString cs = type.getCompleteString(); + if (getOperationPrecision() != type.getQualifier().precision) { + cs += ", operation at "; + cs += GetPrecisionQualifierString(getOperationPrecision()); + } + + return cs; + } + + // Crack the op into the individual dimensions of texturing operation. + void crackTexture(TSampler sampler, TCrackedTextureOp& cracked) const + { + cracked.query = false; + cracked.proj = false; + cracked.lod = false; + cracked.fetch = false; + cracked.offset = false; + cracked.offsets = false; + cracked.gather = false; + cracked.grad = false; + cracked.subpass = false; + cracked.lodClamp = false; + cracked.fragMask = false; + + switch (op) { + case EOpImageQuerySize: + case EOpImageQuerySamples: + case EOpTextureQuerySize: + case EOpTextureQueryLod: + case EOpTextureQueryLevels: + case EOpTextureQuerySamples: + case EOpSparseTexelsResident: + cracked.query = true; + break; + case EOpTexture: + case EOpSparseTexture: + break; + case EOpTextureProj: + cracked.proj = true; + break; + case EOpTextureLod: + case EOpSparseTextureLod: + cracked.lod = true; + break; + case EOpTextureOffset: + case EOpSparseTextureOffset: + cracked.offset = true; + break; + case EOpTextureFetch: + case EOpSparseTextureFetch: + cracked.fetch = true; + if (sampler.is1D() || (sampler.dim == Esd2D && ! sampler.isMultiSample()) || sampler.dim == Esd3D) + cracked.lod = true; + break; + case EOpTextureFetchOffset: + case EOpSparseTextureFetchOffset: + cracked.fetch = true; + cracked.offset = true; + if (sampler.is1D() || (sampler.dim == Esd2D && ! sampler.isMultiSample()) || sampler.dim == Esd3D) + cracked.lod = true; + break; + case EOpTextureProjOffset: + cracked.offset = true; + cracked.proj = true; + break; + case EOpTextureLodOffset: + case EOpSparseTextureLodOffset: + cracked.offset = true; + cracked.lod = true; + break; + case EOpTextureProjLod: + cracked.lod = true; + cracked.proj = true; + break; + case EOpTextureProjLodOffset: + cracked.offset = true; + cracked.lod = true; + cracked.proj = true; + break; + case EOpTextureGrad: + case EOpSparseTextureGrad: + cracked.grad = true; + break; + case EOpTextureGradOffset: + case EOpSparseTextureGradOffset: + cracked.grad = true; + cracked.offset = true; + break; + case EOpTextureProjGrad: + cracked.grad = true; + cracked.proj = true; + break; + case EOpTextureProjGradOffset: + cracked.grad = true; + cracked.offset = true; + cracked.proj = true; + break; +#ifndef GLSLANG_WEB + case EOpTextureClamp: + case EOpSparseTextureClamp: + cracked.lodClamp = true; + break; + case EOpTextureOffsetClamp: + case EOpSparseTextureOffsetClamp: + cracked.offset = true; + cracked.lodClamp = true; + break; + case EOpTextureGradClamp: + case EOpSparseTextureGradClamp: + cracked.grad = true; + cracked.lodClamp = true; + break; + case EOpTextureGradOffsetClamp: + case EOpSparseTextureGradOffsetClamp: + cracked.grad = true; + cracked.offset = true; + cracked.lodClamp = true; + break; + case EOpTextureGather: + case EOpSparseTextureGather: + cracked.gather = true; + break; + case EOpTextureGatherOffset: + case EOpSparseTextureGatherOffset: + cracked.gather = true; + cracked.offset = true; + break; + case EOpTextureGatherOffsets: + case EOpSparseTextureGatherOffsets: + cracked.gather = true; + cracked.offsets = true; + break; + case EOpTextureGatherLod: + case EOpSparseTextureGatherLod: + cracked.gather = true; + cracked.lod = true; + break; + case EOpTextureGatherLodOffset: + case EOpSparseTextureGatherLodOffset: + cracked.gather = true; + cracked.offset = true; + cracked.lod = true; + break; + case EOpTextureGatherLodOffsets: + case EOpSparseTextureGatherLodOffsets: + cracked.gather = true; + cracked.offsets = true; + cracked.lod = true; + break; + case EOpImageLoadLod: + case EOpImageStoreLod: + case EOpSparseImageLoadLod: + cracked.lod = true; + break; + case EOpFragmentMaskFetch: + cracked.subpass = sampler.dim == EsdSubpass; + cracked.fragMask = true; + break; + case EOpFragmentFetch: + cracked.subpass = sampler.dim == EsdSubpass; + cracked.fragMask = true; + break; + case EOpImageSampleFootprintNV: + break; + case EOpImageSampleFootprintClampNV: + cracked.lodClamp = true; + break; + case EOpImageSampleFootprintLodNV: + cracked.lod = true; + break; + case EOpImageSampleFootprintGradNV: + cracked.grad = true; + break; + case EOpImageSampleFootprintGradClampNV: + cracked.lodClamp = true; + cracked.grad = true; + break; + case EOpSubpassLoad: + case EOpSubpassLoadMS: + cracked.subpass = true; + break; +#endif + default: + break; + } + } + +protected: + TIntermOperator(TOperator o) : TIntermTyped(EbtFloat), op(o), operationPrecision(EpqNone) {} + TIntermOperator(TOperator o, TType& t) : TIntermTyped(t), op(o), operationPrecision(EpqNone) {} + TOperator op; + // The result precision is in the inherited TType, and is usually meant to be both + // the operation precision and the result precision. However, some more complex things, + // like built-in function calls, distinguish between the two, in which case non-EqpNone + // 'operationPrecision' overrides the result precision as far as operation precision + // is concerned. + TPrecisionQualifier operationPrecision; +}; + +// +// Nodes for all the basic binary math operators. +// +class TIntermBinary : public TIntermOperator { +public: + TIntermBinary(TOperator o) : TIntermOperator(o) {} + virtual void traverse(TIntermTraverser*); + virtual void setLeft(TIntermTyped* n) { left = n; } + virtual void setRight(TIntermTyped* n) { right = n; } + virtual TIntermTyped* getLeft() const { return left; } + virtual TIntermTyped* getRight() const { return right; } + virtual TIntermBinary* getAsBinaryNode() { return this; } + virtual const TIntermBinary* getAsBinaryNode() const { return this; } + virtual void updatePrecision(); +protected: + TIntermTyped* left; + TIntermTyped* right; +}; + +// +// Nodes for unary math operators. +// +class TIntermUnary : public TIntermOperator { +public: + TIntermUnary(TOperator o, TType& t) : TIntermOperator(o, t), operand(0) {} + TIntermUnary(TOperator o) : TIntermOperator(o), operand(0) {} + virtual void traverse(TIntermTraverser*); + virtual void setOperand(TIntermTyped* o) { operand = o; } + virtual TIntermTyped* getOperand() { return operand; } + virtual const TIntermTyped* getOperand() const { return operand; } + virtual TIntermUnary* getAsUnaryNode() { return this; } + virtual const TIntermUnary* getAsUnaryNode() const { return this; } + virtual void updatePrecision(); +protected: + TIntermTyped* operand; +}; + +typedef TVector TIntermSequence; +typedef TVector TQualifierList; +// +// Nodes that operate on an arbitrary sized set of children. +// +class TIntermAggregate : public TIntermOperator { +public: + TIntermAggregate() : TIntermOperator(EOpNull), userDefined(false), pragmaTable(nullptr) { } + TIntermAggregate(TOperator o) : TIntermOperator(o), pragmaTable(nullptr) { } + ~TIntermAggregate() { delete pragmaTable; } + virtual TIntermAggregate* getAsAggregate() { return this; } + virtual const TIntermAggregate* getAsAggregate() const { return this; } + virtual void setOperator(TOperator o) { op = o; } + virtual TIntermSequence& getSequence() { return sequence; } + virtual const TIntermSequence& getSequence() const { return sequence; } + virtual void setName(const TString& n) { name = n; } + virtual const TString& getName() const { return name; } + virtual void traverse(TIntermTraverser*); + virtual void setUserDefined() { userDefined = true; } + virtual bool isUserDefined() { return userDefined; } + virtual TQualifierList& getQualifierList() { return qualifier; } + virtual const TQualifierList& getQualifierList() const { return qualifier; } + void setOptimize(bool o) { optimize = o; } + void setDebug(bool d) { debug = d; } + bool getOptimize() const { return optimize; } + bool getDebug() const { return debug; } + void setPragmaTable(const TPragmaTable& pTable); + const TPragmaTable& getPragmaTable() const { return *pragmaTable; } +protected: + TIntermAggregate(const TIntermAggregate&); // disallow copy constructor + TIntermAggregate& operator=(const TIntermAggregate&); // disallow assignment operator + TIntermSequence sequence; + TQualifierList qualifier; + TString name; + bool userDefined; // used for user defined function names + bool optimize; + bool debug; + TPragmaTable* pragmaTable; +}; + +// +// For if tests. +// +class TIntermSelection : public TIntermTyped { +public: + TIntermSelection(TIntermTyped* cond, TIntermNode* trueB, TIntermNode* falseB) : + TIntermTyped(EbtVoid), condition(cond), trueBlock(trueB), falseBlock(falseB), + shortCircuit(true), + flatten(false), dontFlatten(false) {} + TIntermSelection(TIntermTyped* cond, TIntermNode* trueB, TIntermNode* falseB, const TType& type) : + TIntermTyped(type), condition(cond), trueBlock(trueB), falseBlock(falseB), + shortCircuit(true), + flatten(false), dontFlatten(false) {} + virtual void traverse(TIntermTraverser*); + virtual TIntermTyped* getCondition() const { return condition; } + virtual TIntermNode* getTrueBlock() const { return trueBlock; } + virtual TIntermNode* getFalseBlock() const { return falseBlock; } + virtual TIntermSelection* getAsSelectionNode() { return this; } + virtual const TIntermSelection* getAsSelectionNode() const { return this; } + + void setNoShortCircuit() { shortCircuit = false; } + bool getShortCircuit() const { return shortCircuit; } + + void setFlatten() { flatten = true; } + void setDontFlatten() { dontFlatten = true; } + bool getFlatten() const { return flatten; } + bool getDontFlatten() const { return dontFlatten; } + +protected: + TIntermTyped* condition; + TIntermNode* trueBlock; + TIntermNode* falseBlock; + bool shortCircuit; // normally all if-then-else and all GLSL ?: short-circuit, but HLSL ?: does not + bool flatten; // true if flatten requested + bool dontFlatten; // true if requested to not flatten +}; + +// +// For switch statements. Designed use is that a switch will have sequence of nodes +// that are either case/default nodes or a *single* node that represents all the code +// in between (if any) consecutive case/defaults. So, a traversal need only deal with +// 0 or 1 nodes per case/default statement. +// +class TIntermSwitch : public TIntermNode { +public: + TIntermSwitch(TIntermTyped* cond, TIntermAggregate* b) : condition(cond), body(b), + flatten(false), dontFlatten(false) {} + virtual void traverse(TIntermTraverser*); + virtual TIntermNode* getCondition() const { return condition; } + virtual TIntermAggregate* getBody() const { return body; } + virtual TIntermSwitch* getAsSwitchNode() { return this; } + virtual const TIntermSwitch* getAsSwitchNode() const { return this; } + + void setFlatten() { flatten = true; } + void setDontFlatten() { dontFlatten = true; } + bool getFlatten() const { return flatten; } + bool getDontFlatten() const { return dontFlatten; } + +protected: + TIntermTyped* condition; + TIntermAggregate* body; + bool flatten; // true if flatten requested + bool dontFlatten; // true if requested to not flatten +}; + +enum TVisit +{ + EvPreVisit, + EvInVisit, + EvPostVisit +}; + +// +// For traversing the tree. User should derive from this, +// put their traversal specific data in it, and then pass +// it to a Traverse method. +// +// When using this, just fill in the methods for nodes you want visited. +// Return false from a pre-visit to skip visiting that node's subtree. +// +// Explicitly set postVisit to true if you want post visiting, otherwise, +// filled in methods will only be called at pre-visit time (before processing +// the subtree). Similarly for inVisit for in-order visiting of nodes with +// multiple children. +// +// If you only want post-visits, explicitly turn off preVisit (and inVisit) +// and turn on postVisit. +// +// In general, for the visit*() methods, return true from interior nodes +// to have the traversal continue on to children. +// +// If you process children yourself, or don't want them processed, return false. +// +class TIntermTraverser { +public: + POOL_ALLOCATOR_NEW_DELETE(glslang::GetThreadPoolAllocator()) + TIntermTraverser(bool preVisit = true, bool inVisit = false, bool postVisit = false, bool rightToLeft = false) : + preVisit(preVisit), + inVisit(inVisit), + postVisit(postVisit), + rightToLeft(rightToLeft), + depth(0), + maxDepth(0) { } + virtual ~TIntermTraverser() { } + + virtual void visitSymbol(TIntermSymbol*) { } + virtual void visitConstantUnion(TIntermConstantUnion*) { } + virtual bool visitBinary(TVisit, TIntermBinary*) { return true; } + virtual bool visitUnary(TVisit, TIntermUnary*) { return true; } + virtual bool visitSelection(TVisit, TIntermSelection*) { return true; } + virtual bool visitAggregate(TVisit, TIntermAggregate*) { return true; } + virtual bool visitLoop(TVisit, TIntermLoop*) { return true; } + virtual bool visitBranch(TVisit, TIntermBranch*) { return true; } + virtual bool visitSwitch(TVisit, TIntermSwitch*) { return true; } + + int getMaxDepth() const { return maxDepth; } + + void incrementDepth(TIntermNode *current) + { + depth++; + maxDepth = (std::max)(maxDepth, depth); + path.push_back(current); + } + + void decrementDepth() + { + depth--; + path.pop_back(); + } + + TIntermNode *getParentNode() + { + return path.size() == 0 ? NULL : path.back(); + } + + const bool preVisit; + const bool inVisit; + const bool postVisit; + const bool rightToLeft; + +protected: + TIntermTraverser& operator=(TIntermTraverser&); + + int depth; + int maxDepth; + + // All the nodes from root to the current node's parent during traversing. + TVector path; +}; + +// KHR_vulkan_glsl says "Two arrays sized with specialization constants are the same type only if +// sized with the same symbol, involving no operations" +inline bool SameSpecializationConstants(TIntermTyped* node1, TIntermTyped* node2) +{ + return node1->getAsSymbolNode() && node2->getAsSymbolNode() && + node1->getAsSymbolNode()->getId() == node2->getAsSymbolNode()->getId(); +} + +} // end namespace glslang + +#endif // __INTERMEDIATE_H diff --git a/android/x86_64/include/jpeg/jconfig.h b/android/x86_64/include/jpeg/jconfig.h new file mode 100644 index 00000000..2d05a3b0 --- /dev/null +++ b/android/x86_64/include/jpeg/jconfig.h @@ -0,0 +1,60 @@ +/* jconfig.h. Generated from jconfig.cfg by configure. */ +/* jconfig.cfg --- source file edited by configure script */ +/* see jconfig.txt for explanations */ + +#define HAVE_PROTOTYPES 1 +#define HAVE_UNSIGNED_CHAR 1 +#define HAVE_UNSIGNED_SHORT 1 +/* #undef void */ +/* #undef const */ +/* #undef CHAR_IS_UNSIGNED */ +#define HAVE_STDDEF_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_LOCALE_H 1 +/* #undef NEED_BSD_STRINGS */ +/* #undef NEED_SYS_TYPES_H */ +/* #undef NEED_FAR_POINTERS */ +/* #undef NEED_SHORT_EXTERNAL_NAMES */ +/* Define this if you get warnings about undefined structures. */ +/* #undef INCOMPLETE_TYPES_BROKEN */ + +/* Define "boolean" as unsigned char, not enum, on Windows systems. */ +#ifdef _WIN32 +#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ +typedef unsigned char boolean; +#endif +#ifndef FALSE /* in case these macros already exist */ +#define FALSE 0 /* values of boolean */ +#endif +#ifndef TRUE +#define TRUE 1 +#endif +#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ +#endif + +#ifdef JPEG_INTERNALS + +/* #undef RIGHT_SHIFT_IS_UNSIGNED */ +#define INLINE __inline__ +/* These are for configuring the JPEG memory manager. */ +/* #undef DEFAULT_MAX_MEM */ +/* #undef NO_MKTEMP */ + +#endif /* JPEG_INTERNALS */ + +#ifdef JPEG_CJPEG_DJPEG + +#define BMP_SUPPORTED /* BMP image file format */ +#define GIF_SUPPORTED /* GIF image file format */ +#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ +/* #undef RLE_SUPPORTED */ +#define TARGA_SUPPORTED /* Targa image file format */ + +/* #undef TWO_FILE_COMMANDLINE */ +/* #undef NEED_SIGNAL_CATCHER */ +/* #undef DONT_USE_B_MODE */ + +/* Define this if you want percent-done progress reports from cjpeg/djpeg. */ +/* #undef PROGRESS_REPORT */ + +#endif /* JPEG_CJPEG_DJPEG */ diff --git a/android/x86_64/include/jpeg/jerror.h b/android/x86_64/include/jpeg/jerror.h new file mode 100644 index 00000000..a4b661f7 --- /dev/null +++ b/android/x86_64/include/jpeg/jerror.h @@ -0,0 +1,304 @@ +/* + * jerror.h + * + * Copyright (C) 1994-1997, Thomas G. Lane. + * Modified 1997-2012 by Guido Vollbeding. + * This file is part of the Independent JPEG Group's software. + * For conditions of distribution and use, see the accompanying README file. + * + * This file defines the error and message codes for the JPEG library. + * Edit this file to add new codes, or to translate the message strings to + * some other language. + * A set of error-reporting macros are defined too. Some applications using + * the JPEG library may wish to include this file to get the error codes + * and/or the macros. + */ + +/* + * To define the enum list of message codes, include this file without + * defining macro JMESSAGE. To create a message string table, include it + * again with a suitable JMESSAGE definition (see jerror.c for an example). + */ +#ifndef JMESSAGE +#ifndef JERROR_H +/* First time through, define the enum list */ +#define JMAKE_ENUM_LIST +#else +/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */ +#define JMESSAGE(code,string) +#endif /* JERROR_H */ +#endif /* JMESSAGE */ + +#ifdef JMAKE_ENUM_LIST + +typedef enum { + +#define JMESSAGE(code,string) code , + +#endif /* JMAKE_ENUM_LIST */ + +JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */ + +/* For maintenance convenience, list is alphabetical by message code name */ +JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix") +JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix") +JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode") +JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS") +JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request") +JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range") +JMESSAGE(JERR_BAD_DCTSIZE, "DCT scaled block size %dx%d not supported") +JMESSAGE(JERR_BAD_DROP_SAMPLING, + "Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c") +JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition") +JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace") +JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace") +JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length") +JMESSAGE(JERR_BAD_LIB_VERSION, + "Wrong JPEG library version: library is %d, caller expects %d") +JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan") +JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d") +JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d") +JMESSAGE(JERR_BAD_PROGRESSION, + "Invalid progressive parameters Ss=%d Se=%d Ah=%d Al=%d") +JMESSAGE(JERR_BAD_PROG_SCRIPT, + "Invalid progressive parameters at scan script entry %d") +JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors") +JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d") +JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d") +JMESSAGE(JERR_BAD_STRUCT_SIZE, + "JPEG parameter struct mismatch: library thinks size is %u, caller expects %u") +JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access") +JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small") +JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here") +JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet") +JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d") +JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request") +JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d") +JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x") +JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d") +JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d") +JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)") +JMESSAGE(JERR_EMS_READ, "Read from EMS failed") +JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed") +JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan") +JMESSAGE(JERR_FILE_READ, "Input file read error") +JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?") +JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet") +JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow") +JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry") +JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels") +JMESSAGE(JERR_INPUT_EMPTY, "Empty input file") +JMESSAGE(JERR_INPUT_EOF, "Premature end of input file") +JMESSAGE(JERR_MISMATCHED_QUANT_TABLE, + "Cannot transcode due to multiple use of quantization table %d") +JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data") +JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change") +JMESSAGE(JERR_NOTIMPL, "Not implemented yet") +JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time") +JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined") +JMESSAGE(JERR_NO_BACKING_STORE, "Backing store not supported") +JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined") +JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image") +JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined") +JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x") +JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)") +JMESSAGE(JERR_QUANT_COMPONENTS, + "Cannot quantize more than %d color components") +JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors") +JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors") +JMESSAGE(JERR_SOF_BEFORE, "Invalid JPEG file structure: %s before SOF") +JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers") +JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker") +JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x") +JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers") +JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s") +JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file") +JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file") +JMESSAGE(JERR_TFILE_WRITE, + "Write failed on temporary file --- out of disk space?") +JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines") +JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x") +JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up") +JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation") +JMESSAGE(JERR_XMS_READ, "Read from XMS failed") +JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed") +JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT) +JMESSAGE(JMSG_VERSION, JVERSION) +JMESSAGE(JTRC_16BIT_TABLES, + "Caution: quantization tables are too coarse for baseline JPEG") +JMESSAGE(JTRC_ADOBE, + "Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d") +JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u") +JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u") +JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x") +JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x") +JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d") +JMESSAGE(JTRC_DRI, "Define Restart Interval %u") +JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u") +JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u") +JMESSAGE(JTRC_EOI, "End Of Image") +JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d") +JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d") +JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE, + "Warning: thumbnail image size does not match data length %u") +JMESSAGE(JTRC_JFIF_EXTENSION, + "JFIF extension marker: type 0x%02x, length %u") +JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image") +JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u") +JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x") +JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u") +JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors") +JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors") +JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization") +JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d") +JMESSAGE(JTRC_RST, "RST%d") +JMESSAGE(JTRC_SMOOTH_NOTIMPL, + "Smoothing not supported with nonstandard sampling ratios") +JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d") +JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d") +JMESSAGE(JTRC_SOI, "Start of Image") +JMESSAGE(JTRC_SOS, "Start Of Scan: %d components") +JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d") +JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d") +JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s") +JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s") +JMESSAGE(JTRC_THUMB_JPEG, + "JFIF extension marker: JPEG-compressed thumbnail image, length %u") +JMESSAGE(JTRC_THUMB_PALETTE, + "JFIF extension marker: palette thumbnail image, length %u") +JMESSAGE(JTRC_THUMB_RGB, + "JFIF extension marker: RGB thumbnail image, length %u") +JMESSAGE(JTRC_UNKNOWN_IDS, + "Unrecognized component IDs %d %d %d, assuming YCbCr") +JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u") +JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u") +JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d") +JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code") +JMESSAGE(JWRN_BOGUS_PROGRESSION, + "Inconsistent progression sequence for component %d coefficient %d") +JMESSAGE(JWRN_EXTRANEOUS_DATA, + "Corrupt JPEG data: %u extraneous bytes before marker 0x%02x") +JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment") +JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code") +JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d") +JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file") +JMESSAGE(JWRN_MUST_RESYNC, + "Corrupt JPEG data: found marker 0x%02x instead of RST%d") +JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG") +JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines") + +#ifdef JMAKE_ENUM_LIST + + JMSG_LASTMSGCODE +} J_MESSAGE_CODE; + +#undef JMAKE_ENUM_LIST +#endif /* JMAKE_ENUM_LIST */ + +/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */ +#undef JMESSAGE + + +#ifndef JERROR_H +#define JERROR_H + +/* Macros to simplify using the error and trace message stuff */ +/* The first parameter is either type of cinfo pointer */ + +/* Fatal errors (print message and exit) */ +#define ERREXIT(cinfo,code) \ + ((cinfo)->err->msg_code = (code), \ + (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) +#define ERREXIT1(cinfo,code,p1) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) +#define ERREXIT2(cinfo,code,p1,p2) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) +#define ERREXIT3(cinfo,code,p1,p2,p3) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (cinfo)->err->msg_parm.i[2] = (p3), \ + (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) +#define ERREXIT4(cinfo,code,p1,p2,p3,p4) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (cinfo)->err->msg_parm.i[2] = (p3), \ + (cinfo)->err->msg_parm.i[3] = (p4), \ + (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) +#define ERREXIT6(cinfo,code,p1,p2,p3,p4,p5,p6) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (cinfo)->err->msg_parm.i[2] = (p3), \ + (cinfo)->err->msg_parm.i[3] = (p4), \ + (cinfo)->err->msg_parm.i[4] = (p5), \ + (cinfo)->err->msg_parm.i[5] = (p6), \ + (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) +#define ERREXITS(cinfo,code,str) \ + ((cinfo)->err->msg_code = (code), \ + strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ + (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) + +#define MAKESTMT(stuff) do { stuff } while (0) + +/* Nonfatal errors (we can keep going, but the data is probably corrupt) */ +#define WARNMS(cinfo,code) \ + ((cinfo)->err->msg_code = (code), \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) +#define WARNMS1(cinfo,code,p1) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) +#define WARNMS2(cinfo,code,p1,p2) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) + +/* Informational/debugging messages */ +#define TRACEMS(cinfo,lvl,code) \ + ((cinfo)->err->msg_code = (code), \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) +#define TRACEMS1(cinfo,lvl,code,p1) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) +#define TRACEMS2(cinfo,lvl,code,p1,p2) \ + ((cinfo)->err->msg_code = (code), \ + (cinfo)->err->msg_parm.i[0] = (p1), \ + (cinfo)->err->msg_parm.i[1] = (p2), \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) +#define TRACEMS3(cinfo,lvl,code,p1,p2,p3) \ + MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) +#define TRACEMS4(cinfo,lvl,code,p1,p2,p3,p4) \ + MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) +#define TRACEMS5(cinfo,lvl,code,p1,p2,p3,p4,p5) \ + MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ + _mp[4] = (p5); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) +#define TRACEMS8(cinfo,lvl,code,p1,p2,p3,p4,p5,p6,p7,p8) \ + MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ + _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ + _mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \ + (cinfo)->err->msg_code = (code); \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) +#define TRACEMSS(cinfo,lvl,code,str) \ + ((cinfo)->err->msg_code = (code), \ + strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ + (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) + +#endif /* JERROR_H */ diff --git a/android/x86_64/include/jpeg/jmorecfg.h b/android/x86_64/include/jpeg/jmorecfg.h new file mode 100644 index 00000000..679d68bd --- /dev/null +++ b/android/x86_64/include/jpeg/jmorecfg.h @@ -0,0 +1,446 @@ +/* + * jmorecfg.h + * + * Copyright (C) 1991-1997, Thomas G. Lane. + * Modified 1997-2013 by Guido Vollbeding. + * This file is part of the Independent JPEG Group's software. + * For conditions of distribution and use, see the accompanying README file. + * + * This file contains additional configuration options that customize the + * JPEG software for special applications or support machine-dependent + * optimizations. Most users will not need to touch this file. + */ + + +/* + * Define BITS_IN_JSAMPLE as either + * 8 for 8-bit sample values (the usual setting) + * 9 for 9-bit sample values + * 10 for 10-bit sample values + * 11 for 11-bit sample values + * 12 for 12-bit sample values + * Only 8, 9, 10, 11, and 12 bits sample data precision are supported for + * full-feature DCT processing. Further depths up to 16-bit may be added + * later for the lossless modes of operation. + * Run-time selection and conversion of data precision will be added later + * and are currently not supported, sorry. + * Exception: The transcoding part (jpegtran) supports all settings in a + * single instance, since it operates on the level of DCT coefficients and + * not sample values. The DCT coefficients are of the same type (16 bits) + * in all cases (see below). + */ + +#define BITS_IN_JSAMPLE 8 /* use 8, 9, 10, 11, or 12 */ + + +/* + * Maximum number of components (color channels) allowed in JPEG image. + * To meet the letter of the JPEG spec, set this to 255. However, darn + * few applications need more than 4 channels (maybe 5 for CMYK + alpha + * mask). We recommend 10 as a reasonable compromise; use 4 if you are + * really short on memory. (Each allowed component costs a hundred or so + * bytes of storage, whether actually used in an image or not.) + */ + +#define MAX_COMPONENTS 10 /* maximum number of image components */ + + +/* + * Basic data types. + * You may need to change these if you have a machine with unusual data + * type sizes; for example, "char" not 8 bits, "short" not 16 bits, + * or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits, + * but it had better be at least 16. + */ + +/* Representation of a single sample (pixel element value). + * We frequently allocate large arrays of these, so it's important to keep + * them small. But if you have memory to burn and access to char or short + * arrays is very slow on your hardware, you might want to change these. + */ + +#if BITS_IN_JSAMPLE == 8 +/* JSAMPLE should be the smallest type that will hold the values 0..255. + * You can use a signed char by having GETJSAMPLE mask it with 0xFF. + */ + +#ifdef HAVE_UNSIGNED_CHAR + +typedef unsigned char JSAMPLE; +#define GETJSAMPLE(value) ((int) (value)) + +#else /* not HAVE_UNSIGNED_CHAR */ + +typedef char JSAMPLE; +#ifdef CHAR_IS_UNSIGNED +#define GETJSAMPLE(value) ((int) (value)) +#else +#define GETJSAMPLE(value) ((int) (value) & 0xFF) +#endif /* CHAR_IS_UNSIGNED */ + +#endif /* HAVE_UNSIGNED_CHAR */ + +#define MAXJSAMPLE 255 +#define CENTERJSAMPLE 128 + +#endif /* BITS_IN_JSAMPLE == 8 */ + + +#if BITS_IN_JSAMPLE == 9 +/* JSAMPLE should be the smallest type that will hold the values 0..511. + * On nearly all machines "short" will do nicely. + */ + +typedef short JSAMPLE; +#define GETJSAMPLE(value) ((int) (value)) + +#define MAXJSAMPLE 511 +#define CENTERJSAMPLE 256 + +#endif /* BITS_IN_JSAMPLE == 9 */ + + +#if BITS_IN_JSAMPLE == 10 +/* JSAMPLE should be the smallest type that will hold the values 0..1023. + * On nearly all machines "short" will do nicely. + */ + +typedef short JSAMPLE; +#define GETJSAMPLE(value) ((int) (value)) + +#define MAXJSAMPLE 1023 +#define CENTERJSAMPLE 512 + +#endif /* BITS_IN_JSAMPLE == 10 */ + + +#if BITS_IN_JSAMPLE == 11 +/* JSAMPLE should be the smallest type that will hold the values 0..2047. + * On nearly all machines "short" will do nicely. + */ + +typedef short JSAMPLE; +#define GETJSAMPLE(value) ((int) (value)) + +#define MAXJSAMPLE 2047 +#define CENTERJSAMPLE 1024 + +#endif /* BITS_IN_JSAMPLE == 11 */ + + +#if BITS_IN_JSAMPLE == 12 +/* JSAMPLE should be the smallest type that will hold the values 0..4095. + * On nearly all machines "short" will do nicely. + */ + +typedef short JSAMPLE; +#define GETJSAMPLE(value) ((int) (value)) + +#define MAXJSAMPLE 4095 +#define CENTERJSAMPLE 2048 + +#endif /* BITS_IN_JSAMPLE == 12 */ + + +/* Representation of a DCT frequency coefficient. + * This should be a signed value of at least 16 bits; "short" is usually OK. + * Again, we allocate large arrays of these, but you can change to int + * if you have memory to burn and "short" is really slow. + */ + +typedef short JCOEF; + + +/* Compressed datastreams are represented as arrays of JOCTET. + * These must be EXACTLY 8 bits wide, at least once they are written to + * external storage. Note that when using the stdio data source/destination + * managers, this is also the data type passed to fread/fwrite. + */ + +#ifdef HAVE_UNSIGNED_CHAR + +typedef unsigned char JOCTET; +#define GETJOCTET(value) (value) + +#else /* not HAVE_UNSIGNED_CHAR */ + +typedef char JOCTET; +#ifdef CHAR_IS_UNSIGNED +#define GETJOCTET(value) (value) +#else +#define GETJOCTET(value) ((value) & 0xFF) +#endif /* CHAR_IS_UNSIGNED */ + +#endif /* HAVE_UNSIGNED_CHAR */ + + +/* These typedefs are used for various table entries and so forth. + * They must be at least as wide as specified; but making them too big + * won't cost a huge amount of memory, so we don't provide special + * extraction code like we did for JSAMPLE. (In other words, these + * typedefs live at a different point on the speed/space tradeoff curve.) + */ + +/* UINT8 must hold at least the values 0..255. */ + +#ifdef HAVE_UNSIGNED_CHAR +typedef unsigned char UINT8; +#else /* not HAVE_UNSIGNED_CHAR */ +#ifdef CHAR_IS_UNSIGNED +typedef char UINT8; +#else /* not CHAR_IS_UNSIGNED */ +typedef short UINT8; +#endif /* CHAR_IS_UNSIGNED */ +#endif /* HAVE_UNSIGNED_CHAR */ + +/* UINT16 must hold at least the values 0..65535. */ + +#ifdef HAVE_UNSIGNED_SHORT +typedef unsigned short UINT16; +#else /* not HAVE_UNSIGNED_SHORT */ +typedef unsigned int UINT16; +#endif /* HAVE_UNSIGNED_SHORT */ + +/* INT16 must hold at least the values -32768..32767. */ + +#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ +typedef short INT16; +#endif + +/* INT32 must hold at least signed 32-bit values. */ + +#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ +#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */ +#ifndef _BASETSD_H /* MinGW is slightly different */ +#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */ +typedef long INT32; +#endif +#endif +#endif +#endif + +/* Datatype used for image dimensions. The JPEG standard only supports + * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore + * "unsigned int" is sufficient on all machines. However, if you need to + * handle larger images and you don't mind deviating from the spec, you + * can change this datatype. + */ + +typedef unsigned int JDIMENSION; + +#define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */ + + +/* These macros are used in all function definitions and extern declarations. + * You could modify them if you need to change function linkage conventions; + * in particular, you'll need to do that to make the library a Windows DLL. + * Another application is to make all functions global for use with debuggers + * or code profilers that require it. + */ + +/* a function called through method pointers: */ +#define METHODDEF(type) static type +/* a function used only in its module: */ +#define LOCAL(type) static type +/* a function referenced thru EXTERNs: */ +#define GLOBAL(type) type +/* a reference to a GLOBAL function: */ +#define EXTERN(type) extern type + + +/* This macro is used to declare a "method", that is, a function pointer. + * We want to supply prototype parameters if the compiler can cope. + * Note that the arglist parameter must be parenthesized! + * Again, you can customize this if you need special linkage keywords. + */ + +#ifdef HAVE_PROTOTYPES +#define JMETHOD(type,methodname,arglist) type (*methodname) arglist +#else +#define JMETHOD(type,methodname,arglist) type (*methodname) () +#endif + + +/* The noreturn type identifier is used to declare functions + * which cannot return. + * Compilers can thus create more optimized code and perform + * better checks for warnings and errors. + * Static analyzer tools can make improved inferences about + * execution paths and are prevented from giving false alerts. + * + * Unfortunately, the proposed specifications of corresponding + * extensions in the Dec 2011 ISO C standard revision (C11), + * GCC, MSVC, etc. are not viable. + * Thus we introduce a user defined type to declare noreturn + * functions at least for clarity. A proper compiler would + * have a suitable noreturn type to match in place of void. + */ + +#ifndef HAVE_NORETURN_T +typedef void noreturn_t; +#endif + + +/* Here is the pseudo-keyword for declaring pointers that must be "far" + * on 80x86 machines. Most of the specialized coding for 80x86 is handled + * by just saying "FAR *" where such a pointer is needed. In a few places + * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. + */ + +#ifndef FAR +#ifdef NEED_FAR_POINTERS +#define FAR far +#else +#define FAR +#endif +#endif + + +/* + * On a few systems, type boolean and/or its values FALSE, TRUE may appear + * in standard header files. Or you may have conflicts with application- + * specific header files that you want to include together with these files. + * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. + */ + +#ifndef HAVE_BOOLEAN +#if defined FALSE || defined TRUE || defined QGLOBAL_H +/* Qt3 defines FALSE and TRUE as "const" variables in qglobal.h */ +typedef int boolean; +#ifndef FALSE /* in case these macros already exist */ +#define FALSE 0 /* values of boolean */ +#endif +#ifndef TRUE +#define TRUE 1 +#endif +#else +typedef enum { FALSE = 0, TRUE = 1 } boolean; +#endif +#endif + + +/* + * The remaining options affect code selection within the JPEG library, + * but they don't need to be visible to most applications using the library. + * To minimize application namespace pollution, the symbols won't be + * defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined. + */ + +#ifdef JPEG_INTERNALS +#define JPEG_INTERNAL_OPTIONS +#endif + +#ifdef JPEG_INTERNAL_OPTIONS + + +/* + * These defines indicate whether to include various optional functions. + * Undefining some of these symbols will produce a smaller but less capable + * library. Note that you can leave certain source files out of the + * compilation/linking process if you've #undef'd the corresponding symbols. + * (You may HAVE to do that if your compiler doesn't like null source files.) + */ + +/* Capability options common to encoder and decoder: */ + +#define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ +#define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ +#define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ + +/* Encoder capability options: */ + +#define C_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ +#define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ +#define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ +#define DCT_SCALING_SUPPORTED /* Input rescaling via DCT? (Requires DCT_ISLOW)*/ +#define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ +/* Note: if you selected more than 8-bit data precision, it is dangerous to + * turn off ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only + * good for 8-bit precision, so arithmetic coding is recommended for higher + * precision. The Huffman encoder normally uses entropy optimization to + * compute usable tables for higher precision. Otherwise, you'll have to + * supply different default Huffman tables. + * The exact same statements apply for progressive JPEG: the default tables + * don't work for progressive mode. (This may get fixed, however.) + */ +#define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ + +/* Decoder capability options: */ + +#define D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ +#define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ +#define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ +#define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? (Requires DCT_ISLOW)*/ +#define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ +#define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ +#undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ +#define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ +#define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ +#define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ + +/* more capability options later, no doubt */ + + +/* + * Ordering of RGB data in scanlines passed to or from the application. + * If your application wants to deal with data in the order B,G,R, just + * change these macros. You can also deal with formats such as R,G,B,X + * (one extra byte per pixel) by changing RGB_PIXELSIZE. Note that changing + * the offsets will also change the order in which colormap data is organized. + * RESTRICTIONS: + * 1. The sample applications cjpeg,djpeg do NOT support modified RGB formats. + * 2. The color quantizer modules will not behave desirably if RGB_PIXELSIZE + * is not 3 (they don't understand about dummy color components!). So you + * can't use color quantization if you change that value. + */ + +#define RGB_RED 0 /* Offset of Red in an RGB scanline element */ +#define RGB_GREEN 1 /* Offset of Green */ +#define RGB_BLUE 2 /* Offset of Blue */ +#define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */ + + +/* Definitions for speed-related optimizations. */ + + +/* If your compiler supports inline functions, define INLINE + * as the inline keyword; otherwise define it as empty. + */ + +#ifndef INLINE +#ifdef __GNUC__ /* for instance, GNU C knows about inline */ +#define INLINE __inline__ +#endif +#ifndef INLINE +#define INLINE /* default is to define it as empty */ +#endif +#endif + + +/* On some machines (notably 68000 series) "int" is 32 bits, but multiplying + * two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER + * as short on such a machine. MULTIPLIER must be at least 16 bits wide. + */ + +#ifndef MULTIPLIER +#define MULTIPLIER int /* type for fastest integer multiply */ +#endif + + +/* FAST_FLOAT should be either float or double, whichever is done faster + * by your compiler. (Note that this type is only used in the floating point + * DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.) + * Typically, float is faster in ANSI C compilers, while double is faster in + * pre-ANSI compilers (because they insist on converting to double anyway). + * The code below therefore chooses float if we have ANSI-style prototypes. + */ + +#ifndef FAST_FLOAT +#ifdef HAVE_PROTOTYPES +#define FAST_FLOAT float +#else +#define FAST_FLOAT double +#endif +#endif + +#endif /* JPEG_INTERNAL_OPTIONS */ diff --git a/android/x86_64/include/jpeg/jpeglib.h b/android/x86_64/include/jpeg/jpeglib.h new file mode 100644 index 00000000..939b50be --- /dev/null +++ b/android/x86_64/include/jpeg/jpeglib.h @@ -0,0 +1,1180 @@ +/* + * jpeglib.h + * + * Copyright (C) 1991-1998, Thomas G. Lane. + * Modified 2002-2015 by Guido Vollbeding. + * This file is part of the Independent JPEG Group's software. + * For conditions of distribution and use, see the accompanying README file. + * + * This file defines the application interface for the JPEG library. + * Most applications using the library need only include this file, + * and perhaps jerror.h if they want to know the exact error codes. + */ + +#ifndef JPEGLIB_H +#define JPEGLIB_H + +/* + * First we include the configuration files that record how this + * installation of the JPEG library is set up. jconfig.h can be + * generated automatically for many systems. jmorecfg.h contains + * manual configuration options that most people need not worry about. + */ + +#ifndef JCONFIG_INCLUDED /* in case jinclude.h already did */ +#include "jconfig.h" /* widely used configuration options */ +#endif +#include "jmorecfg.h" /* seldom changed options */ + + +#ifdef __cplusplus +#ifndef DONT_USE_EXTERN_C +extern "C" { +#endif +#endif + +/* Version IDs for the JPEG library. + * Might be useful for tests like "#if JPEG_LIB_VERSION >= 90". + */ + +#define JPEG_LIB_VERSION 90 /* Compatibility version 9.0 */ +#define JPEG_LIB_VERSION_MAJOR 9 +#define JPEG_LIB_VERSION_MINOR 2 + + +/* Various constants determining the sizes of things. + * All of these are specified by the JPEG standard, + * so don't change them if you want to be compatible. + */ + +#define DCTSIZE 8 /* The basic DCT block is 8x8 coefficients */ +#define DCTSIZE2 64 /* DCTSIZE squared; # of elements in a block */ +#define NUM_QUANT_TBLS 4 /* Quantization tables are numbered 0..3 */ +#define NUM_HUFF_TBLS 4 /* Huffman tables are numbered 0..3 */ +#define NUM_ARITH_TBLS 16 /* Arith-coding tables are numbered 0..15 */ +#define MAX_COMPS_IN_SCAN 4 /* JPEG limit on # of components in one scan */ +#define MAX_SAMP_FACTOR 4 /* JPEG limit on sampling factors */ +/* Unfortunately, some bozo at Adobe saw no reason to be bound by the standard; + * the PostScript DCT filter can emit files with many more than 10 blocks/MCU. + * If you happen to run across such a file, you can up D_MAX_BLOCKS_IN_MCU + * to handle it. We even let you do this from the jconfig.h file. However, + * we strongly discourage changing C_MAX_BLOCKS_IN_MCU; just because Adobe + * sometimes emits noncompliant files doesn't mean you should too. + */ +#define C_MAX_BLOCKS_IN_MCU 10 /* compressor's limit on blocks per MCU */ +#ifndef D_MAX_BLOCKS_IN_MCU +#define D_MAX_BLOCKS_IN_MCU 10 /* decompressor's limit on blocks per MCU */ +#endif + + +/* Data structures for images (arrays of samples and of DCT coefficients). + * On 80x86 machines, the image arrays are too big for near pointers, + * but the pointer arrays can fit in near memory. + */ + +typedef JSAMPLE FAR *JSAMPROW; /* ptr to one image row of pixel samples. */ +typedef JSAMPROW *JSAMPARRAY; /* ptr to some rows (a 2-D sample array) */ +typedef JSAMPARRAY *JSAMPIMAGE; /* a 3-D sample array: top index is color */ + +typedef JCOEF JBLOCK[DCTSIZE2]; /* one block of coefficients */ +typedef JBLOCK FAR *JBLOCKROW; /* pointer to one row of coefficient blocks */ +typedef JBLOCKROW *JBLOCKARRAY; /* a 2-D array of coefficient blocks */ +typedef JBLOCKARRAY *JBLOCKIMAGE; /* a 3-D array of coefficient blocks */ + +typedef JCOEF FAR *JCOEFPTR; /* useful in a couple of places */ + + +/* Types for JPEG compression parameters and working tables. */ + + +/* DCT coefficient quantization tables. */ + +typedef struct { + /* This array gives the coefficient quantizers in natural array order + * (not the zigzag order in which they are stored in a JPEG DQT marker). + * CAUTION: IJG versions prior to v6a kept this array in zigzag order. + */ + UINT16 quantval[DCTSIZE2]; /* quantization step for each coefficient */ + /* This field is used only during compression. It's initialized FALSE when + * the table is created, and set TRUE when it's been output to the file. + * You could suppress output of a table by setting this to TRUE. + * (See jpeg_suppress_tables for an example.) + */ + boolean sent_table; /* TRUE when table has been output */ +} JQUANT_TBL; + + +/* Huffman coding tables. */ + +typedef struct { + /* These two fields directly represent the contents of a JPEG DHT marker */ + UINT8 bits[17]; /* bits[k] = # of symbols with codes of */ + /* length k bits; bits[0] is unused */ + UINT8 huffval[256]; /* The symbols, in order of incr code length */ + /* This field is used only during compression. It's initialized FALSE when + * the table is created, and set TRUE when it's been output to the file. + * You could suppress output of a table by setting this to TRUE. + * (See jpeg_suppress_tables for an example.) + */ + boolean sent_table; /* TRUE when table has been output */ +} JHUFF_TBL; + + +/* Basic info about one component (color channel). */ + +typedef struct { + /* These values are fixed over the whole image. */ + /* For compression, they must be supplied by parameter setup; */ + /* for decompression, they are read from the SOF marker. */ + int component_id; /* identifier for this component (0..255) */ + int component_index; /* its index in SOF or cinfo->comp_info[] */ + int h_samp_factor; /* horizontal sampling factor (1..4) */ + int v_samp_factor; /* vertical sampling factor (1..4) */ + int quant_tbl_no; /* quantization table selector (0..3) */ + /* These values may vary between scans. */ + /* For compression, they must be supplied by parameter setup; */ + /* for decompression, they are read from the SOS marker. */ + /* The decompressor output side may not use these variables. */ + int dc_tbl_no; /* DC entropy table selector (0..3) */ + int ac_tbl_no; /* AC entropy table selector (0..3) */ + + /* Remaining fields should be treated as private by applications. */ + + /* These values are computed during compression or decompression startup: */ + /* Component's size in DCT blocks. + * Any dummy blocks added to complete an MCU are not counted; therefore + * these values do not depend on whether a scan is interleaved or not. + */ + JDIMENSION width_in_blocks; + JDIMENSION height_in_blocks; + /* Size of a DCT block in samples, + * reflecting any scaling we choose to apply during the DCT step. + * Values from 1 to 16 are supported. + * Note that different components may receive different DCT scalings. + */ + int DCT_h_scaled_size; + int DCT_v_scaled_size; + /* The downsampled dimensions are the component's actual, unpadded number + * of samples at the main buffer (preprocessing/compression interface); + * DCT scaling is included, so + * downsampled_width = + * ceil(image_width * Hi/Hmax * DCT_h_scaled_size/block_size) + * and similarly for height. + */ + JDIMENSION downsampled_width; /* actual width in samples */ + JDIMENSION downsampled_height; /* actual height in samples */ + /* For decompression, in cases where some of the components will be + * ignored (eg grayscale output from YCbCr image), we can skip most + * computations for the unused components. + * For compression, some of the components will need further quantization + * scale by factor of 2 after DCT (eg BG_YCC output from normal RGB input). + * The field is first set TRUE for decompression, FALSE for compression + * in initial_setup, and then adapted in color conversion setup. + */ + boolean component_needed; + + /* These values are computed before starting a scan of the component. */ + /* The decompressor output side may not use these variables. */ + int MCU_width; /* number of blocks per MCU, horizontally */ + int MCU_height; /* number of blocks per MCU, vertically */ + int MCU_blocks; /* MCU_width * MCU_height */ + int MCU_sample_width; /* MCU width in samples: MCU_width * DCT_h_scaled_size */ + int last_col_width; /* # of non-dummy blocks across in last MCU */ + int last_row_height; /* # of non-dummy blocks down in last MCU */ + + /* Saved quantization table for component; NULL if none yet saved. + * See jdinput.c comments about the need for this information. + * This field is currently used only for decompression. + */ + JQUANT_TBL * quant_table; + + /* Private per-component storage for DCT or IDCT subsystem. */ + void * dct_table; +} jpeg_component_info; + + +/* The script for encoding a multiple-scan file is an array of these: */ + +typedef struct { + int comps_in_scan; /* number of components encoded in this scan */ + int component_index[MAX_COMPS_IN_SCAN]; /* their SOF/comp_info[] indexes */ + int Ss, Se; /* progressive JPEG spectral selection parms */ + int Ah, Al; /* progressive JPEG successive approx. parms */ +} jpeg_scan_info; + +/* The decompressor can save APPn and COM markers in a list of these: */ + +typedef struct jpeg_marker_struct FAR * jpeg_saved_marker_ptr; + +struct jpeg_marker_struct { + jpeg_saved_marker_ptr next; /* next in list, or NULL */ + UINT8 marker; /* marker code: JPEG_COM, or JPEG_APP0+n */ + unsigned int original_length; /* # bytes of data in the file */ + unsigned int data_length; /* # bytes of data saved at data[] */ + JOCTET FAR * data; /* the data contained in the marker */ + /* the marker length word is not counted in data_length or original_length */ +}; + +/* Known color spaces. */ + +typedef enum { + JCS_UNKNOWN, /* error/unspecified */ + JCS_GRAYSCALE, /* monochrome */ + JCS_RGB, /* red/green/blue, standard RGB (sRGB) */ + JCS_YCbCr, /* Y/Cb/Cr (also known as YUV), standard YCC */ + JCS_CMYK, /* C/M/Y/K */ + JCS_YCCK, /* Y/Cb/Cr/K */ + JCS_BG_RGB, /* big gamut red/green/blue, bg-sRGB */ + JCS_BG_YCC /* big gamut Y/Cb/Cr, bg-sYCC */ +} J_COLOR_SPACE; + +/* Supported color transforms. */ + +typedef enum { + JCT_NONE = 0, + JCT_SUBTRACT_GREEN = 1 +} J_COLOR_TRANSFORM; + +/* DCT/IDCT algorithm options. */ + +typedef enum { + JDCT_ISLOW, /* slow but accurate integer algorithm */ + JDCT_IFAST, /* faster, less accurate integer method */ + JDCT_FLOAT /* floating-point: accurate, fast on fast HW */ +} J_DCT_METHOD; + +#ifndef JDCT_DEFAULT /* may be overridden in jconfig.h */ +#define JDCT_DEFAULT JDCT_ISLOW +#endif +#ifndef JDCT_FASTEST /* may be overridden in jconfig.h */ +#define JDCT_FASTEST JDCT_IFAST +#endif + +/* Dithering options for decompression. */ + +typedef enum { + JDITHER_NONE, /* no dithering */ + JDITHER_ORDERED, /* simple ordered dither */ + JDITHER_FS /* Floyd-Steinberg error diffusion dither */ +} J_DITHER_MODE; + + +/* Common fields between JPEG compression and decompression master structs. */ + +#define jpeg_common_fields \ + struct jpeg_error_mgr * err; /* Error handler module */\ + struct jpeg_memory_mgr * mem; /* Memory manager module */\ + struct jpeg_progress_mgr * progress; /* Progress monitor, or NULL if none */\ + void * client_data; /* Available for use by application */\ + boolean is_decompressor; /* So common code can tell which is which */\ + int global_state /* For checking call sequence validity */ + +/* Routines that are to be used by both halves of the library are declared + * to receive a pointer to this structure. There are no actual instances of + * jpeg_common_struct, only of jpeg_compress_struct and jpeg_decompress_struct. + */ +struct jpeg_common_struct { + jpeg_common_fields; /* Fields common to both master struct types */ + /* Additional fields follow in an actual jpeg_compress_struct or + * jpeg_decompress_struct. All three structs must agree on these + * initial fields! (This would be a lot cleaner in C++.) + */ +}; + +typedef struct jpeg_common_struct * j_common_ptr; +typedef struct jpeg_compress_struct * j_compress_ptr; +typedef struct jpeg_decompress_struct * j_decompress_ptr; + + +/* Master record for a compression instance */ + +struct jpeg_compress_struct { + jpeg_common_fields; /* Fields shared with jpeg_decompress_struct */ + + /* Destination for compressed data */ + struct jpeg_destination_mgr * dest; + + /* Description of source image --- these fields must be filled in by + * outer application before starting compression. in_color_space must + * be correct before you can even call jpeg_set_defaults(). + */ + + JDIMENSION image_width; /* input image width */ + JDIMENSION image_height; /* input image height */ + int input_components; /* # of color components in input image */ + J_COLOR_SPACE in_color_space; /* colorspace of input image */ + + double input_gamma; /* image gamma of input image */ + + /* Compression parameters --- these fields must be set before calling + * jpeg_start_compress(). We recommend calling jpeg_set_defaults() to + * initialize everything to reasonable defaults, then changing anything + * the application specifically wants to change. That way you won't get + * burnt when new parameters are added. Also note that there are several + * helper routines to simplify changing parameters. + */ + + unsigned int scale_num, scale_denom; /* fraction by which to scale image */ + + JDIMENSION jpeg_width; /* scaled JPEG image width */ + JDIMENSION jpeg_height; /* scaled JPEG image height */ + /* Dimensions of actual JPEG image that will be written to file, + * derived from input dimensions by scaling factors above. + * These fields are computed by jpeg_start_compress(). + * You can also use jpeg_calc_jpeg_dimensions() to determine these values + * in advance of calling jpeg_start_compress(). + */ + + int data_precision; /* bits of precision in image data */ + + int num_components; /* # of color components in JPEG image */ + J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ + + jpeg_component_info * comp_info; + /* comp_info[i] describes component that appears i'th in SOF */ + + JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; + int q_scale_factor[NUM_QUANT_TBLS]; + /* ptrs to coefficient quantization tables, or NULL if not defined, + * and corresponding scale factors (percentage, initialized 100). + */ + + JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; + JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; + /* ptrs to Huffman coding tables, or NULL if not defined */ + + UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ + UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ + UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ + + int num_scans; /* # of entries in scan_info array */ + const jpeg_scan_info * scan_info; /* script for multi-scan file, or NULL */ + /* The default value of scan_info is NULL, which causes a single-scan + * sequential JPEG file to be emitted. To create a multi-scan file, + * set num_scans and scan_info to point to an array of scan definitions. + */ + + boolean raw_data_in; /* TRUE=caller supplies downsampled data */ + boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ + boolean optimize_coding; /* TRUE=optimize entropy encoding parms */ + boolean CCIR601_sampling; /* TRUE=first samples are cosited */ + boolean do_fancy_downsampling; /* TRUE=apply fancy downsampling */ + int smoothing_factor; /* 1..100, or 0 for no input smoothing */ + J_DCT_METHOD dct_method; /* DCT algorithm selector */ + + /* The restart interval can be specified in absolute MCUs by setting + * restart_interval, or in MCU rows by setting restart_in_rows + * (in which case the correct restart_interval will be figured + * for each scan). + */ + unsigned int restart_interval; /* MCUs per restart, or 0 for no restart */ + int restart_in_rows; /* if > 0, MCU rows per restart interval */ + + /* Parameters controlling emission of special markers. */ + + boolean write_JFIF_header; /* should a JFIF marker be written? */ + UINT8 JFIF_major_version; /* What to write for the JFIF version number */ + UINT8 JFIF_minor_version; + /* These three values are not used by the JPEG code, merely copied */ + /* into the JFIF APP0 marker. density_unit can be 0 for unknown, */ + /* 1 for dots/inch, or 2 for dots/cm. Note that the pixel aspect */ + /* ratio is defined by X_density/Y_density even when density_unit=0. */ + UINT8 density_unit; /* JFIF code for pixel size units */ + UINT16 X_density; /* Horizontal pixel density */ + UINT16 Y_density; /* Vertical pixel density */ + boolean write_Adobe_marker; /* should an Adobe marker be written? */ + + J_COLOR_TRANSFORM color_transform; + /* Color transform identifier, writes LSE marker if nonzero */ + + /* State variable: index of next scanline to be written to + * jpeg_write_scanlines(). Application may use this to control its + * processing loop, e.g., "while (next_scanline < image_height)". + */ + + JDIMENSION next_scanline; /* 0 .. image_height-1 */ + + /* Remaining fields are known throughout compressor, but generally + * should not be touched by a surrounding application. + */ + + /* + * These fields are computed during compression startup + */ + boolean progressive_mode; /* TRUE if scan script uses progressive mode */ + int max_h_samp_factor; /* largest h_samp_factor */ + int max_v_samp_factor; /* largest v_samp_factor */ + + int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ + int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ + + JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coef ctlr */ + /* The coefficient controller receives data in units of MCU rows as defined + * for fully interleaved scans (whether the JPEG file is interleaved or not). + * There are v_samp_factor * DCTSIZE sample rows of each component in an + * "iMCU" (interleaved MCU) row. + */ + + /* + * These fields are valid during any one scan. + * They describe the components and MCUs actually appearing in the scan. + */ + int comps_in_scan; /* # of JPEG components in this scan */ + jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; + /* *cur_comp_info[i] describes component that appears i'th in SOS */ + + JDIMENSION MCUs_per_row; /* # of MCUs across the image */ + JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ + + int blocks_in_MCU; /* # of DCT blocks per MCU */ + int MCU_membership[C_MAX_BLOCKS_IN_MCU]; + /* MCU_membership[i] is index in cur_comp_info of component owning */ + /* i'th block in an MCU */ + + int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ + + int block_size; /* the basic DCT block size: 1..16 */ + const int * natural_order; /* natural-order position array */ + int lim_Se; /* min( Se, DCTSIZE2-1 ) */ + + /* + * Links to compression subobjects (methods and private variables of modules) + */ + struct jpeg_comp_master * master; + struct jpeg_c_main_controller * main; + struct jpeg_c_prep_controller * prep; + struct jpeg_c_coef_controller * coef; + struct jpeg_marker_writer * marker; + struct jpeg_color_converter * cconvert; + struct jpeg_downsampler * downsample; + struct jpeg_forward_dct * fdct; + struct jpeg_entropy_encoder * entropy; + jpeg_scan_info * script_space; /* workspace for jpeg_simple_progression */ + int script_space_size; +}; + + +/* Master record for a decompression instance */ + +struct jpeg_decompress_struct { + jpeg_common_fields; /* Fields shared with jpeg_compress_struct */ + + /* Source of compressed data */ + struct jpeg_source_mgr * src; + + /* Basic description of image --- filled in by jpeg_read_header(). */ + /* Application may inspect these values to decide how to process image. */ + + JDIMENSION image_width; /* nominal image width (from SOF marker) */ + JDIMENSION image_height; /* nominal image height */ + int num_components; /* # of color components in JPEG image */ + J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ + + /* Decompression processing parameters --- these fields must be set before + * calling jpeg_start_decompress(). Note that jpeg_read_header() initializes + * them to default values. + */ + + J_COLOR_SPACE out_color_space; /* colorspace for output */ + + unsigned int scale_num, scale_denom; /* fraction by which to scale image */ + + double output_gamma; /* image gamma wanted in output */ + + boolean buffered_image; /* TRUE=multiple output passes */ + boolean raw_data_out; /* TRUE=downsampled data wanted */ + + J_DCT_METHOD dct_method; /* IDCT algorithm selector */ + boolean do_fancy_upsampling; /* TRUE=apply fancy upsampling */ + boolean do_block_smoothing; /* TRUE=apply interblock smoothing */ + + boolean quantize_colors; /* TRUE=colormapped output wanted */ + /* the following are ignored if not quantize_colors: */ + J_DITHER_MODE dither_mode; /* type of color dithering to use */ + boolean two_pass_quantize; /* TRUE=use two-pass color quantization */ + int desired_number_of_colors; /* max # colors to use in created colormap */ + /* these are significant only in buffered-image mode: */ + boolean enable_1pass_quant; /* enable future use of 1-pass quantizer */ + boolean enable_external_quant;/* enable future use of external colormap */ + boolean enable_2pass_quant; /* enable future use of 2-pass quantizer */ + + /* Description of actual output image that will be returned to application. + * These fields are computed by jpeg_start_decompress(). + * You can also use jpeg_calc_output_dimensions() to determine these values + * in advance of calling jpeg_start_decompress(). + */ + + JDIMENSION output_width; /* scaled image width */ + JDIMENSION output_height; /* scaled image height */ + int out_color_components; /* # of color components in out_color_space */ + int output_components; /* # of color components returned */ + /* output_components is 1 (a colormap index) when quantizing colors; + * otherwise it equals out_color_components. + */ + int rec_outbuf_height; /* min recommended height of scanline buffer */ + /* If the buffer passed to jpeg_read_scanlines() is less than this many rows + * high, space and time will be wasted due to unnecessary data copying. + * Usually rec_outbuf_height will be 1 or 2, at most 4. + */ + + /* When quantizing colors, the output colormap is described by these fields. + * The application can supply a colormap by setting colormap non-NULL before + * calling jpeg_start_decompress; otherwise a colormap is created during + * jpeg_start_decompress or jpeg_start_output. + * The map has out_color_components rows and actual_number_of_colors columns. + */ + int actual_number_of_colors; /* number of entries in use */ + JSAMPARRAY colormap; /* The color map as a 2-D pixel array */ + + /* State variables: these variables indicate the progress of decompression. + * The application may examine these but must not modify them. + */ + + /* Row index of next scanline to be read from jpeg_read_scanlines(). + * Application may use this to control its processing loop, e.g., + * "while (output_scanline < output_height)". + */ + JDIMENSION output_scanline; /* 0 .. output_height-1 */ + + /* Current input scan number and number of iMCU rows completed in scan. + * These indicate the progress of the decompressor input side. + */ + int input_scan_number; /* Number of SOS markers seen so far */ + JDIMENSION input_iMCU_row; /* Number of iMCU rows completed */ + + /* The "output scan number" is the notional scan being displayed by the + * output side. The decompressor will not allow output scan/row number + * to get ahead of input scan/row, but it can fall arbitrarily far behind. + */ + int output_scan_number; /* Nominal scan number being displayed */ + JDIMENSION output_iMCU_row; /* Number of iMCU rows read */ + + /* Current progression status. coef_bits[c][i] indicates the precision + * with which component c's DCT coefficient i (in zigzag order) is known. + * It is -1 when no data has yet been received, otherwise it is the point + * transform (shift) value for the most recent scan of the coefficient + * (thus, 0 at completion of the progression). + * This pointer is NULL when reading a non-progressive file. + */ + int (*coef_bits)[DCTSIZE2]; /* -1 or current Al value for each coef */ + + /* Internal JPEG parameters --- the application usually need not look at + * these fields. Note that the decompressor output side may not use + * any parameters that can change between scans. + */ + + /* Quantization and Huffman tables are carried forward across input + * datastreams when processing abbreviated JPEG datastreams. + */ + + JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; + /* ptrs to coefficient quantization tables, or NULL if not defined */ + + JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; + JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; + /* ptrs to Huffman coding tables, or NULL if not defined */ + + /* These parameters are never carried across datastreams, since they + * are given in SOF/SOS markers or defined to be reset by SOI. + */ + + int data_precision; /* bits of precision in image data */ + + jpeg_component_info * comp_info; + /* comp_info[i] describes component that appears i'th in SOF */ + + boolean is_baseline; /* TRUE if Baseline SOF0 encountered */ + boolean progressive_mode; /* TRUE if SOFn specifies progressive mode */ + boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ + + UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ + UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ + UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ + + unsigned int restart_interval; /* MCUs per restart interval, or 0 for no restart */ + + /* These fields record data obtained from optional markers recognized by + * the JPEG library. + */ + boolean saw_JFIF_marker; /* TRUE iff a JFIF APP0 marker was found */ + /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */ + UINT8 JFIF_major_version; /* JFIF version number */ + UINT8 JFIF_minor_version; + UINT8 density_unit; /* JFIF code for pixel size units */ + UINT16 X_density; /* Horizontal pixel density */ + UINT16 Y_density; /* Vertical pixel density */ + boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ + UINT8 Adobe_transform; /* Color transform code from Adobe marker */ + + J_COLOR_TRANSFORM color_transform; + /* Color transform identifier derived from LSE marker, otherwise zero */ + + boolean CCIR601_sampling; /* TRUE=first samples are cosited */ + + /* Aside from the specific data retained from APPn markers known to the + * library, the uninterpreted contents of any or all APPn and COM markers + * can be saved in a list for examination by the application. + */ + jpeg_saved_marker_ptr marker_list; /* Head of list of saved markers */ + + /* Remaining fields are known throughout decompressor, but generally + * should not be touched by a surrounding application. + */ + + /* + * These fields are computed during decompression startup + */ + int max_h_samp_factor; /* largest h_samp_factor */ + int max_v_samp_factor; /* largest v_samp_factor */ + + int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ + int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ + + JDIMENSION total_iMCU_rows; /* # of iMCU rows in image */ + /* The coefficient controller's input and output progress is measured in + * units of "iMCU" (interleaved MCU) rows. These are the same as MCU rows + * in fully interleaved JPEG scans, but are used whether the scan is + * interleaved or not. We define an iMCU row as v_samp_factor DCT block + * rows of each component. Therefore, the IDCT output contains + * v_samp_factor*DCT_v_scaled_size sample rows of a component per iMCU row. + */ + + JSAMPLE * sample_range_limit; /* table for fast range-limiting */ + + /* + * These fields are valid during any one scan. + * They describe the components and MCUs actually appearing in the scan. + * Note that the decompressor output side must not use these fields. + */ + int comps_in_scan; /* # of JPEG components in this scan */ + jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; + /* *cur_comp_info[i] describes component that appears i'th in SOS */ + + JDIMENSION MCUs_per_row; /* # of MCUs across the image */ + JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ + + int blocks_in_MCU; /* # of DCT blocks per MCU */ + int MCU_membership[D_MAX_BLOCKS_IN_MCU]; + /* MCU_membership[i] is index in cur_comp_info of component owning */ + /* i'th block in an MCU */ + + int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ + + /* These fields are derived from Se of first SOS marker. + */ + int block_size; /* the basic DCT block size: 1..16 */ + const int * natural_order; /* natural-order position array for entropy decode */ + int lim_Se; /* min( Se, DCTSIZE2-1 ) for entropy decode */ + + /* This field is shared between entropy decoder and marker parser. + * It is either zero or the code of a JPEG marker that has been + * read from the data source, but has not yet been processed. + */ + int unread_marker; + + /* + * Links to decompression subobjects (methods, private variables of modules) + */ + struct jpeg_decomp_master * master; + struct jpeg_d_main_controller * main; + struct jpeg_d_coef_controller * coef; + struct jpeg_d_post_controller * post; + struct jpeg_input_controller * inputctl; + struct jpeg_marker_reader * marker; + struct jpeg_entropy_decoder * entropy; + struct jpeg_inverse_dct * idct; + struct jpeg_upsampler * upsample; + struct jpeg_color_deconverter * cconvert; + struct jpeg_color_quantizer * cquantize; +}; + + +/* "Object" declarations for JPEG modules that may be supplied or called + * directly by the surrounding application. + * As with all objects in the JPEG library, these structs only define the + * publicly visible methods and state variables of a module. Additional + * private fields may exist after the public ones. + */ + + +/* Error handler object */ + +struct jpeg_error_mgr { + /* Error exit handler: does not return to caller */ + JMETHOD(noreturn_t, error_exit, (j_common_ptr cinfo)); + /* Conditionally emit a trace or warning message */ + JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level)); + /* Routine that actually outputs a trace or error message */ + JMETHOD(void, output_message, (j_common_ptr cinfo)); + /* Format a message string for the most recent JPEG error or message */ + JMETHOD(void, format_message, (j_common_ptr cinfo, char * buffer)); +#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */ + /* Reset error state variables at start of a new image */ + JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo)); + + /* The message ID code and any parameters are saved here. + * A message can have one string parameter or up to 8 int parameters. + */ + int msg_code; +#define JMSG_STR_PARM_MAX 80 + union { + int i[8]; + char s[JMSG_STR_PARM_MAX]; + } msg_parm; + + /* Standard state variables for error facility */ + + int trace_level; /* max msg_level that will be displayed */ + + /* For recoverable corrupt-data errors, we emit a warning message, + * but keep going unless emit_message chooses to abort. emit_message + * should count warnings in num_warnings. The surrounding application + * can check for bad data by seeing if num_warnings is nonzero at the + * end of processing. + */ + long num_warnings; /* number of corrupt-data warnings */ + + /* These fields point to the table(s) of error message strings. + * An application can change the table pointer to switch to a different + * message list (typically, to change the language in which errors are + * reported). Some applications may wish to add additional error codes + * that will be handled by the JPEG library error mechanism; the second + * table pointer is used for this purpose. + * + * First table includes all errors generated by JPEG library itself. + * Error code 0 is reserved for a "no such error string" message. + */ + const char * const * jpeg_message_table; /* Library errors */ + int last_jpeg_message; /* Table contains strings 0..last_jpeg_message */ + /* Second table can be added by application (see cjpeg/djpeg for example). + * It contains strings numbered first_addon_message..last_addon_message. + */ + const char * const * addon_message_table; /* Non-library errors */ + int first_addon_message; /* code for first string in addon table */ + int last_addon_message; /* code for last string in addon table */ +}; + + +/* Progress monitor object */ + +struct jpeg_progress_mgr { + JMETHOD(void, progress_monitor, (j_common_ptr cinfo)); + + long pass_counter; /* work units completed in this pass */ + long pass_limit; /* total number of work units in this pass */ + int completed_passes; /* passes completed so far */ + int total_passes; /* total number of passes expected */ +}; + + +/* Data destination object for compression */ + +struct jpeg_destination_mgr { + JOCTET * next_output_byte; /* => next byte to write in buffer */ + size_t free_in_buffer; /* # of byte spaces remaining in buffer */ + + JMETHOD(void, init_destination, (j_compress_ptr cinfo)); + JMETHOD(boolean, empty_output_buffer, (j_compress_ptr cinfo)); + JMETHOD(void, term_destination, (j_compress_ptr cinfo)); +}; + + +/* Data source object for decompression */ + +struct jpeg_source_mgr { + const JOCTET * next_input_byte; /* => next byte to read from buffer */ + size_t bytes_in_buffer; /* # of bytes remaining in buffer */ + + JMETHOD(void, init_source, (j_decompress_ptr cinfo)); + JMETHOD(boolean, fill_input_buffer, (j_decompress_ptr cinfo)); + JMETHOD(void, skip_input_data, (j_decompress_ptr cinfo, long num_bytes)); + JMETHOD(boolean, resync_to_restart, (j_decompress_ptr cinfo, int desired)); + JMETHOD(void, term_source, (j_decompress_ptr cinfo)); +}; + + +/* Memory manager object. + * Allocates "small" objects (a few K total), "large" objects (tens of K), + * and "really big" objects (virtual arrays with backing store if needed). + * The memory manager does not allow individual objects to be freed; rather, + * each created object is assigned to a pool, and whole pools can be freed + * at once. This is faster and more convenient than remembering exactly what + * to free, especially where malloc()/free() are not too speedy. + * NB: alloc routines never return NULL. They exit to error_exit if not + * successful. + */ + +#define JPOOL_PERMANENT 0 /* lasts until master record is destroyed */ +#define JPOOL_IMAGE 1 /* lasts until done with image/datastream */ +#define JPOOL_NUMPOOLS 2 + +typedef struct jvirt_sarray_control * jvirt_sarray_ptr; +typedef struct jvirt_barray_control * jvirt_barray_ptr; + + +struct jpeg_memory_mgr { + /* Method pointers */ + JMETHOD(void *, alloc_small, (j_common_ptr cinfo, int pool_id, + size_t sizeofobject)); + JMETHOD(void FAR *, alloc_large, (j_common_ptr cinfo, int pool_id, + size_t sizeofobject)); + JMETHOD(JSAMPARRAY, alloc_sarray, (j_common_ptr cinfo, int pool_id, + JDIMENSION samplesperrow, + JDIMENSION numrows)); + JMETHOD(JBLOCKARRAY, alloc_barray, (j_common_ptr cinfo, int pool_id, + JDIMENSION blocksperrow, + JDIMENSION numrows)); + JMETHOD(jvirt_sarray_ptr, request_virt_sarray, (j_common_ptr cinfo, + int pool_id, + boolean pre_zero, + JDIMENSION samplesperrow, + JDIMENSION numrows, + JDIMENSION maxaccess)); + JMETHOD(jvirt_barray_ptr, request_virt_barray, (j_common_ptr cinfo, + int pool_id, + boolean pre_zero, + JDIMENSION blocksperrow, + JDIMENSION numrows, + JDIMENSION maxaccess)); + JMETHOD(void, realize_virt_arrays, (j_common_ptr cinfo)); + JMETHOD(JSAMPARRAY, access_virt_sarray, (j_common_ptr cinfo, + jvirt_sarray_ptr ptr, + JDIMENSION start_row, + JDIMENSION num_rows, + boolean writable)); + JMETHOD(JBLOCKARRAY, access_virt_barray, (j_common_ptr cinfo, + jvirt_barray_ptr ptr, + JDIMENSION start_row, + JDIMENSION num_rows, + boolean writable)); + JMETHOD(void, free_pool, (j_common_ptr cinfo, int pool_id)); + JMETHOD(void, self_destruct, (j_common_ptr cinfo)); + + /* Limit on memory allocation for this JPEG object. (Note that this is + * merely advisory, not a guaranteed maximum; it only affects the space + * used for virtual-array buffers.) May be changed by outer application + * after creating the JPEG object. + */ + long max_memory_to_use; + + /* Maximum allocation request accepted by alloc_large. */ + long max_alloc_chunk; +}; + + +/* Routine signature for application-supplied marker processing methods. + * Need not pass marker code since it is stored in cinfo->unread_marker. + */ +typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); + + +/* Declarations for routines called by application. + * The JPP macro hides prototype parameters from compilers that can't cope. + * Note JPP requires double parentheses. + */ + +#ifdef HAVE_PROTOTYPES +#define JPP(arglist) arglist +#else +#define JPP(arglist) () +#endif + + +/* Short forms of external names for systems with brain-damaged linkers. + * We shorten external names to be unique in the first six letters, which + * is good enough for all known systems. + * (If your compiler itself needs names to be unique in less than 15 + * characters, you are out of luck. Get a better compiler.) + */ + +#ifdef NEED_SHORT_EXTERNAL_NAMES +#define jpeg_std_error jStdError +#define jpeg_CreateCompress jCreaCompress +#define jpeg_CreateDecompress jCreaDecompress +#define jpeg_destroy_compress jDestCompress +#define jpeg_destroy_decompress jDestDecompress +#define jpeg_stdio_dest jStdDest +#define jpeg_stdio_src jStdSrc +#define jpeg_mem_dest jMemDest +#define jpeg_mem_src jMemSrc +#define jpeg_set_defaults jSetDefaults +#define jpeg_set_colorspace jSetColorspace +#define jpeg_default_colorspace jDefColorspace +#define jpeg_set_quality jSetQuality +#define jpeg_set_linear_quality jSetLQuality +#define jpeg_default_qtables jDefQTables +#define jpeg_add_quant_table jAddQuantTable +#define jpeg_quality_scaling jQualityScaling +#define jpeg_simple_progression jSimProgress +#define jpeg_suppress_tables jSuppressTables +#define jpeg_alloc_quant_table jAlcQTable +#define jpeg_alloc_huff_table jAlcHTable +#define jpeg_start_compress jStrtCompress +#define jpeg_write_scanlines jWrtScanlines +#define jpeg_finish_compress jFinCompress +#define jpeg_calc_jpeg_dimensions jCjpegDimensions +#define jpeg_write_raw_data jWrtRawData +#define jpeg_write_marker jWrtMarker +#define jpeg_write_m_header jWrtMHeader +#define jpeg_write_m_byte jWrtMByte +#define jpeg_write_tables jWrtTables +#define jpeg_read_header jReadHeader +#define jpeg_start_decompress jStrtDecompress +#define jpeg_read_scanlines jReadScanlines +#define jpeg_finish_decompress jFinDecompress +#define jpeg_read_raw_data jReadRawData +#define jpeg_has_multiple_scans jHasMultScn +#define jpeg_start_output jStrtOutput +#define jpeg_finish_output jFinOutput +#define jpeg_input_complete jInComplete +#define jpeg_new_colormap jNewCMap +#define jpeg_consume_input jConsumeInput +#define jpeg_core_output_dimensions jCoreDimensions +#define jpeg_calc_output_dimensions jCalcDimensions +#define jpeg_save_markers jSaveMarkers +#define jpeg_set_marker_processor jSetMarker +#define jpeg_read_coefficients jReadCoefs +#define jpeg_write_coefficients jWrtCoefs +#define jpeg_copy_critical_parameters jCopyCrit +#define jpeg_abort_compress jAbrtCompress +#define jpeg_abort_decompress jAbrtDecompress +#define jpeg_abort jAbort +#define jpeg_destroy jDestroy +#define jpeg_resync_to_restart jResyncRestart +#endif /* NEED_SHORT_EXTERNAL_NAMES */ + + +/* Default error-management setup */ +EXTERN(struct jpeg_error_mgr *) jpeg_std_error + JPP((struct jpeg_error_mgr * err)); + +/* Initialization of JPEG compression objects. + * jpeg_create_compress() and jpeg_create_decompress() are the exported + * names that applications should call. These expand to calls on + * jpeg_CreateCompress and jpeg_CreateDecompress with additional information + * passed for version mismatch checking. + * NB: you must set up the error-manager BEFORE calling jpeg_create_xxx. + */ +#define jpeg_create_compress(cinfo) \ + jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \ + (size_t) sizeof(struct jpeg_compress_struct)) +#define jpeg_create_decompress(cinfo) \ + jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \ + (size_t) sizeof(struct jpeg_decompress_struct)) +EXTERN(void) jpeg_CreateCompress JPP((j_compress_ptr cinfo, + int version, size_t structsize)); +EXTERN(void) jpeg_CreateDecompress JPP((j_decompress_ptr cinfo, + int version, size_t structsize)); +/* Destruction of JPEG compression objects */ +EXTERN(void) jpeg_destroy_compress JPP((j_compress_ptr cinfo)); +EXTERN(void) jpeg_destroy_decompress JPP((j_decompress_ptr cinfo)); + +/* Standard data source and destination managers: stdio streams. */ +/* Caller is responsible for opening the file before and closing after. */ +EXTERN(void) jpeg_stdio_dest JPP((j_compress_ptr cinfo, FILE * outfile)); +EXTERN(void) jpeg_stdio_src JPP((j_decompress_ptr cinfo, FILE * infile)); + +/* Data source and destination managers: memory buffers. */ +EXTERN(void) jpeg_mem_dest JPP((j_compress_ptr cinfo, + unsigned char ** outbuffer, + unsigned long * outsize)); +EXTERN(void) jpeg_mem_src JPP((j_decompress_ptr cinfo, + const unsigned char * inbuffer, + unsigned long insize)); + +/* Default parameter setup for compression */ +EXTERN(void) jpeg_set_defaults JPP((j_compress_ptr cinfo)); +/* Compression parameter setup aids */ +EXTERN(void) jpeg_set_colorspace JPP((j_compress_ptr cinfo, + J_COLOR_SPACE colorspace)); +EXTERN(void) jpeg_default_colorspace JPP((j_compress_ptr cinfo)); +EXTERN(void) jpeg_set_quality JPP((j_compress_ptr cinfo, int quality, + boolean force_baseline)); +EXTERN(void) jpeg_set_linear_quality JPP((j_compress_ptr cinfo, + int scale_factor, + boolean force_baseline)); +EXTERN(void) jpeg_default_qtables JPP((j_compress_ptr cinfo, + boolean force_baseline)); +EXTERN(void) jpeg_add_quant_table JPP((j_compress_ptr cinfo, int which_tbl, + const unsigned int *basic_table, + int scale_factor, + boolean force_baseline)); +EXTERN(int) jpeg_quality_scaling JPP((int quality)); +EXTERN(void) jpeg_simple_progression JPP((j_compress_ptr cinfo)); +EXTERN(void) jpeg_suppress_tables JPP((j_compress_ptr cinfo, + boolean suppress)); +EXTERN(JQUANT_TBL *) jpeg_alloc_quant_table JPP((j_common_ptr cinfo)); +EXTERN(JHUFF_TBL *) jpeg_alloc_huff_table JPP((j_common_ptr cinfo)); + +/* Main entry points for compression */ +EXTERN(void) jpeg_start_compress JPP((j_compress_ptr cinfo, + boolean write_all_tables)); +EXTERN(JDIMENSION) jpeg_write_scanlines JPP((j_compress_ptr cinfo, + JSAMPARRAY scanlines, + JDIMENSION num_lines)); +EXTERN(void) jpeg_finish_compress JPP((j_compress_ptr cinfo)); + +/* Precalculate JPEG dimensions for current compression parameters. */ +EXTERN(void) jpeg_calc_jpeg_dimensions JPP((j_compress_ptr cinfo)); + +/* Replaces jpeg_write_scanlines when writing raw downsampled data. */ +EXTERN(JDIMENSION) jpeg_write_raw_data JPP((j_compress_ptr cinfo, + JSAMPIMAGE data, + JDIMENSION num_lines)); + +/* Write a special marker. See libjpeg.txt concerning safe usage. */ +EXTERN(void) jpeg_write_marker + JPP((j_compress_ptr cinfo, int marker, + const JOCTET * dataptr, unsigned int datalen)); +/* Same, but piecemeal. */ +EXTERN(void) jpeg_write_m_header + JPP((j_compress_ptr cinfo, int marker, unsigned int datalen)); +EXTERN(void) jpeg_write_m_byte + JPP((j_compress_ptr cinfo, int val)); + +/* Alternate compression function: just write an abbreviated table file */ +EXTERN(void) jpeg_write_tables JPP((j_compress_ptr cinfo)); + +/* Decompression startup: read start of JPEG datastream to see what's there */ +EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, + boolean require_image)); +/* Return value is one of: */ +#define JPEG_SUSPENDED 0 /* Suspended due to lack of input data */ +#define JPEG_HEADER_OK 1 /* Found valid image datastream */ +#define JPEG_HEADER_TABLES_ONLY 2 /* Found valid table-specs-only datastream */ +/* If you pass require_image = TRUE (normal case), you need not check for + * a TABLES_ONLY return code; an abbreviated file will cause an error exit. + * JPEG_SUSPENDED is only possible if you use a data source module that can + * give a suspension return (the stdio source module doesn't). + */ + +/* Main entry points for decompression */ +EXTERN(boolean) jpeg_start_decompress JPP((j_decompress_ptr cinfo)); +EXTERN(JDIMENSION) jpeg_read_scanlines JPP((j_decompress_ptr cinfo, + JSAMPARRAY scanlines, + JDIMENSION max_lines)); +EXTERN(boolean) jpeg_finish_decompress JPP((j_decompress_ptr cinfo)); + +/* Replaces jpeg_read_scanlines when reading raw downsampled data. */ +EXTERN(JDIMENSION) jpeg_read_raw_data JPP((j_decompress_ptr cinfo, + JSAMPIMAGE data, + JDIMENSION max_lines)); + +/* Additional entry points for buffered-image mode. */ +EXTERN(boolean) jpeg_has_multiple_scans JPP((j_decompress_ptr cinfo)); +EXTERN(boolean) jpeg_start_output JPP((j_decompress_ptr cinfo, + int scan_number)); +EXTERN(boolean) jpeg_finish_output JPP((j_decompress_ptr cinfo)); +EXTERN(boolean) jpeg_input_complete JPP((j_decompress_ptr cinfo)); +EXTERN(void) jpeg_new_colormap JPP((j_decompress_ptr cinfo)); +EXTERN(int) jpeg_consume_input JPP((j_decompress_ptr cinfo)); +/* Return value is one of: */ +/* #define JPEG_SUSPENDED 0 Suspended due to lack of input data */ +#define JPEG_REACHED_SOS 1 /* Reached start of new scan */ +#define JPEG_REACHED_EOI 2 /* Reached end of image */ +#define JPEG_ROW_COMPLETED 3 /* Completed one iMCU row */ +#define JPEG_SCAN_COMPLETED 4 /* Completed last iMCU row of a scan */ + +/* Precalculate output dimensions for current decompression parameters. */ +EXTERN(void) jpeg_core_output_dimensions JPP((j_decompress_ptr cinfo)); +EXTERN(void) jpeg_calc_output_dimensions JPP((j_decompress_ptr cinfo)); + +/* Control saving of COM and APPn markers into marker_list. */ +EXTERN(void) jpeg_save_markers + JPP((j_decompress_ptr cinfo, int marker_code, + unsigned int length_limit)); + +/* Install a special processing method for COM or APPn markers. */ +EXTERN(void) jpeg_set_marker_processor + JPP((j_decompress_ptr cinfo, int marker_code, + jpeg_marker_parser_method routine)); + +/* Read or write raw DCT coefficients --- useful for lossless transcoding. */ +EXTERN(jvirt_barray_ptr *) jpeg_read_coefficients JPP((j_decompress_ptr cinfo)); +EXTERN(void) jpeg_write_coefficients JPP((j_compress_ptr cinfo, + jvirt_barray_ptr * coef_arrays)); +EXTERN(void) jpeg_copy_critical_parameters JPP((j_decompress_ptr srcinfo, + j_compress_ptr dstinfo)); + +/* If you choose to abort compression or decompression before completing + * jpeg_finish_(de)compress, then you need to clean up to release memory, + * temporary files, etc. You can just call jpeg_destroy_(de)compress + * if you're done with the JPEG object, but if you want to clean it up and + * reuse it, call this: + */ +EXTERN(void) jpeg_abort_compress JPP((j_compress_ptr cinfo)); +EXTERN(void) jpeg_abort_decompress JPP((j_decompress_ptr cinfo)); + +/* Generic versions of jpeg_abort and jpeg_destroy that work on either + * flavor of JPEG object. These may be more convenient in some places. + */ +EXTERN(void) jpeg_abort JPP((j_common_ptr cinfo)); +EXTERN(void) jpeg_destroy JPP((j_common_ptr cinfo)); + +/* Default restart-marker-resync procedure for use by data source modules */ +EXTERN(boolean) jpeg_resync_to_restart JPP((j_decompress_ptr cinfo, + int desired)); + + +/* These marker codes are exported since applications and data source modules + * are likely to want to use them. + */ + +#define JPEG_RST0 0xD0 /* RST0 marker code */ +#define JPEG_EOI 0xD9 /* EOI marker code */ +#define JPEG_APP0 0xE0 /* APP0 marker code */ +#define JPEG_COM 0xFE /* COM marker code */ + + +/* If we have a brain-damaged compiler that emits warnings (or worse, errors) + * for structure definitions that are never filled in, keep it quiet by + * supplying dummy definitions for the various substructures. + */ + +#ifdef INCOMPLETE_TYPES_BROKEN +#ifndef JPEG_INTERNALS /* will be defined in jpegint.h */ +struct jvirt_sarray_control { long dummy; }; +struct jvirt_barray_control { long dummy; }; +struct jpeg_comp_master { long dummy; }; +struct jpeg_c_main_controller { long dummy; }; +struct jpeg_c_prep_controller { long dummy; }; +struct jpeg_c_coef_controller { long dummy; }; +struct jpeg_marker_writer { long dummy; }; +struct jpeg_color_converter { long dummy; }; +struct jpeg_downsampler { long dummy; }; +struct jpeg_forward_dct { long dummy; }; +struct jpeg_entropy_encoder { long dummy; }; +struct jpeg_decomp_master { long dummy; }; +struct jpeg_d_main_controller { long dummy; }; +struct jpeg_d_coef_controller { long dummy; }; +struct jpeg_d_post_controller { long dummy; }; +struct jpeg_input_controller { long dummy; }; +struct jpeg_marker_reader { long dummy; }; +struct jpeg_entropy_decoder { long dummy; }; +struct jpeg_inverse_dct { long dummy; }; +struct jpeg_upsampler { long dummy; }; +struct jpeg_color_deconverter { long dummy; }; +struct jpeg_color_quantizer { long dummy; }; +#endif /* JPEG_INTERNALS */ +#endif /* INCOMPLETE_TYPES_BROKEN */ + + +/* + * The JPEG library modules define JPEG_INTERNALS before including this file. + * The internal structure declarations are read only when that is true. + * Applications using the library should not include jpegint.h, but may wish + * to include jerror.h. + */ + +#ifdef JPEG_INTERNALS +#include "jpegint.h" /* fetch private declarations */ +#include "jerror.h" /* fetch error codes too */ +#endif + +#ifdef __cplusplus +#ifndef DONT_USE_EXTERN_C +} +#endif +#endif + +#endif /* JPEGLIB_H */ diff --git a/android/x86_64/include/openssl/aes.h b/android/x86_64/include/openssl/aes.h new file mode 100644 index 00000000..245c552a --- /dev/null +++ b/android/x86_64/include/openssl/aes.h @@ -0,0 +1,92 @@ +/* + * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_AES_H +# define HEADER_AES_H + +# include + +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define AES_ENCRYPT 1 +# define AES_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ +# define AES_MAXNR 14 +# define AES_BLOCK_SIZE 16 + +/* This should be a hidden type, but EVP requires that the size be known */ +struct aes_key_st { +# ifdef AES_LONG + unsigned long rd_key[4 * (AES_MAXNR + 1)]; +# else + unsigned int rd_key[4 * (AES_MAXNR + 1)]; +# endif + int rounds; +}; +typedef struct aes_key_st AES_KEY; + +const char *AES_options(void); + +int AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); + +void AES_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_decrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); + +void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key, const int enc); +void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num); +/* NB: the IV is _two_ blocks long */ +void AES_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +/* NB: the IV is _four_ blocks long */ +void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + const AES_KEY *key2, const unsigned char *ivec, + const int enc); + +int AES_wrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); +int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); + + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/android/x86_64/include/openssl/asn1.h b/android/x86_64/include/openssl/asn1.h new file mode 100644 index 00000000..7cf61161 --- /dev/null +++ b/android/x86_64/include/openssl/asn1.h @@ -0,0 +1,1096 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ASN1_H +# define HEADER_ASN1_H + +# include +# include +# include +# include +# include +# include + +# include + +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define V_ASN1_UNIVERSAL 0x00 +# define V_ASN1_APPLICATION 0x40 +# define V_ASN1_CONTEXT_SPECIFIC 0x80 +# define V_ASN1_PRIVATE 0xc0 + +# define V_ASN1_CONSTRUCTED 0x20 +# define V_ASN1_PRIMITIVE_TAG 0x1f +# define V_ASN1_PRIMATIVE_TAG 0x1f + +# define V_ASN1_APP_CHOOSE -2/* let the recipient choose */ +# define V_ASN1_OTHER -3/* used in ASN1_TYPE */ +# define V_ASN1_ANY -4/* used in ASN1 template code */ + +# define V_ASN1_UNDEF -1 +/* ASN.1 tag values */ +# define V_ASN1_EOC 0 +# define V_ASN1_BOOLEAN 1 /**/ +# define V_ASN1_INTEGER 2 +# define V_ASN1_BIT_STRING 3 +# define V_ASN1_OCTET_STRING 4 +# define V_ASN1_NULL 5 +# define V_ASN1_OBJECT 6 +# define V_ASN1_OBJECT_DESCRIPTOR 7 +# define V_ASN1_EXTERNAL 8 +# define V_ASN1_REAL 9 +# define V_ASN1_ENUMERATED 10 +# define V_ASN1_UTF8STRING 12 +# define V_ASN1_SEQUENCE 16 +# define V_ASN1_SET 17 +# define V_ASN1_NUMERICSTRING 18 /**/ +# define V_ASN1_PRINTABLESTRING 19 +# define V_ASN1_T61STRING 20 +# define V_ASN1_TELETEXSTRING 20/* alias */ +# define V_ASN1_VIDEOTEXSTRING 21 /**/ +# define V_ASN1_IA5STRING 22 +# define V_ASN1_UTCTIME 23 +# define V_ASN1_GENERALIZEDTIME 24 /**/ +# define V_ASN1_GRAPHICSTRING 25 /**/ +# define V_ASN1_ISO64STRING 26 /**/ +# define V_ASN1_VISIBLESTRING 26/* alias */ +# define V_ASN1_GENERALSTRING 27 /**/ +# define V_ASN1_UNIVERSALSTRING 28 /**/ +# define V_ASN1_BMPSTRING 30 + +/* + * NB the constants below are used internally by ASN1_INTEGER + * and ASN1_ENUMERATED to indicate the sign. They are *not* on + * the wire tag values. + */ + +# define V_ASN1_NEG 0x100 +# define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +# define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) + +/* For use with d2i_ASN1_type_bytes() */ +# define B_ASN1_NUMERICSTRING 0x0001 +# define B_ASN1_PRINTABLESTRING 0x0002 +# define B_ASN1_T61STRING 0x0004 +# define B_ASN1_TELETEXSTRING 0x0004 +# define B_ASN1_VIDEOTEXSTRING 0x0008 +# define B_ASN1_IA5STRING 0x0010 +# define B_ASN1_GRAPHICSTRING 0x0020 +# define B_ASN1_ISO64STRING 0x0040 +# define B_ASN1_VISIBLESTRING 0x0040 +# define B_ASN1_GENERALSTRING 0x0080 +# define B_ASN1_UNIVERSALSTRING 0x0100 +# define B_ASN1_OCTET_STRING 0x0200 +# define B_ASN1_BIT_STRING 0x0400 +# define B_ASN1_BMPSTRING 0x0800 +# define B_ASN1_UNKNOWN 0x1000 +# define B_ASN1_UTF8STRING 0x2000 +# define B_ASN1_UTCTIME 0x4000 +# define B_ASN1_GENERALIZEDTIME 0x8000 +# define B_ASN1_SEQUENCE 0x10000 +/* For use with ASN1_mbstring_copy() */ +# define MBSTRING_FLAG 0x1000 +# define MBSTRING_UTF8 (MBSTRING_FLAG) +# define MBSTRING_ASC (MBSTRING_FLAG|1) +# define MBSTRING_BMP (MBSTRING_FLAG|2) +# define MBSTRING_UNIV (MBSTRING_FLAG|4) +# define SMIME_OLDMIME 0x400 +# define SMIME_CRLFEOL 0x800 +# define SMIME_STREAM 0x1000 + struct X509_algor_st; +DEFINE_STACK_OF(X509_ALGOR) + +# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ +/* + * This indicates that the ASN1_STRING is not a real value but just a place + * holder for the location where indefinite length constructed data should be + * inserted in the memory buffer + */ +# define ASN1_STRING_FLAG_NDEF 0x010 + +/* + * This flag is used by the CMS code to indicate that a string is not + * complete and is a place holder for content when it had all been accessed. + * The flag will be reset when content has been written to it. + */ + +# define ASN1_STRING_FLAG_CONT 0x020 +/* + * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING + * type. + */ +# define ASN1_STRING_FLAG_MSTRING 0x040 +/* String is embedded and only content should be freed */ +# define ASN1_STRING_FLAG_EMBED 0x080 +/* This is the base type that holds just about everything :-) */ +struct asn1_string_st { + int length; + int type; + unsigned char *data; + /* + * The value of the following field depends on the type being held. It + * is mostly being used for BIT_STRING so if the input data has a + * non-zero 'unused bits' value, it will be handled correctly + */ + long flags; +}; + +/* + * ASN1_ENCODING structure: this is used to save the received encoding of an + * ASN1 type. This is useful to get round problems with invalid encodings + * which can break signatures. + */ + +typedef struct ASN1_ENCODING_st { + unsigned char *enc; /* DER encoding */ + long len; /* Length of encoding */ + int modified; /* set to 1 if 'enc' is invalid */ +} ASN1_ENCODING; + +/* Used with ASN1 LONG type: if a long is set to this it is omitted */ +# define ASN1_LONG_UNDEF 0x7fffffffL + +# define STABLE_FLAGS_MALLOC 0x01 +/* + * A zero passed to ASN1_STRING_TABLE_new_add for the flags is interpreted + * as "don't change" and STABLE_FLAGS_MALLOC is always set. By setting + * STABLE_FLAGS_MALLOC only we can clear the existing value. Use the alias + * STABLE_FLAGS_CLEAR to reflect this. + */ +# define STABLE_FLAGS_CLEAR STABLE_FLAGS_MALLOC +# define STABLE_NO_MASK 0x02 +# define DIRSTRING_TYPE \ + (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) +# define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) + +typedef struct asn1_string_table_st { + int nid; + long minsize; + long maxsize; + unsigned long mask; + unsigned long flags; +} ASN1_STRING_TABLE; + +DEFINE_STACK_OF(ASN1_STRING_TABLE) + +/* size limits: this stuff is taken straight from RFC2459 */ + +# define ub_name 32768 +# define ub_common_name 64 +# define ub_locality_name 128 +# define ub_state_name 128 +# define ub_organization_name 64 +# define ub_organization_unit_name 64 +# define ub_title 64 +# define ub_email_address 128 + +/* + * Declarations for template structures: for full definitions see asn1t.h + */ +typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; +typedef struct ASN1_TLC_st ASN1_TLC; +/* This is just an opaque pointer */ +typedef struct ASN1_VALUE_st ASN1_VALUE; + +/* Declare ASN1 functions: the implement macro in in asn1t.h */ + +# define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) + +# define DECLARE_ASN1_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(itname) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(name) + +# define DECLARE_ASN1_NDEF_FUNCTION(name) \ + int i2d_##name##_NDEF(name *a, unsigned char **out); + +# define DECLARE_ASN1_FUNCTIONS_const(name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + type *name##_new(void); \ + void name##_free(type *a); + +# define DECLARE_ASN1_PRINT_FUNCTION(stname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) + +# define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx); + +# define D2I_OF(type) type *(*)(type **,const unsigned char **,long) +# define I2D_OF(type) int (*)(type *,unsigned char **) +# define I2D_OF_const(type) int (*)(const type *,unsigned char **) + +# define CHECKED_D2I_OF(type, d2i) \ + ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) +# define CHECKED_I2D_OF(type, i2d) \ + ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) +# define CHECKED_NEW_OF(type, xnew) \ + ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) +# define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +# define CHECKED_PPTR_OF(type, p) \ + ((void**) (1 ? p : (type**)0)) + +# define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) +# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) +# define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) + +TYPEDEF_D2I2D_OF(void); + +/*- + * The following macros and typedefs allow an ASN1_ITEM + * to be embedded in a structure and referenced. Since + * the ASN1_ITEM pointers need to be globally accessible + * (possibly from shared libraries) they may exist in + * different forms. On platforms that support it the + * ASN1_ITEM structure itself will be globally exported. + * Other platforms will export a function that returns + * an ASN1_ITEM pointer. + * + * To handle both cases transparently the macros below + * should be used instead of hard coding an ASN1_ITEM + * pointer in a structure. + * + * The structure will look like this: + * + * typedef struct SOMETHING_st { + * ... + * ASN1_ITEM_EXP *iptr; + * ... + * } SOMETHING; + * + * It would be initialised as e.g.: + * + * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; + * + * and the actual pointer extracted with: + * + * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); + * + * Finally an ASN1_ITEM pointer can be extracted from an + * appropriate reference with: ASN1_ITEM_rptr(X509). This + * would be used when a function takes an ASN1_ITEM * argument. + * + */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM ASN1_ITEM_EXP; + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (&(iptr##_it)) + +# define ASN1_ITEM_rptr(ref) (&(ref##_it)) + +# define DECLARE_ASN1_ITEM(name) \ + OPENSSL_EXTERN const ASN1_ITEM name##_it; + +# else + +/* + * Platforms that can't easily handle shared global variables are declared as + * functions returning ASN1_ITEM pointers. + */ + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr()) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (iptr##_it) + +# define ASN1_ITEM_rptr(ref) (ref##_it()) + +# define DECLARE_ASN1_ITEM(name) \ + const ASN1_ITEM * name##_it(void); + +# endif + +/* Parameters used by ASN1_STRING_print_ex() */ + +/* + * These determine which characters to escape: RFC2253 special characters, + * control characters and MSB set characters + */ + +# define ASN1_STRFLGS_ESC_2253 1 +# define ASN1_STRFLGS_ESC_CTRL 2 +# define ASN1_STRFLGS_ESC_MSB 4 + +/* + * This flag determines how we do escaping: normally RC2253 backslash only, + * set this to use backslash and quote. + */ + +# define ASN1_STRFLGS_ESC_QUOTE 8 + +/* These three flags are internal use only. */ + +/* Character is a valid PrintableString character */ +# define CHARTYPE_PRINTABLESTRING 0x10 +/* Character needs escaping if it is the first character */ +# define CHARTYPE_FIRST_ESC_2253 0x20 +/* Character needs escaping if it is the last character */ +# define CHARTYPE_LAST_ESC_2253 0x40 + +/* + * NB the internal flags are safely reused below by flags handled at the top + * level. + */ + +/* + * If this is set we convert all character strings to UTF8 first + */ + +# define ASN1_STRFLGS_UTF8_CONVERT 0x10 + +/* + * If this is set we don't attempt to interpret content: just assume all + * strings are 1 byte per character. This will produce some pretty odd + * looking output! + */ + +# define ASN1_STRFLGS_IGNORE_TYPE 0x20 + +/* If this is set we include the string type in the output */ +# define ASN1_STRFLGS_SHOW_TYPE 0x40 + +/* + * This determines which strings to display and which to 'dump' (hex dump of + * content octets or DER encoding). We can only dump non character strings or + * everything. If we don't dump 'unknown' they are interpreted as character + * strings with 1 octet per character and are subject to the usual escaping + * options. + */ + +# define ASN1_STRFLGS_DUMP_ALL 0x80 +# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 + +/* + * These determine what 'dumping' does, we can dump the content octets or the + * DER encoding: both use the RFC2253 #XXXXX notation. + */ + +# define ASN1_STRFLGS_DUMP_DER 0x200 + +/* + * This flag specifies that RC2254 escaping shall be performed. + */ +#define ASN1_STRFLGS_ESC_2254 0x400 + +/* + * All the string flags consistent with RFC2253, escaping control characters + * isn't essential in RFC2253 but it is advisable anyway. + */ + +# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + +DEFINE_STACK_OF(ASN1_INTEGER) + +DEFINE_STACK_OF(ASN1_GENERALSTRING) + +DEFINE_STACK_OF(ASN1_UTF8STRING) + +typedef struct asn1_type_st { + int type; + union { + char *ptr; + ASN1_BOOLEAN boolean; + ASN1_STRING *asn1_string; + ASN1_OBJECT *object; + ASN1_INTEGER *integer; + ASN1_ENUMERATED *enumerated; + ASN1_BIT_STRING *bit_string; + ASN1_OCTET_STRING *octet_string; + ASN1_PRINTABLESTRING *printablestring; + ASN1_T61STRING *t61string; + ASN1_IA5STRING *ia5string; + ASN1_GENERALSTRING *generalstring; + ASN1_BMPSTRING *bmpstring; + ASN1_UNIVERSALSTRING *universalstring; + ASN1_UTCTIME *utctime; + ASN1_GENERALIZEDTIME *generalizedtime; + ASN1_VISIBLESTRING *visiblestring; + ASN1_UTF8STRING *utf8string; + /* + * set and sequence are left complete and still contain the set or + * sequence bytes + */ + ASN1_STRING *set; + ASN1_STRING *sequence; + ASN1_VALUE *asn1_value; + } value; +} ASN1_TYPE; + +DEFINE_STACK_OF(ASN1_TYPE) + +typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) + +/* This is used to contain a list of bit names */ +typedef struct BIT_STRING_BITNAME_st { + int bitnum; + const char *lname; + const char *sname; +} BIT_STRING_BITNAME; + +# define B_ASN1_TIME \ + B_ASN1_UTCTIME | \ + B_ASN1_GENERALIZEDTIME + +# define B_ASN1_PRINTABLE \ + B_ASN1_NUMERICSTRING| \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_T61STRING| \ + B_ASN1_IA5STRING| \ + B_ASN1_BIT_STRING| \ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING|\ + B_ASN1_SEQUENCE|\ + B_ASN1_UNKNOWN + +# define B_ASN1_DIRECTORYSTRING \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_TELETEXSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_UTF8STRING + +# define B_ASN1_DISPLAYTEXT \ + B_ASN1_IA5STRING| \ + B_ASN1_VISIBLESTRING| \ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING + +DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) + +int ASN1_TYPE_get(const ASN1_TYPE *a); +void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); +int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); +int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); + +ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); +void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); + +ASN1_OBJECT *ASN1_OBJECT_new(void); +void ASN1_OBJECT_free(ASN1_OBJECT *a); +int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp); +ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); + +DECLARE_ASN1_ITEM(ASN1_OBJECT) + +DEFINE_STACK_OF(ASN1_OBJECT) + +ASN1_STRING *ASN1_STRING_new(void); +void ASN1_STRING_free(ASN1_STRING *a); +void ASN1_STRING_clear_free(ASN1_STRING *a); +int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); +ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); +ASN1_STRING *ASN1_STRING_type_new(int type); +int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); + /* + * Since this is used to store all sorts of things, via macros, for now, + * make its data void * + */ +int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); +void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); +int ASN1_STRING_length(const ASN1_STRING *x); +void ASN1_STRING_length_set(ASN1_STRING *x, int n); +int ASN1_STRING_type(const ASN1_STRING *x); +DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x)) +const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x); + +DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) +int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); +int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); +int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n); +int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, + const unsigned char *flags, int flags_len); + +int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, + BIT_STRING_BITNAME *tbl, int indent); +int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl); +int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, + BIT_STRING_BITNAME *tbl); + +DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) +ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); +int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); + +DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) + +int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); +ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); +ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); +int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); + +int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, + time_t t); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, + time_t t, int offset_day, + long offset_sec); +int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); +int ASN1_TIME_diff(int *pday, int *psec, + const ASN1_TIME *from, const ASN1_TIME *to); + +DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) +ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); +int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, + const ASN1_OCTET_STRING *b); +int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, + int len); + +DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_NULL) +DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) + +int UTF8_getc(const unsigned char *str, int len, unsigned long *val); +int UTF8_putc(unsigned char *str, int len, unsigned long value); + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) +DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_TIME) + +DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) + +ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); +ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_TIME_check(const ASN1_TIME *t); +ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME + **out); +int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); + +int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a); +int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); +int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a); +int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); +int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a); +int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); +int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type); +int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a); + +int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); +ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, + const char *sn, const char *ln); + +int ASN1_INTEGER_get_int64(int64_t *pr, const ASN1_INTEGER *a); +int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r); +int ASN1_INTEGER_get_uint64(uint64_t *pr, const ASN1_INTEGER *a); +int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a, uint64_t r); + +int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); +long ASN1_INTEGER_get(const ASN1_INTEGER *a); +ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); +BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); + +int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a); +int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r); + + +int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); +long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a); +ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai); +BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn); + +/* General */ +/* given a string, return the correct type, max is the maximum length */ +int ASN1_PRINTABLE_type(const unsigned char *s, int max); + +unsigned long ASN1_tag2bit(int tag); + +/* SPECIALS */ +int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, + int *pclass, long omax); +int ASN1_check_infinite_end(unsigned char **p, long len); +int ASN1_const_check_infinite_end(const unsigned char **p, long len); +void ASN1_put_object(unsigned char **pp, int constructed, int length, + int tag, int xclass); +int ASN1_put_eoc(unsigned char **pp); +int ASN1_object_size(int constructed, int length, int tag); + +/* Used to implement other functions */ +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); + +# define ASN1_dup_of(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_dup_of_const(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(const type, x))) + +void *ASN1_item_dup(const ASN1_ITEM *it, void *x); + +/* ASN1 alloc/free macros for when a type is only used internally */ + +# define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) +# define M_ASN1_free_of(x, type) \ + ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) + +# ifndef OPENSSL_NO_STDIO +void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); + +# define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); + +# define ASN1_i2d_fp_of(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_fp_of_const(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); +int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); +# endif + +int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in); + +void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); + +# define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); + +# define ASN1_i2d_bio_of(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_bio_of_const(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); +int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); +int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); +int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); +int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); +int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags); +int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen, int off); +int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, + unsigned char *buf, int off); +int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); +int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, + int dump); +const char *ASN1_tag2str(int tag); + +/* Used to load and write Netscape format cert */ + +int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); + +int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); +int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len); +int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, + unsigned char *data, int len); +int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, + unsigned char *data, int max_len); + +void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it); + +ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, + ASN1_OCTET_STRING **oct); + +void ASN1_STRING_set_default_mask(unsigned long mask); +int ASN1_STRING_set_default_mask_asc(const char *p); +unsigned long ASN1_STRING_get_default_mask(void); +int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask); +int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask, + long minsize, long maxsize); + +ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, + const unsigned char *in, int inlen, + int inform, int nid); +ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); +int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); +void ASN1_STRING_TABLE_cleanup(void); + +/* ASN1 template functions */ + +/* Old API compatible functions */ +ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); +void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); +ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, + long len, const ASN1_ITEM *it); +int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); +int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, + const ASN1_ITEM *it); + +void ASN1_add_oid_module(void); +void ASN1_add_stable_module(void); + +ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf); +ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf); +int ASN1_str2mask(const char *str, unsigned long *pmask); + +/* ASN1 Print flags */ + +/* Indicate missing OPTIONAL fields */ +# define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 +/* Mark start and end of SEQUENCE */ +# define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 +/* Mark start and end of SEQUENCE/SET OF */ +# define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 +/* Show the ASN1 type of primitives */ +# define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 +/* Don't show ASN1 type of ANY */ +# define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 +/* Don't show ASN1 type of MSTRINGs */ +# define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 +/* Don't show field names in SEQUENCE */ +# define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 +/* Show structure names of each SEQUENCE field */ +# define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 +/* Don't show structure name even at top level */ +# define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 + +int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, + const ASN1_ITEM *it, const ASN1_PCTX *pctx); +ASN1_PCTX *ASN1_PCTX_new(void); +void ASN1_PCTX_free(ASN1_PCTX *p); +unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); + +ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx)); +void ASN1_SCTX_free(ASN1_SCTX *p); +const ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p); +const ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p); +unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p); +void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data); +void *ASN1_SCTX_get_app_data(ASN1_SCTX *p); + +const BIO_METHOD *BIO_f_asn1(void); + +BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); + +int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const ASN1_ITEM *it); +int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const char *hdr, const ASN1_ITEM *it); +int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, + int ctype_nid, int econt_nid, + STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); +int SMIME_crlf_copy(BIO *in, BIO *out, int flags); +int SMIME_text(BIO *in, BIO *out); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_ASN1_strings(void); + +/* Error codes for the ASN1 functions. */ + +/* Function codes. */ +# define ASN1_F_A2D_ASN1_OBJECT 100 +# define ASN1_F_A2I_ASN1_INTEGER 102 +# define ASN1_F_A2I_ASN1_STRING 103 +# define ASN1_F_APPEND_EXP 176 +# define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 +# define ASN1_F_ASN1_CB 177 +# define ASN1_F_ASN1_CHECK_TLEN 104 +# define ASN1_F_ASN1_COLLECT 106 +# define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 +# define ASN1_F_ASN1_D2I_FP 109 +# define ASN1_F_ASN1_D2I_READ_BIO 107 +# define ASN1_F_ASN1_DIGEST 184 +# define ASN1_F_ASN1_DO_ADB 110 +# define ASN1_F_ASN1_DO_LOCK 233 +# define ASN1_F_ASN1_DUP 111 +# define ASN1_F_ASN1_EX_C2I 204 +# define ASN1_F_ASN1_FIND_END 190 +# define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 +# define ASN1_F_ASN1_GENERATE_V3 178 +# define ASN1_F_ASN1_GET_INT64 224 +# define ASN1_F_ASN1_GET_OBJECT 114 +# define ASN1_F_ASN1_GET_UINT64 225 +# define ASN1_F_ASN1_I2D_BIO 116 +# define ASN1_F_ASN1_I2D_FP 117 +# define ASN1_F_ASN1_ITEM_D2I_FP 206 +# define ASN1_F_ASN1_ITEM_DUP 191 +# define ASN1_F_ASN1_ITEM_EMBED_D2I 120 +# define ASN1_F_ASN1_ITEM_EMBED_NEW 121 +# define ASN1_F_ASN1_ITEM_I2D_BIO 192 +# define ASN1_F_ASN1_ITEM_I2D_FP 193 +# define ASN1_F_ASN1_ITEM_PACK 198 +# define ASN1_F_ASN1_ITEM_SIGN 195 +# define ASN1_F_ASN1_ITEM_SIGN_CTX 220 +# define ASN1_F_ASN1_ITEM_UNPACK 199 +# define ASN1_F_ASN1_ITEM_VERIFY 197 +# define ASN1_F_ASN1_MBSTRING_NCOPY 122 +# define ASN1_F_ASN1_OBJECT_NEW 123 +# define ASN1_F_ASN1_OUTPUT_DATA 214 +# define ASN1_F_ASN1_PCTX_NEW 205 +# define ASN1_F_ASN1_SCTX_NEW 221 +# define ASN1_F_ASN1_SIGN 128 +# define ASN1_F_ASN1_STR2TYPE 179 +# define ASN1_F_ASN1_STRING_GET_INT64 227 +# define ASN1_F_ASN1_STRING_GET_UINT64 230 +# define ASN1_F_ASN1_STRING_SET 186 +# define ASN1_F_ASN1_STRING_TABLE_ADD 129 +# define ASN1_F_ASN1_STRING_TO_BN 228 +# define ASN1_F_ASN1_STRING_TYPE_NEW 130 +# define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 +# define ASN1_F_ASN1_TEMPLATE_NEW 133 +# define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 +# define ASN1_F_ASN1_TIME_ADJ 217 +# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 +# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 +# define ASN1_F_ASN1_UTCTIME_ADJ 218 +# define ASN1_F_ASN1_VERIFY 137 +# define ASN1_F_B64_READ_ASN1 209 +# define ASN1_F_B64_WRITE_ASN1 210 +# define ASN1_F_BIO_NEW_NDEF 208 +# define ASN1_F_BITSTR_CB 180 +# define ASN1_F_BN_TO_ASN1_STRING 229 +# define ASN1_F_C2I_ASN1_BIT_STRING 189 +# define ASN1_F_C2I_ASN1_INTEGER 194 +# define ASN1_F_C2I_ASN1_OBJECT 196 +# define ASN1_F_C2I_IBUF 226 +# define ASN1_F_COLLECT_DATA 140 +# define ASN1_F_D2I_ASN1_OBJECT 147 +# define ASN1_F_D2I_ASN1_UINTEGER 150 +# define ASN1_F_D2I_AUTOPRIVATEKEY 207 +# define ASN1_F_D2I_PRIVATEKEY 154 +# define ASN1_F_D2I_PUBLICKEY 155 +# define ASN1_F_DO_TCREATE 222 +# define ASN1_F_I2D_ASN1_BIO_STREAM 211 +# define ASN1_F_I2D_DSA_PUBKEY 161 +# define ASN1_F_I2D_EC_PUBKEY 181 +# define ASN1_F_I2D_PRIVATEKEY 163 +# define ASN1_F_I2D_PUBLICKEY 164 +# define ASN1_F_I2D_RSA_PUBKEY 165 +# define ASN1_F_LONG_C2I 166 +# define ASN1_F_OID_MODULE_INIT 174 +# define ASN1_F_PARSE_TAGGING 182 +# define ASN1_F_PKCS5_PBE2_SET_IV 167 +# define ASN1_F_PKCS5_PBE2_SET_SCRYPT 231 +# define ASN1_F_PKCS5_PBE_SET 202 +# define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 +# define ASN1_F_PKCS5_PBKDF2_SET 219 +# define ASN1_F_PKCS5_SCRYPT_SET 232 +# define ASN1_F_SMIME_READ_ASN1 212 +# define ASN1_F_SMIME_TEXT 213 +# define ASN1_F_STBL_MODULE_INIT 223 +# define ASN1_F_X509_CRL_ADD0_REVOKED 169 +# define ASN1_F_X509_INFO_NEW 170 +# define ASN1_F_X509_NAME_ENCODE 203 +# define ASN1_F_X509_NAME_EX_D2I 158 +# define ASN1_F_X509_NAME_EX_NEW 171 +# define ASN1_F_X509_PKEY_NEW 173 + +/* Reason codes. */ +# define ASN1_R_ADDING_OBJECT 171 +# define ASN1_R_ASN1_PARSE_ERROR 203 +# define ASN1_R_ASN1_SIG_PARSE_ERROR 204 +# define ASN1_R_AUX_ERROR 100 +# define ASN1_R_BAD_OBJECT_HEADER 102 +# define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214 +# define ASN1_R_BN_LIB 105 +# define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 +# define ASN1_R_BUFFER_TOO_SMALL 107 +# define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108 +# define ASN1_R_CONTEXT_NOT_INITIALISED 217 +# define ASN1_R_DATA_IS_WRONG 109 +# define ASN1_R_DECODE_ERROR 110 +# define ASN1_R_DEPTH_EXCEEDED 174 +# define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 198 +# define ASN1_R_ENCODE_ERROR 112 +# define ASN1_R_ERROR_GETTING_TIME 173 +# define ASN1_R_ERROR_LOADING_SECTION 172 +# define ASN1_R_ERROR_SETTING_CIPHER_PARAMS 114 +# define ASN1_R_EXPECTING_AN_INTEGER 115 +# define ASN1_R_EXPECTING_AN_OBJECT 116 +# define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119 +# define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120 +# define ASN1_R_FIELD_MISSING 121 +# define ASN1_R_FIRST_NUM_TOO_LARGE 122 +# define ASN1_R_HEADER_TOO_LONG 123 +# define ASN1_R_ILLEGAL_BITSTRING_FORMAT 175 +# define ASN1_R_ILLEGAL_BOOLEAN 176 +# define ASN1_R_ILLEGAL_CHARACTERS 124 +# define ASN1_R_ILLEGAL_FORMAT 177 +# define ASN1_R_ILLEGAL_HEX 178 +# define ASN1_R_ILLEGAL_IMPLICIT_TAG 179 +# define ASN1_R_ILLEGAL_INTEGER 180 +# define ASN1_R_ILLEGAL_NEGATIVE_VALUE 226 +# define ASN1_R_ILLEGAL_NESTED_TAGGING 181 +# define ASN1_R_ILLEGAL_NULL 125 +# define ASN1_R_ILLEGAL_NULL_VALUE 182 +# define ASN1_R_ILLEGAL_OBJECT 183 +# define ASN1_R_ILLEGAL_OPTIONAL_ANY 126 +# define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 170 +# define ASN1_R_ILLEGAL_PADDING 221 +# define ASN1_R_ILLEGAL_TAGGED_ANY 127 +# define ASN1_R_ILLEGAL_TIME_VALUE 184 +# define ASN1_R_ILLEGAL_ZERO_CONTENT 222 +# define ASN1_R_INTEGER_NOT_ASCII_FORMAT 185 +# define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 128 +# define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 220 +# define ASN1_R_INVALID_BMPSTRING_LENGTH 129 +# define ASN1_R_INVALID_DIGIT 130 +# define ASN1_R_INVALID_MIME_TYPE 205 +# define ASN1_R_INVALID_MODIFIER 186 +# define ASN1_R_INVALID_NUMBER 187 +# define ASN1_R_INVALID_OBJECT_ENCODING 216 +# define ASN1_R_INVALID_SCRYPT_PARAMETERS 227 +# define ASN1_R_INVALID_SEPARATOR 131 +# define ASN1_R_INVALID_STRING_TABLE_VALUE 218 +# define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 +# define ASN1_R_INVALID_UTF8STRING 134 +# define ASN1_R_INVALID_VALUE 219 +# define ASN1_R_LIST_ERROR 188 +# define ASN1_R_MIME_NO_CONTENT_TYPE 206 +# define ASN1_R_MIME_PARSE_ERROR 207 +# define ASN1_R_MIME_SIG_PARSE_ERROR 208 +# define ASN1_R_MISSING_EOC 137 +# define ASN1_R_MISSING_SECOND_NUMBER 138 +# define ASN1_R_MISSING_VALUE 189 +# define ASN1_R_MSTRING_NOT_UNIVERSAL 139 +# define ASN1_R_MSTRING_WRONG_TAG 140 +# define ASN1_R_NESTED_ASN1_STRING 197 +# define ASN1_R_NON_HEX_CHARACTERS 141 +# define ASN1_R_NOT_ASCII_FORMAT 190 +# define ASN1_R_NOT_ENOUGH_DATA 142 +# define ASN1_R_NO_CONTENT_TYPE 209 +# define ASN1_R_NO_MATCHING_CHOICE_TYPE 143 +# define ASN1_R_NO_MULTIPART_BODY_FAILURE 210 +# define ASN1_R_NO_MULTIPART_BOUNDARY 211 +# define ASN1_R_NO_SIG_CONTENT_TYPE 212 +# define ASN1_R_NULL_IS_WRONG_LENGTH 144 +# define ASN1_R_OBJECT_NOT_ASCII_FORMAT 191 +# define ASN1_R_ODD_NUMBER_OF_CHARS 145 +# define ASN1_R_SECOND_NUMBER_TOO_LARGE 147 +# define ASN1_R_SEQUENCE_LENGTH_MISMATCH 148 +# define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 149 +# define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 192 +# define ASN1_R_SHORT_LINE 150 +# define ASN1_R_SIG_INVALID_MIME_TYPE 213 +# define ASN1_R_STREAMING_NOT_SUPPORTED 202 +# define ASN1_R_STRING_TOO_LONG 151 +# define ASN1_R_STRING_TOO_SHORT 152 +# define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154 +# define ASN1_R_TIME_NOT_ASCII_FORMAT 193 +# define ASN1_R_TOO_LARGE 223 +# define ASN1_R_TOO_LONG 155 +# define ASN1_R_TOO_SMALL 224 +# define ASN1_R_TYPE_NOT_CONSTRUCTED 156 +# define ASN1_R_TYPE_NOT_PRIMITIVE 195 +# define ASN1_R_UNEXPECTED_EOC 159 +# define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 215 +# define ASN1_R_UNKNOWN_FORMAT 160 +# define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 +# define ASN1_R_UNKNOWN_OBJECT_TYPE 162 +# define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE 163 +# define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 199 +# define ASN1_R_UNKNOWN_TAG 194 +# define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 +# define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 +# define ASN1_R_UNSUPPORTED_TYPE 196 +# define ASN1_R_WRONG_INTEGER_TYPE 225 +# define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 +# define ASN1_R_WRONG_TAG 168 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/asn1_mac.h b/android/x86_64/include/openssl/asn1_mac.h new file mode 100644 index 00000000..7ac1782a --- /dev/null +++ b/android/x86_64/include/openssl/asn1_mac.h @@ -0,0 +1,10 @@ +/* + * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#error "This file is obsolete; please update your software." diff --git a/android/x86_64/include/openssl/asn1t.h b/android/x86_64/include/openssl/asn1t.h new file mode 100644 index 00000000..8eedfb3f --- /dev/null +++ b/android/x86_64/include/openssl/asn1t.h @@ -0,0 +1,924 @@ +/* + * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ASN1T_H +# define HEADER_ASN1T_H + +# include +# include +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +/* ASN1 template defines, structures and functions */ + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + OPENSSL_GLOBAL const ASN1_ITEM itname##_it = { + +# define static_ASN1_ITEM_start(itname) \ + static const ASN1_ITEM itname##_it = { + +# define ASN1_ITEM_end(itname) \ + }; + +# else + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr())) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + const ASN1_ITEM * itname##_it(void) \ + { \ + static const ASN1_ITEM local_it = { + +# define static_ASN1_ITEM_start(itname) \ + static ASN1_ITEM_start(itname) + +# define ASN1_ITEM_end(itname) \ + }; \ + return &local_it; \ + } + +# endif + +/* Macros to aid ASN1 template writing */ + +# define ASN1_ITEM_TEMPLATE(tname) \ + static const ASN1_TEMPLATE tname##_item_tt + +# define ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) + +/* This is a ASN1 type which just embeds a template */ + +/*- + * This pair helps declare a SEQUENCE. We can do: + * + * ASN1_SEQUENCE(stname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END(stname) + * + * This will produce an ASN1_ITEM called stname_it + * for a structure called stname. + * + * If you want the same structure but a different + * name then use: + * + * ASN1_SEQUENCE(itname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END_name(stname, itname) + * + * This will create an item called itname_it using + * a structure called stname. + */ + +# define ASN1_SEQUENCE(tname) \ + static const ASN1_TEMPLATE tname##_seq_tt[] + +# define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) + +# define static_ASN1_SEQUENCE_END(stname) static_ASN1_SEQUENCE_END_name(stname, stname) + +# define ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define static_ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE(tname) \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ + ASN1_SEQUENCE_cb(tname, cb) + +# define ASN1_SEQUENCE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_BROKEN_SEQUENCE(tname) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_ref(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_enc(tname, enc, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) + +# define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) +# define static_ASN1_BROKEN_SEQUENCE_END(stname) \ + static_ASN1_SEQUENCE_END_ref(stname, stname) + +# define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) +# define static_ASN1_SEQUENCE_END_cb(stname, tname) static_ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) +# define static_ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/*- + * This pair helps declare a CHOICE type. We can do: + * + * ASN1_CHOICE(chname) = { + * ... CHOICE options ... + * ASN1_CHOICE_END(chname) + * + * This will produce an ASN1_ITEM called chname_it + * for a structure called chname. The structure + * definition must look like this: + * typedef struct { + * int type; + * union { + * ASN1_SOMETHING *opt1; + * ASN1_SOMEOTHER *opt2; + * } value; + * } chname; + * + * the name of the selector must be 'type'. + * to use an alternative selector name use the + * ASN1_CHOICE_END_selector() version. + */ + +# define ASN1_CHOICE(tname) \ + static const ASN1_TEMPLATE tname##_ch_tt[] + +# define ASN1_CHOICE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_CHOICE(tname) + +# define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) + +# define static_ASN1_CHOICE_END(stname) static_ASN1_CHOICE_END_name(stname, stname) + +# define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) + +# define static_ASN1_CHOICE_END_name(stname, tname) static_ASN1_CHOICE_END_selector(stname, tname, type) + +# define ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define static_ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_CHOICE_END_cb(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/* This helps with the template wrapper form of ASN1_ITEM */ + +# define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ + (flags), (tag), 0,\ + #name, ASN1_ITEM_ref(type) } + +/* These help with SEQUENCE or CHOICE components */ + +/* used to declare other types */ + +# define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ + (flags), (tag), offsetof(stname, field),\ + #field, ASN1_ITEM_ref(type) } + +/* implicit and explicit helper macros */ + +# define ASN1_IMP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type) + +# define ASN1_EXP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type) + +/* Any defined by macros: the field used is in the table itself */ + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# else +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } +# endif +/* Plain simple type */ +# define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) +/* Embedded simple type */ +# define ASN1_EMBED(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_EMBED,0, stname, field, type) + +/* OPTIONAL simple type */ +# define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* IMPLICIT tagged simple type */ +# define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) + +/* IMPLICIT tagged OPTIONAL simple type */ +# define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* Same as above but EXPLICIT */ + +# define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) +# define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* SEQUENCE OF type */ +# define ASN1_SEQUENCE_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) + +/* OPTIONAL SEQUENCE OF */ +# define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Same as above but for SET OF */ + +# define ASN1_SET_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) + +# define ASN1_SET_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ + +# define ASN1_IMP_SET_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_EXP_SET_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +/* EXPLICIT using indefinite length constructed form */ +# define ASN1_NDEF_EXP(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) + +/* EXPLICIT OPTIONAL using indefinite length constructed form */ +# define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) + +/* Macros for the ASN1_ADB structure */ + +# define ASN1_ADB(name) \ + static const ASN1_ADB_TABLE name##_adbtbl[] + +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ + ;\ + static const ASN1_ADB name##_adb = {\ + flags,\ + offsetof(name, field),\ + adb_cb,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + } + +# else + +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ + ;\ + static const ASN1_ITEM *name##_adb(void) \ + { \ + static const ASN1_ADB internal_adb = \ + {\ + flags,\ + offsetof(name, field),\ + adb_cb,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + }; \ + return (const ASN1_ITEM *) &internal_adb; \ + } \ + void dummy_function(void) + +# endif + +# define ADB_ENTRY(val, template) {val, template} + +# define ASN1_ADB_TEMPLATE(name) \ + static const ASN1_TEMPLATE name##_tt + +/* + * This is the ASN1 template structure that defines a wrapper round the + * actual type. It determines the actual position of the field in the value + * structure, various flags such as OPTIONAL and the field name. + */ + +struct ASN1_TEMPLATE_st { + unsigned long flags; /* Various flags */ + long tag; /* tag, not used if no tagging */ + unsigned long offset; /* Offset of this field in structure */ + const char *field_name; /* Field name */ + ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ +}; + +/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ + +# define ASN1_TEMPLATE_item(t) (t->item_ptr) +# define ASN1_TEMPLATE_adb(t) (t->item_ptr) + +typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; +typedef struct ASN1_ADB_st ASN1_ADB; + +struct ASN1_ADB_st { + unsigned long flags; /* Various flags */ + unsigned long offset; /* Offset of selector field */ + int (*adb_cb)(long *psel); /* Application callback */ + const ASN1_ADB_TABLE *tbl; /* Table of possible types */ + long tblcount; /* Number of entries in tbl */ + const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ + const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ +}; + +struct ASN1_ADB_TABLE_st { + long value; /* NID for an object or value for an int */ + const ASN1_TEMPLATE tt; /* item for this value */ +}; + +/* template flags */ + +/* Field is optional */ +# define ASN1_TFLG_OPTIONAL (0x1) + +/* Field is a SET OF */ +# define ASN1_TFLG_SET_OF (0x1 << 1) + +/* Field is a SEQUENCE OF */ +# define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) + +/* + * Special case: this refers to a SET OF that will be sorted into DER order + * when encoded *and* the corresponding STACK will be modified to match the + * new order. + */ +# define ASN1_TFLG_SET_ORDER (0x3 << 1) + +/* Mask for SET OF or SEQUENCE OF */ +# define ASN1_TFLG_SK_MASK (0x3 << 1) + +/* + * These flags mean the tag should be taken from the tag field. If EXPLICIT + * then the underlying type is used for the inner tag. + */ + +/* IMPLICIT tagging */ +# define ASN1_TFLG_IMPTAG (0x1 << 3) + +/* EXPLICIT tagging, inner tag from underlying type */ +# define ASN1_TFLG_EXPTAG (0x2 << 3) + +# define ASN1_TFLG_TAG_MASK (0x3 << 3) + +/* context specific IMPLICIT */ +# define ASN1_TFLG_IMPLICIT ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT + +/* context specific EXPLICIT */ +# define ASN1_TFLG_EXPLICIT ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT + +/* + * If tagging is in force these determine the type of tag to use. Otherwise + * the tag is determined by the underlying type. These values reflect the + * actual octet format. + */ + +/* Universal tag */ +# define ASN1_TFLG_UNIVERSAL (0x0<<6) +/* Application tag */ +# define ASN1_TFLG_APPLICATION (0x1<<6) +/* Context specific tag */ +# define ASN1_TFLG_CONTEXT (0x2<<6) +/* Private tag */ +# define ASN1_TFLG_PRIVATE (0x3<<6) + +# define ASN1_TFLG_TAG_CLASS (0x3<<6) + +/* + * These are for ANY DEFINED BY type. In this case the 'item' field points to + * an ASN1_ADB structure which contains a table of values to decode the + * relevant type + */ + +# define ASN1_TFLG_ADB_MASK (0x3<<8) + +# define ASN1_TFLG_ADB_OID (0x1<<8) + +# define ASN1_TFLG_ADB_INT (0x1<<9) + +/* + * This flag when present in a SEQUENCE OF, SET OF or EXPLICIT causes + * indefinite length constructed encoding to be used if required. + */ + +# define ASN1_TFLG_NDEF (0x1<<11) + +/* Field is embedded and not a pointer */ +# define ASN1_TFLG_EMBED (0x1 << 12) + +/* This is the actual ASN1 item itself */ + +struct ASN1_ITEM_st { + char itype; /* The item type, primitive, SEQUENCE, CHOICE + * or extern */ + long utype; /* underlying type */ + const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains + * the contents */ + long tcount; /* Number of templates if SEQUENCE or CHOICE */ + const void *funcs; /* functions that handle this type */ + long size; /* Structure size (usually) */ + const char *sname; /* Structure name */ +}; + +/*- + * These are values for the itype field and + * determine how the type is interpreted. + * + * For PRIMITIVE types the underlying type + * determines the behaviour if items is NULL. + * + * Otherwise templates must contain a single + * template and the type is treated in the + * same way as the type specified in the template. + * + * For SEQUENCE types the templates field points + * to the members, the size field is the + * structure size. + * + * For CHOICE types the templates field points + * to each possible member (typically a union) + * and the 'size' field is the offset of the + * selector. + * + * The 'funcs' field is used for application + * specific functions. + * + * The EXTERN type uses a new style d2i/i2d. + * The new style should be used where possible + * because it avoids things like the d2i IMPLICIT + * hack. + * + * MSTRING is a multiple string type, it is used + * for a CHOICE of character strings where the + * actual strings all occupy an ASN1_STRING + * structure. In this case the 'utype' field + * has a special meaning, it is used as a mask + * of acceptable types using the B_ASN1 constants. + * + * NDEF_SEQUENCE is the same as SEQUENCE except + * that it will use indefinite length constructed + * encoding if requested. + * + */ + +# define ASN1_ITYPE_PRIMITIVE 0x0 + +# define ASN1_ITYPE_SEQUENCE 0x1 + +# define ASN1_ITYPE_CHOICE 0x2 + +# define ASN1_ITYPE_EXTERN 0x4 + +# define ASN1_ITYPE_MSTRING 0x5 + +# define ASN1_ITYPE_NDEF_SEQUENCE 0x6 + +/* + * Cache for ASN1 tag and length, so we don't keep re-reading it for things + * like CHOICE + */ + +struct ASN1_TLC_st { + char valid; /* Values below are valid */ + int ret; /* return value */ + long plen; /* length */ + int ptag; /* class value */ + int pclass; /* class value */ + int hdrlen; /* header length */ +}; + +/* Typedefs for ASN1 function pointers */ +typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); +typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); +typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); + +typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, + int indent, const char *fname, + const ASN1_PCTX *pctx); + +typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, + int *putype, const ASN1_ITEM *it); +typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, + int len, int utype, char *free_cont, + const ASN1_ITEM *it); +typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, + const ASN1_ITEM *it, int indent, + const ASN1_PCTX *pctx); + +typedef struct ASN1_EXTERN_FUNCS_st { + void *app_data; + ASN1_ex_new_func *asn1_ex_new; + ASN1_ex_free_func *asn1_ex_free; + ASN1_ex_free_func *asn1_ex_clear; + ASN1_ex_d2i *asn1_ex_d2i; + ASN1_ex_i2d *asn1_ex_i2d; + ASN1_ex_print_func *asn1_ex_print; +} ASN1_EXTERN_FUNCS; + +typedef struct ASN1_PRIMITIVE_FUNCS_st { + void *app_data; + unsigned long flags; + ASN1_ex_new_func *prim_new; + ASN1_ex_free_func *prim_free; + ASN1_ex_free_func *prim_clear; + ASN1_primitive_c2i *prim_c2i; + ASN1_primitive_i2c *prim_i2c; + ASN1_primitive_print *prim_print; +} ASN1_PRIMITIVE_FUNCS; + +/* + * This is the ASN1_AUX structure: it handles various miscellaneous + * requirements. For example the use of reference counts and an informational + * callback. The "informational callback" is called at various points during + * the ASN1 encoding and decoding. It can be used to provide minor + * customisation of the structures used. This is most useful where the + * supplied routines *almost* do the right thing but need some extra help at + * a few points. If the callback returns zero then it is assumed a fatal + * error has occurred and the main operation should be abandoned. If major + * changes in the default behaviour are required then an external type is + * more appropriate. + */ + +typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, + void *exarg); + +typedef struct ASN1_AUX_st { + void *app_data; + int flags; + int ref_offset; /* Offset of reference value */ + int ref_lock; /* Lock type to use */ + ASN1_aux_cb *asn1_cb; + int enc_offset; /* Offset of ASN1_ENCODING structure */ +} ASN1_AUX; + +/* For print related callbacks exarg points to this structure */ +typedef struct ASN1_PRINT_ARG_st { + BIO *out; + int indent; + const ASN1_PCTX *pctx; +} ASN1_PRINT_ARG; + +/* For streaming related callbacks exarg points to this structure */ +typedef struct ASN1_STREAM_ARG_st { + /* BIO to stream through */ + BIO *out; + /* BIO with filters appended */ + BIO *ndef_bio; + /* Streaming I/O boundary */ + unsigned char **boundary; +} ASN1_STREAM_ARG; + +/* Flags in ASN1_AUX */ + +/* Use a reference count */ +# define ASN1_AFLG_REFCOUNT 1 +/* Save the encoding of structure (useful for signatures) */ +# define ASN1_AFLG_ENCODING 2 +/* The Sequence length is invalid */ +# define ASN1_AFLG_BROKEN 4 + +/* operation values for asn1_cb */ + +# define ASN1_OP_NEW_PRE 0 +# define ASN1_OP_NEW_POST 1 +# define ASN1_OP_FREE_PRE 2 +# define ASN1_OP_FREE_POST 3 +# define ASN1_OP_D2I_PRE 4 +# define ASN1_OP_D2I_POST 5 +# define ASN1_OP_I2D_PRE 6 +# define ASN1_OP_I2D_POST 7 +# define ASN1_OP_PRINT_PRE 8 +# define ASN1_OP_PRINT_POST 9 +# define ASN1_OP_STREAM_PRE 10 +# define ASN1_OP_STREAM_POST 11 +# define ASN1_OP_DETACHED_PRE 12 +# define ASN1_OP_DETACHED_POST 13 + +/* Macro to implement a primitive type */ +# define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) +# define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement a multi string type */ +# define IMPLEMENT_ASN1_MSTRING(itname, mask) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ + ASN1_ITEM_end(itname) + +# define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_EXTERN, \ + tag, \ + NULL, \ + 0, \ + &fptrs, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +/* Macro to implement standard functions in terms of ASN1_ITEM structures */ + +# define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) + +# define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ + IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) + +# define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ + pre stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + pre void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ + stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ + int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ + { \ + return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ + } + +# define IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(stname) \ + static stname *d2i_##stname(stname **a, \ + const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \ + ASN1_ITEM_rptr(stname)); \ + } \ + static int i2d_##stname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, \ + ASN1_ITEM_rptr(stname)); \ + } + +/* + * This includes evil casts to remove const: they will go away when full ASN1 + * constification is done. + */ +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ + stname * stname##_dup(stname *x) \ + { \ + return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ + } + +# define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ + IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx) \ + { \ + return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ + ASN1_ITEM_rptr(itname), pctx); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ + IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) + +# define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +/* external definitions for primitive types */ + +DECLARE_ASN1_ITEM(ASN1_BOOLEAN) +DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_SEQUENCE) +DECLARE_ASN1_ITEM(CBIGNUM) +DECLARE_ASN1_ITEM(BIGNUM) +DECLARE_ASN1_ITEM(LONG) +DECLARE_ASN1_ITEM(ZLONG) + +DEFINE_STACK_OF(ASN1_VALUE) + +/* Functions used internally by the ASN1 code */ + +int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); +void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); + +int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/async.h b/android/x86_64/include/openssl/async.h new file mode 100644 index 00000000..5b2e496d --- /dev/null +++ b/android/x86_64/include/openssl/async.h @@ -0,0 +1,98 @@ +/* + * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifndef HEADER_ASYNC_H +# define HEADER_ASYNC_H + +#if defined(_WIN32) +# if defined(BASETYPES) || defined(_WINDEF_H) +/* application has to include to use this */ +#define OSSL_ASYNC_FD HANDLE +#define OSSL_BAD_ASYNC_FD INVALID_HANDLE_VALUE +# endif +#else +#define OSSL_ASYNC_FD int +#define OSSL_BAD_ASYNC_FD -1 +#endif + + +# ifdef __cplusplus +extern "C" { +# endif + +typedef struct async_job_st ASYNC_JOB; +typedef struct async_wait_ctx_st ASYNC_WAIT_CTX; + +#define ASYNC_ERR 0 +#define ASYNC_NO_JOBS 1 +#define ASYNC_PAUSE 2 +#define ASYNC_FINISH 3 + +int ASYNC_init_thread(size_t max_size, size_t init_size); +void ASYNC_cleanup_thread(void); + +#ifdef OSSL_ASYNC_FD +ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void); +void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx); +int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key, + OSSL_ASYNC_FD fd, + void *custom_data, + void (*cleanup)(ASYNC_WAIT_CTX *, const void *, + OSSL_ASYNC_FD, void *)); +int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx, const void *key, + OSSL_ASYNC_FD *fd, void **custom_data); +int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *fd, + size_t *numfds); +int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *addfd, + size_t *numaddfds, OSSL_ASYNC_FD *delfd, + size_t *numdelfds); +int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key); +#endif + +int ASYNC_is_capable(void); + +int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *ctx, int *ret, + int (*func)(void *), void *args, size_t size); +int ASYNC_pause_job(void); + +ASYNC_JOB *ASYNC_get_current_job(void); +ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job); +void ASYNC_block_pause(void); +void ASYNC_unblock_pause(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_ASYNC_strings(void); + +/* Error codes for the ASYNC functions. */ + +/* Function codes. */ +# define ASYNC_F_ASYNC_CTX_NEW 100 +# define ASYNC_F_ASYNC_INIT_THREAD 101 +# define ASYNC_F_ASYNC_JOB_NEW 102 +# define ASYNC_F_ASYNC_PAUSE_JOB 103 +# define ASYNC_F_ASYNC_START_FUNC 104 +# define ASYNC_F_ASYNC_START_JOB 105 + +/* Reason codes. */ +# define ASYNC_R_FAILED_TO_SET_POOL 101 +# define ASYNC_R_FAILED_TO_SWAP_CONTEXT 102 +# define ASYNC_R_INIT_FAILED 105 +# define ASYNC_R_INVALID_POOL_SIZE 103 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/bio.h b/android/x86_64/include/openssl/bio.h new file mode 100644 index 00000000..9bc941b2 --- /dev/null +++ b/android/x86_64/include/openssl/bio.h @@ -0,0 +1,854 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BIO_H +# define HEADER_BIO_H + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# endif +# include + +# include + +# ifndef OPENSSL_NO_SCTP +# ifndef OPENSSL_SYS_VMS +# include +# else +# include +# endif +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* There are the classes of BIOs */ +# define BIO_TYPE_DESCRIPTOR 0x0100 /* socket, fd, connect or accept */ +# define BIO_TYPE_FILTER 0x0200 +# define BIO_TYPE_SOURCE_SINK 0x0400 + +/* These are the 'types' of BIOs */ +# define BIO_TYPE_NONE 0 +# define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK) +# define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK) + +# define BIO_TYPE_FD ( 4|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_SOCKET ( 5|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_NULL ( 6|BIO_TYPE_SOURCE_SINK) +# define BIO_TYPE_SSL ( 7|BIO_TYPE_FILTER) +# define BIO_TYPE_MD ( 8|BIO_TYPE_FILTER) +# define BIO_TYPE_BUFFER ( 9|BIO_TYPE_FILTER) +# define BIO_TYPE_CIPHER (10|BIO_TYPE_FILTER) +# define BIO_TYPE_BASE64 (11|BIO_TYPE_FILTER) +# define BIO_TYPE_CONNECT (12|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_ACCEPT (13|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) + +# define BIO_TYPE_NBIO_TEST (16|BIO_TYPE_FILTER)/* server proxy BIO */ +# define BIO_TYPE_NULL_FILTER (17|BIO_TYPE_FILTER) +# define BIO_TYPE_BIO (19|BIO_TYPE_SOURCE_SINK)/* half a BIO pair */ +# define BIO_TYPE_LINEBUFFER (20|BIO_TYPE_FILTER) +# define BIO_TYPE_DGRAM (21|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_ASN1 (22|BIO_TYPE_FILTER) +# define BIO_TYPE_COMP (23|BIO_TYPE_FILTER) +# ifndef OPENSSL_NO_SCTP +# define BIO_TYPE_DGRAM_SCTP (24|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# endif + +#define BIO_TYPE_START 128 + +/* + * BIO_FILENAME_READ|BIO_CLOSE to open or close on free. + * BIO_set_fp(in,stdin,BIO_NOCLOSE); + */ +# define BIO_NOCLOSE 0x00 +# define BIO_CLOSE 0x01 + +/* + * These are used in the following macros and are passed to BIO_ctrl() + */ +# define BIO_CTRL_RESET 1/* opt - rewind/zero etc */ +# define BIO_CTRL_EOF 2/* opt - are we at the eof */ +# define BIO_CTRL_INFO 3/* opt - extra tit-bits */ +# define BIO_CTRL_SET 4/* man - set the 'IO' type */ +# define BIO_CTRL_GET 5/* man - get the 'IO' type */ +# define BIO_CTRL_PUSH 6/* opt - internal, used to signify change */ +# define BIO_CTRL_POP 7/* opt - internal, used to signify change */ +# define BIO_CTRL_GET_CLOSE 8/* man - set the 'close' on free */ +# define BIO_CTRL_SET_CLOSE 9/* man - set the 'close' on free */ +# define BIO_CTRL_PENDING 10/* opt - is their more data buffered */ +# define BIO_CTRL_FLUSH 11/* opt - 'flush' buffered output */ +# define BIO_CTRL_DUP 12/* man - extra stuff for 'duped' BIO */ +# define BIO_CTRL_WPENDING 13/* opt - number of bytes still to write */ +# define BIO_CTRL_SET_CALLBACK 14/* opt - set callback function */ +# define BIO_CTRL_GET_CALLBACK 15/* opt - set callback function */ + +# define BIO_CTRL_SET_FILENAME 30/* BIO_s_file special */ + +/* dgram BIO stuff */ +# define BIO_CTRL_DGRAM_CONNECT 31/* BIO dgram special */ +# define BIO_CTRL_DGRAM_SET_CONNECTED 32/* allow for an externally connected + * socket to be passed in */ +# define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34/* getsockopt, essentially */ +# define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36/* getsockopt, essentially */ + +# define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37/* flag whether the last */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38/* I/O operation tiemd out */ + +/* #ifdef IP_MTU_DISCOVER */ +# define BIO_CTRL_DGRAM_MTU_DISCOVER 39/* set DF bit on egress packets */ +/* #endif */ + +# define BIO_CTRL_DGRAM_QUERY_MTU 40/* as kernel for current MTU */ +# define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 +# define BIO_CTRL_DGRAM_GET_MTU 41/* get cached value for MTU */ +# define BIO_CTRL_DGRAM_SET_MTU 42/* set cached value for MTU. + * want to use this if asking + * the kernel fails */ + +# define BIO_CTRL_DGRAM_MTU_EXCEEDED 43/* check whether the MTU was + * exceed in the previous write + * operation */ + +# define BIO_CTRL_DGRAM_GET_PEER 46 +# define BIO_CTRL_DGRAM_SET_PEER 44/* Destination for the data */ + +# define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45/* Next DTLS handshake timeout + * to adjust socket timeouts */ +# define BIO_CTRL_DGRAM_SET_DONT_FRAG 48 + +# define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD 49 + +# define BIO_CTRL_DGRAM_SET_PEEK_MODE 50 + +# ifndef OPENSSL_NO_SCTP +/* SCTP stuff */ +# define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 +# define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 +# define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 +# define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 +# define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 +# define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 +# define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 +# define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 +# define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 +# define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 +# define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 +# endif + +/* modifiers */ +# define BIO_FP_READ 0x02 +# define BIO_FP_WRITE 0x04 +# define BIO_FP_APPEND 0x08 +# define BIO_FP_TEXT 0x10 + +# define BIO_FLAGS_READ 0x01 +# define BIO_FLAGS_WRITE 0x02 +# define BIO_FLAGS_IO_SPECIAL 0x04 +# define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) +# define BIO_FLAGS_SHOULD_RETRY 0x08 +# ifndef BIO_FLAGS_UPLINK +/* + * "UPLINK" flag denotes file descriptors provided by application. It + * defaults to 0, as most platforms don't require UPLINK interface. + */ +# define BIO_FLAGS_UPLINK 0 +# endif + +# define BIO_FLAGS_BASE64_NO_NL 0x100 + +/* + * This is used with memory BIOs: + * BIO_FLAGS_MEM_RDONLY means we shouldn't free up or change the data in any way; + * BIO_FLAGS_NONCLEAR_RST means we should't clear data on reset. + */ +# define BIO_FLAGS_MEM_RDONLY 0x200 +# define BIO_FLAGS_NONCLEAR_RST 0x400 + +typedef union bio_addr_st BIO_ADDR; +typedef struct bio_addrinfo_st BIO_ADDRINFO; + +int BIO_get_new_index(void); +void BIO_set_flags(BIO *b, int flags); +int BIO_test_flags(const BIO *b, int flags); +void BIO_clear_flags(BIO *b, int flags); + +# define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) +# define BIO_set_retry_special(b) \ + BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_read(b) \ + BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_write(b) \ + BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) + +/* These are normally used internally in BIOs */ +# define BIO_clear_retry_flags(b) \ + BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_get_retry_flags(b) \ + BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) + +/* These should be used by the application to tell why we should retry */ +# define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) +# define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) +# define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) +# define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) +# define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) + +/* + * The next three are used in conjunction with the BIO_should_io_special() + * condition. After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int + * *reason); will walk the BIO stack and return the 'reason' for the special + * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return + * the code. + */ +/* + * Returned from the SSL bio when the certificate retrieval code had an error + */ +# define BIO_RR_SSL_X509_LOOKUP 0x01 +/* Returned from the connect BIO when a connect would have blocked */ +# define BIO_RR_CONNECT 0x02 +/* Returned from the accept BIO when an accept would have blocked */ +# define BIO_RR_ACCEPT 0x03 + +/* These are passed by the BIO callback */ +# define BIO_CB_FREE 0x01 +# define BIO_CB_READ 0x02 +# define BIO_CB_WRITE 0x03 +# define BIO_CB_PUTS 0x04 +# define BIO_CB_GETS 0x05 +# define BIO_CB_CTRL 0x06 + +/* + * The callback is called before and after the underling operation, The + * BIO_CB_RETURN flag indicates if it is after the call + */ +# define BIO_CB_RETURN 0x80 +# define BIO_CB_return(a) ((a)|BIO_CB_RETURN) +# define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) +# define BIO_cb_post(a) ((a)&BIO_CB_RETURN) + +typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi, + long argl, long ret); +BIO_callback_fn BIO_get_callback(const BIO *b); +void BIO_set_callback(BIO *b, BIO_callback_fn callback); +char *BIO_get_callback_arg(const BIO *b); +void BIO_set_callback_arg(BIO *b, char *arg); + +typedef struct bio_method_st BIO_METHOD; + +const char *BIO_method_name(const BIO *b); +int BIO_method_type(const BIO *b); + +typedef void bio_info_cb(BIO *, int, const char *, int, long, long); + +DEFINE_STACK_OF(BIO) + +/* Prefix and suffix callback in ASN1 BIO */ +typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, + void *parg); + +# ifndef OPENSSL_NO_SCTP +/* SCTP parameter structs */ +struct bio_dgram_sctp_sndinfo { + uint16_t snd_sid; + uint16_t snd_flags; + uint32_t snd_ppid; + uint32_t snd_context; +}; + +struct bio_dgram_sctp_rcvinfo { + uint16_t rcv_sid; + uint16_t rcv_ssn; + uint16_t rcv_flags; + uint32_t rcv_ppid; + uint32_t rcv_tsn; + uint32_t rcv_cumtsn; + uint32_t rcv_context; +}; + +struct bio_dgram_sctp_prinfo { + uint16_t pr_policy; + uint32_t pr_value; +}; +# endif + +/* + * #define BIO_CONN_get_param_hostname BIO_ctrl + */ + +# define BIO_C_SET_CONNECT 100 +# define BIO_C_DO_STATE_MACHINE 101 +# define BIO_C_SET_NBIO 102 +/* # define BIO_C_SET_PROXY_PARAM 103 */ +# define BIO_C_SET_FD 104 +# define BIO_C_GET_FD 105 +# define BIO_C_SET_FILE_PTR 106 +# define BIO_C_GET_FILE_PTR 107 +# define BIO_C_SET_FILENAME 108 +# define BIO_C_SET_SSL 109 +# define BIO_C_GET_SSL 110 +# define BIO_C_SET_MD 111 +# define BIO_C_GET_MD 112 +# define BIO_C_GET_CIPHER_STATUS 113 +# define BIO_C_SET_BUF_MEM 114 +# define BIO_C_GET_BUF_MEM_PTR 115 +# define BIO_C_GET_BUFF_NUM_LINES 116 +# define BIO_C_SET_BUFF_SIZE 117 +# define BIO_C_SET_ACCEPT 118 +# define BIO_C_SSL_MODE 119 +# define BIO_C_GET_MD_CTX 120 +/* # define BIO_C_GET_PROXY_PARAM 121 */ +# define BIO_C_SET_BUFF_READ_DATA 122/* data to read first */ +# define BIO_C_GET_CONNECT 123 +# define BIO_C_GET_ACCEPT 124 +# define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 +# define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 +# define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 +# define BIO_C_FILE_SEEK 128 +# define BIO_C_GET_CIPHER_CTX 129 +# define BIO_C_SET_BUF_MEM_EOF_RETURN 130/* return end of input + * value */ +# define BIO_C_SET_BIND_MODE 131 +# define BIO_C_GET_BIND_MODE 132 +# define BIO_C_FILE_TELL 133 +# define BIO_C_GET_SOCKS 134 +# define BIO_C_SET_SOCKS 135 + +# define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ +# define BIO_C_GET_WRITE_BUF_SIZE 137 +# define BIO_C_MAKE_BIO_PAIR 138 +# define BIO_C_DESTROY_BIO_PAIR 139 +# define BIO_C_GET_WRITE_GUARANTEE 140 +# define BIO_C_GET_READ_REQUEST 141 +# define BIO_C_SHUTDOWN_WR 142 +# define BIO_C_NREAD0 143 +# define BIO_C_NREAD 144 +# define BIO_C_NWRITE0 145 +# define BIO_C_NWRITE 146 +# define BIO_C_RESET_READ_REQUEST 147 +# define BIO_C_SET_MD_CTX 148 + +# define BIO_C_SET_PREFIX 149 +# define BIO_C_GET_PREFIX 150 +# define BIO_C_SET_SUFFIX 151 +# define BIO_C_GET_SUFFIX 152 + +# define BIO_C_SET_EX_ARG 153 +# define BIO_C_GET_EX_ARG 154 + +# define BIO_C_SET_CONNECT_MODE 155 + +# define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) +# define BIO_get_app_data(s) BIO_get_ex_data(s,0) + +# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) + +# ifndef OPENSSL_NO_SOCK +/* IP families we support, for BIO_s_connect() and BIO_s_accept() */ +/* Note: the underlying operating system may not support some of them */ +# define BIO_FAMILY_IPV4 4 +# define BIO_FAMILY_IPV6 6 +# define BIO_FAMILY_IPANY 256 + +/* BIO_s_connect() */ +# define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0,(char *)name) +# define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1,(char *)port) +# define BIO_set_conn_address(b,addr) BIO_ctrl(b,BIO_C_SET_CONNECT,2,(char *)addr) +# define BIO_set_conn_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_CONNECT,3,f) +# define BIO_get_conn_hostname(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0)) +# define BIO_get_conn_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1)) +# define BIO_get_conn_address(b) ((const BIO_ADDR *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2)) +# define BIO_get_conn_ip_family(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL) +# define BIO_set_conn_mode(b,n) BIO_ctrl(b,BIO_C_SET_CONNECT_MODE,(n),NULL) + +/* BIO_s_accept() */ +# define BIO_set_accept_name(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name) +# define BIO_set_accept_port(b,port) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(char *)port) +# define BIO_get_accept_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0)) +# define BIO_get_accept_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,1)) +# define BIO_get_peer_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,2)) +# define BIO_get_peer_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,3)) +/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ +# define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(n)?(void *)"a":NULL) +# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,3,(char *)bio) +# define BIO_set_accept_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_ACCEPT,4,f) +# define BIO_get_accept_ip_family(b) BIO_ctrl(b,BIO_C_GET_ACCEPT,4,NULL) + +/* Aliases kept for backward compatibility */ +# define BIO_BIND_NORMAL 0 +# define BIO_BIND_REUSEADDR BIO_SOCK_REUSEADDR +# define BIO_BIND_REUSEADDR_IF_UNUSED BIO_SOCK_REUSEADDR +# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) +# define BIO_get_bind_mode(b) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) + +/* BIO_s_accept() and BIO_s_connect() */ +# define BIO_do_connect(b) BIO_do_handshake(b) +# define BIO_do_accept(b) BIO_do_handshake(b) +# endif /* OPENSSL_NO_SOCK */ + +# define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) + +/* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ +# define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) +# define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c) + +/* BIO_s_file() */ +# define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)fp) +# define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)fpp) + +/* BIO_s_fd() and BIO_s_file() */ +# define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) +# define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) + +/* + * name is cast to lose const, but might be better to route through a + * function so we can do it safely + */ +# ifdef CONST_STRICT +/* + * If you are wondering why this isn't defined, its because CONST_STRICT is + * purely a compile-time kludge to allow const to be checked. + */ +int BIO_read_filename(BIO *b, const char *name); +# else +# define BIO_read_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ,(char *)name) +# endif +# define BIO_write_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_WRITE,name) +# define BIO_append_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_APPEND,name) +# define BIO_rw_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) + +/* + * WARNING WARNING, this ups the reference count on the read bio of the SSL + * structure. This is because the ssl read BIO is now pointed to by the + * next_bio field in the bio. So when you free the BIO, make sure you are + * doing a BIO_free_all() to catch the underlying BIO. + */ +# define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)ssl) +# define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)sslp) +# define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) +# define BIO_set_ssl_renegotiate_bytes(b,num) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL) +# define BIO_get_num_renegotiates(b) \ + BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL) +# define BIO_set_ssl_renegotiate_timeout(b,seconds) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL) + +/* defined in evp.h */ +/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */ + +# define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) +# define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)bm) +# define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0,(char *)pp) +# define BIO_set_mem_eof_return(b,v) \ + BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) + +/* For the BIO_f_buffer() type */ +# define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) +# define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) +# define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) +# define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) +# define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) + +/* Don't use the next one unless you know what you are doing :-) */ +# define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) + +# define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) +# define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) +# define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) +# define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) +# define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) +# define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) +/* ...pending macros have inappropriate return type */ +size_t BIO_ctrl_pending(BIO *b); +size_t BIO_ctrl_wpending(BIO *b); +# define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) +# define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ + cbp) +# define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) + +/* For the BIO_f_buffer() type */ +# define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) + +/* For BIO_s_bio() */ +# define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) +# define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) +# define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) +# define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) +# define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) +/* macros with inappropriate type -- but ...pending macros use int too: */ +# define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) +# define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) +size_t BIO_ctrl_get_write_guarantee(BIO *b); +size_t BIO_ctrl_get_read_request(BIO *b); +int BIO_ctrl_reset_read_request(BIO *b); + +/* ctrl macros for dgram */ +# define BIO_ctrl_dgram_connect(b,peer) \ + (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)peer) +# define BIO_ctrl_set_connected(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, 0, (char *)peer) +# define BIO_dgram_recv_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) +# define BIO_dgram_send_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) +# define BIO_dgram_get_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)peer) +# define BIO_dgram_set_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)peer) +# define BIO_dgram_get_mtu_overhead(b) \ + (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) + +#define BIO_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, l, p, newf, dupf, freef) +int BIO_set_ex_data(BIO *bio, int idx, void *data); +void *BIO_get_ex_data(BIO *bio, int idx); +uint64_t BIO_number_read(BIO *bio); +uint64_t BIO_number_written(BIO *bio); + +/* For BIO_f_asn1() */ +int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, + asn1_ps_func *prefix_free); +int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, + asn1_ps_func **pprefix_free); +int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, + asn1_ps_func *suffix_free); +int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, + asn1_ps_func **psuffix_free); + +const BIO_METHOD *BIO_s_file(void); +BIO *BIO_new_file(const char *filename, const char *mode); +# ifndef OPENSSL_NO_STDIO +BIO *BIO_new_fp(FILE *stream, int close_flag); +# endif +BIO *BIO_new(const BIO_METHOD *type); +int BIO_free(BIO *a); +void BIO_set_data(BIO *a, void *ptr); +void *BIO_get_data(BIO *a); +void BIO_set_init(BIO *a, int init); +int BIO_get_init(BIO *a); +void BIO_set_shutdown(BIO *a, int shut); +int BIO_get_shutdown(BIO *a); +void BIO_vfree(BIO *a); +int BIO_up_ref(BIO *a); +int BIO_read(BIO *b, void *data, int len); +int BIO_gets(BIO *bp, char *buf, int size); +int BIO_write(BIO *b, const void *data, int len); +int BIO_puts(BIO *bp, const char *buf); +int BIO_indent(BIO *b, int indent, int max); +long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); +long BIO_callback_ctrl(BIO *b, int cmd, + void (*fp) (BIO *, int, const char *, int, long, long)); +void *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); +long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); +BIO *BIO_push(BIO *b, BIO *append); +BIO *BIO_pop(BIO *b); +void BIO_free_all(BIO *a); +BIO *BIO_find_type(BIO *b, int bio_type); +BIO *BIO_next(BIO *b); +void BIO_set_next(BIO *b, BIO *next); +BIO *BIO_get_retry_BIO(BIO *bio, int *reason); +int BIO_get_retry_reason(BIO *bio); +void BIO_set_retry_reason(BIO *bio, int reason); +BIO *BIO_dup_chain(BIO *in); + +int BIO_nread0(BIO *bio, char **buf); +int BIO_nread(BIO *bio, char **buf, int num); +int BIO_nwrite0(BIO *bio, char **buf); +int BIO_nwrite(BIO *bio, char **buf, int num); + +long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, + long argl, long ret); + +const BIO_METHOD *BIO_s_mem(void); +const BIO_METHOD *BIO_s_secmem(void); +BIO *BIO_new_mem_buf(const void *buf, int len); +# ifndef OPENSSL_NO_SOCK +const BIO_METHOD *BIO_s_socket(void); +const BIO_METHOD *BIO_s_connect(void); +const BIO_METHOD *BIO_s_accept(void); +# endif +const BIO_METHOD *BIO_s_fd(void); +const BIO_METHOD *BIO_s_log(void); +const BIO_METHOD *BIO_s_bio(void); +const BIO_METHOD *BIO_s_null(void); +const BIO_METHOD *BIO_f_null(void); +const BIO_METHOD *BIO_f_buffer(void); +const BIO_METHOD *BIO_f_linebuffer(void); +const BIO_METHOD *BIO_f_nbio_test(void); +# ifndef OPENSSL_NO_DGRAM +const BIO_METHOD *BIO_s_datagram(void); +int BIO_dgram_non_fatal_error(int error); +BIO *BIO_new_dgram(int fd, int close_flag); +# ifndef OPENSSL_NO_SCTP +const BIO_METHOD *BIO_s_datagram_sctp(void); +BIO *BIO_new_dgram_sctp(int fd, int close_flag); +int BIO_dgram_is_sctp(BIO *bio); +int BIO_dgram_sctp_notification_cb(BIO *b, + void (*handle_notifications) (BIO *bio, + void *context, + void *buf), + void *context); +int BIO_dgram_sctp_wait_for_dry(BIO *b); +int BIO_dgram_sctp_msg_waiting(BIO *b); +# endif +# endif + +# ifndef OPENSSL_NO_SOCK +int BIO_sock_should_retry(int i); +int BIO_sock_non_fatal_error(int error); +# endif + +int BIO_fd_should_retry(int i); +int BIO_fd_non_fatal_error(int error); +int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len); +int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const char *s, int len, int indent); +int BIO_dump(BIO *b, const char *bytes, int len); +int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); +# ifndef OPENSSL_NO_STDIO +int BIO_dump_fp(FILE *fp, const char *s, int len); +int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); +# endif +int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, + int datalen); + +# ifndef OPENSSL_NO_SOCK +BIO_ADDR *BIO_ADDR_new(void); +int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, + const void *where, size_t wherelen, unsigned short port); +void BIO_ADDR_free(BIO_ADDR *); +void BIO_ADDR_clear(BIO_ADDR *ap); +int BIO_ADDR_family(const BIO_ADDR *ap); +int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l); +unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap); +char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric); +char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric); +char *BIO_ADDR_path_string(const BIO_ADDR *ap); + +const BIO_ADDRINFO *BIO_ADDRINFO_next(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_family(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_socktype(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_protocol(const BIO_ADDRINFO *bai); +const BIO_ADDR *BIO_ADDRINFO_address(const BIO_ADDRINFO *bai); +void BIO_ADDRINFO_free(BIO_ADDRINFO *bai); + +enum BIO_hostserv_priorities { + BIO_PARSE_PRIO_HOST, BIO_PARSE_PRIO_SERV +}; +int BIO_parse_hostserv(const char *hostserv, char **host, char **service, + enum BIO_hostserv_priorities hostserv_prio); +enum BIO_lookup_type { + BIO_LOOKUP_CLIENT, BIO_LOOKUP_SERVER +}; +int BIO_lookup(const char *host, const char *service, + enum BIO_lookup_type lookup_type, + int family, int socktype, BIO_ADDRINFO **res); +int BIO_sock_error(int sock); +int BIO_socket_ioctl(int fd, long type, void *arg); +int BIO_socket_nbio(int fd, int mode); +int BIO_sock_init(void); +# if OPENSSL_API_COMPAT < 0x10100000L +# define BIO_sock_cleanup() while(0) continue +# endif +int BIO_set_tcp_ndelay(int sock, int turn_on); + +DEPRECATEDIN_1_1_0(struct hostent *BIO_gethostbyname(const char *name)) +DEPRECATEDIN_1_1_0(int BIO_get_port(const char *str, unsigned short *port_ptr)) +DEPRECATEDIN_1_1_0(int BIO_get_host_ip(const char *str, unsigned char *ip)) +DEPRECATEDIN_1_1_0(int BIO_get_accept_socket(char *host_port, int mode)) +DEPRECATEDIN_1_1_0(int BIO_accept(int sock, char **ip_port)) + +union BIO_sock_info_u { + BIO_ADDR *addr; +}; +enum BIO_sock_info_type { + BIO_SOCK_INFO_ADDRESS +}; +int BIO_sock_info(int sock, + enum BIO_sock_info_type type, union BIO_sock_info_u *info); + +# define BIO_SOCK_REUSEADDR 0x01 +# define BIO_SOCK_V6_ONLY 0x02 +# define BIO_SOCK_KEEPALIVE 0x04 +# define BIO_SOCK_NONBLOCK 0x08 +# define BIO_SOCK_NODELAY 0x10 + +int BIO_socket(int domain, int socktype, int protocol, int options); +int BIO_connect(int sock, const BIO_ADDR *addr, int options); +int BIO_listen(int sock, const BIO_ADDR *addr, int options); +int BIO_accept_ex(int accept_sock, BIO_ADDR *addr, int options); +int BIO_closesocket(int sock); + +BIO *BIO_new_socket(int sock, int close_flag); +BIO *BIO_new_connect(const char *host_port); +BIO *BIO_new_accept(const char *host_port); +# endif /* OPENSSL_NO_SOCK*/ + +BIO *BIO_new_fd(int fd, int close_flag); + +int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, + BIO **bio2, size_t writebuf2); +/* + * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. + * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default + * value. + */ + +void BIO_copy_next_retry(BIO *b); + +/* + * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); + */ + +# ifdef __GNUC__ +# define __bio_h__attr__ __attribute__ +# else +# define __bio_h__attr__(x) +# endif +int BIO_printf(BIO *bio, const char *format, ...) +__bio_h__attr__((__format__(__printf__, 2, 3))); +int BIO_vprintf(BIO *bio, const char *format, va_list args) +__bio_h__attr__((__format__(__printf__, 2, 0))); +int BIO_snprintf(char *buf, size_t n, const char *format, ...) +__bio_h__attr__((__format__(__printf__, 3, 4))); +int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) +__bio_h__attr__((__format__(__printf__, 3, 0))); +# undef __bio_h__attr__ + + +BIO_METHOD *BIO_meth_new(int type, const char *name); +void BIO_meth_free(BIO_METHOD *biom); +int (*BIO_meth_get_write(BIO_METHOD *biom)) (BIO *, const char *, int); +int BIO_meth_set_write(BIO_METHOD *biom, + int (*write) (BIO *, const char *, int)); +int (*BIO_meth_get_read(BIO_METHOD *biom)) (BIO *, char *, int); +int BIO_meth_set_read(BIO_METHOD *biom, + int (*read) (BIO *, char *, int)); +int (*BIO_meth_get_puts(BIO_METHOD *biom)) (BIO *, const char *); +int BIO_meth_set_puts(BIO_METHOD *biom, + int (*puts) (BIO *, const char *)); +int (*BIO_meth_get_gets(BIO_METHOD *biom)) (BIO *, char *, int); +int BIO_meth_set_gets(BIO_METHOD *biom, + int (*gets) (BIO *, char *, int)); +long (*BIO_meth_get_ctrl(BIO_METHOD *biom)) (BIO *, int, long, void *); +int BIO_meth_set_ctrl(BIO_METHOD *biom, + long (*ctrl) (BIO *, int, long, void *)); +int (*BIO_meth_get_create(BIO_METHOD *bion)) (BIO *); +int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *)); +int (*BIO_meth_get_destroy(BIO_METHOD *biom)) (BIO *); +int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *)); +long (*BIO_meth_get_callback_ctrl(BIO_METHOD *biom)) + (BIO *, int, bio_info_cb *); +int BIO_meth_set_callback_ctrl(BIO_METHOD *biom, + long (*callback_ctrl) (BIO *, int, + bio_info_cb *)); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_BIO_strings(void); + +/* Error codes for the BIO functions. */ + +/* Function codes. */ +# define BIO_F_ACPT_STATE 100 +# define BIO_F_ADDR_STRINGS 134 +# define BIO_F_BIO_ACCEPT 101 +# define BIO_F_BIO_ACCEPT_EX 137 +# define BIO_F_BIO_ADDR_NEW 144 +# define BIO_F_BIO_CALLBACK_CTRL 131 +# define BIO_F_BIO_CONNECT 138 +# define BIO_F_BIO_CTRL 103 +# define BIO_F_BIO_GETS 104 +# define BIO_F_BIO_GET_HOST_IP 106 +# define BIO_F_BIO_GET_NEW_INDEX 102 +# define BIO_F_BIO_GET_PORT 107 +# define BIO_F_BIO_LISTEN 139 +# define BIO_F_BIO_LOOKUP 135 +# define BIO_F_BIO_MAKE_PAIR 121 +# define BIO_F_BIO_NEW 108 +# define BIO_F_BIO_NEW_FILE 109 +# define BIO_F_BIO_NEW_MEM_BUF 126 +# define BIO_F_BIO_NREAD 123 +# define BIO_F_BIO_NREAD0 124 +# define BIO_F_BIO_NWRITE 125 +# define BIO_F_BIO_NWRITE0 122 +# define BIO_F_BIO_PARSE_HOSTSERV 136 +# define BIO_F_BIO_PUTS 110 +# define BIO_F_BIO_READ 111 +# define BIO_F_BIO_SOCKET 140 +# define BIO_F_BIO_SOCKET_NBIO 142 +# define BIO_F_BIO_SOCK_INFO 141 +# define BIO_F_BIO_SOCK_INIT 112 +# define BIO_F_BIO_WRITE 113 +# define BIO_F_BUFFER_CTRL 114 +# define BIO_F_CONN_CTRL 127 +# define BIO_F_CONN_STATE 115 +# define BIO_F_DGRAM_SCTP_READ 132 +# define BIO_F_DGRAM_SCTP_WRITE 133 +# define BIO_F_FILE_CTRL 116 +# define BIO_F_FILE_READ 130 +# define BIO_F_LINEBUFFER_CTRL 129 +# define BIO_F_MEM_WRITE 117 +# define BIO_F_SSL_NEW 118 + +/* Reason codes. */ +# define BIO_R_ACCEPT_ERROR 100 +# define BIO_R_ADDRINFO_ADDR_IS_NOT_AF_INET 141 +# define BIO_R_AMBIGUOUS_HOST_OR_SERVICE 129 +# define BIO_R_BAD_FOPEN_MODE 101 +# define BIO_R_BROKEN_PIPE 124 +# define BIO_R_CONNECT_ERROR 103 +# define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 +# define BIO_R_GETSOCKNAME_ERROR 132 +# define BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS 133 +# define BIO_R_GETTING_SOCKTYPE 134 +# define BIO_R_INVALID_ARGUMENT 125 +# define BIO_R_INVALID_SOCKET 135 +# define BIO_R_IN_USE 123 +# define BIO_R_LISTEN_V6_ONLY 136 +# define BIO_R_LOOKUP_RETURNED_NOTHING 142 +# define BIO_R_MALFORMED_HOST_OR_SERVICE 130 +# define BIO_R_NBIO_CONNECT_ERROR 110 +# define BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED 143 +# define BIO_R_NO_HOSTNAME_OR_SERVICE_SPECIFIED 144 +# define BIO_R_NO_PORT_DEFINED 113 +# define BIO_R_NO_SUCH_FILE 128 +# define BIO_R_NULL_PARAMETER 115 +# define BIO_R_UNABLE_TO_BIND_SOCKET 117 +# define BIO_R_UNABLE_TO_CREATE_SOCKET 118 +# define BIO_R_UNABLE_TO_KEEPALIVE 137 +# define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 +# define BIO_R_UNABLE_TO_NODELAY 138 +# define BIO_R_UNABLE_TO_REUSEADDR 139 +# define BIO_R_UNAVAILABLE_IP_FAMILY 145 +# define BIO_R_UNINITIALIZED 120 +# define BIO_R_UNKNOWN_INFO_TYPE 140 +# define BIO_R_UNSUPPORTED_IP_FAMILY 146 +# define BIO_R_UNSUPPORTED_METHOD 121 +# define BIO_R_UNSUPPORTED_PROTOCOL_FAMILY 131 +# define BIO_R_WRITE_TO_READ_ONLY_BIO 126 +# define BIO_R_WSASTARTUP 122 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/blowfish.h b/android/x86_64/include/openssl/blowfish.h new file mode 100644 index 00000000..cd3e460e --- /dev/null +++ b/android/x86_64/include/openssl/blowfish.h @@ -0,0 +1,61 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BLOWFISH_H +# define HEADER_BLOWFISH_H + +# include + +# ifndef OPENSSL_NO_BF +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define BF_ENCRYPT 1 +# define BF_DECRYPT 0 + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! BF_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define BF_LONG unsigned int + +# define BF_ROUNDS 16 +# define BF_BLOCK 8 + +typedef struct bf_key_st { + BF_LONG P[BF_ROUNDS + 2]; + BF_LONG S[4 * 256]; +} BF_KEY; + +void BF_set_key(BF_KEY *key, int len, const unsigned char *data); + +void BF_encrypt(BF_LONG *data, const BF_KEY *key); +void BF_decrypt(BF_LONG *data, const BF_KEY *key); + +void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, + const BF_KEY *key, int enc); +void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int enc); +void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num); +const char *BF_options(void); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/bn.h b/android/x86_64/include/openssl/bn.h new file mode 100644 index 00000000..17bd5213 --- /dev/null +++ b/android/x86_64/include/openssl/bn.h @@ -0,0 +1,575 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the Eric Young open source + * license provided above. + * + * The binary polynomial arithmetic software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * + */ + +#ifndef HEADER_BN_H +# define HEADER_BN_H + +# include +# ifndef OPENSSL_NO_STDIO +# include +# endif +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * 64-bit processor with LP64 ABI + */ +# ifdef SIXTY_FOUR_BIT_LONG +# define BN_ULONG unsigned long +# define BN_BYTES 8 +# endif + +/* + * 64-bit processor other than LP64 ABI + */ +# ifdef SIXTY_FOUR_BIT +# define BN_ULONG unsigned long long +# define BN_BYTES 8 +# endif + +# ifdef THIRTY_TWO_BIT +# define BN_ULONG unsigned int +# define BN_BYTES 4 +# endif + +# define BN_BITS2 (BN_BYTES * 8) +# define BN_BITS (BN_BITS2 * 2) +# define BN_TBIT ((BN_ULONG)1 << (BN_BITS2 - 1)) + +# define BN_FLG_MALLOCED 0x01 +# define BN_FLG_STATIC_DATA 0x02 + +/* + * avoid leaking exponent information through timing, + * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, + * BN_div() will call BN_div_no_branch, + * BN_mod_inverse() will call BN_mod_inverse_no_branch. + */ +# define BN_FLG_CONSTTIME 0x04 +# define BN_FLG_SECURE 0x08 + +# if OPENSSL_API_COMPAT < 0x00908000L +/* deprecated name for the flag */ +# define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME +# define BN_FLG_FREE 0x8000 /* used for debugging */ +# endif + +void BN_set_flags(BIGNUM *b, int n); +int BN_get_flags(const BIGNUM *b, int n); + +/* Values for |top| in BN_rand() */ +#define BN_RAND_TOP_ANY -1 +#define BN_RAND_TOP_ONE 0 +#define BN_RAND_TOP_TWO 1 + +/* Values for |bottom| in BN_rand() */ +#define BN_RAND_BOTTOM_ANY 0 +#define BN_RAND_BOTTOM_ODD 1 + +/* + * get a clone of a BIGNUM with changed flags, for *temporary* use only (the + * two BIGNUMs cannot be used in parallel!). Also only for *read only* use. The + * value |dest| should be a newly allocated BIGNUM obtained via BN_new() that + * has not been otherwise initialised or used. + */ +void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags); + +/* Wrapper function to make using BN_GENCB easier */ +int BN_GENCB_call(BN_GENCB *cb, int a, int b); + +BN_GENCB *BN_GENCB_new(void); +void BN_GENCB_free(BN_GENCB *cb); + +/* Populate a BN_GENCB structure with an "old"-style callback */ +void BN_GENCB_set_old(BN_GENCB *gencb, void (*callback) (int, int, void *), + void *cb_arg); + +/* Populate a BN_GENCB structure with a "new"-style callback */ +void BN_GENCB_set(BN_GENCB *gencb, int (*callback) (int, int, BN_GENCB *), + void *cb_arg); + +void *BN_GENCB_get_arg(BN_GENCB *cb); + +# define BN_prime_checks 0 /* default: select number of iterations based + * on the size of the number */ + +/* + * number of Miller-Rabin iterations for an error rate of less than 2^-80 for + * random 'b'-bit input, b >= 100 (taken from table 4.4 in the Handbook of + * Applied Cryptography [Menezes, van Oorschot, Vanstone; CRC Press 1996]; + * original paper: Damgaard, Landrock, Pomerance: Average case error + * estimates for the strong probable prime test. -- Math. Comp. 61 (1993) + * 177-194) + */ +# define BN_prime_checks_for_size(b) ((b) >= 1300 ? 2 : \ + (b) >= 850 ? 3 : \ + (b) >= 650 ? 4 : \ + (b) >= 550 ? 5 : \ + (b) >= 450 ? 6 : \ + (b) >= 400 ? 7 : \ + (b) >= 350 ? 8 : \ + (b) >= 300 ? 9 : \ + (b) >= 250 ? 12 : \ + (b) >= 200 ? 15 : \ + (b) >= 150 ? 18 : \ + /* b >= 100 */ 27) + +# define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) + +int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w); +int BN_is_zero(const BIGNUM *a); +int BN_is_one(const BIGNUM *a); +int BN_is_word(const BIGNUM *a, const BN_ULONG w); +int BN_is_odd(const BIGNUM *a); + +# define BN_one(a) (BN_set_word((a),1)) + +void BN_zero_ex(BIGNUM *a); + +# if OPENSSL_API_COMPAT >= 0x00908000L +# define BN_zero(a) BN_zero_ex(a) +# else +# define BN_zero(a) (BN_set_word((a),0)) +# endif + +const BIGNUM *BN_value_one(void); +char *BN_options(void); +BN_CTX *BN_CTX_new(void); +BN_CTX *BN_CTX_secure_new(void); +void BN_CTX_free(BN_CTX *c); +void BN_CTX_start(BN_CTX *ctx); +BIGNUM *BN_CTX_get(BN_CTX *ctx); +void BN_CTX_end(BN_CTX *ctx); +int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_num_bits(const BIGNUM *a); +int BN_num_bits_word(BN_ULONG l); +int BN_security_bits(int L, int N); +BIGNUM *BN_new(void); +BIGNUM *BN_secure_new(void); +void BN_clear_free(BIGNUM *a); +BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); +void BN_swap(BIGNUM *a, BIGNUM *b); +BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2bin(const BIGNUM *a, unsigned char *to); +int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen); +BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); +BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2mpi(const BIGNUM *a, unsigned char *to); +int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); +/** BN_set_negative sets sign of a BIGNUM + * \param b pointer to the BIGNUM object + * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise + */ +void BN_set_negative(BIGNUM *b, int n); +/** BN_is_negative returns 1 if the BIGNUM is negative + * \param a pointer to the BIGNUM object + * \return 1 if a < 0 and 0 otherwise + */ +int BN_is_negative(const BIGNUM *b); + +int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, + BN_CTX *ctx); +# define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx)) +int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); +int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m); +int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); +int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, + BN_CTX *ctx); +int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); + +BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w); +BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); +int BN_mul_word(BIGNUM *a, BN_ULONG w); +int BN_add_word(BIGNUM *a, BN_ULONG w); +int BN_sub_word(BIGNUM *a, BN_ULONG w); +int BN_set_word(BIGNUM *a, BN_ULONG w); +BN_ULONG BN_get_word(const BIGNUM *a); + +int BN_cmp(const BIGNUM *a, const BIGNUM *b); +void BN_free(BIGNUM *a); +int BN_is_bit_set(const BIGNUM *a, int n); +int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_lshift1(BIGNUM *r, const BIGNUM *a); +int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *in_mont); +int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, + const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, + BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); + +int BN_mask_bits(BIGNUM *a, int n); +# ifndef OPENSSL_NO_STDIO +int BN_print_fp(FILE *fp, const BIGNUM *a); +# endif +int BN_print(BIO *bio, const BIGNUM *a); +int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); +int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_rshift1(BIGNUM *r, const BIGNUM *a); +void BN_clear(BIGNUM *a); +BIGNUM *BN_dup(const BIGNUM *a); +int BN_ucmp(const BIGNUM *a, const BIGNUM *b); +int BN_set_bit(BIGNUM *a, int n); +int BN_clear_bit(BIGNUM *a, int n); +char *BN_bn2hex(const BIGNUM *a); +char *BN_bn2dec(const BIGNUM *a); +int BN_hex2bn(BIGNUM **a, const char *str); +int BN_dec2bn(BIGNUM **a, const char *str); +int BN_asc2bn(BIGNUM **a, const char *str); +int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns + * -2 for + * error */ +BIGNUM *BN_mod_inverse(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); +BIGNUM *BN_mod_sqrt(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); + +void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords); + +/* Deprecated versions */ +DEPRECATEDIN_0_9_8(BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, + const BIGNUM *add, + const BIGNUM *rem, + void (*callback) (int, int, + void *), + void *cb_arg)) +DEPRECATEDIN_0_9_8(int + BN_is_prime(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), + BN_CTX *ctx, void *cb_arg)) +DEPRECATEDIN_0_9_8(int + BN_is_prime_fasttest(const BIGNUM *p, int nchecks, + void (*callback) (int, int, void *), + BN_CTX *ctx, void *cb_arg, + int do_trial_division)) + +/* Newer versions */ +int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, + const BIGNUM *rem, BN_GENCB *cb); +int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); +int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, + int do_trial_division, BN_GENCB *cb); + +int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); + +int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, + const BIGNUM *Xp, const BIGNUM *Xp1, + const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, + BN_GENCB *cb); +int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, + BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, + BN_CTX *ctx, BN_GENCB *cb); + +BN_MONT_CTX *BN_MONT_CTX_new(void); +int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + BN_MONT_CTX *mont, BN_CTX *ctx); +int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, + BN_CTX *ctx); +int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, + BN_CTX *ctx); +void BN_MONT_CTX_free(BN_MONT_CTX *mont); +int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx); +BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from); +BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, CRYPTO_RWLOCK *lock, + const BIGNUM *mod, BN_CTX *ctx); + +/* BN_BLINDING flags */ +# define BN_BLINDING_NO_UPDATE 0x00000001 +# define BN_BLINDING_NO_RECREATE 0x00000002 + +BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); +void BN_BLINDING_free(BN_BLINDING *b); +int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); +int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); +int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, + BN_CTX *); + +int BN_BLINDING_is_current_thread(BN_BLINDING *b); +void BN_BLINDING_set_current_thread(BN_BLINDING *b); +int BN_BLINDING_lock(BN_BLINDING *b); +int BN_BLINDING_unlock(BN_BLINDING *b); + +unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); +void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); +BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, + const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, + int (*bn_mod_exp) (BIGNUM *r, + const BIGNUM *a, + const BIGNUM *p, + const BIGNUM *m, + BN_CTX *ctx, + BN_MONT_CTX *m_ctx), + BN_MONT_CTX *m_ctx); + +DEPRECATEDIN_0_9_8(void BN_set_params(int mul, int high, int low, int mont)) +DEPRECATEDIN_0_9_8(int BN_get_params(int which)) /* 0, mul, 1 high, 2 low, 3 + * mont */ + +BN_RECP_CTX *BN_RECP_CTX_new(void); +void BN_RECP_CTX_free(BN_RECP_CTX *recp); +int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx); +int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, + BN_RECP_CTX *recp, BN_CTX *ctx); +int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, + BN_RECP_CTX *recp, BN_CTX *ctx); + +# ifndef OPENSSL_NO_EC2M + +/* + * Functions for arithmetic over binary polynomials represented by BIGNUMs. + * The BIGNUM::neg property of BIGNUMs representing binary polynomials is + * ignored. Note that input arguments are not const so that their bit arrays + * can be expanded to the appropriate size if needed. + */ + +/* + * r = a + b + */ +int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +# define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) +/* + * r=a mod p + */ +int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *p, BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + BN_CTX *ctx); +# define BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) +/*- + * Some functions allow for representation of the irreducible polynomials + * as an unsigned int[], say p. The irreducible f(t) is then of the form: + * t^p[0] + t^p[1] + ... + t^p[k] + * where m = p[0] > p[1] > ... > p[k] = 0. + */ +/* r = a mod p */ +int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); +/* r = (a * b) mod p */ +int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a * a) mod p */ +int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], + BN_CTX *ctx); +/* r = (1 / b) mod p */ +int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], + BN_CTX *ctx); +/* r = (a / b) mod p */ +int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = (a ^ b) mod p */ +int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const int p[], BN_CTX *ctx); +/* r = sqrt(a) mod p */ +int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +/* r^2 + r = a mod p */ +int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, + const int p[], BN_CTX *ctx); +int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); +int BN_GF2m_arr2poly(const int p[], BIGNUM *a); + +# endif + +/* + * faster mod functions for the 'NIST primes' 0 <= a < p^2 + */ +int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); +int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +const BIGNUM *BN_get0_nist_prime_192(void); +const BIGNUM *BN_get0_nist_prime_224(void); +const BIGNUM *BN_get0_nist_prime_256(void); +const BIGNUM *BN_get0_nist_prime_384(void); +const BIGNUM *BN_get0_nist_prime_521(void); + +int (*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM *a, + const BIGNUM *field, BN_CTX *ctx); + +int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, + const BIGNUM *priv, const unsigned char *message, + size_t message_len, BN_CTX *ctx); + +/* Primes from RFC 2409 */ +BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn); +BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn); + +/* Primes from RFC 3526 */ +BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define get_rfc2409_prime_768 BN_get_rfc2409_prime_768 +# define get_rfc2409_prime_1024 BN_get_rfc2409_prime_1024 +# define get_rfc3526_prime_1536 BN_get_rfc3526_prime_1536 +# define get_rfc3526_prime_2048 BN_get_rfc3526_prime_2048 +# define get_rfc3526_prime_3072 BN_get_rfc3526_prime_3072 +# define get_rfc3526_prime_4096 BN_get_rfc3526_prime_4096 +# define get_rfc3526_prime_6144 BN_get_rfc3526_prime_6144 +# define get_rfc3526_prime_8192 BN_get_rfc3526_prime_8192 +# endif + +int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_BN_strings(void); + +/* Error codes for the BN functions. */ + +/* Function codes. */ +# define BN_F_BNRAND 127 +# define BN_F_BN_BLINDING_CONVERT_EX 100 +# define BN_F_BN_BLINDING_CREATE_PARAM 128 +# define BN_F_BN_BLINDING_INVERT_EX 101 +# define BN_F_BN_BLINDING_NEW 102 +# define BN_F_BN_BLINDING_UPDATE 103 +# define BN_F_BN_BN2DEC 104 +# define BN_F_BN_BN2HEX 105 +# define BN_F_BN_COMPUTE_WNAF 142 +# define BN_F_BN_CTX_GET 116 +# define BN_F_BN_CTX_NEW 106 +# define BN_F_BN_CTX_START 129 +# define BN_F_BN_DIV 107 +# define BN_F_BN_DIV_RECP 130 +# define BN_F_BN_EXP 123 +# define BN_F_BN_EXPAND_INTERNAL 120 +# define BN_F_BN_GENCB_NEW 143 +# define BN_F_BN_GENERATE_DSA_NONCE 140 +# define BN_F_BN_GENERATE_PRIME_EX 141 +# define BN_F_BN_GF2M_MOD 131 +# define BN_F_BN_GF2M_MOD_EXP 132 +# define BN_F_BN_GF2M_MOD_MUL 133 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 +# define BN_F_BN_GF2M_MOD_SQR 136 +# define BN_F_BN_GF2M_MOD_SQRT 137 +# define BN_F_BN_LSHIFT 145 +# define BN_F_BN_MOD_EXP2_MONT 118 +# define BN_F_BN_MOD_EXP_MONT 109 +# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 +# define BN_F_BN_MOD_EXP_MONT_WORD 117 +# define BN_F_BN_MOD_EXP_RECP 125 +# define BN_F_BN_MOD_EXP_SIMPLE 126 +# define BN_F_BN_MOD_INVERSE 110 +# define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 +# define BN_F_BN_MOD_LSHIFT_QUICK 119 +# define BN_F_BN_MOD_SQRT 121 +# define BN_F_BN_MPI2BN 112 +# define BN_F_BN_NEW 113 +# define BN_F_BN_RAND 114 +# define BN_F_BN_RAND_RANGE 122 +# define BN_F_BN_RSHIFT 146 +# define BN_F_BN_SET_WORDS 144 +# define BN_F_BN_USUB 115 + +/* Reason codes. */ +# define BN_R_ARG2_LT_ARG3 100 +# define BN_R_BAD_RECIPROCAL 101 +# define BN_R_BIGNUM_TOO_LONG 114 +# define BN_R_BITS_TOO_SMALL 118 +# define BN_R_CALLED_WITH_EVEN_MODULUS 102 +# define BN_R_DIV_BY_ZERO 103 +# define BN_R_ENCODING_ERROR 104 +# define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 +# define BN_R_INPUT_NOT_REDUCED 110 +# define BN_R_INVALID_LENGTH 106 +# define BN_R_INVALID_RANGE 115 +# define BN_R_INVALID_SHIFT 119 +# define BN_R_NOT_A_SQUARE 111 +# define BN_R_NOT_INITIALIZED 107 +# define BN_R_NO_INVERSE 108 +# define BN_R_NO_SOLUTION 116 +# define BN_R_PRIVATE_KEY_TOO_LARGE 117 +# define BN_R_P_IS_NOT_PRIME 112 +# define BN_R_TOO_MANY_ITERATIONS 113 +# define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/buffer.h b/android/x86_64/include/openssl/buffer.h new file mode 100644 index 00000000..91f0e07f --- /dev/null +++ b/android/x86_64/include/openssl/buffer.h @@ -0,0 +1,76 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BUFFER_H +# define HEADER_BUFFER_H + +# include +# ifndef HEADER_CRYPTO_H +# include +# endif + + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# if !defined(NO_SYS_TYPES_H) +# include +# endif + +/* + * These names are outdated as of OpenSSL 1.1; a future release + * will move them to be deprecated. + */ +# define BUF_strdup(s) OPENSSL_strdup(s) +# define BUF_strndup(s, size) OPENSSL_strndup(s, size) +# define BUF_memdup(data, size) OPENSSL_memdup(data, size) +# define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size) +# define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size) +# define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen) + +struct buf_mem_st { + size_t length; /* current number of bytes */ + char *data; + size_t max; /* size of buffer */ + unsigned long flags; +}; + +# define BUF_MEM_FLAG_SECURE 0x01 + +BUF_MEM *BUF_MEM_new(void); +BUF_MEM *BUF_MEM_new_ex(unsigned long flags); +void BUF_MEM_free(BUF_MEM *a); +size_t BUF_MEM_grow(BUF_MEM *str, size_t len); +size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len); +void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_BUF_strings(void); + +/* Error codes for the BUF functions. */ + +/* Function codes. */ +# define BUF_F_BUF_MEM_GROW 100 +# define BUF_F_BUF_MEM_GROW_CLEAN 105 +# define BUF_F_BUF_MEM_NEW 101 + +/* Reason codes. */ + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/camellia.h b/android/x86_64/include/openssl/camellia.h new file mode 100644 index 00000000..151f3c13 --- /dev/null +++ b/android/x86_64/include/openssl/camellia.h @@ -0,0 +1,83 @@ +/* + * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CAMELLIA_H +# define HEADER_CAMELLIA_H + +# include + +# ifndef OPENSSL_NO_CAMELLIA +# include +#ifdef __cplusplus +extern "C" { +#endif + +# define CAMELLIA_ENCRYPT 1 +# define CAMELLIA_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ + +/* This should be a hidden type, but EVP requires that the size be known */ + +# define CAMELLIA_BLOCK_SIZE 16 +# define CAMELLIA_TABLE_BYTE_LEN 272 +# define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) + +typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match + * with WORD */ + +struct camellia_key_st { + union { + double d; /* ensures 64-bit align */ + KEY_TABLE_TYPE rd_key; + } u; + int grand_rounds; +}; +typedef struct camellia_key_st CAMELLIA_KEY; + +int Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); + +void Camellia_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); +void Camellia_decrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); + +void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key, const int enc); +void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, const int enc); +void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num); +void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char ivec[CAMELLIA_BLOCK_SIZE], + unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], + unsigned int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/cast.h b/android/x86_64/include/openssl/cast.h new file mode 100644 index 00000000..2cc89ae0 --- /dev/null +++ b/android/x86_64/include/openssl/cast.h @@ -0,0 +1,53 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CAST_H +# define HEADER_CAST_H + +# include + +# ifndef OPENSSL_NO_CAST +# ifdef __cplusplus +extern "C" { +# endif + +# define CAST_ENCRYPT 1 +# define CAST_DECRYPT 0 + +# define CAST_LONG unsigned int + +# define CAST_BLOCK 8 +# define CAST_KEY_LENGTH 16 + +typedef struct cast_key_st { + CAST_LONG data[32]; + int short_key; /* Use reduced rounds for short key */ +} CAST_KEY; + +void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAST_KEY *key, int enc); +void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *ks, unsigned char *iv, + int enc); +void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/cmac.h b/android/x86_64/include/openssl/cmac.h new file mode 100644 index 00000000..3535a9ab --- /dev/null +++ b/android/x86_64/include/openssl/cmac.h @@ -0,0 +1,41 @@ +/* + * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CMAC_H +# define HEADER_CMAC_H + +# ifndef OPENSSL_NO_CMAC + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +/* Opaque */ +typedef struct CMAC_CTX_st CMAC_CTX; + +CMAC_CTX *CMAC_CTX_new(void); +void CMAC_CTX_cleanup(CMAC_CTX *ctx); +void CMAC_CTX_free(CMAC_CTX *ctx); +EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); +int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); + +int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, + const EVP_CIPHER *cipher, ENGINE *impl); +int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); +int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); +int CMAC_resume(CMAC_CTX *ctx); + +#ifdef __cplusplus +} +#endif + +# endif +#endif diff --git a/android/x86_64/include/openssl/cms.h b/android/x86_64/include/openssl/cms.h new file mode 100644 index 00000000..7e534e0d --- /dev/null +++ b/android/x86_64/include/openssl/cms.h @@ -0,0 +1,512 @@ +/* + * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CMS_H +# define HEADER_CMS_H + +# include + +# ifndef OPENSSL_NO_CMS +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +typedef struct CMS_ContentInfo_st CMS_ContentInfo; +typedef struct CMS_SignerInfo_st CMS_SignerInfo; +typedef struct CMS_CertificateChoices CMS_CertificateChoices; +typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; +typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; +typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; +typedef struct CMS_Receipt_st CMS_Receipt; +typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; +typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; + +DEFINE_STACK_OF(CMS_SignerInfo) +DEFINE_STACK_OF(CMS_RecipientEncryptedKey) +DEFINE_STACK_OF(CMS_RecipientInfo) +DEFINE_STACK_OF(CMS_RevocationInfoChoice) +DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) +DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) +DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) + +# define CMS_SIGNERINFO_ISSUER_SERIAL 0 +# define CMS_SIGNERINFO_KEYIDENTIFIER 1 + +# define CMS_RECIPINFO_NONE -1 +# define CMS_RECIPINFO_TRANS 0 +# define CMS_RECIPINFO_AGREE 1 +# define CMS_RECIPINFO_KEK 2 +# define CMS_RECIPINFO_PASS 3 +# define CMS_RECIPINFO_OTHER 4 + +/* S/MIME related flags */ + +# define CMS_TEXT 0x1 +# define CMS_NOCERTS 0x2 +# define CMS_NO_CONTENT_VERIFY 0x4 +# define CMS_NO_ATTR_VERIFY 0x8 +# define CMS_NOSIGS \ + (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) +# define CMS_NOINTERN 0x10 +# define CMS_NO_SIGNER_CERT_VERIFY 0x20 +# define CMS_NOVERIFY 0x20 +# define CMS_DETACHED 0x40 +# define CMS_BINARY 0x80 +# define CMS_NOATTR 0x100 +# define CMS_NOSMIMECAP 0x200 +# define CMS_NOOLDMIMETYPE 0x400 +# define CMS_CRLFEOL 0x800 +# define CMS_STREAM 0x1000 +# define CMS_NOCRL 0x2000 +# define CMS_PARTIAL 0x4000 +# define CMS_REUSE_DIGEST 0x8000 +# define CMS_USE_KEYID 0x10000 +# define CMS_DEBUG_DECRYPT 0x20000 +# define CMS_KEY_PARAM 0x40000 +# define CMS_ASCIICRLF 0x80000 + +const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms); + +BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); +int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); + +ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); +int CMS_is_detached(CMS_ContentInfo *cms); +int CMS_set_detached(CMS_ContentInfo *cms, int detached); + +# ifdef HEADER_PEM_H +DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) +# endif +int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); +CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); +int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); + +BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); +int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); +int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, + int flags); +CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); +int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); + +int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, + unsigned int flags); + +CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, BIO *data, + unsigned int flags); + +CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, + X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, unsigned int flags); + +int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); +CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); + +int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, + unsigned int flags); + +int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, + const unsigned char *key, size_t keylen, + BIO *dcont, BIO *out, unsigned int flags); + +CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, + const unsigned char *key, + size_t keylen, unsigned int flags); + +int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, + const unsigned char *key, size_t keylen); + +int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); + +int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, + STACK_OF(X509) *certs, + X509_STORE *store, unsigned int flags); + +STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); + +CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, unsigned int flags); + +int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, + BIO *dcont, BIO *out, unsigned int flags); + +int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); +int CMS_decrypt_set1_key(CMS_ContentInfo *cms, + unsigned char *key, size_t keylen, + const unsigned char *id, size_t idlen); +int CMS_decrypt_set1_password(CMS_ContentInfo *cms, + unsigned char *pass, ossl_ssize_t passlen); + +STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); +int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); +EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri); +CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); +CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, + X509 *recip, unsigned int flags); +int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); +int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); +int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, + EVP_PKEY **pk, X509 **recip, + X509_ALGOR **palg); +int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, + unsigned char *key, size_t keylen, + unsigned char *id, size_t idlen, + ASN1_GENERALIZEDTIME *date, + ASN1_OBJECT *otherTypeId, + ASN1_TYPE *otherType); + +int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pid, + ASN1_GENERALIZEDTIME **pdate, + ASN1_OBJECT **potherid, + ASN1_TYPE **pothertype); + +int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, + unsigned char *key, size_t keylen); + +int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, + const unsigned char *id, size_t idlen); + +int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, + unsigned char *pass, + ossl_ssize_t passlen); + +CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, + int iter, int wrap_nid, + int pbe_nid, + unsigned char *pass, + ossl_ssize_t passlen, + const EVP_CIPHER *kekciph); + +int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); + +int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); + +int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); +const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); + +CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); +int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); +int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); +STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); + +CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); +int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); +int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); +STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); + +int CMS_SignedData_init(CMS_ContentInfo *cms); +CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, + X509 *signer, EVP_PKEY *pk, const EVP_MD *md, + unsigned int flags); +EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si); +EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si); +STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); + +void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); +int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); +int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + unsigned int flags); +void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, + X509 **signer, X509_ALGOR **pdig, + X509_ALGOR **psig); +ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si); +int CMS_SignerInfo_sign(CMS_SignerInfo *si); +int CMS_SignerInfo_verify(CMS_SignerInfo *si); +int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); + +int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); +int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, + int algnid, int keysize); +int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); + +int CMS_signed_get_attr_count(const CMS_SignerInfo *si); +int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); +int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +# ifdef HEADER_X509V3_H + +int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); +CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, + int allorfirst, + STACK_OF(GENERAL_NAMES) + *receiptList, STACK_OF(GENERAL_NAMES) + *receiptsTo); +int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); +void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, + ASN1_STRING **pcid, + int *pallorfirst, + STACK_OF(GENERAL_NAMES) **plist, + STACK_OF(GENERAL_NAMES) **prto); +# endif +int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pukm); +STACK_OF(CMS_RecipientEncryptedKey) +*CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo *ri); + +int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, + X509_ALGOR **pubalg, + ASN1_BIT_STRING **pubkey, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509 *cert); + +int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek, + ASN1_OCTET_STRING **keyid, + ASN1_GENERALIZEDTIME **tm, + CMS_OtherKeyAttribute **other, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek, + X509 *cert); +int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk); +EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri); +int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, + CMS_RecipientInfo *ri, + CMS_RecipientEncryptedKey *rek); + +int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, + ASN1_OCTET_STRING *ukm, int keylen); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_CMS_strings(void); + +/* Error codes for the CMS functions. */ + +/* Function codes. */ +# define CMS_F_CHECK_CONTENT 99 +# define CMS_F_CMS_ADD0_CERT 164 +# define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 +# define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 +# define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 +# define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 +# define CMS_F_CMS_ADD1_SIGNER 102 +# define CMS_F_CMS_ADD1_SIGNINGTIME 103 +# define CMS_F_CMS_COMPRESS 104 +# define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 +# define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 +# define CMS_F_CMS_COPY_CONTENT 107 +# define CMS_F_CMS_COPY_MESSAGEDIGEST 108 +# define CMS_F_CMS_DATA 109 +# define CMS_F_CMS_DATAFINAL 110 +# define CMS_F_CMS_DATAINIT 111 +# define CMS_F_CMS_DECRYPT 112 +# define CMS_F_CMS_DECRYPT_SET1_KEY 113 +# define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 +# define CMS_F_CMS_DECRYPT_SET1_PKEY 114 +# define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 +# define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 +# define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 +# define CMS_F_CMS_DIGEST_VERIFY 118 +# define CMS_F_CMS_ENCODE_RECEIPT 161 +# define CMS_F_CMS_ENCRYPT 119 +# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 +# define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 +# define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 +# define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 +# define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 +# define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 +# define CMS_F_CMS_ENVELOPED_DATA_INIT 126 +# define CMS_F_CMS_ENV_ASN1_CTRL 171 +# define CMS_F_CMS_FINAL 127 +# define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 +# define CMS_F_CMS_GET0_CONTENT 129 +# define CMS_F_CMS_GET0_ECONTENT_TYPE 130 +# define CMS_F_CMS_GET0_ENVELOPED 131 +# define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 +# define CMS_F_CMS_GET0_SIGNED 133 +# define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 +# define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 +# define CMS_F_CMS_RECEIPT_VERIFY 160 +# define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 +# define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 169 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 178 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 175 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 173 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 172 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 174 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 +# define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 +# define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 +# define CMS_F_CMS_SD_ASN1_CTRL 170 +# define CMS_F_CMS_SET1_IAS 176 +# define CMS_F_CMS_SET1_KEYID 177 +# define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 +# define CMS_F_CMS_SET_DETACHED 147 +# define CMS_F_CMS_SIGN 148 +# define CMS_F_CMS_SIGNED_DATA_INIT 149 +# define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 +# define CMS_F_CMS_SIGNERINFO_SIGN 151 +# define CMS_F_CMS_SIGNERINFO_VERIFY 152 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 +# define CMS_F_CMS_SIGN_RECEIPT 163 +# define CMS_F_CMS_STREAM 155 +# define CMS_F_CMS_UNCOMPRESS 156 +# define CMS_F_CMS_VERIFY 157 + +/* Reason codes. */ +# define CMS_R_ADD_SIGNER_ERROR 99 +# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 +# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 +# define CMS_R_CERTIFICATE_VERIFY_ERROR 100 +# define CMS_R_CIPHER_INITIALISATION_ERROR 101 +# define CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR 102 +# define CMS_R_CMS_DATAFINAL_ERROR 103 +# define CMS_R_CMS_LIB 104 +# define CMS_R_CONTENTIDENTIFIER_MISMATCH 170 +# define CMS_R_CONTENT_NOT_FOUND 105 +# define CMS_R_CONTENT_TYPE_MISMATCH 171 +# define CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA 106 +# define CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA 107 +# define CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA 108 +# define CMS_R_CONTENT_VERIFY_ERROR 109 +# define CMS_R_CTRL_ERROR 110 +# define CMS_R_CTRL_FAILURE 111 +# define CMS_R_DECRYPT_ERROR 112 +# define CMS_R_ERROR_GETTING_PUBLIC_KEY 113 +# define CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE 114 +# define CMS_R_ERROR_SETTING_KEY 115 +# define CMS_R_ERROR_SETTING_RECIPIENTINFO 116 +# define CMS_R_INVALID_ENCRYPTED_KEY_LENGTH 117 +# define CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER 176 +# define CMS_R_INVALID_KEY_LENGTH 118 +# define CMS_R_MD_BIO_INIT_ERROR 119 +# define CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH 120 +# define CMS_R_MESSAGEDIGEST_WRONG_LENGTH 121 +# define CMS_R_MSGSIGDIGEST_ERROR 172 +# define CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE 162 +# define CMS_R_MSGSIGDIGEST_WRONG_LENGTH 163 +# define CMS_R_NEED_ONE_SIGNER 164 +# define CMS_R_NOT_A_SIGNED_RECEIPT 165 +# define CMS_R_NOT_ENCRYPTED_DATA 122 +# define CMS_R_NOT_KEK 123 +# define CMS_R_NOT_KEY_AGREEMENT 181 +# define CMS_R_NOT_KEY_TRANSPORT 124 +# define CMS_R_NOT_PWRI 177 +# define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 125 +# define CMS_R_NO_CIPHER 126 +# define CMS_R_NO_CONTENT 127 +# define CMS_R_NO_CONTENT_TYPE 173 +# define CMS_R_NO_DEFAULT_DIGEST 128 +# define CMS_R_NO_DIGEST_SET 129 +# define CMS_R_NO_KEY 130 +# define CMS_R_NO_KEY_OR_CERT 174 +# define CMS_R_NO_MATCHING_DIGEST 131 +# define CMS_R_NO_MATCHING_RECIPIENT 132 +# define CMS_R_NO_MATCHING_SIGNATURE 166 +# define CMS_R_NO_MSGSIGDIGEST 167 +# define CMS_R_NO_PASSWORD 178 +# define CMS_R_NO_PRIVATE_KEY 133 +# define CMS_R_NO_PUBLIC_KEY 134 +# define CMS_R_NO_RECEIPT_REQUEST 168 +# define CMS_R_NO_SIGNERS 135 +# define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 136 +# define CMS_R_RECEIPT_DECODE_ERROR 169 +# define CMS_R_RECIPIENT_ERROR 137 +# define CMS_R_SIGNER_CERTIFICATE_NOT_FOUND 138 +# define CMS_R_SIGNFINAL_ERROR 139 +# define CMS_R_SMIME_TEXT_ERROR 140 +# define CMS_R_STORE_INIT_ERROR 141 +# define CMS_R_TYPE_NOT_COMPRESSED_DATA 142 +# define CMS_R_TYPE_NOT_DATA 143 +# define CMS_R_TYPE_NOT_DIGESTED_DATA 144 +# define CMS_R_TYPE_NOT_ENCRYPTED_DATA 145 +# define CMS_R_TYPE_NOT_ENVELOPED_DATA 146 +# define CMS_R_UNABLE_TO_FINALIZE_CONTEXT 147 +# define CMS_R_UNKNOWN_CIPHER 148 +# define CMS_R_UNKNOWN_DIGEST_ALGORIHM 149 +# define CMS_R_UNKNOWN_ID 150 +# define CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM 151 +# define CMS_R_UNSUPPORTED_CONTENT_TYPE 152 +# define CMS_R_UNSUPPORTED_KEK_ALGORITHM 153 +# define CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM 179 +# define CMS_R_UNSUPPORTED_RECIPIENT_TYPE 154 +# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE 155 +# define CMS_R_UNSUPPORTED_TYPE 156 +# define CMS_R_UNWRAP_ERROR 157 +# define CMS_R_UNWRAP_FAILURE 180 +# define CMS_R_VERIFICATION_FAILURE 158 +# define CMS_R_WRAP_ERROR 159 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/comp.h b/android/x86_64/include/openssl/comp.h new file mode 100644 index 00000000..260ff1e0 --- /dev/null +++ b/android/x86_64/include/openssl/comp.h @@ -0,0 +1,72 @@ +/* + * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_COMP_H +# define HEADER_COMP_H + +# include + +# ifndef OPENSSL_NO_COMP +# include +# ifdef __cplusplus +extern "C" { +# endif + + + +COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); +const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx); +int COMP_CTX_get_type(const COMP_CTX* comp); +int COMP_get_type(const COMP_METHOD *meth); +const char *COMP_get_name(const COMP_METHOD *meth); +void COMP_CTX_free(COMP_CTX *ctx); + +int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, + unsigned char *in, int ilen); +int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, + unsigned char *in, int ilen); + +COMP_METHOD *COMP_zlib(void); + +#if OPENSSL_API_COMPAT < 0x10100000L +#define COMP_zlib_cleanup() while(0) continue +#endif + +# ifdef HEADER_BIO_H +# ifdef ZLIB +const BIO_METHOD *BIO_f_zlib(void); +# endif +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_COMP_strings(void); + +/* Error codes for the COMP functions. */ + +/* Function codes. */ +# define COMP_F_BIO_ZLIB_FLUSH 99 +# define COMP_F_BIO_ZLIB_NEW 100 +# define COMP_F_BIO_ZLIB_READ 101 +# define COMP_F_BIO_ZLIB_WRITE 102 + +/* Reason codes. */ +# define COMP_R_ZLIB_DEFLATE_ERROR 99 +# define COMP_R_ZLIB_INFLATE_ERROR 100 +# define COMP_R_ZLIB_NOT_SUPPORTED 101 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/conf.h b/android/x86_64/include/openssl/conf.h new file mode 100644 index 00000000..462e3c9d --- /dev/null +++ b/android/x86_64/include/openssl/conf.h @@ -0,0 +1,216 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CONF_H +# define HEADER_CONF_H + +# include +# include +# include +# include +# include + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + char *section; + char *name; + char *value; +} CONF_VALUE; + +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_LHASH_OF(CONF_VALUE); + +struct conf_st; +struct conf_method_st; +typedef struct conf_method_st CONF_METHOD; + +struct conf_method_st { + const char *name; + CONF *(*create) (CONF_METHOD *meth); + int (*init) (CONF *conf); + int (*destroy) (CONF *conf); + int (*destroy_data) (CONF *conf); + int (*load_bio) (CONF *conf, BIO *bp, long *eline); + int (*dump) (const CONF *conf, BIO *bp); + int (*is_number) (const CONF *conf, char c); + int (*to_int) (const CONF *conf, char c); + int (*load) (CONF *conf, const char *name, long *eline); +}; + +/* Module definitions */ + +typedef struct conf_imodule_st CONF_IMODULE; +typedef struct conf_module_st CONF_MODULE; + +DEFINE_STACK_OF(CONF_MODULE) +DEFINE_STACK_OF(CONF_IMODULE) + +/* DSO module function typedefs */ +typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf); +typedef void conf_finish_func (CONF_IMODULE *md); + +# define CONF_MFLAGS_IGNORE_ERRORS 0x1 +# define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 +# define CONF_MFLAGS_SILENT 0x4 +# define CONF_MFLAGS_NO_DSO 0x8 +# define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 +# define CONF_MFLAGS_DEFAULT_SECTION 0x20 + +int CONF_set_default_method(CONF_METHOD *meth); +void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); +LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline); +# ifndef OPENSSL_NO_STDIO +LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline); +# endif +LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, + long *eline); +STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, + const char *section); +char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +void CONF_free(LHASH_OF(CONF_VALUE) *conf); +#ifndef OPENSSL_NO_STDIO +int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); +#endif +int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); + +DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name)) + +#if OPENSSL_API_COMPAT < 0x10100000L +# define OPENSSL_no_config() \ + OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL) +#endif + +/* + * New conf code. The semantics are different from the functions above. If + * that wasn't the case, the above functions would have been replaced + */ + +struct conf_st { + CONF_METHOD *meth; + void *meth_data; + LHASH_OF(CONF_VALUE) *data; +}; + +CONF *NCONF_new(CONF_METHOD *meth); +CONF_METHOD *NCONF_default(void); +CONF_METHOD *NCONF_WIN32(void); +void NCONF_free(CONF *conf); +void NCONF_free_data(CONF *conf); + +int NCONF_load(CONF *conf, const char *file, long *eline); +# ifndef OPENSSL_NO_STDIO +int NCONF_load_fp(CONF *conf, FILE *fp, long *eline); +# endif +int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); +STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, + const char *section); +char *NCONF_get_string(const CONF *conf, const char *group, const char *name); +int NCONF_get_number_e(const CONF *conf, const char *group, const char *name, + long *result); +#ifndef OPENSSL_NO_STDIO +int NCONF_dump_fp(const CONF *conf, FILE *out); +#endif +int NCONF_dump_bio(const CONF *conf, BIO *out); + +#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) + +/* Module functions */ + +int CONF_modules_load(const CONF *cnf, const char *appname, + unsigned long flags); +int CONF_modules_load_file(const char *filename, const char *appname, + unsigned long flags); +void CONF_modules_unload(int all); +void CONF_modules_finish(void); +#if OPENSSL_API_COMPAT < 0x10100000L +# define CONF_modules_free() while(0) continue +#endif +int CONF_module_add(const char *name, conf_init_func *ifunc, + conf_finish_func *ffunc); + +const char *CONF_imodule_get_name(const CONF_IMODULE *md); +const char *CONF_imodule_get_value(const CONF_IMODULE *md); +void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); +void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); +CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); +unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); +void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); +void *CONF_module_get_usr_data(CONF_MODULE *pmod); +void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); + +char *CONF_get1_default_config_file(void); + +int CONF_parse_list(const char *list, int sep, int nospc, + int (*list_cb) (const char *elem, int len, void *usr), + void *arg); + +void OPENSSL_load_builtin_modules(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_CONF_strings(void); + +/* Error codes for the CONF functions. */ + +/* Function codes. */ +# define CONF_F_CONF_DUMP_FP 104 +# define CONF_F_CONF_LOAD 100 +# define CONF_F_CONF_LOAD_FP 103 +# define CONF_F_CONF_PARSE_LIST 119 +# define CONF_F_DEF_LOAD 120 +# define CONF_F_DEF_LOAD_BIO 121 +# define CONF_F_MODULE_INIT 115 +# define CONF_F_MODULE_LOAD_DSO 117 +# define CONF_F_MODULE_RUN 118 +# define CONF_F_NCONF_DUMP_BIO 105 +# define CONF_F_NCONF_DUMP_FP 106 +# define CONF_F_NCONF_GET_NUMBER_E 112 +# define CONF_F_NCONF_GET_SECTION 108 +# define CONF_F_NCONF_GET_STRING 109 +# define CONF_F_NCONF_LOAD 113 +# define CONF_F_NCONF_LOAD_BIO 110 +# define CONF_F_NCONF_LOAD_FP 114 +# define CONF_F_NCONF_NEW 111 +# define CONF_F_STR_COPY 101 + +/* Reason codes. */ +# define CONF_R_ERROR_LOADING_DSO 110 +# define CONF_R_LIST_CANNOT_BE_NULL 115 +# define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 +# define CONF_R_MISSING_EQUAL_SIGN 101 +# define CONF_R_MISSING_INIT_FUNCTION 112 +# define CONF_R_MODULE_INITIALIZATION_ERROR 109 +# define CONF_R_NO_CLOSE_BRACE 102 +# define CONF_R_NO_CONF 105 +# define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 +# define CONF_R_NO_SECTION 107 +# define CONF_R_NO_SUCH_FILE 114 +# define CONF_R_NO_VALUE 108 +# define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 +# define CONF_R_UNKNOWN_MODULE_NAME 113 +# define CONF_R_VARIABLE_HAS_NO_VALUE 104 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/conf_api.h b/android/x86_64/include/openssl/conf_api.h new file mode 100644 index 00000000..a0275ad7 --- /dev/null +++ b/android/x86_64/include/openssl/conf_api.h @@ -0,0 +1,40 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CONF_API_H +# define HEADER_CONF_API_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Up until OpenSSL 0.9.5a, this was new_section */ +CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was get_section */ +CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); +/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ +STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, + const char *section); + +int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); +char *_CONF_get_string(const CONF *conf, const char *section, + const char *name); +long _CONF_get_number(const CONF *conf, const char *section, + const char *name); + +int _CONF_new_data(CONF *conf); +void _CONF_free_data(CONF *conf); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/crypto.h b/android/x86_64/include/openssl/crypto.h new file mode 100644 index 00000000..bd0b1408 --- /dev/null +++ b/android/x86_64/include/openssl/crypto.h @@ -0,0 +1,463 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_CRYPTO_H +# define HEADER_CRYPTO_H + +# include +# include + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# endif + +# include +# include +# include +# include +# include + +# ifdef CHARSET_EBCDIC +# include +# endif + +/* + * Resolve problems on some operating systems with symbol names that clash + * one way or another + */ +# include + +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSLeay OpenSSL_version_num +# define SSLeay_version OpenSSL_version +# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER +# define SSLEAY_VERSION OPENSSL_VERSION +# define SSLEAY_CFLAGS OPENSSL_CFLAGS +# define SSLEAY_BUILT_ON OPENSSL_BUILT_ON +# define SSLEAY_PLATFORM OPENSSL_PLATFORM +# define SSLEAY_DIR OPENSSL_DIR + +/* + * Old type for allocating dynamic locks. No longer used. Use the new thread + * API instead. + */ +typedef struct { + int dummy; +} CRYPTO_dynlock; + +# endif /* OPENSSL_API_COMPAT */ + +typedef void CRYPTO_RWLOCK; + +CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void); +int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock); +int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock); +int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock); +void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock); + +int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock); + +/* + * The following can be used to detect memory leaks in the library. If + * used, it turns on malloc checking + */ +# define CRYPTO_MEM_CHECK_OFF 0x0 /* Control only */ +# define CRYPTO_MEM_CHECK_ON 0x1 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_ENABLE 0x2 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_DISABLE 0x3 /* Control only */ + +struct crypto_ex_data_st { + STACK_OF(void) *sk; +}; +DEFINE_STACK_OF(void) + +/* + * Per class, we have a STACK of function pointers. + */ +# define CRYPTO_EX_INDEX_SSL 0 +# define CRYPTO_EX_INDEX_SSL_CTX 1 +# define CRYPTO_EX_INDEX_SSL_SESSION 2 +# define CRYPTO_EX_INDEX_X509 3 +# define CRYPTO_EX_INDEX_X509_STORE 4 +# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 +# define CRYPTO_EX_INDEX_DH 6 +# define CRYPTO_EX_INDEX_DSA 7 +# define CRYPTO_EX_INDEX_EC_KEY 8 +# define CRYPTO_EX_INDEX_RSA 9 +# define CRYPTO_EX_INDEX_ENGINE 10 +# define CRYPTO_EX_INDEX_UI 11 +# define CRYPTO_EX_INDEX_BIO 12 +# define CRYPTO_EX_INDEX_APP 13 +# define CRYPTO_EX_INDEX__COUNT 14 + +/* + * This is the default callbacks, but we can have others as well: this is + * needed in Win32 where the application malloc and the library malloc may + * not be the same. + */ +#define OPENSSL_malloc_init() \ + CRYPTO_set_mem_functions(CRYPTO_malloc, CRYPTO_realloc, CRYPTO_free) + +int CRYPTO_mem_ctrl(int mode); + +# define OPENSSL_malloc(num) \ + CRYPTO_malloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_zalloc(num) \ + CRYPTO_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_realloc(addr, num) \ + CRYPTO_realloc(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_clear_realloc(addr, old_num, num) \ + CRYPTO_clear_realloc(addr, old_num, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_clear_free(addr, num) \ + CRYPTO_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_free(addr) \ + CRYPTO_free(addr, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_memdup(str, s) \ + CRYPTO_memdup((str), s, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_strdup(str) \ + CRYPTO_strdup(str, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_strndup(str, n) \ + CRYPTO_strndup(str, n, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_malloc(num) \ + CRYPTO_secure_malloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_zalloc(num) \ + CRYPTO_secure_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_free(addr) \ + CRYPTO_secure_free(addr, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_actual_size(ptr) \ + CRYPTO_secure_actual_size(ptr) + +size_t OPENSSL_strlcpy(char *dst, const char *src, size_t siz); +size_t OPENSSL_strlcat(char *dst, const char *src, size_t siz); +size_t OPENSSL_strnlen(const char *str, size_t maxlen); +char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len); +unsigned char *OPENSSL_hexstr2buf(const char *str, long *len); +int OPENSSL_hexchar2int(unsigned char c); + +# define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) + +unsigned long OpenSSL_version_num(void); +const char *OpenSSL_version(int type); +# define OPENSSL_VERSION 0 +# define OPENSSL_CFLAGS 1 +# define OPENSSL_BUILT_ON 2 +# define OPENSSL_PLATFORM 3 +# define OPENSSL_DIR 4 +# define OPENSSL_ENGINES_DIR 5 + +int OPENSSL_issetugid(void); + +typedef void CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, + void *srcp, int idx, long argl, void *argp); +__owur int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +/* No longer use an index. */ +int CRYPTO_free_ex_index(int class_index, int idx); + +/* + * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a + * given class (invokes whatever per-class callbacks are applicable) + */ +int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, + const CRYPTO_EX_DATA *from); + +void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); + +/* + * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular + * index (relative to the class type involved) + */ +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); +void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); + +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * This function cleans up all "ex_data" state. It mustn't be called under + * potential race-conditions. + */ +# define CRYPTO_cleanup_all_ex_data() while(0) continue + +/* + * The old locking functions have been removed completely without compatibility + * macros. This is because the old functions either could not properly report + * errors, or the returned error values were not clearly documented. + * Replacing the locking functions with with no-ops would cause race condition + * issues in the affected applications. It is far better for them to fail at + * compile time. + * On the other hand, the locking callbacks are no longer used. Consequently, + * the callback management functions can be safely replaced with no-op macros. + */ +# define CRYPTO_num_locks() (1) +# define CRYPTO_set_locking_callback(func) +# define CRYPTO_get_locking_callback() (NULL) +# define CRYPTO_set_add_lock_callback(func) +# define CRYPTO_get_add_lock_callback() (NULL) + +/* + * These defines where used in combination with the old locking callbacks, + * they are not called anymore, but old code that's not called might still + * use them. + */ +# define CRYPTO_LOCK 1 +# define CRYPTO_UNLOCK 2 +# define CRYPTO_READ 4 +# define CRYPTO_WRITE 8 + +/* This structure is no longer used */ +typedef struct crypto_threadid_st { + int dummy; +} CRYPTO_THREADID; +/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ +# define CRYPTO_THREADID_set_numeric(id, val) +# define CRYPTO_THREADID_set_pointer(id, ptr) +# define CRYPTO_THREADID_set_callback(threadid_func) (0) +# define CRYPTO_THREADID_get_callback() (NULL) +# define CRYPTO_THREADID_current(id) +# define CRYPTO_THREADID_cmp(a, b) (-1) +# define CRYPTO_THREADID_cpy(dest, src) +# define CRYPTO_THREADID_hash(id) (0UL) + +# if OPENSSL_API_COMPAT < 0x10000000L +# define CRYPTO_set_id_callback(func) +# define CRYPTO_get_id_callback() (NULL) +# define CRYPTO_thread_id() (0UL) +# endif /* OPENSSL_API_COMPAT < 0x10000000L */ + +# define CRYPTO_set_dynlock_create_callback(dyn_create_function) +# define CRYPTO_set_dynlock_lock_callback(dyn_lock_function) +# define CRYPTO_set_dynlock_destroy_callback(dyn_destroy_function) +# define CRYPTO_get_dynlock_create_callback() (NULL) +# define CRYPTO_get_dynlock_lock_callback() (NULL) +# define CRYPTO_get_dynlock_destroy_callback() (NULL) +# endif /* OPENSSL_API_COMPAT < 0x10100000L */ + +int CRYPTO_set_mem_functions( + void *(*m) (size_t, const char *, int), + void *(*r) (void *, size_t, const char *, int), + void (*f) (void *, const char *, int)); +int CRYPTO_set_mem_debug(int flag); +void CRYPTO_get_mem_functions( + void *(**m) (size_t, const char *, int), + void *(**r) (void *, size_t, const char *, int), + void (**f) (void *, const char *, int)); + +void *CRYPTO_malloc(size_t num, const char *file, int line); +void *CRYPTO_zalloc(size_t num, const char *file, int line); +void *CRYPTO_memdup(const void *str, size_t siz, const char *file, int line); +char *CRYPTO_strdup(const char *str, const char *file, int line); +char *CRYPTO_strndup(const char *str, size_t s, const char *file, int line); +void CRYPTO_free(void *ptr, const char *file, int line); +void CRYPTO_clear_free(void *ptr, size_t num, const char *file, int line); +void *CRYPTO_realloc(void *addr, size_t num, const char *file, int line); +void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num, + const char *file, int line); + +int CRYPTO_secure_malloc_init(size_t sz, int minsize); +int CRYPTO_secure_malloc_done(void); +void *CRYPTO_secure_malloc(size_t num, const char *file, int line); +void *CRYPTO_secure_zalloc(size_t num, const char *file, int line); +void CRYPTO_secure_free(void *ptr, const char *file, int line); +int CRYPTO_secure_allocated(const void *ptr); +int CRYPTO_secure_malloc_initialized(void); +size_t CRYPTO_secure_actual_size(void *ptr); +size_t CRYPTO_secure_used(void); + +void OPENSSL_cleanse(void *ptr, size_t len); + +# ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_mem_debug_push(info) \ + CRYPTO_mem_debug_push(info, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_mem_debug_pop() \ + CRYPTO_mem_debug_pop() +int CRYPTO_mem_debug_push(const char *info, const char *file, int line); +int CRYPTO_mem_debug_pop(void); + +/*- + * Debugging functions (enabled by CRYPTO_set_mem_debug(1)) + * The flag argument has the following significance: + * 0: called before the actual memory allocation has taken place + * 1: called after the actual memory allocation has taken place + */ +void CRYPTO_mem_debug_malloc(void *addr, size_t num, int flag, + const char *file, int line); +void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, size_t num, int flag, + const char *file, int line); +void CRYPTO_mem_debug_free(void *addr, int flag, + const char *file, int line); + +# ifndef OPENSSL_NO_STDIO +int CRYPTO_mem_leaks_fp(FILE *); +# endif +int CRYPTO_mem_leaks(BIO *bio); +# endif + +/* die if we have to */ +ossl_noreturn void OPENSSL_die(const char *assertion, const char *file, int line); +# if OPENSSL_API_COMPAT < 0x10100000L +# define OpenSSLDie(f,l,a) OPENSSL_die((a),(f),(l)) +# endif +# define OPENSSL_assert(e) \ + (void)((e) ? 0 : (OPENSSL_die("assertion failed: " #e, OPENSSL_FILE, OPENSSL_LINE), 1)) + +int OPENSSL_isservice(void); + +int FIPS_mode(void); +int FIPS_mode_set(int r); + +void OPENSSL_init(void); + +struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result); +int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec); +int OPENSSL_gmtime_diff(int *pday, int *psec, + const struct tm *from, const struct tm *to); + +/* + * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. + * It takes an amount of time dependent on |len|, but independent of the + * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements + * into a defined order as the return value when a != b is undefined, other + * than to be non-zero. + */ +int CRYPTO_memcmp(const volatile void * volatile in_a, + const volatile void * volatile in_b, + size_t len); + +/* Standard initialisation options */ +# define OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS 0x00000001L +# define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L +# define OPENSSL_INIT_ADD_ALL_CIPHERS 0x00000004L +# define OPENSSL_INIT_ADD_ALL_DIGESTS 0x00000008L +# define OPENSSL_INIT_NO_ADD_ALL_CIPHERS 0x00000010L +# define OPENSSL_INIT_NO_ADD_ALL_DIGESTS 0x00000020L +# define OPENSSL_INIT_LOAD_CONFIG 0x00000040L +# define OPENSSL_INIT_NO_LOAD_CONFIG 0x00000080L +# define OPENSSL_INIT_ASYNC 0x00000100L +# define OPENSSL_INIT_ENGINE_RDRAND 0x00000200L +# define OPENSSL_INIT_ENGINE_DYNAMIC 0x00000400L +# define OPENSSL_INIT_ENGINE_OPENSSL 0x00000800L +# define OPENSSL_INIT_ENGINE_CRYPTODEV 0x00001000L +# define OPENSSL_INIT_ENGINE_CAPI 0x00002000L +# define OPENSSL_INIT_ENGINE_PADLOCK 0x00004000L +# define OPENSSL_INIT_ENGINE_AFALG 0x00008000L +/* OPENSSL_INIT flag 0x00010000 reserved for internal use */ +/* OPENSSL_INIT flag range 0xfff00000 reserved for OPENSSL_init_ssl() */ +/* Max OPENSSL_INIT flag value is 0x80000000 */ + +/* openssl and dasync not counted as builtin */ +# define OPENSSL_INIT_ENGINE_ALL_BUILTIN \ + (OPENSSL_INIT_ENGINE_RDRAND | OPENSSL_INIT_ENGINE_DYNAMIC \ + | OPENSSL_INIT_ENGINE_CRYPTODEV | OPENSSL_INIT_ENGINE_CAPI | \ + OPENSSL_INIT_ENGINE_PADLOCK) + + +/* Library initialisation functions */ +void OPENSSL_cleanup(void); +int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); +int OPENSSL_atexit(void (*handler)(void)); +void OPENSSL_thread_stop(void); + +/* Low-level control of initialization */ +OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); +# ifndef OPENSSL_NO_STDIO +int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings, + const char *config_file); +# endif +void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings); + +# if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) +# if defined(_WIN32) +# if defined(BASETYPES) || defined(_WINDEF_H) +/* application has to include in order to use this */ +typedef DWORD CRYPTO_THREAD_LOCAL; +typedef DWORD CRYPTO_THREAD_ID; + +typedef LONG CRYPTO_ONCE; +# define CRYPTO_ONCE_STATIC_INIT 0 +# endif +# else +# include +typedef pthread_once_t CRYPTO_ONCE; +typedef pthread_key_t CRYPTO_THREAD_LOCAL; +typedef pthread_t CRYPTO_THREAD_ID; + +# define CRYPTO_ONCE_STATIC_INIT PTHREAD_ONCE_INIT +# endif +# endif + +# if !defined(CRYPTO_ONCE_STATIC_INIT) +typedef unsigned int CRYPTO_ONCE; +typedef unsigned int CRYPTO_THREAD_LOCAL; +typedef unsigned int CRYPTO_THREAD_ID; +# define CRYPTO_ONCE_STATIC_INIT 0 +# endif + +int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)); + +int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)); +void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key); +int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val); +int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key); + +CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void); +int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_CRYPTO_strings(void); + +/* Error codes for the CRYPTO functions. */ + +/* Function codes. */ +# define CRYPTO_F_CRYPTO_DUP_EX_DATA 110 +# define CRYPTO_F_CRYPTO_FREE_EX_DATA 111 +# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 +# define CRYPTO_F_CRYPTO_MEMDUP 115 +# define CRYPTO_F_CRYPTO_NEW_EX_DATA 112 +# define CRYPTO_F_CRYPTO_SET_EX_DATA 102 +# define CRYPTO_F_FIPS_MODE_SET 109 +# define CRYPTO_F_GET_AND_LOCK 113 +# define CRYPTO_F_OPENSSL_BUF2HEXSTR 117 +# define CRYPTO_F_OPENSSL_HEXSTR2BUF 118 +# define CRYPTO_F_OPENSSL_INIT_CRYPTO 116 + +/* Reason codes. */ +# define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 +# define CRYPTO_R_ILLEGAL_HEX_DIGIT 102 +# define CRYPTO_R_ODD_NUMBER_OF_DIGITS 103 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/ct.h b/android/x86_64/include/openssl/ct.h new file mode 100644 index 00000000..6c632652 --- /dev/null +++ b/android/x86_64/include/openssl/ct.h @@ -0,0 +1,518 @@ +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_CT_H +# define HEADER_CT_H + +# include + +# ifndef OPENSSL_NO_CT +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + + +/* Minimum RSA key size, from RFC6962 */ +# define SCT_MIN_RSA_BITS 2048 + +/* All hashes are SHA256 in v1 of Certificate Transparency */ +# define CT_V1_HASHLEN SHA256_DIGEST_LENGTH + +typedef enum { + CT_LOG_ENTRY_TYPE_NOT_SET = -1, + CT_LOG_ENTRY_TYPE_X509 = 0, + CT_LOG_ENTRY_TYPE_PRECERT = 1 +} ct_log_entry_type_t; + +typedef enum { + SCT_VERSION_NOT_SET = -1, + SCT_VERSION_V1 = 0 +} sct_version_t; + +typedef enum { + SCT_SOURCE_UNKNOWN, + SCT_SOURCE_TLS_EXTENSION, + SCT_SOURCE_X509V3_EXTENSION, + SCT_SOURCE_OCSP_STAPLED_RESPONSE +} sct_source_t; + +typedef enum { + SCT_VALIDATION_STATUS_NOT_SET, + SCT_VALIDATION_STATUS_UNKNOWN_LOG, + SCT_VALIDATION_STATUS_VALID, + SCT_VALIDATION_STATUS_INVALID, + SCT_VALIDATION_STATUS_UNVERIFIED, + SCT_VALIDATION_STATUS_UNKNOWN_VERSION +} sct_validation_status_t; + +DEFINE_STACK_OF(SCT) +DEFINE_STACK_OF(CTLOG) + +/****************************************** + * CT policy evaluation context functions * + ******************************************/ + +/* + * Creates a new, empty policy evaluation context. + * The caller is responsible for calling CT_POLICY_EVAL_CTX_free when finished + * with the CT_POLICY_EVAL_CTX. + */ +CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void); + +/* Deletes a policy evaluation context and anything it owns. */ +void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx); + +/* Gets the peer certificate that the SCTs are for */ +X509* CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the certificate associated with the received SCTs. + * Increments the reference count of cert. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert); + +/* Gets the issuer of the aforementioned certificate */ +X509* CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the issuer of the certificate associated with the received SCTs. + * Increments the reference count of issuer. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer); + +/* Gets the CT logs that are trusted sources of SCTs */ +const CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX *ctx); + +/* Sets the log store that is in use. It must outlive the CT_POLICY_EVAL_CTX. */ +void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx, + CTLOG_STORE *log_store); + +/***************** + * SCT functions * + *****************/ + +/* + * Creates a new, blank SCT. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new(void); + +/* + * Creates a new SCT from some base64-encoded strings. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new_from_base64(unsigned char version, + const char *logid_base64, + ct_log_entry_type_t entry_type, + uint64_t timestamp, + const char *extensions_base64, + const char *signature_base64); + +/* + * Frees the SCT and the underlying data structures. + */ +void SCT_free(SCT *sct); + +/* + * Free a stack of SCTs, and the underlying SCTs themselves. + * Intended to be compatible with X509V3_EXT_FREE. + */ +void SCT_LIST_free(STACK_OF(SCT) *a); + +/* + * Returns the version of the SCT. + */ +sct_version_t SCT_get_version(const SCT *sct); + +/* + * Set the version of an SCT. + * Returns 1 on success, 0 if the version is unrecognized. + */ +__owur int SCT_set_version(SCT *sct, sct_version_t version); + +/* + * Returns the log entry type of the SCT. + */ +ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct); + +/* + * Set the log entry type of an SCT. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type); + +/* + * Gets the ID of the log that an SCT came from. + * Ownership of the log ID remains with the SCT. + * Returns the length of the log ID. + */ +size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id); + +/* + * Set the log ID of an SCT to point directly to the *log_id specified. + * The SCT takes ownership of the specified pointer. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len); + +/* + * Set the log ID of an SCT. + * This makes a copy of the log_id. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, + size_t log_id_len); + +/* + * Returns the timestamp for the SCT (epoch time in milliseconds). + */ +uint64_t SCT_get_timestamp(const SCT *sct); + +/* + * Set the timestamp of an SCT (epoch time in milliseconds). + */ +void SCT_set_timestamp(SCT *sct, uint64_t timestamp); + +/* + * Return the NID for the signature used by the SCT. + * For CT v1, this will be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256 (or NID_undef if incorrect/unset). + */ +int SCT_get_signature_nid(const SCT *sct); + +/* + * Set the signature type of an SCT + * For CT v1, this should be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_signature_nid(SCT *sct, int nid); + +/* + * Set *ext to point to the extension data for the SCT. ext must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext); + +/* + * Set the extensions of an SCT to point directly to the *ext specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len); + +/* + * Set the extensions of an SCT. + * This takes a copy of the ext. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_extensions(SCT *sct, const unsigned char *ext, + size_t ext_len); + +/* + * Set *sig to point to the signature for the SCT. sig must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_signature(const SCT *sct, unsigned char **sig); + +/* + * Set the signature of an SCT to point directly to the *sig specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len); + +/* + * Set the signature of an SCT to be a copy of the *sig specified. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_signature(SCT *sct, const unsigned char *sig, + size_t sig_len); + +/* + * The origin of this SCT, e.g. TLS extension, OCSP response, etc. + */ +sct_source_t SCT_get_source(const SCT *sct); + +/* + * Set the origin of this SCT, e.g. TLS extension, OCSP response, etc. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_source(SCT *sct, sct_source_t source); + +/* + * Returns a text string describing the validation status of |sct|. + */ +const char *SCT_validation_status_string(const SCT *sct); + +/* + * Pretty-prints an |sct| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * If |logs| is not NULL, it will be used to lookup the CT log that the SCT came + * from, so that the log name can be printed. + */ +void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE *logs); + +/* + * Pretty-prints an |sct_list| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * SCTs will be delimited by |separator|. + * If |logs| is not NULL, it will be used to lookup the CT log that each SCT + * came from, so that the log names can be printed. + */ +void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent, + const char *separator, const CTLOG_STORE *logs); + +/* + * Gets the last result of validating this SCT. + * If it has not been validated yet, returns SCT_VALIDATION_STATUS_NOT_SET. + */ +sct_validation_status_t SCT_get_validation_status(const SCT *sct); + +/* + * Validates the given SCT with the provided context. + * Sets the "validation_status" field of the SCT. + * Returns 1 if the SCT is valid and the signature verifies. + * Returns 0 if the SCT is invalid or could not be verified. + * Returns -1 if an error occurs. + */ +__owur int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx); + +/* + * Validates the given list of SCTs with the provided context. + * Sets the "validation_status" field of each SCT. + * Returns 1 if there are no invalid SCTs and all signatures verify. + * Returns 0 if at least one SCT is invalid or could not be verified. + * Returns a negative integer if an error occurs. + */ +__owur int SCT_LIST_validate(const STACK_OF(SCT) *scts, + CT_POLICY_EVAL_CTX *ctx); + + +/********************************* + * SCT parsing and serialisation * + *********************************/ + +/* + * Serialize (to TLS format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just return the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +__owur int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Convert TLS format SCT list to a stack of SCTs. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *o2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + size_t len); + +/* + * Serialize (to DER format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just returns the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +__owur int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Parses an SCT list in DER format and returns it. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *d2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + long len); + +/* + * Serialize (to TLS format) an |sct| and write it to |out|. + * If |out| is null, no SCT will be output but the length will still be returned. + * If |out| points to a null pointer, a string will be allocated to hold the + * TLS-format SCT. It is the responsibility of the caller to free it. + * If |out| points to an allocated string, the TLS-format SCT will be written + * to it. + * The length of the SCT in TLS format will be returned. + */ +__owur int i2o_SCT(const SCT *sct, unsigned char **out); + +/* + * Parses an SCT in TLS format and returns it. + * If |psct| is not null, it will end up pointing to the parsed SCT. If it + * already points to a non-null pointer, the pointer will be free'd. + * |in| should be a pointer to a string containing the TLS-format SCT. + * |in| will be advanced to the end of the SCT if parsing succeeds. + * |len| should be the length of the SCT in |in|. + * Returns NULL if an error occurs. + * If the SCT is an unsupported version, only the SCT's 'sct' and 'sct_len' + * fields will be populated (with |in| and |len| respectively). + */ +SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len); + +/******************** + * CT log functions * + ********************/ + +/* + * Creates a new CT log instance with the given |public_key| and |name|. + * Takes ownership of |public_key| but copies |name|. + * Returns NULL if malloc fails or if |public_key| cannot be converted to DER. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name); + +/* + * Creates a new CTLOG instance with the base64-encoded SubjectPublicKeyInfo DER + * in |pkey_base64|. The |name| is a string to help users identify this log. + * Returns 1 on success, 0 on failure. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +int CTLOG_new_from_base64(CTLOG ** ct_log, + const char *pkey_base64, const char *name); + +/* + * Deletes a CT log instance and its fields. + */ +void CTLOG_free(CTLOG *log); + +/* Gets the name of the CT log */ +const char *CTLOG_get0_name(const CTLOG *log); +/* Gets the ID of the CT log */ +void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id, + size_t *log_id_len); +/* Gets the public key of the CT log */ +EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log); + +/************************** + * CT log store functions * + **************************/ + +/* + * Creates a new CT log store. + * Should be deleted by the caller using CTLOG_STORE_free when no longer needed. + */ +CTLOG_STORE *CTLOG_STORE_new(void); + +/* + * Deletes a CT log store and all of the CT log instances held within. + */ +void CTLOG_STORE_free(CTLOG_STORE *store); + +/* + * Finds a CT log in the store based on its log ID. + * Returns the CT log, or NULL if no match is found. + */ +const CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store, + const uint8_t *log_id, + size_t log_id_len); + +/* + * Loads a CT log list into a |store| from a |file|. + * Returns 1 if loading is successful, or 0 otherwise. + */ +__owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file); + +/* + * Loads the default CT log list into a |store|. + * See internal/cryptlib.h for the environment variable and file path that are + * consulted to find the default file. + * Returns 1 if loading is successful, or 0 otherwise. + */ +__owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_CT_strings(void); + +/* Error codes for the CT functions. */ + +/* Function codes. */ +# define CT_F_CTLOG_NEW 117 +# define CT_F_CTLOG_NEW_FROM_BASE64 118 +# define CT_F_CTLOG_NEW_FROM_CONF 119 +# define CT_F_CTLOG_NEW_NULL 120 +# define CT_F_CTLOG_STORE_LOAD_CTX_NEW 122 +# define CT_F_CTLOG_STORE_LOAD_FILE 123 +# define CT_F_CTLOG_STORE_LOAD_LOG 130 +# define CT_F_CTLOG_STORE_NEW 131 +# define CT_F_CT_BASE64_DECODE 124 +# define CT_F_CT_POLICY_EVAL_CTX_NEW 133 +# define CT_F_CT_V1_LOG_ID_FROM_PKEY 125 +# define CT_F_I2O_SCT 107 +# define CT_F_I2O_SCT_LIST 108 +# define CT_F_I2O_SCT_SIGNATURE 109 +# define CT_F_O2I_SCT 110 +# define CT_F_O2I_SCT_LIST 111 +# define CT_F_O2I_SCT_SIGNATURE 112 +# define CT_F_SCT_CTX_NEW 126 +# define CT_F_SCT_NEW 100 +# define CT_F_SCT_NEW_FROM_BASE64 127 +# define CT_F_SCT_SET0_LOG_ID 101 +# define CT_F_SCT_SET1_EXTENSIONS 114 +# define CT_F_SCT_SET1_LOG_ID 115 +# define CT_F_SCT_SET1_SIGNATURE 116 +# define CT_F_SCT_SET_LOG_ENTRY_TYPE 102 +# define CT_F_SCT_SET_SIGNATURE_NID 103 +# define CT_F_SCT_SET_VERSION 104 +# define CT_F_SCT_CTX_VERIFY 128 + +/* Reason codes. */ +# define CT_R_BASE64_DECODE_ERROR 108 +# define CT_R_INVALID_LOG_ID_LENGTH 100 +# define CT_R_LOG_CONF_INVALID 109 +# define CT_R_LOG_CONF_INVALID_KEY 110 +# define CT_R_LOG_CONF_MISSING_DESCRIPTION 111 +# define CT_R_LOG_CONF_MISSING_KEY 112 +# define CT_R_LOG_KEY_INVALID 113 +# define CT_R_SCT_INVALID 104 +# define CT_R_SCT_INVALID_SIGNATURE 107 +# define CT_R_SCT_LIST_INVALID 105 +# define CT_R_SCT_LOG_ID_MISMATCH 114 +# define CT_R_SCT_NOT_SET 106 +# define CT_R_SCT_UNSUPPORTED_VERSION 115 +# define CT_R_UNRECOGNIZED_SIGNATURE_NID 101 +# define CT_R_UNSUPPORTED_ENTRY_TYPE 102 +# define CT_R_UNSUPPORTED_VERSION 103 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/des.h b/android/x86_64/include/openssl/des.h new file mode 100644 index 00000000..be4abbdf --- /dev/null +++ b/android/x86_64/include/openssl/des.h @@ -0,0 +1,174 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DES_H +# define HEADER_DES_H + +# include + +# ifndef OPENSSL_NO_DES +# ifdef __cplusplus +extern "C" { +# endif +# include + +typedef unsigned int DES_LONG; + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +typedef unsigned char DES_cblock[8]; +typedef /* const */ unsigned char const_DES_cblock[8]; +/* + * With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * and + * const_DES_cblock * are incompatible pointer types. + */ + +typedef struct DES_ks { + union { + DES_cblock cblock; + /* + * make sure things are correct size on machines with 8 byte longs + */ + DES_LONG deslong[2]; + } ks[16]; +} DES_key_schedule; + +# define DES_KEY_SZ (sizeof(DES_cblock)) +# define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) + +# define DES_ENCRYPT 1 +# define DES_DECRYPT 0 + +# define DES_CBC_MODE 0 +# define DES_PCBC_MODE 1 + +# define DES_ecb2_encrypt(i,o,k1,k2,e) \ + DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +# define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +# define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +# define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ +# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) + +const char *DES_options(void); +void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, int enc); +DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, + long length, DES_key_schedule *schedule, + const_DES_cblock *ivec); +/* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ +void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, const_DES_cblock *inw, + const_DES_cblock *outw, int enc); +void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks, int enc); + +/* + * This is the DES encryption function that gets called by just about every + * other DES routine in the library. You should not use this function except + * to implement 'modes' of DES. I say this because the functions that call + * this routine do the conversion from 'char *' to long, and this needs to be + * done to make sure 'non-aligned' memory access do not occur. The + * characters are loaded 'little endian'. Data is a pointer to 2 unsigned + * long's and ks is the DES_key_schedule to use. enc, is non zero specifies + * encryption, zero if decryption. + */ +void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); + +/* + * This functions is the same as DES_encrypt1() except that the DES initial + * permutation (IP) and final permutation (FP) have been left out. As for + * DES_encrypt1(), you should not use this function. It is used by the + * routines in the library that implement triple DES. IP() DES_encrypt2() + * DES_encrypt2() DES_encrypt2() FP() is the same as DES_encrypt1() + * DES_encrypt1() DES_encrypt1() except faster :-). + */ +void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); + +void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, DES_cblock *ivec, int enc); +void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num, int enc); +void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, + int numbits, long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int enc); +void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num); +char *DES_fcrypt(const char *buf, const char *salt, char *ret); +char *DES_crypt(const char *buf, const char *salt); +void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec); +void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], + long length, int out_count, DES_cblock *seed); +int DES_random_key(DES_cblock *ret); +void DES_set_odd_parity(DES_cblock *key); +int DES_check_key_parity(const_DES_cblock *key); +int DES_is_weak_key(const_DES_cblock *key); +/* + * DES_set_key (= set_key = DES_key_sched = key_sched) calls + * DES_set_key_checked if global variable DES_check_key is set, + * DES_set_key_unchecked otherwise. + */ +int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_string_to_key(const char *str, DES_cblock *key); +void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2); +void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num, int enc); +void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num); + +# define DES_fixup_key_parity DES_set_odd_parity + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/dh.h b/android/x86_64/include/openssl/dh.h new file mode 100644 index 00000000..ae309e7b --- /dev/null +++ b/android/x86_64/include/openssl/dh.h @@ -0,0 +1,343 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DH_H +# define HEADER_DH_H + +# include + +# ifndef OPENSSL_NO_DH +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif + +# ifdef __cplusplus +extern "C" { +# endif + +# ifndef OPENSSL_DH_MAX_MODULUS_BITS +# define OPENSSL_DH_MAX_MODULUS_BITS 10000 +# endif + +# define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024 + +# define DH_FLAG_CACHE_MONT_P 0x01 + +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * Does nothing. Previously this switched off constant time behaviour. + */ +# define DH_FLAG_NO_EXP_CONSTTIME 0x00 +# endif + +/* + * If this flag is set the DH method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define DH_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DH_FLAG_NON_FIPS_ALLOW 0x0400 + +/* Already defined in ossl_typ.h */ +/* typedef struct dh_st DH; */ +/* typedef struct dh_method DH_METHOD; */ + +DECLARE_ASN1_ITEM(DHparams) + +# define DH_GENERATOR_2 2 +/* #define DH_GENERATOR_3 3 */ +# define DH_GENERATOR_5 5 + +/* DH_check error codes */ +# define DH_CHECK_P_NOT_PRIME 0x01 +# define DH_CHECK_P_NOT_SAFE_PRIME 0x02 +# define DH_UNABLE_TO_CHECK_GENERATOR 0x04 +# define DH_NOT_SUITABLE_GENERATOR 0x08 +# define DH_CHECK_Q_NOT_PRIME 0x10 +# define DH_CHECK_INVALID_Q_VALUE 0x20 +# define DH_CHECK_INVALID_J_VALUE 0x40 + +/* DH_check_pub_key error codes */ +# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 +# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 +# define DH_CHECK_PUBKEY_INVALID 0x04 + +/* + * primes p where (p-1)/2 is prime too are called "safe"; we define this for + * backward compatibility: + */ +# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME + +# define d2i_DHparams_fp(fp,x) (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHparams,(fp),(unsigned char **)(x)) +# define i2d_DHparams_fp(fp,x) ASN1_i2d_fp(i2d_DHparams,(fp), \ + (unsigned char *)(x)) +# define d2i_DHparams_bio(bp,x) ASN1_d2i_bio_of(DH,DH_new,d2i_DHparams,bp,x) +# define i2d_DHparams_bio(bp,x) ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) + +DH *DHparams_dup(DH *); + +const DH_METHOD *DH_OpenSSL(void); + +void DH_set_default_method(const DH_METHOD *meth); +const DH_METHOD *DH_get_default_method(void); +int DH_set_method(DH *dh, const DH_METHOD *meth); +DH *DH_new_method(ENGINE *engine); + +DH *DH_new(void); +void DH_free(DH *dh); +int DH_up_ref(DH *dh); +int DH_bits(const DH *dh); +int DH_size(const DH *dh); +int DH_security_bits(const DH *dh); +#define DH_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, l, p, newf, dupf, freef) +int DH_set_ex_data(DH *d, int idx, void *arg); +void *DH_get_ex_data(DH *d, int idx); + +/* Deprecated version */ +DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, + void (*callback) (int, int, + void *), + void *cb_arg)) + +/* New version */ +int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, + BN_GENCB *cb); + +int DH_check(const DH *dh, int *codes); +int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); +int DH_generate_key(DH *dh); +int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); +DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); +int i2d_DHparams(const DH *a, unsigned char **pp); +DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); +int i2d_DHxparams(const DH *a, unsigned char **pp); +# ifndef OPENSSL_NO_STDIO +int DHparams_print_fp(FILE *fp, const DH *x); +# endif +int DHparams_print(BIO *bp, const DH *x); + +/* RFC 5114 parameters */ +DH *DH_get_1024_160(void); +DH *DH_get_2048_224(void); +DH *DH_get_2048_256(void); + +# ifndef OPENSSL_NO_CMS +/* RFC2631 KDF */ +int DH_KDF_X9_42(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + ASN1_OBJECT *key_oid, + const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); +# endif + +void DH_get0_pqg(const DH *dh, + const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); +int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); +void DH_get0_key(const DH *dh, + const BIGNUM **pub_key, const BIGNUM **priv_key); +int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); +void DH_clear_flags(DH *dh, int flags); +int DH_test_flags(const DH *dh, int flags); +void DH_set_flags(DH *dh, int flags); +ENGINE *DH_get0_engine(DH *d); +long DH_get_length(const DH *dh); +int DH_set_length(DH *dh, long length); + +DH_METHOD *DH_meth_new(const char *name, int flags); +void DH_meth_free(DH_METHOD *dhm); +DH_METHOD *DH_meth_dup(const DH_METHOD *dhm); +const char *DH_meth_get0_name(const DH_METHOD *dhm); +int DH_meth_set1_name(DH_METHOD *dhm, const char *name); +int DH_meth_get_flags(DH_METHOD *dhm); +int DH_meth_set_flags(DH_METHOD *dhm, int flags); +void *DH_meth_get0_app_data(const DH_METHOD *dhm); +int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data); +int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *); +int DH_meth_set_generate_key(DH_METHOD *dhm, int (*generate_key) (DH *)); +int (*DH_meth_get_compute_key(const DH_METHOD *dhm)) + (unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_meth_set_compute_key(DH_METHOD *dhm, + int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh)); +int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)) + (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + BN_CTX *, BN_MONT_CTX *); +int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, + int (*bn_mod_exp) (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); +int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *); +int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *)); +int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *); +int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *)); +int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) + (DH *, int, int, BN_GENCB *); +int DH_meth_set_generate_params(DH_METHOD *dhm, + int (*generate_params) (DH *, int, int, BN_GENCB *)); + + +# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + +# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)oid) + +# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)poid) + +# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)plen) + +# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)p) + +# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)p) + +# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) +# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) + +/* KDF types */ +# define EVP_PKEY_DH_KDF_NONE 1 +# ifndef OPENSSL_NO_CMS +# define EVP_PKEY_DH_KDF_X9_42 2 +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_DH_strings(void); + +/* Error codes for the DH functions. */ + +/* Function codes. */ +# define DH_F_COMPUTE_KEY 102 +# define DH_F_DHPARAMS_PRINT_FP 101 +# define DH_F_DH_BUILTIN_GENPARAMS 106 +# define DH_F_DH_CMS_DECRYPT 114 +# define DH_F_DH_CMS_SET_PEERKEY 115 +# define DH_F_DH_CMS_SET_SHARED_INFO 116 +# define DH_F_DH_METH_DUP 117 +# define DH_F_DH_METH_NEW 118 +# define DH_F_DH_METH_SET1_NAME 119 +# define DH_F_DH_NEW_METHOD 105 +# define DH_F_DH_PARAM_DECODE 107 +# define DH_F_DH_PRIV_DECODE 110 +# define DH_F_DH_PRIV_ENCODE 111 +# define DH_F_DH_PUB_DECODE 108 +# define DH_F_DH_PUB_ENCODE 109 +# define DH_F_DO_DH_PRINT 100 +# define DH_F_GENERATE_KEY 103 +# define DH_F_PKEY_DH_DERIVE 112 +# define DH_F_PKEY_DH_KEYGEN 113 + +/* Reason codes. */ +# define DH_R_BAD_GENERATOR 101 +# define DH_R_BN_DECODE_ERROR 109 +# define DH_R_BN_ERROR 106 +# define DH_R_DECODE_ERROR 104 +# define DH_R_INVALID_PUBKEY 102 +# define DH_R_KDF_PARAMETER_ERROR 112 +# define DH_R_KEYS_NOT_SET 108 +# define DH_R_MODULUS_TOO_LARGE 103 +# define DH_R_NO_PARAMETERS_SET 107 +# define DH_R_NO_PRIVATE_VALUE 100 +# define DH_R_PARAMETER_ENCODING_ERROR 105 +# define DH_R_PEER_KEY_ERROR 111 +# define DH_R_SHARED_INFO_ERROR 113 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/dsa.h b/android/x86_64/include/openssl/dsa.h new file mode 100644 index 00000000..cb5fbc2f --- /dev/null +++ b/android/x86_64/include/openssl/dsa.h @@ -0,0 +1,282 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * The DSS routines are based on patches supplied by + * Steven Schoch . + */ + +#ifndef HEADER_DSA_H +# define HEADER_DSA_H + +# include + +# ifndef OPENSSL_NO_DSA +# ifdef __cplusplus +extern "C" { +# endif +# include +# include +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif + +# ifndef OPENSSL_DSA_MAX_MODULUS_BITS +# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 +# endif + +# define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024 + +# define DSA_FLAG_CACHE_MONT_P 0x01 +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * Does nothing. Previously this switched off constant time behaviour. + */ +# define DSA_FLAG_NO_EXP_CONSTTIME 0x00 +# endif + +/* + * If this flag is set the DSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define DSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define DSA_FLAG_NON_FIPS_ALLOW 0x0400 +# define DSA_FLAG_FIPS_CHECKED 0x0800 + +/* Already defined in ossl_typ.h */ +/* typedef struct dsa_st DSA; */ +/* typedef struct dsa_method DSA_METHOD; */ + +typedef struct DSA_SIG_st DSA_SIG; + +# define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ + (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) +# define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ + (unsigned char *)(x)) +# define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) +# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) + +DSA *DSAparams_dup(DSA *x); +DSA_SIG *DSA_SIG_new(void); +void DSA_SIG_free(DSA_SIG *a); +int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); +DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); +void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); +int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s); + +DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); +int DSA_do_verify(const unsigned char *dgst, int dgst_len, + DSA_SIG *sig, DSA *dsa); + +const DSA_METHOD *DSA_OpenSSL(void); + +void DSA_set_default_method(const DSA_METHOD *); +const DSA_METHOD *DSA_get_default_method(void); +int DSA_set_method(DSA *dsa, const DSA_METHOD *); +const DSA_METHOD *DSA_get_method(DSA *d); + +DSA *DSA_new(void); +DSA *DSA_new_method(ENGINE *engine); +void DSA_free(DSA *r); +/* "up" the DSA object's reference count */ +int DSA_up_ref(DSA *r); +int DSA_size(const DSA *); +int DSA_bits(const DSA *d); +int DSA_security_bits(const DSA *d); + /* next 4 return -1 on error */ +int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); +int DSA_sign(int type, const unsigned char *dgst, int dlen, + unsigned char *sig, unsigned int *siglen, DSA *dsa); +int DSA_verify(int type, const unsigned char *dgst, int dgst_len, + const unsigned char *sigbuf, int siglen, DSA *dsa); +#define DSA_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DSA, l, p, newf, dupf, freef) +int DSA_set_ex_data(DSA *d, int idx, void *arg); +void *DSA_get_ex_data(DSA *d, int idx); + +DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); + +/* Deprecated version */ +DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, + unsigned char *seed, + int seed_len, + int *counter_ret, + unsigned long *h_ret, void + (*callback) (int, int, + void *), + void *cb_arg)) + +/* New version */ +int DSA_generate_parameters_ex(DSA *dsa, int bits, + const unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, + BN_GENCB *cb); + +int DSA_generate_key(DSA *a); +int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); +int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); +int i2d_DSAparams(const DSA *a, unsigned char **pp); + +int DSAparams_print(BIO *bp, const DSA *x); +int DSA_print(BIO *bp, const DSA *x, int off); +# ifndef OPENSSL_NO_STDIO +int DSAparams_print_fp(FILE *fp, const DSA *x); +int DSA_print_fp(FILE *bp, const DSA *x, int off); +# endif + +# define DSS_prime_checks 50 +/* + * Primality test according to FIPS PUB 186[-1], Appendix 2.1: 50 rounds of + * Rabin-Miller + */ +# define DSA_is_prime(n, callback, cb_arg) \ + BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) + +# ifndef OPENSSL_NO_DH +/* + * Convert DSA structure (key or just parameters) into DH structure (be + * careful to avoid small subgroup attacks when using this!) + */ +DH *DSA_dup_DH(const DSA *r); +# endif + +# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) + +# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) + +void DSA_get0_pqg(const DSA *d, + const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); +int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g); +void DSA_get0_key(const DSA *d, + const BIGNUM **pub_key, const BIGNUM **priv_key); +int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key); +void DSA_clear_flags(DSA *d, int flags); +int DSA_test_flags(const DSA *d, int flags); +void DSA_set_flags(DSA *d, int flags); +ENGINE *DSA_get0_engine(DSA *d); + +DSA_METHOD *DSA_meth_new(const char *name, int flags); +void DSA_meth_free(DSA_METHOD *dsam); +DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam); +const char *DSA_meth_get0_name(const DSA_METHOD *dsam); +int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name); +int DSA_meth_get_flags(DSA_METHOD *dsam); +int DSA_meth_set_flags(DSA_METHOD *dsam, int flags); +void *DSA_meth_get0_app_data(const DSA_METHOD *dsam); +int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data); +DSA_SIG *(*DSA_meth_get_sign(const DSA_METHOD *dsam)) + (const unsigned char *, int, DSA *); +int DSA_meth_set_sign(DSA_METHOD *dsam, + DSA_SIG *(*sign) (const unsigned char *, int, DSA *)); +int (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam)) + (DSA *, BN_CTX *, BIGNUM **, BIGNUM **); +int DSA_meth_set_sign_setup(DSA_METHOD *dsam, + int (*sign_setup) (DSA *, BN_CTX *, BIGNUM **, BIGNUM **)); +int (*DSA_meth_get_verify(const DSA_METHOD *dsam)) + (const unsigned char *, int , DSA_SIG *, DSA *); +int DSA_meth_set_verify(DSA_METHOD *dsam, + int (*verify) (const unsigned char *, int, DSA_SIG *, DSA *)); +int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam)) + (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *); +int DSA_meth_set_mod_exp(DSA_METHOD *dsam, + int (*mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, + BN_MONT_CTX *)); +int (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam)) + (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + BN_CTX *, BN_MONT_CTX *); +int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam, + int (*bn_mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); +int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *); +int DSA_meth_set_init(DSA_METHOD *dsam, int (*init)(DSA *)); +int (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *); +int DSA_meth_set_finish(DSA_METHOD *dsam, int (*finish) (DSA *)); +int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam)) + (DSA *, int, const unsigned char *, int, int *, unsigned long *, + BN_GENCB *); +int DSA_meth_set_paramgen(DSA_METHOD *dsam, + int (*paramgen) (DSA *, int, const unsigned char *, int, int *, + unsigned long *, BN_GENCB *)); +int (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *); +int DSA_meth_set_keygen(DSA_METHOD *dsam, int (*keygen) (DSA *)); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_DSA_strings(void); + +/* Error codes for the DSA functions. */ + +/* Function codes. */ +# define DSA_F_DSAPARAMS_PRINT 100 +# define DSA_F_DSAPARAMS_PRINT_FP 101 +# define DSA_F_DSA_BUILTIN_PARAMGEN 125 +# define DSA_F_DSA_BUILTIN_PARAMGEN2 126 +# define DSA_F_DSA_DO_SIGN 112 +# define DSA_F_DSA_DO_VERIFY 113 +# define DSA_F_DSA_METH_DUP 127 +# define DSA_F_DSA_METH_NEW 128 +# define DSA_F_DSA_METH_SET1_NAME 129 +# define DSA_F_DSA_NEW_METHOD 103 +# define DSA_F_DSA_PARAM_DECODE 119 +# define DSA_F_DSA_PRINT_FP 105 +# define DSA_F_DSA_PRIV_DECODE 115 +# define DSA_F_DSA_PRIV_ENCODE 116 +# define DSA_F_DSA_PUB_DECODE 117 +# define DSA_F_DSA_PUB_ENCODE 118 +# define DSA_F_DSA_SIGN 106 +# define DSA_F_DSA_SIGN_SETUP 107 +# define DSA_F_DSA_SIG_NEW 102 +# define DSA_F_OLD_DSA_PRIV_DECODE 122 +# define DSA_F_PKEY_DSA_CTRL 120 +# define DSA_F_PKEY_DSA_KEYGEN 121 + +/* Reason codes. */ +# define DSA_R_BAD_Q_VALUE 102 +# define DSA_R_BN_DECODE_ERROR 108 +# define DSA_R_BN_ERROR 109 +# define DSA_R_DECODE_ERROR 104 +# define DSA_R_INVALID_DIGEST_TYPE 106 +# define DSA_R_INVALID_PARAMETERS 112 +# define DSA_R_MISSING_PARAMETERS 101 +# define DSA_R_MODULUS_TOO_LARGE 103 +# define DSA_R_NO_PARAMETERS_SET 107 +# define DSA_R_PARAMETER_ENCODING_ERROR 105 +# define DSA_R_Q_NOT_PRIME 113 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/dtls1.h b/android/x86_64/include/openssl/dtls1.h new file mode 100644 index 00000000..f4769f83 --- /dev/null +++ b/android/x86_64/include/openssl/dtls1.h @@ -0,0 +1,56 @@ +/* + * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DTLS1_H +# define HEADER_DTLS1_H + +#ifdef __cplusplus +extern "C" { +#endif + +# define DTLS1_VERSION 0xFEFF +# define DTLS1_2_VERSION 0xFEFD +# define DTLS_MIN_VERSION DTLS1_VERSION +# define DTLS_MAX_VERSION DTLS1_2_VERSION +# define DTLS1_VERSION_MAJOR 0xFE + +# define DTLS1_BAD_VER 0x0100 + +/* Special value for method supporting multiple versions */ +# define DTLS_ANY_VERSION 0x1FFFF + +/* lengths of messages */ +# define DTLS1_COOKIE_LENGTH 256 + +# define DTLS1_RT_HEADER_LENGTH 13 + +# define DTLS1_HM_HEADER_LENGTH 12 + +# define DTLS1_HM_BAD_FRAGMENT -2 +# define DTLS1_HM_FRAGMENT_RETRY -3 + +# define DTLS1_CCS_HEADER_LENGTH 1 + +# ifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE +# define DTLS1_AL_HEADER_LENGTH 7 +# else +# define DTLS1_AL_HEADER_LENGTH 2 +# endif + + +/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ +# define DTLS1_TMO_READ_COUNT 2 +# define DTLS1_TMO_WRITE_COUNT 2 + +# define DTLS1_TMO_ALERT_COUNT 12 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/e_os2.h b/android/x86_64/include/openssl/e_os2.h new file mode 100644 index 00000000..99ea3477 --- /dev/null +++ b/android/x86_64/include/openssl/e_os2.h @@ -0,0 +1,311 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_E_OS2_H +# define HEADER_E_OS2_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** + * Detect operating systems. This probably needs completing. + * The result is that at least one OPENSSL_SYS_os macro should be defined. + * However, if none is defined, Unix is assumed. + **/ + +# define OPENSSL_SYS_UNIX + +/* --------------------- Microsoft operating systems ---------------------- */ + +/* + * Note that MSDOS actually denotes 32-bit environments running on top of + * MS-DOS, such as DJGPP one. + */ +# if defined(OPENSSL_SYS_MSDOS) +# undef OPENSSL_SYS_UNIX +# endif + +/* + * For 32 bit environment, there seems to be the CygWin environment and then + * all the others that try to do the same thing Microsoft does... + */ +/* + * UEFI lives here because it might be built with a Microsoft toolchain and + * we need to avoid the false positive match on Windows. + */ +# if defined(OPENSSL_SYS_UEFI) +# undef OPENSSL_SYS_UNIX +# elif defined(OPENSSL_SYS_UWIN) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32_UWIN +# else +# if defined(__CYGWIN__) || defined(OPENSSL_SYS_CYGWIN) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32_CYGWIN +# else +# if defined(_WIN32) || defined(OPENSSL_SYS_WIN32) +# undef OPENSSL_SYS_UNIX +# if !defined(OPENSSL_SYS_WIN32) +# define OPENSSL_SYS_WIN32 +# endif +# endif +# if defined(_WIN64) || defined(OPENSSL_SYS_WIN64) +# undef OPENSSL_SYS_UNIX +# if !defined(OPENSSL_SYS_WIN64) +# define OPENSSL_SYS_WIN64 +# endif +# endif +# if defined(OPENSSL_SYS_WINNT) +# undef OPENSSL_SYS_UNIX +# endif +# if defined(OPENSSL_SYS_WINCE) +# undef OPENSSL_SYS_UNIX +# endif +# endif +# endif + +/* Anything that tries to look like Microsoft is "Windows" */ +# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_SYS_MSDOS +# define OPENSSL_SYS_MSDOS +# endif +# endif + +/* + * DLL settings. This part is a bit tough, because it's up to the + * application implementor how he or she will link the application, so it + * requires some macro to be used. + */ +# ifdef OPENSSL_SYS_WINDOWS +# ifndef OPENSSL_OPT_WINDLL +# if defined(_WINDLL) /* This is used when building OpenSSL to + * indicate that DLL linkage should be used */ +# define OPENSSL_OPT_WINDLL +# endif +# endif +# endif + +/* ------------------------------- OpenVMS -------------------------------- */ +# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYS_VMS) +# if !defined(OPENSSL_SYS_VMS) +# undef OPENSSL_SYS_UNIX +# endif +# define OPENSSL_SYS_VMS +# if defined(__DECC) +# define OPENSSL_SYS_VMS_DECC +# elif defined(__DECCXX) +# define OPENSSL_SYS_VMS_DECC +# define OPENSSL_SYS_VMS_DECCXX +# else +# define OPENSSL_SYS_VMS_NODECC +# endif +# endif + +/* -------------------------------- Unix ---------------------------------- */ +# ifdef OPENSSL_SYS_UNIX +# if defined(linux) || defined(__linux__) && !defined(OPENSSL_SYS_LINUX) +# define OPENSSL_SYS_LINUX +# endif +# if defined(_AIX) && !defined(OPENSSL_SYS_AIX) +# define OPENSSL_SYS_AIX +# endif +# endif + +/* -------------------------------- VOS ----------------------------------- */ +# if defined(__VOS__) && !defined(OPENSSL_SYS_VOS) +# define OPENSSL_SYS_VOS +# ifdef __HPPA__ +# define OPENSSL_SYS_VOS_HPPA +# endif +# ifdef __IA32__ +# define OPENSSL_SYS_VOS_IA32 +# endif +# endif + +/** + * That's it for OS-specific stuff + *****************************************************************************/ + +/* Specials for I/O an exit */ +# ifdef OPENSSL_SYS_MSDOS +# define OPENSSL_UNISTD_IO +# define OPENSSL_DECLARE_EXIT extern void exit(int); +# else +# define OPENSSL_UNISTD_IO OPENSSL_UNISTD +# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ +# endif + +/*- + * Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare + * certain global symbols that, with some compilers under VMS, have to be + * defined and declared explicitly with globaldef and globalref. + * Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare + * DLL exports and imports for compilers under Win32. These are a little + * more complicated to use. Basically, for any library that exports some + * global variables, the following code must be present in the header file + * that declares them, before OPENSSL_EXTERN is used: + * + * #ifdef SOME_BUILD_FLAG_MACRO + * # undef OPENSSL_EXTERN + * # define OPENSSL_EXTERN OPENSSL_EXPORT + * #endif + * + * The default is to have OPENSSL_EXPORT, OPENSSL_EXTERN and OPENSSL_GLOBAL + * have some generally sensible values. + */ + +# if defined(OPENSSL_SYS_VMS_NODECC) +# define OPENSSL_EXPORT globalref +# define OPENSSL_EXTERN globalref +# define OPENSSL_GLOBAL globaldef +# elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) +# define OPENSSL_EXPORT extern __declspec(dllexport) +# define OPENSSL_EXTERN extern __declspec(dllimport) +# define OPENSSL_GLOBAL +# else +# define OPENSSL_EXPORT extern +# define OPENSSL_EXTERN extern +# define OPENSSL_GLOBAL +# endif + +/*- + * Macros to allow global variables to be reached through function calls when + * required (if a shared library version requires it, for example. + * The way it's done allows definitions like this: + * + * // in foobar.c + * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) + * // in foobar.h + * OPENSSL_DECLARE_GLOBAL(int,foobar); + * #define foobar OPENSSL_GLOBAL_REF(foobar) + */ +# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ + type *_shadow_##name(void) \ + { static type _hide_##name=value; return &_hide_##name; } +# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) +# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) +# else +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) OPENSSL_GLOBAL type _shadow_##name=value; +# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name +# define OPENSSL_GLOBAL_REF(name) _shadow_##name +# endif + +# ifdef _WIN32 +# ifdef _WIN64 +# define ossl_ssize_t __int64 +# define OSSL_SSIZE_MAX _I64_MAX +# else +# define ossl_ssize_t int +# define OSSL_SSIZE_MAX INT_MAX +# endif +# endif + +# if defined(OPENSSL_SYS_UEFI) && !defined(ssize_t) +# define ossl_ssize_t int +# define OSSL_SSIZE_MAX INT_MAX +# endif + +# ifndef ossl_ssize_t +# define ossl_ssize_t ssize_t +# if defined(SSIZE_MAX) +# define OSSL_SSIZE_MAX SSIZE_MAX +# elif defined(_POSIX_SSIZE_MAX) +# define OSSL_SSIZE_MAX _POSIX_SSIZE_MAX +# endif +# endif + +# ifdef DEBUG_UNUSED +# define __owur __attribute__((__warn_unused_result__)) +# else +# define __owur +# endif + +/* Standard integer types */ +# if defined(OPENSSL_SYS_UEFI) +typedef INT8 int8_t; +typedef UINT8 uint8_t; +typedef INT16 int16_t; +typedef UINT16 uint16_t; +typedef INT32 int32_t; +typedef UINT32 uint32_t; +typedef INT64 int64_t; +typedef UINT64 uint64_t; +# define PRIu64 "%Lu" +# elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ + defined(__osf__) || defined(__sgi) || defined(__hpux) || \ + defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__) +# include +# elif defined(_MSC_VER) && _MSC_VER<=1500 +/* + * minimally required typdefs for systems not supporting inttypes.h or + * stdint.h: currently just older VC++ + */ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef short int16_t; +typedef unsigned short uint16_t; +typedef int int32_t; +typedef unsigned int uint32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +# else +# include +# endif + +/* + * We need a format operator for some client tools for uint64_t. If inttypes.h + * isn't available or did not define it, just go with hard-coded. + */ +# ifndef PRIu64 +# ifdef SIXTY_FOUR_BIT_LONG +# define PRIu64 "lu" +# else +# define PRIu64 "llu" +# endif +# endif + +/* ossl_inline: portable inline definition usable in public headers */ +# if !defined(inline) && !defined(__cplusplus) +# if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L + /* just use inline */ +# define ossl_inline inline +# elif defined(__GNUC__) && __GNUC__>=2 +# define ossl_inline __inline__ +# elif defined(_MSC_VER) + /* + * Visual Studio: inline is available in C++ only, however + * __inline is available for C, see + * http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx + */ +# define ossl_inline __inline +# else +# define ossl_inline +# endif +# else +# define ossl_inline inline +# endif + +# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L +# define ossl_noreturn _Noreturn +# elif defined(__GNUC__) && __GNUC__ >= 2 +# define ossl_noreturn __attribute__((noreturn)) +# else +# define ossl_noreturn +# endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/ebcdic.h b/android/x86_64/include/openssl/ebcdic.h new file mode 100644 index 00000000..aa012855 --- /dev/null +++ b/android/x86_64/include/openssl/ebcdic.h @@ -0,0 +1,33 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_EBCDIC_H +# define HEADER_EBCDIC_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Avoid name clashes with other applications */ +# define os_toascii _openssl_os_toascii +# define os_toebcdic _openssl_os_toebcdic +# define ebcdic2ascii _openssl_ebcdic2ascii +# define ascii2ebcdic _openssl_ascii2ebcdic + +extern const unsigned char os_toascii[256]; +extern const unsigned char os_toebcdic[256]; +void *ebcdic2ascii(void *dest, const void *srce, size_t count); +void *ascii2ebcdic(void *dest, const void *srce, size_t count); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/ec.h b/android/x86_64/include/openssl/ec.h new file mode 100644 index 00000000..656cb410 --- /dev/null +++ b/android/x86_64/include/openssl/ec.h @@ -0,0 +1,1581 @@ +/* + * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * The elliptic curve binary polynomial software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * + */ + +#ifndef HEADER_EC_H +# define HEADER_EC_H + +# include + +# ifndef OPENSSL_NO_EC +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# ifdef __cplusplus +extern "C" { +# endif + +# ifndef OPENSSL_ECC_MAX_FIELD_BITS +# define OPENSSL_ECC_MAX_FIELD_BITS 661 +# endif + +/** Enum for the point conversion form as defined in X9.62 (ECDSA) + * for the encoding of a elliptic curve point (x,y) */ +typedef enum { + /** the point is encoded as z||x, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_COMPRESSED = 2, + /** the point is encoded as z||x||y, where z is the octet 0x04 */ + POINT_CONVERSION_UNCOMPRESSED = 4, + /** the point is encoded as z||x||y, where the octet z specifies + * which solution of the quadratic equation y is */ + POINT_CONVERSION_HYBRID = 6 +} point_conversion_form_t; + +typedef struct ec_method_st EC_METHOD; +typedef struct ec_group_st EC_GROUP; +typedef struct ec_point_st EC_POINT; +typedef struct ecpk_parameters_st ECPKPARAMETERS; +typedef struct ec_parameters_st ECPARAMETERS; + +/********************************************************************/ +/* EC_METHODs for curves over GF(p) */ +/********************************************************************/ + +/** Returns the basic GFp ec methods which provides the basis for the + * optimized methods. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_simple_method(void); + +/** Returns GFp methods using montgomery multiplication. + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_mont_method(void); + +/** Returns GFp methods using optimized methods for NIST recommended curves + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nist_method(void); + +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +/** Returns 64-bit optimized methods for nistp224 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp224_method(void); + +/** Returns 64-bit optimized methods for nistp256 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp256_method(void); + +/** Returns 64-bit optimized methods for nistp521 + * \return EC_METHOD object + */ +const EC_METHOD *EC_GFp_nistp521_method(void); +# endif + +# ifndef OPENSSL_NO_EC2M +/********************************************************************/ +/* EC_METHOD for curves over GF(2^m) */ +/********************************************************************/ + +/** Returns the basic GF2m ec method + * \return EC_METHOD object + */ +const EC_METHOD *EC_GF2m_simple_method(void); + +# endif + +/********************************************************************/ +/* EC_GROUP functions */ +/********************************************************************/ + +/** Creates a new EC_GROUP object + * \param meth EC_METHOD to use + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); + +/** Frees a EC_GROUP object + * \param group EC_GROUP object to be freed. + */ +void EC_GROUP_free(EC_GROUP *group); + +/** Clears and frees a EC_GROUP object + * \param group EC_GROUP object to be cleared and freed. + */ +void EC_GROUP_clear_free(EC_GROUP *group); + +/** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. + * \param dst destination EC_GROUP object + * \param src source EC_GROUP object + * \return 1 on success and 0 if an error occurred. + */ +int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); + +/** Creates a new EC_GROUP object and copies the copies the content + * form src to the newly created EC_KEY object + * \param src source EC_GROUP object + * \return newly created EC_GROUP object or NULL in case of an error. + */ +EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); + +/** Returns the EC_METHOD of the EC_GROUP object. + * \param group EC_GROUP object + * \return EC_METHOD used in this EC_GROUP object. + */ +const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); + +/** Returns the field type of the EC_METHOD. + * \param meth EC_METHOD object + * \return NID of the underlying field type OID. + */ +int EC_METHOD_get_field_type(const EC_METHOD *meth); + +/** Sets the generator and it's order/cofactor of a EC_GROUP object. + * \param group EC_GROUP object + * \param generator EC_POINT object with the generator. + * \param order the order of the group generated by the generator. + * \param cofactor the index of the sub-group generated by the generator + * in the group of all points on the elliptic curve. + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, + const BIGNUM *order, const BIGNUM *cofactor); + +/** Returns the generator of a EC_GROUP object. + * \param group EC_GROUP object + * \return the currently used generator (possibly NULL). + */ +const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); + +/** Returns the montgomery data for order(Generator) + * \param group EC_GROUP object + * \return the currently used montgomery data (possibly NULL). +*/ +BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group); + +/** Gets the order of a EC_GROUP + * \param group EC_GROUP object + * \param order BIGNUM to which the order is copied + * \param ctx unused + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); + +/** Gets the order of an EC_GROUP + * \param group EC_GROUP object + * \return the group order + */ +const BIGNUM *EC_GROUP_get0_order(const EC_GROUP *group); + +/** Gets the number of bits of the order of an EC_GROUP + * \param group EC_GROUP object + * \return number of bits of group order. + */ +int EC_GROUP_order_bits(const EC_GROUP *group); + +/** Gets the cofactor of a EC_GROUP + * \param group EC_GROUP object + * \param cofactor BIGNUM to which the cofactor is copied + * \param ctx unused + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, + BN_CTX *ctx); + +/** Gets the cofactor of an EC_GROUP + * \param group EC_GROUP object + * \return the group cofactor + */ +const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group); + +/** Sets the name of a EC_GROUP object + * \param group EC_GROUP object + * \param nid NID of the curve name OID + */ +void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); + +/** Returns the curve name of a EC_GROUP object + * \param group EC_GROUP object + * \return NID of the curve name OID or 0 if not set. + */ +int EC_GROUP_get_curve_name(const EC_GROUP *group); + +void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); +int EC_GROUP_get_asn1_flag(const EC_GROUP *group); + +void EC_GROUP_set_point_conversion_form(EC_GROUP *group, + point_conversion_form_t form); +point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); + +unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); +size_t EC_GROUP_get_seed_len(const EC_GROUP *); +size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); + +/** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b + * \param group EC_GROUP object + * \param p BIGNUM with the prime number + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); + +/** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b + * \param group EC_GROUP object + * \param p BIGNUM for the prime number + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, + BIGNUM *b, BN_CTX *ctx); + +# ifndef OPENSSL_NO_EC2M +/** Sets the parameter of a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b + * \param group EC_GROUP object + * \param p BIGNUM with the polynomial defining the underlying field + * \param a BIGNUM with parameter a of the equation + * \param b BIGNUM with parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); + +/** Gets the parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b + * \param group EC_GROUP object + * \param p BIGNUM for the polynomial defining the underlying field + * \param a BIGNUM for parameter a of the equation + * \param b BIGNUM for parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, + BIGNUM *b, BN_CTX *ctx); +# endif +/** Returns the number of bits needed to represent a field element + * \param group EC_GROUP object + * \return number of bits needed to represent a field element + */ +int EC_GROUP_get_degree(const EC_GROUP *group); + +/** Checks whether the parameter in the EC_GROUP define a valid ec group + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if group is a valid ec group and 0 otherwise + */ +int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); + +/** Checks whether the discriminant of the elliptic curve is zero or not + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 if the discriminant is not zero and 0 otherwise + */ +int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); + +/** Compares two EC_GROUP objects + * \param a first EC_GROUP object + * \param b second EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 0 if the groups are equal, 1 if not, or -1 on error + */ +int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); + +/* + * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after + * choosing an appropriate EC_METHOD + */ + +/** Creates a new EC_GROUP object with the specified parameters defined + * over GFp (defined by the equation y^2 = x^3 + a*x + b) + * \param p BIGNUM with the prime number + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# ifndef OPENSSL_NO_EC2M +/** Creates a new EC_GROUP object with the specified parameters defined + * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) + * \param p BIGNUM with the polynomial defining the underlying field + * \param a BIGNUM with the parameter a of the equation + * \param b BIGNUM with the parameter b of the equation + * \param ctx BN_CTX object (optional) + * \return newly created EC_GROUP object with the specified parameters + */ +EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +# endif + +/** Creates a EC_GROUP object with a curve specified by a NID + * \param nid NID of the OID of the curve name + * \return newly created EC_GROUP object with specified curve or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_by_curve_name(int nid); + +/** Creates a new EC_GROUP object from an ECPARAMETERS object + * \param params pointer to the ECPARAMETERS object + * \return newly created EC_GROUP object with specified curve or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params); + +/** Creates an ECPARAMETERS object for the the given EC_GROUP object. + * \param group pointer to the EC_GROUP object + * \param params pointer to an existing ECPARAMETERS object or NULL + * \return pointer to the new ECPARAMETERS object or NULL + * if an error occurred. + */ +ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, + ECPARAMETERS *params); + +/** Creates a new EC_GROUP object from an ECPKPARAMETERS object + * \param params pointer to an existing ECPKPARAMETERS object, or NULL + * \return newly created EC_GROUP object with specified curve, or NULL + * if an error occurred + */ +EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params); + +/** Creates an ECPKPARAMETERS object for the the given EC_GROUP object. + * \param group pointer to the EC_GROUP object + * \param params pointer to an existing ECPKPARAMETERS object or NULL + * \return pointer to the new ECPKPARAMETERS object or NULL + * if an error occurred. + */ +ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group, + ECPKPARAMETERS *params); + +/********************************************************************/ +/* handling of internal curves */ +/********************************************************************/ + +typedef struct { + int nid; + const char *comment; +} EC_builtin_curve; + +/* + * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all + * available curves or zero if a error occurred. In case r is not zero, + * nitems EC_builtin_curve structures are filled with the data of the first + * nitems internal groups + */ +size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); + +const char *EC_curve_nid2nist(int nid); +int EC_curve_nist2nid(const char *name); + +/********************************************************************/ +/* EC_POINT functions */ +/********************************************************************/ + +/** Creates a new EC_POINT object for the specified EC_GROUP + * \param group EC_GROUP the underlying EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_new(const EC_GROUP *group); + +/** Frees a EC_POINT object + * \param point EC_POINT object to be freed + */ +void EC_POINT_free(EC_POINT *point); + +/** Clears and frees a EC_POINT object + * \param point EC_POINT object to be cleared and freed + */ +void EC_POINT_clear_free(EC_POINT *point); + +/** Copies EC_POINT object + * \param dst destination EC_POINT object + * \param src source EC_POINT object + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); + +/** Creates a new EC_POINT object and copies the content of the supplied + * EC_POINT + * \param src source EC_POINT object + * \param group underlying the EC_GROUP object + * \return newly created EC_POINT object or NULL if an error occurred + */ +EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); + +/** Returns the EC_METHOD used in EC_POINT object + * \param point EC_POINT object + * \return the EC_METHOD used + */ +const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); + +/** Sets a point to infinity (neutral element) + * \param group underlying EC_GROUP object + * \param point EC_POINT to set to infinity + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); + +/** Sets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param z BIGNUM with the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + const BIGNUM *y, const BIGNUM *z, + BN_CTX *ctx); + +/** Gets the jacobian projective coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param z BIGNUM for the z-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BIGNUM *z, + BN_CTX *ctx); + +/** Sets the affine coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + BN_CTX *ctx); + +/** Gets the affine coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BN_CTX *ctx); + +/** Sets the x9.62 compressed coordinates of a EC_POINT over GFp + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + int y_bit, BN_CTX *ctx); +# ifndef OPENSSL_NO_EC2M +/** Sets the affine coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with the x-coordinate + * \param y BIGNUM with the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + BN_CTX *ctx); + +/** Gets the affine coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM for the x-coordinate + * \param y BIGNUM for the y-coordinate + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, + BIGNUM *y, BN_CTX *ctx); + +/** Sets the x9.62 compressed coordinates of a EC_POINT over GF2m + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param x BIGNUM with x-coordinate + * \param y_bit integer with the y-Bit (either 0 or 1) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, const BIGNUM *x, + int y_bit, BN_CTX *ctx); +# endif +/** Encodes a EC_POINT object to a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param form point conversion form + * \param buf memory buffer for the result. If NULL the function returns + * required buffer size. + * \param len length of the memory buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ +size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, + unsigned char *buf, size_t len, BN_CTX *ctx); + +/** Decodes a EC_POINT from a octet string + * \param group underlying EC_GROUP object + * \param p EC_POINT object + * \param buf memory buffer with the encoded ec point + * \param len length of the encoded ec point + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, + const unsigned char *buf, size_t len, BN_CTX *ctx); + +/** Encodes an EC_POINT object to an allocated octet string + * \param group underlying EC_GROUP object + * \param point EC_POINT object + * \param form point conversion form + * \param pbuf returns pointer to allocated buffer + * \param len length of the memory buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ + +size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point, + point_conversion_form_t form, + unsigned char **pbuf, BN_CTX *ctx); + +/* other interfaces to point2oct/oct2point: */ +BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BIGNUM *, BN_CTX *); +EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, + EC_POINT *, BN_CTX *); +char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BN_CTX *); +EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, + EC_POINT *, BN_CTX *); + +/********************************************************************/ +/* functions for doing EC_POINT arithmetic */ +/********************************************************************/ + +/** Computes the sum of two EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = a + b) + * \param a EC_POINT object with the first summand + * \param b EC_POINT object with the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + const EC_POINT *b, BN_CTX *ctx); + +/** Computes the double of a EC_POINT + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result (r = 2 * a) + * \param a EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + BN_CTX *ctx); + +/** Computes the inverse of a EC_POINT + * \param group underlying EC_GROUP object + * \param a EC_POINT object to be inverted (it's used for the result as well) + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); + +/** Checks whether the point is the neutral element of the group + * \param group the underlying EC_GROUP object + * \param p EC_POINT object + * \return 1 if the point is the neutral element and 0 otherwise + */ +int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); + +/** Checks whether the point is on the curve + * \param group underlying EC_GROUP object + * \param point EC_POINT object to check + * \param ctx BN_CTX object (optional) + * \return 1 if the point is on the curve, 0 if not, or -1 on error + */ +int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, + BN_CTX *ctx); + +/** Compares two EC_POINTs + * \param group underlying EC_GROUP object + * \param a first EC_POINT object + * \param b second EC_POINT object + * \param ctx BN_CTX object (optional) + * \return 1 if the points are not equal, 0 if they are, or -1 on error + */ +int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, + BN_CTX *ctx); + +int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); +int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, + EC_POINT *points[], BN_CTX *ctx); + +/** Computes r = generator * n + sum_{i=0}^{num-1} p[i] * m[i] + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param num number further summands + * \param p array of size num of EC_POINT objects + * \param m array of size num of BIGNUM objects + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + size_t num, const EC_POINT *p[], const BIGNUM *m[], + BN_CTX *ctx); + +/** Computes r = generator * n + q * m + * \param group underlying EC_GROUP object + * \param r EC_POINT object for the result + * \param n BIGNUM with the multiplier for the group generator (optional) + * \param q EC_POINT object with the first factor of the second summand + * \param m BIGNUM with the second factor of the second summand + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); + +/** Stores multiples of generator for faster point multiplication + * \param group EC_GROUP object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ +int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); + +/** Reports whether a precomputation has been done + * \param group EC_GROUP object + * \return 1 if a pre-computation has been done and 0 otherwise + */ +int EC_GROUP_have_precompute_mult(const EC_GROUP *group); + +/********************************************************************/ +/* ASN1 stuff */ +/********************************************************************/ + +DECLARE_ASN1_ITEM(ECPKPARAMETERS) +DECLARE_ASN1_ALLOC_FUNCTIONS(ECPKPARAMETERS) +DECLARE_ASN1_ITEM(ECPARAMETERS) +DECLARE_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS) + +/* + * EC_GROUP_get_basis_type() returns the NID of the basis type used to + * represent the field elements + */ +int EC_GROUP_get_basis_type(const EC_GROUP *); +# ifndef OPENSSL_NO_EC2M +int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); +int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, + unsigned int *k2, unsigned int *k3); +# endif + +# define OPENSSL_EC_EXPLICIT_CURVE 0x000 +# define OPENSSL_EC_NAMED_CURVE 0x001 + +EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); +int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); + +# define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) +# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) +# define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ + (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) +# define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ + (unsigned char *)(x)) + +int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); +# ifndef OPENSSL_NO_STDIO +int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); +# endif + +/********************************************************************/ +/* EC_KEY functions */ +/********************************************************************/ + +/* some values for the encoding_flag */ +# define EC_PKEY_NO_PARAMETERS 0x001 +# define EC_PKEY_NO_PUBKEY 0x002 + +/* some values for the flags field */ +# define EC_FLAG_NON_FIPS_ALLOW 0x1 +# define EC_FLAG_FIPS_CHECKED 0x2 +# define EC_FLAG_COFACTOR_ECDH 0x1000 + +/** Creates a new EC_KEY object. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new(void); + +int EC_KEY_get_flags(const EC_KEY *key); + +void EC_KEY_set_flags(EC_KEY *key, int flags); + +void EC_KEY_clear_flags(EC_KEY *key, int flags); + +/** Creates a new EC_KEY object using a named curve as underlying + * EC_GROUP object. + * \param nid NID of the named curve. + * \return EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_new_by_curve_name(int nid); + +/** Frees a EC_KEY object. + * \param key EC_KEY object to be freed. + */ +void EC_KEY_free(EC_KEY *key); + +/** Copies a EC_KEY object. + * \param dst destination EC_KEY object + * \param src src EC_KEY object + * \return dst or NULL if an error occurred. + */ +EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); + +/** Creates a new EC_KEY object and copies the content from src to it. + * \param src the source EC_KEY object + * \return newly created EC_KEY object or NULL if an error occurred. + */ +EC_KEY *EC_KEY_dup(const EC_KEY *src); + +/** Increases the internal reference count of a EC_KEY object. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_up_ref(EC_KEY *key); + +/** Returns the EC_GROUP object of a EC_KEY object + * \param key EC_KEY object + * \return the EC_GROUP object (possibly NULL). + */ +const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); + +/** Sets the EC_GROUP of a EC_KEY object. + * \param key EC_KEY object + * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY + * object will use an own copy of the EC_GROUP). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); + +/** Returns the private key of a EC_KEY object. + * \param key EC_KEY object + * \return a BIGNUM with the private key (possibly NULL). + */ +const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); + +/** Sets the private key of a EC_KEY object. + * \param key EC_KEY object + * \param prv BIGNUM with the private key (note: the EC_KEY object + * will use an own copy of the BIGNUM). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); + +/** Returns the public key of a EC_KEY object. + * \param key the EC_KEY object + * \return a EC_POINT object with the public key (possibly NULL) + */ +const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); + +/** Sets the public key of a EC_KEY object. + * \param key EC_KEY object + * \param pub EC_POINT object with the public key (note: the EC_KEY object + * will use an own copy of the EC_POINT object). + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); + +unsigned EC_KEY_get_enc_flags(const EC_KEY *key); +void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); +point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); +void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); + +#define EC_KEY_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, l, p, newf, dupf, freef) +int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg); +void *EC_KEY_get_ex_data(const EC_KEY *key, int idx); + +/* wrapper functions for the underlying EC_GROUP object */ +void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); + +/** Creates a table of pre-computed multiples of the generator to + * accelerate further EC_KEY operations. + * \param key EC_KEY object + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); + +/** Creates a new ec private (and optional a new public) key. + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred. + */ +int EC_KEY_generate_key(EC_KEY *key); + +/** Verifies that a private and/or public key is valid. + * \param key the EC_KEY object + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_check_key(const EC_KEY *key); + +/** Indicates if an EC_KEY can be used for signing. + * \param key the EC_KEY object + * \return 1 if can can sign and 0 otherwise. + */ +int EC_KEY_can_sign(const EC_KEY *eckey); + +/** Sets a public key from affine coordinates performing + * necessary NIST PKV tests. + * \param key the EC_KEY object + * \param x public key x coordinate + * \param y public key y coordinate + * \return 1 on success and 0 otherwise. + */ +int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, + BIGNUM *y); + +/** Encodes an EC_KEY public key to an allocated octet string + * \param key key to encode + * \param form point conversion form + * \param pbuf returns pointer to allocated buffer + * \param len length of the memory buffer + * \param ctx BN_CTX object (optional) + * \return the length of the encoded octet string or 0 if an error occurred + */ + +size_t EC_KEY_key2buf(const EC_KEY *key, point_conversion_form_t form, + unsigned char **pbuf, BN_CTX *ctx); + +/** Decodes a EC_KEY public key from a octet string + * \param key key to decode + * \param buf memory buffer with the encoded ec point + * \param len length of the encoded ec point + * \param ctx BN_CTX object (optional) + * \return 1 on success and 0 if an error occurred + */ + +int EC_KEY_oct2key(EC_KEY *key, const unsigned char *buf, size_t len, + BN_CTX *ctx); + +/** Decodes an EC_KEY private key from an octet string + * \param key key to decode + * \param buf memory buffer with the encoded private key + * \param len length of the encoded key + * \return 1 on success and 0 if an error occurred + */ + +int EC_KEY_oct2priv(EC_KEY *key, const unsigned char *buf, size_t len); + +/** Encodes a EC_KEY private key to an octet string + * \param key key to encode + * \param buf memory buffer for the result. If NULL the function returns + * required buffer size. + * \param len length of the memory buffer + * \return the length of the encoded octet string or 0 if an error occurred + */ + +size_t EC_KEY_priv2oct(const EC_KEY *key, unsigned char *buf, size_t len); + +/** Encodes an EC_KEY private key to an allocated octet string + * \param key key to encode + * \param pbuf returns pointer to allocated buffer + * \return the length of the encoded octet string or 0 if an error occurred + */ + +size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf); + +/********************************************************************/ +/* de- and encoding functions for SEC1 ECPrivateKey */ +/********************************************************************/ + +/** Decodes a private key from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded private key + * \param len length of the DER encoded private key + * \return the decoded private key or NULL if an error occurred. + */ +EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a private key object and stores the result in a buffer. + * \param key the EC_KEY object to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC parameters */ +/********************************************************************/ + +/** Decodes ec parameter from a memory buffer. + * \param key a pointer to a EC_KEY object which should be used (or NULL) + * \param in pointer to memory with the DER encoded ec parameters + * \param len length of the DER encoded ec parameters + * \return a EC_KEY object with the decoded parameters or NULL if an error + * occurred. + */ +EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes ec parameter and stores the result in a buffer. + * \param key the EC_KEY object with ec parameters to encode + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred. + */ +int i2d_ECParameters(EC_KEY *key, unsigned char **out); + +/********************************************************************/ +/* de- and encoding functions for EC public key */ +/* (octet string, not DER -- hence 'o2i' and 'i2o') */ +/********************************************************************/ + +/** Decodes a ec public key from a octet string. + * \param key a pointer to a EC_KEY object which should be used + * \param in memory buffer with the encoded public key + * \param len length of the encoded public key + * \return EC_KEY object with decoded public key or NULL if an error + * occurred. + */ +EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); + +/** Encodes a ec public key in an octet string. + * \param key the EC_KEY object with the public key + * \param out the buffer for the result (if NULL the function returns number + * of bytes needed). + * \return 1 on success and 0 if an error occurred + */ +int i2o_ECPublicKey(const EC_KEY *key, unsigned char **out); + +/** Prints out the ec parameters on human readable form. + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print(BIO *bp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param bp BIO object to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); + +# ifndef OPENSSL_NO_STDIO +/** Prints out the ec parameters on human readable form. + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \return 1 on success and 0 if an error occurred + */ +int ECParameters_print_fp(FILE *fp, const EC_KEY *key); + +/** Prints out the contents of a EC_KEY object + * \param fp file descriptor to which the information is printed + * \param key EC_KEY object + * \param off line offset + * \return 1 on success and 0 if an error occurred + */ +int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); + +# endif + +const EC_KEY_METHOD *EC_KEY_OpenSSL(void); +const EC_KEY_METHOD *EC_KEY_get_default_method(void); +void EC_KEY_set_default_method(const EC_KEY_METHOD *meth); +const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key); +int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth); +EC_KEY *EC_KEY_new_method(ENGINE *engine); + +int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + const unsigned char *sinfo, size_t sinfolen, + const EVP_MD *md); + +int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, + const EC_KEY *ecdh, + void *(*KDF) (const void *in, size_t inlen, + void *out, size_t *outlen)); + +typedef struct ECDSA_SIG_st ECDSA_SIG; + +/** Allocates and initialize a ECDSA_SIG structure + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_SIG_new(void); + +/** frees a ECDSA_SIG structure + * \param sig pointer to the ECDSA_SIG structure + */ +void ECDSA_SIG_free(ECDSA_SIG *sig); + +/** DER encode content of ECDSA_SIG object (note: this function modifies *pp + * (*pp += length of the DER encoded signature)). + * \param sig pointer to the ECDSA_SIG object + * \param pp pointer to a unsigned char pointer for the output or NULL + * \return the length of the DER encoded ECDSA_SIG object or 0 + */ +int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); + +/** Decodes a DER encoded ECDSA signature (note: this function changes *pp + * (*pp += len)). + * \param sig pointer to ECDSA_SIG pointer (may be NULL) + * \param pp memory buffer with the DER encoded signature + * \param len length of the buffer + * \return pointer to the decoded ECDSA_SIG structure (or NULL) + */ +ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); + +/** Accessor for r and s fields of ECDSA_SIG + * \param sig pointer to ECDSA_SIG pointer + * \param pr pointer to BIGNUM pointer for r (may be NULL) + * \param ps pointer to BIGNUM pointer for s (may be NULL) + */ +void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); + +/** Setter for r and s fields of ECDSA_SIG + * \param sig pointer to ECDSA_SIG pointer + * \param r pointer to BIGNUM for r (may be NULL) + * \param s pointer to BIGNUM for s (may be NULL) + */ +int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); + +/** Computes the ECDSA signature of the given hash value using + * the supplied private key and returns the created signature. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, + EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optional), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return pointer to a ECDSA_SIG structure or NULL if an error occurred + */ +ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, + const BIGNUM *kinv, const BIGNUM *rp, + EC_KEY *eckey); + +/** Verifies that the supplied signature is a valid ECDSA + * signature of the supplied hash value using the supplied public key. + * \param dgst pointer to the hash value + * \param dgst_len length of the hash value + * \param sig ECDSA_SIG structure + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, + const ECDSA_SIG *sig, EC_KEY *eckey); + +/** Precompute parts of the signing operation + * \param eckey EC_KEY object containing a private EC key + * \param ctx BN_CTX object (optional) + * \param kinv BIGNUM pointer for the inverse of k + * \param rp BIGNUM pointer for x coordinate of k * generator + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig memory for the DER encoded created signature + * \param siglen pointer to the length of the returned signature + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); + +/** Computes ECDSA signature of a given hash value using the supplied + * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). + * \param type this parameter is ignored + * \param dgst pointer to the hash value to sign + * \param dgstlen length of the hash value + * \param sig buffer to hold the DER encoded signature + * \param siglen pointer to the length of the returned signature + * \param kinv BIGNUM with a pre-computed inverse k (optional) + * \param rp BIGNUM with a pre-computed rp value (optional), + * see ECDSA_sign_setup + * \param eckey EC_KEY object containing a private EC key + * \return 1 on success and 0 otherwise + */ +int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); + +/** Verifies that the given signature is valid ECDSA signature + * of the supplied hash value using the specified public key. + * \param type this parameter is ignored + * \param dgst pointer to the hash value + * \param dgstlen length of the hash value + * \param sig pointer to the DER encoded signature + * \param siglen length of the DER encoded signature + * \param eckey EC_KEY object containing a public EC key + * \return 1 if the signature is valid, 0 if the signature is invalid + * and -1 on error + */ +int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, + const unsigned char *sig, int siglen, EC_KEY *eckey); + +/** Returns the maximum length of the DER encoded signature + * \param eckey EC_KEY object + * \return numbers of bytes required for the DER encoded signature + */ +int ECDSA_size(const EC_KEY *eckey); + +/********************************************************************/ +/* EC_KEY_METHOD constructors, destructors, writers and accessors */ +/********************************************************************/ + +EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth); +void EC_KEY_METHOD_free(EC_KEY_METHOD *meth); +void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, + int (*init)(EC_KEY *key), + void (*finish)(EC_KEY *key), + int (*copy)(EC_KEY *dest, const EC_KEY *src), + int (*set_group)(EC_KEY *key, const EC_GROUP *grp), + int (*set_private)(EC_KEY *key, + const BIGNUM *priv_key), + int (*set_public)(EC_KEY *key, + const EC_POINT *pub_key)); + +void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, + int (*keygen)(EC_KEY *key)); + +void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, + int (*ckey)(unsigned char **psec, + size_t *pseclen, + const EC_POINT *pub_key, + const EC_KEY *ecdh)); + +void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, + int (*sign)(int type, const unsigned char *dgst, + int dlen, unsigned char *sig, + unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *r, + EC_KEY *eckey), + int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, + BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(*sign_sig)(const unsigned char *dgst, + int dgst_len, + const BIGNUM *in_kinv, + const BIGNUM *in_r, + EC_KEY *eckey)); + +void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, + int (*verify)(int type, const unsigned + char *dgst, int dgst_len, + const unsigned char *sigbuf, + int sig_len, EC_KEY *eckey), + int (*verify_sig)(const unsigned char *dgst, + int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); + +void EC_KEY_METHOD_get_init(EC_KEY_METHOD *meth, + int (**pinit)(EC_KEY *key), + void (**pfinish)(EC_KEY *key), + int (**pcopy)(EC_KEY *dest, const EC_KEY *src), + int (**pset_group)(EC_KEY *key, + const EC_GROUP *grp), + int (**pset_private)(EC_KEY *key, + const BIGNUM *priv_key), + int (**pset_public)(EC_KEY *key, + const EC_POINT *pub_key)); + +void EC_KEY_METHOD_get_keygen(EC_KEY_METHOD *meth, + int (**pkeygen)(EC_KEY *key)); + +void EC_KEY_METHOD_get_compute_key(EC_KEY_METHOD *meth, + int (**pck)(unsigned char **psec, + size_t *pseclen, + const EC_POINT *pub_key, + const EC_KEY *ecdh)); + +void EC_KEY_METHOD_get_sign(EC_KEY_METHOD *meth, + int (**psign)(int type, const unsigned char *dgst, + int dlen, unsigned char *sig, + unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *r, + EC_KEY *eckey), + int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, + BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(**psign_sig)(const unsigned char *dgst, + int dgst_len, + const BIGNUM *in_kinv, + const BIGNUM *in_r, + EC_KEY *eckey)); + +void EC_KEY_METHOD_get_verify(EC_KEY_METHOD *meth, + int (**pverify)(int type, const unsigned + char *dgst, int dgst_len, + const unsigned char *sigbuf, + int sig_len, EC_KEY *eckey), + int (**pverify_sig)(const unsigned char *dgst, + int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); + +# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) + +# ifndef __cplusplus +# if defined(__SUNPRO_C) +# if __SUNPRO_C >= 0x520 +# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) +# endif +# endif +# endif + +# define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) + +# define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) + +# define EVP_PKEY_CTX_set_ecdh_cofactor_mode(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, flag, NULL) + +# define EVP_PKEY_CTX_get_ecdh_cofactor_mode(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, kdf, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, -2, NULL) + +# define EVP_PKEY_CTX_set_ecdh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_ecdh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set_ecdh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, 0, (void *)plen) + +# define EVP_PKEY_CTX_set0_ecdh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_UKM, plen, (void *)p) + +# define EVP_PKEY_CTX_get0_ecdh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_UKM, 0, (void *)p) + +# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) +/* KDF types */ +# define EVP_PKEY_ECDH_KDF_NONE 1 +# define EVP_PKEY_ECDH_KDF_X9_62 2 + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_EC_strings(void); + +/* Error codes for the EC functions. */ + +/* Function codes. */ +# define EC_F_BN_TO_FELEM 224 +# define EC_F_D2I_ECPARAMETERS 144 +# define EC_F_D2I_ECPKPARAMETERS 145 +# define EC_F_D2I_ECPRIVATEKEY 146 +# define EC_F_DO_EC_KEY_PRINT 221 +# define EC_F_ECDH_CMS_DECRYPT 238 +# define EC_F_ECDH_CMS_SET_SHARED_INFO 239 +# define EC_F_ECDH_COMPUTE_KEY 246 +# define EC_F_ECDH_SIMPLE_COMPUTE_KEY 257 +# define EC_F_ECDSA_DO_SIGN_EX 251 +# define EC_F_ECDSA_DO_VERIFY 252 +# define EC_F_ECDSA_SIGN_EX 254 +# define EC_F_ECDSA_SIGN_SETUP 248 +# define EC_F_ECDSA_SIG_NEW 265 +# define EC_F_ECDSA_VERIFY 253 +# define EC_F_ECKEY_PARAM2TYPE 223 +# define EC_F_ECKEY_PARAM_DECODE 212 +# define EC_F_ECKEY_PRIV_DECODE 213 +# define EC_F_ECKEY_PRIV_ENCODE 214 +# define EC_F_ECKEY_PUB_DECODE 215 +# define EC_F_ECKEY_PUB_ENCODE 216 +# define EC_F_ECKEY_TYPE2PARAM 220 +# define EC_F_ECPARAMETERS_PRINT 147 +# define EC_F_ECPARAMETERS_PRINT_FP 148 +# define EC_F_ECPKPARAMETERS_PRINT 149 +# define EC_F_ECPKPARAMETERS_PRINT_FP 150 +# define EC_F_ECP_NISTZ256_GET_AFFINE 240 +# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 243 +# define EC_F_ECP_NISTZ256_POINTS_MUL 241 +# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 244 +# define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 +# define EC_F_ECX_KEY_OP 266 +# define EC_F_ECX_PRIV_ENCODE 267 +# define EC_F_ECX_PUB_ENCODE 268 +# define EC_F_EC_ASN1_GROUP2CURVE 153 +# define EC_F_EC_ASN1_GROUP2FIELDID 154 +# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 +# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 +# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 +# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 +# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 +# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 +# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 +# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 +# define EC_F_EC_GFP_MONT_FIELD_DECODE 133 +# define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 +# define EC_F_EC_GFP_MONT_FIELD_MUL 131 +# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 +# define EC_F_EC_GFP_MONT_FIELD_SQR 132 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 +# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 +# define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 +# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 +# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 +# define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 +# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 +# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 +# define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 +# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 +# define EC_F_EC_GFP_NIST_FIELD_MUL 200 +# define EC_F_EC_GFP_NIST_FIELD_SQR 201 +# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 +# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 +# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 +# define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 +# define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 +# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 +# define EC_F_EC_GROUP_CHECK 170 +# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 +# define EC_F_EC_GROUP_COPY 106 +# define EC_F_EC_GROUP_GET_CURVE_GF2M 172 +# define EC_F_EC_GROUP_GET_CURVE_GFP 130 +# define EC_F_EC_GROUP_GET_DEGREE 173 +# define EC_F_EC_GROUP_GET_ECPARAMETERS 261 +# define EC_F_EC_GROUP_GET_ECPKPARAMETERS 262 +# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 +# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 +# define EC_F_EC_GROUP_NEW 108 +# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 +# define EC_F_EC_GROUP_NEW_FROM_DATA 175 +# define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 263 +# define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 264 +# define EC_F_EC_GROUP_SET_CURVE_GF2M 176 +# define EC_F_EC_GROUP_SET_CURVE_GFP 109 +# define EC_F_EC_GROUP_SET_GENERATOR 111 +# define EC_F_EC_KEY_CHECK_KEY 177 +# define EC_F_EC_KEY_COPY 178 +# define EC_F_EC_KEY_GENERATE_KEY 179 +# define EC_F_EC_KEY_NEW 182 +# define EC_F_EC_KEY_NEW_METHOD 245 +# define EC_F_EC_KEY_OCT2PRIV 255 +# define EC_F_EC_KEY_PRINT 180 +# define EC_F_EC_KEY_PRINT_FP 181 +# define EC_F_EC_KEY_PRIV2OCT 256 +# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 +# define EC_F_EC_KEY_SIMPLE_CHECK_KEY 258 +# define EC_F_EC_KEY_SIMPLE_OCT2PRIV 259 +# define EC_F_EC_KEY_SIMPLE_PRIV2OCT 260 +# define EC_F_EC_POINTS_MAKE_AFFINE 136 +# define EC_F_EC_POINT_ADD 112 +# define EC_F_EC_POINT_CMP 113 +# define EC_F_EC_POINT_COPY 114 +# define EC_F_EC_POINT_DBL 115 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 +# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 +# define EC_F_EC_POINT_INVERT 210 +# define EC_F_EC_POINT_IS_AT_INFINITY 118 +# define EC_F_EC_POINT_IS_ON_CURVE 119 +# define EC_F_EC_POINT_MAKE_AFFINE 120 +# define EC_F_EC_POINT_NEW 121 +# define EC_F_EC_POINT_OCT2POINT 122 +# define EC_F_EC_POINT_POINT2OCT 123 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 +# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 +# define EC_F_EC_POINT_SET_TO_INFINITY 127 +# define EC_F_EC_PRE_COMP_NEW 196 +# define EC_F_EC_WNAF_MUL 187 +# define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 +# define EC_F_I2D_ECPARAMETERS 190 +# define EC_F_I2D_ECPKPARAMETERS 191 +# define EC_F_I2D_ECPRIVATEKEY 192 +# define EC_F_I2O_ECPUBLICKEY 151 +# define EC_F_NISTP224_PRE_COMP_NEW 227 +# define EC_F_NISTP256_PRE_COMP_NEW 236 +# define EC_F_NISTP521_PRE_COMP_NEW 237 +# define EC_F_O2I_ECPUBLICKEY 152 +# define EC_F_OLD_EC_PRIV_DECODE 222 +# define EC_F_OSSL_ECDH_COMPUTE_KEY 247 +# define EC_F_OSSL_ECDSA_SIGN_SIG 249 +# define EC_F_OSSL_ECDSA_VERIFY_SIG 250 +# define EC_F_PKEY_ECX_DERIVE 269 +# define EC_F_PKEY_EC_CTRL 197 +# define EC_F_PKEY_EC_CTRL_STR 198 +# define EC_F_PKEY_EC_DERIVE 217 +# define EC_F_PKEY_EC_KEYGEN 199 +# define EC_F_PKEY_EC_PARAMGEN 219 +# define EC_F_PKEY_EC_SIGN 218 + +/* Reason codes. */ +# define EC_R_ASN1_ERROR 115 +# define EC_R_BAD_SIGNATURE 156 +# define EC_R_BIGNUM_OUT_OF_RANGE 144 +# define EC_R_BUFFER_TOO_SMALL 100 +# define EC_R_COORDINATES_OUT_OF_RANGE 146 +# define EC_R_CURVE_DOES_NOT_SUPPORT_ECDH 160 +# define EC_R_CURVE_DOES_NOT_SUPPORT_SIGNING 159 +# define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 +# define EC_R_DECODE_ERROR 142 +# define EC_R_DISCRIMINANT_IS_ZERO 118 +# define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 +# define EC_R_FIELD_TOO_LARGE 143 +# define EC_R_GF2M_NOT_SUPPORTED 147 +# define EC_R_GROUP2PKPARAMETERS_FAILURE 120 +# define EC_R_I2D_ECPKPARAMETERS_FAILURE 121 +# define EC_R_INCOMPATIBLE_OBJECTS 101 +# define EC_R_INVALID_ARGUMENT 112 +# define EC_R_INVALID_COMPRESSED_POINT 110 +# define EC_R_INVALID_COMPRESSION_BIT 109 +# define EC_R_INVALID_CURVE 141 +# define EC_R_INVALID_DIGEST 151 +# define EC_R_INVALID_DIGEST_TYPE 138 +# define EC_R_INVALID_ENCODING 102 +# define EC_R_INVALID_FIELD 103 +# define EC_R_INVALID_FORM 104 +# define EC_R_INVALID_GROUP_ORDER 122 +# define EC_R_INVALID_KEY 116 +# define EC_R_INVALID_OUTPUT_LENGTH 161 +# define EC_R_INVALID_PEER_KEY 133 +# define EC_R_INVALID_PENTANOMIAL_BASIS 132 +# define EC_R_INVALID_PRIVATE_KEY 123 +# define EC_R_INVALID_TRINOMIAL_BASIS 137 +# define EC_R_KDF_PARAMETER_ERROR 148 +# define EC_R_KEYS_NOT_SET 140 +# define EC_R_MISSING_PARAMETERS 124 +# define EC_R_MISSING_PRIVATE_KEY 125 +# define EC_R_NEED_NEW_SETUP_VALUES 157 +# define EC_R_NOT_A_NIST_PRIME 135 +# define EC_R_NOT_IMPLEMENTED 126 +# define EC_R_NOT_INITIALIZED 111 +# define EC_R_NO_PARAMETERS_SET 139 +# define EC_R_NO_PRIVATE_VALUE 154 +# define EC_R_OPERATION_NOT_SUPPORTED 152 +# define EC_R_PASSED_NULL_PARAMETER 134 +# define EC_R_PEER_KEY_ERROR 149 +# define EC_R_PKPARAMETERS2GROUP_FAILURE 127 +# define EC_R_POINT_ARITHMETIC_FAILURE 155 +# define EC_R_POINT_AT_INFINITY 106 +# define EC_R_POINT_IS_NOT_ON_CURVE 107 +# define EC_R_RANDOM_NUMBER_GENERATION_FAILED 158 +# define EC_R_SHARED_INFO_ERROR 150 +# define EC_R_SLOT_FULL 108 +# define EC_R_UNDEFINED_GENERATOR 113 +# define EC_R_UNDEFINED_ORDER 128 +# define EC_R_UNKNOWN_GROUP 129 +# define EC_R_UNKNOWN_ORDER 114 +# define EC_R_UNSUPPORTED_FIELD 131 +# define EC_R_WRONG_CURVE_PARAMETERS 145 +# define EC_R_WRONG_ORDER 130 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/ecdh.h b/android/x86_64/include/openssl/ecdh.h new file mode 100644 index 00000000..681f3d5e --- /dev/null +++ b/android/x86_64/include/openssl/ecdh.h @@ -0,0 +1,10 @@ +/* + * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include diff --git a/android/x86_64/include/openssl/ecdsa.h b/android/x86_64/include/openssl/ecdsa.h new file mode 100644 index 00000000..681f3d5e --- /dev/null +++ b/android/x86_64/include/openssl/ecdsa.h @@ -0,0 +1,10 @@ +/* + * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include diff --git a/android/x86_64/include/openssl/engine.h b/android/x86_64/include/openssl/engine.h new file mode 100644 index 00000000..319371e4 --- /dev/null +++ b/android/x86_64/include/openssl/engine.h @@ -0,0 +1,842 @@ +/* + * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_ENGINE_H +# define HEADER_ENGINE_H + +# include + +# ifndef OPENSSL_NO_ENGINE +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# include +# include +# include +# include +# include +# include +# include +# endif +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +/* + * These flags are used to control combinations of algorithm (methods) by + * bitwise "OR"ing. + */ +# define ENGINE_METHOD_RSA (unsigned int)0x0001 +# define ENGINE_METHOD_DSA (unsigned int)0x0002 +# define ENGINE_METHOD_DH (unsigned int)0x0004 +# define ENGINE_METHOD_RAND (unsigned int)0x0008 +# define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 +# define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 +# define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200 +# define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400 +# define ENGINE_METHOD_EC (unsigned int)0x0800 +/* Obvious all-or-nothing cases. */ +# define ENGINE_METHOD_ALL (unsigned int)0xFFFF +# define ENGINE_METHOD_NONE (unsigned int)0x0000 + +/* + * This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used + * internally to control registration of ENGINE implementations, and can be + * set by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to + * initialise registered ENGINEs if they are not already initialised. + */ +# define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001 + +/* ENGINE flags that can be set by ENGINE_set_flags(). */ +/* Not used */ +/* #define ENGINE_FLAGS_MALLOCED 0x0001 */ + +/* + * This flag is for ENGINEs that wish to handle the various 'CMD'-related + * control commands on their own. Without this flag, ENGINE_ctrl() handles + * these control commands on behalf of the ENGINE using their "cmd_defns" + * data. + */ +# define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002 + +/* + * This flag is for ENGINEs who return new duplicate structures when found + * via "ENGINE_by_id()". When an ENGINE must store state (eg. if + * ENGINE_ctrl() commands are called in sequence as part of some stateful + * process like key-generation setup and execution), it can set this flag - + * then each attempt to obtain the ENGINE will result in it being copied into + * a new structure. Normally, ENGINEs don't declare this flag so + * ENGINE_by_id() just increments the existing ENGINE's structural reference + * count. + */ +# define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 + +/* + * This flag if for an ENGINE that does not want its methods registered as + * part of ENGINE_register_all_complete() for example if the methods are not + * usable as default methods. + */ + +# define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 + +/* + * ENGINEs can support their own command types, and these flags are used in + * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input + * each command expects. Currently only numeric and string input is + * supported. If a control command supports none of the _NUMERIC, _STRING, or + * _NO_INPUT options, then it is regarded as an "internal" control command - + * and not for use in config setting situations. As such, they're not + * available to the ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() + * access. Changes to this list of 'command types' should be reflected + * carefully in ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). + */ + +/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */ +# define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001 +/* + * accepts string input (cast from 'void*' to 'const char *', 4th parameter + * to ENGINE_ctrl) + */ +# define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002 +/* + * Indicates that the control command takes *no* input. Ie. the control + * command is unparameterised. + */ +# define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004 +/* + * Indicates that the control command is internal. This control command won't + * be shown in any output, and is only usable through the ENGINE_ctrl_cmd() + * function. + */ +# define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008 + +/* + * NB: These 3 control commands are deprecated and should not be used. + * ENGINEs relying on these commands should compile conditional support for + * compatibility (eg. if these symbols are defined) but should also migrate + * the same functionality to their own ENGINE-specific control functions that + * can be "discovered" by calling applications. The fact these control + * commands wouldn't be "executable" (ie. usable by text-based config) + * doesn't change the fact that application code can find and use them + * without requiring per-ENGINE hacking. + */ + +/* + * These flags are used to tell the ctrl function what should be done. All + * command numbers are shared between all engines, even if some don't make + * sense to some engines. In such a case, they do nothing but return the + * error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. + */ +# define ENGINE_CTRL_SET_LOGSTREAM 1 +# define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2 +# define ENGINE_CTRL_HUP 3/* Close and reinitialise + * any handles/connections + * etc. */ +# define ENGINE_CTRL_SET_USER_INTERFACE 4/* Alternative to callback */ +# define ENGINE_CTRL_SET_CALLBACK_DATA 5/* User-specific data, used + * when calling the password + * callback and the user + * interface */ +# define ENGINE_CTRL_LOAD_CONFIGURATION 6/* Load a configuration, + * given a string that + * represents a file name + * or so */ +# define ENGINE_CTRL_LOAD_SECTION 7/* Load data from a given + * section in the already + * loaded configuration */ + +/* + * These control commands allow an application to deal with an arbitrary + * engine in a dynamic way. Warn: Negative return values indicate errors FOR + * THESE COMMANDS because zero is used to indicate 'end-of-list'. Other + * commands, including ENGINE-specific command types, return zero for an + * error. An ENGINE can choose to implement these ctrl functions, and can + * internally manage things however it chooses - it does so by setting the + * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise + * the ENGINE_ctrl() code handles this on the ENGINE's behalf using the + * cmd_defns data (set using ENGINE_set_cmd_defns()). This means an ENGINE's + * ctrl() handler need only implement its own commands - the above "meta" + * commands will be taken care of. + */ + +/* + * Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", + * then all the remaining control commands will return failure, so it is + * worth checking this first if the caller is trying to "discover" the + * engine's capabilities and doesn't want errors generated unnecessarily. + */ +# define ENGINE_CTRL_HAS_CTRL_FUNCTION 10 +/* + * Returns a positive command number for the first command supported by the + * engine. Returns zero if no ctrl commands are supported. + */ +# define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11 +/* + * The 'long' argument specifies a command implemented by the engine, and the + * return value is the next command supported, or zero if there are no more. + */ +# define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12 +/* + * The 'void*' argument is a command name (cast from 'const char *'), and the + * return value is the command that corresponds to it. + */ +# define ENGINE_CTRL_GET_CMD_FROM_NAME 13 +/* + * The next two allow a command to be converted into its corresponding string + * form. In each case, the 'long' argument supplies the command. In the + * NAME_LEN case, the return value is the length of the command name (not + * counting a trailing EOL). In the NAME case, the 'void*' argument must be a + * string buffer large enough, and it will be populated with the name of the + * command (WITH a trailing EOL). + */ +# define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14 +# define ENGINE_CTRL_GET_NAME_FROM_CMD 15 +/* The next two are similar but give a "short description" of a command. */ +# define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16 +# define ENGINE_CTRL_GET_DESC_FROM_CMD 17 +/* + * With this command, the return value is the OR'd combination of + * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given + * engine-specific ctrl command expects. + */ +# define ENGINE_CTRL_GET_CMD_FLAGS 18 + +/* + * ENGINE implementations should start the numbering of their own control + * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). + */ +# define ENGINE_CMD_BASE 200 + +/* + * NB: These 2 nCipher "chil" control commands are deprecated, and their + * functionality is now available through ENGINE-specific control commands + * (exposed through the above-mentioned 'CMD'-handling). Code using these 2 + * commands should be migrated to the more general command handling before + * these are removed. + */ + +/* Flags specific to the nCipher "chil" engine */ +# define ENGINE_CTRL_CHIL_SET_FORKCHECK 100 + /* + * Depending on the value of the (long)i argument, this sets or + * unsets the SimpleForkCheck flag in the CHIL API to enable or + * disable checking and workarounds for applications that fork(). + */ +# define ENGINE_CTRL_CHIL_NO_LOCKING 101 + /* + * This prevents the initialisation function from providing mutex + * callbacks to the nCipher library. + */ + +/* + * If an ENGINE supports its own specific control commands and wishes the + * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on + * its behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN + * entries to ENGINE_set_cmd_defns(). It should also implement a ctrl() + * handler that supports the stated commands (ie. the "cmd_num" entries as + * described by the array). NB: The array must be ordered in increasing order + * of cmd_num. "null-terminated" means that the last ENGINE_CMD_DEFN element + * has cmd_num set to zero and/or cmd_name set to NULL. + */ +typedef struct ENGINE_CMD_DEFN_st { + unsigned int cmd_num; /* The command number */ + const char *cmd_name; /* The command name itself */ + const char *cmd_desc; /* A short description of the command */ + unsigned int cmd_flags; /* The input the command expects */ +} ENGINE_CMD_DEFN; + +/* Generic function pointer */ +typedef int (*ENGINE_GEN_FUNC_PTR) (void); +/* Generic function pointer taking no arguments */ +typedef int (*ENGINE_GEN_INT_FUNC_PTR) (ENGINE *); +/* Specific control function pointer */ +typedef int (*ENGINE_CTRL_FUNC_PTR) (ENGINE *, int, long, void *, + void (*f) (void)); +/* Generic load_key function pointer */ +typedef EVP_PKEY *(*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *, + UI_METHOD *ui_method, + void *callback_data); +typedef int (*ENGINE_SSL_CLIENT_CERT_PTR) (ENGINE *, SSL *ssl, + STACK_OF(X509_NAME) *ca_dn, + X509 **pcert, EVP_PKEY **pkey, + STACK_OF(X509) **pother, + UI_METHOD *ui_method, + void *callback_data); +/*- + * These callback types are for an ENGINE's handler for cipher and digest logic. + * These handlers have these prototypes; + * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid); + * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid); + * Looking at how to implement these handlers in the case of cipher support, if + * the framework wants the EVP_CIPHER for 'nid', it will call; + * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure) + * If the framework wants a list of supported 'nid's, it will call; + * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error) + */ +/* + * Returns to a pointer to the array of supported cipher 'nid's. If the + * second parameter is non-NULL it is set to the size of the returned array. + */ +typedef int (*ENGINE_CIPHERS_PTR) (ENGINE *, const EVP_CIPHER **, + const int **, int); +typedef int (*ENGINE_DIGESTS_PTR) (ENGINE *, const EVP_MD **, const int **, + int); +typedef int (*ENGINE_PKEY_METHS_PTR) (ENGINE *, EVP_PKEY_METHOD **, + const int **, int); +typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **, + const int **, int); +/* + * STRUCTURE functions ... all of these functions deal with pointers to + * ENGINE structures where the pointers have a "structural reference". This + * means that their reference is to allowed access to the structure but it + * does not imply that the structure is functional. To simply increment or + * decrement the structural reference count, use ENGINE_by_id and + * ENGINE_free. NB: This is not required when iterating using ENGINE_get_next + * as it will automatically decrement the structural reference count of the + * "current" ENGINE and increment the structural reference count of the + * ENGINE it returns (unless it is NULL). + */ + +/* Get the first/last "ENGINE" type available. */ +ENGINE *ENGINE_get_first(void); +ENGINE *ENGINE_get_last(void); +/* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ +ENGINE *ENGINE_get_next(ENGINE *e); +ENGINE *ENGINE_get_prev(ENGINE *e); +/* Add another "ENGINE" type into the array. */ +int ENGINE_add(ENGINE *e); +/* Remove an existing "ENGINE" type from the array. */ +int ENGINE_remove(ENGINE *e); +/* Retrieve an engine from the list by its unique "id" value. */ +ENGINE *ENGINE_by_id(const char *id); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define ENGINE_load_openssl() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_OPENSSL, NULL) +# define ENGINE_load_dynamic() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_DYNAMIC, NULL) +# ifndef OPENSSL_NO_STATIC_ENGINE +# define ENGINE_load_padlock() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_PADLOCK, NULL) +# define ENGINE_load_capi() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CAPI, NULL) +# define ENGINE_load_dasync() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_DASYNC, NULL) +# define ENGINE_load_afalg() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_AFALG, NULL) +# endif +# define ENGINE_load_cryptodev() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CRYPTODEV, NULL) +# define ENGINE_load_rdrand() \ + OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_RDRAND, NULL) +#endif +void ENGINE_load_builtin_engines(void); + +/* + * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation + * "registry" handling. + */ +unsigned int ENGINE_get_table_flags(void); +void ENGINE_set_table_flags(unsigned int flags); + +/*- Manage registration of ENGINEs per "table". For each type, there are 3 + * functions; + * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one) + * ENGINE_unregister_***(e) - unregister the implementation from 'e' + * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list + * Cleanup is automatically registered from each table when required. + */ + +int ENGINE_register_RSA(ENGINE *e); +void ENGINE_unregister_RSA(ENGINE *e); +void ENGINE_register_all_RSA(void); + +int ENGINE_register_DSA(ENGINE *e); +void ENGINE_unregister_DSA(ENGINE *e); +void ENGINE_register_all_DSA(void); + +int ENGINE_register_EC(ENGINE *e); +void ENGINE_unregister_EC(ENGINE *e); +void ENGINE_register_all_EC(void); + +int ENGINE_register_DH(ENGINE *e); +void ENGINE_unregister_DH(ENGINE *e); +void ENGINE_register_all_DH(void); + +int ENGINE_register_RAND(ENGINE *e); +void ENGINE_unregister_RAND(ENGINE *e); +void ENGINE_register_all_RAND(void); + +int ENGINE_register_ciphers(ENGINE *e); +void ENGINE_unregister_ciphers(ENGINE *e); +void ENGINE_register_all_ciphers(void); + +int ENGINE_register_digests(ENGINE *e); +void ENGINE_unregister_digests(ENGINE *e); +void ENGINE_register_all_digests(void); + +int ENGINE_register_pkey_meths(ENGINE *e); +void ENGINE_unregister_pkey_meths(ENGINE *e); +void ENGINE_register_all_pkey_meths(void); + +int ENGINE_register_pkey_asn1_meths(ENGINE *e); +void ENGINE_unregister_pkey_asn1_meths(ENGINE *e); +void ENGINE_register_all_pkey_asn1_meths(void); + +/* + * These functions register all support from the above categories. Note, use + * of these functions can result in static linkage of code your application + * may not need. If you only need a subset of functionality, consider using + * more selective initialisation. + */ +int ENGINE_register_complete(ENGINE *e); +int ENGINE_register_all_complete(void); + +/* + * Send parametrised control commands to the engine. The possibilities to + * send down an integer, a pointer to data or a function pointer are + * provided. Any of the parameters may or may not be NULL, depending on the + * command number. In actuality, this function only requires a structural + * (rather than functional) reference to an engine, but many control commands + * may require the engine be functional. The caller should be aware of trying + * commands that require an operational ENGINE, and only use functional + * references in such situations. + */ +int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)); + +/* + * This function tests if an ENGINE-specific command is usable as a + * "setting". Eg. in an application's config file that gets processed through + * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to + * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl(). + */ +int ENGINE_cmd_is_executable(ENGINE *e, int cmd); + +/* + * This function works like ENGINE_ctrl() with the exception of taking a + * command name instead of a command number, and can handle optional + * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation + * on how to use the cmd_name and cmd_optional. + */ +int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, + long i, void *p, void (*f) (void), int cmd_optional); + +/* + * This function passes a command-name and argument to an ENGINE. The + * cmd_name is converted to a command number and the control command is + * called using 'arg' as an argument (unless the ENGINE doesn't support such + * a command, in which case no control command is called). The command is + * checked for input flags, and if necessary the argument will be converted + * to a numeric value. If cmd_optional is non-zero, then if the ENGINE + * doesn't support the given cmd_name the return value will be success + * anyway. This function is intended for applications to use so that users + * (or config files) can supply engine-specific config data to the ENGINE at + * run-time to control behaviour of specific engines. As such, it shouldn't + * be used for calling ENGINE_ctrl() functions that return data, deal with + * binary data, or that are otherwise supposed to be used directly through + * ENGINE_ctrl() in application code. Any "return" data from an ENGINE_ctrl() + * operation in this function will be lost - the return value is interpreted + * as failure if the return value is zero, success otherwise, and this + * function returns a boolean value as a result. In other words, vendors of + * 'ENGINE'-enabled devices should write ENGINE implementations with + * parameterisations that work in this scheme, so that compliant ENGINE-based + * applications can work consistently with the same configuration for the + * same ENGINE-enabled devices, across applications. + */ +int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, + int cmd_optional); + +/* + * These functions are useful for manufacturing new ENGINE structures. They + * don't address reference counting at all - one uses them to populate an + * ENGINE structure with personalised implementations of things prior to + * using it directly or adding it to the builtin ENGINE list in OpenSSL. + * These are also here so that the ENGINE structure doesn't have to be + * exposed and break binary compatibility! + */ +ENGINE *ENGINE_new(void); +int ENGINE_free(ENGINE *e); +int ENGINE_up_ref(ENGINE *e); +int ENGINE_set_id(ENGINE *e, const char *id); +int ENGINE_set_name(ENGINE *e, const char *name); +int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); +int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); +int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ecdsa_meth); +int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); +int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); +int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); +int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); +int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); +int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f); +int ENGINE_set_load_privkey_function(ENGINE *e, + ENGINE_LOAD_KEY_PTR loadpriv_f); +int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f); +int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, + ENGINE_SSL_CLIENT_CERT_PTR + loadssl_f); +int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f); +int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f); +int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f); +int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f); +int ENGINE_set_flags(ENGINE *e, int flags); +int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); +/* These functions allow control over any per-structure ENGINE data. */ +#define ENGINE_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ENGINE, l, p, newf, dupf, freef) +int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); +void *ENGINE_get_ex_data(const ENGINE *e, int idx); + +#if OPENSSL_API_COMPAT < 0x10100000L +/* + * This function previously cleaned up anything that needs it. Auto-deinit will + * now take care of it so it is no longer required to call this function. + */ +# define ENGINE_cleanup() while(0) continue +#endif + +/* + * These return values from within the ENGINE structure. These can be useful + * with functional references as well as structural references - it depends + * which you obtained. Using the result for functional purposes if you only + * obtained a structural reference may be problematic! + */ +const char *ENGINE_get_id(const ENGINE *e); +const char *ENGINE_get_name(const ENGINE *e); +const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); +const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); +const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e); +const DH_METHOD *ENGINE_get_DH(const ENGINE *e); +const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); +ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e); +ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e); +ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e); +ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE + *e); +ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e); +ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e); +ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e); +ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e); +const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); +const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid); +const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid); +const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, + const char *str, + int len); +const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, + const char *str, + int len); +const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e); +int ENGINE_get_flags(const ENGINE *e); + +/* + * FUNCTIONAL functions. These functions deal with ENGINE structures that + * have (or will) be initialised for use. Broadly speaking, the structural + * functions are useful for iterating the list of available engine types, + * creating new engine types, and other "list" operations. These functions + * actually deal with ENGINEs that are to be used. As such these functions + * can fail (if applicable) when particular engines are unavailable - eg. if + * a hardware accelerator is not attached or not functioning correctly. Each + * ENGINE has 2 reference counts; structural and functional. Every time a + * functional reference is obtained or released, a corresponding structural + * reference is automatically obtained or released too. + */ + +/* + * Initialise a engine type for use (or up its reference count if it's + * already in use). This will fail if the engine is not currently operational + * and cannot initialise. + */ +int ENGINE_init(ENGINE *e); +/* + * Free a functional reference to a engine type. This does not require a + * corresponding call to ENGINE_free as it also releases a structural + * reference. + */ +int ENGINE_finish(ENGINE *e); + +/* + * The following functions handle keys that are stored in some secondary + * location, handled by the engine. The storage may be on a card or + * whatever. + */ +EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, + STACK_OF(X509_NAME) *ca_dn, X509 **pcert, + EVP_PKEY **ppkey, STACK_OF(X509) **pother, + UI_METHOD *ui_method, void *callback_data); + +/* + * This returns a pointer for the current ENGINE structure that is (by + * default) performing any RSA operations. The value returned is an + * incremented reference, so it should be free'd (ENGINE_finish) before it is + * discarded. + */ +ENGINE *ENGINE_get_default_RSA(void); +/* Same for the other "methods" */ +ENGINE *ENGINE_get_default_DSA(void); +ENGINE *ENGINE_get_default_EC(void); +ENGINE *ENGINE_get_default_DH(void); +ENGINE *ENGINE_get_default_RAND(void); +/* + * These functions can be used to get a functional reference to perform + * ciphering or digesting corresponding to "nid". + */ +ENGINE *ENGINE_get_cipher_engine(int nid); +ENGINE *ENGINE_get_digest_engine(int nid); +ENGINE *ENGINE_get_pkey_meth_engine(int nid); +ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid); + +/* + * This sets a new default ENGINE structure for performing RSA operations. If + * the result is non-zero (success) then the ENGINE structure will have had + * its reference count up'd so the caller should still free their own + * reference 'e'. + */ +int ENGINE_set_default_RSA(ENGINE *e); +int ENGINE_set_default_string(ENGINE *e, const char *def_list); +/* Same for the other "methods" */ +int ENGINE_set_default_DSA(ENGINE *e); +int ENGINE_set_default_EC(ENGINE *e); +int ENGINE_set_default_DH(ENGINE *e); +int ENGINE_set_default_RAND(ENGINE *e); +int ENGINE_set_default_ciphers(ENGINE *e); +int ENGINE_set_default_digests(ENGINE *e); +int ENGINE_set_default_pkey_meths(ENGINE *e); +int ENGINE_set_default_pkey_asn1_meths(ENGINE *e); + +/* + * The combination "set" - the flags are bitwise "OR"d from the + * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()" + * function, this function can result in unnecessary static linkage. If your + * application requires only specific functionality, consider using more + * selective functions. + */ +int ENGINE_set_default(ENGINE *e, unsigned int flags); + +void ENGINE_add_conf_module(void); + +/* Deprecated functions ... */ +/* int ENGINE_clear_defaults(void); */ + +/**************************/ +/* DYNAMIC ENGINE SUPPORT */ +/**************************/ + +/* Binary/behaviour compatibility levels */ +# define OSSL_DYNAMIC_VERSION (unsigned long)0x00030000 +/* + * Binary versions older than this are too old for us (whether we're a loader + * or a loadee) + */ +# define OSSL_DYNAMIC_OLDEST (unsigned long)0x00030000 + +/* + * When compiling an ENGINE entirely as an external shared library, loadable + * by the "dynamic" ENGINE, these types are needed. The 'dynamic_fns' + * structure type provides the calling application's (or library's) error + * functionality and memory management function pointers to the loaded + * library. These should be used/set in the loaded library code so that the + * loading application's 'state' will be used/changed in all operations. The + * 'static_state' pointer allows the loaded library to know if it shares the + * same static data as the calling application (or library), and thus whether + * these callbacks need to be set or not. + */ +typedef void *(*dyn_MEM_malloc_fn) (size_t, const char *, int); +typedef void *(*dyn_MEM_realloc_fn) (void *, size_t, const char *, int); +typedef void (*dyn_MEM_free_fn) (void *, const char *, int); +typedef struct st_dynamic_MEM_fns { + dyn_MEM_malloc_fn malloc_fn; + dyn_MEM_realloc_fn realloc_fn; + dyn_MEM_free_fn free_fn; +} dynamic_MEM_fns; +/* + * FIXME: Perhaps the memory and locking code (crypto.h) should declare and + * use these types so we (and any other dependent code) can simplify a bit?? + */ +/* The top-level structure */ +typedef struct st_dynamic_fns { + void *static_state; + dynamic_MEM_fns mem_fns; +} dynamic_fns; + +/* + * The version checking function should be of this prototype. NB: The + * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading + * code. If this function returns zero, it indicates a (potential) version + * incompatibility and the loaded library doesn't believe it can proceed. + * Otherwise, the returned value is the (latest) version supported by the + * loading library. The loader may still decide that the loaded code's + * version is unsatisfactory and could veto the load. The function is + * expected to be implemented with the symbol name "v_check", and a default + * implementation can be fully instantiated with + * IMPLEMENT_DYNAMIC_CHECK_FN(). + */ +typedef unsigned long (*dynamic_v_check_fn) (unsigned long ossl_version); +# define IMPLEMENT_DYNAMIC_CHECK_FN() \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ + OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ + if (v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ + return 0; } + +/* + * This function is passed the ENGINE structure to initialise with its own + * function and command settings. It should not adjust the structural or + * functional reference counts. If this function returns zero, (a) the load + * will be aborted, (b) the previous ENGINE state will be memcpy'd back onto + * the structure, and (c) the shared library will be unloaded. So + * implementations should do their own internal cleanup in failure + * circumstances otherwise they could leak. The 'id' parameter, if non-NULL, + * represents the ENGINE id that the loader is looking for. If this is NULL, + * the shared library can choose to return failure or to initialise a + * 'default' ENGINE. If non-NULL, the shared library must initialise only an + * ENGINE matching the passed 'id'. The function is expected to be + * implemented with the symbol name "bind_engine". A standard implementation + * can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter + * 'fn' is a callback function that populates the ENGINE structure and + * returns an int value (zero for failure). 'fn' should have prototype; + * [static] int fn(ENGINE *e, const char *id); + */ +typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, + const dynamic_fns *fns); +# define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ + OPENSSL_EXPORT \ + int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ + if (ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ + CRYPTO_set_mem_functions(fns->mem_fns.malloc_fn, \ + fns->mem_fns.realloc_fn, \ + fns->mem_fns.free_fn); \ + skip_cbs: \ + if (!fn(e, id)) return 0; \ + return 1; } + +/* + * If the loading application (or library) and the loaded ENGINE library + * share the same static data (eg. they're both dynamically linked to the + * same libcrypto.so) we need a way to avoid trying to set system callbacks - + * this would fail, and for the same reason that it's unnecessary to try. If + * the loaded ENGINE has (or gets from through the loader) its own copy of + * the libcrypto static data, we will need to set the callbacks. The easiest + * way to detect this is to have a function that returns a pointer to some + * static data and let the loading application and loaded ENGINE compare + * their respective values. + */ +void *ENGINE_get_static_state(void); + +# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV) +DEPRECATEDIN_1_1_0(void ENGINE_setup_bsd_cryptodev(void)) +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_ENGINE_strings(void); + +/* Error codes for the ENGINE functions. */ + +/* Function codes. */ +# define ENGINE_F_DYNAMIC_CTRL 180 +# define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 +# define ENGINE_F_DYNAMIC_LOAD 182 +# define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 +# define ENGINE_F_ENGINE_ADD 105 +# define ENGINE_F_ENGINE_BY_ID 106 +# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 +# define ENGINE_F_ENGINE_CTRL 142 +# define ENGINE_F_ENGINE_CTRL_CMD 178 +# define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 +# define ENGINE_F_ENGINE_FINISH 107 +# define ENGINE_F_ENGINE_GET_CIPHER 185 +# define ENGINE_F_ENGINE_GET_DIGEST 186 +# define ENGINE_F_ENGINE_GET_FIRST 195 +# define ENGINE_F_ENGINE_GET_LAST 196 +# define ENGINE_F_ENGINE_GET_NEXT 115 +# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 +# define ENGINE_F_ENGINE_GET_PKEY_METH 192 +# define ENGINE_F_ENGINE_GET_PREV 116 +# define ENGINE_F_ENGINE_INIT 119 +# define ENGINE_F_ENGINE_LIST_ADD 120 +# define ENGINE_F_ENGINE_LIST_REMOVE 121 +# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 +# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 +# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 +# define ENGINE_F_ENGINE_NEW 122 +# define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR 197 +# define ENGINE_F_ENGINE_REMOVE 123 +# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 +# define ENGINE_F_ENGINE_SET_ID 129 +# define ENGINE_F_ENGINE_SET_NAME 130 +# define ENGINE_F_ENGINE_TABLE_REGISTER 184 +# define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 +# define ENGINE_F_ENGINE_UP_REF 190 +# define ENGINE_F_INT_CTRL_HELPER 172 +# define ENGINE_F_INT_ENGINE_CONFIGURE 188 +# define ENGINE_F_INT_ENGINE_MODULE_INIT 187 + +/* Reason codes. */ +# define ENGINE_R_ALREADY_LOADED 100 +# define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133 +# define ENGINE_R_CMD_NOT_EXECUTABLE 134 +# define ENGINE_R_COMMAND_TAKES_INPUT 135 +# define ENGINE_R_COMMAND_TAKES_NO_INPUT 136 +# define ENGINE_R_CONFLICTING_ENGINE_ID 103 +# define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119 +# define ENGINE_R_DSO_FAILURE 104 +# define ENGINE_R_DSO_NOT_FOUND 132 +# define ENGINE_R_ENGINES_SECTION_ERROR 148 +# define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102 +# define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105 +# define ENGINE_R_ENGINE_SECTION_ERROR 149 +# define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128 +# define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129 +# define ENGINE_R_FINISH_FAILED 106 +# define ENGINE_R_ID_OR_NAME_MISSING 108 +# define ENGINE_R_INIT_FAILED 109 +# define ENGINE_R_INTERNAL_LIST_ERROR 110 +# define ENGINE_R_INVALID_ARGUMENT 143 +# define ENGINE_R_INVALID_CMD_NAME 137 +# define ENGINE_R_INVALID_CMD_NUMBER 138 +# define ENGINE_R_INVALID_INIT_VALUE 151 +# define ENGINE_R_INVALID_STRING 150 +# define ENGINE_R_NOT_INITIALISED 117 +# define ENGINE_R_NOT_LOADED 112 +# define ENGINE_R_NO_CONTROL_FUNCTION 120 +# define ENGINE_R_NO_INDEX 144 +# define ENGINE_R_NO_LOAD_FUNCTION 125 +# define ENGINE_R_NO_REFERENCE 130 +# define ENGINE_R_NO_SUCH_ENGINE 116 +# define ENGINE_R_UNIMPLEMENTED_CIPHER 146 +# define ENGINE_R_UNIMPLEMENTED_DIGEST 147 +# define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101 +# define ENGINE_R_VERSION_INCOMPATIBILITY 145 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/err.h b/android/x86_64/include/openssl/err.h new file mode 100644 index 00000000..f9390919 --- /dev/null +++ b/android/x86_64/include/openssl/err.h @@ -0,0 +1,259 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ERR_H +# define HEADER_ERR_H + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# include +# endif + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_NO_ERR +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) +# else +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) +# endif + +# include + +# define ERR_TXT_MALLOCED 0x01 +# define ERR_TXT_STRING 0x02 + +# define ERR_FLAG_MARK 0x01 + +# define ERR_NUM_ERRORS 16 +typedef struct err_state_st { + int err_flags[ERR_NUM_ERRORS]; + unsigned long err_buffer[ERR_NUM_ERRORS]; + char *err_data[ERR_NUM_ERRORS]; + int err_data_flags[ERR_NUM_ERRORS]; + const char *err_file[ERR_NUM_ERRORS]; + int err_line[ERR_NUM_ERRORS]; + int top, bottom; +} ERR_STATE; + +/* library */ +# define ERR_LIB_NONE 1 +# define ERR_LIB_SYS 2 +# define ERR_LIB_BN 3 +# define ERR_LIB_RSA 4 +# define ERR_LIB_DH 5 +# define ERR_LIB_EVP 6 +# define ERR_LIB_BUF 7 +# define ERR_LIB_OBJ 8 +# define ERR_LIB_PEM 9 +# define ERR_LIB_DSA 10 +# define ERR_LIB_X509 11 +/* #define ERR_LIB_METH 12 */ +# define ERR_LIB_ASN1 13 +# define ERR_LIB_CONF 14 +# define ERR_LIB_CRYPTO 15 +# define ERR_LIB_EC 16 +# define ERR_LIB_SSL 20 +/* #define ERR_LIB_SSL23 21 */ +/* #define ERR_LIB_SSL2 22 */ +/* #define ERR_LIB_SSL3 23 */ +/* #define ERR_LIB_RSAREF 30 */ +/* #define ERR_LIB_PROXY 31 */ +# define ERR_LIB_BIO 32 +# define ERR_LIB_PKCS7 33 +# define ERR_LIB_X509V3 34 +# define ERR_LIB_PKCS12 35 +# define ERR_LIB_RAND 36 +# define ERR_LIB_DSO 37 +# define ERR_LIB_ENGINE 38 +# define ERR_LIB_OCSP 39 +# define ERR_LIB_UI 40 +# define ERR_LIB_COMP 41 +# define ERR_LIB_ECDSA 42 +# define ERR_LIB_ECDH 43 +# define ERR_LIB_STORE 44 +# define ERR_LIB_FIPS 45 +# define ERR_LIB_CMS 46 +# define ERR_LIB_TS 47 +# define ERR_LIB_HMAC 48 +# define ERR_LIB_JPAKE 49 +# define ERR_LIB_CT 50 +# define ERR_LIB_ASYNC 51 +# define ERR_LIB_KDF 52 + +# define ERR_LIB_USER 128 + +# define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CTerr(f,r) ERR_PUT_error(ERR_LIB_CT,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ASYNCerr(f,r) ERR_PUT_error(ERR_LIB_ASYNC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define KDFerr(f,r) ERR_PUT_error(ERR_LIB_KDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) + +# define ERR_PACK(l,f,r) ( \ + (((unsigned int)(l) & 0x0FF) << 24L) | \ + (((unsigned int)(f) & 0xFFF) << 12L) | \ + (((unsigned int)(r) & 0xFFF) ) ) +# define ERR_GET_LIB(l) (int)(((l) >> 24L) & 0x0FFL) +# define ERR_GET_FUNC(l) (int)(((l) >> 12L) & 0xFFFL) +# define ERR_GET_REASON(l) (int)( (l) & 0xFFFL) + +/* OS functions */ +# define SYS_F_FOPEN 1 +# define SYS_F_CONNECT 2 +# define SYS_F_GETSERVBYNAME 3 +# define SYS_F_SOCKET 4 +# define SYS_F_IOCTLSOCKET 5 +# define SYS_F_BIND 6 +# define SYS_F_LISTEN 7 +# define SYS_F_ACCEPT 8 +# define SYS_F_WSASTARTUP 9/* Winsock stuff */ +# define SYS_F_OPENDIR 10 +# define SYS_F_FREAD 11 +# define SYS_F_GETADDRINFO 12 +# define SYS_F_GETNAMEINFO 13 +# define SYS_F_SETSOCKOPT 14 +# define SYS_F_GETSOCKOPT 15 +# define SYS_F_GETSOCKNAME 16 +# define SYS_F_GETHOSTBYNAME 17 + +/* reasons */ +# define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */ +# define ERR_R_BN_LIB ERR_LIB_BN/* 3 */ +# define ERR_R_RSA_LIB ERR_LIB_RSA/* 4 */ +# define ERR_R_DH_LIB ERR_LIB_DH/* 5 */ +# define ERR_R_EVP_LIB ERR_LIB_EVP/* 6 */ +# define ERR_R_BUF_LIB ERR_LIB_BUF/* 7 */ +# define ERR_R_OBJ_LIB ERR_LIB_OBJ/* 8 */ +# define ERR_R_PEM_LIB ERR_LIB_PEM/* 9 */ +# define ERR_R_DSA_LIB ERR_LIB_DSA/* 10 */ +# define ERR_R_X509_LIB ERR_LIB_X509/* 11 */ +# define ERR_R_ASN1_LIB ERR_LIB_ASN1/* 13 */ +# define ERR_R_EC_LIB ERR_LIB_EC/* 16 */ +# define ERR_R_BIO_LIB ERR_LIB_BIO/* 32 */ +# define ERR_R_PKCS7_LIB ERR_LIB_PKCS7/* 33 */ +# define ERR_R_X509V3_LIB ERR_LIB_X509V3/* 34 */ +# define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */ +# define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */ + +# define ERR_R_NESTED_ASN1_ERROR 58 +# define ERR_R_MISSING_ASN1_EOS 63 + +/* fatal error */ +# define ERR_R_FATAL 64 +# define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) +# define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) +# define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) +# define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) +# define ERR_R_DISABLED (5|ERR_R_FATAL) +# define ERR_R_INIT_FAIL (6|ERR_R_FATAL) +# define ERR_R_PASSED_INVALID_ARGUMENT (7) + +/* + * 99 is the maximum possible ERR_R_... code, higher values are reserved for + * the individual libraries + */ + +typedef struct ERR_string_data_st { + unsigned long error; + const char *string; +} ERR_STRING_DATA; + +DEFINE_LHASH_OF(ERR_STRING_DATA); + +void ERR_put_error(int lib, int func, int reason, const char *file, int line); +void ERR_set_error_data(char *data, int flags); + +unsigned long ERR_get_error(void); +unsigned long ERR_get_error_line(const char **file, int *line); +unsigned long ERR_get_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_error(void); +unsigned long ERR_peek_error_line(const char **file, int *line); +unsigned long ERR_peek_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_last_error(void); +unsigned long ERR_peek_last_error_line(const char **file, int *line); +unsigned long ERR_peek_last_error_line_data(const char **file, int *line, + const char **data, int *flags); +void ERR_clear_error(void); +char *ERR_error_string(unsigned long e, char *buf); +void ERR_error_string_n(unsigned long e, char *buf, size_t len); +const char *ERR_lib_error_string(unsigned long e); +const char *ERR_func_error_string(unsigned long e); +const char *ERR_reason_error_string(unsigned long e); +void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), + void *u); +# ifndef OPENSSL_NO_STDIO +void ERR_print_errors_fp(FILE *fp); +# endif +void ERR_print_errors(BIO *bp); +void ERR_add_error_data(int num, ...); +void ERR_add_error_vdata(int num, va_list args); +int ERR_load_strings(int lib, ERR_STRING_DATA str[]); +int ERR_unload_strings(int lib, ERR_STRING_DATA str[]); +int ERR_load_ERR_strings(void); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define ERR_load_crypto_strings() \ + OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) +# define ERR_free_strings() while(0) continue +#endif + +DEPRECATEDIN_1_1_0(void ERR_remove_thread_state(void *)) +DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid)) +ERR_STATE *ERR_get_state(void); + +int ERR_get_next_error_library(void); + +int ERR_set_mark(void); +int ERR_pop_to_mark(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/android/x86_64/include/openssl/evp.h b/android/x86_64/include/openssl/evp.h new file mode 100644 index 00000000..b9c83b2b --- /dev/null +++ b/android/x86_64/include/openssl/evp.h @@ -0,0 +1,1586 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_ENVELOPE_H +# define HEADER_ENVELOPE_H + +# include +# include +# include +# include + +# define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ +# define EVP_MAX_KEY_LENGTH 64 +# define EVP_MAX_IV_LENGTH 16 +# define EVP_MAX_BLOCK_LENGTH 32 + +# define PKCS5_SALT_LEN 8 +/* Default PKCS#5 iteration count */ +# define PKCS5_DEFAULT_ITER 2048 + +# include + +# define EVP_PK_RSA 0x0001 +# define EVP_PK_DSA 0x0002 +# define EVP_PK_DH 0x0004 +# define EVP_PK_EC 0x0008 +# define EVP_PKT_SIGN 0x0010 +# define EVP_PKT_ENC 0x0020 +# define EVP_PKT_EXCH 0x0040 +# define EVP_PKS_RSA 0x0100 +# define EVP_PKS_DSA 0x0200 +# define EVP_PKS_EC 0x0400 + +# define EVP_PKEY_NONE NID_undef +# define EVP_PKEY_RSA NID_rsaEncryption +# define EVP_PKEY_RSA2 NID_rsa +# define EVP_PKEY_DSA NID_dsa +# define EVP_PKEY_DSA1 NID_dsa_2 +# define EVP_PKEY_DSA2 NID_dsaWithSHA +# define EVP_PKEY_DSA3 NID_dsaWithSHA1 +# define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 +# define EVP_PKEY_DH NID_dhKeyAgreement +# define EVP_PKEY_DHX NID_dhpublicnumber +# define EVP_PKEY_EC NID_X9_62_id_ecPublicKey +# define EVP_PKEY_HMAC NID_hmac +# define EVP_PKEY_CMAC NID_cmac +# define EVP_PKEY_TLS1_PRF NID_tls1_prf +# define EVP_PKEY_HKDF NID_hkdf + +#ifdef __cplusplus +extern "C" { +#endif + +# define EVP_PKEY_MO_SIGN 0x0001 +# define EVP_PKEY_MO_VERIFY 0x0002 +# define EVP_PKEY_MO_ENCRYPT 0x0004 +# define EVP_PKEY_MO_DECRYPT 0x0008 + +# ifndef EVP_MD +EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type); +EVP_MD *EVP_MD_meth_dup(const EVP_MD *md); +void EVP_MD_meth_free(EVP_MD *md); + +int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize); +int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize); +int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize); +int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags); +int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx)); +int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx, + const void *data, + size_t count)); +int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx, + unsigned char *md)); +int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to, + const EVP_MD_CTX *from)); +int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx)); +int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd, + int p1, void *p2)); + +int EVP_MD_meth_get_input_blocksize(const EVP_MD *md); +int EVP_MD_meth_get_result_size(const EVP_MD *md); +int EVP_MD_meth_get_app_datasize(const EVP_MD *md); +unsigned long EVP_MD_meth_get_flags(const EVP_MD *md); +int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx); +int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx, + const void *data, + size_t count); +int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx, + unsigned char *md); +int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to, + const EVP_MD_CTX *from); +int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx); +int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd, + int p1, void *p2); + +/* digest can only handle a single block */ +# define EVP_MD_FLAG_ONESHOT 0x0001 + +/* DigestAlgorithmIdentifier flags... */ + +# define EVP_MD_FLAG_DIGALGID_MASK 0x0018 + +/* NULL or absent parameter accepted. Use NULL */ + +# define EVP_MD_FLAG_DIGALGID_NULL 0x0000 + +/* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ + +# define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 + +/* Custom handling via ctrl */ + +# define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 + +/* Note if suitable for use in FIPS mode */ +# define EVP_MD_FLAG_FIPS 0x0400 + +/* Digest ctrls */ + +# define EVP_MD_CTRL_DIGALGID 0x1 +# define EVP_MD_CTRL_MICALG 0x2 + +/* Minimum Algorithm specific ctrl value */ + +# define EVP_MD_CTRL_ALG_CTRL 0x1000 + +# endif /* !EVP_MD */ + +/* values for EVP_MD_CTX flags */ + +# define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be + * called once only */ +# define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been + * cleaned */ +# define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data + * in EVP_MD_CTX_reset */ +/* + * FIPS and pad options are ignored in 1.0.0, definitions are here so we + * don't accidentally reuse the values for other purposes. + */ + +# define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008/* Allow use of non FIPS + * digest in FIPS mode */ + +/* + * The following PAD options are also currently ignored in 1.0.0, digest + * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() + * instead. + */ +# define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */ +# define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */ +# define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */ +# define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */ + +# define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */ +/* + * Some functions such as EVP_DigestSign only finalise copies of internal + * contexts so additional data can be included after the finalisation call. + * This is inefficient if this functionality is not required: it is disabled + * if the following flag is set. + */ +# define EVP_MD_CTX_FLAG_FINALISE 0x0200 + +EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len); +EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher); +void EVP_CIPHER_meth_free(EVP_CIPHER *cipher); + +int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len); +int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags); +int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size); +int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher, + int (*init) (EVP_CIPHER_CTX *ctx, + const unsigned char *key, + const unsigned char *iv, + int enc)); +int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher, + int (*do_cipher) (EVP_CIPHER_CTX *ctx, + unsigned char *out, + const unsigned char *in, + size_t inl)); +int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher, + int (*cleanup) (EVP_CIPHER_CTX *)); +int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher, + int (*set_asn1_parameters) (EVP_CIPHER_CTX *, + ASN1_TYPE *)); +int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher, + int (*get_asn1_parameters) (EVP_CIPHER_CTX *, + ASN1_TYPE *)); +int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher, + int (*ctrl) (EVP_CIPHER_CTX *, int type, + int arg, void *ptr)); + +int (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx, + const unsigned char *key, + const unsigned char *iv, + int enc); +int (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx, + unsigned char *out, + const unsigned char *in, + size_t inl); +int (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *); +int (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, + ASN1_TYPE *); +int (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, + ASN1_TYPE *); +int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, + int type, int arg, + void *ptr); + +/* Values for cipher flags */ + +/* Modes for ciphers */ + +# define EVP_CIPH_STREAM_CIPHER 0x0 +# define EVP_CIPH_ECB_MODE 0x1 +# define EVP_CIPH_CBC_MODE 0x2 +# define EVP_CIPH_CFB_MODE 0x3 +# define EVP_CIPH_OFB_MODE 0x4 +# define EVP_CIPH_CTR_MODE 0x5 +# define EVP_CIPH_GCM_MODE 0x6 +# define EVP_CIPH_CCM_MODE 0x7 +# define EVP_CIPH_XTS_MODE 0x10001 +# define EVP_CIPH_WRAP_MODE 0x10002 +# define EVP_CIPH_OCB_MODE 0x10003 +# define EVP_CIPH_MODE 0xF0007 +/* Set if variable length cipher */ +# define EVP_CIPH_VARIABLE_LENGTH 0x8 +/* Set if the iv handling should be done by the cipher itself */ +# define EVP_CIPH_CUSTOM_IV 0x10 +/* Set if the cipher's init() function should be called if key is NULL */ +# define EVP_CIPH_ALWAYS_CALL_INIT 0x20 +/* Call ctrl() to init cipher parameters */ +# define EVP_CIPH_CTRL_INIT 0x40 +/* Don't use standard key length function */ +# define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80 +/* Don't use standard block padding */ +# define EVP_CIPH_NO_PADDING 0x100 +/* cipher handles random key generation */ +# define EVP_CIPH_RAND_KEY 0x200 +/* cipher has its own additional copying logic */ +# define EVP_CIPH_CUSTOM_COPY 0x400 +/* Allow use default ASN1 get/set iv */ +# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 +/* Buffer length in bits not bytes: CFB1 mode only */ +# define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 +/* Note if suitable for use in FIPS mode */ +# define EVP_CIPH_FLAG_FIPS 0x4000 +/* Allow non FIPS cipher in FIPS mode */ +# define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000 +/* + * Cipher handles any and all padding logic as well as finalisation. + */ +# define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000 +# define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000 +# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000 +/* Cipher can handle pipeline operations */ +# define EVP_CIPH_FLAG_PIPELINE 0X800000 + +/* + * Cipher context flag to indicate we can handle wrap mode: if allowed in + * older applications it could overflow buffers. + */ + +# define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1 + +/* ctrl() values */ + +# define EVP_CTRL_INIT 0x0 +# define EVP_CTRL_SET_KEY_LENGTH 0x1 +# define EVP_CTRL_GET_RC2_KEY_BITS 0x2 +# define EVP_CTRL_SET_RC2_KEY_BITS 0x3 +# define EVP_CTRL_GET_RC5_ROUNDS 0x4 +# define EVP_CTRL_SET_RC5_ROUNDS 0x5 +# define EVP_CTRL_RAND_KEY 0x6 +# define EVP_CTRL_PBE_PRF_NID 0x7 +# define EVP_CTRL_COPY 0x8 +# define EVP_CTRL_AEAD_SET_IVLEN 0x9 +# define EVP_CTRL_AEAD_GET_TAG 0x10 +# define EVP_CTRL_AEAD_SET_TAG 0x11 +# define EVP_CTRL_AEAD_SET_IV_FIXED 0x12 +# define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN +# define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG +# define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG +# define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED +# define EVP_CTRL_GCM_IV_GEN 0x13 +# define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN +# define EVP_CTRL_CCM_GET_TAG EVP_CTRL_AEAD_GET_TAG +# define EVP_CTRL_CCM_SET_TAG EVP_CTRL_AEAD_SET_TAG +# define EVP_CTRL_CCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED +# define EVP_CTRL_CCM_SET_L 0x14 +# define EVP_CTRL_CCM_SET_MSGLEN 0x15 +/* + * AEAD cipher deduces payload length and returns number of bytes required to + * store MAC and eventual padding. Subsequent call to EVP_Cipher even + * appends/verifies MAC. + */ +# define EVP_CTRL_AEAD_TLS1_AAD 0x16 +/* Used by composite AEAD ciphers, no-op in GCM, CCM... */ +# define EVP_CTRL_AEAD_SET_MAC_KEY 0x17 +/* Set the GCM invocation field, decrypt only */ +# define EVP_CTRL_GCM_SET_IV_INV 0x18 + +# define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19 +# define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a +# define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b +# define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c + +# define EVP_CTRL_SSL3_MASTER_SECRET 0x1d + +/* EVP_CTRL_SET_SBOX takes the char * specifying S-boxes */ +# define EVP_CTRL_SET_SBOX 0x1e +/* + * EVP_CTRL_SBOX_USED takes a 'size_t' and 'char *', pointing at a + * pre-allocated buffer with specified size + */ +# define EVP_CTRL_SBOX_USED 0x1f +/* EVP_CTRL_KEY_MESH takes 'size_t' number of bytes to mesh the key after, + * 0 switches meshing off + */ +# define EVP_CTRL_KEY_MESH 0x20 +/* EVP_CTRL_BLOCK_PADDING_MODE takes the padding mode */ +# define EVP_CTRL_BLOCK_PADDING_MODE 0x21 + +/* Set the output buffers to use for a pipelined operation */ +# define EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS 0x22 +/* Set the input buffers to use for a pipelined operation */ +# define EVP_CTRL_SET_PIPELINE_INPUT_BUFS 0x23 +/* Set the input buffer lengths to use for a pipelined operation */ +# define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24 + +/* Padding modes */ +#define EVP_PADDING_PKCS7 1 +#define EVP_PADDING_ISO7816_4 2 +#define EVP_PADDING_ANSI923 3 +#define EVP_PADDING_ISO10126 4 +#define EVP_PADDING_ZERO 5 + +/* RFC 5246 defines additional data to be 13 bytes in length */ +# define EVP_AEAD_TLS1_AAD_LEN 13 + +typedef struct { + unsigned char *out; + const unsigned char *inp; + size_t len; + unsigned int interleave; +} EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM; + +/* GCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +# define EVP_GCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +# define EVP_GCM_TLS_EXPLICIT_IV_LEN 8 +/* Length of tag for TLS */ +# define EVP_GCM_TLS_TAG_LEN 16 + +/* CCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +# define EVP_CCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +# define EVP_CCM_TLS_EXPLICIT_IV_LEN 8 + +typedef struct evp_cipher_info_st { + const EVP_CIPHER *cipher; + unsigned char iv[EVP_MAX_IV_LENGTH]; +} EVP_CIPHER_INFO; + + +/* Password based encryption function */ +typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, + int passlen, ASN1_TYPE *param, + const EVP_CIPHER *cipher, const EVP_MD *md, + int en_de); + +# ifndef OPENSSL_NO_RSA +# define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ + (char *)(rsa)) +# endif + +# ifndef OPENSSL_NO_DSA +# define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ + (char *)(dsa)) +# endif + +# ifndef OPENSSL_NO_DH +# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ + (char *)(dh)) +# endif + +# ifndef OPENSSL_NO_EC +# define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ + (char *)(eckey)) +# endif + +/* Add some extra combinations */ +# define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) +# define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) +# define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) +# define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) + +int EVP_MD_type(const EVP_MD *md); +# define EVP_MD_nid(e) EVP_MD_type(e) +# define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) +int EVP_MD_pkey_type(const EVP_MD *md); +int EVP_MD_size(const EVP_MD *md); +int EVP_MD_block_size(const EVP_MD *md); +unsigned long EVP_MD_flags(const EVP_MD *md); + +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); +int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx, + const void *data, size_t count); +void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx, + int (*update) (EVP_MD_CTX *ctx, + const void *data, size_t count)); +# define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) +# define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) +EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); +void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); + +int EVP_CIPHER_nid(const EVP_CIPHER *cipher); +# define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) +int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); +int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *cipher); +int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); +int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); +unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); +# define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) + +const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); +const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx); +const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx); +unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx); +unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_num(const EVP_CIPHER_CTX *ctx); +void EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num); +int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); +void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); +void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); +void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx); +void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data); +# define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) +# if OPENSSL_API_COMPAT < 0x10100000L +# define EVP_CIPHER_CTX_flags(c) EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(c)) +# endif +# define EVP_CIPHER_CTX_mode(c) EVP_CIPHER_mode(EVP_CIPHER_CTX_cipher(c)) + +# define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80) +# define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80) + +# define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_SignInit(a,b) EVP_DigestInit(a,b) +# define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +# define EVP_VerifyInit(a,b) EVP_DigestInit(a,b) +# define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) +# define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) +# define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) + +# ifdef CONST_STRICT +void BIO_set_md(BIO *, const EVP_MD *md); +# else +# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md) +# endif +# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp) +# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp) +# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp) +# define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) +# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp) + +/*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c, + unsigned char *out, + const unsigned char *in, unsigned int inl); + +# define EVP_add_cipher_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_add_digest_alias(n,alias) \ + OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n)) +# define EVP_delete_cipher_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS); +# define EVP_delete_digest_alias(alias) \ + OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); + +int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); +EVP_MD_CTX *EVP_MD_CTX_new(void); +int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); +void EVP_MD_CTX_free(EVP_MD_CTX *ctx); +# define EVP_MD_CTX_create() EVP_MD_CTX_new() +# define EVP_MD_CTX_init(ctx) EVP_MD_CTX_reset((ctx)) +# define EVP_MD_CTX_destroy(ctx) EVP_MD_CTX_free((ctx)) +__owur int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); +void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); +void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); +int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); +__owur int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, + ENGINE *impl); +__owur int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, + size_t cnt); +__owur int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, + unsigned int *s); +__owur int EVP_Digest(const void *data, size_t count, + unsigned char *md, unsigned int *size, + const EVP_MD *type, ENGINE *impl); + +__owur int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); +__owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); +__owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, + unsigned int *s); + +#ifndef OPENSSL_NO_UI +int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); +int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, + const char *prompt, int verify); +void EVP_set_pw_prompt(const char *prompt); +char *EVP_get_pw_prompt(void); +#endif + +__owur int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, + const unsigned char *salt, + const unsigned char *data, int datal, int count, + unsigned char *key, unsigned char *iv); + +void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); +void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); +int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); + +__owur int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +/*__owur*/ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, + const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, + const unsigned char *iv); +/*__owur*/ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl, const unsigned char *in, int inl); +/*__owur*/ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl); +/*__owur*/ int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl); + +__owur int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +/*__owur*/ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, + const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, + const unsigned char *iv); +/*__owur*/ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl, const unsigned char *in, int inl); +__owur int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); +/*__owur*/ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); + +__owur int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv, + int enc); +/*__owur*/ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, + const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, + const unsigned char *iv, int enc); +__owur int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, + int *outl, const unsigned char *in, int inl); +__owur int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); +__owur int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, + int *outl); + +__owur int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, + EVP_PKEY *pkey); + +__owur int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, + unsigned int siglen, EVP_PKEY *pkey); + +/*__owur*/ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, + EVP_PKEY *pkey); +__owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, + size_t *siglen); + +__owur int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, + EVP_PKEY *pkey); +__owur int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, + size_t siglen); + +# ifndef OPENSSL_NO_RSA +__owur int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + const unsigned char *ek, int ekl, + const unsigned char *iv, EVP_PKEY *priv); +__owur int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +__owur int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + unsigned char **ek, int *ekl, unsigned char *iv, + EVP_PKEY **pubk, int npubk); +__owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +# endif + +EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void); +void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx); +int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, EVP_ENCODE_CTX *sctx); +int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx); +void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); +int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); + +void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); +int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned + char *out, int *outl); +int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define EVP_CIPHER_CTX_init(c) EVP_CIPHER_CTX_reset(c) +# define EVP_CIPHER_CTX_cleanup(c) EVP_CIPHER_CTX_reset(c) +# endif +EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); +int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c); +void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c); +int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); +int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); +int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); +int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); + +const BIO_METHOD *BIO_f_md(void); +const BIO_METHOD *BIO_f_base64(void); +const BIO_METHOD *BIO_f_cipher(void); +const BIO_METHOD *BIO_f_reliable(void); +__owur int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, + const unsigned char *i, int enc); + +const EVP_MD *EVP_md_null(void); +# ifndef OPENSSL_NO_MD2 +const EVP_MD *EVP_md2(void); +# endif +# ifndef OPENSSL_NO_MD4 +const EVP_MD *EVP_md4(void); +# endif +# ifndef OPENSSL_NO_MD5 +const EVP_MD *EVP_md5(void); +const EVP_MD *EVP_md5_sha1(void); +# endif +# ifndef OPENSSL_NO_BLAKE2 +const EVP_MD *EVP_blake2b512(void); +const EVP_MD *EVP_blake2s256(void); +# endif +const EVP_MD *EVP_sha1(void); +const EVP_MD *EVP_sha224(void); +const EVP_MD *EVP_sha256(void); +const EVP_MD *EVP_sha384(void); +const EVP_MD *EVP_sha512(void); +# ifndef OPENSSL_NO_MDC2 +const EVP_MD *EVP_mdc2(void); +# endif +# ifndef OPENSSL_NO_RMD160 +const EVP_MD *EVP_ripemd160(void); +# endif +# ifndef OPENSSL_NO_WHIRLPOOL +const EVP_MD *EVP_whirlpool(void); +# endif +const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ +# ifndef OPENSSL_NO_DES +const EVP_CIPHER *EVP_des_ecb(void); +const EVP_CIPHER *EVP_des_ede(void); +const EVP_CIPHER *EVP_des_ede3(void); +const EVP_CIPHER *EVP_des_ede_ecb(void); +const EVP_CIPHER *EVP_des_ede3_ecb(void); +const EVP_CIPHER *EVP_des_cfb64(void); +# define EVP_des_cfb EVP_des_cfb64 +const EVP_CIPHER *EVP_des_cfb1(void); +const EVP_CIPHER *EVP_des_cfb8(void); +const EVP_CIPHER *EVP_des_ede_cfb64(void); +# define EVP_des_ede_cfb EVP_des_ede_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb64(void); +# define EVP_des_ede3_cfb EVP_des_ede3_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb1(void); +const EVP_CIPHER *EVP_des_ede3_cfb8(void); +const EVP_CIPHER *EVP_des_ofb(void); +const EVP_CIPHER *EVP_des_ede_ofb(void); +const EVP_CIPHER *EVP_des_ede3_ofb(void); +const EVP_CIPHER *EVP_des_cbc(void); +const EVP_CIPHER *EVP_des_ede_cbc(void); +const EVP_CIPHER *EVP_des_ede3_cbc(void); +const EVP_CIPHER *EVP_desx_cbc(void); +const EVP_CIPHER *EVP_des_ede3_wrap(void); +/* + * This should now be supported through the dev_crypto ENGINE. But also, why + * are rc4 and md5 declarations made here inside a "NO_DES" precompiler + * branch? + */ +# endif +# ifndef OPENSSL_NO_RC4 +const EVP_CIPHER *EVP_rc4(void); +const EVP_CIPHER *EVP_rc4_40(void); +# ifndef OPENSSL_NO_MD5 +const EVP_CIPHER *EVP_rc4_hmac_md5(void); +# endif +# endif +# ifndef OPENSSL_NO_IDEA +const EVP_CIPHER *EVP_idea_ecb(void); +const EVP_CIPHER *EVP_idea_cfb64(void); +# define EVP_idea_cfb EVP_idea_cfb64 +const EVP_CIPHER *EVP_idea_ofb(void); +const EVP_CIPHER *EVP_idea_cbc(void); +# endif +# ifndef OPENSSL_NO_RC2 +const EVP_CIPHER *EVP_rc2_ecb(void); +const EVP_CIPHER *EVP_rc2_cbc(void); +const EVP_CIPHER *EVP_rc2_40_cbc(void); +const EVP_CIPHER *EVP_rc2_64_cbc(void); +const EVP_CIPHER *EVP_rc2_cfb64(void); +# define EVP_rc2_cfb EVP_rc2_cfb64 +const EVP_CIPHER *EVP_rc2_ofb(void); +# endif +# ifndef OPENSSL_NO_BF +const EVP_CIPHER *EVP_bf_ecb(void); +const EVP_CIPHER *EVP_bf_cbc(void); +const EVP_CIPHER *EVP_bf_cfb64(void); +# define EVP_bf_cfb EVP_bf_cfb64 +const EVP_CIPHER *EVP_bf_ofb(void); +# endif +# ifndef OPENSSL_NO_CAST +const EVP_CIPHER *EVP_cast5_ecb(void); +const EVP_CIPHER *EVP_cast5_cbc(void); +const EVP_CIPHER *EVP_cast5_cfb64(void); +# define EVP_cast5_cfb EVP_cast5_cfb64 +const EVP_CIPHER *EVP_cast5_ofb(void); +# endif +# ifndef OPENSSL_NO_RC5 +const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void); +const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void); +const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void); +# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64 +const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void); +# endif +const EVP_CIPHER *EVP_aes_128_ecb(void); +const EVP_CIPHER *EVP_aes_128_cbc(void); +const EVP_CIPHER *EVP_aes_128_cfb1(void); +const EVP_CIPHER *EVP_aes_128_cfb8(void); +const EVP_CIPHER *EVP_aes_128_cfb128(void); +# define EVP_aes_128_cfb EVP_aes_128_cfb128 +const EVP_CIPHER *EVP_aes_128_ofb(void); +const EVP_CIPHER *EVP_aes_128_ctr(void); +const EVP_CIPHER *EVP_aes_128_ccm(void); +const EVP_CIPHER *EVP_aes_128_gcm(void); +const EVP_CIPHER *EVP_aes_128_xts(void); +const EVP_CIPHER *EVP_aes_128_wrap(void); +const EVP_CIPHER *EVP_aes_128_wrap_pad(void); +# ifndef OPENSSL_NO_OCB +const EVP_CIPHER *EVP_aes_128_ocb(void); +# endif +const EVP_CIPHER *EVP_aes_192_ecb(void); +const EVP_CIPHER *EVP_aes_192_cbc(void); +const EVP_CIPHER *EVP_aes_192_cfb1(void); +const EVP_CIPHER *EVP_aes_192_cfb8(void); +const EVP_CIPHER *EVP_aes_192_cfb128(void); +# define EVP_aes_192_cfb EVP_aes_192_cfb128 +const EVP_CIPHER *EVP_aes_192_ofb(void); +const EVP_CIPHER *EVP_aes_192_ctr(void); +const EVP_CIPHER *EVP_aes_192_ccm(void); +const EVP_CIPHER *EVP_aes_192_gcm(void); +const EVP_CIPHER *EVP_aes_192_wrap(void); +const EVP_CIPHER *EVP_aes_192_wrap_pad(void); +# ifndef OPENSSL_NO_OCB +const EVP_CIPHER *EVP_aes_192_ocb(void); +# endif +const EVP_CIPHER *EVP_aes_256_ecb(void); +const EVP_CIPHER *EVP_aes_256_cbc(void); +const EVP_CIPHER *EVP_aes_256_cfb1(void); +const EVP_CIPHER *EVP_aes_256_cfb8(void); +const EVP_CIPHER *EVP_aes_256_cfb128(void); +# define EVP_aes_256_cfb EVP_aes_256_cfb128 +const EVP_CIPHER *EVP_aes_256_ofb(void); +const EVP_CIPHER *EVP_aes_256_ctr(void); +const EVP_CIPHER *EVP_aes_256_ccm(void); +const EVP_CIPHER *EVP_aes_256_gcm(void); +const EVP_CIPHER *EVP_aes_256_xts(void); +const EVP_CIPHER *EVP_aes_256_wrap(void); +const EVP_CIPHER *EVP_aes_256_wrap_pad(void); +# ifndef OPENSSL_NO_OCB +const EVP_CIPHER *EVP_aes_256_ocb(void); +# endif +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); +const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); +const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); +# ifndef OPENSSL_NO_CAMELLIA +const EVP_CIPHER *EVP_camellia_128_ecb(void); +const EVP_CIPHER *EVP_camellia_128_cbc(void); +const EVP_CIPHER *EVP_camellia_128_cfb1(void); +const EVP_CIPHER *EVP_camellia_128_cfb8(void); +const EVP_CIPHER *EVP_camellia_128_cfb128(void); +# define EVP_camellia_128_cfb EVP_camellia_128_cfb128 +const EVP_CIPHER *EVP_camellia_128_ofb(void); +const EVP_CIPHER *EVP_camellia_128_ctr(void); +const EVP_CIPHER *EVP_camellia_192_ecb(void); +const EVP_CIPHER *EVP_camellia_192_cbc(void); +const EVP_CIPHER *EVP_camellia_192_cfb1(void); +const EVP_CIPHER *EVP_camellia_192_cfb8(void); +const EVP_CIPHER *EVP_camellia_192_cfb128(void); +# define EVP_camellia_192_cfb EVP_camellia_192_cfb128 +const EVP_CIPHER *EVP_camellia_192_ofb(void); +const EVP_CIPHER *EVP_camellia_192_ctr(void); +const EVP_CIPHER *EVP_camellia_256_ecb(void); +const EVP_CIPHER *EVP_camellia_256_cbc(void); +const EVP_CIPHER *EVP_camellia_256_cfb1(void); +const EVP_CIPHER *EVP_camellia_256_cfb8(void); +const EVP_CIPHER *EVP_camellia_256_cfb128(void); +# define EVP_camellia_256_cfb EVP_camellia_256_cfb128 +const EVP_CIPHER *EVP_camellia_256_ofb(void); +const EVP_CIPHER *EVP_camellia_256_ctr(void); +# endif +# ifndef OPENSSL_NO_CHACHA +const EVP_CIPHER *EVP_chacha20(void); +# ifndef OPENSSL_NO_POLY1305 +const EVP_CIPHER *EVP_chacha20_poly1305(void); +# endif +# endif + +# ifndef OPENSSL_NO_SEED +const EVP_CIPHER *EVP_seed_ecb(void); +const EVP_CIPHER *EVP_seed_cbc(void); +const EVP_CIPHER *EVP_seed_cfb128(void); +# define EVP_seed_cfb EVP_seed_cfb128 +const EVP_CIPHER *EVP_seed_ofb(void); +# endif + +# if OPENSSL_API_COMPAT < 0x10100000L +# define OPENSSL_add_all_algorithms_conf() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS \ + | OPENSSL_INIT_LOAD_CONFIG, NULL) +# define OPENSSL_add_all_algorithms_noconf() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) + +# ifdef OPENSSL_LOAD_CONF +# define OpenSSL_add_all_algorithms() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS \ + | OPENSSL_INIT_LOAD_CONFIG, NULL) +# else +# define OpenSSL_add_all_algorithms() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ + | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) +# endif + +# define OpenSSL_add_all_ciphers() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL) +# define OpenSSL_add_all_digests() \ + OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) + +# define EVP_cleanup() while(0) continue +# endif + +int EVP_add_cipher(const EVP_CIPHER *cipher); +int EVP_add_digest(const EVP_MD *digest); + +const EVP_CIPHER *EVP_get_cipherbyname(const char *name); +const EVP_MD *EVP_get_digestbyname(const char *name); + +void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_CIPHER_do_all_sorted(void (*fn) + (const EVP_CIPHER *ciph, const char *from, + const char *to, void *x), void *arg); + +void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, + const char *from, const char *to, void *x), + void *arg); +void EVP_MD_do_all_sorted(void (*fn) + (const EVP_MD *ciph, const char *from, + const char *to, void *x), void *arg); + +int EVP_PKEY_decrypt_old(unsigned char *dec_key, + const unsigned char *enc_key, int enc_key_len, + EVP_PKEY *private_key); +int EVP_PKEY_encrypt_old(unsigned char *enc_key, + const unsigned char *key, int key_len, + EVP_PKEY *pub_key); +int EVP_PKEY_type(int type); +int EVP_PKEY_id(const EVP_PKEY *pkey); +int EVP_PKEY_base_id(const EVP_PKEY *pkey); +int EVP_PKEY_bits(const EVP_PKEY *pkey); +int EVP_PKEY_security_bits(const EVP_PKEY *pkey); +int EVP_PKEY_size(EVP_PKEY *pkey); +int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); +int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); +int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); +void *EVP_PKEY_get0(const EVP_PKEY *pkey); +const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len); + +# ifndef OPENSSL_NO_RSA +struct rsa_st; +int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); +struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); +struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DSA +struct dsa_st; +int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); +struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); +struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_DH +struct dh_st; +int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); +struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey); +struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); +# endif +# ifndef OPENSSL_NO_EC +struct ec_key_st; +int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); +struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); +struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); +# endif + +EVP_PKEY *EVP_PKEY_new(void); +int EVP_PKEY_up_ref(EVP_PKEY *pkey); +void EVP_PKEY_free(EVP_PKEY *pkey); + +EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); + +EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); + +int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); +int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); +int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode); +int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); +int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx); + +int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); + +int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey, + const unsigned char *pt, size_t ptlen); +size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *pkey, unsigned char **ppt); + +int EVP_CIPHER_type(const EVP_CIPHER *ctx); + +/* calls methods */ +int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* These are used by EVP_CIPHER methods */ +int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); +int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + +/* PKCS5 password based encryption */ +int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); +int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + int keylen, unsigned char *out); +int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, + const EVP_MD *digest, int keylen, unsigned char *out); +int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md, int en_de); + +#ifndef OPENSSL_NO_SCRYPT +int EVP_PBE_scrypt(const char *pass, size_t passlen, + const unsigned char *salt, size_t saltlen, + uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem, + unsigned char *key, size_t keylen); + +int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, + int passlen, ASN1_TYPE *param, + const EVP_CIPHER *c, const EVP_MD *md, int en_de); +#endif + +void PKCS5_PBE_add(void); + +int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, + ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); + +/* PBE type */ + +/* Can appear as the outermost AlgorithmIdentifier */ +# define EVP_PBE_TYPE_OUTER 0x0 +/* Is an PRF type OID */ +# define EVP_PBE_TYPE_PRF 0x1 +/* Is a PKCS#5 v2.0 KDF */ +# define EVP_PBE_TYPE_KDF 0x2 + +int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, + int md_nid, EVP_PBE_KEYGEN *keygen); +int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, + EVP_PBE_KEYGEN *keygen); +int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, + EVP_PBE_KEYGEN **pkeygen); +void EVP_PBE_cleanup(void); +int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num); + +# define ASN1_PKEY_ALIAS 0x1 +# define ASN1_PKEY_DYNAMIC 0x2 +# define ASN1_PKEY_SIGPARAM_NULL 0x4 + +# define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 +# define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 +# define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 +# define ASN1_PKEY_CTRL_CMS_SIGN 0x5 +# define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 +# define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8 + +# define ASN1_PKEY_CTRL_SET1_TLS_ENCPT 0x9 +# define ASN1_PKEY_CTRL_GET1_TLS_ENCPT 0xa + +int EVP_PKEY_asn1_get_count(void); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, + const char *str, int len); +int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); +int EVP_PKEY_asn1_add_alias(int to, int from); +int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, + int *ppkey_flags, const char **pinfo, + const char **ppem_str, + const EVP_PKEY_ASN1_METHOD *ameth); + +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey); +EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, + const char *pem_str, + const char *info); +void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, + const EVP_PKEY_ASN1_METHOD *src); +void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); +void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, + int (*pub_decode) (EVP_PKEY *pk, + X509_PUBKEY *pub), + int (*pub_encode) (X509_PUBKEY *pub, + const EVP_PKEY *pk), + int (*pub_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*pub_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, ASN1_PCTX *pctx), + int (*pkey_size) (const EVP_PKEY *pk), + int (*pkey_bits) (const EVP_PKEY *pk)); +void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, + int (*priv_decode) (EVP_PKEY *pk, + const PKCS8_PRIV_KEY_INFO + *p8inf), + int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, + const EVP_PKEY *pk), + int (*priv_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); +void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, + int (*param_decode) (EVP_PKEY *pkey, + const unsigned char **pder, + int derlen), + int (*param_encode) (const EVP_PKEY *pkey, + unsigned char **pder), + int (*param_missing) (const EVP_PKEY *pk), + int (*param_copy) (EVP_PKEY *to, + const EVP_PKEY *from), + int (*param_cmp) (const EVP_PKEY *a, + const EVP_PKEY *b), + int (*param_print) (BIO *out, + const EVP_PKEY *pkey, + int indent, + ASN1_PCTX *pctx)); + +void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, + void (*pkey_free) (EVP_PKEY *pkey)); +void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_ctrl) (EVP_PKEY *pkey, int op, + long arg1, void *arg2)); +void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, + int (*item_verify) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *a, + ASN1_BIT_STRING *sig, + EVP_PKEY *pkey), + int (*item_sign) (EVP_MD_CTX *ctx, + const ASN1_ITEM *it, + void *asn, + X509_ALGOR *alg1, + X509_ALGOR *alg2, + ASN1_BIT_STRING *sig)); + +void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, + int (*pkey_security_bits) (const EVP_PKEY + *pk)); + +# define EVP_PKEY_OP_UNDEFINED 0 +# define EVP_PKEY_OP_PARAMGEN (1<<1) +# define EVP_PKEY_OP_KEYGEN (1<<2) +# define EVP_PKEY_OP_SIGN (1<<3) +# define EVP_PKEY_OP_VERIFY (1<<4) +# define EVP_PKEY_OP_VERIFYRECOVER (1<<5) +# define EVP_PKEY_OP_SIGNCTX (1<<6) +# define EVP_PKEY_OP_VERIFYCTX (1<<7) +# define EVP_PKEY_OP_ENCRYPT (1<<8) +# define EVP_PKEY_OP_DECRYPT (1<<9) +# define EVP_PKEY_OP_DERIVE (1<<10) + +# define EVP_PKEY_OP_TYPE_SIG \ + (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ + | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) + +# define EVP_PKEY_OP_TYPE_CRYPT \ + (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) + +# define EVP_PKEY_OP_TYPE_NOGEN \ + (EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_DERIVE) + +# define EVP_PKEY_OP_TYPE_GEN \ + (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) + +# define EVP_PKEY_CTX_set_signature_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_GET_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set_mac_key(ctx, key, len) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_SET_MAC_KEY, len, (void *)key) + +# define EVP_PKEY_CTRL_MD 1 +# define EVP_PKEY_CTRL_PEER_KEY 2 + +# define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 +# define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 + +# define EVP_PKEY_CTRL_PKCS7_SIGN 5 + +# define EVP_PKEY_CTRL_SET_MAC_KEY 6 + +# define EVP_PKEY_CTRL_DIGESTINIT 7 + +/* Used by GOST key encryption in TLS */ +# define EVP_PKEY_CTRL_SET_IV 8 + +# define EVP_PKEY_CTRL_CMS_ENCRYPT 9 +# define EVP_PKEY_CTRL_CMS_DECRYPT 10 +# define EVP_PKEY_CTRL_CMS_SIGN 11 + +# define EVP_PKEY_CTRL_CIPHER 12 + +# define EVP_PKEY_CTRL_GET_MD 13 + +# define EVP_PKEY_ALG_CTRL 0x1000 + +# define EVP_PKEY_FLAG_AUTOARGLEN 2 +/* + * Method handles all operations: don't assume any digest related defaults. + */ +# define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4 + +const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); +EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags); +void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, + const EVP_PKEY_METHOD *meth); +void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); +void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); +int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); + +EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, + int cmd, int p1, void *p2); +int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, + const char *value); + +int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str); +int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex); + +int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); + +EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, + const unsigned char *key, int keylen); + +void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); +EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); + +EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); + +void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, + const unsigned char *sig, size_t siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, + unsigned char *rout, size_t *routlen, + const unsigned char *sig, size_t siglen); +int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); +int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, + unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); + +int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); +int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); + +typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); +int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); + +void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); +EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); + +void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, + int (*init) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, + int (*copy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, + void (*cleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, + int (*paramgen_init) (EVP_PKEY_CTX *ctx), + int (*paramgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, + int (*keygen_init) (EVP_PKEY_CTX *ctx), + int (*keygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, + int (*sign_init) (EVP_PKEY_CTX *ctx), + int (*sign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, + int (*verify_init) (EVP_PKEY_CTX *ctx), + int (*verify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, + int (*verify_recover_init) (EVP_PKEY_CTX + *ctx), + int (*verify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, + int (*signctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*signctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, + int (*verifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (*verifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, + int (*encrypt_init) (EVP_PKEY_CTX *ctx), + int (*encryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, + int (*decrypt_init) (EVP_PKEY_CTX *ctx), + int (*decrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, + int (*derive_init) (EVP_PKEY_CTX *ctx), + int (*derive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, + int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (*ctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, + int (**pinit) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_copy(EVP_PKEY_METHOD *pmeth, + int (**pcopy) (EVP_PKEY_CTX *dst, + EVP_PKEY_CTX *src)); + +void EVP_PKEY_meth_get_cleanup(EVP_PKEY_METHOD *pmeth, + void (**pcleanup) (EVP_PKEY_CTX *ctx)); + +void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD *pmeth, + int (**pparamgen_init) (EVP_PKEY_CTX *ctx), + int (**pparamgen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth, + int (**pkeygen_init) (EVP_PKEY_CTX *ctx), + int (**pkeygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)); + +void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, + int (**psign_init) (EVP_PKEY_CTX *ctx), + int (**psign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD *pmeth, + int (**pverify_init) (EVP_PKEY_CTX *ctx), + int (**pverify) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth, + int (**pverify_recover_init) (EVP_PKEY_CTX + *ctx), + int (**pverify_recover) (EVP_PKEY_CTX + *ctx, + unsigned char + *sig, + size_t *siglen, + const unsigned + char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth, + int (**psignctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**psignctx) (EVP_PKEY_CTX *ctx, + unsigned char *sig, + size_t *siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth, + int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, + EVP_MD_CTX *mctx), + int (**pverifyctx) (EVP_PKEY_CTX *ctx, + const unsigned char *sig, + int siglen, + EVP_MD_CTX *mctx)); + +void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth, + int (**pencrypt_init) (EVP_PKEY_CTX *ctx), + int (**pencryptfn) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, + int (**pdecrypt_init) (EVP_PKEY_CTX *ctx), + int (**pdecrypt) (EVP_PKEY_CTX *ctx, + unsigned char *out, + size_t *outlen, + const unsigned char *in, + size_t inlen)); + +void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth, + int (**pderive_init) (EVP_PKEY_CTX *ctx), + int (**pderive) (EVP_PKEY_CTX *ctx, + unsigned char *key, + size_t *keylen)); + +void EVP_PKEY_meth_get_ctrl(EVP_PKEY_METHOD *pmeth, + int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, + void *p2), + int (**pctrl_str) (EVP_PKEY_CTX *ctx, + const char *type, + const char *value)); + +void EVP_add_alg_module(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_EVP_strings(void); + +/* Error codes for the EVP functions. */ + +/* Function codes. */ +# define EVP_F_AESNI_INIT_KEY 165 +# define EVP_F_AES_INIT_KEY 133 +# define EVP_F_AES_T4_INIT_KEY 178 +# define EVP_F_ALG_MODULE_INIT 177 +# define EVP_F_CAMELLIA_INIT_KEY 159 +# define EVP_F_CHACHA20_POLY1305_CTRL 182 +# define EVP_F_CMLL_T4_INIT_KEY 179 +# define EVP_F_DO_SIGVER_INIT 161 +# define EVP_F_EVP_CIPHERINIT_EX 123 +# define EVP_F_EVP_CIPHER_CTX_COPY 163 +# define EVP_F_EVP_CIPHER_CTX_CTRL 124 +# define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 +# define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DECRYPTUPDATE 166 +# define EVP_F_EVP_DIGESTINIT_EX 128 +# define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_ENCRYPTUPDATE 167 +# define EVP_F_EVP_MD_CTX_COPY_EX 110 +# define EVP_F_EVP_MD_SIZE 162 +# define EVP_F_EVP_OPENINIT 102 +# define EVP_F_EVP_PBE_ALG_ADD 115 +# define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 +# define EVP_F_EVP_PBE_CIPHERINIT 116 +# define EVP_F_EVP_PBE_SCRYPT 181 +# define EVP_F_EVP_PKCS82PKEY 111 +# define EVP_F_EVP_PKEY2PKCS8 113 +# define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 +# define EVP_F_EVP_PKEY_CTX_CTRL 137 +# define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 +# define EVP_F_EVP_PKEY_CTX_DUP 156 +# define EVP_F_EVP_PKEY_DECRYPT 104 +# define EVP_F_EVP_PKEY_DECRYPT_INIT 138 +# define EVP_F_EVP_PKEY_DECRYPT_OLD 151 +# define EVP_F_EVP_PKEY_DERIVE 153 +# define EVP_F_EVP_PKEY_DERIVE_INIT 154 +# define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 +# define EVP_F_EVP_PKEY_ENCRYPT 105 +# define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 +# define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 +# define EVP_F_EVP_PKEY_GET0_DH 119 +# define EVP_F_EVP_PKEY_GET0_DSA 120 +# define EVP_F_EVP_PKEY_GET0_EC_KEY 131 +# define EVP_F_EVP_PKEY_GET0_HMAC 183 +# define EVP_F_EVP_PKEY_GET0_RSA 121 +# define EVP_F_EVP_PKEY_KEYGEN 146 +# define EVP_F_EVP_PKEY_KEYGEN_INIT 147 +# define EVP_F_EVP_PKEY_NEW 106 +# define EVP_F_EVP_PKEY_PARAMGEN 148 +# define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 +# define EVP_F_EVP_PKEY_SIGN 140 +# define EVP_F_EVP_PKEY_SIGN_INIT 141 +# define EVP_F_EVP_PKEY_VERIFY 142 +# define EVP_F_EVP_PKEY_VERIFY_INIT 143 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 +# define EVP_F_EVP_SIGNFINAL 107 +# define EVP_F_EVP_VERIFYFINAL 108 +# define EVP_F_INT_CTX_NEW 157 +# define EVP_F_PKCS5_PBE_KEYIVGEN 117 +# define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 +# define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 +# define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180 +# define EVP_F_PKEY_SET_TYPE 158 +# define EVP_F_RC2_MAGIC_TO_METH 109 +# define EVP_F_RC5_CTRL 125 + +/* Reason codes. */ +# define EVP_R_AES_KEY_SETUP_FAILED 143 +# define EVP_R_BAD_DECRYPT 100 +# define EVP_R_BUFFER_TOO_SMALL 155 +# define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 +# define EVP_R_CIPHER_PARAMETER_ERROR 122 +# define EVP_R_COMMAND_NOT_SUPPORTED 147 +# define EVP_R_COPY_ERROR 173 +# define EVP_R_CTRL_NOT_IMPLEMENTED 132 +# define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 +# define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 +# define EVP_R_DECODE_ERROR 114 +# define EVP_R_DIFFERENT_KEY_TYPES 101 +# define EVP_R_DIFFERENT_PARAMETERS 153 +# define EVP_R_ERROR_LOADING_SECTION 165 +# define EVP_R_ERROR_SETTING_FIPS_MODE 166 +# define EVP_R_EXPECTING_AN_HMAC_KEY 174 +# define EVP_R_EXPECTING_AN_RSA_KEY 127 +# define EVP_R_EXPECTING_A_DH_KEY 128 +# define EVP_R_EXPECTING_A_DSA_KEY 129 +# define EVP_R_EXPECTING_A_EC_KEY 142 +# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 +# define EVP_R_ILLEGAL_SCRYPT_PARAMETERS 171 +# define EVP_R_INITIALIZATION_ERROR 134 +# define EVP_R_INPUT_NOT_INITIALIZED 111 +# define EVP_R_INVALID_DIGEST 152 +# define EVP_R_INVALID_FIPS_MODE 168 +# define EVP_R_INVALID_KEY_LENGTH 130 +# define EVP_R_INVALID_OPERATION 148 +# define EVP_R_KEYGEN_FAILURE 120 +# define EVP_R_MEMORY_LIMIT_EXCEEDED 172 +# define EVP_R_MESSAGE_DIGEST_IS_NULL 159 +# define EVP_R_METHOD_NOT_SUPPORTED 144 +# define EVP_R_MISSING_PARAMETERS 103 +# define EVP_R_NO_CIPHER_SET 131 +# define EVP_R_NO_DEFAULT_DIGEST 158 +# define EVP_R_NO_DIGEST_SET 139 +# define EVP_R_NO_KEY_SET 154 +# define EVP_R_NO_OPERATION_SET 149 +# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 +# define EVP_R_OPERATON_NOT_INITIALIZED 151 +# define EVP_R_PARTIALLY_OVERLAPPING 162 +# define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 +# define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 +# define EVP_R_PUBLIC_KEY_NOT_RSA 106 +# define EVP_R_UNKNOWN_CIPHER 160 +# define EVP_R_UNKNOWN_DIGEST 161 +# define EVP_R_UNKNOWN_OPTION 169 +# define EVP_R_UNKNOWN_PBE_ALGORITHM 121 +# define EVP_R_UNSUPPORTED_NUMBER_OF_ROUNDS 135 +# define EVP_R_UNSUPPORTED_ALGORITHM 156 +# define EVP_R_UNSUPPORTED_CIPHER 107 +# define EVP_R_UNSUPPORTED_KEYLENGTH 123 +# define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 +# define EVP_R_UNSUPPORTED_KEY_SIZE 108 +# define EVP_R_UNSUPPORTED_PRF 125 +# define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 +# define EVP_R_UNSUPPORTED_SALT_TYPE 126 +# define EVP_R_WRAP_MODE_NOT_ALLOWED 170 +# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/hmac.h b/android/x86_64/include/openssl/hmac.h new file mode 100644 index 00000000..9f068960 --- /dev/null +++ b/android/x86_64/include/openssl/hmac.h @@ -0,0 +1,49 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_HMAC_H +# define HEADER_HMAC_H + +# include + +# include + +# define HMAC_MAX_MD_CBLOCK 128/* largest known is SHA512 */ + +#ifdef __cplusplus +extern "C" { +#endif + +size_t HMAC_size(const HMAC_CTX *e); +HMAC_CTX *HMAC_CTX_new(void); +int HMAC_CTX_reset(HMAC_CTX *ctx); +void HMAC_CTX_free(HMAC_CTX *ctx); + +DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md)) + +/*__owur*/ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md, ENGINE *impl); +/*__owur*/ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, + size_t len); +/*__owur*/ int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, + unsigned int *len); +unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, + const unsigned char *d, size_t n, unsigned char *md, + unsigned int *md_len); +__owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); + +void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); +const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/android/x86_64/include/openssl/idea.h b/android/x86_64/include/openssl/idea.h new file mode 100644 index 00000000..4334f3ea --- /dev/null +++ b/android/x86_64/include/openssl/idea.h @@ -0,0 +1,64 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_IDEA_H +# define HEADER_IDEA_H + +# include + +# ifndef OPENSSL_NO_IDEA +# ifdef __cplusplus +extern "C" { +# endif + +typedef unsigned int IDEA_INT; + +# define IDEA_ENCRYPT 1 +# define IDEA_DECRYPT 0 + +# define IDEA_BLOCK 8 +# define IDEA_KEY_LENGTH 16 + +typedef struct idea_key_st { + IDEA_INT data[9][6]; +} IDEA_KEY_SCHEDULE; + +const char *IDEA_options(void); +void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, + IDEA_KEY_SCHEDULE *ks); +void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); +void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); +void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int enc); +void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num, int enc); +void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num); +void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define idea_options IDEA_options +# define idea_ecb_encrypt IDEA_ecb_encrypt +# define idea_set_encrypt_key IDEA_set_encrypt_key +# define idea_set_decrypt_key IDEA_set_decrypt_key +# define idea_cbc_encrypt IDEA_cbc_encrypt +# define idea_cfb64_encrypt IDEA_cfb64_encrypt +# define idea_ofb64_encrypt IDEA_ofb64_encrypt +# define idea_encrypt IDEA_encrypt +# endif + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/kdf.h b/android/x86_64/include/openssl/kdf.h new file mode 100644 index 00000000..9f87f788 --- /dev/null +++ b/android/x86_64/include/openssl/kdf.h @@ -0,0 +1,75 @@ +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_KDF_H +# define HEADER_KDF_H + +#ifdef __cplusplus +extern "C" { +#endif + +# define EVP_PKEY_CTRL_TLS_MD (EVP_PKEY_ALG_CTRL) +# define EVP_PKEY_CTRL_TLS_SECRET (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_TLS_SEED (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_HKDF_MD (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_HKDF_SALT (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_HKDF_KEY (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_HKDF_INFO (EVP_PKEY_ALG_CTRL + 6) + +# define EVP_PKEY_CTX_set_tls1_prf_md(pctx, md) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_set1_tls1_prf_secret(pctx, sec, seclen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_SECRET, seclen, (void *)sec) + +# define EVP_PKEY_CTX_add1_tls1_prf_seed(pctx, seed, seedlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_SEED, seedlen, (void *)seed) + +# define EVP_PKEY_CTX_set_hkdf_md(pctx, md) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_set1_hkdf_salt(pctx, salt, saltlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_SALT, saltlen, (void *)salt) + +# define EVP_PKEY_CTX_set1_hkdf_key(pctx, key, keylen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_KEY, keylen, (void *)key) + +# define EVP_PKEY_CTX_add1_hkdf_info(pctx, info, infolen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_INFO, infolen, (void *)info) + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_KDF_strings(void); + +/* Error codes for the KDF functions. */ + +/* Function codes. */ +# define KDF_F_PKEY_TLS1_PRF_CTRL_STR 100 +# define KDF_F_PKEY_TLS1_PRF_DERIVE 101 + +/* Reason codes. */ +# define KDF_R_INVALID_DIGEST 100 +# define KDF_R_MISSING_PARAMETER 101 +# define KDF_R_VALUE_MISSING 102 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/lhash.h b/android/x86_64/include/openssl/lhash.h new file mode 100644 index 00000000..e2ccb65d --- /dev/null +++ b/android/x86_64/include/openssl/lhash.h @@ -0,0 +1,204 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Header for dynamic hash table routines Author - Eric Young + */ + +#ifndef HEADER_LHASH_H +# define HEADER_LHASH_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct lhash_node_st OPENSSL_LH_NODE; +typedef int (*OPENSSL_LH_COMPFUNC) (const void *, const void *); +typedef unsigned long (*OPENSSL_LH_HASHFUNC) (const void *); +typedef void (*OPENSSL_LH_DOALL_FUNC) (void *); +typedef void (*OPENSSL_LH_DOALL_FUNCARG) (void *, void *); +typedef struct lhash_st OPENSSL_LHASH; + +/* + * Macros for declaring and implementing type-safe wrappers for LHASH + * callbacks. This way, callbacks can be provided to LHASH structures without + * function pointer casting and the macro-defined callbacks provide + * per-variable casting before deferring to the underlying type-specific + * callbacks. NB: It is possible to place a "static" in front of both the + * DECLARE and IMPLEMENT macros if the functions are strictly internal. + */ + +/* First: "hash" functions */ +# define DECLARE_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *); +# define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *arg) { \ + const o_type *a = arg; \ + return name##_hash(a); } +# define LHASH_HASH_FN(name) name##_LHASH_HASH + +/* Second: "compare" functions */ +# define DECLARE_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *, const void *); +# define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ + const o_type *a = arg1; \ + const o_type *b = arg2; \ + return name##_cmp(a,b); } +# define LHASH_COMP_FN(name) name##_LHASH_COMP + +/* Fourth: "doall_arg" functions */ +# define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *, void *); +# define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ + o_type *a = arg1; \ + a_type *b = arg2; \ + name##_doall_arg(a, b); } +# define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG + + +# define LH_LOAD_MULT 256 + +int OPENSSL_LH_error(OPENSSL_LHASH *lh); +OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC c); +void OPENSSL_LH_free(OPENSSL_LHASH *lh); +void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data); +void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data); +void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data); +void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func); +void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg); +unsigned long OPENSSL_LH_strhash(const char *c); +unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh); +unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh); +void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load); + +# ifndef OPENSSL_NO_STDIO +void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp); +void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp); +void OPENSSL_LH_node_usage_stats(const OPENSSL_LHASH *lh, FILE *fp); +# endif +void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out); +void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out); +void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define _LHASH OPENSSL_LHASH +# define LHASH_NODE OPENSSL_LH_NODE +# define lh_error OPENSSL_LH_error +# define lh_new OPENSSL_lh_new +# define lh_free OPENSSL_LH_free +# define lh_insert OPENSSL_LH_insert +# define lh_delete OPENSSL_LH_delete +# define lh_retrieve OPENSSL_LH_retrieve +# define lh_doall OPENSSL_LH_doall +# define lh_doall_arg OPENSSL_LH_doall_arg +# define lh_strhash OPENSSL_LH_strhash +# define lh_num_items OPENSSL_LH_num_items +# ifndef OPENSSL_NO_STDIO +# define lh_stats OPENSSL_LH_stats +# define lh_node_stats OPENSSL_LH_node_stats +# define lh_node_usage_stats OPENSSL_LH_node_usage_stats +# endif +# define lh_stats_bio OPENSSL_LH_stats_bio +# define lh_node_stats_bio OPENSSL_LH_node_stats_bio +# define lh_node_usage_stats_bio OPENSSL_LH_node_usage_stats_bio +# endif + +/* Type checking... */ + +# define LHASH_OF(type) struct lhash_st_##type + +# define DEFINE_LHASH_OF(type) \ + LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \ + static ossl_inline LHASH_OF(type) * \ + lh_##type##_new(unsigned long (*hfn)(const type *), \ + int (*cfn)(const type *, const type *)) \ + { \ + return (LHASH_OF(type) *) \ + OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \ + } \ + static ossl_inline void lh_##type##_free(LHASH_OF(type) *lh) \ + { \ + OPENSSL_LH_free((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline type *lh_##type##_insert(LHASH_OF(type) *lh, type *d) \ + { \ + return (type *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_inline type *lh_##type##_delete(LHASH_OF(type) *lh, const type *d) \ + { \ + return (type *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_inline type *lh_##type##_retrieve(LHASH_OF(type) *lh, const type *d) \ + { \ + return (type *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_inline int lh_##type##_error(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_error((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline unsigned long lh_##type##_num_items(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline void lh_##type##_node_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_node_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_inline void lh_##type##_node_usage_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_node_usage_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_inline void lh_##type##_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_inline unsigned long lh_##type##_get_down_load(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh); \ + } \ + static ossl_inline void lh_##type##_set_down_load(LHASH_OF(type) *lh, unsigned long dl) \ + { \ + OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl); \ + } \ + static ossl_inline void lh_##type##_doall(LHASH_OF(type) *lh, \ + void (*doall)(type *)) \ + { \ + OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNC)doall); \ + } \ + LHASH_OF(type) + +#define IMPLEMENT_LHASH_DOALL_ARG_CONST(type, argtype) \ + int_implement_lhash_doall(type, argtype, const type) + +#define IMPLEMENT_LHASH_DOALL_ARG(type, argtype) \ + int_implement_lhash_doall(type, argtype, type) + +#define int_implement_lhash_doall(type, argtype, cbargtype) \ + static ossl_inline void \ + lh_##type##_doall_##argtype(LHASH_OF(type) *lh, \ + void (*fn)(cbargtype *, argtype *), \ + argtype *arg) \ + { \ + OPENSSL_LH_doall_arg((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNCARG)fn, (void *)arg); \ + } \ + LHASH_OF(type) + +DEFINE_LHASH_OF(OPENSSL_STRING); +DEFINE_LHASH_OF(OPENSSL_CSTRING); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/android/x86_64/include/openssl/md2.h b/android/x86_64/include/openssl/md2.h new file mode 100644 index 00000000..7faf8e3d --- /dev/null +++ b/android/x86_64/include/openssl/md2.h @@ -0,0 +1,44 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MD2_H +# define HEADER_MD2_H + +# include + +# ifndef OPENSSL_NO_MD2 +# include +# ifdef __cplusplus +extern "C" { +# endif + +typedef unsigned char MD2_INT; + +# define MD2_DIGEST_LENGTH 16 +# define MD2_BLOCK 16 + +typedef struct MD2state_st { + unsigned int num; + unsigned char data[MD2_BLOCK]; + MD2_INT cksm[MD2_BLOCK]; + MD2_INT state[MD2_BLOCK]; +} MD2_CTX; + +const char *MD2_options(void); +int MD2_Init(MD2_CTX *c); +int MD2_Update(MD2_CTX *c, const unsigned char *data, size_t len); +int MD2_Final(unsigned char *md, MD2_CTX *c); +unsigned char *MD2(const unsigned char *d, size_t n, unsigned char *md); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/md4.h b/android/x86_64/include/openssl/md4.h new file mode 100644 index 00000000..940e29db --- /dev/null +++ b/android/x86_64/include/openssl/md4.h @@ -0,0 +1,51 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MD4_H +# define HEADER_MD4_H + +# include + +# ifndef OPENSSL_NO_MD4 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD4_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define MD4_LONG unsigned int + +# define MD4_CBLOCK 64 +# define MD4_LBLOCK (MD4_CBLOCK/4) +# define MD4_DIGEST_LENGTH 16 + +typedef struct MD4state_st { + MD4_LONG A, B, C, D; + MD4_LONG Nl, Nh; + MD4_LONG data[MD4_LBLOCK]; + unsigned int num; +} MD4_CTX; + +int MD4_Init(MD4_CTX *c); +int MD4_Update(MD4_CTX *c, const void *data, size_t len); +int MD4_Final(unsigned char *md, MD4_CTX *c); +unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); +void MD4_Transform(MD4_CTX *c, const unsigned char *b); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/md5.h b/android/x86_64/include/openssl/md5.h new file mode 100644 index 00000000..2deb7721 --- /dev/null +++ b/android/x86_64/include/openssl/md5.h @@ -0,0 +1,50 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MD5_H +# define HEADER_MD5_H + +# include + +# ifndef OPENSSL_NO_MD5 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD5_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define MD5_LONG unsigned int + +# define MD5_CBLOCK 64 +# define MD5_LBLOCK (MD5_CBLOCK/4) +# define MD5_DIGEST_LENGTH 16 + +typedef struct MD5state_st { + MD5_LONG A, B, C, D; + MD5_LONG Nl, Nh; + MD5_LONG data[MD5_LBLOCK]; + unsigned int num; +} MD5_CTX; + +int MD5_Init(MD5_CTX *c); +int MD5_Update(MD5_CTX *c, const void *data, size_t len); +int MD5_Final(unsigned char *md, MD5_CTX *c); +unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); +void MD5_Transform(MD5_CTX *c, const unsigned char *b); +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/mdc2.h b/android/x86_64/include/openssl/mdc2.h new file mode 100644 index 00000000..aabd2bfa --- /dev/null +++ b/android/x86_64/include/openssl/mdc2.h @@ -0,0 +1,42 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_MDC2_H +# define HEADER_MDC2_H + +# include + +#ifndef OPENSSL_NO_MDC2 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define MDC2_BLOCK 8 +# define MDC2_DIGEST_LENGTH 16 + +typedef struct mdc2_ctx_st { + unsigned int num; + unsigned char data[MDC2_BLOCK]; + DES_cblock h, hh; + int pad_type; /* either 1 or 2, default 1 */ +} MDC2_CTX; + +int MDC2_Init(MDC2_CTX *c); +int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); +int MDC2_Final(unsigned char *md, MDC2_CTX *c); +unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/modes.h b/android/x86_64/include/openssl/modes.h new file mode 100644 index 00000000..a04c6a59 --- /dev/null +++ b/android/x86_64/include/openssl/modes.h @@ -0,0 +1,203 @@ +/* + * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif +typedef void (*block128_f) (const unsigned char in[16], + unsigned char out[16], const void *key); + +typedef void (*cbc128_f) (const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int enc); + +typedef void (*ctr128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16]); + +typedef void (*ccm128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16], + unsigned char cmac[16]); + +void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); +void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); + +void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], unsigned int *num, + block128_f block); + +void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], + unsigned char ecount_buf[16], + unsigned int *num, ctr128_f ctr); + +void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + block128_f block); + +void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, + size_t bits, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); + +size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); +size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, + unsigned char ivec[16], + block128_f block); +size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + +typedef struct gcm128_context GCM128_CONTEXT; + +GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); +void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block); +void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, + size_t len); +int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); +void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); + +typedef struct ccm128_context CCM128_CONTEXT; + +void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, + unsigned int M, unsigned int L, void *key, + block128_f block); +int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, const unsigned char *nonce, + size_t nlen, size_t mlen); +void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, const unsigned char *aad, + size_t alen); +int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len); +int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, + unsigned char *out, size_t len, + ccm128_f stream); +size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); + +typedef struct xts128_context XTS128_CONTEXT; + +int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, + const unsigned char iv[16], + const unsigned char *inp, unsigned char *out, + size_t len, int enc); + +size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); + +size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, size_t inlen, + block128_f block); +size_t CRYPTO_128_wrap_pad(void *key, const unsigned char *icv, + unsigned char *out, const unsigned char *in, + size_t inlen, block128_f block); +size_t CRYPTO_128_unwrap_pad(void *key, const unsigned char *icv, + unsigned char *out, const unsigned char *in, + size_t inlen, block128_f block); + +#ifndef OPENSSL_NO_OCB +typedef struct ocb128_context OCB128_CONTEXT; + +typedef void (*ocb128_f) (const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + size_t start_block_num, + unsigned char offset_i[16], + const unsigned char L_[][16], + unsigned char checksum[16]); + +OCB128_CONTEXT *CRYPTO_ocb128_new(void *keyenc, void *keydec, + block128_f encrypt, block128_f decrypt, + ocb128_f stream); +int CRYPTO_ocb128_init(OCB128_CONTEXT *ctx, void *keyenc, void *keydec, + block128_f encrypt, block128_f decrypt, + ocb128_f stream); +int CRYPTO_ocb128_copy_ctx(OCB128_CONTEXT *dest, OCB128_CONTEXT *src, + void *keyenc, void *keydec); +int CRYPTO_ocb128_setiv(OCB128_CONTEXT *ctx, const unsigned char *iv, + size_t len, size_t taglen); +int CRYPTO_ocb128_aad(OCB128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx, const unsigned char *in, + unsigned char *out, size_t len); +int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx, const unsigned char *in, + unsigned char *out, size_t len); +int CRYPTO_ocb128_finish(OCB128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +int CRYPTO_ocb128_tag(OCB128_CONTEXT *ctx, unsigned char *tag, size_t len); +void CRYPTO_ocb128_cleanup(OCB128_CONTEXT *ctx); +#endif /* OPENSSL_NO_OCB */ + +#ifdef __cplusplus +} +#endif diff --git a/android/x86_64/include/openssl/obj_mac.h b/android/x86_64/include/openssl/obj_mac.h new file mode 100644 index 00000000..f97f3eaa --- /dev/null +++ b/android/x86_64/include/openssl/obj_mac.h @@ -0,0 +1,4577 @@ +/* + * WARNING: do not edit! + * Generated by crypto/objects/objects.pl + * + * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#define SN_undef "UNDEF" +#define LN_undef "undefined" +#define NID_undef 0 +#define OBJ_undef 0L + +#define SN_itu_t "ITU-T" +#define LN_itu_t "itu-t" +#define NID_itu_t 645 +#define OBJ_itu_t 0L + +#define NID_ccitt 404 +#define OBJ_ccitt OBJ_itu_t + +#define SN_iso "ISO" +#define LN_iso "iso" +#define NID_iso 181 +#define OBJ_iso 1L + +#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" +#define LN_joint_iso_itu_t "joint-iso-itu-t" +#define NID_joint_iso_itu_t 646 +#define OBJ_joint_iso_itu_t 2L + +#define NID_joint_iso_ccitt 393 +#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t + +#define SN_member_body "member-body" +#define LN_member_body "ISO Member Body" +#define NID_member_body 182 +#define OBJ_member_body OBJ_iso,2L + +#define SN_identified_organization "identified-organization" +#define NID_identified_organization 676 +#define OBJ_identified_organization OBJ_iso,3L + +#define SN_hmac_md5 "HMAC-MD5" +#define LN_hmac_md5 "hmac-md5" +#define NID_hmac_md5 780 +#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L + +#define SN_hmac_sha1 "HMAC-SHA1" +#define LN_hmac_sha1 "hmac-sha1" +#define NID_hmac_sha1 781 +#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L + +#define SN_certicom_arc "certicom-arc" +#define NID_certicom_arc 677 +#define OBJ_certicom_arc OBJ_identified_organization,132L + +#define SN_international_organizations "international-organizations" +#define LN_international_organizations "International Organizations" +#define NID_international_organizations 647 +#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L + +#define SN_wap "wap" +#define NID_wap 678 +#define OBJ_wap OBJ_international_organizations,43L + +#define SN_wap_wsg "wap-wsg" +#define NID_wap_wsg 679 +#define OBJ_wap_wsg OBJ_wap,1L + +#define SN_selected_attribute_types "selected-attribute-types" +#define LN_selected_attribute_types "Selected Attribute Types" +#define NID_selected_attribute_types 394 +#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L + +#define SN_clearance "clearance" +#define NID_clearance 395 +#define OBJ_clearance OBJ_selected_attribute_types,55L + +#define SN_ISO_US "ISO-US" +#define LN_ISO_US "ISO US Member Body" +#define NID_ISO_US 183 +#define OBJ_ISO_US OBJ_member_body,840L + +#define SN_X9_57 "X9-57" +#define LN_X9_57 "X9.57" +#define NID_X9_57 184 +#define OBJ_X9_57 OBJ_ISO_US,10040L + +#define SN_X9cm "X9cm" +#define LN_X9cm "X9.57 CM ?" +#define NID_X9cm 185 +#define OBJ_X9cm OBJ_X9_57,4L + +#define SN_dsa "DSA" +#define LN_dsa "dsaEncryption" +#define NID_dsa 116 +#define OBJ_dsa OBJ_X9cm,1L + +#define SN_dsaWithSHA1 "DSA-SHA1" +#define LN_dsaWithSHA1 "dsaWithSHA1" +#define NID_dsaWithSHA1 113 +#define OBJ_dsaWithSHA1 OBJ_X9cm,3L + +#define SN_ansi_X9_62 "ansi-X9-62" +#define LN_ansi_X9_62 "ANSI X9.62" +#define NID_ansi_X9_62 405 +#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L + +#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L + +#define SN_X9_62_prime_field "prime-field" +#define NID_X9_62_prime_field 406 +#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L + +#define SN_X9_62_characteristic_two_field "characteristic-two-field" +#define NID_X9_62_characteristic_two_field 407 +#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L + +#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" +#define NID_X9_62_id_characteristic_two_basis 680 +#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L + +#define SN_X9_62_onBasis "onBasis" +#define NID_X9_62_onBasis 681 +#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L + +#define SN_X9_62_tpBasis "tpBasis" +#define NID_X9_62_tpBasis 682 +#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L + +#define SN_X9_62_ppBasis "ppBasis" +#define NID_X9_62_ppBasis 683 +#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L + +#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L + +#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" +#define NID_X9_62_id_ecPublicKey 408 +#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L + +#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L + +#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L + +#define SN_X9_62_c2pnb163v1 "c2pnb163v1" +#define NID_X9_62_c2pnb163v1 684 +#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L + +#define SN_X9_62_c2pnb163v2 "c2pnb163v2" +#define NID_X9_62_c2pnb163v2 685 +#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L + +#define SN_X9_62_c2pnb163v3 "c2pnb163v3" +#define NID_X9_62_c2pnb163v3 686 +#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L + +#define SN_X9_62_c2pnb176v1 "c2pnb176v1" +#define NID_X9_62_c2pnb176v1 687 +#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L + +#define SN_X9_62_c2tnb191v1 "c2tnb191v1" +#define NID_X9_62_c2tnb191v1 688 +#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L + +#define SN_X9_62_c2tnb191v2 "c2tnb191v2" +#define NID_X9_62_c2tnb191v2 689 +#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L + +#define SN_X9_62_c2tnb191v3 "c2tnb191v3" +#define NID_X9_62_c2tnb191v3 690 +#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L + +#define SN_X9_62_c2onb191v4 "c2onb191v4" +#define NID_X9_62_c2onb191v4 691 +#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L + +#define SN_X9_62_c2onb191v5 "c2onb191v5" +#define NID_X9_62_c2onb191v5 692 +#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L + +#define SN_X9_62_c2pnb208w1 "c2pnb208w1" +#define NID_X9_62_c2pnb208w1 693 +#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L + +#define SN_X9_62_c2tnb239v1 "c2tnb239v1" +#define NID_X9_62_c2tnb239v1 694 +#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L + +#define SN_X9_62_c2tnb239v2 "c2tnb239v2" +#define NID_X9_62_c2tnb239v2 695 +#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L + +#define SN_X9_62_c2tnb239v3 "c2tnb239v3" +#define NID_X9_62_c2tnb239v3 696 +#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L + +#define SN_X9_62_c2onb239v4 "c2onb239v4" +#define NID_X9_62_c2onb239v4 697 +#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L + +#define SN_X9_62_c2onb239v5 "c2onb239v5" +#define NID_X9_62_c2onb239v5 698 +#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L + +#define SN_X9_62_c2pnb272w1 "c2pnb272w1" +#define NID_X9_62_c2pnb272w1 699 +#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L + +#define SN_X9_62_c2pnb304w1 "c2pnb304w1" +#define NID_X9_62_c2pnb304w1 700 +#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L + +#define SN_X9_62_c2tnb359v1 "c2tnb359v1" +#define NID_X9_62_c2tnb359v1 701 +#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L + +#define SN_X9_62_c2pnb368w1 "c2pnb368w1" +#define NID_X9_62_c2pnb368w1 702 +#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L + +#define SN_X9_62_c2tnb431r1 "c2tnb431r1" +#define NID_X9_62_c2tnb431r1 703 +#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L + +#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L + +#define SN_X9_62_prime192v1 "prime192v1" +#define NID_X9_62_prime192v1 409 +#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L + +#define SN_X9_62_prime192v2 "prime192v2" +#define NID_X9_62_prime192v2 410 +#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L + +#define SN_X9_62_prime192v3 "prime192v3" +#define NID_X9_62_prime192v3 411 +#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L + +#define SN_X9_62_prime239v1 "prime239v1" +#define NID_X9_62_prime239v1 412 +#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L + +#define SN_X9_62_prime239v2 "prime239v2" +#define NID_X9_62_prime239v2 413 +#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L + +#define SN_X9_62_prime239v3 "prime239v3" +#define NID_X9_62_prime239v3 414 +#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L + +#define SN_X9_62_prime256v1 "prime256v1" +#define NID_X9_62_prime256v1 415 +#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L + +#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L + +#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" +#define NID_ecdsa_with_SHA1 416 +#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L + +#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" +#define NID_ecdsa_with_Recommended 791 +#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L + +#define SN_ecdsa_with_Specified "ecdsa-with-Specified" +#define NID_ecdsa_with_Specified 792 +#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L + +#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" +#define NID_ecdsa_with_SHA224 793 +#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L + +#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" +#define NID_ecdsa_with_SHA256 794 +#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L + +#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" +#define NID_ecdsa_with_SHA384 795 +#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L + +#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" +#define NID_ecdsa_with_SHA512 796 +#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L + +#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L + +#define SN_secp112r1 "secp112r1" +#define NID_secp112r1 704 +#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L + +#define SN_secp112r2 "secp112r2" +#define NID_secp112r2 705 +#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L + +#define SN_secp128r1 "secp128r1" +#define NID_secp128r1 706 +#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L + +#define SN_secp128r2 "secp128r2" +#define NID_secp128r2 707 +#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L + +#define SN_secp160k1 "secp160k1" +#define NID_secp160k1 708 +#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L + +#define SN_secp160r1 "secp160r1" +#define NID_secp160r1 709 +#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L + +#define SN_secp160r2 "secp160r2" +#define NID_secp160r2 710 +#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L + +#define SN_secp192k1 "secp192k1" +#define NID_secp192k1 711 +#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L + +#define SN_secp224k1 "secp224k1" +#define NID_secp224k1 712 +#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L + +#define SN_secp224r1 "secp224r1" +#define NID_secp224r1 713 +#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L + +#define SN_secp256k1 "secp256k1" +#define NID_secp256k1 714 +#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L + +#define SN_secp384r1 "secp384r1" +#define NID_secp384r1 715 +#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L + +#define SN_secp521r1 "secp521r1" +#define NID_secp521r1 716 +#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L + +#define SN_sect113r1 "sect113r1" +#define NID_sect113r1 717 +#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L + +#define SN_sect113r2 "sect113r2" +#define NID_sect113r2 718 +#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L + +#define SN_sect131r1 "sect131r1" +#define NID_sect131r1 719 +#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L + +#define SN_sect131r2 "sect131r2" +#define NID_sect131r2 720 +#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L + +#define SN_sect163k1 "sect163k1" +#define NID_sect163k1 721 +#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L + +#define SN_sect163r1 "sect163r1" +#define NID_sect163r1 722 +#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L + +#define SN_sect163r2 "sect163r2" +#define NID_sect163r2 723 +#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L + +#define SN_sect193r1 "sect193r1" +#define NID_sect193r1 724 +#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L + +#define SN_sect193r2 "sect193r2" +#define NID_sect193r2 725 +#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L + +#define SN_sect233k1 "sect233k1" +#define NID_sect233k1 726 +#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L + +#define SN_sect233r1 "sect233r1" +#define NID_sect233r1 727 +#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L + +#define SN_sect239k1 "sect239k1" +#define NID_sect239k1 728 +#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L + +#define SN_sect283k1 "sect283k1" +#define NID_sect283k1 729 +#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L + +#define SN_sect283r1 "sect283r1" +#define NID_sect283r1 730 +#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L + +#define SN_sect409k1 "sect409k1" +#define NID_sect409k1 731 +#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L + +#define SN_sect409r1 "sect409r1" +#define NID_sect409r1 732 +#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L + +#define SN_sect571k1 "sect571k1" +#define NID_sect571k1 733 +#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L + +#define SN_sect571r1 "sect571r1" +#define NID_sect571r1 734 +#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L + +#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L + +#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" +#define NID_wap_wsg_idm_ecid_wtls1 735 +#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L + +#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" +#define NID_wap_wsg_idm_ecid_wtls3 736 +#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L + +#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" +#define NID_wap_wsg_idm_ecid_wtls4 737 +#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L + +#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" +#define NID_wap_wsg_idm_ecid_wtls5 738 +#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L + +#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" +#define NID_wap_wsg_idm_ecid_wtls6 739 +#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L + +#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" +#define NID_wap_wsg_idm_ecid_wtls7 740 +#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L + +#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" +#define NID_wap_wsg_idm_ecid_wtls8 741 +#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L + +#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" +#define NID_wap_wsg_idm_ecid_wtls9 742 +#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L + +#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" +#define NID_wap_wsg_idm_ecid_wtls10 743 +#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L + +#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" +#define NID_wap_wsg_idm_ecid_wtls11 744 +#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L + +#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" +#define NID_wap_wsg_idm_ecid_wtls12 745 +#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L + +#define SN_cast5_cbc "CAST5-CBC" +#define LN_cast5_cbc "cast5-cbc" +#define NID_cast5_cbc 108 +#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L + +#define SN_cast5_ecb "CAST5-ECB" +#define LN_cast5_ecb "cast5-ecb" +#define NID_cast5_ecb 109 + +#define SN_cast5_cfb64 "CAST5-CFB" +#define LN_cast5_cfb64 "cast5-cfb" +#define NID_cast5_cfb64 110 + +#define SN_cast5_ofb64 "CAST5-OFB" +#define LN_cast5_ofb64 "cast5-ofb" +#define NID_cast5_ofb64 111 + +#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +#define NID_pbeWithMD5AndCast5_CBC 112 +#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L + +#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" +#define LN_id_PasswordBasedMAC "password based MAC" +#define NID_id_PasswordBasedMAC 782 +#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L + +#define SN_id_DHBasedMac "id-DHBasedMac" +#define LN_id_DHBasedMac "Diffie-Hellman based MAC" +#define NID_id_DHBasedMac 783 +#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L + +#define SN_rsadsi "rsadsi" +#define LN_rsadsi "RSA Data Security, Inc." +#define NID_rsadsi 1 +#define OBJ_rsadsi OBJ_ISO_US,113549L + +#define SN_pkcs "pkcs" +#define LN_pkcs "RSA Data Security, Inc. PKCS" +#define NID_pkcs 2 +#define OBJ_pkcs OBJ_rsadsi,1L + +#define SN_pkcs1 "pkcs1" +#define NID_pkcs1 186 +#define OBJ_pkcs1 OBJ_pkcs,1L + +#define LN_rsaEncryption "rsaEncryption" +#define NID_rsaEncryption 6 +#define OBJ_rsaEncryption OBJ_pkcs1,1L + +#define SN_md2WithRSAEncryption "RSA-MD2" +#define LN_md2WithRSAEncryption "md2WithRSAEncryption" +#define NID_md2WithRSAEncryption 7 +#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L + +#define SN_md4WithRSAEncryption "RSA-MD4" +#define LN_md4WithRSAEncryption "md4WithRSAEncryption" +#define NID_md4WithRSAEncryption 396 +#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L + +#define SN_md5WithRSAEncryption "RSA-MD5" +#define LN_md5WithRSAEncryption "md5WithRSAEncryption" +#define NID_md5WithRSAEncryption 8 +#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L + +#define SN_sha1WithRSAEncryption "RSA-SHA1" +#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +#define NID_sha1WithRSAEncryption 65 +#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L + +#define SN_rsaesOaep "RSAES-OAEP" +#define LN_rsaesOaep "rsaesOaep" +#define NID_rsaesOaep 919 +#define OBJ_rsaesOaep OBJ_pkcs1,7L + +#define SN_mgf1 "MGF1" +#define LN_mgf1 "mgf1" +#define NID_mgf1 911 +#define OBJ_mgf1 OBJ_pkcs1,8L + +#define SN_pSpecified "PSPECIFIED" +#define LN_pSpecified "pSpecified" +#define NID_pSpecified 935 +#define OBJ_pSpecified OBJ_pkcs1,9L + +#define SN_rsassaPss "RSASSA-PSS" +#define LN_rsassaPss "rsassaPss" +#define NID_rsassaPss 912 +#define OBJ_rsassaPss OBJ_pkcs1,10L + +#define SN_sha256WithRSAEncryption "RSA-SHA256" +#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" +#define NID_sha256WithRSAEncryption 668 +#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L + +#define SN_sha384WithRSAEncryption "RSA-SHA384" +#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" +#define NID_sha384WithRSAEncryption 669 +#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L + +#define SN_sha512WithRSAEncryption "RSA-SHA512" +#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" +#define NID_sha512WithRSAEncryption 670 +#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L + +#define SN_sha224WithRSAEncryption "RSA-SHA224" +#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" +#define NID_sha224WithRSAEncryption 671 +#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L + +#define SN_pkcs3 "pkcs3" +#define NID_pkcs3 27 +#define OBJ_pkcs3 OBJ_pkcs,3L + +#define LN_dhKeyAgreement "dhKeyAgreement" +#define NID_dhKeyAgreement 28 +#define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +#define SN_pkcs5 "pkcs5" +#define NID_pkcs5 187 +#define OBJ_pkcs5 OBJ_pkcs,5L + +#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +#define NID_pbeWithMD2AndDES_CBC 9 +#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L + +#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +#define NID_pbeWithMD5AndDES_CBC 10 +#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L + +#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +#define NID_pbeWithMD2AndRC2_CBC 168 +#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L + +#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +#define NID_pbeWithMD5AndRC2_CBC 169 +#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L + +#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +#define NID_pbeWithSHA1AndDES_CBC 170 +#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L + +#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +#define NID_pbeWithSHA1AndRC2_CBC 68 +#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L + +#define LN_id_pbkdf2 "PBKDF2" +#define NID_id_pbkdf2 69 +#define OBJ_id_pbkdf2 OBJ_pkcs5,12L + +#define LN_pbes2 "PBES2" +#define NID_pbes2 161 +#define OBJ_pbes2 OBJ_pkcs5,13L + +#define LN_pbmac1 "PBMAC1" +#define NID_pbmac1 162 +#define OBJ_pbmac1 OBJ_pkcs5,14L + +#define SN_pkcs7 "pkcs7" +#define NID_pkcs7 20 +#define OBJ_pkcs7 OBJ_pkcs,7L + +#define LN_pkcs7_data "pkcs7-data" +#define NID_pkcs7_data 21 +#define OBJ_pkcs7_data OBJ_pkcs7,1L + +#define LN_pkcs7_signed "pkcs7-signedData" +#define NID_pkcs7_signed 22 +#define OBJ_pkcs7_signed OBJ_pkcs7,2L + +#define LN_pkcs7_enveloped "pkcs7-envelopedData" +#define NID_pkcs7_enveloped 23 +#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +#define NID_pkcs7_signedAndEnveloped 24 +#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +#define LN_pkcs7_digest "pkcs7-digestData" +#define NID_pkcs7_digest 25 +#define OBJ_pkcs7_digest OBJ_pkcs7,5L + +#define LN_pkcs7_encrypted "pkcs7-encryptedData" +#define NID_pkcs7_encrypted 26 +#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +#define SN_pkcs9 "pkcs9" +#define NID_pkcs9 47 +#define OBJ_pkcs9 OBJ_pkcs,9L + +#define LN_pkcs9_emailAddress "emailAddress" +#define NID_pkcs9_emailAddress 48 +#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +#define LN_pkcs9_unstructuredName "unstructuredName" +#define NID_pkcs9_unstructuredName 49 +#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +#define LN_pkcs9_contentType "contentType" +#define NID_pkcs9_contentType 50 +#define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +#define LN_pkcs9_messageDigest "messageDigest" +#define NID_pkcs9_messageDigest 51 +#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +#define LN_pkcs9_signingTime "signingTime" +#define NID_pkcs9_signingTime 52 +#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +#define LN_pkcs9_countersignature "countersignature" +#define NID_pkcs9_countersignature 53 +#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +#define LN_pkcs9_challengePassword "challengePassword" +#define NID_pkcs9_challengePassword 54 +#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +#define LN_pkcs9_unstructuredAddress "unstructuredAddress" +#define NID_pkcs9_unstructuredAddress 55 +#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +#define NID_pkcs9_extCertAttributes 56 +#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +#define SN_ext_req "extReq" +#define LN_ext_req "Extension Request" +#define NID_ext_req 172 +#define OBJ_ext_req OBJ_pkcs9,14L + +#define SN_SMIMECapabilities "SMIME-CAPS" +#define LN_SMIMECapabilities "S/MIME Capabilities" +#define NID_SMIMECapabilities 167 +#define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +#define SN_SMIME "SMIME" +#define LN_SMIME "S/MIME" +#define NID_SMIME 188 +#define OBJ_SMIME OBJ_pkcs9,16L + +#define SN_id_smime_mod "id-smime-mod" +#define NID_id_smime_mod 189 +#define OBJ_id_smime_mod OBJ_SMIME,0L + +#define SN_id_smime_ct "id-smime-ct" +#define NID_id_smime_ct 190 +#define OBJ_id_smime_ct OBJ_SMIME,1L + +#define SN_id_smime_aa "id-smime-aa" +#define NID_id_smime_aa 191 +#define OBJ_id_smime_aa OBJ_SMIME,2L + +#define SN_id_smime_alg "id-smime-alg" +#define NID_id_smime_alg 192 +#define OBJ_id_smime_alg OBJ_SMIME,3L + +#define SN_id_smime_cd "id-smime-cd" +#define NID_id_smime_cd 193 +#define OBJ_id_smime_cd OBJ_SMIME,4L + +#define SN_id_smime_spq "id-smime-spq" +#define NID_id_smime_spq 194 +#define OBJ_id_smime_spq OBJ_SMIME,5L + +#define SN_id_smime_cti "id-smime-cti" +#define NID_id_smime_cti 195 +#define OBJ_id_smime_cti OBJ_SMIME,6L + +#define SN_id_smime_mod_cms "id-smime-mod-cms" +#define NID_id_smime_mod_cms 196 +#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L + +#define SN_id_smime_mod_ess "id-smime-mod-ess" +#define NID_id_smime_mod_ess 197 +#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L + +#define SN_id_smime_mod_oid "id-smime-mod-oid" +#define NID_id_smime_mod_oid 198 +#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L + +#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" +#define NID_id_smime_mod_msg_v3 199 +#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L + +#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" +#define NID_id_smime_mod_ets_eSignature_88 200 +#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L + +#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" +#define NID_id_smime_mod_ets_eSignature_97 201 +#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L + +#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" +#define NID_id_smime_mod_ets_eSigPolicy_88 202 +#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L + +#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" +#define NID_id_smime_mod_ets_eSigPolicy_97 203 +#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L + +#define SN_id_smime_ct_receipt "id-smime-ct-receipt" +#define NID_id_smime_ct_receipt 204 +#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L + +#define SN_id_smime_ct_authData "id-smime-ct-authData" +#define NID_id_smime_ct_authData 205 +#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L + +#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" +#define NID_id_smime_ct_publishCert 206 +#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L + +#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" +#define NID_id_smime_ct_TSTInfo 207 +#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L + +#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" +#define NID_id_smime_ct_TDTInfo 208 +#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L + +#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" +#define NID_id_smime_ct_contentInfo 209 +#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L + +#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" +#define NID_id_smime_ct_DVCSRequestData 210 +#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L + +#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" +#define NID_id_smime_ct_DVCSResponseData 211 +#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L + +#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" +#define NID_id_smime_ct_compressedData 786 +#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L + +#define SN_id_smime_ct_contentCollection "id-smime-ct-contentCollection" +#define NID_id_smime_ct_contentCollection 1058 +#define OBJ_id_smime_ct_contentCollection OBJ_id_smime_ct,19L + +#define SN_id_smime_ct_authEnvelopedData "id-smime-ct-authEnvelopedData" +#define NID_id_smime_ct_authEnvelopedData 1059 +#define OBJ_id_smime_ct_authEnvelopedData OBJ_id_smime_ct,23L + +#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" +#define NID_id_ct_asciiTextWithCRLF 787 +#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L + +#define SN_id_ct_xml "id-ct-xml" +#define NID_id_ct_xml 1060 +#define OBJ_id_ct_xml OBJ_id_smime_ct,28L + +#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" +#define NID_id_smime_aa_receiptRequest 212 +#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L + +#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" +#define NID_id_smime_aa_securityLabel 213 +#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L + +#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" +#define NID_id_smime_aa_mlExpandHistory 214 +#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L + +#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" +#define NID_id_smime_aa_contentHint 215 +#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L + +#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" +#define NID_id_smime_aa_msgSigDigest 216 +#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L + +#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" +#define NID_id_smime_aa_encapContentType 217 +#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L + +#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" +#define NID_id_smime_aa_contentIdentifier 218 +#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L + +#define SN_id_smime_aa_macValue "id-smime-aa-macValue" +#define NID_id_smime_aa_macValue 219 +#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L + +#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" +#define NID_id_smime_aa_equivalentLabels 220 +#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L + +#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" +#define NID_id_smime_aa_contentReference 221 +#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L + +#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" +#define NID_id_smime_aa_encrypKeyPref 222 +#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L + +#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" +#define NID_id_smime_aa_signingCertificate 223 +#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L + +#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" +#define NID_id_smime_aa_smimeEncryptCerts 224 +#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L + +#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" +#define NID_id_smime_aa_timeStampToken 225 +#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L + +#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" +#define NID_id_smime_aa_ets_sigPolicyId 226 +#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L + +#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" +#define NID_id_smime_aa_ets_commitmentType 227 +#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L + +#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" +#define NID_id_smime_aa_ets_signerLocation 228 +#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L + +#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" +#define NID_id_smime_aa_ets_signerAttr 229 +#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L + +#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" +#define NID_id_smime_aa_ets_otherSigCert 230 +#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L + +#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" +#define NID_id_smime_aa_ets_contentTimestamp 231 +#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L + +#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" +#define NID_id_smime_aa_ets_CertificateRefs 232 +#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L + +#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" +#define NID_id_smime_aa_ets_RevocationRefs 233 +#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L + +#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" +#define NID_id_smime_aa_ets_certValues 234 +#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L + +#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" +#define NID_id_smime_aa_ets_revocationValues 235 +#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L + +#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" +#define NID_id_smime_aa_ets_escTimeStamp 236 +#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L + +#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" +#define NID_id_smime_aa_ets_certCRLTimestamp 237 +#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L + +#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" +#define NID_id_smime_aa_ets_archiveTimeStamp 238 +#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L + +#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" +#define NID_id_smime_aa_signatureType 239 +#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L + +#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" +#define NID_id_smime_aa_dvcs_dvc 240 +#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L + +#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" +#define NID_id_smime_alg_ESDHwith3DES 241 +#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L + +#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" +#define NID_id_smime_alg_ESDHwithRC2 242 +#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L + +#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" +#define NID_id_smime_alg_3DESwrap 243 +#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L + +#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" +#define NID_id_smime_alg_RC2wrap 244 +#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L + +#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" +#define NID_id_smime_alg_ESDH 245 +#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L + +#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" +#define NID_id_smime_alg_CMS3DESwrap 246 +#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L + +#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" +#define NID_id_smime_alg_CMSRC2wrap 247 +#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L + +#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" +#define NID_id_alg_PWRI_KEK 893 +#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L + +#define SN_id_smime_cd_ldap "id-smime-cd-ldap" +#define NID_id_smime_cd_ldap 248 +#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L + +#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" +#define NID_id_smime_spq_ets_sqt_uri 249 +#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L + +#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" +#define NID_id_smime_spq_ets_sqt_unotice 250 +#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L + +#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" +#define NID_id_smime_cti_ets_proofOfOrigin 251 +#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L + +#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" +#define NID_id_smime_cti_ets_proofOfReceipt 252 +#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L + +#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" +#define NID_id_smime_cti_ets_proofOfDelivery 253 +#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L + +#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" +#define NID_id_smime_cti_ets_proofOfSender 254 +#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L + +#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" +#define NID_id_smime_cti_ets_proofOfApproval 255 +#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L + +#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" +#define NID_id_smime_cti_ets_proofOfCreation 256 +#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L + +#define LN_friendlyName "friendlyName" +#define NID_friendlyName 156 +#define OBJ_friendlyName OBJ_pkcs9,20L + +#define LN_localKeyID "localKeyID" +#define NID_localKeyID 157 +#define OBJ_localKeyID OBJ_pkcs9,21L + +#define SN_ms_csp_name "CSPName" +#define LN_ms_csp_name "Microsoft CSP Name" +#define NID_ms_csp_name 417 +#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L + +#define SN_LocalKeySet "LocalKeySet" +#define LN_LocalKeySet "Microsoft Local Key set" +#define NID_LocalKeySet 856 +#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L + +#define OBJ_certTypes OBJ_pkcs9,22L + +#define LN_x509Certificate "x509Certificate" +#define NID_x509Certificate 158 +#define OBJ_x509Certificate OBJ_certTypes,1L + +#define LN_sdsiCertificate "sdsiCertificate" +#define NID_sdsiCertificate 159 +#define OBJ_sdsiCertificate OBJ_certTypes,2L + +#define OBJ_crlTypes OBJ_pkcs9,23L + +#define LN_x509Crl "x509Crl" +#define NID_x509Crl 160 +#define OBJ_x509Crl OBJ_crlTypes,1L + +#define OBJ_pkcs12 OBJ_pkcs,12L + +#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L + +#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +#define NID_pbe_WithSHA1And128BitRC4 144 +#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L + +#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +#define NID_pbe_WithSHA1And40BitRC4 145 +#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L + +#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L + +#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L + +#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +#define NID_pbe_WithSHA1And128BitRC2_CBC 148 +#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L + +#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +#define NID_pbe_WithSHA1And40BitRC2_CBC 149 +#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L + +#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L + +#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L + +#define LN_keyBag "keyBag" +#define NID_keyBag 150 +#define OBJ_keyBag OBJ_pkcs12_BagIds,1L + +#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +#define NID_pkcs8ShroudedKeyBag 151 +#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L + +#define LN_certBag "certBag" +#define NID_certBag 152 +#define OBJ_certBag OBJ_pkcs12_BagIds,3L + +#define LN_crlBag "crlBag" +#define NID_crlBag 153 +#define OBJ_crlBag OBJ_pkcs12_BagIds,4L + +#define LN_secretBag "secretBag" +#define NID_secretBag 154 +#define OBJ_secretBag OBJ_pkcs12_BagIds,5L + +#define LN_safeContentsBag "safeContentsBag" +#define NID_safeContentsBag 155 +#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L + +#define SN_md2 "MD2" +#define LN_md2 "md2" +#define NID_md2 3 +#define OBJ_md2 OBJ_rsadsi,2L,2L + +#define SN_md4 "MD4" +#define LN_md4 "md4" +#define NID_md4 257 +#define OBJ_md4 OBJ_rsadsi,2L,4L + +#define SN_md5 "MD5" +#define LN_md5 "md5" +#define NID_md5 4 +#define OBJ_md5 OBJ_rsadsi,2L,5L + +#define SN_md5_sha1 "MD5-SHA1" +#define LN_md5_sha1 "md5-sha1" +#define NID_md5_sha1 114 + +#define LN_hmacWithMD5 "hmacWithMD5" +#define NID_hmacWithMD5 797 +#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L + +#define LN_hmacWithSHA1 "hmacWithSHA1" +#define NID_hmacWithSHA1 163 +#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +#define LN_hmacWithSHA224 "hmacWithSHA224" +#define NID_hmacWithSHA224 798 +#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L + +#define LN_hmacWithSHA256 "hmacWithSHA256" +#define NID_hmacWithSHA256 799 +#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L + +#define LN_hmacWithSHA384 "hmacWithSHA384" +#define NID_hmacWithSHA384 800 +#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L + +#define LN_hmacWithSHA512 "hmacWithSHA512" +#define NID_hmacWithSHA512 801 +#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L + +#define SN_rc2_cbc "RC2-CBC" +#define LN_rc2_cbc "rc2-cbc" +#define NID_rc2_cbc 37 +#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +#define SN_rc2_ecb "RC2-ECB" +#define LN_rc2_ecb "rc2-ecb" +#define NID_rc2_ecb 38 + +#define SN_rc2_cfb64 "RC2-CFB" +#define LN_rc2_cfb64 "rc2-cfb" +#define NID_rc2_cfb64 39 + +#define SN_rc2_ofb64 "RC2-OFB" +#define LN_rc2_ofb64 "rc2-ofb" +#define NID_rc2_ofb64 40 + +#define SN_rc2_40_cbc "RC2-40-CBC" +#define LN_rc2_40_cbc "rc2-40-cbc" +#define NID_rc2_40_cbc 98 + +#define SN_rc2_64_cbc "RC2-64-CBC" +#define LN_rc2_64_cbc "rc2-64-cbc" +#define NID_rc2_64_cbc 166 + +#define SN_rc4 "RC4" +#define LN_rc4 "rc4" +#define NID_rc4 5 +#define OBJ_rc4 OBJ_rsadsi,3L,4L + +#define SN_rc4_40 "RC4-40" +#define LN_rc4_40 "rc4-40" +#define NID_rc4_40 97 + +#define SN_des_ede3_cbc "DES-EDE3-CBC" +#define LN_des_ede3_cbc "des-ede3-cbc" +#define NID_des_ede3_cbc 44 +#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +#define SN_rc5_cbc "RC5-CBC" +#define LN_rc5_cbc "rc5-cbc" +#define NID_rc5_cbc 120 +#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +#define SN_rc5_ecb "RC5-ECB" +#define LN_rc5_ecb "rc5-ecb" +#define NID_rc5_ecb 121 + +#define SN_rc5_cfb64 "RC5-CFB" +#define LN_rc5_cfb64 "rc5-cfb" +#define NID_rc5_cfb64 122 + +#define SN_rc5_ofb64 "RC5-OFB" +#define LN_rc5_ofb64 "rc5-ofb" +#define NID_rc5_ofb64 123 + +#define SN_ms_ext_req "msExtReq" +#define LN_ms_ext_req "Microsoft Extension Request" +#define NID_ms_ext_req 171 +#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +#define SN_ms_code_ind "msCodeInd" +#define LN_ms_code_ind "Microsoft Individual Code Signing" +#define NID_ms_code_ind 134 +#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +#define SN_ms_code_com "msCodeCom" +#define LN_ms_code_com "Microsoft Commercial Code Signing" +#define NID_ms_code_com 135 +#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +#define SN_ms_ctl_sign "msCTLSign" +#define LN_ms_ctl_sign "Microsoft Trust List Signing" +#define NID_ms_ctl_sign 136 +#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +#define SN_ms_sgc "msSGC" +#define LN_ms_sgc "Microsoft Server Gated Crypto" +#define NID_ms_sgc 137 +#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +#define SN_ms_efs "msEFS" +#define LN_ms_efs "Microsoft Encrypted File System" +#define NID_ms_efs 138 +#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +#define SN_ms_smartcard_login "msSmartcardLogin" +#define LN_ms_smartcard_login "Microsoft Smartcardlogin" +#define NID_ms_smartcard_login 648 +#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L + +#define SN_ms_upn "msUPN" +#define LN_ms_upn "Microsoft Universal Principal Name" +#define NID_ms_upn 649 +#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L + +#define SN_idea_cbc "IDEA-CBC" +#define LN_idea_cbc "idea-cbc" +#define NID_idea_cbc 34 +#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +#define SN_idea_ecb "IDEA-ECB" +#define LN_idea_ecb "idea-ecb" +#define NID_idea_ecb 36 + +#define SN_idea_cfb64 "IDEA-CFB" +#define LN_idea_cfb64 "idea-cfb" +#define NID_idea_cfb64 35 + +#define SN_idea_ofb64 "IDEA-OFB" +#define LN_idea_ofb64 "idea-ofb" +#define NID_idea_ofb64 46 + +#define SN_bf_cbc "BF-CBC" +#define LN_bf_cbc "bf-cbc" +#define NID_bf_cbc 91 +#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +#define SN_bf_ecb "BF-ECB" +#define LN_bf_ecb "bf-ecb" +#define NID_bf_ecb 92 + +#define SN_bf_cfb64 "BF-CFB" +#define LN_bf_cfb64 "bf-cfb" +#define NID_bf_cfb64 93 + +#define SN_bf_ofb64 "BF-OFB" +#define LN_bf_ofb64 "bf-ofb" +#define NID_bf_ofb64 94 + +#define SN_id_pkix "PKIX" +#define NID_id_pkix 127 +#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +#define SN_id_pkix_mod "id-pkix-mod" +#define NID_id_pkix_mod 258 +#define OBJ_id_pkix_mod OBJ_id_pkix,0L + +#define SN_id_pe "id-pe" +#define NID_id_pe 175 +#define OBJ_id_pe OBJ_id_pkix,1L + +#define SN_id_qt "id-qt" +#define NID_id_qt 259 +#define OBJ_id_qt OBJ_id_pkix,2L + +#define SN_id_kp "id-kp" +#define NID_id_kp 128 +#define OBJ_id_kp OBJ_id_pkix,3L + +#define SN_id_it "id-it" +#define NID_id_it 260 +#define OBJ_id_it OBJ_id_pkix,4L + +#define SN_id_pkip "id-pkip" +#define NID_id_pkip 261 +#define OBJ_id_pkip OBJ_id_pkix,5L + +#define SN_id_alg "id-alg" +#define NID_id_alg 262 +#define OBJ_id_alg OBJ_id_pkix,6L + +#define SN_id_cmc "id-cmc" +#define NID_id_cmc 263 +#define OBJ_id_cmc OBJ_id_pkix,7L + +#define SN_id_on "id-on" +#define NID_id_on 264 +#define OBJ_id_on OBJ_id_pkix,8L + +#define SN_id_pda "id-pda" +#define NID_id_pda 265 +#define OBJ_id_pda OBJ_id_pkix,9L + +#define SN_id_aca "id-aca" +#define NID_id_aca 266 +#define OBJ_id_aca OBJ_id_pkix,10L + +#define SN_id_qcs "id-qcs" +#define NID_id_qcs 267 +#define OBJ_id_qcs OBJ_id_pkix,11L + +#define SN_id_cct "id-cct" +#define NID_id_cct 268 +#define OBJ_id_cct OBJ_id_pkix,12L + +#define SN_id_ppl "id-ppl" +#define NID_id_ppl 662 +#define OBJ_id_ppl OBJ_id_pkix,21L + +#define SN_id_ad "id-ad" +#define NID_id_ad 176 +#define OBJ_id_ad OBJ_id_pkix,48L + +#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" +#define NID_id_pkix1_explicit_88 269 +#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L + +#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" +#define NID_id_pkix1_implicit_88 270 +#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L + +#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" +#define NID_id_pkix1_explicit_93 271 +#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L + +#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" +#define NID_id_pkix1_implicit_93 272 +#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L + +#define SN_id_mod_crmf "id-mod-crmf" +#define NID_id_mod_crmf 273 +#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L + +#define SN_id_mod_cmc "id-mod-cmc" +#define NID_id_mod_cmc 274 +#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L + +#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" +#define NID_id_mod_kea_profile_88 275 +#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L + +#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" +#define NID_id_mod_kea_profile_93 276 +#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L + +#define SN_id_mod_cmp "id-mod-cmp" +#define NID_id_mod_cmp 277 +#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L + +#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" +#define NID_id_mod_qualified_cert_88 278 +#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L + +#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" +#define NID_id_mod_qualified_cert_93 279 +#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L + +#define SN_id_mod_attribute_cert "id-mod-attribute-cert" +#define NID_id_mod_attribute_cert 280 +#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L + +#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" +#define NID_id_mod_timestamp_protocol 281 +#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L + +#define SN_id_mod_ocsp "id-mod-ocsp" +#define NID_id_mod_ocsp 282 +#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L + +#define SN_id_mod_dvcs "id-mod-dvcs" +#define NID_id_mod_dvcs 283 +#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L + +#define SN_id_mod_cmp2000 "id-mod-cmp2000" +#define NID_id_mod_cmp2000 284 +#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L + +#define SN_info_access "authorityInfoAccess" +#define LN_info_access "Authority Information Access" +#define NID_info_access 177 +#define OBJ_info_access OBJ_id_pe,1L + +#define SN_biometricInfo "biometricInfo" +#define LN_biometricInfo "Biometric Info" +#define NID_biometricInfo 285 +#define OBJ_biometricInfo OBJ_id_pe,2L + +#define SN_qcStatements "qcStatements" +#define NID_qcStatements 286 +#define OBJ_qcStatements OBJ_id_pe,3L + +#define SN_ac_auditEntity "ac-auditEntity" +#define NID_ac_auditEntity 287 +#define OBJ_ac_auditEntity OBJ_id_pe,4L + +#define SN_ac_targeting "ac-targeting" +#define NID_ac_targeting 288 +#define OBJ_ac_targeting OBJ_id_pe,5L + +#define SN_aaControls "aaControls" +#define NID_aaControls 289 +#define OBJ_aaControls OBJ_id_pe,6L + +#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" +#define NID_sbgp_ipAddrBlock 290 +#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L + +#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" +#define NID_sbgp_autonomousSysNum 291 +#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L + +#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" +#define NID_sbgp_routerIdentifier 292 +#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L + +#define SN_ac_proxying "ac-proxying" +#define NID_ac_proxying 397 +#define OBJ_ac_proxying OBJ_id_pe,10L + +#define SN_sinfo_access "subjectInfoAccess" +#define LN_sinfo_access "Subject Information Access" +#define NID_sinfo_access 398 +#define OBJ_sinfo_access OBJ_id_pe,11L + +#define SN_proxyCertInfo "proxyCertInfo" +#define LN_proxyCertInfo "Proxy Certificate Information" +#define NID_proxyCertInfo 663 +#define OBJ_proxyCertInfo OBJ_id_pe,14L + +#define SN_tlsfeature "tlsfeature" +#define LN_tlsfeature "TLS Feature" +#define NID_tlsfeature 1020 +#define OBJ_tlsfeature OBJ_id_pe,24L + +#define SN_id_qt_cps "id-qt-cps" +#define LN_id_qt_cps "Policy Qualifier CPS" +#define NID_id_qt_cps 164 +#define OBJ_id_qt_cps OBJ_id_qt,1L + +#define SN_id_qt_unotice "id-qt-unotice" +#define LN_id_qt_unotice "Policy Qualifier User Notice" +#define NID_id_qt_unotice 165 +#define OBJ_id_qt_unotice OBJ_id_qt,2L + +#define SN_textNotice "textNotice" +#define NID_textNotice 293 +#define OBJ_textNotice OBJ_id_qt,3L + +#define SN_server_auth "serverAuth" +#define LN_server_auth "TLS Web Server Authentication" +#define NID_server_auth 129 +#define OBJ_server_auth OBJ_id_kp,1L + +#define SN_client_auth "clientAuth" +#define LN_client_auth "TLS Web Client Authentication" +#define NID_client_auth 130 +#define OBJ_client_auth OBJ_id_kp,2L + +#define SN_code_sign "codeSigning" +#define LN_code_sign "Code Signing" +#define NID_code_sign 131 +#define OBJ_code_sign OBJ_id_kp,3L + +#define SN_email_protect "emailProtection" +#define LN_email_protect "E-mail Protection" +#define NID_email_protect 132 +#define OBJ_email_protect OBJ_id_kp,4L + +#define SN_ipsecEndSystem "ipsecEndSystem" +#define LN_ipsecEndSystem "IPSec End System" +#define NID_ipsecEndSystem 294 +#define OBJ_ipsecEndSystem OBJ_id_kp,5L + +#define SN_ipsecTunnel "ipsecTunnel" +#define LN_ipsecTunnel "IPSec Tunnel" +#define NID_ipsecTunnel 295 +#define OBJ_ipsecTunnel OBJ_id_kp,6L + +#define SN_ipsecUser "ipsecUser" +#define LN_ipsecUser "IPSec User" +#define NID_ipsecUser 296 +#define OBJ_ipsecUser OBJ_id_kp,7L + +#define SN_time_stamp "timeStamping" +#define LN_time_stamp "Time Stamping" +#define NID_time_stamp 133 +#define OBJ_time_stamp OBJ_id_kp,8L + +#define SN_OCSP_sign "OCSPSigning" +#define LN_OCSP_sign "OCSP Signing" +#define NID_OCSP_sign 180 +#define OBJ_OCSP_sign OBJ_id_kp,9L + +#define SN_dvcs "DVCS" +#define LN_dvcs "dvcs" +#define NID_dvcs 297 +#define OBJ_dvcs OBJ_id_kp,10L + +#define SN_ipsec_IKE "ipsecIKE" +#define LN_ipsec_IKE "ipsec Internet Key Exchange" +#define NID_ipsec_IKE 1022 +#define OBJ_ipsec_IKE OBJ_id_kp,17L + +#define SN_capwapAC "capwapAC" +#define LN_capwapAC "Ctrl/provision WAP Access" +#define NID_capwapAC 1023 +#define OBJ_capwapAC OBJ_id_kp,18L + +#define SN_capwapWTP "capwapWTP" +#define LN_capwapWTP "Ctrl/Provision WAP Termination" +#define NID_capwapWTP 1024 +#define OBJ_capwapWTP OBJ_id_kp,19L + +#define SN_sshClient "secureShellClient" +#define LN_sshClient "SSH Client" +#define NID_sshClient 1025 +#define OBJ_sshClient OBJ_id_kp,21L + +#define SN_sshServer "secureShellServer" +#define LN_sshServer "SSH Server" +#define NID_sshServer 1026 +#define OBJ_sshServer OBJ_id_kp,22L + +#define SN_sendRouter "sendRouter" +#define LN_sendRouter "Send Router" +#define NID_sendRouter 1027 +#define OBJ_sendRouter OBJ_id_kp,23L + +#define SN_sendProxiedRouter "sendProxiedRouter" +#define LN_sendProxiedRouter "Send Proxied Router" +#define NID_sendProxiedRouter 1028 +#define OBJ_sendProxiedRouter OBJ_id_kp,24L + +#define SN_sendOwner "sendOwner" +#define LN_sendOwner "Send Owner" +#define NID_sendOwner 1029 +#define OBJ_sendOwner OBJ_id_kp,25L + +#define SN_sendProxiedOwner "sendProxiedOwner" +#define LN_sendProxiedOwner "Send Proxied Owner" +#define NID_sendProxiedOwner 1030 +#define OBJ_sendProxiedOwner OBJ_id_kp,26L + +#define SN_id_it_caProtEncCert "id-it-caProtEncCert" +#define NID_id_it_caProtEncCert 298 +#define OBJ_id_it_caProtEncCert OBJ_id_it,1L + +#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" +#define NID_id_it_signKeyPairTypes 299 +#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L + +#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" +#define NID_id_it_encKeyPairTypes 300 +#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L + +#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" +#define NID_id_it_preferredSymmAlg 301 +#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L + +#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" +#define NID_id_it_caKeyUpdateInfo 302 +#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L + +#define SN_id_it_currentCRL "id-it-currentCRL" +#define NID_id_it_currentCRL 303 +#define OBJ_id_it_currentCRL OBJ_id_it,6L + +#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" +#define NID_id_it_unsupportedOIDs 304 +#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L + +#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" +#define NID_id_it_subscriptionRequest 305 +#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L + +#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" +#define NID_id_it_subscriptionResponse 306 +#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L + +#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" +#define NID_id_it_keyPairParamReq 307 +#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L + +#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" +#define NID_id_it_keyPairParamRep 308 +#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L + +#define SN_id_it_revPassphrase "id-it-revPassphrase" +#define NID_id_it_revPassphrase 309 +#define OBJ_id_it_revPassphrase OBJ_id_it,12L + +#define SN_id_it_implicitConfirm "id-it-implicitConfirm" +#define NID_id_it_implicitConfirm 310 +#define OBJ_id_it_implicitConfirm OBJ_id_it,13L + +#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" +#define NID_id_it_confirmWaitTime 311 +#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L + +#define SN_id_it_origPKIMessage "id-it-origPKIMessage" +#define NID_id_it_origPKIMessage 312 +#define OBJ_id_it_origPKIMessage OBJ_id_it,15L + +#define SN_id_it_suppLangTags "id-it-suppLangTags" +#define NID_id_it_suppLangTags 784 +#define OBJ_id_it_suppLangTags OBJ_id_it,16L + +#define SN_id_regCtrl "id-regCtrl" +#define NID_id_regCtrl 313 +#define OBJ_id_regCtrl OBJ_id_pkip,1L + +#define SN_id_regInfo "id-regInfo" +#define NID_id_regInfo 314 +#define OBJ_id_regInfo OBJ_id_pkip,2L + +#define SN_id_regCtrl_regToken "id-regCtrl-regToken" +#define NID_id_regCtrl_regToken 315 +#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L + +#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" +#define NID_id_regCtrl_authenticator 316 +#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L + +#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" +#define NID_id_regCtrl_pkiPublicationInfo 317 +#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L + +#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" +#define NID_id_regCtrl_pkiArchiveOptions 318 +#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L + +#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" +#define NID_id_regCtrl_oldCertID 319 +#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L + +#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" +#define NID_id_regCtrl_protocolEncrKey 320 +#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L + +#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" +#define NID_id_regInfo_utf8Pairs 321 +#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L + +#define SN_id_regInfo_certReq "id-regInfo-certReq" +#define NID_id_regInfo_certReq 322 +#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L + +#define SN_id_alg_des40 "id-alg-des40" +#define NID_id_alg_des40 323 +#define OBJ_id_alg_des40 OBJ_id_alg,1L + +#define SN_id_alg_noSignature "id-alg-noSignature" +#define NID_id_alg_noSignature 324 +#define OBJ_id_alg_noSignature OBJ_id_alg,2L + +#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" +#define NID_id_alg_dh_sig_hmac_sha1 325 +#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L + +#define SN_id_alg_dh_pop "id-alg-dh-pop" +#define NID_id_alg_dh_pop 326 +#define OBJ_id_alg_dh_pop OBJ_id_alg,4L + +#define SN_id_cmc_statusInfo "id-cmc-statusInfo" +#define NID_id_cmc_statusInfo 327 +#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L + +#define SN_id_cmc_identification "id-cmc-identification" +#define NID_id_cmc_identification 328 +#define OBJ_id_cmc_identification OBJ_id_cmc,2L + +#define SN_id_cmc_identityProof "id-cmc-identityProof" +#define NID_id_cmc_identityProof 329 +#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L + +#define SN_id_cmc_dataReturn "id-cmc-dataReturn" +#define NID_id_cmc_dataReturn 330 +#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L + +#define SN_id_cmc_transactionId "id-cmc-transactionId" +#define NID_id_cmc_transactionId 331 +#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L + +#define SN_id_cmc_senderNonce "id-cmc-senderNonce" +#define NID_id_cmc_senderNonce 332 +#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L + +#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" +#define NID_id_cmc_recipientNonce 333 +#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L + +#define SN_id_cmc_addExtensions "id-cmc-addExtensions" +#define NID_id_cmc_addExtensions 334 +#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L + +#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" +#define NID_id_cmc_encryptedPOP 335 +#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L + +#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" +#define NID_id_cmc_decryptedPOP 336 +#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L + +#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" +#define NID_id_cmc_lraPOPWitness 337 +#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L + +#define SN_id_cmc_getCert "id-cmc-getCert" +#define NID_id_cmc_getCert 338 +#define OBJ_id_cmc_getCert OBJ_id_cmc,15L + +#define SN_id_cmc_getCRL "id-cmc-getCRL" +#define NID_id_cmc_getCRL 339 +#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L + +#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" +#define NID_id_cmc_revokeRequest 340 +#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L + +#define SN_id_cmc_regInfo "id-cmc-regInfo" +#define NID_id_cmc_regInfo 341 +#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L + +#define SN_id_cmc_responseInfo "id-cmc-responseInfo" +#define NID_id_cmc_responseInfo 342 +#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L + +#define SN_id_cmc_queryPending "id-cmc-queryPending" +#define NID_id_cmc_queryPending 343 +#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L + +#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" +#define NID_id_cmc_popLinkRandom 344 +#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L + +#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" +#define NID_id_cmc_popLinkWitness 345 +#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L + +#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" +#define NID_id_cmc_confirmCertAcceptance 346 +#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L + +#define SN_id_on_personalData "id-on-personalData" +#define NID_id_on_personalData 347 +#define OBJ_id_on_personalData OBJ_id_on,1L + +#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" +#define LN_id_on_permanentIdentifier "Permanent Identifier" +#define NID_id_on_permanentIdentifier 858 +#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L + +#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" +#define NID_id_pda_dateOfBirth 348 +#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L + +#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" +#define NID_id_pda_placeOfBirth 349 +#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L + +#define SN_id_pda_gender "id-pda-gender" +#define NID_id_pda_gender 351 +#define OBJ_id_pda_gender OBJ_id_pda,3L + +#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" +#define NID_id_pda_countryOfCitizenship 352 +#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L + +#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" +#define NID_id_pda_countryOfResidence 353 +#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L + +#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" +#define NID_id_aca_authenticationInfo 354 +#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L + +#define SN_id_aca_accessIdentity "id-aca-accessIdentity" +#define NID_id_aca_accessIdentity 355 +#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L + +#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" +#define NID_id_aca_chargingIdentity 356 +#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L + +#define SN_id_aca_group "id-aca-group" +#define NID_id_aca_group 357 +#define OBJ_id_aca_group OBJ_id_aca,4L + +#define SN_id_aca_role "id-aca-role" +#define NID_id_aca_role 358 +#define OBJ_id_aca_role OBJ_id_aca,5L + +#define SN_id_aca_encAttrs "id-aca-encAttrs" +#define NID_id_aca_encAttrs 399 +#define OBJ_id_aca_encAttrs OBJ_id_aca,6L + +#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" +#define NID_id_qcs_pkixQCSyntax_v1 359 +#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L + +#define SN_id_cct_crs "id-cct-crs" +#define NID_id_cct_crs 360 +#define OBJ_id_cct_crs OBJ_id_cct,1L + +#define SN_id_cct_PKIData "id-cct-PKIData" +#define NID_id_cct_PKIData 361 +#define OBJ_id_cct_PKIData OBJ_id_cct,2L + +#define SN_id_cct_PKIResponse "id-cct-PKIResponse" +#define NID_id_cct_PKIResponse 362 +#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L + +#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" +#define LN_id_ppl_anyLanguage "Any language" +#define NID_id_ppl_anyLanguage 664 +#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L + +#define SN_id_ppl_inheritAll "id-ppl-inheritAll" +#define LN_id_ppl_inheritAll "Inherit all" +#define NID_id_ppl_inheritAll 665 +#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L + +#define SN_Independent "id-ppl-independent" +#define LN_Independent "Independent" +#define NID_Independent 667 +#define OBJ_Independent OBJ_id_ppl,2L + +#define SN_ad_OCSP "OCSP" +#define LN_ad_OCSP "OCSP" +#define NID_ad_OCSP 178 +#define OBJ_ad_OCSP OBJ_id_ad,1L + +#define SN_ad_ca_issuers "caIssuers" +#define LN_ad_ca_issuers "CA Issuers" +#define NID_ad_ca_issuers 179 +#define OBJ_ad_ca_issuers OBJ_id_ad,2L + +#define SN_ad_timeStamping "ad_timestamping" +#define LN_ad_timeStamping "AD Time Stamping" +#define NID_ad_timeStamping 363 +#define OBJ_ad_timeStamping OBJ_id_ad,3L + +#define SN_ad_dvcs "AD_DVCS" +#define LN_ad_dvcs "ad dvcs" +#define NID_ad_dvcs 364 +#define OBJ_ad_dvcs OBJ_id_ad,4L + +#define SN_caRepository "caRepository" +#define LN_caRepository "CA Repository" +#define NID_caRepository 785 +#define OBJ_caRepository OBJ_id_ad,5L + +#define OBJ_id_pkix_OCSP OBJ_ad_OCSP + +#define SN_id_pkix_OCSP_basic "basicOCSPResponse" +#define LN_id_pkix_OCSP_basic "Basic OCSP Response" +#define NID_id_pkix_OCSP_basic 365 +#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L + +#define SN_id_pkix_OCSP_Nonce "Nonce" +#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" +#define NID_id_pkix_OCSP_Nonce 366 +#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L + +#define SN_id_pkix_OCSP_CrlID "CrlID" +#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" +#define NID_id_pkix_OCSP_CrlID 367 +#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L + +#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" +#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" +#define NID_id_pkix_OCSP_acceptableResponses 368 +#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L + +#define SN_id_pkix_OCSP_noCheck "noCheck" +#define LN_id_pkix_OCSP_noCheck "OCSP No Check" +#define NID_id_pkix_OCSP_noCheck 369 +#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L + +#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" +#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" +#define NID_id_pkix_OCSP_archiveCutoff 370 +#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L + +#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" +#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" +#define NID_id_pkix_OCSP_serviceLocator 371 +#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L + +#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" +#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" +#define NID_id_pkix_OCSP_extendedStatus 372 +#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L + +#define SN_id_pkix_OCSP_valid "valid" +#define NID_id_pkix_OCSP_valid 373 +#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L + +#define SN_id_pkix_OCSP_path "path" +#define NID_id_pkix_OCSP_path 374 +#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L + +#define SN_id_pkix_OCSP_trustRoot "trustRoot" +#define LN_id_pkix_OCSP_trustRoot "Trust Root" +#define NID_id_pkix_OCSP_trustRoot 375 +#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L + +#define SN_algorithm "algorithm" +#define LN_algorithm "algorithm" +#define NID_algorithm 376 +#define OBJ_algorithm 1L,3L,14L,3L,2L + +#define SN_md5WithRSA "RSA-NP-MD5" +#define LN_md5WithRSA "md5WithRSA" +#define NID_md5WithRSA 104 +#define OBJ_md5WithRSA OBJ_algorithm,3L + +#define SN_des_ecb "DES-ECB" +#define LN_des_ecb "des-ecb" +#define NID_des_ecb 29 +#define OBJ_des_ecb OBJ_algorithm,6L + +#define SN_des_cbc "DES-CBC" +#define LN_des_cbc "des-cbc" +#define NID_des_cbc 31 +#define OBJ_des_cbc OBJ_algorithm,7L + +#define SN_des_ofb64 "DES-OFB" +#define LN_des_ofb64 "des-ofb" +#define NID_des_ofb64 45 +#define OBJ_des_ofb64 OBJ_algorithm,8L + +#define SN_des_cfb64 "DES-CFB" +#define LN_des_cfb64 "des-cfb" +#define NID_des_cfb64 30 +#define OBJ_des_cfb64 OBJ_algorithm,9L + +#define SN_rsaSignature "rsaSignature" +#define NID_rsaSignature 377 +#define OBJ_rsaSignature OBJ_algorithm,11L + +#define SN_dsa_2 "DSA-old" +#define LN_dsa_2 "dsaEncryption-old" +#define NID_dsa_2 67 +#define OBJ_dsa_2 OBJ_algorithm,12L + +#define SN_dsaWithSHA "DSA-SHA" +#define LN_dsaWithSHA "dsaWithSHA" +#define NID_dsaWithSHA 66 +#define OBJ_dsaWithSHA OBJ_algorithm,13L + +#define SN_shaWithRSAEncryption "RSA-SHA" +#define LN_shaWithRSAEncryption "shaWithRSAEncryption" +#define NID_shaWithRSAEncryption 42 +#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +#define SN_des_ede_ecb "DES-EDE" +#define LN_des_ede_ecb "des-ede" +#define NID_des_ede_ecb 32 +#define OBJ_des_ede_ecb OBJ_algorithm,17L + +#define SN_des_ede3_ecb "DES-EDE3" +#define LN_des_ede3_ecb "des-ede3" +#define NID_des_ede3_ecb 33 + +#define SN_des_ede_cbc "DES-EDE-CBC" +#define LN_des_ede_cbc "des-ede-cbc" +#define NID_des_ede_cbc 43 + +#define SN_des_ede_cfb64 "DES-EDE-CFB" +#define LN_des_ede_cfb64 "des-ede-cfb" +#define NID_des_ede_cfb64 60 + +#define SN_des_ede3_cfb64 "DES-EDE3-CFB" +#define LN_des_ede3_cfb64 "des-ede3-cfb" +#define NID_des_ede3_cfb64 61 + +#define SN_des_ede_ofb64 "DES-EDE-OFB" +#define LN_des_ede_ofb64 "des-ede-ofb" +#define NID_des_ede_ofb64 62 + +#define SN_des_ede3_ofb64 "DES-EDE3-OFB" +#define LN_des_ede3_ofb64 "des-ede3-ofb" +#define NID_des_ede3_ofb64 63 + +#define SN_desx_cbc "DESX-CBC" +#define LN_desx_cbc "desx-cbc" +#define NID_desx_cbc 80 + +#define SN_sha "SHA" +#define LN_sha "sha" +#define NID_sha 41 +#define OBJ_sha OBJ_algorithm,18L + +#define SN_sha1 "SHA1" +#define LN_sha1 "sha1" +#define NID_sha1 64 +#define OBJ_sha1 OBJ_algorithm,26L + +#define SN_dsaWithSHA1_2 "DSA-SHA1-old" +#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +#define NID_dsaWithSHA1_2 70 +#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +#define SN_sha1WithRSA "RSA-SHA1-2" +#define LN_sha1WithRSA "sha1WithRSA" +#define NID_sha1WithRSA 115 +#define OBJ_sha1WithRSA OBJ_algorithm,29L + +#define SN_ripemd160 "RIPEMD160" +#define LN_ripemd160 "ripemd160" +#define NID_ripemd160 117 +#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +#define SN_ripemd160WithRSA "RSA-RIPEMD160" +#define LN_ripemd160WithRSA "ripemd160WithRSA" +#define NID_ripemd160WithRSA 119 +#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +#define SN_blake2b512 "BLAKE2b512" +#define LN_blake2b512 "blake2b512" +#define NID_blake2b512 1056 +#define OBJ_blake2b512 1L,3L,6L,1L,4L,1L,1722L,12L,2L,1L,16L + +#define SN_blake2s256 "BLAKE2s256" +#define LN_blake2s256 "blake2s256" +#define NID_blake2s256 1057 +#define OBJ_blake2s256 1L,3L,6L,1L,4L,1L,1722L,12L,2L,2L,8L + +#define SN_sxnet "SXNetID" +#define LN_sxnet "Strong Extranet ID" +#define NID_sxnet 143 +#define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +#define SN_X500 "X500" +#define LN_X500 "directory services (X.500)" +#define NID_X500 11 +#define OBJ_X500 2L,5L + +#define SN_X509 "X509" +#define NID_X509 12 +#define OBJ_X509 OBJ_X500,4L + +#define SN_commonName "CN" +#define LN_commonName "commonName" +#define NID_commonName 13 +#define OBJ_commonName OBJ_X509,3L + +#define SN_surname "SN" +#define LN_surname "surname" +#define NID_surname 100 +#define OBJ_surname OBJ_X509,4L + +#define LN_serialNumber "serialNumber" +#define NID_serialNumber 105 +#define OBJ_serialNumber OBJ_X509,5L + +#define SN_countryName "C" +#define LN_countryName "countryName" +#define NID_countryName 14 +#define OBJ_countryName OBJ_X509,6L + +#define SN_localityName "L" +#define LN_localityName "localityName" +#define NID_localityName 15 +#define OBJ_localityName OBJ_X509,7L + +#define SN_stateOrProvinceName "ST" +#define LN_stateOrProvinceName "stateOrProvinceName" +#define NID_stateOrProvinceName 16 +#define OBJ_stateOrProvinceName OBJ_X509,8L + +#define SN_streetAddress "street" +#define LN_streetAddress "streetAddress" +#define NID_streetAddress 660 +#define OBJ_streetAddress OBJ_X509,9L + +#define SN_organizationName "O" +#define LN_organizationName "organizationName" +#define NID_organizationName 17 +#define OBJ_organizationName OBJ_X509,10L + +#define SN_organizationalUnitName "OU" +#define LN_organizationalUnitName "organizationalUnitName" +#define NID_organizationalUnitName 18 +#define OBJ_organizationalUnitName OBJ_X509,11L + +#define SN_title "title" +#define LN_title "title" +#define NID_title 106 +#define OBJ_title OBJ_X509,12L + +#define LN_description "description" +#define NID_description 107 +#define OBJ_description OBJ_X509,13L + +#define LN_searchGuide "searchGuide" +#define NID_searchGuide 859 +#define OBJ_searchGuide OBJ_X509,14L + +#define LN_businessCategory "businessCategory" +#define NID_businessCategory 860 +#define OBJ_businessCategory OBJ_X509,15L + +#define LN_postalAddress "postalAddress" +#define NID_postalAddress 861 +#define OBJ_postalAddress OBJ_X509,16L + +#define LN_postalCode "postalCode" +#define NID_postalCode 661 +#define OBJ_postalCode OBJ_X509,17L + +#define LN_postOfficeBox "postOfficeBox" +#define NID_postOfficeBox 862 +#define OBJ_postOfficeBox OBJ_X509,18L + +#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" +#define NID_physicalDeliveryOfficeName 863 +#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L + +#define LN_telephoneNumber "telephoneNumber" +#define NID_telephoneNumber 864 +#define OBJ_telephoneNumber OBJ_X509,20L + +#define LN_telexNumber "telexNumber" +#define NID_telexNumber 865 +#define OBJ_telexNumber OBJ_X509,21L + +#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" +#define NID_teletexTerminalIdentifier 866 +#define OBJ_teletexTerminalIdentifier OBJ_X509,22L + +#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" +#define NID_facsimileTelephoneNumber 867 +#define OBJ_facsimileTelephoneNumber OBJ_X509,23L + +#define LN_x121Address "x121Address" +#define NID_x121Address 868 +#define OBJ_x121Address OBJ_X509,24L + +#define LN_internationaliSDNNumber "internationaliSDNNumber" +#define NID_internationaliSDNNumber 869 +#define OBJ_internationaliSDNNumber OBJ_X509,25L + +#define LN_registeredAddress "registeredAddress" +#define NID_registeredAddress 870 +#define OBJ_registeredAddress OBJ_X509,26L + +#define LN_destinationIndicator "destinationIndicator" +#define NID_destinationIndicator 871 +#define OBJ_destinationIndicator OBJ_X509,27L + +#define LN_preferredDeliveryMethod "preferredDeliveryMethod" +#define NID_preferredDeliveryMethod 872 +#define OBJ_preferredDeliveryMethod OBJ_X509,28L + +#define LN_presentationAddress "presentationAddress" +#define NID_presentationAddress 873 +#define OBJ_presentationAddress OBJ_X509,29L + +#define LN_supportedApplicationContext "supportedApplicationContext" +#define NID_supportedApplicationContext 874 +#define OBJ_supportedApplicationContext OBJ_X509,30L + +#define SN_member "member" +#define NID_member 875 +#define OBJ_member OBJ_X509,31L + +#define SN_owner "owner" +#define NID_owner 876 +#define OBJ_owner OBJ_X509,32L + +#define LN_roleOccupant "roleOccupant" +#define NID_roleOccupant 877 +#define OBJ_roleOccupant OBJ_X509,33L + +#define SN_seeAlso "seeAlso" +#define NID_seeAlso 878 +#define OBJ_seeAlso OBJ_X509,34L + +#define LN_userPassword "userPassword" +#define NID_userPassword 879 +#define OBJ_userPassword OBJ_X509,35L + +#define LN_userCertificate "userCertificate" +#define NID_userCertificate 880 +#define OBJ_userCertificate OBJ_X509,36L + +#define LN_cACertificate "cACertificate" +#define NID_cACertificate 881 +#define OBJ_cACertificate OBJ_X509,37L + +#define LN_authorityRevocationList "authorityRevocationList" +#define NID_authorityRevocationList 882 +#define OBJ_authorityRevocationList OBJ_X509,38L + +#define LN_certificateRevocationList "certificateRevocationList" +#define NID_certificateRevocationList 883 +#define OBJ_certificateRevocationList OBJ_X509,39L + +#define LN_crossCertificatePair "crossCertificatePair" +#define NID_crossCertificatePair 884 +#define OBJ_crossCertificatePair OBJ_X509,40L + +#define SN_name "name" +#define LN_name "name" +#define NID_name 173 +#define OBJ_name OBJ_X509,41L + +#define SN_givenName "GN" +#define LN_givenName "givenName" +#define NID_givenName 99 +#define OBJ_givenName OBJ_X509,42L + +#define SN_initials "initials" +#define LN_initials "initials" +#define NID_initials 101 +#define OBJ_initials OBJ_X509,43L + +#define LN_generationQualifier "generationQualifier" +#define NID_generationQualifier 509 +#define OBJ_generationQualifier OBJ_X509,44L + +#define LN_x500UniqueIdentifier "x500UniqueIdentifier" +#define NID_x500UniqueIdentifier 503 +#define OBJ_x500UniqueIdentifier OBJ_X509,45L + +#define SN_dnQualifier "dnQualifier" +#define LN_dnQualifier "dnQualifier" +#define NID_dnQualifier 174 +#define OBJ_dnQualifier OBJ_X509,46L + +#define LN_enhancedSearchGuide "enhancedSearchGuide" +#define NID_enhancedSearchGuide 885 +#define OBJ_enhancedSearchGuide OBJ_X509,47L + +#define LN_protocolInformation "protocolInformation" +#define NID_protocolInformation 886 +#define OBJ_protocolInformation OBJ_X509,48L + +#define LN_distinguishedName "distinguishedName" +#define NID_distinguishedName 887 +#define OBJ_distinguishedName OBJ_X509,49L + +#define LN_uniqueMember "uniqueMember" +#define NID_uniqueMember 888 +#define OBJ_uniqueMember OBJ_X509,50L + +#define LN_houseIdentifier "houseIdentifier" +#define NID_houseIdentifier 889 +#define OBJ_houseIdentifier OBJ_X509,51L + +#define LN_supportedAlgorithms "supportedAlgorithms" +#define NID_supportedAlgorithms 890 +#define OBJ_supportedAlgorithms OBJ_X509,52L + +#define LN_deltaRevocationList "deltaRevocationList" +#define NID_deltaRevocationList 891 +#define OBJ_deltaRevocationList OBJ_X509,53L + +#define SN_dmdName "dmdName" +#define NID_dmdName 892 +#define OBJ_dmdName OBJ_X509,54L + +#define LN_pseudonym "pseudonym" +#define NID_pseudonym 510 +#define OBJ_pseudonym OBJ_X509,65L + +#define SN_role "role" +#define LN_role "role" +#define NID_role 400 +#define OBJ_role OBJ_X509,72L + +#define SN_X500algorithms "X500algorithms" +#define LN_X500algorithms "directory services - algorithms" +#define NID_X500algorithms 378 +#define OBJ_X500algorithms OBJ_X500,8L + +#define SN_rsa "RSA" +#define LN_rsa "rsa" +#define NID_rsa 19 +#define OBJ_rsa OBJ_X500algorithms,1L,1L + +#define SN_mdc2WithRSA "RSA-MDC2" +#define LN_mdc2WithRSA "mdc2WithRSA" +#define NID_mdc2WithRSA 96 +#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L + +#define SN_mdc2 "MDC2" +#define LN_mdc2 "mdc2" +#define NID_mdc2 95 +#define OBJ_mdc2 OBJ_X500algorithms,3L,101L + +#define SN_id_ce "id-ce" +#define NID_id_ce 81 +#define OBJ_id_ce OBJ_X500,29L + +#define SN_subject_directory_attributes "subjectDirectoryAttributes" +#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" +#define NID_subject_directory_attributes 769 +#define OBJ_subject_directory_attributes OBJ_id_ce,9L + +#define SN_subject_key_identifier "subjectKeyIdentifier" +#define LN_subject_key_identifier "X509v3 Subject Key Identifier" +#define NID_subject_key_identifier 82 +#define OBJ_subject_key_identifier OBJ_id_ce,14L + +#define SN_key_usage "keyUsage" +#define LN_key_usage "X509v3 Key Usage" +#define NID_key_usage 83 +#define OBJ_key_usage OBJ_id_ce,15L + +#define SN_private_key_usage_period "privateKeyUsagePeriod" +#define LN_private_key_usage_period "X509v3 Private Key Usage Period" +#define NID_private_key_usage_period 84 +#define OBJ_private_key_usage_period OBJ_id_ce,16L + +#define SN_subject_alt_name "subjectAltName" +#define LN_subject_alt_name "X509v3 Subject Alternative Name" +#define NID_subject_alt_name 85 +#define OBJ_subject_alt_name OBJ_id_ce,17L + +#define SN_issuer_alt_name "issuerAltName" +#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +#define NID_issuer_alt_name 86 +#define OBJ_issuer_alt_name OBJ_id_ce,18L + +#define SN_basic_constraints "basicConstraints" +#define LN_basic_constraints "X509v3 Basic Constraints" +#define NID_basic_constraints 87 +#define OBJ_basic_constraints OBJ_id_ce,19L + +#define SN_crl_number "crlNumber" +#define LN_crl_number "X509v3 CRL Number" +#define NID_crl_number 88 +#define OBJ_crl_number OBJ_id_ce,20L + +#define SN_crl_reason "CRLReason" +#define LN_crl_reason "X509v3 CRL Reason Code" +#define NID_crl_reason 141 +#define OBJ_crl_reason OBJ_id_ce,21L + +#define SN_invalidity_date "invalidityDate" +#define LN_invalidity_date "Invalidity Date" +#define NID_invalidity_date 142 +#define OBJ_invalidity_date OBJ_id_ce,24L + +#define SN_delta_crl "deltaCRL" +#define LN_delta_crl "X509v3 Delta CRL Indicator" +#define NID_delta_crl 140 +#define OBJ_delta_crl OBJ_id_ce,27L + +#define SN_issuing_distribution_point "issuingDistributionPoint" +#define LN_issuing_distribution_point "X509v3 Issuing Distribution Point" +#define NID_issuing_distribution_point 770 +#define OBJ_issuing_distribution_point OBJ_id_ce,28L + +#define SN_certificate_issuer "certificateIssuer" +#define LN_certificate_issuer "X509v3 Certificate Issuer" +#define NID_certificate_issuer 771 +#define OBJ_certificate_issuer OBJ_id_ce,29L + +#define SN_name_constraints "nameConstraints" +#define LN_name_constraints "X509v3 Name Constraints" +#define NID_name_constraints 666 +#define OBJ_name_constraints OBJ_id_ce,30L + +#define SN_crl_distribution_points "crlDistributionPoints" +#define LN_crl_distribution_points "X509v3 CRL Distribution Points" +#define NID_crl_distribution_points 103 +#define OBJ_crl_distribution_points OBJ_id_ce,31L + +#define SN_certificate_policies "certificatePolicies" +#define LN_certificate_policies "X509v3 Certificate Policies" +#define NID_certificate_policies 89 +#define OBJ_certificate_policies OBJ_id_ce,32L + +#define SN_any_policy "anyPolicy" +#define LN_any_policy "X509v3 Any Policy" +#define NID_any_policy 746 +#define OBJ_any_policy OBJ_certificate_policies,0L + +#define SN_policy_mappings "policyMappings" +#define LN_policy_mappings "X509v3 Policy Mappings" +#define NID_policy_mappings 747 +#define OBJ_policy_mappings OBJ_id_ce,33L + +#define SN_authority_key_identifier "authorityKeyIdentifier" +#define LN_authority_key_identifier "X509v3 Authority Key Identifier" +#define NID_authority_key_identifier 90 +#define OBJ_authority_key_identifier OBJ_id_ce,35L + +#define SN_policy_constraints "policyConstraints" +#define LN_policy_constraints "X509v3 Policy Constraints" +#define NID_policy_constraints 401 +#define OBJ_policy_constraints OBJ_id_ce,36L + +#define SN_ext_key_usage "extendedKeyUsage" +#define LN_ext_key_usage "X509v3 Extended Key Usage" +#define NID_ext_key_usage 126 +#define OBJ_ext_key_usage OBJ_id_ce,37L + +#define SN_freshest_crl "freshestCRL" +#define LN_freshest_crl "X509v3 Freshest CRL" +#define NID_freshest_crl 857 +#define OBJ_freshest_crl OBJ_id_ce,46L + +#define SN_inhibit_any_policy "inhibitAnyPolicy" +#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" +#define NID_inhibit_any_policy 748 +#define OBJ_inhibit_any_policy OBJ_id_ce,54L + +#define SN_target_information "targetInformation" +#define LN_target_information "X509v3 AC Targeting" +#define NID_target_information 402 +#define OBJ_target_information OBJ_id_ce,55L + +#define SN_no_rev_avail "noRevAvail" +#define LN_no_rev_avail "X509v3 No Revocation Available" +#define NID_no_rev_avail 403 +#define OBJ_no_rev_avail OBJ_id_ce,56L + +#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" +#define LN_anyExtendedKeyUsage "Any Extended Key Usage" +#define NID_anyExtendedKeyUsage 910 +#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L + +#define SN_netscape "Netscape" +#define LN_netscape "Netscape Communications Corp." +#define NID_netscape 57 +#define OBJ_netscape 2L,16L,840L,1L,113730L + +#define SN_netscape_cert_extension "nsCertExt" +#define LN_netscape_cert_extension "Netscape Certificate Extension" +#define NID_netscape_cert_extension 58 +#define OBJ_netscape_cert_extension OBJ_netscape,1L + +#define SN_netscape_data_type "nsDataType" +#define LN_netscape_data_type "Netscape Data Type" +#define NID_netscape_data_type 59 +#define OBJ_netscape_data_type OBJ_netscape,2L + +#define SN_netscape_cert_type "nsCertType" +#define LN_netscape_cert_type "Netscape Cert Type" +#define NID_netscape_cert_type 71 +#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +#define SN_netscape_base_url "nsBaseUrl" +#define LN_netscape_base_url "Netscape Base Url" +#define NID_netscape_base_url 72 +#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +#define SN_netscape_revocation_url "nsRevocationUrl" +#define LN_netscape_revocation_url "Netscape Revocation Url" +#define NID_netscape_revocation_url 73 +#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +#define NID_netscape_ca_revocation_url 74 +#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +#define SN_netscape_renewal_url "nsRenewalUrl" +#define LN_netscape_renewal_url "Netscape Renewal Url" +#define NID_netscape_renewal_url 75 +#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +#define SN_netscape_ca_policy_url "nsCaPolicyUrl" +#define LN_netscape_ca_policy_url "Netscape CA Policy Url" +#define NID_netscape_ca_policy_url 76 +#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +#define SN_netscape_ssl_server_name "nsSslServerName" +#define LN_netscape_ssl_server_name "Netscape SSL Server Name" +#define NID_netscape_ssl_server_name 77 +#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +#define SN_netscape_comment "nsComment" +#define LN_netscape_comment "Netscape Comment" +#define NID_netscape_comment 78 +#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +#define SN_netscape_cert_sequence "nsCertSequence" +#define LN_netscape_cert_sequence "Netscape Certificate Sequence" +#define NID_netscape_cert_sequence 79 +#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +#define SN_ns_sgc "nsSGC" +#define LN_ns_sgc "Netscape Server Gated Crypto" +#define NID_ns_sgc 139 +#define OBJ_ns_sgc OBJ_netscape,4L,1L + +#define SN_org "ORG" +#define LN_org "org" +#define NID_org 379 +#define OBJ_org OBJ_iso,3L + +#define SN_dod "DOD" +#define LN_dod "dod" +#define NID_dod 380 +#define OBJ_dod OBJ_org,6L + +#define SN_iana "IANA" +#define LN_iana "iana" +#define NID_iana 381 +#define OBJ_iana OBJ_dod,1L + +#define OBJ_internet OBJ_iana + +#define SN_Directory "directory" +#define LN_Directory "Directory" +#define NID_Directory 382 +#define OBJ_Directory OBJ_internet,1L + +#define SN_Management "mgmt" +#define LN_Management "Management" +#define NID_Management 383 +#define OBJ_Management OBJ_internet,2L + +#define SN_Experimental "experimental" +#define LN_Experimental "Experimental" +#define NID_Experimental 384 +#define OBJ_Experimental OBJ_internet,3L + +#define SN_Private "private" +#define LN_Private "Private" +#define NID_Private 385 +#define OBJ_Private OBJ_internet,4L + +#define SN_Security "security" +#define LN_Security "Security" +#define NID_Security 386 +#define OBJ_Security OBJ_internet,5L + +#define SN_SNMPv2 "snmpv2" +#define LN_SNMPv2 "SNMPv2" +#define NID_SNMPv2 387 +#define OBJ_SNMPv2 OBJ_internet,6L + +#define LN_Mail "Mail" +#define NID_Mail 388 +#define OBJ_Mail OBJ_internet,7L + +#define SN_Enterprises "enterprises" +#define LN_Enterprises "Enterprises" +#define NID_Enterprises 389 +#define OBJ_Enterprises OBJ_Private,1L + +#define SN_dcObject "dcobject" +#define LN_dcObject "dcObject" +#define NID_dcObject 390 +#define OBJ_dcObject OBJ_Enterprises,1466L,344L + +#define SN_mime_mhs "mime-mhs" +#define LN_mime_mhs "MIME MHS" +#define NID_mime_mhs 504 +#define OBJ_mime_mhs OBJ_Mail,1L + +#define SN_mime_mhs_headings "mime-mhs-headings" +#define LN_mime_mhs_headings "mime-mhs-headings" +#define NID_mime_mhs_headings 505 +#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L + +#define SN_mime_mhs_bodies "mime-mhs-bodies" +#define LN_mime_mhs_bodies "mime-mhs-bodies" +#define NID_mime_mhs_bodies 506 +#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L + +#define SN_id_hex_partial_message "id-hex-partial-message" +#define LN_id_hex_partial_message "id-hex-partial-message" +#define NID_id_hex_partial_message 507 +#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L + +#define SN_id_hex_multipart_message "id-hex-multipart-message" +#define LN_id_hex_multipart_message "id-hex-multipart-message" +#define NID_id_hex_multipart_message 508 +#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L + +#define SN_zlib_compression "ZLIB" +#define LN_zlib_compression "zlib compression" +#define NID_zlib_compression 125 +#define OBJ_zlib_compression OBJ_id_smime_alg,8L + +#define OBJ_csor 2L,16L,840L,1L,101L,3L + +#define OBJ_nistAlgorithms OBJ_csor,4L + +#define OBJ_aes OBJ_nistAlgorithms,1L + +#define SN_aes_128_ecb "AES-128-ECB" +#define LN_aes_128_ecb "aes-128-ecb" +#define NID_aes_128_ecb 418 +#define OBJ_aes_128_ecb OBJ_aes,1L + +#define SN_aes_128_cbc "AES-128-CBC" +#define LN_aes_128_cbc "aes-128-cbc" +#define NID_aes_128_cbc 419 +#define OBJ_aes_128_cbc OBJ_aes,2L + +#define SN_aes_128_ofb128 "AES-128-OFB" +#define LN_aes_128_ofb128 "aes-128-ofb" +#define NID_aes_128_ofb128 420 +#define OBJ_aes_128_ofb128 OBJ_aes,3L + +#define SN_aes_128_cfb128 "AES-128-CFB" +#define LN_aes_128_cfb128 "aes-128-cfb" +#define NID_aes_128_cfb128 421 +#define OBJ_aes_128_cfb128 OBJ_aes,4L + +#define SN_id_aes128_wrap "id-aes128-wrap" +#define NID_id_aes128_wrap 788 +#define OBJ_id_aes128_wrap OBJ_aes,5L + +#define SN_aes_128_gcm "id-aes128-GCM" +#define LN_aes_128_gcm "aes-128-gcm" +#define NID_aes_128_gcm 895 +#define OBJ_aes_128_gcm OBJ_aes,6L + +#define SN_aes_128_ccm "id-aes128-CCM" +#define LN_aes_128_ccm "aes-128-ccm" +#define NID_aes_128_ccm 896 +#define OBJ_aes_128_ccm OBJ_aes,7L + +#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" +#define NID_id_aes128_wrap_pad 897 +#define OBJ_id_aes128_wrap_pad OBJ_aes,8L + +#define SN_aes_192_ecb "AES-192-ECB" +#define LN_aes_192_ecb "aes-192-ecb" +#define NID_aes_192_ecb 422 +#define OBJ_aes_192_ecb OBJ_aes,21L + +#define SN_aes_192_cbc "AES-192-CBC" +#define LN_aes_192_cbc "aes-192-cbc" +#define NID_aes_192_cbc 423 +#define OBJ_aes_192_cbc OBJ_aes,22L + +#define SN_aes_192_ofb128 "AES-192-OFB" +#define LN_aes_192_ofb128 "aes-192-ofb" +#define NID_aes_192_ofb128 424 +#define OBJ_aes_192_ofb128 OBJ_aes,23L + +#define SN_aes_192_cfb128 "AES-192-CFB" +#define LN_aes_192_cfb128 "aes-192-cfb" +#define NID_aes_192_cfb128 425 +#define OBJ_aes_192_cfb128 OBJ_aes,24L + +#define SN_id_aes192_wrap "id-aes192-wrap" +#define NID_id_aes192_wrap 789 +#define OBJ_id_aes192_wrap OBJ_aes,25L + +#define SN_aes_192_gcm "id-aes192-GCM" +#define LN_aes_192_gcm "aes-192-gcm" +#define NID_aes_192_gcm 898 +#define OBJ_aes_192_gcm OBJ_aes,26L + +#define SN_aes_192_ccm "id-aes192-CCM" +#define LN_aes_192_ccm "aes-192-ccm" +#define NID_aes_192_ccm 899 +#define OBJ_aes_192_ccm OBJ_aes,27L + +#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" +#define NID_id_aes192_wrap_pad 900 +#define OBJ_id_aes192_wrap_pad OBJ_aes,28L + +#define SN_aes_256_ecb "AES-256-ECB" +#define LN_aes_256_ecb "aes-256-ecb" +#define NID_aes_256_ecb 426 +#define OBJ_aes_256_ecb OBJ_aes,41L + +#define SN_aes_256_cbc "AES-256-CBC" +#define LN_aes_256_cbc "aes-256-cbc" +#define NID_aes_256_cbc 427 +#define OBJ_aes_256_cbc OBJ_aes,42L + +#define SN_aes_256_ofb128 "AES-256-OFB" +#define LN_aes_256_ofb128 "aes-256-ofb" +#define NID_aes_256_ofb128 428 +#define OBJ_aes_256_ofb128 OBJ_aes,43L + +#define SN_aes_256_cfb128 "AES-256-CFB" +#define LN_aes_256_cfb128 "aes-256-cfb" +#define NID_aes_256_cfb128 429 +#define OBJ_aes_256_cfb128 OBJ_aes,44L + +#define SN_id_aes256_wrap "id-aes256-wrap" +#define NID_id_aes256_wrap 790 +#define OBJ_id_aes256_wrap OBJ_aes,45L + +#define SN_aes_256_gcm "id-aes256-GCM" +#define LN_aes_256_gcm "aes-256-gcm" +#define NID_aes_256_gcm 901 +#define OBJ_aes_256_gcm OBJ_aes,46L + +#define SN_aes_256_ccm "id-aes256-CCM" +#define LN_aes_256_ccm "aes-256-ccm" +#define NID_aes_256_ccm 902 +#define OBJ_aes_256_ccm OBJ_aes,47L + +#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" +#define NID_id_aes256_wrap_pad 903 +#define OBJ_id_aes256_wrap_pad OBJ_aes,48L + +#define SN_aes_128_cfb1 "AES-128-CFB1" +#define LN_aes_128_cfb1 "aes-128-cfb1" +#define NID_aes_128_cfb1 650 + +#define SN_aes_192_cfb1 "AES-192-CFB1" +#define LN_aes_192_cfb1 "aes-192-cfb1" +#define NID_aes_192_cfb1 651 + +#define SN_aes_256_cfb1 "AES-256-CFB1" +#define LN_aes_256_cfb1 "aes-256-cfb1" +#define NID_aes_256_cfb1 652 + +#define SN_aes_128_cfb8 "AES-128-CFB8" +#define LN_aes_128_cfb8 "aes-128-cfb8" +#define NID_aes_128_cfb8 653 + +#define SN_aes_192_cfb8 "AES-192-CFB8" +#define LN_aes_192_cfb8 "aes-192-cfb8" +#define NID_aes_192_cfb8 654 + +#define SN_aes_256_cfb8 "AES-256-CFB8" +#define LN_aes_256_cfb8 "aes-256-cfb8" +#define NID_aes_256_cfb8 655 + +#define SN_aes_128_ctr "AES-128-CTR" +#define LN_aes_128_ctr "aes-128-ctr" +#define NID_aes_128_ctr 904 + +#define SN_aes_192_ctr "AES-192-CTR" +#define LN_aes_192_ctr "aes-192-ctr" +#define NID_aes_192_ctr 905 + +#define SN_aes_256_ctr "AES-256-CTR" +#define LN_aes_256_ctr "aes-256-ctr" +#define NID_aes_256_ctr 906 + +#define SN_aes_128_ocb "AES-128-OCB" +#define LN_aes_128_ocb "aes-128-ocb" +#define NID_aes_128_ocb 958 + +#define SN_aes_192_ocb "AES-192-OCB" +#define LN_aes_192_ocb "aes-192-ocb" +#define NID_aes_192_ocb 959 + +#define SN_aes_256_ocb "AES-256-OCB" +#define LN_aes_256_ocb "aes-256-ocb" +#define NID_aes_256_ocb 960 + +#define SN_aes_128_xts "AES-128-XTS" +#define LN_aes_128_xts "aes-128-xts" +#define NID_aes_128_xts 913 + +#define SN_aes_256_xts "AES-256-XTS" +#define LN_aes_256_xts "aes-256-xts" +#define NID_aes_256_xts 914 + +#define SN_des_cfb1 "DES-CFB1" +#define LN_des_cfb1 "des-cfb1" +#define NID_des_cfb1 656 + +#define SN_des_cfb8 "DES-CFB8" +#define LN_des_cfb8 "des-cfb8" +#define NID_des_cfb8 657 + +#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" +#define LN_des_ede3_cfb1 "des-ede3-cfb1" +#define NID_des_ede3_cfb1 658 + +#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" +#define LN_des_ede3_cfb8 "des-ede3-cfb8" +#define NID_des_ede3_cfb8 659 + +#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L + +#define SN_sha256 "SHA256" +#define LN_sha256 "sha256" +#define NID_sha256 672 +#define OBJ_sha256 OBJ_nist_hashalgs,1L + +#define SN_sha384 "SHA384" +#define LN_sha384 "sha384" +#define NID_sha384 673 +#define OBJ_sha384 OBJ_nist_hashalgs,2L + +#define SN_sha512 "SHA512" +#define LN_sha512 "sha512" +#define NID_sha512 674 +#define OBJ_sha512 OBJ_nist_hashalgs,3L + +#define SN_sha224 "SHA224" +#define LN_sha224 "sha224" +#define NID_sha224 675 +#define OBJ_sha224 OBJ_nist_hashalgs,4L + +#define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L + +#define SN_dsa_with_SHA224 "dsa_with_SHA224" +#define NID_dsa_with_SHA224 802 +#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L + +#define SN_dsa_with_SHA256 "dsa_with_SHA256" +#define NID_dsa_with_SHA256 803 +#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L + +#define SN_hold_instruction_code "holdInstructionCode" +#define LN_hold_instruction_code "Hold Instruction Code" +#define NID_hold_instruction_code 430 +#define OBJ_hold_instruction_code OBJ_id_ce,23L + +#define OBJ_holdInstruction OBJ_X9_57,2L + +#define SN_hold_instruction_none "holdInstructionNone" +#define LN_hold_instruction_none "Hold Instruction None" +#define NID_hold_instruction_none 431 +#define OBJ_hold_instruction_none OBJ_holdInstruction,1L + +#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" +#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" +#define NID_hold_instruction_call_issuer 432 +#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L + +#define SN_hold_instruction_reject "holdInstructionReject" +#define LN_hold_instruction_reject "Hold Instruction Reject" +#define NID_hold_instruction_reject 433 +#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L + +#define SN_data "data" +#define NID_data 434 +#define OBJ_data OBJ_itu_t,9L + +#define SN_pss "pss" +#define NID_pss 435 +#define OBJ_pss OBJ_data,2342L + +#define SN_ucl "ucl" +#define NID_ucl 436 +#define OBJ_ucl OBJ_pss,19200300L + +#define SN_pilot "pilot" +#define NID_pilot 437 +#define OBJ_pilot OBJ_ucl,100L + +#define LN_pilotAttributeType "pilotAttributeType" +#define NID_pilotAttributeType 438 +#define OBJ_pilotAttributeType OBJ_pilot,1L + +#define LN_pilotAttributeSyntax "pilotAttributeSyntax" +#define NID_pilotAttributeSyntax 439 +#define OBJ_pilotAttributeSyntax OBJ_pilot,3L + +#define LN_pilotObjectClass "pilotObjectClass" +#define NID_pilotObjectClass 440 +#define OBJ_pilotObjectClass OBJ_pilot,4L + +#define LN_pilotGroups "pilotGroups" +#define NID_pilotGroups 441 +#define OBJ_pilotGroups OBJ_pilot,10L + +#define LN_iA5StringSyntax "iA5StringSyntax" +#define NID_iA5StringSyntax 442 +#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L + +#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" +#define NID_caseIgnoreIA5StringSyntax 443 +#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L + +#define LN_pilotObject "pilotObject" +#define NID_pilotObject 444 +#define OBJ_pilotObject OBJ_pilotObjectClass,3L + +#define LN_pilotPerson "pilotPerson" +#define NID_pilotPerson 445 +#define OBJ_pilotPerson OBJ_pilotObjectClass,4L + +#define SN_account "account" +#define NID_account 446 +#define OBJ_account OBJ_pilotObjectClass,5L + +#define SN_document "document" +#define NID_document 447 +#define OBJ_document OBJ_pilotObjectClass,6L + +#define SN_room "room" +#define NID_room 448 +#define OBJ_room OBJ_pilotObjectClass,7L + +#define LN_documentSeries "documentSeries" +#define NID_documentSeries 449 +#define OBJ_documentSeries OBJ_pilotObjectClass,9L + +#define SN_Domain "domain" +#define LN_Domain "Domain" +#define NID_Domain 392 +#define OBJ_Domain OBJ_pilotObjectClass,13L + +#define LN_rFC822localPart "rFC822localPart" +#define NID_rFC822localPart 450 +#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L + +#define LN_dNSDomain "dNSDomain" +#define NID_dNSDomain 451 +#define OBJ_dNSDomain OBJ_pilotObjectClass,15L + +#define LN_domainRelatedObject "domainRelatedObject" +#define NID_domainRelatedObject 452 +#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L + +#define LN_friendlyCountry "friendlyCountry" +#define NID_friendlyCountry 453 +#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L + +#define LN_simpleSecurityObject "simpleSecurityObject" +#define NID_simpleSecurityObject 454 +#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L + +#define LN_pilotOrganization "pilotOrganization" +#define NID_pilotOrganization 455 +#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L + +#define LN_pilotDSA "pilotDSA" +#define NID_pilotDSA 456 +#define OBJ_pilotDSA OBJ_pilotObjectClass,21L + +#define LN_qualityLabelledData "qualityLabelledData" +#define NID_qualityLabelledData 457 +#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L + +#define SN_userId "UID" +#define LN_userId "userId" +#define NID_userId 458 +#define OBJ_userId OBJ_pilotAttributeType,1L + +#define LN_textEncodedORAddress "textEncodedORAddress" +#define NID_textEncodedORAddress 459 +#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L + +#define SN_rfc822Mailbox "mail" +#define LN_rfc822Mailbox "rfc822Mailbox" +#define NID_rfc822Mailbox 460 +#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L + +#define SN_info "info" +#define NID_info 461 +#define OBJ_info OBJ_pilotAttributeType,4L + +#define LN_favouriteDrink "favouriteDrink" +#define NID_favouriteDrink 462 +#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L + +#define LN_roomNumber "roomNumber" +#define NID_roomNumber 463 +#define OBJ_roomNumber OBJ_pilotAttributeType,6L + +#define SN_photo "photo" +#define NID_photo 464 +#define OBJ_photo OBJ_pilotAttributeType,7L + +#define LN_userClass "userClass" +#define NID_userClass 465 +#define OBJ_userClass OBJ_pilotAttributeType,8L + +#define SN_host "host" +#define NID_host 466 +#define OBJ_host OBJ_pilotAttributeType,9L + +#define SN_manager "manager" +#define NID_manager 467 +#define OBJ_manager OBJ_pilotAttributeType,10L + +#define LN_documentIdentifier "documentIdentifier" +#define NID_documentIdentifier 468 +#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L + +#define LN_documentTitle "documentTitle" +#define NID_documentTitle 469 +#define OBJ_documentTitle OBJ_pilotAttributeType,12L + +#define LN_documentVersion "documentVersion" +#define NID_documentVersion 470 +#define OBJ_documentVersion OBJ_pilotAttributeType,13L + +#define LN_documentAuthor "documentAuthor" +#define NID_documentAuthor 471 +#define OBJ_documentAuthor OBJ_pilotAttributeType,14L + +#define LN_documentLocation "documentLocation" +#define NID_documentLocation 472 +#define OBJ_documentLocation OBJ_pilotAttributeType,15L + +#define LN_homeTelephoneNumber "homeTelephoneNumber" +#define NID_homeTelephoneNumber 473 +#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L + +#define SN_secretary "secretary" +#define NID_secretary 474 +#define OBJ_secretary OBJ_pilotAttributeType,21L + +#define LN_otherMailbox "otherMailbox" +#define NID_otherMailbox 475 +#define OBJ_otherMailbox OBJ_pilotAttributeType,22L + +#define LN_lastModifiedTime "lastModifiedTime" +#define NID_lastModifiedTime 476 +#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L + +#define LN_lastModifiedBy "lastModifiedBy" +#define NID_lastModifiedBy 477 +#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L + +#define SN_domainComponent "DC" +#define LN_domainComponent "domainComponent" +#define NID_domainComponent 391 +#define OBJ_domainComponent OBJ_pilotAttributeType,25L + +#define LN_aRecord "aRecord" +#define NID_aRecord 478 +#define OBJ_aRecord OBJ_pilotAttributeType,26L + +#define LN_pilotAttributeType27 "pilotAttributeType27" +#define NID_pilotAttributeType27 479 +#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L + +#define LN_mXRecord "mXRecord" +#define NID_mXRecord 480 +#define OBJ_mXRecord OBJ_pilotAttributeType,28L + +#define LN_nSRecord "nSRecord" +#define NID_nSRecord 481 +#define OBJ_nSRecord OBJ_pilotAttributeType,29L + +#define LN_sOARecord "sOARecord" +#define NID_sOARecord 482 +#define OBJ_sOARecord OBJ_pilotAttributeType,30L + +#define LN_cNAMERecord "cNAMERecord" +#define NID_cNAMERecord 483 +#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L + +#define LN_associatedDomain "associatedDomain" +#define NID_associatedDomain 484 +#define OBJ_associatedDomain OBJ_pilotAttributeType,37L + +#define LN_associatedName "associatedName" +#define NID_associatedName 485 +#define OBJ_associatedName OBJ_pilotAttributeType,38L + +#define LN_homePostalAddress "homePostalAddress" +#define NID_homePostalAddress 486 +#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L + +#define LN_personalTitle "personalTitle" +#define NID_personalTitle 487 +#define OBJ_personalTitle OBJ_pilotAttributeType,40L + +#define LN_mobileTelephoneNumber "mobileTelephoneNumber" +#define NID_mobileTelephoneNumber 488 +#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L + +#define LN_pagerTelephoneNumber "pagerTelephoneNumber" +#define NID_pagerTelephoneNumber 489 +#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L + +#define LN_friendlyCountryName "friendlyCountryName" +#define NID_friendlyCountryName 490 +#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L + +#define SN_uniqueIdentifier "uid" +#define LN_uniqueIdentifier "uniqueIdentifier" +#define NID_uniqueIdentifier 102 +#define OBJ_uniqueIdentifier OBJ_pilotAttributeType,44L + +#define LN_organizationalStatus "organizationalStatus" +#define NID_organizationalStatus 491 +#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L + +#define LN_janetMailbox "janetMailbox" +#define NID_janetMailbox 492 +#define OBJ_janetMailbox OBJ_pilotAttributeType,46L + +#define LN_mailPreferenceOption "mailPreferenceOption" +#define NID_mailPreferenceOption 493 +#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L + +#define LN_buildingName "buildingName" +#define NID_buildingName 494 +#define OBJ_buildingName OBJ_pilotAttributeType,48L + +#define LN_dSAQuality "dSAQuality" +#define NID_dSAQuality 495 +#define OBJ_dSAQuality OBJ_pilotAttributeType,49L + +#define LN_singleLevelQuality "singleLevelQuality" +#define NID_singleLevelQuality 496 +#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L + +#define LN_subtreeMinimumQuality "subtreeMinimumQuality" +#define NID_subtreeMinimumQuality 497 +#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L + +#define LN_subtreeMaximumQuality "subtreeMaximumQuality" +#define NID_subtreeMaximumQuality 498 +#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L + +#define LN_personalSignature "personalSignature" +#define NID_personalSignature 499 +#define OBJ_personalSignature OBJ_pilotAttributeType,53L + +#define LN_dITRedirect "dITRedirect" +#define NID_dITRedirect 500 +#define OBJ_dITRedirect OBJ_pilotAttributeType,54L + +#define SN_audio "audio" +#define NID_audio 501 +#define OBJ_audio OBJ_pilotAttributeType,55L + +#define LN_documentPublisher "documentPublisher" +#define NID_documentPublisher 502 +#define OBJ_documentPublisher OBJ_pilotAttributeType,56L + +#define SN_id_set "id-set" +#define LN_id_set "Secure Electronic Transactions" +#define NID_id_set 512 +#define OBJ_id_set OBJ_international_organizations,42L + +#define SN_set_ctype "set-ctype" +#define LN_set_ctype "content types" +#define NID_set_ctype 513 +#define OBJ_set_ctype OBJ_id_set,0L + +#define SN_set_msgExt "set-msgExt" +#define LN_set_msgExt "message extensions" +#define NID_set_msgExt 514 +#define OBJ_set_msgExt OBJ_id_set,1L + +#define SN_set_attr "set-attr" +#define NID_set_attr 515 +#define OBJ_set_attr OBJ_id_set,3L + +#define SN_set_policy "set-policy" +#define NID_set_policy 516 +#define OBJ_set_policy OBJ_id_set,5L + +#define SN_set_certExt "set-certExt" +#define LN_set_certExt "certificate extensions" +#define NID_set_certExt 517 +#define OBJ_set_certExt OBJ_id_set,7L + +#define SN_set_brand "set-brand" +#define NID_set_brand 518 +#define OBJ_set_brand OBJ_id_set,8L + +#define SN_setct_PANData "setct-PANData" +#define NID_setct_PANData 519 +#define OBJ_setct_PANData OBJ_set_ctype,0L + +#define SN_setct_PANToken "setct-PANToken" +#define NID_setct_PANToken 520 +#define OBJ_setct_PANToken OBJ_set_ctype,1L + +#define SN_setct_PANOnly "setct-PANOnly" +#define NID_setct_PANOnly 521 +#define OBJ_setct_PANOnly OBJ_set_ctype,2L + +#define SN_setct_OIData "setct-OIData" +#define NID_setct_OIData 522 +#define OBJ_setct_OIData OBJ_set_ctype,3L + +#define SN_setct_PI "setct-PI" +#define NID_setct_PI 523 +#define OBJ_setct_PI OBJ_set_ctype,4L + +#define SN_setct_PIData "setct-PIData" +#define NID_setct_PIData 524 +#define OBJ_setct_PIData OBJ_set_ctype,5L + +#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" +#define NID_setct_PIDataUnsigned 525 +#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L + +#define SN_setct_HODInput "setct-HODInput" +#define NID_setct_HODInput 526 +#define OBJ_setct_HODInput OBJ_set_ctype,7L + +#define SN_setct_AuthResBaggage "setct-AuthResBaggage" +#define NID_setct_AuthResBaggage 527 +#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L + +#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" +#define NID_setct_AuthRevReqBaggage 528 +#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L + +#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" +#define NID_setct_AuthRevResBaggage 529 +#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L + +#define SN_setct_CapTokenSeq "setct-CapTokenSeq" +#define NID_setct_CapTokenSeq 530 +#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L + +#define SN_setct_PInitResData "setct-PInitResData" +#define NID_setct_PInitResData 531 +#define OBJ_setct_PInitResData OBJ_set_ctype,12L + +#define SN_setct_PI_TBS "setct-PI-TBS" +#define NID_setct_PI_TBS 532 +#define OBJ_setct_PI_TBS OBJ_set_ctype,13L + +#define SN_setct_PResData "setct-PResData" +#define NID_setct_PResData 533 +#define OBJ_setct_PResData OBJ_set_ctype,14L + +#define SN_setct_AuthReqTBS "setct-AuthReqTBS" +#define NID_setct_AuthReqTBS 534 +#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L + +#define SN_setct_AuthResTBS "setct-AuthResTBS" +#define NID_setct_AuthResTBS 535 +#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L + +#define SN_setct_AuthResTBSX "setct-AuthResTBSX" +#define NID_setct_AuthResTBSX 536 +#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L + +#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" +#define NID_setct_AuthTokenTBS 537 +#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L + +#define SN_setct_CapTokenData "setct-CapTokenData" +#define NID_setct_CapTokenData 538 +#define OBJ_setct_CapTokenData OBJ_set_ctype,20L + +#define SN_setct_CapTokenTBS "setct-CapTokenTBS" +#define NID_setct_CapTokenTBS 539 +#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L + +#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" +#define NID_setct_AcqCardCodeMsg 540 +#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L + +#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" +#define NID_setct_AuthRevReqTBS 541 +#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L + +#define SN_setct_AuthRevResData "setct-AuthRevResData" +#define NID_setct_AuthRevResData 542 +#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L + +#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" +#define NID_setct_AuthRevResTBS 543 +#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L + +#define SN_setct_CapReqTBS "setct-CapReqTBS" +#define NID_setct_CapReqTBS 544 +#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L + +#define SN_setct_CapReqTBSX "setct-CapReqTBSX" +#define NID_setct_CapReqTBSX 545 +#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L + +#define SN_setct_CapResData "setct-CapResData" +#define NID_setct_CapResData 546 +#define OBJ_setct_CapResData OBJ_set_ctype,28L + +#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" +#define NID_setct_CapRevReqTBS 547 +#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L + +#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" +#define NID_setct_CapRevReqTBSX 548 +#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L + +#define SN_setct_CapRevResData "setct-CapRevResData" +#define NID_setct_CapRevResData 549 +#define OBJ_setct_CapRevResData OBJ_set_ctype,31L + +#define SN_setct_CredReqTBS "setct-CredReqTBS" +#define NID_setct_CredReqTBS 550 +#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L + +#define SN_setct_CredReqTBSX "setct-CredReqTBSX" +#define NID_setct_CredReqTBSX 551 +#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L + +#define SN_setct_CredResData "setct-CredResData" +#define NID_setct_CredResData 552 +#define OBJ_setct_CredResData OBJ_set_ctype,34L + +#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" +#define NID_setct_CredRevReqTBS 553 +#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L + +#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" +#define NID_setct_CredRevReqTBSX 554 +#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L + +#define SN_setct_CredRevResData "setct-CredRevResData" +#define NID_setct_CredRevResData 555 +#define OBJ_setct_CredRevResData OBJ_set_ctype,37L + +#define SN_setct_PCertReqData "setct-PCertReqData" +#define NID_setct_PCertReqData 556 +#define OBJ_setct_PCertReqData OBJ_set_ctype,38L + +#define SN_setct_PCertResTBS "setct-PCertResTBS" +#define NID_setct_PCertResTBS 557 +#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L + +#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" +#define NID_setct_BatchAdminReqData 558 +#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L + +#define SN_setct_BatchAdminResData "setct-BatchAdminResData" +#define NID_setct_BatchAdminResData 559 +#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L + +#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" +#define NID_setct_CardCInitResTBS 560 +#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L + +#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" +#define NID_setct_MeAqCInitResTBS 561 +#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L + +#define SN_setct_RegFormResTBS "setct-RegFormResTBS" +#define NID_setct_RegFormResTBS 562 +#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L + +#define SN_setct_CertReqData "setct-CertReqData" +#define NID_setct_CertReqData 563 +#define OBJ_setct_CertReqData OBJ_set_ctype,45L + +#define SN_setct_CertReqTBS "setct-CertReqTBS" +#define NID_setct_CertReqTBS 564 +#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L + +#define SN_setct_CertResData "setct-CertResData" +#define NID_setct_CertResData 565 +#define OBJ_setct_CertResData OBJ_set_ctype,47L + +#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" +#define NID_setct_CertInqReqTBS 566 +#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L + +#define SN_setct_ErrorTBS "setct-ErrorTBS" +#define NID_setct_ErrorTBS 567 +#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L + +#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" +#define NID_setct_PIDualSignedTBE 568 +#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L + +#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" +#define NID_setct_PIUnsignedTBE 569 +#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L + +#define SN_setct_AuthReqTBE "setct-AuthReqTBE" +#define NID_setct_AuthReqTBE 570 +#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L + +#define SN_setct_AuthResTBE "setct-AuthResTBE" +#define NID_setct_AuthResTBE 571 +#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L + +#define SN_setct_AuthResTBEX "setct-AuthResTBEX" +#define NID_setct_AuthResTBEX 572 +#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L + +#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" +#define NID_setct_AuthTokenTBE 573 +#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L + +#define SN_setct_CapTokenTBE "setct-CapTokenTBE" +#define NID_setct_CapTokenTBE 574 +#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L + +#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" +#define NID_setct_CapTokenTBEX 575 +#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L + +#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" +#define NID_setct_AcqCardCodeMsgTBE 576 +#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L + +#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" +#define NID_setct_AuthRevReqTBE 577 +#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L + +#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" +#define NID_setct_AuthRevResTBE 578 +#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L + +#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" +#define NID_setct_AuthRevResTBEB 579 +#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L + +#define SN_setct_CapReqTBE "setct-CapReqTBE" +#define NID_setct_CapReqTBE 580 +#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L + +#define SN_setct_CapReqTBEX "setct-CapReqTBEX" +#define NID_setct_CapReqTBEX 581 +#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L + +#define SN_setct_CapResTBE "setct-CapResTBE" +#define NID_setct_CapResTBE 582 +#define OBJ_setct_CapResTBE OBJ_set_ctype,64L + +#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" +#define NID_setct_CapRevReqTBE 583 +#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L + +#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" +#define NID_setct_CapRevReqTBEX 584 +#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L + +#define SN_setct_CapRevResTBE "setct-CapRevResTBE" +#define NID_setct_CapRevResTBE 585 +#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L + +#define SN_setct_CredReqTBE "setct-CredReqTBE" +#define NID_setct_CredReqTBE 586 +#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L + +#define SN_setct_CredReqTBEX "setct-CredReqTBEX" +#define NID_setct_CredReqTBEX 587 +#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L + +#define SN_setct_CredResTBE "setct-CredResTBE" +#define NID_setct_CredResTBE 588 +#define OBJ_setct_CredResTBE OBJ_set_ctype,70L + +#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" +#define NID_setct_CredRevReqTBE 589 +#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L + +#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" +#define NID_setct_CredRevReqTBEX 590 +#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L + +#define SN_setct_CredRevResTBE "setct-CredRevResTBE" +#define NID_setct_CredRevResTBE 591 +#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L + +#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" +#define NID_setct_BatchAdminReqTBE 592 +#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L + +#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" +#define NID_setct_BatchAdminResTBE 593 +#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L + +#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" +#define NID_setct_RegFormReqTBE 594 +#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L + +#define SN_setct_CertReqTBE "setct-CertReqTBE" +#define NID_setct_CertReqTBE 595 +#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L + +#define SN_setct_CertReqTBEX "setct-CertReqTBEX" +#define NID_setct_CertReqTBEX 596 +#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L + +#define SN_setct_CertResTBE "setct-CertResTBE" +#define NID_setct_CertResTBE 597 +#define OBJ_setct_CertResTBE OBJ_set_ctype,79L + +#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" +#define NID_setct_CRLNotificationTBS 598 +#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L + +#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" +#define NID_setct_CRLNotificationResTBS 599 +#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L + +#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" +#define NID_setct_BCIDistributionTBS 600 +#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L + +#define SN_setext_genCrypt "setext-genCrypt" +#define LN_setext_genCrypt "generic cryptogram" +#define NID_setext_genCrypt 601 +#define OBJ_setext_genCrypt OBJ_set_msgExt,1L + +#define SN_setext_miAuth "setext-miAuth" +#define LN_setext_miAuth "merchant initiated auth" +#define NID_setext_miAuth 602 +#define OBJ_setext_miAuth OBJ_set_msgExt,3L + +#define SN_setext_pinSecure "setext-pinSecure" +#define NID_setext_pinSecure 603 +#define OBJ_setext_pinSecure OBJ_set_msgExt,4L + +#define SN_setext_pinAny "setext-pinAny" +#define NID_setext_pinAny 604 +#define OBJ_setext_pinAny OBJ_set_msgExt,5L + +#define SN_setext_track2 "setext-track2" +#define NID_setext_track2 605 +#define OBJ_setext_track2 OBJ_set_msgExt,7L + +#define SN_setext_cv "setext-cv" +#define LN_setext_cv "additional verification" +#define NID_setext_cv 606 +#define OBJ_setext_cv OBJ_set_msgExt,8L + +#define SN_set_policy_root "set-policy-root" +#define NID_set_policy_root 607 +#define OBJ_set_policy_root OBJ_set_policy,0L + +#define SN_setCext_hashedRoot "setCext-hashedRoot" +#define NID_setCext_hashedRoot 608 +#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L + +#define SN_setCext_certType "setCext-certType" +#define NID_setCext_certType 609 +#define OBJ_setCext_certType OBJ_set_certExt,1L + +#define SN_setCext_merchData "setCext-merchData" +#define NID_setCext_merchData 610 +#define OBJ_setCext_merchData OBJ_set_certExt,2L + +#define SN_setCext_cCertRequired "setCext-cCertRequired" +#define NID_setCext_cCertRequired 611 +#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L + +#define SN_setCext_tunneling "setCext-tunneling" +#define NID_setCext_tunneling 612 +#define OBJ_setCext_tunneling OBJ_set_certExt,4L + +#define SN_setCext_setExt "setCext-setExt" +#define NID_setCext_setExt 613 +#define OBJ_setCext_setExt OBJ_set_certExt,5L + +#define SN_setCext_setQualf "setCext-setQualf" +#define NID_setCext_setQualf 614 +#define OBJ_setCext_setQualf OBJ_set_certExt,6L + +#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" +#define NID_setCext_PGWYcapabilities 615 +#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L + +#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" +#define NID_setCext_TokenIdentifier 616 +#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L + +#define SN_setCext_Track2Data "setCext-Track2Data" +#define NID_setCext_Track2Data 617 +#define OBJ_setCext_Track2Data OBJ_set_certExt,9L + +#define SN_setCext_TokenType "setCext-TokenType" +#define NID_setCext_TokenType 618 +#define OBJ_setCext_TokenType OBJ_set_certExt,10L + +#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" +#define NID_setCext_IssuerCapabilities 619 +#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L + +#define SN_setAttr_Cert "setAttr-Cert" +#define NID_setAttr_Cert 620 +#define OBJ_setAttr_Cert OBJ_set_attr,0L + +#define SN_setAttr_PGWYcap "setAttr-PGWYcap" +#define LN_setAttr_PGWYcap "payment gateway capabilities" +#define NID_setAttr_PGWYcap 621 +#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L + +#define SN_setAttr_TokenType "setAttr-TokenType" +#define NID_setAttr_TokenType 622 +#define OBJ_setAttr_TokenType OBJ_set_attr,2L + +#define SN_setAttr_IssCap "setAttr-IssCap" +#define LN_setAttr_IssCap "issuer capabilities" +#define NID_setAttr_IssCap 623 +#define OBJ_setAttr_IssCap OBJ_set_attr,3L + +#define SN_set_rootKeyThumb "set-rootKeyThumb" +#define NID_set_rootKeyThumb 624 +#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L + +#define SN_set_addPolicy "set-addPolicy" +#define NID_set_addPolicy 625 +#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L + +#define SN_setAttr_Token_EMV "setAttr-Token-EMV" +#define NID_setAttr_Token_EMV 626 +#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L + +#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" +#define NID_setAttr_Token_B0Prime 627 +#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L + +#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" +#define NID_setAttr_IssCap_CVM 628 +#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L + +#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" +#define NID_setAttr_IssCap_T2 629 +#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L + +#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" +#define NID_setAttr_IssCap_Sig 630 +#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L + +#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" +#define LN_setAttr_GenCryptgrm "generate cryptogram" +#define NID_setAttr_GenCryptgrm 631 +#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L + +#define SN_setAttr_T2Enc "setAttr-T2Enc" +#define LN_setAttr_T2Enc "encrypted track 2" +#define NID_setAttr_T2Enc 632 +#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L + +#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" +#define LN_setAttr_T2cleartxt "cleartext track 2" +#define NID_setAttr_T2cleartxt 633 +#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L + +#define SN_setAttr_TokICCsig "setAttr-TokICCsig" +#define LN_setAttr_TokICCsig "ICC or token signature" +#define NID_setAttr_TokICCsig 634 +#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L + +#define SN_setAttr_SecDevSig "setAttr-SecDevSig" +#define LN_setAttr_SecDevSig "secure device signature" +#define NID_setAttr_SecDevSig 635 +#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L + +#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" +#define NID_set_brand_IATA_ATA 636 +#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L + +#define SN_set_brand_Diners "set-brand-Diners" +#define NID_set_brand_Diners 637 +#define OBJ_set_brand_Diners OBJ_set_brand,30L + +#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" +#define NID_set_brand_AmericanExpress 638 +#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L + +#define SN_set_brand_JCB "set-brand-JCB" +#define NID_set_brand_JCB 639 +#define OBJ_set_brand_JCB OBJ_set_brand,35L + +#define SN_set_brand_Visa "set-brand-Visa" +#define NID_set_brand_Visa 640 +#define OBJ_set_brand_Visa OBJ_set_brand,4L + +#define SN_set_brand_MasterCard "set-brand-MasterCard" +#define NID_set_brand_MasterCard 641 +#define OBJ_set_brand_MasterCard OBJ_set_brand,5L + +#define SN_set_brand_Novus "set-brand-Novus" +#define NID_set_brand_Novus 642 +#define OBJ_set_brand_Novus OBJ_set_brand,6011L + +#define SN_des_cdmf "DES-CDMF" +#define LN_des_cdmf "des-cdmf" +#define NID_des_cdmf 643 +#define OBJ_des_cdmf OBJ_rsadsi,3L,10L + +#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" +#define NID_rsaOAEPEncryptionSET 644 +#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L + +#define SN_ipsec3 "Oakley-EC2N-3" +#define LN_ipsec3 "ipsec3" +#define NID_ipsec3 749 + +#define SN_ipsec4 "Oakley-EC2N-4" +#define LN_ipsec4 "ipsec4" +#define NID_ipsec4 750 + +#define SN_whirlpool "whirlpool" +#define NID_whirlpool 804 +#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L + +#define SN_cryptopro "cryptopro" +#define NID_cryptopro 805 +#define OBJ_cryptopro OBJ_member_body,643L,2L,2L + +#define SN_cryptocom "cryptocom" +#define NID_cryptocom 806 +#define OBJ_cryptocom OBJ_member_body,643L,2L,9L + +#define SN_id_tc26 "id-tc26" +#define NID_id_tc26 974 +#define OBJ_id_tc26 OBJ_member_body,643L,7L,1L + +#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" +#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" +#define NID_id_GostR3411_94_with_GostR3410_2001 807 +#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L + +#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" +#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" +#define NID_id_GostR3411_94_with_GostR3410_94 808 +#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L + +#define SN_id_GostR3411_94 "md_gost94" +#define LN_id_GostR3411_94 "GOST R 34.11-94" +#define NID_id_GostR3411_94 809 +#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L + +#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" +#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" +#define NID_id_HMACGostR3411_94 810 +#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L + +#define SN_id_GostR3410_2001 "gost2001" +#define LN_id_GostR3410_2001 "GOST R 34.10-2001" +#define NID_id_GostR3410_2001 811 +#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L + +#define SN_id_GostR3410_94 "gost94" +#define LN_id_GostR3410_94 "GOST R 34.10-94" +#define NID_id_GostR3410_94 812 +#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L + +#define SN_id_Gost28147_89 "gost89" +#define LN_id_Gost28147_89 "GOST 28147-89" +#define NID_id_Gost28147_89 813 +#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L + +#define SN_gost89_cnt "gost89-cnt" +#define NID_gost89_cnt 814 + +#define SN_gost89_cnt_12 "gost89-cnt-12" +#define NID_gost89_cnt_12 975 + +#define SN_gost89_cbc "gost89-cbc" +#define NID_gost89_cbc 1009 + +#define SN_gost89_ecb "gost89-ecb" +#define NID_gost89_ecb 1010 + +#define SN_gost89_ctr "gost89-ctr" +#define NID_gost89_ctr 1011 + +#define SN_id_Gost28147_89_MAC "gost-mac" +#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" +#define NID_id_Gost28147_89_MAC 815 +#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L + +#define SN_gost_mac_12 "gost-mac-12" +#define NID_gost_mac_12 976 + +#define SN_id_GostR3411_94_prf "prf-gostr3411-94" +#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" +#define NID_id_GostR3411_94_prf 816 +#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L + +#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" +#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" +#define NID_id_GostR3410_2001DH 817 +#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L + +#define SN_id_GostR3410_94DH "id-GostR3410-94DH" +#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" +#define NID_id_GostR3410_94DH 818 +#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L + +#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" +#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 +#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L + +#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" +#define NID_id_Gost28147_89_None_KeyMeshing 820 +#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L + +#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" +#define NID_id_GostR3411_94_TestParamSet 821 +#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L + +#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" +#define NID_id_GostR3411_94_CryptoProParamSet 822 +#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L + +#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" +#define NID_id_Gost28147_89_TestParamSet 823 +#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L + +#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 +#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L + +#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 +#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L + +#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 +#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L + +#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 +#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L + +#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 +#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L + +#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" +#define NID_id_GostR3410_94_TestParamSet 831 +#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L + +#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 +#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L + +#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 +#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L + +#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 +#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L + +#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 +#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L + +#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 +#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L + +#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 +#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L + +#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 +#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L + +#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" +#define NID_id_GostR3410_2001_TestParamSet 839 +#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L + +#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 +#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L + +#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 +#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L + +#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 +#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L + +#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 +#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L + +#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 +#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L + +#define SN_id_GostR3410_94_a "id-GostR3410-94-a" +#define NID_id_GostR3410_94_a 845 +#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L + +#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" +#define NID_id_GostR3410_94_aBis 846 +#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L + +#define SN_id_GostR3410_94_b "id-GostR3410-94-b" +#define NID_id_GostR3410_94_b 847 +#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L + +#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" +#define NID_id_GostR3410_94_bBis 848 +#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L + +#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" +#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" +#define NID_id_Gost28147_89_cc 849 +#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L + +#define SN_id_GostR3410_94_cc "gost94cc" +#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" +#define NID_id_GostR3410_94_cc 850 +#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L + +#define SN_id_GostR3410_2001_cc "gost2001cc" +#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" +#define NID_id_GostR3410_2001_cc 851 +#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L + +#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" +#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 +#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L + +#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" +#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 +#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L + +#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" +#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" +#define NID_id_GostR3410_2001_ParamSet_cc 854 +#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L + +#define SN_id_tc26_algorithms "id-tc26-algorithms" +#define NID_id_tc26_algorithms 977 +#define OBJ_id_tc26_algorithms OBJ_id_tc26,1L + +#define SN_id_tc26_sign "id-tc26-sign" +#define NID_id_tc26_sign 978 +#define OBJ_id_tc26_sign OBJ_id_tc26_algorithms,1L + +#define SN_id_GostR3410_2012_256 "gost2012_256" +#define LN_id_GostR3410_2012_256 "GOST R 34.10-2012 with 256 bit modulus" +#define NID_id_GostR3410_2012_256 979 +#define OBJ_id_GostR3410_2012_256 OBJ_id_tc26_sign,1L + +#define SN_id_GostR3410_2012_512 "gost2012_512" +#define LN_id_GostR3410_2012_512 "GOST R 34.10-2012 with 512 bit modulus" +#define NID_id_GostR3410_2012_512 980 +#define OBJ_id_GostR3410_2012_512 OBJ_id_tc26_sign,2L + +#define SN_id_tc26_digest "id-tc26-digest" +#define NID_id_tc26_digest 981 +#define OBJ_id_tc26_digest OBJ_id_tc26_algorithms,2L + +#define SN_id_GostR3411_2012_256 "md_gost12_256" +#define LN_id_GostR3411_2012_256 "GOST R 34.11-2012 with 256 bit hash" +#define NID_id_GostR3411_2012_256 982 +#define OBJ_id_GostR3411_2012_256 OBJ_id_tc26_digest,2L + +#define SN_id_GostR3411_2012_512 "md_gost12_512" +#define LN_id_GostR3411_2012_512 "GOST R 34.11-2012 with 512 bit hash" +#define NID_id_GostR3411_2012_512 983 +#define OBJ_id_GostR3411_2012_512 OBJ_id_tc26_digest,3L + +#define SN_id_tc26_signwithdigest "id-tc26-signwithdigest" +#define NID_id_tc26_signwithdigest 984 +#define OBJ_id_tc26_signwithdigest OBJ_id_tc26_algorithms,3L + +#define SN_id_tc26_signwithdigest_gost3410_2012_256 "id-tc26-signwithdigest-gost3410-2012-256" +#define LN_id_tc26_signwithdigest_gost3410_2012_256 "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" +#define NID_id_tc26_signwithdigest_gost3410_2012_256 985 +#define OBJ_id_tc26_signwithdigest_gost3410_2012_256 OBJ_id_tc26_signwithdigest,2L + +#define SN_id_tc26_signwithdigest_gost3410_2012_512 "id-tc26-signwithdigest-gost3410-2012-512" +#define LN_id_tc26_signwithdigest_gost3410_2012_512 "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" +#define NID_id_tc26_signwithdigest_gost3410_2012_512 986 +#define OBJ_id_tc26_signwithdigest_gost3410_2012_512 OBJ_id_tc26_signwithdigest,3L + +#define SN_id_tc26_mac "id-tc26-mac" +#define NID_id_tc26_mac 987 +#define OBJ_id_tc26_mac OBJ_id_tc26_algorithms,4L + +#define SN_id_tc26_hmac_gost_3411_2012_256 "id-tc26-hmac-gost-3411-2012-256" +#define LN_id_tc26_hmac_gost_3411_2012_256 "HMAC GOST 34.11-2012 256 bit" +#define NID_id_tc26_hmac_gost_3411_2012_256 988 +#define OBJ_id_tc26_hmac_gost_3411_2012_256 OBJ_id_tc26_mac,1L + +#define SN_id_tc26_hmac_gost_3411_2012_512 "id-tc26-hmac-gost-3411-2012-512" +#define LN_id_tc26_hmac_gost_3411_2012_512 "HMAC GOST 34.11-2012 512 bit" +#define NID_id_tc26_hmac_gost_3411_2012_512 989 +#define OBJ_id_tc26_hmac_gost_3411_2012_512 OBJ_id_tc26_mac,2L + +#define SN_id_tc26_cipher "id-tc26-cipher" +#define NID_id_tc26_cipher 990 +#define OBJ_id_tc26_cipher OBJ_id_tc26_algorithms,5L + +#define SN_id_tc26_agreement "id-tc26-agreement" +#define NID_id_tc26_agreement 991 +#define OBJ_id_tc26_agreement OBJ_id_tc26_algorithms,6L + +#define SN_id_tc26_agreement_gost_3410_2012_256 "id-tc26-agreement-gost-3410-2012-256" +#define NID_id_tc26_agreement_gost_3410_2012_256 992 +#define OBJ_id_tc26_agreement_gost_3410_2012_256 OBJ_id_tc26_agreement,1L + +#define SN_id_tc26_agreement_gost_3410_2012_512 "id-tc26-agreement-gost-3410-2012-512" +#define NID_id_tc26_agreement_gost_3410_2012_512 993 +#define OBJ_id_tc26_agreement_gost_3410_2012_512 OBJ_id_tc26_agreement,2L + +#define SN_id_tc26_constants "id-tc26-constants" +#define NID_id_tc26_constants 994 +#define OBJ_id_tc26_constants OBJ_id_tc26,2L + +#define SN_id_tc26_sign_constants "id-tc26-sign-constants" +#define NID_id_tc26_sign_constants 995 +#define OBJ_id_tc26_sign_constants OBJ_id_tc26_constants,1L + +#define SN_id_tc26_gost_3410_2012_512_constants "id-tc26-gost-3410-2012-512-constants" +#define NID_id_tc26_gost_3410_2012_512_constants 996 +#define OBJ_id_tc26_gost_3410_2012_512_constants OBJ_id_tc26_sign_constants,2L + +#define SN_id_tc26_gost_3410_2012_512_paramSetTest "id-tc26-gost-3410-2012-512-paramSetTest" +#define LN_id_tc26_gost_3410_2012_512_paramSetTest "GOST R 34.10-2012 (512 bit) testing parameter set" +#define NID_id_tc26_gost_3410_2012_512_paramSetTest 997 +#define OBJ_id_tc26_gost_3410_2012_512_paramSetTest OBJ_id_tc26_gost_3410_2012_512_constants,0L + +#define SN_id_tc26_gost_3410_2012_512_paramSetA "id-tc26-gost-3410-2012-512-paramSetA" +#define LN_id_tc26_gost_3410_2012_512_paramSetA "GOST R 34.10-2012 (512 bit) ParamSet A" +#define NID_id_tc26_gost_3410_2012_512_paramSetA 998 +#define OBJ_id_tc26_gost_3410_2012_512_paramSetA OBJ_id_tc26_gost_3410_2012_512_constants,1L + +#define SN_id_tc26_gost_3410_2012_512_paramSetB "id-tc26-gost-3410-2012-512-paramSetB" +#define LN_id_tc26_gost_3410_2012_512_paramSetB "GOST R 34.10-2012 (512 bit) ParamSet B" +#define NID_id_tc26_gost_3410_2012_512_paramSetB 999 +#define OBJ_id_tc26_gost_3410_2012_512_paramSetB OBJ_id_tc26_gost_3410_2012_512_constants,2L + +#define SN_id_tc26_digest_constants "id-tc26-digest-constants" +#define NID_id_tc26_digest_constants 1000 +#define OBJ_id_tc26_digest_constants OBJ_id_tc26_constants,2L + +#define SN_id_tc26_cipher_constants "id-tc26-cipher-constants" +#define NID_id_tc26_cipher_constants 1001 +#define OBJ_id_tc26_cipher_constants OBJ_id_tc26_constants,5L + +#define SN_id_tc26_gost_28147_constants "id-tc26-gost-28147-constants" +#define NID_id_tc26_gost_28147_constants 1002 +#define OBJ_id_tc26_gost_28147_constants OBJ_id_tc26_cipher_constants,1L + +#define SN_id_tc26_gost_28147_param_Z "id-tc26-gost-28147-param-Z" +#define LN_id_tc26_gost_28147_param_Z "GOST 28147-89 TC26 parameter set" +#define NID_id_tc26_gost_28147_param_Z 1003 +#define OBJ_id_tc26_gost_28147_param_Z OBJ_id_tc26_gost_28147_constants,1L + +#define SN_INN "INN" +#define LN_INN "INN" +#define NID_INN 1004 +#define OBJ_INN OBJ_member_body,643L,3L,131L,1L,1L + +#define SN_OGRN "OGRN" +#define LN_OGRN "OGRN" +#define NID_OGRN 1005 +#define OBJ_OGRN OBJ_member_body,643L,100L,1L + +#define SN_SNILS "SNILS" +#define LN_SNILS "SNILS" +#define NID_SNILS 1006 +#define OBJ_SNILS OBJ_member_body,643L,100L,3L + +#define SN_subjectSignTool "subjectSignTool" +#define LN_subjectSignTool "Signing Tool of Subject" +#define NID_subjectSignTool 1007 +#define OBJ_subjectSignTool OBJ_member_body,643L,100L,111L + +#define SN_issuerSignTool "issuerSignTool" +#define LN_issuerSignTool "Signing Tool of Issuer" +#define NID_issuerSignTool 1008 +#define OBJ_issuerSignTool OBJ_member_body,643L,100L,112L + +#define SN_grasshopper_ecb "grasshopper-ecb" +#define NID_grasshopper_ecb 1012 + +#define SN_grasshopper_ctr "grasshopper-ctr" +#define NID_grasshopper_ctr 1013 + +#define SN_grasshopper_ofb "grasshopper-ofb" +#define NID_grasshopper_ofb 1014 + +#define SN_grasshopper_cbc "grasshopper-cbc" +#define NID_grasshopper_cbc 1015 + +#define SN_grasshopper_cfb "grasshopper-cfb" +#define NID_grasshopper_cfb 1016 + +#define SN_grasshopper_mac "grasshopper-mac" +#define NID_grasshopper_mac 1017 + +#define SN_camellia_128_cbc "CAMELLIA-128-CBC" +#define LN_camellia_128_cbc "camellia-128-cbc" +#define NID_camellia_128_cbc 751 +#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L + +#define SN_camellia_192_cbc "CAMELLIA-192-CBC" +#define LN_camellia_192_cbc "camellia-192-cbc" +#define NID_camellia_192_cbc 752 +#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L + +#define SN_camellia_256_cbc "CAMELLIA-256-CBC" +#define LN_camellia_256_cbc "camellia-256-cbc" +#define NID_camellia_256_cbc 753 +#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L + +#define SN_id_camellia128_wrap "id-camellia128-wrap" +#define NID_id_camellia128_wrap 907 +#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L + +#define SN_id_camellia192_wrap "id-camellia192-wrap" +#define NID_id_camellia192_wrap 908 +#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L + +#define SN_id_camellia256_wrap "id-camellia256-wrap" +#define NID_id_camellia256_wrap 909 +#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L + +#define OBJ_ntt_ds 0L,3L,4401L,5L + +#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L + +#define SN_camellia_128_ecb "CAMELLIA-128-ECB" +#define LN_camellia_128_ecb "camellia-128-ecb" +#define NID_camellia_128_ecb 754 +#define OBJ_camellia_128_ecb OBJ_camellia,1L + +#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" +#define LN_camellia_128_ofb128 "camellia-128-ofb" +#define NID_camellia_128_ofb128 766 +#define OBJ_camellia_128_ofb128 OBJ_camellia,3L + +#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" +#define LN_camellia_128_cfb128 "camellia-128-cfb" +#define NID_camellia_128_cfb128 757 +#define OBJ_camellia_128_cfb128 OBJ_camellia,4L + +#define SN_camellia_128_gcm "CAMELLIA-128-GCM" +#define LN_camellia_128_gcm "camellia-128-gcm" +#define NID_camellia_128_gcm 961 +#define OBJ_camellia_128_gcm OBJ_camellia,6L + +#define SN_camellia_128_ccm "CAMELLIA-128-CCM" +#define LN_camellia_128_ccm "camellia-128-ccm" +#define NID_camellia_128_ccm 962 +#define OBJ_camellia_128_ccm OBJ_camellia,7L + +#define SN_camellia_128_ctr "CAMELLIA-128-CTR" +#define LN_camellia_128_ctr "camellia-128-ctr" +#define NID_camellia_128_ctr 963 +#define OBJ_camellia_128_ctr OBJ_camellia,9L + +#define SN_camellia_128_cmac "CAMELLIA-128-CMAC" +#define LN_camellia_128_cmac "camellia-128-cmac" +#define NID_camellia_128_cmac 964 +#define OBJ_camellia_128_cmac OBJ_camellia,10L + +#define SN_camellia_192_ecb "CAMELLIA-192-ECB" +#define LN_camellia_192_ecb "camellia-192-ecb" +#define NID_camellia_192_ecb 755 +#define OBJ_camellia_192_ecb OBJ_camellia,21L + +#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" +#define LN_camellia_192_ofb128 "camellia-192-ofb" +#define NID_camellia_192_ofb128 767 +#define OBJ_camellia_192_ofb128 OBJ_camellia,23L + +#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" +#define LN_camellia_192_cfb128 "camellia-192-cfb" +#define NID_camellia_192_cfb128 758 +#define OBJ_camellia_192_cfb128 OBJ_camellia,24L + +#define SN_camellia_192_gcm "CAMELLIA-192-GCM" +#define LN_camellia_192_gcm "camellia-192-gcm" +#define NID_camellia_192_gcm 965 +#define OBJ_camellia_192_gcm OBJ_camellia,26L + +#define SN_camellia_192_ccm "CAMELLIA-192-CCM" +#define LN_camellia_192_ccm "camellia-192-ccm" +#define NID_camellia_192_ccm 966 +#define OBJ_camellia_192_ccm OBJ_camellia,27L + +#define SN_camellia_192_ctr "CAMELLIA-192-CTR" +#define LN_camellia_192_ctr "camellia-192-ctr" +#define NID_camellia_192_ctr 967 +#define OBJ_camellia_192_ctr OBJ_camellia,29L + +#define SN_camellia_192_cmac "CAMELLIA-192-CMAC" +#define LN_camellia_192_cmac "camellia-192-cmac" +#define NID_camellia_192_cmac 968 +#define OBJ_camellia_192_cmac OBJ_camellia,30L + +#define SN_camellia_256_ecb "CAMELLIA-256-ECB" +#define LN_camellia_256_ecb "camellia-256-ecb" +#define NID_camellia_256_ecb 756 +#define OBJ_camellia_256_ecb OBJ_camellia,41L + +#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" +#define LN_camellia_256_ofb128 "camellia-256-ofb" +#define NID_camellia_256_ofb128 768 +#define OBJ_camellia_256_ofb128 OBJ_camellia,43L + +#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" +#define LN_camellia_256_cfb128 "camellia-256-cfb" +#define NID_camellia_256_cfb128 759 +#define OBJ_camellia_256_cfb128 OBJ_camellia,44L + +#define SN_camellia_256_gcm "CAMELLIA-256-GCM" +#define LN_camellia_256_gcm "camellia-256-gcm" +#define NID_camellia_256_gcm 969 +#define OBJ_camellia_256_gcm OBJ_camellia,46L + +#define SN_camellia_256_ccm "CAMELLIA-256-CCM" +#define LN_camellia_256_ccm "camellia-256-ccm" +#define NID_camellia_256_ccm 970 +#define OBJ_camellia_256_ccm OBJ_camellia,47L + +#define SN_camellia_256_ctr "CAMELLIA-256-CTR" +#define LN_camellia_256_ctr "camellia-256-ctr" +#define NID_camellia_256_ctr 971 +#define OBJ_camellia_256_ctr OBJ_camellia,49L + +#define SN_camellia_256_cmac "CAMELLIA-256-CMAC" +#define LN_camellia_256_cmac "camellia-256-cmac" +#define NID_camellia_256_cmac 972 +#define OBJ_camellia_256_cmac OBJ_camellia,50L + +#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" +#define LN_camellia_128_cfb1 "camellia-128-cfb1" +#define NID_camellia_128_cfb1 760 + +#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" +#define LN_camellia_192_cfb1 "camellia-192-cfb1" +#define NID_camellia_192_cfb1 761 + +#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" +#define LN_camellia_256_cfb1 "camellia-256-cfb1" +#define NID_camellia_256_cfb1 762 + +#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" +#define LN_camellia_128_cfb8 "camellia-128-cfb8" +#define NID_camellia_128_cfb8 763 + +#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" +#define LN_camellia_192_cfb8 "camellia-192-cfb8" +#define NID_camellia_192_cfb8 764 + +#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" +#define LN_camellia_256_cfb8 "camellia-256-cfb8" +#define NID_camellia_256_cfb8 765 + +#define SN_kisa "KISA" +#define LN_kisa "kisa" +#define NID_kisa 773 +#define OBJ_kisa OBJ_member_body,410L,200004L + +#define SN_seed_ecb "SEED-ECB" +#define LN_seed_ecb "seed-ecb" +#define NID_seed_ecb 776 +#define OBJ_seed_ecb OBJ_kisa,1L,3L + +#define SN_seed_cbc "SEED-CBC" +#define LN_seed_cbc "seed-cbc" +#define NID_seed_cbc 777 +#define OBJ_seed_cbc OBJ_kisa,1L,4L + +#define SN_seed_cfb128 "SEED-CFB" +#define LN_seed_cfb128 "seed-cfb" +#define NID_seed_cfb128 779 +#define OBJ_seed_cfb128 OBJ_kisa,1L,5L + +#define SN_seed_ofb128 "SEED-OFB" +#define LN_seed_ofb128 "seed-ofb" +#define NID_seed_ofb128 778 +#define OBJ_seed_ofb128 OBJ_kisa,1L,6L + +#define SN_hmac "HMAC" +#define LN_hmac "hmac" +#define NID_hmac 855 + +#define SN_cmac "CMAC" +#define LN_cmac "cmac" +#define NID_cmac 894 + +#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" +#define LN_rc4_hmac_md5 "rc4-hmac-md5" +#define NID_rc4_hmac_md5 915 + +#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" +#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" +#define NID_aes_128_cbc_hmac_sha1 916 + +#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" +#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" +#define NID_aes_192_cbc_hmac_sha1 917 + +#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" +#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" +#define NID_aes_256_cbc_hmac_sha1 918 + +#define SN_aes_128_cbc_hmac_sha256 "AES-128-CBC-HMAC-SHA256" +#define LN_aes_128_cbc_hmac_sha256 "aes-128-cbc-hmac-sha256" +#define NID_aes_128_cbc_hmac_sha256 948 + +#define SN_aes_192_cbc_hmac_sha256 "AES-192-CBC-HMAC-SHA256" +#define LN_aes_192_cbc_hmac_sha256 "aes-192-cbc-hmac-sha256" +#define NID_aes_192_cbc_hmac_sha256 949 + +#define SN_aes_256_cbc_hmac_sha256 "AES-256-CBC-HMAC-SHA256" +#define LN_aes_256_cbc_hmac_sha256 "aes-256-cbc-hmac-sha256" +#define NID_aes_256_cbc_hmac_sha256 950 + +#define SN_chacha20_poly1305 "ChaCha20-Poly1305" +#define LN_chacha20_poly1305 "chacha20-poly1305" +#define NID_chacha20_poly1305 1018 + +#define SN_chacha20 "ChaCha20" +#define LN_chacha20 "chacha20" +#define NID_chacha20 1019 + +#define SN_dhpublicnumber "dhpublicnumber" +#define LN_dhpublicnumber "X9.42 DH" +#define NID_dhpublicnumber 920 +#define OBJ_dhpublicnumber OBJ_ISO_US,10046L,2L,1L + +#define SN_brainpoolP160r1 "brainpoolP160r1" +#define NID_brainpoolP160r1 921 +#define OBJ_brainpoolP160r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,1L + +#define SN_brainpoolP160t1 "brainpoolP160t1" +#define NID_brainpoolP160t1 922 +#define OBJ_brainpoolP160t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,2L + +#define SN_brainpoolP192r1 "brainpoolP192r1" +#define NID_brainpoolP192r1 923 +#define OBJ_brainpoolP192r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,3L + +#define SN_brainpoolP192t1 "brainpoolP192t1" +#define NID_brainpoolP192t1 924 +#define OBJ_brainpoolP192t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,4L + +#define SN_brainpoolP224r1 "brainpoolP224r1" +#define NID_brainpoolP224r1 925 +#define OBJ_brainpoolP224r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,5L + +#define SN_brainpoolP224t1 "brainpoolP224t1" +#define NID_brainpoolP224t1 926 +#define OBJ_brainpoolP224t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,6L + +#define SN_brainpoolP256r1 "brainpoolP256r1" +#define NID_brainpoolP256r1 927 +#define OBJ_brainpoolP256r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,7L + +#define SN_brainpoolP256t1 "brainpoolP256t1" +#define NID_brainpoolP256t1 928 +#define OBJ_brainpoolP256t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,8L + +#define SN_brainpoolP320r1 "brainpoolP320r1" +#define NID_brainpoolP320r1 929 +#define OBJ_brainpoolP320r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,9L + +#define SN_brainpoolP320t1 "brainpoolP320t1" +#define NID_brainpoolP320t1 930 +#define OBJ_brainpoolP320t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,10L + +#define SN_brainpoolP384r1 "brainpoolP384r1" +#define NID_brainpoolP384r1 931 +#define OBJ_brainpoolP384r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,11L + +#define SN_brainpoolP384t1 "brainpoolP384t1" +#define NID_brainpoolP384t1 932 +#define OBJ_brainpoolP384t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,12L + +#define SN_brainpoolP512r1 "brainpoolP512r1" +#define NID_brainpoolP512r1 933 +#define OBJ_brainpoolP512r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,13L + +#define SN_brainpoolP512t1 "brainpoolP512t1" +#define NID_brainpoolP512t1 934 +#define OBJ_brainpoolP512t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,14L + +#define OBJ_x9_63_scheme 1L,3L,133L,16L,840L,63L,0L + +#define OBJ_secg_scheme OBJ_certicom_arc,1L + +#define SN_dhSinglePass_stdDH_sha1kdf_scheme "dhSinglePass-stdDH-sha1kdf-scheme" +#define NID_dhSinglePass_stdDH_sha1kdf_scheme 936 +#define OBJ_dhSinglePass_stdDH_sha1kdf_scheme OBJ_x9_63_scheme,2L + +#define SN_dhSinglePass_stdDH_sha224kdf_scheme "dhSinglePass-stdDH-sha224kdf-scheme" +#define NID_dhSinglePass_stdDH_sha224kdf_scheme 937 +#define OBJ_dhSinglePass_stdDH_sha224kdf_scheme OBJ_secg_scheme,11L,0L + +#define SN_dhSinglePass_stdDH_sha256kdf_scheme "dhSinglePass-stdDH-sha256kdf-scheme" +#define NID_dhSinglePass_stdDH_sha256kdf_scheme 938 +#define OBJ_dhSinglePass_stdDH_sha256kdf_scheme OBJ_secg_scheme,11L,1L + +#define SN_dhSinglePass_stdDH_sha384kdf_scheme "dhSinglePass-stdDH-sha384kdf-scheme" +#define NID_dhSinglePass_stdDH_sha384kdf_scheme 939 +#define OBJ_dhSinglePass_stdDH_sha384kdf_scheme OBJ_secg_scheme,11L,2L + +#define SN_dhSinglePass_stdDH_sha512kdf_scheme "dhSinglePass-stdDH-sha512kdf-scheme" +#define NID_dhSinglePass_stdDH_sha512kdf_scheme 940 +#define OBJ_dhSinglePass_stdDH_sha512kdf_scheme OBJ_secg_scheme,11L,3L + +#define SN_dhSinglePass_cofactorDH_sha1kdf_scheme "dhSinglePass-cofactorDH-sha1kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha1kdf_scheme 941 +#define OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme OBJ_x9_63_scheme,3L + +#define SN_dhSinglePass_cofactorDH_sha224kdf_scheme "dhSinglePass-cofactorDH-sha224kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha224kdf_scheme 942 +#define OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme OBJ_secg_scheme,14L,0L + +#define SN_dhSinglePass_cofactorDH_sha256kdf_scheme "dhSinglePass-cofactorDH-sha256kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha256kdf_scheme 943 +#define OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme OBJ_secg_scheme,14L,1L + +#define SN_dhSinglePass_cofactorDH_sha384kdf_scheme "dhSinglePass-cofactorDH-sha384kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha384kdf_scheme 944 +#define OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme OBJ_secg_scheme,14L,2L + +#define SN_dhSinglePass_cofactorDH_sha512kdf_scheme "dhSinglePass-cofactorDH-sha512kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha512kdf_scheme 945 +#define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme OBJ_secg_scheme,14L,3L + +#define SN_dh_std_kdf "dh-std-kdf" +#define NID_dh_std_kdf 946 + +#define SN_dh_cofactor_kdf "dh-cofactor-kdf" +#define NID_dh_cofactor_kdf 947 + +#define SN_ct_precert_scts "ct_precert_scts" +#define LN_ct_precert_scts "CT Precertificate SCTs" +#define NID_ct_precert_scts 951 +#define OBJ_ct_precert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,2L + +#define SN_ct_precert_poison "ct_precert_poison" +#define LN_ct_precert_poison "CT Precertificate Poison" +#define NID_ct_precert_poison 952 +#define OBJ_ct_precert_poison 1L,3L,6L,1L,4L,1L,11129L,2L,4L,3L + +#define SN_ct_precert_signer "ct_precert_signer" +#define LN_ct_precert_signer "CT Precertificate Signer" +#define NID_ct_precert_signer 953 +#define OBJ_ct_precert_signer 1L,3L,6L,1L,4L,1L,11129L,2L,4L,4L + +#define SN_ct_cert_scts "ct_cert_scts" +#define LN_ct_cert_scts "CT Certificate SCTs" +#define NID_ct_cert_scts 954 +#define OBJ_ct_cert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L + +#define SN_jurisdictionLocalityName "jurisdictionL" +#define LN_jurisdictionLocalityName "jurisdictionLocalityName" +#define NID_jurisdictionLocalityName 955 +#define OBJ_jurisdictionLocalityName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L + +#define SN_jurisdictionStateOrProvinceName "jurisdictionST" +#define LN_jurisdictionStateOrProvinceName "jurisdictionStateOrProvinceName" +#define NID_jurisdictionStateOrProvinceName 956 +#define OBJ_jurisdictionStateOrProvinceName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L + +#define SN_jurisdictionCountryName "jurisdictionC" +#define LN_jurisdictionCountryName "jurisdictionCountryName" +#define NID_jurisdictionCountryName 957 +#define OBJ_jurisdictionCountryName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L + +#define SN_id_scrypt "id-scrypt" +#define NID_id_scrypt 973 +#define OBJ_id_scrypt 1L,3L,6L,1L,4L,1L,11591L,4L,11L + +#define SN_tls1_prf "TLS1-PRF" +#define LN_tls1_prf "tls1-prf" +#define NID_tls1_prf 1021 + +#define SN_hkdf "HKDF" +#define LN_hkdf "hkdf" +#define NID_hkdf 1036 + +#define SN_id_pkinit "id-pkinit" +#define NID_id_pkinit 1031 +#define OBJ_id_pkinit 1L,3L,6L,1L,5L,2L,3L + +#define SN_pkInitClientAuth "pkInitClientAuth" +#define LN_pkInitClientAuth "PKINIT Client Auth" +#define NID_pkInitClientAuth 1032 +#define OBJ_pkInitClientAuth OBJ_id_pkinit,4L + +#define SN_pkInitKDC "pkInitKDC" +#define LN_pkInitKDC "Signing KDC Response" +#define NID_pkInitKDC 1033 +#define OBJ_pkInitKDC OBJ_id_pkinit,5L + +#define SN_X25519 "X25519" +#define NID_X25519 1034 +#define OBJ_X25519 1L,3L,101L,110L + +#define SN_X448 "X448" +#define NID_X448 1035 +#define OBJ_X448 1L,3L,101L,111L + +#define SN_kx_rsa "KxRSA" +#define LN_kx_rsa "kx-rsa" +#define NID_kx_rsa 1037 + +#define SN_kx_ecdhe "KxECDHE" +#define LN_kx_ecdhe "kx-ecdhe" +#define NID_kx_ecdhe 1038 + +#define SN_kx_dhe "KxDHE" +#define LN_kx_dhe "kx-dhe" +#define NID_kx_dhe 1039 + +#define SN_kx_ecdhe_psk "KxECDHE-PSK" +#define LN_kx_ecdhe_psk "kx-ecdhe-psk" +#define NID_kx_ecdhe_psk 1040 + +#define SN_kx_dhe_psk "KxDHE-PSK" +#define LN_kx_dhe_psk "kx-dhe-psk" +#define NID_kx_dhe_psk 1041 + +#define SN_kx_rsa_psk "KxRSA_PSK" +#define LN_kx_rsa_psk "kx-rsa-psk" +#define NID_kx_rsa_psk 1042 + +#define SN_kx_psk "KxPSK" +#define LN_kx_psk "kx-psk" +#define NID_kx_psk 1043 + +#define SN_kx_srp "KxSRP" +#define LN_kx_srp "kx-srp" +#define NID_kx_srp 1044 + +#define SN_kx_gost "KxGOST" +#define LN_kx_gost "kx-gost" +#define NID_kx_gost 1045 + +#define SN_auth_rsa "AuthRSA" +#define LN_auth_rsa "auth-rsa" +#define NID_auth_rsa 1046 + +#define SN_auth_ecdsa "AuthECDSA" +#define LN_auth_ecdsa "auth-ecdsa" +#define NID_auth_ecdsa 1047 + +#define SN_auth_psk "AuthPSK" +#define LN_auth_psk "auth-psk" +#define NID_auth_psk 1048 + +#define SN_auth_dss "AuthDSS" +#define LN_auth_dss "auth-dss" +#define NID_auth_dss 1049 + +#define SN_auth_gost01 "AuthGOST01" +#define LN_auth_gost01 "auth-gost01" +#define NID_auth_gost01 1050 + +#define SN_auth_gost12 "AuthGOST12" +#define LN_auth_gost12 "auth-gost12" +#define NID_auth_gost12 1051 + +#define SN_auth_srp "AuthSRP" +#define LN_auth_srp "auth-srp" +#define NID_auth_srp 1052 + +#define SN_auth_null "AuthNULL" +#define LN_auth_null "auth-null" +#define NID_auth_null 1053 diff --git a/android/x86_64/include/openssl/objects.h b/android/x86_64/include/openssl/objects.h new file mode 100644 index 00000000..09d614ff --- /dev/null +++ b/android/x86_64/include/openssl/objects.h @@ -0,0 +1,1097 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OBJECTS_H +# define HEADER_OBJECTS_H + +# define USE_OBJ_MAC + +# ifdef USE_OBJ_MAC +# include +# else +# define SN_undef "UNDEF" +# define LN_undef "undefined" +# define NID_undef 0 +# define OBJ_undef 0L + +# define SN_Algorithm "Algorithm" +# define LN_algorithm "algorithm" +# define NID_algorithm 38 +# define OBJ_algorithm 1L,3L,14L,3L,2L + +# define LN_rsadsi "rsadsi" +# define NID_rsadsi 1 +# define OBJ_rsadsi 1L,2L,840L,113549L + +# define LN_pkcs "pkcs" +# define NID_pkcs 2 +# define OBJ_pkcs OBJ_rsadsi,1L + +# define SN_md2 "MD2" +# define LN_md2 "md2" +# define NID_md2 3 +# define OBJ_md2 OBJ_rsadsi,2L,2L + +# define SN_md5 "MD5" +# define LN_md5 "md5" +# define NID_md5 4 +# define OBJ_md5 OBJ_rsadsi,2L,5L + +# define SN_rc4 "RC4" +# define LN_rc4 "rc4" +# define NID_rc4 5 +# define OBJ_rc4 OBJ_rsadsi,3L,4L + +# define LN_rsaEncryption "rsaEncryption" +# define NID_rsaEncryption 6 +# define OBJ_rsaEncryption OBJ_pkcs,1L,1L + +# define SN_md2WithRSAEncryption "RSA-MD2" +# define LN_md2WithRSAEncryption "md2WithRSAEncryption" +# define NID_md2WithRSAEncryption 7 +# define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L + +# define SN_md5WithRSAEncryption "RSA-MD5" +# define LN_md5WithRSAEncryption "md5WithRSAEncryption" +# define NID_md5WithRSAEncryption 8 +# define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L + +# define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +# define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +# define NID_pbeWithMD2AndDES_CBC 9 +# define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L + +# define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +# define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +# define NID_pbeWithMD5AndDES_CBC 10 +# define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L + +# define LN_X500 "X500" +# define NID_X500 11 +# define OBJ_X500 2L,5L + +# define LN_X509 "X509" +# define NID_X509 12 +# define OBJ_X509 OBJ_X500,4L + +# define SN_commonName "CN" +# define LN_commonName "commonName" +# define NID_commonName 13 +# define OBJ_commonName OBJ_X509,3L + +# define SN_countryName "C" +# define LN_countryName "countryName" +# define NID_countryName 14 +# define OBJ_countryName OBJ_X509,6L + +# define SN_localityName "L" +# define LN_localityName "localityName" +# define NID_localityName 15 +# define OBJ_localityName OBJ_X509,7L + +/* Postal Address? PA */ + +/* should be "ST" (rfc1327) but MS uses 'S' */ +# define SN_stateOrProvinceName "ST" +# define LN_stateOrProvinceName "stateOrProvinceName" +# define NID_stateOrProvinceName 16 +# define OBJ_stateOrProvinceName OBJ_X509,8L + +# define SN_organizationName "O" +# define LN_organizationName "organizationName" +# define NID_organizationName 17 +# define OBJ_organizationName OBJ_X509,10L + +# define SN_organizationalUnitName "OU" +# define LN_organizationalUnitName "organizationalUnitName" +# define NID_organizationalUnitName 18 +# define OBJ_organizationalUnitName OBJ_X509,11L + +# define SN_rsa "RSA" +# define LN_rsa "rsa" +# define NID_rsa 19 +# define OBJ_rsa OBJ_X500,8L,1L,1L + +# define LN_pkcs7 "pkcs7" +# define NID_pkcs7 20 +# define OBJ_pkcs7 OBJ_pkcs,7L + +# define LN_pkcs7_data "pkcs7-data" +# define NID_pkcs7_data 21 +# define OBJ_pkcs7_data OBJ_pkcs7,1L + +# define LN_pkcs7_signed "pkcs7-signedData" +# define NID_pkcs7_signed 22 +# define OBJ_pkcs7_signed OBJ_pkcs7,2L + +# define LN_pkcs7_enveloped "pkcs7-envelopedData" +# define NID_pkcs7_enveloped 23 +# define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +# define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +# define NID_pkcs7_signedAndEnveloped 24 +# define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +# define LN_pkcs7_digest "pkcs7-digestData" +# define NID_pkcs7_digest 25 +# define OBJ_pkcs7_digest OBJ_pkcs7,5L + +# define LN_pkcs7_encrypted "pkcs7-encryptedData" +# define NID_pkcs7_encrypted 26 +# define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +# define LN_pkcs3 "pkcs3" +# define NID_pkcs3 27 +# define OBJ_pkcs3 OBJ_pkcs,3L + +# define LN_dhKeyAgreement "dhKeyAgreement" +# define NID_dhKeyAgreement 28 +# define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +# define SN_des_ecb "DES-ECB" +# define LN_des_ecb "des-ecb" +# define NID_des_ecb 29 +# define OBJ_des_ecb OBJ_algorithm,6L + +# define SN_des_cfb64 "DES-CFB" +# define LN_des_cfb64 "des-cfb" +# define NID_des_cfb64 30 +/* IV + num */ +# define OBJ_des_cfb64 OBJ_algorithm,9L + +# define SN_des_cbc "DES-CBC" +# define LN_des_cbc "des-cbc" +# define NID_des_cbc 31 +/* IV */ +# define OBJ_des_cbc OBJ_algorithm,7L + +# define SN_des_ede "DES-EDE" +# define LN_des_ede "des-ede" +# define NID_des_ede 32 +/* ?? */ +# define OBJ_des_ede OBJ_algorithm,17L + +# define SN_des_ede3 "DES-EDE3" +# define LN_des_ede3 "des-ede3" +# define NID_des_ede3 33 + +# define SN_idea_cbc "IDEA-CBC" +# define LN_idea_cbc "idea-cbc" +# define NID_idea_cbc 34 +# define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +# define SN_idea_cfb64 "IDEA-CFB" +# define LN_idea_cfb64 "idea-cfb" +# define NID_idea_cfb64 35 + +# define SN_idea_ecb "IDEA-ECB" +# define LN_idea_ecb "idea-ecb" +# define NID_idea_ecb 36 + +# define SN_rc2_cbc "RC2-CBC" +# define LN_rc2_cbc "rc2-cbc" +# define NID_rc2_cbc 37 +# define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +# define SN_rc2_ecb "RC2-ECB" +# define LN_rc2_ecb "rc2-ecb" +# define NID_rc2_ecb 38 + +# define SN_rc2_cfb64 "RC2-CFB" +# define LN_rc2_cfb64 "rc2-cfb" +# define NID_rc2_cfb64 39 + +# define SN_rc2_ofb64 "RC2-OFB" +# define LN_rc2_ofb64 "rc2-ofb" +# define NID_rc2_ofb64 40 + +# define SN_sha "SHA" +# define LN_sha "sha" +# define NID_sha 41 +# define OBJ_sha OBJ_algorithm,18L + +# define SN_shaWithRSAEncryption "RSA-SHA" +# define LN_shaWithRSAEncryption "shaWithRSAEncryption" +# define NID_shaWithRSAEncryption 42 +# define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +# define SN_des_ede_cbc "DES-EDE-CBC" +# define LN_des_ede_cbc "des-ede-cbc" +# define NID_des_ede_cbc 43 + +# define SN_des_ede3_cbc "DES-EDE3-CBC" +# define LN_des_ede3_cbc "des-ede3-cbc" +# define NID_des_ede3_cbc 44 +# define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +# define SN_des_ofb64 "DES-OFB" +# define LN_des_ofb64 "des-ofb" +# define NID_des_ofb64 45 +# define OBJ_des_ofb64 OBJ_algorithm,8L + +# define SN_idea_ofb64 "IDEA-OFB" +# define LN_idea_ofb64 "idea-ofb" +# define NID_idea_ofb64 46 + +# define LN_pkcs9 "pkcs9" +# define NID_pkcs9 47 +# define OBJ_pkcs9 OBJ_pkcs,9L + +# define SN_pkcs9_emailAddress "Email" +# define LN_pkcs9_emailAddress "emailAddress" +# define NID_pkcs9_emailAddress 48 +# define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +# define LN_pkcs9_unstructuredName "unstructuredName" +# define NID_pkcs9_unstructuredName 49 +# define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +# define LN_pkcs9_contentType "contentType" +# define NID_pkcs9_contentType 50 +# define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +# define LN_pkcs9_messageDigest "messageDigest" +# define NID_pkcs9_messageDigest 51 +# define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +# define LN_pkcs9_signingTime "signingTime" +# define NID_pkcs9_signingTime 52 +# define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +# define LN_pkcs9_countersignature "countersignature" +# define NID_pkcs9_countersignature 53 +# define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +# define LN_pkcs9_challengePassword "challengePassword" +# define NID_pkcs9_challengePassword 54 +# define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +# define LN_pkcs9_unstructuredAddress "unstructuredAddress" +# define NID_pkcs9_unstructuredAddress 55 +# define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +# define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +# define NID_pkcs9_extCertAttributes 56 +# define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +# define SN_netscape "Netscape" +# define LN_netscape "Netscape Communications Corp." +# define NID_netscape 57 +# define OBJ_netscape 2L,16L,840L,1L,113730L + +# define SN_netscape_cert_extension "nsCertExt" +# define LN_netscape_cert_extension "Netscape Certificate Extension" +# define NID_netscape_cert_extension 58 +# define OBJ_netscape_cert_extension OBJ_netscape,1L + +# define SN_netscape_data_type "nsDataType" +# define LN_netscape_data_type "Netscape Data Type" +# define NID_netscape_data_type 59 +# define OBJ_netscape_data_type OBJ_netscape,2L + +# define SN_des_ede_cfb64 "DES-EDE-CFB" +# define LN_des_ede_cfb64 "des-ede-cfb" +# define NID_des_ede_cfb64 60 + +# define SN_des_ede3_cfb64 "DES-EDE3-CFB" +# define LN_des_ede3_cfb64 "des-ede3-cfb" +# define NID_des_ede3_cfb64 61 + +# define SN_des_ede_ofb64 "DES-EDE-OFB" +# define LN_des_ede_ofb64 "des-ede-ofb" +# define NID_des_ede_ofb64 62 + +# define SN_des_ede3_ofb64 "DES-EDE3-OFB" +# define LN_des_ede3_ofb64 "des-ede3-ofb" +# define NID_des_ede3_ofb64 63 + +/* I'm not sure about the object ID */ +# define SN_sha1 "SHA1" +# define LN_sha1 "sha1" +# define NID_sha1 64 +# define OBJ_sha1 OBJ_algorithm,26L +/* 28 Jun 1996 - eay */ +/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */ + +# define SN_sha1WithRSAEncryption "RSA-SHA1" +# define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +# define NID_sha1WithRSAEncryption 65 +# define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L + +# define SN_dsaWithSHA "DSA-SHA" +# define LN_dsaWithSHA "dsaWithSHA" +# define NID_dsaWithSHA 66 +# define OBJ_dsaWithSHA OBJ_algorithm,13L + +# define SN_dsa_2 "DSA-old" +# define LN_dsa_2 "dsaEncryption-old" +# define NID_dsa_2 67 +# define OBJ_dsa_2 OBJ_algorithm,12L + +/* proposed by microsoft to RSA */ +# define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +# define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +# define NID_pbeWithSHA1AndRC2_CBC 68 +# define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L + +/* + * proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now defined + * explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something completely + * different. + */ +# define LN_id_pbkdf2 "PBKDF2" +# define NID_id_pbkdf2 69 +# define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L + +# define SN_dsaWithSHA1_2 "DSA-SHA1-old" +# define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +# define NID_dsaWithSHA1_2 70 +/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ +# define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +# define SN_netscape_cert_type "nsCertType" +# define LN_netscape_cert_type "Netscape Cert Type" +# define NID_netscape_cert_type 71 +# define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +# define SN_netscape_base_url "nsBaseUrl" +# define LN_netscape_base_url "Netscape Base Url" +# define NID_netscape_base_url 72 +# define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +# define SN_netscape_revocation_url "nsRevocationUrl" +# define LN_netscape_revocation_url "Netscape Revocation Url" +# define NID_netscape_revocation_url 73 +# define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +# define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +# define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +# define NID_netscape_ca_revocation_url 74 +# define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +# define SN_netscape_renewal_url "nsRenewalUrl" +# define LN_netscape_renewal_url "Netscape Renewal Url" +# define NID_netscape_renewal_url 75 +# define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +# define SN_netscape_ca_policy_url "nsCaPolicyUrl" +# define LN_netscape_ca_policy_url "Netscape CA Policy Url" +# define NID_netscape_ca_policy_url 76 +# define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +# define SN_netscape_ssl_server_name "nsSslServerName" +# define LN_netscape_ssl_server_name "Netscape SSL Server Name" +# define NID_netscape_ssl_server_name 77 +# define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +# define SN_netscape_comment "nsComment" +# define LN_netscape_comment "Netscape Comment" +# define NID_netscape_comment 78 +# define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +# define SN_netscape_cert_sequence "nsCertSequence" +# define LN_netscape_cert_sequence "Netscape Certificate Sequence" +# define NID_netscape_cert_sequence 79 +# define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +# define SN_desx_cbc "DESX-CBC" +# define LN_desx_cbc "desx-cbc" +# define NID_desx_cbc 80 + +# define SN_id_ce "id-ce" +# define NID_id_ce 81 +# define OBJ_id_ce 2L,5L,29L + +# define SN_subject_key_identifier "subjectKeyIdentifier" +# define LN_subject_key_identifier "X509v3 Subject Key Identifier" +# define NID_subject_key_identifier 82 +# define OBJ_subject_key_identifier OBJ_id_ce,14L + +# define SN_key_usage "keyUsage" +# define LN_key_usage "X509v3 Key Usage" +# define NID_key_usage 83 +# define OBJ_key_usage OBJ_id_ce,15L + +# define SN_private_key_usage_period "privateKeyUsagePeriod" +# define LN_private_key_usage_period "X509v3 Private Key Usage Period" +# define NID_private_key_usage_period 84 +# define OBJ_private_key_usage_period OBJ_id_ce,16L + +# define SN_subject_alt_name "subjectAltName" +# define LN_subject_alt_name "X509v3 Subject Alternative Name" +# define NID_subject_alt_name 85 +# define OBJ_subject_alt_name OBJ_id_ce,17L + +# define SN_issuer_alt_name "issuerAltName" +# define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +# define NID_issuer_alt_name 86 +# define OBJ_issuer_alt_name OBJ_id_ce,18L + +# define SN_basic_constraints "basicConstraints" +# define LN_basic_constraints "X509v3 Basic Constraints" +# define NID_basic_constraints 87 +# define OBJ_basic_constraints OBJ_id_ce,19L + +# define SN_crl_number "crlNumber" +# define LN_crl_number "X509v3 CRL Number" +# define NID_crl_number 88 +# define OBJ_crl_number OBJ_id_ce,20L + +# define SN_certificate_policies "certificatePolicies" +# define LN_certificate_policies "X509v3 Certificate Policies" +# define NID_certificate_policies 89 +# define OBJ_certificate_policies OBJ_id_ce,32L + +# define SN_authority_key_identifier "authorityKeyIdentifier" +# define LN_authority_key_identifier "X509v3 Authority Key Identifier" +# define NID_authority_key_identifier 90 +# define OBJ_authority_key_identifier OBJ_id_ce,35L + +# define SN_bf_cbc "BF-CBC" +# define LN_bf_cbc "bf-cbc" +# define NID_bf_cbc 91 +# define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +# define SN_bf_ecb "BF-ECB" +# define LN_bf_ecb "bf-ecb" +# define NID_bf_ecb 92 + +# define SN_bf_cfb64 "BF-CFB" +# define LN_bf_cfb64 "bf-cfb" +# define NID_bf_cfb64 93 + +# define SN_bf_ofb64 "BF-OFB" +# define LN_bf_ofb64 "bf-ofb" +# define NID_bf_ofb64 94 + +# define SN_mdc2 "MDC2" +# define LN_mdc2 "mdc2" +# define NID_mdc2 95 +# define OBJ_mdc2 2L,5L,8L,3L,101L +/* An alternative? 1L,3L,14L,3L,2L,19L */ + +# define SN_mdc2WithRSA "RSA-MDC2" +# define LN_mdc2WithRSA "mdc2withRSA" +# define NID_mdc2WithRSA 96 +# define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L + +# define SN_rc4_40 "RC4-40" +# define LN_rc4_40 "rc4-40" +# define NID_rc4_40 97 + +# define SN_rc2_40_cbc "RC2-40-CBC" +# define LN_rc2_40_cbc "rc2-40-cbc" +# define NID_rc2_40_cbc 98 + +# define SN_givenName "G" +# define LN_givenName "givenName" +# define NID_givenName 99 +# define OBJ_givenName OBJ_X509,42L + +# define SN_surname "S" +# define LN_surname "surname" +# define NID_surname 100 +# define OBJ_surname OBJ_X509,4L + +# define SN_initials "I" +# define LN_initials "initials" +# define NID_initials 101 +# define OBJ_initials OBJ_X509,43L + +# define SN_uniqueIdentifier "UID" +# define LN_uniqueIdentifier "uniqueIdentifier" +# define NID_uniqueIdentifier 102 +# define OBJ_uniqueIdentifier OBJ_X509,45L + +# define SN_crl_distribution_points "crlDistributionPoints" +# define LN_crl_distribution_points "X509v3 CRL Distribution Points" +# define NID_crl_distribution_points 103 +# define OBJ_crl_distribution_points OBJ_id_ce,31L + +# define SN_md5WithRSA "RSA-NP-MD5" +# define LN_md5WithRSA "md5WithRSA" +# define NID_md5WithRSA 104 +# define OBJ_md5WithRSA OBJ_algorithm,3L + +# define SN_serialNumber "SN" +# define LN_serialNumber "serialNumber" +# define NID_serialNumber 105 +# define OBJ_serialNumber OBJ_X509,5L + +# define SN_title "T" +# define LN_title "title" +# define NID_title 106 +# define OBJ_title OBJ_X509,12L + +# define SN_description "D" +# define LN_description "description" +# define NID_description 107 +# define OBJ_description OBJ_X509,13L + +/* CAST5 is CAST-128, I'm just sticking with the documentation */ +# define SN_cast5_cbc "CAST5-CBC" +# define LN_cast5_cbc "cast5-cbc" +# define NID_cast5_cbc 108 +# define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L + +# define SN_cast5_ecb "CAST5-ECB" +# define LN_cast5_ecb "cast5-ecb" +# define NID_cast5_ecb 109 + +# define SN_cast5_cfb64 "CAST5-CFB" +# define LN_cast5_cfb64 "cast5-cfb" +# define NID_cast5_cfb64 110 + +# define SN_cast5_ofb64 "CAST5-OFB" +# define LN_cast5_ofb64 "cast5-ofb" +# define NID_cast5_ofb64 111 + +# define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +# define NID_pbeWithMD5AndCast5_CBC 112 +# define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L + +/*- + * This is one sun will soon be using :-( + * id-dsa-with-sha1 ID ::= { + * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } + */ +# define SN_dsaWithSHA1 "DSA-SHA1" +# define LN_dsaWithSHA1 "dsaWithSHA1" +# define NID_dsaWithSHA1 113 +# define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L + +# define NID_md5_sha1 114 +# define SN_md5_sha1 "MD5-SHA1" +# define LN_md5_sha1 "md5-sha1" + +# define SN_sha1WithRSA "RSA-SHA1-2" +# define LN_sha1WithRSA "sha1WithRSA" +# define NID_sha1WithRSA 115 +# define OBJ_sha1WithRSA OBJ_algorithm,29L + +# define SN_dsa "DSA" +# define LN_dsa "dsaEncryption" +# define NID_dsa 116 +# define OBJ_dsa 1L,2L,840L,10040L,4L,1L + +# define SN_ripemd160 "RIPEMD160" +# define LN_ripemd160 "ripemd160" +# define NID_ripemd160 117 +# define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +/* + * The name should actually be rsaSignatureWithripemd160, but I'm going to + * continue using the convention I'm using with the other ciphers + */ +# define SN_ripemd160WithRSA "RSA-RIPEMD160" +# define LN_ripemd160WithRSA "ripemd160WithRSA" +# define NID_ripemd160WithRSA 119 +# define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +/*- + * Taken from rfc2040 + * RC5_CBC_Parameters ::= SEQUENCE { + * version INTEGER (v1_0(16)), + * rounds INTEGER (8..127), + * blockSizeInBits INTEGER (64, 128), + * iv OCTET STRING OPTIONAL + * } + */ +# define SN_rc5_cbc "RC5-CBC" +# define LN_rc5_cbc "rc5-cbc" +# define NID_rc5_cbc 120 +# define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +# define SN_rc5_ecb "RC5-ECB" +# define LN_rc5_ecb "rc5-ecb" +# define NID_rc5_ecb 121 + +# define SN_rc5_cfb64 "RC5-CFB" +# define LN_rc5_cfb64 "rc5-cfb" +# define NID_rc5_cfb64 122 + +# define SN_rc5_ofb64 "RC5-OFB" +# define LN_rc5_ofb64 "rc5-ofb" +# define NID_rc5_ofb64 123 + +# define SN_rle_compression "RLE" +# define LN_rle_compression "run length compression" +# define NID_rle_compression 124 +# define OBJ_rle_compression 1L,1L,1L,1L,666L,1L + +# define SN_zlib_compression "ZLIB" +# define LN_zlib_compression "zlib compression" +# define NID_zlib_compression 125 +# define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L + +# define SN_ext_key_usage "extendedKeyUsage" +# define LN_ext_key_usage "X509v3 Extended Key Usage" +# define NID_ext_key_usage 126 +# define OBJ_ext_key_usage OBJ_id_ce,37 + +# define SN_id_pkix "PKIX" +# define NID_id_pkix 127 +# define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +# define SN_id_kp "id-kp" +# define NID_id_kp 128 +# define OBJ_id_kp OBJ_id_pkix,3L + +/* PKIX extended key usage OIDs */ + +# define SN_server_auth "serverAuth" +# define LN_server_auth "TLS Web Server Authentication" +# define NID_server_auth 129 +# define OBJ_server_auth OBJ_id_kp,1L + +# define SN_client_auth "clientAuth" +# define LN_client_auth "TLS Web Client Authentication" +# define NID_client_auth 130 +# define OBJ_client_auth OBJ_id_kp,2L + +# define SN_code_sign "codeSigning" +# define LN_code_sign "Code Signing" +# define NID_code_sign 131 +# define OBJ_code_sign OBJ_id_kp,3L + +# define SN_email_protect "emailProtection" +# define LN_email_protect "E-mail Protection" +# define NID_email_protect 132 +# define OBJ_email_protect OBJ_id_kp,4L + +# define SN_time_stamp "timeStamping" +# define LN_time_stamp "Time Stamping" +# define NID_time_stamp 133 +# define OBJ_time_stamp OBJ_id_kp,8L + +/* Additional extended key usage OIDs: Microsoft */ + +# define SN_ms_code_ind "msCodeInd" +# define LN_ms_code_ind "Microsoft Individual Code Signing" +# define NID_ms_code_ind 134 +# define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +# define SN_ms_code_com "msCodeCom" +# define LN_ms_code_com "Microsoft Commercial Code Signing" +# define NID_ms_code_com 135 +# define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +# define SN_ms_ctl_sign "msCTLSign" +# define LN_ms_ctl_sign "Microsoft Trust List Signing" +# define NID_ms_ctl_sign 136 +# define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +# define SN_ms_sgc "msSGC" +# define LN_ms_sgc "Microsoft Server Gated Crypto" +# define NID_ms_sgc 137 +# define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +# define SN_ms_efs "msEFS" +# define LN_ms_efs "Microsoft Encrypted File System" +# define NID_ms_efs 138 +# define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +/* Additional usage: Netscape */ + +# define SN_ns_sgc "nsSGC" +# define LN_ns_sgc "Netscape Server Gated Crypto" +# define NID_ns_sgc 139 +# define OBJ_ns_sgc OBJ_netscape,4L,1L + +# define SN_delta_crl "deltaCRL" +# define LN_delta_crl "X509v3 Delta CRL Indicator" +# define NID_delta_crl 140 +# define OBJ_delta_crl OBJ_id_ce,27L + +# define SN_crl_reason "CRLReason" +# define LN_crl_reason "CRL Reason Code" +# define NID_crl_reason 141 +# define OBJ_crl_reason OBJ_id_ce,21L + +# define SN_invalidity_date "invalidityDate" +# define LN_invalidity_date "Invalidity Date" +# define NID_invalidity_date 142 +# define OBJ_invalidity_date OBJ_id_ce,24L + +# define SN_sxnet "SXNetID" +# define LN_sxnet "Strong Extranet ID" +# define NID_sxnet 143 +# define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +/* PKCS12 and related OBJECT IDENTIFIERS */ + +# define OBJ_pkcs12 OBJ_pkcs,12L +# define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 + +# define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +# define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +# define NID_pbe_WithSHA1And128BitRC4 144 +# define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L + +# define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +# define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +# define NID_pbe_WithSHA1And40BitRC4 145 +# define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L + +# define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +# define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +# define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +# define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L + +# define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +# define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +# define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +# define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L + +# define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +# define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +# define NID_pbe_WithSHA1And128BitRC2_CBC 148 +# define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L + +# define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +# define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +# define NID_pbe_WithSHA1And40BitRC2_CBC 149 +# define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L + +# define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L + +# define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L + +# define LN_keyBag "keyBag" +# define NID_keyBag 150 +# define OBJ_keyBag OBJ_pkcs12_BagIds, 1L + +# define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +# define NID_pkcs8ShroudedKeyBag 151 +# define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L + +# define LN_certBag "certBag" +# define NID_certBag 152 +# define OBJ_certBag OBJ_pkcs12_BagIds, 3L + +# define LN_crlBag "crlBag" +# define NID_crlBag 153 +# define OBJ_crlBag OBJ_pkcs12_BagIds, 4L + +# define LN_secretBag "secretBag" +# define NID_secretBag 154 +# define OBJ_secretBag OBJ_pkcs12_BagIds, 5L + +# define LN_safeContentsBag "safeContentsBag" +# define NID_safeContentsBag 155 +# define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L + +# define LN_friendlyName "friendlyName" +# define NID_friendlyName 156 +# define OBJ_friendlyName OBJ_pkcs9, 20L + +# define LN_localKeyID "localKeyID" +# define NID_localKeyID 157 +# define OBJ_localKeyID OBJ_pkcs9, 21L + +# define OBJ_certTypes OBJ_pkcs9, 22L + +# define LN_x509Certificate "x509Certificate" +# define NID_x509Certificate 158 +# define OBJ_x509Certificate OBJ_certTypes, 1L + +# define LN_sdsiCertificate "sdsiCertificate" +# define NID_sdsiCertificate 159 +# define OBJ_sdsiCertificate OBJ_certTypes, 2L + +# define OBJ_crlTypes OBJ_pkcs9, 23L + +# define LN_x509Crl "x509Crl" +# define NID_x509Crl 160 +# define OBJ_x509Crl OBJ_crlTypes, 1L + +/* PKCS#5 v2 OIDs */ + +# define LN_pbes2 "PBES2" +# define NID_pbes2 161 +# define OBJ_pbes2 OBJ_pkcs,5L,13L + +# define LN_pbmac1 "PBMAC1" +# define NID_pbmac1 162 +# define OBJ_pbmac1 OBJ_pkcs,5L,14L + +# define LN_hmacWithSHA1 "hmacWithSHA1" +# define NID_hmacWithSHA1 163 +# define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +/* Policy Qualifier Ids */ + +# define LN_id_qt_cps "Policy Qualifier CPS" +# define SN_id_qt_cps "id-qt-cps" +# define NID_id_qt_cps 164 +# define OBJ_id_qt_cps OBJ_id_pkix,2L,1L + +# define LN_id_qt_unotice "Policy Qualifier User Notice" +# define SN_id_qt_unotice "id-qt-unotice" +# define NID_id_qt_unotice 165 +# define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L + +# define SN_rc2_64_cbc "RC2-64-CBC" +# define LN_rc2_64_cbc "rc2-64-cbc" +# define NID_rc2_64_cbc 166 + +# define SN_SMIMECapabilities "SMIME-CAPS" +# define LN_SMIMECapabilities "S/MIME Capabilities" +# define NID_SMIMECapabilities 167 +# define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +# define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +# define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +# define NID_pbeWithMD2AndRC2_CBC 168 +# define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L + +# define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +# define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +# define NID_pbeWithMD5AndRC2_CBC 169 +# define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L + +# define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +# define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +# define NID_pbeWithSHA1AndDES_CBC 170 +# define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L + +/* Extension request OIDs */ + +# define LN_ms_ext_req "Microsoft Extension Request" +# define SN_ms_ext_req "msExtReq" +# define NID_ms_ext_req 171 +# define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +# define LN_ext_req "Extension Request" +# define SN_ext_req "extReq" +# define NID_ext_req 172 +# define OBJ_ext_req OBJ_pkcs9,14L + +# define SN_name "name" +# define LN_name "name" +# define NID_name 173 +# define OBJ_name OBJ_X509,41L + +# define SN_dnQualifier "dnQualifier" +# define LN_dnQualifier "dnQualifier" +# define NID_dnQualifier 174 +# define OBJ_dnQualifier OBJ_X509,46L + +# define SN_id_pe "id-pe" +# define NID_id_pe 175 +# define OBJ_id_pe OBJ_id_pkix,1L + +# define SN_id_ad "id-ad" +# define NID_id_ad 176 +# define OBJ_id_ad OBJ_id_pkix,48L + +# define SN_info_access "authorityInfoAccess" +# define LN_info_access "Authority Information Access" +# define NID_info_access 177 +# define OBJ_info_access OBJ_id_pe,1L + +# define SN_ad_OCSP "OCSP" +# define LN_ad_OCSP "OCSP" +# define NID_ad_OCSP 178 +# define OBJ_ad_OCSP OBJ_id_ad,1L + +# define SN_ad_ca_issuers "caIssuers" +# define LN_ad_ca_issuers "CA Issuers" +# define NID_ad_ca_issuers 179 +# define OBJ_ad_ca_issuers OBJ_id_ad,2L + +# define SN_OCSP_sign "OCSPSigning" +# define LN_OCSP_sign "OCSP Signing" +# define NID_OCSP_sign 180 +# define OBJ_OCSP_sign OBJ_id_kp,9L +# endif /* USE_OBJ_MAC */ + +# include +# include + +# define OBJ_NAME_TYPE_UNDEF 0x00 +# define OBJ_NAME_TYPE_MD_METH 0x01 +# define OBJ_NAME_TYPE_CIPHER_METH 0x02 +# define OBJ_NAME_TYPE_PKEY_METH 0x03 +# define OBJ_NAME_TYPE_COMP_METH 0x04 +# define OBJ_NAME_TYPE_NUM 0x05 + +# define OBJ_NAME_ALIAS 0x8000 + +# define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 +# define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct obj_name_st { + int type; + int alias; + const char *name; + const char *data; +} OBJ_NAME; + +# define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) + +int OBJ_NAME_init(void); +int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), + int (*cmp_func) (const char *, const char *), + void (*free_func) (const char *, int, const char *)); +const char *OBJ_NAME_get(const char *name, int type); +int OBJ_NAME_add(const char *name, int type, const char *data); +int OBJ_NAME_remove(const char *name, int type); +void OBJ_NAME_cleanup(int type); /* -1 for everything */ +void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), + void *arg); +void OBJ_NAME_do_all_sorted(int type, + void (*fn) (const OBJ_NAME *, void *arg), + void *arg); + +ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_nid2obj(int n); +const char *OBJ_nid2ln(int n); +const char *OBJ_nid2sn(int n); +int OBJ_obj2nid(const ASN1_OBJECT *o); +ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); +int OBJ_txt2nid(const char *s); +int OBJ_ln2nid(const char *s); +int OBJ_sn2nid(const char *s); +int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); +const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, + int (*cmp) (const void *, const void *)); +const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, + int size, + int (*cmp) (const void *, const void *), + int flags); + +# define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ + static int nm##_cmp(type1 const *, type2 const *); \ + scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +# define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ + _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) +# define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) + +/*- + * Unsolved problem: if a type is actually a pointer type, like + * nid_triple is, then its impossible to get a const where you need + * it. Consider: + * + * typedef int nid_triple[3]; + * const void *a_; + * const nid_triple const *a = a_; + * + * The assignement discards a const because what you really want is: + * + * const int const * const *a = a_; + * + * But if you do that, you lose the fact that a is an array of 3 ints, + * which breaks comparison functions. + * + * Thus we end up having to cast, sadly, or unpack the + * declarations. Or, as I finally did in this case, delcare nid_triple + * to be a struct, which it should have been in the first place. + * + * Ben, August 2008. + * + * Also, strictly speaking not all types need be const, but handling + * the non-constness means a lot of complication, and in practice + * comparison routines do always not touch their arguments. + */ + +# define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ + static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ + { \ + type1 const *a = a_; \ + type2 const *b = b_; \ + return nm##_cmp(a,b); \ + } \ + type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ + { \ + return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ + nm##_cmp_BSEARCH_CMP_FN); \ + } \ + extern void dummy_prototype(void) + +# define OBJ_bsearch(type1,key,type2,base,num,cmp) \ + ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN))) + +# define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ + ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ + num,sizeof(type2), \ + ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ + (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ + cmp##_BSEARCH_CMP_FN)),flags) + +int OBJ_new_nid(int num); +int OBJ_add_object(const ASN1_OBJECT *obj); +int OBJ_create(const char *oid, const char *sn, const char *ln); +#if OPENSSL_API_COMPAT < 0x10100000L +# define OBJ_cleanup() while(0) continue +#endif +int OBJ_create_objects(BIO *in); + +size_t OBJ_length(const ASN1_OBJECT *obj); +const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj); + +int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); +int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); +int OBJ_add_sigid(int signid, int dig_id, int pkey_id); +void OBJ_sigid_free(void); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_OBJ_strings(void); + +/* Error codes for the OBJ functions. */ + +/* Function codes. */ +# define OBJ_F_OBJ_ADD_OBJECT 105 +# define OBJ_F_OBJ_CREATE 100 +# define OBJ_F_OBJ_DUP 101 +# define OBJ_F_OBJ_NAME_NEW_INDEX 106 +# define OBJ_F_OBJ_NID2LN 102 +# define OBJ_F_OBJ_NID2OBJ 103 +# define OBJ_F_OBJ_NID2SN 104 + +/* Reason codes. */ +# define OBJ_R_OID_EXISTS 102 +# define OBJ_R_UNKNOWN_NID 101 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/ocsp.h b/android/x86_64/include/openssl/ocsp.h new file mode 100644 index 00000000..08debc5b --- /dev/null +++ b/android/x86_64/include/openssl/ocsp.h @@ -0,0 +1,412 @@ +/* + * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OCSP_H +# define HEADER_OCSP_H + +#include + +/* + * These definitions are outside the OPENSSL_NO_OCSP guard because although for + * historical reasons they have OCSP_* names, they can actually be used + * independently of OCSP. E.g. see RFC5280 + */ +/*- + * CRLReason ::= ENUMERATED { + * unspecified (0), + * keyCompromise (1), + * cACompromise (2), + * affiliationChanged (3), + * superseded (4), + * cessationOfOperation (5), + * certificateHold (6), + * removeFromCRL (8) } + */ +# define OCSP_REVOKED_STATUS_NOSTATUS -1 +# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 +# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 +# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 +# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 +# define OCSP_REVOKED_STATUS_SUPERSEDED 4 +# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 +# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 +# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 + + +# ifndef OPENSSL_NO_OCSP + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Various flags and values */ + +# define OCSP_DEFAULT_NONCE_LENGTH 16 + +# define OCSP_NOCERTS 0x1 +# define OCSP_NOINTERN 0x2 +# define OCSP_NOSIGS 0x4 +# define OCSP_NOCHAIN 0x8 +# define OCSP_NOVERIFY 0x10 +# define OCSP_NOEXPLICIT 0x20 +# define OCSP_NOCASIGN 0x40 +# define OCSP_NODELEGATED 0x80 +# define OCSP_NOCHECKS 0x100 +# define OCSP_TRUSTOTHER 0x200 +# define OCSP_RESPID_KEY 0x400 +# define OCSP_NOTIME 0x800 + +typedef struct ocsp_cert_id_st OCSP_CERTID; + +DEFINE_STACK_OF(OCSP_CERTID) + +typedef struct ocsp_one_request_st OCSP_ONEREQ; + +DEFINE_STACK_OF(OCSP_ONEREQ) + +typedef struct ocsp_req_info_st OCSP_REQINFO; +typedef struct ocsp_signature_st OCSP_SIGNATURE; +typedef struct ocsp_request_st OCSP_REQUEST; + +# define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 +# define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 +# define OCSP_RESPONSE_STATUS_INTERNALERROR 2 +# define OCSP_RESPONSE_STATUS_TRYLATER 3 +# define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 +# define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 + +typedef struct ocsp_resp_bytes_st OCSP_RESPBYTES; + +# define V_OCSP_RESPID_NAME 0 +# define V_OCSP_RESPID_KEY 1 + +DEFINE_STACK_OF(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) + +typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; + +# define V_OCSP_CERTSTATUS_GOOD 0 +# define V_OCSP_CERTSTATUS_REVOKED 1 +# define V_OCSP_CERTSTATUS_UNKNOWN 2 + +typedef struct ocsp_cert_status_st OCSP_CERTSTATUS; +typedef struct ocsp_single_response_st OCSP_SINGLERESP; + +DEFINE_STACK_OF(OCSP_SINGLERESP) + +typedef struct ocsp_response_data_st OCSP_RESPDATA; + +typedef struct ocsp_basic_response_st OCSP_BASICRESP; + +typedef struct ocsp_crl_id_st OCSP_CRLID; +typedef struct ocsp_service_locator_st OCSP_SERVICELOC; + +# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" +# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" + +# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) + +# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) + +# define PEM_read_bio_OCSP_REQUEST(bp,x,cb) (OCSP_REQUEST *)PEM_ASN1_read_bio( \ + (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,bp,(char **)x,cb,NULL) + +# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\ + (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,bp,(char **)x,cb,NULL) + +# define PEM_write_bio_OCSP_REQUEST(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +# define PEM_write_bio_OCSP_RESPONSE(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +# define i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) + +# define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) + +# define OCSP_REQUEST_sign(o,pkey,md) \ + ASN1_item_sign(ASN1_ITEM_rptr(OCSP_REQINFO),\ + &o->optionalSignature->signatureAlgorithm,NULL,\ + o->optionalSignature->signature,&o->tbsRequest,pkey,md) + +# define OCSP_BASICRESP_sign(o,pkey,md,d) \ + ASN1_item_sign(ASN1_ITEM_rptr(OCSP_RESPDATA),&o->signatureAlgorithm,NULL,\ + o->signature,&o->tbsResponseData,pkey,md) + +# define OCSP_REQUEST_verify(a,r) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_REQINFO),\ + &a->optionalSignature->signatureAlgorithm,\ + a->optionalSignature->signature,&a->tbsRequest,r) + +# define OCSP_BASICRESP_verify(a,r,d) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_RESPDATA),\ + &a->signatureAlgorithm,a->signature,&a->tbsResponseData,r) + +# define ASN1_BIT_STRING_digest(data,type,md,len) \ + ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) + +# define OCSP_CERTSTATUS_dup(cs)\ + (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ + (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) + +OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); + +OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); +OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, + int maxline); +int OCSP_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); +int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); +OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *io, int maxline); +void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); +void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, + const ASN1_ITEM *it); +BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); +int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); +int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, + const char *name, const char *value); + +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, + const X509 *issuer); + +OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, + const X509_NAME *issuerName, + const ASN1_BIT_STRING *issuerKey, + const ASN1_INTEGER *serialNumber); + +OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); + +int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); +int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); +int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); +int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); + +int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm); +int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); + +int OCSP_request_sign(OCSP_REQUEST *req, + X509 *signer, + EVP_PKEY *key, + const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); + +int OCSP_response_status(OCSP_RESPONSE *resp); +OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); + +const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs); + +int OCSP_resp_count(OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); +const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP* bs); +const STACK_OF(X509) *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); +int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, + const ASN1_OCTET_STRING **pid, + const X509_NAME **pname); + +int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); +int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, + int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, + ASN1_GENERALIZEDTIME *nextupd, long sec, long maxsec); + +int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, + X509_STORE *store, unsigned long flags); + +int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath, + int *pssl); + +int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b); +int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); + +int OCSP_request_onereq_count(OCSP_REQUEST *req); +OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); +OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); +int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, + ASN1_OCTET_STRING **pikeyHash, + ASN1_INTEGER **pserial, OCSP_CERTID *cid); +int OCSP_request_is_signed(OCSP_REQUEST *req); +OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, + OCSP_CERTID *cid, + int status, int reason, + ASN1_TIME *revtime, + ASN1_TIME *thisupd, + ASN1_TIME *nextupd); +int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); +int OCSP_basic_sign(OCSP_BASICRESP *brsp, + X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); +int OCSP_RESPID_set_by_name(OCSP_RESPID *respid, X509 *cert); +int OCSP_RESPID_set_by_key(OCSP_RESPID *respid, X509 *cert); +int OCSP_RESPID_match(OCSP_RESPID *respid, X509 *cert); + +X509_EXTENSION *OCSP_crlID_new(const char *url, long *n, char *tim); + +X509_EXTENSION *OCSP_accept_responses_new(char **oids); + +X509_EXTENSION *OCSP_archive_cutoff_new(char *tim); + +X509_EXTENSION *OCSP_url_svcloc_new(X509_NAME *issuer, const char **urls); + +int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); +int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); +int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int lastpos); +X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); +X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); +void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, + int *idx); +int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); + +int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); +int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); +int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, const ASN1_OBJECT *obj, int lastpos); +int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); +X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); +X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); +void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); +int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); + +int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); +int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); +int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); +X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); +void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, + int *idx); +int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); + +int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); +int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int lastpos); +int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); +X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); +void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, + int *idx); +int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc); +const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *x); + +DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) +DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) +DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) +DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) +DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) +DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) +DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) + +const char *OCSP_response_status_str(long s); +const char *OCSP_cert_status_str(long s); +const char *OCSP_crl_reason_str(long s); + +int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *a, unsigned long flags); +int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags); + +int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, + X509_STORE *st, unsigned long flags); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_OCSP_strings(void); + +/* Error codes for the OCSP functions. */ + +/* Function codes. */ +# define OCSP_F_D2I_OCSP_NONCE 102 +# define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 +# define OCSP_F_OCSP_BASIC_SIGN 104 +# define OCSP_F_OCSP_BASIC_VERIFY 105 +# define OCSP_F_OCSP_CERT_ID_NEW 101 +# define OCSP_F_OCSP_CHECK_DELEGATED 106 +# define OCSP_F_OCSP_CHECK_IDS 107 +# define OCSP_F_OCSP_CHECK_ISSUER 108 +# define OCSP_F_OCSP_CHECK_VALIDITY 115 +# define OCSP_F_OCSP_MATCH_ISSUERID 109 +# define OCSP_F_OCSP_PARSE_URL 114 +# define OCSP_F_OCSP_REQUEST_SIGN 110 +# define OCSP_F_OCSP_REQUEST_VERIFY 116 +# define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 +# define OCSP_F_PARSE_HTTP_LINE1 118 + +/* Reason codes. */ +# define OCSP_R_CERTIFICATE_VERIFY_ERROR 101 +# define OCSP_R_DIGEST_ERR 102 +# define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 +# define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 +# define OCSP_R_ERROR_PARSING_URL 121 +# define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 +# define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 +# define OCSP_R_NOT_BASIC_RESPONSE 104 +# define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105 +# define OCSP_R_NO_RESPONSE_DATA 108 +# define OCSP_R_NO_REVOKED_TIME 109 +# define OCSP_R_NO_SIGNER_KEY 130 +# define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110 +# define OCSP_R_REQUEST_NOT_SIGNED 128 +# define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 +# define OCSP_R_ROOT_CA_NOT_TRUSTED 112 +# define OCSP_R_SERVER_RESPONSE_ERROR 114 +# define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 +# define OCSP_R_SIGNATURE_FAILURE 117 +# define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 +# define OCSP_R_STATUS_EXPIRED 125 +# define OCSP_R_STATUS_NOT_YET_VALID 126 +# define OCSP_R_STATUS_TOO_OLD 127 +# define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119 +# define OCSP_R_UNKNOWN_NID 120 +# define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/opensslconf-arm32.h b/android/x86_64/include/openssl/opensslconf-arm32.h new file mode 100644 index 00000000..527f4d5b --- /dev/null +++ b/android/x86_64/include/openssl/opensslconf-arm32.h @@ -0,0 +1,169 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslconf.h.in + * + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#if defined(OPENSSL_NO_DEPRECATED) +# define DECLARE_DEPRECATED(f) +#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +#else +# define DECLARE_DEPRECATED(f) f; +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +#define OPENSSL_CPUID_OBJ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# define BN_LLONG +/* Only one for the following should be defined */ +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned char + +#ifdef __cplusplus +} +#endif diff --git a/android/x86_64/include/openssl/opensslconf-arm64.h b/android/x86_64/include/openssl/opensslconf-arm64.h new file mode 100644 index 00000000..f3d83b5c --- /dev/null +++ b/android/x86_64/include/openssl/opensslconf-arm64.h @@ -0,0 +1,169 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslconf.h.in + * + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#if defined(OPENSSL_NO_DEPRECATED) +# define DECLARE_DEPRECATED(f) +#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +#else +# define DECLARE_DEPRECATED(f) f; +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +#define OPENSSL_CPUID_OBJ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG +/* Only one for the following should be defined */ +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned char + +#ifdef __cplusplus +} +#endif diff --git a/android/x86_64/include/openssl/opensslconf-x86.h b/android/x86_64/include/openssl/opensslconf-x86.h new file mode 100644 index 00000000..9891b5d8 --- /dev/null +++ b/android/x86_64/include/openssl/opensslconf-x86.h @@ -0,0 +1,169 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslconf.h.in + * + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#if defined(OPENSSL_NO_DEPRECATED) +# define DECLARE_DEPRECATED(f) +#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +#else +# define DECLARE_DEPRECATED(f) f; +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +#define OPENSSL_CPUID_OBJ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# define BN_LLONG +/* Only one for the following should be defined */ +# undef SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# define THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned int + +#ifdef __cplusplus +} +#endif diff --git a/android/x86_64/include/openssl/opensslconf.h b/android/x86_64/include/openssl/opensslconf.h new file mode 100644 index 00000000..cec69427 --- /dev/null +++ b/android/x86_64/include/openssl/opensslconf.h @@ -0,0 +1,166 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslconf.h.in + * + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#if defined(OPENSSL_NO_DEPRECATED) +# define DECLARE_DEPRECATED(f) +#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +#else +# define DECLARE_DEPRECATED(f) f; +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +#define OPENSSL_CPUID_OBJ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG +/* Only one for the following should be defined */ +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned int + +#ifdef __cplusplus +} +#endif diff --git a/android/x86_64/include/openssl/opensslv.h b/android/x86_64/include/openssl/opensslv.h new file mode 100644 index 00000000..2d54b69b --- /dev/null +++ b/android/x86_64/include/openssl/opensslv.h @@ -0,0 +1,105 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OPENSSLV_H +# define HEADER_OPENSSLV_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*- + * Numeric release version identifier: + * MNNFFPPS: major minor fix patch status + * The status nibble has one of the values 0 for development, 1 to e for betas + * 1 to 14, and f for release. The patch level is exactly that. + * For example: + * 0.9.3-dev 0x00903000 + * 0.9.3-beta1 0x00903001 + * 0.9.3-beta2-dev 0x00903002 + * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) + * 0.9.3 0x0090300f + * 0.9.3a 0x0090301f + * 0.9.4 0x0090400f + * 1.2.3z 0x102031af + * + * For continuity reasons (because 0.9.5 is already out, and is coded + * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level + * part is slightly different, by setting the highest bit. This means + * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start + * with 0x0090600S... + * + * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) + * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for + * major minor fix final patch/beta) + */ +# define OPENSSL_VERSION_NUMBER 0x1010003fL +# ifdef OPENSSL_FIPS +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0c-fips 10 Nov 2016" +# else +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0c 10 Nov 2016" +# endif + +/*- + * The macros below are to be used for shared library (.so, .dll, ...) + * versioning. That kind of versioning works a bit differently between + * operating systems. The most usual scheme is to set a major and a minor + * number, and have the runtime loader check that the major number is equal + * to what it was at application link time, while the minor number has to + * be greater or equal to what it was at application link time. With this + * scheme, the version number is usually part of the file name, like this: + * + * libcrypto.so.0.9 + * + * Some unixen also make a softlink with the major version number only: + * + * libcrypto.so.0 + * + * On Tru64 and IRIX 6.x it works a little bit differently. There, the + * shared library version is stored in the file, and is actually a series + * of versions, separated by colons. The rightmost version present in the + * library when linking an application is stored in the application to be + * matched at run time. When the application is run, a check is done to + * see if the library version stored in the application matches any of the + * versions in the version string of the library itself. + * This version string can be constructed in any way, depending on what + * kind of matching is desired. However, to implement the same scheme as + * the one used in the other unixen, all compatible versions, from lowest + * to highest, should be part of the string. Consecutive builds would + * give the following versions strings: + * + * 3.0 + * 3.0:3.1 + * 3.0:3.1:3.2 + * 4.0 + * 4.0:4.1 + * + * Notice how version 4 is completely incompatible with version, and + * therefore give the breach you can see. + * + * There may be other schemes as well that I haven't yet discovered. + * + * So, here's the way it works here: first of all, the library version + * number doesn't need at all to match the overall OpenSSL version. + * However, it's nice and more understandable if it actually does. + * The current library version is stored in the macro SHLIB_VERSION_NUMBER, + * which is just a piece of text in the format "M.m.e" (Major, minor, edit). + * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, + * we need to keep a history of version numbers, which is done in the + * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and + * should only keep the versions that are binary compatible with the current. + */ +# define SHLIB_VERSION_HISTORY "" +# define SHLIB_VERSION_NUMBER "1.1" + + +#ifdef __cplusplus +} +#endif +#endif /* HEADER_OPENSSLV_H */ diff --git a/android/x86_64/include/openssl/ossl_typ.h b/android/x86_64/include/openssl/ossl_typ.h new file mode 100644 index 00000000..129a67f0 --- /dev/null +++ b/android/x86_64/include/openssl/ossl_typ.h @@ -0,0 +1,190 @@ +/* + * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_OPENSSL_TYPES_H +# define HEADER_OPENSSL_TYPES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# ifdef NO_ASN1_TYPEDEFS +# define ASN1_INTEGER ASN1_STRING +# define ASN1_ENUMERATED ASN1_STRING +# define ASN1_BIT_STRING ASN1_STRING +# define ASN1_OCTET_STRING ASN1_STRING +# define ASN1_PRINTABLESTRING ASN1_STRING +# define ASN1_T61STRING ASN1_STRING +# define ASN1_IA5STRING ASN1_STRING +# define ASN1_UTCTIME ASN1_STRING +# define ASN1_GENERALIZEDTIME ASN1_STRING +# define ASN1_TIME ASN1_STRING +# define ASN1_GENERALSTRING ASN1_STRING +# define ASN1_UNIVERSALSTRING ASN1_STRING +# define ASN1_BMPSTRING ASN1_STRING +# define ASN1_VISIBLESTRING ASN1_STRING +# define ASN1_UTF8STRING ASN1_STRING +# define ASN1_BOOLEAN int +# define ASN1_NULL int +# else +typedef struct asn1_string_st ASN1_INTEGER; +typedef struct asn1_string_st ASN1_ENUMERATED; +typedef struct asn1_string_st ASN1_BIT_STRING; +typedef struct asn1_string_st ASN1_OCTET_STRING; +typedef struct asn1_string_st ASN1_PRINTABLESTRING; +typedef struct asn1_string_st ASN1_T61STRING; +typedef struct asn1_string_st ASN1_IA5STRING; +typedef struct asn1_string_st ASN1_GENERALSTRING; +typedef struct asn1_string_st ASN1_UNIVERSALSTRING; +typedef struct asn1_string_st ASN1_BMPSTRING; +typedef struct asn1_string_st ASN1_UTCTIME; +typedef struct asn1_string_st ASN1_TIME; +typedef struct asn1_string_st ASN1_GENERALIZEDTIME; +typedef struct asn1_string_st ASN1_VISIBLESTRING; +typedef struct asn1_string_st ASN1_UTF8STRING; +typedef struct asn1_string_st ASN1_STRING; +typedef int ASN1_BOOLEAN; +typedef int ASN1_NULL; +# endif + +typedef struct asn1_object_st ASN1_OBJECT; + +typedef struct ASN1_ITEM_st ASN1_ITEM; +typedef struct asn1_pctx_st ASN1_PCTX; +typedef struct asn1_sctx_st ASN1_SCTX; + +# ifdef _WIN32 +# undef X509_NAME +# undef X509_EXTENSIONS +# undef PKCS7_ISSUER_AND_SERIAL +# undef PKCS7_SIGNER_INFO +# undef OCSP_REQUEST +# undef OCSP_RESPONSE +# endif + +# ifdef BIGNUM +# undef BIGNUM +# endif +struct dane_st; +typedef struct bio_st BIO; +typedef struct bignum_st BIGNUM; +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_recp_ctx_st BN_RECP_CTX; +typedef struct bn_gencb_st BN_GENCB; + +typedef struct buf_mem_st BUF_MEM; + +typedef struct evp_cipher_st EVP_CIPHER; +typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; +typedef struct evp_md_st EVP_MD; +typedef struct evp_md_ctx_st EVP_MD_CTX; +typedef struct evp_pkey_st EVP_PKEY; + +typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; + +typedef struct evp_pkey_method_st EVP_PKEY_METHOD; +typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; + +typedef struct evp_Encode_Ctx_st EVP_ENCODE_CTX; + +typedef struct hmac_ctx_st HMAC_CTX; + +typedef struct dh_st DH; +typedef struct dh_method DH_METHOD; + +typedef struct dsa_st DSA; +typedef struct dsa_method DSA_METHOD; + +typedef struct rsa_st RSA; +typedef struct rsa_meth_st RSA_METHOD; + +typedef struct ec_key_st EC_KEY; +typedef struct ec_key_method_st EC_KEY_METHOD; + +typedef struct rand_meth_st RAND_METHOD; + +typedef struct ssl_dane_st SSL_DANE; +typedef struct x509_st X509; +typedef struct X509_algor_st X509_ALGOR; +typedef struct X509_crl_st X509_CRL; +typedef struct x509_crl_method_st X509_CRL_METHOD; +typedef struct x509_revoked_st X509_REVOKED; +typedef struct X509_name_st X509_NAME; +typedef struct X509_pubkey_st X509_PUBKEY; +typedef struct x509_store_st X509_STORE; +typedef struct x509_store_ctx_st X509_STORE_CTX; + +typedef struct x509_object_st X509_OBJECT; +typedef struct x509_lookup_st X509_LOOKUP; +typedef struct x509_lookup_method_st X509_LOOKUP_METHOD; +typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM; + +typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; + +typedef struct v3_ext_ctx X509V3_CTX; +typedef struct conf_st CONF; +typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS; + +typedef struct ui_st UI; +typedef struct ui_method_st UI_METHOD; + +typedef struct engine_st ENGINE; +typedef struct ssl_st SSL; +typedef struct ssl_ctx_st SSL_CTX; + +typedef struct comp_ctx_st COMP_CTX; +typedef struct comp_method_st COMP_METHOD; + +typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; +typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; +typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; +typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; + +typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; +typedef struct DIST_POINT_st DIST_POINT; +typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; +typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; + +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; + +typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; +typedef struct ocsp_response_st OCSP_RESPONSE; +typedef struct ocsp_responder_id_st OCSP_RESPID; + +typedef struct sct_st SCT; +typedef struct sct_ctx_st SCT_CTX; +typedef struct ctlog_st CTLOG; +typedef struct ctlog_store_st CTLOG_STORE; +typedef struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX; + +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \ + defined(INTMAX_MAX) && defined(UINTMAX_MAX) +typedef intmax_t ossl_intmax_t; +typedef uintmax_t ossl_uintmax_t; +#else +/* + * Not long long, because the C-library can only be expected to provide + * strtoll(), strtoull() at the same time as intmax_t and strtoimax(), + * strtoumax(). Since we use these for parsing arguments, we need the + * conversion functions, not just the sizes. + */ +typedef long ossl_intmax_t; +typedef unsigned long ossl_uintmax_t; +#endif + +#ifdef __cplusplus +} +#endif +#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/android/x86_64/include/openssl/pem.h b/android/x86_64/include/openssl/pem.h new file mode 100644 index 00000000..2375d635 --- /dev/null +++ b/android/x86_64/include/openssl/pem.h @@ -0,0 +1,501 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PEM_H +# define HEADER_PEM_H + +# include +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PEM_BUFSIZE 1024 + +# define PEM_STRING_X509_OLD "X509 CERTIFICATE" +# define PEM_STRING_X509 "CERTIFICATE" +# define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" +# define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" +# define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" +# define PEM_STRING_X509_CRL "X509 CRL" +# define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY" +# define PEM_STRING_PUBLIC "PUBLIC KEY" +# define PEM_STRING_RSA "RSA PRIVATE KEY" +# define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY" +# define PEM_STRING_DSA "DSA PRIVATE KEY" +# define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY" +# define PEM_STRING_PKCS7 "PKCS7" +# define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA" +# define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY" +# define PEM_STRING_PKCS8INF "PRIVATE KEY" +# define PEM_STRING_DHPARAMS "DH PARAMETERS" +# define PEM_STRING_DHXPARAMS "X9.42 DH PARAMETERS" +# define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" +# define PEM_STRING_DSAPARAMS "DSA PARAMETERS" +# define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" +# define PEM_STRING_ECPARAMETERS "EC PARAMETERS" +# define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY" +# define PEM_STRING_PARAMETERS "PARAMETERS" +# define PEM_STRING_CMS "CMS" + +# define PEM_TYPE_ENCRYPTED 10 +# define PEM_TYPE_MIC_ONLY 20 +# define PEM_TYPE_MIC_CLEAR 30 +# define PEM_TYPE_CLEAR 40 + +typedef struct pem_recip_st { + char *name; + X509_NAME *dn; + int cipher; + int key_enc; + /* char iv[8]; unused and wrong size */ +} PEM_USER; + +typedef struct pem_ctx_st { + int type; /* what type of object */ + struct { + int version; + int mode; + } proc_type; + + char *domain; + + struct { + int cipher; + /*- + unused, and wrong size + unsigned char iv[8]; */ + } DEK_info; + + PEM_USER *originator; + + int num_recipient; + PEM_USER **recipient; + +/*- + XXX(ben): don#t think this is used! + STACK *x509_chain; / * certificate chain */ + EVP_MD *md; /* signature type */ + + int md_enc; /* is the md encrypted or not? */ + int md_len; /* length of md_data */ + char *md_data; /* message digest, could be pkey encrypted */ + + EVP_CIPHER *dec; /* date encryption cipher */ + int key_len; /* key length */ + unsigned char *key; /* key */ + /*- + unused, and wrong size + unsigned char iv[8]; */ + + int data_enc; /* is the data encrypted */ + int data_len; + unsigned char *data; +} PEM_CTX; + +/* + * These macros make the PEM_read/PEM_write functions easier to maintain and + * write. Now they are all implemented with either: IMPLEMENT_PEM_rw(...) or + * IMPLEMENT_PEM_rw_cb(...) + */ + +# ifdef OPENSSL_NO_STDIO + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ +# else + +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ +type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, const type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# endif + +# define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ +type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ +} + +# define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, const type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +# define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_read_fp(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_const(name, type, str, asn1) + +# define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb(name, type, str, asn1) + +/* These are the same except they are for the declarations */ + +# if defined(OPENSSL_NO_STDIO) + +# define DECLARE_PEM_read_fp(name, type) /**/ +# define DECLARE_PEM_write_fp(name, type) /**/ +# define DECLARE_PEM_write_fp_const(name, type) /**/ +# define DECLARE_PEM_write_cb_fp(name, type) /**/ +# else + +# define DECLARE_PEM_read_fp(name, type) \ + type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x); + +# define DECLARE_PEM_write_fp_const(name, type) \ + int PEM_write_##name(FILE *fp, const type *x); + +# define DECLARE_PEM_write_cb_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# endif + +# define DECLARE_PEM_read_bio(name, type) \ + type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x); + +# define DECLARE_PEM_write_bio_const(name, type) \ + int PEM_write_bio_##name(BIO *bp, const type *x); + +# define DECLARE_PEM_write_cb_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +# define DECLARE_PEM_write(name, type) \ + DECLARE_PEM_write_bio(name, type) \ + DECLARE_PEM_write_fp(name, type) +# define DECLARE_PEM_write_const(name, type) \ + DECLARE_PEM_write_bio_const(name, type) \ + DECLARE_PEM_write_fp_const(name, type) +# define DECLARE_PEM_write_cb(name, type) \ + DECLARE_PEM_write_cb_bio(name, type) \ + DECLARE_PEM_write_cb_fp(name, type) +# define DECLARE_PEM_read(name, type) \ + DECLARE_PEM_read_bio(name, type) \ + DECLARE_PEM_read_fp(name, type) +# define DECLARE_PEM_rw(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write(name, type) +# define DECLARE_PEM_rw_const(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_const(name, type) +# define DECLARE_PEM_rw_cb(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_cb(name, type) +typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); + +int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); +int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, + pem_password_cb *callback, void *u); + +int PEM_read_bio(BIO *bp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write_bio(BIO *bp, const char *name, const char *hdr, + const unsigned char *data, long len); +int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, + const char *name, BIO *bp, pem_password_cb *cb, + void *u); +void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, + const EVP_CIPHER *enc, unsigned char *kstr, int klen, + pem_password_cb *cb, void *u); + +STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); +int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cd, void *u); + +#ifndef OPENSSL_NO_STDIO +int PEM_read(FILE *fp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write(FILE *fp, const char *name, const char *hdr, + const unsigned char *data, long len); +void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, + void *x, const EVP_CIPHER *enc, unsigned char *kstr, + int klen, pem_password_cb *callback, void *u); +STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); +#endif + +int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); +int PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); +int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, + unsigned int *siglen, EVP_PKEY *pkey); + +int PEM_def_callback(char *buf, int num, int w, void *key); +void PEM_proc_type(char *buf, int type); +void PEM_dek_info(char *buf, const char *type, int len, char *str); + +# include + +DECLARE_PEM_rw(X509, X509) +DECLARE_PEM_rw(X509_AUX, X509) +DECLARE_PEM_rw(X509_REQ, X509_REQ) +DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) +DECLARE_PEM_rw(X509_CRL, X509_CRL) +DECLARE_PEM_rw(PKCS7, PKCS7) +DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) +DECLARE_PEM_rw(PKCS8, X509_SIG) +DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) +# ifndef OPENSSL_NO_RSA +DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) +DECLARE_PEM_rw_const(RSAPublicKey, RSA) +DECLARE_PEM_rw(RSA_PUBKEY, RSA) +# endif +# ifndef OPENSSL_NO_DSA +DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) +DECLARE_PEM_rw(DSA_PUBKEY, DSA) +DECLARE_PEM_rw_const(DSAparams, DSA) +# endif +# ifndef OPENSSL_NO_EC +DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) +DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) +DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) +# endif +# ifndef OPENSSL_NO_DH +DECLARE_PEM_rw_const(DHparams, DH) +DECLARE_PEM_write_const(DHxparams, DH) +# endif +DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) +DECLARE_PEM_rw(PUBKEY, EVP_PKEY) + +int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, + const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u); + +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, + char *, int, pem_password_cb *, void *); +int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +# ifndef OPENSSL_NO_STDIO +int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); + +EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cd, + void *u); +# endif +EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); +int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); + +# ifndef OPENSSL_NO_DSA +EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PrivateKey_bio(BIO *in); +EVP_PKEY *b2i_PublicKey_bio(BIO *in); +int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); +int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); +# ifndef OPENSSL_NO_RC4 +EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); +int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, + pem_password_cb *cb, void *u); +# endif +# endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_PEM_strings(void); + +/* Error codes for the PEM functions. */ + +/* Function codes. */ +# define PEM_F_B2I_DSS 127 +# define PEM_F_B2I_PVK_BIO 128 +# define PEM_F_B2I_RSA 129 +# define PEM_F_CHECK_BITLEN_DSA 130 +# define PEM_F_CHECK_BITLEN_RSA 131 +# define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 +# define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 +# define PEM_F_DO_B2I 132 +# define PEM_F_DO_B2I_BIO 133 +# define PEM_F_DO_BLOB_HEADER 134 +# define PEM_F_DO_PK8PKEY 126 +# define PEM_F_DO_PK8PKEY_FP 125 +# define PEM_F_DO_PVK_BODY 135 +# define PEM_F_DO_PVK_HEADER 136 +# define PEM_F_I2B_PVK 137 +# define PEM_F_I2B_PVK_BIO 138 +# define PEM_F_LOAD_IV 101 +# define PEM_F_PEM_ASN1_READ 102 +# define PEM_F_PEM_ASN1_READ_BIO 103 +# define PEM_F_PEM_ASN1_WRITE 104 +# define PEM_F_PEM_ASN1_WRITE_BIO 105 +# define PEM_F_PEM_DEF_CALLBACK 100 +# define PEM_F_PEM_DO_HEADER 106 +# define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 +# define PEM_F_PEM_READ 108 +# define PEM_F_PEM_READ_BIO 109 +# define PEM_F_PEM_READ_BIO_DHPARAMS 141 +# define PEM_F_PEM_READ_BIO_PARAMETERS 140 +# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 +# define PEM_F_PEM_READ_DHPARAMS 142 +# define PEM_F_PEM_READ_PRIVATEKEY 124 +# define PEM_F_PEM_SIGNFINAL 112 +# define PEM_F_PEM_WRITE 113 +# define PEM_F_PEM_WRITE_BIO 114 +# define PEM_F_PEM_WRITE_PRIVATEKEY 139 +# define PEM_F_PEM_X509_INFO_READ 115 +# define PEM_F_PEM_X509_INFO_READ_BIO 116 +# define PEM_F_PEM_X509_INFO_WRITE_BIO 117 + +/* Reason codes. */ +# define PEM_R_BAD_BASE64_DECODE 100 +# define PEM_R_BAD_DECRYPT 101 +# define PEM_R_BAD_END_LINE 102 +# define PEM_R_BAD_IV_CHARS 103 +# define PEM_R_BAD_MAGIC_NUMBER 116 +# define PEM_R_BAD_PASSWORD_READ 104 +# define PEM_R_BAD_VERSION_NUMBER 117 +# define PEM_R_BIO_WRITE_FAILURE 118 +# define PEM_R_CIPHER_IS_NULL 127 +# define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 +# define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 +# define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 +# define PEM_R_HEADER_TOO_LONG 128 +# define PEM_R_INCONSISTENT_HEADER 121 +# define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 +# define PEM_R_KEYBLOB_TOO_SHORT 123 +# define PEM_R_MISSING_DEK_IV 129 +# define PEM_R_NOT_DEK_INFO 105 +# define PEM_R_NOT_ENCRYPTED 106 +# define PEM_R_NOT_PROC_TYPE 107 +# define PEM_R_NO_START_LINE 108 +# define PEM_R_PROBLEMS_GETTING_PASSWORD 109 +# define PEM_R_PVK_DATA_TOO_SHORT 124 +# define PEM_R_PVK_TOO_SHORT 125 +# define PEM_R_READ_KEY 111 +# define PEM_R_SHORT_HEADER 112 +# define PEM_R_UNEXPECTED_DEK_IV 130 +# define PEM_R_UNSUPPORTED_CIPHER 113 +# define PEM_R_UNSUPPORTED_ENCRYPTION 114 +# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/pem2.h b/android/x86_64/include/openssl/pem2.h new file mode 100644 index 00000000..cfe73f13 --- /dev/null +++ b/android/x86_64/include/openssl/pem2.h @@ -0,0 +1,20 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef HEADER_PEM_H +int ERR_load_PEM_strings(void); +#endif + +#ifdef __cplusplus +} +#endif diff --git a/android/x86_64/include/openssl/pkcs12.h b/android/x86_64/include/openssl/pkcs12.h new file mode 100644 index 00000000..deaded9d --- /dev/null +++ b/android/x86_64/include/openssl/pkcs12.h @@ -0,0 +1,282 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PKCS12_H +# define HEADER_PKCS12_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PKCS12_KEY_ID 1 +# define PKCS12_IV_ID 2 +# define PKCS12_MAC_ID 3 + +/* Default iteration count */ +# ifndef PKCS12_DEFAULT_ITER +# define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER +# endif + +# define PKCS12_MAC_KEY_LENGTH 20 + +# define PKCS12_SALT_LEN 8 + +/* It's not clear if these are actually needed... */ +# define PKCS12_key_gen PKCS12_key_gen_utf8 +# define PKCS12_add_friendlyname PKCS12_add_friendlyname_utf8 + +/* MS key usage constants */ + +# define KEY_EX 0x10 +# define KEY_SIG 0x80 + +typedef struct PKCS12_MAC_DATA_st PKCS12_MAC_DATA; + +typedef struct PKCS12_st PKCS12; + +typedef struct PKCS12_SAFEBAG_st PKCS12_SAFEBAG; + +DEFINE_STACK_OF(PKCS12_SAFEBAG) + +typedef struct pkcs12_bag_st PKCS12_BAGS; + +# define PKCS12_ERROR 0 +# define PKCS12_OK 1 + +/* Compatibility macros */ + +#if OPENSSL_API_COMPAT < 0x10100000L + +# define M_PKCS12_bag_type PKCS12_bag_type +# define M_PKCS12_cert_bag_type PKCS12_cert_bag_type +# define M_PKCS12_crl_bag_type PKCS12_cert_bag_type + +# define PKCS12_certbag2x509 PKCS12_SAFEBAG_get1_cert +# define PKCS12_certbag2scrl PKCS12_SAFEBAG_get1_crl +# define PKCS12_bag_type PKCS12_SAFEBAG_get_nid +# define PKCS12_cert_bag_type PKCS12_SAFEBAG_get_bag_nid +# define PKCS12_x5092certbag PKCS12_SAFEBAG_create_cert +# define PKCS12_x509crl2certbag PKCS12_SAFEBAG_create_crl +# define PKCS12_MAKE_KEYBAG PKCS12_SAFEBAG_create0_p8inf +# define PKCS12_MAKE_SHKEYBAG PKCS12_SAFEBAG_create_pkcs8_encrypt + +#endif + +DEPRECATEDIN_1_1_0(ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, int attr_nid)) + +ASN1_TYPE *PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid); +int PKCS12_mac_present(const PKCS12 *p12); +void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, + const X509_ALGOR **pmacalg, + const ASN1_OCTET_STRING **psalt, + const ASN1_INTEGER **piter, + const PKCS12 *p12); + +const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag, + int attr_nid); +const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag); + +X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag); +X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag); +const STACK_OF(PKCS12_SAFEBAG) * +PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag); +const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag); +const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag); + +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_cert(X509 *x509); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_crl(X509_CRL *crl); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, + const char *pass, + int passlen, + unsigned char *salt, + int saltlen, int iter, + PKCS8_PRIV_KEY_INFO *p8inf); + +PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, + int nid1, int nid2); +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char *pass, + int passlen); +PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, + const char *pass, int passlen); +X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, + const char *pass, int passlen, unsigned char *salt, + int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8); +X509_SIG *PKCS8_set0_pbe(const char *pass, int passlen, + PKCS8_PRIV_KEY_INFO *p8inf, X509_ALGOR *pbe); +PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); +PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + STACK_OF(PKCS12_SAFEBAG) *bags); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, + int passlen); + +int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); +STACK_OF(PKCS7) *PKCS12_unpack_authsafes(const PKCS12 *p12); + +int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, + int namelen); +int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_utf8(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, + const unsigned char *name, int namelen); +int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); +ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, + int attr_nid); +char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); +const STACK_OF(X509_ATTRIBUTE) * +PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag); +unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor, + const char *pass, int passlen, + const unsigned char *in, int inlen, + unsigned char **data, int *datalen, + int en_de); +void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, + const char *pass, int passlen, + const ASN1_OCTET_STRING *oct, int zbuf); +ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, + const ASN1_ITEM *it, + const char *pass, int passlen, + void *obj, int zbuf); +PKCS12 *PKCS12_init(int mode); +int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_utf8(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md_type, int en_de); +int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *mac, unsigned int *maclen); +int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); +int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + const EVP_MD *md_type); +int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, + int saltlen, const EVP_MD *md_type); +unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2asc(const unsigned char *uni, int unilen); +unsigned char *OPENSSL_utf82uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen); + +DECLARE_ASN1_FUNCTIONS(PKCS12) +DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) +DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) +DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) + +DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) +DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) + +void PKCS12_PBE_add(void); +int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + STACK_OF(X509) **ca); +PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey, + X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, + int iter, int mac_iter, int keytype); + +PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); +PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, + EVP_PKEY *key, int key_usage, int iter, + int key_nid, const char *pass); +int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, + int safe_nid, int iter, const char *pass); +PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); + +int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); +# ifndef OPENSSL_NO_STDIO +int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); +# endif +PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); +# ifndef OPENSSL_NO_STDIO +PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); +# endif +int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_PKCS12_strings(void); + +/* Error codes for the PKCS12 functions. */ + +/* Function codes. */ +# define PKCS12_F_PKCS12_CREATE 105 +# define PKCS12_F_PKCS12_GEN_MAC 107 +# define PKCS12_F_PKCS12_INIT 109 +# define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 +# define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 +# define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 +# define PKCS12_F_PKCS12_KEY_GEN_ASC 110 +# define PKCS12_F_PKCS12_KEY_GEN_UNI 111 +# define PKCS12_F_PKCS12_KEY_GEN_UTF8 116 +# define PKCS12_F_PKCS12_NEWPASS 128 +# define PKCS12_F_PKCS12_PACK_P7DATA 114 +# define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 +# define PKCS12_F_PKCS12_PARSE 118 +# define PKCS12_F_PKCS12_PBE_CRYPT 119 +# define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_P8INF 112 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_PKCS8 113 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE_PKCS8_ENCRYPT 133 +# define PKCS12_F_PKCS12_SETUP_MAC 122 +# define PKCS12_F_PKCS12_SET_MAC 123 +# define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 +# define PKCS12_F_PKCS12_UNPACK_P7DATA 131 +# define PKCS12_F_PKCS12_VERIFY_MAC 126 +# define PKCS12_F_PKCS8_ENCRYPT 125 +# define PKCS12_F_PKCS8_SET0_PBE 132 + +/* Reason codes. */ +# define PKCS12_R_CANT_PACK_STRUCTURE 100 +# define PKCS12_R_CONTENT_TYPE_NOT_DATA 121 +# define PKCS12_R_DECODE_ERROR 101 +# define PKCS12_R_ENCODE_ERROR 102 +# define PKCS12_R_ENCRYPT_ERROR 103 +# define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120 +# define PKCS12_R_INVALID_NULL_ARGUMENT 104 +# define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105 +# define PKCS12_R_IV_GEN_ERROR 106 +# define PKCS12_R_KEY_GEN_ERROR 107 +# define PKCS12_R_MAC_ABSENT 108 +# define PKCS12_R_MAC_GENERATION_ERROR 109 +# define PKCS12_R_MAC_SETUP_ERROR 110 +# define PKCS12_R_MAC_STRING_SET_ERROR 111 +# define PKCS12_R_MAC_VERIFY_FAILURE 113 +# define PKCS12_R_PARSE_ERROR 114 +# define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115 +# define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116 +# define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117 +# define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118 +# define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/pkcs7.h b/android/x86_64/include/openssl/pkcs7.h new file mode 100644 index 00000000..691f7220 --- /dev/null +++ b/android/x86_64/include/openssl/pkcs7.h @@ -0,0 +1,404 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_PKCS7_H +# define HEADER_PKCS7_H + +# include +# include +# include + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/*- +Encryption_ID DES-CBC +Digest_ID MD5 +Digest_Encryption_ID rsaEncryption +Key_Encryption_ID rsaEncryption +*/ + +typedef struct pkcs7_issuer_and_serial_st { + X509_NAME *issuer; + ASN1_INTEGER *serial; +} PKCS7_ISSUER_AND_SERIAL; + +typedef struct pkcs7_signer_info_st { + ASN1_INTEGER *version; /* version 1 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *digest_alg; + STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ + X509_ALGOR *digest_enc_alg; + ASN1_OCTET_STRING *enc_digest; + STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ + /* The private key to sign with */ + EVP_PKEY *pkey; +} PKCS7_SIGNER_INFO; + +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) + +typedef struct pkcs7_recip_info_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *key_enc_algor; + ASN1_OCTET_STRING *enc_key; + X509 *cert; /* get the pub-key from this */ +} PKCS7_RECIP_INFO; + +DEFINE_STACK_OF(PKCS7_RECIP_INFO) + +typedef struct pkcs7_signed_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + struct pkcs7_st *contents; +} PKCS7_SIGNED; +/* + * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about + * merging the two + */ + +typedef struct pkcs7_enc_content_st { + ASN1_OBJECT *content_type; + X509_ALGOR *algorithm; + ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ + const EVP_CIPHER *cipher; +} PKCS7_ENC_CONTENT; + +typedef struct pkcs7_enveloped_st { + ASN1_INTEGER *version; /* version 0 */ + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENVELOPE; + +typedef struct pkcs7_signedandenveloped_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + PKCS7_ENC_CONTENT *enc_data; + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; +} PKCS7_SIGN_ENVELOPE; + +typedef struct pkcs7_digest_st { + ASN1_INTEGER *version; /* version 0 */ + X509_ALGOR *md; /* md used */ + struct pkcs7_st *contents; + ASN1_OCTET_STRING *digest; +} PKCS7_DIGEST; + +typedef struct pkcs7_encrypted_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENCRYPT; + +typedef struct pkcs7_st { + /* + * The following is non NULL if it contains ASN1 encoding of this + * structure + */ + unsigned char *asn1; + long length; +# define PKCS7_S_HEADER 0 +# define PKCS7_S_BODY 1 +# define PKCS7_S_TAIL 2 + int state; /* used during processing */ + int detached; + ASN1_OBJECT *type; + /* content as defined by the type */ + /* + * all encryption/message digests are applied to the 'contents', leaving + * out the 'type' field. + */ + union { + char *ptr; + /* NID_pkcs7_data */ + ASN1_OCTET_STRING *data; + /* NID_pkcs7_signed */ + PKCS7_SIGNED *sign; + /* NID_pkcs7_enveloped */ + PKCS7_ENVELOPE *enveloped; + /* NID_pkcs7_signedAndEnveloped */ + PKCS7_SIGN_ENVELOPE *signed_and_enveloped; + /* NID_pkcs7_digest */ + PKCS7_DIGEST *digest; + /* NID_pkcs7_encrypted */ + PKCS7_ENCRYPT *encrypted; + /* Anything else */ + ASN1_TYPE *other; + } d; +} PKCS7; + +DEFINE_STACK_OF(PKCS7) + +# define PKCS7_OP_SET_DETACHED_SIGNATURE 1 +# define PKCS7_OP_GET_DETACHED_SIGNATURE 2 + +# define PKCS7_get_signed_attributes(si) ((si)->auth_attr) +# define PKCS7_get_attributes(si) ((si)->unauth_attr) + +# define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) +# define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) +# define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) +# define PKCS7_type_is_signedAndEnveloped(a) \ + (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) +# define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) +# define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) + +# define PKCS7_set_detached(p,v) \ + PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) +# define PKCS7_get_detached(p) \ + PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) + +# define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) + +/* S/MIME related flags */ + +# define PKCS7_TEXT 0x1 +# define PKCS7_NOCERTS 0x2 +# define PKCS7_NOSIGS 0x4 +# define PKCS7_NOCHAIN 0x8 +# define PKCS7_NOINTERN 0x10 +# define PKCS7_NOVERIFY 0x20 +# define PKCS7_DETACHED 0x40 +# define PKCS7_BINARY 0x80 +# define PKCS7_NOATTR 0x100 +# define PKCS7_NOSMIMECAP 0x200 +# define PKCS7_NOOLDMIMETYPE 0x400 +# define PKCS7_CRLFEOL 0x800 +# define PKCS7_STREAM 0x1000 +# define PKCS7_NOCRL 0x2000 +# define PKCS7_PARTIAL 0x4000 +# define PKCS7_REUSE_DIGEST 0x8000 +# define PKCS7_NO_DUAL_CONTENT 0x10000 + +/* Flags: for compatibility with older code */ + +# define SMIME_TEXT PKCS7_TEXT +# define SMIME_NOCERTS PKCS7_NOCERTS +# define SMIME_NOSIGS PKCS7_NOSIGS +# define SMIME_NOCHAIN PKCS7_NOCHAIN +# define SMIME_NOINTERN PKCS7_NOINTERN +# define SMIME_NOVERIFY PKCS7_NOVERIFY +# define SMIME_DETACHED PKCS7_DETACHED +# define SMIME_BINARY PKCS7_BINARY +# define SMIME_NOATTR PKCS7_NOATTR + +/* CRLF ASCII canonicalisation */ +# define SMIME_ASCIICRLF 0x80000 + +DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) + +int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, + const EVP_MD *type, unsigned char *md, + unsigned int *len); +# ifndef OPENSSL_NO_STDIO +PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); +int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); +# endif +PKCS7 *PKCS7_dup(PKCS7 *p7); +PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); +int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); +int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); +int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); + +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) +DECLARE_ASN1_FUNCTIONS(PKCS7) + +DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) +DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) + +DECLARE_ASN1_NDEF_FUNCTION(PKCS7) +DECLARE_ASN1_PRINT_FUNCTION(PKCS7) + +long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); + +int PKCS7_set_type(PKCS7 *p7, int type); +int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); +int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); +int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, + const EVP_MD *dgst); +int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); +int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); +int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); +int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); +int PKCS7_content_new(PKCS7 *p7, int nid); +int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, + BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, + X509 *x509); + +BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); +int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); +BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); + +PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, + EVP_PKEY *pkey, const EVP_MD *dgst); +X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); +STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); + +PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); +void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, + X509_ALGOR **pdig, X509_ALGOR **psig); +void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); +int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); +int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); +int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); +int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); + +PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); +ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, + void *data); +int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, + void *value); +ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); +ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); +int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); + +PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, int flags); + +PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, + X509 *signcert, EVP_PKEY *pkey, + const EVP_MD *md, int flags); + +int PKCS7_final(PKCS7 *p7, BIO *data, int flags); +int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, + BIO *indata, BIO *out, int flags); +STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, + int flags); +PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, + int flags); +int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, + int flags); + +int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, + STACK_OF(X509_ALGOR) *cap); +STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); +int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); + +int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); +int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); +int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, + const unsigned char *md, int mdlen); + +int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); +PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); + +BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_PKCS7_strings(void); + +/* Error codes for the PKCS7 functions. */ + +/* Function codes. */ +# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 +# define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 +# define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 +# define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 +# define PKCS7_F_PKCS7_ADD_CRL 101 +# define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 +# define PKCS7_F_PKCS7_ADD_SIGNATURE 131 +# define PKCS7_F_PKCS7_ADD_SIGNER 103 +# define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 +# define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 +# define PKCS7_F_PKCS7_CTRL 104 +# define PKCS7_F_PKCS7_DATADECODE 112 +# define PKCS7_F_PKCS7_DATAFINAL 128 +# define PKCS7_F_PKCS7_DATAINIT 105 +# define PKCS7_F_PKCS7_DATAVERIFY 107 +# define PKCS7_F_PKCS7_DECRYPT 114 +# define PKCS7_F_PKCS7_DECRYPT_RINFO 133 +# define PKCS7_F_PKCS7_ENCODE_RINFO 132 +# define PKCS7_F_PKCS7_ENCRYPT 115 +# define PKCS7_F_PKCS7_FINAL 134 +# define PKCS7_F_PKCS7_FIND_DIGEST 127 +# define PKCS7_F_PKCS7_GET0_SIGNERS 124 +# define PKCS7_F_PKCS7_RECIP_INFO_SET 130 +# define PKCS7_F_PKCS7_SET_CIPHER 108 +# define PKCS7_F_PKCS7_SET_CONTENT 109 +# define PKCS7_F_PKCS7_SET_DIGEST 126 +# define PKCS7_F_PKCS7_SET_TYPE 110 +# define PKCS7_F_PKCS7_SIGN 116 +# define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 +# define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 +# define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 +# define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 +# define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 +# define PKCS7_F_PKCS7_VERIFY 117 + +/* Reason codes. */ +# define PKCS7_R_CERTIFICATE_VERIFY_ERROR 117 +# define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 144 +# define PKCS7_R_CIPHER_NOT_INITIALIZED 116 +# define PKCS7_R_CONTENT_AND_DATA_PRESENT 118 +# define PKCS7_R_CTRL_ERROR 152 +# define PKCS7_R_DECRYPT_ERROR 119 +# define PKCS7_R_DIGEST_FAILURE 101 +# define PKCS7_R_ENCRYPTION_CTRL_FAILURE 149 +# define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150 +# define PKCS7_R_ERROR_ADDING_RECIPIENT 120 +# define PKCS7_R_ERROR_SETTING_CIPHER 121 +# define PKCS7_R_INVALID_NULL_POINTER 143 +# define PKCS7_R_INVALID_SIGNED_DATA_TYPE 155 +# define PKCS7_R_NO_CONTENT 122 +# define PKCS7_R_NO_DEFAULT_DIGEST 151 +# define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 +# define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 +# define PKCS7_R_NO_SIGNATURES_ON_DATA 123 +# define PKCS7_R_NO_SIGNERS 142 +# define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE 104 +# define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR 124 +# define PKCS7_R_PKCS7_ADD_SIGNER_ERROR 153 +# define PKCS7_R_PKCS7_DATASIGN 145 +# define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 127 +# define PKCS7_R_SIGNATURE_FAILURE 105 +# define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND 128 +# define PKCS7_R_SIGNING_CTRL_FAILURE 147 +# define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 148 +# define PKCS7_R_SMIME_TEXT_ERROR 129 +# define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE 106 +# define PKCS7_R_UNABLE_TO_FIND_MEM_BIO 107 +# define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST 108 +# define PKCS7_R_UNKNOWN_DIGEST_TYPE 109 +# define PKCS7_R_UNKNOWN_OPERATION 110 +# define PKCS7_R_UNSUPPORTED_CIPHER_TYPE 111 +# define PKCS7_R_UNSUPPORTED_CONTENT_TYPE 112 +# define PKCS7_R_WRONG_CONTENT_TYPE 113 +# define PKCS7_R_WRONG_PKCS7_TYPE 114 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/rand.h b/android/x86_64/include/openssl/rand.h new file mode 100644 index 00000000..d521ae19 --- /dev/null +++ b/android/x86_64/include/openssl/rand.h @@ -0,0 +1,89 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RAND_H +# define HEADER_RAND_H + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Already defined in ossl_typ.h */ +/* typedef struct rand_meth_st RAND_METHOD; */ + +struct rand_meth_st { + int (*seed) (const void *buf, int num); + int (*bytes) (unsigned char *buf, int num); + void (*cleanup) (void); + int (*add) (const void *buf, int num, double entropy); + int (*pseudorand) (unsigned char *buf, int num); + int (*status) (void); +}; + +# ifdef BN_DEBUG +extern int rand_predictable; +# endif + +int RAND_set_rand_method(const RAND_METHOD *meth); +const RAND_METHOD *RAND_get_rand_method(void); +# ifndef OPENSSL_NO_ENGINE +int RAND_set_rand_engine(ENGINE *engine); +# endif +RAND_METHOD *RAND_OpenSSL(void); +#if OPENSSL_API_COMPAT < 0x10100000L +# define RAND_cleanup() while(0) continue +#endif +int RAND_bytes(unsigned char *buf, int num); +DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num)) +void RAND_seed(const void *buf, int num); +#if defined(__ANDROID__) && defined(__NDK_FPABI__) +__NDK_FPABI__ /* __attribute__((pcs("aapcs"))) on ARM */ +#endif +void RAND_add(const void *buf, int num, double entropy); +int RAND_load_file(const char *file, long max_bytes); +int RAND_write_file(const char *file); +const char *RAND_file_name(char *file, size_t num); +int RAND_status(void); +# ifndef OPENSSL_NO_EGD +int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); +int RAND_egd(const char *path); +int RAND_egd_bytes(const char *path, int bytes); +# endif +int RAND_poll(void); + +#if defined(_WIN32) && (defined(BASETYPES) || defined(_WINDEF_H)) +/* application has to include in order to use these */ +DEPRECATEDIN_1_1_0(void RAND_screen(void)) +DEPRECATEDIN_1_1_0(int RAND_event(UINT, WPARAM, LPARAM)) +#endif + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_RAND_strings(void); + +/* Error codes for the RAND functions. */ + +/* Function codes. */ +# define RAND_F_RAND_BYTES 100 + +/* Reason codes. */ +# define RAND_R_PRNG_NOT_SEEDED 100 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/rc2.h b/android/x86_64/include/openssl/rc2.h new file mode 100644 index 00000000..585f9e4c --- /dev/null +++ b/android/x86_64/include/openssl/rc2.h @@ -0,0 +1,51 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RC2_H +# define HEADER_RC2_H + +# include + +# ifndef OPENSSL_NO_RC2 +# ifdef __cplusplus +extern "C" { +# endif + +typedef unsigned int RC2_INT; + +# define RC2_ENCRYPT 1 +# define RC2_DECRYPT 0 + +# define RC2_BLOCK 8 +# define RC2_KEY_LENGTH 16 + +typedef struct rc2_key_st { + RC2_INT data[64]; +} RC2_KEY; + +void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); +void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC2_KEY *key, int enc); +void RC2_encrypt(unsigned long *data, RC2_KEY *key); +void RC2_decrypt(unsigned long *data, RC2_KEY *key); +void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + RC2_KEY *ks, unsigned char *iv, int enc); +void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/rc4.h b/android/x86_64/include/openssl/rc4.h new file mode 100644 index 00000000..86803b37 --- /dev/null +++ b/android/x86_64/include/openssl/rc4.h @@ -0,0 +1,36 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RC4_H +# define HEADER_RC4_H + +# include + +# ifndef OPENSSL_NO_RC4 +# include +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc4_key_st { + RC4_INT x, y; + RC4_INT data[256]; +} RC4_KEY; + +const char *RC4_options(void); +void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, + unsigned char *outdata); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/rc5.h b/android/x86_64/include/openssl/rc5.h new file mode 100644 index 00000000..793f88e4 --- /dev/null +++ b/android/x86_64/include/openssl/rc5.h @@ -0,0 +1,63 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RC5_H +# define HEADER_RC5_H + +# include + +# ifndef OPENSSL_NO_RC5 +# ifdef __cplusplus +extern "C" { +# endif + +# define RC5_ENCRYPT 1 +# define RC5_DECRYPT 0 + +# define RC5_32_INT unsigned int + +# define RC5_32_BLOCK 8 +# define RC5_32_KEY_LENGTH 16/* This is a default, max is 255 */ + +/* + * This are the only values supported. Tweak the code if you want more The + * most supported modes will be RC5-32/12/16 RC5-32/16/8 + */ +# define RC5_8_ROUNDS 8 +# define RC5_12_ROUNDS 12 +# define RC5_16_ROUNDS 16 + +typedef struct rc5_key_st { + /* Number of rounds */ + int rounds; + RC5_32_INT data[2 * (RC5_16_ROUNDS + 1)]; +} RC5_32_KEY; + +void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data, + int rounds); +void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC5_32_KEY *key, int enc); +void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key); +void RC5_32_decrypt(unsigned long *data, RC5_32_KEY *key); +void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *ks, unsigned char *iv, + int enc); +void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/ripemd.h b/android/x86_64/include/openssl/ripemd.h new file mode 100644 index 00000000..c42026aa --- /dev/null +++ b/android/x86_64/include/openssl/ripemd.h @@ -0,0 +1,47 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RIPEMD_H +# define HEADER_RIPEMD_H + +# include + +#ifndef OPENSSL_NO_RMD160 +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define RIPEMD160_LONG unsigned int + +# define RIPEMD160_CBLOCK 64 +# define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) +# define RIPEMD160_DIGEST_LENGTH 20 + +typedef struct RIPEMD160state_st { + RIPEMD160_LONG A, B, C, D, E; + RIPEMD160_LONG Nl, Nh; + RIPEMD160_LONG data[RIPEMD160_LBLOCK]; + unsigned int num; +} RIPEMD160_CTX; + +int RIPEMD160_Init(RIPEMD160_CTX *c); +int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); +int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); +unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); +void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); + +# ifdef __cplusplus +} +# endif +# endif + + +#endif diff --git a/android/x86_64/include/openssl/rsa.h b/android/x86_64/include/openssl/rsa.h new file mode 100644 index 00000000..4d6e9cc9 --- /dev/null +++ b/android/x86_64/include/openssl/rsa.h @@ -0,0 +1,589 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_RSA_H +# define HEADER_RSA_H + +# include + +# ifndef OPENSSL_NO_RSA +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# ifdef __cplusplus +extern "C" { +# endif + +/* The types RSA and RSA_METHOD are defined in ossl_typ.h */ + +# ifndef OPENSSL_RSA_MAX_MODULUS_BITS +# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 +# endif + +# define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024 + +# ifndef OPENSSL_RSA_SMALL_MODULUS_BITS +# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 +# endif +# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS + +/* exponent limit enforced for "large" modulus only */ +# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 +# endif + +# define RSA_3 0x3L +# define RSA_F4 0x10001L + +# define RSA_METHOD_FLAG_NO_CHECK 0x0001/* don't check pub/private + * match */ + +# define RSA_FLAG_CACHE_PUBLIC 0x0002 +# define RSA_FLAG_CACHE_PRIVATE 0x0004 +# define RSA_FLAG_BLINDING 0x0008 +# define RSA_FLAG_THREAD_SAFE 0x0010 +/* + * This flag means the private key operations will be handled by rsa_mod_exp + * and that they do not depend on the private key components being present: + * for example a key stored in external hardware. Without this flag + * bn_mod_exp gets called when private key components are absent. + */ +# define RSA_FLAG_EXT_PKEY 0x0020 + +/* + * new with 0.9.6j and 0.9.7b; the built-in + * RSA implementation now uses blinding by + * default (ignoring RSA_FLAG_BLINDING), + * but other engines might not need it + */ +# define RSA_FLAG_NO_BLINDING 0x0080 +# if OPENSSL_API_COMPAT < 0x10100000L +/* + * Does nothing. Previously this switched off constant time behaviour. + */ +# define RSA_FLAG_NO_CONSTTIME 0x0000 +# endif +# if OPENSSL_API_COMPAT < 0x00908000L +/* deprecated name for the flag*/ +/* + * new with 0.9.7h; the built-in RSA + * implementation now uses constant time + * modular exponentiation for secret exponents + * by default. This flag causes the + * faster variable sliding window method to + * be used for all exponents. + */ +# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME +# endif + +# define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \ + pad, NULL) + +# define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, \ + EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) + +# define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, \ + len, NULL) + +# define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, \ + 0, plen) + +# define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) + +# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) + +# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)md) + +# define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ + EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)pmd) + +# define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)l) + +# define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)l) + +# define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) + +# define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) + +# define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) + +# define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) + +# define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) + +# define RSA_PKCS1_PADDING 1 +# define RSA_SSLV23_PADDING 2 +# define RSA_NO_PADDING 3 +# define RSA_PKCS1_OAEP_PADDING 4 +# define RSA_X931_PADDING 5 +/* EVP_PKEY_ only */ +# define RSA_PKCS1_PSS_PADDING 6 + +# define RSA_PKCS1_PADDING_SIZE 11 + +# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) +# define RSA_get_app_data(s) RSA_get_ex_data(s,0) + +RSA *RSA_new(void); +RSA *RSA_new_method(ENGINE *engine); +int RSA_bits(const RSA *rsa); +int RSA_size(const RSA *rsa); +int RSA_security_bits(const RSA *rsa); + +int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); +int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); +int RSA_set0_crt_params(RSA *r,BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); +void RSA_get0_key(const RSA *r, + const BIGNUM **n, const BIGNUM **e, const BIGNUM **d); +void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); +void RSA_get0_crt_params(const RSA *r, + const BIGNUM **dmp1, const BIGNUM **dmq1, + const BIGNUM **iqmp); +void RSA_clear_flags(RSA *r, int flags); +int RSA_test_flags(const RSA *r, int flags); +void RSA_set_flags(RSA *r, int flags); +ENGINE *RSA_get0_engine(const RSA *r); + +/* Deprecated version */ +DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void + (*callback) (int, int, void *), + void *cb_arg)) + +/* New version */ +int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); + +int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, + BIGNUM *q2, const BIGNUM *Xp1, const BIGNUM *Xp2, + const BIGNUM *Xp, const BIGNUM *Xq1, const BIGNUM *Xq2, + const BIGNUM *Xq, const BIGNUM *e, BN_GENCB *cb); +int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e, + BN_GENCB *cb); + +int RSA_check_key(const RSA *); +int RSA_check_key_ex(const RSA *, BN_GENCB *cb); + /* next 4 return -1 on error */ +int RSA_public_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_public_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +void RSA_free(RSA *r); +/* "up" the RSA object's reference count */ +int RSA_up_ref(RSA *r); + +int RSA_flags(const RSA *r); + +void RSA_set_default_method(const RSA_METHOD *meth); +const RSA_METHOD *RSA_get_default_method(void); +const RSA_METHOD *RSA_get_method(const RSA *rsa); +int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); + +/* these are the actual RSA functions */ +const RSA_METHOD *RSA_PKCS1_OpenSSL(void); + +const RSA_METHOD *RSA_null_method(void); + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) + +typedef struct rsa_pss_params_st { + X509_ALGOR *hashAlgorithm; + X509_ALGOR *maskGenAlgorithm; + ASN1_INTEGER *saltLength; + ASN1_INTEGER *trailerField; +} RSA_PSS_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) + +typedef struct rsa_oaep_params_st { + X509_ALGOR *hashFunc; + X509_ALGOR *maskGenFunc; + X509_ALGOR *pSourceFunc; +} RSA_OAEP_PARAMS; + +DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) + +# ifndef OPENSSL_NO_STDIO +int RSA_print_fp(FILE *fp, const RSA *r, int offset); +# endif + +int RSA_print(BIO *bp, const RSA *r, int offset); + +/* + * The following 2 functions sign and verify a X509_SIG ASN1 object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign(int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, RSA *rsa); +int RSA_verify(int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); + +/* + * The following 2 function sign and verify a ASN1_OCTET_STRING object inside + * PKCS#1 padded RSA encryption + */ +int RSA_sign_ASN1_OCTET_STRING(int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + RSA *rsa); +int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigbuf, + unsigned int siglen, RSA *rsa); + +int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); +void RSA_blinding_off(RSA *rsa); +BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); + +int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed, + long seedlen, const EVP_MD *dgst); +int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, + const unsigned char *p, int pl); +int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len, + const unsigned char *p, int pl); +int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + const unsigned char *param, int plen, + const EVP_MD *md, const EVP_MD *mgf1md); +int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + int num, const unsigned char *param, + int plen, const EVP_MD *md, + const EVP_MD *mgf1md); +int RSA_padding_add_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_none(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_X931(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_X931_hash_id(int nid); + +int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const unsigned char *EM, + int sLen); +int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, const EVP_MD *Hash, + int sLen); + +int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + const unsigned char *EM, int sLen); + +int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + int sLen); + +#define RSA_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, l, p, newf, dupf, freef) +int RSA_set_ex_data(RSA *r, int idx, void *arg); +void *RSA_get_ex_data(const RSA *r, int idx); + +RSA *RSAPublicKey_dup(RSA *rsa); +RSA *RSAPrivateKey_dup(RSA *rsa); + +/* + * If this flag is set the RSA method is FIPS compliant and can be used in + * FIPS mode. This is set in the validated module method. If an application + * sets this flag in its own methods it is its responsibility to ensure the + * result is compliant. + */ + +# define RSA_FLAG_FIPS_METHOD 0x0400 + +/* + * If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +# define RSA_FLAG_NON_FIPS_ALLOW 0x0400 +/* + * Application has decided PRNG is good enough to generate a key: don't + * check. + */ +# define RSA_FLAG_CHECKED 0x0800 + +RSA_METHOD *RSA_meth_new(const char *name, int flags); +void RSA_meth_free(RSA_METHOD *meth); +RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth); +const char *RSA_meth_get0_name(const RSA_METHOD *meth); +int RSA_meth_set1_name(RSA_METHOD *meth, const char *name); +int RSA_meth_get_flags(RSA_METHOD *meth); +int RSA_meth_set_flags(RSA_METHOD *meth, int flags); +void *RSA_meth_get0_app_data(const RSA_METHOD *meth); +int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data); +int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_pub_enc(RSA_METHOD *rsa, + int (*pub_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_pub_dec(RSA_METHOD *rsa, + int (*pub_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_priv_enc(RSA_METHOD *rsa, + int (*priv_enc) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_priv_dec(RSA_METHOD *rsa, + int (*priv_dec) (int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, + int padding)); +int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) + (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); +int RSA_meth_set_mod_exp(RSA_METHOD *rsa, + int (*mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, + BN_CTX *ctx)); +int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) + (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa, + int (*bn_mod_exp) (BIGNUM *r, + const BIGNUM *a, + const BIGNUM *p, + const BIGNUM *m, + BN_CTX *ctx, + BN_MONT_CTX *m_ctx)); +int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa); +int RSA_meth_set_init(RSA_METHOD *rsa, int (*init) (RSA *rsa)); +int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa); +int RSA_meth_set_finish(RSA_METHOD *rsa, int (*finish) (RSA *rsa)); +int (*RSA_meth_get_sign(const RSA_METHOD *meth)) + (int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + const RSA *rsa); +int RSA_meth_set_sign(RSA_METHOD *rsa, + int (*sign) (int type, const unsigned char *m, + unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + const RSA *rsa)); +int (*RSA_meth_get_verify(const RSA_METHOD *meth)) + (int dtype, const unsigned char *m, + unsigned int m_length, const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa); +int RSA_meth_set_verify(RSA_METHOD *rsa, + int (*verify) (int dtype, const unsigned char *m, + unsigned int m_length, + const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa)); +int (*RSA_meth_get_keygen(const RSA_METHOD *meth)) + (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); +int RSA_meth_set_keygen(RSA_METHOD *rsa, + int (*keygen) (RSA *rsa, int bits, BIGNUM *e, + BN_GENCB *cb)); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_RSA_strings(void); + +/* Error codes for the RSA functions. */ + +/* Function codes. */ +# define RSA_F_CHECK_PADDING_MD 140 +# define RSA_F_ENCODE_PKCS1 146 +# define RSA_F_INT_RSA_VERIFY 145 +# define RSA_F_OLD_RSA_PRIV_DECODE 147 +# define RSA_F_PKEY_RSA_CTRL 143 +# define RSA_F_PKEY_RSA_CTRL_STR 144 +# define RSA_F_PKEY_RSA_SIGN 142 +# define RSA_F_PKEY_RSA_VERIFYRECOVER 141 +# define RSA_F_RSA_ALGOR_TO_MD 156 +# define RSA_F_RSA_BUILTIN_KEYGEN 129 +# define RSA_F_RSA_CHECK_KEY 123 +# define RSA_F_RSA_CHECK_KEY_EX 160 +# define RSA_F_RSA_CMS_DECRYPT 159 +# define RSA_F_RSA_ITEM_VERIFY 148 +# define RSA_F_RSA_METH_DUP 161 +# define RSA_F_RSA_METH_NEW 162 +# define RSA_F_RSA_METH_SET1_NAME 163 +# define RSA_F_RSA_MGF1_TO_MD 157 +# define RSA_F_RSA_NEW_METHOD 106 +# define RSA_F_RSA_NULL 124 +# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 +# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 +# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 +# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 +# define RSA_F_RSA_OSSL_PRIVATE_DECRYPT 101 +# define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT 102 +# define RSA_F_RSA_OSSL_PUBLIC_DECRYPT 103 +# define RSA_F_RSA_OSSL_PUBLIC_ENCRYPT 104 +# define RSA_F_RSA_PADDING_ADD_NONE 107 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 154 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 152 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 +# define RSA_F_RSA_PADDING_ADD_SSLV23 110 +# define RSA_F_RSA_PADDING_ADD_X931 127 +# define RSA_F_RSA_PADDING_CHECK_NONE 111 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1 153 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 +# define RSA_F_RSA_PADDING_CHECK_SSLV23 114 +# define RSA_F_RSA_PADDING_CHECK_X931 128 +# define RSA_F_RSA_PRINT 115 +# define RSA_F_RSA_PRINT_FP 116 +# define RSA_F_RSA_PRIV_ENCODE 138 +# define RSA_F_RSA_PSS_TO_CTX 155 +# define RSA_F_RSA_PUB_DECODE 139 +# define RSA_F_RSA_SETUP_BLINDING 136 +# define RSA_F_RSA_SIGN 117 +# define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 +# define RSA_F_RSA_VERIFY 119 +# define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 +# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 126 + +/* Reason codes. */ +# define RSA_R_ALGORITHM_MISMATCH 100 +# define RSA_R_BAD_E_VALUE 101 +# define RSA_R_BAD_FIXED_HEADER_DECRYPT 102 +# define RSA_R_BAD_PAD_BYTE_COUNT 103 +# define RSA_R_BAD_SIGNATURE 104 +# define RSA_R_BLOCK_TYPE_IS_NOT_01 106 +# define RSA_R_BLOCK_TYPE_IS_NOT_02 107 +# define RSA_R_DATA_GREATER_THAN_MOD_LEN 108 +# define RSA_R_DATA_TOO_LARGE 109 +# define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 +# define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132 +# define RSA_R_DATA_TOO_SMALL 111 +# define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 +# define RSA_R_DIGEST_DOES_NOT_MATCH 158 +# define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 +# define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 +# define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 +# define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 +# define RSA_R_FIRST_OCTET_INVALID 133 +# define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144 +# define RSA_R_INVALID_DIGEST 157 +# define RSA_R_INVALID_DIGEST_LENGTH 143 +# define RSA_R_INVALID_HEADER 137 +# define RSA_R_INVALID_LABEL 160 +# define RSA_R_INVALID_MESSAGE_LENGTH 131 +# define RSA_R_INVALID_MGF1_MD 156 +# define RSA_R_INVALID_OAEP_PARAMETERS 161 +# define RSA_R_INVALID_PADDING 138 +# define RSA_R_INVALID_PADDING_MODE 141 +# define RSA_R_INVALID_PSS_PARAMETERS 149 +# define RSA_R_INVALID_PSS_SALTLEN 146 +# define RSA_R_INVALID_SALT_LENGTH 150 +# define RSA_R_INVALID_TRAILER 139 +# define RSA_R_INVALID_X931_DIGEST 142 +# define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 +# define RSA_R_KEY_SIZE_TOO_SMALL 120 +# define RSA_R_LAST_OCTET_INVALID 134 +# define RSA_R_MODULUS_TOO_LARGE 105 +# define RSA_R_NO_PUBLIC_EXPONENT 140 +# define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 +# define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 +# define RSA_R_OAEP_DECODING_ERROR 121 +# define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 +# define RSA_R_PADDING_CHECK_FAILED 114 +# define RSA_R_PKCS_DECODING_ERROR 159 +# define RSA_R_P_NOT_PRIME 128 +# define RSA_R_Q_NOT_PRIME 129 +# define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 +# define RSA_R_SLEN_CHECK_FAILED 136 +# define RSA_R_SLEN_RECOVERY_FAILED 135 +# define RSA_R_SSLV3_ROLLBACK_ATTACK 115 +# define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 +# define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 +# define RSA_R_UNKNOWN_DIGEST 166 +# define RSA_R_UNKNOWN_MASK_DIGEST 151 +# define RSA_R_UNKNOWN_PADDING_TYPE 118 +# define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 162 +# define RSA_R_UNSUPPORTED_LABEL_SOURCE 163 +# define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153 +# define RSA_R_UNSUPPORTED_MASK_PARAMETER 154 +# define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155 +# define RSA_R_VALUE_MISSING 147 +# define RSA_R_WRONG_SIGNATURE_LENGTH 119 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/safestack.h b/android/x86_64/include/openssl/safestack.h new file mode 100644 index 00000000..9fe733c2 --- /dev/null +++ b/android/x86_64/include/openssl/safestack.h @@ -0,0 +1,164 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SAFESTACK_H +# define HEADER_SAFESTACK_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define STACK_OF(type) struct stack_st_##type + +# define SKM_DEFINE_STACK_OF(t1, t2, t3) \ + STACK_OF(t1); \ + typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \ + typedef void (*sk_##t1##_freefunc)(t3 *a); \ + typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \ + static ossl_inline int sk_##t1##_num(const STACK_OF(t1) *sk) \ + { \ + return OPENSSL_sk_num((const OPENSSL_STACK *)sk); \ + } \ + static ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \ + { \ + return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \ + } \ + static ossl_inline STACK_OF(t1) *sk_##t1##_new(sk_##t1##_compfunc compare) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new((OPENSSL_sk_compfunc)compare); \ + } \ + static ossl_inline STACK_OF(t1) *sk_##t1##_new_null(void) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new_null(); \ + } \ + static ossl_inline void sk_##t1##_free(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_free((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline void sk_##t1##_zero(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_zero((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \ + { \ + return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \ + } \ + static ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return (t2 *)OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, \ + (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_push((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \ + { \ + return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \ + { \ + return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \ + { \ + OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (OPENSSL_sk_freefunc)freefunc); \ + } \ + static ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \ + { \ + return OPENSSL_sk_insert((OPENSSL_STACK *)sk, (const void *)ptr, idx); \ + } \ + static ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \ + { \ + return (t2 *)OPENSSL_sk_set((OPENSSL_STACK *)sk, idx, (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_find((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_inline void sk_##t1##_sort(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_sort((OPENSSL_STACK *)sk); \ + } \ + static ossl_inline int sk_##t1##_is_sorted(const STACK_OF(t1) *sk) \ + { \ + return OPENSSL_sk_is_sorted((const OPENSSL_STACK *)sk); \ + } \ + static ossl_inline STACK_OF(t1) * sk_##t1##_dup(const STACK_OF(t1) *sk) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_dup((const OPENSSL_STACK *)sk); \ + } \ + static ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(const STACK_OF(t1) *sk, \ + sk_##t1##_copyfunc copyfunc, \ + sk_##t1##_freefunc freefunc) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_deep_copy((const OPENSSL_STACK *)sk, \ + (OPENSSL_sk_copyfunc)copyfunc, \ + (OPENSSL_sk_freefunc)freefunc); \ + } \ + static ossl_inline sk_##t1##_compfunc sk_##t1##_set_cmp_func(STACK_OF(t1) *sk, sk_##t1##_compfunc compare) \ + { \ + return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \ + } + +# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2) +# define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t) +# define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \ + SKM_DEFINE_STACK_OF(t1, const t2, t2) +# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t) + +/*- + * Strings are special: normally an lhash entry will point to a single + * (somewhat) mutable object. In the case of strings: + * + * a) Instead of a single char, there is an array of chars, NUL-terminated. + * b) The string may have be immutable. + * + * So, they need their own declarations. Especially important for + * type-checking tools, such as Deputy. + * + * In practice, however, it appears to be hard to have a const + * string. For now, I'm settling for dealing with the fact it is a + * string at all. + */ +typedef char *OPENSSL_STRING; +typedef const char *OPENSSL_CSTRING; + +/*- + * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but + * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned + * above, instead of a single char each entry is a NUL-terminated array of + * chars. So, we have to implement STRING specially for STACK_OF. This is + * dealt with in the autogenerated macros below. + */ +DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char) +DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char) + +/* + * Similarly, we sometimes use a block of characters, NOT nul-terminated. + * These should also be distinguished from "normal" stacks. + */ +typedef void *OPENSSL_BLOCK; +DEFINE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/seed.h b/android/x86_64/include/openssl/seed.h new file mode 100644 index 00000000..bb97131d --- /dev/null +++ b/android/x86_64/include/openssl/seed.h @@ -0,0 +1,98 @@ +/* + * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Copyright (c) 2007 KISA(Korea Information Security Agency). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Neither the name of author nor the names of its contributors may + * be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef HEADER_SEED_H +# define HEADER_SEED_H + +# include + +# ifndef OPENSSL_NO_SEED +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* look whether we need 'long' to get 32 bits */ +# ifdef AES_LONG +# ifndef SEED_LONG +# define SEED_LONG 1 +# endif +# endif + +# if !defined(NO_SYS_TYPES_H) +# include +# endif + +# define SEED_BLOCK_SIZE 16 +# define SEED_KEY_LENGTH 16 + +typedef struct seed_key_st { +# ifdef SEED_LONG + unsigned long data[32]; +# else + unsigned int data[32]; +# endif +} SEED_KEY_SCHEDULE; + +void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], + SEED_KEY_SCHEDULE *ks); + +void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); +void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); + +void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, + const SEED_KEY_SCHEDULE *ks, int enc); +void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, + const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int enc); +void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num, + int enc); +void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/sha.h b/android/x86_64/include/openssl/sha.h new file mode 100644 index 00000000..6a1eb0de --- /dev/null +++ b/android/x86_64/include/openssl/sha.h @@ -0,0 +1,119 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SHA_H +# define HEADER_SHA_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/*- + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! SHA_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ +# define SHA_LONG unsigned int + +# define SHA_LBLOCK 16 +# define SHA_CBLOCK (SHA_LBLOCK*4)/* SHA treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ +# define SHA_LAST_BLOCK (SHA_CBLOCK-8) +# define SHA_DIGEST_LENGTH 20 + +typedef struct SHAstate_st { + SHA_LONG h0, h1, h2, h3, h4; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num; +} SHA_CTX; + +int SHA1_Init(SHA_CTX *c); +int SHA1_Update(SHA_CTX *c, const void *data, size_t len); +int SHA1_Final(unsigned char *md, SHA_CTX *c); +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); +void SHA1_Transform(SHA_CTX *c, const unsigned char *data); + +# define SHA256_CBLOCK (SHA_LBLOCK*4)/* SHA-256 treats input data as a + * contiguous array of 32 bit wide + * big-endian values. */ + +typedef struct SHA256state_st { + SHA_LONG h[8]; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num, md_len; +} SHA256_CTX; + +int SHA224_Init(SHA256_CTX *c); +int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA224_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); +int SHA256_Init(SHA256_CTX *c); +int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); +int SHA256_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); +void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); + +# define SHA224_DIGEST_LENGTH 28 +# define SHA256_DIGEST_LENGTH 32 +# define SHA384_DIGEST_LENGTH 48 +# define SHA512_DIGEST_LENGTH 64 + +/* + * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 + * being exactly 64-bit wide. See Implementation Notes in sha512.c + * for further details. + */ +/* + * SHA-512 treats input data as a + * contiguous array of 64 bit + * wide big-endian values. + */ +# define SHA512_CBLOCK (SHA_LBLOCK*8) +# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) +# define SHA_LONG64 unsigned __int64 +# define U64(C) C##UI64 +# elif defined(__arch64__) +# define SHA_LONG64 unsigned long +# define U64(C) C##UL +# else +# define SHA_LONG64 unsigned long long +# define U64(C) C##ULL +# endif + +typedef struct SHA512state_st { + SHA_LONG64 h[8]; + SHA_LONG64 Nl, Nh; + union { + SHA_LONG64 d[SHA_LBLOCK]; + unsigned char p[SHA512_CBLOCK]; + } u; + unsigned int num, md_len; +} SHA512_CTX; + +int SHA384_Init(SHA512_CTX *c); +int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA384_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); +int SHA512_Init(SHA512_CTX *c); +int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); +int SHA512_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); +void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/android/x86_64/include/openssl/srp.h b/android/x86_64/include/openssl/srp.h new file mode 100644 index 00000000..f2b6ec75 --- /dev/null +++ b/android/x86_64/include/openssl/srp.h @@ -0,0 +1,131 @@ +/* + * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SRP_H +# define HEADER_SRP_H + +#include + +#ifndef OPENSSL_NO_SRP +# include +# include +# include +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +typedef struct SRP_gN_cache_st { + char *b64_bn; + BIGNUM *bn; +} SRP_gN_cache; + + +DEFINE_STACK_OF(SRP_gN_cache) + +typedef struct SRP_user_pwd_st { + /* Owned by us. */ + char *id; + BIGNUM *s; + BIGNUM *v; + /* Not owned by us. */ + const BIGNUM *g; + const BIGNUM *N; + /* Owned by us. */ + char *info; +} SRP_user_pwd; + +void SRP_user_pwd_free(SRP_user_pwd *user_pwd); + +DEFINE_STACK_OF(SRP_user_pwd) + +typedef struct SRP_VBASE_st { + STACK_OF(SRP_user_pwd) *users_pwd; + STACK_OF(SRP_gN_cache) *gN_cache; +/* to simulate a user */ + char *seed_key; + const BIGNUM *default_g; + const BIGNUM *default_N; +} SRP_VBASE; + +/* + * Internal structure storing N and g pair + */ +typedef struct SRP_gN_st { + char *id; + const BIGNUM *g; + const BIGNUM *N; +} SRP_gN; + +DEFINE_STACK_OF(SRP_gN) + +SRP_VBASE *SRP_VBASE_new(char *seed_key); +void SRP_VBASE_free(SRP_VBASE *vb); +int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); + +/* This method ignores the configured seed and fails for an unknown user. */ +DEPRECATEDIN_1_1_0(SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username)) +/* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ +SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); + +char *SRP_create_verifier(const char *user, const char *pass, char **salt, + char **verifier, const char *N, const char *g); +int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, + BIGNUM **verifier, const BIGNUM *N, + const BIGNUM *g); + +# define SRP_NO_ERROR 0 +# define SRP_ERR_VBASE_INCOMPLETE_FILE 1 +# define SRP_ERR_VBASE_BN_LIB 2 +# define SRP_ERR_OPEN_FILE 3 +# define SRP_ERR_MEMORY 4 + +# define DB_srptype 0 +# define DB_srpverifier 1 +# define DB_srpsalt 2 +# define DB_srpid 3 +# define DB_srpgN 4 +# define DB_srpinfo 5 +# undef DB_NUMBER +# define DB_NUMBER 6 + +# define DB_SRP_INDEX 'I' +# define DB_SRP_VALID 'V' +# define DB_SRP_REVOKED 'R' +# define DB_SRP_MODIF 'v' + +/* see srp.c */ +char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N); +SRP_gN *SRP_get_default_gN(const char *id); + +/* server side .... */ +BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const BIGNUM *u, + const BIGNUM *b, const BIGNUM *N); +BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g, + const BIGNUM *v); +int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N); +BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N); + +/* client side .... */ +BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass); +BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g); +BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g, + const BIGNUM *x, const BIGNUM *a, const BIGNUM *u); +int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N); + +# define SRP_MINIMAL_N 1024 + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/srtp.h b/android/x86_64/include/openssl/srtp.h new file mode 100644 index 00000000..5ddfa46d --- /dev/null +++ b/android/x86_64/include/openssl/srtp.h @@ -0,0 +1,50 @@ +/* + * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * DTLS code by Eric Rescorla + * + * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc. + */ + +#ifndef HEADER_D1_SRTP_H +# define HEADER_D1_SRTP_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define SRTP_AES128_CM_SHA1_80 0x0001 +# define SRTP_AES128_CM_SHA1_32 0x0002 +# define SRTP_AES128_F8_SHA1_80 0x0003 +# define SRTP_AES128_F8_SHA1_32 0x0004 +# define SRTP_NULL_SHA1_80 0x0005 +# define SRTP_NULL_SHA1_32 0x0006 + +/* AEAD SRTP protection profiles from RFC 7714 */ +# define SRTP_AEAD_AES_128_GCM 0x0007 +# define SRTP_AEAD_AES_256_GCM 0x0008 + +# ifndef OPENSSL_NO_SRTP + +__owur int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); +__owur int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles); + +__owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); +__owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); + +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/android/x86_64/include/openssl/ssl.h b/android/x86_64/include/openssl/ssl.h new file mode 100644 index 00000000..86ab9125 --- /dev/null +++ b/android/x86_64/include/openssl/ssl.h @@ -0,0 +1,2529 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_SSL_H +# define HEADER_SSL_H + +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# include +# include +# include +# endif +# include +# include +# include + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* OpenSSL version number for ASN.1 encoding of the session information */ +/*- + * Version 0 - initial version + * Version 1 - added the optional peer certificate + */ +# define SSL_SESSION_ASN1_VERSION 0x0001 + +# define SSL_MAX_SSL_SESSION_ID_LENGTH 32 +# define SSL_MAX_SID_CTX_LENGTH 32 + +# define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) +# define SSL_MAX_KEY_ARG_LENGTH 8 +# define SSL_MAX_MASTER_KEY_LENGTH 48 + +/* The maximum number of encrypt/decrypt pipelines we can support */ +# define SSL_MAX_PIPELINES 32 + +/* text strings for the ciphers */ + +/* These are used to specify which ciphers to use and not to use */ + +# define SSL_TXT_LOW "LOW" +# define SSL_TXT_MEDIUM "MEDIUM" +# define SSL_TXT_HIGH "HIGH" +# define SSL_TXT_FIPS "FIPS" + +# define SSL_TXT_aNULL "aNULL" +# define SSL_TXT_eNULL "eNULL" +# define SSL_TXT_NULL "NULL" + +# define SSL_TXT_kRSA "kRSA" +# define SSL_TXT_kDHr "kDHr" +# define SSL_TXT_kDHd "kDHd" +# define SSL_TXT_kDH "kDH" +# define SSL_TXT_kEDH "kEDH"/* alias for kDHE */ +# define SSL_TXT_kDHE "kDHE" +# define SSL_TXT_kECDHr "kECDHr" +# define SSL_TXT_kECDHe "kECDHe" +# define SSL_TXT_kECDH "kECDH" +# define SSL_TXT_kEECDH "kEECDH"/* alias for kECDHE */ +# define SSL_TXT_kECDHE "kECDHE" +# define SSL_TXT_kPSK "kPSK" +# define SSL_TXT_kRSAPSK "kRSAPSK" +# define SSL_TXT_kECDHEPSK "kECDHEPSK" +# define SSL_TXT_kDHEPSK "kDHEPSK" +# define SSL_TXT_kGOST "kGOST" +# define SSL_TXT_kSRP "kSRP" + +# define SSL_TXT_aRSA "aRSA" +# define SSL_TXT_aDSS "aDSS" +# define SSL_TXT_aDH "aDH" +# define SSL_TXT_aECDH "aECDH" +# define SSL_TXT_aECDSA "aECDSA" +# define SSL_TXT_aPSK "aPSK" +# define SSL_TXT_aGOST94 "aGOST94" +# define SSL_TXT_aGOST01 "aGOST01" +# define SSL_TXT_aGOST12 "aGOST12" +# define SSL_TXT_aGOST "aGOST" +# define SSL_TXT_aSRP "aSRP" + +# define SSL_TXT_DSS "DSS" +# define SSL_TXT_DH "DH" +# define SSL_TXT_DHE "DHE"/* same as "kDHE:-ADH" */ +# define SSL_TXT_EDH "EDH"/* alias for DHE */ +# define SSL_TXT_ADH "ADH" +# define SSL_TXT_RSA "RSA" +# define SSL_TXT_ECDH "ECDH" +# define SSL_TXT_EECDH "EECDH"/* alias for ECDHE" */ +# define SSL_TXT_ECDHE "ECDHE"/* same as "kECDHE:-AECDH" */ +# define SSL_TXT_AECDH "AECDH" +# define SSL_TXT_ECDSA "ECDSA" +# define SSL_TXT_PSK "PSK" +# define SSL_TXT_SRP "SRP" + +# define SSL_TXT_DES "DES" +# define SSL_TXT_3DES "3DES" +# define SSL_TXT_RC4 "RC4" +# define SSL_TXT_RC2 "RC2" +# define SSL_TXT_IDEA "IDEA" +# define SSL_TXT_SEED "SEED" +# define SSL_TXT_AES128 "AES128" +# define SSL_TXT_AES256 "AES256" +# define SSL_TXT_AES "AES" +# define SSL_TXT_AES_GCM "AESGCM" +# define SSL_TXT_AES_CCM "AESCCM" +# define SSL_TXT_AES_CCM_8 "AESCCM8" +# define SSL_TXT_CAMELLIA128 "CAMELLIA128" +# define SSL_TXT_CAMELLIA256 "CAMELLIA256" +# define SSL_TXT_CAMELLIA "CAMELLIA" +# define SSL_TXT_CHACHA20 "CHACHA20" +# define SSL_TXT_GOST "GOST89" + +# define SSL_TXT_MD5 "MD5" +# define SSL_TXT_SHA1 "SHA1" +# define SSL_TXT_SHA "SHA"/* same as "SHA1" */ +# define SSL_TXT_GOST94 "GOST94" +# define SSL_TXT_GOST89MAC "GOST89MAC" +# define SSL_TXT_GOST12 "GOST12" +# define SSL_TXT_GOST89MAC12 "GOST89MAC12" +# define SSL_TXT_SHA256 "SHA256" +# define SSL_TXT_SHA384 "SHA384" + +# define SSL_TXT_SSLV3 "SSLv3" +# define SSL_TXT_TLSV1 "TLSv1" +# define SSL_TXT_TLSV1_1 "TLSv1.1" +# define SSL_TXT_TLSV1_2 "TLSv1.2" + +# define SSL_TXT_ALL "ALL" + +/*- + * COMPLEMENTOF* definitions. These identifiers are used to (de-select) + * ciphers normally not being used. + * Example: "RC4" will activate all ciphers using RC4 including ciphers + * without authentication, which would normally disabled by DEFAULT (due + * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" + * will make sure that it is also disabled in the specific selection. + * COMPLEMENTOF* identifiers are portable between version, as adjustments + * to the default cipher setup will also be included here. + * + * COMPLEMENTOFDEFAULT does not experience the same special treatment that + * DEFAULT gets, as only selection is being done and no sorting as needed + * for DEFAULT. + */ +# define SSL_TXT_CMPALL "COMPLEMENTOFALL" +# define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" + +/* + * The following cipher list is used by default. It also is substituted when + * an application-defined cipher list string starts with 'DEFAULT'. + */ +# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" +/* + * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always + * starts with a reasonable order, and all we have to do for DEFAULT is + * throwing out anonymous and unencrypted ciphersuites! (The latter are not + * actually enabled by ALL, but "ALL:RSA" would enable some of them.) + */ + +/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ +# define SSL_SENT_SHUTDOWN 1 +# define SSL_RECEIVED_SHUTDOWN 2 + +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 +# define SSL_FILETYPE_PEM X509_FILETYPE_PEM + +/* + * This is needed to stop compilers complaining about the 'struct ssl_st *' + * function parameters used to prototype callbacks in SSL_CTX. + */ +typedef struct ssl_st *ssl_crock_st; +typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; +typedef struct ssl_method_st SSL_METHOD; +typedef struct ssl_cipher_st SSL_CIPHER; +typedef struct ssl_session_st SSL_SESSION; +typedef struct tls_sigalgs_st TLS_SIGALGS; +typedef struct ssl_conf_ctx_st SSL_CONF_CTX; +typedef struct ssl_comp_st SSL_COMP; + +STACK_OF(SSL_CIPHER); +STACK_OF(SSL_COMP); + +/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ +typedef struct srtp_protection_profile_st { + const char *name; + unsigned long id; +} SRTP_PROTECTION_PROFILE; + +DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) + +typedef int (*tls_session_ticket_ext_cb_fn) (SSL *s, + const unsigned char *data, + int len, void *arg); +typedef int (*tls_session_secret_cb_fn) (SSL *s, void *secret, + int *secret_len, + STACK_OF(SSL_CIPHER) *peer_ciphers, + const SSL_CIPHER **cipher, void *arg); + +/* Typedefs for handling custom extensions */ + +typedef int (*custom_ext_add_cb) (SSL *s, unsigned int ext_type, + const unsigned char **out, + size_t *outlen, int *al, void *add_arg); + +typedef void (*custom_ext_free_cb) (SSL *s, unsigned int ext_type, + const unsigned char *out, void *add_arg); + +typedef int (*custom_ext_parse_cb) (SSL *s, unsigned int ext_type, + const unsigned char *in, + size_t inlen, int *al, void *parse_arg); + +/* Allow initial connection to servers that don't support RI */ +# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004U +/* Removed from OpenSSL 0.9.8q and 1.0.0c */ +/* Dead forever, see CVE-2010-4180. */ +# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x0U +# define SSL_OP_TLSEXT_PADDING 0x00000010U +# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x0U +# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040U +/* Ancient SSLeay version, retained for compatibility */ +# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x0 +# define SSL_OP_TLS_D5_BUG 0x0U +/* Removed from OpenSSL 1.1.0 */ +# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x0U + +/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */ +# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 +/* Refers to ancient SSLREF and SSLv2, retained for compatibility */ +# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 +/* Related to removed SSLv2 */ +# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x0 +# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x0 + +/* + * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added in + * OpenSSL 0.9.6d. Usually (depending on the application protocol) the + * workaround is not needed. Unfortunately some broken SSL/TLS + * implementations cannot handle it at all, which is why we include it in + * SSL_OP_ALL. + */ +/* added in 0.9.6e */ +# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800U + +/* + * SSL_OP_ALL: various bug workarounds that should be rather harmless. This + * used to be 0x000FFFFFL before 0.9.7. + */ +# define SSL_OP_ALL 0x80000BFFU + +/* DTLS options */ +# define SSL_OP_NO_QUERY_MTU 0x00001000U +/* Turn on Cookie Exchange (on relevant for servers) */ +# define SSL_OP_COOKIE_EXCHANGE 0x00002000U +/* Don't use RFC4507 ticket extension */ +# define SSL_OP_NO_TICKET 0x00004000U +# ifndef OPENSSL_NO_DTLS1_METHOD +/* Use Cisco's "speshul" version of DTLS_BAD_VER + * (only with deprecated DTLSv1_client_method()) */ +# define SSL_OP_CISCO_ANYCONNECT 0x00008000U +# endif + +/* As server, disallow session resumption on renegotiation */ +# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000U +/* Don't use compression even if supported */ +# define SSL_OP_NO_COMPRESSION 0x00020000U +/* Permit unsafe legacy renegotiation */ +# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000U +/* Does nothing: retained for compatibility */ +# define SSL_OP_SINGLE_ECDH_USE 0x0 +/* Does nothing: retained for compatibility */ +# define SSL_OP_SINGLE_DH_USE 0x0 +/* Does nothing: retained for compatibility */ +# define SSL_OP_EPHEMERAL_RSA 0x0 +/* + * Set on servers to choose the cipher according to the server's preferences + */ +# define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000U +/* + * If set, a server will allow a client to issue a SSLv3.0 version number as + * latest version supported in the premaster secret, even when TLSv1.0 + * (version 3.1) was announced in the client hello. Normally this is + * forbidden to prevent version rollback attacks. + */ +# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000U + +# define SSL_OP_NO_SSLv2 0x00000000U +# define SSL_OP_NO_SSLv3 0x02000000U +# define SSL_OP_NO_TLSv1 0x04000000U +# define SSL_OP_NO_TLSv1_2 0x08000000U +# define SSL_OP_NO_TLSv1_1 0x10000000U + +# define SSL_OP_NO_DTLSv1 0x04000000U +# define SSL_OP_NO_DTLSv1_2 0x08000000U + +# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv3|\ + SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2) +# define SSL_OP_NO_DTLS_MASK (SSL_OP_NO_DTLSv1|SSL_OP_NO_DTLSv1_2) + + +/* Removed from previous versions */ +# define SSL_OP_PKCS1_CHECK_1 0x0 +# define SSL_OP_PKCS1_CHECK_2 0x0 +# define SSL_OP_NETSCAPE_CA_DN_BUG 0x0 +# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x0U +/* + * Make server add server-hello extension from early version of cryptopro + * draft, when GOST ciphersuite is negotiated. Required for interoperability + * with CryptoPro CSP 3.x + */ +# define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000U + +/* + * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success + * when just a single record has been written): + */ +# define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001U +/* + * Make it possible to retry SSL_write() with changed buffer location (buffer + * contents must stay the same!); this is not the default to avoid the + * misconception that non-blocking SSL_write() behaves like non-blocking + * write(): + */ +# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U +/* + * Never bother the application with retries if the transport is blocking: + */ +# define SSL_MODE_AUTO_RETRY 0x00000004U +/* Don't attempt to automatically build certificate chain */ +# define SSL_MODE_NO_AUTO_CHAIN 0x00000008U +/* + * Save RAM by releasing read and write buffers when they're empty. (SSL3 and + * TLS only.) "Released" buffers are put onto a free-list in the context or + * just freed (depending on the context's setting for freelist_max_len). + */ +# define SSL_MODE_RELEASE_BUFFERS 0x00000010U +/* + * Send the current time in the Random fields of the ClientHello and + * ServerHello records for compatibility with hypothetical implementations + * that require it. + */ +# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020U +# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040U +/* + * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications + * that reconnect with a downgraded protocol version; see + * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your + * application attempts a normal handshake. Only use this in explicit + * fallback retries, following the guidance in + * draft-ietf-tls-downgrade-scsv-00. + */ +# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080U +/* + * Support Asynchronous operation + */ +# define SSL_MODE_ASYNC 0x00000100U + +/* Cert related flags */ +/* + * Many implementations ignore some aspects of the TLS standards such as + * enforcing certificate chain algorithms. When this is set we enforce them. + */ +# define SSL_CERT_FLAG_TLS_STRICT 0x00000001U + +/* Suite B modes, takes same values as certificate verify flags */ +# define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define SSL_CERT_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define SSL_CERT_FLAG_SUITEB_128_LOS 0x30000 + +/* Perform all sorts of protocol violations for testing purposes */ +# define SSL_CERT_FLAG_BROKEN_PROTOCOL 0x10000000 + +/* Flags for building certificate chains */ +/* Treat any existing certificates as untrusted CAs */ +# define SSL_BUILD_CHAIN_FLAG_UNTRUSTED 0x1 +/* Don't include root CA in chain */ +# define SSL_BUILD_CHAIN_FLAG_NO_ROOT 0x2 +/* Just check certificates already there */ +# define SSL_BUILD_CHAIN_FLAG_CHECK 0x4 +/* Ignore verification errors */ +# define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR 0x8 +/* Clear verification errors from queue */ +# define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10 + +/* Flags returned by SSL_check_chain */ +/* Certificate can be used with this session */ +# define CERT_PKEY_VALID 0x1 +/* Certificate can also be used for signing */ +# define CERT_PKEY_SIGN 0x2 +/* EE certificate signing algorithm OK */ +# define CERT_PKEY_EE_SIGNATURE 0x10 +/* CA signature algorithms OK */ +# define CERT_PKEY_CA_SIGNATURE 0x20 +/* EE certificate parameters OK */ +# define CERT_PKEY_EE_PARAM 0x40 +/* CA certificate parameters OK */ +# define CERT_PKEY_CA_PARAM 0x80 +/* Signing explicitly allowed as opposed to SHA1 fallback */ +# define CERT_PKEY_EXPLICIT_SIGN 0x100 +/* Client CA issuer names match (always set for server cert) */ +# define CERT_PKEY_ISSUER_NAME 0x200 +/* Cert type matches client types (always set for server cert) */ +# define CERT_PKEY_CERT_TYPE 0x400 +/* Cert chain suitable to Suite B */ +# define CERT_PKEY_SUITEB 0x800 + +# define SSL_CONF_FLAG_CMDLINE 0x1 +# define SSL_CONF_FLAG_FILE 0x2 +# define SSL_CONF_FLAG_CLIENT 0x4 +# define SSL_CONF_FLAG_SERVER 0x8 +# define SSL_CONF_FLAG_SHOW_ERRORS 0x10 +# define SSL_CONF_FLAG_CERTIFICATE 0x20 +# define SSL_CONF_FLAG_REQUIRE_PRIVATE 0x40 +/* Configuration value types */ +# define SSL_CONF_TYPE_UNKNOWN 0x0 +# define SSL_CONF_TYPE_STRING 0x1 +# define SSL_CONF_TYPE_FILE 0x2 +# define SSL_CONF_TYPE_DIR 0x3 +# define SSL_CONF_TYPE_NONE 0x4 + +/* + * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they + * cannot be used to clear bits. + */ + +unsigned long SSL_CTX_get_options(const SSL_CTX *ctx); +unsigned long SSL_get_options(const SSL* s); +unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op); +unsigned long SSL_clear_options(SSL *s, unsigned long op); +unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op); +unsigned long SSL_set_options(SSL *s, unsigned long op); + +# define SSL_CTX_set_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) +# define SSL_CTX_clear_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_CTX_get_mode(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) +# define SSL_clear_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_set_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) +# define SSL_get_mode(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) +# define SSL_set_mtu(ssl, mtu) \ + SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) +# define DTLS_set_link_mtu(ssl, mtu) \ + SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL) +# define DTLS_get_link_min_mtu(ssl) \ + SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL) + +# define SSL_get_secure_renegotiation_support(ssl) \ + SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_heartbeat(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT,0,NULL) +# endif + +# define SSL_CTX_set_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_set_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_CTX_clear_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) +# define SSL_clear_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) + +void SSL_CTX_set_msg_callback(SSL_CTX *ctx, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +void SSL_set_msg_callback(SSL *ssl, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +# define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) +# define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) + +# define SSL_get_extms_support(s) \ + SSL_ctrl((s),SSL_CTRL_GET_EXTMS_SUPPORT,0,NULL) + +# ifndef OPENSSL_NO_SRP + +/* see tls_srp.c */ +__owur int SSL_SRP_CTX_init(SSL *s); +__owur int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); +int SSL_SRP_CTX_free(SSL *ctx); +int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); +__owur int SSL_srp_server_param_with_username(SSL *s, int *ad); +__owur int SRP_Calc_A_param(SSL *s); + +# endif + +/* 100k max cert list */ +# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 + +# define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) + +/* + * This callback type is used inside SSL_CTX, SSL, and in the functions that + * set them. It is used to override the generation of SSL/TLS session IDs in + * a server. Return value should be zero on an error, non-zero to proceed. + * Also, callbacks should themselves check if the id they generate is unique + * otherwise the SSL handshake will fail with an error - callbacks can do + * this using the 'ssl' value they're passed by; + * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in + * is set at the maximum size the session ID can be. In SSLv3/TLSv1 it is 32 + * bytes. The callback can alter this length to be less if desired. It is + * also an error for the callback to set the size to zero. + */ +typedef int (*GEN_SESSION_CB) (const SSL *ssl, unsigned char *id, + unsigned int *id_len); + +# define SSL_SESS_CACHE_OFF 0x0000 +# define SSL_SESS_CACHE_CLIENT 0x0001 +# define SSL_SESS_CACHE_SERVER 0x0002 +# define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) +# define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 +/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ +# define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 +# define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 +# define SSL_SESS_CACHE_NO_INTERNAL \ + (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) + +LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); +# define SSL_CTX_sess_number(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) +# define SSL_CTX_sess_connect(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) +# define SSL_CTX_sess_connect_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) +# define SSL_CTX_sess_connect_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) +# define SSL_CTX_sess_accept_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) +# define SSL_CTX_sess_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) +# define SSL_CTX_sess_cb_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) +# define SSL_CTX_sess_misses(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) +# define SSL_CTX_sess_timeouts(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) +# define SSL_CTX_sess_cache_full(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) + +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, + int (*new_session_cb) (struct ssl_st *ssl, + SSL_SESSION *sess)); +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + SSL_SESSION *sess); +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, + void (*remove_session_cb) (struct ssl_ctx_st + *ctx, + SSL_SESSION + *sess)); +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx, + SSL_SESSION *sess); +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, + SSL_SESSION *(*get_session_cb) (struct ssl_st + *ssl, + const unsigned char + *data, int len, + int *copy)); +SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + const unsigned char *data, + int len, int *copy); +void SSL_CTX_set_info_callback(SSL_CTX *ctx, + void (*cb) (const SSL *ssl, int type, + int val)); +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type, + int val); +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, + int (*client_cert_cb) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey)); +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey); +# ifndef OPENSSL_NO_ENGINE +__owur int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); +# endif +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, + int (*app_gen_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + *cookie_len)); +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, + int (*app_verify_cookie_cb) (SSL *ssl, + const unsigned char + *cookie, + unsigned int + cookie_len)); +# ifndef OPENSSL_NO_NEXTPROTONEG +void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, + int (*cb) (SSL *ssl, + const unsigned char + **out, + unsigned int *outlen, + void *arg), void *arg); +void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, + int (*cb) (SSL *ssl, + unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), void *arg); +void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, + unsigned *len); +# endif + +__owur int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, + const unsigned char *client, + unsigned int client_len); + +# define OPENSSL_NPN_UNSUPPORTED 0 +# define OPENSSL_NPN_NEGOTIATED 1 +# define OPENSSL_NPN_NO_OVERLAP 2 + +__owur int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, + unsigned int protos_len); +__owur int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, + unsigned int protos_len); +void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), void *arg); +void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, + unsigned int *len); + +# ifndef OPENSSL_NO_PSK +/* + * the maximum length of the buffer given to callbacks containing the + * resulting identity/psk + */ +# define PSK_MAX_IDENTITY_LEN 128 +# define PSK_MAX_PSK_LEN 256 +void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, + unsigned int (*psk_client_callback) (SSL + *ssl, + const + char + *hint, + char + *identity, + unsigned + int + max_identity_len, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_set_psk_client_callback(SSL *ssl, + unsigned int (*psk_client_callback) (SSL + *ssl, + const + char + *hint, + char + *identity, + unsigned + int + max_identity_len, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, + unsigned int (*psk_server_callback) (SSL + *ssl, + const + char + *identity, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +void SSL_set_psk_server_callback(SSL *ssl, + unsigned int (*psk_server_callback) (SSL + *ssl, + const + char + *identity, + unsigned + char + *psk, + unsigned + int + max_psk_len)); +__owur int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); +__owur int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); +const char *SSL_get_psk_identity_hint(const SSL *s); +const char *SSL_get_psk_identity(const SSL *s); +# endif + +/* Register callbacks to handle custom TLS Extensions for client or server. */ + +__owur int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, + unsigned int ext_type); + +__owur int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +__owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +__owur int SSL_extension_supported(unsigned int ext_type); + +# define SSL_NOTHING 1 +# define SSL_WRITING 2 +# define SSL_READING 3 +# define SSL_X509_LOOKUP 4 +# define SSL_ASYNC_PAUSED 5 +# define SSL_ASYNC_NO_JOBS 6 + +/* These will only be used when doing non-blocking IO */ +# define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) +# define SSL_want_read(s) (SSL_want(s) == SSL_READING) +# define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) +# define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) +# define SSL_want_async(s) (SSL_want(s) == SSL_ASYNC_PAUSED) +# define SSL_want_async_job(s) (SSL_want(s) == SSL_ASYNC_NO_JOBS) + +# define SSL_MAC_FLAG_READ_MAC_STREAM 1 +# define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 + +#ifdef __cplusplus +} +#endif + +# include +# include +# include /* This is mostly sslv3 with a few tweaks */ +# include /* Datagram TLS */ +# include /* Support for the use_srtp extension */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * These need to be after the above set of includes due to a compiler bug + * in VisualStudio 2015 + */ +DEFINE_STACK_OF_CONST(SSL_CIPHER) +DEFINE_STACK_OF(SSL_COMP) + +/* compatibility */ +# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg)) +# define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) +# define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0,(char *)a)) +# define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) +# define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) +# define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0,(char *)arg)) +DEPRECATEDIN_1_1_0(void SSL_set_debug(SSL *s, int debug)) + + +/* + * The valid handshake states (one for each type message sent and one for each + * type of message received). There are also two "special" states: + * TLS = TLS or DTLS state + * DTLS = DTLS specific state + * CR/SR = Client Read/Server Read + * CW/SW = Client Write/Server Write + * + * The "special" states are: + * TLS_ST_BEFORE = No handshake has been initiated yet + * TLS_ST_OK = A handshake has been successfully completed + */ +typedef enum { + TLS_ST_BEFORE, + TLS_ST_OK, + DTLS_ST_CR_HELLO_VERIFY_REQUEST, + TLS_ST_CR_SRVR_HELLO, + TLS_ST_CR_CERT, + TLS_ST_CR_CERT_STATUS, + TLS_ST_CR_KEY_EXCH, + TLS_ST_CR_CERT_REQ, + TLS_ST_CR_SRVR_DONE, + TLS_ST_CR_SESSION_TICKET, + TLS_ST_CR_CHANGE, + TLS_ST_CR_FINISHED, + TLS_ST_CW_CLNT_HELLO, + TLS_ST_CW_CERT, + TLS_ST_CW_KEY_EXCH, + TLS_ST_CW_CERT_VRFY, + TLS_ST_CW_CHANGE, + TLS_ST_CW_NEXT_PROTO, + TLS_ST_CW_FINISHED, + TLS_ST_SW_HELLO_REQ, + TLS_ST_SR_CLNT_HELLO, + DTLS_ST_SW_HELLO_VERIFY_REQUEST, + TLS_ST_SW_SRVR_HELLO, + TLS_ST_SW_CERT, + TLS_ST_SW_KEY_EXCH, + TLS_ST_SW_CERT_REQ, + TLS_ST_SW_SRVR_DONE, + TLS_ST_SR_CERT, + TLS_ST_SR_KEY_EXCH, + TLS_ST_SR_CERT_VRFY, + TLS_ST_SR_NEXT_PROTO, + TLS_ST_SR_CHANGE, + TLS_ST_SR_FINISHED, + TLS_ST_SW_SESSION_TICKET, + TLS_ST_SW_CERT_STATUS, + TLS_ST_SW_CHANGE, + TLS_ST_SW_FINISHED +} OSSL_HANDSHAKE_STATE; + +/* + * Most of the following state values are no longer used and are defined to be + * the closest equivalent value in the current state machine code. Not all + * defines have an equivalent and are set to a dummy value (-1). SSL_ST_CONNECT + * and SSL_ST_ACCEPT are still in use in the definition of SSL_CB_ACCEPT_LOOP, + * SSL_CB_ACCEPT_EXIT, SSL_CB_CONNECT_LOOP and SSL_CB_CONNECT_EXIT. + */ + +# define SSL_ST_CONNECT 0x1000 +# define SSL_ST_ACCEPT 0x2000 + +# define SSL_ST_MASK 0x0FFF + +# define SSL_CB_LOOP 0x01 +# define SSL_CB_EXIT 0x02 +# define SSL_CB_READ 0x04 +# define SSL_CB_WRITE 0x08 +# define SSL_CB_ALERT 0x4000/* used in callback */ +# define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) +# define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) +# define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) +# define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) +# define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) +# define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) +# define SSL_CB_HANDSHAKE_START 0x10 +# define SSL_CB_HANDSHAKE_DONE 0x20 + +/* Is the SSL_connection established? */ +# define SSL_in_connect_init(a) (SSL_in_init(a) && !SSL_is_server(a)) +# define SSL_in_accept_init(a) (SSL_in_init(a) && SSL_is_server(a)) +int SSL_in_init(SSL *s); +int SSL_in_before(SSL *s); +int SSL_is_init_finished(SSL *s); + +/* + * The following 3 states are kept in ssl->rlayer.rstate when reads fail, you + * should not need these + */ +# define SSL_ST_READ_HEADER 0xF0 +# define SSL_ST_READ_BODY 0xF1 +# define SSL_ST_READ_DONE 0xF2 + +/*- + * Obtain latest Finished message + * -- that we sent (SSL_get_finished) + * -- that we expected from peer (SSL_get_peer_finished). + * Returns length (0 == no Finished so far), copies up to 'count' bytes. + */ +size_t SSL_get_finished(const SSL *s, void *buf, size_t count); +size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); + +/* + * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 2 options are + * 'ored' with SSL_VERIFY_PEER if they are desired + */ +# define SSL_VERIFY_NONE 0x00 +# define SSL_VERIFY_PEER 0x01 +# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 +# define SSL_VERIFY_CLIENT_ONCE 0x04 + +# define OpenSSL_add_ssl_algorithms() SSL_library_init() +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSLeay_add_ssl_algorithms() SSL_library_init() +# endif + +/* More backward compatibility */ +# define SSL_get_cipher(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_cipher_bits(s,np) \ + SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) +# define SSL_get_cipher_version(s) \ + SSL_CIPHER_get_version(SSL_get_current_cipher(s)) +# define SSL_get_cipher_name(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_time(a) SSL_SESSION_get_time(a) +# define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) +# define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) +# define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) + +# define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) +# define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) + +DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) +# define SSL_AD_REASON_OFFSET 1000/* offset to get SSL_R_... value + * from SSL_AD_... */ +/* These alert types are for SSLv3 and TLSv1 */ +# define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY +/* fatal */ +# define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE +/* fatal */ +# define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC +# define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED +# define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW +/* fatal */ +# define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE +/* fatal */ +# define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE +/* Not for TLS */ +# define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE +# define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE +# define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE +# define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED +# define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED +# define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN +/* fatal */ +# define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER +/* fatal */ +# define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA +/* fatal */ +# define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED +/* fatal */ +# define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR +# define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR +/* fatal */ +# define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION +/* fatal */ +# define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION +/* fatal */ +# define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY +/* fatal */ +# define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR +# define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED +# define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION +# define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION +# define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE +# define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME +# define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE +# define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE +/* fatal */ +# define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY +/* fatal */ +# define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK +# define SSL_AD_NO_APPLICATION_PROTOCOL TLS1_AD_NO_APPLICATION_PROTOCOL +# define SSL_ERROR_NONE 0 +# define SSL_ERROR_SSL 1 +# define SSL_ERROR_WANT_READ 2 +# define SSL_ERROR_WANT_WRITE 3 +# define SSL_ERROR_WANT_X509_LOOKUP 4 +# define SSL_ERROR_SYSCALL 5/* look at error stack/return + * value/errno */ +# define SSL_ERROR_ZERO_RETURN 6 +# define SSL_ERROR_WANT_CONNECT 7 +# define SSL_ERROR_WANT_ACCEPT 8 +# define SSL_ERROR_WANT_ASYNC 9 +# define SSL_ERROR_WANT_ASYNC_JOB 10 +# define SSL_CTRL_SET_TMP_DH 3 +# define SSL_CTRL_SET_TMP_ECDH 4 +# define SSL_CTRL_SET_TMP_DH_CB 6 +# define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 +# define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 +# define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 +# define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 +# define SSL_CTRL_GET_FLAGS 13 +# define SSL_CTRL_EXTRA_CHAIN_CERT 14 +# define SSL_CTRL_SET_MSG_CALLBACK 15 +# define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 +/* only applies to datagram connections */ +# define SSL_CTRL_SET_MTU 17 +/* Stats */ +# define SSL_CTRL_SESS_NUMBER 20 +# define SSL_CTRL_SESS_CONNECT 21 +# define SSL_CTRL_SESS_CONNECT_GOOD 22 +# define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 +# define SSL_CTRL_SESS_ACCEPT 24 +# define SSL_CTRL_SESS_ACCEPT_GOOD 25 +# define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 +# define SSL_CTRL_SESS_HIT 27 +# define SSL_CTRL_SESS_CB_HIT 28 +# define SSL_CTRL_SESS_MISSES 29 +# define SSL_CTRL_SESS_TIMEOUTS 30 +# define SSL_CTRL_SESS_CACHE_FULL 31 +# define SSL_CTRL_MODE 33 +# define SSL_CTRL_GET_READ_AHEAD 40 +# define SSL_CTRL_SET_READ_AHEAD 41 +# define SSL_CTRL_SET_SESS_CACHE_SIZE 42 +# define SSL_CTRL_GET_SESS_CACHE_SIZE 43 +# define SSL_CTRL_SET_SESS_CACHE_MODE 44 +# define SSL_CTRL_GET_SESS_CACHE_MODE 45 +# define SSL_CTRL_GET_MAX_CERT_LIST 50 +# define SSL_CTRL_SET_MAX_CERT_LIST 51 +# define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 +/* see tls1.h for macros based on these */ +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 +# define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 +# define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 +# define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 +# define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60 */ +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 */ +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 */ +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 +# define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 +# define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 +# define SSL_CTRL_SET_SRP_ARG 78 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 +# define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 +# define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT 85 +# define SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING 86 +# define SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS 87 +# endif +# define DTLS_CTRL_GET_TIMEOUT 73 +# define DTLS_CTRL_HANDLE_TIMEOUT 74 +# define SSL_CTRL_GET_RI_SUPPORT 76 +# define SSL_CTRL_CLEAR_MODE 78 +# define SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB 79 +# define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 +# define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 +# define SSL_CTRL_CHAIN 88 +# define SSL_CTRL_CHAIN_CERT 89 +# define SSL_CTRL_GET_CURVES 90 +# define SSL_CTRL_SET_CURVES 91 +# define SSL_CTRL_SET_CURVES_LIST 92 +# define SSL_CTRL_GET_SHARED_CURVE 93 +# define SSL_CTRL_SET_SIGALGS 97 +# define SSL_CTRL_SET_SIGALGS_LIST 98 +# define SSL_CTRL_CERT_FLAGS 99 +# define SSL_CTRL_CLEAR_CERT_FLAGS 100 +# define SSL_CTRL_SET_CLIENT_SIGALGS 101 +# define SSL_CTRL_SET_CLIENT_SIGALGS_LIST 102 +# define SSL_CTRL_GET_CLIENT_CERT_TYPES 103 +# define SSL_CTRL_SET_CLIENT_CERT_TYPES 104 +# define SSL_CTRL_BUILD_CERT_CHAIN 105 +# define SSL_CTRL_SET_VERIFY_CERT_STORE 106 +# define SSL_CTRL_SET_CHAIN_CERT_STORE 107 +# define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 +# define SSL_CTRL_GET_SERVER_TMP_KEY 109 +# define SSL_CTRL_GET_RAW_CIPHERLIST 110 +# define SSL_CTRL_GET_EC_POINT_FORMATS 111 +# define SSL_CTRL_GET_CHAIN_CERTS 115 +# define SSL_CTRL_SELECT_CURRENT_CERT 116 +# define SSL_CTRL_SET_CURRENT_CERT 117 +# define SSL_CTRL_SET_DH_AUTO 118 +# define DTLS_CTRL_SET_LINK_MTU 120 +# define DTLS_CTRL_GET_LINK_MIN_MTU 121 +# define SSL_CTRL_GET_EXTMS_SUPPORT 122 +# define SSL_CTRL_SET_MIN_PROTO_VERSION 123 +# define SSL_CTRL_SET_MAX_PROTO_VERSION 124 +# define SSL_CTRL_SET_SPLIT_SEND_FRAGMENT 125 +# define SSL_CTRL_SET_MAX_PIPELINES 126 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE 127 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB 128 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129 +# define SSL_CERT_SET_FIRST 1 +# define SSL_CERT_SET_NEXT 2 +# define SSL_CERT_SET_SERVER 3 +# define DTLSv1_get_timeout(ssl, arg) \ + SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg) +# define DTLSv1_handle_timeout(ssl) \ + SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) +# define SSL_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_clear_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_total_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) +# define SSL_CTX_set_tmp_dh(ctx,dh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +# define SSL_CTX_set_dh_auto(ctx, onoff) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +# define SSL_set_dh_auto(s, onoff) \ + SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +# define SSL_set_tmp_dh(ssl,dh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +# define SSL_set_tmp_ecdh(ssl,ecdh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +# define SSL_CTX_add_extra_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) +# define SSL_CTX_get_extra_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509) +# define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509) +# define SSL_CTX_clear_extra_chain_certs(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) +# define SSL_CTX_set0_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) +# define SSL_CTX_set1_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) +# define SSL_CTX_add0_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) +# define SSL_CTX_add1_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) +# define SSL_CTX_get0_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_CTX_clear_chain_certs(ctx) \ + SSL_CTX_set0_chain(ctx,NULL) +# define SSL_CTX_build_cert_chain(ctx, flags) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_CTX_select_current_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) +# define SSL_CTX_set_current_cert(ctx, op) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_CTX_set0_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) +# define SSL_CTX_set1_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) +# define SSL_CTX_set0_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) +# define SSL_CTX_set1_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) +# define SSL_set0_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) +# define SSL_set1_chain(ctx,sk) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) +# define SSL_add0_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) +# define SSL_add1_chain_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) +# define SSL_get0_chain_certs(ctx,px509) \ + SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_clear_chain_certs(ctx) \ + SSL_set0_chain(ctx,NULL) +# define SSL_build_cert_chain(s, flags) \ + SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_select_current_cert(ctx,x509) \ + SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) +# define SSL_set_current_cert(ctx,op) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_set0_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) +# define SSL_set1_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) +# define SSL_set0_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) +# define SSL_set1_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) +# define SSL_get1_curves(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_GET_CURVES,0,(char *)s) +# define SSL_CTX_set1_curves(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) +# define SSL_CTX_set1_curves_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) +# define SSL_set1_curves(ctx, clist, clistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) +# define SSL_set1_curves_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) +# define SSL_get_shared_curve(s, n) \ + SSL_ctrl(s,SSL_CTRL_GET_SHARED_CURVE,n,NULL) +# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) +# define SSL_CTX_set1_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) +# define SSL_set1_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,clistlen,(int *)slist) +# define SSL_set1_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) +# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)slist) +# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) +# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)slist) +# define SSL_set1_client_sigalgs_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) +# define SSL_get0_certificate_types(s, clist) \ + SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)clist) +# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) +# define SSL_set1_client_certificate_types(s, clist, clistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) +# define SSL_get_peer_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) +# define SSL_get_server_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) +# define SSL_get0_raw_cipherlist(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst) +# define SSL_get0_ec_point_formats(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,plst) +#define SSL_CTX_set_min_proto_version(ctx, version) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) +#define SSL_CTX_set_max_proto_version(ctx, version) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) +#define SSL_set_min_proto_version(s, version) \ + SSL_ctrl(s, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) +#define SSL_set_max_proto_version(s, version) \ + SSL_ctrl(s, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) + +#if OPENSSL_API_COMPAT < 0x10100000L +/* Provide some compatibility macros for removed functionality. */ +# define SSL_CTX_need_tmp_RSA(ctx) 0 +# define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 +# define SSL_need_tmp_RSA(ssl) 0 +# define SSL_set_tmp_rsa(ssl,rsa) 1 +# define SSL_CTX_set_ecdh_auto(dummy, onoff) ((onoff) != 0) +# define SSL_set_ecdh_auto(dummy, onoff) ((onoff) != 0) +/* + * We "pretend" to call the callback to avoid warnings about unused static + * functions. + */ +# define SSL_CTX_set_tmp_rsa_callback(ctx, cb) while(0) (cb)(NULL, 0, 0) +# define SSL_set_tmp_rsa_callback(ssl, cb) while(0) (cb)(NULL, 0, 0) +#endif + +__owur const BIO_METHOD *BIO_f_ssl(void); +__owur BIO *BIO_new_ssl(SSL_CTX *ctx, int client); +__owur BIO *BIO_new_ssl_connect(SSL_CTX *ctx); +__owur BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); +__owur int BIO_ssl_copy_session_id(BIO *to, BIO *from); +void BIO_ssl_shutdown(BIO *ssl_bio); + +__owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); +__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); +int SSL_CTX_up_ref(SSL_CTX *ctx); +void SSL_CTX_free(SSL_CTX *); +__owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); +__owur long SSL_CTX_get_timeout(const SSL_CTX *ctx); +__owur X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); +void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); +__owur int SSL_want(const SSL *s); +__owur int SSL_clear(SSL *s); + +void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm); + +__owur const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); +__owur int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); +__owur const char *SSL_CIPHER_get_version(const SSL_CIPHER *c); +__owur const char *SSL_CIPHER_get_name(const SSL_CIPHER *c); +__owur uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c); +__owur int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c); +__owur int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c); +__owur int SSL_CIPHER_is_aead(const SSL_CIPHER *c); + +__owur int SSL_get_fd(const SSL *s); +__owur int SSL_get_rfd(const SSL *s); +__owur int SSL_get_wfd(const SSL *s); +__owur const char *SSL_get_cipher_list(const SSL *s, int n); +__owur char *SSL_get_shared_ciphers(const SSL *s, char *buf, int len); +__owur int SSL_get_read_ahead(const SSL *s); +__owur int SSL_pending(const SSL *s); +__owur int SSL_has_pending(const SSL *s); +# ifndef OPENSSL_NO_SOCK +__owur int SSL_set_fd(SSL *s, int fd); +__owur int SSL_set_rfd(SSL *s, int fd); +__owur int SSL_set_wfd(SSL *s, int fd); +# endif +void SSL_set0_rbio(SSL *s, BIO *rbio); +void SSL_set0_wbio(SSL *s, BIO *wbio); +void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); +__owur BIO *SSL_get_rbio(const SSL *s); +__owur BIO *SSL_get_wbio(const SSL *s); +__owur int SSL_set_cipher_list(SSL *s, const char *str); +void SSL_set_read_ahead(SSL *s, int yes); +__owur int SSL_get_verify_mode(const SSL *s); +__owur int SSL_get_verify_depth(const SSL *s); +__owur int (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *); +void SSL_set_verify(SSL *s, int mode, + int (*callback) (int ok, X509_STORE_CTX *ctx)); +void SSL_set_verify_depth(SSL *s, int depth); +void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg); +# ifndef OPENSSL_NO_RSA +__owur int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); +__owur int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const unsigned char *d, long len); +# endif +__owur int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); +__owur int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, + long len); +__owur int SSL_use_certificate(SSL *ssl, X509 *x); +__owur int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); + +/* Set serverinfo data for the current active cert. */ +__owur int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, + size_t serverinfo_length); +__owur int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); + +#ifndef OPENSSL_NO_RSA +__owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); +#endif + +__owur int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); +__owur int SSL_use_certificate_file(SSL *ssl, const char *file, int type); + +#ifndef OPENSSL_NO_RSA +__owur int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); +#endif +__owur int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); +__owur int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); +/* PEM type */ +__owur int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); +__owur int SSL_use_certificate_chain_file(SSL *ssl, const char *file); +__owur STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); +__owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *file); +int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *dir); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_load_error_strings() \ + OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ + | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) +#endif + +__owur const char *SSL_state_string(const SSL *s); +__owur const char *SSL_rstate_string(const SSL *s); +__owur const char *SSL_state_string_long(const SSL *s); +__owur const char *SSL_rstate_string_long(const SSL *s); +__owur long SSL_SESSION_get_time(const SSL_SESSION *s); +__owur long SSL_SESSION_set_time(SSL_SESSION *s, long t); +__owur long SSL_SESSION_get_timeout(const SSL_SESSION *s); +__owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); +__owur int SSL_SESSION_get_protocol_version(const SSL_SESSION *s); +__owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s); +__owur const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s); +__owur int SSL_SESSION_has_ticket(const SSL_SESSION *s); +__owur unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s); +void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned char **tick, + size_t *len); +__owur int SSL_copy_session_id(SSL *to, const SSL *from); +__owur X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); +__owur int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); +__owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, + unsigned int sid_len); + +__owur SSL_SESSION *SSL_SESSION_new(void); +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, + unsigned int *len); +const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s, + unsigned int *len); +__owur unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); +# ifndef OPENSSL_NO_STDIO +int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); +# endif +int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); +int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x); +int SSL_SESSION_up_ref(SSL_SESSION *ses); +void SSL_SESSION_free(SSL_SESSION *ses); +__owur int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); +__owur int SSL_set_session(SSL *to, SSL_SESSION *session); +__owur int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); +int SSL_CTX_remove_session(SSL_CTX *, SSL_SESSION *c); +__owur int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB); +__owur int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB); +__owur int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id, + unsigned int id_len); +SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, + long length); + +# ifdef HEADER_X509_H +__owur X509 *SSL_get_peer_certificate(const SSL *s); +# endif + +__owur STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); + +__owur int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); +__owur int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); +__owur int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx)) (int, + X509_STORE_CTX *); +void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, + int (*callback) (int, X509_STORE_CTX *)); +void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); +void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, + int (*cb) (X509_STORE_CTX *, void *), + void *arg); +void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), + void *arg); +# ifndef OPENSSL_NO_RSA +__owur int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); +__owur int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, + long len); +# endif +__owur int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); +__owur int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, + const unsigned char *d, long len); +__owur int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); +__owur int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, + const unsigned char *d); + +void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); +void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); +pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); +void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx); +void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb); +void SSL_set_default_passwd_cb_userdata(SSL *s, void *u); +pem_password_cb *SSL_get_default_passwd_cb(SSL *s); +void *SSL_get_default_passwd_cb_userdata(SSL *s); + +__owur int SSL_CTX_check_private_key(const SSL_CTX *ctx); +__owur int SSL_check_private_key(const SSL *ctx); + +__owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +SSL *SSL_new(SSL_CTX *ctx); +int SSL_up_ref(SSL *s); +int SSL_is_dtls(const SSL *s); +__owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +__owur int SSL_CTX_set_purpose(SSL_CTX *s, int purpose); +__owur int SSL_set_purpose(SSL *s, int purpose); +__owur int SSL_CTX_set_trust(SSL_CTX *s, int trust); +__owur int SSL_set_trust(SSL *s, int trust); + +__owur int SSL_set1_host(SSL *s, const char *hostname); +__owur int SSL_add1_host(SSL *s, const char *hostname); +__owur const char *SSL_get0_peername(SSL *s); +void SSL_set_hostflags(SSL *s, unsigned int flags); + +__owur int SSL_CTX_dane_enable(SSL_CTX *ctx); +__owur int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md, + uint8_t mtype, uint8_t ord); +__owur int SSL_dane_enable(SSL *s, const char *basedomain); +__owur int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector, + uint8_t mtype, unsigned char *data, size_t dlen); +__owur int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki); +__owur int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector, + uint8_t *mtype, unsigned const char **data, + size_t *dlen); +/* + * Bridge opacity barrier between libcrypt and libssl, also needed to support + * offline testing in test/danetest.c + */ +SSL_DANE *SSL_get0_dane(SSL *ssl); +/* + * DANE flags + */ +unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx, unsigned long flags); +unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx, unsigned long flags); +unsigned long SSL_dane_set_flags(SSL *ssl, unsigned long flags); +unsigned long SSL_dane_clear_flags(SSL *ssl, unsigned long flags); + +__owur int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); +__owur int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); + +__owur X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); +__owur X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); + +# ifndef OPENSSL_NO_SRP +int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); +int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); +int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); +int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, + char *(*cb) (SSL *, void *)); +int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, + int (*cb) (SSL *, void *)); +int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, + int (*cb) (SSL *, int *, void *)); +int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); + +int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, + BIGNUM *sa, BIGNUM *v, char *info); +int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, + const char *grp); + +__owur BIGNUM *SSL_get_srp_g(SSL *s); +__owur BIGNUM *SSL_get_srp_N(SSL *s); + +__owur char *SSL_get_srp_username(SSL *s); +__owur char *SSL_get_srp_userinfo(SSL *s); +# endif + +void SSL_certs_clear(SSL *s); +void SSL_free(SSL *ssl); +# ifdef OSSL_ASYNC_FD +/* + * Windows application developer has to include windows.h to use these. + */ +__owur int SSL_waiting_for_async(SSL *s); +__owur int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds); +__owur int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, + size_t *numaddfds, OSSL_ASYNC_FD *delfd, + size_t *numdelfds); +# endif +__owur int SSL_accept(SSL *ssl); +__owur int SSL_connect(SSL *ssl); +__owur int SSL_read(SSL *ssl, void *buf, int num); +__owur int SSL_peek(SSL *ssl, void *buf, int num); +__owur int SSL_write(SSL *ssl, const void *buf, int num); +long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg); +long SSL_callback_ctrl(SSL *, int, void (*)(void)); +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg); +long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); + +__owur int SSL_get_error(const SSL *s, int ret_code); +__owur const char *SSL_get_version(const SSL *s); + +/* This sets the 'default' SSL version that SSL_new() will create */ +__owur int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); + +# ifndef OPENSSL_NO_SSL3_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_method(void)) /* SSLv3 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_server_method(void)) /* SSLv3 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_client_method(void)) /* SSLv3 */ +# endif + +#define SSLv23_method TLS_method +#define SSLv23_server_method TLS_server_method +#define SSLv23_client_method TLS_client_method + +/* Negotiate highest available SSL/TLS version */ +__owur const SSL_METHOD *TLS_method(void); +__owur const SSL_METHOD *TLS_server_method(void); +__owur const SSL_METHOD *TLS_client_method(void); + +# ifndef OPENSSL_NO_TLS1_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void)) /* TLSv1.0 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) /* TLSv1.0 */ +# endif + +# ifndef OPENSSL_NO_TLS1_1_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_server_method(void)) /* TLSv1.1 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void)) /* TLSv1.1 */ +# endif + +# ifndef OPENSSL_NO_TLS1_2_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_server_method(void)) /* TLSv1.2 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) /* TLSv1.2 */ +# endif + +# ifndef OPENSSL_NO_DTLS1_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_server_method(void)) /* DTLSv1.0 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_client_method(void)) /* DTLSv1.0 */ +# endif + +# ifndef OPENSSL_NO_DTLS1_2_METHOD +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_method(void)) /* DTLSv1.2 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_server_method(void)) /* DTLSv1.2 */ +DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_client_method(void)) /* DTLSv1.2 */ +#endif + +__owur const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */ +__owur const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ +__owur const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ + +__owur STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); +__owur STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx); +__owur STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s); +__owur STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s); + +__owur int SSL_do_handshake(SSL *s); +int SSL_renegotiate(SSL *s); +__owur int SSL_renegotiate_abbreviated(SSL *s); +__owur int SSL_renegotiate_pending(SSL *s); +int SSL_shutdown(SSL *s); + +__owur const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx); +__owur const SSL_METHOD *SSL_get_ssl_method(SSL *s); +__owur int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); +__owur const char *SSL_alert_type_string_long(int value); +__owur const char *SSL_alert_type_string(int value); +__owur const char *SSL_alert_desc_string_long(int value); +__owur const char *SSL_alert_desc_string(int value); + +void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +__owur STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); +__owur STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); +__owur int SSL_add_client_CA(SSL *ssl, X509 *x); +__owur int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); + +void SSL_set_connect_state(SSL *s); +void SSL_set_accept_state(SSL *s); + +__owur long SSL_get_default_timeout(const SSL *s); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_library_init() OPENSSL_init_ssl(0, NULL) +#endif + +__owur char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); +__owur STACK_OF(X509_NAME) *SSL_dup_CA_list(STACK_OF(X509_NAME) *sk); + +__owur SSL *SSL_dup(SSL *ssl); + +__owur X509 *SSL_get_certificate(const SSL *ssl); +/* + * EVP_PKEY + */ struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); + +__owur X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +__owur EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); + +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); +__owur int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +void SSL_set_quiet_shutdown(SSL *ssl, int mode); +__owur int SSL_get_quiet_shutdown(const SSL *ssl); +void SSL_set_shutdown(SSL *ssl, int mode); +__owur int SSL_get_shutdown(const SSL *ssl); +__owur int SSL_version(const SSL *ssl); +__owur int SSL_client_version(const SSL *s); +__owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +__owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); +__owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); +__owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath); +# define SSL_get0_session SSL_get_session/* just peek at pointer */ +__owur SSL_SESSION *SSL_get_session(const SSL *ssl); +__owur SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ +__owur SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); +SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); +void SSL_set_info_callback(SSL *ssl, + void (*cb) (const SSL *ssl, int type, int val)); +void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type, + int val); +__owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl); + +void SSL_set_verify_result(SSL *ssl, long v); +__owur long SSL_get_verify_result(const SSL *ssl); +__owur STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s); + +__owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out, + size_t outlen); +__owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, + size_t outlen); +__owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *ssl, + unsigned char *out, size_t outlen); + +#define SSL_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, l, p, newf, dupf, freef) +__owur int SSL_set_ex_data(SSL *ssl, int idx, void *data); +void *SSL_get_ex_data(const SSL *ssl, int idx); +#define SSL_SESSION_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, l, p, newf, dupf, freef) +__owur int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx); +#define SSL_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, l, p, newf, dupf, freef) +__owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); +void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx); + +__owur int SSL_get_ex_data_X509_STORE_CTX_idx(void); + +# define SSL_CTX_sess_set_cache_size(ctx,t) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) +# define SSL_CTX_sess_get_cache_size(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) +# define SSL_CTX_set_session_cache_mode(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) +# define SSL_CTX_get_session_cache_mode(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) + +# define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) +# define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) +# define SSL_CTX_get_read_ahead(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) +# define SSL_CTX_set_read_ahead(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) +# define SSL_CTX_get_max_cert_list(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_CTX_set_max_cert_list(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) +# define SSL_get_max_cert_list(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_set_max_cert_list(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) + +# define SSL_CTX_set_max_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_set_max_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_CTX_set_split_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) +# define SSL_set_split_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) +# define SSL_CTX_set_max_pipelines(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) +# define SSL_set_max_pipelines(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) + +void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len); +void SSL_set_default_read_buffer_len(SSL *s, size_t len); + +# ifndef OPENSSL_NO_DH +/* NB: the |keylength| is only applicable when is_export is true */ +void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +void SSL_set_tmp_dh_callback(SSL *ssl, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +# endif + +__owur const COMP_METHOD *SSL_get_current_compression(SSL *s); +__owur const COMP_METHOD *SSL_get_current_expansion(SSL *s); +__owur const char *SSL_COMP_get_name(const COMP_METHOD *comp); +STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); +__owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) + *meths); +#if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_COMP_free_compression_methods() while(0) continue +#endif +__owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); + +const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); +int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c); +int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c); + +/* TLS extensions functions */ +__owur int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); + +__owur int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb, + void *arg); + +/* Pre-shared secret session resumption functions */ +__owur int SSL_set_session_secret_cb(SSL *s, + tls_session_secret_cb_fn tls_session_secret_cb, + void *arg); + +void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + int + is_forward_secure)); + +void SSL_set_not_resumable_session_callback(SSL *ssl, + int (*cb) (SSL *ssl, + int + is_forward_secure)); +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_cache_hit(s) SSL_session_reused(s) +# endif + +__owur int SSL_session_reused(SSL *s); +__owur int SSL_is_server(SSL *s); + +__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); +void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); +unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); +__owur unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned int flags); +__owur int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); + +void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl); +void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx); + +__owur int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); +__owur int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); +__owur int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); + +void SSL_add_ssl_module(void); +int SSL_config(SSL *s, const char *name); +int SSL_CTX_config(SSL_CTX *ctx, const char *name); + +# ifndef OPENSSL_NO_SSL_TRACE +void SSL_trace(int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); +__owur const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); +# endif + +# ifndef OPENSSL_NO_SOCK +int DTLSv1_listen(SSL *s, BIO_ADDR *client); +# endif + +# ifndef OPENSSL_NO_CT + +/* + * A callback for verifying that the received SCTs are sufficient. + * Expected to return 1 if they are sufficient, otherwise 0. + * May return a negative integer if an error occurs. + * A connection should be aborted if the SCTs are deemed insufficient. + */ +typedef int(*ssl_ct_validation_cb)(const CT_POLICY_EVAL_CTX *ctx, + const STACK_OF(SCT) *scts, void *arg); + +/* + * Sets a |callback| that is invoked upon receipt of ServerHelloDone to validate + * the received SCTs. + * If the callback returns a non-positive result, the connection is terminated. + * Call this function before beginning a handshake. + * If a NULL |callback| is provided, SCT validation is disabled. + * |arg| is arbitrary userdata that will be passed to the callback whenever it + * is invoked. Ownership of |arg| remains with the caller. + * + * NOTE: A side-effect of setting a CT callback is that an OCSP stapled response + * will be requested. + */ +int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback, + void *arg); +int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx, + ssl_ct_validation_cb callback, + void *arg); +#define SSL_disable_ct(s) \ + ((void) SSL_set_validation_callback((s), NULL, NULL)) +#define SSL_CTX_disable_ct(ctx) \ + ((void) SSL_CTX_set_validation_callback((ctx), NULL, NULL)) + +/* + * The validation type enumerates the available behaviours of the built-in SSL + * CT validation callback selected via SSL_enable_ct() and SSL_CTX_enable_ct(). + * The underlying callback is a static function in libssl. + */ +enum { + SSL_CT_VALIDATION_PERMISSIVE = 0, + SSL_CT_VALIDATION_STRICT +}; + +/* + * Enable CT by setting up a callback that implements one of the built-in + * validation variants. The SSL_CT_VALIDATION_PERMISSIVE variant always + * continues the handshake, the application can make appropriate decisions at + * handshake completion. The SSL_CT_VALIDATION_STRICT variant requires at + * least one valid SCT, or else handshake termination will be requested. The + * handshake may continue anyway if SSL_VERIFY_NONE is in effect. + */ +int SSL_enable_ct(SSL *s, int validation_mode); +int SSL_CTX_enable_ct(SSL_CTX *ctx, int validation_mode); + +/* + * Report whether a non-NULL callback is enabled. + */ +int SSL_ct_is_enabled(const SSL *s); +int SSL_CTX_ct_is_enabled(const SSL_CTX *ctx); + +/* Gets the SCTs received from a connection */ +const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s); + +/* + * Loads the CT log list from the default location. + * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, + * the log information loaded from this file will be appended to the + * CTLOG_STORE. + * Returns 1 on success, 0 otherwise. + */ +int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx); + +/* + * Loads the CT log list from the specified file path. + * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, + * the log information loaded from this file will be appended to the + * CTLOG_STORE. + * Returns 1 on success, 0 otherwise. + */ +int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx, const char *path); + +/* + * Sets the CT log list used by all SSL connections created from this SSL_CTX. + * Ownership of the CTLOG_STORE is transferred to the SSL_CTX. + */ +void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx, CTLOG_STORE *logs); + +/* + * Gets the CT log list used by all SSL connections created from this SSL_CTX. + * This will be NULL unless one of the following functions has been called: + * - SSL_CTX_set_default_ctlog_list_file + * - SSL_CTX_set_ctlog_list_file + * - SSL_CTX_set_ctlog_store + */ +const CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx); + +# endif /* OPENSSL_NO_CT */ + +/* What the "other" parameter contains in security callback */ +/* Mask for type */ +# define SSL_SECOP_OTHER_TYPE 0xffff0000 +# define SSL_SECOP_OTHER_NONE 0 +# define SSL_SECOP_OTHER_CIPHER (1 << 16) +# define SSL_SECOP_OTHER_CURVE (2 << 16) +# define SSL_SECOP_OTHER_DH (3 << 16) +# define SSL_SECOP_OTHER_PKEY (4 << 16) +# define SSL_SECOP_OTHER_SIGALG (5 << 16) +# define SSL_SECOP_OTHER_CERT (6 << 16) + +/* Indicated operation refers to peer key or certificate */ +# define SSL_SECOP_PEER 0x1000 + +/* Values for "op" parameter in security callback */ + +/* Called to filter ciphers */ +/* Ciphers client supports */ +# define SSL_SECOP_CIPHER_SUPPORTED (1 | SSL_SECOP_OTHER_CIPHER) +/* Cipher shared by client/server */ +# define SSL_SECOP_CIPHER_SHARED (2 | SSL_SECOP_OTHER_CIPHER) +/* Sanity check of cipher server selects */ +# define SSL_SECOP_CIPHER_CHECK (3 | SSL_SECOP_OTHER_CIPHER) +/* Curves supported by client */ +# define SSL_SECOP_CURVE_SUPPORTED (4 | SSL_SECOP_OTHER_CURVE) +/* Curves shared by client/server */ +# define SSL_SECOP_CURVE_SHARED (5 | SSL_SECOP_OTHER_CURVE) +/* Sanity check of curve server selects */ +# define SSL_SECOP_CURVE_CHECK (6 | SSL_SECOP_OTHER_CURVE) +/* Temporary DH key */ +# define SSL_SECOP_TMP_DH (7 | SSL_SECOP_OTHER_PKEY) +/* SSL/TLS version */ +# define SSL_SECOP_VERSION (9 | SSL_SECOP_OTHER_NONE) +/* Session tickets */ +# define SSL_SECOP_TICKET (10 | SSL_SECOP_OTHER_NONE) +/* Supported signature algorithms sent to peer */ +# define SSL_SECOP_SIGALG_SUPPORTED (11 | SSL_SECOP_OTHER_SIGALG) +/* Shared signature algorithm */ +# define SSL_SECOP_SIGALG_SHARED (12 | SSL_SECOP_OTHER_SIGALG) +/* Sanity check signature algorithm allowed */ +# define SSL_SECOP_SIGALG_CHECK (13 | SSL_SECOP_OTHER_SIGALG) +/* Used to get mask of supported public key signature algorithms */ +# define SSL_SECOP_SIGALG_MASK (14 | SSL_SECOP_OTHER_SIGALG) +/* Use to see if compression is allowed */ +# define SSL_SECOP_COMPRESSION (15 | SSL_SECOP_OTHER_NONE) +/* EE key in certificate */ +# define SSL_SECOP_EE_KEY (16 | SSL_SECOP_OTHER_CERT) +/* CA key in certificate */ +# define SSL_SECOP_CA_KEY (17 | SSL_SECOP_OTHER_CERT) +/* CA digest algorithm in certificate */ +# define SSL_SECOP_CA_MD (18 | SSL_SECOP_OTHER_CERT) +/* Peer EE key in certificate */ +# define SSL_SECOP_PEER_EE_KEY (SSL_SECOP_EE_KEY | SSL_SECOP_PEER) +/* Peer CA key in certificate */ +# define SSL_SECOP_PEER_CA_KEY (SSL_SECOP_CA_KEY | SSL_SECOP_PEER) +/* Peer CA digest algorithm in certificate */ +# define SSL_SECOP_PEER_CA_MD (SSL_SECOP_CA_MD | SSL_SECOP_PEER) + +void SSL_set_security_level(SSL *s, int level); +__owur int SSL_get_security_level(const SSL *s); +void SSL_set_security_callback(SSL *s, + int (*cb) (const SSL *s, const SSL_CTX *ctx, int op, + int bits, int nid, void *other, + void *ex)); +int (*SSL_get_security_callback(const SSL *s)) (const SSL *s, const SSL_CTX *ctx, int op, + int bits, int nid, + void *other, void *ex); +void SSL_set0_security_ex_data(SSL *s, void *ex); +__owur void *SSL_get0_security_ex_data(const SSL *s); + +void SSL_CTX_set_security_level(SSL_CTX *ctx, int level); +__owur int SSL_CTX_get_security_level(const SSL_CTX *ctx); +void SSL_CTX_set_security_callback(SSL_CTX *ctx, + int (*cb) (const SSL *s, const SSL_CTX *ctx, int op, + int bits, int nid, void *other, + void *ex)); +int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL *s, + const SSL_CTX *ctx, + int op, int bits, + int nid, + void *other, + void *ex); +void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx, void *ex); +__owur void *SSL_CTX_get0_security_ex_data(const SSL_CTX *ctx); + +/* OPENSSL_INIT flag 0x010000 reserved for internal use */ +#define OPENSSL_INIT_NO_LOAD_SSL_STRINGS 0x00100000L +#define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L + +#define OPENSSL_INIT_SSL_DEFAULT \ + (OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS) + +int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); + +# ifndef OPENSSL_NO_UNIT_TEST +__owur const struct openssl_ssl_test_functions *SSL_test_functions(void); +# endif + +extern const char SSL_version_str[]; + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_SSL_strings(void); + +/* Error codes for the SSL functions. */ + +/* Function codes. */ +# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 +# define SSL_F_CT_MOVE_SCTS 345 +# define SSL_F_CT_STRICT 349 +# define SSL_F_D2I_SSL_SESSION 103 +# define SSL_F_DANE_CTX_ENABLE 347 +# define SSL_F_DANE_MTYPE_SET 393 +# define SSL_F_DANE_TLSA_ADD 394 +# define SSL_F_DO_DTLS1_WRITE 245 +# define SSL_F_DO_SSL3_WRITE 104 +# define SSL_F_DTLS1_BUFFER_RECORD 247 +# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 318 +# define SSL_F_DTLS1_HEARTBEAT 305 +# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 +# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424 +# define SSL_F_DTLS1_PROCESS_RECORD 257 +# define SSL_F_DTLS1_READ_BYTES 258 +# define SSL_F_DTLS1_READ_FAILED 339 +# define SSL_F_DTLS1_RETRANSMIT_MESSAGE 390 +# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 +# define SSL_F_DTLSV1_LISTEN 350 +# define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC 371 +# define SSL_F_DTLS_CONSTRUCT_HELLO_VERIFY_REQUEST 385 +# define SSL_F_DTLS_GET_REASSEMBLED_MESSAGE 370 +# define SSL_F_DTLS_PROCESS_HELLO_VERIFY 386 +# define SSL_F_OPENSSL_INIT_SSL 342 +# define SSL_F_OSSL_STATEM_CLIENT_READ_TRANSITION 417 +# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418 +# define SSL_F_READ_STATE_MACHINE 352 +# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 +# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 +# define SSL_F_SSL3_CTRL 213 +# define SSL_F_SSL3_CTX_CTRL 133 +# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 +# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 +# define SSL_F_SSL3_FINAL_FINISH_MAC 285 +# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 +# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388 +# define SSL_F_SSL3_GET_RECORD 143 +# define SSL_F_SSL3_INIT_FINISHED_MAC 397 +# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 +# define SSL_F_SSL3_READ_BYTES 148 +# define SSL_F_SSL3_READ_N 149 +# define SSL_F_SSL3_SETUP_KEY_BLOCK 157 +# define SSL_F_SSL3_SETUP_READ_BUFFER 156 +# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 +# define SSL_F_SSL3_WRITE_BYTES 158 +# define SSL_F_SSL3_WRITE_PENDING 159 +# define SSL_F_SSL_ADD_CERT_CHAIN 316 +# define SSL_F_SSL_ADD_CERT_TO_BUF 319 +# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 +# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 +# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 +# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 +# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 +# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 +# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 +# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 +# define SSL_F_SSL_BAD_METHOD 160 +# define SSL_F_SSL_BUILD_CERT_CHAIN 332 +# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 +# define SSL_F_SSL_CERT_ADD0_CHAIN_CERT 346 +# define SSL_F_SSL_CERT_DUP 221 +# define SSL_F_SSL_CERT_NEW 162 +# define SSL_F_SSL_CERT_SET0_CHAIN 340 +# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 +# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 +# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 +# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 +# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 +# define SSL_F_SSL_CLEAR 164 +# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 +# define SSL_F_SSL_CONF_CMD 334 +# define SSL_F_SSL_CREATE_CIPHER_LIST 166 +# define SSL_F_SSL_CTRL 232 +# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 +# define SSL_F_SSL_CTX_ENABLE_CT 398 +# define SSL_F_SSL_CTX_MAKE_PROFILES 309 +# define SSL_F_SSL_CTX_NEW 169 +# define SSL_F_SSL_CTX_SET_ALPN_PROTOS 343 +# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 +# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 +# define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK 396 +# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 +# define SSL_F_SSL_CTX_SET_SSL_VERSION 170 +# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 +# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 +# define SSL_F_SSL_CTX_USE_SERVERINFO 336 +# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337 +# define SSL_F_SSL_DANE_DUP 403 +# define SSL_F_SSL_DANE_ENABLE 395 +# define SSL_F_SSL_DO_CONFIG 391 +# define SSL_F_SSL_DO_HANDSHAKE 180 +# define SSL_F_SSL_DUP_CA_LIST 408 +# define SSL_F_SSL_ENABLE_CT 402 +# define SSL_F_SSL_GET_NEW_SESSION 181 +# define SSL_F_SSL_GET_PREV_SESSION 217 +# define SSL_F_SSL_GET_SERVER_CERT_INDEX 322 +# define SSL_F_SSL_GET_SIGN_PKEY 183 +# define SSL_F_SSL_INIT_WBIO_BUFFER 184 +# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +# define SSL_F_SSL_MODULE_INIT 392 +# define SSL_F_SSL_NEW 186 +# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 +# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 +# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 +# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 +# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 +# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 +# define SSL_F_SSL_PEEK 270 +# define SSL_F_SSL_READ 223 +# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320 +# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 +# define SSL_F_SSL_SESSION_DUP 348 +# define SSL_F_SSL_SESSION_NEW 189 +# define SSL_F_SSL_SESSION_PRINT_FP 190 +# define SSL_F_SSL_SESSION_SET1_ID 423 +# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 +# define SSL_F_SSL_SET_ALPN_PROTOS 344 +# define SSL_F_SSL_SET_CERT 191 +# define SSL_F_SSL_SET_CIPHER_LIST 271 +# define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK 399 +# define SSL_F_SSL_SET_FD 192 +# define SSL_F_SSL_SET_PKEY 193 +# define SSL_F_SSL_SET_RFD 194 +# define SSL_F_SSL_SET_SESSION 195 +# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 +# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 +# define SSL_F_SSL_SET_WFD 196 +# define SSL_F_SSL_SHUTDOWN 224 +# define SSL_F_SSL_SRP_CTX_INIT 313 +# define SSL_F_SSL_START_ASYNC_JOB 389 +# define SSL_F_SSL_UNDEFINED_FUNCTION 197 +# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 +# define SSL_F_SSL_USE_CERTIFICATE 198 +# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 +# define SSL_F_SSL_USE_CERTIFICATE_FILE 200 +# define SSL_F_SSL_USE_PRIVATEKEY 201 +# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 +# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 +# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 +# define SSL_F_SSL_USE_RSAPRIVATEKEY 204 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 +# define SSL_F_SSL_VALIDATE_CT 400 +# define SSL_F_SSL_VERIFY_CERT_CHAIN 207 +# define SSL_F_SSL_WRITE 208 +# define SSL_F_STATE_MACHINE 353 +# define SSL_F_TLS12_CHECK_PEER_SIGALG 333 +# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 +# define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS 341 +# define SSL_F_TLS1_ENC 401 +# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 +# define SSL_F_TLS1_GET_CURVELIST 338 +# define SSL_F_TLS1_PRF 284 +# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 +# define SSL_F_TLS1_SET_SERVER_SIGALGS 335 +# define SSL_F_TLS_CLIENT_KEY_EXCHANGE_POST_WORK 354 +# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_REQUEST 372 +# define SSL_F_TLS_CONSTRUCT_CKE_DHE 404 +# define SSL_F_TLS_CONSTRUCT_CKE_ECDHE 405 +# define SSL_F_TLS_CONSTRUCT_CKE_GOST 406 +# define SSL_F_TLS_CONSTRUCT_CKE_PSK_PREAMBLE 407 +# define SSL_F_TLS_CONSTRUCT_CKE_RSA 409 +# define SSL_F_TLS_CONSTRUCT_CKE_SRP 410 +# define SSL_F_TLS_CONSTRUCT_CLIENT_CERTIFICATE 355 +# define SSL_F_TLS_CONSTRUCT_CLIENT_HELLO 356 +# define SSL_F_TLS_CONSTRUCT_CLIENT_KEY_EXCHANGE 357 +# define SSL_F_TLS_CONSTRUCT_CLIENT_VERIFY 358 +# define SSL_F_TLS_CONSTRUCT_FINISHED 359 +# define SSL_F_TLS_CONSTRUCT_HELLO_REQUEST 373 +# define SSL_F_TLS_CONSTRUCT_NEW_SESSION_TICKET 428 +# define SSL_F_TLS_CONSTRUCT_SERVER_CERTIFICATE 374 +# define SSL_F_TLS_CONSTRUCT_SERVER_DONE 375 +# define SSL_F_TLS_CONSTRUCT_SERVER_HELLO 376 +# define SSL_F_TLS_CONSTRUCT_SERVER_KEY_EXCHANGE 377 +# define SSL_F_TLS_GET_MESSAGE_BODY 351 +# define SSL_F_TLS_GET_MESSAGE_HEADER 387 +# define SSL_F_TLS_POST_PROCESS_CLIENT_HELLO 378 +# define SSL_F_TLS_POST_PROCESS_CLIENT_KEY_EXCHANGE 384 +# define SSL_F_TLS_PREPARE_CLIENT_CERTIFICATE 360 +# define SSL_F_TLS_PROCESS_CERTIFICATE_REQUEST 361 +# define SSL_F_TLS_PROCESS_CERT_STATUS 362 +# define SSL_F_TLS_PROCESS_CERT_VERIFY 379 +# define SSL_F_TLS_PROCESS_CHANGE_CIPHER_SPEC 363 +# define SSL_F_TLS_PROCESS_CKE_DHE 411 +# define SSL_F_TLS_PROCESS_CKE_ECDHE 412 +# define SSL_F_TLS_PROCESS_CKE_GOST 413 +# define SSL_F_TLS_PROCESS_CKE_PSK_PREAMBLE 414 +# define SSL_F_TLS_PROCESS_CKE_RSA 415 +# define SSL_F_TLS_PROCESS_CKE_SRP 416 +# define SSL_F_TLS_PROCESS_CLIENT_CERTIFICATE 380 +# define SSL_F_TLS_PROCESS_CLIENT_HELLO 381 +# define SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE 382 +# define SSL_F_TLS_PROCESS_FINISHED 364 +# define SSL_F_TLS_PROCESS_KEY_EXCHANGE 365 +# define SSL_F_TLS_PROCESS_NEW_SESSION_TICKET 366 +# define SSL_F_TLS_PROCESS_NEXT_PROTO 383 +# define SSL_F_TLS_PROCESS_SERVER_CERTIFICATE 367 +# define SSL_F_TLS_PROCESS_SERVER_DONE 368 +# define SSL_F_TLS_PROCESS_SERVER_HELLO 369 +# define SSL_F_TLS_PROCESS_SKE_DHE 419 +# define SSL_F_TLS_PROCESS_SKE_ECDHE 420 +# define SSL_F_TLS_PROCESS_SKE_PSK_PREAMBLE 421 +# define SSL_F_TLS_PROCESS_SKE_SRP 422 +# define SSL_F_USE_CERTIFICATE_CHAIN_FILE 220 + +/* Reason codes. */ +# define SSL_R_APP_DATA_IN_HANDSHAKE 100 +# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 +# define SSL_R_AT_LEAST_TLS_1_0_NEEDED_IN_FIPS_MODE 143 +# define SSL_R_AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE 158 +# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 +# define SSL_R_BAD_DATA 390 +# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 +# define SSL_R_BAD_DECOMPRESSION 107 +# define SSL_R_BAD_DH_VALUE 102 +# define SSL_R_BAD_DIGEST_LENGTH 111 +# define SSL_R_BAD_ECC_CERT 304 +# define SSL_R_BAD_ECPOINT 306 +# define SSL_R_BAD_HANDSHAKE_LENGTH 332 +# define SSL_R_BAD_HELLO_REQUEST 105 +# define SSL_R_BAD_LENGTH 271 +# define SSL_R_BAD_PACKET_LENGTH 115 +# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 +# define SSL_R_BAD_RSA_ENCRYPT 119 +# define SSL_R_BAD_SIGNATURE 123 +# define SSL_R_BAD_SRP_A_LENGTH 347 +# define SSL_R_BAD_SRP_PARAMETERS 371 +# define SSL_R_BAD_SRTP_MKI_VALUE 352 +# define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353 +# define SSL_R_BAD_SSL_FILETYPE 124 +# define SSL_R_BAD_VALUE 384 +# define SSL_R_BAD_WRITE_RETRY 127 +# define SSL_R_BIO_NOT_SET 128 +# define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129 +# define SSL_R_BN_LIB 130 +# define SSL_R_CA_DN_LENGTH_MISMATCH 131 +# define SSL_R_CA_KEY_TOO_SMALL 397 +# define SSL_R_CA_MD_TOO_WEAK 398 +# define SSL_R_CCS_RECEIVED_EARLY 133 +# define SSL_R_CERTIFICATE_VERIFY_FAILED 134 +# define SSL_R_CERT_CB_ERROR 377 +# define SSL_R_CERT_LENGTH_MISMATCH 135 +# define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 +# define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 +# define SSL_R_CLIENTHELLO_TLSEXT 226 +# define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140 +# define SSL_R_COMPRESSION_DISABLED 343 +# define SSL_R_COMPRESSION_FAILURE 141 +# define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307 +# define SSL_R_COMPRESSION_LIBRARY_ERROR 142 +# define SSL_R_CONNECTION_TYPE_NOT_SET 144 +# define SSL_R_CONTEXT_NOT_DANE_ENABLED 167 +# define SSL_R_COOKIE_GEN_CALLBACK_FAILURE 400 +# define SSL_R_COOKIE_MISMATCH 308 +# define SSL_R_CUSTOM_EXT_HANDLER_ALREADY_INSTALLED 206 +# define SSL_R_DANE_ALREADY_ENABLED 172 +# define SSL_R_DANE_CANNOT_OVERRIDE_MTYPE_FULL 173 +# define SSL_R_DANE_NOT_ENABLED 175 +# define SSL_R_DANE_TLSA_BAD_CERTIFICATE 180 +# define SSL_R_DANE_TLSA_BAD_CERTIFICATE_USAGE 184 +# define SSL_R_DANE_TLSA_BAD_DATA_LENGTH 189 +# define SSL_R_DANE_TLSA_BAD_DIGEST_LENGTH 192 +# define SSL_R_DANE_TLSA_BAD_MATCHING_TYPE 200 +# define SSL_R_DANE_TLSA_BAD_PUBLIC_KEY 201 +# define SSL_R_DANE_TLSA_BAD_SELECTOR 202 +# define SSL_R_DANE_TLSA_NULL_DATA 203 +# define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145 +# define SSL_R_DATA_LENGTH_TOO_LONG 146 +# define SSL_R_DECRYPTION_FAILED 147 +# define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281 +# define SSL_R_DH_KEY_TOO_SMALL 394 +# define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148 +# define SSL_R_DIGEST_CHECK_FAILED 149 +# define SSL_R_DTLS_MESSAGE_TOO_BIG 334 +# define SSL_R_DUPLICATE_COMPRESSION_ID 309 +# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 +# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE 374 +# define SSL_R_EE_KEY_TOO_SMALL 399 +# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 +# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 +# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 +# define SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN 204 +# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 +# define SSL_R_EXTRA_DATA_IN_MESSAGE 153 +# define SSL_R_FAILED_TO_INIT_ASYNC 405 +# define SSL_R_FRAGMENTED_CLIENT_HELLO 401 +# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 +# define SSL_R_HTTPS_PROXY_REQUEST 155 +# define SSL_R_HTTP_REQUEST 156 +# define SSL_R_ILLEGAL_SUITEB_DIGEST 380 +# define SSL_R_INAPPROPRIATE_FALLBACK 373 +# define SSL_R_INCONSISTENT_COMPRESSION 340 +# define SSL_R_INCONSISTENT_EXTMS 104 +# define SSL_R_INVALID_COMMAND 280 +# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 +# define SSL_R_INVALID_CONFIGURATION_NAME 113 +# define SSL_R_INVALID_CT_VALIDATION_TYPE 212 +# define SSL_R_INVALID_NULL_CMD_NAME 385 +# define SSL_R_INVALID_SEQUENCE_NUMBER 402 +# define SSL_R_INVALID_SERVERINFO_DATA 388 +# define SSL_R_INVALID_SRP_USERNAME 357 +# define SSL_R_INVALID_STATUS_RESPONSE 328 +# define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 +# define SSL_R_LENGTH_MISMATCH 159 +# define SSL_R_LENGTH_TOO_LONG 404 +# define SSL_R_LENGTH_TOO_SHORT 160 +# define SSL_R_LIBRARY_BUG 274 +# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 +# define SSL_R_MISSING_DSA_SIGNING_CERT 165 +# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381 +# define SSL_R_MISSING_RSA_CERTIFICATE 168 +# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 +# define SSL_R_MISSING_RSA_SIGNING_CERT 170 +# define SSL_R_MISSING_SRP_PARAM 358 +# define SSL_R_MISSING_TMP_DH_KEY 171 +# define SSL_R_MISSING_TMP_ECDH_KEY 311 +# define SSL_R_NO_CERTIFICATES_RETURNED 176 +# define SSL_R_NO_CERTIFICATE_ASSIGNED 177 +# define SSL_R_NO_CERTIFICATE_SET 179 +# define SSL_R_NO_CIPHERS_AVAILABLE 181 +# define SSL_R_NO_CIPHERS_SPECIFIED 183 +# define SSL_R_NO_CIPHER_MATCH 185 +# define SSL_R_NO_CLIENT_CERT_METHOD 331 +# define SSL_R_NO_COMPRESSION_SPECIFIED 187 +# define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330 +# define SSL_R_NO_METHOD_SPECIFIED 188 +# define SSL_R_NO_PEM_EXTENSIONS 389 +# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 +# define SSL_R_NO_PROTOCOLS_AVAILABLE 191 +# define SSL_R_NO_RENEGOTIATION 339 +# define SSL_R_NO_REQUIRED_DIGEST 324 +# define SSL_R_NO_SHARED_CIPHER 193 +# define SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS 376 +# define SSL_R_NO_SRTP_PROFILES 359 +# define SSL_R_NO_VALID_SCTS 216 +# define SSL_R_NO_VERIFY_COOKIE_CALLBACK 403 +# define SSL_R_NULL_SSL_CTX 195 +# define SSL_R_NULL_SSL_METHOD_PASSED 196 +# define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 +# define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 +# define SSL_R_PACKET_LENGTH_TOO_LONG 198 +# define SSL_R_PARSE_TLSEXT 227 +# define SSL_R_PATH_TOO_LONG 270 +# define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199 +# define SSL_R_PEM_NAME_BAD_PREFIX 391 +# define SSL_R_PEM_NAME_TOO_SHORT 392 +# define SSL_R_PIPELINE_FAILURE 406 +# define SSL_R_PROTOCOL_IS_SHUTDOWN 207 +# define SSL_R_PSK_IDENTITY_NOT_FOUND 223 +# define SSL_R_PSK_NO_CLIENT_CB 224 +# define SSL_R_PSK_NO_SERVER_CB 225 +# define SSL_R_READ_BIO_NOT_SET 211 +# define SSL_R_READ_TIMEOUT_EXPIRED 312 +# define SSL_R_RECORD_LENGTH_MISMATCH 213 +# define SSL_R_RECORD_TOO_SMALL 298 +# define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 +# define SSL_R_RENEGOTIATION_ENCODING_ERR 336 +# define SSL_R_RENEGOTIATION_MISMATCH 337 +# define SSL_R_REQUIRED_CIPHER_MISSING 215 +# define SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING 342 +# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 +# define SSL_R_SCT_VERIFICATION_FAILED 208 +# define SSL_R_SERVERHELLO_TLSEXT 275 +# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 +# define SSL_R_SHUTDOWN_WHILE_IN_INIT 407 +# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 +# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 +# define SSL_R_SRP_A_CALC 361 +# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 +# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 +# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 +# define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 +# define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 +# define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 +# define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 +# define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 +# define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 +# define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 +# define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 +# define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 +# define SSL_R_SSL_COMMAND_SECTION_EMPTY 117 +# define SSL_R_SSL_COMMAND_SECTION_NOT_FOUND 125 +# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 +# define SSL_R_SSL_HANDSHAKE_FAILURE 229 +# define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 +# define SSL_R_SSL_NEGATIVE_LENGTH 372 +# define SSL_R_SSL_SECTION_EMPTY 126 +# define SSL_R_SSL_SECTION_NOT_FOUND 136 +# define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 +# define SSL_R_SSL_SESSION_ID_CONFLICT 302 +# define SSL_R_SSL_SESSION_ID_TOO_LONG 408 +# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 +# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 +# define SSL_R_SSL_SESSION_VERSION_MISMATCH 210 +# define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049 +# define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050 +# define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021 +# define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051 +# define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060 +# define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086 +# define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071 +# define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080 +# define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100 +# define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070 +# define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 +# define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 +# define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 +# define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114 +# define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113 +# define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 +# define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 +# define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 +# define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 +# define SSL_R_TLS_HEARTBEAT_PENDING 366 +# define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 +# define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 +# define SSL_R_TOO_MANY_WARN_ALERTS 409 +# define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 +# define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 +# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 +# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 +# define SSL_R_UNEXPECTED_MESSAGE 244 +# define SSL_R_UNEXPECTED_RECORD 245 +# define SSL_R_UNINITIALIZED 276 +# define SSL_R_UNKNOWN_ALERT_TYPE 246 +# define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247 +# define SSL_R_UNKNOWN_CIPHER_RETURNED 248 +# define SSL_R_UNKNOWN_CIPHER_TYPE 249 +# define SSL_R_UNKNOWN_CMD_NAME 386 +# define SSL_R_UNKNOWN_COMMAND 139 +# define SSL_R_UNKNOWN_DIGEST 368 +# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250 +# define SSL_R_UNKNOWN_PKEY_TYPE 251 +# define SSL_R_UNKNOWN_PROTOCOL 252 +# define SSL_R_UNKNOWN_SSL_VERSION 254 +# define SSL_R_UNKNOWN_STATE 255 +# define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 +# define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 +# define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315 +# define SSL_R_UNSUPPORTED_PROTOCOL 258 +# define SSL_R_UNSUPPORTED_SSL_VERSION 259 +# define SSL_R_UNSUPPORTED_STATUS_TYPE 329 +# define SSL_R_USE_SRTP_NOT_NEGOTIATED 369 +# define SSL_R_VERSION_TOO_HIGH 166 +# define SSL_R_VERSION_TOO_LOW 396 +# define SSL_R_WRONG_CERTIFICATE_TYPE 383 +# define SSL_R_WRONG_CIPHER_RETURNED 261 +# define SSL_R_WRONG_CURVE 378 +# define SSL_R_WRONG_SIGNATURE_LENGTH 264 +# define SSL_R_WRONG_SIGNATURE_SIZE 265 +# define SSL_R_WRONG_SIGNATURE_TYPE 370 +# define SSL_R_WRONG_SSL_VERSION 266 +# define SSL_R_WRONG_VERSION_NUMBER 267 +# define SSL_R_X509_LIB 268 +# define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/ssl2.h b/android/x86_64/include/openssl/ssl2.h new file mode 100644 index 00000000..5321bd27 --- /dev/null +++ b/android/x86_64/include/openssl/ssl2.h @@ -0,0 +1,24 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SSL2_H +# define HEADER_SSL2_H + +#ifdef __cplusplus +extern "C" { +#endif + +# define SSL2_VERSION 0x0002 + +# define SSL2_MT_CLIENT_HELLO 1 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/ssl3.h b/android/x86_64/include/openssl/ssl3.h new file mode 100644 index 00000000..aca19223 --- /dev/null +++ b/android/x86_64/include/openssl/ssl3.h @@ -0,0 +1,307 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_SSL3_H +# define HEADER_SSL3_H + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Signalling cipher suite value from RFC 5746 + * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV) + */ +# define SSL3_CK_SCSV 0x030000FF + +/* + * Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00 + * (TLS_FALLBACK_SCSV) + */ +# define SSL3_CK_FALLBACK_SCSV 0x03005600 + +# define SSL3_CK_RSA_NULL_MD5 0x03000001 +# define SSL3_CK_RSA_NULL_SHA 0x03000002 +# define SSL3_CK_RSA_RC4_40_MD5 0x03000003 +# define SSL3_CK_RSA_RC4_128_MD5 0x03000004 +# define SSL3_CK_RSA_RC4_128_SHA 0x03000005 +# define SSL3_CK_RSA_RC2_40_MD5 0x03000006 +# define SSL3_CK_RSA_IDEA_128_SHA 0x03000007 +# define SSL3_CK_RSA_DES_40_CBC_SHA 0x03000008 +# define SSL3_CK_RSA_DES_64_CBC_SHA 0x03000009 +# define SSL3_CK_RSA_DES_192_CBC3_SHA 0x0300000A + +# define SSL3_CK_DH_DSS_DES_40_CBC_SHA 0x0300000B +# define SSL3_CK_DH_DSS_DES_64_CBC_SHA 0x0300000C +# define SSL3_CK_DH_DSS_DES_192_CBC3_SHA 0x0300000D +# define SSL3_CK_DH_RSA_DES_40_CBC_SHA 0x0300000E +# define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F +# define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 + +# define SSL3_CK_DHE_DSS_DES_40_CBC_SHA 0x03000011 +# define SSL3_CK_EDH_DSS_DES_40_CBC_SHA SSL3_CK_DHE_DSS_DES_40_CBC_SHA +# define SSL3_CK_DHE_DSS_DES_64_CBC_SHA 0x03000012 +# define SSL3_CK_EDH_DSS_DES_64_CBC_SHA SSL3_CK_DHE_DSS_DES_64_CBC_SHA +# define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA 0x03000013 +# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA SSL3_CK_DHE_DSS_DES_192_CBC3_SHA +# define SSL3_CK_DHE_RSA_DES_40_CBC_SHA 0x03000014 +# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA SSL3_CK_DHE_RSA_DES_40_CBC_SHA +# define SSL3_CK_DHE_RSA_DES_64_CBC_SHA 0x03000015 +# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA SSL3_CK_DHE_RSA_DES_64_CBC_SHA +# define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA 0x03000016 +# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA SSL3_CK_DHE_RSA_DES_192_CBC3_SHA + +# define SSL3_CK_ADH_RC4_40_MD5 0x03000017 +# define SSL3_CK_ADH_RC4_128_MD5 0x03000018 +# define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 +# define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A +# define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B + +# define SSL3_TXT_RSA_NULL_MD5 "NULL-MD5" +# define SSL3_TXT_RSA_NULL_SHA "NULL-SHA" +# define SSL3_TXT_RSA_RC4_40_MD5 "EXP-RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_MD5 "RC4-MD5" +# define SSL3_TXT_RSA_RC4_128_SHA "RC4-SHA" +# define SSL3_TXT_RSA_RC2_40_MD5 "EXP-RC2-CBC-MD5" +# define SSL3_TXT_RSA_IDEA_128_SHA "IDEA-CBC-SHA" +# define SSL3_TXT_RSA_DES_40_CBC_SHA "EXP-DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_64_CBC_SHA "DES-CBC-SHA" +# define SSL3_TXT_RSA_DES_192_CBC3_SHA "DES-CBC3-SHA" + +# define SSL3_TXT_DH_DSS_DES_40_CBC_SHA "EXP-DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_64_CBC_SHA "DH-DSS-DES-CBC-SHA" +# define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DH_RSA_DES_40_CBC_SHA "EXP-DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_64_CBC_SHA "DH-RSA-DES-CBC-SHA" +# define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_DHE_DSS_DES_40_CBC_SHA "EXP-DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_64_CBC_SHA "DHE-DSS-DES-CBC-SHA" +# define SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA "DHE-DSS-DES-CBC3-SHA" +# define SSL3_TXT_DHE_RSA_DES_40_CBC_SHA "EXP-DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_64_CBC_SHA "DHE-RSA-DES-CBC-SHA" +# define SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA "DHE-RSA-DES-CBC3-SHA" + +/* + * This next block of six "EDH" labels is for backward compatibility with + * older versions of OpenSSL. New code should use the six "DHE" labels above + * instead: + */ +# define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA "EXP-EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA "EDH-DSS-DES-CBC-SHA" +# define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA" +# define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA "EXP-EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA "EDH-RSA-DES-CBC-SHA" +# define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA" + +# define SSL3_TXT_ADH_RC4_40_MD5 "EXP-ADH-RC4-MD5" +# define SSL3_TXT_ADH_RC4_128_MD5 "ADH-RC4-MD5" +# define SSL3_TXT_ADH_DES_40_CBC_SHA "EXP-ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" +# define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" + +# define SSL3_SSL_SESSION_ID_LENGTH 32 +# define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 + +# define SSL3_MASTER_SECRET_SIZE 48 +# define SSL3_RANDOM_SIZE 32 +# define SSL3_SESSION_ID_SIZE 32 +# define SSL3_RT_HEADER_LENGTH 5 + +# define SSL3_HM_HEADER_LENGTH 4 + +# ifndef SSL3_ALIGN_PAYLOAD + /* + * Some will argue that this increases memory footprint, but it's not + * actually true. Point is that malloc has to return at least 64-bit aligned + * pointers, meaning that allocating 5 bytes wastes 3 bytes in either case. + * Suggested pre-gaping simply moves these wasted bytes from the end of + * allocated region to its front, but makes data payload aligned, which + * improves performance:-) + */ +# define SSL3_ALIGN_PAYLOAD 8 +# else +# if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0 +# error "insane SSL3_ALIGN_PAYLOAD" +# undef SSL3_ALIGN_PAYLOAD +# endif +# endif + +/* + * This is the maximum MAC (digest) size used by the SSL library. Currently + * maximum of 20 is used by SHA1, but we reserve for future extension for + * 512-bit hashes. + */ + +# define SSL3_RT_MAX_MD_SIZE 64 + +/* + * Maximum block size used in all ciphersuites. Currently 16 for AES. + */ + +# define SSL_RT_MAX_CIPHER_BLOCK_SIZE 16 + +# define SSL3_RT_MAX_EXTRA (16384) + +/* Maximum plaintext length: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_PLAIN_LENGTH 16384 +/* Maximum compression overhead: defined by SSL/TLS standards */ +# define SSL3_RT_MAX_COMPRESSED_OVERHEAD 1024 + +/* + * The standards give a maximum encryption overhead of 1024 bytes. In + * practice the value is lower than this. The overhead is the maximum number + * of padding bytes (256) plus the mac size. + */ +# define SSL3_RT_MAX_ENCRYPTED_OVERHEAD (256 + SSL3_RT_MAX_MD_SIZE) + +/* + * OpenSSL currently only uses a padding length of at most one block so the + * send overhead is smaller. + */ + +# define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \ + (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE) + +/* If compression isn't used don't include the compression overhead */ + +# ifdef OPENSSL_NO_COMP +# define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH +# else +# define SSL3_RT_MAX_COMPRESSED_LENGTH \ + (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD) +# endif +# define SSL3_RT_MAX_ENCRYPTED_LENGTH \ + (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH) +# define SSL3_RT_MAX_PACKET_SIZE \ + (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) + +# define SSL3_MD_CLIENT_FINISHED_CONST "\x43\x4C\x4E\x54" +# define SSL3_MD_SERVER_FINISHED_CONST "\x53\x52\x56\x52" + +# define SSL3_VERSION 0x0300 +# define SSL3_VERSION_MAJOR 0x03 +# define SSL3_VERSION_MINOR 0x00 + +# define SSL3_RT_CHANGE_CIPHER_SPEC 20 +# define SSL3_RT_ALERT 21 +# define SSL3_RT_HANDSHAKE 22 +# define SSL3_RT_APPLICATION_DATA 23 +# define DTLS1_RT_HEARTBEAT 24 + +/* Pseudo content types to indicate additional parameters */ +# define TLS1_RT_CRYPTO 0x1000 +# define TLS1_RT_CRYPTO_PREMASTER (TLS1_RT_CRYPTO | 0x1) +# define TLS1_RT_CRYPTO_CLIENT_RANDOM (TLS1_RT_CRYPTO | 0x2) +# define TLS1_RT_CRYPTO_SERVER_RANDOM (TLS1_RT_CRYPTO | 0x3) +# define TLS1_RT_CRYPTO_MASTER (TLS1_RT_CRYPTO | 0x4) + +# define TLS1_RT_CRYPTO_READ 0x0000 +# define TLS1_RT_CRYPTO_WRITE 0x0100 +# define TLS1_RT_CRYPTO_MAC (TLS1_RT_CRYPTO | 0x5) +# define TLS1_RT_CRYPTO_KEY (TLS1_RT_CRYPTO | 0x6) +# define TLS1_RT_CRYPTO_IV (TLS1_RT_CRYPTO | 0x7) +# define TLS1_RT_CRYPTO_FIXED_IV (TLS1_RT_CRYPTO | 0x8) + +/* Pseudo content type for SSL/TLS header info */ +# define SSL3_RT_HEADER 0x100 + +# define SSL3_AL_WARNING 1 +# define SSL3_AL_FATAL 2 + +# define SSL3_AD_CLOSE_NOTIFY 0 +# define SSL3_AD_UNEXPECTED_MESSAGE 10/* fatal */ +# define SSL3_AD_BAD_RECORD_MAC 20/* fatal */ +# define SSL3_AD_DECOMPRESSION_FAILURE 30/* fatal */ +# define SSL3_AD_HANDSHAKE_FAILURE 40/* fatal */ +# define SSL3_AD_NO_CERTIFICATE 41 +# define SSL3_AD_BAD_CERTIFICATE 42 +# define SSL3_AD_UNSUPPORTED_CERTIFICATE 43 +# define SSL3_AD_CERTIFICATE_REVOKED 44 +# define SSL3_AD_CERTIFICATE_EXPIRED 45 +# define SSL3_AD_CERTIFICATE_UNKNOWN 46 +# define SSL3_AD_ILLEGAL_PARAMETER 47/* fatal */ + +# define TLS1_HB_REQUEST 1 +# define TLS1_HB_RESPONSE 2 + + +# define SSL3_CT_RSA_SIGN 1 +# define SSL3_CT_DSS_SIGN 2 +# define SSL3_CT_RSA_FIXED_DH 3 +# define SSL3_CT_DSS_FIXED_DH 4 +# define SSL3_CT_RSA_EPHEMERAL_DH 5 +# define SSL3_CT_DSS_EPHEMERAL_DH 6 +# define SSL3_CT_FORTEZZA_DMS 20 +/* + * SSL3_CT_NUMBER is used to size arrays and it must be large enough to + * contain all of the cert types defined either for SSLv3 and TLSv1. + */ +# define SSL3_CT_NUMBER 9 + +# define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 + +/* Removed from OpenSSL 1.1.0 */ +# define TLS1_FLAGS_TLS_PADDING_BUG 0x0 + +# define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 + +/* Set if we encrypt then mac instead of usual mac then encrypt */ +# define TLS1_FLAGS_ENCRYPT_THEN_MAC 0x0100 + +/* Set if extended master secret extension received from peer */ +# define TLS1_FLAGS_RECEIVED_EXTMS 0x0200 + +# define SSL3_MT_HELLO_REQUEST 0 +# define SSL3_MT_CLIENT_HELLO 1 +# define SSL3_MT_SERVER_HELLO 2 +# define SSL3_MT_NEWSESSION_TICKET 4 +# define SSL3_MT_CERTIFICATE 11 +# define SSL3_MT_SERVER_KEY_EXCHANGE 12 +# define SSL3_MT_CERTIFICATE_REQUEST 13 +# define SSL3_MT_SERVER_DONE 14 +# define SSL3_MT_CERTIFICATE_VERIFY 15 +# define SSL3_MT_CLIENT_KEY_EXCHANGE 16 +# define SSL3_MT_FINISHED 20 +# define SSL3_MT_CERTIFICATE_STATUS 22 +# ifndef OPENSSL_NO_NEXTPROTONEG +# define SSL3_MT_NEXT_PROTO 67 +# endif +# define DTLS1_MT_HELLO_VERIFY_REQUEST 3 + +/* Dummy message type for handling CCS like a normal handshake message */ +# define SSL3_MT_CHANGE_CIPHER_SPEC 0x0101 + +# define SSL3_MT_CCS 1 + +/* These are used when changing over to a new cipher */ +# define SSL3_CC_READ 0x01 +# define SSL3_CC_WRITE 0x02 +# define SSL3_CC_CLIENT 0x10 +# define SSL3_CC_SERVER 0x20 +# define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE) +# define SSL3_CHANGE_CIPHER_SERVER_READ (SSL3_CC_SERVER|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_CLIENT_READ (SSL3_CC_CLIENT|SSL3_CC_READ) +# define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/stack.h b/android/x86_64/include/openssl/stack.h new file mode 100644 index 00000000..23ad3b89 --- /dev/null +++ b/android/x86_64/include/openssl/stack.h @@ -0,0 +1,78 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_STACK_H +# define HEADER_STACK_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct stack_st OPENSSL_STACK; /* Use STACK_OF(...) instead */ + +typedef int (*OPENSSL_sk_compfunc)(const void *, const void *); +typedef void (*OPENSSL_sk_freefunc)(void *); +typedef void *(*OPENSSL_sk_copyfunc)(const void *); + +int OPENSSL_sk_num(const OPENSSL_STACK *); +void *OPENSSL_sk_value(const OPENSSL_STACK *, int); + +void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data); + +OPENSSL_STACK *OPENSSL_sk_new(OPENSSL_sk_compfunc cmp); +OPENSSL_STACK *OPENSSL_sk_new_null(void); +void OPENSSL_sk_free(OPENSSL_STACK *); +void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void (*func) (void *)); +OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *, OPENSSL_sk_copyfunc c, OPENSSL_sk_freefunc f); +int OPENSSL_sk_insert(OPENSSL_STACK *sk, const void *data, int where); +void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc); +void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p); +int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data); +int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data); +int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data); +int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data); +void *OPENSSL_sk_shift(OPENSSL_STACK *st); +void *OPENSSL_sk_pop(OPENSSL_STACK *st); +void OPENSSL_sk_zero(OPENSSL_STACK *st); +OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk, OPENSSL_sk_compfunc cmp); +OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *st); +void OPENSSL_sk_sort(OPENSSL_STACK *st); +int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define _STACK OPENSSL_STACK +# define sk_num OPENSSL_sk_num +# define sk_value OPENSSL_sk_value +# define sk_set OPENSSL_sk_set +# define sk_new OPENSSL_sk_new +# define sk_new_null OPENSSL_sk_new_null +# define sk_free OPENSSL_sk_free +# define sk_pop_free OPENSSL_sk_pop_free +# define sk_deep_copy OPENSSL_sk_deep_copy +# define sk_insert OPENSSL_sk_insert +# define sk_delete OPENSSL_sk_delete +# define sk_delete_ptr OPENSSL_sk_delete_ptr +# define sk_find OPENSSL_sk_find +# define sk_find_ex OPENSSL_sk_find_ex +# define sk_push OPENSSL_sk_push +# define sk_unshift OPENSSL_sk_unshift +# define sk_shift OPENSSL_sk_shift +# define sk_pop OPENSSL_sk_pop +# define sk_zero OPENSSL_sk_zero +# define sk_set_cmp_func OPENSSL_sk_set_cmp_func +# define sk_dup OPENSSL_sk_dup +# define sk_sort OPENSSL_sk_sort +# define sk_is_sorted OPENSSL_sk_is_sorted +# endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/android/x86_64/include/openssl/symhacks.h b/android/x86_64/include/openssl/symhacks.h new file mode 100644 index 00000000..caf1f1a7 --- /dev/null +++ b/android/x86_64/include/openssl/symhacks.h @@ -0,0 +1,52 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_SYMHACKS_H +# define HEADER_SYMHACKS_H + +# include + +/* Case insensitive linking causes problems.... */ +# if defined(OPENSSL_SYS_VMS) +# undef ERR_load_CRYPTO_strings +# define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings +# undef OCSP_crlID_new +# define OCSP_crlID_new OCSP_crlID2_new + +# undef d2i_ECPARAMETERS +# define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS +# undef i2d_ECPARAMETERS +# define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS +# undef d2i_ECPKPARAMETERS +# define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS +# undef i2d_ECPKPARAMETERS +# define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS + +/* + * These functions do not seem to exist! However, I'm paranoid... Original + * command in x509v3.h: These functions are being redefined in another + * directory, and clash when the linker is case-insensitive, so let's hide + * them a little, by giving them an extra 'o' at the beginning of the name... + */ +# undef X509v3_cleanup_extensions +# define X509v3_cleanup_extensions oX509v3_cleanup_extensions +# undef X509v3_add_extension +# define X509v3_add_extension oX509v3_add_extension +# undef X509v3_add_netscape_extensions +# define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions +# undef X509v3_add_standard_extensions +# define X509v3_add_standard_extensions oX509v3_add_standard_extensions + +/* This one clashes with CMS_data_create */ +# undef cms_Data_create +# define cms_Data_create priv_cms_Data_create + +# endif + +#endif /* ! defined HEADER_VMS_IDHACKS_H */ diff --git a/android/x86_64/include/openssl/tls1.h b/android/x86_64/include/openssl/tls1.h new file mode 100644 index 00000000..23e382cd --- /dev/null +++ b/android/x86_64/include/openssl/tls1.h @@ -0,0 +1,972 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * ECC cipher suite support in OpenSSL originally written by + * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. + * + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_TLS1_H +# define HEADER_TLS1_H + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Default security level if not overridden at config time */ +# ifndef OPENSSL_TLS_SECURITY_LEVEL +# define OPENSSL_TLS_SECURITY_LEVEL 1 +# endif + +# define TLS1_VERSION 0x0301 +# define TLS1_1_VERSION 0x0302 +# define TLS1_2_VERSION 0x0303 +# define TLS_MAX_VERSION TLS1_2_VERSION + +/* Special value for method supporting multiple versions */ +# define TLS_ANY_VERSION 0x10000 + +# define TLS1_VERSION_MAJOR 0x03 +# define TLS1_VERSION_MINOR 0x01 + +# define TLS1_1_VERSION_MAJOR 0x03 +# define TLS1_1_VERSION_MINOR 0x02 + +# define TLS1_2_VERSION_MAJOR 0x03 +# define TLS1_2_VERSION_MINOR 0x03 + +# define TLS1_get_version(s) \ + ((SSL_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_version(s) : 0) + +# define TLS1_get_client_version(s) \ + ((SSL_client_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_client_version(s) : 0) + +# define TLS1_AD_DECRYPTION_FAILED 21 +# define TLS1_AD_RECORD_OVERFLOW 22 +# define TLS1_AD_UNKNOWN_CA 48/* fatal */ +# define TLS1_AD_ACCESS_DENIED 49/* fatal */ +# define TLS1_AD_DECODE_ERROR 50/* fatal */ +# define TLS1_AD_DECRYPT_ERROR 51 +# define TLS1_AD_EXPORT_RESTRICTION 60/* fatal */ +# define TLS1_AD_PROTOCOL_VERSION 70/* fatal */ +# define TLS1_AD_INSUFFICIENT_SECURITY 71/* fatal */ +# define TLS1_AD_INTERNAL_ERROR 80/* fatal */ +# define TLS1_AD_INAPPROPRIATE_FALLBACK 86/* fatal */ +# define TLS1_AD_USER_CANCELLED 90 +# define TLS1_AD_NO_RENEGOTIATION 100 +/* codes 110-114 are from RFC3546 */ +# define TLS1_AD_UNSUPPORTED_EXTENSION 110 +# define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 +# define TLS1_AD_UNRECOGNIZED_NAME 112 +# define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 +# define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 +# define TLS1_AD_UNKNOWN_PSK_IDENTITY 115/* fatal */ +# define TLS1_AD_NO_APPLICATION_PROTOCOL 120 /* fatal */ + +/* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */ +# define TLSEXT_TYPE_server_name 0 +# define TLSEXT_TYPE_max_fragment_length 1 +# define TLSEXT_TYPE_client_certificate_url 2 +# define TLSEXT_TYPE_trusted_ca_keys 3 +# define TLSEXT_TYPE_truncated_hmac 4 +# define TLSEXT_TYPE_status_request 5 +/* ExtensionType values from RFC4681 */ +# define TLSEXT_TYPE_user_mapping 6 +/* ExtensionType values from RFC5878 */ +# define TLSEXT_TYPE_client_authz 7 +# define TLSEXT_TYPE_server_authz 8 +/* ExtensionType values from RFC6091 */ +# define TLSEXT_TYPE_cert_type 9 + +/* ExtensionType values from RFC4492 */ +# define TLSEXT_TYPE_elliptic_curves 10 +# define TLSEXT_TYPE_ec_point_formats 11 + +/* ExtensionType value from RFC5054 */ +# define TLSEXT_TYPE_srp 12 + +/* ExtensionType values from RFC5246 */ +# define TLSEXT_TYPE_signature_algorithms 13 + +/* ExtensionType value from RFC5764 */ +# define TLSEXT_TYPE_use_srtp 14 + +/* ExtensionType value from RFC5620 */ +# define TLSEXT_TYPE_heartbeat 15 + +/* ExtensionType value from RFC7301 */ +# define TLSEXT_TYPE_application_layer_protocol_negotiation 16 + +/* + * Extension type for Certificate Transparency + * https://tools.ietf.org/html/rfc6962#section-3.3.1 + */ +# define TLSEXT_TYPE_signed_certificate_timestamp 18 + +/* + * ExtensionType value for TLS padding extension. + * http://tools.ietf.org/html/draft-agl-tls-padding + */ +# define TLSEXT_TYPE_padding 21 + +/* ExtensionType value from RFC7366 */ +# define TLSEXT_TYPE_encrypt_then_mac 22 + +/* ExtensionType value from RFC7627 */ +# define TLSEXT_TYPE_extended_master_secret 23 + +/* ExtensionType value from RFC4507 */ +# define TLSEXT_TYPE_session_ticket 35 + +/* Temporary extension type */ +# define TLSEXT_TYPE_renegotiate 0xff01 + +# ifndef OPENSSL_NO_NEXTPROTONEG +/* This is not an IANA defined extension number */ +# define TLSEXT_TYPE_next_proto_neg 13172 +# endif + +/* NameType value from RFC3546 */ +# define TLSEXT_NAMETYPE_host_name 0 +/* status request value from RFC3546 */ +# define TLSEXT_STATUSTYPE_ocsp 1 + +/* ECPointFormat values from RFC4492 */ +# define TLSEXT_ECPOINTFORMAT_first 0 +# define TLSEXT_ECPOINTFORMAT_uncompressed 0 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 +# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2 +# define TLSEXT_ECPOINTFORMAT_last 2 + +/* Signature and hash algorithms from RFC5246 */ +# define TLSEXT_signature_anonymous 0 +# define TLSEXT_signature_rsa 1 +# define TLSEXT_signature_dsa 2 +# define TLSEXT_signature_ecdsa 3 +# define TLSEXT_signature_gostr34102001 237 +# define TLSEXT_signature_gostr34102012_256 238 +# define TLSEXT_signature_gostr34102012_512 239 + +/* Total number of different signature algorithms */ +# define TLSEXT_signature_num 7 + +# define TLSEXT_hash_none 0 +# define TLSEXT_hash_md5 1 +# define TLSEXT_hash_sha1 2 +# define TLSEXT_hash_sha224 3 +# define TLSEXT_hash_sha256 4 +# define TLSEXT_hash_sha384 5 +# define TLSEXT_hash_sha512 6 +# define TLSEXT_hash_gostr3411 237 +# define TLSEXT_hash_gostr34112012_256 238 +# define TLSEXT_hash_gostr34112012_512 239 + +/* Total number of different digest algorithms */ + +# define TLSEXT_hash_num 10 + +/* Flag set for unrecognised algorithms */ +# define TLSEXT_nid_unknown 0x1000000 + +/* ECC curves */ + +# define TLSEXT_curve_P_256 23 +# define TLSEXT_curve_P_384 24 + +# define TLSEXT_MAXLEN_host_name 255 + +__owur const char *SSL_get_servername(const SSL *s, const int type); +__owur int SSL_get_servername_type(const SSL *s); +/* + * SSL_export_keying_material exports a value derived from the master secret, + * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and + * optional context. (Since a zero length context is allowed, the |use_context| + * flag controls whether a context is included.) It returns 1 on success and + * zero otherwise. + */ +__owur int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, + const char *label, size_t llen, + const unsigned char *p, size_t plen, + int use_context); + +int SSL_get_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +int SSL_get_shared_sigalgs(SSL *s, int idx, + int *psign, int *phash, int *psignandhash, + unsigned char *rsig, unsigned char *rhash); + +__owur int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain); + +# define SSL_set_tlsext_host_name(s,name) \ +SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,(char *)name) + +# define SSL_set_tlsext_debug_callback(ssl, cb) \ +SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,(void (*)(void))cb) + +# define SSL_set_tlsext_debug_arg(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0, (void *)arg) + +# define SSL_get_tlsext_status_type(ssl) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0, NULL) + +# define SSL_set_tlsext_status_type(ssl, type) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type, NULL) + +# define SSL_get_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +# define SSL_set_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +# define SSL_get_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +# define SSL_set_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +# define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0, (void *)arg) + +# define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen, (void *)arg) + +# define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \ +SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,(void (*)(void))cb) + +# define SSL_TLSEXT_ERR_OK 0 +# define SSL_TLSEXT_ERR_ALERT_WARNING 1 +# define SSL_TLSEXT_ERR_ALERT_FATAL 2 +# define SSL_TLSEXT_ERR_NOACK 3 + +# define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ +SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) + +# define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_GET_TLSEXT_TICKET_KEYS,(keylen),(keys)) +# define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLSEXT_TICKET_KEYS,(keylen),(keys)) + +# define SSL_CTX_get_tlsext_status_cb(ssl, cb) \ +SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB,0, (void (**)(void))cb) +# define SSL_CTX_set_tlsext_status_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,(void (*)(void))cb) + +# define SSL_CTX_get_tlsext_status_arg(ssl, arg) \ +SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG,0, (void *)arg +# define SSL_CTX_set_tlsext_status_arg(ssl, arg) \ +SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0, (void *)arg) + +#define SSL_CTX_set_tlsext_status_type(ssl, type) \ + SSL_CTX_ctrl(ssl, SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE, type, NULL) + +#define SSL_CTX_get_tlsext_status_type(ssl) \ + SSL_CTX_ctrl(ssl, SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE, 0, NULL) + +# define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_DTLSEXT_HB_ENABLED 0x01 +# define SSL_DTLSEXT_HB_DONT_SEND_REQUESTS 0x02 +# define SSL_DTLSEXT_HB_DONT_RECV_REQUESTS 0x04 +# define SSL_get_dtlsext_heartbeat_pending(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING,0,NULL) +# define SSL_set_dtlsext_heartbeat_no_requests(ssl, arg) \ + SSL_ctrl((ssl),SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT \ + SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT +# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING \ + SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING +# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS \ + SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS +# define SSL_TLSEXT_HB_ENABLED \ + SSL_DTLSEXT_HB_ENABLED +# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS \ + SSL_DTLSEXT_HB_DONT_SEND_REQUESTS +# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS \ + SSL_DTLSEXT_HB_DONT_RECV_REQUESTS +# define SSL_get_tlsext_heartbeat_pending(ssl) \ + SSL_get_dtlsext_heartbeat_pending(ssl) +# define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ + SSL_set_dtlsext_heartbeat_no_requests(ssl, arg) +# endif +# endif + +/* PSK ciphersuites from 4279 */ +# define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A +# define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B +# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C +# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D + +# define TLS1_CK_DHE_PSK_WITH_RC4_128_SHA 0x0300008E +# define TLS1_CK_DHE_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008F +# define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA 0x03000090 +# define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA 0x03000091 + +# define TLS1_CK_RSA_PSK_WITH_RC4_128_SHA 0x03000092 +# define TLS1_CK_RSA_PSK_WITH_3DES_EDE_CBC_SHA 0x03000093 +# define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA 0x03000094 +# define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA 0x03000095 + +/* PSK ciphersuites from 5487 */ +# define TLS1_CK_PSK_WITH_AES_128_GCM_SHA256 0x030000A8 +# define TLS1_CK_PSK_WITH_AES_256_GCM_SHA384 0x030000A9 +# define TLS1_CK_DHE_PSK_WITH_AES_128_GCM_SHA256 0x030000AA +# define TLS1_CK_DHE_PSK_WITH_AES_256_GCM_SHA384 0x030000AB +# define TLS1_CK_RSA_PSK_WITH_AES_128_GCM_SHA256 0x030000AC +# define TLS1_CK_RSA_PSK_WITH_AES_256_GCM_SHA384 0x030000AD + +# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA256 0x030000AE +# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA384 0x030000AF +# define TLS1_CK_PSK_WITH_NULL_SHA256 0x030000B0 +# define TLS1_CK_PSK_WITH_NULL_SHA384 0x030000B1 + +# define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA256 0x030000B2 +# define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA384 0x030000B3 +# define TLS1_CK_DHE_PSK_WITH_NULL_SHA256 0x030000B4 +# define TLS1_CK_DHE_PSK_WITH_NULL_SHA384 0x030000B5 + +# define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA256 0x030000B6 +# define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA384 0x030000B7 +# define TLS1_CK_RSA_PSK_WITH_NULL_SHA256 0x030000B8 +# define TLS1_CK_RSA_PSK_WITH_NULL_SHA384 0x030000B9 + +/* NULL PSK ciphersuites from RFC4785 */ +# define TLS1_CK_PSK_WITH_NULL_SHA 0x0300002C +# define TLS1_CK_DHE_PSK_WITH_NULL_SHA 0x0300002D +# define TLS1_CK_RSA_PSK_WITH_NULL_SHA 0x0300002E + +/* AES ciphersuites from RFC3268 */ +# define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 +# define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 + +# define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 +# define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B +# define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C +# define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D +# define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E +# define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F +# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 +# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 + +/* TLS v1.2 ciphersuites */ +# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 +# define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 +# define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 +# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A +# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B +# define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C +# define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 +# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 +# define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 +# define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 +# define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 +# define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A +# define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C +# define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D +# define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E +# define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F +# define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 +# define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 +# define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 +# define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 +# define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 +# define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 +# define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 +# define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 + +/* CCM ciphersuites from RFC6655 */ +# define TLS1_CK_RSA_WITH_AES_128_CCM 0x0300C09C +# define TLS1_CK_RSA_WITH_AES_256_CCM 0x0300C09D +# define TLS1_CK_DHE_RSA_WITH_AES_128_CCM 0x0300C09E +# define TLS1_CK_DHE_RSA_WITH_AES_256_CCM 0x0300C09F +# define TLS1_CK_RSA_WITH_AES_128_CCM_8 0x0300C0A0 +# define TLS1_CK_RSA_WITH_AES_256_CCM_8 0x0300C0A1 +# define TLS1_CK_DHE_RSA_WITH_AES_128_CCM_8 0x0300C0A2 +# define TLS1_CK_DHE_RSA_WITH_AES_256_CCM_8 0x0300C0A3 +# define TLS1_CK_PSK_WITH_AES_128_CCM 0x0300C0A4 +# define TLS1_CK_PSK_WITH_AES_256_CCM 0x0300C0A5 +# define TLS1_CK_DHE_PSK_WITH_AES_128_CCM 0x0300C0A6 +# define TLS1_CK_DHE_PSK_WITH_AES_256_CCM 0x0300C0A7 +# define TLS1_CK_PSK_WITH_AES_128_CCM_8 0x0300C0A8 +# define TLS1_CK_PSK_WITH_AES_256_CCM_8 0x0300C0A9 +# define TLS1_CK_DHE_PSK_WITH_AES_128_CCM_8 0x0300C0AA +# define TLS1_CK_DHE_PSK_WITH_AES_256_CCM_8 0x0300C0AB + +/* CCM ciphersuites from RFC7251 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM 0x0300C0AC +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM 0x0300C0AD +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM_8 0x0300C0AE +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM_8 0x0300C0AF + +/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ +# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BA +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BB +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BC +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BD +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BE +# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA256 0x030000BF + +# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C0 +# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C1 +# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C2 +# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C3 +# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C4 +# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA256 0x030000C5 + +/* ECC ciphersuites from RFC4492 */ +# define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 +# define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 +# define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 + +# define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 +# define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 +# define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A + +# define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B +# define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C +# define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D +# define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E +# define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F + +# define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 +# define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 +# define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 + +# define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 +# define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 +# define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 +# define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 +# define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 + +/* SRP ciphersuites from RFC 5054 */ +# define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A +# define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B +# define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C +# define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F +# define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 +# define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 +# define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 + +/* ECDH HMAC based ciphersuites from RFC5289 */ + +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B +# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C +# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D +# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E +# define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F +# define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 +# define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 +# define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 + +/* ECDHE PSK ciphersuites from RFC5489 */ +# define TLS1_CK_ECDHE_PSK_WITH_RC4_128_SHA 0x0300C033 +# define TLS1_CK_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 0x0300C034 +# define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA 0x0300C035 +# define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA 0x0300C036 + +# define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA256 0x0300C037 +# define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA384 0x0300C038 + +/* NULL PSK ciphersuites from RFC4785 */ + +# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA 0x0300C039 +# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA256 0x0300C03A +# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA384 0x0300C03B + +/* Camellia-CBC ciphersuites from RFC6367 */ +# define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C072 +# define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C073 +# define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C074 +# define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C075 +# define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C076 +# define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C077 +# define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C078 +# define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C079 + +# define TLS1_CK_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C094 +# define TLS1_CK_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C095 +# define TLS1_CK_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C096 +# define TLS1_CK_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C097 +# define TLS1_CK_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C098 +# define TLS1_CK_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C099 +# define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C09A +# define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C09B + +/* draft-ietf-tls-chacha20-poly1305-03 */ +# define TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305 0x0300CCA8 +# define TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 0x0300CCA9 +# define TLS1_CK_DHE_RSA_WITH_CHACHA20_POLY1305 0x0300CCAA +# define TLS1_CK_PSK_WITH_CHACHA20_POLY1305 0x0300CCAB +# define TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305 0x0300CCAC +# define TLS1_CK_DHE_PSK_WITH_CHACHA20_POLY1305 0x0300CCAD +# define TLS1_CK_RSA_PSK_WITH_CHACHA20_POLY1305 0x0300CCAE + +/* + * XXX Backward compatibility alert: Older versions of OpenSSL gave some DHE + * ciphers names with "EDH" instead of "DHE". Going forward, we should be + * using DHE everywhere, though we may indefinitely maintain aliases for + * users or configurations that used "EDH" + */ +# define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" + +# define TLS1_TXT_PSK_WITH_NULL_SHA "PSK-NULL-SHA" +# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA "DHE-PSK-NULL-SHA" +# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA "RSA-PSK-NULL-SHA" + +/* AES ciphersuites from RFC3268 */ +# define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" +# define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" + +# define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" +# define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" + +/* ECC ciphersuites from RFC4492 */ +# define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" + +# define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" +# define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" +# define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" + +/* PSK ciphersuites from RFC 4279 */ +# define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" +# define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" + +# define TLS1_TXT_DHE_PSK_WITH_RC4_128_SHA "DHE-PSK-RC4-SHA" +# define TLS1_TXT_DHE_PSK_WITH_3DES_EDE_CBC_SHA "DHE-PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA "DHE-PSK-AES128-CBC-SHA" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA "DHE-PSK-AES256-CBC-SHA" +# define TLS1_TXT_RSA_PSK_WITH_RC4_128_SHA "RSA-PSK-RC4-SHA" +# define TLS1_TXT_RSA_PSK_WITH_3DES_EDE_CBC_SHA "RSA-PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA "RSA-PSK-AES128-CBC-SHA" +# define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA "RSA-PSK-AES256-CBC-SHA" + +/* PSK ciphersuites from RFC 5487 */ +# define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256 "PSK-AES128-GCM-SHA256" +# define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384 "PSK-AES256-GCM-SHA384" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_GCM_SHA256 "DHE-PSK-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_GCM_SHA384 "DHE-PSK-AES256-GCM-SHA384" +# define TLS1_TXT_RSA_PSK_WITH_AES_128_GCM_SHA256 "RSA-PSK-AES128-GCM-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_AES_256_GCM_SHA384 "RSA-PSK-AES256-GCM-SHA384" + +# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA256 "PSK-AES128-CBC-SHA256" +# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA384 "PSK-AES256-CBC-SHA384" +# define TLS1_TXT_PSK_WITH_NULL_SHA256 "PSK-NULL-SHA256" +# define TLS1_TXT_PSK_WITH_NULL_SHA384 "PSK-NULL-SHA384" + +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA256 "DHE-PSK-AES128-CBC-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA384 "DHE-PSK-AES256-CBC-SHA384" +# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA256 "DHE-PSK-NULL-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA384 "DHE-PSK-NULL-SHA384" + +# define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA256 "RSA-PSK-AES128-CBC-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA384 "RSA-PSK-AES256-CBC-SHA384" +# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA256 "RSA-PSK-NULL-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA384 "RSA-PSK-NULL-SHA384" + +/* SRP ciphersuite from RFC 5054 */ +# define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" + +/* Camellia ciphersuites from RFC4132 */ +# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" + +# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" +# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" + +/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ +# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA256 "CAMELLIA128-SHA256" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DH-DSS-CAMELLIA128-SHA256" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DH-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DHE-DSS-CAMELLIA128-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DHE-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA256 "ADH-CAMELLIA128-SHA256" + +# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA256 "CAMELLIA256-SHA256" +# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DH-DSS-CAMELLIA256-SHA256" +# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DH-RSA-CAMELLIA256-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DHE-DSS-CAMELLIA256-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DHE-RSA-CAMELLIA256-SHA256" +# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA256 "ADH-CAMELLIA256-SHA256" + +# define TLS1_TXT_PSK_WITH_CAMELLIA_128_CBC_SHA256 "PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_PSK_WITH_CAMELLIA_256_CBC_SHA384 "PSK-CAMELLIA256-SHA384" +# define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "DHE-PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "DHE-PSK-CAMELLIA256-SHA384" +# define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 "RSA-PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 "RSA-PSK-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-PSK-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-PSK-CAMELLIA256-SHA384" + +/* SEED ciphersuites from RFC4162 */ +# define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" +# define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" +# define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" +# define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" +# define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" +# define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" + +/* TLS v1.2 ciphersuites */ +# define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" +# define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" +# define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" + +/* TLS v1.2 GCM ciphersuites from RFC5288 */ +# define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" +# define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" +# define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" +# define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" +# define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" + +/* CCM ciphersuites from RFC6655 */ + +# define TLS1_TXT_RSA_WITH_AES_128_CCM "AES128-CCM" +# define TLS1_TXT_RSA_WITH_AES_256_CCM "AES256-CCM" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM "DHE-RSA-AES128-CCM" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM "DHE-RSA-AES256-CCM" + +# define TLS1_TXT_RSA_WITH_AES_128_CCM_8 "AES128-CCM8" +# define TLS1_TXT_RSA_WITH_AES_256_CCM_8 "AES256-CCM8" +# define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM_8 "DHE-RSA-AES128-CCM8" +# define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM_8 "DHE-RSA-AES256-CCM8" + +# define TLS1_TXT_PSK_WITH_AES_128_CCM "PSK-AES128-CCM" +# define TLS1_TXT_PSK_WITH_AES_256_CCM "PSK-AES256-CCM" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM "DHE-PSK-AES128-CCM" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM "DHE-PSK-AES256-CCM" + +# define TLS1_TXT_PSK_WITH_AES_128_CCM_8 "PSK-AES128-CCM8" +# define TLS1_TXT_PSK_WITH_AES_256_CCM_8 "PSK-AES256-CCM8" +# define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM_8 "DHE-PSK-AES128-CCM8" +# define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM_8 "DHE-PSK-AES256-CCM8" + +/* CCM ciphersuites from RFC7251 */ + +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM "ECDHE-ECDSA-AES128-CCM" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM "ECDHE-ECDSA-AES256-CCM" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM_8 "ECDHE-ECDSA-AES128-CCM8" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 "ECDHE-ECDSA-AES256-CCM8" + +/* ECDH HMAC based ciphersuites from RFC5289 */ + +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" + +/* ECDH GCM based ciphersuites from RFC5289 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "ECDHE-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "ECDHE-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 "ECDH-ECDSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 "ECDH-ECDSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" + +/* TLS v1.2 PSK GCM ciphersuites from RFC5487 */ +# define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256 "PSK-AES128-GCM-SHA256" +# define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384 "PSK-AES256-GCM-SHA384" + +/* ECDHE PSK ciphersuites from RFC 5489 */ +# define TLS1_TXT_ECDHE_PSK_WITH_RC4_128_SHA "ECDHE-PSK-RC4-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA "ECDHE-PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA "ECDHE-PSK-AES128-CBC-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA "ECDHE-PSK-AES256-CBC-SHA" + +# define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA256 "ECDHE-PSK-AES128-CBC-SHA256" +# define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA384 "ECDHE-PSK-AES256-CBC-SHA384" + +# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA "ECDHE-PSK-NULL-SHA" +# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA256 "ECDHE-PSK-NULL-SHA256" +# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA384 "ECDHE-PSK-NULL-SHA384" + +/* Camellia-CBC ciphersuites from RFC6367 */ +# define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-ECDSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-ECDSA-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDH-ECDSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDH-ECDSA-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-RSA-CAMELLIA256-SHA384" +# define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDH-RSA-CAMELLIA128-SHA256" +# define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDH-RSA-CAMELLIA256-SHA384" + +/* draft-ietf-tls-chacha20-poly1305-03 */ +# define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305" +# define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305" +# define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305" +# define TLS1_TXT_PSK_WITH_CHACHA20_POLY1305 "PSK-CHACHA20-POLY1305" +# define TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305 "ECDHE-PSK-CHACHA20-POLY1305" +# define TLS1_TXT_DHE_PSK_WITH_CHACHA20_POLY1305 "DHE-PSK-CHACHA20-POLY1305" +# define TLS1_TXT_RSA_PSK_WITH_CHACHA20_POLY1305 "RSA-PSK-CHACHA20-POLY1305" + +# define TLS_CT_RSA_SIGN 1 +# define TLS_CT_DSS_SIGN 2 +# define TLS_CT_RSA_FIXED_DH 3 +# define TLS_CT_DSS_FIXED_DH 4 +# define TLS_CT_ECDSA_SIGN 64 +# define TLS_CT_RSA_FIXED_ECDH 65 +# define TLS_CT_ECDSA_FIXED_ECDH 66 +# define TLS_CT_GOST01_SIGN 22 +# define TLS_CT_GOST12_SIGN 238 +# define TLS_CT_GOST12_512_SIGN 239 + +/* + * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see + * comment there) + */ +# define TLS_CT_NUMBER 9 + +# define TLS1_FINISH_MAC_LENGTH 12 + +# define TLS_MD_MAX_CONST_SIZE 22 +# define TLS_MD_CLIENT_FINISH_CONST "client finished" +# define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 +# define TLS_MD_SERVER_FINISH_CONST "server finished" +# define TLS_MD_SERVER_FINISH_CONST_SIZE 15 +# define TLS_MD_KEY_EXPANSION_CONST "key expansion" +# define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 +# define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" +# define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" +# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 +# define TLS_MD_IV_BLOCK_CONST "IV block" +# define TLS_MD_IV_BLOCK_CONST_SIZE 8 +# define TLS_MD_MASTER_SECRET_CONST "master secret" +# define TLS_MD_MASTER_SECRET_CONST_SIZE 13 +# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "extended master secret" +# define TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE 22 + +# ifdef CHARSET_EBCDIC +# undef TLS_MD_CLIENT_FINISH_CONST +/* + * client finished + */ +# define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_FINISH_CONST +/* + * server finished + */ +# define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_KEY_EXPANSION_CONST +/* + * key expansion + */ +# define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" + +# undef TLS_MD_CLIENT_WRITE_KEY_CONST +/* + * client write key + */ +# define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_SERVER_WRITE_KEY_CONST +/* + * server write key + */ +# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" + +# undef TLS_MD_IV_BLOCK_CONST +/* + * IV block + */ +# define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" + +# undef TLS_MD_MASTER_SECRET_CONST +/* + * master secret + */ +# define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" +# undef TLS_MD_EXTENDED_MASTER_SECRET_CONST +/* + * extended master secret + */ +# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "\x65\x78\x74\x65\x63\x64\x65\x64\x20\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" +# endif + +/* TLS Session Ticket extension struct */ +struct tls_session_ticket_ext_st { + unsigned short length; + void *data; +}; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/ts.h b/android/x86_64/include/openssl/ts.h new file mode 100644 index 00000000..a5659825 --- /dev/null +++ b/android/x86_64/include/openssl/ts.h @@ -0,0 +1,643 @@ +/* + * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_TS_H +# define HEADER_TS_H + +# include + +# ifndef OPENSSL_NO_TS +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# include +# include + +typedef struct TS_msg_imprint_st TS_MSG_IMPRINT; +typedef struct TS_req_st TS_REQ; +typedef struct TS_accuracy_st TS_ACCURACY; +typedef struct TS_tst_info_st TS_TST_INFO; + +/* Possible values for status. */ +# define TS_STATUS_GRANTED 0 +# define TS_STATUS_GRANTED_WITH_MODS 1 +# define TS_STATUS_REJECTION 2 +# define TS_STATUS_WAITING 3 +# define TS_STATUS_REVOCATION_WARNING 4 +# define TS_STATUS_REVOCATION_NOTIFICATION 5 + +/* Possible values for failure_info. */ +# define TS_INFO_BAD_ALG 0 +# define TS_INFO_BAD_REQUEST 2 +# define TS_INFO_BAD_DATA_FORMAT 5 +# define TS_INFO_TIME_NOT_AVAILABLE 14 +# define TS_INFO_UNACCEPTED_POLICY 15 +# define TS_INFO_UNACCEPTED_EXTENSION 16 +# define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 +# define TS_INFO_SYSTEM_FAILURE 25 + + +typedef struct TS_status_info_st TS_STATUS_INFO; +typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; +typedef struct ESS_cert_id ESS_CERT_ID; +typedef struct ESS_signing_cert ESS_SIGNING_CERT; + +DEFINE_STACK_OF(ESS_CERT_ID) + +typedef struct TS_resp_st TS_RESP; + +TS_REQ *TS_REQ_new(void); +void TS_REQ_free(TS_REQ *a); +int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); +TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); + +TS_REQ *TS_REQ_dup(TS_REQ *a); + +#ifndef OPENSSL_NO_STDIO +TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); +int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); +#endif +TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); +int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); +void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, + const unsigned char **pp, long length); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); + +#ifndef OPENSSL_NO_STDIO +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); +#endif +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT *a); + +TS_RESP *TS_RESP_new(void); +void TS_RESP_free(TS_RESP *a); +int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); +TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); +TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); +TS_RESP *TS_RESP_dup(TS_RESP *a); + +#ifndef OPENSSL_NO_STDIO +TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); +int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); +#endif +TS_RESP *d2i_TS_RESP_bio(BIO *bio, TS_RESP **a); +int i2d_TS_RESP_bio(BIO *bio, TS_RESP *a); + +TS_STATUS_INFO *TS_STATUS_INFO_new(void); +void TS_STATUS_INFO_free(TS_STATUS_INFO *a); +int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); +TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, + const unsigned char **pp, long length); +TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); + +TS_TST_INFO *TS_TST_INFO_new(void); +void TS_TST_INFO_free(TS_TST_INFO *a); +int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); +TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, + long length); +TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); + +#ifndef OPENSSL_NO_STDIO +TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); +#endif +TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO **a); +int i2d_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO *a); + +TS_ACCURACY *TS_ACCURACY_new(void); +void TS_ACCURACY_free(TS_ACCURACY *a); +int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); +TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, + long length); +TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); + +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); +void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); +int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **pp); +ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, + const unsigned char **pp, + long length); +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); + +ESS_CERT_ID *ESS_CERT_ID_new(void); +void ESS_CERT_ID_free(ESS_CERT_ID *a); +int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); +ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, + long length); +ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); + +ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); +void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); +int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **pp); +ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, + const unsigned char **pp, long length); +ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); + +int TS_REQ_set_version(TS_REQ *a, long version); +long TS_REQ_get_version(const TS_REQ *a); + +int TS_STATUS_INFO_set_status(TS_STATUS_INFO *a, int i); +const ASN1_INTEGER *TS_STATUS_INFO_get0_status(const TS_STATUS_INFO *a); + +const STACK_OF(ASN1_UTF8STRING) * +TS_STATUS_INFO_get0_text(const TS_STATUS_INFO *a); + +const ASN1_BIT_STRING * +TS_STATUS_INFO_get0_failure_info(const TS_STATUS_INFO *a); + +int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a); + +int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg); +X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a); + +int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int len); +ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a); + +int TS_REQ_set_policy_id(TS_REQ *a, const ASN1_OBJECT *policy); +ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a); + +int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a); + +int TS_REQ_set_cert_req(TS_REQ *a, int cert_req); +int TS_REQ_get_cert_req(const TS_REQ *a); + +STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a); +void TS_REQ_ext_free(TS_REQ *a); +int TS_REQ_get_ext_count(TS_REQ *a); +int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos); +int TS_REQ_get_ext_by_OBJ(TS_REQ *a, const ASN1_OBJECT *obj, int lastpos); +int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos); +X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc); +X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc); +int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc); +void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx); + +/* Function declarations for TS_REQ defined in ts/ts_req_print.c */ + +int TS_REQ_print_bio(BIO *bio, TS_REQ *a); + +/* Function declarations for TS_RESP defined in ts/ts_resp_utils.c */ + +int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *info); +TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a); + +/* Caller loses ownership of PKCS7 and TS_TST_INFO objects. */ +void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info); +PKCS7 *TS_RESP_get_token(TS_RESP *a); +TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a); + +int TS_TST_INFO_set_version(TS_TST_INFO *a, long version); +long TS_TST_INFO_get_version(const TS_TST_INFO *a); + +int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id); +ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a); + +int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a); + +int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial); +const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a); + +int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime); +const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a); + +int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy); +TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a); + +int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds); +const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a); + +int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis); +const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a); + +int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros); +const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a); + +int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering); +int TS_TST_INFO_get_ordering(const TS_TST_INFO *a); + +int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a); + +int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa); +GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a); + +STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a); +void TS_TST_INFO_ext_free(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_count(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos); +int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, const ASN1_OBJECT *obj, + int lastpos); +int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos); +X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc); +X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc); +int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc); +void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int *idx); + +/* + * Declarations related to response generation, defined in ts/ts_resp_sign.c. + */ + +/* Optional flags for response generation. */ + +/* Don't include the TSA name in response. */ +# define TS_TSA_NAME 0x01 + +/* Set ordering to true in response. */ +# define TS_ORDERING 0x02 + +/* + * Include the signer certificate and the other specified certificates in + * the ESS signing certificate attribute beside the PKCS7 signed data. + * Only the signer certificates is included by default. + */ +# define TS_ESS_CERT_ID_CHAIN 0x04 + +/* Forward declaration. */ +struct TS_resp_ctx; + +/* This must return a unique number less than 160 bits long. */ +typedef ASN1_INTEGER *(*TS_serial_cb) (struct TS_resp_ctx *, void *); + +/* + * This must return the seconds and microseconds since Jan 1, 1970 in the sec + * and usec variables allocated by the caller. Return non-zero for success + * and zero for failure. + */ +typedef int (*TS_time_cb) (struct TS_resp_ctx *, void *, long *sec, + long *usec); + +/* + * This must process the given extension. It can modify the TS_TST_INFO + * object of the context. Return values: !0 (processed), 0 (error, it must + * set the status info/failure info of the response). + */ +typedef int (*TS_extension_cb) (struct TS_resp_ctx *, X509_EXTENSION *, + void *); + +typedef struct TS_resp_ctx TS_RESP_CTX; + +DEFINE_STACK_OF_CONST(EVP_MD) + +/* Creates a response context that can be used for generating responses. */ +TS_RESP_CTX *TS_RESP_CTX_new(void); +void TS_RESP_CTX_free(TS_RESP_CTX *ctx); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key); + +int TS_RESP_CTX_set_signer_digest(TS_RESP_CTX *ctx, + const EVP_MD *signer_digest); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *def_policy); + +/* No additional certs are included in the response by default. */ +int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs); + +/* + * Adds a new acceptable policy, only the default policy is accepted by + * default. + */ +int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *policy); + +/* + * Adds a new acceptable message digest. Note that no message digests are + * accepted by default. The md argument is shared with the caller. + */ +int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md); + +/* Accuracy is not included by default. */ +int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, + int secs, int millis, int micros); + +/* + * Clock precision digits, i.e. the number of decimal digits: '0' means sec, + * '3' msec, '6' usec, and so on. Default is 0. + */ +int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, + unsigned clock_precision_digits); +/* At most we accept usec precision. */ +# define TS_MAX_CLOCK_PRECISION_DIGITS 6 + +/* Maximum status message length */ +# define TS_MAX_STATUS_LENGTH (1024 * 1024) + +/* No flags are set by default. */ +void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags); + +/* Default callback always returns a constant. */ +void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void *data); + +/* Default callback uses the gettimeofday() and gmtime() system calls. */ +void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void *data); + +/* + * Default callback rejects all extensions. The extension callback is called + * when the TS_TST_INFO object is already set up and not signed yet. + */ +/* FIXME: extension handling is not tested yet. */ +void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, + TS_extension_cb cb, void *data); + +/* The following methods can be used in the callbacks. */ +int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, + int status, const char *text); + +/* Sets the status info only if it is still TS_STATUS_GRANTED. */ +int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx, + int status, const char *text); + +int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure); + +/* The get methods below can be used in the extension callback. */ +TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx); + +TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx); + +/* + * Creates the signed TS_TST_INFO and puts it in TS_RESP. + * In case of errors it sets the status info properly. + * Returns NULL only in case of memory allocation/fatal error. + */ +TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio); + +/* + * Declarations related to response verification, + * they are defined in ts/ts_resp_verify.c. + */ + +int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, + X509_STORE *store, X509 **signer_out); + +/* Context structure for the generic verify method. */ + +/* Verify the signer's certificate and the signature of the response. */ +# define TS_VFY_SIGNATURE (1u << 0) +/* Verify the version number of the response. */ +# define TS_VFY_VERSION (1u << 1) +/* Verify if the policy supplied by the user matches the policy of the TSA. */ +# define TS_VFY_POLICY (1u << 2) +/* + * Verify the message imprint provided by the user. This flag should not be + * specified with TS_VFY_DATA. + */ +# define TS_VFY_IMPRINT (1u << 3) +/* + * Verify the message imprint computed by the verify method from the user + * provided data and the MD algorithm of the response. This flag should not + * be specified with TS_VFY_IMPRINT. + */ +# define TS_VFY_DATA (1u << 4) +/* Verify the nonce value. */ +# define TS_VFY_NONCE (1u << 5) +/* Verify if the TSA name field matches the signer certificate. */ +# define TS_VFY_SIGNER (1u << 6) +/* Verify if the TSA name field equals to the user provided name. */ +# define TS_VFY_TSA_NAME (1u << 7) + +/* You can use the following convenience constants. */ +# define TS_VFY_ALL_IMPRINT (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_IMPRINT \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) +# define TS_VFY_ALL_DATA (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_DATA \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) + +typedef struct TS_verify_ctx TS_VERIFY_CTX; + +int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response); +int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token); + +/* + * Declarations related to response verification context, + */ +TS_VERIFY_CTX *TS_VERIFY_CTX_new(void); +void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); +int TS_VERIFY_CTX_set_flags(TS_VERIFY_CTX *ctx, int f); +int TS_VERIFY_CTX_add_flags(TS_VERIFY_CTX *ctx, int f); +BIO *TS_VERIFY_CTX_set_data(TS_VERIFY_CTX *ctx, BIO *b); +unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx, + unsigned char *hexstr, long len); +X509_STORE *TS_VERIFY_CTX_set_store(TS_VERIFY_CTX *ctx, X509_STORE *s); +STACK_OF(X509) *TS_VERIFY_CTS_set_certs(TS_VERIFY_CTX *ctx, STACK_OF(X509) *certs); + +/*- + * If ctx is NULL, it allocates and returns a new object, otherwise + * it returns ctx. It initialises all the members as follows: + * flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE) + * certs = NULL + * store = NULL + * policy = policy from the request or NULL if absent (in this case + * TS_VFY_POLICY is cleared from flags as well) + * md_alg = MD algorithm from request + * imprint, imprint_len = imprint from request + * data = NULL + * nonce, nonce_len = nonce from the request or NULL if absent (in this case + * TS_VFY_NONCE is cleared from flags as well) + * tsa_name = NULL + * Important: after calling this method TS_VFY_SIGNATURE should be added! + */ +TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx); + +/* Function declarations for TS_RESP defined in ts/ts_resp_print.c */ + +int TS_RESP_print_bio(BIO *bio, TS_RESP *a); +int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a); +int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a); + +/* Common utility functions defined in ts/ts_lib.c */ + +int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num); +int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj); +int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions); +int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg); +int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg); + +/* + * Function declarations for handling configuration options, defined in + * ts/ts_conf.c + */ + +X509 *TS_CONF_load_cert(const char *file); +STACK_OF(X509) *TS_CONF_load_certs(const char *file); +EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass); +const char *TS_CONF_get_tsa_section(CONF *conf, const char *section); +int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb, + TS_RESP_CTX *ctx); +#ifndef OPENSSL_NO_ENGINE +int TS_CONF_set_crypto_device(CONF *conf, const char *section, + const char *device); +int TS_CONF_set_default_engine(const char *name); +#endif +int TS_CONF_set_signer_cert(CONF *conf, const char *section, + const char *cert, TS_RESP_CTX *ctx); +int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_key(CONF *conf, const char *section, + const char *key, const char *pass, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_digest(CONF *conf, const char *section, + const char *md, TS_RESP_CTX *ctx); +int TS_CONF_set_def_policy(CONF *conf, const char *section, + const char *policy, TS_RESP_CTX *ctx); +int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_clock_precision_digits(CONF *conf, const char *section, + TS_RESP_CTX *ctx); +int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section, + TS_RESP_CTX *ctx); + +/* -------------------------------------------------- */ +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_TS_strings(void); + +/* Error codes for the TS functions. */ + +/* Function codes. */ +# define TS_F_DEF_SERIAL_CB 110 +# define TS_F_DEF_TIME_CB 111 +# define TS_F_ESS_ADD_SIGNING_CERT 112 +# define TS_F_ESS_CERT_ID_NEW_INIT 113 +# define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 +# define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 +# define TS_F_PKCS7_TO_TS_TST_INFO 148 +# define TS_F_TS_ACCURACY_SET_MICROS 115 +# define TS_F_TS_ACCURACY_SET_MILLIS 116 +# define TS_F_TS_ACCURACY_SET_SECONDS 117 +# define TS_F_TS_CHECK_IMPRINTS 100 +# define TS_F_TS_CHECK_NONCES 101 +# define TS_F_TS_CHECK_POLICY 102 +# define TS_F_TS_CHECK_SIGNING_CERTS 103 +# define TS_F_TS_CHECK_STATUS_INFO 104 +# define TS_F_TS_COMPUTE_IMPRINT 145 +# define TS_F_TS_CONF_INVALID 151 +# define TS_F_TS_CONF_LOAD_CERT 153 +# define TS_F_TS_CONF_LOAD_CERTS 154 +# define TS_F_TS_CONF_LOAD_KEY 155 +# define TS_F_TS_CONF_LOOKUP_FAIL 152 +# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 +# define TS_F_TS_GET_STATUS_TEXT 105 +# define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 +# define TS_F_TS_REQ_SET_MSG_IMPRINT 119 +# define TS_F_TS_REQ_SET_NONCE 120 +# define TS_F_TS_REQ_SET_POLICY_ID 121 +# define TS_F_TS_RESP_CREATE_RESPONSE 122 +# define TS_F_TS_RESP_CREATE_TST_INFO 123 +# define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 +# define TS_F_TS_RESP_CTX_ADD_MD 125 +# define TS_F_TS_RESP_CTX_ADD_POLICY 126 +# define TS_F_TS_RESP_CTX_NEW 127 +# define TS_F_TS_RESP_CTX_SET_ACCURACY 128 +# define TS_F_TS_RESP_CTX_SET_CERTS 129 +# define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 +# define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 +# define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 +# define TS_F_TS_RESP_GET_POLICY 133 +# define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 +# define TS_F_TS_RESP_SET_STATUS_INFO 135 +# define TS_F_TS_RESP_SET_TST_INFO 150 +# define TS_F_TS_RESP_SIGN 136 +# define TS_F_TS_RESP_VERIFY_SIGNATURE 106 +# define TS_F_TS_TST_INFO_SET_ACCURACY 137 +# define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 +# define TS_F_TS_TST_INFO_SET_NONCE 139 +# define TS_F_TS_TST_INFO_SET_POLICY_ID 140 +# define TS_F_TS_TST_INFO_SET_SERIAL 141 +# define TS_F_TS_TST_INFO_SET_TIME 142 +# define TS_F_TS_TST_INFO_SET_TSA 143 +# define TS_F_TS_VERIFY 108 +# define TS_F_TS_VERIFY_CERT 109 +# define TS_F_TS_VERIFY_CTX_NEW 144 + +/* Reason codes. */ +# define TS_R_BAD_PKCS7_TYPE 132 +# define TS_R_BAD_TYPE 133 +# define TS_R_CANNOT_LOAD_CERT 137 +# define TS_R_CANNOT_LOAD_KEY 138 +# define TS_R_CERTIFICATE_VERIFY_ERROR 100 +# define TS_R_COULD_NOT_SET_ENGINE 127 +# define TS_R_COULD_NOT_SET_TIME 115 +# define TS_R_DETACHED_CONTENT 134 +# define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 +# define TS_R_ESS_SIGNING_CERTIFICATE_ERROR 101 +# define TS_R_INVALID_NULL_POINTER 102 +# define TS_R_INVALID_SIGNER_CERTIFICATE_PURPOSE 117 +# define TS_R_MESSAGE_IMPRINT_MISMATCH 103 +# define TS_R_NONCE_MISMATCH 104 +# define TS_R_NONCE_NOT_RETURNED 105 +# define TS_R_NO_CONTENT 106 +# define TS_R_NO_TIME_STAMP_TOKEN 107 +# define TS_R_PKCS7_ADD_SIGNATURE_ERROR 118 +# define TS_R_PKCS7_ADD_SIGNED_ATTR_ERROR 119 +# define TS_R_PKCS7_TO_TS_TST_INFO_FAILED 129 +# define TS_R_POLICY_MISMATCH 108 +# define TS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 120 +# define TS_R_RESPONSE_SETUP_ERROR 121 +# define TS_R_SIGNATURE_FAILURE 109 +# define TS_R_THERE_MUST_BE_ONE_SIGNER 110 +# define TS_R_TIME_SYSCALL_ERROR 122 +# define TS_R_TOKEN_NOT_PRESENT 130 +# define TS_R_TOKEN_PRESENT 131 +# define TS_R_TSA_NAME_MISMATCH 111 +# define TS_R_TSA_UNTRUSTED 112 +# define TS_R_TST_INFO_SETUP_ERROR 123 +# define TS_R_TS_DATASIGN 124 +# define TS_R_UNACCEPTABLE_POLICY 125 +# define TS_R_UNSUPPORTED_MD_ALGORITHM 126 +# define TS_R_UNSUPPORTED_VERSION 113 +# define TS_R_VAR_BAD_VALUE 135 +# define TS_R_VAR_LOOKUP_FAILURE 136 +# define TS_R_WRONG_CONTENT_TYPE 114 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/txt_db.h b/android/x86_64/include/openssl/txt_db.h new file mode 100644 index 00000000..0e6c943e --- /dev/null +++ b/android/x86_64/include/openssl/txt_db.h @@ -0,0 +1,57 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_TXT_DB_H +# define HEADER_TXT_DB_H + +# include +# include +# include +# include + +# define DB_ERROR_OK 0 +# define DB_ERROR_MALLOC 1 +# define DB_ERROR_INDEX_CLASH 2 +# define DB_ERROR_INDEX_OUT_OF_RANGE 3 +# define DB_ERROR_NO_INDEX 4 +# define DB_ERROR_INSERT_INDEX_CLASH 5 +# define DB_ERROR_WRONG_NUM_FIELDS 6 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OPENSSL_STRING *OPENSSL_PSTRING; +DEFINE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) + +typedef struct txt_db_st { + int num_fields; + STACK_OF(OPENSSL_PSTRING) *data; + LHASH_OF(OPENSSL_STRING) **index; + int (**qual) (OPENSSL_STRING *); + long error; + long arg1; + long arg2; + OPENSSL_STRING *arg_row; +} TXT_DB; + +TXT_DB *TXT_DB_read(BIO *in, int num); +long TXT_DB_write(BIO *out, TXT_DB *db); +int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *), + OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC cmp); +void TXT_DB_free(TXT_DB *db); +OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, + OPENSSL_STRING *value); +int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/android/x86_64/include/openssl/ui.h b/android/x86_64/include/openssl/ui.h new file mode 100644 index 00000000..26f4f044 --- /dev/null +++ b/android/x86_64/include/openssl/ui.h @@ -0,0 +1,368 @@ +/* + * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_UI_H +# define HEADER_UI_H + +# include + +# ifndef OPENSSL_NO_UI + +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * All the following functions return -1 or NULL on error and in some cases + * (UI_process()) -2 if interrupted or in some other way cancelled. When + * everything is fine, they return 0, a positive value or a non-NULL pointer, + * all depending on their purpose. + */ + +/* Creators and destructor. */ +UI *UI_new(void); +UI *UI_new_method(const UI_METHOD *method); +void UI_free(UI *ui); + +/*- + The following functions are used to add strings to be printed and prompt + strings to prompt for data. The names are UI_{add,dup}__string + and UI_{add,dup}_input_boolean. + + UI_{add,dup}__string have the following meanings: + add add a text or prompt string. The pointers given to these + functions are used verbatim, no copying is done. + dup make a copy of the text or prompt string, then add the copy + to the collection of strings in the user interface. + + The function is a name for the functionality that the given + string shall be used for. It can be one of: + input use the string as data prompt. + verify use the string as verification prompt. This + is used to verify a previous input. + info use the string for informational output. + error use the string for error output. + Honestly, there's currently no difference between info and error for the + moment. + + UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", + and are typically used when one wants to prompt for a yes/no response. + + All of the functions in this group take a UI and a prompt string. + The string input and verify addition functions also take a flag argument, + a buffer for the result to end up with, a minimum input size and a maximum + input size (the result buffer MUST be large enough to be able to contain + the maximum number of characters). Additionally, the verify addition + functions takes another buffer to compare the result against. + The boolean input functions take an action description string (which should + be safe to ignore if the expected user action is obvious, for example with + a dialog box with an OK button and a Cancel button), a string of acceptable + characters to mean OK and to mean Cancel. The two last strings are checked + to make sure they don't have common characters. Additionally, the same + flag argument as for the string input is taken, as well as a result buffer. + The result buffer is required to be at least one byte long. Depending on + the answer, the first character from the OK or the Cancel character strings + will be stored in the first byte of the result buffer. No NUL will be + added, so the result is *not* a string. + + On success, the all return an index of the added information. That index + is useful when retrieving results with UI_get0_result(). */ +int UI_add_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_dup_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_add_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_dup_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_add_info_string(UI *ui, const char *text); +int UI_dup_info_string(UI *ui, const char *text); +int UI_add_error_string(UI *ui, const char *text); +int UI_dup_error_string(UI *ui, const char *text); + +/* These are the possible flags. They can be or'ed together. */ +/* Use to have echoing of input */ +# define UI_INPUT_FLAG_ECHO 0x01 +/* + * Use a default password. Where that password is found is completely up to + * the application, it might for example be in the user data set with + * UI_add_user_data(). It is not recommended to have more than one input in + * each UI being marked with this flag, or the application might get + * confused. + */ +# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 + +/*- + * The user of these routines may want to define flags of their own. The core + * UI won't look at those, but will pass them on to the method routines. They + * must use higher bits so they don't get confused with the UI bits above. + * UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good + * example of use is this: + * + * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) + * +*/ +# define UI_INPUT_FLAG_USER_BASE 16 + +/*- + * The following function helps construct a prompt. object_desc is a + * textual short description of the object, for example "pass phrase", + * and object_name is the name of the object (might be a card name or + * a file name. + * The returned string shall always be allocated on the heap with + * OPENSSL_malloc(), and need to be free'd with OPENSSL_free(). + * + * If the ui_method doesn't contain a pointer to a user-defined prompt + * constructor, a default string is built, looking like this: + * + * "Enter {object_desc} for {object_name}:" + * + * So, if object_desc has the value "pass phrase" and object_name has + * the value "foo.key", the resulting string is: + * + * "Enter pass phrase for foo.key:" +*/ +char *UI_construct_prompt(UI *ui_method, + const char *object_desc, const char *object_name); + +/* + * The following function is used to store a pointer to user-specific data. + * Any previous such pointer will be returned and replaced. + * + * For callback purposes, this function makes a lot more sense than using + * ex_data, since the latter requires that different parts of OpenSSL or + * applications share the same ex_data index. + * + * Note that the UI_OpenSSL() method completely ignores the user data. Other + * methods may not, however. + */ +void *UI_add_user_data(UI *ui, void *user_data); +/* We need a user data retrieving function as well. */ +void *UI_get0_user_data(UI *ui); + +/* Return the result associated with a prompt given with the index i. */ +const char *UI_get0_result(UI *ui, int i); + +/* When all strings have been added, process the whole thing. */ +int UI_process(UI *ui); + +/* + * Give a user interface parametrised control commands. This can be used to + * send down an integer, a data pointer or a function pointer, as well as be + * used to get information from a UI. + */ +int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); + +/* The commands */ +/* + * Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the + * OpenSSL error stack before printing any info or added error messages and + * before any prompting. + */ +# define UI_CTRL_PRINT_ERRORS 1 +/* + * Check if a UI_process() is possible to do again with the same instance of + * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 + * if not. + */ +# define UI_CTRL_IS_REDOABLE 2 + +/* Some methods may use extra data */ +# define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) +# define UI_get_app_data(s) UI_get_ex_data(s,0) + +#define UI_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_UI, l, p, newf, dupf, freef) +int UI_set_ex_data(UI *r, int idx, void *arg); +void *UI_get_ex_data(UI *r, int idx); + +/* Use specific methods instead of the built-in one */ +void UI_set_default_method(const UI_METHOD *meth); +const UI_METHOD *UI_get_default_method(void); +const UI_METHOD *UI_get_method(UI *ui); +const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); + +/* The method with all the built-in thingies */ +UI_METHOD *UI_OpenSSL(void); + +/* ---------- For method writers ---------- */ +/*- + A method contains a number of functions that implement the low level + of the User Interface. The functions are: + + an opener This function starts a session, maybe by opening + a channel to a tty, or by opening a window. + a writer This function is called to write a given string, + maybe to the tty, maybe as a field label in a + window. + a flusher This function is called to flush everything that + has been output so far. It can be used to actually + display a dialog box after it has been built. + a reader This function is called to read a given prompt, + maybe from the tty, maybe from a field in a + window. Note that it's called with all string + structures, not only the prompt ones, so it must + check such things itself. + a closer This function closes the session, maybe by closing + the channel to the tty, or closing the window. + + All these functions are expected to return: + + 0 on error. + 1 on success. + -1 on out-of-band events, for example if some prompting has + been canceled (by pressing Ctrl-C, for example). This is + only checked when returned by the flusher or the reader. + + The way this is used, the opener is first called, then the writer for all + strings, then the flusher, then the reader for all strings and finally the + closer. Note that if you want to prompt from a terminal or other command + line interface, the best is to have the reader also write the prompts + instead of having the writer do it. If you want to prompt from a dialog + box, the writer can be used to build up the contents of the box, and the + flusher to actually display the box and run the event loop until all data + has been given, after which the reader only grabs the given data and puts + them back into the UI strings. + + All method functions take a UI as argument. Additionally, the writer and + the reader take a UI_STRING. +*/ + +/* + * The UI_STRING type is the data structure that contains all the needed info + * about a string or a prompt, including test data for a verification prompt. + */ +typedef struct ui_string_st UI_STRING; +DEFINE_STACK_OF(UI_STRING) + +/* + * The different types of strings that are currently supported. This is only + * needed by method authors. + */ +enum UI_string_types { + UIT_NONE = 0, + UIT_PROMPT, /* Prompt for a string */ + UIT_VERIFY, /* Prompt for a string and verify */ + UIT_BOOLEAN, /* Prompt for a yes/no response */ + UIT_INFO, /* Send info to the user */ + UIT_ERROR /* Send an error message to the user */ +}; + +/* Create and manipulate methods */ +UI_METHOD *UI_create_method(const char *name); +void UI_destroy_method(UI_METHOD *ui_method); +int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui)); +int UI_method_set_writer(UI_METHOD *method, + int (*writer) (UI *ui, UI_STRING *uis)); +int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui)); +int UI_method_set_reader(UI_METHOD *method, + int (*reader) (UI *ui, UI_STRING *uis)); +int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui)); +int UI_method_set_prompt_constructor(UI_METHOD *method, + char *(*prompt_constructor) (UI *ui, + const char + *object_desc, + const char + *object_name)); +int (*UI_method_get_opener(UI_METHOD *method)) (UI *); +int (*UI_method_get_writer(UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_flusher(UI_METHOD *method)) (UI *); +int (*UI_method_get_reader(UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_closer(UI_METHOD *method)) (UI *); +char *(*UI_method_get_prompt_constructor(UI_METHOD *method)) (UI *, + const char *, + const char *); + +/* + * The following functions are helpers for method writers to access relevant + * data from a UI_STRING. + */ + +/* Return type of the UI_STRING */ +enum UI_string_types UI_get_string_type(UI_STRING *uis); +/* Return input flags of the UI_STRING */ +int UI_get_input_flags(UI_STRING *uis); +/* Return the actual string to output (the prompt, info or error) */ +const char *UI_get0_output_string(UI_STRING *uis); +/* + * Return the optional action string to output (the boolean prompt + * instruction) + */ +const char *UI_get0_action_string(UI_STRING *uis); +/* Return the result of a prompt */ +const char *UI_get0_result_string(UI_STRING *uis); +/* + * Return the string to test the result against. Only useful with verifies. + */ +const char *UI_get0_test_string(UI_STRING *uis); +/* Return the required minimum size of the result */ +int UI_get_result_minsize(UI_STRING *uis); +/* Return the required maximum size of the result */ +int UI_get_result_maxsize(UI_STRING *uis); +/* Set the result of a UI_STRING. */ +int UI_set_result(UI *ui, UI_STRING *uis, const char *result); + +/* A couple of popular utility functions */ +int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, + int verify); +int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, + int verify); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_UI_strings(void); + +/* Error codes for the UI functions. */ + +/* Function codes. */ +# define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 +# define UI_F_GENERAL_ALLOCATE_PROMPT 109 +# define UI_F_UI_CREATE_METHOD 112 +# define UI_F_UI_CTRL 111 +# define UI_F_UI_DUP_ERROR_STRING 101 +# define UI_F_UI_DUP_INFO_STRING 102 +# define UI_F_UI_DUP_INPUT_BOOLEAN 110 +# define UI_F_UI_DUP_INPUT_STRING 103 +# define UI_F_UI_DUP_VERIFY_STRING 106 +# define UI_F_UI_GET0_RESULT 107 +# define UI_F_UI_NEW_METHOD 104 +# define UI_F_UI_SET_RESULT 105 + +/* Reason codes. */ +# define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104 +# define UI_R_INDEX_TOO_LARGE 102 +# define UI_R_INDEX_TOO_SMALL 103 +# define UI_R_NO_RESULT_BUFFER 105 +# define UI_R_RESULT_TOO_LARGE 100 +# define UI_R_RESULT_TOO_SMALL 101 +# define UI_R_UNKNOWN_CONTROL_COMMAND 106 + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/android/x86_64/include/openssl/whrlpool.h b/android/x86_64/include/openssl/whrlpool.h new file mode 100644 index 00000000..20ea3503 --- /dev/null +++ b/android/x86_64/include/openssl/whrlpool.h @@ -0,0 +1,48 @@ +/* + * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_WHRLPOOL_H +# define HEADER_WHRLPOOL_H + +#include + +# ifndef OPENSSL_NO_WHIRLPOOL +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +# define WHIRLPOOL_DIGEST_LENGTH (512/8) +# define WHIRLPOOL_BBLOCK 512 +# define WHIRLPOOL_COUNTER (256/8) + +typedef struct { + union { + unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; + /* double q is here to ensure 64-bit alignment */ + double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)]; + } H; + unsigned char data[WHIRLPOOL_BBLOCK / 8]; + unsigned int bitoff; + size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; +} WHIRLPOOL_CTX; + +int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); +int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); +void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); +int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); +unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/android/x86_64/include/openssl/x509.h b/android/x86_64/include/openssl/x509.h new file mode 100644 index 00000000..c8996f35 --- /dev/null +++ b/android/x86_64/include/openssl/x509.h @@ -0,0 +1,1123 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_X509_H +# define HEADER_X509_H + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# include +# include +# endif + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define X509_FILETYPE_PEM 1 +# define X509_FILETYPE_ASN1 2 +# define X509_FILETYPE_DEFAULT 3 + +# define X509v3_KU_DIGITAL_SIGNATURE 0x0080 +# define X509v3_KU_NON_REPUDIATION 0x0040 +# define X509v3_KU_KEY_ENCIPHERMENT 0x0020 +# define X509v3_KU_DATA_ENCIPHERMENT 0x0010 +# define X509v3_KU_KEY_AGREEMENT 0x0008 +# define X509v3_KU_KEY_CERT_SIGN 0x0004 +# define X509v3_KU_CRL_SIGN 0x0002 +# define X509v3_KU_ENCIPHER_ONLY 0x0001 +# define X509v3_KU_DECIPHER_ONLY 0x8000 +# define X509v3_KU_UNDEF 0xffff + +struct X509_algor_st { + ASN1_OBJECT *algorithm; + ASN1_TYPE *parameter; +} /* X509_ALGOR */ ; + +typedef STACK_OF(X509_ALGOR) X509_ALGORS; + +typedef struct X509_val_st { + ASN1_TIME *notBefore; + ASN1_TIME *notAfter; +} X509_VAL; + +typedef struct X509_sig_st X509_SIG; + +typedef struct X509_name_entry_st X509_NAME_ENTRY; + +DEFINE_STACK_OF(X509_NAME_ENTRY) + +DEFINE_STACK_OF(X509_NAME) + +# define X509_EX_V_NETSCAPE_HACK 0x8000 +# define X509_EX_V_INIT 0x0001 +typedef struct X509_extension_st X509_EXTENSION; + +typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; + +DEFINE_STACK_OF(X509_EXTENSION) + +typedef struct x509_attributes_st X509_ATTRIBUTE; + +DEFINE_STACK_OF(X509_ATTRIBUTE) + +typedef struct X509_req_info_st X509_REQ_INFO; + +typedef struct X509_req_st X509_REQ; + +typedef struct x509_cert_aux_st X509_CERT_AUX; + +typedef struct x509_cinf_st X509_CINF; + +DEFINE_STACK_OF(X509) + +/* This is used for a table of trust checking functions */ + +typedef struct x509_trust_st { + int trust; + int flags; + int (*check_trust) (struct x509_trust_st *, X509 *, int); + char *name; + int arg1; + void *arg2; +} X509_TRUST; + +DEFINE_STACK_OF(X509_TRUST) + +/* standard trust ids */ + +# define X509_TRUST_DEFAULT 0 /* Only valid in purpose settings */ + +# define X509_TRUST_COMPAT 1 +# define X509_TRUST_SSL_CLIENT 2 +# define X509_TRUST_SSL_SERVER 3 +# define X509_TRUST_EMAIL 4 +# define X509_TRUST_OBJECT_SIGN 5 +# define X509_TRUST_OCSP_SIGN 6 +# define X509_TRUST_OCSP_REQUEST 7 +# define X509_TRUST_TSA 8 + +/* Keep these up to date! */ +# define X509_TRUST_MIN 1 +# define X509_TRUST_MAX 8 + +/* trust_flags values */ +# define X509_TRUST_DYNAMIC (1U << 0) +# define X509_TRUST_DYNAMIC_NAME (1U << 1) +/* No compat trust if self-signed, preempts "DO_SS" */ +# define X509_TRUST_NO_SS_COMPAT (1U << 2) +/* Compat trust if no explicit accepted trust EKUs */ +# define X509_TRUST_DO_SS_COMPAT (1U << 3) +/* Accept "anyEKU" as a wildcard trust OID */ +# define X509_TRUST_OK_ANY_EKU (1U << 4) + +/* check_trust return codes */ + +# define X509_TRUST_TRUSTED 1 +# define X509_TRUST_REJECTED 2 +# define X509_TRUST_UNTRUSTED 3 + +/* Flags for X509_print_ex() */ + +# define X509_FLAG_COMPAT 0 +# define X509_FLAG_NO_HEADER 1L +# define X509_FLAG_NO_VERSION (1L << 1) +# define X509_FLAG_NO_SERIAL (1L << 2) +# define X509_FLAG_NO_SIGNAME (1L << 3) +# define X509_FLAG_NO_ISSUER (1L << 4) +# define X509_FLAG_NO_VALIDITY (1L << 5) +# define X509_FLAG_NO_SUBJECT (1L << 6) +# define X509_FLAG_NO_PUBKEY (1L << 7) +# define X509_FLAG_NO_EXTENSIONS (1L << 8) +# define X509_FLAG_NO_SIGDUMP (1L << 9) +# define X509_FLAG_NO_AUX (1L << 10) +# define X509_FLAG_NO_ATTRIBUTES (1L << 11) +# define X509_FLAG_NO_IDS (1L << 12) + +/* Flags specific to X509_NAME_print_ex() */ + +/* The field separator information */ + +# define XN_FLAG_SEP_MASK (0xf << 16) + +# define XN_FLAG_COMPAT 0/* Traditional; use old X509_NAME_print */ +# define XN_FLAG_SEP_COMMA_PLUS (1 << 16)/* RFC2253 ,+ */ +# define XN_FLAG_SEP_CPLUS_SPC (2 << 16)/* ,+ spaced: more readable */ +# define XN_FLAG_SEP_SPLUS_SPC (3 << 16)/* ;+ spaced */ +# define XN_FLAG_SEP_MULTILINE (4 << 16)/* One line per field */ + +# define XN_FLAG_DN_REV (1 << 20)/* Reverse DN order */ + +/* How the field name is shown */ + +# define XN_FLAG_FN_MASK (0x3 << 21) + +# define XN_FLAG_FN_SN 0/* Object short name */ +# define XN_FLAG_FN_LN (1 << 21)/* Object long name */ +# define XN_FLAG_FN_OID (2 << 21)/* Always use OIDs */ +# define XN_FLAG_FN_NONE (3 << 21)/* No field names */ + +# define XN_FLAG_SPC_EQ (1 << 23)/* Put spaces round '=' */ + +/* + * This determines if we dump fields we don't recognise: RFC2253 requires + * this. + */ + +# define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) + +# define XN_FLAG_FN_ALIGN (1 << 25)/* Align field names to 20 + * characters */ + +/* Complete set of RFC2253 flags */ + +# define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ + XN_FLAG_SEP_COMMA_PLUS | \ + XN_FLAG_DN_REV | \ + XN_FLAG_FN_SN | \ + XN_FLAG_DUMP_UNKNOWN_FIELDS) + +/* readable oneline form */ + +# define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ + ASN1_STRFLGS_ESC_QUOTE | \ + XN_FLAG_SEP_CPLUS_SPC | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_SN) + +/* readable multiline form */ + +# define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + XN_FLAG_SEP_MULTILINE | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_LN | \ + XN_FLAG_FN_ALIGN) + +DEFINE_STACK_OF(X509_REVOKED) + +typedef struct X509_crl_info_st X509_CRL_INFO; + +DEFINE_STACK_OF(X509_CRL) + +typedef struct private_key_st { + int version; + /* The PKCS#8 data types */ + X509_ALGOR *enc_algor; + ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ + /* When decrypted, the following will not be NULL */ + EVP_PKEY *dec_pkey; + /* used to encrypt and decrypt */ + int key_length; + char *key_data; + int key_free; /* true if we should auto free key_data */ + /* expanded version of 'enc_algor' */ + EVP_CIPHER_INFO cipher; +} X509_PKEY; + +typedef struct X509_info_st { + X509 *x509; + X509_CRL *crl; + X509_PKEY *x_pkey; + EVP_CIPHER_INFO enc_cipher; + int enc_len; + char *enc_data; +} X509_INFO; + +DEFINE_STACK_OF(X509_INFO) + +/* + * The next 2 structures and their 8 routines were sent to me by Pat Richard + * and are used to manipulate Netscapes spki structures - + * useful if you are writing a CA web page + */ +typedef struct Netscape_spkac_st { + X509_PUBKEY *pubkey; + ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ +} NETSCAPE_SPKAC; + +typedef struct Netscape_spki_st { + NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ + X509_ALGOR sig_algor; + ASN1_BIT_STRING *signature; +} NETSCAPE_SPKI; + +/* Netscape certificate sequence structure */ +typedef struct Netscape_certificate_sequence { + ASN1_OBJECT *type; + STACK_OF(X509) *certs; +} NETSCAPE_CERT_SEQUENCE; + +/*- Unused (and iv length is wrong) +typedef struct CBCParameter_st + { + unsigned char iv[8]; + } CBC_PARAM; +*/ + +/* Password based encryption structure */ + +typedef struct PBEPARAM_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; +} PBEPARAM; + +/* Password based encryption V2 structures */ + +typedef struct PBE2PARAM_st { + X509_ALGOR *keyfunc; + X509_ALGOR *encryption; +} PBE2PARAM; + +typedef struct PBKDF2PARAM_st { +/* Usually OCTET STRING but could be anything */ + ASN1_TYPE *salt; + ASN1_INTEGER *iter; + ASN1_INTEGER *keylength; + X509_ALGOR *prf; +} PBKDF2PARAM; + +#ifdef __cplusplus +} +#endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define X509_EXT_PACK_UNKNOWN 1 +# define X509_EXT_PACK_STRING 2 + +# define X509_extract_key(x) X509_get_pubkey(x)/*****/ +# define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) +# define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) + +void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); +X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), + int (*crl_free) (X509_CRL *crl), + int (*crl_lookup) (X509_CRL *crl, + X509_REVOKED **ret, + ASN1_INTEGER *ser, + X509_NAME *issuer), + int (*crl_verify) (X509_CRL *crl, + EVP_PKEY *pk)); +void X509_CRL_METHOD_free(X509_CRL_METHOD *m); + +void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); +void *X509_CRL_get_meth_data(X509_CRL *crl); + +const char *X509_verify_cert_error_string(long n); + +int X509_verify(X509 *a, EVP_PKEY *r); + +int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); +int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); +int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); + +NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len); +char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); +EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); +int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); + +int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); + +int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); +int X509_signature_print(BIO *bp, const X509_ALGOR *alg, + const ASN1_STRING *sig); + +int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); +# ifndef OPENSSL_NO_OCSP +int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); +# endif +int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); +int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +# ifndef OPENSSL_NO_OCSP +int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); +# endif +int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); + +int X509_pubkey_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); + +# ifndef OPENSSL_NO_STDIO +X509 *d2i_X509_fp(FILE *fp, X509 **x509); +int i2d_X509_fp(FILE *fp, X509 *x509); +X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); +int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); +int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); +int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); +int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); +int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); +DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); +int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); +int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); +int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); +int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); +int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); +# endif + +X509 *d2i_X509_bio(BIO *bp, X509 **x509); +int i2d_X509_bio(BIO *bp, X509 *x509); +X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); +int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); +X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); +int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); +# ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); +int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); +RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); +int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); +# endif +# ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); +int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); +DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); +int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); +# endif +# ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); +int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); +int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); +# endif +X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); +int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); +int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); + +X509 *X509_dup(X509 *x509); +X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); +X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); +X509_CRL *X509_CRL_dup(X509_CRL *crl); +X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); +X509_REQ *X509_REQ_dup(X509_REQ *req); +X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); +int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, + void *pval); +void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, + const void **ppval, const X509_ALGOR *algor); +void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); +int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); + +X509_NAME *X509_NAME_dup(X509_NAME *xn); +X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); + +int X509_cmp_time(const ASN1_TIME *s, time_t *t); +int X509_cmp_current_time(const ASN1_TIME *s); +ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); +ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, + int offset_day, long offset_sec, time_t *t); +ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj); + +const char *X509_get_default_cert_area(void); +const char *X509_get_default_cert_dir(void); +const char *X509_get_default_cert_file(void); +const char *X509_get_default_cert_dir_env(void); +const char *X509_get_default_cert_file_env(void); +const char *X509_get_default_private_dir(void); + +X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey); + +DECLARE_ASN1_FUNCTIONS(X509_ALGOR) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) +DECLARE_ASN1_FUNCTIONS(X509_VAL) + +DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) + +int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); +EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key); +EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); +int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); +long X509_get_pathlen(X509 *x); +int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); +EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); +# ifndef OPENSSL_NO_RSA +int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); +RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_DSA +int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); +DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); +# endif +# ifndef OPENSSL_NO_EC +int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); +EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); +# endif + +DECLARE_ASN1_FUNCTIONS(X509_SIG) +void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, + const ASN1_OCTET_STRING **pdigest); +void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, + ASN1_OCTET_STRING **pdigest); + +DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) +DECLARE_ASN1_FUNCTIONS(X509_REQ) + +DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) +X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); + +DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) + +DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) + +DECLARE_ASN1_FUNCTIONS(X509_NAME) + +int X509_NAME_set(X509_NAME **xn, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(X509_CINF) + +DECLARE_ASN1_FUNCTIONS(X509) +DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) + +#define X509_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, l, p, newf, dupf, freef) +int X509_set_ex_data(X509 *r, int idx, void *arg); +void *X509_get_ex_data(X509 *r, int idx); +int i2d_X509_AUX(X509 *a, unsigned char **pp); +X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); + +int i2d_re_X509_tbs(X509 *x, unsigned char **pp); + +void X509_get0_signature(const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg, const X509 *x); +int X509_get_signature_nid(const X509 *x); + +int X509_trusted(const X509 *x); +int X509_alias_set1(X509 *x, const unsigned char *name, int len); +int X509_keyid_set1(X509 *x, const unsigned char *id, int len); +unsigned char *X509_alias_get0(X509 *x, int *len); +unsigned char *X509_keyid_get0(X509 *x, int *len); +int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, + int); +int X509_TRUST_set(int *t, int trust); +int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj); +int X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj); +void X509_trust_clear(X509 *x); +void X509_reject_clear(X509 *x); + +STACK_OF(ASN1_OBJECT) *X509_get0_trust_objects(X509 *x); +STACK_OF(ASN1_OBJECT) *X509_get0_reject_objects(X509 *x); + +DECLARE_ASN1_FUNCTIONS(X509_REVOKED) +DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) +DECLARE_ASN1_FUNCTIONS(X509_CRL) + +int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); +int X509_CRL_get0_by_serial(X509_CRL *crl, + X509_REVOKED **ret, ASN1_INTEGER *serial); +int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); + +X509_PKEY *X509_PKEY_new(void); +void X509_PKEY_free(X509_PKEY *a); + +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) + +X509_INFO *X509_INFO_new(void); +void X509_INFO_free(X509_INFO *a); +char *X509_NAME_oneline(const X509_NAME *a, char *buf, int size); + +int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); + +int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, + unsigned char *md, unsigned int *len); + +int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + char *data, EVP_PKEY *pkey, const EVP_MD *type); + +int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, + unsigned char *md, unsigned int *len); + +int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey); + +int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *data, + EVP_PKEY *pkey, const EVP_MD *type); +int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + void *asn, EVP_MD_CTX *ctx); + +long X509_get_version(const X509 *x); +int X509_set_version(X509 *x, long version); +int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); +ASN1_INTEGER *X509_get_serialNumber(X509 *x); +const ASN1_INTEGER *X509_get0_serialNumber(const X509 *x); +int X509_set_issuer_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_issuer_name(const X509 *a); +int X509_set_subject_name(X509 *x, X509_NAME *name); +X509_NAME *X509_get_subject_name(const X509 *a); +const ASN1_TIME * X509_get0_notBefore(const X509 *x); +ASN1_TIME *X509_getm_notBefore(const X509 *x); +int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm); +const ASN1_TIME *X509_get0_notAfter(const X509 *x); +ASN1_TIME *X509_getm_notAfter(const X509 *x); +int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm); +int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); +int X509_up_ref(X509 *x); +int X509_get_signature_type(const X509 *x); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define X509_get_notBefore X509_getm_notBefore +# define X509_get_notAfter X509_getm_notAfter +# define X509_set_notBefore X509_set1_notBefore +# define X509_set_notAfter X509_set1_notAfter +#endif + + +/* + * This one is only used so that a binary form can output, as in + * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) + */ +X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x); +const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); +void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid, + const ASN1_BIT_STRING **psuid); +const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x); + +EVP_PKEY *X509_get0_pubkey(const X509 *x); +EVP_PKEY *X509_get_pubkey(X509 *x); +ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); +int X509_certificate_type(const X509 *x, const EVP_PKEY *pubkey); + +long X509_REQ_get_version(const X509_REQ *req); +int X509_REQ_set_version(X509_REQ *x, long version); +X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req); +int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); +void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); +int X509_REQ_get_signature_nid(const X509_REQ *req); +int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp); +int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); +EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); +EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req); +X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req); +int X509_REQ_extension_nid(int nid); +int *X509_REQ_get_extension_nids(void); +void X509_REQ_set_extension_nids(int *nids); +STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); +int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, + int nid); +int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts); +int X509_REQ_get_attr_count(const X509_REQ *req); +int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos); +int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); +X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); +int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); +int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_NID(X509_REQ *req, + int nid, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_txt(X509_REQ *req, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_CRL_set_version(X509_CRL *x, long version); +int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); +int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_sort(X509_CRL *crl); +int X509_CRL_up_ref(X509_CRL *crl); + +# if OPENSSL_API_COMPAT < 0x10100000L +# define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate +# define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate +#endif + +long X509_CRL_get_version(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl); +DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl)) +DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl)) +X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl); +const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl); +STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl); +void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); +int X509_CRL_get_signature_nid(const X509_CRL *crl); +int i2d_re_X509_CRL_tbs(X509_CRL *req, unsigned char **pp); + +const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x); +int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); +const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x); +int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); +const STACK_OF(X509_EXTENSION) * +X509_REVOKED_get0_extensions(const X509_REVOKED *r); + +X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, + EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); + +int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); + +int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey); +int X509_chain_check_suiteb(int *perror_depth, + X509 *x, STACK_OF(X509) *chain, + unsigned long flags); +int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); +STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); + +int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_and_serial_hash(X509 *a); + +int X509_issuer_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_name_hash(X509 *a); + +int X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_subject_name_hash(X509 *x); + +# ifndef OPENSSL_NO_MD5 +unsigned long X509_issuer_name_hash_old(X509 *a); +unsigned long X509_subject_name_hash_old(X509 *x); +# endif + +int X509_cmp(const X509 *a, const X509 *b); +int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); +unsigned long X509_NAME_hash(X509_NAME *x); +unsigned long X509_NAME_hash_old(X509_NAME *x); + +int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); +int X509_aux_print(BIO *out, X509 *x, int indent); +# ifndef OPENSSL_NO_STDIO +int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print_fp(FILE *bp, X509 *x); +int X509_CRL_print_fp(FILE *bp, X509_CRL *x); +int X509_REQ_print_fp(FILE *bp, X509_REQ *req); +int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, + unsigned long flags); +# endif + +int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase); +int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent, + unsigned long flags); +int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print(BIO *bp, X509 *x); +int X509_ocspid_print(BIO *bp, X509 *x); +int X509_CRL_print(BIO *bp, X509_CRL *x); +int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, + unsigned long cflag); +int X509_REQ_print(BIO *bp, X509_REQ *req); + +int X509_NAME_entry_count(const X509_NAME *name); +int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len); +int X509_NAME_get_text_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, + char *buf, int len); + +/* + * NOTE: you should be passing -1, not 0 as lastpos. The functions that use + * lastpos, search after that position on. + */ +int X509_NAME_get_index_by_NID(X509_NAME *name, int nid, int lastpos); +int X509_NAME_get_index_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, + int lastpos); +X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc); +X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); +int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne, + int loc, int set); +int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len, int loc, + int set); +int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, + const char *field, int type, + const unsigned char *bytes, + int len); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, + int type, + const unsigned char *bytes, + int len); +int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, + int len); +int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj); +int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, + const unsigned char *bytes, int len); +ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne); +ASN1_STRING * X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne); +int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne); + +int X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, + size_t *pderlen); + +int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); +int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, + int nid, int lastpos); +int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, + const ASN1_OBJECT *obj, int lastpos); +int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, + int crit, int lastpos); +X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); +X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); +STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, + X509_EXTENSION *ex, int loc); + +int X509_get_ext_count(const X509 *x); +int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos); +int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int lastpos); +int X509_get_ext_by_critical(const X509 *x, int crit, int lastpos); +X509_EXTENSION *X509_get_ext(const X509 *x, int loc); +X509_EXTENSION *X509_delete_ext(X509 *x, int loc); +int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); +void *X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx); +int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_CRL_get_ext_count(const X509_CRL *x); +int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos); +int X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj, + int lastpos); +int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos); +X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc); +X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); +int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); +void *X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int *idx); +int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_REVOKED_get_ext_count(const X509_REVOKED *x); +int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos); +int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj, + int lastpos); +int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit, + int lastpos); +X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc); +X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); +int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); +void *X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit, + int *idx); +int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, + unsigned long flags); + +X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, + int nid, int crit, + ASN1_OCTET_STRING *data); +X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, + const ASN1_OBJECT *obj, int crit, + ASN1_OCTET_STRING *data); +int X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj); +int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); +int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); +ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); +ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); +int X509_EXTENSION_get_critical(const X509_EXTENSION *ex); + +int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); +int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, + int lastpos); +int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, + const ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); +X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, + X509_ATTRIBUTE *attr); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) + **x, const ASN1_OBJECT *obj, + int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) + **x, int nid, int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) + **x, const char *attrname, + int type, + const unsigned char *bytes, + int len); +void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, + const ASN1_OBJECT *obj, int lastpos, int type); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, + const ASN1_OBJECT *obj, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, + const char *atrname, int type, + const unsigned char *bytes, + int len); +int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); +int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, + const void *data, int len); +void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, + void *data); +int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr); +ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); +ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); + +int EVP_PKEY_get_attr_count(const EVP_PKEY *key); +int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); +int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); +X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); +int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); +int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, + int nid, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_verify_cert(X509_STORE_CTX *ctx); + +/* lookup a cert from a X509 STACK */ +X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, X509_NAME *name, + ASN1_INTEGER *serial); +X509 *X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(PBEPARAM) +DECLARE_ASN1_FUNCTIONS(PBE2PARAM) +DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) + +int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, + const unsigned char *salt, int saltlen); + +X509_ALGOR *PKCS5_pbe_set(int alg, int iter, + const unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen, + unsigned char *aiv, int prf_nid); + +#ifndef OPENSSL_NO_SCRYPT +X509_ALGOR *PKCS5_pbe2_set_scrypt(const EVP_CIPHER *cipher, + const unsigned char *salt, int saltlen, + unsigned char *aiv, uint64_t N, uint64_t r, + uint64_t p); +#endif + +X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, + int prf_nid, int keylen); + +/* PKCS#8 utilities */ + +DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) + +EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); + +int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, + int version, int ptype, void *pval, + unsigned char *penc, int penclen); +int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8); + +const STACK_OF(X509_ATTRIBUTE) * +PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); +int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, + const unsigned char *bytes, int len); + +int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, + int ptype, void *pval, + unsigned char *penc, int penclen); +int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + X509_ALGOR **pa, X509_PUBKEY *pub); + +int X509_check_trust(X509 *x, int id, int flags); +int X509_TRUST_get_count(void); +X509_TRUST *X509_TRUST_get0(int idx); +int X509_TRUST_get_by_id(int id); +int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), + const char *name, int arg1, void *arg2); +void X509_TRUST_cleanup(void); +int X509_TRUST_get_flags(const X509_TRUST *xp); +char *X509_TRUST_get0_name(const X509_TRUST *xp); +int X509_TRUST_get_trust(const X509_TRUST *xp); + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_X509_strings(void); + +/* Error codes for the X509 functions. */ + +/* Function codes. */ +# define X509_F_ADD_CERT_DIR 100 +# define X509_F_BUILD_CHAIN 106 +# define X509_F_BY_FILE_CTRL 101 +# define X509_F_CHECK_NAME_CONSTRAINTS 149 +# define X509_F_CHECK_POLICY 145 +# define X509_F_DANE_I2D 107 +# define X509_F_DIR_CTRL 102 +# define X509_F_GET_CERT_BY_SUBJECT 103 +# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 +# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 +# define X509_F_X509AT_ADD1_ATTR 135 +# define X509_F_X509V3_ADD_EXT 104 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 +# define X509_F_X509_ATTRIBUTE_GET0_DATA 139 +# define X509_F_X509_ATTRIBUTE_SET1_DATA 138 +# define X509_F_X509_CHECK_PRIVATE_KEY 128 +# define X509_F_X509_CRL_DIFF 105 +# define X509_F_X509_CRL_PRINT_FP 147 +# define X509_F_X509_EXTENSION_CREATE_BY_NID 108 +# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 +# define X509_F_X509_GET_PUBKEY_PARAMETERS 110 +# define X509_F_X509_LOAD_CERT_CRL_FILE 132 +# define X509_F_X509_LOAD_CERT_FILE 111 +# define X509_F_X509_LOAD_CRL_FILE 112 +# define X509_F_X509_NAME_ADD_ENTRY 113 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 +# define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 +# define X509_F_X509_NAME_ONELINE 116 +# define X509_F_X509_NAME_PRINT 117 +# define X509_F_X509_OBJECT_NEW 150 +# define X509_F_X509_PRINT_EX_FP 118 +# define X509_F_X509_PUBKEY_DECODE 148 +# define X509_F_X509_PUBKEY_GET0 119 +# define X509_F_X509_PUBKEY_SET 120 +# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 +# define X509_F_X509_REQ_PRINT_EX 121 +# define X509_F_X509_REQ_PRINT_FP 122 +# define X509_F_X509_REQ_TO_X509 123 +# define X509_F_X509_STORE_ADD_CERT 124 +# define X509_F_X509_STORE_ADD_CRL 125 +# define X509_F_X509_STORE_CTX_GET1_ISSUER 146 +# define X509_F_X509_STORE_CTX_INIT 143 +# define X509_F_X509_STORE_CTX_NEW 142 +# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 +# define X509_F_X509_TO_X509_REQ 126 +# define X509_F_X509_TRUST_ADD 133 +# define X509_F_X509_TRUST_SET 141 +# define X509_F_X509_VERIFY_CERT 127 + +/* Reason codes. */ +# define X509_R_AKID_MISMATCH 110 +# define X509_R_BAD_SELECTOR 133 +# define X509_R_BAD_X509_FILETYPE 100 +# define X509_R_BASE64_DECODE_ERROR 118 +# define X509_R_CANT_CHECK_DH_KEY 114 +# define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 +# define X509_R_CRL_ALREADY_DELTA 127 +# define X509_R_CRL_VERIFY_FAILURE 131 +# define X509_R_IDP_MISMATCH 128 +# define X509_R_INVALID_DIRECTORY 113 +# define X509_R_INVALID_FIELD_NAME 119 +# define X509_R_INVALID_TRUST 123 +# define X509_R_ISSUER_MISMATCH 129 +# define X509_R_KEY_TYPE_MISMATCH 115 +# define X509_R_KEY_VALUES_MISMATCH 116 +# define X509_R_LOADING_CERT_DIR 103 +# define X509_R_LOADING_DEFAULTS 104 +# define X509_R_METHOD_NOT_SUPPORTED 124 +# define X509_R_NAME_TOO_LONG 134 +# define X509_R_NEWER_CRL_NOT_NEWER 132 +# define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 +# define X509_R_NO_CRL_NUMBER 130 +# define X509_R_PUBLIC_KEY_DECODE_ERROR 125 +# define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 +# define X509_R_SHOULD_RETRY 106 +# define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 +# define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 +# define X509_R_UNKNOWN_KEY_TYPE 117 +# define X509_R_UNKNOWN_NID 109 +# define X509_R_UNKNOWN_PURPOSE_ID 121 +# define X509_R_UNKNOWN_TRUST_ID 120 +# define X509_R_UNSUPPORTED_ALGORITHM 111 +# define X509_R_WRONG_LOOKUP_TYPE 112 +# define X509_R_WRONG_TYPE 122 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/openssl/x509_vfy.h b/android/x86_64/include/openssl/x509_vfy.h new file mode 100644 index 00000000..cab8005e --- /dev/null +++ b/android/x86_64/include/openssl/x509_vfy.h @@ -0,0 +1,539 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_X509_VFY_H +# define HEADER_X509_VFY_H + +/* + * Protect against recursion, x509.h and x509_vfy.h each include the other. + */ +# ifndef HEADER_X509_H +# include +# endif + +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/*- +SSL_CTX -> X509_STORE + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + +SSL -> X509_STORE_CTX + ->X509_STORE + +The X509_STORE holds the tables etc for verification stuff. +A X509_STORE_CTX is used while validating a single certificate. +The X509_STORE has X509_LOOKUPs for looking up certs. +The X509_STORE then calls a function to actually verify the +certificate chain. +*/ + +typedef enum { + X509_LU_NONE = 0, + X509_LU_X509, X509_LU_CRL +} X509_LOOKUP_TYPE; + +#if OPENSSL_API_COMPAT < 0x10100000L +#define X509_LU_RETRY -1 +#define X509_LU_FAIL 0 +#endif + +DEFINE_STACK_OF(X509_LOOKUP) +DEFINE_STACK_OF(X509_OBJECT) +DEFINE_STACK_OF(X509_VERIFY_PARAM) + +int X509_STORE_set_depth(X509_STORE *store, int depth); + +typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *); +typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *); +typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer, + X509_STORE_CTX *ctx, X509 *x); +typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, + X509 *x, X509 *issuer); +typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx); +typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, + X509_CRL **crl, X509 *x); +typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl); +typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, + X509_CRL *crl, X509 *x); +typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx); +typedef STACK_OF(X509) *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx, + X509_NAME *nm); +typedef STACK_OF(X509_CRL) *(*X509_STORE_CTX_lookup_crls_fn)(X509_STORE_CTX *ctx, + X509_NAME *nm); +typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx); + + +void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); + +# define X509_STORE_CTX_set_app_data(ctx,data) \ + X509_STORE_CTX_set_ex_data(ctx,0,data) +# define X509_STORE_CTX_get_app_data(ctx) \ + X509_STORE_CTX_get_ex_data(ctx,0) + +# define X509_L_FILE_LOAD 1 +# define X509_L_ADD_DIR 2 + +# define X509_LOOKUP_load_file(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) + +# define X509_LOOKUP_add_dir(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) + +# define X509_V_OK 0 +# define X509_V_ERR_UNSPECIFIED 1 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +# define X509_V_ERR_UNABLE_TO_GET_CRL 3 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +# define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +# define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +# define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +# define X509_V_ERR_CERT_NOT_YET_VALID 9 +# define X509_V_ERR_CERT_HAS_EXPIRED 10 +# define X509_V_ERR_CRL_NOT_YET_VALID 11 +# define X509_V_ERR_CRL_HAS_EXPIRED 12 +# define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +# define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +# define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +# define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +# define X509_V_ERR_OUT_OF_MEM 17 +# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +# define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +# define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +# define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +# define X509_V_ERR_CERT_REVOKED 23 +# define X509_V_ERR_INVALID_CA 24 +# define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +# define X509_V_ERR_INVALID_PURPOSE 26 +# define X509_V_ERR_CERT_UNTRUSTED 27 +# define X509_V_ERR_CERT_REJECTED 28 +/* These are 'informational' when looking for issuer cert */ +# define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +# define X509_V_ERR_AKID_SKID_MISMATCH 30 +# define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +# define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 +# define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +# define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +# define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +# define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +# define X509_V_ERR_INVALID_NON_CA 37 +# define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +# define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +# define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 +# define X509_V_ERR_INVALID_EXTENSION 41 +# define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +# define X509_V_ERR_NO_EXPLICIT_POLICY 43 +# define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +# define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 +# define X509_V_ERR_UNNESTED_RESOURCE 46 +# define X509_V_ERR_PERMITTED_VIOLATION 47 +# define X509_V_ERR_EXCLUDED_VIOLATION 48 +# define X509_V_ERR_SUBTREE_MINMAX 49 +/* The application is not happy */ +# define X509_V_ERR_APPLICATION_VERIFICATION 50 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +# define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 +/* Another issuer check debug option */ +# define X509_V_ERR_PATH_LOOP 55 +/* Suite B mode algorithm violation */ +# define X509_V_ERR_SUITE_B_INVALID_VERSION 56 +# define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 +# define X509_V_ERR_SUITE_B_INVALID_CURVE 58 +# define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 +# define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 +# define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 +/* Host, email and IP check errors */ +# define X509_V_ERR_HOSTNAME_MISMATCH 62 +# define X509_V_ERR_EMAIL_MISMATCH 63 +# define X509_V_ERR_IP_ADDRESS_MISMATCH 64 +/* DANE TLSA errors */ +# define X509_V_ERR_DANE_NO_MATCH 65 +/* security level errors */ +# define X509_V_ERR_EE_KEY_TOO_SMALL 66 +# define X509_V_ERR_CA_KEY_TOO_SMALL 67 +# define X509_V_ERR_CA_MD_TOO_WEAK 68 +/* Caller error */ +# define X509_V_ERR_INVALID_CALL 69 +/* Issuer lookup error */ +# define X509_V_ERR_STORE_LOOKUP 70 +/* Certificate transparency */ +# define X509_V_ERR_NO_VALID_SCTS 71 + +# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 72 + +/* Certificate verify flags */ + +# if OPENSSL_API_COMPAT < 0x10100000L +# define X509_V_FLAG_CB_ISSUER_CHECK 0x0 /* Deprecated */ +# endif +/* Use check time instead of current time */ +# define X509_V_FLAG_USE_CHECK_TIME 0x2 +/* Lookup CRLs */ +# define X509_V_FLAG_CRL_CHECK 0x4 +/* Lookup CRLs for whole chain */ +# define X509_V_FLAG_CRL_CHECK_ALL 0x8 +/* Ignore unhandled critical extensions */ +# define X509_V_FLAG_IGNORE_CRITICAL 0x10 +/* Disable workarounds for broken certificates */ +# define X509_V_FLAG_X509_STRICT 0x20 +/* Enable proxy certificate validation */ +# define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 +/* Enable policy checking */ +# define X509_V_FLAG_POLICY_CHECK 0x80 +/* Policy variable require-explicit-policy */ +# define X509_V_FLAG_EXPLICIT_POLICY 0x100 +/* Policy variable inhibit-any-policy */ +# define X509_V_FLAG_INHIBIT_ANY 0x200 +/* Policy variable inhibit-policy-mapping */ +# define X509_V_FLAG_INHIBIT_MAP 0x400 +/* Notify callback that policy is OK */ +# define X509_V_FLAG_NOTIFY_POLICY 0x800 +/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ +# define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 +/* Delta CRL support */ +# define X509_V_FLAG_USE_DELTAS 0x2000 +/* Check self-signed CA signature */ +# define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 +/* Use trusted store first */ +# define X509_V_FLAG_TRUSTED_FIRST 0x8000 +/* Suite B 128 bit only mode: not normally used */ +# define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define X509_V_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define X509_V_FLAG_SUITEB_128_LOS 0x30000 +/* Allow partial chains if at least one certificate is in trusted store */ +# define X509_V_FLAG_PARTIAL_CHAIN 0x80000 +/* + * If the initial chain is not trusted, do not attempt to build an alternative + * chain. Alternate chain checking was introduced in 1.1.0. Setting this flag + * will force the behaviour to match that of previous versions. + */ +# define X509_V_FLAG_NO_ALT_CHAINS 0x100000 +/* Do not check certificate/CRL validity against current time */ +# define X509_V_FLAG_NO_CHECK_TIME 0x200000 + +# define X509_VP_FLAG_DEFAULT 0x1 +# define X509_VP_FLAG_OVERWRITE 0x2 +# define X509_VP_FLAG_RESET_FLAGS 0x4 +# define X509_VP_FLAG_LOCKED 0x8 +# define X509_VP_FLAG_ONCE 0x10 + +/* Internal use: mask of policy related options */ +# define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ + | X509_V_FLAG_EXPLICIT_POLICY \ + | X509_V_FLAG_INHIBIT_ANY \ + | X509_V_FLAG_INHIBIT_MAP) + +int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, + X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, + X509_LOOKUP_TYPE type, + X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, + X509_OBJECT *x); +int X509_OBJECT_up_ref_count(X509_OBJECT *a); +X509_OBJECT *X509_OBJECT_new(void); +void X509_OBJECT_free(X509_OBJECT *a); +X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a); +X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a); +X509_CRL *X509_OBJECT_get0_X509_CRL(X509_OBJECT *a); +X509_STORE *X509_STORE_new(void); +void X509_STORE_free(X509_STORE *v); +int X509_STORE_lock(X509_STORE *ctx); +int X509_STORE_unlock(X509_STORE *ctx); +int X509_STORE_up_ref(X509_STORE *v); +STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *v); + +STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); +STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); +int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); +int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); +int X509_STORE_set_trust(X509_STORE *ctx, int trust); +int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); +X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx); + +void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify); +#define X509_STORE_set_verify_func(ctx, func) \ + X509_STORE_set_verify((ctx),(func)) +void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, + X509_STORE_CTX_verify_fn verify); +X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx); +void X509_STORE_set_verify_cb(X509_STORE *ctx, + X509_STORE_CTX_verify_cb verify_cb); +# define X509_STORE_set_verify_cb_func(ctx,func) \ + X509_STORE_set_verify_cb((ctx),(func)) +X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(X509_STORE *ctx); +void X509_STORE_set_get_issuer(X509_STORE *ctx, + X509_STORE_CTX_get_issuer_fn get_issuer); +X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *ctx); +void X509_STORE_set_check_issued(X509_STORE *ctx, + X509_STORE_CTX_check_issued_fn check_issued); +X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(X509_STORE *ctx); +void X509_STORE_set_check_revocation(X509_STORE *ctx, + X509_STORE_CTX_check_revocation_fn check_revocation); +X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(X509_STORE *ctx); +void X509_STORE_set_get_crl(X509_STORE *ctx, + X509_STORE_CTX_get_crl_fn get_crl); +X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(X509_STORE *ctx); +void X509_STORE_set_check_crl(X509_STORE *ctx, + X509_STORE_CTX_check_crl_fn check_crl); +X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(X509_STORE *ctx); +void X509_STORE_set_cert_crl(X509_STORE *ctx, + X509_STORE_CTX_cert_crl_fn cert_crl); +X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(X509_STORE *ctx); +void X509_STORE_set_check_policy(X509_STORE *ctx, + X509_STORE_CTX_check_policy_fn check_policy); +X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(X509_STORE *ctx); +void X509_STORE_set_lookup_certs(X509_STORE *ctx, + X509_STORE_CTX_lookup_certs_fn lookup_certs); +X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(X509_STORE *ctx); +void X509_STORE_set_lookup_crls(X509_STORE *ctx, + X509_STORE_CTX_lookup_crls_fn lookup_crls); +#define X509_STORE_set_lookup_crls_cb(ctx, func) \ + X509_STORE_set_lookup_crls((ctx), (func)) +X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(X509_STORE *ctx); +void X509_STORE_set_cleanup(X509_STORE *ctx, + X509_STORE_CTX_cleanup_fn cleanup); +X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(X509_STORE *ctx); + +#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef) +int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data); +void *X509_STORE_get_ex_data(X509_STORE *ctx, int idx); + +X509_STORE_CTX *X509_STORE_CTX_new(void); + +int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + +void X509_STORE_CTX_free(X509_STORE_CTX *ctx); +int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, + X509 *x509, STACK_OF(X509) *chain); +void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); + +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); +X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx); +STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, + X509_STORE_CTX_verify_cb verify); +X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx); +X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx); +X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(X509_STORE_CTX *ctx); +X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(X509_STORE_CTX *ctx); +X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(X509_STORE_CTX *ctx); +X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(X509_STORE_CTX *ctx); +X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(X509_STORE_CTX *ctx); + +#if OPENSSL_API_COMPAT < 0x10100000L +# define X509_STORE_CTX_get_chain X509_STORE_CTX_get0_chain +# define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted +# define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack +# define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject +# define X509_STORE_get1_cert X509_STORE_CTX_get1_certs +# define X509_STORE_get1_crl X509_STORE_CTX_get1_crls +#endif + +X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); +X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); +X509_LOOKUP_METHOD *X509_LOOKUP_file(void); + +int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); +int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); + +int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, + X509_NAME *name, X509_OBJECT *ret); +X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, + X509_LOOKUP_TYPE type, + X509_NAME *name); + +int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); + +int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); + +X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); +void X509_LOOKUP_free(X509_LOOKUP *ctx); +int X509_LOOKUP_init(X509_LOOKUP *ctx); +int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + X509_NAME *name, X509_OBJECT *ret); +int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + X509_NAME *name, ASN1_INTEGER *serial, + X509_OBJECT *ret); +int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const unsigned char *bytes, int len, + X509_OBJECT *ret); +int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const char *str, int len, X509_OBJECT *ret); +int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); + +int X509_STORE_load_locations(X509_STORE *ctx, + const char *file, const char *dir); +int X509_STORE_set_default_paths(X509_STORE *ctx); + +#define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, l, p, newf, dupf, freef) +int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data); +void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx); +int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); +int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth); +X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x); +X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); +X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x); +void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk); +void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, STACK_OF(X509_CRL) *sk); +int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); +int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); +int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, + int purpose, int trust); +void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); +void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, + time_t t); + +X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx); + +X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); +int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); + +/* + * Bridge opacity barrier between libcrypt and libssl, also needed to support + * offline testing in test/danetest.c + */ +void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane); +#define DANE_FLAG_NO_DANE_EE_NAMECHECKS (1L << 0) + +/* X509_VERIFY_PARAM functions */ + +X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); +void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); +int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); +int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); +void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); +void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level); +void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); +int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, + ASN1_OBJECT *policy); +int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, + STACK_OF(ASN1_OBJECT) *policies); + +int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, + unsigned int flags); +char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *); +void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *, X509_VERIFY_PARAM *); +int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, + const char *email, size_t emaillen); +int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, + const unsigned char *ip, size_t iplen); +int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, + const char *ipasc); + +int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param); +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); + +int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_count(void); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); +void X509_VERIFY_PARAM_table_cleanup(void); + +/* Non positive return values are errors */ +#define X509_PCY_TREE_FAILURE -2 /* Failure to satisfy explicit policy */ +#define X509_PCY_TREE_INVALID -1 /* Inconsistent or invalid extensions */ +#define X509_PCY_TREE_INTERNAL 0 /* Internal error, most likely malloc */ + +/* + * Positive return values form a bit mask, all but the first are internal to + * the library and don't appear in results from X509_policy_check(). + */ +#define X509_PCY_TREE_VALID 1 /* The policy tree is valid */ +#define X509_PCY_TREE_EMPTY 2 /* The policy tree is empty */ +#define X509_PCY_TREE_EXPLICIT 4 /* Explicit policy required */ + +int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, + STACK_OF(X509) *certs, + STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags); + +void X509_policy_tree_free(X509_POLICY_TREE *tree); + +int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); +X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, + int i); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const + X509_POLICY_TREE + *tree); + +STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const + X509_POLICY_TREE + *tree); + +int X509_policy_level_node_count(X509_POLICY_LEVEL *level); + +X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, + int i); + +const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); + +STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const + X509_POLICY_NODE + *node); +const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE + *node); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/android/x86_64/include/openssl/x509v3.h b/android/x86_64/include/openssl/x509v3.h new file mode 100644 index 00000000..f21ce7c1 --- /dev/null +++ b/android/x86_64/include/openssl/x509v3.h @@ -0,0 +1,1005 @@ +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_X509V3_H +# define HEADER_X509V3_H + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward reference */ +struct v3_ext_method; +struct v3_ext_ctx; + +/* Useful typedefs */ + +typedef void *(*X509V3_EXT_NEW)(void); +typedef void (*X509V3_EXT_FREE) (void *); +typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); +typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); +typedef STACK_OF(CONF_VALUE) * + (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, + STACK_OF(CONF_VALUE) *extlist); +typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, + STACK_OF(CONF_VALUE) *values); +typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method, + void *ext); +typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); +typedef int (*X509V3_EXT_I2R) (const struct v3_ext_method *method, void *ext, + BIO *out, int indent); +typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); + +/* V3 extension structure */ + +struct v3_ext_method { + int ext_nid; + int ext_flags; +/* If this is set the following four fields are ignored */ + ASN1_ITEM_EXP *it; +/* Old style ASN1 calls */ + X509V3_EXT_NEW ext_new; + X509V3_EXT_FREE ext_free; + X509V3_EXT_D2I d2i; + X509V3_EXT_I2D i2d; +/* The following pair is used for string extensions */ + X509V3_EXT_I2S i2s; + X509V3_EXT_S2I s2i; +/* The following pair is used for multi-valued extensions */ + X509V3_EXT_I2V i2v; + X509V3_EXT_V2I v2i; +/* The following are used for raw extensions */ + X509V3_EXT_I2R i2r; + X509V3_EXT_R2I r2i; + void *usr_data; /* Any extension specific data */ +}; + +typedef struct X509V3_CONF_METHOD_st { + char *(*get_string) (void *db, const char *section, const char *value); + STACK_OF(CONF_VALUE) *(*get_section) (void *db, const char *section); + void (*free_string) (void *db, char *string); + void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section); +} X509V3_CONF_METHOD; + +/* Context specific info */ +struct v3_ext_ctx { +# define CTX_TEST 0x1 +# define X509V3_CTX_REPLACE 0x2 + int flags; + X509 *issuer_cert; + X509 *subject_cert; + X509_REQ *subject_req; + X509_CRL *crl; + X509V3_CONF_METHOD *db_meth; + void *db; +/* Maybe more here */ +}; + +typedef struct v3_ext_method X509V3_EXT_METHOD; + +DEFINE_STACK_OF(X509V3_EXT_METHOD) + +/* ext_flags values */ +# define X509V3_EXT_DYNAMIC 0x1 +# define X509V3_EXT_CTX_DEP 0x2 +# define X509V3_EXT_MULTILINE 0x4 + +typedef BIT_STRING_BITNAME ENUMERATED_NAMES; + +typedef struct BASIC_CONSTRAINTS_st { + int ca; + ASN1_INTEGER *pathlen; +} BASIC_CONSTRAINTS; + +typedef struct PKEY_USAGE_PERIOD_st { + ASN1_GENERALIZEDTIME *notBefore; + ASN1_GENERALIZEDTIME *notAfter; +} PKEY_USAGE_PERIOD; + +typedef struct otherName_st { + ASN1_OBJECT *type_id; + ASN1_TYPE *value; +} OTHERNAME; + +typedef struct EDIPartyName_st { + ASN1_STRING *nameAssigner; + ASN1_STRING *partyName; +} EDIPARTYNAME; + +typedef struct GENERAL_NAME_st { +# define GEN_OTHERNAME 0 +# define GEN_EMAIL 1 +# define GEN_DNS 2 +# define GEN_X400 3 +# define GEN_DIRNAME 4 +# define GEN_EDIPARTY 5 +# define GEN_URI 6 +# define GEN_IPADD 7 +# define GEN_RID 8 + int type; + union { + char *ptr; + OTHERNAME *otherName; /* otherName */ + ASN1_IA5STRING *rfc822Name; + ASN1_IA5STRING *dNSName; + ASN1_TYPE *x400Address; + X509_NAME *directoryName; + EDIPARTYNAME *ediPartyName; + ASN1_IA5STRING *uniformResourceIdentifier; + ASN1_OCTET_STRING *iPAddress; + ASN1_OBJECT *registeredID; + /* Old names */ + ASN1_OCTET_STRING *ip; /* iPAddress */ + X509_NAME *dirn; /* dirn */ + ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, + * uniformResourceIdentifier */ + ASN1_OBJECT *rid; /* registeredID */ + ASN1_TYPE *other; /* x400Address */ + } d; +} GENERAL_NAME; + +typedef struct ACCESS_DESCRIPTION_st { + ASN1_OBJECT *method; + GENERAL_NAME *location; +} ACCESS_DESCRIPTION; + +typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; + +typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; + +typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE; + +DEFINE_STACK_OF(GENERAL_NAME) +typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; +DEFINE_STACK_OF(GENERAL_NAMES) + +DEFINE_STACK_OF(ACCESS_DESCRIPTION) + +typedef struct DIST_POINT_NAME_st { + int type; + union { + GENERAL_NAMES *fullname; + STACK_OF(X509_NAME_ENTRY) *relativename; + } name; +/* If relativename then this contains the full distribution point name */ + X509_NAME *dpname; +} DIST_POINT_NAME; +/* All existing reasons */ +# define CRLDP_ALL_REASONS 0x807f + +# define CRL_REASON_NONE -1 +# define CRL_REASON_UNSPECIFIED 0 +# define CRL_REASON_KEY_COMPROMISE 1 +# define CRL_REASON_CA_COMPROMISE 2 +# define CRL_REASON_AFFILIATION_CHANGED 3 +# define CRL_REASON_SUPERSEDED 4 +# define CRL_REASON_CESSATION_OF_OPERATION 5 +# define CRL_REASON_CERTIFICATE_HOLD 6 +# define CRL_REASON_REMOVE_FROM_CRL 8 +# define CRL_REASON_PRIVILEGE_WITHDRAWN 9 +# define CRL_REASON_AA_COMPROMISE 10 + +struct DIST_POINT_st { + DIST_POINT_NAME *distpoint; + ASN1_BIT_STRING *reasons; + GENERAL_NAMES *CRLissuer; + int dp_reasons; +}; + +typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; + +DEFINE_STACK_OF(DIST_POINT) + +struct AUTHORITY_KEYID_st { + ASN1_OCTET_STRING *keyid; + GENERAL_NAMES *issuer; + ASN1_INTEGER *serial; +}; + +/* Strong extranet structures */ + +typedef struct SXNET_ID_st { + ASN1_INTEGER *zone; + ASN1_OCTET_STRING *user; +} SXNETID; + +DEFINE_STACK_OF(SXNETID) + +typedef struct SXNET_st { + ASN1_INTEGER *version; + STACK_OF(SXNETID) *ids; +} SXNET; + +typedef struct NOTICEREF_st { + ASN1_STRING *organization; + STACK_OF(ASN1_INTEGER) *noticenos; +} NOTICEREF; + +typedef struct USERNOTICE_st { + NOTICEREF *noticeref; + ASN1_STRING *exptext; +} USERNOTICE; + +typedef struct POLICYQUALINFO_st { + ASN1_OBJECT *pqualid; + union { + ASN1_IA5STRING *cpsuri; + USERNOTICE *usernotice; + ASN1_TYPE *other; + } d; +} POLICYQUALINFO; + +DEFINE_STACK_OF(POLICYQUALINFO) + +typedef struct POLICYINFO_st { + ASN1_OBJECT *policyid; + STACK_OF(POLICYQUALINFO) *qualifiers; +} POLICYINFO; + +typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; + +DEFINE_STACK_OF(POLICYINFO) + +typedef struct POLICY_MAPPING_st { + ASN1_OBJECT *issuerDomainPolicy; + ASN1_OBJECT *subjectDomainPolicy; +} POLICY_MAPPING; + +DEFINE_STACK_OF(POLICY_MAPPING) + +typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; + +typedef struct GENERAL_SUBTREE_st { + GENERAL_NAME *base; + ASN1_INTEGER *minimum; + ASN1_INTEGER *maximum; +} GENERAL_SUBTREE; + +DEFINE_STACK_OF(GENERAL_SUBTREE) + +struct NAME_CONSTRAINTS_st { + STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; + STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; +}; + +typedef struct POLICY_CONSTRAINTS_st { + ASN1_INTEGER *requireExplicitPolicy; + ASN1_INTEGER *inhibitPolicyMapping; +} POLICY_CONSTRAINTS; + +/* Proxy certificate structures, see RFC 3820 */ +typedef struct PROXY_POLICY_st { + ASN1_OBJECT *policyLanguage; + ASN1_OCTET_STRING *policy; +} PROXY_POLICY; + +typedef struct PROXY_CERT_INFO_EXTENSION_st { + ASN1_INTEGER *pcPathLengthConstraint; + PROXY_POLICY *proxyPolicy; +} PROXY_CERT_INFO_EXTENSION; + +DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) +DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) + +struct ISSUING_DIST_POINT_st { + DIST_POINT_NAME *distpoint; + int onlyuser; + int onlyCA; + ASN1_BIT_STRING *onlysomereasons; + int indirectCRL; + int onlyattr; +}; + +/* Values in idp_flags field */ +/* IDP present */ +# define IDP_PRESENT 0x1 +/* IDP values inconsistent */ +# define IDP_INVALID 0x2 +/* onlyuser true */ +# define IDP_ONLYUSER 0x4 +/* onlyCA true */ +# define IDP_ONLYCA 0x8 +/* onlyattr true */ +# define IDP_ONLYATTR 0x10 +/* indirectCRL true */ +# define IDP_INDIRECT 0x20 +/* onlysomereasons present */ +# define IDP_REASONS 0x40 + +# define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \ +",name:", val->name, ",value:", val->value); + +# define X509V3_set_ctx_test(ctx) \ + X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) +# define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; + +# define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ + 0,0,0,0, \ + 0,0, \ + (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ + (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ + NULL, NULL, \ + table} + +# define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ + 0,0,0,0, \ + (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ + (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ + 0,0,0,0, \ + NULL} + +# define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +/* X509_PURPOSE stuff */ + +# define EXFLAG_BCONS 0x1 +# define EXFLAG_KUSAGE 0x2 +# define EXFLAG_XKUSAGE 0x4 +# define EXFLAG_NSCERT 0x8 + +# define EXFLAG_CA 0x10 +/* Really self issued not necessarily self signed */ +# define EXFLAG_SI 0x20 +# define EXFLAG_V1 0x40 +# define EXFLAG_INVALID 0x80 +# define EXFLAG_SET 0x100 +# define EXFLAG_CRITICAL 0x200 +# define EXFLAG_PROXY 0x400 + +# define EXFLAG_INVALID_POLICY 0x800 +# define EXFLAG_FRESHEST 0x1000 +/* Self signed */ +# define EXFLAG_SS 0x2000 + +# define KU_DIGITAL_SIGNATURE 0x0080 +# define KU_NON_REPUDIATION 0x0040 +# define KU_KEY_ENCIPHERMENT 0x0020 +# define KU_DATA_ENCIPHERMENT 0x0010 +# define KU_KEY_AGREEMENT 0x0008 +# define KU_KEY_CERT_SIGN 0x0004 +# define KU_CRL_SIGN 0x0002 +# define KU_ENCIPHER_ONLY 0x0001 +# define KU_DECIPHER_ONLY 0x8000 + +# define NS_SSL_CLIENT 0x80 +# define NS_SSL_SERVER 0x40 +# define NS_SMIME 0x20 +# define NS_OBJSIGN 0x10 +# define NS_SSL_CA 0x04 +# define NS_SMIME_CA 0x02 +# define NS_OBJSIGN_CA 0x01 +# define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) + +# define XKU_SSL_SERVER 0x1 +# define XKU_SSL_CLIENT 0x2 +# define XKU_SMIME 0x4 +# define XKU_CODE_SIGN 0x8 +# define XKU_SGC 0x10 +# define XKU_OCSP_SIGN 0x20 +# define XKU_TIMESTAMP 0x40 +# define XKU_DVCS 0x80 +# define XKU_ANYEKU 0x100 + +# define X509_PURPOSE_DYNAMIC 0x1 +# define X509_PURPOSE_DYNAMIC_NAME 0x2 + +typedef struct x509_purpose_st { + int purpose; + int trust; /* Default trust ID */ + int flags; + int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int); + char *name; + char *sname; + void *usr_data; +} X509_PURPOSE; + +# define X509_PURPOSE_SSL_CLIENT 1 +# define X509_PURPOSE_SSL_SERVER 2 +# define X509_PURPOSE_NS_SSL_SERVER 3 +# define X509_PURPOSE_SMIME_SIGN 4 +# define X509_PURPOSE_SMIME_ENCRYPT 5 +# define X509_PURPOSE_CRL_SIGN 6 +# define X509_PURPOSE_ANY 7 +# define X509_PURPOSE_OCSP_HELPER 8 +# define X509_PURPOSE_TIMESTAMP_SIGN 9 + +# define X509_PURPOSE_MIN 1 +# define X509_PURPOSE_MAX 9 + +/* Flags for X509V3_EXT_print() */ + +# define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) +/* Return error for unknown extensions */ +# define X509V3_EXT_DEFAULT 0 +/* Print error for unknown extensions */ +# define X509V3_EXT_ERROR_UNKNOWN (1L << 16) +/* ASN1 parse unknown extensions */ +# define X509V3_EXT_PARSE_UNKNOWN (2L << 16) +/* BIO_dump unknown extensions */ +# define X509V3_EXT_DUMP_UNKNOWN (3L << 16) + +/* Flags for X509V3_add1_i2d */ + +# define X509V3_ADD_OP_MASK 0xfL +# define X509V3_ADD_DEFAULT 0L +# define X509V3_ADD_APPEND 1L +# define X509V3_ADD_REPLACE 2L +# define X509V3_ADD_REPLACE_EXISTING 3L +# define X509V3_ADD_KEEP_EXISTING 4L +# define X509V3_ADD_DELETE 5L +# define X509V3_ADD_SILENT 0x10 + +DEFINE_STACK_OF(X509_PURPOSE) + +DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) + +DECLARE_ASN1_FUNCTIONS(SXNET) +DECLARE_ASN1_FUNCTIONS(SXNETID) + +int SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user, int userlen); +int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char *user, + int userlen); +int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, const char *user, + int userlen); + +ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, const char *zone); +ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); +ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); + +DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) + +DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) +GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); +int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); + +ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, + STACK_OF(CONF_VALUE) *nval); +STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + ASN1_BIT_STRING *bits, + STACK_OF(CONF_VALUE) *extlist); +char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5); +ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, + GENERAL_NAME *gen, + STACK_OF(CONF_VALUE) *ret); +int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, + GENERAL_NAMES *gen, + STACK_OF(CONF_VALUE) *extlist); +GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); + +DECLARE_ASN1_FUNCTIONS(OTHERNAME) +DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) +int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); +void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); +void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype); +int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, + ASN1_OBJECT *oid, ASN1_TYPE *value); +int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, + ASN1_OBJECT **poid, ASN1_TYPE **pvalue); + +char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + const ASN1_OCTET_STRING *ia5); +ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); + +DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) +int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a); + +DECLARE_ASN1_ALLOC_FUNCTIONS(TLS_FEATURE) + +DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) +DECLARE_ASN1_FUNCTIONS(POLICYINFO) +DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) +DECLARE_ASN1_FUNCTIONS(USERNOTICE) +DECLARE_ASN1_FUNCTIONS(NOTICEREF) + +DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) +DECLARE_ASN1_FUNCTIONS(DIST_POINT) +DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) +DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) + +int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); + +int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); +int NAME_CONSTRAINTS_check_CN(X509 *x, NAME_CONSTRAINTS *nc); + +DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) +DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) + +DECLARE_ASN1_ITEM(POLICY_MAPPING) +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) +DECLARE_ASN1_ITEM(POLICY_MAPPINGS) + +DECLARE_ASN1_ITEM(GENERAL_SUBTREE) +DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) + +DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) +DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) + +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) +DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) + +GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, int gen_type, + const char *value, int is_nc); + +# ifdef HEADER_CONF_H +GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf); +GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf, + int is_nc); +void X509V3_conf_free(CONF_VALUE *val); + +X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, + const char *value); +X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const char *name, + const char *value); +int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char *section, + STACK_OF(X509_EXTENSION) **sk); +int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509 *cert); +int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_REQ *req); +int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_CRL *crl); + +X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, + X509V3_CTX *ctx, int ext_nid, + const char *value); +X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *name, const char *value); +int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509 *cert); +int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509_REQ *req); +int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509_CRL *crl); + +int X509V3_add_value_bool_nf(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool); +int X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint); +void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); +void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); +# endif + +char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char *section); +STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, const char *section); +void X509V3_string_free(X509V3_CTX *ctx, char *str); +void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); +void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, + X509_REQ *req, X509_CRL *crl, int flags); + +int X509V3_add_value(const char *name, const char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_uchar(const char *name, const unsigned char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_bool(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, + STACK_OF(CONF_VALUE) **extlist); +char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const ASN1_INTEGER *aint); +ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const char *value); +char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, const ASN1_ENUMERATED *aint); +char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, + const ASN1_ENUMERATED *aint); +int X509V3_EXT_add(X509V3_EXT_METHOD *ext); +int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); +int X509V3_EXT_add_alias(int nid_to, int nid_from); +void X509V3_EXT_cleanup(void); + +const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); +const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); +int X509V3_add_standard_extensions(void); +STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); +void *X509V3_EXT_d2i(X509_EXTENSION *ext); +void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, + int *idx); + +X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); +int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, + int crit, unsigned long flags); + +#if OPENSSL_API_COMPAT < 0x10100000L +/* The new declarations are in crypto.h, but the old ones were here. */ +# define hex_to_string OPENSSL_buf2hexstr +# define string_to_hex OPENSSL_hexstr2buf +#endif + +void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, + int ml); +int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, + int indent); +#ifndef OPENSSL_NO_STDIO +int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); +#endif +int X509V3_extensions_print(BIO *out, const char *title, + const STACK_OF(X509_EXTENSION) *exts, + unsigned long flag, int indent); + +int X509_check_ca(X509 *x); +int X509_check_purpose(X509 *x, int id, int ca); +int X509_supported_extension(X509_EXTENSION *ex); +int X509_PURPOSE_set(int *p, int purpose); +int X509_check_issued(X509 *issuer, X509 *subject); +int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid); +void X509_set_proxy_flag(X509 *x); +void X509_set_proxy_pathlen(X509 *x, long l); +long X509_get_proxy_pathlen(X509 *x); + +uint32_t X509_get_extension_flags(X509 *x); +uint32_t X509_get_key_usage(X509 *x); +uint32_t X509_get_extended_key_usage(X509 *x); +const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x); + +int X509_PURPOSE_get_count(void); +X509_PURPOSE *X509_PURPOSE_get0(int idx); +int X509_PURPOSE_get_by_sname(const char *sname); +int X509_PURPOSE_get_by_id(int id); +int X509_PURPOSE_add(int id, int trust, int flags, + int (*ck) (const X509_PURPOSE *, const X509 *, int), + const char *name, const char *sname, void *arg); +char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp); +char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp); +int X509_PURPOSE_get_trust(const X509_PURPOSE *xp); +void X509_PURPOSE_cleanup(void); +int X509_PURPOSE_get_id(const X509_PURPOSE *); + +STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x); +STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x); +void X509_email_free(STACK_OF(OPENSSL_STRING) *sk); +STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); +/* Flags for X509_check_* functions */ + +/* + * Always check subject name for host match even if subject alt names present + */ +# define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1 +/* Disable wildcard matching for dnsName fields and common name. */ +# define X509_CHECK_FLAG_NO_WILDCARDS 0x2 +/* Wildcards must not match a partial label. */ +# define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4 +/* Allow (non-partial) wildcards to match multiple labels. */ +# define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8 +/* Constraint verifier subdomain patterns to match a single labels. */ +# define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 +/* Never check the subject CN */ +# define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT 0x20 +/* + * Match reference identifiers starting with "." to any sub-domain. + * This is a non-public flag, turned on implicitly when the subject + * reference identity is a DNS name. + */ +# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000 + +int X509_check_host(X509 *x, const char *chk, size_t chklen, + unsigned int flags, char **peername); +int X509_check_email(X509 *x, const char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags); + +ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); +ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); +int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk, + unsigned long chtype); + +void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); +DEFINE_STACK_OF(X509_POLICY_NODE) + +#ifndef OPENSSL_NO_RFC3779 +typedef struct ASRange_st { + ASN1_INTEGER *min, *max; +} ASRange; + +# define ASIdOrRange_id 0 +# define ASIdOrRange_range 1 + +typedef struct ASIdOrRange_st { + int type; + union { + ASN1_INTEGER *id; + ASRange *range; + } u; +} ASIdOrRange; + +typedef STACK_OF(ASIdOrRange) ASIdOrRanges; +DEFINE_STACK_OF(ASIdOrRange) + +# define ASIdentifierChoice_inherit 0 +# define ASIdentifierChoice_asIdsOrRanges 1 + +typedef struct ASIdentifierChoice_st { + int type; + union { + ASN1_NULL *inherit; + ASIdOrRanges *asIdsOrRanges; + } u; +} ASIdentifierChoice; + +typedef struct ASIdentifiers_st { + ASIdentifierChoice *asnum, *rdi; +} ASIdentifiers; + +DECLARE_ASN1_FUNCTIONS(ASRange) +DECLARE_ASN1_FUNCTIONS(ASIdOrRange) +DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) +DECLARE_ASN1_FUNCTIONS(ASIdentifiers) + +typedef struct IPAddressRange_st { + ASN1_BIT_STRING *min, *max; +} IPAddressRange; + +# define IPAddressOrRange_addressPrefix 0 +# define IPAddressOrRange_addressRange 1 + +typedef struct IPAddressOrRange_st { + int type; + union { + ASN1_BIT_STRING *addressPrefix; + IPAddressRange *addressRange; + } u; +} IPAddressOrRange; + +typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; +DEFINE_STACK_OF(IPAddressOrRange) + +# define IPAddressChoice_inherit 0 +# define IPAddressChoice_addressesOrRanges 1 + +typedef struct IPAddressChoice_st { + int type; + union { + ASN1_NULL *inherit; + IPAddressOrRanges *addressesOrRanges; + } u; +} IPAddressChoice; + +typedef struct IPAddressFamily_st { + ASN1_OCTET_STRING *addressFamily; + IPAddressChoice *ipAddressChoice; +} IPAddressFamily; + +typedef STACK_OF(IPAddressFamily) IPAddrBlocks; +DEFINE_STACK_OF(IPAddressFamily) + +DECLARE_ASN1_FUNCTIONS(IPAddressRange) +DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) +DECLARE_ASN1_FUNCTIONS(IPAddressChoice) +DECLARE_ASN1_FUNCTIONS(IPAddressFamily) + +/* + * API tag for elements of the ASIdentifer SEQUENCE. + */ +# define V3_ASID_ASNUM 0 +# define V3_ASID_RDI 1 + +/* + * AFI values, assigned by IANA. It'd be nice to make the AFI + * handling code totally generic, but there are too many little things + * that would need to be defined for other address families for it to + * be worth the trouble. + */ +# define IANA_AFI_IPV4 1 +# define IANA_AFI_IPV6 2 + +/* + * Utilities to construct and extract values from RFC3779 extensions, + * since some of the encodings (particularly for IP address prefixes + * and ranges) are a bit tedious to work with directly. + */ +int X509v3_asid_add_inherit(ASIdentifiers *asid, int which); +int X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which, + ASN1_INTEGER *min, ASN1_INTEGER *max); +int X509v3_addr_add_inherit(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi); +int X509v3_addr_add_prefix(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *a, const int prefixlen); +int X509v3_addr_add_range(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *min, unsigned char *max); +unsigned X509v3_addr_get_afi(const IPAddressFamily *f); +int X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, + unsigned char *min, unsigned char *max, + const int length); + +/* + * Canonical forms. + */ +int X509v3_asid_is_canonical(ASIdentifiers *asid); +int X509v3_addr_is_canonical(IPAddrBlocks *addr); +int X509v3_asid_canonize(ASIdentifiers *asid); +int X509v3_addr_canonize(IPAddrBlocks *addr); + +/* + * Tests for inheritance and containment. + */ +int X509v3_asid_inherits(ASIdentifiers *asid); +int X509v3_addr_inherits(IPAddrBlocks *addr); +int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); +int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); + +/* + * Check whether RFC 3779 extensions nest properly in chains. + */ +int X509v3_asid_validate_path(X509_STORE_CTX *); +int X509v3_addr_validate_path(X509_STORE_CTX *); +int X509v3_asid_validate_resource_set(STACK_OF(X509) *chain, + ASIdentifiers *ext, + int allow_inheritance); +int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, + IPAddrBlocks *ext, int allow_inheritance); + +#endif /* OPENSSL_NO_RFC3779 */ + +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +int ERR_load_X509V3_strings(void); + +/* Error codes for the X509V3 functions. */ + +/* Function codes. */ +# define X509V3_F_A2I_GENERAL_NAME 164 +# define X509V3_F_ADDR_VALIDATE_PATH_INTERNAL 166 +# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 +# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 +# define X509V3_F_COPY_EMAIL 122 +# define X509V3_F_COPY_ISSUER 123 +# define X509V3_F_DO_DIRNAME 144 +# define X509V3_F_DO_EXT_I2D 135 +# define X509V3_F_DO_EXT_NCONF 151 +# define X509V3_F_GNAMES_FROM_SECTNAME 156 +# define X509V3_F_I2S_ASN1_ENUMERATED 121 +# define X509V3_F_I2S_ASN1_IA5STRING 149 +# define X509V3_F_I2S_ASN1_INTEGER 120 +# define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 +# define X509V3_F_NOTICE_SECTION 132 +# define X509V3_F_NREF_NOS 133 +# define X509V3_F_POLICY_SECTION 131 +# define X509V3_F_PROCESS_PCI_VALUE 150 +# define X509V3_F_R2I_CERTPOL 130 +# define X509V3_F_R2I_PCI 155 +# define X509V3_F_S2I_ASN1_IA5STRING 100 +# define X509V3_F_S2I_ASN1_INTEGER 108 +# define X509V3_F_S2I_ASN1_OCTET_STRING 112 +# define X509V3_F_S2I_SKEY_ID 115 +# define X509V3_F_SET_DIST_POINT_NAME 158 +# define X509V3_F_SXNET_ADD_ID_ASC 125 +# define X509V3_F_SXNET_ADD_ID_INTEGER 126 +# define X509V3_F_SXNET_ADD_ID_ULONG 127 +# define X509V3_F_SXNET_GET_ID_ASC 128 +# define X509V3_F_SXNET_GET_ID_ULONG 129 +# define X509V3_F_V2I_ASIDENTIFIERS 163 +# define X509V3_F_V2I_ASN1_BIT_STRING 101 +# define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 +# define X509V3_F_V2I_AUTHORITY_KEYID 119 +# define X509V3_F_V2I_BASIC_CONSTRAINTS 102 +# define X509V3_F_V2I_CRLD 134 +# define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 +# define X509V3_F_V2I_GENERAL_NAMES 118 +# define X509V3_F_V2I_GENERAL_NAME_EX 117 +# define X509V3_F_V2I_IDP 157 +# define X509V3_F_V2I_IPADDRBLOCKS 159 +# define X509V3_F_V2I_ISSUER_ALT 153 +# define X509V3_F_V2I_NAME_CONSTRAINTS 147 +# define X509V3_F_V2I_POLICY_CONSTRAINTS 146 +# define X509V3_F_V2I_POLICY_MAPPINGS 145 +# define X509V3_F_V2I_SUBJECT_ALT 154 +# define X509V3_F_V2I_TLS_FEATURE 165 +# define X509V3_F_V3_GENERIC_EXTENSION 116 +# define X509V3_F_X509V3_ADD1_I2D 140 +# define X509V3_F_X509V3_ADD_VALUE 105 +# define X509V3_F_X509V3_EXT_ADD 104 +# define X509V3_F_X509V3_EXT_ADD_ALIAS 106 +# define X509V3_F_X509V3_EXT_I2D 136 +# define X509V3_F_X509V3_EXT_NCONF 152 +# define X509V3_F_X509V3_GET_SECTION 142 +# define X509V3_F_X509V3_GET_STRING 143 +# define X509V3_F_X509V3_GET_VALUE_BOOL 110 +# define X509V3_F_X509V3_PARSE_LIST 109 +# define X509V3_F_X509_PURPOSE_ADD 137 +# define X509V3_F_X509_PURPOSE_SET 141 + +/* Reason codes. */ +# define X509V3_R_BAD_IP_ADDRESS 118 +# define X509V3_R_BAD_OBJECT 119 +# define X509V3_R_BN_DEC2BN_ERROR 100 +# define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 +# define X509V3_R_DIRNAME_ERROR 149 +# define X509V3_R_DISTPOINT_ALREADY_SET 160 +# define X509V3_R_DUPLICATE_ZONE_ID 133 +# define X509V3_R_ERROR_CONVERTING_ZONE 131 +# define X509V3_R_ERROR_CREATING_EXTENSION 144 +# define X509V3_R_ERROR_IN_EXTENSION 128 +# define X509V3_R_EXPECTED_A_SECTION_NAME 137 +# define X509V3_R_EXTENSION_EXISTS 145 +# define X509V3_R_EXTENSION_NAME_ERROR 115 +# define X509V3_R_EXTENSION_NOT_FOUND 102 +# define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 +# define X509V3_R_EXTENSION_VALUE_ERROR 116 +# define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 +# define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 +# define X509V3_R_INVALID_ASNUMBER 162 +# define X509V3_R_INVALID_ASRANGE 163 +# define X509V3_R_INVALID_BOOLEAN_STRING 104 +# define X509V3_R_INVALID_EXTENSION_STRING 105 +# define X509V3_R_INVALID_INHERITANCE 165 +# define X509V3_R_INVALID_IPADDRESS 166 +# define X509V3_R_INVALID_MULTIPLE_RDNS 161 +# define X509V3_R_INVALID_NAME 106 +# define X509V3_R_INVALID_NULL_ARGUMENT 107 +# define X509V3_R_INVALID_NULL_NAME 108 +# define X509V3_R_INVALID_NULL_VALUE 109 +# define X509V3_R_INVALID_NUMBER 140 +# define X509V3_R_INVALID_NUMBERS 141 +# define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 +# define X509V3_R_INVALID_OPTION 138 +# define X509V3_R_INVALID_POLICY_IDENTIFIER 134 +# define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 +# define X509V3_R_INVALID_PURPOSE 146 +# define X509V3_R_INVALID_SAFI 164 +# define X509V3_R_INVALID_SECTION 135 +# define X509V3_R_INVALID_SYNTAX 143 +# define X509V3_R_ISSUER_DECODE_ERROR 126 +# define X509V3_R_MISSING_VALUE 124 +# define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 +# define X509V3_R_NO_CONFIG_DATABASE 136 +# define X509V3_R_NO_ISSUER_CERTIFICATE 121 +# define X509V3_R_NO_ISSUER_DETAILS 127 +# define X509V3_R_NO_POLICY_IDENTIFIER 139 +# define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 +# define X509V3_R_NO_PUBLIC_KEY 114 +# define X509V3_R_NO_SUBJECT_DETAILS 125 +# define X509V3_R_OPERATION_NOT_DEFINED 148 +# define X509V3_R_OTHERNAME_ERROR 147 +# define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 +# define X509V3_R_POLICY_PATH_LENGTH 156 +# define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 +# define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 +# define X509V3_R_SECTION_NOT_FOUND 150 +# define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 +# define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 +# define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 +# define X509V3_R_UNKNOWN_EXTENSION 129 +# define X509V3_R_UNKNOWN_EXTENSION_NAME 130 +# define X509V3_R_UNKNOWN_OPTION 120 +# define X509V3_R_UNSUPPORTED_OPTION 117 +# define X509V3_R_UNSUPPORTED_TYPE 167 +# define X509V3_R_USER_TOO_LONG 132 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/android/x86_64/include/png/png.h b/android/x86_64/include/png/png.h new file mode 100644 index 00000000..997130d3 --- /dev/null +++ b/android/x86_64/include/png/png.h @@ -0,0 +1,3282 @@ + +/* png.h - header file for PNG reference library + * + * libpng version 1.6.16, December 22, 2014 + * Copyright (c) 1998-2014 Glenn Randers-Pehrson + * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) + * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) + * + * This code is released under the libpng license (See LICENSE, below) + * + * Authors and maintainers: + * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat + * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger + * libpng versions 0.97, January 1998, through 1.6.16, December 22, 2014: Glenn + * See also "Contributing Authors", below. + * + * Note about libpng version numbers: + * + * Due to various miscommunications, unforeseen code incompatibilities + * and occasional factors outside the authors' control, version numbering + * on the library has not always been consistent and straightforward. + * The following table summarizes matters since version 0.89c, which was + * the first widely used release: + * + * source png.h png.h shared-lib + * version string int version + * ------- ------ ----- ---------- + * 0.89c "1.0 beta 3" 0.89 89 1.0.89 + * 0.90 "1.0 beta 4" 0.90 90 0.90 [should have been 2.0.90] + * 0.95 "1.0 beta 5" 0.95 95 0.95 [should have been 2.0.95] + * 0.96 "1.0 beta 6" 0.96 96 0.96 [should have been 2.0.96] + * 0.97b "1.00.97 beta 7" 1.00.97 97 1.0.1 [should have been 2.0.97] + * 0.97c 0.97 97 2.0.97 + * 0.98 0.98 98 2.0.98 + * 0.99 0.99 98 2.0.99 + * 0.99a-m 0.99 99 2.0.99 + * 1.00 1.00 100 2.1.0 [100 should be 10000] + * 1.0.0 (from here on, the 100 2.1.0 [100 should be 10000] + * 1.0.1 png.h string is 10001 2.1.0 + * 1.0.1a-e identical to the 10002 from here on, the shared library + * 1.0.2 source version) 10002 is 2.V where V is the source code + * 1.0.2a-b 10003 version, except as noted. + * 1.0.3 10003 + * 1.0.3a-d 10004 + * 1.0.4 10004 + * 1.0.4a-f 10005 + * 1.0.5 (+ 2 patches) 10005 + * 1.0.5a-d 10006 + * 1.0.5e-r 10100 (not source compatible) + * 1.0.5s-v 10006 (not binary compatible) + * 1.0.6 (+ 3 patches) 10006 (still binary incompatible) + * 1.0.6d-f 10007 (still binary incompatible) + * 1.0.6g 10007 + * 1.0.6h 10007 10.6h (testing xy.z so-numbering) + * 1.0.6i 10007 10.6i + * 1.0.6j 10007 2.1.0.6j (incompatible with 1.0.0) + * 1.0.7beta11-14 DLLNUM 10007 2.1.0.7beta11-14 (binary compatible) + * 1.0.7beta15-18 1 10007 2.1.0.7beta15-18 (binary compatible) + * 1.0.7rc1-2 1 10007 2.1.0.7rc1-2 (binary compatible) + * 1.0.7 1 10007 (still compatible) + * 1.0.8beta1-4 1 10008 2.1.0.8beta1-4 + * 1.0.8rc1 1 10008 2.1.0.8rc1 + * 1.0.8 1 10008 2.1.0.8 + * 1.0.9beta1-6 1 10009 2.1.0.9beta1-6 + * 1.0.9rc1 1 10009 2.1.0.9rc1 + * 1.0.9beta7-10 1 10009 2.1.0.9beta7-10 + * 1.0.9rc2 1 10009 2.1.0.9rc2 + * 1.0.9 1 10009 2.1.0.9 + * 1.0.10beta1 1 10010 2.1.0.10beta1 + * 1.0.10rc1 1 10010 2.1.0.10rc1 + * 1.0.10 1 10010 2.1.0.10 + * 1.0.11beta1-3 1 10011 2.1.0.11beta1-3 + * 1.0.11rc1 1 10011 2.1.0.11rc1 + * 1.0.11 1 10011 2.1.0.11 + * 1.0.12beta1-2 2 10012 2.1.0.12beta1-2 + * 1.0.12rc1 2 10012 2.1.0.12rc1 + * 1.0.12 2 10012 2.1.0.12 + * 1.1.0a-f - 10100 2.1.1.0a-f (branch abandoned) + * 1.2.0beta1-2 2 10200 2.1.2.0beta1-2 + * 1.2.0beta3-5 3 10200 3.1.2.0beta3-5 + * 1.2.0rc1 3 10200 3.1.2.0rc1 + * 1.2.0 3 10200 3.1.2.0 + * 1.2.1beta1-4 3 10201 3.1.2.1beta1-4 + * 1.2.1rc1-2 3 10201 3.1.2.1rc1-2 + * 1.2.1 3 10201 3.1.2.1 + * 1.2.2beta1-6 12 10202 12.so.0.1.2.2beta1-6 + * 1.0.13beta1 10 10013 10.so.0.1.0.13beta1 + * 1.0.13rc1 10 10013 10.so.0.1.0.13rc1 + * 1.2.2rc1 12 10202 12.so.0.1.2.2rc1 + * 1.0.13 10 10013 10.so.0.1.0.13 + * 1.2.2 12 10202 12.so.0.1.2.2 + * 1.2.3rc1-6 12 10203 12.so.0.1.2.3rc1-6 + * 1.2.3 12 10203 12.so.0.1.2.3 + * 1.2.4beta1-3 13 10204 12.so.0.1.2.4beta1-3 + * 1.0.14rc1 13 10014 10.so.0.1.0.14rc1 + * 1.2.4rc1 13 10204 12.so.0.1.2.4rc1 + * 1.0.14 10 10014 10.so.0.1.0.14 + * 1.2.4 13 10204 12.so.0.1.2.4 + * 1.2.5beta1-2 13 10205 12.so.0.1.2.5beta1-2 + * 1.0.15rc1-3 10 10015 10.so.0.1.0.15rc1-3 + * 1.2.5rc1-3 13 10205 12.so.0.1.2.5rc1-3 + * 1.0.15 10 10015 10.so.0.1.0.15 + * 1.2.5 13 10205 12.so.0.1.2.5 + * 1.2.6beta1-4 13 10206 12.so.0.1.2.6beta1-4 + * 1.0.16 10 10016 10.so.0.1.0.16 + * 1.2.6 13 10206 12.so.0.1.2.6 + * 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2 + * 1.0.17rc1 10 10017 12.so.0.1.0.17rc1 + * 1.2.7rc1 13 10207 12.so.0.1.2.7rc1 + * 1.0.17 10 10017 12.so.0.1.0.17 + * 1.2.7 13 10207 12.so.0.1.2.7 + * 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 + * 1.0.18rc1-5 10 10018 12.so.0.1.0.18rc1-5 + * 1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5 + * 1.0.18 10 10018 12.so.0.1.0.18 + * 1.2.8 13 10208 12.so.0.1.2.8 + * 1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3 + * 1.2.9beta4-11 13 10209 12.so.0.9[.0] + * 1.2.9rc1 13 10209 12.so.0.9[.0] + * 1.2.9 13 10209 12.so.0.9[.0] + * 1.2.10beta1-7 13 10210 12.so.0.10[.0] + * 1.2.10rc1-2 13 10210 12.so.0.10[.0] + * 1.2.10 13 10210 12.so.0.10[.0] + * 1.4.0beta1-5 14 10400 14.so.0.0[.0] + * 1.2.11beta1-4 13 10211 12.so.0.11[.0] + * 1.4.0beta7-8 14 10400 14.so.0.0[.0] + * 1.2.11 13 10211 12.so.0.11[.0] + * 1.2.12 13 10212 12.so.0.12[.0] + * 1.4.0beta9-14 14 10400 14.so.0.0[.0] + * 1.2.13 13 10213 12.so.0.13[.0] + * 1.4.0beta15-36 14 10400 14.so.0.0[.0] + * 1.4.0beta37-87 14 10400 14.so.14.0[.0] + * 1.4.0rc01 14 10400 14.so.14.0[.0] + * 1.4.0beta88-109 14 10400 14.so.14.0[.0] + * 1.4.0rc02-08 14 10400 14.so.14.0[.0] + * 1.4.0 14 10400 14.so.14.0[.0] + * 1.4.1beta01-03 14 10401 14.so.14.1[.0] + * 1.4.1rc01 14 10401 14.so.14.1[.0] + * 1.4.1beta04-12 14 10401 14.so.14.1[.0] + * 1.4.1 14 10401 14.so.14.1[.0] + * 1.4.2 14 10402 14.so.14.2[.0] + * 1.4.3 14 10403 14.so.14.3[.0] + * 1.4.4 14 10404 14.so.14.4[.0] + * 1.5.0beta01-58 15 10500 15.so.15.0[.0] + * 1.5.0rc01-07 15 10500 15.so.15.0[.0] + * 1.5.0 15 10500 15.so.15.0[.0] + * 1.5.1beta01-11 15 10501 15.so.15.1[.0] + * 1.5.1rc01-02 15 10501 15.so.15.1[.0] + * 1.5.1 15 10501 15.so.15.1[.0] + * 1.5.2beta01-03 15 10502 15.so.15.2[.0] + * 1.5.2rc01-03 15 10502 15.so.15.2[.0] + * 1.5.2 15 10502 15.so.15.2[.0] + * 1.5.3beta01-10 15 10503 15.so.15.3[.0] + * 1.5.3rc01-02 15 10503 15.so.15.3[.0] + * 1.5.3beta11 15 10503 15.so.15.3[.0] + * 1.5.3 [omitted] + * 1.5.4beta01-08 15 10504 15.so.15.4[.0] + * 1.5.4rc01 15 10504 15.so.15.4[.0] + * 1.5.4 15 10504 15.so.15.4[.0] + * 1.5.5beta01-08 15 10505 15.so.15.5[.0] + * 1.5.5rc01 15 10505 15.so.15.5[.0] + * 1.5.5 15 10505 15.so.15.5[.0] + * 1.5.6beta01-07 15 10506 15.so.15.6[.0] + * 1.5.6rc01-03 15 10506 15.so.15.6[.0] + * 1.5.6 15 10506 15.so.15.6[.0] + * 1.5.7beta01-05 15 10507 15.so.15.7[.0] + * 1.5.7rc01-03 15 10507 15.so.15.7[.0] + * 1.5.7 15 10507 15.so.15.7[.0] + * 1.6.0beta01-40 16 10600 16.so.16.0[.0] + * 1.6.0rc01-08 16 10600 16.so.16.0[.0] + * 1.6.0 16 10600 16.so.16.0[.0] + * 1.6.1beta01-09 16 10601 16.so.16.1[.0] + * 1.6.1rc01 16 10601 16.so.16.1[.0] + * 1.6.1 16 10601 16.so.16.1[.0] + * 1.6.2beta01 16 10602 16.so.16.2[.0] + * 1.6.2rc01-06 16 10602 16.so.16.2[.0] + * 1.6.2 16 10602 16.so.16.2[.0] + * 1.6.3beta01-11 16 10603 16.so.16.3[.0] + * 1.6.3rc01 16 10603 16.so.16.3[.0] + * 1.6.3 16 10603 16.so.16.3[.0] + * 1.6.4beta01-02 16 10604 16.so.16.4[.0] + * 1.6.4rc01 16 10604 16.so.16.4[.0] + * 1.6.4 16 10604 16.so.16.4[.0] + * 1.6.5 16 10605 16.so.16.5[.0] + * 1.6.6 16 10606 16.so.16.6[.0] + * 1.6.7beta01-04 16 10607 16.so.16.7[.0] + * 1.6.7rc01-03 16 10607 16.so.16.7[.0] + * 1.6.7 16 10607 16.so.16.7[.0] + * 1.6.8beta01-02 16 10608 16.so.16.8[.0] + * 1.6.8rc01-02 16 10608 16.so.16.8[.0] + * 1.6.8 16 10608 16.so.16.8[.0] + * 1.6.9beta01-04 16 10609 16.so.16.9[.0] + * 1.6.9rc01-02 16 10609 16.so.16.9[.0] + * 1.6.9 16 10609 16.so.16.9[.0] + * 1.6.10beta01-03 16 10610 16.so.16.10[.0] + * 1.6.10rc01-03 16 10610 16.so.16.10[.0] + * 1.6.10 16 10610 16.so.16.10[.0] + * 1.6.11beta01-06 16 10611 16.so.16.11[.0] + * 1.6.11rc01-02 16 10611 16.so.16.11[.0] + * 1.6.11 16 10611 16.so.16.11[.0] + * 1.6.12rc01-03 16 10612 16.so.16.12[.0] + * 1.6.12 16 10612 16.so.16.12[.0] + * 1.6.13beta01-04 16 10613 16.so.16.13[.0] + * 1.6.13rc01-02 16 10613 16.so.16.13[.0] + * 1.6.13 16 10613 16.so.16.13[.0] + * 1.6.14beta01-07 16 10614 16.so.16.14[.0] + * 1.6.14rc01-02 16 10614 16.so.16.14[.0] + * 1.6.14 16 10614 16.so.16.14[.0] + * 1.6.15beta01-08 16 10615 16.so.16.15[.0] + * 1.6.15rc01-03 16 10615 16.so.16.15[.0] + * 1.6.15 16 10615 16.so.16.15[.0] + * 1.6.16beta01-03 16 10616 16.so.16.16[.0] + * 1.6.16rc01-02 16 10616 16.so.16.16[.0] + * 1.6.16 16 10616 16.so.16.16[.0] + * + * Henceforth the source version will match the shared-library major + * and minor numbers; the shared-library major version number will be + * used for changes in backward compatibility, as it is intended. The + * PNG_LIBPNG_VER macro, which is not used within libpng but is available + * for applications, is an unsigned integer of the form xyyzz corresponding + * to the source version x.y.z (leading zeros in y and z). Beta versions + * were given the previous public release number plus a letter, until + * version 1.0.6j; from then on they were given the upcoming public + * release number plus "betaNN" or "rcNN". + * + * Binary incompatibility exists only when applications make direct access + * to the info_ptr or png_ptr members through png.h, and the compiled + * application is loaded with a different version of the library. + * + * DLLNUM will change each time there are forward or backward changes + * in binary compatibility (e.g., when a new feature is added). + * + * See libpng-manual.txt or libpng.3 for more information. The PNG + * specification is available as a W3C Recommendation and as an ISO + * Specification, + * + * If you just need to read a PNG file and don't want to read the documentation + * skip to the end of this file and read the section entitled 'simplified API'. + */ + +/* Version information for png.h - this should match the version in png.c */ +#define PNG_LIBPNG_VER_STRING "1.6.16" +#define PNG_HEADER_VERSION_STRING \ + " libpng version 1.6.16 - December 22, 2014\n" + +#define PNG_LIBPNG_VER_SONUM 16 +#define PNG_LIBPNG_VER_DLLNUM 16 + +/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ +#define PNG_LIBPNG_VER_MAJOR 1 +#define PNG_LIBPNG_VER_MINOR 6 +#define PNG_LIBPNG_VER_RELEASE 16 + +/* This should match the numeric part of the final component of + * PNG_LIBPNG_VER_STRING, omitting any leading zero: + */ + +#define PNG_LIBPNG_VER_BUILD 0 + +/* Release Status */ +#define PNG_LIBPNG_BUILD_ALPHA 1 +#define PNG_LIBPNG_BUILD_BETA 2 +#define PNG_LIBPNG_BUILD_RC 3 +#define PNG_LIBPNG_BUILD_STABLE 4 +#define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 + +/* Release-Specific Flags */ +#define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with + PNG_LIBPNG_BUILD_STABLE only */ +#define PNG_LIBPNG_BUILD_PRIVATE 16 /* Cannot be OR'ed with + PNG_LIBPNG_BUILD_SPECIAL */ +#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with + PNG_LIBPNG_BUILD_PRIVATE */ + +#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE + +/* Careful here. At one time, Guy wanted to use 082, but that would be octal. + * We must not include leading zeros. + * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only + * version 1.0.0 was mis-numbered 100 instead of 10000). From + * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release + */ +#define PNG_LIBPNG_VER 10616 /* 1.6.16 */ + +/* Library configuration: these options cannot be changed after + * the library has been built. + */ +#ifndef PNGLCONF_H + /* If pnglibconf.h is missing, you can + * copy scripts/pnglibconf.h.prebuilt to pnglibconf.h + */ +# include "pnglibconf.h" +#endif + +#ifndef PNG_VERSION_INFO_ONLY + /* Machine specific configuration. */ +# include "pngconf.h" +#endif + +/* + * Added at libpng-1.2.8 + * + * Ref MSDN: Private as priority over Special + * VS_FF_PRIVATEBUILD File *was not* built using standard release + * procedures. If this value is given, the StringFileInfo block must + * contain a PrivateBuild string. + * + * VS_FF_SPECIALBUILD File *was* built by the original company using + * standard release procedures but is a variation of the standard + * file of the same version number. If this value is given, the + * StringFileInfo block must contain a SpecialBuild string. + */ + +#ifdef PNG_USER_PRIVATEBUILD /* From pnglibconf.h */ +# define PNG_LIBPNG_BUILD_TYPE \ + (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_PRIVATE) +#else +# ifdef PNG_LIBPNG_SPECIALBUILD +# define PNG_LIBPNG_BUILD_TYPE \ + (PNG_LIBPNG_BUILD_BASE_TYPE | PNG_LIBPNG_BUILD_SPECIAL) +# else +# define PNG_LIBPNG_BUILD_TYPE (PNG_LIBPNG_BUILD_BASE_TYPE) +# endif +#endif + +#ifndef PNG_VERSION_INFO_ONLY + +/* Inhibit C++ name-mangling for libpng functions but not for system calls. */ +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Version information for C files, stored in png.c. This had better match + * the version above. + */ +#define png_libpng_ver png_get_header_ver(NULL) + +/* This file is arranged in several sections: + * + * 1. Any configuration options that can be specified by for the application + * code when it is built. (Build time configuration is in pnglibconf.h) + * 2. Type definitions (base types are defined in pngconf.h), structure + * definitions. + * 3. Exported library functions. + * 4. Simplified API. + * + * The library source code has additional files (principally pngpriv.h) that + * allow configuration of the library. + */ +/* Section 1: run time configuration + * See pnglibconf.h for build time configuration + * + * Run time configuration allows the application to choose between + * implementations of certain arithmetic APIs. The default is set + * at build time and recorded in pnglibconf.h, but it is safe to + * override these (and only these) settings. Note that this won't + * change what the library does, only application code, and the + * settings can (and probably should) be made on a per-file basis + * by setting the #defines before including png.h + * + * Use macros to read integers from PNG data or use the exported + * functions? + * PNG_USE_READ_MACROS: use the macros (see below) Note that + * the macros evaluate their argument multiple times. + * PNG_NO_USE_READ_MACROS: call the relevant library function. + * + * Use the alternative algorithm for compositing alpha samples that + * does not use division? + * PNG_READ_COMPOSITE_NODIV_SUPPORTED: use the 'no division' + * algorithm. + * PNG_NO_READ_COMPOSITE_NODIV: use the 'division' algorithm. + * + * How to handle benign errors if PNG_ALLOW_BENIGN_ERRORS is + * false? + * PNG_ALLOW_BENIGN_ERRORS: map calls to the benign error + * APIs to png_warning. + * Otherwise the calls are mapped to png_error. + */ + +/* Section 2: type definitions, including structures and compile time + * constants. + * See pngconf.h for base types that vary by machine/system + */ + +/* This triggers a compiler error in png.c, if png.c and png.h + * do not agree upon the version number. + */ +typedef char* png_libpng_version_1_6_16; + +/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. + * + * png_struct is the cache of information used while reading or writing a single + * PNG file. One of these is always required, although the simplified API + * (below) hides the creation and destruction of it. + */ +typedef struct png_struct_def png_struct; +typedef const png_struct * png_const_structp; +typedef png_struct * png_structp; +typedef png_struct * * png_structpp; + +/* png_info contains information read from or to be written to a PNG file. One + * or more of these must exist while reading or creating a PNG file. The + * information is not used by libpng during read but is used to control what + * gets written when a PNG file is created. "png_get_" function calls read + * information during read and "png_set_" functions calls write information + * when creating a PNG. + * been moved into a separate header file that is not accessible to + * applications. Read libpng-manual.txt or libpng.3 for more info. + */ +typedef struct png_info_def png_info; +typedef png_info * png_infop; +typedef const png_info * png_const_infop; +typedef png_info * * png_infopp; + +/* Types with names ending 'p' are pointer types. The corresponding types with + * names ending 'rp' are identical pointer types except that the pointer is + * marked 'restrict', which means that it is the only pointer to the object + * passed to the function. Applications should not use the 'restrict' types; + * it is always valid to pass 'p' to a pointer with a function argument of the + * corresponding 'rp' type. Different compilers have different rules with + * regard to type matching in the presence of 'restrict'. For backward + * compatibility libpng callbacks never have 'restrict' in their parameters and, + * consequentially, writing portable application code is extremely difficult if + * an attempt is made to use 'restrict'. + */ +typedef png_struct * PNG_RESTRICT png_structrp; +typedef const png_struct * PNG_RESTRICT png_const_structrp; +typedef png_info * PNG_RESTRICT png_inforp; +typedef const png_info * PNG_RESTRICT png_const_inforp; + +/* Three color definitions. The order of the red, green, and blue, (and the + * exact size) is not important, although the size of the fields need to + * be png_byte or png_uint_16 (as defined below). + */ +typedef struct png_color_struct +{ + png_byte red; + png_byte green; + png_byte blue; +} png_color; +typedef png_color * png_colorp; +typedef const png_color * png_const_colorp; +typedef png_color * * png_colorpp; + +typedef struct png_color_16_struct +{ + png_byte index; /* used for palette files */ + png_uint_16 red; /* for use in red green blue files */ + png_uint_16 green; + png_uint_16 blue; + png_uint_16 gray; /* for use in grayscale files */ +} png_color_16; +typedef png_color_16 * png_color_16p; +typedef const png_color_16 * png_const_color_16p; +typedef png_color_16 * * png_color_16pp; + +typedef struct png_color_8_struct +{ + png_byte red; /* for use in red green blue files */ + png_byte green; + png_byte blue; + png_byte gray; /* for use in grayscale files */ + png_byte alpha; /* for alpha channel files */ +} png_color_8; +typedef png_color_8 * png_color_8p; +typedef const png_color_8 * png_const_color_8p; +typedef png_color_8 * * png_color_8pp; + +/* + * The following two structures are used for the in-core representation + * of sPLT chunks. + */ +typedef struct png_sPLT_entry_struct +{ + png_uint_16 red; + png_uint_16 green; + png_uint_16 blue; + png_uint_16 alpha; + png_uint_16 frequency; +} png_sPLT_entry; +typedef png_sPLT_entry * png_sPLT_entryp; +typedef const png_sPLT_entry * png_const_sPLT_entryp; +typedef png_sPLT_entry * * png_sPLT_entrypp; + +/* When the depth of the sPLT palette is 8 bits, the color and alpha samples + * occupy the LSB of their respective members, and the MSB of each member + * is zero-filled. The frequency member always occupies the full 16 bits. + */ + +typedef struct png_sPLT_struct +{ + png_charp name; /* palette name */ + png_byte depth; /* depth of palette samples */ + png_sPLT_entryp entries; /* palette entries */ + png_int_32 nentries; /* number of palette entries */ +} png_sPLT_t; +typedef png_sPLT_t * png_sPLT_tp; +typedef const png_sPLT_t * png_const_sPLT_tp; +typedef png_sPLT_t * * png_sPLT_tpp; + +#ifdef PNG_TEXT_SUPPORTED +/* png_text holds the contents of a text/ztxt/itxt chunk in a PNG file, + * and whether that contents is compressed or not. The "key" field + * points to a regular zero-terminated C string. The "text" fields can be a + * regular C string, an empty string, or a NULL pointer. + * However, the structure returned by png_get_text() will always contain + * the "text" field as a regular zero-terminated C string (possibly + * empty), never a NULL pointer, so it can be safely used in printf() and + * other string-handling functions. Note that the "itxt_length", "lang", and + * "lang_key" members of the structure only exist when the library is built + * with iTXt chunk support. Prior to libpng-1.4.0 the library was built by + * default without iTXt support. Also note that when iTXt *is* supported, + * the "lang" and "lang_key" fields contain NULL pointers when the + * "compression" field contains * PNG_TEXT_COMPRESSION_NONE or + * PNG_TEXT_COMPRESSION_zTXt. Note that the "compression value" is not the + * same as what appears in the PNG tEXt/zTXt/iTXt chunk's "compression flag" + * which is always 0 or 1, or its "compression method" which is always 0. + */ +typedef struct png_text_struct +{ + int compression; /* compression value: + -1: tEXt, none + 0: zTXt, deflate + 1: iTXt, none + 2: iTXt, deflate */ + png_charp key; /* keyword, 1-79 character description of "text" */ + png_charp text; /* comment, may be an empty string (ie "") + or a NULL pointer */ + png_size_t text_length; /* length of the text string */ + png_size_t itxt_length; /* length of the itxt string */ + png_charp lang; /* language code, 0-79 characters + or a NULL pointer */ + png_charp lang_key; /* keyword translated UTF-8 string, 0 or more + chars or a NULL pointer */ +} png_text; +typedef png_text * png_textp; +typedef const png_text * png_const_textp; +typedef png_text * * png_textpp; +#endif + +/* Supported compression types for text in PNG files (tEXt, and zTXt). + * The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed. */ +#define PNG_TEXT_COMPRESSION_NONE_WR -3 +#define PNG_TEXT_COMPRESSION_zTXt_WR -2 +#define PNG_TEXT_COMPRESSION_NONE -1 +#define PNG_TEXT_COMPRESSION_zTXt 0 +#define PNG_ITXT_COMPRESSION_NONE 1 +#define PNG_ITXT_COMPRESSION_zTXt 2 +#define PNG_TEXT_COMPRESSION_LAST 3 /* Not a valid value */ + +/* png_time is a way to hold the time in an machine independent way. + * Two conversions are provided, both from time_t and struct tm. There + * is no portable way to convert to either of these structures, as far + * as I know. If you know of a portable way, send it to me. As a side + * note - PNG has always been Year 2000 compliant! + */ +typedef struct png_time_struct +{ + png_uint_16 year; /* full year, as in, 1995 */ + png_byte month; /* month of year, 1 - 12 */ + png_byte day; /* day of month, 1 - 31 */ + png_byte hour; /* hour of day, 0 - 23 */ + png_byte minute; /* minute of hour, 0 - 59 */ + png_byte second; /* second of minute, 0 - 60 (for leap seconds) */ +} png_time; +typedef png_time * png_timep; +typedef const png_time * png_const_timep; +typedef png_time * * png_timepp; + +#if defined(PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED) ||\ + defined(PNG_USER_CHUNKS_SUPPORTED) +/* png_unknown_chunk is a structure to hold queued chunks for which there is + * no specific support. The idea is that we can use this to queue + * up private chunks for output even though the library doesn't actually + * know about their semantics. + * + * The data in the structure is set by libpng on read and used on write. + */ +typedef struct png_unknown_chunk_t +{ + png_byte name[5]; /* Textual chunk name with '\0' terminator */ + png_byte *data; /* Data, should not be modified on read! */ + png_size_t size; + + /* On write 'location' must be set using the flag values listed below. + * Notice that on read it is set by libpng however the values stored have + * more bits set than are listed below. Always treat the value as a + * bitmask. On write set only one bit - setting multiple bits may cause the + * chunk to be written in multiple places. + */ + png_byte location; /* mode of operation at read time */ +} +png_unknown_chunk; + +typedef png_unknown_chunk * png_unknown_chunkp; +typedef const png_unknown_chunk * png_const_unknown_chunkp; +typedef png_unknown_chunk * * png_unknown_chunkpp; +#endif + +/* Flag values for the unknown chunk location byte. */ +#define PNG_HAVE_IHDR 0x01 +#define PNG_HAVE_PLTE 0x02 +#define PNG_AFTER_IDAT 0x08 + +/* Maximum positive integer used in PNG is (2^31)-1 */ +#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL) +#define PNG_UINT_32_MAX ((png_uint_32)(-1)) +#define PNG_SIZE_MAX ((png_size_t)(-1)) + +/* These are constants for fixed point values encoded in the + * PNG specification manner (x100000) + */ +#define PNG_FP_1 100000 +#define PNG_FP_HALF 50000 +#define PNG_FP_MAX ((png_fixed_point)0x7fffffffL) +#define PNG_FP_MIN (-PNG_FP_MAX) + +/* These describe the color_type field in png_info. */ +/* color type masks */ +#define PNG_COLOR_MASK_PALETTE 1 +#define PNG_COLOR_MASK_COLOR 2 +#define PNG_COLOR_MASK_ALPHA 4 + +/* color types. Note that not all combinations are legal */ +#define PNG_COLOR_TYPE_GRAY 0 +#define PNG_COLOR_TYPE_PALETTE (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_PALETTE) +#define PNG_COLOR_TYPE_RGB (PNG_COLOR_MASK_COLOR) +#define PNG_COLOR_TYPE_RGB_ALPHA (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA) +#define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA) +/* aliases */ +#define PNG_COLOR_TYPE_RGBA PNG_COLOR_TYPE_RGB_ALPHA +#define PNG_COLOR_TYPE_GA PNG_COLOR_TYPE_GRAY_ALPHA + +/* This is for compression type. PNG 1.0-1.2 only define the single type. */ +#define PNG_COMPRESSION_TYPE_BASE 0 /* Deflate method 8, 32K window */ +#define PNG_COMPRESSION_TYPE_DEFAULT PNG_COMPRESSION_TYPE_BASE + +/* This is for filter type. PNG 1.0-1.2 only define the single type. */ +#define PNG_FILTER_TYPE_BASE 0 /* Single row per-byte filtering */ +#define PNG_INTRAPIXEL_DIFFERENCING 64 /* Used only in MNG datastreams */ +#define PNG_FILTER_TYPE_DEFAULT PNG_FILTER_TYPE_BASE + +/* These are for the interlacing type. These values should NOT be changed. */ +#define PNG_INTERLACE_NONE 0 /* Non-interlaced image */ +#define PNG_INTERLACE_ADAM7 1 /* Adam7 interlacing */ +#define PNG_INTERLACE_LAST 2 /* Not a valid value */ + +/* These are for the oFFs chunk. These values should NOT be changed. */ +#define PNG_OFFSET_PIXEL 0 /* Offset in pixels */ +#define PNG_OFFSET_MICROMETER 1 /* Offset in micrometers (1/10^6 meter) */ +#define PNG_OFFSET_LAST 2 /* Not a valid value */ + +/* These are for the pCAL chunk. These values should NOT be changed. */ +#define PNG_EQUATION_LINEAR 0 /* Linear transformation */ +#define PNG_EQUATION_BASE_E 1 /* Exponential base e transform */ +#define PNG_EQUATION_ARBITRARY 2 /* Arbitrary base exponential transform */ +#define PNG_EQUATION_HYPERBOLIC 3 /* Hyperbolic sine transformation */ +#define PNG_EQUATION_LAST 4 /* Not a valid value */ + +/* These are for the sCAL chunk. These values should NOT be changed. */ +#define PNG_SCALE_UNKNOWN 0 /* unknown unit (image scale) */ +#define PNG_SCALE_METER 1 /* meters per pixel */ +#define PNG_SCALE_RADIAN 2 /* radians per pixel */ +#define PNG_SCALE_LAST 3 /* Not a valid value */ + +/* These are for the pHYs chunk. These values should NOT be changed. */ +#define PNG_RESOLUTION_UNKNOWN 0 /* pixels/unknown unit (aspect ratio) */ +#define PNG_RESOLUTION_METER 1 /* pixels/meter */ +#define PNG_RESOLUTION_LAST 2 /* Not a valid value */ + +/* These are for the sRGB chunk. These values should NOT be changed. */ +#define PNG_sRGB_INTENT_PERCEPTUAL 0 +#define PNG_sRGB_INTENT_RELATIVE 1 +#define PNG_sRGB_INTENT_SATURATION 2 +#define PNG_sRGB_INTENT_ABSOLUTE 3 +#define PNG_sRGB_INTENT_LAST 4 /* Not a valid value */ + +/* This is for text chunks */ +#define PNG_KEYWORD_MAX_LENGTH 79 + +/* Maximum number of entries in PLTE/sPLT/tRNS arrays */ +#define PNG_MAX_PALETTE_LENGTH 256 + +/* These determine if an ancillary chunk's data has been successfully read + * from the PNG header, or if the application has filled in the corresponding + * data in the info_struct to be written into the output file. The values + * of the PNG_INFO_ defines should NOT be changed. + */ +#define PNG_INFO_gAMA 0x0001 +#define PNG_INFO_sBIT 0x0002 +#define PNG_INFO_cHRM 0x0004 +#define PNG_INFO_PLTE 0x0008 +#define PNG_INFO_tRNS 0x0010 +#define PNG_INFO_bKGD 0x0020 +#define PNG_INFO_hIST 0x0040 +#define PNG_INFO_pHYs 0x0080 +#define PNG_INFO_oFFs 0x0100 +#define PNG_INFO_tIME 0x0200 +#define PNG_INFO_pCAL 0x0400 +#define PNG_INFO_sRGB 0x0800 /* GR-P, 0.96a */ +#define PNG_INFO_iCCP 0x1000 /* ESR, 1.0.6 */ +#define PNG_INFO_sPLT 0x2000 /* ESR, 1.0.6 */ +#define PNG_INFO_sCAL 0x4000 /* ESR, 1.0.6 */ +#define PNG_INFO_IDAT 0x8000 /* ESR, 1.0.6 */ + +/* This is used for the transformation routines, as some of them + * change these values for the row. It also should enable using + * the routines for other purposes. + */ +typedef struct png_row_info_struct +{ + png_uint_32 width; /* width of row */ + png_size_t rowbytes; /* number of bytes in row */ + png_byte color_type; /* color type of row */ + png_byte bit_depth; /* bit depth of row */ + png_byte channels; /* number of channels (1, 2, 3, or 4) */ + png_byte pixel_depth; /* bits per pixel (depth * channels) */ +} png_row_info; + +typedef png_row_info * png_row_infop; +typedef png_row_info * * png_row_infopp; + +/* These are the function types for the I/O functions and for the functions + * that allow the user to override the default I/O functions with his or her + * own. The png_error_ptr type should match that of user-supplied warning + * and error functions, while the png_rw_ptr type should match that of the + * user read/write data functions. Note that the 'write' function must not + * modify the buffer it is passed. The 'read' function, on the other hand, is + * expected to return the read data in the buffer. + */ +typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp)); +typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, png_size_t)); +typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp)); +typedef PNG_CALLBACK(void, *png_read_status_ptr, (png_structp, png_uint_32, + int)); +typedef PNG_CALLBACK(void, *png_write_status_ptr, (png_structp, png_uint_32, + int)); + +#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop)); +typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop)); + +/* The following callback receives png_uint_32 row_number, int pass for the + * png_bytep data of the row. When transforming an interlaced image the + * row number is the row number within the sub-image of the interlace pass, so + * the value will increase to the height of the sub-image (not the full image) + * then reset to 0 for the next pass. + * + * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to + * find the output pixel (x,y) given an interlaced sub-image pixel + * (row,col,pass). (See below for these macros.) + */ +typedef PNG_CALLBACK(void, *png_progressive_row_ptr, (png_structp, png_bytep, + png_uint_32, int)); +#endif + +#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ + defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) +typedef PNG_CALLBACK(void, *png_user_transform_ptr, (png_structp, png_row_infop, + png_bytep)); +#endif + +#ifdef PNG_USER_CHUNKS_SUPPORTED +typedef PNG_CALLBACK(int, *png_user_chunk_ptr, (png_structp, + png_unknown_chunkp)); +#endif +#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED +/* not used anywhere */ +/* typedef PNG_CALLBACK(void, *png_unknown_chunk_ptr, (png_structp)); */ +#endif + +#ifdef PNG_SETJMP_SUPPORTED +/* This must match the function definition in , and the application + * must include this before png.h to obtain the definition of jmp_buf. The + * function is required to be PNG_NORETURN, but this is not checked. If the + * function does return the application will crash via an abort() or similar + * system level call. + * + * If you get a warning here while building the library you may need to make + * changes to ensure that pnglibconf.h records the calling convention used by + * your compiler. This may be very difficult - try using a different compiler + * to build the library! + */ +PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), typedef); +#endif + +/* Transform masks for the high-level interface */ +#define PNG_TRANSFORM_IDENTITY 0x0000 /* read and write */ +#define PNG_TRANSFORM_STRIP_16 0x0001 /* read only */ +#define PNG_TRANSFORM_STRIP_ALPHA 0x0002 /* read only */ +#define PNG_TRANSFORM_PACKING 0x0004 /* read and write */ +#define PNG_TRANSFORM_PACKSWAP 0x0008 /* read and write */ +#define PNG_TRANSFORM_EXPAND 0x0010 /* read only */ +#define PNG_TRANSFORM_INVERT_MONO 0x0020 /* read and write */ +#define PNG_TRANSFORM_SHIFT 0x0040 /* read and write */ +#define PNG_TRANSFORM_BGR 0x0080 /* read and write */ +#define PNG_TRANSFORM_SWAP_ALPHA 0x0100 /* read and write */ +#define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 /* read and write */ +#define PNG_TRANSFORM_INVERT_ALPHA 0x0400 /* read and write */ +#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* write only */ +/* Added to libpng-1.2.34 */ +#define PNG_TRANSFORM_STRIP_FILLER_BEFORE PNG_TRANSFORM_STRIP_FILLER +#define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 /* write only */ +/* Added to libpng-1.4.0 */ +#define PNG_TRANSFORM_GRAY_TO_RGB 0x2000 /* read only */ +/* Added to libpng-1.5.4 */ +#define PNG_TRANSFORM_EXPAND_16 0x4000 /* read only */ +#define PNG_TRANSFORM_SCALE_16 0x8000 /* read only */ + +/* Flags for MNG supported features */ +#define PNG_FLAG_MNG_EMPTY_PLTE 0x01 +#define PNG_FLAG_MNG_FILTER_64 0x04 +#define PNG_ALL_MNG_FEATURES 0x05 + +/* NOTE: prior to 1.5 these functions had no 'API' style declaration, + * this allowed the zlib default functions to be used on Windows + * platforms. In 1.5 the zlib default malloc (which just calls malloc and + * ignores the first argument) should be completely compatible with the + * following. + */ +typedef PNG_CALLBACK(png_voidp, *png_malloc_ptr, (png_structp, + png_alloc_size_t)); +typedef PNG_CALLBACK(void, *png_free_ptr, (png_structp, png_voidp)); + +/* Section 3: exported functions + * Here are the function definitions most commonly used. This is not + * the place to find out how to use libpng. See libpng-manual.txt for the + * full explanation, see example.c for the summary. This just provides + * a simple one line description of the use of each function. + * + * The PNG_EXPORT() and PNG_EXPORTA() macros used below are defined in + * pngconf.h and in the *.dfn files in the scripts directory. + * + * PNG_EXPORT(ordinal, type, name, (args)); + * + * ordinal: ordinal that is used while building + * *.def files. The ordinal value is only + * relevant when preprocessing png.h with + * the *.dfn files for building symbol table + * entries, and are removed by pngconf.h. + * type: return type of the function + * name: function name + * args: function arguments, with types + * + * When we wish to append attributes to a function prototype we use + * the PNG_EXPORTA() macro instead. + * + * PNG_EXPORTA(ordinal, type, name, (args), attributes); + * + * ordinal, type, name, and args: same as in PNG_EXPORT(). + * attributes: function attributes + */ + +/* Returns the version number of the library */ +PNG_EXPORT(1, png_uint_32, png_access_version_number, (void)); + +/* Tell lib we have already handled the first magic bytes. + * Handling more than 8 bytes from the beginning of the file is an error. + */ +PNG_EXPORT(2, void, png_set_sig_bytes, (png_structrp png_ptr, int num_bytes)); + +/* Check sig[start] through sig[start + num_to_check - 1] to see if it's a + * PNG file. Returns zero if the supplied bytes match the 8-byte PNG + * signature, and non-zero otherwise. Having num_to_check == 0 or + * start > 7 will always fail (ie return non-zero). + */ +PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, png_size_t start, + png_size_t num_to_check)); + +/* Simple signature checking function. This is the same as calling + * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n). + */ +#define png_check_sig(sig, n) !png_sig_cmp((sig), 0, (n)) + +/* Allocate and initialize png_ptr struct for reading, and any other memory. */ +PNG_EXPORTA(4, png_structp, png_create_read_struct, + (png_const_charp user_png_ver, png_voidp error_ptr, + png_error_ptr error_fn, png_error_ptr warn_fn), + PNG_ALLOCATED); + +/* Allocate and initialize png_ptr struct for writing, and any other memory */ +PNG_EXPORTA(5, png_structp, png_create_write_struct, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn), + PNG_ALLOCATED); + +PNG_EXPORT(6, png_size_t, png_get_compression_buffer_size, + (png_const_structrp png_ptr)); + +PNG_EXPORT(7, void, png_set_compression_buffer_size, (png_structrp png_ptr, + png_size_t size)); + +/* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp + * match up. + */ +#ifdef PNG_SETJMP_SUPPORTED +/* This function returns the jmp_buf built in to *png_ptr. It must be + * supplied with an appropriate 'longjmp' function to use on that jmp_buf + * unless the default error function is overridden in which case NULL is + * acceptable. The size of the jmp_buf is checked against the actual size + * allocated by the library - the call will return NULL on a mismatch + * indicating an ABI mismatch. + */ +PNG_EXPORT(8, jmp_buf*, png_set_longjmp_fn, (png_structrp png_ptr, + png_longjmp_ptr longjmp_fn, size_t jmp_buf_size)); +# define png_jmpbuf(png_ptr) \ + (*png_set_longjmp_fn((png_ptr), longjmp, (sizeof (jmp_buf)))) +#else +# define png_jmpbuf(png_ptr) \ + (LIBPNG_WAS_COMPILED_WITH__PNG_NO_SETJMP) +#endif +/* This function should be used by libpng applications in place of + * longjmp(png_ptr->jmpbuf, val). If longjmp_fn() has been set, it + * will use it; otherwise it will call PNG_ABORT(). This function was + * added in libpng-1.5.0. + */ +PNG_EXPORTA(9, void, png_longjmp, (png_const_structrp png_ptr, int val), + PNG_NORETURN); + +#ifdef PNG_READ_SUPPORTED +/* Reset the compression stream */ +PNG_EXPORTA(10, int, png_reset_zstream, (png_structrp png_ptr), PNG_DEPRECATED); +#endif + +/* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */ +#ifdef PNG_USER_MEM_SUPPORTED +PNG_EXPORTA(11, png_structp, png_create_read_struct_2, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn, + png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), + PNG_ALLOCATED); +PNG_EXPORTA(12, png_structp, png_create_write_struct_2, + (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, + png_error_ptr warn_fn, + png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn), + PNG_ALLOCATED); +#endif + +/* Write the PNG file signature. */ +PNG_EXPORT(13, void, png_write_sig, (png_structrp png_ptr)); + +/* Write a PNG chunk - size, type, (optional) data, CRC. */ +PNG_EXPORT(14, void, png_write_chunk, (png_structrp png_ptr, png_const_bytep + chunk_name, png_const_bytep data, png_size_t length)); + +/* Write the start of a PNG chunk - length and chunk name. */ +PNG_EXPORT(15, void, png_write_chunk_start, (png_structrp png_ptr, + png_const_bytep chunk_name, png_uint_32 length)); + +/* Write the data of a PNG chunk started with png_write_chunk_start(). */ +PNG_EXPORT(16, void, png_write_chunk_data, (png_structrp png_ptr, + png_const_bytep data, png_size_t length)); + +/* Finish a chunk started with png_write_chunk_start() (includes CRC). */ +PNG_EXPORT(17, void, png_write_chunk_end, (png_structrp png_ptr)); + +/* Allocate and initialize the info structure */ +PNG_EXPORTA(18, png_infop, png_create_info_struct, (png_const_structrp png_ptr), + PNG_ALLOCATED); + +/* DEPRECATED: this function allowed init structures to be created using the + * default allocation method (typically malloc). Use is deprecated in 1.6.0 and + * the API will be removed in the future. + */ +PNG_EXPORTA(19, void, png_info_init_3, (png_infopp info_ptr, + png_size_t png_info_struct_size), PNG_DEPRECATED); + +/* Writes all the PNG information before the image. */ +PNG_EXPORT(20, void, png_write_info_before_PLTE, + (png_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(21, void, png_write_info, + (png_structrp png_ptr, png_const_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the information before the actual image data. */ +PNG_EXPORT(22, void, png_read_info, + (png_structrp png_ptr, png_inforp info_ptr)); +#endif + +#ifdef PNG_TIME_RFC1123_SUPPORTED + /* Convert to a US string format: there is no localization support in this + * routine. The original implementation used a 29 character buffer in + * png_struct, this will be removed in future versions. + */ +#if PNG_LIBPNG_VER < 10700 +/* To do: remove this from libpng17 (and from libpng17/png.c and pngstruct.h) */ +PNG_EXPORTA(23, png_const_charp, png_convert_to_rfc1123, (png_structrp png_ptr, + png_const_timep ptime),PNG_DEPRECATED); +#endif +PNG_EXPORT(241, int, png_convert_to_rfc1123_buffer, (char out[29], + png_const_timep ptime)); +#endif + +#ifdef PNG_CONVERT_tIME_SUPPORTED +/* Convert from a struct tm to png_time */ +PNG_EXPORT(24, void, png_convert_from_struct_tm, (png_timep ptime, + const struct tm * ttime)); + +/* Convert from time_t to png_time. Uses gmtime() */ +PNG_EXPORT(25, void, png_convert_from_time_t, (png_timep ptime, time_t ttime)); +#endif /* CONVERT_tIME */ + +#ifdef PNG_READ_EXPAND_SUPPORTED +/* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */ +PNG_EXPORT(26, void, png_set_expand, (png_structrp png_ptr)); +PNG_EXPORT(27, void, png_set_expand_gray_1_2_4_to_8, (png_structrp png_ptr)); +PNG_EXPORT(28, void, png_set_palette_to_rgb, (png_structrp png_ptr)); +PNG_EXPORT(29, void, png_set_tRNS_to_alpha, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_EXPAND_16_SUPPORTED +/* Expand to 16-bit channels, forces conversion of palette to RGB and expansion + * of a tRNS chunk if present. + */ +PNG_EXPORT(221, void, png_set_expand_16, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) +/* Use blue, green, red order for pixels. */ +PNG_EXPORT(30, void, png_set_bgr, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED +/* Expand the grayscale to 24-bit RGB if necessary. */ +PNG_EXPORT(31, void, png_set_gray_to_rgb, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED +/* Reduce RGB to grayscale. */ +#define PNG_ERROR_ACTION_NONE 1 +#define PNG_ERROR_ACTION_WARN 2 +#define PNG_ERROR_ACTION_ERROR 3 +#define PNG_RGB_TO_GRAY_DEFAULT (-1)/*for red/green coefficients*/ + +PNG_FP_EXPORT(32, void, png_set_rgb_to_gray, (png_structrp png_ptr, + int error_action, double red, double green)) +PNG_FIXED_EXPORT(33, void, png_set_rgb_to_gray_fixed, (png_structrp png_ptr, + int error_action, png_fixed_point red, png_fixed_point green)) + +PNG_EXPORT(34, png_byte, png_get_rgb_to_gray_status, (png_const_structrp + png_ptr)); +#endif + +#ifdef PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED +PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, + png_colorp palette)); +#endif + +#ifdef PNG_READ_ALPHA_MODE_SUPPORTED +/* How the alpha channel is interpreted - this affects how the color channels + * of a PNG file are returned to the calling application when an alpha channel, + * or a tRNS chunk in a palette file, is present. + * + * This has no effect on the way pixels are written into a PNG output + * datastream. The color samples in a PNG datastream are never premultiplied + * with the alpha samples. + * + * The default is to return data according to the PNG specification: the alpha + * channel is a linear measure of the contribution of the pixel to the + * corresponding composited pixel, and the color channels are unassociated + * (not premultiplied). The gamma encoded color channels must be scaled + * according to the contribution and to do this it is necessary to undo + * the encoding, scale the color values, perform the composition and reencode + * the values. This is the 'PNG' mode. + * + * The alternative is to 'associate' the alpha with the color information by + * storing color channel values that have been scaled by the alpha. + * image. These are the 'STANDARD', 'ASSOCIATED' or 'PREMULTIPLIED' modes + * (the latter being the two common names for associated alpha color channels). + * + * For the 'OPTIMIZED' mode, a pixel is treated as opaque only if the alpha + * value is equal to the maximum value. + * + * The final choice is to gamma encode the alpha channel as well. This is + * broken because, in practice, no implementation that uses this choice + * correctly undoes the encoding before handling alpha composition. Use this + * choice only if other serious errors in the software or hardware you use + * mandate it; the typical serious error is for dark halos to appear around + * opaque areas of the composited PNG image because of arithmetic overflow. + * + * The API function png_set_alpha_mode specifies which of these choices to use + * with an enumerated 'mode' value and the gamma of the required output: + */ +#define PNG_ALPHA_PNG 0 /* according to the PNG standard */ +#define PNG_ALPHA_STANDARD 1 /* according to Porter/Duff */ +#define PNG_ALPHA_ASSOCIATED 1 /* as above; this is the normal practice */ +#define PNG_ALPHA_PREMULTIPLIED 1 /* as above */ +#define PNG_ALPHA_OPTIMIZED 2 /* 'PNG' for opaque pixels, else 'STANDARD' */ +#define PNG_ALPHA_BROKEN 3 /* the alpha channel is gamma encoded */ + +PNG_FP_EXPORT(227, void, png_set_alpha_mode, (png_structrp png_ptr, int mode, + double output_gamma)) +PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structrp png_ptr, + int mode, png_fixed_point output_gamma)) +#endif + +#if defined(PNG_GAMMA_SUPPORTED) || defined(PNG_READ_ALPHA_MODE_SUPPORTED) +/* The output_gamma value is a screen gamma in libpng terminology: it expresses + * how to decode the output values, not how they are encoded. + */ +#define PNG_DEFAULT_sRGB -1 /* sRGB gamma and color space */ +#define PNG_GAMMA_MAC_18 -2 /* Old Mac '1.8' gamma and color space */ +#define PNG_GAMMA_sRGB 220000 /* Television standards--matches sRGB gamma */ +#define PNG_GAMMA_LINEAR PNG_FP_1 /* Linear */ +#endif + +/* The following are examples of calls to png_set_alpha_mode to achieve the + * required overall gamma correction and, where necessary, alpha + * premultiplication. + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); + * This is the default libpng handling of the alpha channel - it is not + * pre-multiplied into the color components. In addition the call states + * that the output is for a sRGB system and causes all PNG files without gAMA + * chunks to be assumed to be encoded using sRGB. + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); + * In this case the output is assumed to be something like an sRGB conformant + * display preceeded by a power-law lookup table of power 1.45. This is how + * early Mac systems behaved. + * + * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_GAMMA_LINEAR); + * This is the classic Jim Blinn approach and will work in academic + * environments where everything is done by the book. It has the shortcoming + * of assuming that input PNG data with no gamma information is linear - this + * is unlikely to be correct unless the PNG files where generated locally. + * Most of the time the output precision will be so low as to show + * significant banding in dark areas of the image. + * + * png_set_expand_16(pp); + * png_set_alpha_mode(pp, PNG_ALPHA_STANDARD, PNG_DEFAULT_sRGB); + * This is a somewhat more realistic Jim Blinn inspired approach. PNG files + * are assumed to have the sRGB encoding if not marked with a gamma value and + * the output is always 16 bits per component. This permits accurate scaling + * and processing of the data. If you know that your input PNG files were + * generated locally you might need to replace PNG_DEFAULT_sRGB with the + * correct value for your system. + * + * png_set_alpha_mode(pp, PNG_ALPHA_OPTIMIZED, PNG_DEFAULT_sRGB); + * If you just need to composite the PNG image onto an existing background + * and if you control the code that does this you can use the optimization + * setting. In this case you just copy completely opaque pixels to the + * output. For pixels that are not completely transparent (you just skip + * those) you do the composition math using png_composite or png_composite_16 + * below then encode the resultant 8-bit or 16-bit values to match the output + * encoding. + * + * Other cases + * If neither the PNG nor the standard linear encoding work for you because + * of the software or hardware you use then you have a big problem. The PNG + * case will probably result in halos around the image. The linear encoding + * will probably result in a washed out, too bright, image (it's actually too + * contrasty.) Try the ALPHA_OPTIMIZED mode above - this will probably + * substantially reduce the halos. Alternatively try: + * + * png_set_alpha_mode(pp, PNG_ALPHA_BROKEN, PNG_DEFAULT_sRGB); + * This option will also reduce the halos, but there will be slight dark + * halos round the opaque parts of the image where the background is light. + * In the OPTIMIZED mode the halos will be light halos where the background + * is dark. Take your pick - the halos are unavoidable unless you can get + * your hardware/software fixed! (The OPTIMIZED approach is slightly + * faster.) + * + * When the default gamma of PNG files doesn't match the output gamma. + * If you have PNG files with no gamma information png_set_alpha_mode allows + * you to provide a default gamma, but it also sets the ouput gamma to the + * matching value. If you know your PNG files have a gamma that doesn't + * match the output you can take advantage of the fact that + * png_set_alpha_mode always sets the output gamma but only sets the PNG + * default if it is not already set: + * + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_DEFAULT_sRGB); + * png_set_alpha_mode(pp, PNG_ALPHA_PNG, PNG_GAMMA_MAC); + * The first call sets both the default and the output gamma values, the + * second call overrides the output gamma without changing the default. This + * is easier than achieving the same effect with png_set_gamma. You must use + * PNG_ALPHA_PNG for the first call - internal checking in png_set_alpha will + * fire if more than one call to png_set_alpha_mode and png_set_background is + * made in the same read operation, however multiple calls with PNG_ALPHA_PNG + * are ignored. + */ + +#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED +PNG_EXPORT(36, void, png_set_strip_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \ + defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) +PNG_EXPORT(37, void, png_set_swap_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \ + defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) +PNG_EXPORT(38, void, png_set_invert_alpha, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) +/* Add a filler byte to 8-bit Gray or 24-bit RGB images. */ +PNG_EXPORT(39, void, png_set_filler, (png_structrp png_ptr, png_uint_32 filler, + int flags)); +/* The values of the PNG_FILLER_ defines should NOT be changed */ +# define PNG_FILLER_BEFORE 0 +# define PNG_FILLER_AFTER 1 +/* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */ +PNG_EXPORT(40, void, png_set_add_alpha, (png_structrp png_ptr, + png_uint_32 filler, int flags)); +#endif /* READ_FILLER || WRITE_FILLER */ + +#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) +/* Swap bytes in 16-bit depth files. */ +PNG_EXPORT(41, void, png_set_swap, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) +/* Use 1 byte per pixel in 1, 2, or 4-bit depth files. */ +PNG_EXPORT(42, void, png_set_packing, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \ + defined(PNG_WRITE_PACKSWAP_SUPPORTED) +/* Swap packing order of pixels in bytes. */ +PNG_EXPORT(43, void, png_set_packswap, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) +/* Converts files to legal bit depths. */ +PNG_EXPORT(44, void, png_set_shift, (png_structrp png_ptr, png_const_color_8p + true_bits)); +#endif + +#if defined(PNG_READ_INTERLACING_SUPPORTED) || \ + defined(PNG_WRITE_INTERLACING_SUPPORTED) +/* Have the code handle the interlacing. Returns the number of passes. + * MUST be called before png_read_update_info or png_start_read_image, + * otherwise it will not have the desired effect. Note that it is still + * necessary to call png_read_row or png_read_rows png_get_image_height + * times for each pass. +*/ +PNG_EXPORT(45, int, png_set_interlace_handling, (png_structrp png_ptr)); +#endif + +#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) +/* Invert monochrome files */ +PNG_EXPORT(46, void, png_set_invert_mono, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_BACKGROUND_SUPPORTED +/* Handle alpha and tRNS by replacing with a background color. Prior to + * libpng-1.5.4 this API must not be called before the PNG file header has been + * read. Doing so will result in unexpected behavior and possible warnings or + * errors if the PNG file contains a bKGD chunk. + */ +PNG_FP_EXPORT(47, void, png_set_background, (png_structrp png_ptr, + png_const_color_16p background_color, int background_gamma_code, + int need_expand, double background_gamma)) +PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structrp png_ptr, + png_const_color_16p background_color, int background_gamma_code, + int need_expand, png_fixed_point background_gamma)) +#endif +#ifdef PNG_READ_BACKGROUND_SUPPORTED +# define PNG_BACKGROUND_GAMMA_UNKNOWN 0 +# define PNG_BACKGROUND_GAMMA_SCREEN 1 +# define PNG_BACKGROUND_GAMMA_FILE 2 +# define PNG_BACKGROUND_GAMMA_UNIQUE 3 +#endif + +#ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED +/* Scale a 16-bit depth file down to 8-bit, accurately. */ +PNG_EXPORT(229, void, png_set_scale_16, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED +#define PNG_READ_16_TO_8 SUPPORTED /* Name prior to 1.5.4 */ +/* Strip the second byte of information from a 16-bit depth file. */ +PNG_EXPORT(48, void, png_set_strip_16, (png_structrp png_ptr)); +#endif + +#ifdef PNG_READ_QUANTIZE_SUPPORTED +/* Turn on quantizing, and reduce the palette to the number of colors + * available. + */ +PNG_EXPORT(49, void, png_set_quantize, (png_structrp png_ptr, + png_colorp palette, int num_palette, int maximum_colors, + png_const_uint_16p histogram, int full_quantize)); +#endif + +#ifdef PNG_READ_GAMMA_SUPPORTED +/* The threshold on gamma processing is configurable but hard-wired into the + * library. The following is the floating point variant. + */ +#define PNG_GAMMA_THRESHOLD (PNG_GAMMA_THRESHOLD_FIXED*.00001) + +/* Handle gamma correction. Screen_gamma=(display_exponent). + * NOTE: this API simply sets the screen and file gamma values. It will + * therefore override the value for gamma in a PNG file if it is called after + * the file header has been read - use with care - call before reading the PNG + * file for best results! + * + * These routines accept the same gamma values as png_set_alpha_mode (described + * above). The PNG_GAMMA_ defines and PNG_DEFAULT_sRGB can be passed to either + * API (floating point or fixed.) Notice, however, that the 'file_gamma' value + * is the inverse of a 'screen gamma' value. + */ +PNG_FP_EXPORT(50, void, png_set_gamma, (png_structrp png_ptr, + double screen_gamma, double override_file_gamma)) +PNG_FIXED_EXPORT(208, void, png_set_gamma_fixed, (png_structrp png_ptr, + png_fixed_point screen_gamma, png_fixed_point override_file_gamma)) +#endif + +#ifdef PNG_WRITE_FLUSH_SUPPORTED +/* Set how many lines between output flushes - 0 for no flushing */ +PNG_EXPORT(51, void, png_set_flush, (png_structrp png_ptr, int nrows)); +/* Flush the current PNG output buffer */ +PNG_EXPORT(52, void, png_write_flush, (png_structrp png_ptr)); +#endif + +/* Optional update palette with requested transformations */ +PNG_EXPORT(53, void, png_start_read_image, (png_structrp png_ptr)); + +/* Optional call to update the users info structure */ +PNG_EXPORT(54, void, png_read_update_info, (png_structrp png_ptr, + png_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read one or more rows of image data. */ +PNG_EXPORT(55, void, png_read_rows, (png_structrp png_ptr, png_bytepp row, + png_bytepp display_row, png_uint_32 num_rows)); +#endif + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read a row of data. */ +PNG_EXPORT(56, void, png_read_row, (png_structrp png_ptr, png_bytep row, + png_bytep display_row)); +#endif + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the whole image into memory at once. */ +PNG_EXPORT(57, void, png_read_image, (png_structrp png_ptr, png_bytepp image)); +#endif + +/* Write a row of image data */ +PNG_EXPORT(58, void, png_write_row, (png_structrp png_ptr, + png_const_bytep row)); + +/* Write a few rows of image data: (*row) is not written; however, the type + * is declared as writeable to maintain compatibility with previous versions + * of libpng and to allow the 'display_row' array from read_rows to be passed + * unchanged to write_rows. + */ +PNG_EXPORT(59, void, png_write_rows, (png_structrp png_ptr, png_bytepp row, + png_uint_32 num_rows)); + +/* Write the image data */ +PNG_EXPORT(60, void, png_write_image, (png_structrp png_ptr, png_bytepp image)); + +/* Write the end of the PNG file. */ +PNG_EXPORT(61, void, png_write_end, (png_structrp png_ptr, + png_inforp info_ptr)); + +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +/* Read the end of the PNG file. */ +PNG_EXPORT(62, void, png_read_end, (png_structrp png_ptr, png_inforp info_ptr)); +#endif + +/* Free any memory associated with the png_info_struct */ +PNG_EXPORT(63, void, png_destroy_info_struct, (png_const_structrp png_ptr, + png_infopp info_ptr_ptr)); + +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(64, void, png_destroy_read_struct, (png_structpp png_ptr_ptr, + png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)); + +/* Free any memory associated with the png_struct and the png_info_structs */ +PNG_EXPORT(65, void, png_destroy_write_struct, (png_structpp png_ptr_ptr, + png_infopp info_ptr_ptr)); + +/* Set the libpng method of handling chunk CRC errors */ +PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action, + int ancil_action)); + +/* Values for png_set_crc_action() say how to handle CRC errors in + * ancillary and critical chunks, and whether to use the data contained + * therein. Note that it is impossible to "discard" data in a critical + * chunk. For versions prior to 0.90, the action was always error/quit, + * whereas in version 0.90 and later, the action for CRC errors in ancillary + * chunks is warn/discard. These values should NOT be changed. + * + * value action:critical action:ancillary + */ +#define PNG_CRC_DEFAULT 0 /* error/quit warn/discard data */ +#define PNG_CRC_ERROR_QUIT 1 /* error/quit error/quit */ +#define PNG_CRC_WARN_DISCARD 2 /* (INVALID) warn/discard data */ +#define PNG_CRC_WARN_USE 3 /* warn/use data warn/use data */ +#define PNG_CRC_QUIET_USE 4 /* quiet/use data quiet/use data */ +#define PNG_CRC_NO_CHANGE 5 /* use current value use current value */ + +/* These functions give the user control over the scan-line filtering in + * libpng and the compression methods used by zlib. These functions are + * mainly useful for testing, as the defaults should work with most users. + * Those users who are tight on memory or want faster performance at the + * expense of compression can modify them. See the compression library + * header file (zlib.h) for an explination of the compression functions. + */ + +/* Set the filtering method(s) used by libpng. Currently, the only valid + * value for "method" is 0. + */ +PNG_EXPORT(67, void, png_set_filter, (png_structrp png_ptr, int method, + int filters)); + +/* Flags for png_set_filter() to say which filters to use. The flags + * are chosen so that they don't conflict with real filter types + * below, in case they are supplied instead of the #defined constants. + * These values should NOT be changed. + */ +#define PNG_NO_FILTERS 0x00 +#define PNG_FILTER_NONE 0x08 +#define PNG_FILTER_SUB 0x10 +#define PNG_FILTER_UP 0x20 +#define PNG_FILTER_AVG 0x40 +#define PNG_FILTER_PAETH 0x80 +#define PNG_ALL_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP | \ + PNG_FILTER_AVG | PNG_FILTER_PAETH) + +/* Filter values (not flags) - used in pngwrite.c, pngwutil.c for now. + * These defines should NOT be changed. + */ +#define PNG_FILTER_VALUE_NONE 0 +#define PNG_FILTER_VALUE_SUB 1 +#define PNG_FILTER_VALUE_UP 2 +#define PNG_FILTER_VALUE_AVG 3 +#define PNG_FILTER_VALUE_PAETH 4 +#define PNG_FILTER_VALUE_LAST 5 + +#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED /* EXPERIMENTAL */ +/* The "heuristic_method" is given by one of the PNG_FILTER_HEURISTIC_ + * defines, either the default (minimum-sum-of-absolute-differences), or + * the experimental method (weighted-minimum-sum-of-absolute-differences). + * + * Weights are factors >= 1.0, indicating how important it is to keep the + * filter type consistent between rows. Larger numbers mean the current + * filter is that many times as likely to be the same as the "num_weights" + * previous filters. This is cumulative for each previous row with a weight. + * There needs to be "num_weights" values in "filter_weights", or it can be + * NULL if the weights aren't being specified. Weights have no influence on + * the selection of the first row filter. Well chosen weights can (in theory) + * improve the compression for a given image. + * + * Costs are factors >= 1.0 indicating the relative decoding costs of a + * filter type. Higher costs indicate more decoding expense, and are + * therefore less likely to be selected over a filter with lower computational + * costs. There needs to be a value in "filter_costs" for each valid filter + * type (given by PNG_FILTER_VALUE_LAST), or it can be NULL if you aren't + * setting the costs. Costs try to improve the speed of decompression without + * unduly increasing the compressed image size. + * + * A negative weight or cost indicates the default value is to be used, and + * values in the range [0.0, 1.0) indicate the value is to remain unchanged. + * The default values for both weights and costs are currently 1.0, but may + * change if good general weighting/cost heuristics can be found. If both + * the weights and costs are set to 1.0, this degenerates the WEIGHTED method + * to the UNWEIGHTED method, but with added encoding time/computation. + */ +PNG_FP_EXPORT(68, void, png_set_filter_heuristics, (png_structrp png_ptr, + int heuristic_method, int num_weights, png_const_doublep filter_weights, + png_const_doublep filter_costs)) +PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed, + (png_structrp png_ptr, int heuristic_method, int num_weights, + png_const_fixed_point_p filter_weights, + png_const_fixed_point_p filter_costs)) +#endif /* WRITE_WEIGHTED_FILTER */ + +/* Heuristic used for row filter selection. These defines should NOT be + * changed. + */ +#define PNG_FILTER_HEURISTIC_DEFAULT 0 /* Currently "UNWEIGHTED" */ +#define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 /* Used by libpng < 0.95 */ +#define PNG_FILTER_HEURISTIC_WEIGHTED 2 /* Experimental feature */ +#define PNG_FILTER_HEURISTIC_LAST 3 /* Not a valid value */ + +#ifdef PNG_WRITE_SUPPORTED +/* Set the library compression level. Currently, valid values range from + * 0 - 9, corresponding directly to the zlib compression levels 0 - 9 + * (0 - no compression, 9 - "maximal" compression). Note that tests have + * shown that zlib compression levels 3-6 usually perform as well as level 9 + * for PNG images, and do considerably fewer caclulations. In the future, + * these values may not correspond directly to the zlib compression levels. + */ +PNG_EXPORT(69, void, png_set_compression_level, (png_structrp png_ptr, + int level)); + +PNG_EXPORT(70, void, png_set_compression_mem_level, (png_structrp png_ptr, + int mem_level)); + +PNG_EXPORT(71, void, png_set_compression_strategy, (png_structrp png_ptr, + int strategy)); + +/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a + * smaller value of window_bits if it can do so safely. + */ +PNG_EXPORT(72, void, png_set_compression_window_bits, (png_structrp png_ptr, + int window_bits)); + +PNG_EXPORT(73, void, png_set_compression_method, (png_structrp png_ptr, + int method)); +#endif + +#ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED +/* Also set zlib parameters for compressing non-IDAT chunks */ +PNG_EXPORT(222, void, png_set_text_compression_level, (png_structrp png_ptr, + int level)); + +PNG_EXPORT(223, void, png_set_text_compression_mem_level, (png_structrp png_ptr, + int mem_level)); + +PNG_EXPORT(224, void, png_set_text_compression_strategy, (png_structrp png_ptr, + int strategy)); + +/* If PNG_WRITE_OPTIMIZE_CMF_SUPPORTED is defined, libpng will use a + * smaller value of window_bits if it can do so safely. + */ +PNG_EXPORT(225, void, png_set_text_compression_window_bits, + (png_structrp png_ptr, int window_bits)); + +PNG_EXPORT(226, void, png_set_text_compression_method, (png_structrp png_ptr, + int method)); +#endif /* WRITE_CUSTOMIZE_ZTXT_COMPRESSION */ + +/* These next functions are called for input/output, memory, and error + * handling. They are in the file pngrio.c, pngwio.c, and pngerror.c, + * and call standard C I/O routines such as fread(), fwrite(), and + * fprintf(). These functions can be made to use other I/O routines + * at run time for those applications that need to handle I/O in a + * different manner by calling png_set_???_fn(). See libpng-manual.txt for + * more information. + */ + +#ifdef PNG_STDIO_SUPPORTED +/* Initialize the input/output for the PNG file to the default functions. */ +PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, png_FILE_p fp)); +#endif + +/* Replace the (error and abort), and warning functions with user + * supplied functions. If no messages are to be printed you must still + * write and use replacement functions. The replacement error_fn should + * still do a longjmp to the last setjmp location if you are using this + * method of error handling. If error_fn or warning_fn is NULL, the + * default function will be used. + */ + +PNG_EXPORT(75, void, png_set_error_fn, (png_structrp png_ptr, + png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)); + +/* Return the user pointer associated with the error functions */ +PNG_EXPORT(76, png_voidp, png_get_error_ptr, (png_const_structrp png_ptr)); + +/* Replace the default data output functions with a user supplied one(s). + * If buffered output is not used, then output_flush_fn can be set to NULL. + * If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time + * output_flush_fn will be ignored (and thus can be NULL). + * It is probably a mistake to use NULL for output_flush_fn if + * write_data_fn is not also NULL unless you have built libpng with + * PNG_WRITE_FLUSH_SUPPORTED undefined, because in this case libpng's + * default flush function, which uses the standard *FILE structure, will + * be used. + */ +PNG_EXPORT(77, void, png_set_write_fn, (png_structrp png_ptr, png_voidp io_ptr, + png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)); + +/* Replace the default data input function with a user supplied one. */ +PNG_EXPORT(78, void, png_set_read_fn, (png_structrp png_ptr, png_voidp io_ptr, + png_rw_ptr read_data_fn)); + +/* Return the user pointer associated with the I/O functions */ +PNG_EXPORT(79, png_voidp, png_get_io_ptr, (png_const_structrp png_ptr)); + +PNG_EXPORT(80, void, png_set_read_status_fn, (png_structrp png_ptr, + png_read_status_ptr read_row_fn)); + +PNG_EXPORT(81, void, png_set_write_status_fn, (png_structrp png_ptr, + png_write_status_ptr write_row_fn)); + +#ifdef PNG_USER_MEM_SUPPORTED +/* Replace the default memory allocation functions with user supplied one(s). */ +PNG_EXPORT(82, void, png_set_mem_fn, (png_structrp png_ptr, png_voidp mem_ptr, + png_malloc_ptr malloc_fn, png_free_ptr free_fn)); +/* Return the user pointer associated with the memory functions */ +PNG_EXPORT(83, png_voidp, png_get_mem_ptr, (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(84, void, png_set_read_user_transform_fn, (png_structrp png_ptr, + png_user_transform_ptr read_user_transform_fn)); +#endif + +#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED +PNG_EXPORT(85, void, png_set_write_user_transform_fn, (png_structrp png_ptr, + png_user_transform_ptr write_user_transform_fn)); +#endif + +#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED +PNG_EXPORT(86, void, png_set_user_transform_info, (png_structrp png_ptr, + png_voidp user_transform_ptr, int user_transform_depth, + int user_transform_channels)); +/* Return the user pointer associated with the user transform functions */ +PNG_EXPORT(87, png_voidp, png_get_user_transform_ptr, + (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_USER_TRANSFORM_INFO_SUPPORTED +/* Return information about the row currently being processed. Note that these + * APIs do not fail but will return unexpected results if called outside a user + * transform callback. Also note that when transforming an interlaced image the + * row number is the row number within the sub-image of the interlace pass, so + * the value will increase to the height of the sub-image (not the full image) + * then reset to 0 for the next pass. + * + * Use PNG_ROW_FROM_PASS_ROW(row, pass) and PNG_COL_FROM_PASS_COL(col, pass) to + * find the output pixel (x,y) given an interlaced sub-image pixel + * (row,col,pass). (See below for these macros.) + */ +PNG_EXPORT(217, png_uint_32, png_get_current_row_number, (png_const_structrp)); +PNG_EXPORT(218, png_byte, png_get_current_pass_number, (png_const_structrp)); +#endif + +#ifdef PNG_READ_USER_CHUNKS_SUPPORTED +/* This callback is called only for *unknown* chunks. If + * PNG_HANDLE_AS_UNKNOWN_SUPPORTED is set then it is possible to set known + * chunks to be treated as unknown, however in this case the callback must do + * any processing required by the chunk (e.g. by calling the appropriate + * png_set_ APIs.) + * + * There is no write support - on write, by default, all the chunks in the + * 'unknown' list are written in the specified position. + * + * The integer return from the callback function is interpreted thus: + * + * negative: An error occured, png_chunk_error will be called. + * zero: The chunk was not handled, the chunk will be saved. A critical + * chunk will cause an error at this point unless it is to be saved. + * positive: The chunk was handled, libpng will ignore/discard it. + * + * See "INTERACTION WTIH USER CHUNK CALLBACKS" below for important notes about + * how this behavior will change in libpng 1.7 + */ +PNG_EXPORT(88, void, png_set_read_user_chunk_fn, (png_structrp png_ptr, + png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn)); +#endif + +#ifdef PNG_USER_CHUNKS_SUPPORTED +PNG_EXPORT(89, png_voidp, png_get_user_chunk_ptr, (png_const_structrp png_ptr)); +#endif + +#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +/* Sets the function callbacks for the push reader, and a pointer to a + * user-defined structure available to the callback functions. + */ +PNG_EXPORT(90, void, png_set_progressive_read_fn, (png_structrp png_ptr, + png_voidp progressive_ptr, png_progressive_info_ptr info_fn, + png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn)); + +/* Returns the user pointer associated with the push read functions */ +PNG_EXPORT(91, png_voidp, png_get_progressive_ptr, + (png_const_structrp png_ptr)); + +/* Function to be called when data becomes available */ +PNG_EXPORT(92, void, png_process_data, (png_structrp png_ptr, + png_inforp info_ptr, png_bytep buffer, png_size_t buffer_size)); + +/* A function which may be called *only* within png_process_data to stop the + * processing of any more data. The function returns the number of bytes + * remaining, excluding any that libpng has cached internally. A subsequent + * call to png_process_data must supply these bytes again. If the argument + * 'save' is set to true the routine will first save all the pending data and + * will always return 0. + */ +PNG_EXPORT(219, png_size_t, png_process_data_pause, (png_structrp, int save)); + +/* A function which may be called *only* outside (after) a call to + * png_process_data. It returns the number of bytes of data to skip in the + * input. Normally it will return 0, but if it returns a non-zero value the + * application must skip than number of bytes of input data and pass the + * following data to the next call to png_process_data. + */ +PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp)); + +/* Function that combines rows. 'new_row' is a flag that should come from + * the callback and be non-NULL if anything needs to be done; the library + * stores its own version of the new data internally and ignores the passed + * in value. + */ +PNG_EXPORT(93, void, png_progressive_combine_row, (png_const_structrp png_ptr, + png_bytep old_row, png_const_bytep new_row)); +#endif /* PROGRESSIVE_READ */ + +PNG_EXPORTA(94, png_voidp, png_malloc, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); +/* Added at libpng version 1.4.0 */ +PNG_EXPORTA(95, png_voidp, png_calloc, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); + +/* Added at libpng version 1.2.4 */ +PNG_EXPORTA(96, png_voidp, png_malloc_warn, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED); + +/* Frees a pointer allocated by png_malloc() */ +PNG_EXPORT(97, void, png_free, (png_const_structrp png_ptr, png_voidp ptr)); + +/* Free data that was allocated internally */ +PNG_EXPORT(98, void, png_free_data, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 free_me, int num)); + +/* Reassign responsibility for freeing existing data, whether allocated + * by libpng or by the application; this works on the png_info structure passed + * in, it does not change the state for other png_info structures. + * + * It is unlikely that this function works correctly as of 1.6.0 and using it + * may result either in memory leaks or double free of allocated data. + */ +PNG_EXPORT(99, void, png_data_freer, (png_const_structrp png_ptr, + png_inforp info_ptr, int freer, png_uint_32 mask)); + +/* Assignments for png_data_freer */ +#define PNG_DESTROY_WILL_FREE_DATA 1 +#define PNG_SET_WILL_FREE_DATA 1 +#define PNG_USER_WILL_FREE_DATA 2 +/* Flags for png_ptr->free_me and info_ptr->free_me */ +#define PNG_FREE_HIST 0x0008 +#define PNG_FREE_ICCP 0x0010 +#define PNG_FREE_SPLT 0x0020 +#define PNG_FREE_ROWS 0x0040 +#define PNG_FREE_PCAL 0x0080 +#define PNG_FREE_SCAL 0x0100 +#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +# define PNG_FREE_UNKN 0x0200 +#endif +/* PNG_FREE_LIST 0x0400 removed in 1.6.0 because it is ignored */ +#define PNG_FREE_PLTE 0x1000 +#define PNG_FREE_TRNS 0x2000 +#define PNG_FREE_TEXT 0x4000 +#define PNG_FREE_ALL 0x7fff +#define PNG_FREE_MUL 0x4220 /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */ + +#ifdef PNG_USER_MEM_SUPPORTED +PNG_EXPORTA(100, png_voidp, png_malloc_default, (png_const_structrp png_ptr, + png_alloc_size_t size), PNG_ALLOCATED PNG_DEPRECATED); +PNG_EXPORTA(101, void, png_free_default, (png_const_structrp png_ptr, + png_voidp ptr), PNG_DEPRECATED); +#endif + +#ifdef PNG_ERROR_TEXT_SUPPORTED +/* Fatal error in PNG image of libpng - can't continue */ +PNG_EXPORTA(102, void, png_error, (png_const_structrp png_ptr, + png_const_charp error_message), PNG_NORETURN); + +/* The same, but the chunk name is prepended to the error string. */ +PNG_EXPORTA(103, void, png_chunk_error, (png_const_structrp png_ptr, + png_const_charp error_message), PNG_NORETURN); + +#else +/* Fatal error in PNG image of libpng - can't continue */ +PNG_EXPORTA(104, void, png_err, (png_const_structrp png_ptr), PNG_NORETURN); +# define png_error(s1,s2) png_err(s1) +# define png_chunk_error(s1,s2) png_err(s1) +#endif + +#ifdef PNG_WARNINGS_SUPPORTED +/* Non-fatal error in libpng. Can continue, but may have a problem. */ +PNG_EXPORT(105, void, png_warning, (png_const_structrp png_ptr, + png_const_charp warning_message)); + +/* Non-fatal error in libpng, chunk name is prepended to message. */ +PNG_EXPORT(106, void, png_chunk_warning, (png_const_structrp png_ptr, + png_const_charp warning_message)); +#else +# define png_warning(s1,s2) ((void)(s1)) +# define png_chunk_warning(s1,s2) ((void)(s1)) +#endif + +#ifdef PNG_BENIGN_ERRORS_SUPPORTED +/* Benign error in libpng. Can continue, but may have a problem. + * User can choose whether to handle as a fatal error or as a warning. */ +PNG_EXPORT(107, void, png_benign_error, (png_const_structrp png_ptr, + png_const_charp warning_message)); + +#ifdef PNG_READ_SUPPORTED +/* Same, chunk name is prepended to message (only during read) */ +PNG_EXPORT(108, void, png_chunk_benign_error, (png_const_structrp png_ptr, + png_const_charp warning_message)); +#endif + +PNG_EXPORT(109, void, png_set_benign_errors, + (png_structrp png_ptr, int allowed)); +#else +# ifdef PNG_ALLOW_BENIGN_ERRORS +# define png_benign_error png_warning +# define png_chunk_benign_error png_chunk_warning +# else +# define png_benign_error png_error +# define png_chunk_benign_error png_chunk_error +# endif +#endif + +/* The png_set_ functions are for storing values in the png_info_struct. + * Similarly, the png_get_ calls are used to read values from the + * png_info_struct, either storing the parameters in the passed variables, or + * setting pointers into the png_info_struct where the data is stored. The + * png_get_ functions return a non-zero value if the data was available + * in info_ptr, or return zero and do not change any of the parameters if the + * data was not available. + * + * These functions should be used instead of directly accessing png_info + * to avoid problems with future changes in the size and internal layout of + * png_info_struct. + */ +/* Returns "flag" if chunk data is valid in info_ptr. */ +PNG_EXPORT(110, png_uint_32, png_get_valid, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 flag)); + +/* Returns number of bytes needed to hold a transformed row. */ +PNG_EXPORT(111, png_size_t, png_get_rowbytes, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +#ifdef PNG_INFO_IMAGE_SUPPORTED +/* Returns row_pointers, which is an array of pointers to scanlines that was + * returned from png_read_png(). + */ +PNG_EXPORT(112, png_bytepp, png_get_rows, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Set row_pointers, which is an array of pointers to scanlines for use + * by png_write_png(). + */ +PNG_EXPORT(113, void, png_set_rows, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytepp row_pointers)); +#endif + +/* Returns number of color channels in image. */ +PNG_EXPORT(114, png_byte, png_get_channels, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +#ifdef PNG_EASY_ACCESS_SUPPORTED +/* Returns image width in pixels. */ +PNG_EXPORT(115, png_uint_32, png_get_image_width, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image height in pixels. */ +PNG_EXPORT(116, png_uint_32, png_get_image_height, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image bit_depth. */ +PNG_EXPORT(117, png_byte, png_get_bit_depth, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image color_type. */ +PNG_EXPORT(118, png_byte, png_get_color_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image filter_type. */ +PNG_EXPORT(119, png_byte, png_get_filter_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image interlace_type. */ +PNG_EXPORT(120, png_byte, png_get_interlace_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image compression_type. */ +PNG_EXPORT(121, png_byte, png_get_compression_type, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); + +/* Returns image resolution in pixels per meter, from pHYs chunk data. */ +PNG_EXPORT(122, png_uint_32, png_get_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(123, png_uint_32, png_get_x_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(124, png_uint_32, png_get_y_pixels_per_meter, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +/* Returns pixel aspect ratio, computed from pHYs chunk data. */ +PNG_FP_EXPORT(125, float, png_get_pixel_aspect_ratio, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +PNG_FIXED_EXPORT(210, png_fixed_point, png_get_pixel_aspect_ratio_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) + +/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */ +PNG_EXPORT(126, png_int_32, png_get_x_offset_pixels, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(127, png_int_32, png_get_y_offset_pixels, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(128, png_int_32, png_get_x_offset_microns, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); +PNG_EXPORT(129, png_int_32, png_get_y_offset_microns, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +#endif /* EASY_ACCESS */ + +#ifdef PNG_READ_SUPPORTED +/* Returns pointer to signature string read from PNG header */ +PNG_EXPORT(130, png_const_bytep, png_get_signature, (png_const_structrp png_ptr, + png_const_inforp info_ptr)); +#endif + +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(131, png_uint_32, png_get_bKGD, (png_const_structrp png_ptr, + png_inforp info_ptr, png_color_16p *background)); +#endif + +#ifdef PNG_bKGD_SUPPORTED +PNG_EXPORT(132, void, png_set_bKGD, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_color_16p background)); +#endif + +#ifdef PNG_cHRM_SUPPORTED +PNG_FP_EXPORT(133, png_uint_32, png_get_cHRM, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *white_x, double *white_y, double *red_x, + double *red_y, double *green_x, double *green_y, double *blue_x, + double *blue_y)) +PNG_FP_EXPORT(230, png_uint_32, png_get_cHRM_XYZ, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *red_X, double *red_Y, double *red_Z, + double *green_X, double *green_Y, double *green_Z, double *blue_X, + double *blue_Y, double *blue_Z)) +PNG_FIXED_EXPORT(134, png_uint_32, png_get_cHRM_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_white_x, png_fixed_point *int_white_y, + png_fixed_point *int_red_x, png_fixed_point *int_red_y, + png_fixed_point *int_green_x, png_fixed_point *int_green_y, + png_fixed_point *int_blue_x, png_fixed_point *int_blue_y)) +PNG_FIXED_EXPORT(231, png_uint_32, png_get_cHRM_XYZ_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_red_X, png_fixed_point *int_red_Y, + png_fixed_point *int_red_Z, png_fixed_point *int_green_X, + png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, + png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, + png_fixed_point *int_blue_Z)) +#endif + +#ifdef PNG_cHRM_SUPPORTED +PNG_FP_EXPORT(135, void, png_set_cHRM, (png_const_structrp png_ptr, + png_inforp info_ptr, + double white_x, double white_y, double red_x, double red_y, double green_x, + double green_y, double blue_x, double blue_y)) +PNG_FP_EXPORT(232, void, png_set_cHRM_XYZ, (png_const_structrp png_ptr, + png_inforp info_ptr, double red_X, double red_Y, double red_Z, + double green_X, double green_Y, double green_Z, double blue_X, + double blue_Y, double blue_Z)) +PNG_FIXED_EXPORT(136, void, png_set_cHRM_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_white_x, + png_fixed_point int_white_y, png_fixed_point int_red_x, + png_fixed_point int_red_y, png_fixed_point int_green_x, + png_fixed_point int_green_y, png_fixed_point int_blue_x, + png_fixed_point int_blue_y)) +PNG_FIXED_EXPORT(233, void, png_set_cHRM_XYZ_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, + png_fixed_point int_red_Z, png_fixed_point int_green_X, + png_fixed_point int_green_Y, png_fixed_point int_green_Z, + png_fixed_point int_blue_X, png_fixed_point int_blue_Y, + png_fixed_point int_blue_Z)) +#endif + +#ifdef PNG_gAMA_SUPPORTED +PNG_FP_EXPORT(137, png_uint_32, png_get_gAMA, (png_const_structrp png_ptr, + png_const_inforp info_ptr, double *file_gamma)) +PNG_FIXED_EXPORT(138, png_uint_32, png_get_gAMA_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, + png_fixed_point *int_file_gamma)) +#endif + +#ifdef PNG_gAMA_SUPPORTED +PNG_FP_EXPORT(139, void, png_set_gAMA, (png_const_structrp png_ptr, + png_inforp info_ptr, double file_gamma)) +PNG_FIXED_EXPORT(140, void, png_set_gAMA_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, png_fixed_point int_file_gamma)) +#endif + +#ifdef PNG_hIST_SUPPORTED +PNG_EXPORT(141, png_uint_32, png_get_hIST, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_16p *hist)); +#endif + +#ifdef PNG_hIST_SUPPORTED +PNG_EXPORT(142, void, png_set_hIST, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_uint_16p hist)); +#endif + +PNG_EXPORT(143, png_uint_32, png_get_IHDR, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *width, png_uint_32 *height, + int *bit_depth, int *color_type, int *interlace_method, + int *compression_method, int *filter_method)); + +PNG_EXPORT(144, void, png_set_IHDR, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, + int color_type, int interlace_method, int compression_method, + int filter_method)); + +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(145, png_uint_32, png_get_oFFs, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, + int *unit_type)); +#endif + +#ifdef PNG_oFFs_SUPPORTED +PNG_EXPORT(146, void, png_set_oFFs, (png_const_structrp png_ptr, + png_inforp info_ptr, png_int_32 offset_x, png_int_32 offset_y, + int unit_type)); +#endif + +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(147, png_uint_32, png_get_pCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, png_charp *purpose, png_int_32 *X0, + png_int_32 *X1, int *type, int *nparams, png_charp *units, + png_charpp *params)); +#endif + +#ifdef PNG_pCAL_SUPPORTED +PNG_EXPORT(148, void, png_set_pCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, + int type, int nparams, png_const_charp units, png_charpp params)); +#endif + +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(149, png_uint_32, png_get_pHYs, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, + int *unit_type)); +#endif + +#ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(150, void, png_set_pHYs, (png_const_structrp png_ptr, + png_inforp info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)); +#endif + +PNG_EXPORT(151, png_uint_32, png_get_PLTE, (png_const_structrp png_ptr, + png_inforp info_ptr, png_colorp *palette, int *num_palette)); + +PNG_EXPORT(152, void, png_set_PLTE, (png_structrp png_ptr, + png_inforp info_ptr, png_const_colorp palette, int num_palette)); + +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(153, png_uint_32, png_get_sBIT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_color_8p *sig_bit)); +#endif + +#ifdef PNG_sBIT_SUPPORTED +PNG_EXPORT(154, void, png_set_sBIT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_color_8p sig_bit)); +#endif + +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(155, png_uint_32, png_get_sRGB, (png_const_structrp png_ptr, + png_const_inforp info_ptr, int *file_srgb_intent)); +#endif + +#ifdef PNG_sRGB_SUPPORTED +PNG_EXPORT(156, void, png_set_sRGB, (png_const_structrp png_ptr, + png_inforp info_ptr, int srgb_intent)); +PNG_EXPORT(157, void, png_set_sRGB_gAMA_and_cHRM, (png_const_structrp png_ptr, + png_inforp info_ptr, int srgb_intent)); +#endif + +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(158, png_uint_32, png_get_iCCP, (png_const_structrp png_ptr, + png_inforp info_ptr, png_charpp name, int *compression_type, + png_bytepp profile, png_uint_32 *proflen)); +#endif + +#ifdef PNG_iCCP_SUPPORTED +PNG_EXPORT(159, void, png_set_iCCP, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_charp name, int compression_type, + png_const_bytep profile, png_uint_32 proflen)); +#endif + +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(160, int, png_get_sPLT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_sPLT_tpp entries)); +#endif + +#ifdef PNG_sPLT_SUPPORTED +PNG_EXPORT(161, void, png_set_sPLT, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_sPLT_tp entries, int nentries)); +#endif + +#ifdef PNG_TEXT_SUPPORTED +/* png_get_text also returns the number of text chunks in *num_text */ +PNG_EXPORT(162, int, png_get_text, (png_const_structrp png_ptr, + png_inforp info_ptr, png_textp *text_ptr, int *num_text)); +#endif + +/* Note while png_set_text() will accept a structure whose text, + * language, and translated keywords are NULL pointers, the structure + * returned by png_get_text will always contain regular + * zero-terminated C strings. They might be empty strings but + * they will never be NULL pointers. + */ + +#ifdef PNG_TEXT_SUPPORTED +PNG_EXPORT(163, void, png_set_text, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_textp text_ptr, int num_text)); +#endif + +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(164, png_uint_32, png_get_tIME, (png_const_structrp png_ptr, + png_inforp info_ptr, png_timep *mod_time)); +#endif + +#ifdef PNG_tIME_SUPPORTED +PNG_EXPORT(165, void, png_set_tIME, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_timep mod_time)); +#endif + +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(166, png_uint_32, png_get_tRNS, (png_const_structrp png_ptr, + png_inforp info_ptr, png_bytep *trans_alpha, int *num_trans, + png_color_16p *trans_color)); +#endif + +#ifdef PNG_tRNS_SUPPORTED +PNG_EXPORT(167, void, png_set_tRNS, (png_structrp png_ptr, + png_inforp info_ptr, png_const_bytep trans_alpha, int num_trans, + png_const_color_16p trans_color)); +#endif + +#ifdef PNG_sCAL_SUPPORTED +PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL, (png_const_structrp png_ptr, + png_const_inforp info_ptr, int *unit, double *width, double *height)) +#if defined(PNG_FLOATING_ARITHMETIC_SUPPORTED) || \ + defined(PNG_FLOATING_POINT_SUPPORTED) +/* NOTE: this API is currently implemented using floating point arithmetic, + * consequently it can only be used on systems with floating point support. + * In any case the range of values supported by png_fixed_point is small and it + * is highly recommended that png_get_sCAL_s be used instead. + */ +PNG_FIXED_EXPORT(214, png_uint_32, png_get_sCAL_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, + png_fixed_point *width, png_fixed_point *height)) +#endif +PNG_EXPORT(169, png_uint_32, png_get_sCAL_s, + (png_const_structrp png_ptr, png_const_inforp info_ptr, int *unit, + png_charpp swidth, png_charpp sheight)); + +PNG_FP_EXPORT(170, void, png_set_sCAL, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, double width, double height)) +PNG_FIXED_EXPORT(213, void, png_set_sCAL_fixed, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, png_fixed_point width, + png_fixed_point height)) +PNG_EXPORT(171, void, png_set_sCAL_s, (png_const_structrp png_ptr, + png_inforp info_ptr, int unit, + png_const_charp swidth, png_const_charp sheight)); +#endif /* sCAL */ + +#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +/* Provide the default handling for all unknown chunks or, optionally, for + * specific unknown chunks. + * + * NOTE: prior to 1.6.0 the handling specified for particular chunks on read was + * ignored and the default was used, the per-chunk setting only had an effect on + * write. If you wish to have chunk-specific handling on read in code that must + * work on earlier versions you must use a user chunk callback to specify the + * desired handling (keep or discard.) + * + * The 'keep' parameter is a PNG_HANDLE_CHUNK_ value as listed below. The + * parameter is interpreted as follows: + * + * READ: + * PNG_HANDLE_CHUNK_AS_DEFAULT: + * Known chunks: do normal libpng processing, do not keep the chunk (but + * see the comments below about PNG_HANDLE_AS_UNKNOWN_SUPPORTED) + * Unknown chunks: for a specific chunk use the global default, when used + * as the default discard the chunk data. + * PNG_HANDLE_CHUNK_NEVER: + * Discard the chunk data. + * PNG_HANDLE_CHUNK_IF_SAFE: + * Keep the chunk data if the chunk is not critical else raise a chunk + * error. + * PNG_HANDLE_CHUNK_ALWAYS: + * Keep the chunk data. + * + * If the chunk data is saved it can be retrieved using png_get_unknown_chunks, + * below. Notice that specifying "AS_DEFAULT" as a global default is equivalent + * to specifying "NEVER", however when "AS_DEFAULT" is used for specific chunks + * it simply resets the behavior to the libpng default. + * + * INTERACTION WTIH USER CHUNK CALLBACKS: + * The per-chunk handling is always used when there is a png_user_chunk_ptr + * callback and the callback returns 0; the chunk is then always stored *unless* + * it is critical and the per-chunk setting is other than ALWAYS. Notice that + * the global default is *not* used in this case. (In effect the per-chunk + * value is incremented to at least IF_SAFE.) + * + * IMPORTANT NOTE: this behavior will change in libpng 1.7 - the global and + * per-chunk defaults will be honored. If you want to preserve the current + * behavior when your callback returns 0 you must set PNG_HANDLE_CHUNK_IF_SAFE + * as the default - if you don't do this libpng 1.6 will issue a warning. + * + * If you want unhandled unknown chunks to be discarded in libpng 1.6 and + * earlier simply return '1' (handled). + * + * PNG_HANDLE_AS_UNKNOWN_SUPPORTED: + * If this is *not* set known chunks will always be handled by libpng and + * will never be stored in the unknown chunk list. Known chunks listed to + * png_set_keep_unknown_chunks will have no effect. If it is set then known + * chunks listed with a keep other than AS_DEFAULT will *never* be processed + * by libpng, in addition critical chunks must either be processed by the + * callback or saved. + * + * The IHDR and IEND chunks must not be listed. Because this turns off the + * default handling for chunks that would otherwise be recognized the + * behavior of libpng transformations may well become incorrect! + * + * WRITE: + * When writing chunks the options only apply to the chunks specified by + * png_set_unknown_chunks (below), libpng will *always* write known chunks + * required by png_set_ calls and will always write the core critical chunks + * (as required for PLTE). + * + * Each chunk in the png_set_unknown_chunks list is looked up in the + * png_set_keep_unknown_chunks list to find the keep setting, this is then + * interpreted as follows: + * + * PNG_HANDLE_CHUNK_AS_DEFAULT: + * Write safe-to-copy chunks and write other chunks if the global + * default is set to _ALWAYS, otherwise don't write this chunk. + * PNG_HANDLE_CHUNK_NEVER: + * Do not write the chunk. + * PNG_HANDLE_CHUNK_IF_SAFE: + * Write the chunk if it is safe-to-copy, otherwise do not write it. + * PNG_HANDLE_CHUNK_ALWAYS: + * Write the chunk. + * + * Note that the default behavior is effectively the opposite of the read case - + * in read unknown chunks are not stored by default, in write they are written + * by default. Also the behavior of PNG_HANDLE_CHUNK_IF_SAFE is very different + * - on write the safe-to-copy bit is checked, on read the critical bit is + * checked and on read if the chunk is critical an error will be raised. + * + * num_chunks: + * =========== + * If num_chunks is positive, then the "keep" parameter specifies the manner + * for handling only those chunks appearing in the chunk_list array, + * otherwise the chunk list array is ignored. + * + * If num_chunks is 0 the "keep" parameter specifies the default behavior for + * unknown chunks, as described above. + * + * If num_chunks is negative, then the "keep" parameter specifies the manner + * for handling all unknown chunks plus all chunks recognized by libpng + * except for the IHDR, PLTE, tRNS, IDAT, and IEND chunks (which continue to + * be processed by libpng. + */ +PNG_EXPORT(172, void, png_set_keep_unknown_chunks, (png_structrp png_ptr, + int keep, png_const_bytep chunk_list, int num_chunks)); + +/* The "keep" PNG_HANDLE_CHUNK_ parameter for the specified chunk is returned; + * the result is therefore true (non-zero) if special handling is required, + * false for the default handling. + */ +PNG_EXPORT(173, int, png_handle_as_unknown, (png_const_structrp png_ptr, + png_const_bytep chunk_name)); +#endif + +#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +PNG_EXPORT(174, void, png_set_unknown_chunks, (png_const_structrp png_ptr, + png_inforp info_ptr, png_const_unknown_chunkp unknowns, + int num_unknowns)); + /* NOTE: prior to 1.6.0 this routine set the 'location' field of the added + * unknowns to the location currently stored in the png_struct. This is + * invariably the wrong value on write. To fix this call the following API + * for each chunk in the list with the correct location. If you know your + * code won't be compiled on earlier versions you can rely on + * png_set_unknown_chunks(write-ptr, png_get_unknown_chunks(read-ptr)) doing + * the correct thing. + */ + +PNG_EXPORT(175, void, png_set_unknown_chunk_location, + (png_const_structrp png_ptr, png_inforp info_ptr, int chunk, int location)); + +PNG_EXPORT(176, int, png_get_unknown_chunks, (png_const_structrp png_ptr, + png_inforp info_ptr, png_unknown_chunkpp entries)); +#endif + +/* Png_free_data() will turn off the "valid" flag for anything it frees. + * If you need to turn it off for a chunk that your application has freed, + * you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); + */ +PNG_EXPORT(177, void, png_set_invalid, (png_const_structrp png_ptr, + png_inforp info_ptr, int mask)); + +#ifdef PNG_INFO_IMAGE_SUPPORTED +/* The "params" pointer is currently not used and is for future expansion. */ +#ifdef PNG_SEQUENTIAL_READ_SUPPORTED +PNG_EXPORT(178, void, png_read_png, (png_structrp png_ptr, png_inforp info_ptr, + int transforms, png_voidp params)); +#endif +#ifdef PNG_WRITE_SUPPORTED +PNG_EXPORT(179, void, png_write_png, (png_structrp png_ptr, png_inforp info_ptr, + int transforms, png_voidp params)); +#endif +#endif + +PNG_EXPORT(180, png_const_charp, png_get_copyright, + (png_const_structrp png_ptr)); +PNG_EXPORT(181, png_const_charp, png_get_header_ver, + (png_const_structrp png_ptr)); +PNG_EXPORT(182, png_const_charp, png_get_header_version, + (png_const_structrp png_ptr)); +PNG_EXPORT(183, png_const_charp, png_get_libpng_ver, + (png_const_structrp png_ptr)); + +#ifdef PNG_MNG_FEATURES_SUPPORTED +PNG_EXPORT(184, png_uint_32, png_permit_mng_features, (png_structrp png_ptr, + png_uint_32 mng_features_permitted)); +#endif + +/* For use in png_set_keep_unknown, added to version 1.2.6 */ +#define PNG_HANDLE_CHUNK_AS_DEFAULT 0 +#define PNG_HANDLE_CHUNK_NEVER 1 +#define PNG_HANDLE_CHUNK_IF_SAFE 2 +#define PNG_HANDLE_CHUNK_ALWAYS 3 +#define PNG_HANDLE_CHUNK_LAST 4 + +/* Strip the prepended error numbers ("#nnn ") from error and warning + * messages before passing them to the error or warning handler. + */ +#ifdef PNG_ERROR_NUMBERS_SUPPORTED +PNG_EXPORT(185, void, png_set_strip_error_numbers, (png_structrp png_ptr, + png_uint_32 strip_mode)); +#endif + +/* Added in libpng-1.2.6 */ +#ifdef PNG_SET_USER_LIMITS_SUPPORTED +PNG_EXPORT(186, void, png_set_user_limits, (png_structrp png_ptr, + png_uint_32 user_width_max, png_uint_32 user_height_max)); +PNG_EXPORT(187, png_uint_32, png_get_user_width_max, + (png_const_structrp png_ptr)); +PNG_EXPORT(188, png_uint_32, png_get_user_height_max, + (png_const_structrp png_ptr)); +/* Added in libpng-1.4.0 */ +PNG_EXPORT(189, void, png_set_chunk_cache_max, (png_structrp png_ptr, + png_uint_32 user_chunk_cache_max)); +PNG_EXPORT(190, png_uint_32, png_get_chunk_cache_max, + (png_const_structrp png_ptr)); +/* Added in libpng-1.4.1 */ +PNG_EXPORT(191, void, png_set_chunk_malloc_max, (png_structrp png_ptr, + png_alloc_size_t user_chunk_cache_max)); +PNG_EXPORT(192, png_alloc_size_t, png_get_chunk_malloc_max, + (png_const_structrp png_ptr)); +#endif + +#if defined(PNG_INCH_CONVERSIONS_SUPPORTED) +PNG_EXPORT(193, png_uint_32, png_get_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_EXPORT(194, png_uint_32, png_get_x_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_EXPORT(195, png_uint_32, png_get_y_pixels_per_inch, + (png_const_structrp png_ptr, png_const_inforp info_ptr)); + +PNG_FP_EXPORT(196, float, png_get_x_offset_inches, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ +PNG_FIXED_EXPORT(211, png_fixed_point, png_get_x_offset_inches_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#endif + +PNG_FP_EXPORT(197, float, png_get_y_offset_inches, (png_const_structrp png_ptr, + png_const_inforp info_ptr)) +#ifdef PNG_FIXED_POINT_SUPPORTED /* otherwise not implemented. */ +PNG_FIXED_EXPORT(212, png_fixed_point, png_get_y_offset_inches_fixed, + (png_const_structrp png_ptr, png_const_inforp info_ptr)) +#endif + +# ifdef PNG_pHYs_SUPPORTED +PNG_EXPORT(198, png_uint_32, png_get_pHYs_dpi, (png_const_structrp png_ptr, + png_const_inforp info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, + int *unit_type)); +# endif /* pHYs */ +#endif /* INCH_CONVERSIONS */ + +/* Added in libpng-1.4.0 */ +#ifdef PNG_IO_STATE_SUPPORTED +PNG_EXPORT(199, png_uint_32, png_get_io_state, (png_const_structrp png_ptr)); + +/* Removed from libpng 1.6; use png_get_io_chunk_type. */ +PNG_REMOVED(200, png_const_bytep, png_get_io_chunk_name, (png_structrp png_ptr), + PNG_DEPRECATED) + +PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type, + (png_const_structrp png_ptr)); + +/* The flags returned by png_get_io_state() are the following: */ +# define PNG_IO_NONE 0x0000 /* no I/O at this moment */ +# define PNG_IO_READING 0x0001 /* currently reading */ +# define PNG_IO_WRITING 0x0002 /* currently writing */ +# define PNG_IO_SIGNATURE 0x0010 /* currently at the file signature */ +# define PNG_IO_CHUNK_HDR 0x0020 /* currently at the chunk header */ +# define PNG_IO_CHUNK_DATA 0x0040 /* currently at the chunk data */ +# define PNG_IO_CHUNK_CRC 0x0080 /* currently at the chunk crc */ +# define PNG_IO_MASK_OP 0x000f /* current operation: reading/writing */ +# define PNG_IO_MASK_LOC 0x00f0 /* current location: sig/hdr/data/crc */ +#endif /* IO_STATE */ + +/* Interlace support. The following macros are always defined so that if + * libpng interlace handling is turned off the macros may be used to handle + * interlaced images within the application. + */ +#define PNG_INTERLACE_ADAM7_PASSES 7 + +/* Two macros to return the first row and first column of the original, + * full, image which appears in a given pass. 'pass' is in the range 0 + * to 6 and the result is in the range 0 to 7. + */ +#define PNG_PASS_START_ROW(pass) (((1&~(pass))<<(3-((pass)>>1)))&7) +#define PNG_PASS_START_COL(pass) (((1& (pass))<<(3-(((pass)+1)>>1)))&7) + +/* A macro to return the offset between pixels in the output row for a pair of + * pixels in the input - effectively the inverse of the 'COL_SHIFT' macro that + * follows. Note that ROW_OFFSET is the offset from one row to the next whereas + * COL_OFFSET is from one column to the next, within a row. + */ +#define PNG_PASS_ROW_OFFSET(pass) ((pass)>2?(8>>(((pass)-1)>>1)):8) +#define PNG_PASS_COL_OFFSET(pass) (1<<((7-(pass))>>1)) + +/* Two macros to help evaluate the number of rows or columns in each + * pass. This is expressed as a shift - effectively log2 of the number or + * rows or columns in each 8x8 tile of the original image. + */ +#define PNG_PASS_ROW_SHIFT(pass) ((pass)>2?(8-(pass))>>1:3) +#define PNG_PASS_COL_SHIFT(pass) ((pass)>1?(7-(pass))>>1:3) + +/* Hence two macros to determine the number of rows or columns in a given + * pass of an image given its height or width. In fact these macros may + * return non-zero even though the sub-image is empty, because the other + * dimension may be empty for a small image. + */ +#define PNG_PASS_ROWS(height, pass) (((height)+(((1<>PNG_PASS_ROW_SHIFT(pass)) +#define PNG_PASS_COLS(width, pass) (((width)+(((1<>PNG_PASS_COL_SHIFT(pass)) + +/* For the reader row callbacks (both progressive and sequential) it is + * necessary to find the row in the output image given a row in an interlaced + * image, so two more macros: + */ +#define PNG_ROW_FROM_PASS_ROW(y_in, pass) \ + (((y_in)<>(((7-(off))-(pass))<<2)) & 0xF) | \ + ((0x01145AF0>>(((7-(off))-(pass))<<2)) & 0xF0)) + +#define PNG_ROW_IN_INTERLACE_PASS(y, pass) \ + ((PNG_PASS_MASK(pass,0) >> ((y)&7)) & 1) +#define PNG_COL_IN_INTERLACE_PASS(x, pass) \ + ((PNG_PASS_MASK(pass,1) >> ((x)&7)) & 1) + +#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED +/* With these routines we avoid an integer divide, which will be slower on + * most machines. However, it does take more operations than the corresponding + * divide method, so it may be slower on a few RISC systems. There are two + * shifts (by 8 or 16 bits) and an addition, versus a single integer divide. + * + * Note that the rounding factors are NOT supposed to be the same! 128 and + * 32768 are correct for the NODIV code; 127 and 32767 are correct for the + * standard method. + * + * [Optimized code by Greg Roelofs and Mark Adler...blame us for bugs. :-) ] + */ + + /* fg and bg should be in `gamma 1.0' space; alpha is the opacity */ + +# define png_composite(composite, fg, alpha, bg) \ + { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \ + * (png_uint_16)(alpha) \ + + (png_uint_16)(bg)*(png_uint_16)(255 \ + - (png_uint_16)(alpha)) + 128); \ + (composite) = (png_byte)((temp + (temp >> 8)) >> 8); } + +# define png_composite_16(composite, fg, alpha, bg) \ + { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \ + * (png_uint_32)(alpha) \ + + (png_uint_32)(bg)*(65535 \ + - (png_uint_32)(alpha)) + 32768); \ + (composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); } + +#else /* Standard method using integer division */ + +# define png_composite(composite, fg, alpha, bg) \ + (composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \ + (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \ + 127) / 255) + +# define png_composite_16(composite, fg, alpha, bg) \ + (composite) = (png_uint_16)(((png_uint_32)(fg) * (png_uint_32)(alpha) + \ + (png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \ + 32767) / 65535) +#endif /* READ_COMPOSITE_NODIV */ + +#ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(201, png_uint_32, png_get_uint_32, (png_const_bytep buf)); +PNG_EXPORT(202, png_uint_16, png_get_uint_16, (png_const_bytep buf)); +PNG_EXPORT(203, png_int_32, png_get_int_32, (png_const_bytep buf)); +#endif + +PNG_EXPORT(204, png_uint_32, png_get_uint_31, (png_const_structrp png_ptr, + png_const_bytep buf)); +/* No png_get_int_16 -- may be added if there's a real need for it. */ + +/* Place a 32-bit number into a buffer in PNG byte order (big-endian). */ +#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(205, void, png_save_uint_32, (png_bytep buf, png_uint_32 i)); +#endif +#ifdef PNG_SAVE_INT_32_SUPPORTED +PNG_EXPORT(206, void, png_save_int_32, (png_bytep buf, png_int_32 i)); +#endif + +/* Place a 16-bit number into a buffer in PNG byte order. + * The parameter is declared unsigned int, not png_uint_16, + * just to avoid potential problems on pre-ANSI C compilers. + */ +#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED +PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i)); +/* No png_save_int_16 -- may be added if there's a real need for it. */ +#endif + +#ifdef PNG_USE_READ_MACROS +/* Inline macros to do direct reads of bytes from the input buffer. + * The png_get_int_32() routine assumes we are using two's complement + * format for negative values, which is almost certainly true. + */ +# define PNG_get_uint_32(buf) \ + (((png_uint_32)(*(buf)) << 24) + \ + ((png_uint_32)(*((buf) + 1)) << 16) + \ + ((png_uint_32)(*((buf) + 2)) << 8) + \ + ((png_uint_32)(*((buf) + 3)))) + + /* From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the + * function) incorrectly returned a value of type png_uint_32. + */ +# define PNG_get_uint_16(buf) \ + ((png_uint_16) \ + (((unsigned int)(*(buf)) << 8) + \ + ((unsigned int)(*((buf) + 1))))) + +# define PNG_get_int_32(buf) \ + ((png_int_32)((*(buf) & 0x80) \ + ? -((png_int_32)((png_get_uint_32(buf) ^ 0xffffffffL) + 1)) \ + : (png_int_32)png_get_uint_32(buf))) + + /* If PNG_PREFIX is defined the same thing as below happens in pnglibconf.h, + * but defining a macro name prefixed with PNG_PREFIX. + */ +# ifndef PNG_PREFIX +# define png_get_uint_32(buf) PNG_get_uint_32(buf) +# define png_get_uint_16(buf) PNG_get_uint_16(buf) +# define png_get_int_32(buf) PNG_get_int_32(buf) +# endif +#else +# ifdef PNG_PREFIX + /* No macros; revert to the (redefined) function */ +# define PNG_get_uint_32 (png_get_uint_32) +# define PNG_get_uint_16 (png_get_uint_16) +# define PNG_get_int_32 (png_get_int_32) +# endif +#endif + +#if defined(PNG_SIMPLIFIED_READ_SUPPORTED) || \ + defined(PNG_SIMPLIFIED_WRITE_SUPPORTED) +/******************************************************************************* + * SIMPLIFIED API + ******************************************************************************* + * + * Please read the documentation in libpng-manual.txt (TODO: write said + * documentation) if you don't understand what follows. + * + * The simplified API hides the details of both libpng and the PNG file format + * itself. It allows PNG files to be read into a very limited number of + * in-memory bitmap formats or to be written from the same formats. If these + * formats do not accomodate your needs then you can, and should, use the more + * sophisticated APIs above - these support a wide variety of in-memory formats + * and a wide variety of sophisticated transformations to those formats as well + * as a wide variety of APIs to manipulate ancillary information. + * + * To read a PNG file using the simplified API: + * + * 1) Declare a 'png_image' structure (see below) on the stack and set the + * version field to PNG_IMAGE_VERSION. + * 2) Call the appropriate png_image_begin_read... function. + * 3) Set the png_image 'format' member to the required sample format. + * 4) Allocate a buffer for the image and, if required, the color-map. + * 5) Call png_image_finish_read to read the image and, if required, the + * color-map into your buffers. + * + * There are no restrictions on the format of the PNG input itself; all valid + * color types, bit depths, and interlace methods are acceptable, and the + * input image is transformed as necessary to the requested in-memory format + * during the png_image_finish_read() step. The only caveat is that if you + * request a color-mapped image from a PNG that is full-color or makes + * complex use of an alpha channel the transformation is extremely lossy and the + * result may look terrible. + * + * To write a PNG file using the simplified API: + * + * 1) Declare a 'png_image' structure on the stack and memset() it to all zero. + * 2) Initialize the members of the structure that describe the image, setting + * the 'format' member to the format of the image samples. + * 3) Call the appropriate png_image_write... function with a pointer to the + * image and, if necessary, the color-map to write the PNG data. + * + * png_image is a structure that describes the in-memory format of an image + * when it is being read or defines the in-memory format of an image that you + * need to write: + */ +#define PNG_IMAGE_VERSION 1 + +typedef struct png_control *png_controlp; +typedef struct +{ + png_controlp opaque; /* Initialize to NULL, free with png_image_free */ + png_uint_32 version; /* Set to PNG_IMAGE_VERSION */ + png_uint_32 width; /* Image width in pixels (columns) */ + png_uint_32 height; /* Image height in pixels (rows) */ + png_uint_32 format; /* Image format as defined below */ + png_uint_32 flags; /* A bit mask containing informational flags */ + png_uint_32 colormap_entries; + /* Number of entries in the color-map */ + + /* In the event of an error or warning the following field will be set to a + * non-zero value and the 'message' field will contain a '\0' terminated + * string with the libpng error or warning message. If both warnings and + * an error were encountered, only the error is recorded. If there + * are multiple warnings, only the first one is recorded. + * + * The upper 30 bits of this value are reserved, the low two bits contain + * a value as follows: + */ +# define PNG_IMAGE_WARNING 1 +# define PNG_IMAGE_ERROR 2 + /* + * The result is a two-bit code such that a value more than 1 indicates + * a failure in the API just called: + * + * 0 - no warning or error + * 1 - warning + * 2 - error + * 3 - error preceded by warning + */ +# define PNG_IMAGE_FAILED(png_cntrl) ((((png_cntrl).warning_or_error)&0x03)>1) + + png_uint_32 warning_or_error; + + char message[64]; +} png_image, *png_imagep; + +/* The samples of the image have one to four channels whose components have + * original values in the range 0 to 1.0: + * + * 1: A single gray or luminance channel (G). + * 2: A gray/luminance channel and an alpha channel (GA). + * 3: Three red, green, blue color channels (RGB). + * 4: Three color channels and an alpha channel (RGBA). + * + * The components are encoded in one of two ways: + * + * a) As a small integer, value 0..255, contained in a single byte. For the + * alpha channel the original value is simply value/255. For the color or + * luminance channels the value is encoded according to the sRGB specification + * and matches the 8-bit format expected by typical display devices. + * + * The color/gray channels are not scaled (pre-multiplied) by the alpha + * channel and are suitable for passing to color management software. + * + * b) As a value in the range 0..65535, contained in a 2-byte integer. All + * channels can be converted to the original value by dividing by 65535; all + * channels are linear. Color channels use the RGB encoding (RGB end-points) of + * the sRGB specification. This encoding is identified by the + * PNG_FORMAT_FLAG_LINEAR flag below. + * + * When the simplified API needs to convert between sRGB and linear colorspaces, + * the actual sRGB transfer curve defined in the sRGB specification (see the + * article at http://en.wikipedia.org/wiki/SRGB) is used, not the gamma=1/2.2 + * approximation used elsewhere in libpng. + * + * When an alpha channel is present it is expected to denote pixel coverage + * of the color or luminance channels and is returned as an associated alpha + * channel: the color/gray channels are scaled (pre-multiplied) by the alpha + * value. + * + * The samples are either contained directly in the image data, between 1 and 8 + * bytes per pixel according to the encoding, or are held in a color-map indexed + * by bytes in the image data. In the case of a color-map the color-map entries + * are individual samples, encoded as above, and the image data has one byte per + * pixel to select the relevant sample from the color-map. + */ + +/* PNG_FORMAT_* + * + * #defines to be used in png_image::format. Each #define identifies a + * particular layout of sample data and, if present, alpha values. There are + * separate defines for each of the two component encodings. + * + * A format is built up using single bit flag values. All combinations are + * valid. Formats can be built up from the flag values or you can use one of + * the predefined values below. When testing formats always use the FORMAT_FLAG + * macros to test for individual features - future versions of the library may + * add new flags. + * + * When reading or writing color-mapped images the format should be set to the + * format of the entries in the color-map then png_image_{read,write}_colormap + * called to read or write the color-map and set the format correctly for the + * image data. Do not set the PNG_FORMAT_FLAG_COLORMAP bit directly! + * + * NOTE: libpng can be built with particular features disabled, if you see + * compiler errors because the definition of one of the following flags has been + * compiled out it is because libpng does not have the required support. It is + * possible, however, for the libpng configuration to enable the format on just + * read or just write; in that case you may see an error at run time. You can + * guard against this by checking for the definition of the appropriate + * "_SUPPORTED" macro, one of: + * + * PNG_SIMPLIFIED_{READ,WRITE}_{BGR,AFIRST}_SUPPORTED + */ +#define PNG_FORMAT_FLAG_ALPHA 0x01U /* format with an alpha channel */ +#define PNG_FORMAT_FLAG_COLOR 0x02U /* color format: otherwise grayscale */ +#define PNG_FORMAT_FLAG_LINEAR 0x04U /* 2 byte channels else 1 byte */ +#define PNG_FORMAT_FLAG_COLORMAP 0x08U /* image data is color-mapped */ + +#ifdef PNG_FORMAT_BGR_SUPPORTED +# define PNG_FORMAT_FLAG_BGR 0x10U /* BGR colors, else order is RGB */ +#endif + +#ifdef PNG_FORMAT_AFIRST_SUPPORTED +# define PNG_FORMAT_FLAG_AFIRST 0x20U /* alpha channel comes first */ +#endif + +/* Commonly used formats have predefined macros. + * + * First the single byte (sRGB) formats: + */ +#define PNG_FORMAT_GRAY 0 +#define PNG_FORMAT_GA PNG_FORMAT_FLAG_ALPHA +#define PNG_FORMAT_AG (PNG_FORMAT_GA|PNG_FORMAT_FLAG_AFIRST) +#define PNG_FORMAT_RGB PNG_FORMAT_FLAG_COLOR +#define PNG_FORMAT_BGR (PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_BGR) +#define PNG_FORMAT_RGBA (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_ARGB (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_AFIRST) +#define PNG_FORMAT_BGRA (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_ABGR (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_AFIRST) + +/* Then the linear 2-byte formats. When naming these "Y" is used to + * indicate a luminance (gray) channel. + */ +#define PNG_FORMAT_LINEAR_Y PNG_FORMAT_FLAG_LINEAR +#define PNG_FORMAT_LINEAR_Y_ALPHA (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_ALPHA) +#define PNG_FORMAT_LINEAR_RGB (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR) +#define PNG_FORMAT_LINEAR_RGB_ALPHA \ + (PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA) + +/* With color-mapped formats the image data is one byte for each pixel, the byte + * is an index into the color-map which is formatted as above. To obtain a + * color-mapped format it is sufficient just to add the PNG_FOMAT_FLAG_COLORMAP + * to one of the above definitions, or you can use one of the definitions below. + */ +#define PNG_FORMAT_RGB_COLORMAP (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_BGR_COLORMAP (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_RGBA_COLORMAP (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_ARGB_COLORMAP (PNG_FORMAT_ARGB|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_BGRA_COLORMAP (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_COLORMAP) +#define PNG_FORMAT_ABGR_COLORMAP (PNG_FORMAT_ABGR|PNG_FORMAT_FLAG_COLORMAP) + +/* PNG_IMAGE macros + * + * These are convenience macros to derive information from a png_image + * structure. The PNG_IMAGE_SAMPLE_ macros return values appropriate to the + * actual image sample values - either the entries in the color-map or the + * pixels in the image. The PNG_IMAGE_PIXEL_ macros return corresponding values + * for the pixels and will always return 1 for color-mapped formats. The + * remaining macros return information about the rows in the image and the + * complete image. + * + * NOTE: All the macros that take a png_image::format parameter are compile time + * constants if the format parameter is, itself, a constant. Therefore these + * macros can be used in array declarations and case labels where required. + * Similarly the macros are also pre-processor constants (sizeof is not used) so + * they can be used in #if tests. + * + * First the information about the samples. + */ +#define PNG_IMAGE_SAMPLE_CHANNELS(fmt)\ + (((fmt)&(PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_ALPHA))+1) + /* Return the total number of channels in a given format: 1..4 */ + +#define PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)\ + ((((fmt) & PNG_FORMAT_FLAG_LINEAR) >> 2)+1) + /* Return the size in bytes of a single component of a pixel or color-map + * entry (as appropriate) in the image: 1 or 2. + */ + +#define PNG_IMAGE_SAMPLE_SIZE(fmt)\ + (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)) + /* This is the size of the sample data for one sample. If the image is + * color-mapped it is the size of one color-map entry (and image pixels are + * one byte in size), otherwise it is the size of one image pixel. + */ + +#define PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)\ + (PNG_IMAGE_SAMPLE_CHANNELS(fmt) * 256) + /* The maximum size of the color-map required by the format expressed in a + * count of components. This can be used to compile-time allocate a + * color-map: + * + * png_uint_16 colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(linear_fmt)]; + * + * png_byte colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(sRGB_fmt)]; + * + * Alternatively use the PNG_IMAGE_COLORMAP_SIZE macro below to use the + * information from one of the png_image_begin_read_ APIs and dynamically + * allocate the required memory. + */ + +/* Corresponding information about the pixels */ +#define PNG_IMAGE_PIXEL_(test,fmt)\ + (((fmt)&PNG_FORMAT_FLAG_COLORMAP)?1:test(fmt)) + +#define PNG_IMAGE_PIXEL_CHANNELS(fmt)\ + PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_CHANNELS,fmt) + /* The number of separate channels (components) in a pixel; 1 for a + * color-mapped image. + */ + +#define PNG_IMAGE_PIXEL_COMPONENT_SIZE(fmt)\ + PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_COMPONENT_SIZE,fmt) + /* The size, in bytes, of each component in a pixel; 1 for a color-mapped + * image. + */ + +#define PNG_IMAGE_PIXEL_SIZE(fmt) PNG_IMAGE_PIXEL_(PNG_IMAGE_SAMPLE_SIZE,fmt) + /* The size, in bytes, of a complete pixel; 1 for a color-mapped image. */ + +/* Information about the whole row, or whole image */ +#define PNG_IMAGE_ROW_STRIDE(image)\ + (PNG_IMAGE_PIXEL_CHANNELS((image).format) * (image).width) + /* Return the total number of components in a single row of the image; this + * is the minimum 'row stride', the minimum count of components between each + * row. For a color-mapped image this is the minimum number of bytes in a + * row. + */ + +#define PNG_IMAGE_BUFFER_SIZE(image, row_stride)\ + (PNG_IMAGE_PIXEL_COMPONENT_SIZE((image).format)*(image).height*(row_stride)) + /* Return the size, in bytes, of an image buffer given a png_image and a row + * stride - the number of components to leave space for in each row. + */ + +#define PNG_IMAGE_SIZE(image)\ + PNG_IMAGE_BUFFER_SIZE(image, PNG_IMAGE_ROW_STRIDE(image)) + /* Return the size, in bytes, of the image in memory given just a png_image; + * the row stride is the minimum stride required for the image. + */ + +#define PNG_IMAGE_COLORMAP_SIZE(image)\ + (PNG_IMAGE_SAMPLE_SIZE((image).format) * (image).colormap_entries) + /* Return the size, in bytes, of the color-map of this image. If the image + * format is not a color-map format this will return a size sufficient for + * 256 entries in the given format; check PNG_FORMAT_FLAG_COLORMAP if + * you don't want to allocate a color-map in this case. + */ + +/* PNG_IMAGE_FLAG_* + * + * Flags containing additional information about the image are held in the + * 'flags' field of png_image. + */ +#define PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB 0x01 + /* This indicates the the RGB values of the in-memory bitmap do not + * correspond to the red, green and blue end-points defined by sRGB. + */ + +#define PNG_IMAGE_FLAG_FAST 0x02 + /* On write emphasise speed over compression; the resultant PNG file will be + * larger but will be produced significantly faster, particular for large + * images. Do not use this option for images which will be distributed, only + * used it when producing intermediate files that will be read back in + * repeatedly. For a typical 24-bit image the option will double the read + * speed at the cost of increasing the image size by 25%, however for many + * more compressible images the PNG file can be 10 times larger with only a + * slight speed gain. + */ + +#define PNG_IMAGE_FLAG_16BIT_sRGB 0x04 + /* On read if the image is a 16-bit per component image and there is no gAMA + * or sRGB chunk assume that the components are sRGB encoded. Notice that + * images output by the simplified API always have gamma information; setting + * this flag only affects the interpretation of 16-bit images from an + * external source. It is recommended that the application expose this flag + * to the user; the user can normally easily recognize the difference between + * linear and sRGB encoding. This flag has no effect on write - the data + * passed to the write APIs must have the correct encoding (as defined + * above.) + * + * If the flag is not set (the default) input 16-bit per component data is + * assumed to be linear. + * + * NOTE: the flag can only be set after the png_image_begin_read_ call, + * because that call initializes the 'flags' field. + */ + +#ifdef PNG_SIMPLIFIED_READ_SUPPORTED +/* READ APIs + * --------- + * + * The png_image passed to the read APIs must have been initialized by setting + * the png_controlp field 'opaque' to NULL (or, safer, memset the whole thing.) + */ +#ifdef PNG_STDIO_SUPPORTED +PNG_EXPORT(234, int, png_image_begin_read_from_file, (png_imagep image, + const char *file_name)); + /* The named file is opened for read and the image header is filled in + * from the PNG header in the file. + */ + +PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image, + FILE* file)); + /* The PNG header is read from the stdio FILE object. */ +#endif /* STDIO */ + +PNG_EXPORT(236, int, png_image_begin_read_from_memory, (png_imagep image, + png_const_voidp memory, png_size_t size)); + /* The PNG header is read from the given memory buffer. */ + +PNG_EXPORT(237, int, png_image_finish_read, (png_imagep image, + png_const_colorp background, void *buffer, png_int_32 row_stride, + void *colormap)); + /* Finish reading the image into the supplied buffer and clean up the + * png_image structure. + * + * row_stride is the step, in byte or 2-byte units as appropriate, + * between adjacent rows. A positive stride indicates that the top-most row + * is first in the buffer - the normal top-down arrangement. A negative + * stride indicates that the bottom-most row is first in the buffer. + * + * background need only be supplied if an alpha channel must be removed from + * a png_byte format and the removal is to be done by compositing on a solid + * color; otherwise it may be NULL and any composition will be done directly + * onto the buffer. The value is an sRGB color to use for the background, + * for grayscale output the green channel is used. + * + * background must be supplied when an alpha channel must be removed from a + * single byte color-mapped output format, in other words if: + * + * 1) The original format from png_image_begin_read_from_* had + * PNG_FORMAT_FLAG_ALPHA set. + * 2) The format set by the application does not. + * 3) The format set by the application has PNG_FORMAT_FLAG_COLORMAP set and + * PNG_FORMAT_FLAG_LINEAR *not* set. + * + * For linear output removing the alpha channel is always done by compositing + * on black and background is ignored. + * + * colormap must be supplied when PNG_FORMAT_FLAG_COLORMAP is set. It must + * be at least the size (in bytes) returned by PNG_IMAGE_COLORMAP_SIZE. + * image->colormap_entries will be updated to the actual number of entries + * written to the colormap; this may be less than the original value. + */ + +PNG_EXPORT(238, void, png_image_free, (png_imagep image)); + /* Free any data allocated by libpng in image->opaque, setting the pointer to + * NULL. May be called at any time after the structure is initialized. + */ +#endif /* SIMPLIFIED_READ */ + +#ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED +#ifdef PNG_STDIO_SUPPORTED +/* WRITE APIS + * ---------- + * For write you must initialize a png_image structure to describe the image to + * be written. To do this use memset to set the whole structure to 0 then + * initialize fields describing your image. + * + * version: must be set to PNG_IMAGE_VERSION + * opaque: must be initialized to NULL + * width: image width in pixels + * height: image height in rows + * format: the format of the data (image and color-map) you wish to write + * flags: set to 0 unless one of the defined flags applies; set + * PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB for color format images where the RGB + * values do not correspond to the colors in sRGB. + * colormap_entries: set to the number of entries in the color-map (0 to 256) + */ +PNG_EXPORT(239, int, png_image_write_to_file, (png_imagep image, + const char *file, int convert_to_8bit, const void *buffer, + png_int_32 row_stride, const void *colormap)); + /* Write the image to the named file. */ + +PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file, + int convert_to_8_bit, const void *buffer, png_int_32 row_stride, + const void *colormap)); + /* Write the image to the given (FILE*). */ + +/* With both write APIs if image is in one of the linear formats with 16-bit + * data then setting convert_to_8_bit will cause the output to be an 8-bit PNG + * gamma encoded according to the sRGB specification, otherwise a 16-bit linear + * encoded PNG file is written. + * + * With color-mapped data formats the colormap parameter point to a color-map + * with at least image->colormap_entries encoded in the specified format. If + * the format is linear the written PNG color-map will be converted to sRGB + * regardless of the convert_to_8_bit flag. + * + * With all APIs row_stride is handled as in the read APIs - it is the spacing + * from one row to the next in component sized units (1 or 2 bytes) and if + * negative indicates a bottom-up row layout in the buffer. + * + * Note that the write API does not support interlacing or sub-8-bit pixels. + */ +#endif /* STDIO */ +#endif /* SIMPLIFIED_WRITE */ +/******************************************************************************* + * END OF SIMPLIFIED API + ******************************************************************************/ +#endif /* SIMPLIFIED_{READ|WRITE} */ + +#ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED +PNG_EXPORT(242, void, png_set_check_for_invalid_index, + (png_structrp png_ptr, int allowed)); +# ifdef PNG_GET_PALETTE_MAX_SUPPORTED +PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr, + png_const_infop info_ptr)); +# endif +#endif /* CHECK_FOR_INVALID_INDEX */ + +/******************************************************************************* + * IMPLEMENTATION OPTIONS + ******************************************************************************* + * + * Support for arbitrary implementation-specific optimizations. The API allows + * particular options to be turned on or off. 'Option' is the number of the + * option and 'onoff' is 0 (off) or non-0 (on). The value returned is given + * by the PNG_OPTION_ defines below. + * + * HARDWARE: normally hardware capabilites, such as the Intel SSE instructions, + * are detected at run time, however sometimes it may be impossible + * to do this in user mode, in which case it is necessary to discover + * the capabilities in an OS specific way. Such capabilities are + * listed here when libpng has support for them and must be turned + * ON by the application if present. + * + * SOFTWARE: sometimes software optimizations actually result in performance + * decrease on some architectures or systems, or with some sets of + * PNG images. 'Software' options allow such optimizations to be + * selected at run time. + */ +#ifdef PNG_SET_OPTION_SUPPORTED +#ifdef PNG_ARM_NEON_API_SUPPORTED +# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */ +#endif +#define PNG_MAXIMUM_INFLATE_WINDOW 2 /* SOFTWARE: force maximum window */ +#define PNG_SKIP_sRGB_CHECK_PROFILE 4 /* SOFTWARE: Check ICC profile for sRGB */ +#define PNG_OPTION_NEXT 6 /* Next option - numbers must be even */ + +/* Return values: NOTE: there are four values and 'off' is *not* zero */ +#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */ +#define PNG_OPTION_INVALID 1 /* Option number out of range */ +#define PNG_OPTION_OFF 2 +#define PNG_OPTION_ON 3 + +PNG_EXPORT(244, int, png_set_option, (png_structrp png_ptr, int option, + int onoff)); +#endif /* SET_OPTION */ + +/******************************************************************************* + * END OF HARDWARE AND SOFTWARE OPTIONS + ******************************************************************************/ + +/* Maintainer: Put new public prototypes here ^, in libpng.3, in project + * defs, and in scripts/symbols.def. + */ + +/* The last ordinal number (this is the *last* one already used; the next + * one to use is one more than this.) + */ +#ifdef PNG_EXPORT_LAST_ORDINAL + PNG_EXPORT_LAST_ORDINAL(244); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* PNG_VERSION_INFO_ONLY */ +/* Do not put anything past this line */ +#endif /* PNG_H */ diff --git a/android/x86_64/include/png/pngconf.h b/android/x86_64/include/png/pngconf.h new file mode 100644 index 00000000..03615f0e --- /dev/null +++ b/android/x86_64/include/png/pngconf.h @@ -0,0 +1,644 @@ + +/* pngconf.h - machine configurable file for libpng + * + * libpng version 1.6.16,December 22, 2014 + * + * Copyright (c) 1998-2014 Glenn Randers-Pehrson + * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) + * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) + * + * This code is released under the libpng license. + * For conditions of distribution and use, see the disclaimer + * and license in png.h + * + */ + +/* Any machine specific code is near the front of this file, so if you + * are configuring libpng for a machine, you may want to read the section + * starting here down to where it starts to typedef png_color, png_text, + * and png_info. + */ + +#ifndef PNGCONF_H +#define PNGCONF_H + +/* To do: Do all of this in scripts/pnglibconf.dfa */ +#ifdef PNG_SAFE_LIMITS_SUPPORTED +# ifdef PNG_USER_WIDTH_MAX +# undef PNG_USER_WIDTH_MAX +# define PNG_USER_WIDTH_MAX 1000000L +# endif +# ifdef PNG_USER_HEIGHT_MAX +# undef PNG_USER_HEIGHT_MAX +# define PNG_USER_HEIGHT_MAX 1000000L +# endif +# ifdef PNG_USER_CHUNK_MALLOC_MAX +# undef PNG_USER_CHUNK_MALLOC_MAX +# define PNG_USER_CHUNK_MALLOC_MAX 4000000L +# endif +# ifdef PNG_USER_CHUNK_CACHE_MAX +# undef PNG_USER_CHUNK_CACHE_MAX +# define PNG_USER_CHUNK_CACHE_MAX 128 +# endif +#endif + +#ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */ + +/* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C + * compiler for correct compilation. The following header files are required by + * the standard. If your compiler doesn't provide these header files, or they + * do not match the standard, you will need to provide/improve them. + */ +#include +#include + +/* Library header files. These header files are all defined by ISOC90; libpng + * expects conformant implementations, however, an ISOC90 conformant system need + * not provide these header files if the functionality cannot be implemented. + * In this case it will be necessary to disable the relevant parts of libpng in + * the build of pnglibconf.h. + * + * Prior to 1.6.0 string.h was included here; the API changes in 1.6.0 to not + * include this unnecessary header file. + */ + +#ifdef PNG_STDIO_SUPPORTED + /* Required for the definition of FILE: */ +# include +#endif + +#ifdef PNG_SETJMP_SUPPORTED + /* Required for the definition of jmp_buf and the declaration of longjmp: */ +# include +#endif + +#ifdef PNG_CONVERT_tIME_SUPPORTED + /* Required for struct tm: */ +# include +#endif + +#endif /* PNG_BUILDING_SYMBOL_TABLE */ + +/* Prior to 1.6.0 it was possible to turn off 'const' in declarations using + * PNG_NO_CONST; this is no longer supported except for data declarations which + * apparently still cause problems in 2011 on some compilers. + */ +#define PNG_CONST const /* backward compatibility only */ + +/* This controls optimization of the reading of 16 and 32 bit values + * from PNG files. It can be set on a per-app-file basis - it + * just changes whether a macro is used when the function is called. + * The library builder sets the default; if read functions are not + * built into the library the macro implementation is forced on. + */ +#ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED +# define PNG_USE_READ_MACROS +#endif +#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS) +# if PNG_DEFAULT_READ_MACROS +# define PNG_USE_READ_MACROS +# endif +#endif + +/* COMPILER SPECIFIC OPTIONS. + * + * These options are provided so that a variety of difficult compilers + * can be used. Some are fixed at build time (e.g. PNG_API_RULE + * below) but still have compiler specific implementations, others + * may be changed on a per-file basis when compiling against libpng. + */ + +/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect + * against legacy (pre ISOC90) compilers that did not understand function + * prototypes. It is not required for modern C compilers. + */ +#ifndef PNGARG +# define PNGARG(arglist) arglist +#endif + +/* Function calling conventions. + * ============================= + * Normally it is not necessary to specify to the compiler how to call + * a function - it just does it - however on x86 systems derived from + * Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems + * and some others) there are multiple ways to call a function and the + * default can be changed on the compiler command line. For this reason + * libpng specifies the calling convention of every exported function and + * every function called via a user supplied function pointer. This is + * done in this file by defining the following macros: + * + * PNGAPI Calling convention for exported functions. + * PNGCBAPI Calling convention for user provided (callback) functions. + * PNGCAPI Calling convention used by the ANSI-C library (required + * for longjmp callbacks and sometimes used internally to + * specify the calling convention for zlib). + * + * These macros should never be overridden. If it is necessary to + * change calling convention in a private build this can be done + * by setting PNG_API_RULE (which defaults to 0) to one of the values + * below to select the correct 'API' variants. + * + * PNG_API_RULE=0 Use PNGCAPI - the 'C' calling convention - throughout. + * This is correct in every known environment. + * PNG_API_RULE=1 Use the operating system convention for PNGAPI and + * the 'C' calling convention (from PNGCAPI) for + * callbacks (PNGCBAPI). This is no longer required + * in any known environment - if it has to be used + * please post an explanation of the problem to the + * libpng mailing list. + * + * These cases only differ if the operating system does not use the C + * calling convention, at present this just means the above cases + * (x86 DOS/Windows sytems) and, even then, this does not apply to + * Cygwin running on those systems. + * + * Note that the value must be defined in pnglibconf.h so that what + * the application uses to call the library matches the conventions + * set when building the library. + */ + +/* Symbol export + * ============= + * When building a shared library it is almost always necessary to tell + * the compiler which symbols to export. The png.h macro 'PNG_EXPORT' + * is used to mark the symbols. On some systems these symbols can be + * extracted at link time and need no special processing by the compiler, + * on other systems the symbols are flagged by the compiler and just + * the declaration requires a special tag applied (unfortunately) in a + * compiler dependent way. Some systems can do either. + * + * A small number of older systems also require a symbol from a DLL to + * be flagged to the program that calls it. This is a problem because + * we do not know in the header file included by application code that + * the symbol will come from a shared library, as opposed to a statically + * linked one. For this reason the application must tell us by setting + * the magic flag PNG_USE_DLL to turn on the special processing before + * it includes png.h. + * + * Four additional macros are used to make this happen: + * + * PNG_IMPEXP The magic (if any) to cause a symbol to be exported from + * the build or imported if PNG_USE_DLL is set - compiler + * and system specific. + * + * PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to + * 'type', compiler specific. + * + * PNG_DLL_EXPORT Set to the magic to use during a libpng build to + * make a symbol exported from the DLL. Not used in the + * public header files; see pngpriv.h for how it is used + * in the libpng build. + * + * PNG_DLL_IMPORT Set to the magic to force the libpng symbols to come + * from a DLL - used to define PNG_IMPEXP when + * PNG_USE_DLL is set. + */ + +/* System specific discovery. + * ========================== + * This code is used at build time to find PNG_IMPEXP, the API settings + * and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL + * import processing is possible. On Windows systems it also sets + * compiler-specific macros to the values required to change the calling + * conventions of the various functions. + */ +#if defined(_Windows) || defined(_WINDOWS) || defined(WIN32) ||\ + defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) + /* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or + * MinGW on any architecture currently supported by Windows. Also includes + * Watcom builds but these need special treatment because they are not + * compatible with GCC or Visual C because of different calling conventions. + */ +# if PNG_API_RULE == 2 + /* If this line results in an error, either because __watcall is not + * understood or because of a redefine just below you cannot use *this* + * build of the library with the compiler you are using. *This* build was + * build using Watcom and applications must also be built using Watcom! + */ +# define PNGCAPI __watcall +# endif + +# if defined(__GNUC__) || (defined(_MSC_VER) && (_MSC_VER >= 800)) +# define PNGCAPI __cdecl +# if PNG_API_RULE == 1 + /* If this line results in an error __stdcall is not understood and + * PNG_API_RULE should not have been set to '1'. + */ +# define PNGAPI __stdcall +# endif +# else + /* An older compiler, or one not detected (erroneously) above, + * if necessary override on the command line to get the correct + * variants for the compiler. + */ +# ifndef PNGCAPI +# define PNGCAPI _cdecl +# endif +# if PNG_API_RULE == 1 && !defined(PNGAPI) +# define PNGAPI _stdcall +# endif +# endif /* compiler/api */ + + /* NOTE: PNGCBAPI always defaults to PNGCAPI. */ + +# if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD) +# error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed" +# endif + +# if (defined(_MSC_VER) && _MSC_VER < 800) ||\ + (defined(__BORLANDC__) && __BORLANDC__ < 0x500) + /* older Borland and MSC + * compilers used '__export' and required this to be after + * the type. + */ +# ifndef PNG_EXPORT_TYPE +# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP +# endif +# define PNG_DLL_EXPORT __export +# else /* newer compiler */ +# define PNG_DLL_EXPORT __declspec(dllexport) +# ifndef PNG_DLL_IMPORT +# define PNG_DLL_IMPORT __declspec(dllimport) +# endif +# endif /* compiler */ + +#else /* !Windows */ +# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) +# define PNGAPI _System +# else /* !Windows/x86 && !OS/2 */ + /* Use the defaults, or define PNG*API on the command line (but + * this will have to be done for every compile!) + */ +# endif /* other system, !OS/2 */ +#endif /* !Windows/x86 */ + +/* Now do all the defaulting . */ +#ifndef PNGCAPI +# define PNGCAPI +#endif +#ifndef PNGCBAPI +# define PNGCBAPI PNGCAPI +#endif +#ifndef PNGAPI +# define PNGAPI PNGCAPI +#endif + +/* PNG_IMPEXP may be set on the compilation system command line or (if not set) + * then in an internal header file when building the library, otherwise (when + * using the library) it is set here. + */ +#ifndef PNG_IMPEXP +# if defined(PNG_USE_DLL) && defined(PNG_DLL_IMPORT) + /* This forces use of a DLL, disallowing static linking */ +# define PNG_IMPEXP PNG_DLL_IMPORT +# endif + +# ifndef PNG_IMPEXP +# define PNG_IMPEXP +# endif +#endif + +/* In 1.5.2 the definition of PNG_FUNCTION has been changed to always treat + * 'attributes' as a storage class - the attributes go at the start of the + * function definition, and attributes are always appended regardless of the + * compiler. This considerably simplifies these macros but may cause problems + * if any compilers both need function attributes and fail to handle them as + * a storage class (this is unlikely.) + */ +#ifndef PNG_FUNCTION +# define PNG_FUNCTION(type, name, args, attributes) attributes type name args +#endif + +#ifndef PNG_EXPORT_TYPE +# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type +#endif + + /* The ordinal value is only relevant when preprocessing png.h for symbol + * table entries, so we discard it here. See the .dfn files in the + * scripts directory. + */ +#ifndef PNG_EXPORTA + +# define PNG_EXPORTA(ordinal, type, name, args, attributes)\ + PNG_FUNCTION(PNG_EXPORT_TYPE(type),(PNGAPI name),PNGARG(args), \ + extern attributes) +#endif + +/* ANSI-C (C90) does not permit a macro to be invoked with an empty argument, + * so make something non-empty to satisfy the requirement: + */ +#define PNG_EMPTY /*empty list*/ + +#define PNG_EXPORT(ordinal, type, name, args)\ + PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY) + +/* Use PNG_REMOVED to comment out a removed interface. */ +#ifndef PNG_REMOVED +# define PNG_REMOVED(ordinal, type, name, args, attributes) +#endif + +#ifndef PNG_CALLBACK +# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args) +#endif + +/* Support for compiler specific function attributes. These are used + * so that where compiler support is available incorrect use of API + * functions in png.h will generate compiler warnings. + * + * Added at libpng-1.2.41. + */ + +#ifndef PNG_NO_PEDANTIC_WARNINGS +# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED +# define PNG_PEDANTIC_WARNINGS_SUPPORTED +# endif +#endif + +#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED + /* Support for compiler specific function attributes. These are used + * so that where compiler support is available, incorrect use of API + * functions in png.h will generate compiler warnings. Added at libpng + * version 1.2.41. Disabling these removes the warnings but may also produce + * less efficient code. + */ +# if defined(__clang__) && defined(__has_attribute) + /* Clang defines both __clang__ and __GNUC__. Check __clang__ first. */ +# if !defined(PNG_USE_RESULT) && __has_attribute(__warn_unused_result__) +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# if !defined(PNG_NORETURN) && __has_attribute(__noreturn__) +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# if !defined(PNG_ALLOCATED) && __has_attribute(__malloc__) +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif +# if !defined(PNG_DEPRECATED) && __has_attribute(__deprecated__) +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# if !defined(PNG_PRIVATE) +# ifdef __has_extension +# if __has_extension(attribute_unavailable_with_message) +# define PNG_PRIVATE __attribute__((__unavailable__(\ + "This function is not exported by libpng."))) +# endif +# endif +# endif +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif + +# elif defined(__GNUC__) +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# if __GNUC__ >= 3 +# ifndef PNG_ALLOCATED +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# ifndef PNG_PRIVATE +# if 0 /* Doesn't work so we use deprecated instead*/ +# define PNG_PRIVATE \ + __attribute__((warning("This function is not exported by libpng."))) +# else +# define PNG_PRIVATE \ + __attribute__((__deprecated__)) +# endif +# endif +# if ((__GNUC__ > 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1)) +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif +# endif /* __GNUC__.__GNUC_MINOR__ > 3.0 */ +# endif /* __GNUC__ >= 3 */ + +# elif defined(_MSC_VER) && (_MSC_VER >= 1300) +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* not supported */ +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __declspec(noreturn) +# endif +# ifndef PNG_ALLOCATED +# if (_MSC_VER >= 1400) +# define PNG_ALLOCATED __declspec(restrict) +# endif +# endif +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __declspec(deprecated) +# endif +# ifndef PNG_PRIVATE +# define PNG_PRIVATE __declspec(deprecated) +# endif +# ifndef PNG_RESTRICT +# if (_MSC_VER >= 1400) +# define PNG_RESTRICT __restrict +# endif +# endif + +# elif defined(__WATCOMC__) +# ifndef PNG_RESTRICT +# define PNG_RESTRICT __restrict +# endif +# endif +#endif /* PNG_PEDANTIC_WARNINGS */ + +#ifndef PNG_DEPRECATED +# define PNG_DEPRECATED /* Use of this function is deprecated */ +#endif +#ifndef PNG_USE_RESULT +# define PNG_USE_RESULT /* The result of this function must be checked */ +#endif +#ifndef PNG_NORETURN +# define PNG_NORETURN /* This function does not return */ +#endif +#ifndef PNG_ALLOCATED +# define PNG_ALLOCATED /* The result of the function is new memory */ +#endif +#ifndef PNG_PRIVATE +# define PNG_PRIVATE /* This is a private libpng function */ +#endif +#ifndef PNG_RESTRICT +# define PNG_RESTRICT /* The C99 "restrict" feature */ +#endif + +#ifndef PNG_FP_EXPORT /* A floating point API. */ +# ifdef PNG_FLOATING_POINT_SUPPORTED +# define PNG_FP_EXPORT(ordinal, type, name, args)\ + PNG_EXPORT(ordinal, type, name, args); +# else /* No floating point APIs */ +# define PNG_FP_EXPORT(ordinal, type, name, args) +# endif +#endif +#ifndef PNG_FIXED_EXPORT /* A fixed point API. */ +# ifdef PNG_FIXED_POINT_SUPPORTED +# define PNG_FIXED_EXPORT(ordinal, type, name, args)\ + PNG_EXPORT(ordinal, type, name, args); +# else /* No fixed point APIs */ +# define PNG_FIXED_EXPORT(ordinal, type, name, args) +# endif +#endif + +#ifndef PNG_BUILDING_SYMBOL_TABLE +/* Some typedefs to get us started. These should be safe on most of the common + * platforms. + * + * png_uint_32 and png_int_32 may, currently, be larger than required to hold a + * 32-bit value however this is not normally advisable. + * + * png_uint_16 and png_int_16 should always be two bytes in size - this is + * verified at library build time. + * + * png_byte must always be one byte in size. + * + * The checks below use constants from limits.h, as defined by the ISOC90 + * standard. + */ +#if CHAR_BIT == 8 && UCHAR_MAX == 255 + typedef unsigned char png_byte; +#else +# error "libpng requires 8 bit bytes" +#endif + +#if INT_MIN == -32768 && INT_MAX == 32767 + typedef int png_int_16; +#elif SHRT_MIN == -32768 && SHRT_MAX == 32767 + typedef short png_int_16; +#else +# error "libpng requires a signed 16 bit type" +#endif + +#if UINT_MAX == 65535 + typedef unsigned int png_uint_16; +#elif USHRT_MAX == 65535 + typedef unsigned short png_uint_16; +#else +# error "libpng requires an unsigned 16 bit type" +#endif + +#if INT_MIN < -2147483646 && INT_MAX > 2147483646 + typedef int png_int_32; +#elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646 + typedef long int png_int_32; +#else +# error "libpng requires a signed 32 bit (or more) type" +#endif + +#if UINT_MAX > 4294967294 + typedef unsigned int png_uint_32; +#elif ULONG_MAX > 4294967294 + typedef unsigned long int png_uint_32; +#else +# error "libpng requires an unsigned 32 bit (or more) type" +#endif + +/* Prior to 1.6.0 it was possible to disable the use of size_t, 1.6.0, however, + * requires an ISOC90 compiler and relies on consistent behavior of sizeof. + */ +typedef size_t png_size_t; +typedef ptrdiff_t png_ptrdiff_t; + +/* libpng needs to know the maximum value of 'size_t' and this controls the + * definition of png_alloc_size_t, below. This maximum value of size_t limits + * but does not control the maximum allocations the library makes - there is + * direct application control of this through png_set_user_limits(). + */ +#ifndef PNG_SMALL_SIZE_T + /* Compiler specific tests for systems where size_t is known to be less than + * 32 bits (some of these systems may no longer work because of the lack of + * 'far' support; see above.) + */ +# if (defined(__TURBOC__) && !defined(__FLAT__)) ||\ + (defined(_MSC_VER) && defined(MAXSEG_64K)) +# define PNG_SMALL_SIZE_T +# endif +#endif + +/* png_alloc_size_t is guaranteed to be no smaller than png_size_t, and no + * smaller than png_uint_32. Casts from png_size_t or png_uint_32 to + * png_alloc_size_t are not necessary; in fact, it is recommended not to use + * them at all so that the compiler can complain when something turns out to be + * problematic. + * + * Casts in the other direction (from png_alloc_size_t to png_size_t or + * png_uint_32) should be explicitly applied; however, we do not expect to + * encounter practical situations that require such conversions. + * + * PNG_SMALL_SIZE_T must be defined if the maximum value of size_t is less than + * 4294967295 - i.e. less than the maximum value of png_uint_32. + */ +#ifdef PNG_SMALL_SIZE_T + typedef png_uint_32 png_alloc_size_t; +#else + typedef png_size_t png_alloc_size_t; +#endif + +/* Prior to 1.6.0 libpng offered limited support for Microsoft C compiler + * implementations of Intel CPU specific support of user-mode segmented address + * spaces, where 16-bit pointers address more than 65536 bytes of memory using + * separate 'segment' registers. The implementation requires two different + * types of pointer (only one of which includes the segment value.) + * + * If required this support is available in version 1.2 of libpng and may be + * available in versions through 1.5, although the correctness of the code has + * not been verified recently. + */ + +/* Typedef for floating-point numbers that are converted to fixed-point with a + * multiple of 100,000, e.g., gamma + */ +typedef png_int_32 png_fixed_point; + +/* Add typedefs for pointers */ +typedef void * png_voidp; +typedef const void * png_const_voidp; +typedef png_byte * png_bytep; +typedef const png_byte * png_const_bytep; +typedef png_uint_32 * png_uint_32p; +typedef const png_uint_32 * png_const_uint_32p; +typedef png_int_32 * png_int_32p; +typedef const png_int_32 * png_const_int_32p; +typedef png_uint_16 * png_uint_16p; +typedef const png_uint_16 * png_const_uint_16p; +typedef png_int_16 * png_int_16p; +typedef const png_int_16 * png_const_int_16p; +typedef char * png_charp; +typedef const char * png_const_charp; +typedef png_fixed_point * png_fixed_point_p; +typedef const png_fixed_point * png_const_fixed_point_p; +typedef png_size_t * png_size_tp; +typedef const png_size_t * png_const_size_tp; + +#ifdef PNG_STDIO_SUPPORTED +typedef FILE * png_FILE_p; +#endif + +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double * png_doublep; +typedef const double * png_const_doublep; +#endif + +/* Pointers to pointers; i.e. arrays */ +typedef png_byte * * png_bytepp; +typedef png_uint_32 * * png_uint_32pp; +typedef png_int_32 * * png_int_32pp; +typedef png_uint_16 * * png_uint_16pp; +typedef png_int_16 * * png_int_16pp; +typedef const char * * png_const_charpp; +typedef char * * png_charpp; +typedef png_fixed_point * * png_fixed_point_pp; +#ifdef PNG_FLOATING_POINT_SUPPORTED +typedef double * * png_doublepp; +#endif + +/* Pointers to pointers to pointers; i.e., pointer to array */ +typedef char * * * png_charppp; + +#endif /* PNG_BUILDING_SYMBOL_TABLE */ + +#endif /* PNGCONF_H */ diff --git a/android/x86_64/include/png/pnglibconf.h b/android/x86_64/include/png/pnglibconf.h new file mode 100644 index 00000000..42a195b7 --- /dev/null +++ b/android/x86_64/include/png/pnglibconf.h @@ -0,0 +1,208 @@ +/* pnglibconf.h - library build configuration */ + +/* libpng version 1.6.16,December 22, 2014 */ + +/* Copyright (c) 1998-2014 Glenn Randers-Pehrson */ + +/* This code is released under the libpng license. */ +/* For conditions of distribution and use, see the disclaimer */ +/* and license in png.h */ + +/* pnglibconf.h */ +/* Machine generated file: DO NOT EDIT */ +/* Derived from: scripts/pnglibconf.dfa */ +#ifndef PNGLCONF_H +#define PNGLCONF_H +/* options */ +#define PNG_16BIT_SUPPORTED +#define PNG_ALIGNED_MEMORY_SUPPORTED +/*#undef PNG_ARM_NEON_API_SUPPORTED*/ +/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/ +#define PNG_BENIGN_ERRORS_SUPPORTED +#define PNG_BENIGN_READ_ERRORS_SUPPORTED +/*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/ +#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED +#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_COLORSPACE_SUPPORTED +#define PNG_CONSOLE_IO_SUPPORTED +#define PNG_CONVERT_tIME_SUPPORTED +#define PNG_EASY_ACCESS_SUPPORTED +/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ +#define PNG_ERROR_TEXT_SUPPORTED +#define PNG_FIXED_POINT_SUPPORTED +#define PNG_FLOATING_ARITHMETIC_SUPPORTED +#define PNG_FLOATING_POINT_SUPPORTED +#define PNG_FORMAT_AFIRST_SUPPORTED +#define PNG_FORMAT_BGR_SUPPORTED +#define PNG_GAMMA_SUPPORTED +#define PNG_GET_PALETTE_MAX_SUPPORTED +#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED +#define PNG_INCH_CONVERSIONS_SUPPORTED +#define PNG_INFO_IMAGE_SUPPORTED +#define PNG_IO_STATE_SUPPORTED +#define PNG_MNG_FEATURES_SUPPORTED +#define PNG_POINTER_INDEXING_SUPPORTED +#define PNG_PROGRESSIVE_READ_SUPPORTED +#define PNG_READ_16BIT_SUPPORTED +#define PNG_READ_ALPHA_MODE_SUPPORTED +#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_READ_BACKGROUND_SUPPORTED +#define PNG_READ_BGR_SUPPORTED +#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_READ_COMPOSITE_NODIV_SUPPORTED +#define PNG_READ_COMPRESSED_TEXT_SUPPORTED +#define PNG_READ_EXPAND_16_SUPPORTED +#define PNG_READ_EXPAND_SUPPORTED +#define PNG_READ_FILLER_SUPPORTED +#define PNG_READ_GAMMA_SUPPORTED +#define PNG_READ_GET_PALETTE_MAX_SUPPORTED +#define PNG_READ_GRAY_TO_RGB_SUPPORTED +#define PNG_READ_INTERLACING_SUPPORTED +#define PNG_READ_INT_FUNCTIONS_SUPPORTED +#define PNG_READ_INVERT_ALPHA_SUPPORTED +#define PNG_READ_INVERT_SUPPORTED +#define PNG_READ_OPT_PLTE_SUPPORTED +#define PNG_READ_PACKSWAP_SUPPORTED +#define PNG_READ_PACK_SUPPORTED +#define PNG_READ_QUANTIZE_SUPPORTED +#define PNG_READ_RGB_TO_GRAY_SUPPORTED +#define PNG_READ_SCALE_16_TO_8_SUPPORTED +#define PNG_READ_SHIFT_SUPPORTED +#define PNG_READ_STRIP_16_TO_8_SUPPORTED +#define PNG_READ_STRIP_ALPHA_SUPPORTED +#define PNG_READ_SUPPORTED +#define PNG_READ_SWAP_ALPHA_SUPPORTED +#define PNG_READ_SWAP_SUPPORTED +#define PNG_READ_TEXT_SUPPORTED +#define PNG_READ_TRANSFORMS_SUPPORTED +#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_READ_USER_CHUNKS_SUPPORTED +#define PNG_READ_USER_TRANSFORM_SUPPORTED +#define PNG_READ_bKGD_SUPPORTED +#define PNG_READ_cHRM_SUPPORTED +#define PNG_READ_gAMA_SUPPORTED +#define PNG_READ_hIST_SUPPORTED +#define PNG_READ_iCCP_SUPPORTED +#define PNG_READ_iTXt_SUPPORTED +#define PNG_READ_oFFs_SUPPORTED +#define PNG_READ_pCAL_SUPPORTED +#define PNG_READ_pHYs_SUPPORTED +#define PNG_READ_sBIT_SUPPORTED +#define PNG_READ_sCAL_SUPPORTED +#define PNG_READ_sPLT_SUPPORTED +#define PNG_READ_sRGB_SUPPORTED +#define PNG_READ_tEXt_SUPPORTED +#define PNG_READ_tIME_SUPPORTED +#define PNG_READ_tRNS_SUPPORTED +#define PNG_READ_zTXt_SUPPORTED +/*#undef PNG_SAFE_LIMITS_SUPPORTED*/ +#define PNG_SAVE_INT_32_SUPPORTED +#define PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SEQUENTIAL_READ_SUPPORTED +#define PNG_SETJMP_SUPPORTED +#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED +#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED +#define PNG_SET_OPTION_SUPPORTED +#define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_SET_USER_LIMITS_SUPPORTED +#define PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_READ_BGR_SUPPORTED +#define PNG_SIMPLIFIED_READ_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED +#define PNG_SIMPLIFIED_WRITE_SUPPORTED +#define PNG_STDIO_SUPPORTED +#define PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_TEXT_SUPPORTED +#define PNG_TIME_RFC1123_SUPPORTED +#define PNG_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_USER_CHUNKS_SUPPORTED +#define PNG_USER_LIMITS_SUPPORTED +#define PNG_USER_MEM_SUPPORTED +#define PNG_USER_TRANSFORM_INFO_SUPPORTED +#define PNG_USER_TRANSFORM_PTR_SUPPORTED +#define PNG_WARNINGS_SUPPORTED +#define PNG_WRITE_16BIT_SUPPORTED +#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED +#define PNG_WRITE_BGR_SUPPORTED +#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED +#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED +#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED +#define PNG_WRITE_FILLER_SUPPORTED +#define PNG_WRITE_FILTER_SUPPORTED +#define PNG_WRITE_FLUSH_SUPPORTED +#define PNG_WRITE_GET_PALETTE_MAX_SUPPORTED +#define PNG_WRITE_INTERLACING_SUPPORTED +#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED +#define PNG_WRITE_INVERT_ALPHA_SUPPORTED +#define PNG_WRITE_INVERT_SUPPORTED +#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED +#define PNG_WRITE_PACKSWAP_SUPPORTED +#define PNG_WRITE_PACK_SUPPORTED +#define PNG_WRITE_SHIFT_SUPPORTED +#define PNG_WRITE_SUPPORTED +#define PNG_WRITE_SWAP_ALPHA_SUPPORTED +#define PNG_WRITE_SWAP_SUPPORTED +#define PNG_WRITE_TEXT_SUPPORTED +#define PNG_WRITE_TRANSFORMS_SUPPORTED +#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED +#define PNG_WRITE_USER_TRANSFORM_SUPPORTED +#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED +#define PNG_WRITE_bKGD_SUPPORTED +#define PNG_WRITE_cHRM_SUPPORTED +#define PNG_WRITE_gAMA_SUPPORTED +#define PNG_WRITE_hIST_SUPPORTED +#define PNG_WRITE_iCCP_SUPPORTED +#define PNG_WRITE_iTXt_SUPPORTED +#define PNG_WRITE_oFFs_SUPPORTED +#define PNG_WRITE_pCAL_SUPPORTED +#define PNG_WRITE_pHYs_SUPPORTED +#define PNG_WRITE_sBIT_SUPPORTED +#define PNG_WRITE_sCAL_SUPPORTED +#define PNG_WRITE_sPLT_SUPPORTED +#define PNG_WRITE_sRGB_SUPPORTED +#define PNG_WRITE_tEXt_SUPPORTED +#define PNG_WRITE_tIME_SUPPORTED +#define PNG_WRITE_tRNS_SUPPORTED +#define PNG_WRITE_zTXt_SUPPORTED +#define PNG_bKGD_SUPPORTED +#define PNG_cHRM_SUPPORTED +#define PNG_gAMA_SUPPORTED +#define PNG_hIST_SUPPORTED +#define PNG_iCCP_SUPPORTED +#define PNG_iTXt_SUPPORTED +#define PNG_oFFs_SUPPORTED +#define PNG_pCAL_SUPPORTED +#define PNG_pHYs_SUPPORTED +#define PNG_sBIT_SUPPORTED +#define PNG_sCAL_SUPPORTED +#define PNG_sPLT_SUPPORTED +#define PNG_sRGB_SUPPORTED +#define PNG_tEXt_SUPPORTED +#define PNG_tIME_SUPPORTED +#define PNG_tRNS_SUPPORTED +#define PNG_zTXt_SUPPORTED +/* end of options */ +/* settings */ +#define PNG_API_RULE 0 +#define PNG_COST_SHIFT 3 +#define PNG_DEFAULT_READ_MACROS 1 +#define PNG_GAMMA_THRESHOLD_FIXED 5000 +#define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE +#define PNG_INFLATE_BUF_SIZE 1024 +#define PNG_MAX_GAMMA_8 11 +#define PNG_QUANTIZE_BLUE_BITS 5 +#define PNG_QUANTIZE_GREEN_BITS 5 +#define PNG_QUANTIZE_RED_BITS 5 +#define PNG_TEXT_Z_DEFAULT_COMPRESSION (-1) +#define PNG_TEXT_Z_DEFAULT_STRATEGY 0 +#define PNG_WEIGHT_SHIFT 8 +#define PNG_ZBUF_SIZE 8192 +#define PNG_ZLIB_VERNUM 0x1280 +#define PNG_Z_DEFAULT_COMPRESSION (-1) +#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0 +#define PNG_Z_DEFAULT_STRATEGY 1 +#define PNG_sCAL_PRECISION 5 +#define PNG_sRGB_PROFILE_CHECKS 2 +/* end of settings */ +#endif /* PNGLCONF_H */ diff --git a/android/x86_64/include/uv/pthread-barrier.h b/android/x86_64/include/uv/pthread-barrier.h new file mode 100644 index 00000000..900ebedd --- /dev/null +++ b/android/x86_64/include/uv/pthread-barrier.h @@ -0,0 +1,68 @@ +/* +Copyright (c) 2016, Kari Tristan Helgason + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#ifndef _UV_PTHREAD_BARRIER_ +#define _UV_PTHREAD_BARRIER_ +#include +#include +#if !defined(__MVS__) +#include /* sem_t */ +#endif + +#define PTHREAD_BARRIER_SERIAL_THREAD 0x12345 + +/* + * To maintain ABI compatibility with + * libuv v1.x struct is padded according + * to target platform + */ +#if defined(__ANDROID__) +# define UV_BARRIER_STRUCT_PADDING \ + sizeof(pthread_mutex_t) + \ + sizeof(pthread_cond_t) + \ + sizeof(unsigned int) - \ + sizeof(void *) +#elif defined(__APPLE__) +# define UV_BARRIER_STRUCT_PADDING \ + sizeof(pthread_mutex_t) + \ + 2 * sizeof(sem_t) + \ + 2 * sizeof(unsigned int) - \ + sizeof(void *) +#else +# define UV_BARRIER_STRUCT_PADDING 0 +#endif + +typedef struct { + pthread_mutex_t mutex; + pthread_cond_t cond; + unsigned threshold; + unsigned in; + unsigned out; +} _uv_barrier; + +typedef struct { + _uv_barrier* b; + char _pad[UV_BARRIER_STRUCT_PADDING]; +} pthread_barrier_t; + +int pthread_barrier_init(pthread_barrier_t* barrier, + const void* barrier_attr, + unsigned count); + +int pthread_barrier_wait(pthread_barrier_t* barrier); +int pthread_barrier_destroy(pthread_barrier_t *barrier); + +#endif /* _UV_PTHREAD_BARRIER_ */ diff --git a/android/x86_64/include/uv/stdint-msvc2008.h b/android/x86_64/include/uv/stdint-msvc2008.h new file mode 100644 index 00000000..d02608a5 --- /dev/null +++ b/android/x86_64/include/uv/stdint-msvc2008.h @@ -0,0 +1,247 @@ +// ISO C9x compliant stdint.h for Microsoft Visual Studio +// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 +// +// Copyright (c) 2006-2008 Alexander Chemeris +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. The name of the author may be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _MSC_VER // [ +#error "Use this header only with Microsoft Visual C++ compilers!" +#endif // _MSC_VER ] + +#ifndef _MSC_STDINT_H_ // [ +#define _MSC_STDINT_H_ + +#if _MSC_VER > 1000 +#pragma once +#endif + +#include + +// For Visual Studio 6 in C++ mode and for many Visual Studio versions when +// compiling for ARM we should wrap include with 'extern "C++" {}' +// or compiler give many errors like this: +// error C2733: second C linkage of overloaded function 'wmemchr' not allowed +#ifdef __cplusplus +extern "C" { +#endif +# include +#ifdef __cplusplus +} +#endif + +// Define _W64 macros to mark types changing their size, like intptr_t. +#ifndef _W64 +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 +# define _W64 __w64 +# else +# define _W64 +# endif +#endif + + +// 7.18.1 Integer types + +// 7.18.1.1 Exact-width integer types + +// Visual Studio 6 and Embedded Visual C++ 4 doesn't +// realize that, e.g. char has the same size as __int8 +// so we give up on __intX for them. +#if (_MSC_VER < 1300) + typedef signed char int8_t; + typedef signed short int16_t; + typedef signed int int32_t; + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; + typedef unsigned int uint32_t; +#else + typedef signed __int8 int8_t; + typedef signed __int16 int16_t; + typedef signed __int32 int32_t; + typedef unsigned __int8 uint8_t; + typedef unsigned __int16 uint16_t; + typedef unsigned __int32 uint32_t; +#endif +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; + + +// 7.18.1.2 Minimum-width integer types +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef int64_t int_least64_t; +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +typedef uint64_t uint_least64_t; + +// 7.18.1.3 Fastest minimum-width integer types +typedef int8_t int_fast8_t; +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef int64_t int_fast64_t; +typedef uint8_t uint_fast8_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +typedef uint64_t uint_fast64_t; + +// 7.18.1.4 Integer types capable of holding object pointers +#ifdef _WIN64 // [ + typedef signed __int64 intptr_t; + typedef unsigned __int64 uintptr_t; +#else // _WIN64 ][ + typedef _W64 signed int intptr_t; + typedef _W64 unsigned int uintptr_t; +#endif // _WIN64 ] + +// 7.18.1.5 Greatest-width integer types +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; + + +// 7.18.2 Limits of specified-width integer types + +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259 + +// 7.18.2.1 Limits of exact-width integer types +#define INT8_MIN ((int8_t)_I8_MIN) +#define INT8_MAX _I8_MAX +#define INT16_MIN ((int16_t)_I16_MIN) +#define INT16_MAX _I16_MAX +#define INT32_MIN ((int32_t)_I32_MIN) +#define INT32_MAX _I32_MAX +#define INT64_MIN ((int64_t)_I64_MIN) +#define INT64_MAX _I64_MAX +#define UINT8_MAX _UI8_MAX +#define UINT16_MAX _UI16_MAX +#define UINT32_MAX _UI32_MAX +#define UINT64_MAX _UI64_MAX + +// 7.18.2.2 Limits of minimum-width integer types +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MIN INT64_MIN +#define INT_LEAST64_MAX INT64_MAX +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX + +// 7.18.2.3 Limits of fastest minimum-width integer types +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST16_MIN INT16_MIN +#define INT_FAST16_MAX INT16_MAX +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST32_MAX INT32_MAX +#define INT_FAST64_MIN INT64_MIN +#define INT_FAST64_MAX INT64_MAX +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST16_MAX UINT16_MAX +#define UINT_FAST32_MAX UINT32_MAX +#define UINT_FAST64_MAX UINT64_MAX + +// 7.18.2.4 Limits of integer types capable of holding object pointers +#ifdef _WIN64 // [ +# define INTPTR_MIN INT64_MIN +# define INTPTR_MAX INT64_MAX +# define UINTPTR_MAX UINT64_MAX +#else // _WIN64 ][ +# define INTPTR_MIN INT32_MIN +# define INTPTR_MAX INT32_MAX +# define UINTPTR_MAX UINT32_MAX +#endif // _WIN64 ] + +// 7.18.2.5 Limits of greatest-width integer types +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +// 7.18.3 Limits of other integer types + +#ifdef _WIN64 // [ +# define PTRDIFF_MIN _I64_MIN +# define PTRDIFF_MAX _I64_MAX +#else // _WIN64 ][ +# define PTRDIFF_MIN _I32_MIN +# define PTRDIFF_MAX _I32_MAX +#endif // _WIN64 ] + +#define SIG_ATOMIC_MIN INT_MIN +#define SIG_ATOMIC_MAX INT_MAX + +#ifndef SIZE_MAX // [ +# ifdef _WIN64 // [ +# define SIZE_MAX _UI64_MAX +# else // _WIN64 ][ +# define SIZE_MAX _UI32_MAX +# endif // _WIN64 ] +#endif // SIZE_MAX ] + +// WCHAR_MIN and WCHAR_MAX are also defined in +#ifndef WCHAR_MIN // [ +# define WCHAR_MIN 0 +#endif // WCHAR_MIN ] +#ifndef WCHAR_MAX // [ +# define WCHAR_MAX _UI16_MAX +#endif // WCHAR_MAX ] + +#define WINT_MIN 0 +#define WINT_MAX _UI16_MAX + +#endif // __STDC_LIMIT_MACROS ] + + +// 7.18.4 Limits of other integer types + +#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 + +// 7.18.4.1 Macros for minimum-width integer constants + +#define INT8_C(val) val##i8 +#define INT16_C(val) val##i16 +#define INT32_C(val) val##i32 +#define INT64_C(val) val##i64 + +#define UINT8_C(val) val##ui8 +#define UINT16_C(val) val##ui16 +#define UINT32_C(val) val##ui32 +#define UINT64_C(val) val##ui64 + +// 7.18.4.2 Macros for greatest-width integer constants +#define INTMAX_C INT64_C +#define UINTMAX_C UINT64_C + +#endif // __STDC_CONSTANT_MACROS ] + + +#endif // _MSC_STDINT_H_ ] diff --git a/android/x86_64/include/uv/tree.h b/android/x86_64/include/uv/tree.h new file mode 100644 index 00000000..f936416e --- /dev/null +++ b/android/x86_64/include/uv/tree.h @@ -0,0 +1,768 @@ +/*- + * Copyright 2002 Niels Provos + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef UV_TREE_H_ +#define UV_TREE_H_ + +#ifndef UV__UNUSED +# if __GNUC__ +# define UV__UNUSED __attribute__((unused)) +# else +# define UV__UNUSED +# endif +#endif + +/* + * This file defines data structures for different types of trees: + * splay trees and red-black trees. + * + * A splay tree is a self-organizing data structure. Every operation + * on the tree causes a splay to happen. The splay moves the requested + * node to the root of the tree and partly rebalances it. + * + * This has the benefit that request locality causes faster lookups as + * the requested nodes move to the top of the tree. On the other hand, + * every lookup causes memory writes. + * + * The Balance Theorem bounds the total access time for m operations + * and n inserts on an initially empty tree as O((m + n)lg n). The + * amortized cost for a sequence of m accesses to a splay tree is O(lg n); + * + * A red-black tree is a binary search tree with the node color as an + * extra attribute. It fulfills a set of conditions: + * - every search path from the root to a leaf consists of the + * same number of black nodes, + * - each red node (except for the root) has a black parent, + * - each leaf node is black. + * + * Every operation on a red-black tree is bounded as O(lg n). + * The maximum height of a red-black tree is 2lg (n+1). + */ + +#define SPLAY_HEAD(name, type) \ +struct name { \ + struct type *sph_root; /* root of the tree */ \ +} + +#define SPLAY_INITIALIZER(root) \ + { NULL } + +#define SPLAY_INIT(root) do { \ + (root)->sph_root = NULL; \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_ENTRY(type) \ +struct { \ + struct type *spe_left; /* left element */ \ + struct type *spe_right; /* right element */ \ +} + +#define SPLAY_LEFT(elm, field) (elm)->field.spe_left +#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right +#define SPLAY_ROOT(head) (head)->sph_root +#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL) + +/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */ +#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \ + SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \ + SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ + (head)->sph_root = tmp; \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \ + SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \ + SPLAY_LEFT(tmp, field) = (head)->sph_root; \ + (head)->sph_root = tmp; \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_LINKLEFT(head, tmp, field) do { \ + SPLAY_LEFT(tmp, field) = (head)->sph_root; \ + tmp = (head)->sph_root; \ + (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_LINKRIGHT(head, tmp, field) do { \ + SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ + tmp = (head)->sph_root; \ + (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \ + SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \ + SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field); \ + SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \ + SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \ +} while (/*CONSTCOND*/ 0) + +/* Generates prototypes and inline functions */ + +#define SPLAY_PROTOTYPE(name, type, field, cmp) \ +void name##_SPLAY(struct name *, struct type *); \ +void name##_SPLAY_MINMAX(struct name *, int); \ +struct type *name##_SPLAY_INSERT(struct name *, struct type *); \ +struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \ + \ +/* Finds the node with the same key as elm */ \ +static __inline struct type * \ +name##_SPLAY_FIND(struct name *head, struct type *elm) \ +{ \ + if (SPLAY_EMPTY(head)) \ + return(NULL); \ + name##_SPLAY(head, elm); \ + if ((cmp)(elm, (head)->sph_root) == 0) \ + return (head->sph_root); \ + return (NULL); \ +} \ + \ +static __inline struct type * \ +name##_SPLAY_NEXT(struct name *head, struct type *elm) \ +{ \ + name##_SPLAY(head, elm); \ + if (SPLAY_RIGHT(elm, field) != NULL) { \ + elm = SPLAY_RIGHT(elm, field); \ + while (SPLAY_LEFT(elm, field) != NULL) { \ + elm = SPLAY_LEFT(elm, field); \ + } \ + } else \ + elm = NULL; \ + return (elm); \ +} \ + \ +static __inline struct type * \ +name##_SPLAY_MIN_MAX(struct name *head, int val) \ +{ \ + name##_SPLAY_MINMAX(head, val); \ + return (SPLAY_ROOT(head)); \ +} + +/* Main splay operation. + * Moves node close to the key of elm to top + */ +#define SPLAY_GENERATE(name, type, field, cmp) \ +struct type * \ +name##_SPLAY_INSERT(struct name *head, struct type *elm) \ +{ \ + if (SPLAY_EMPTY(head)) { \ + SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \ + } else { \ + int __comp; \ + name##_SPLAY(head, elm); \ + __comp = (cmp)(elm, (head)->sph_root); \ + if(__comp < 0) { \ + SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field); \ + SPLAY_RIGHT(elm, field) = (head)->sph_root; \ + SPLAY_LEFT((head)->sph_root, field) = NULL; \ + } else if (__comp > 0) { \ + SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field); \ + SPLAY_LEFT(elm, field) = (head)->sph_root; \ + SPLAY_RIGHT((head)->sph_root, field) = NULL; \ + } else \ + return ((head)->sph_root); \ + } \ + (head)->sph_root = (elm); \ + return (NULL); \ +} \ + \ +struct type * \ +name##_SPLAY_REMOVE(struct name *head, struct type *elm) \ +{ \ + struct type *__tmp; \ + if (SPLAY_EMPTY(head)) \ + return (NULL); \ + name##_SPLAY(head, elm); \ + if ((cmp)(elm, (head)->sph_root) == 0) { \ + if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \ + (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \ + } else { \ + __tmp = SPLAY_RIGHT((head)->sph_root, field); \ + (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \ + name##_SPLAY(head, elm); \ + SPLAY_RIGHT((head)->sph_root, field) = __tmp; \ + } \ + return (elm); \ + } \ + return (NULL); \ +} \ + \ +void \ +name##_SPLAY(struct name *head, struct type *elm) \ +{ \ + struct type __node, *__left, *__right, *__tmp; \ + int __comp; \ + \ + SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL; \ + __left = __right = &__node; \ + \ + while ((__comp = (cmp)(elm, (head)->sph_root)) != 0) { \ + if (__comp < 0) { \ + __tmp = SPLAY_LEFT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if ((cmp)(elm, __tmp) < 0){ \ + SPLAY_ROTATE_RIGHT(head, __tmp, field); \ + if (SPLAY_LEFT((head)->sph_root, field) == NULL) \ + break; \ + } \ + SPLAY_LINKLEFT(head, __right, field); \ + } else if (__comp > 0) { \ + __tmp = SPLAY_RIGHT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if ((cmp)(elm, __tmp) > 0){ \ + SPLAY_ROTATE_LEFT(head, __tmp, field); \ + if (SPLAY_RIGHT((head)->sph_root, field) == NULL) \ + break; \ + } \ + SPLAY_LINKRIGHT(head, __left, field); \ + } \ + } \ + SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ +} \ + \ +/* Splay with either the minimum or the maximum element \ + * Used to find minimum or maximum element in tree. \ + */ \ +void name##_SPLAY_MINMAX(struct name *head, int __comp) \ +{ \ + struct type __node, *__left, *__right, *__tmp; \ + \ + SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL; \ + __left = __right = &__node; \ + \ + while (1) { \ + if (__comp < 0) { \ + __tmp = SPLAY_LEFT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if (__comp < 0){ \ + SPLAY_ROTATE_RIGHT(head, __tmp, field); \ + if (SPLAY_LEFT((head)->sph_root, field) == NULL) \ + break; \ + } \ + SPLAY_LINKLEFT(head, __right, field); \ + } else if (__comp > 0) { \ + __tmp = SPLAY_RIGHT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if (__comp > 0) { \ + SPLAY_ROTATE_LEFT(head, __tmp, field); \ + if (SPLAY_RIGHT((head)->sph_root, field) == NULL) \ + break; \ + } \ + SPLAY_LINKRIGHT(head, __left, field); \ + } \ + } \ + SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ +} + +#define SPLAY_NEGINF -1 +#define SPLAY_INF 1 + +#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y) +#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y) +#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y) +#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y) +#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \ + : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF)) +#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \ + : name##_SPLAY_MIN_MAX(x, SPLAY_INF)) + +#define SPLAY_FOREACH(x, name, head) \ + for ((x) = SPLAY_MIN(name, head); \ + (x) != NULL; \ + (x) = SPLAY_NEXT(name, head, x)) + +/* Macros that define a red-black tree */ +#define RB_HEAD(name, type) \ +struct name { \ + struct type *rbh_root; /* root of the tree */ \ +} + +#define RB_INITIALIZER(root) \ + { NULL } + +#define RB_INIT(root) do { \ + (root)->rbh_root = NULL; \ +} while (/*CONSTCOND*/ 0) + +#define RB_BLACK 0 +#define RB_RED 1 +#define RB_ENTRY(type) \ +struct { \ + struct type *rbe_left; /* left element */ \ + struct type *rbe_right; /* right element */ \ + struct type *rbe_parent; /* parent element */ \ + int rbe_color; /* node color */ \ +} + +#define RB_LEFT(elm, field) (elm)->field.rbe_left +#define RB_RIGHT(elm, field) (elm)->field.rbe_right +#define RB_PARENT(elm, field) (elm)->field.rbe_parent +#define RB_COLOR(elm, field) (elm)->field.rbe_color +#define RB_ROOT(head) (head)->rbh_root +#define RB_EMPTY(head) (RB_ROOT(head) == NULL) + +#define RB_SET(elm, parent, field) do { \ + RB_PARENT(elm, field) = parent; \ + RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \ + RB_COLOR(elm, field) = RB_RED; \ +} while (/*CONSTCOND*/ 0) + +#define RB_SET_BLACKRED(black, red, field) do { \ + RB_COLOR(black, field) = RB_BLACK; \ + RB_COLOR(red, field) = RB_RED; \ +} while (/*CONSTCOND*/ 0) + +#ifndef RB_AUGMENT +#define RB_AUGMENT(x) do {} while (0) +#endif + +#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \ + (tmp) = RB_RIGHT(elm, field); \ + if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field)) != NULL) { \ + RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \ + } \ + RB_AUGMENT(elm); \ + if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field)) != NULL) { \ + if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ + RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ + else \ + RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ + } else \ + (head)->rbh_root = (tmp); \ + RB_LEFT(tmp, field) = (elm); \ + RB_PARENT(elm, field) = (tmp); \ + RB_AUGMENT(tmp); \ + if ((RB_PARENT(tmp, field))) \ + RB_AUGMENT(RB_PARENT(tmp, field)); \ +} while (/*CONSTCOND*/ 0) + +#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \ + (tmp) = RB_LEFT(elm, field); \ + if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field)) != NULL) { \ + RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \ + } \ + RB_AUGMENT(elm); \ + if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field)) != NULL) { \ + if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ + RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ + else \ + RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ + } else \ + (head)->rbh_root = (tmp); \ + RB_RIGHT(tmp, field) = (elm); \ + RB_PARENT(elm, field) = (tmp); \ + RB_AUGMENT(tmp); \ + if ((RB_PARENT(tmp, field))) \ + RB_AUGMENT(RB_PARENT(tmp, field)); \ +} while (/*CONSTCOND*/ 0) + +/* Generates prototypes and inline functions */ +#define RB_PROTOTYPE(name, type, field, cmp) \ + RB_PROTOTYPE_INTERNAL(name, type, field, cmp,) +#define RB_PROTOTYPE_STATIC(name, type, field, cmp) \ + RB_PROTOTYPE_INTERNAL(name, type, field, cmp, UV__UNUSED static) +#define RB_PROTOTYPE_INTERNAL(name, type, field, cmp, attr) \ +attr void name##_RB_INSERT_COLOR(struct name *, struct type *); \ +attr void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\ +attr struct type *name##_RB_REMOVE(struct name *, struct type *); \ +attr struct type *name##_RB_INSERT(struct name *, struct type *); \ +attr struct type *name##_RB_FIND(struct name *, struct type *); \ +attr struct type *name##_RB_NFIND(struct name *, struct type *); \ +attr struct type *name##_RB_NEXT(struct type *); \ +attr struct type *name##_RB_PREV(struct type *); \ +attr struct type *name##_RB_MINMAX(struct name *, int); \ + \ + +/* Main rb operation. + * Moves node close to the key of elm to top + */ +#define RB_GENERATE(name, type, field, cmp) \ + RB_GENERATE_INTERNAL(name, type, field, cmp,) +#define RB_GENERATE_STATIC(name, type, field, cmp) \ + RB_GENERATE_INTERNAL(name, type, field, cmp, UV__UNUSED static) +#define RB_GENERATE_INTERNAL(name, type, field, cmp, attr) \ +attr void \ +name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \ +{ \ + struct type *parent, *gparent, *tmp; \ + while ((parent = RB_PARENT(elm, field)) != NULL && \ + RB_COLOR(parent, field) == RB_RED) { \ + gparent = RB_PARENT(parent, field); \ + if (parent == RB_LEFT(gparent, field)) { \ + tmp = RB_RIGHT(gparent, field); \ + if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ + RB_COLOR(tmp, field) = RB_BLACK; \ + RB_SET_BLACKRED(parent, gparent, field); \ + elm = gparent; \ + continue; \ + } \ + if (RB_RIGHT(parent, field) == elm) { \ + RB_ROTATE_LEFT(head, parent, tmp, field); \ + tmp = parent; \ + parent = elm; \ + elm = tmp; \ + } \ + RB_SET_BLACKRED(parent, gparent, field); \ + RB_ROTATE_RIGHT(head, gparent, tmp, field); \ + } else { \ + tmp = RB_LEFT(gparent, field); \ + if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ + RB_COLOR(tmp, field) = RB_BLACK; \ + RB_SET_BLACKRED(parent, gparent, field); \ + elm = gparent; \ + continue; \ + } \ + if (RB_LEFT(parent, field) == elm) { \ + RB_ROTATE_RIGHT(head, parent, tmp, field); \ + tmp = parent; \ + parent = elm; \ + elm = tmp; \ + } \ + RB_SET_BLACKRED(parent, gparent, field); \ + RB_ROTATE_LEFT(head, gparent, tmp, field); \ + } \ + } \ + RB_COLOR(head->rbh_root, field) = RB_BLACK; \ +} \ + \ +attr void \ +name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, \ + struct type *elm) \ +{ \ + struct type *tmp; \ + while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \ + elm != RB_ROOT(head)) { \ + if (RB_LEFT(parent, field) == elm) { \ + tmp = RB_RIGHT(parent, field); \ + if (RB_COLOR(tmp, field) == RB_RED) { \ + RB_SET_BLACKRED(tmp, parent, field); \ + RB_ROTATE_LEFT(head, parent, tmp, field); \ + tmp = RB_RIGHT(parent, field); \ + } \ + if ((RB_LEFT(tmp, field) == NULL || \ + RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) && \ + (RB_RIGHT(tmp, field) == NULL || \ + RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) { \ + RB_COLOR(tmp, field) = RB_RED; \ + elm = parent; \ + parent = RB_PARENT(elm, field); \ + } else { \ + if (RB_RIGHT(tmp, field) == NULL || \ + RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) { \ + struct type *oleft; \ + if ((oleft = RB_LEFT(tmp, field)) \ + != NULL) \ + RB_COLOR(oleft, field) = RB_BLACK; \ + RB_COLOR(tmp, field) = RB_RED; \ + RB_ROTATE_RIGHT(head, tmp, oleft, field); \ + tmp = RB_RIGHT(parent, field); \ + } \ + RB_COLOR(tmp, field) = RB_COLOR(parent, field); \ + RB_COLOR(parent, field) = RB_BLACK; \ + if (RB_RIGHT(tmp, field)) \ + RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK; \ + RB_ROTATE_LEFT(head, parent, tmp, field); \ + elm = RB_ROOT(head); \ + break; \ + } \ + } else { \ + tmp = RB_LEFT(parent, field); \ + if (RB_COLOR(tmp, field) == RB_RED) { \ + RB_SET_BLACKRED(tmp, parent, field); \ + RB_ROTATE_RIGHT(head, parent, tmp, field); \ + tmp = RB_LEFT(parent, field); \ + } \ + if ((RB_LEFT(tmp, field) == NULL || \ + RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) && \ + (RB_RIGHT(tmp, field) == NULL || \ + RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) { \ + RB_COLOR(tmp, field) = RB_RED; \ + elm = parent; \ + parent = RB_PARENT(elm, field); \ + } else { \ + if (RB_LEFT(tmp, field) == NULL || \ + RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) { \ + struct type *oright; \ + if ((oright = RB_RIGHT(tmp, field)) \ + != NULL) \ + RB_COLOR(oright, field) = RB_BLACK; \ + RB_COLOR(tmp, field) = RB_RED; \ + RB_ROTATE_LEFT(head, tmp, oright, field); \ + tmp = RB_LEFT(parent, field); \ + } \ + RB_COLOR(tmp, field) = RB_COLOR(parent, field); \ + RB_COLOR(parent, field) = RB_BLACK; \ + if (RB_LEFT(tmp, field)) \ + RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK; \ + RB_ROTATE_RIGHT(head, parent, tmp, field); \ + elm = RB_ROOT(head); \ + break; \ + } \ + } \ + } \ + if (elm) \ + RB_COLOR(elm, field) = RB_BLACK; \ +} \ + \ +attr struct type * \ +name##_RB_REMOVE(struct name *head, struct type *elm) \ +{ \ + struct type *child, *parent, *old = elm; \ + int color; \ + if (RB_LEFT(elm, field) == NULL) \ + child = RB_RIGHT(elm, field); \ + else if (RB_RIGHT(elm, field) == NULL) \ + child = RB_LEFT(elm, field); \ + else { \ + struct type *left; \ + elm = RB_RIGHT(elm, field); \ + while ((left = RB_LEFT(elm, field)) != NULL) \ + elm = left; \ + child = RB_RIGHT(elm, field); \ + parent = RB_PARENT(elm, field); \ + color = RB_COLOR(elm, field); \ + if (child) \ + RB_PARENT(child, field) = parent; \ + if (parent) { \ + if (RB_LEFT(parent, field) == elm) \ + RB_LEFT(parent, field) = child; \ + else \ + RB_RIGHT(parent, field) = child; \ + RB_AUGMENT(parent); \ + } else \ + RB_ROOT(head) = child; \ + if (RB_PARENT(elm, field) == old) \ + parent = elm; \ + (elm)->field = (old)->field; \ + if (RB_PARENT(old, field)) { \ + if (RB_LEFT(RB_PARENT(old, field), field) == old) \ + RB_LEFT(RB_PARENT(old, field), field) = elm; \ + else \ + RB_RIGHT(RB_PARENT(old, field), field) = elm; \ + RB_AUGMENT(RB_PARENT(old, field)); \ + } else \ + RB_ROOT(head) = elm; \ + RB_PARENT(RB_LEFT(old, field), field) = elm; \ + if (RB_RIGHT(old, field)) \ + RB_PARENT(RB_RIGHT(old, field), field) = elm; \ + if (parent) { \ + left = parent; \ + do { \ + RB_AUGMENT(left); \ + } while ((left = RB_PARENT(left, field)) != NULL); \ + } \ + goto color; \ + } \ + parent = RB_PARENT(elm, field); \ + color = RB_COLOR(elm, field); \ + if (child) \ + RB_PARENT(child, field) = parent; \ + if (parent) { \ + if (RB_LEFT(parent, field) == elm) \ + RB_LEFT(parent, field) = child; \ + else \ + RB_RIGHT(parent, field) = child; \ + RB_AUGMENT(parent); \ + } else \ + RB_ROOT(head) = child; \ +color: \ + if (color == RB_BLACK) \ + name##_RB_REMOVE_COLOR(head, parent, child); \ + return (old); \ +} \ + \ +/* Inserts a node into the RB tree */ \ +attr struct type * \ +name##_RB_INSERT(struct name *head, struct type *elm) \ +{ \ + struct type *tmp; \ + struct type *parent = NULL; \ + int comp = 0; \ + tmp = RB_ROOT(head); \ + while (tmp) { \ + parent = tmp; \ + comp = (cmp)(elm, parent); \ + if (comp < 0) \ + tmp = RB_LEFT(tmp, field); \ + else if (comp > 0) \ + tmp = RB_RIGHT(tmp, field); \ + else \ + return (tmp); \ + } \ + RB_SET(elm, parent, field); \ + if (parent != NULL) { \ + if (comp < 0) \ + RB_LEFT(parent, field) = elm; \ + else \ + RB_RIGHT(parent, field) = elm; \ + RB_AUGMENT(parent); \ + } else \ + RB_ROOT(head) = elm; \ + name##_RB_INSERT_COLOR(head, elm); \ + return (NULL); \ +} \ + \ +/* Finds the node with the same key as elm */ \ +attr struct type * \ +name##_RB_FIND(struct name *head, struct type *elm) \ +{ \ + struct type *tmp = RB_ROOT(head); \ + int comp; \ + while (tmp) { \ + comp = cmp(elm, tmp); \ + if (comp < 0) \ + tmp = RB_LEFT(tmp, field); \ + else if (comp > 0) \ + tmp = RB_RIGHT(tmp, field); \ + else \ + return (tmp); \ + } \ + return (NULL); \ +} \ + \ +/* Finds the first node greater than or equal to the search key */ \ +attr struct type * \ +name##_RB_NFIND(struct name *head, struct type *elm) \ +{ \ + struct type *tmp = RB_ROOT(head); \ + struct type *res = NULL; \ + int comp; \ + while (tmp) { \ + comp = cmp(elm, tmp); \ + if (comp < 0) { \ + res = tmp; \ + tmp = RB_LEFT(tmp, field); \ + } \ + else if (comp > 0) \ + tmp = RB_RIGHT(tmp, field); \ + else \ + return (tmp); \ + } \ + return (res); \ +} \ + \ +/* ARGSUSED */ \ +attr struct type * \ +name##_RB_NEXT(struct type *elm) \ +{ \ + if (RB_RIGHT(elm, field)) { \ + elm = RB_RIGHT(elm, field); \ + while (RB_LEFT(elm, field)) \ + elm = RB_LEFT(elm, field); \ + } else { \ + if (RB_PARENT(elm, field) && \ + (elm == RB_LEFT(RB_PARENT(elm, field), field))) \ + elm = RB_PARENT(elm, field); \ + else { \ + while (RB_PARENT(elm, field) && \ + (elm == RB_RIGHT(RB_PARENT(elm, field), field))) \ + elm = RB_PARENT(elm, field); \ + elm = RB_PARENT(elm, field); \ + } \ + } \ + return (elm); \ +} \ + \ +/* ARGSUSED */ \ +attr struct type * \ +name##_RB_PREV(struct type *elm) \ +{ \ + if (RB_LEFT(elm, field)) { \ + elm = RB_LEFT(elm, field); \ + while (RB_RIGHT(elm, field)) \ + elm = RB_RIGHT(elm, field); \ + } else { \ + if (RB_PARENT(elm, field) && \ + (elm == RB_RIGHT(RB_PARENT(elm, field), field))) \ + elm = RB_PARENT(elm, field); \ + else { \ + while (RB_PARENT(elm, field) && \ + (elm == RB_LEFT(RB_PARENT(elm, field), field))) \ + elm = RB_PARENT(elm, field); \ + elm = RB_PARENT(elm, field); \ + } \ + } \ + return (elm); \ +} \ + \ +attr struct type * \ +name##_RB_MINMAX(struct name *head, int val) \ +{ \ + struct type *tmp = RB_ROOT(head); \ + struct type *parent = NULL; \ + while (tmp) { \ + parent = tmp; \ + if (val < 0) \ + tmp = RB_LEFT(tmp, field); \ + else \ + tmp = RB_RIGHT(tmp, field); \ + } \ + return (parent); \ +} + +#define RB_NEGINF -1 +#define RB_INF 1 + +#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) +#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) +#define RB_FIND(name, x, y) name##_RB_FIND(x, y) +#define RB_NFIND(name, x, y) name##_RB_NFIND(x, y) +#define RB_NEXT(name, x, y) name##_RB_NEXT(y) +#define RB_PREV(name, x, y) name##_RB_PREV(y) +#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) +#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) + +#define RB_FOREACH(x, name, head) \ + for ((x) = RB_MIN(name, head); \ + (x) != NULL; \ + (x) = name##_RB_NEXT(x)) + +#define RB_FOREACH_FROM(x, name, y) \ + for ((x) = (y); \ + ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_SAFE(x, name, head, y) \ + for ((x) = RB_MIN(name, head); \ + ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_REVERSE(x, name, head) \ + for ((x) = RB_MAX(name, head); \ + (x) != NULL; \ + (x) = name##_RB_PREV(x)) + +#define RB_FOREACH_REVERSE_FROM(x, name, y) \ + for ((x) = (y); \ + ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_REVERSE_SAFE(x, name, head, y) \ + for ((x) = RB_MAX(name, head); \ + ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \ + (x) = (y)) + +#endif /* UV_TREE_H_ */ diff --git a/android/x86_64/include/uv/uv-aix.h b/android/x86_64/include/uv/uv-aix.h new file mode 100644 index 00000000..7dc992fa --- /dev/null +++ b/android/x86_64/include/uv/uv-aix.h @@ -0,0 +1,32 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_AIX_H +#define UV_AIX_H + +#define UV_PLATFORM_LOOP_FIELDS \ + int fs_fd; \ + +#define UV_PLATFORM_FS_EVENT_FIELDS \ + uv__io_t event_watcher; \ + char *dir_filename; \ + +#endif /* UV_AIX_H */ diff --git a/android/x86_64/include/uv/uv-bsd.h b/android/x86_64/include/uv/uv-bsd.h new file mode 100644 index 00000000..2d72b3d7 --- /dev/null +++ b/android/x86_64/include/uv/uv-bsd.h @@ -0,0 +1,34 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_BSD_H +#define UV_BSD_H + +#define UV_PLATFORM_FS_EVENT_FIELDS \ + uv__io_t event_watcher; \ + +#define UV_IO_PRIVATE_PLATFORM_FIELDS \ + int rcount; \ + int wcount; \ + +#define UV_HAVE_KQUEUE 1 + +#endif /* UV_BSD_H */ diff --git a/android/x86_64/include/uv/uv-darwin.h b/android/x86_64/include/uv/uv-darwin.h new file mode 100644 index 00000000..d2264158 --- /dev/null +++ b/android/x86_64/include/uv/uv-darwin.h @@ -0,0 +1,61 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_DARWIN_H +#define UV_DARWIN_H + +#if defined(__APPLE__) && defined(__MACH__) +# include +# include +# include +# include +# define UV_PLATFORM_SEM_T semaphore_t +#endif + +#define UV_IO_PRIVATE_PLATFORM_FIELDS \ + int rcount; \ + int wcount; \ + +#define UV_PLATFORM_LOOP_FIELDS \ + uv_thread_t cf_thread; \ + void* _cf_reserved; \ + void* cf_state; \ + uv_mutex_t cf_mutex; \ + uv_sem_t cf_sem; \ + void* cf_signals[2]; \ + +#define UV_PLATFORM_FS_EVENT_FIELDS \ + uv__io_t event_watcher; \ + char* realpath; \ + int realpath_len; \ + int cf_flags; \ + uv_async_t* cf_cb; \ + void* cf_events[2]; \ + void* cf_member[2]; \ + int cf_error; \ + uv_mutex_t cf_mutex; \ + +#define UV_STREAM_PRIVATE_PLATFORM_FIELDS \ + void* select; \ + +#define UV_HAVE_KQUEUE 1 + +#endif /* UV_DARWIN_H */ diff --git a/android/x86_64/include/uv/uv-errno.h b/android/x86_64/include/uv/uv-errno.h new file mode 100644 index 00000000..f1371517 --- /dev/null +++ b/android/x86_64/include/uv/uv-errno.h @@ -0,0 +1,419 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_ERRNO_H_ +#define UV_ERRNO_H_ + +#include + +#define UV__EOF (-4095) +#define UV__UNKNOWN (-4094) + +#define UV__EAI_ADDRFAMILY (-3000) +#define UV__EAI_AGAIN (-3001) +#define UV__EAI_BADFLAGS (-3002) +#define UV__EAI_CANCELED (-3003) +#define UV__EAI_FAIL (-3004) +#define UV__EAI_FAMILY (-3005) +#define UV__EAI_MEMORY (-3006) +#define UV__EAI_NODATA (-3007) +#define UV__EAI_NONAME (-3008) +#define UV__EAI_OVERFLOW (-3009) +#define UV__EAI_SERVICE (-3010) +#define UV__EAI_SOCKTYPE (-3011) +#define UV__EAI_BADHINTS (-3013) +#define UV__EAI_PROTOCOL (-3014) + +/* Only map to the system errno on non-Windows platforms. It's apparently + * a fairly common practice for Windows programmers to redefine errno codes. + */ +#if defined(E2BIG) && !defined(_WIN32) +# define UV__E2BIG (-E2BIG) +#else +# define UV__E2BIG (-4093) +#endif + +#if defined(EACCES) && !defined(_WIN32) +# define UV__EACCES (-EACCES) +#else +# define UV__EACCES (-4092) +#endif + +#if defined(EADDRINUSE) && !defined(_WIN32) +# define UV__EADDRINUSE (-EADDRINUSE) +#else +# define UV__EADDRINUSE (-4091) +#endif + +#if defined(EADDRNOTAVAIL) && !defined(_WIN32) +# define UV__EADDRNOTAVAIL (-EADDRNOTAVAIL) +#else +# define UV__EADDRNOTAVAIL (-4090) +#endif + +#if defined(EAFNOSUPPORT) && !defined(_WIN32) +# define UV__EAFNOSUPPORT (-EAFNOSUPPORT) +#else +# define UV__EAFNOSUPPORT (-4089) +#endif + +#if defined(EAGAIN) && !defined(_WIN32) +# define UV__EAGAIN (-EAGAIN) +#else +# define UV__EAGAIN (-4088) +#endif + +#if defined(EALREADY) && !defined(_WIN32) +# define UV__EALREADY (-EALREADY) +#else +# define UV__EALREADY (-4084) +#endif + +#if defined(EBADF) && !defined(_WIN32) +# define UV__EBADF (-EBADF) +#else +# define UV__EBADF (-4083) +#endif + +#if defined(EBUSY) && !defined(_WIN32) +# define UV__EBUSY (-EBUSY) +#else +# define UV__EBUSY (-4082) +#endif + +#if defined(ECANCELED) && !defined(_WIN32) +# define UV__ECANCELED (-ECANCELED) +#else +# define UV__ECANCELED (-4081) +#endif + +#if defined(ECHARSET) && !defined(_WIN32) +# define UV__ECHARSET (-ECHARSET) +#else +# define UV__ECHARSET (-4080) +#endif + +#if defined(ECONNABORTED) && !defined(_WIN32) +# define UV__ECONNABORTED (-ECONNABORTED) +#else +# define UV__ECONNABORTED (-4079) +#endif + +#if defined(ECONNREFUSED) && !defined(_WIN32) +# define UV__ECONNREFUSED (-ECONNREFUSED) +#else +# define UV__ECONNREFUSED (-4078) +#endif + +#if defined(ECONNRESET) && !defined(_WIN32) +# define UV__ECONNRESET (-ECONNRESET) +#else +# define UV__ECONNRESET (-4077) +#endif + +#if defined(EDESTADDRREQ) && !defined(_WIN32) +# define UV__EDESTADDRREQ (-EDESTADDRREQ) +#else +# define UV__EDESTADDRREQ (-4076) +#endif + +#if defined(EEXIST) && !defined(_WIN32) +# define UV__EEXIST (-EEXIST) +#else +# define UV__EEXIST (-4075) +#endif + +#if defined(EFAULT) && !defined(_WIN32) +# define UV__EFAULT (-EFAULT) +#else +# define UV__EFAULT (-4074) +#endif + +#if defined(EHOSTUNREACH) && !defined(_WIN32) +# define UV__EHOSTUNREACH (-EHOSTUNREACH) +#else +# define UV__EHOSTUNREACH (-4073) +#endif + +#if defined(EINTR) && !defined(_WIN32) +# define UV__EINTR (-EINTR) +#else +# define UV__EINTR (-4072) +#endif + +#if defined(EINVAL) && !defined(_WIN32) +# define UV__EINVAL (-EINVAL) +#else +# define UV__EINVAL (-4071) +#endif + +#if defined(EIO) && !defined(_WIN32) +# define UV__EIO (-EIO) +#else +# define UV__EIO (-4070) +#endif + +#if defined(EISCONN) && !defined(_WIN32) +# define UV__EISCONN (-EISCONN) +#else +# define UV__EISCONN (-4069) +#endif + +#if defined(EISDIR) && !defined(_WIN32) +# define UV__EISDIR (-EISDIR) +#else +# define UV__EISDIR (-4068) +#endif + +#if defined(ELOOP) && !defined(_WIN32) +# define UV__ELOOP (-ELOOP) +#else +# define UV__ELOOP (-4067) +#endif + +#if defined(EMFILE) && !defined(_WIN32) +# define UV__EMFILE (-EMFILE) +#else +# define UV__EMFILE (-4066) +#endif + +#if defined(EMSGSIZE) && !defined(_WIN32) +# define UV__EMSGSIZE (-EMSGSIZE) +#else +# define UV__EMSGSIZE (-4065) +#endif + +#if defined(ENAMETOOLONG) && !defined(_WIN32) +# define UV__ENAMETOOLONG (-ENAMETOOLONG) +#else +# define UV__ENAMETOOLONG (-4064) +#endif + +#if defined(ENETDOWN) && !defined(_WIN32) +# define UV__ENETDOWN (-ENETDOWN) +#else +# define UV__ENETDOWN (-4063) +#endif + +#if defined(ENETUNREACH) && !defined(_WIN32) +# define UV__ENETUNREACH (-ENETUNREACH) +#else +# define UV__ENETUNREACH (-4062) +#endif + +#if defined(ENFILE) && !defined(_WIN32) +# define UV__ENFILE (-ENFILE) +#else +# define UV__ENFILE (-4061) +#endif + +#if defined(ENOBUFS) && !defined(_WIN32) +# define UV__ENOBUFS (-ENOBUFS) +#else +# define UV__ENOBUFS (-4060) +#endif + +#if defined(ENODEV) && !defined(_WIN32) +# define UV__ENODEV (-ENODEV) +#else +# define UV__ENODEV (-4059) +#endif + +#if defined(ENOENT) && !defined(_WIN32) +# define UV__ENOENT (-ENOENT) +#else +# define UV__ENOENT (-4058) +#endif + +#if defined(ENOMEM) && !defined(_WIN32) +# define UV__ENOMEM (-ENOMEM) +#else +# define UV__ENOMEM (-4057) +#endif + +#if defined(ENONET) && !defined(_WIN32) +# define UV__ENONET (-ENONET) +#else +# define UV__ENONET (-4056) +#endif + +#if defined(ENOSPC) && !defined(_WIN32) +# define UV__ENOSPC (-ENOSPC) +#else +# define UV__ENOSPC (-4055) +#endif + +#if defined(ENOSYS) && !defined(_WIN32) +# define UV__ENOSYS (-ENOSYS) +#else +# define UV__ENOSYS (-4054) +#endif + +#if defined(ENOTCONN) && !defined(_WIN32) +# define UV__ENOTCONN (-ENOTCONN) +#else +# define UV__ENOTCONN (-4053) +#endif + +#if defined(ENOTDIR) && !defined(_WIN32) +# define UV__ENOTDIR (-ENOTDIR) +#else +# define UV__ENOTDIR (-4052) +#endif + +#if defined(ENOTEMPTY) && !defined(_WIN32) +# define UV__ENOTEMPTY (-ENOTEMPTY) +#else +# define UV__ENOTEMPTY (-4051) +#endif + +#if defined(ENOTSOCK) && !defined(_WIN32) +# define UV__ENOTSOCK (-ENOTSOCK) +#else +# define UV__ENOTSOCK (-4050) +#endif + +#if defined(ENOTSUP) && !defined(_WIN32) +# define UV__ENOTSUP (-ENOTSUP) +#else +# define UV__ENOTSUP (-4049) +#endif + +#if defined(EPERM) && !defined(_WIN32) +# define UV__EPERM (-EPERM) +#else +# define UV__EPERM (-4048) +#endif + +#if defined(EPIPE) && !defined(_WIN32) +# define UV__EPIPE (-EPIPE) +#else +# define UV__EPIPE (-4047) +#endif + +#if defined(EPROTO) && !defined(_WIN32) +# define UV__EPROTO (-EPROTO) +#else +# define UV__EPROTO (-4046) +#endif + +#if defined(EPROTONOSUPPORT) && !defined(_WIN32) +# define UV__EPROTONOSUPPORT (-EPROTONOSUPPORT) +#else +# define UV__EPROTONOSUPPORT (-4045) +#endif + +#if defined(EPROTOTYPE) && !defined(_WIN32) +# define UV__EPROTOTYPE (-EPROTOTYPE) +#else +# define UV__EPROTOTYPE (-4044) +#endif + +#if defined(EROFS) && !defined(_WIN32) +# define UV__EROFS (-EROFS) +#else +# define UV__EROFS (-4043) +#endif + +#if defined(ESHUTDOWN) && !defined(_WIN32) +# define UV__ESHUTDOWN (-ESHUTDOWN) +#else +# define UV__ESHUTDOWN (-4042) +#endif + +#if defined(ESPIPE) && !defined(_WIN32) +# define UV__ESPIPE (-ESPIPE) +#else +# define UV__ESPIPE (-4041) +#endif + +#if defined(ESRCH) && !defined(_WIN32) +# define UV__ESRCH (-ESRCH) +#else +# define UV__ESRCH (-4040) +#endif + +#if defined(ETIMEDOUT) && !defined(_WIN32) +# define UV__ETIMEDOUT (-ETIMEDOUT) +#else +# define UV__ETIMEDOUT (-4039) +#endif + +#if defined(ETXTBSY) && !defined(_WIN32) +# define UV__ETXTBSY (-ETXTBSY) +#else +# define UV__ETXTBSY (-4038) +#endif + +#if defined(EXDEV) && !defined(_WIN32) +# define UV__EXDEV (-EXDEV) +#else +# define UV__EXDEV (-4037) +#endif + +#if defined(EFBIG) && !defined(_WIN32) +# define UV__EFBIG (-EFBIG) +#else +# define UV__EFBIG (-4036) +#endif + +#if defined(ENOPROTOOPT) && !defined(_WIN32) +# define UV__ENOPROTOOPT (-ENOPROTOOPT) +#else +# define UV__ENOPROTOOPT (-4035) +#endif + +#if defined(ERANGE) && !defined(_WIN32) +# define UV__ERANGE (-ERANGE) +#else +# define UV__ERANGE (-4034) +#endif + +#if defined(ENXIO) && !defined(_WIN32) +# define UV__ENXIO (-ENXIO) +#else +# define UV__ENXIO (-4033) +#endif + +#if defined(EMLINK) && !defined(_WIN32) +# define UV__EMLINK (-EMLINK) +#else +# define UV__EMLINK (-4032) +#endif + +/* EHOSTDOWN is not visible on BSD-like systems when _POSIX_C_SOURCE is + * defined. Fortunately, its value is always 64 so it's possible albeit + * icky to hard-code it. + */ +#if defined(EHOSTDOWN) && !defined(_WIN32) +# define UV__EHOSTDOWN (-EHOSTDOWN) +#elif defined(__APPLE__) || \ + defined(__DragonFly__) || \ + defined(__FreeBSD__) || \ + defined(__FreeBSD_kernel__) || \ + defined(__NetBSD__) || \ + defined(__OpenBSD__) +# define UV__EHOSTDOWN (-64) +#else +# define UV__EHOSTDOWN (-4031) +#endif + +#endif /* UV_ERRNO_H_ */ diff --git a/android/x86_64/include/uv/uv-linux.h b/android/x86_64/include/uv/uv-linux.h new file mode 100644 index 00000000..9b38405a --- /dev/null +++ b/android/x86_64/include/uv/uv-linux.h @@ -0,0 +1,34 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_LINUX_H +#define UV_LINUX_H + +#define UV_PLATFORM_LOOP_FIELDS \ + uv__io_t inotify_read_watcher; \ + void* inotify_watchers; \ + int inotify_fd; \ + +#define UV_PLATFORM_FS_EVENT_FIELDS \ + void* watchers[2]; \ + int wd; \ + +#endif /* UV_LINUX_H */ diff --git a/android/x86_64/include/uv/uv-os390.h b/android/x86_64/include/uv/uv-os390.h new file mode 100644 index 00000000..58f92611 --- /dev/null +++ b/android/x86_64/include/uv/uv-os390.h @@ -0,0 +1,30 @@ +/* Copyright libuv project contributors. All rights reserved. + * + * 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 UV_MVS_H +#define UV_MVS_H + +#define UV_PLATFORM_SEM_T int + +#define UV_PLATFORM_LOOP_FIELDS \ + void* ep; \ + +#endif /* UV_MVS_H */ diff --git a/android/x86_64/include/uv/uv-posix.h b/android/x86_64/include/uv/uv-posix.h new file mode 100644 index 00000000..9a96634d --- /dev/null +++ b/android/x86_64/include/uv/uv-posix.h @@ -0,0 +1,31 @@ +/* Copyright libuv project contributors. All rights reserved. + * + * 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 UV_POSIX_H +#define UV_POSIX_H + +#define UV_PLATFORM_LOOP_FIELDS \ + struct pollfd* poll_fds; \ + size_t poll_fds_used; \ + size_t poll_fds_size; \ + unsigned char poll_fds_iterating; \ + +#endif /* UV_POSIX_H */ diff --git a/android/x86_64/include/uv/uv-sunos.h b/android/x86_64/include/uv/uv-sunos.h new file mode 100644 index 00000000..04216642 --- /dev/null +++ b/android/x86_64/include/uv/uv-sunos.h @@ -0,0 +1,44 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_SUNOS_H +#define UV_SUNOS_H + +#include +#include + +/* For the sake of convenience and reduced #ifdef-ery in src/unix/sunos.c, + * add the fs_event fields even when this version of SunOS doesn't support + * file watching. + */ +#define UV_PLATFORM_LOOP_FIELDS \ + uv__io_t fs_event_watcher; \ + int fs_fd; \ + +#if defined(PORT_SOURCE_FILE) + +# define UV_PLATFORM_FS_EVENT_FIELDS \ + file_obj_t fo; \ + int fd; \ + +#endif /* defined(PORT_SOURCE_FILE) */ + +#endif /* UV_SUNOS_H */ diff --git a/android/x86_64/include/uv/uv-threadpool.h b/android/x86_64/include/uv/uv-threadpool.h new file mode 100644 index 00000000..9708ebdd --- /dev/null +++ b/android/x86_64/include/uv/uv-threadpool.h @@ -0,0 +1,37 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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. + */ + +/* + * This file is private to libuv. It provides common functionality to both + * Windows and Unix backends. + */ + +#ifndef UV_THREADPOOL_H_ +#define UV_THREADPOOL_H_ + +struct uv__work { + void (*work)(struct uv__work *w); + void (*done)(struct uv__work *w, int status); + struct uv_loop_s* loop; + void* wq[2]; +}; + +#endif /* UV_THREADPOOL_H_ */ diff --git a/android/x86_64/include/uv/uv-unix.h b/android/x86_64/include/uv/uv-unix.h new file mode 100644 index 00000000..d7754509 --- /dev/null +++ b/android/x86_64/include/uv/uv-unix.h @@ -0,0 +1,368 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_UNIX_H +#define UV_UNIX_H + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#if !defined(__MVS__) +#include +#endif +#include +#include + +#include "uv-threadpool.h" + +#if defined(__linux__) +# include "uv-linux.h" +#elif defined (__MVS__) +# include "uv-os390.h" +#elif defined(_AIX) +# include "uv-aix.h" +#elif defined(__sun) +# include "uv-sunos.h" +#elif defined(__APPLE__) +# include "uv-darwin.h" +#elif defined(__DragonFly__) || \ + defined(__FreeBSD__) || \ + defined(__FreeBSD_kernel__) || \ + defined(__OpenBSD__) || \ + defined(__NetBSD__) +# include "uv-bsd.h" +#elif defined(__CYGWIN__) || defined(__MSYS__) +# include "uv-posix.h" +#endif + +#ifndef PTHREAD_BARRIER_SERIAL_THREAD +# include "pthread-barrier.h" +#endif + +#ifndef NI_MAXHOST +# define NI_MAXHOST 1025 +#endif + +#ifndef NI_MAXSERV +# define NI_MAXSERV 32 +#endif + +#ifndef UV_IO_PRIVATE_PLATFORM_FIELDS +# define UV_IO_PRIVATE_PLATFORM_FIELDS /* empty */ +#endif + +struct uv__io_s; +struct uv_loop_s; + +typedef void (*uv__io_cb)(struct uv_loop_s* loop, + struct uv__io_s* w, + unsigned int events); +typedef struct uv__io_s uv__io_t; + +struct uv__io_s { + uv__io_cb cb; + void* pending_queue[2]; + void* watcher_queue[2]; + unsigned int pevents; /* Pending event mask i.e. mask at next tick. */ + unsigned int events; /* Current event mask. */ + int fd; + UV_IO_PRIVATE_PLATFORM_FIELDS +}; + +#ifndef UV_PLATFORM_SEM_T +# define UV_PLATFORM_SEM_T sem_t +#endif + +#ifndef UV_PLATFORM_LOOP_FIELDS +# define UV_PLATFORM_LOOP_FIELDS /* empty */ +#endif + +#ifndef UV_PLATFORM_FS_EVENT_FIELDS +# define UV_PLATFORM_FS_EVENT_FIELDS /* empty */ +#endif + +#ifndef UV_STREAM_PRIVATE_PLATFORM_FIELDS +# define UV_STREAM_PRIVATE_PLATFORM_FIELDS /* empty */ +#endif + +/* Note: May be cast to struct iovec. See writev(2). */ +typedef struct uv_buf_t { + char* base; + size_t len; +} uv_buf_t; + +typedef int uv_file; +typedef int uv_os_sock_t; +typedef int uv_os_fd_t; + +#define UV_ONCE_INIT PTHREAD_ONCE_INIT + +typedef pthread_once_t uv_once_t; +typedef pthread_t uv_thread_t; +typedef pthread_mutex_t uv_mutex_t; +typedef pthread_rwlock_t uv_rwlock_t; +typedef UV_PLATFORM_SEM_T uv_sem_t; +typedef pthread_cond_t uv_cond_t; +typedef pthread_key_t uv_key_t; +typedef pthread_barrier_t uv_barrier_t; + + +/* Platform-specific definitions for uv_spawn support. */ +typedef gid_t uv_gid_t; +typedef uid_t uv_uid_t; + +typedef struct dirent uv__dirent_t; + +#if defined(DT_UNKNOWN) +# define HAVE_DIRENT_TYPES +# if defined(DT_REG) +# define UV__DT_FILE DT_REG +# else +# define UV__DT_FILE -1 +# endif +# if defined(DT_DIR) +# define UV__DT_DIR DT_DIR +# else +# define UV__DT_DIR -2 +# endif +# if defined(DT_LNK) +# define UV__DT_LINK DT_LNK +# else +# define UV__DT_LINK -3 +# endif +# if defined(DT_FIFO) +# define UV__DT_FIFO DT_FIFO +# else +# define UV__DT_FIFO -4 +# endif +# if defined(DT_SOCK) +# define UV__DT_SOCKET DT_SOCK +# else +# define UV__DT_SOCKET -5 +# endif +# if defined(DT_CHR) +# define UV__DT_CHAR DT_CHR +# else +# define UV__DT_CHAR -6 +# endif +# if defined(DT_BLK) +# define UV__DT_BLOCK DT_BLK +# else +# define UV__DT_BLOCK -7 +# endif +#endif + +/* Platform-specific definitions for uv_dlopen support. */ +#define UV_DYNAMIC /* empty */ + +typedef struct { + void* handle; + char* errmsg; +} uv_lib_t; + +#define UV_LOOP_PRIVATE_FIELDS \ + unsigned long flags; \ + int backend_fd; \ + void* pending_queue[2]; \ + void* watcher_queue[2]; \ + uv__io_t** watchers; \ + unsigned int nwatchers; \ + unsigned int nfds; \ + void* wq[2]; \ + uv_mutex_t wq_mutex; \ + uv_async_t wq_async; \ + uv_rwlock_t cloexec_lock; \ + uv_handle_t* closing_handles; \ + void* process_handles[2]; \ + void* prepare_handles[2]; \ + void* check_handles[2]; \ + void* idle_handles[2]; \ + void* async_handles[2]; \ + void (*async_unused)(void); /* TODO(bnoordhuis) Remove in libuv v2. */ \ + uv__io_t async_io_watcher; \ + int async_wfd; \ + struct { \ + void* min; \ + unsigned int nelts; \ + } timer_heap; \ + uint64_t timer_counter; \ + uint64_t time; \ + int signal_pipefd[2]; \ + uv__io_t signal_io_watcher; \ + uv_signal_t child_watcher; \ + int emfile_fd; \ + UV_PLATFORM_LOOP_FIELDS \ + +#define UV_REQ_TYPE_PRIVATE /* empty */ + +#define UV_REQ_PRIVATE_FIELDS /* empty */ + +#define UV_PRIVATE_REQ_TYPES /* empty */ + +#define UV_WRITE_PRIVATE_FIELDS \ + void* queue[2]; \ + unsigned int write_index; \ + uv_buf_t* bufs; \ + unsigned int nbufs; \ + int error; \ + uv_buf_t bufsml[4]; \ + +#define UV_CONNECT_PRIVATE_FIELDS \ + void* queue[2]; \ + +#define UV_SHUTDOWN_PRIVATE_FIELDS /* empty */ + +#define UV_UDP_SEND_PRIVATE_FIELDS \ + void* queue[2]; \ + struct sockaddr_storage addr; \ + unsigned int nbufs; \ + uv_buf_t* bufs; \ + ssize_t status; \ + uv_udp_send_cb send_cb; \ + uv_buf_t bufsml[4]; \ + +#define UV_HANDLE_PRIVATE_FIELDS \ + uv_handle_t* next_closing; \ + unsigned int flags; \ + +#define UV_STREAM_PRIVATE_FIELDS \ + uv_connect_t *connect_req; \ + uv_shutdown_t *shutdown_req; \ + uv__io_t io_watcher; \ + void* write_queue[2]; \ + void* write_completed_queue[2]; \ + uv_connection_cb connection_cb; \ + int delayed_error; \ + int accepted_fd; \ + void* queued_fds; \ + UV_STREAM_PRIVATE_PLATFORM_FIELDS \ + +#define UV_TCP_PRIVATE_FIELDS /* empty */ + +#define UV_UDP_PRIVATE_FIELDS \ + uv_alloc_cb alloc_cb; \ + uv_udp_recv_cb recv_cb; \ + uv__io_t io_watcher; \ + void* write_queue[2]; \ + void* write_completed_queue[2]; \ + +#define UV_PIPE_PRIVATE_FIELDS \ + const char* pipe_fname; /* strdup'ed */ + +#define UV_POLL_PRIVATE_FIELDS \ + uv__io_t io_watcher; + +#define UV_PREPARE_PRIVATE_FIELDS \ + uv_prepare_cb prepare_cb; \ + void* queue[2]; \ + +#define UV_CHECK_PRIVATE_FIELDS \ + uv_check_cb check_cb; \ + void* queue[2]; \ + +#define UV_IDLE_PRIVATE_FIELDS \ + uv_idle_cb idle_cb; \ + void* queue[2]; \ + +#define UV_ASYNC_PRIVATE_FIELDS \ + uv_async_cb async_cb; \ + void* queue[2]; \ + int pending; \ + +#define UV_TIMER_PRIVATE_FIELDS \ + uv_timer_cb timer_cb; \ + void* heap_node[3]; \ + uint64_t timeout; \ + uint64_t repeat; \ + uint64_t start_id; + +#define UV_GETADDRINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getaddrinfo_cb cb; \ + struct addrinfo* hints; \ + char* hostname; \ + char* service; \ + struct addrinfo* addrinfo; \ + int retcode; + +#define UV_GETNAMEINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getnameinfo_cb getnameinfo_cb; \ + struct sockaddr_storage storage; \ + int flags; \ + char host[NI_MAXHOST]; \ + char service[NI_MAXSERV]; \ + int retcode; + +#define UV_PROCESS_PRIVATE_FIELDS \ + void* queue[2]; \ + int status; \ + +#define UV_FS_PRIVATE_FIELDS \ + const char *new_path; \ + uv_file file; \ + int flags; \ + mode_t mode; \ + unsigned int nbufs; \ + uv_buf_t* bufs; \ + off_t off; \ + uv_uid_t uid; \ + uv_gid_t gid; \ + double atime; \ + double mtime; \ + struct uv__work work_req; \ + uv_buf_t bufsml[4]; \ + +#define UV_WORK_PRIVATE_FIELDS \ + struct uv__work work_req; + +#define UV_TTY_PRIVATE_FIELDS \ + struct termios orig_termios; \ + int mode; + +#define UV_SIGNAL_PRIVATE_FIELDS \ + /* RB_ENTRY(uv_signal_s) tree_entry; */ \ + struct { \ + struct uv_signal_s* rbe_left; \ + struct uv_signal_s* rbe_right; \ + struct uv_signal_s* rbe_parent; \ + int rbe_color; \ + } tree_entry; \ + /* Use two counters here so we don have to fiddle with atomics. */ \ + unsigned int caught_signals; \ + unsigned int dispatched_signals; + +#define UV_FS_EVENT_PRIVATE_FIELDS \ + uv_fs_event_cb cb; \ + UV_PLATFORM_FS_EVENT_FIELDS \ + +#endif /* UV_UNIX_H */ diff --git a/android/x86_64/include/uv/uv-version.h b/android/x86_64/include/uv/uv-version.h new file mode 100644 index 00000000..c80c40ea --- /dev/null +++ b/android/x86_64/include/uv/uv-version.h @@ -0,0 +1,43 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 UV_VERSION_H +#define UV_VERSION_H + + /* + * Versions with the same major number are ABI stable. API is allowed to + * evolve between minor releases, but only in a backwards compatible way. + * Make sure you update the -soname directives in configure.ac + * and uv.gyp whenever you bump UV_VERSION_MAJOR or UV_VERSION_MINOR (but + * not UV_VERSION_PATCH.) + */ + +#define UV_VERSION_MAJOR 1 +#define UV_VERSION_MINOR 13 +#define UV_VERSION_PATCH 1 +#define UV_VERSION_IS_RELEASE 1 +#define UV_VERSION_SUFFIX "" + +#define UV_VERSION_HEX ((UV_VERSION_MAJOR << 16) | \ + (UV_VERSION_MINOR << 8) | \ + (UV_VERSION_PATCH)) + +#endif /* UV_VERSION_H */ diff --git a/android/x86_64/include/uv/uv-win.h b/android/x86_64/include/uv/uv-win.h new file mode 100644 index 00000000..9677ff16 --- /dev/null +++ b/android/x86_64/include/uv/uv-win.h @@ -0,0 +1,650 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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 _WIN32_WINNT +# define _WIN32_WINNT 0x0502 +#endif + +#if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED) +typedef intptr_t ssize_t; +# define _SSIZE_T_ +# define _SSIZE_T_DEFINED +#endif + +#include + +#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) +typedef struct pollfd { + SOCKET fd; + short events; + short revents; +} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD; +#endif + +#ifndef LOCALE_INVARIANT +# define LOCALE_INVARIANT 0x007f +#endif + +#include +#include +#include + +#include +#include +#include +#include + +#if defined(_MSC_VER) && _MSC_VER < 1600 +# include "stdint-msvc2008.h" +#else +# include +#endif + +#include "tree.h" +#include "uv-threadpool.h" + +#define MAX_PIPENAME_LEN 256 + +#ifndef S_IFLNK +# define S_IFLNK 0xA000 +#endif + +/* Additional signals supported by uv_signal and or uv_kill. The CRT defines + * the following signals already: + * + * #define SIGINT 2 + * #define SIGILL 4 + * #define SIGABRT_COMPAT 6 + * #define SIGFPE 8 + * #define SIGSEGV 11 + * #define SIGTERM 15 + * #define SIGBREAK 21 + * #define SIGABRT 22 + * + * The additional signals have values that are common on other Unix + * variants (Linux and Darwin) + */ +#define SIGHUP 1 +#define SIGKILL 9 +#define SIGWINCH 28 + +/* The CRT defines SIGABRT_COMPAT as 6, which equals SIGABRT on many */ +/* unix-like platforms. However MinGW doesn't define it, so we do. */ +#ifndef SIGABRT_COMPAT +# define SIGABRT_COMPAT 6 +#endif + +/* + * Guids and typedefs for winsock extension functions + * Mingw32 doesn't have these :-( + */ +#ifndef WSAID_ACCEPTEX +# define WSAID_ACCEPTEX \ + {0xb5367df1, 0xcbac, 0x11cf, \ + {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} + +# define WSAID_CONNECTEX \ + {0x25a207b9, 0xddf3, 0x4660, \ + {0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}} + +# define WSAID_GETACCEPTEXSOCKADDRS \ + {0xb5367df2, 0xcbac, 0x11cf, \ + {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} + +# define WSAID_DISCONNECTEX \ + {0x7fda2e11, 0x8630, 0x436f, \ + {0xa0, 0x31, 0xf5, 0x36, 0xa6, 0xee, 0xc1, 0x57}} + +# define WSAID_TRANSMITFILE \ + {0xb5367df0, 0xcbac, 0x11cf, \ + {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} + + typedef BOOL (PASCAL *LPFN_ACCEPTEX) + (SOCKET sListenSocket, + SOCKET sAcceptSocket, + PVOID lpOutputBuffer, + DWORD dwReceiveDataLength, + DWORD dwLocalAddressLength, + DWORD dwRemoteAddressLength, + LPDWORD lpdwBytesReceived, + LPOVERLAPPED lpOverlapped); + + typedef BOOL (PASCAL *LPFN_CONNECTEX) + (SOCKET s, + const struct sockaddr* name, + int namelen, + PVOID lpSendBuffer, + DWORD dwSendDataLength, + LPDWORD lpdwBytesSent, + LPOVERLAPPED lpOverlapped); + + typedef void (PASCAL *LPFN_GETACCEPTEXSOCKADDRS) + (PVOID lpOutputBuffer, + DWORD dwReceiveDataLength, + DWORD dwLocalAddressLength, + DWORD dwRemoteAddressLength, + LPSOCKADDR* LocalSockaddr, + LPINT LocalSockaddrLength, + LPSOCKADDR* RemoteSockaddr, + LPINT RemoteSockaddrLength); + + typedef BOOL (PASCAL *LPFN_DISCONNECTEX) + (SOCKET hSocket, + LPOVERLAPPED lpOverlapped, + DWORD dwFlags, + DWORD reserved); + + typedef BOOL (PASCAL *LPFN_TRANSMITFILE) + (SOCKET hSocket, + HANDLE hFile, + DWORD nNumberOfBytesToWrite, + DWORD nNumberOfBytesPerSend, + LPOVERLAPPED lpOverlapped, + LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers, + DWORD dwFlags); + + typedef PVOID RTL_SRWLOCK; + typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK; +#endif + +typedef int (WSAAPI* LPFN_WSARECV) + (SOCKET socket, + LPWSABUF buffers, + DWORD buffer_count, + LPDWORD bytes, + LPDWORD flags, + LPWSAOVERLAPPED overlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE completion_routine); + +typedef int (WSAAPI* LPFN_WSARECVFROM) + (SOCKET socket, + LPWSABUF buffers, + DWORD buffer_count, + LPDWORD bytes, + LPDWORD flags, + struct sockaddr* addr, + LPINT addr_len, + LPWSAOVERLAPPED overlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE completion_routine); + +#ifndef _NTDEF_ + typedef LONG NTSTATUS; + typedef NTSTATUS *PNTSTATUS; +#endif + +#ifndef RTL_CONDITION_VARIABLE_INIT + typedef PVOID CONDITION_VARIABLE, *PCONDITION_VARIABLE; +#endif + +typedef struct _AFD_POLL_HANDLE_INFO { + HANDLE Handle; + ULONG Events; + NTSTATUS Status; +} AFD_POLL_HANDLE_INFO, *PAFD_POLL_HANDLE_INFO; + +typedef struct _AFD_POLL_INFO { + LARGE_INTEGER Timeout; + ULONG NumberOfHandles; + ULONG Exclusive; + AFD_POLL_HANDLE_INFO Handles[1]; +} AFD_POLL_INFO, *PAFD_POLL_INFO; + +#define UV_MSAFD_PROVIDER_COUNT 3 + + +/** + * It should be possible to cast uv_buf_t[] to WSABUF[] + * see http://msdn.microsoft.com/en-us/library/ms741542(v=vs.85).aspx + */ +typedef struct uv_buf_t { + ULONG len; + char* base; +} uv_buf_t; + +typedef int uv_file; +typedef SOCKET uv_os_sock_t; +typedef HANDLE uv_os_fd_t; + +typedef HANDLE uv_thread_t; + +typedef HANDLE uv_sem_t; + +typedef CRITICAL_SECTION uv_mutex_t; + +/* This condition variable implementation is based on the SetEvent solution + * (section 3.2) at http://www.cs.wustl.edu/~schmidt/win32-cv-1.html + * We could not use the SignalObjectAndWait solution (section 3.4) because + * it want the 2nd argument (type uv_mutex_t) of uv_cond_wait() and + * uv_cond_timedwait() to be HANDLEs, but we use CRITICAL_SECTIONs. + */ + +typedef union { + CONDITION_VARIABLE cond_var; + struct { + unsigned int waiters_count; + CRITICAL_SECTION waiters_count_lock; + HANDLE signal_event; + HANDLE broadcast_event; + } fallback; +} uv_cond_t; + +typedef union { + struct { + unsigned int num_readers_; + CRITICAL_SECTION num_readers_lock_; + HANDLE write_semaphore_; + } state_; + /* TODO: remove me in v2.x. */ + struct { + SRWLOCK unused_; + } unused1_; + /* TODO: remove me in v2.x. */ + struct { + uv_mutex_t unused1_; + uv_mutex_t unused2_; + } unused2_; +} uv_rwlock_t; + +typedef struct { + unsigned int n; + unsigned int count; + uv_mutex_t mutex; + uv_sem_t turnstile1; + uv_sem_t turnstile2; +} uv_barrier_t; + +typedef struct { + DWORD tls_index; +} uv_key_t; + +#define UV_ONCE_INIT { 0, NULL } + +typedef struct uv_once_s { + unsigned char ran; + HANDLE event; +} uv_once_t; + +/* Platform-specific definitions for uv_spawn support. */ +typedef unsigned char uv_uid_t; +typedef unsigned char uv_gid_t; + +typedef struct uv__dirent_s { + int d_type; + char d_name[1]; +} uv__dirent_t; + +#define HAVE_DIRENT_TYPES +#define UV__DT_DIR UV_DIRENT_DIR +#define UV__DT_FILE UV_DIRENT_FILE +#define UV__DT_LINK UV_DIRENT_LINK +#define UV__DT_FIFO UV_DIRENT_FIFO +#define UV__DT_SOCKET UV_DIRENT_SOCKET +#define UV__DT_CHAR UV_DIRENT_CHAR +#define UV__DT_BLOCK UV_DIRENT_BLOCK + +/* Platform-specific definitions for uv_dlopen support. */ +#define UV_DYNAMIC FAR WINAPI +typedef struct { + HMODULE handle; + char* errmsg; +} uv_lib_t; + +RB_HEAD(uv_timer_tree_s, uv_timer_s); + +#define UV_LOOP_PRIVATE_FIELDS \ + /* The loop's I/O completion port */ \ + HANDLE iocp; \ + /* The current time according to the event loop. in msecs. */ \ + uint64_t time; \ + /* Tail of a single-linked circular queue of pending reqs. If the queue */ \ + /* is empty, tail_ is NULL. If there is only one item, */ \ + /* tail_->next_req == tail_ */ \ + uv_req_t* pending_reqs_tail; \ + /* Head of a single-linked list of closed handles */ \ + uv_handle_t* endgame_handles; \ + /* The head of the timers tree */ \ + struct uv_timer_tree_s timers; \ + /* Lists of active loop (prepare / check / idle) watchers */ \ + uv_prepare_t* prepare_handles; \ + uv_check_t* check_handles; \ + uv_idle_t* idle_handles; \ + /* This pointer will refer to the prepare/check/idle handle whose */ \ + /* callback is scheduled to be called next. This is needed to allow */ \ + /* safe removal from one of the lists above while that list being */ \ + /* iterated over. */ \ + uv_prepare_t* next_prepare_handle; \ + uv_check_t* next_check_handle; \ + uv_idle_t* next_idle_handle; \ + /* This handle holds the peer sockets for the fast variant of uv_poll_t */ \ + SOCKET poll_peer_sockets[UV_MSAFD_PROVIDER_COUNT]; \ + /* Counter to keep track of active tcp streams */ \ + unsigned int active_tcp_streams; \ + /* Counter to keep track of active udp streams */ \ + unsigned int active_udp_streams; \ + /* Counter to started timer */ \ + uint64_t timer_counter; \ + /* Threadpool */ \ + void* wq[2]; \ + uv_mutex_t wq_mutex; \ + uv_async_t wq_async; + +#define UV_REQ_TYPE_PRIVATE \ + /* TODO: remove the req suffix */ \ + UV_ACCEPT, \ + UV_FS_EVENT_REQ, \ + UV_POLL_REQ, \ + UV_PROCESS_EXIT, \ + UV_READ, \ + UV_UDP_RECV, \ + UV_WAKEUP, \ + UV_SIGNAL_REQ, + +#define UV_REQ_PRIVATE_FIELDS \ + union { \ + /* Used by I/O operations */ \ + struct { \ + OVERLAPPED overlapped; \ + size_t queued_bytes; \ + } io; \ + } u; \ + struct uv_req_s* next_req; + +#define UV_WRITE_PRIVATE_FIELDS \ + int ipc_header; \ + uv_buf_t write_buffer; \ + HANDLE event_handle; \ + HANDLE wait_handle; + +#define UV_CONNECT_PRIVATE_FIELDS \ + /* empty */ + +#define UV_SHUTDOWN_PRIVATE_FIELDS \ + /* empty */ + +#define UV_UDP_SEND_PRIVATE_FIELDS \ + /* empty */ + +#define UV_PRIVATE_REQ_TYPES \ + typedef struct uv_pipe_accept_s { \ + UV_REQ_FIELDS \ + HANDLE pipeHandle; \ + struct uv_pipe_accept_s* next_pending; \ + } uv_pipe_accept_t; \ + \ + typedef struct uv_tcp_accept_s { \ + UV_REQ_FIELDS \ + SOCKET accept_socket; \ + char accept_buffer[sizeof(struct sockaddr_storage) * 2 + 32]; \ + HANDLE event_handle; \ + HANDLE wait_handle; \ + struct uv_tcp_accept_s* next_pending; \ + } uv_tcp_accept_t; \ + \ + typedef struct uv_read_s { \ + UV_REQ_FIELDS \ + HANDLE event_handle; \ + HANDLE wait_handle; \ + } uv_read_t; + +#define uv_stream_connection_fields \ + unsigned int write_reqs_pending; \ + uv_shutdown_t* shutdown_req; + +#define uv_stream_server_fields \ + uv_connection_cb connection_cb; + +#define UV_STREAM_PRIVATE_FIELDS \ + unsigned int reqs_pending; \ + int activecnt; \ + uv_read_t read_req; \ + union { \ + struct { uv_stream_connection_fields } conn; \ + struct { uv_stream_server_fields } serv; \ + } stream; + +#define uv_tcp_server_fields \ + uv_tcp_accept_t* accept_reqs; \ + unsigned int processed_accepts; \ + uv_tcp_accept_t* pending_accepts; \ + LPFN_ACCEPTEX func_acceptex; + +#define uv_tcp_connection_fields \ + uv_buf_t read_buffer; \ + LPFN_CONNECTEX func_connectex; + +#define UV_TCP_PRIVATE_FIELDS \ + SOCKET socket; \ + int delayed_error; \ + union { \ + struct { uv_tcp_server_fields } serv; \ + struct { uv_tcp_connection_fields } conn; \ + } tcp; + +#define UV_UDP_PRIVATE_FIELDS \ + SOCKET socket; \ + unsigned int reqs_pending; \ + int activecnt; \ + uv_req_t recv_req; \ + uv_buf_t recv_buffer; \ + struct sockaddr_storage recv_from; \ + int recv_from_len; \ + uv_udp_recv_cb recv_cb; \ + uv_alloc_cb alloc_cb; \ + LPFN_WSARECV func_wsarecv; \ + LPFN_WSARECVFROM func_wsarecvfrom; + +#define uv_pipe_server_fields \ + int pending_instances; \ + uv_pipe_accept_t* accept_reqs; \ + uv_pipe_accept_t* pending_accepts; + +#define uv_pipe_connection_fields \ + uv_timer_t* eof_timer; \ + uv_write_t ipc_header_write_req; \ + int ipc_pid; \ + uint64_t remaining_ipc_rawdata_bytes; \ + struct { \ + void* queue[2]; \ + int queue_len; \ + } pending_ipc_info; \ + uv_write_t* non_overlapped_writes_tail; \ + uv_mutex_t readfile_mutex; \ + volatile HANDLE readfile_thread; + +#define UV_PIPE_PRIVATE_FIELDS \ + HANDLE handle; \ + WCHAR* name; \ + union { \ + struct { uv_pipe_server_fields } serv; \ + struct { uv_pipe_connection_fields } conn; \ + } pipe; + +/* TODO: put the parser states in an union - TTY handles are always */ +/* half-duplex so read-state can safely overlap write-state. */ +#define UV_TTY_PRIVATE_FIELDS \ + HANDLE handle; \ + union { \ + struct { \ + /* Used for readable TTY handles */ \ + /* TODO: remove me in v2.x. */ \ + HANDLE unused_; \ + uv_buf_t read_line_buffer; \ + HANDLE read_raw_wait; \ + /* Fields used for translating win keystrokes into vt100 characters */ \ + char last_key[8]; \ + unsigned char last_key_offset; \ + unsigned char last_key_len; \ + WCHAR last_utf16_high_surrogate; \ + INPUT_RECORD last_input_record; \ + } rd; \ + struct { \ + /* Used for writable TTY handles */ \ + /* utf8-to-utf16 conversion state */ \ + unsigned int utf8_codepoint; \ + unsigned char utf8_bytes_left; \ + /* eol conversion state */ \ + unsigned char previous_eol; \ + /* ansi parser state */ \ + unsigned char ansi_parser_state; \ + unsigned char ansi_csi_argc; \ + unsigned short ansi_csi_argv[4]; \ + COORD saved_position; \ + WORD saved_attributes; \ + } wr; \ + } tty; + +#define UV_POLL_PRIVATE_FIELDS \ + SOCKET socket; \ + /* Used in fast mode */ \ + SOCKET peer_socket; \ + AFD_POLL_INFO afd_poll_info_1; \ + AFD_POLL_INFO afd_poll_info_2; \ + /* Used in fast and slow mode. */ \ + uv_req_t poll_req_1; \ + uv_req_t poll_req_2; \ + unsigned char submitted_events_1; \ + unsigned char submitted_events_2; \ + unsigned char mask_events_1; \ + unsigned char mask_events_2; \ + unsigned char events; + +#define UV_TIMER_PRIVATE_FIELDS \ + RB_ENTRY(uv_timer_s) tree_entry; \ + uint64_t due; \ + uint64_t repeat; \ + uint64_t start_id; \ + uv_timer_cb timer_cb; + +#define UV_ASYNC_PRIVATE_FIELDS \ + struct uv_req_s async_req; \ + uv_async_cb async_cb; \ + /* char to avoid alignment issues */ \ + char volatile async_sent; + +#define UV_PREPARE_PRIVATE_FIELDS \ + uv_prepare_t* prepare_prev; \ + uv_prepare_t* prepare_next; \ + uv_prepare_cb prepare_cb; + +#define UV_CHECK_PRIVATE_FIELDS \ + uv_check_t* check_prev; \ + uv_check_t* check_next; \ + uv_check_cb check_cb; + +#define UV_IDLE_PRIVATE_FIELDS \ + uv_idle_t* idle_prev; \ + uv_idle_t* idle_next; \ + uv_idle_cb idle_cb; + +#define UV_HANDLE_PRIVATE_FIELDS \ + uv_handle_t* endgame_next; \ + unsigned int flags; + +#define UV_GETADDRINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getaddrinfo_cb getaddrinfo_cb; \ + void* alloc; \ + WCHAR* node; \ + WCHAR* service; \ + /* The addrinfoW field is used to store a pointer to the hints, and */ \ + /* later on to store the result of GetAddrInfoW. The final result will */ \ + /* be converted to struct addrinfo* and stored in the addrinfo field. */ \ + struct addrinfoW* addrinfow; \ + struct addrinfo* addrinfo; \ + int retcode; + +#define UV_GETNAMEINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getnameinfo_cb getnameinfo_cb; \ + struct sockaddr_storage storage; \ + int flags; \ + char host[NI_MAXHOST]; \ + char service[NI_MAXSERV]; \ + int retcode; + +#define UV_PROCESS_PRIVATE_FIELDS \ + struct uv_process_exit_s { \ + UV_REQ_FIELDS \ + } exit_req; \ + BYTE* child_stdio_buffer; \ + int exit_signal; \ + HANDLE wait_handle; \ + HANDLE process_handle; \ + volatile char exit_cb_pending; + +#define UV_FS_PRIVATE_FIELDS \ + struct uv__work work_req; \ + int flags; \ + DWORD sys_errno_; \ + union { \ + /* TODO: remove me in 0.9. */ \ + WCHAR* pathw; \ + int fd; \ + } file; \ + union { \ + struct { \ + int mode; \ + WCHAR* new_pathw; \ + int file_flags; \ + int fd_out; \ + unsigned int nbufs; \ + uv_buf_t* bufs; \ + int64_t offset; \ + uv_buf_t bufsml[4]; \ + } info; \ + struct { \ + double atime; \ + double mtime; \ + } time; \ + } fs; + +#define UV_WORK_PRIVATE_FIELDS \ + struct uv__work work_req; + +#define UV_FS_EVENT_PRIVATE_FIELDS \ + struct uv_fs_event_req_s { \ + UV_REQ_FIELDS \ + } req; \ + HANDLE dir_handle; \ + int req_pending; \ + uv_fs_event_cb cb; \ + WCHAR* filew; \ + WCHAR* short_filew; \ + WCHAR* dirw; \ + char* buffer; + +#define UV_SIGNAL_PRIVATE_FIELDS \ + RB_ENTRY(uv_signal_s) tree_entry; \ + struct uv_req_s signal_req; \ + unsigned long pending_signum; + +#ifndef F_OK +#define F_OK 0 +#endif +#ifndef R_OK +#define R_OK 4 +#endif +#ifndef W_OK +#define W_OK 2 +#endif +#ifndef X_OK +#define X_OK 1 +#endif diff --git a/android/x86_64/include/uv/uv.h b/android/x86_64/include/uv/uv.h new file mode 100644 index 00000000..f076094c --- /dev/null +++ b/android/x86_64/include/uv/uv.h @@ -0,0 +1,1508 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * 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. + */ + +/* See https://github.com/libuv/libuv#documentation for documentation. */ + +#ifndef UV_H +#define UV_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _WIN32 + /* Windows - set up dll import/export decorators. */ +# if defined(BUILDING_UV_SHARED) + /* Building shared library. */ +# define UV_EXTERN __declspec(dllexport) +# elif defined(USING_UV_SHARED) + /* Using shared library. */ +# define UV_EXTERN __declspec(dllimport) +# else + /* Building static library. */ +# define UV_EXTERN /* nothing */ +# endif +#elif __GNUC__ >= 4 +# define UV_EXTERN __attribute__((visibility("default"))) +#else +# define UV_EXTERN /* nothing */ +#endif + +#include "uv-errno.h" +#include "uv-version.h" +#include +#include + +#if defined(_MSC_VER) && _MSC_VER < 1600 +# include "stdint-msvc2008.h" +#else +# include +#endif + +#if defined(_WIN32) +# include "uv-win.h" +#else +# include "uv-unix.h" +#endif + +/* Expand this list if necessary. */ +#define UV_ERRNO_MAP(XX) \ + XX(E2BIG, "argument list too long") \ + XX(EACCES, "permission denied") \ + XX(EADDRINUSE, "address already in use") \ + XX(EADDRNOTAVAIL, "address not available") \ + XX(EAFNOSUPPORT, "address family not supported") \ + XX(EAGAIN, "resource temporarily unavailable") \ + XX(EAI_ADDRFAMILY, "address family not supported") \ + XX(EAI_AGAIN, "temporary failure") \ + XX(EAI_BADFLAGS, "bad ai_flags value") \ + XX(EAI_BADHINTS, "invalid value for hints") \ + XX(EAI_CANCELED, "request canceled") \ + XX(EAI_FAIL, "permanent failure") \ + XX(EAI_FAMILY, "ai_family not supported") \ + XX(EAI_MEMORY, "out of memory") \ + XX(EAI_NODATA, "no address") \ + XX(EAI_NONAME, "unknown node or service") \ + XX(EAI_OVERFLOW, "argument buffer overflow") \ + XX(EAI_PROTOCOL, "resolved protocol is unknown") \ + XX(EAI_SERVICE, "service not available for socket type") \ + XX(EAI_SOCKTYPE, "socket type not supported") \ + XX(EALREADY, "connection already in progress") \ + XX(EBADF, "bad file descriptor") \ + XX(EBUSY, "resource busy or locked") \ + XX(ECANCELED, "operation canceled") \ + XX(ECHARSET, "invalid Unicode character") \ + XX(ECONNABORTED, "software caused connection abort") \ + XX(ECONNREFUSED, "connection refused") \ + XX(ECONNRESET, "connection reset by peer") \ + XX(EDESTADDRREQ, "destination address required") \ + XX(EEXIST, "file already exists") \ + XX(EFAULT, "bad address in system call argument") \ + XX(EFBIG, "file too large") \ + XX(EHOSTUNREACH, "host is unreachable") \ + XX(EINTR, "interrupted system call") \ + XX(EINVAL, "invalid argument") \ + XX(EIO, "i/o error") \ + XX(EISCONN, "socket is already connected") \ + XX(EISDIR, "illegal operation on a directory") \ + XX(ELOOP, "too many symbolic links encountered") \ + XX(EMFILE, "too many open files") \ + XX(EMSGSIZE, "message too long") \ + XX(ENAMETOOLONG, "name too long") \ + XX(ENETDOWN, "network is down") \ + XX(ENETUNREACH, "network is unreachable") \ + XX(ENFILE, "file table overflow") \ + XX(ENOBUFS, "no buffer space available") \ + XX(ENODEV, "no such device") \ + XX(ENOENT, "no such file or directory") \ + XX(ENOMEM, "not enough memory") \ + XX(ENONET, "machine is not on the network") \ + XX(ENOPROTOOPT, "protocol not available") \ + XX(ENOSPC, "no space left on device") \ + XX(ENOSYS, "function not implemented") \ + XX(ENOTCONN, "socket is not connected") \ + XX(ENOTDIR, "not a directory") \ + XX(ENOTEMPTY, "directory not empty") \ + XX(ENOTSOCK, "socket operation on non-socket") \ + XX(ENOTSUP, "operation not supported on socket") \ + XX(EPERM, "operation not permitted") \ + XX(EPIPE, "broken pipe") \ + XX(EPROTO, "protocol error") \ + XX(EPROTONOSUPPORT, "protocol not supported") \ + XX(EPROTOTYPE, "protocol wrong type for socket") \ + XX(ERANGE, "result too large") \ + XX(EROFS, "read-only file system") \ + XX(ESHUTDOWN, "cannot send after transport endpoint shutdown") \ + XX(ESPIPE, "invalid seek") \ + XX(ESRCH, "no such process") \ + XX(ETIMEDOUT, "connection timed out") \ + XX(ETXTBSY, "text file is busy") \ + XX(EXDEV, "cross-device link not permitted") \ + XX(UNKNOWN, "unknown error") \ + XX(EOF, "end of file") \ + XX(ENXIO, "no such device or address") \ + XX(EMLINK, "too many links") \ + XX(EHOSTDOWN, "host is down") \ + +#define UV_HANDLE_TYPE_MAP(XX) \ + XX(ASYNC, async) \ + XX(CHECK, check) \ + XX(FS_EVENT, fs_event) \ + XX(FS_POLL, fs_poll) \ + XX(HANDLE, handle) \ + XX(IDLE, idle) \ + XX(NAMED_PIPE, pipe) \ + XX(POLL, poll) \ + XX(PREPARE, prepare) \ + XX(PROCESS, process) \ + XX(STREAM, stream) \ + XX(TCP, tcp) \ + XX(TIMER, timer) \ + XX(TTY, tty) \ + XX(UDP, udp) \ + XX(SIGNAL, signal) \ + +#define UV_REQ_TYPE_MAP(XX) \ + XX(REQ, req) \ + XX(CONNECT, connect) \ + XX(WRITE, write) \ + XX(SHUTDOWN, shutdown) \ + XX(UDP_SEND, udp_send) \ + XX(FS, fs) \ + XX(WORK, work) \ + XX(GETADDRINFO, getaddrinfo) \ + XX(GETNAMEINFO, getnameinfo) \ + +typedef enum { +#define XX(code, _) UV_ ## code = UV__ ## code, + UV_ERRNO_MAP(XX) +#undef XX + UV_ERRNO_MAX = UV__EOF - 1 +} uv_errno_t; + +typedef enum { + UV_UNKNOWN_HANDLE = 0, +#define XX(uc, lc) UV_##uc, + UV_HANDLE_TYPE_MAP(XX) +#undef XX + UV_FILE, + UV_HANDLE_TYPE_MAX +} uv_handle_type; + +typedef enum { + UV_UNKNOWN_REQ = 0, +#define XX(uc, lc) UV_##uc, + UV_REQ_TYPE_MAP(XX) +#undef XX + UV_REQ_TYPE_PRIVATE + UV_REQ_TYPE_MAX +} uv_req_type; + + +/* Handle types. */ +typedef struct uv_loop_s uv_loop_t; +typedef struct uv_handle_s uv_handle_t; +typedef struct uv_stream_s uv_stream_t; +typedef struct uv_tcp_s uv_tcp_t; +typedef struct uv_udp_s uv_udp_t; +typedef struct uv_pipe_s uv_pipe_t; +typedef struct uv_tty_s uv_tty_t; +typedef struct uv_poll_s uv_poll_t; +typedef struct uv_timer_s uv_timer_t; +typedef struct uv_prepare_s uv_prepare_t; +typedef struct uv_check_s uv_check_t; +typedef struct uv_idle_s uv_idle_t; +typedef struct uv_async_s uv_async_t; +typedef struct uv_process_s uv_process_t; +typedef struct uv_fs_event_s uv_fs_event_t; +typedef struct uv_fs_poll_s uv_fs_poll_t; +typedef struct uv_signal_s uv_signal_t; + +/* Request types. */ +typedef struct uv_req_s uv_req_t; +typedef struct uv_getaddrinfo_s uv_getaddrinfo_t; +typedef struct uv_getnameinfo_s uv_getnameinfo_t; +typedef struct uv_shutdown_s uv_shutdown_t; +typedef struct uv_write_s uv_write_t; +typedef struct uv_connect_s uv_connect_t; +typedef struct uv_udp_send_s uv_udp_send_t; +typedef struct uv_fs_s uv_fs_t; +typedef struct uv_work_s uv_work_t; + +/* None of the above. */ +typedef struct uv_cpu_info_s uv_cpu_info_t; +typedef struct uv_interface_address_s uv_interface_address_t; +typedef struct uv_dirent_s uv_dirent_t; +typedef struct uv_passwd_s uv_passwd_t; + +typedef enum { + UV_LOOP_BLOCK_SIGNAL +} uv_loop_option; + +typedef enum { + UV_RUN_DEFAULT = 0, + UV_RUN_ONCE, + UV_RUN_NOWAIT +} uv_run_mode; + + +UV_EXTERN unsigned int uv_version(void); +UV_EXTERN const char* uv_version_string(void); + +typedef void* (*uv_malloc_func)(size_t size); +typedef void* (*uv_realloc_func)(void* ptr, size_t size); +typedef void* (*uv_calloc_func)(size_t count, size_t size); +typedef void (*uv_free_func)(void* ptr); + +UV_EXTERN int uv_replace_allocator(uv_malloc_func malloc_func, + uv_realloc_func realloc_func, + uv_calloc_func calloc_func, + uv_free_func free_func); + +UV_EXTERN uv_loop_t* uv_default_loop(void); +UV_EXTERN int uv_loop_init(uv_loop_t* loop); +UV_EXTERN int uv_loop_close(uv_loop_t* loop); +/* + * NOTE: + * This function is DEPRECATED (to be removed after 0.12), users should + * allocate the loop manually and use uv_loop_init instead. + */ +UV_EXTERN uv_loop_t* uv_loop_new(void); +/* + * NOTE: + * This function is DEPRECATED (to be removed after 0.12). Users should use + * uv_loop_close and free the memory manually instead. + */ +UV_EXTERN void uv_loop_delete(uv_loop_t*); +UV_EXTERN size_t uv_loop_size(void); +UV_EXTERN int uv_loop_alive(const uv_loop_t* loop); +UV_EXTERN int uv_loop_configure(uv_loop_t* loop, uv_loop_option option, ...); +UV_EXTERN int uv_loop_fork(uv_loop_t* loop); + +UV_EXTERN int uv_run(uv_loop_t*, uv_run_mode mode); +UV_EXTERN void uv_stop(uv_loop_t*); + +UV_EXTERN void uv_ref(uv_handle_t*); +UV_EXTERN void uv_unref(uv_handle_t*); +UV_EXTERN int uv_has_ref(const uv_handle_t*); + +UV_EXTERN void uv_update_time(uv_loop_t*); +UV_EXTERN uint64_t uv_now(const uv_loop_t*); + +UV_EXTERN int uv_backend_fd(const uv_loop_t*); +UV_EXTERN int uv_backend_timeout(const uv_loop_t*); + +typedef void (*uv_alloc_cb)(uv_handle_t* handle, + size_t suggested_size, + uv_buf_t* buf); +typedef void (*uv_read_cb)(uv_stream_t* stream, + ssize_t nread, + const uv_buf_t* buf); +typedef void (*uv_write_cb)(uv_write_t* req, int status); +typedef void (*uv_connect_cb)(uv_connect_t* req, int status); +typedef void (*uv_shutdown_cb)(uv_shutdown_t* req, int status); +typedef void (*uv_connection_cb)(uv_stream_t* server, int status); +typedef void (*uv_close_cb)(uv_handle_t* handle); +typedef void (*uv_poll_cb)(uv_poll_t* handle, int status, int events); +typedef void (*uv_timer_cb)(uv_timer_t* handle); +typedef void (*uv_async_cb)(uv_async_t* handle); +typedef void (*uv_prepare_cb)(uv_prepare_t* handle); +typedef void (*uv_check_cb)(uv_check_t* handle); +typedef void (*uv_idle_cb)(uv_idle_t* handle); +typedef void (*uv_exit_cb)(uv_process_t*, int64_t exit_status, int term_signal); +typedef void (*uv_walk_cb)(uv_handle_t* handle, void* arg); +typedef void (*uv_fs_cb)(uv_fs_t* req); +typedef void (*uv_work_cb)(uv_work_t* req); +typedef void (*uv_after_work_cb)(uv_work_t* req, int status); +typedef void (*uv_getaddrinfo_cb)(uv_getaddrinfo_t* req, + int status, + struct addrinfo* res); +typedef void (*uv_getnameinfo_cb)(uv_getnameinfo_t* req, + int status, + const char* hostname, + const char* service); + +typedef struct { + long tv_sec; + long tv_nsec; +} uv_timespec_t; + + +typedef struct { + uint64_t st_dev; + uint64_t st_mode; + uint64_t st_nlink; + uint64_t st_uid; + uint64_t st_gid; + uint64_t st_rdev; + uint64_t st_ino; + uint64_t st_size; + uint64_t st_blksize; + uint64_t st_blocks; + uint64_t st_flags; + uint64_t st_gen; + uv_timespec_t st_atim; + uv_timespec_t st_mtim; + uv_timespec_t st_ctim; + uv_timespec_t st_birthtim; +} uv_stat_t; + + +typedef void (*uv_fs_event_cb)(uv_fs_event_t* handle, + const char* filename, + int events, + int status); + +typedef void (*uv_fs_poll_cb)(uv_fs_poll_t* handle, + int status, + const uv_stat_t* prev, + const uv_stat_t* curr); + +typedef void (*uv_signal_cb)(uv_signal_t* handle, int signum); + + +typedef enum { + UV_LEAVE_GROUP = 0, + UV_JOIN_GROUP +} uv_membership; + + +UV_EXTERN int uv_translate_sys_error(int sys_errno); + +UV_EXTERN const char* uv_strerror(int err); +UV_EXTERN const char* uv_err_name(int err); + + +#define UV_REQ_FIELDS \ + /* public */ \ + void* data; \ + /* read-only */ \ + uv_req_type type; \ + /* private */ \ + void* active_queue[2]; \ + void* reserved[4]; \ + UV_REQ_PRIVATE_FIELDS \ + +/* Abstract base class of all requests. */ +struct uv_req_s { + UV_REQ_FIELDS +}; + + +/* Platform-specific request types. */ +UV_PRIVATE_REQ_TYPES + + +UV_EXTERN int uv_shutdown(uv_shutdown_t* req, + uv_stream_t* handle, + uv_shutdown_cb cb); + +struct uv_shutdown_s { + UV_REQ_FIELDS + uv_stream_t* handle; + uv_shutdown_cb cb; + UV_SHUTDOWN_PRIVATE_FIELDS +}; + + +#define UV_HANDLE_FIELDS \ + /* public */ \ + void* data; \ + /* read-only */ \ + uv_loop_t* loop; \ + uv_handle_type type; \ + /* private */ \ + uv_close_cb close_cb; \ + void* handle_queue[2]; \ + union { \ + int fd; \ + void* reserved[4]; \ + } u; \ + UV_HANDLE_PRIVATE_FIELDS \ + +/* The abstract base class of all handles. */ +struct uv_handle_s { + UV_HANDLE_FIELDS +}; + +UV_EXTERN size_t uv_handle_size(uv_handle_type type); +UV_EXTERN size_t uv_req_size(uv_req_type type); + +UV_EXTERN int uv_is_active(const uv_handle_t* handle); + +UV_EXTERN void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg); + +/* Helpers for ad hoc debugging, no API/ABI stability guaranteed. */ +UV_EXTERN void uv_print_all_handles(uv_loop_t* loop, FILE* stream); +UV_EXTERN void uv_print_active_handles(uv_loop_t* loop, FILE* stream); + +UV_EXTERN void uv_close(uv_handle_t* handle, uv_close_cb close_cb); + +UV_EXTERN int uv_send_buffer_size(uv_handle_t* handle, int* value); +UV_EXTERN int uv_recv_buffer_size(uv_handle_t* handle, int* value); + +UV_EXTERN int uv_fileno(const uv_handle_t* handle, uv_os_fd_t* fd); + +UV_EXTERN uv_buf_t uv_buf_init(char* base, unsigned int len); + + +#define UV_STREAM_FIELDS \ + /* number of bytes queued for writing */ \ + size_t write_queue_size; \ + uv_alloc_cb alloc_cb; \ + uv_read_cb read_cb; \ + /* private */ \ + UV_STREAM_PRIVATE_FIELDS + +/* + * uv_stream_t is a subclass of uv_handle_t. + * + * uv_stream is an abstract class. + * + * uv_stream_t is the parent class of uv_tcp_t, uv_pipe_t and uv_tty_t. + */ +struct uv_stream_s { + UV_HANDLE_FIELDS + UV_STREAM_FIELDS +}; + +UV_EXTERN int uv_listen(uv_stream_t* stream, int backlog, uv_connection_cb cb); +UV_EXTERN int uv_accept(uv_stream_t* server, uv_stream_t* client); + +UV_EXTERN int uv_read_start(uv_stream_t*, + uv_alloc_cb alloc_cb, + uv_read_cb read_cb); +UV_EXTERN int uv_read_stop(uv_stream_t*); + +UV_EXTERN int uv_write(uv_write_t* req, + uv_stream_t* handle, + const uv_buf_t bufs[], + unsigned int nbufs, + uv_write_cb cb); +UV_EXTERN int uv_write2(uv_write_t* req, + uv_stream_t* handle, + const uv_buf_t bufs[], + unsigned int nbufs, + uv_stream_t* send_handle, + uv_write_cb cb); +UV_EXTERN int uv_try_write(uv_stream_t* handle, + const uv_buf_t bufs[], + unsigned int nbufs); + +/* uv_write_t is a subclass of uv_req_t. */ +struct uv_write_s { + UV_REQ_FIELDS + uv_write_cb cb; + uv_stream_t* send_handle; + uv_stream_t* handle; + UV_WRITE_PRIVATE_FIELDS +}; + + +UV_EXTERN int uv_is_readable(const uv_stream_t* handle); +UV_EXTERN int uv_is_writable(const uv_stream_t* handle); + +UV_EXTERN int uv_stream_set_blocking(uv_stream_t* handle, int blocking); + +UV_EXTERN int uv_is_closing(const uv_handle_t* handle); + + +/* + * uv_tcp_t is a subclass of uv_stream_t. + * + * Represents a TCP stream or TCP server. + */ +struct uv_tcp_s { + UV_HANDLE_FIELDS + UV_STREAM_FIELDS + UV_TCP_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_tcp_init(uv_loop_t*, uv_tcp_t* handle); +UV_EXTERN int uv_tcp_init_ex(uv_loop_t*, uv_tcp_t* handle, unsigned int flags); +UV_EXTERN int uv_tcp_open(uv_tcp_t* handle, uv_os_sock_t sock); +UV_EXTERN int uv_tcp_nodelay(uv_tcp_t* handle, int enable); +UV_EXTERN int uv_tcp_keepalive(uv_tcp_t* handle, + int enable, + unsigned int delay); +UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable); + +enum uv_tcp_flags { + /* Used with uv_tcp_bind, when an IPv6 address is used. */ + UV_TCP_IPV6ONLY = 1 +}; + +UV_EXTERN int uv_tcp_bind(uv_tcp_t* handle, + const struct sockaddr* addr, + unsigned int flags); +UV_EXTERN int uv_tcp_getsockname(const uv_tcp_t* handle, + struct sockaddr* name, + int* namelen); +UV_EXTERN int uv_tcp_getpeername(const uv_tcp_t* handle, + struct sockaddr* name, + int* namelen); +UV_EXTERN int uv_tcp_connect(uv_connect_t* req, + uv_tcp_t* handle, + const struct sockaddr* addr, + uv_connect_cb cb); + +/* uv_connect_t is a subclass of uv_req_t. */ +struct uv_connect_s { + UV_REQ_FIELDS + uv_connect_cb cb; + uv_stream_t* handle; + UV_CONNECT_PRIVATE_FIELDS +}; + + +/* + * UDP support. + */ + +enum uv_udp_flags { + /* Disables dual stack mode. */ + UV_UDP_IPV6ONLY = 1, + /* + * Indicates message was truncated because read buffer was too small. The + * remainder was discarded by the OS. Used in uv_udp_recv_cb. + */ + UV_UDP_PARTIAL = 2, + /* + * Indicates if SO_REUSEADDR will be set when binding the handle. + * This sets the SO_REUSEPORT socket flag on the BSDs and OS X. On other + * Unix platforms, it sets the SO_REUSEADDR flag. What that means is that + * multiple threads or processes can bind to the same address without error + * (provided they all set the flag) but only the last one to bind will receive + * any traffic, in effect "stealing" the port from the previous listener. + */ + UV_UDP_REUSEADDR = 4 +}; + +typedef void (*uv_udp_send_cb)(uv_udp_send_t* req, int status); +typedef void (*uv_udp_recv_cb)(uv_udp_t* handle, + ssize_t nread, + const uv_buf_t* buf, + const struct sockaddr* addr, + unsigned flags); + +/* uv_udp_t is a subclass of uv_handle_t. */ +struct uv_udp_s { + UV_HANDLE_FIELDS + /* read-only */ + /* + * Number of bytes queued for sending. This field strictly shows how much + * information is currently queued. + */ + size_t send_queue_size; + /* + * Number of send requests currently in the queue awaiting to be processed. + */ + size_t send_queue_count; + UV_UDP_PRIVATE_FIELDS +}; + +/* uv_udp_send_t is a subclass of uv_req_t. */ +struct uv_udp_send_s { + UV_REQ_FIELDS + uv_udp_t* handle; + uv_udp_send_cb cb; + UV_UDP_SEND_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_udp_init(uv_loop_t*, uv_udp_t* handle); +UV_EXTERN int uv_udp_init_ex(uv_loop_t*, uv_udp_t* handle, unsigned int flags); +UV_EXTERN int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock); +UV_EXTERN int uv_udp_bind(uv_udp_t* handle, + const struct sockaddr* addr, + unsigned int flags); + +UV_EXTERN int uv_udp_getsockname(const uv_udp_t* handle, + struct sockaddr* name, + int* namelen); +UV_EXTERN int uv_udp_set_membership(uv_udp_t* handle, + const char* multicast_addr, + const char* interface_addr, + uv_membership membership); +UV_EXTERN int uv_udp_set_multicast_loop(uv_udp_t* handle, int on); +UV_EXTERN int uv_udp_set_multicast_ttl(uv_udp_t* handle, int ttl); +UV_EXTERN int uv_udp_set_multicast_interface(uv_udp_t* handle, + const char* interface_addr); +UV_EXTERN int uv_udp_set_broadcast(uv_udp_t* handle, int on); +UV_EXTERN int uv_udp_set_ttl(uv_udp_t* handle, int ttl); +UV_EXTERN int uv_udp_send(uv_udp_send_t* req, + uv_udp_t* handle, + const uv_buf_t bufs[], + unsigned int nbufs, + const struct sockaddr* addr, + uv_udp_send_cb send_cb); +UV_EXTERN int uv_udp_try_send(uv_udp_t* handle, + const uv_buf_t bufs[], + unsigned int nbufs, + const struct sockaddr* addr); +UV_EXTERN int uv_udp_recv_start(uv_udp_t* handle, + uv_alloc_cb alloc_cb, + uv_udp_recv_cb recv_cb); +UV_EXTERN int uv_udp_recv_stop(uv_udp_t* handle); + + +/* + * uv_tty_t is a subclass of uv_stream_t. + * + * Representing a stream for the console. + */ +struct uv_tty_s { + UV_HANDLE_FIELDS + UV_STREAM_FIELDS + UV_TTY_PRIVATE_FIELDS +}; + +typedef enum { + /* Initial/normal terminal mode */ + UV_TTY_MODE_NORMAL, + /* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled) */ + UV_TTY_MODE_RAW, + /* Binary-safe I/O mode for IPC (Unix-only) */ + UV_TTY_MODE_IO +} uv_tty_mode_t; + +UV_EXTERN int uv_tty_init(uv_loop_t*, uv_tty_t*, uv_file fd, int readable); +UV_EXTERN int uv_tty_set_mode(uv_tty_t*, uv_tty_mode_t mode); +UV_EXTERN int uv_tty_reset_mode(void); +UV_EXTERN int uv_tty_get_winsize(uv_tty_t*, int* width, int* height); + +#ifdef __cplusplus +extern "C++" { + +inline int uv_tty_set_mode(uv_tty_t* handle, int mode) { + return uv_tty_set_mode(handle, static_cast(mode)); +} + +} +#endif + +UV_EXTERN uv_handle_type uv_guess_handle(uv_file file); + +/* + * uv_pipe_t is a subclass of uv_stream_t. + * + * Representing a pipe stream or pipe server. On Windows this is a Named + * Pipe. On Unix this is a Unix domain socket. + */ +struct uv_pipe_s { + UV_HANDLE_FIELDS + UV_STREAM_FIELDS + int ipc; /* non-zero if this pipe is used for passing handles */ + UV_PIPE_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc); +UV_EXTERN int uv_pipe_open(uv_pipe_t*, uv_file file); +UV_EXTERN int uv_pipe_bind(uv_pipe_t* handle, const char* name); +UV_EXTERN void uv_pipe_connect(uv_connect_t* req, + uv_pipe_t* handle, + const char* name, + uv_connect_cb cb); +UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle, + char* buffer, + size_t* size); +UV_EXTERN int uv_pipe_getpeername(const uv_pipe_t* handle, + char* buffer, + size_t* size); +UV_EXTERN void uv_pipe_pending_instances(uv_pipe_t* handle, int count); +UV_EXTERN int uv_pipe_pending_count(uv_pipe_t* handle); +UV_EXTERN uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle); + + +struct uv_poll_s { + UV_HANDLE_FIELDS + uv_poll_cb poll_cb; + UV_POLL_PRIVATE_FIELDS +}; + +enum uv_poll_event { + UV_READABLE = 1, + UV_WRITABLE = 2, + UV_DISCONNECT = 4 +}; + +UV_EXTERN int uv_poll_init(uv_loop_t* loop, uv_poll_t* handle, int fd); +UV_EXTERN int uv_poll_init_socket(uv_loop_t* loop, + uv_poll_t* handle, + uv_os_sock_t socket); +UV_EXTERN int uv_poll_start(uv_poll_t* handle, int events, uv_poll_cb cb); +UV_EXTERN int uv_poll_stop(uv_poll_t* handle); + + +struct uv_prepare_s { + UV_HANDLE_FIELDS + UV_PREPARE_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_prepare_init(uv_loop_t*, uv_prepare_t* prepare); +UV_EXTERN int uv_prepare_start(uv_prepare_t* prepare, uv_prepare_cb cb); +UV_EXTERN int uv_prepare_stop(uv_prepare_t* prepare); + + +struct uv_check_s { + UV_HANDLE_FIELDS + UV_CHECK_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_check_init(uv_loop_t*, uv_check_t* check); +UV_EXTERN int uv_check_start(uv_check_t* check, uv_check_cb cb); +UV_EXTERN int uv_check_stop(uv_check_t* check); + + +struct uv_idle_s { + UV_HANDLE_FIELDS + UV_IDLE_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_idle_init(uv_loop_t*, uv_idle_t* idle); +UV_EXTERN int uv_idle_start(uv_idle_t* idle, uv_idle_cb cb); +UV_EXTERN int uv_idle_stop(uv_idle_t* idle); + + +struct uv_async_s { + UV_HANDLE_FIELDS + UV_ASYNC_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_async_init(uv_loop_t*, + uv_async_t* async, + uv_async_cb async_cb); +UV_EXTERN int uv_async_send(uv_async_t* async); + + +/* + * uv_timer_t is a subclass of uv_handle_t. + * + * Used to get woken up at a specified time in the future. + */ +struct uv_timer_s { + UV_HANDLE_FIELDS + UV_TIMER_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_timer_init(uv_loop_t*, uv_timer_t* handle); +UV_EXTERN int uv_timer_start(uv_timer_t* handle, + uv_timer_cb cb, + uint64_t timeout, + uint64_t repeat); +UV_EXTERN int uv_timer_stop(uv_timer_t* handle); +UV_EXTERN int uv_timer_again(uv_timer_t* handle); +UV_EXTERN void uv_timer_set_repeat(uv_timer_t* handle, uint64_t repeat); +UV_EXTERN uint64_t uv_timer_get_repeat(const uv_timer_t* handle); + + +/* + * uv_getaddrinfo_t is a subclass of uv_req_t. + * + * Request object for uv_getaddrinfo. + */ +struct uv_getaddrinfo_s { + UV_REQ_FIELDS + /* read-only */ + uv_loop_t* loop; + /* struct addrinfo* addrinfo is marked as private, but it really isn't. */ + UV_GETADDRINFO_PRIVATE_FIELDS +}; + + +UV_EXTERN int uv_getaddrinfo(uv_loop_t* loop, + uv_getaddrinfo_t* req, + uv_getaddrinfo_cb getaddrinfo_cb, + const char* node, + const char* service, + const struct addrinfo* hints); +UV_EXTERN void uv_freeaddrinfo(struct addrinfo* ai); + + +/* +* uv_getnameinfo_t is a subclass of uv_req_t. +* +* Request object for uv_getnameinfo. +*/ +struct uv_getnameinfo_s { + UV_REQ_FIELDS + /* read-only */ + uv_loop_t* loop; + /* host and service are marked as private, but they really aren't. */ + UV_GETNAMEINFO_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_getnameinfo(uv_loop_t* loop, + uv_getnameinfo_t* req, + uv_getnameinfo_cb getnameinfo_cb, + const struct sockaddr* addr, + int flags); + + +/* uv_spawn() options. */ +typedef enum { + UV_IGNORE = 0x00, + UV_CREATE_PIPE = 0x01, + UV_INHERIT_FD = 0x02, + UV_INHERIT_STREAM = 0x04, + + /* + * When UV_CREATE_PIPE is specified, UV_READABLE_PIPE and UV_WRITABLE_PIPE + * determine the direction of flow, from the child process' perspective. Both + * flags may be specified to create a duplex data stream. + */ + UV_READABLE_PIPE = 0x10, + UV_WRITABLE_PIPE = 0x20 +} uv_stdio_flags; + +typedef struct uv_stdio_container_s { + uv_stdio_flags flags; + + union { + uv_stream_t* stream; + int fd; + } data; +} uv_stdio_container_t; + +typedef struct uv_process_options_s { + uv_exit_cb exit_cb; /* Called after the process exits. */ + const char* file; /* Path to program to execute. */ + /* + * Command line arguments. args[0] should be the path to the program. On + * Windows this uses CreateProcess which concatenates the arguments into a + * string this can cause some strange errors. See the note at + * windows_verbatim_arguments. + */ + char** args; + /* + * This will be set as the environ variable in the subprocess. If this is + * NULL then the parents environ will be used. + */ + char** env; + /* + * If non-null this represents a directory the subprocess should execute + * in. Stands for current working directory. + */ + const char* cwd; + /* + * Various flags that control how uv_spawn() behaves. See the definition of + * `enum uv_process_flags` below. + */ + unsigned int flags; + /* + * The `stdio` field points to an array of uv_stdio_container_t structs that + * describe the file descriptors that will be made available to the child + * process. The convention is that stdio[0] points to stdin, fd 1 is used for + * stdout, and fd 2 is stderr. + * + * Note that on windows file descriptors greater than 2 are available to the + * child process only if the child processes uses the MSVCRT runtime. + */ + int stdio_count; + uv_stdio_container_t* stdio; + /* + * Libuv can change the child process' user/group id. This happens only when + * the appropriate bits are set in the flags fields. This is not supported on + * windows; uv_spawn() will fail and set the error to UV_ENOTSUP. + */ + uv_uid_t uid; + uv_gid_t gid; +} uv_process_options_t; + +/* + * These are the flags that can be used for the uv_process_options.flags field. + */ +enum uv_process_flags { + /* + * Set the child process' user id. The user id is supplied in the `uid` field + * of the options struct. This does not work on windows; setting this flag + * will cause uv_spawn() to fail. + */ + UV_PROCESS_SETUID = (1 << 0), + /* + * Set the child process' group id. The user id is supplied in the `gid` + * field of the options struct. This does not work on windows; setting this + * flag will cause uv_spawn() to fail. + */ + UV_PROCESS_SETGID = (1 << 1), + /* + * Do not wrap any arguments in quotes, or perform any other escaping, when + * converting the argument list into a command line string. This option is + * only meaningful on Windows systems. On Unix it is silently ignored. + */ + UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS = (1 << 2), + /* + * Spawn the child process in a detached state - this will make it a process + * group leader, and will effectively enable the child to keep running after + * the parent exits. Note that the child process will still keep the + * parent's event loop alive unless the parent process calls uv_unref() on + * the child's process handle. + */ + UV_PROCESS_DETACHED = (1 << 3), + /* + * Hide the subprocess console window that would normally be created. This + * option is only meaningful on Windows systems. On Unix it is silently + * ignored. + */ + UV_PROCESS_WINDOWS_HIDE = (1 << 4) +}; + +/* + * uv_process_t is a subclass of uv_handle_t. + */ +struct uv_process_s { + UV_HANDLE_FIELDS + uv_exit_cb exit_cb; + int pid; + UV_PROCESS_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_spawn(uv_loop_t* loop, + uv_process_t* handle, + const uv_process_options_t* options); +UV_EXTERN int uv_process_kill(uv_process_t*, int signum); +UV_EXTERN int uv_kill(int pid, int signum); + + +/* + * uv_work_t is a subclass of uv_req_t. + */ +struct uv_work_s { + UV_REQ_FIELDS + uv_loop_t* loop; + uv_work_cb work_cb; + uv_after_work_cb after_work_cb; + UV_WORK_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_queue_work(uv_loop_t* loop, + uv_work_t* req, + uv_work_cb work_cb, + uv_after_work_cb after_work_cb); + +UV_EXTERN int uv_cancel(uv_req_t* req); + + +struct uv_cpu_info_s { + char* model; + int speed; + struct uv_cpu_times_s { + uint64_t user; + uint64_t nice; + uint64_t sys; + uint64_t idle; + uint64_t irq; + } cpu_times; +}; + +struct uv_interface_address_s { + char* name; + char phys_addr[6]; + int is_internal; + union { + struct sockaddr_in address4; + struct sockaddr_in6 address6; + } address; + union { + struct sockaddr_in netmask4; + struct sockaddr_in6 netmask6; + } netmask; +}; + +struct uv_passwd_s { + char* username; + long uid; + long gid; + char* shell; + char* homedir; +}; + +typedef enum { + UV_DIRENT_UNKNOWN, + UV_DIRENT_FILE, + UV_DIRENT_DIR, + UV_DIRENT_LINK, + UV_DIRENT_FIFO, + UV_DIRENT_SOCKET, + UV_DIRENT_CHAR, + UV_DIRENT_BLOCK +} uv_dirent_type_t; + +struct uv_dirent_s { + const char* name; + uv_dirent_type_t type; +}; + +UV_EXTERN char** uv_setup_args(int argc, char** argv); +UV_EXTERN int uv_get_process_title(char* buffer, size_t size); +UV_EXTERN int uv_set_process_title(const char* title); +UV_EXTERN int uv_resident_set_memory(size_t* rss); +UV_EXTERN int uv_uptime(double* uptime); +UV_EXTERN uv_os_fd_t uv_get_osfhandle(int fd); + +typedef struct { + long tv_sec; + long tv_usec; +} uv_timeval_t; + +typedef struct { + uv_timeval_t ru_utime; /* user CPU time used */ + uv_timeval_t ru_stime; /* system CPU time used */ + uint64_t ru_maxrss; /* maximum resident set size */ + uint64_t ru_ixrss; /* integral shared memory size */ + uint64_t ru_idrss; /* integral unshared data size */ + uint64_t ru_isrss; /* integral unshared stack size */ + uint64_t ru_minflt; /* page reclaims (soft page faults) */ + uint64_t ru_majflt; /* page faults (hard page faults) */ + uint64_t ru_nswap; /* swaps */ + uint64_t ru_inblock; /* block input operations */ + uint64_t ru_oublock; /* block output operations */ + uint64_t ru_msgsnd; /* IPC messages sent */ + uint64_t ru_msgrcv; /* IPC messages received */ + uint64_t ru_nsignals; /* signals received */ + uint64_t ru_nvcsw; /* voluntary context switches */ + uint64_t ru_nivcsw; /* involuntary context switches */ +} uv_rusage_t; + +UV_EXTERN int uv_getrusage(uv_rusage_t* rusage); + +UV_EXTERN int uv_os_homedir(char* buffer, size_t* size); +UV_EXTERN int uv_os_tmpdir(char* buffer, size_t* size); +UV_EXTERN int uv_os_get_passwd(uv_passwd_t* pwd); +UV_EXTERN void uv_os_free_passwd(uv_passwd_t* pwd); + +UV_EXTERN int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count); +UV_EXTERN void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count); + +UV_EXTERN int uv_interface_addresses(uv_interface_address_t** addresses, + int* count); +UV_EXTERN void uv_free_interface_addresses(uv_interface_address_t* addresses, + int count); + +UV_EXTERN int uv_os_getenv(const char* name, char* buffer, size_t* size); +UV_EXTERN int uv_os_setenv(const char* name, const char* value); +UV_EXTERN int uv_os_unsetenv(const char* name); + +UV_EXTERN int uv_os_gethostname(char* buffer, size_t* size); + + +typedef enum { + UV_FS_UNKNOWN = -1, + UV_FS_CUSTOM, + UV_FS_OPEN, + UV_FS_CLOSE, + UV_FS_READ, + UV_FS_WRITE, + UV_FS_SENDFILE, + UV_FS_STAT, + UV_FS_LSTAT, + UV_FS_FSTAT, + UV_FS_FTRUNCATE, + UV_FS_UTIME, + UV_FS_FUTIME, + UV_FS_ACCESS, + UV_FS_CHMOD, + UV_FS_FCHMOD, + UV_FS_FSYNC, + UV_FS_FDATASYNC, + UV_FS_UNLINK, + UV_FS_RMDIR, + UV_FS_MKDIR, + UV_FS_MKDTEMP, + UV_FS_RENAME, + UV_FS_SCANDIR, + UV_FS_LINK, + UV_FS_SYMLINK, + UV_FS_READLINK, + UV_FS_CHOWN, + UV_FS_FCHOWN, + UV_FS_REALPATH +} uv_fs_type; + +/* uv_fs_t is a subclass of uv_req_t. */ +struct uv_fs_s { + UV_REQ_FIELDS + uv_fs_type fs_type; + uv_loop_t* loop; + uv_fs_cb cb; + ssize_t result; + void* ptr; + const char* path; + uv_stat_t statbuf; /* Stores the result of uv_fs_stat() and uv_fs_fstat(). */ + UV_FS_PRIVATE_FIELDS +}; + +UV_EXTERN void uv_fs_req_cleanup(uv_fs_t* req); +UV_EXTERN int uv_fs_close(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + uv_fs_cb cb); +UV_EXTERN int uv_fs_open(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + int flags, + int mode, + uv_fs_cb cb); +UV_EXTERN int uv_fs_read(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + const uv_buf_t bufs[], + unsigned int nbufs, + int64_t offset, + uv_fs_cb cb); +UV_EXTERN int uv_fs_unlink(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_fs_cb cb); +UV_EXTERN int uv_fs_write(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + const uv_buf_t bufs[], + unsigned int nbufs, + int64_t offset, + uv_fs_cb cb); +UV_EXTERN int uv_fs_mkdir(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + int mode, + uv_fs_cb cb); +UV_EXTERN int uv_fs_mkdtemp(uv_loop_t* loop, + uv_fs_t* req, + const char* tpl, + uv_fs_cb cb); +UV_EXTERN int uv_fs_rmdir(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_fs_cb cb); +UV_EXTERN int uv_fs_scandir(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + int flags, + uv_fs_cb cb); +UV_EXTERN int uv_fs_scandir_next(uv_fs_t* req, + uv_dirent_t* ent); +UV_EXTERN int uv_fs_stat(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_fs_cb cb); +UV_EXTERN int uv_fs_fstat(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + uv_fs_cb cb); +UV_EXTERN int uv_fs_rename(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + const char* new_path, + uv_fs_cb cb); +UV_EXTERN int uv_fs_fsync(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + uv_fs_cb cb); +UV_EXTERN int uv_fs_fdatasync(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + uv_fs_cb cb); +UV_EXTERN int uv_fs_ftruncate(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + int64_t offset, + uv_fs_cb cb); +UV_EXTERN int uv_fs_sendfile(uv_loop_t* loop, + uv_fs_t* req, + uv_file out_fd, + uv_file in_fd, + int64_t in_offset, + size_t length, + uv_fs_cb cb); +UV_EXTERN int uv_fs_access(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + int mode, + uv_fs_cb cb); +UV_EXTERN int uv_fs_chmod(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + int mode, + uv_fs_cb cb); +UV_EXTERN int uv_fs_utime(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + double atime, + double mtime, + uv_fs_cb cb); +UV_EXTERN int uv_fs_futime(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + double atime, + double mtime, + uv_fs_cb cb); +UV_EXTERN int uv_fs_lstat(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_fs_cb cb); +UV_EXTERN int uv_fs_link(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + const char* new_path, + uv_fs_cb cb); + +/* + * This flag can be used with uv_fs_symlink() on Windows to specify whether + * path argument points to a directory. + */ +#define UV_FS_SYMLINK_DIR 0x0001 + +/* + * This flag can be used with uv_fs_symlink() on Windows to specify whether + * the symlink is to be created using junction points. + */ +#define UV_FS_SYMLINK_JUNCTION 0x0002 + +UV_EXTERN int uv_fs_symlink(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + const char* new_path, + int flags, + uv_fs_cb cb); +UV_EXTERN int uv_fs_readlink(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_fs_cb cb); +UV_EXTERN int uv_fs_realpath(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_fs_cb cb); +UV_EXTERN int uv_fs_fchmod(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + int mode, + uv_fs_cb cb); +UV_EXTERN int uv_fs_chown(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_uid_t uid, + uv_gid_t gid, + uv_fs_cb cb); +UV_EXTERN int uv_fs_fchown(uv_loop_t* loop, + uv_fs_t* req, + uv_file file, + uv_uid_t uid, + uv_gid_t gid, + uv_fs_cb cb); + + +enum uv_fs_event { + UV_RENAME = 1, + UV_CHANGE = 2 +}; + + +struct uv_fs_event_s { + UV_HANDLE_FIELDS + /* private */ + char* path; + UV_FS_EVENT_PRIVATE_FIELDS +}; + + +/* + * uv_fs_stat() based polling file watcher. + */ +struct uv_fs_poll_s { + UV_HANDLE_FIELDS + /* Private, don't touch. */ + void* poll_ctx; +}; + +UV_EXTERN int uv_fs_poll_init(uv_loop_t* loop, uv_fs_poll_t* handle); +UV_EXTERN int uv_fs_poll_start(uv_fs_poll_t* handle, + uv_fs_poll_cb poll_cb, + const char* path, + unsigned int interval); +UV_EXTERN int uv_fs_poll_stop(uv_fs_poll_t* handle); +UV_EXTERN int uv_fs_poll_getpath(uv_fs_poll_t* handle, + char* buffer, + size_t* size); + + +struct uv_signal_s { + UV_HANDLE_FIELDS + uv_signal_cb signal_cb; + int signum; + UV_SIGNAL_PRIVATE_FIELDS +}; + +UV_EXTERN int uv_signal_init(uv_loop_t* loop, uv_signal_t* handle); +UV_EXTERN int uv_signal_start(uv_signal_t* handle, + uv_signal_cb signal_cb, + int signum); +UV_EXTERN int uv_signal_start_oneshot(uv_signal_t* handle, + uv_signal_cb signal_cb, + int signum); +UV_EXTERN int uv_signal_stop(uv_signal_t* handle); + +UV_EXTERN void uv_loadavg(double avg[3]); + + +/* + * Flags to be passed to uv_fs_event_start(). + */ +enum uv_fs_event_flags { + /* + * By default, if the fs event watcher is given a directory name, we will + * watch for all events in that directory. This flags overrides this behavior + * and makes fs_event report only changes to the directory entry itself. This + * flag does not affect individual files watched. + * This flag is currently not implemented yet on any backend. + */ + UV_FS_EVENT_WATCH_ENTRY = 1, + + /* + * By default uv_fs_event will try to use a kernel interface such as inotify + * or kqueue to detect events. This may not work on remote filesystems such + * as NFS mounts. This flag makes fs_event fall back to calling stat() on a + * regular interval. + * This flag is currently not implemented yet on any backend. + */ + UV_FS_EVENT_STAT = 2, + + /* + * By default, event watcher, when watching directory, is not registering + * (is ignoring) changes in it's subdirectories. + * This flag will override this behaviour on platforms that support it. + */ + UV_FS_EVENT_RECURSIVE = 4 +}; + + +UV_EXTERN int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle); +UV_EXTERN int uv_fs_event_start(uv_fs_event_t* handle, + uv_fs_event_cb cb, + const char* path, + unsigned int flags); +UV_EXTERN int uv_fs_event_stop(uv_fs_event_t* handle); +UV_EXTERN int uv_fs_event_getpath(uv_fs_event_t* handle, + char* buffer, + size_t* size); + +UV_EXTERN int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr); +UV_EXTERN int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr); + +UV_EXTERN int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size); +UV_EXTERN int uv_ip6_name(const struct sockaddr_in6* src, char* dst, size_t size); + +UV_EXTERN int uv_inet_ntop(int af, const void* src, char* dst, size_t size); +UV_EXTERN int uv_inet_pton(int af, const char* src, void* dst); + +UV_EXTERN int uv_exepath(char* buffer, size_t* size); + +UV_EXTERN int uv_cwd(char* buffer, size_t* size); + +UV_EXTERN int uv_chdir(const char* dir); + +UV_EXTERN uint64_t uv_get_free_memory(void); +UV_EXTERN uint64_t uv_get_total_memory(void); + +UV_EXTERN uint64_t uv_hrtime(void); + +UV_EXTERN void uv_disable_stdio_inheritance(void); + +UV_EXTERN int uv_dlopen(const char* filename, uv_lib_t* lib); +UV_EXTERN void uv_dlclose(uv_lib_t* lib); +UV_EXTERN int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr); +UV_EXTERN const char* uv_dlerror(const uv_lib_t* lib); + +UV_EXTERN int uv_mutex_init(uv_mutex_t* handle); +UV_EXTERN void uv_mutex_destroy(uv_mutex_t* handle); +UV_EXTERN void uv_mutex_lock(uv_mutex_t* handle); +UV_EXTERN int uv_mutex_trylock(uv_mutex_t* handle); +UV_EXTERN void uv_mutex_unlock(uv_mutex_t* handle); + +UV_EXTERN int uv_rwlock_init(uv_rwlock_t* rwlock); +UV_EXTERN void uv_rwlock_destroy(uv_rwlock_t* rwlock); +UV_EXTERN void uv_rwlock_rdlock(uv_rwlock_t* rwlock); +UV_EXTERN int uv_rwlock_tryrdlock(uv_rwlock_t* rwlock); +UV_EXTERN void uv_rwlock_rdunlock(uv_rwlock_t* rwlock); +UV_EXTERN void uv_rwlock_wrlock(uv_rwlock_t* rwlock); +UV_EXTERN int uv_rwlock_trywrlock(uv_rwlock_t* rwlock); +UV_EXTERN void uv_rwlock_wrunlock(uv_rwlock_t* rwlock); + +UV_EXTERN int uv_sem_init(uv_sem_t* sem, unsigned int value); +UV_EXTERN void uv_sem_destroy(uv_sem_t* sem); +UV_EXTERN void uv_sem_post(uv_sem_t* sem); +UV_EXTERN void uv_sem_wait(uv_sem_t* sem); +UV_EXTERN int uv_sem_trywait(uv_sem_t* sem); + +UV_EXTERN int uv_cond_init(uv_cond_t* cond); +UV_EXTERN void uv_cond_destroy(uv_cond_t* cond); +UV_EXTERN void uv_cond_signal(uv_cond_t* cond); +UV_EXTERN void uv_cond_broadcast(uv_cond_t* cond); + +UV_EXTERN int uv_barrier_init(uv_barrier_t* barrier, unsigned int count); +UV_EXTERN void uv_barrier_destroy(uv_barrier_t* barrier); +UV_EXTERN int uv_barrier_wait(uv_barrier_t* barrier); + +UV_EXTERN void uv_cond_wait(uv_cond_t* cond, uv_mutex_t* mutex); +UV_EXTERN int uv_cond_timedwait(uv_cond_t* cond, + uv_mutex_t* mutex, + uint64_t timeout); + +UV_EXTERN void uv_once(uv_once_t* guard, void (*callback)(void)); + +UV_EXTERN int uv_key_create(uv_key_t* key); +UV_EXTERN void uv_key_delete(uv_key_t* key); +UV_EXTERN void* uv_key_get(uv_key_t* key); +UV_EXTERN void uv_key_set(uv_key_t* key, void* value); + +typedef void (*uv_thread_cb)(void* arg); + +UV_EXTERN int uv_thread_create(uv_thread_t* tid, uv_thread_cb entry, void* arg); +UV_EXTERN uv_thread_t uv_thread_self(void); +UV_EXTERN int uv_thread_join(uv_thread_t *tid); +UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2); + +/* The presence of these unions force similar struct layout. */ +#define XX(_, name) uv_ ## name ## _t name; +union uv_any_handle { + UV_HANDLE_TYPE_MAP(XX) +}; + +union uv_any_req { + UV_REQ_TYPE_MAP(XX) +}; +#undef XX + + +struct uv_loop_s { + /* User data - use this for whatever. */ + void* data; + /* Loop reference counting. */ + unsigned int active_handles; + void* handle_queue[2]; + void* active_reqs[2]; + /* Internal flag to signal loop stop. */ + unsigned int stop_flag; + UV_LOOP_PRIVATE_FIELDS +}; + + +/* Don't export the private CPP symbols. */ +#undef UV_HANDLE_TYPE_PRIVATE +#undef UV_REQ_TYPE_PRIVATE +#undef UV_REQ_PRIVATE_FIELDS +#undef UV_STREAM_PRIVATE_FIELDS +#undef UV_TCP_PRIVATE_FIELDS +#undef UV_PREPARE_PRIVATE_FIELDS +#undef UV_CHECK_PRIVATE_FIELDS +#undef UV_IDLE_PRIVATE_FIELDS +#undef UV_ASYNC_PRIVATE_FIELDS +#undef UV_TIMER_PRIVATE_FIELDS +#undef UV_GETADDRINFO_PRIVATE_FIELDS +#undef UV_GETNAMEINFO_PRIVATE_FIELDS +#undef UV_FS_REQ_PRIVATE_FIELDS +#undef UV_WORK_PRIVATE_FIELDS +#undef UV_FS_EVENT_PRIVATE_FIELDS +#undef UV_SIGNAL_PRIVATE_FIELDS +#undef UV_LOOP_PRIVATE_FIELDS +#undef UV_LOOP_PRIVATE_PLATFORM_FIELDS + +#ifdef __cplusplus +} +#endif +#endif /* UV_H */ diff --git a/android/x86_64/include/v8/APIDesign.md b/android/x86_64/include/v8/APIDesign.md new file mode 100644 index 00000000..fe42c8ed --- /dev/null +++ b/android/x86_64/include/v8/APIDesign.md @@ -0,0 +1,72 @@ +# The V8 public C++ API + +# Overview + +The V8 public C++ API aims to support four use cases: + +1. Enable applications that embed V8 (called the embedder) to configure and run + one or more instances of V8. +2. Expose ECMAScript-like capabilities to the embedder. +3. Enable the embedder to interact with ECMAScript by exposing API objects. +4. Provide access to the V8 debugger (inspector). + +# Configuring and running an instance of V8 + +V8 requires access to certain OS-level primitives such as the ability to +schedule work on threads, or allocate memory. + +The embedder can define how to access those primitives via the v8::Platform +interface. While V8 bundles a basic implementation, embedders are highly +encouraged to implement v8::Platform themselves. + +Currently, the v8::ArrayBuffer::Allocator is passed to the v8::Isolate factory +method, however, conceptually it should also be part of the v8::Platform since +all instances of V8 should share one allocator. + +Once the v8::Platform is configured, an v8::Isolate can be created. All +further interactions with V8 should explicitly reference the v8::Isolate they +refer to. All API methods should eventually take an v8::Isolate parameter. + +When a given instance of V8 is no longer needed, it can be destroyed by +disposing the respective v8::Isolate. If the embedder wishes to free all memory +associated with the v8::Isolate, it has to first clear all global handles +associated with that v8::Isolate. + +# ECMAScript-like capabilities + +In general, the C++ API shouldn't enable capabilities that aren't available to +scripts running in V8. Experience has shown that it's not possible to maintain +such API methods in the long term. However, capabilities also available to +scripts, i.e., ones that are defined in the ECMAScript standard are there to +stay, and we can safely expose them to embedders. + +The C++ API should also be pleasant to use, and not require learning new +paradigms. Similarly to how the API exposed to scripts aims to provide good +ergonomics, we should aim to provide a reasonable developer experience for this +API surface. + +ECMAScript makes heavy use of exceptions, however, V8's C++ code doesn't use +C++ exceptions. Therefore, all API methods that can throw exceptions should +indicate so by returning a v8::Maybe<> or v8::MaybeLocal<> result, +and by taking a v8::Local<v8::Context> parameter that indicates in which +context a possible exception should be thrown. + +# API objects + +V8 allows embedders to define special objects that expose additional +capabilities and APIs to scripts. The most prominent example is exposing the +HTML DOM in Blink. Other examples are e.g. node.js. It is less clear what kind +of capabilities we want to expose via this API surface. As a rule of thumb, we +want to expose operations as defined in the WebIDL and HTML spec: we +assume that those requirements are somewhat stable, and that they are a +superset of the requirements of other embedders including node.js. + +Ideally, the API surfaces defined in those specs hook into the ECMAScript spec +which in turn guarantees long-term stability of the API. + +# The V8 inspector + +All debugging capabilities of V8 should be exposed via the inspector protocol. +The exception to this are profiling features exposed via v8-profiler.h. +Changes to the inspector protocol need to ensure backwards compatibility and +commitment to maintain. diff --git a/android/x86_64/include/v8/DEPS b/android/x86_64/include/v8/DEPS new file mode 100644 index 00000000..ca60f841 --- /dev/null +++ b/android/x86_64/include/v8/DEPS @@ -0,0 +1,4 @@ +include_rules = [ + # v8-inspector-protocol.h depends on generated files under include/inspector. + "+inspector", +] diff --git a/android/x86_64/include/v8/OWNERS b/android/x86_64/include/v8/OWNERS new file mode 100644 index 00000000..1e0794df --- /dev/null +++ b/android/x86_64/include/v8/OWNERS @@ -0,0 +1,18 @@ +adamk@chromium.org +danno@chromium.org +ulan@chromium.org +verwaest@chromium.org +yangguo@chromium.org + +per-file *DEPS=file:../COMMON_OWNERS +per-file v8-internal.h=file:../COMMON_OWNERS +per-file v8-inspector.h=dgozman@chromium.org +per-file v8-inspector.h=pfeldman@chromium.org +per-file v8-inspector.h=kozyatinskiy@chromium.org +per-file v8-inspector-protocol.h=dgozman@chromium.org +per-file v8-inspector-protocol.h=pfeldman@chromium.org +per-file v8-inspector-protocol.h=kozyatinskiy@chromium.org +per-file js_protocol.pdl=dgozman@chromium.org +per-file js_protocol.pdl=pfeldman@chromium.org + +# COMPONENT: Blink>JavaScript>API diff --git a/android/x86_64/include/v8/libplatform/DEPS b/android/x86_64/include/v8/libplatform/DEPS new file mode 100644 index 00000000..d8bcf998 --- /dev/null +++ b/android/x86_64/include/v8/libplatform/DEPS @@ -0,0 +1,9 @@ +include_rules = [ + "+libplatform/libplatform-export.h", +] + +specific_include_rules = { + "libplatform\.h": [ + "+libplatform/v8-tracing.h", + ], +} diff --git a/android/x86_64/include/v8/libplatform/libplatform-export.h b/android/x86_64/include/v8/libplatform/libplatform-export.h new file mode 100644 index 00000000..15618434 --- /dev/null +++ b/android/x86_64/include/v8/libplatform/libplatform-export.h @@ -0,0 +1,29 @@ +// Copyright 2016 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_LIBPLATFORM_LIBPLATFORM_EXPORT_H_ +#define V8_LIBPLATFORM_LIBPLATFORM_EXPORT_H_ + +#if defined(_WIN32) + +#ifdef BUILDING_V8_PLATFORM_SHARED +#define V8_PLATFORM_EXPORT __declspec(dllexport) +#elif USING_V8_PLATFORM_SHARED +#define V8_PLATFORM_EXPORT __declspec(dllimport) +#else +#define V8_PLATFORM_EXPORT +#endif // BUILDING_V8_PLATFORM_SHARED + +#else // defined(_WIN32) + +// Setup for Linux shared library export. +#ifdef BUILDING_V8_PLATFORM_SHARED +#define V8_PLATFORM_EXPORT __attribute__((visibility("default"))) +#else +#define V8_PLATFORM_EXPORT +#endif + +#endif // defined(_WIN32) + +#endif // V8_LIBPLATFORM_LIBPLATFORM_EXPORT_H_ diff --git a/android/x86_64/include/v8/libplatform/libplatform.h b/android/x86_64/include/v8/libplatform/libplatform.h new file mode 100644 index 00000000..18d585d6 --- /dev/null +++ b/android/x86_64/include/v8/libplatform/libplatform.h @@ -0,0 +1,83 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_LIBPLATFORM_LIBPLATFORM_H_ +#define V8_LIBPLATFORM_LIBPLATFORM_H_ + +#include + +#include "libplatform/libplatform-export.h" +#include "libplatform/v8-tracing.h" +#include "v8-platform.h" // NOLINT(build/include) +#include "v8config.h" // NOLINT(build/include) + +namespace v8 { +namespace platform { + +enum class IdleTaskSupport { kDisabled, kEnabled }; +enum class InProcessStackDumping { kDisabled, kEnabled }; + +enum class MessageLoopBehavior : bool { + kDoNotWait = false, + kWaitForWork = true +}; + +/** + * Returns a new instance of the default v8::Platform implementation. + * + * The caller will take ownership of the returned pointer. |thread_pool_size| + * is the number of worker threads to allocate for background jobs. If a value + * of zero is passed, a suitable default based on the current number of + * processors online will be chosen. + * If |idle_task_support| is enabled then the platform will accept idle + * tasks (IdleTasksEnabled will return true) and will rely on the embedder + * calling v8::platform::RunIdleTasks to process the idle tasks. + * If |tracing_controller| is nullptr, the default platform will create a + * v8::platform::TracingController instance and use it. + */ +V8_PLATFORM_EXPORT std::unique_ptr NewDefaultPlatform( + int thread_pool_size = 0, + IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled, + InProcessStackDumping in_process_stack_dumping = + InProcessStackDumping::kDisabled, + std::unique_ptr tracing_controller = {}); + +/** + * Pumps the message loop for the given isolate. + * + * The caller has to make sure that this is called from the right thread. + * Returns true if a task was executed, and false otherwise. Unless requested + * through the |behavior| parameter, this call does not block if no task is + * pending. The |platform| has to be created using |NewDefaultPlatform|. + */ +V8_PLATFORM_EXPORT bool PumpMessageLoop( + v8::Platform* platform, v8::Isolate* isolate, + MessageLoopBehavior behavior = MessageLoopBehavior::kDoNotWait); + +/** + * Runs pending idle tasks for at most |idle_time_in_seconds| seconds. + * + * The caller has to make sure that this is called from the right thread. + * This call does not block if no task is pending. The |platform| has to be + * created using |NewDefaultPlatform|. + */ +V8_PLATFORM_EXPORT void RunIdleTasks(v8::Platform* platform, + v8::Isolate* isolate, + double idle_time_in_seconds); + +/** + * Attempts to set the tracing controller for the given platform. + * + * The |platform| has to be created using |NewDefaultPlatform|. + * + */ +V8_DEPRECATE_SOON("Access the DefaultPlatform directly") +V8_PLATFORM_EXPORT void SetTracingController( + v8::Platform* platform, + v8::platform::tracing::TracingController* tracing_controller); + +} // namespace platform +} // namespace v8 + +#endif // V8_LIBPLATFORM_LIBPLATFORM_H_ diff --git a/android/x86_64/include/v8/libplatform/v8-tracing.h b/android/x86_64/include/v8/libplatform/v8-tracing.h new file mode 100644 index 00000000..79e6f62d --- /dev/null +++ b/android/x86_64/include/v8/libplatform/v8-tracing.h @@ -0,0 +1,318 @@ +// Copyright 2016 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_LIBPLATFORM_V8_TRACING_H_ +#define V8_LIBPLATFORM_V8_TRACING_H_ + +#include +#include +#include +#include +#include + +#include "libplatform/libplatform-export.h" +#include "v8-platform.h" // NOLINT(build/include) + +namespace perfetto { +class TracingSession; +} + +namespace v8 { + +namespace base { +class Mutex; +} // namespace base + +namespace platform { +namespace tracing { + +class TraceEventListener; +class JSONTraceEventListener; + +const int kTraceMaxNumArgs = 2; + +class V8_PLATFORM_EXPORT TraceObject { + public: + union ArgValue { + V8_DEPRECATED("use as_uint ? true : false") bool as_bool; + uint64_t as_uint; + int64_t as_int; + double as_double; + const void* as_pointer; + const char* as_string; + }; + + TraceObject() = default; + ~TraceObject(); + void Initialize( + char phase, const uint8_t* category_enabled_flag, const char* name, + const char* scope, uint64_t id, uint64_t bind_id, int num_args, + const char** arg_names, const uint8_t* arg_types, + const uint64_t* arg_values, + std::unique_ptr* arg_convertables, + unsigned int flags, int64_t timestamp, int64_t cpu_timestamp); + void UpdateDuration(int64_t timestamp, int64_t cpu_timestamp); + void InitializeForTesting( + char phase, const uint8_t* category_enabled_flag, const char* name, + const char* scope, uint64_t id, uint64_t bind_id, int num_args, + const char** arg_names, const uint8_t* arg_types, + const uint64_t* arg_values, + std::unique_ptr* arg_convertables, + unsigned int flags, int pid, int tid, int64_t ts, int64_t tts, + uint64_t duration, uint64_t cpu_duration); + + int pid() const { return pid_; } + int tid() const { return tid_; } + char phase() const { return phase_; } + const uint8_t* category_enabled_flag() const { + return category_enabled_flag_; + } + const char* name() const { return name_; } + const char* scope() const { return scope_; } + uint64_t id() const { return id_; } + uint64_t bind_id() const { return bind_id_; } + int num_args() const { return num_args_; } + const char** arg_names() { return arg_names_; } + uint8_t* arg_types() { return arg_types_; } + ArgValue* arg_values() { return arg_values_; } + std::unique_ptr* arg_convertables() { + return arg_convertables_; + } + unsigned int flags() const { return flags_; } + int64_t ts() { return ts_; } + int64_t tts() { return tts_; } + uint64_t duration() { return duration_; } + uint64_t cpu_duration() { return cpu_duration_; } + + private: + int pid_; + int tid_; + char phase_; + const char* name_; + const char* scope_; + const uint8_t* category_enabled_flag_; + uint64_t id_; + uint64_t bind_id_; + int num_args_ = 0; + const char* arg_names_[kTraceMaxNumArgs]; + uint8_t arg_types_[kTraceMaxNumArgs]; + ArgValue arg_values_[kTraceMaxNumArgs]; + std::unique_ptr + arg_convertables_[kTraceMaxNumArgs]; + char* parameter_copy_storage_ = nullptr; + unsigned int flags_; + int64_t ts_; + int64_t tts_; + uint64_t duration_; + uint64_t cpu_duration_; + + // Disallow copy and assign + TraceObject(const TraceObject&) = delete; + void operator=(const TraceObject&) = delete; +}; + +class V8_PLATFORM_EXPORT TraceWriter { + public: + TraceWriter() = default; + virtual ~TraceWriter() = default; + virtual void AppendTraceEvent(TraceObject* trace_event) = 0; + virtual void Flush() = 0; + + static TraceWriter* CreateJSONTraceWriter(std::ostream& stream); + static TraceWriter* CreateJSONTraceWriter(std::ostream& stream, + const std::string& tag); + + private: + // Disallow copy and assign + TraceWriter(const TraceWriter&) = delete; + void operator=(const TraceWriter&) = delete; +}; + +class V8_PLATFORM_EXPORT TraceBufferChunk { + public: + explicit TraceBufferChunk(uint32_t seq); + + void Reset(uint32_t new_seq); + bool IsFull() const { return next_free_ == kChunkSize; } + TraceObject* AddTraceEvent(size_t* event_index); + TraceObject* GetEventAt(size_t index) { return &chunk_[index]; } + + uint32_t seq() const { return seq_; } + size_t size() const { return next_free_; } + + static const size_t kChunkSize = 64; + + private: + size_t next_free_ = 0; + TraceObject chunk_[kChunkSize]; + uint32_t seq_; + + // Disallow copy and assign + TraceBufferChunk(const TraceBufferChunk&) = delete; + void operator=(const TraceBufferChunk&) = delete; +}; + +class V8_PLATFORM_EXPORT TraceBuffer { + public: + TraceBuffer() = default; + virtual ~TraceBuffer() = default; + + virtual TraceObject* AddTraceEvent(uint64_t* handle) = 0; + virtual TraceObject* GetEventByHandle(uint64_t handle) = 0; + virtual bool Flush() = 0; + + static const size_t kRingBufferChunks = 1024; + + static TraceBuffer* CreateTraceBufferRingBuffer(size_t max_chunks, + TraceWriter* trace_writer); + + private: + // Disallow copy and assign + TraceBuffer(const TraceBuffer&) = delete; + void operator=(const TraceBuffer&) = delete; +}; + +// Options determines how the trace buffer stores data. +enum TraceRecordMode { + // Record until the trace buffer is full. + RECORD_UNTIL_FULL, + + // Record until the user ends the trace. The trace buffer is a fixed size + // and we use it as a ring buffer during recording. + RECORD_CONTINUOUSLY, + + // Record until the trace buffer is full, but with a huge buffer size. + RECORD_AS_MUCH_AS_POSSIBLE, + + // Echo to console. Events are discarded. + ECHO_TO_CONSOLE, +}; + +class V8_PLATFORM_EXPORT TraceConfig { + public: + typedef std::vector StringList; + + static TraceConfig* CreateDefaultTraceConfig(); + + TraceConfig() : enable_systrace_(false), enable_argument_filter_(false) {} + TraceRecordMode GetTraceRecordMode() const { return record_mode_; } + bool IsSystraceEnabled() const { return enable_systrace_; } + bool IsArgumentFilterEnabled() const { return enable_argument_filter_; } + + void SetTraceRecordMode(TraceRecordMode mode) { record_mode_ = mode; } + void EnableSystrace() { enable_systrace_ = true; } + void EnableArgumentFilter() { enable_argument_filter_ = true; } + + void AddIncludedCategory(const char* included_category); + + bool IsCategoryGroupEnabled(const char* category_group) const; + + private: + TraceRecordMode record_mode_; + bool enable_systrace_ : 1; + bool enable_argument_filter_ : 1; + StringList included_categories_; + + // Disallow copy and assign + TraceConfig(const TraceConfig&) = delete; + void operator=(const TraceConfig&) = delete; +}; + +#if defined(_MSC_VER) +#define V8_PLATFORM_NON_EXPORTED_BASE(code) \ + __pragma(warning(suppress : 4275)) code +#else +#define V8_PLATFORM_NON_EXPORTED_BASE(code) code +#endif // defined(_MSC_VER) + +class V8_PLATFORM_EXPORT TracingController + : public V8_PLATFORM_NON_EXPORTED_BASE(v8::TracingController) { + public: + // The pointer returned from GetCategoryGroupEnabled() points to a value with + // zero or more of the following bits. Used in this class only. The + // TRACE_EVENT macros should only use the value as a bool. These values must + // be in sync with macro values in TraceEvent.h in Blink. + enum CategoryGroupEnabledFlags { + // Category group enabled for the recording mode. + ENABLED_FOR_RECORDING = 1 << 0, + // Category group enabled by SetEventCallbackEnabled(). + ENABLED_FOR_EVENT_CALLBACK = 1 << 2, + // Category group enabled to export events to ETW. + ENABLED_FOR_ETW_EXPORT = 1 << 3 + }; + + TracingController(); + ~TracingController() override; + + // Takes ownership of |trace_buffer|. + void Initialize(TraceBuffer* trace_buffer); +#ifdef V8_USE_PERFETTO + // Must be called before StartTracing() if V8_USE_PERFETTO is true. Provides + // the output stream for the JSON trace data. + void InitializeForPerfetto(std::ostream* output_stream); + // Provide an optional listener for testing that will receive trace events. + // Must be called before StartTracing(). + void SetTraceEventListenerForTesting(TraceEventListener* listener); +#endif + + // v8::TracingController implementation. + const uint8_t* GetCategoryGroupEnabled(const char* category_group) override; + uint64_t AddTraceEvent( + char phase, const uint8_t* category_enabled_flag, const char* name, + const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args, + const char** arg_names, const uint8_t* arg_types, + const uint64_t* arg_values, + std::unique_ptr* arg_convertables, + unsigned int flags) override; + uint64_t AddTraceEventWithTimestamp( + char phase, const uint8_t* category_enabled_flag, const char* name, + const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args, + const char** arg_names, const uint8_t* arg_types, + const uint64_t* arg_values, + std::unique_ptr* arg_convertables, + unsigned int flags, int64_t timestamp) override; + void UpdateTraceEventDuration(const uint8_t* category_enabled_flag, + const char* name, uint64_t handle) override; + void AddTraceStateObserver( + v8::TracingController::TraceStateObserver* observer) override; + void RemoveTraceStateObserver( + v8::TracingController::TraceStateObserver* observer) override; + + void StartTracing(TraceConfig* trace_config); + void StopTracing(); + + static const char* GetCategoryGroupName(const uint8_t* category_enabled_flag); + + protected: + virtual int64_t CurrentTimestampMicroseconds(); + virtual int64_t CurrentCpuTimestampMicroseconds(); + + private: + void UpdateCategoryGroupEnabledFlag(size_t category_index); + void UpdateCategoryGroupEnabledFlags(); + + std::unique_ptr trace_buffer_; + std::unique_ptr trace_config_; + std::unique_ptr mutex_; + std::unordered_set observers_; + std::atomic_bool recording_{false}; +#ifdef V8_USE_PERFETTO + std::ostream* output_stream_ = nullptr; + std::unique_ptr json_listener_; + TraceEventListener* listener_for_testing_ = nullptr; + std::unique_ptr tracing_session_; +#endif + + // Disallow copy and assign + TracingController(const TracingController&) = delete; + void operator=(const TracingController&) = delete; +}; + +#undef V8_PLATFORM_NON_EXPORTED_BASE + +} // namespace tracing +} // namespace platform +} // namespace v8 + +#endif // V8_LIBPLATFORM_V8_TRACING_H_ diff --git a/android/x86_64/include/v8/v8-inspector-protocol.h b/android/x86_64/include/v8/v8-inspector-protocol.h new file mode 100644 index 00000000..612a2ebc --- /dev/null +++ b/android/x86_64/include/v8/v8-inspector-protocol.h @@ -0,0 +1,13 @@ +// Copyright 2016 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_V8_INSPECTOR_PROTOCOL_H_ +#define V8_V8_INSPECTOR_PROTOCOL_H_ + +#include "inspector/Debugger.h" // NOLINT(build/include) +#include "inspector/Runtime.h" // NOLINT(build/include) +#include "inspector/Schema.h" // NOLINT(build/include) +#include "v8-inspector.h" // NOLINT(build/include) + +#endif // V8_V8_INSPECTOR_PROTOCOL_H_ diff --git a/android/x86_64/include/v8/v8-inspector.h b/android/x86_64/include/v8/v8-inspector.h new file mode 100644 index 00000000..3ec13256 --- /dev/null +++ b/android/x86_64/include/v8/v8-inspector.h @@ -0,0 +1,325 @@ +// Copyright 2016 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_V8_INSPECTOR_H_ +#define V8_V8_INSPECTOR_H_ + +#include +#include + +#include +#include + +#include "v8.h" // NOLINT(build/include) + +namespace v8_inspector { + +namespace protocol { +namespace Debugger { +namespace API { +class SearchMatch; +} +} +namespace Runtime { +namespace API { +class RemoteObject; +class StackTrace; +class StackTraceId; +} +} +namespace Schema { +namespace API { +class Domain; +} +} +} // namespace protocol + +class V8_EXPORT StringView { + public: + StringView() : m_is8Bit(true), m_length(0), m_characters8(nullptr) {} + + StringView(const uint8_t* characters, size_t length) + : m_is8Bit(true), m_length(length), m_characters8(characters) {} + + StringView(const uint16_t* characters, size_t length) + : m_is8Bit(false), m_length(length), m_characters16(characters) {} + + bool is8Bit() const { return m_is8Bit; } + size_t length() const { return m_length; } + + // TODO(dgozman): add DCHECK(m_is8Bit) to accessors once platform can be used + // here. + const uint8_t* characters8() const { return m_characters8; } + const uint16_t* characters16() const { return m_characters16; } + + private: + bool m_is8Bit; + size_t m_length; + union { + const uint8_t* m_characters8; + const uint16_t* m_characters16; + }; +}; + +class V8_EXPORT StringBuffer { + public: + virtual ~StringBuffer() = default; + virtual const StringView& string() = 0; + // This method copies contents. + static std::unique_ptr create(const StringView&); +}; + +class V8_EXPORT V8ContextInfo { + public: + V8ContextInfo(v8::Local context, int contextGroupId, + const StringView& humanReadableName) + : context(context), + contextGroupId(contextGroupId), + humanReadableName(humanReadableName), + hasMemoryOnConsole(false) {} + + v8::Local context; + // Each v8::Context is a part of a group. The group id must be non-zero. + int contextGroupId; + StringView humanReadableName; + StringView origin; + StringView auxData; + bool hasMemoryOnConsole; + + static int executionContextId(v8::Local context); + + // Disallow copying and allocating this one. + enum NotNullTagEnum { NotNullLiteral }; + void* operator new(size_t) = delete; + void* operator new(size_t, NotNullTagEnum, void*) = delete; + void* operator new(size_t, void*) = delete; + V8ContextInfo(const V8ContextInfo&) = delete; + V8ContextInfo& operator=(const V8ContextInfo&) = delete; +}; + +class V8_EXPORT V8StackTrace { + public: + virtual StringView firstNonEmptySourceURL() const = 0; + virtual bool isEmpty() const = 0; + virtual StringView topSourceURL() const = 0; + virtual int topLineNumber() const = 0; + virtual int topColumnNumber() const = 0; + virtual StringView topScriptId() const = 0; + virtual StringView topFunctionName() const = 0; + + virtual ~V8StackTrace() = default; + virtual std::unique_ptr + buildInspectorObject() const = 0; + virtual std::unique_ptr + buildInspectorObject(int maxAsyncDepth) const = 0; + virtual std::unique_ptr toString() const = 0; + + // Safe to pass between threads, drops async chain. + virtual std::unique_ptr clone() = 0; +}; + +class V8_EXPORT V8InspectorSession { + public: + virtual ~V8InspectorSession() = default; + + // Cross-context inspectable values (DOM nodes in different worlds, etc.). + class V8_EXPORT Inspectable { + public: + virtual v8::Local get(v8::Local) = 0; + virtual ~Inspectable() = default; + }; + virtual void addInspectedObject(std::unique_ptr) = 0; + + // Dispatching protocol messages. + static bool canDispatchMethod(const StringView& method); + virtual void dispatchProtocolMessage(const StringView& message) = 0; + virtual std::vector state() = 0; + virtual std::vector> + supportedDomains() = 0; + + // Debugger actions. + virtual void schedulePauseOnNextStatement(const StringView& breakReason, + const StringView& breakDetails) = 0; + virtual void cancelPauseOnNextStatement() = 0; + virtual void breakProgram(const StringView& breakReason, + const StringView& breakDetails) = 0; + virtual void setSkipAllPauses(bool) = 0; + virtual void resume() = 0; + virtual void stepOver() = 0; + virtual std::vector> + searchInTextByLines(const StringView& text, const StringView& query, + bool caseSensitive, bool isRegex) = 0; + + // Remote objects. + virtual std::unique_ptr wrapObject( + v8::Local, v8::Local, const StringView& groupName, + bool generatePreview) = 0; + + virtual bool unwrapObject(std::unique_ptr* error, + const StringView& objectId, v8::Local*, + v8::Local*, + std::unique_ptr* objectGroup) = 0; + virtual void releaseObjectGroup(const StringView&) = 0; +}; + +class V8_EXPORT V8InspectorClient { + public: + virtual ~V8InspectorClient() = default; + + virtual void runMessageLoopOnPause(int contextGroupId) {} + virtual void quitMessageLoopOnPause() {} + virtual void runIfWaitingForDebugger(int contextGroupId) {} + + virtual void muteMetrics(int contextGroupId) {} + virtual void unmuteMetrics(int contextGroupId) {} + + virtual void beginUserGesture() {} + virtual void endUserGesture() {} + + virtual std::unique_ptr valueSubtype(v8::Local) { + return nullptr; + } + virtual bool formatAccessorsAsProperties(v8::Local) { + return false; + } + virtual bool isInspectableHeapObject(v8::Local) { return true; } + + virtual v8::Local ensureDefaultContextInGroup( + int contextGroupId) { + return v8::Local(); + } + virtual void beginEnsureAllContextsInGroup(int contextGroupId) {} + virtual void endEnsureAllContextsInGroup(int contextGroupId) {} + + virtual void installAdditionalCommandLineAPI(v8::Local, + v8::Local) {} + virtual void consoleAPIMessage(int contextGroupId, + v8::Isolate::MessageErrorLevel level, + const StringView& message, + const StringView& url, unsigned lineNumber, + unsigned columnNumber, V8StackTrace*) {} + virtual v8::MaybeLocal memoryInfo(v8::Isolate*, + v8::Local) { + return v8::MaybeLocal(); + } + + virtual void consoleTime(const StringView& title) {} + virtual void consoleTimeEnd(const StringView& title) {} + virtual void consoleTimeStamp(const StringView& title) {} + virtual void consoleClear(int contextGroupId) {} + virtual double currentTimeMS() { return 0; } + typedef void (*TimerCallback)(void*); + virtual void startRepeatingTimer(double, TimerCallback, void* data) {} + virtual void cancelTimer(void* data) {} + + // TODO(dgozman): this was added to support service worker shadow page. We + // should not connect at all. + virtual bool canExecuteScripts(int contextGroupId) { return true; } + + virtual void maxAsyncCallStackDepthChanged(int depth) {} + + virtual std::unique_ptr resourceNameToUrl( + const StringView& resourceName) { + return nullptr; + } +}; + +// These stack trace ids are intended to be passed between debuggers and be +// resolved later. This allows to track cross-debugger calls and step between +// them if a single client connects to multiple debuggers. +struct V8_EXPORT V8StackTraceId { + uintptr_t id; + std::pair debugger_id; + bool should_pause = false; + + V8StackTraceId(); + V8StackTraceId(const V8StackTraceId&) = default; + V8StackTraceId(uintptr_t id, const std::pair debugger_id); + V8StackTraceId(uintptr_t id, const std::pair debugger_id, + bool should_pause); + explicit V8StackTraceId(const StringView&); + V8StackTraceId& operator=(const V8StackTraceId&) = default; + V8StackTraceId& operator=(V8StackTraceId&&) noexcept = default; + ~V8StackTraceId() = default; + + bool IsInvalid() const; + std::unique_ptr ToString(); +}; + +class V8_EXPORT V8Inspector { + public: + static std::unique_ptr create(v8::Isolate*, V8InspectorClient*); + virtual ~V8Inspector() = default; + + // Contexts instrumentation. + virtual void contextCreated(const V8ContextInfo&) = 0; + virtual void contextDestroyed(v8::Local) = 0; + virtual void resetContextGroup(int contextGroupId) = 0; + virtual v8::MaybeLocal contextById(int contextId) = 0; + + // Various instrumentation. + virtual void idleStarted() = 0; + virtual void idleFinished() = 0; + + // Async stack traces instrumentation. + virtual void asyncTaskScheduled(const StringView& taskName, void* task, + bool recurring) = 0; + virtual void asyncTaskCanceled(void* task) = 0; + virtual void asyncTaskStarted(void* task) = 0; + virtual void asyncTaskFinished(void* task) = 0; + virtual void allAsyncTasksCanceled() = 0; + + virtual V8StackTraceId storeCurrentStackTrace( + const StringView& description) = 0; + virtual void externalAsyncTaskStarted(const V8StackTraceId& parent) = 0; + virtual void externalAsyncTaskFinished(const V8StackTraceId& parent) = 0; + + // Exceptions instrumentation. + virtual unsigned exceptionThrown( + v8::Local, const StringView& message, + v8::Local exception, const StringView& detailedMessage, + const StringView& url, unsigned lineNumber, unsigned columnNumber, + std::unique_ptr, int scriptId) = 0; + virtual void exceptionRevoked(v8::Local, unsigned exceptionId, + const StringView& message) = 0; + + // Connection. + class V8_EXPORT Channel { + public: + virtual ~Channel() = default; + virtual void sendResponse(int callId, + std::unique_ptr message) = 0; + virtual void sendNotification(std::unique_ptr message) = 0; + virtual void flushProtocolNotifications() = 0; + }; + virtual std::unique_ptr connect( + int contextGroupId, Channel*, const StringView& state) = 0; + + // API methods. + virtual std::unique_ptr createStackTrace( + v8::Local) = 0; + virtual std::unique_ptr captureStackTrace(bool fullStack) = 0; + + // Performance counters. + class V8_EXPORT Counters : public std::enable_shared_from_this { + public: + explicit Counters(v8::Isolate* isolate); + ~Counters(); + const std::unordered_map& getCountersMap() const { + return m_countersMap; + } + + private: + static int* getCounterPtr(const char* name); + + v8::Isolate* m_isolate; + std::unordered_map m_countersMap; + }; + + virtual std::shared_ptr enableCounters() = 0; +}; + +} // namespace v8_inspector + +#endif // V8_V8_INSPECTOR_H_ diff --git a/android/x86_64/include/v8/v8-internal.h b/android/x86_64/include/v8/v8-internal.h new file mode 100644 index 00000000..ee363382 --- /dev/null +++ b/android/x86_64/include/v8/v8-internal.h @@ -0,0 +1,390 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef INCLUDE_V8_INTERNAL_H_ +#define INCLUDE_V8_INTERNAL_H_ + +#include +#include +#include +#include + +#include "v8-version.h" // NOLINT(build/include) +#include "v8config.h" // NOLINT(build/include) + +namespace v8 { + +class Context; +class Data; +class Isolate; + +namespace internal { + +class Isolate; + +typedef uintptr_t Address; +static const Address kNullAddress = 0; + +/** + * Configuration of tagging scheme. + */ +const int kApiSystemPointerSize = sizeof(void*); +const int kApiDoubleSize = sizeof(double); +const int kApiInt32Size = sizeof(int32_t); +const int kApiInt64Size = sizeof(int64_t); + +// Tag information for HeapObject. +const int kHeapObjectTag = 1; +const int kWeakHeapObjectTag = 3; +const int kHeapObjectTagSize = 2; +const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1; + +// Tag information for Smi. +const int kSmiTag = 0; +const int kSmiTagSize = 1; +const intptr_t kSmiTagMask = (1 << kSmiTagSize) - 1; + +template +struct SmiTagging; + +constexpr intptr_t kIntptrAllBitsSet = intptr_t{-1}; +constexpr uintptr_t kUintptrAllBitsSet = + static_cast(kIntptrAllBitsSet); + +// Smi constants for systems where tagged pointer is a 32-bit value. +template <> +struct SmiTagging<4> { + enum { kSmiShiftSize = 0, kSmiValueSize = 31 }; + + static constexpr intptr_t kSmiMinValue = + static_cast(kUintptrAllBitsSet << (kSmiValueSize - 1)); + static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1); + + V8_INLINE static int SmiToInt(const internal::Address value) { + int shift_bits = kSmiTagSize + kSmiShiftSize; + // Truncate and shift down (requires >> to be sign extending). + return static_cast(static_cast(value)) >> shift_bits; + } + V8_INLINE static constexpr bool IsValidSmi(intptr_t value) { + // Is value in range [kSmiMinValue, kSmiMaxValue]. + // Use unsigned operations in order to avoid undefined behaviour in case of + // signed integer overflow. + return (static_cast(value) - + static_cast(kSmiMinValue)) <= + (static_cast(kSmiMaxValue) - + static_cast(kSmiMinValue)); + } +}; + +// Smi constants for systems where tagged pointer is a 64-bit value. +template <> +struct SmiTagging<8> { + enum { kSmiShiftSize = 31, kSmiValueSize = 32 }; + + static constexpr intptr_t kSmiMinValue = + static_cast(kUintptrAllBitsSet << (kSmiValueSize - 1)); + static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1); + + V8_INLINE static int SmiToInt(const internal::Address value) { + int shift_bits = kSmiTagSize + kSmiShiftSize; + // Shift down and throw away top 32 bits. + return static_cast(static_cast(value) >> shift_bits); + } + V8_INLINE static constexpr bool IsValidSmi(intptr_t value) { + // To be representable as a long smi, the value must be a 32-bit integer. + return (value == static_cast(value)); + } +}; + +#ifdef V8_COMPRESS_POINTERS +static_assert( + kApiSystemPointerSize == kApiInt64Size, + "Pointer compression can be enabled only for 64-bit architectures"); +const int kApiTaggedSize = kApiInt32Size; +#else +const int kApiTaggedSize = kApiSystemPointerSize; +#endif + +#ifdef V8_31BIT_SMIS_ON_64BIT_ARCH +using PlatformSmiTagging = SmiTagging; +#else +using PlatformSmiTagging = SmiTagging; +#endif + +// TODO(ishell): Consinder adding kSmiShiftBits = kSmiShiftSize + kSmiTagSize +// since it's used much more often than the inividual constants. +const int kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize; +const int kSmiValueSize = PlatformSmiTagging::kSmiValueSize; +const int kSmiMinValue = static_cast(PlatformSmiTagging::kSmiMinValue); +const int kSmiMaxValue = static_cast(PlatformSmiTagging::kSmiMaxValue); +constexpr bool SmiValuesAre31Bits() { return kSmiValueSize == 31; } +constexpr bool SmiValuesAre32Bits() { return kSmiValueSize == 32; } + +V8_INLINE static constexpr internal::Address IntToSmi(int value) { + return (static_cast
        (value) << (kSmiTagSize + kSmiShiftSize)) | + kSmiTag; +} + +/** + * This class exports constants and functionality from within v8 that + * is necessary to implement inline functions in the v8 api. Don't + * depend on functions and constants defined here. + */ +class Internals { + public: + // These values match non-compiler-dependent values defined within + // the implementation of v8. + static const int kHeapObjectMapOffset = 0; + static const int kMapInstanceTypeOffset = 1 * kApiTaggedSize + kApiInt32Size; + static const int kStringResourceOffset = + 1 * kApiTaggedSize + 2 * kApiInt32Size; + + static const int kOddballKindOffset = 4 * kApiTaggedSize + kApiDoubleSize; + static const int kForeignAddressOffset = kApiTaggedSize; + static const int kJSObjectHeaderSize = 3 * kApiTaggedSize; + static const int kFixedArrayHeaderSize = 2 * kApiTaggedSize; + static const int kEmbedderDataArrayHeaderSize = 2 * kApiTaggedSize; + static const int kEmbedderDataSlotSize = kApiSystemPointerSize; + static const int kNativeContextEmbedderDataOffset = 6 * kApiTaggedSize; + static const int kFullStringRepresentationMask = 0x0f; + static const int kStringEncodingMask = 0x8; + static const int kExternalTwoByteRepresentationTag = 0x02; + static const int kExternalOneByteRepresentationTag = 0x0a; + + static const uint32_t kNumIsolateDataSlots = 4; + + // IsolateData layout guarantees. + static const int kIsolateEmbedderDataOffset = 0; + static const int kExternalMemoryOffset = + kNumIsolateDataSlots * kApiSystemPointerSize; + static const int kExternalMemoryLimitOffset = + kExternalMemoryOffset + kApiInt64Size; + static const int kExternalMemoryAtLastMarkCompactOffset = + kExternalMemoryLimitOffset + kApiInt64Size; + static const int kIsolateFastCCallCallerFpOffset = + kExternalMemoryAtLastMarkCompactOffset + kApiInt64Size; + static const int kIsolateFastCCallCallerPcOffset = + kIsolateFastCCallCallerFpOffset + kApiSystemPointerSize; + static const int kIsolateStackGuardOffset = + kIsolateFastCCallCallerPcOffset + kApiSystemPointerSize; + static const int kIsolateRootsOffset = + kIsolateStackGuardOffset + 7 * kApiSystemPointerSize; + + static const int kUndefinedValueRootIndex = 4; + static const int kTheHoleValueRootIndex = 5; + static const int kNullValueRootIndex = 6; + static const int kTrueValueRootIndex = 7; + static const int kFalseValueRootIndex = 8; + static const int kEmptyStringRootIndex = 9; + + static const int kNodeClassIdOffset = 1 * kApiSystemPointerSize; + static const int kNodeFlagsOffset = 1 * kApiSystemPointerSize + 3; + static const int kNodeStateMask = 0x7; + static const int kNodeStateIsWeakValue = 2; + static const int kNodeStateIsPendingValue = 3; + + static const int kFirstNonstringType = 0x40; + static const int kOddballType = 0x43; + static const int kForeignType = 0x46; + static const int kJSSpecialApiObjectType = 0x410; + static const int kJSApiObjectType = 0x420; + static const int kJSObjectType = 0x421; + + static const int kUndefinedOddballKind = 5; + static const int kNullOddballKind = 3; + + // Constants used by PropertyCallbackInfo to check if we should throw when an + // error occurs. + static const int kThrowOnError = 0; + static const int kDontThrow = 1; + static const int kInferShouldThrowMode = 2; + + // Soft limit for AdjustAmountofExternalAllocatedMemory. Trigger an + // incremental GC once the external memory reaches this limit. + static constexpr int kExternalAllocationSoftLimit = 64 * 1024 * 1024; + + V8_EXPORT static void CheckInitializedImpl(v8::Isolate* isolate); + V8_INLINE static void CheckInitialized(v8::Isolate* isolate) { +#ifdef V8_ENABLE_CHECKS + CheckInitializedImpl(isolate); +#endif + } + + V8_INLINE static bool HasHeapObjectTag(const internal::Address value) { + return (value & kHeapObjectTagMask) == static_cast
        (kHeapObjectTag); + } + + V8_INLINE static int SmiValue(const internal::Address value) { + return PlatformSmiTagging::SmiToInt(value); + } + + V8_INLINE static constexpr internal::Address IntToSmi(int value) { + return internal::IntToSmi(value); + } + + V8_INLINE static constexpr bool IsValidSmi(intptr_t value) { + return PlatformSmiTagging::IsValidSmi(value); + } + + V8_INLINE static int GetInstanceType(const internal::Address obj) { + typedef internal::Address A; + A map = ReadTaggedPointerField(obj, kHeapObjectMapOffset); + return ReadRawField(map, kMapInstanceTypeOffset); + } + + V8_INLINE static int GetOddballKind(const internal::Address obj) { + return SmiValue(ReadTaggedSignedField(obj, kOddballKindOffset)); + } + + V8_INLINE static bool IsExternalTwoByteString(int instance_type) { + int representation = (instance_type & kFullStringRepresentationMask); + return representation == kExternalTwoByteRepresentationTag; + } + + V8_INLINE static uint8_t GetNodeFlag(internal::Address* obj, int shift) { + uint8_t* addr = reinterpret_cast(obj) + kNodeFlagsOffset; + return *addr & static_cast(1U << shift); + } + + V8_INLINE static void UpdateNodeFlag(internal::Address* obj, bool value, + int shift) { + uint8_t* addr = reinterpret_cast(obj) + kNodeFlagsOffset; + uint8_t mask = static_cast(1U << shift); + *addr = static_cast((*addr & ~mask) | (value << shift)); + } + + V8_INLINE static uint8_t GetNodeState(internal::Address* obj) { + uint8_t* addr = reinterpret_cast(obj) + kNodeFlagsOffset; + return *addr & kNodeStateMask; + } + + V8_INLINE static void UpdateNodeState(internal::Address* obj, uint8_t value) { + uint8_t* addr = reinterpret_cast(obj) + kNodeFlagsOffset; + *addr = static_cast((*addr & ~kNodeStateMask) | value); + } + + V8_INLINE static void SetEmbedderData(v8::Isolate* isolate, uint32_t slot, + void* data) { + internal::Address addr = reinterpret_cast(isolate) + + kIsolateEmbedderDataOffset + + slot * kApiSystemPointerSize; + *reinterpret_cast(addr) = data; + } + + V8_INLINE static void* GetEmbedderData(const v8::Isolate* isolate, + uint32_t slot) { + internal::Address addr = reinterpret_cast(isolate) + + kIsolateEmbedderDataOffset + + slot * kApiSystemPointerSize; + return *reinterpret_cast(addr); + } + + V8_INLINE static internal::Address* GetRoot(v8::Isolate* isolate, int index) { + internal::Address addr = reinterpret_cast(isolate) + + kIsolateRootsOffset + + index * kApiSystemPointerSize; + return reinterpret_cast(addr); + } + + template + V8_INLINE static T ReadRawField(internal::Address heap_object_ptr, + int offset) { + internal::Address addr = heap_object_ptr + offset - kHeapObjectTag; +#ifdef V8_COMPRESS_POINTERS + if (sizeof(T) > kApiTaggedSize) { + // TODO(ishell, v8:8875): When pointer compression is enabled 8-byte size + // fields (external pointers, doubles and BigInt data) are only + // kTaggedSize aligned so we have to use unaligned pointer friendly way of + // accessing them in order to avoid undefined behavior in C++ code. + T r; + memcpy(&r, reinterpret_cast(addr), sizeof(T)); + return r; + } +#endif + return *reinterpret_cast(addr); + } + + V8_INLINE static internal::Address ReadTaggedPointerField( + internal::Address heap_object_ptr, int offset) { +#ifdef V8_COMPRESS_POINTERS + int32_t value = ReadRawField(heap_object_ptr, offset); + internal::Address root = GetRootFromOnHeapAddress(heap_object_ptr); + return root + static_cast(static_cast(value)); +#else + return ReadRawField(heap_object_ptr, offset); +#endif + } + + V8_INLINE static internal::Address ReadTaggedSignedField( + internal::Address heap_object_ptr, int offset) { +#ifdef V8_COMPRESS_POINTERS + int32_t value = ReadRawField(heap_object_ptr, offset); + return static_cast(static_cast(value)); +#else + return ReadRawField(heap_object_ptr, offset); +#endif + } + +#ifdef V8_COMPRESS_POINTERS + // See v8:7703 or src/ptr-compr.* for details about pointer compression. + static constexpr size_t kPtrComprHeapReservationSize = size_t{1} << 32; + static constexpr size_t kPtrComprIsolateRootAlignment = size_t{1} << 32; + + V8_INLINE static internal::Address GetRootFromOnHeapAddress( + internal::Address addr) { + return addr & -static_cast(kPtrComprIsolateRootAlignment); + } + + V8_INLINE static internal::Address DecompressTaggedAnyField( + internal::Address heap_object_ptr, int32_t value) { + internal::Address root_mask = static_cast( + -static_cast(value & kSmiTagMask)); + internal::Address root_or_zero = + root_mask & GetRootFromOnHeapAddress(heap_object_ptr); + return root_or_zero + + static_cast(static_cast(value)); + } +#endif // V8_COMPRESS_POINTERS +}; + +// Only perform cast check for types derived from v8::Data since +// other types do not implement the Cast method. +template +struct CastCheck { + template + static void Perform(T* data); +}; + +template <> +template +void CastCheck::Perform(T* data) { + T::Cast(data); +} + +template <> +template +void CastCheck::Perform(T* data) {} + +template +V8_INLINE void PerformCastCheck(T* data) { + CastCheck::value>::Perform(data); +} + +// {obj} must be the raw tagged pointer representation of a HeapObject +// that's guaranteed to never be in ReadOnlySpace. +V8_EXPORT internal::Isolate* IsolateFromNeverReadOnlySpaceObject(Address obj); + +// Returns if we need to throw when an error occurs. This infers the language +// mode based on the current context and the closure. This returns true if the +// language mode is strict. +V8_EXPORT bool ShouldThrowOnError(v8::internal::Isolate* isolate); + +// A base class for backing stores, which is needed due to vagaries of +// how static casts work with std::shared_ptr. +class BackingStoreBase {}; + +} // namespace internal +} // namespace v8 + +#endif // INCLUDE_V8_INTERNAL_H_ diff --git a/android/x86_64/include/v8/v8-platform.h b/android/x86_64/include/v8/v8-platform.h new file mode 100644 index 00000000..534d73e3 --- /dev/null +++ b/android/x86_64/include/v8/v8-platform.h @@ -0,0 +1,448 @@ +// Copyright 2013 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_V8_PLATFORM_H_ +#define V8_V8_PLATFORM_H_ + +#include +#include +#include // For abort. +#include +#include + +#include "v8config.h" // NOLINT(build/include) + +namespace v8 { + +class Isolate; + +/** + * A Task represents a unit of work. + */ +class Task { + public: + virtual ~Task() = default; + + virtual void Run() = 0; +}; + +/** + * An IdleTask represents a unit of work to be performed in idle time. + * The Run method is invoked with an argument that specifies the deadline in + * seconds returned by MonotonicallyIncreasingTime(). + * The idle task is expected to complete by this deadline. + */ +class IdleTask { + public: + virtual ~IdleTask() = default; + virtual void Run(double deadline_in_seconds) = 0; +}; + +/** + * A TaskRunner allows scheduling of tasks. The TaskRunner may still be used to + * post tasks after the isolate gets destructed, but these tasks may not get + * executed anymore. All tasks posted to a given TaskRunner will be invoked in + * sequence. Tasks can be posted from any thread. + */ +class TaskRunner { + public: + /** + * Schedules a task to be invoked by this TaskRunner. The TaskRunner + * implementation takes ownership of |task|. + */ + virtual void PostTask(std::unique_ptr task) = 0; + + /** + * Schedules a task to be invoked by this TaskRunner. The TaskRunner + * implementation takes ownership of |task|. The |task| cannot be nested + * within other task executions. + * + * Requires that |TaskRunner::NonNestableTasksEnabled()| is true. + */ + virtual void PostNonNestableTask(std::unique_ptr task) {} + + /** + * Schedules a task to be invoked by this TaskRunner. The task is scheduled + * after the given number of seconds |delay_in_seconds|. The TaskRunner + * implementation takes ownership of |task|. + */ + virtual void PostDelayedTask(std::unique_ptr task, + double delay_in_seconds) = 0; + + /** + * Schedules a task to be invoked by this TaskRunner. The task is scheduled + * after the given number of seconds |delay_in_seconds|. The TaskRunner + * implementation takes ownership of |task|. The |task| cannot be nested + * within other task executions. + * + * Requires that |TaskRunner::NonNestableDelayedTasksEnabled()| is true. + */ + virtual void PostNonNestableDelayedTask(std::unique_ptr task, + double delay_in_seconds) {} + + /** + * Schedules an idle task to be invoked by this TaskRunner. The task is + * scheduled when the embedder is idle. Requires that + * |TaskRunner::IdleTasksEnabled()| is true. Idle tasks may be reordered + * relative to other task types and may be starved for an arbitrarily long + * time if no idle time is available. The TaskRunner implementation takes + * ownership of |task|. + */ + virtual void PostIdleTask(std::unique_ptr task) = 0; + + /** + * Returns true if idle tasks are enabled for this TaskRunner. + */ + virtual bool IdleTasksEnabled() = 0; + + /** + * Returns true if non-nestable tasks are enabled for this TaskRunner. + */ + virtual bool NonNestableTasksEnabled() const { return false; } + + /** + * Returns true if non-nestable delayed tasks are enabled for this TaskRunner. + */ + virtual bool NonNestableDelayedTasksEnabled() const { return false; } + + TaskRunner() = default; + virtual ~TaskRunner() = default; + + TaskRunner(const TaskRunner&) = delete; + TaskRunner& operator=(const TaskRunner&) = delete; +}; + +/** + * The interface represents complex arguments to trace events. + */ +class ConvertableToTraceFormat { + public: + virtual ~ConvertableToTraceFormat() = default; + + /** + * Append the class info to the provided |out| string. The appended + * data must be a valid JSON object. Strings must be properly quoted, and + * escaped. There is no processing applied to the content after it is + * appended. + */ + virtual void AppendAsTraceFormat(std::string* out) const = 0; +}; + +/** + * V8 Tracing controller. + * + * Can be implemented by an embedder to record trace events from V8. + */ +class TracingController { + public: + virtual ~TracingController() = default; + + /** + * Called by TRACE_EVENT* macros, don't call this directly. + * The name parameter is a category group for example: + * TRACE_EVENT0("v8,parse", "V8.Parse") + * The pointer returned points to a value with zero or more of the bits + * defined in CategoryGroupEnabledFlags. + **/ + virtual const uint8_t* GetCategoryGroupEnabled(const char* name) { + static uint8_t no = 0; + return &no; + } + + /** + * Adds a trace event to the platform tracing system. These function calls are + * usually the result of a TRACE_* macro from trace_event_common.h when + * tracing and the category of the particular trace are enabled. It is not + * advisable to call these functions on their own; they are really only meant + * to be used by the trace macros. The returned handle can be used by + * UpdateTraceEventDuration to update the duration of COMPLETE events. + */ + virtual uint64_t AddTraceEvent( + char phase, const uint8_t* category_enabled_flag, const char* name, + const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args, + const char** arg_names, const uint8_t* arg_types, + const uint64_t* arg_values, + std::unique_ptr* arg_convertables, + unsigned int flags) { + return 0; + } + virtual uint64_t AddTraceEventWithTimestamp( + char phase, const uint8_t* category_enabled_flag, const char* name, + const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args, + const char** arg_names, const uint8_t* arg_types, + const uint64_t* arg_values, + std::unique_ptr* arg_convertables, + unsigned int flags, int64_t timestamp) { + return 0; + } + + /** + * Sets the duration field of a COMPLETE trace event. It must be called with + * the handle returned from AddTraceEvent(). + **/ + virtual void UpdateTraceEventDuration(const uint8_t* category_enabled_flag, + const char* name, uint64_t handle) {} + + class TraceStateObserver { + public: + virtual ~TraceStateObserver() = default; + virtual void OnTraceEnabled() = 0; + virtual void OnTraceDisabled() = 0; + }; + + /** Adds tracing state change observer. */ + virtual void AddTraceStateObserver(TraceStateObserver*) {} + + /** Removes tracing state change observer. */ + virtual void RemoveTraceStateObserver(TraceStateObserver*) {} +}; + +/** + * A V8 memory page allocator. + * + * Can be implemented by an embedder to manage large host OS allocations. + */ +class PageAllocator { + public: + virtual ~PageAllocator() = default; + + /** + * Gets the page granularity for AllocatePages and FreePages. Addresses and + * lengths for those calls should be multiples of AllocatePageSize(). + */ + virtual size_t AllocatePageSize() = 0; + + /** + * Gets the page granularity for SetPermissions and ReleasePages. Addresses + * and lengths for those calls should be multiples of CommitPageSize(). + */ + virtual size_t CommitPageSize() = 0; + + /** + * Sets the random seed so that GetRandomMmapAddr() will generate repeatable + * sequences of random mmap addresses. + */ + virtual void SetRandomMmapSeed(int64_t seed) = 0; + + /** + * Returns a randomized address, suitable for memory allocation under ASLR. + * The address will be aligned to AllocatePageSize. + */ + virtual void* GetRandomMmapAddr() = 0; + + /** + * Memory permissions. + */ + enum Permission { + kNoAccess, + kRead, + kReadWrite, + // TODO(hpayer): Remove this flag. Memory should never be rwx. + kReadWriteExecute, + kReadExecute + }; + + /** + * Allocates memory in range with the given alignment and permission. + */ + virtual void* AllocatePages(void* address, size_t length, size_t alignment, + Permission permissions) = 0; + + /** + * Frees memory in a range that was allocated by a call to AllocatePages. + */ + virtual bool FreePages(void* address, size_t length) = 0; + + /** + * Releases memory in a range that was allocated by a call to AllocatePages. + */ + virtual bool ReleasePages(void* address, size_t length, + size_t new_length) = 0; + + /** + * Sets permissions on pages in an allocated range. + */ + virtual bool SetPermissions(void* address, size_t length, + Permission permissions) = 0; + + /** + * Frees memory in the given [address, address + size) range. address and size + * should be operating system page-aligned. The next write to this + * memory area brings the memory transparently back. + */ + virtual bool DiscardSystemPages(void* address, size_t size) { return true; } +}; + +/** + * V8 Platform abstraction layer. + * + * The embedder has to provide an implementation of this interface before + * initializing the rest of V8. + */ +class Platform { + public: + virtual ~Platform() = default; + + /** + * Allows the embedder to manage memory page allocations. + */ + virtual PageAllocator* GetPageAllocator() { + // TODO(bbudge) Make this abstract after all embedders implement this. + return nullptr; + } + + /** + * Enables the embedder to respond in cases where V8 can't allocate large + * blocks of memory. V8 retries the failed allocation once after calling this + * method. On success, execution continues; otherwise V8 exits with a fatal + * error. + * Embedder overrides of this function must NOT call back into V8. + */ + virtual void OnCriticalMemoryPressure() { + // TODO(bbudge) Remove this when embedders override the following method. + // See crbug.com/634547. + } + + /** + * Enables the embedder to respond in cases where V8 can't allocate large + * memory regions. The |length| parameter is the amount of memory needed. + * Returns true if memory is now available. Returns false if no memory could + * be made available. V8 will retry allocations until this method returns + * false. + * + * Embedder overrides of this function must NOT call back into V8. + */ + virtual bool OnCriticalMemoryPressure(size_t length) { return false; } + + /** + * Gets the number of worker threads used by + * Call(BlockingTask)OnWorkerThread(). This can be used to estimate the number + * of tasks a work package should be split into. A return value of 0 means + * that there are no worker threads available. Note that a value of 0 won't + * prohibit V8 from posting tasks using |CallOnWorkerThread|. + */ + virtual int NumberOfWorkerThreads() = 0; + + /** + * Returns a TaskRunner which can be used to post a task on the foreground. + * This function should only be called from a foreground thread. + */ + virtual std::shared_ptr GetForegroundTaskRunner( + Isolate* isolate) = 0; + + /** + * Schedules a task to be invoked on a worker thread. + */ + virtual void CallOnWorkerThread(std::unique_ptr task) = 0; + + /** + * Schedules a task that blocks the main thread to be invoked with + * high-priority on a worker thread. + */ + virtual void CallBlockingTaskOnWorkerThread(std::unique_ptr task) { + // Embedders may optionally override this to process these tasks in a high + // priority pool. + CallOnWorkerThread(std::move(task)); + } + + /** + * Schedules a task to be invoked with low-priority on a worker thread. + */ + virtual void CallLowPriorityTaskOnWorkerThread(std::unique_ptr task) { + // Embedders may optionally override this to process these tasks in a low + // priority pool. + CallOnWorkerThread(std::move(task)); + } + + /** + * Schedules a task to be invoked on a worker thread after |delay_in_seconds| + * expires. + */ + virtual void CallDelayedOnWorkerThread(std::unique_ptr task, + double delay_in_seconds) = 0; + + /** + * Schedules a task to be invoked on a foreground thread wrt a specific + * |isolate|. Tasks posted for the same isolate should be execute in order of + * scheduling. The definition of "foreground" is opaque to V8. + */ + V8_DEPRECATED("Use a taskrunner acquired by GetForegroundTaskRunner instead.") + virtual void CallOnForegroundThread(Isolate* isolate, Task* task) { abort(); } + + /** + * Schedules a task to be invoked on a foreground thread wrt a specific + * |isolate| after the given number of seconds |delay_in_seconds|. + * Tasks posted for the same isolate should be execute in order of + * scheduling. The definition of "foreground" is opaque to V8. + */ + V8_DEPRECATED("Use a taskrunner acquired by GetForegroundTaskRunner instead.") + virtual void CallDelayedOnForegroundThread(Isolate* isolate, Task* task, + double delay_in_seconds) { + abort(); + } + + /** + * Schedules a task to be invoked on a foreground thread wrt a specific + * |isolate| when the embedder is idle. + * Requires that SupportsIdleTasks(isolate) is true. + * Idle tasks may be reordered relative to other task types and may be + * starved for an arbitrarily long time if no idle time is available. + * The definition of "foreground" is opaque to V8. + */ + V8_DEPRECATED("Use a taskrunner acquired by GetForegroundTaskRunner instead.") + virtual void CallIdleOnForegroundThread(Isolate* isolate, IdleTask* task) { + abort(); + } + + /** + * Returns true if idle tasks are enabled for the given |isolate|. + */ + virtual bool IdleTasksEnabled(Isolate* isolate) { return false; } + + /** + * Monotonically increasing time in seconds from an arbitrary fixed point in + * the past. This function is expected to return at least + * millisecond-precision values. For this reason, + * it is recommended that the fixed point be no further in the past than + * the epoch. + **/ + virtual double MonotonicallyIncreasingTime() = 0; + + /** + * Current wall-clock time in milliseconds since epoch. + * This function is expected to return at least millisecond-precision values. + */ + virtual double CurrentClockTimeMillis() = 0; + + typedef void (*StackTracePrinter)(); + + /** + * Returns a function pointer that print a stack trace of the current stack + * on invocation. Disables printing of the stack trace if nullptr. + */ + virtual StackTracePrinter GetStackTracePrinter() { return nullptr; } + + /** + * Returns an instance of a v8::TracingController. This must be non-nullptr. + */ + virtual TracingController* GetTracingController() = 0; + + /** + * Tells the embedder to generate and upload a crashdump during an unexpected + * but non-critical scenario. + */ + virtual void DumpWithoutCrashing() {} + + protected: + /** + * Default implementation of current wall-clock time in milliseconds + * since epoch. Useful for implementing |CurrentClockTimeMillis| if + * nothing special needed. + */ + V8_EXPORT static double SystemClockTimeMillis(); +}; + +} // namespace v8 + +#endif // V8_V8_PLATFORM_H_ diff --git a/android/x86_64/include/v8/v8-profiler.h b/android/x86_64/include/v8/v8-profiler.h new file mode 100644 index 00000000..767973c4 --- /dev/null +++ b/android/x86_64/include/v8/v8-profiler.h @@ -0,0 +1,1058 @@ +// Copyright 2010 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_V8_PROFILER_H_ +#define V8_V8_PROFILER_H_ + +#include +#include +#include +#include + +#include "v8.h" // NOLINT(build/include) + +/** + * Profiler support for the V8 JavaScript engine. + */ +namespace v8 { + +class HeapGraphNode; +struct HeapStatsUpdate; + +using NativeObject = void*; +using SnapshotObjectId = uint32_t; + +struct CpuProfileDeoptFrame { + int script_id; + size_t position; +}; + +namespace internal { +class CpuProfile; +} // namespace internal + +} // namespace v8 + +#ifdef V8_OS_WIN +template class V8_EXPORT std::vector; +#endif + +namespace v8 { + +struct V8_EXPORT CpuProfileDeoptInfo { + /** A pointer to a static string owned by v8. */ + const char* deopt_reason; + std::vector stack; +}; + +} // namespace v8 + +#ifdef V8_OS_WIN +template class V8_EXPORT std::vector; +#endif + +namespace v8 { + +/** + * CpuProfileNode represents a node in a call graph. + */ +class V8_EXPORT CpuProfileNode { + public: + struct LineTick { + /** The 1-based number of the source line where the function originates. */ + int line; + + /** The count of samples associated with the source line. */ + unsigned int hit_count; + }; + + // An annotation hinting at the source of a CpuProfileNode. + enum SourceType { + // User-supplied script with associated resource information. + kScript = 0, + // Native scripts and provided builtins. + kBuiltin = 1, + // Callbacks into native code. + kCallback = 2, + // VM-internal functions or state. + kInternal = 3, + // A node that failed to symbolize. + kUnresolved = 4, + }; + + /** Returns function name (empty string for anonymous functions.) */ + Local GetFunctionName() const; + + /** + * Returns function name (empty string for anonymous functions.) + * The string ownership is *not* passed to the caller. It stays valid until + * profile is deleted. The function is thread safe. + */ + const char* GetFunctionNameStr() const; + + /** Returns id of the script where function is located. */ + int GetScriptId() const; + + /** Returns resource name for script from where the function originates. */ + Local GetScriptResourceName() const; + + /** + * Returns resource name for script from where the function originates. + * The string ownership is *not* passed to the caller. It stays valid until + * profile is deleted. The function is thread safe. + */ + const char* GetScriptResourceNameStr() const; + + /** + * Return true if the script from where the function originates is flagged as + * being shared cross-origin. + */ + bool IsScriptSharedCrossOrigin() const; + + /** + * Returns the number, 1-based, of the line where the function originates. + * kNoLineNumberInfo if no line number information is available. + */ + int GetLineNumber() const; + + /** + * Returns 1-based number of the column where the function originates. + * kNoColumnNumberInfo if no column number information is available. + */ + int GetColumnNumber() const; + + /** + * Returns the number of the function's source lines that collect the samples. + */ + unsigned int GetHitLineCount() const; + + /** Returns the set of source lines that collect the samples. + * The caller allocates buffer and responsible for releasing it. + * True if all available entries are copied, otherwise false. + * The function copies nothing if buffer is not large enough. + */ + bool GetLineTicks(LineTick* entries, unsigned int length) const; + + /** Returns bailout reason for the function + * if the optimization was disabled for it. + */ + const char* GetBailoutReason() const; + + /** + * Returns the count of samples where the function was currently executing. + */ + unsigned GetHitCount() const; + + /** Returns id of the node. The id is unique within the tree */ + unsigned GetNodeId() const; + + /** + * Gets the type of the source which the node was captured from. + */ + SourceType GetSourceType() const; + + /** Returns child nodes count of the node. */ + int GetChildrenCount() const; + + /** Retrieves a child node by index. */ + const CpuProfileNode* GetChild(int index) const; + + /** Retrieves the ancestor node, or null if the root. */ + const CpuProfileNode* GetParent() const; + + /** Retrieves deopt infos for the node. */ + const std::vector& GetDeoptInfos() const; + + static const int kNoLineNumberInfo = Message::kNoLineNumberInfo; + static const int kNoColumnNumberInfo = Message::kNoColumnInfo; +}; + + +/** + * CpuProfile contains a CPU profile in a form of top-down call tree + * (from main() down to functions that do all the work). + */ +class V8_EXPORT CpuProfile { + public: + /** Returns CPU profile title. */ + Local GetTitle() const; + + /** Returns the root node of the top down call tree. */ + const CpuProfileNode* GetTopDownRoot() const; + + /** + * Returns number of samples recorded. The samples are not recorded unless + * |record_samples| parameter of CpuProfiler::StartCpuProfiling is true. + */ + int GetSamplesCount() const; + + /** + * Returns profile node corresponding to the top frame the sample at + * the given index. + */ + const CpuProfileNode* GetSample(int index) const; + + /** + * Returns the timestamp of the sample. The timestamp is the number of + * microseconds since some unspecified starting point. + * The point is equal to the starting point used by GetStartTime. + */ + int64_t GetSampleTimestamp(int index) const; + + /** + * Returns time when the profile recording was started (in microseconds) + * since some unspecified starting point. + */ + int64_t GetStartTime() const; + + /** + * Returns time when the profile recording was stopped (in microseconds) + * since some unspecified starting point. + * The point is equal to the starting point used by GetStartTime. + */ + int64_t GetEndTime() const; + + /** + * Deletes the profile and removes it from CpuProfiler's list. + * All pointers to nodes previously returned become invalid. + */ + void Delete(); +}; + +enum CpuProfilingMode { + // In the resulting CpuProfile tree, intermediate nodes in a stack trace + // (from the root to a leaf) will have line numbers that point to the start + // line of the function, rather than the line of the callsite of the child. + kLeafNodeLineNumbers, + // In the resulting CpuProfile tree, nodes are separated based on the line + // number of their callsite in their parent. + kCallerLineNumbers, +}; + +// Determines how names are derived for functions sampled. +enum CpuProfilingNamingMode { + // Use the immediate name of functions at compilation time. + kStandardNaming, + // Use more verbose naming for functions without names, inferred from scope + // where possible. + kDebugNaming, +}; + +enum CpuProfilingLoggingMode { + // Enables logging when a profile is active, and disables logging when all + // profiles are detached. + kLazyLogging, + // Enables logging for the lifetime of the CpuProfiler. Calls to + // StartRecording are faster, at the expense of runtime overhead. + kEagerLogging, +}; + +/** + * Optional profiling attributes. + */ +class V8_EXPORT CpuProfilingOptions { + public: + // Indicates that the sample buffer size should not be explicitly limited. + static const unsigned kNoSampleLimit = UINT_MAX; + + /** + * \param mode Type of computation of stack frame line numbers. + * \param max_samples The maximum number of samples that should be recorded by + * the profiler. Samples obtained after this limit will be + * discarded. + * \param sampling_interval_us controls the profile-specific target + * sampling interval. The provided sampling + * interval will be snapped to the next lowest + * non-zero multiple of the profiler's sampling + * interval, set via SetSamplingInterval(). If + * zero, the sampling interval will be equal to + * the profiler's sampling interval. + */ + CpuProfilingOptions( + CpuProfilingMode mode = kLeafNodeLineNumbers, + unsigned max_samples = kNoSampleLimit, int sampling_interval_us = 0, + MaybeLocal filter_context = MaybeLocal()); + + CpuProfilingMode mode() const { return mode_; } + unsigned max_samples() const { return max_samples_; } + int sampling_interval_us() const { return sampling_interval_us_; } + + private: + friend class internal::CpuProfile; + + bool has_filter_context() const { return !filter_context_.IsEmpty(); } + void* raw_filter_context() const; + + CpuProfilingMode mode_; + unsigned max_samples_; + int sampling_interval_us_; + CopyablePersistentTraits::CopyablePersistent filter_context_; +}; + +/** + * Interface for controlling CPU profiling. Instance of the + * profiler can be created using v8::CpuProfiler::New method. + */ +class V8_EXPORT CpuProfiler { + public: + /** + * Creates a new CPU profiler for the |isolate|. The isolate must be + * initialized. The profiler object must be disposed after use by calling + * |Dispose| method. + */ + static CpuProfiler* New(Isolate* isolate, + CpuProfilingNamingMode = kDebugNaming, + CpuProfilingLoggingMode = kLazyLogging); + + /** + * Synchronously collect current stack sample in all profilers attached to + * the |isolate|. The call does not affect number of ticks recorded for + * the current top node. + */ + static void CollectSample(Isolate* isolate); + + /** + * Disposes the CPU profiler object. + */ + void Dispose(); + + /** + * Changes default CPU profiler sampling interval to the specified number + * of microseconds. Default interval is 1000us. This method must be called + * when there are no profiles being recorded. + */ + void SetSamplingInterval(int us); + + /** + * Sets whether or not the profiler should prioritize consistency of sample + * periodicity on Windows. Disabling this can greatly reduce CPU usage, but + * may result in greater variance in sample timings from the platform's + * scheduler. Defaults to enabled. This method must be called when there are + * no profiles being recorded. + */ + void SetUsePreciseSampling(bool); + + /** + * Starts collecting a CPU profile. Title may be an empty string. Several + * profiles may be collected at once. Attempts to start collecting several + * profiles with the same title are silently ignored. + */ + void StartProfiling(Local title, CpuProfilingOptions options); + + /** + * Starts profiling with the same semantics as above, except with expanded + * parameters. + * + * |record_samples| parameter controls whether individual samples should + * be recorded in addition to the aggregated tree. + * + * |max_samples| controls the maximum number of samples that should be + * recorded by the profiler. Samples obtained after this limit will be + * discarded. + */ + void StartProfiling( + Local title, CpuProfilingMode mode, bool record_samples = false, + unsigned max_samples = CpuProfilingOptions::kNoSampleLimit); + /** + * The same as StartProfiling above, but the CpuProfilingMode defaults to + * kLeafNodeLineNumbers mode, which was the previous default behavior of the + * profiler. + */ + void StartProfiling(Local title, bool record_samples = false); + + /** + * Stops collecting CPU profile with a given title and returns it. + * If the title given is empty, finishes the last profile started. + */ + CpuProfile* StopProfiling(Local title); + + /** + * Generate more detailed source positions to code objects. This results in + * better results when mapping profiling samples to script source. + */ + static void UseDetailedSourcePositionsForProfiling(Isolate* isolate); + + private: + CpuProfiler(); + ~CpuProfiler(); + CpuProfiler(const CpuProfiler&); + CpuProfiler& operator=(const CpuProfiler&); +}; + +/** + * HeapSnapshotEdge represents a directed connection between heap + * graph nodes: from retainers to retained nodes. + */ +class V8_EXPORT HeapGraphEdge { + public: + enum Type { + kContextVariable = 0, // A variable from a function context. + kElement = 1, // An element of an array. + kProperty = 2, // A named object property. + kInternal = 3, // A link that can't be accessed from JS, + // thus, its name isn't a real property name + // (e.g. parts of a ConsString). + kHidden = 4, // A link that is needed for proper sizes + // calculation, but may be hidden from user. + kShortcut = 5, // A link that must not be followed during + // sizes calculation. + kWeak = 6 // A weak reference (ignored by the GC). + }; + + /** Returns edge type (see HeapGraphEdge::Type). */ + Type GetType() const; + + /** + * Returns edge name. This can be a variable name, an element index, or + * a property name. + */ + Local GetName() const; + + /** Returns origin node. */ + const HeapGraphNode* GetFromNode() const; + + /** Returns destination node. */ + const HeapGraphNode* GetToNode() const; +}; + + +/** + * HeapGraphNode represents a node in a heap graph. + */ +class V8_EXPORT HeapGraphNode { + public: + enum Type { + kHidden = 0, // Hidden node, may be filtered when shown to user. + kArray = 1, // An array of elements. + kString = 2, // A string. + kObject = 3, // A JS object (except for arrays and strings). + kCode = 4, // Compiled code. + kClosure = 5, // Function closure. + kRegExp = 6, // RegExp. + kHeapNumber = 7, // Number stored in the heap. + kNative = 8, // Native object (not from V8 heap). + kSynthetic = 9, // Synthetic object, usually used for grouping + // snapshot items together. + kConsString = 10, // Concatenated string. A pair of pointers to strings. + kSlicedString = 11, // Sliced string. A fragment of another string. + kSymbol = 12, // A Symbol (ES6). + kBigInt = 13 // BigInt. + }; + + /** Returns node type (see HeapGraphNode::Type). */ + Type GetType() const; + + /** + * Returns node name. Depending on node's type this can be the name + * of the constructor (for objects), the name of the function (for + * closures), string value, or an empty string (for compiled code). + */ + Local GetName() const; + + /** + * Returns node id. For the same heap object, the id remains the same + * across all snapshots. + */ + SnapshotObjectId GetId() const; + + /** Returns node's own size, in bytes. */ + size_t GetShallowSize() const; + + /** Returns child nodes count of the node. */ + int GetChildrenCount() const; + + /** Retrieves a child by index. */ + const HeapGraphEdge* GetChild(int index) const; +}; + + +/** + * An interface for exporting data from V8, using "push" model. + */ +class V8_EXPORT OutputStream { // NOLINT + public: + enum WriteResult { + kContinue = 0, + kAbort = 1 + }; + virtual ~OutputStream() = default; + /** Notify about the end of stream. */ + virtual void EndOfStream() = 0; + /** Get preferred output chunk size. Called only once. */ + virtual int GetChunkSize() { return 1024; } + /** + * Writes the next chunk of snapshot data into the stream. Writing + * can be stopped by returning kAbort as function result. EndOfStream + * will not be called in case writing was aborted. + */ + virtual WriteResult WriteAsciiChunk(char* data, int size) = 0; + /** + * Writes the next chunk of heap stats data into the stream. Writing + * can be stopped by returning kAbort as function result. EndOfStream + * will not be called in case writing was aborted. + */ + virtual WriteResult WriteHeapStatsChunk(HeapStatsUpdate* data, int count) { + return kAbort; + } +}; + + +/** + * HeapSnapshots record the state of the JS heap at some moment. + */ +class V8_EXPORT HeapSnapshot { + public: + enum SerializationFormat { + kJSON = 0 // See format description near 'Serialize' method. + }; + + /** Returns the root node of the heap graph. */ + const HeapGraphNode* GetRoot() const; + + /** Returns a node by its id. */ + const HeapGraphNode* GetNodeById(SnapshotObjectId id) const; + + /** Returns total nodes count in the snapshot. */ + int GetNodesCount() const; + + /** Returns a node by index. */ + const HeapGraphNode* GetNode(int index) const; + + /** Returns a max seen JS object Id. */ + SnapshotObjectId GetMaxSnapshotJSObjectId() const; + + /** + * Deletes the snapshot and removes it from HeapProfiler's list. + * All pointers to nodes, edges and paths previously returned become + * invalid. + */ + void Delete(); + + /** + * Prepare a serialized representation of the snapshot. The result + * is written into the stream provided in chunks of specified size. + * The total length of the serialized snapshot is unknown in + * advance, it can be roughly equal to JS heap size (that means, + * it can be really big - tens of megabytes). + * + * For the JSON format, heap contents are represented as an object + * with the following structure: + * + * { + * snapshot: { + * title: "...", + * uid: nnn, + * meta: { meta-info }, + * node_count: nnn, + * edge_count: nnn + * }, + * nodes: [nodes array], + * edges: [edges array], + * strings: [strings array] + * } + * + * Nodes reference strings, other nodes, and edges by their indexes + * in corresponding arrays. + */ + void Serialize(OutputStream* stream, + SerializationFormat format = kJSON) const; +}; + + +/** + * An interface for reporting progress and controlling long-running + * activities. + */ +class V8_EXPORT ActivityControl { // NOLINT + public: + enum ControlOption { + kContinue = 0, + kAbort = 1 + }; + virtual ~ActivityControl() = default; + /** + * Notify about current progress. The activity can be stopped by + * returning kAbort as the callback result. + */ + virtual ControlOption ReportProgressValue(int done, int total) = 0; +}; + + +/** + * AllocationProfile is a sampled profile of allocations done by the program. + * This is structured as a call-graph. + */ +class V8_EXPORT AllocationProfile { + public: + struct Allocation { + /** + * Size of the sampled allocation object. + */ + size_t size; + + /** + * The number of objects of such size that were sampled. + */ + unsigned int count; + }; + + /** + * Represents a node in the call-graph. + */ + struct Node { + /** + * Name of the function. May be empty for anonymous functions or if the + * script corresponding to this function has been unloaded. + */ + Local name; + + /** + * Name of the script containing the function. May be empty if the script + * name is not available, or if the script has been unloaded. + */ + Local script_name; + + /** + * id of the script where the function is located. May be equal to + * v8::UnboundScript::kNoScriptId in cases where the script doesn't exist. + */ + int script_id; + + /** + * Start position of the function in the script. + */ + int start_position; + + /** + * 1-indexed line number where the function starts. May be + * kNoLineNumberInfo if no line number information is available. + */ + int line_number; + + /** + * 1-indexed column number where the function starts. May be + * kNoColumnNumberInfo if no line number information is available. + */ + int column_number; + + /** + * Unique id of the node. + */ + uint32_t node_id; + + /** + * List of callees called from this node for which we have sampled + * allocations. The lifetime of the children is scoped to the containing + * AllocationProfile. + */ + std::vector children; + + /** + * List of self allocations done by this node in the call-graph. + */ + std::vector allocations; + }; + + /** + * Represent a single sample recorded for an allocation. + */ + struct Sample { + /** + * id of the node in the profile tree. + */ + uint32_t node_id; + + /** + * Size of the sampled allocation object. + */ + size_t size; + + /** + * The number of objects of such size that were sampled. + */ + unsigned int count; + + /** + * Unique time-ordered id of the allocation sample. Can be used to track + * what samples were added or removed between two snapshots. + */ + uint64_t sample_id; + }; + + /** + * Returns the root node of the call-graph. The root node corresponds to an + * empty JS call-stack. The lifetime of the returned Node* is scoped to the + * containing AllocationProfile. + */ + virtual Node* GetRootNode() = 0; + virtual const std::vector& GetSamples() = 0; + + virtual ~AllocationProfile() = default; + + static const int kNoLineNumberInfo = Message::kNoLineNumberInfo; + static const int kNoColumnNumberInfo = Message::kNoColumnInfo; +}; + +/** + * An object graph consisting of embedder objects and V8 objects. + * Edges of the graph are strong references between the objects. + * The embedder can build this graph during heap snapshot generation + * to include the embedder objects in the heap snapshot. + * Usage: + * 1) Define derived class of EmbedderGraph::Node for embedder objects. + * 2) Set the build embedder graph callback on the heap profiler using + * HeapProfiler::AddBuildEmbedderGraphCallback. + * 3) In the callback use graph->AddEdge(node1, node2) to add an edge from + * node1 to node2. + * 4) To represent references from/to V8 object, construct V8 nodes using + * graph->V8Node(value). + */ +class V8_EXPORT EmbedderGraph { + public: + class Node { + public: + Node() = default; + virtual ~Node() = default; + virtual const char* Name() = 0; + virtual size_t SizeInBytes() = 0; + /** + * The corresponding V8 wrapper node if not null. + * During heap snapshot generation the embedder node and the V8 wrapper + * node will be merged into one node to simplify retaining paths. + */ + virtual Node* WrapperNode() { return nullptr; } + virtual bool IsRootNode() { return false; } + /** Must return true for non-V8 nodes. */ + virtual bool IsEmbedderNode() { return true; } + /** + * Optional name prefix. It is used in Chrome for tagging detached nodes. + */ + virtual const char* NamePrefix() { return nullptr; } + + /** + * Returns the NativeObject that can be used for querying the + * |HeapSnapshot|. + */ + virtual NativeObject GetNativeObject() { return nullptr; } + + Node(const Node&) = delete; + Node& operator=(const Node&) = delete; + }; + + /** + * Returns a node corresponding to the given V8 value. Ownership is not + * transferred. The result pointer is valid while the graph is alive. + */ + virtual Node* V8Node(const v8::Local& value) = 0; + + /** + * Adds the given node to the graph and takes ownership of the node. + * Returns a raw pointer to the node that is valid while the graph is alive. + */ + virtual Node* AddNode(std::unique_ptr node) = 0; + + /** + * Adds an edge that represents a strong reference from the given + * node |from| to the given node |to|. The nodes must be added to the graph + * before calling this function. + * + * If name is nullptr, the edge will have auto-increment indexes, otherwise + * it will be named accordingly. + */ + virtual void AddEdge(Node* from, Node* to, const char* name = nullptr) = 0; + + virtual ~EmbedderGraph() = default; +}; + +/** + * Interface for controlling heap profiling. Instance of the + * profiler can be retrieved using v8::Isolate::GetHeapProfiler. + */ +class V8_EXPORT HeapProfiler { + public: + enum SamplingFlags { + kSamplingNoFlags = 0, + kSamplingForceGC = 1 << 0, + }; + + /** + * Callback function invoked during heap snapshot generation to retrieve + * the embedder object graph. The callback should use graph->AddEdge(..) to + * add references between the objects. + * The callback must not trigger garbage collection in V8. + */ + typedef void (*BuildEmbedderGraphCallback)(v8::Isolate* isolate, + v8::EmbedderGraph* graph, + void* data); + + /** Returns the number of snapshots taken. */ + int GetSnapshotCount(); + + /** Returns a snapshot by index. */ + const HeapSnapshot* GetHeapSnapshot(int index); + + /** + * Returns SnapshotObjectId for a heap object referenced by |value| if + * it has been seen by the heap profiler, kUnknownObjectId otherwise. + */ + SnapshotObjectId GetObjectId(Local value); + + /** + * Returns SnapshotObjectId for a native object referenced by |value| if it + * has been seen by the heap profiler, kUnknownObjectId otherwise. + */ + SnapshotObjectId GetObjectId(NativeObject value); + + /** + * Returns heap object with given SnapshotObjectId if the object is alive, + * otherwise empty handle is returned. + */ + Local FindObjectById(SnapshotObjectId id); + + /** + * Clears internal map from SnapshotObjectId to heap object. The new objects + * will not be added into it unless a heap snapshot is taken or heap object + * tracking is kicked off. + */ + void ClearObjectIds(); + + /** + * A constant for invalid SnapshotObjectId. GetSnapshotObjectId will return + * it in case heap profiler cannot find id for the object passed as + * parameter. HeapSnapshot::GetNodeById will always return NULL for such id. + */ + static const SnapshotObjectId kUnknownObjectId = 0; + + /** + * Callback interface for retrieving user friendly names of global objects. + */ + class ObjectNameResolver { + public: + /** + * Returns name to be used in the heap snapshot for given node. Returned + * string must stay alive until snapshot collection is completed. + */ + virtual const char* GetName(Local object) = 0; + + protected: + virtual ~ObjectNameResolver() = default; + }; + + /** + * Takes a heap snapshot and returns it. + */ + const HeapSnapshot* TakeHeapSnapshot( + ActivityControl* control = nullptr, + ObjectNameResolver* global_object_name_resolver = nullptr); + + /** + * Starts tracking of heap objects population statistics. After calling + * this method, all heap objects relocations done by the garbage collector + * are being registered. + * + * |track_allocations| parameter controls whether stack trace of each + * allocation in the heap will be recorded and reported as part of + * HeapSnapshot. + */ + void StartTrackingHeapObjects(bool track_allocations = false); + + /** + * Adds a new time interval entry to the aggregated statistics array. The + * time interval entry contains information on the current heap objects + * population size. The method also updates aggregated statistics and + * reports updates for all previous time intervals via the OutputStream + * object. Updates on each time interval are provided as a stream of the + * HeapStatsUpdate structure instances. + * If |timestamp_us| is supplied, timestamp of the new entry will be written + * into it. The return value of the function is the last seen heap object Id. + * + * StartTrackingHeapObjects must be called before the first call to this + * method. + */ + SnapshotObjectId GetHeapStats(OutputStream* stream, + int64_t* timestamp_us = nullptr); + + /** + * Stops tracking of heap objects population statistics, cleans up all + * collected data. StartHeapObjectsTracking must be called again prior to + * calling GetHeapStats next time. + */ + void StopTrackingHeapObjects(); + + /** + * Starts gathering a sampling heap profile. A sampling heap profile is + * similar to tcmalloc's heap profiler and Go's mprof. It samples object + * allocations and builds an online 'sampling' heap profile. At any point in + * time, this profile is expected to be a representative sample of objects + * currently live in the system. Each sampled allocation includes the stack + * trace at the time of allocation, which makes this really useful for memory + * leak detection. + * + * This mechanism is intended to be cheap enough that it can be used in + * production with minimal performance overhead. + * + * Allocations are sampled using a randomized Poisson process. On average, one + * allocation will be sampled every |sample_interval| bytes allocated. The + * |stack_depth| parameter controls the maximum number of stack frames to be + * captured on each allocation. + * + * NOTE: This is a proof-of-concept at this point. Right now we only sample + * newspace allocations. Support for paged space allocation (e.g. pre-tenured + * objects, large objects, code objects, etc.) and native allocations + * doesn't exist yet, but is anticipated in the future. + * + * Objects allocated before the sampling is started will not be included in + * the profile. + * + * Returns false if a sampling heap profiler is already running. + */ + bool StartSamplingHeapProfiler(uint64_t sample_interval = 512 * 1024, + int stack_depth = 16, + SamplingFlags flags = kSamplingNoFlags); + + /** + * Stops the sampling heap profile and discards the current profile. + */ + void StopSamplingHeapProfiler(); + + /** + * Returns the sampled profile of allocations allocated (and still live) since + * StartSamplingHeapProfiler was called. The ownership of the pointer is + * transferred to the caller. Returns nullptr if sampling heap profiler is not + * active. + */ + AllocationProfile* GetAllocationProfile(); + + /** + * Deletes all snapshots taken. All previously returned pointers to + * snapshots and their contents become invalid after this call. + */ + void DeleteAllHeapSnapshots(); + + void AddBuildEmbedderGraphCallback(BuildEmbedderGraphCallback callback, + void* data); + void RemoveBuildEmbedderGraphCallback(BuildEmbedderGraphCallback callback, + void* data); + + /** + * Default value of persistent handle class ID. Must not be used to + * define a class. Can be used to reset a class of a persistent + * handle. + */ + static const uint16_t kPersistentHandleNoClassId = 0; + + private: + HeapProfiler(); + ~HeapProfiler(); + HeapProfiler(const HeapProfiler&); + HeapProfiler& operator=(const HeapProfiler&); +}; + +/** + * A struct for exporting HeapStats data from V8, using "push" model. + * See HeapProfiler::GetHeapStats. + */ +struct HeapStatsUpdate { + HeapStatsUpdate(uint32_t index, uint32_t count, uint32_t size) + : index(index), count(count), size(size) { } + uint32_t index; // Index of the time interval that was changed. + uint32_t count; // New value of count field for the interval with this index. + uint32_t size; // New value of size field for the interval with this index. +}; + +#define CODE_EVENTS_LIST(V) \ + V(Builtin) \ + V(Callback) \ + V(Eval) \ + V(Function) \ + V(InterpretedFunction) \ + V(Handler) \ + V(BytecodeHandler) \ + V(LazyCompile) \ + V(RegExp) \ + V(Script) \ + V(Stub) \ + V(Relocation) + +/** + * Note that this enum may be extended in the future. Please include a default + * case if this enum is used in a switch statement. + */ +enum CodeEventType { + kUnknownType = 0 +#define V(Name) , k##Name##Type + CODE_EVENTS_LIST(V) +#undef V +}; + +/** + * Representation of a code creation event + */ +class V8_EXPORT CodeEvent { + public: + uintptr_t GetCodeStartAddress(); + size_t GetCodeSize(); + Local GetFunctionName(); + Local GetScriptName(); + int GetScriptLine(); + int GetScriptColumn(); + /** + * NOTE (mmarchini): We can't allocate objects in the heap when we collect + * existing code, and both the code type and the comment are not stored in the + * heap, so we return those as const char*. + */ + CodeEventType GetCodeType(); + const char* GetComment(); + + static const char* GetCodeEventTypeName(CodeEventType code_event_type); + + uintptr_t GetPreviousCodeStartAddress(); +}; + +/** + * Interface to listen to code creation and code relocation events. + */ +class V8_EXPORT CodeEventHandler { + public: + /** + * Creates a new listener for the |isolate|. The isolate must be initialized. + * The listener object must be disposed after use by calling |Dispose| method. + * Multiple listeners can be created for the same isolate. + */ + explicit CodeEventHandler(Isolate* isolate); + virtual ~CodeEventHandler(); + + /** + * Handle is called every time a code object is created or moved. Information + * about each code event will be available through the `code_event` + * parameter. + * + * When the CodeEventType is kRelocationType, the code for this CodeEvent has + * moved from `GetPreviousCodeStartAddress()` to `GetCodeStartAddress()`. + */ + virtual void Handle(CodeEvent* code_event) = 0; + + /** + * Call `Enable()` to starts listening to code creation and code relocation + * events. These events will be handled by `Handle()`. + */ + void Enable(); + + /** + * Call `Disable()` to stop listening to code creation and code relocation + * events. + */ + void Disable(); + + private: + CodeEventHandler(); + CodeEventHandler(const CodeEventHandler&); + CodeEventHandler& operator=(const CodeEventHandler&); + void* internal_listener_; +}; + +} // namespace v8 + + +#endif // V8_V8_PROFILER_H_ diff --git a/android/x86_64/include/v8/v8-testing.h b/android/x86_64/include/v8/v8-testing.h new file mode 100644 index 00000000..3b6a9731 --- /dev/null +++ b/android/x86_64/include/v8/v8-testing.h @@ -0,0 +1,50 @@ +// Copyright 2010 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_V8_TEST_H_ +#define V8_V8_TEST_H_ + +#include "v8.h" // NOLINT(build/include) + +/** + * Testing support for the V8 JavaScript engine. + */ +namespace v8 { +class V8_EXPORT Testing { + public: + enum V8_DEPRECATED("Don't use this (d8-specific testing logic).") StressType { + kStressTypeOpt, + kStressTypeDeopt + }; + + /** + * Set the type of stressing to do. The default if not set is kStressTypeOpt. + */ + V8_DEPRECATED("Don't use this (d8-specific testing logic).") + static void SetStressRunType(StressType type); + + /** + * Get the number of runs of a given test that is required to get the full + * stress coverage. + */ + V8_DEPRECATED("Don't use this (d8-specific testing logic).") + static int GetStressRuns(); + + /** + * Indicate the number of the run which is about to start. The value of run + * should be between 0 and one less than the result from GetStressRuns() + */ + V8_DEPRECATED("Don't use this (d8-specific testing logic).") + static void PrepareStressRun(int run); + + /** + * Force deoptimization of all functions. + */ + V8_DEPRECATED("Don't use this (d8-specific testing logic).") + static void DeoptimizeAll(Isolate* isolate); +}; + +} // namespace v8 + +#endif // V8_V8_TEST_H_ diff --git a/android/x86_64/include/v8/v8-util.h b/android/x86_64/include/v8/v8-util.h new file mode 100644 index 00000000..29d813e4 --- /dev/null +++ b/android/x86_64/include/v8/v8-util.h @@ -0,0 +1,652 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_UTIL_H_ +#define V8_UTIL_H_ + +#include "v8.h" // NOLINT(build/include) +#include +#include +#include + +/** + * Support for Persistent containers. + * + * C++11 embedders can use STL containers with Global values, + * but pre-C++11 does not support the required move semantic and hence + * may want these container classes. + */ +namespace v8 { + +typedef uintptr_t PersistentContainerValue; +static const uintptr_t kPersistentContainerNotFound = 0; +enum PersistentContainerCallbackType { + kNotWeak, + // These correspond to v8::WeakCallbackType + kWeakWithParameter, + kWeakWithInternalFields +}; + +/** + * A default trait implementation for PersistentValueMap which uses std::map + * as a backing map. + * + * Users will have to implement their own weak callbacks & dispose traits. + */ +template +class StdMapTraits { + public: + // STL map & related: + typedef std::map Impl; + typedef typename Impl::iterator Iterator; + + static bool Empty(Impl* impl) { return impl->empty(); } + static size_t Size(Impl* impl) { return impl->size(); } + static void Swap(Impl& a, Impl& b) { std::swap(a, b); } // NOLINT + static Iterator Begin(Impl* impl) { return impl->begin(); } + static Iterator End(Impl* impl) { return impl->end(); } + static K Key(Iterator it) { return it->first; } + static PersistentContainerValue Value(Iterator it) { return it->second; } + static PersistentContainerValue Set(Impl* impl, K key, + PersistentContainerValue value) { + std::pair res = impl->insert(std::make_pair(key, value)); + PersistentContainerValue old_value = kPersistentContainerNotFound; + if (!res.second) { + old_value = res.first->second; + res.first->second = value; + } + return old_value; + } + static PersistentContainerValue Get(Impl* impl, K key) { + Iterator it = impl->find(key); + if (it == impl->end()) return kPersistentContainerNotFound; + return it->second; + } + static PersistentContainerValue Remove(Impl* impl, K key) { + Iterator it = impl->find(key); + if (it == impl->end()) return kPersistentContainerNotFound; + PersistentContainerValue value = it->second; + impl->erase(it); + return value; + } +}; + + +/** + * A default trait implementation for PersistentValueMap, which inherits + * a std:map backing map from StdMapTraits and holds non-weak persistent + * objects and has no special Dispose handling. + * + * You should not derive from this class, since MapType depends on the + * surrounding class, and hence a subclass cannot simply inherit the methods. + */ +template +class DefaultPersistentValueMapTraits : public StdMapTraits { + public: + // Weak callback & friends: + static const PersistentContainerCallbackType kCallbackType = kNotWeak; + typedef PersistentValueMap > + MapType; + typedef void WeakCallbackDataType; + + static WeakCallbackDataType* WeakCallbackParameter( + MapType* map, const K& key, Local value) { + return nullptr; + } + static MapType* MapFromWeakCallbackInfo( + const WeakCallbackInfo& data) { + return nullptr; + } + static K KeyFromWeakCallbackInfo( + const WeakCallbackInfo& data) { + return K(); + } + static void DisposeCallbackData(WeakCallbackDataType* data) { } + static void Dispose(Isolate* isolate, Global value, K key) {} +}; + + +template +class DefaultGlobalMapTraits : public StdMapTraits { + private: + template + struct RemovePointer; + + public: + // Weak callback & friends: + static const PersistentContainerCallbackType kCallbackType = kNotWeak; + typedef GlobalValueMap > MapType; + typedef void WeakCallbackDataType; + + static WeakCallbackDataType* WeakCallbackParameter(MapType* map, const K& key, + Local value) { + return nullptr; + } + static MapType* MapFromWeakCallbackInfo( + const WeakCallbackInfo& data) { + return nullptr; + } + static K KeyFromWeakCallbackInfo( + const WeakCallbackInfo& data) { + return K(); + } + static void DisposeCallbackData(WeakCallbackDataType* data) {} + static void OnWeakCallback( + const WeakCallbackInfo& data) {} + static void Dispose(Isolate* isolate, Global value, K key) {} + // This is a second pass callback, so SetSecondPassCallback cannot be called. + static void DisposeWeak(const WeakCallbackInfo& data) {} + + private: + template + struct RemovePointer { + typedef T Type; + }; +}; + + +/** + * A map wrapper that allows using Global as a mapped value. + * C++11 embedders don't need this class, as they can use Global + * directly in std containers. + * + * The map relies on a backing map, whose type and accessors are described + * by the Traits class. The backing map will handle values of type + * PersistentContainerValue, with all conversion into and out of V8 + * handles being transparently handled by this class. + */ +template +class PersistentValueMapBase { + public: + Isolate* GetIsolate() { return isolate_; } + + /** + * Return size of the map. + */ + size_t Size() { return Traits::Size(&impl_); } + + /** + * Return whether the map holds weak persistents. + */ + bool IsWeak() { return Traits::kCallbackType != kNotWeak; } + + /** + * Get value stored in map. + */ + Local Get(const K& key) { + return Local::New(isolate_, FromVal(Traits::Get(&impl_, key))); + } + + /** + * Check whether a value is contained in the map. + */ + bool Contains(const K& key) { + return Traits::Get(&impl_, key) != kPersistentContainerNotFound; + } + + /** + * Get value stored in map and set it in returnValue. + * Return true if a value was found. + */ + bool SetReturnValue(const K& key, + ReturnValue returnValue) { + return SetReturnValueFromVal(&returnValue, Traits::Get(&impl_, key)); + } + + /** + * Return value for key and remove it from the map. + */ + Global Remove(const K& key) { + return Release(Traits::Remove(&impl_, key)).Pass(); + } + + /** + * Traverses the map repeatedly, + * in case side effects of disposal cause insertions. + **/ + void Clear() { + typedef typename Traits::Iterator It; + HandleScope handle_scope(isolate_); + // TODO(dcarney): figure out if this swap and loop is necessary. + while (!Traits::Empty(&impl_)) { + typename Traits::Impl impl; + Traits::Swap(impl_, impl); + for (It i = Traits::Begin(&impl); i != Traits::End(&impl); ++i) { + Traits::Dispose(isolate_, Release(Traits::Value(i)).Pass(), + Traits::Key(i)); + } + } + } + + /** + * Helper class for GetReference/SetWithReference. Do not use outside + * that context. + */ + class PersistentValueReference { + public: + PersistentValueReference() : value_(kPersistentContainerNotFound) { } + PersistentValueReference(const PersistentValueReference& other) + : value_(other.value_) { } + + Local NewLocal(Isolate* isolate) const { + return Local::New(isolate, FromVal(value_)); + } + bool IsEmpty() const { + return value_ == kPersistentContainerNotFound; + } + template + bool SetReturnValue(ReturnValue returnValue) { + return SetReturnValueFromVal(&returnValue, value_); + } + void Reset() { + value_ = kPersistentContainerNotFound; + } + void operator=(const PersistentValueReference& other) { + value_ = other.value_; + } + + private: + friend class PersistentValueMapBase; + friend class PersistentValueMap; + friend class GlobalValueMap; + + explicit PersistentValueReference(PersistentContainerValue value) + : value_(value) { } + + void operator=(PersistentContainerValue value) { + value_ = value; + } + + PersistentContainerValue value_; + }; + + /** + * Get a reference to a map value. This enables fast, repeated access + * to a value stored in the map while the map remains unchanged. + * + * Careful: This is potentially unsafe, so please use with care. + * The value will become invalid if the value for this key changes + * in the underlying map, as a result of Set or Remove for the same + * key; as a result of the weak callback for the same key; or as a + * result of calling Clear() or destruction of the map. + */ + PersistentValueReference GetReference(const K& key) { + return PersistentValueReference(Traits::Get(&impl_, key)); + } + + protected: + explicit PersistentValueMapBase(Isolate* isolate) + : isolate_(isolate), label_(nullptr) {} + PersistentValueMapBase(Isolate* isolate, const char* label) + : isolate_(isolate), label_(label) {} + + ~PersistentValueMapBase() { Clear(); } + + Isolate* isolate() { return isolate_; } + typename Traits::Impl* impl() { return &impl_; } + + static V* FromVal(PersistentContainerValue v) { + return reinterpret_cast(v); + } + + static PersistentContainerValue ClearAndLeak(Global* persistent) { + V* v = persistent->val_; + persistent->val_ = nullptr; + return reinterpret_cast(v); + } + + static PersistentContainerValue Leak(Global* persistent) { + return reinterpret_cast(persistent->val_); + } + + /** + * Return a container value as Global and make sure the weak + * callback is properly disposed of. All remove functionality should go + * through this. + */ + static Global Release(PersistentContainerValue v) { + Global p; + p.val_ = FromVal(v); + if (Traits::kCallbackType != kNotWeak && p.IsWeak()) { + Traits::DisposeCallbackData( + p.template ClearWeak()); + } + return p.Pass(); + } + + void RemoveWeak(const K& key) { + Global p; + p.val_ = FromVal(Traits::Remove(&impl_, key)); + p.Reset(); + } + + void AnnotateStrongRetainer(Global* persistent) { + persistent->AnnotateStrongRetainer(label_); + } + + private: + PersistentValueMapBase(PersistentValueMapBase&); + void operator=(PersistentValueMapBase&); + + static bool SetReturnValueFromVal(ReturnValue* returnValue, + PersistentContainerValue value) { + bool hasValue = value != kPersistentContainerNotFound; + if (hasValue) { + returnValue->SetInternal( + *reinterpret_cast(FromVal(value))); + } + return hasValue; + } + + Isolate* isolate_; + typename Traits::Impl impl_; + const char* label_; +}; + +template +class PersistentValueMap : public PersistentValueMapBase { + public: + explicit PersistentValueMap(Isolate* isolate) + : PersistentValueMapBase(isolate) {} + PersistentValueMap(Isolate* isolate, const char* label) + : PersistentValueMapBase(isolate, label) {} + + typedef + typename PersistentValueMapBase::PersistentValueReference + PersistentValueReference; + + /** + * Put value into map. Depending on Traits::kIsWeak, the value will be held + * by the map strongly or weakly. + * Returns old value as Global. + */ + Global Set(const K& key, Local value) { + Global persistent(this->isolate(), value); + return SetUnique(key, &persistent); + } + + /** + * Put value into map, like Set(const K&, Local). + */ + Global Set(const K& key, Global value) { + return SetUnique(key, &value); + } + + /** + * Put the value into the map, and set the 'weak' callback when demanded + * by the Traits class. + */ + Global SetUnique(const K& key, Global* persistent) { + if (Traits::kCallbackType == kNotWeak) { + this->AnnotateStrongRetainer(persistent); + } else { + WeakCallbackType callback_type = + Traits::kCallbackType == kWeakWithInternalFields + ? WeakCallbackType::kInternalFields + : WeakCallbackType::kParameter; + Local value(Local::New(this->isolate(), *persistent)); + persistent->template SetWeak( + Traits::WeakCallbackParameter(this, key, value), WeakCallback, + callback_type); + } + PersistentContainerValue old_value = + Traits::Set(this->impl(), key, this->ClearAndLeak(persistent)); + return this->Release(old_value).Pass(); + } + + /** + * Put a value into the map and update the reference. + * Restrictions of GetReference apply here as well. + */ + Global Set(const K& key, Global value, + PersistentValueReference* reference) { + *reference = this->Leak(&value); + return SetUnique(key, &value); + } + + private: + static void WeakCallback( + const WeakCallbackInfo& data) { + if (Traits::kCallbackType != kNotWeak) { + PersistentValueMap* persistentValueMap = + Traits::MapFromWeakCallbackInfo(data); + K key = Traits::KeyFromWeakCallbackInfo(data); + Traits::Dispose(data.GetIsolate(), + persistentValueMap->Remove(key).Pass(), key); + Traits::DisposeCallbackData(data.GetParameter()); + } + } +}; + + +template +class GlobalValueMap : public PersistentValueMapBase { + public: + explicit GlobalValueMap(Isolate* isolate) + : PersistentValueMapBase(isolate) {} + GlobalValueMap(Isolate* isolate, const char* label) + : PersistentValueMapBase(isolate, label) {} + + typedef + typename PersistentValueMapBase::PersistentValueReference + PersistentValueReference; + + /** + * Put value into map. Depending on Traits::kIsWeak, the value will be held + * by the map strongly or weakly. + * Returns old value as Global. + */ + Global Set(const K& key, Local value) { + Global persistent(this->isolate(), value); + return SetUnique(key, &persistent); + } + + /** + * Put value into map, like Set(const K&, Local). + */ + Global Set(const K& key, Global value) { + return SetUnique(key, &value); + } + + /** + * Put the value into the map, and set the 'weak' callback when demanded + * by the Traits class. + */ + Global SetUnique(const K& key, Global* persistent) { + if (Traits::kCallbackType == kNotWeak) { + this->AnnotateStrongRetainer(persistent); + } else { + WeakCallbackType callback_type = + Traits::kCallbackType == kWeakWithInternalFields + ? WeakCallbackType::kInternalFields + : WeakCallbackType::kParameter; + Local value(Local::New(this->isolate(), *persistent)); + persistent->template SetWeak( + Traits::WeakCallbackParameter(this, key, value), OnWeakCallback, + callback_type); + } + PersistentContainerValue old_value = + Traits::Set(this->impl(), key, this->ClearAndLeak(persistent)); + return this->Release(old_value).Pass(); + } + + /** + * Put a value into the map and update the reference. + * Restrictions of GetReference apply here as well. + */ + Global Set(const K& key, Global value, + PersistentValueReference* reference) { + *reference = this->Leak(&value); + return SetUnique(key, &value); + } + + private: + static void OnWeakCallback( + const WeakCallbackInfo& data) { + if (Traits::kCallbackType != kNotWeak) { + auto map = Traits::MapFromWeakCallbackInfo(data); + K key = Traits::KeyFromWeakCallbackInfo(data); + map->RemoveWeak(key); + Traits::OnWeakCallback(data); + data.SetSecondPassCallback(SecondWeakCallback); + } + } + + static void SecondWeakCallback( + const WeakCallbackInfo& data) { + Traits::DisposeWeak(data); + } +}; + + +/** + * A map that uses Global as value and std::map as the backing + * implementation. Persistents are held non-weak. + * + * C++11 embedders don't need this class, as they can use + * Global directly in std containers. + */ +template > +class StdPersistentValueMap : public PersistentValueMap { + public: + explicit StdPersistentValueMap(Isolate* isolate) + : PersistentValueMap(isolate) {} +}; + + +/** + * A map that uses Global as value and std::map as the backing + * implementation. Globals are held non-weak. + * + * C++11 embedders don't need this class, as they can use + * Global directly in std containers. + */ +template > +class StdGlobalValueMap : public GlobalValueMap { + public: + explicit StdGlobalValueMap(Isolate* isolate) + : GlobalValueMap(isolate) {} +}; + + +class DefaultPersistentValueVectorTraits { + public: + typedef std::vector Impl; + + static void Append(Impl* impl, PersistentContainerValue value) { + impl->push_back(value); + } + static bool IsEmpty(const Impl* impl) { + return impl->empty(); + } + static size_t Size(const Impl* impl) { + return impl->size(); + } + static PersistentContainerValue Get(const Impl* impl, size_t i) { + return (i < impl->size()) ? impl->at(i) : kPersistentContainerNotFound; + } + static void ReserveCapacity(Impl* impl, size_t capacity) { + impl->reserve(capacity); + } + static void Clear(Impl* impl) { + impl->clear(); + } +}; + + +/** + * A vector wrapper that safely stores Global values. + * C++11 embedders don't need this class, as they can use Global + * directly in std containers. + * + * This class relies on a backing vector implementation, whose type and methods + * are described by the Traits class. The backing map will handle values of type + * PersistentContainerValue, with all conversion into and out of V8 + * handles being transparently handled by this class. + */ +template +class PersistentValueVector { + public: + explicit PersistentValueVector(Isolate* isolate) : isolate_(isolate) { } + + ~PersistentValueVector() { + Clear(); + } + + /** + * Append a value to the vector. + */ + void Append(Local value) { + Global persistent(isolate_, value); + Traits::Append(&impl_, ClearAndLeak(&persistent)); + } + + /** + * Append a persistent's value to the vector. + */ + void Append(Global persistent) { + Traits::Append(&impl_, ClearAndLeak(&persistent)); + } + + /** + * Are there any values in the vector? + */ + bool IsEmpty() const { + return Traits::IsEmpty(&impl_); + } + + /** + * How many elements are in the vector? + */ + size_t Size() const { + return Traits::Size(&impl_); + } + + /** + * Retrieve the i-th value in the vector. + */ + Local Get(size_t index) const { + return Local::New(isolate_, FromVal(Traits::Get(&impl_, index))); + } + + /** + * Remove all elements from the vector. + */ + void Clear() { + size_t length = Traits::Size(&impl_); + for (size_t i = 0; i < length; i++) { + Global p; + p.val_ = FromVal(Traits::Get(&impl_, i)); + } + Traits::Clear(&impl_); + } + + /** + * Reserve capacity in the vector. + * (Efficiency gains depend on the backing implementation.) + */ + void ReserveCapacity(size_t capacity) { + Traits::ReserveCapacity(&impl_, capacity); + } + + private: + static PersistentContainerValue ClearAndLeak(Global* persistent) { + V* v = persistent->val_; + persistent->val_ = nullptr; + return reinterpret_cast(v); + } + + static V* FromVal(PersistentContainerValue v) { + return reinterpret_cast(v); + } + + Isolate* isolate_; + typename Traits::Impl impl_; +}; + +} // namespace v8 + +#endif // V8_UTIL_H diff --git a/android/x86_64/include/v8/v8-value-serializer-version.h b/android/x86_64/include/v8/v8-value-serializer-version.h new file mode 100644 index 00000000..c72911c6 --- /dev/null +++ b/android/x86_64/include/v8/v8-value-serializer-version.h @@ -0,0 +1,24 @@ +// Copyright 2017 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/** + * Compile-time constants. + * + * This header provides access to information about the value serializer at + * compile time, without declaring or defining any symbols that require linking + * to V8. + */ + +#ifndef INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_ +#define INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_ + +#include + +namespace v8 { + +constexpr uint32_t CurrentValueSerializerFormatVersion() { return 13; } + +} // namespace v8 + +#endif // INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_ diff --git a/android/x86_64/include/v8/v8-version-string.h b/android/x86_64/include/v8/v8-version-string.h new file mode 100644 index 00000000..fb84144d --- /dev/null +++ b/android/x86_64/include/v8/v8-version-string.h @@ -0,0 +1,38 @@ +// Copyright 2017 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_VERSION_STRING_H_ +#define V8_VERSION_STRING_H_ + +#include "v8-version.h" // NOLINT(build/include) + +// This is here rather than v8-version.h to keep that file simple and +// machine-processable. + +#if V8_IS_CANDIDATE_VERSION +#define V8_CANDIDATE_STRING " (candidate)" +#else +#define V8_CANDIDATE_STRING "" +#endif + +#ifndef V8_EMBEDDER_STRING +#define V8_EMBEDDER_STRING "" +#endif + +#define V8_SX(x) #x +#define V8_S(x) V8_SX(x) + +#if V8_PATCH_LEVEL > 0 +#define V8_VERSION_STRING \ + V8_S(V8_MAJOR_VERSION) \ + "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) "." V8_S( \ + V8_PATCH_LEVEL) V8_EMBEDDER_STRING V8_CANDIDATE_STRING +#else +#define V8_VERSION_STRING \ + V8_S(V8_MAJOR_VERSION) \ + "." V8_S(V8_MINOR_VERSION) "." V8_S(V8_BUILD_NUMBER) \ + V8_EMBEDDER_STRING V8_CANDIDATE_STRING +#endif + +#endif // V8_VERSION_STRING_H_ diff --git a/android/x86_64/include/v8/v8-version.h b/android/x86_64/include/v8/v8-version.h new file mode 100644 index 00000000..08ab8fd8 --- /dev/null +++ b/android/x86_64/include/v8/v8-version.h @@ -0,0 +1,20 @@ +// Copyright 2015 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_INCLUDE_VERSION_H_ // V8_VERSION_H_ conflicts with src/version.h +#define V8_INCLUDE_VERSION_H_ + +// These macros define the version number for the current version. +// NOTE these macros are used by some of the tool scripts and the build +// system so their names cannot be changed without changing the scripts. +#define V8_MAJOR_VERSION 8 +#define V8_MINOR_VERSION 0 +#define V8_BUILD_NUMBER 426 +#define V8_PATCH_LEVEL 16 + +// Use 1 for candidates and 0 otherwise. +// (Boolean macro values are not supported by all preprocessors.) +#define V8_IS_CANDIDATE_VERSION 0 + +#endif // V8_INCLUDE_VERSION_H_ diff --git a/android/x86_64/include/v8/v8-wasm-trap-handler-posix.h b/android/x86_64/include/v8/v8-wasm-trap-handler-posix.h new file mode 100644 index 00000000..998d0a41 --- /dev/null +++ b/android/x86_64/include/v8/v8-wasm-trap-handler-posix.h @@ -0,0 +1,31 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_WASM_TRAP_HANDLER_POSIX_H_ +#define V8_WASM_TRAP_HANDLER_POSIX_H_ + +#include + +#include "v8config.h" // NOLINT(build/include) + +namespace v8 { +/** + * This function determines whether a memory access violation has been an + * out-of-bounds memory access in WebAssembly. If so, it will modify the context + * parameter and add a return address where the execution can continue after the + * signal handling, and return true. Otherwise, false will be returned. + * + * The parameters to this function correspond to those passed to a Posix signal + * handler. Use this function only on Linux and Mac. + * + * \param sig_code The signal code, e.g. SIGSEGV. + * \param info A pointer to the siginfo_t struct provided to the signal handler. + * \param context A pointer to a ucontext_t struct provided to the signal + * handler. + */ +V8_EXPORT bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info, + void* context); + +} // namespace v8 +#endif // V8_WASM_TRAP_HANDLER_POSIX_H_ diff --git a/android/x86_64/include/v8/v8-wasm-trap-handler-win.h b/android/x86_64/include/v8/v8-wasm-trap-handler-win.h new file mode 100644 index 00000000..0185df64 --- /dev/null +++ b/android/x86_64/include/v8/v8-wasm-trap-handler-win.h @@ -0,0 +1,28 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_WASM_TRAP_HANDLER_WIN_H_ +#define V8_WASM_TRAP_HANDLER_WIN_H_ + +#include + +#include "v8config.h" // NOLINT(build/include) + +namespace v8 { +/** + * This function determines whether a memory access violation has been an + * out-of-bounds memory access in WebAssembly. If so, it will modify the + * exception parameter and add a return address where the execution can continue + * after the exception handling, and return true. Otherwise the return value + * will be false. + * + * The parameter to this function corresponds to the one passed to a Windows + * vectored exception handler. Use this function only on Windows. + * + * \param exception An EXCEPTION_POINTERS* as provided to the exception handler. + */ +V8_EXPORT bool TryHandleWebAssemblyTrapWindows(EXCEPTION_POINTERS* exception); + +} // namespace v8 +#endif // V8_WASM_TRAP_HANDLER_WIN_H_ diff --git a/android/x86_64/include/v8/v8.h b/android/x86_64/include/v8/v8.h new file mode 100644 index 00000000..692e53b8 --- /dev/null +++ b/android/x86_64/include/v8/v8.h @@ -0,0 +1,11779 @@ +// Copyright 2012 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/** \mainpage V8 API Reference Guide + * + * V8 is Google's open source JavaScript engine. + * + * This set of documents provides reference material generated from the + * V8 header file, include/v8.h. + * + * For other documentation see http://code.google.com/apis/v8/ + */ + +#ifndef INCLUDE_V8_H_ +#define INCLUDE_V8_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "v8-internal.h" // NOLINT(build/include) +#include "v8-version.h" // NOLINT(build/include) +#include "v8config.h" // NOLINT(build/include) + +// We reserve the V8_* prefix for macros defined in V8 public API and +// assume there are no name conflicts with the embedder's code. + +/** + * The v8 JavaScript engine. + */ +namespace v8 { + +class AccessorSignature; +class Array; +class ArrayBuffer; +class BigInt; +class BigIntObject; +class Boolean; +class BooleanObject; +class Context; +class Data; +class Date; +class External; +class Function; +class FunctionTemplate; +class HeapProfiler; +class ImplementationUtilities; +class Int32; +class Integer; +class Isolate; +template +class Maybe; +class MicrotaskQueue; +class Name; +class Number; +class NumberObject; +class Object; +class ObjectOperationDescriptor; +class ObjectTemplate; +class Platform; +class Primitive; +class Promise; +class PropertyDescriptor; +class Proxy; +class RawOperationDescriptor; +class Script; +class SharedArrayBuffer; +class Signature; +class StartupData; +class StackFrame; +class StackTrace; +class String; +class StringObject; +class Symbol; +class SymbolObject; +class PrimitiveArray; +class Private; +class Uint32; +class Utils; +class Value; +class WasmModuleObject; +template class Local; +template +class MaybeLocal; +template class Eternal; +template class NonCopyablePersistentTraits; +template class PersistentBase; +template > +class Persistent; +template +class Global; +template +class TracedGlobal; +template +class TracedReference; +template +class TracedReferenceBase; +template class PersistentValueMap; +template +class PersistentValueMapBase; +template +class GlobalValueMap; +template class PersistentValueVector; +template class WeakCallbackObject; +class FunctionTemplate; +class ObjectTemplate; +template class FunctionCallbackInfo; +template class PropertyCallbackInfo; +class StackTrace; +class StackFrame; +class Isolate; +class CallHandlerHelper; +class EscapableHandleScope; +template class ReturnValue; + +namespace internal { +class Arguments; +class DeferredHandles; +class Heap; +class HeapObject; +class ExternalString; +class Isolate; +class LocalEmbedderHeapTracer; +class MicrotaskQueue; +struct ScriptStreamingData; +template class CustomArguments; +class PropertyCallbackArguments; +class FunctionCallbackArguments; +class GlobalHandles; +class ScopedExternalStringLock; +class ThreadLocalTop; + +namespace wasm { +class NativeModule; +class StreamingDecoder; +} // namespace wasm + +} // namespace internal + +namespace debug { +class ConsoleCallArguments; +} // namespace debug + +// --- Handles --- + +#define TYPE_CHECK(T, S) \ + while (false) { \ + *(static_cast(0)) = static_cast(0); \ + } + +/** + * An object reference managed by the v8 garbage collector. + * + * All objects returned from v8 have to be tracked by the garbage + * collector so that it knows that the objects are still alive. Also, + * because the garbage collector may move objects, it is unsafe to + * point directly to an object. Instead, all objects are stored in + * handles which are known by the garbage collector and updated + * whenever an object moves. Handles should always be passed by value + * (except in cases like out-parameters) and they should never be + * allocated on the heap. + * + * There are two types of handles: local and persistent handles. + * + * Local handles are light-weight and transient and typically used in + * local operations. They are managed by HandleScopes. That means that a + * HandleScope must exist on the stack when they are created and that they are + * only valid inside of the HandleScope active during their creation. + * For passing a local handle to an outer HandleScope, an EscapableHandleScope + * and its Escape() method must be used. + * + * Persistent handles can be used when storing objects across several + * independent operations and have to be explicitly deallocated when they're no + * longer used. + * + * It is safe to extract the object stored in the handle by + * dereferencing the handle (for instance, to extract the Object* from + * a Local); the value will still be governed by a handle + * behind the scenes and the same rules apply to these values as to + * their handles. + */ +template +class Local { + public: + V8_INLINE Local() : val_(nullptr) {} + template + V8_INLINE Local(Local that) + : val_(reinterpret_cast(*that)) { + /** + * This check fails when trying to convert between incompatible + * handles. For example, converting from a Local to a + * Local. + */ + TYPE_CHECK(T, S); + } + + /** + * Returns true if the handle is empty. + */ + V8_INLINE bool IsEmpty() const { return val_ == nullptr; } + + /** + * Sets the handle to be empty. IsEmpty() will then return true. + */ + V8_INLINE void Clear() { val_ = nullptr; } + + V8_INLINE T* operator->() const { return val_; } + + V8_INLINE T* operator*() const { return val_; } + + /** + * Checks whether two handles are the same. + * Returns true if both are empty, or if the objects + * to which they refer are identical. + * The handles' references are not checked. + */ + template + V8_INLINE bool operator==(const Local& that) const { + internal::Address* a = reinterpret_cast(this->val_); + internal::Address* b = reinterpret_cast(that.val_); + if (a == nullptr) return b == nullptr; + if (b == nullptr) return false; + return *a == *b; + } + + template V8_INLINE bool operator==( + const PersistentBase& that) const { + internal::Address* a = reinterpret_cast(this->val_); + internal::Address* b = reinterpret_cast(that.val_); + if (a == nullptr) return b == nullptr; + if (b == nullptr) return false; + return *a == *b; + } + + /** + * Checks whether two handles are different. + * Returns true if only one of the handles is empty, or if + * the objects to which they refer are different. + * The handles' references are not checked. + */ + template + V8_INLINE bool operator!=(const Local& that) const { + return !operator==(that); + } + + template V8_INLINE bool operator!=( + const Persistent& that) const { + return !operator==(that); + } + + /** + * Cast a handle to a subclass, e.g. Local to Local. + * This is only valid if the handle actually refers to a value of the + * target type. + */ + template V8_INLINE static Local Cast(Local that) { +#ifdef V8_ENABLE_CHECKS + // If we're going to perform the type check then we have to check + // that the handle isn't empty before doing the checked cast. + if (that.IsEmpty()) return Local(); +#endif + return Local(T::Cast(*that)); + } + + /** + * Calling this is equivalent to Local::Cast(). + * In particular, this is only valid if the handle actually refers to a value + * of the target type. + */ + template + V8_INLINE Local As() const { + return Local::Cast(*this); + } + + /** + * Create a local handle for the content of another handle. + * The referee is kept alive by the local handle even when + * the original handle is destroyed/disposed. + */ + V8_INLINE static Local New(Isolate* isolate, Local that); + V8_INLINE static Local New(Isolate* isolate, + const PersistentBase& that); + V8_INLINE static Local New(Isolate* isolate, + const TracedReferenceBase& that); + + private: + friend class Utils; + template friend class Eternal; + template friend class PersistentBase; + template friend class Persistent; + template friend class Local; + template + friend class MaybeLocal; + template friend class FunctionCallbackInfo; + template friend class PropertyCallbackInfo; + friend class String; + friend class Object; + friend class Context; + friend class Isolate; + friend class Private; + template friend class internal::CustomArguments; + friend Local Undefined(Isolate* isolate); + friend Local Null(Isolate* isolate); + friend Local True(Isolate* isolate); + friend Local False(Isolate* isolate); + friend class HandleScope; + friend class EscapableHandleScope; + template + friend class PersistentValueMapBase; + template friend class PersistentValueVector; + template + friend class ReturnValue; + template + friend class Traced; + template + friend class TracedGlobal; + template + friend class TracedReferenceBase; + template + friend class TracedReference; + + explicit V8_INLINE Local(T* that) : val_(that) {} + V8_INLINE static Local New(Isolate* isolate, T* that); + T* val_; +}; + + +#if !defined(V8_IMMINENT_DEPRECATION_WARNINGS) +// Handle is an alias for Local for historical reasons. +template +using Handle = Local; +#endif + + +/** + * A MaybeLocal<> is a wrapper around Local<> that enforces a check whether + * the Local<> is empty before it can be used. + * + * If an API method returns a MaybeLocal<>, the API method can potentially fail + * either because an exception is thrown, or because an exception is pending, + * e.g. because a previous API call threw an exception that hasn't been caught + * yet, or because a TerminateExecution exception was thrown. In that case, an + * empty MaybeLocal is returned. + */ +template +class MaybeLocal { + public: + V8_INLINE MaybeLocal() : val_(nullptr) {} + template + V8_INLINE MaybeLocal(Local that) + : val_(reinterpret_cast(*that)) { + TYPE_CHECK(T, S); + } + + V8_INLINE bool IsEmpty() const { return val_ == nullptr; } + + /** + * Converts this MaybeLocal<> to a Local<>. If this MaybeLocal<> is empty, + * |false| is returned and |out| is left untouched. + */ + template + V8_WARN_UNUSED_RESULT V8_INLINE bool ToLocal(Local* out) const { + out->val_ = IsEmpty() ? nullptr : this->val_; + return !IsEmpty(); + } + + /** + * Converts this MaybeLocal<> to a Local<>. If this MaybeLocal<> is empty, + * V8 will crash the process. + */ + V8_INLINE Local ToLocalChecked(); + + /** + * Converts this MaybeLocal<> to a Local<>, using a default value if this + * MaybeLocal<> is empty. + */ + template + V8_INLINE Local FromMaybe(Local default_value) const { + return IsEmpty() ? default_value : Local(val_); + } + + private: + T* val_; +}; + +/** + * Eternal handles are set-once handles that live for the lifetime of the + * isolate. + */ +template class Eternal { + public: + V8_INLINE Eternal() : val_(nullptr) {} + template + V8_INLINE Eternal(Isolate* isolate, Local handle) : val_(nullptr) { + Set(isolate, handle); + } + // Can only be safely called if already set. + V8_INLINE Local Get(Isolate* isolate) const; + V8_INLINE bool IsEmpty() const { return val_ == nullptr; } + template V8_INLINE void Set(Isolate* isolate, Local handle); + + private: + T* val_; +}; + + +static const int kInternalFieldsInWeakCallback = 2; +static const int kEmbedderFieldsInWeakCallback = 2; + +template +class WeakCallbackInfo { + public: + typedef void (*Callback)(const WeakCallbackInfo& data); + + WeakCallbackInfo(Isolate* isolate, T* parameter, + void* embedder_fields[kEmbedderFieldsInWeakCallback], + Callback* callback) + : isolate_(isolate), parameter_(parameter), callback_(callback) { + for (int i = 0; i < kEmbedderFieldsInWeakCallback; ++i) { + embedder_fields_[i] = embedder_fields[i]; + } + } + + V8_INLINE Isolate* GetIsolate() const { return isolate_; } + V8_INLINE T* GetParameter() const { return parameter_; } + V8_INLINE void* GetInternalField(int index) const; + + // When first called, the embedder MUST Reset() the Global which triggered the + // callback. The Global itself is unusable for anything else. No v8 other api + // calls may be called in the first callback. Should additional work be + // required, the embedder must set a second pass callback, which will be + // called after all the initial callbacks are processed. + // Calling SetSecondPassCallback on the second pass will immediately crash. + void SetSecondPassCallback(Callback callback) const { *callback_ = callback; } + + private: + Isolate* isolate_; + T* parameter_; + Callback* callback_; + void* embedder_fields_[kEmbedderFieldsInWeakCallback]; +}; + + +// kParameter will pass a void* parameter back to the callback, kInternalFields +// will pass the first two internal fields back to the callback, kFinalizer +// will pass a void* parameter back, but is invoked before the object is +// actually collected, so it can be resurrected. In the last case, it is not +// possible to request a second pass callback. +enum class WeakCallbackType { kParameter, kInternalFields, kFinalizer }; + +/** + * An object reference that is independent of any handle scope. Where + * a Local handle only lives as long as the HandleScope in which it was + * allocated, a PersistentBase handle remains valid until it is explicitly + * disposed using Reset(). + * + * A persistent handle contains a reference to a storage cell within + * the V8 engine which holds an object value and which is updated by + * the garbage collector whenever the object is moved. A new storage + * cell can be created using the constructor or PersistentBase::Reset and + * existing handles can be disposed using PersistentBase::Reset. + * + */ +template class PersistentBase { + public: + /** + * If non-empty, destroy the underlying storage cell + * IsEmpty() will return true after this call. + */ + V8_INLINE void Reset(); + /** + * If non-empty, destroy the underlying storage cell + * and create a new one with the contents of other if other is non empty + */ + template + V8_INLINE void Reset(Isolate* isolate, const Local& other); + + /** + * If non-empty, destroy the underlying storage cell + * and create a new one with the contents of other if other is non empty + */ + template + V8_INLINE void Reset(Isolate* isolate, const PersistentBase& other); + + V8_INLINE bool IsEmpty() const { return val_ == nullptr; } + V8_INLINE void Empty() { val_ = 0; } + + V8_INLINE Local Get(Isolate* isolate) const { + return Local::New(isolate, *this); + } + + template + V8_INLINE bool operator==(const PersistentBase& that) const { + internal::Address* a = reinterpret_cast(this->val_); + internal::Address* b = reinterpret_cast(that.val_); + if (a == nullptr) return b == nullptr; + if (b == nullptr) return false; + return *a == *b; + } + + template + V8_INLINE bool operator==(const Local& that) const { + internal::Address* a = reinterpret_cast(this->val_); + internal::Address* b = reinterpret_cast(that.val_); + if (a == nullptr) return b == nullptr; + if (b == nullptr) return false; + return *a == *b; + } + + template + V8_INLINE bool operator!=(const PersistentBase& that) const { + return !operator==(that); + } + + template + V8_INLINE bool operator!=(const Local& that) const { + return !operator==(that); + } + + /** + * Install a finalization callback on this object. + * NOTE: There is no guarantee as to *when* or even *if* the callback is + * invoked. The invocation is performed solely on a best effort basis. + * As always, GC-based finalization should *not* be relied upon for any + * critical form of resource management! + */ + template + V8_INLINE void SetWeak(P* parameter, + typename WeakCallbackInfo

        ::Callback callback, + WeakCallbackType type); + + /** + * Turns this handle into a weak phantom handle without finalization callback. + * The handle will be reset automatically when the garbage collector detects + * that the object is no longer reachable. + * A related function Isolate::NumberOfPhantomHandleResetsSinceLastCall + * returns how many phantom handles were reset by the garbage collector. + */ + V8_INLINE void SetWeak(); + + template + V8_INLINE P* ClearWeak(); + + // TODO(dcarney): remove this. + V8_INLINE void ClearWeak() { ClearWeak(); } + + /** + * Annotates the strong handle with the given label, which is then used by the + * heap snapshot generator as a name of the edge from the root to the handle. + * The function does not take ownership of the label and assumes that the + * label is valid as long as the handle is valid. + */ + V8_INLINE void AnnotateStrongRetainer(const char* label); + + /** Returns true if the handle's reference is weak. */ + V8_INLINE bool IsWeak() const; + + /** + * Assigns a wrapper class ID to the handle. + */ + V8_INLINE void SetWrapperClassId(uint16_t class_id); + + /** + * Returns the class ID previously assigned to this handle or 0 if no class ID + * was previously assigned. + */ + V8_INLINE uint16_t WrapperClassId() const; + + PersistentBase(const PersistentBase& other) = delete; // NOLINT + void operator=(const PersistentBase&) = delete; + + private: + friend class Isolate; + friend class Utils; + template friend class Local; + template friend class Persistent; + template + friend class Global; + template friend class PersistentBase; + template friend class ReturnValue; + template + friend class PersistentValueMapBase; + template friend class PersistentValueVector; + friend class Object; + + explicit V8_INLINE PersistentBase(T* val) : val_(val) {} + V8_INLINE static T* New(Isolate* isolate, T* that); + + T* val_; +}; + + +/** + * Default traits for Persistent. This class does not allow + * use of the copy constructor or assignment operator. + * At present kResetInDestructor is not set, but that will change in a future + * version. + */ +template +class NonCopyablePersistentTraits { + public: + typedef Persistent > NonCopyablePersistent; + static const bool kResetInDestructor = false; + template + V8_INLINE static void Copy(const Persistent& source, + NonCopyablePersistent* dest) { + Uncompilable(); + } + // TODO(dcarney): come up with a good compile error here. + template V8_INLINE static void Uncompilable() { + TYPE_CHECK(O, Primitive); + } +}; + + +/** + * Helper class traits to allow copying and assignment of Persistent. + * This will clone the contents of storage cell, but not any of the flags, etc. + */ +template +struct CopyablePersistentTraits { + typedef Persistent > CopyablePersistent; + static const bool kResetInDestructor = true; + template + static V8_INLINE void Copy(const Persistent& source, + CopyablePersistent* dest) { + // do nothing, just allow copy + } +}; + + +/** + * A PersistentBase which allows copy and assignment. + * + * Copy, assignment and destructor behavior is controlled by the traits + * class M. + * + * Note: Persistent class hierarchy is subject to future changes. + */ +template class Persistent : public PersistentBase { + public: + /** + * A Persistent with no storage cell. + */ + V8_INLINE Persistent() : PersistentBase(nullptr) {} + /** + * Construct a Persistent from a Local. + * When the Local is non-empty, a new storage cell is created + * pointing to the same object, and no flags are set. + */ + template + V8_INLINE Persistent(Isolate* isolate, Local that) + : PersistentBase(PersistentBase::New(isolate, *that)) { + TYPE_CHECK(T, S); + } + /** + * Construct a Persistent from a Persistent. + * When the Persistent is non-empty, a new storage cell is created + * pointing to the same object, and no flags are set. + */ + template + V8_INLINE Persistent(Isolate* isolate, const Persistent& that) + : PersistentBase(PersistentBase::New(isolate, *that)) { + TYPE_CHECK(T, S); + } + /** + * The copy constructors and assignment operator create a Persistent + * exactly as the Persistent constructor, but the Copy function from the + * traits class is called, allowing the setting of flags based on the + * copied Persistent. + */ + V8_INLINE Persistent(const Persistent& that) : PersistentBase(nullptr) { + Copy(that); + } + template + V8_INLINE Persistent(const Persistent& that) : PersistentBase(0) { + Copy(that); + } + V8_INLINE Persistent& operator=(const Persistent& that) { + Copy(that); + return *this; + } + template + V8_INLINE Persistent& operator=(const Persistent& that) { // NOLINT + Copy(that); + return *this; + } + /** + * The destructor will dispose the Persistent based on the + * kResetInDestructor flags in the traits class. Since not calling dispose + * can result in a memory leak, it is recommended to always set this flag. + */ + V8_INLINE ~Persistent() { + if (M::kResetInDestructor) this->Reset(); + } + + // TODO(dcarney): this is pretty useless, fix or remove + template + V8_INLINE static Persistent& Cast(const Persistent& that) { // NOLINT +#ifdef V8_ENABLE_CHECKS + // If we're going to perform the type check then we have to check + // that the handle isn't empty before doing the checked cast. + if (!that.IsEmpty()) T::Cast(*that); +#endif + return reinterpret_cast&>(const_cast&>(that)); + } + + // TODO(dcarney): this is pretty useless, fix or remove + template + V8_INLINE Persistent& As() const { // NOLINT + return Persistent::Cast(*this); + } + + private: + friend class Isolate; + friend class Utils; + template friend class Local; + template friend class Persistent; + template friend class ReturnValue; + + explicit V8_INLINE Persistent(T* that) : PersistentBase(that) {} + V8_INLINE T* operator*() const { return this->val_; } + template + V8_INLINE void Copy(const Persistent& that); +}; + + +/** + * A PersistentBase which has move semantics. + * + * Note: Persistent class hierarchy is subject to future changes. + */ +template +class Global : public PersistentBase { + public: + /** + * A Global with no storage cell. + */ + V8_INLINE Global() : PersistentBase(nullptr) {} + + /** + * Construct a Global from a Local. + * When the Local is non-empty, a new storage cell is created + * pointing to the same object, and no flags are set. + */ + template + V8_INLINE Global(Isolate* isolate, Local that) + : PersistentBase(PersistentBase::New(isolate, *that)) { + TYPE_CHECK(T, S); + } + + /** + * Construct a Global from a PersistentBase. + * When the Persistent is non-empty, a new storage cell is created + * pointing to the same object, and no flags are set. + */ + template + V8_INLINE Global(Isolate* isolate, const PersistentBase& that) + : PersistentBase(PersistentBase::New(isolate, that.val_)) { + TYPE_CHECK(T, S); + } + + /** + * Move constructor. + */ + V8_INLINE Global(Global&& other); + + V8_INLINE ~Global() { this->Reset(); } + + /** + * Move via assignment. + */ + template + V8_INLINE Global& operator=(Global&& rhs); + + /** + * Pass allows returning uniques from functions, etc. + */ + Global Pass() { return static_cast(*this); } // NOLINT + + /* + * For compatibility with Chromium's base::Bind (base::Passed). + */ + typedef void MoveOnlyTypeForCPP03; + + Global(const Global&) = delete; + void operator=(const Global&) = delete; + + private: + template + friend class ReturnValue; + V8_INLINE T* operator*() const { return this->val_; } +}; + + +// UniquePersistent is an alias for Global for historical reason. +template +using UniquePersistent = Global; + +/** + * Deprecated. Use |TracedReference| instead. + */ +template +struct TracedGlobalTrait {}; + +/** + * A traced handle with copy and move semantics. The handle is to be used + * together with |v8::EmbedderHeapTracer| and specifies edges from the embedder + * into V8's heap. + * + * The exact semantics are: + * - Tracing garbage collections use |v8::EmbedderHeapTracer|. + * - Non-tracing garbage collections refer to + * |v8::EmbedderHeapTracer::IsRootForNonTracingGC()| whether the handle should + * be treated as root or not. + * + * Note that the base class cannot be instantiated itself. Choose from + * - TracedGlobal + * - TracedReference + */ +template +class TracedReferenceBase { + public: + /** + * Returns true if this TracedReferenceBase is empty, i.e., has not been + * assigned an object. + */ + bool IsEmpty() const { return val_ == nullptr; } + + /** + * If non-empty, destroy the underlying storage cell. |IsEmpty| will return + * true after this call. + */ + V8_INLINE void Reset(); + + /** + * Construct a Local from this handle. + */ + Local Get(Isolate* isolate) const { return Local::New(isolate, *this); } + + template + V8_INLINE bool operator==(const TracedReferenceBase& that) const { + internal::Address* a = reinterpret_cast(val_); + internal::Address* b = reinterpret_cast(that.val_); + if (a == nullptr) return b == nullptr; + if (b == nullptr) return false; + return *a == *b; + } + + template + V8_INLINE bool operator==(const Local& that) const { + internal::Address* a = reinterpret_cast(val_); + internal::Address* b = reinterpret_cast(that.val_); + if (a == nullptr) return b == nullptr; + if (b == nullptr) return false; + return *a == *b; + } + + template + V8_INLINE bool operator!=(const TracedReferenceBase& that) const { + return !operator==(that); + } + + template + V8_INLINE bool operator!=(const Local& that) const { + return !operator==(that); + } + + /** + * Assigns a wrapper class ID to the handle. + */ + V8_INLINE void SetWrapperClassId(uint16_t class_id); + + /** + * Returns the class ID previously assigned to this handle or 0 if no class ID + * was previously assigned. + */ + V8_INLINE uint16_t WrapperClassId() const; + + template + V8_INLINE TracedReferenceBase& As() const { + return reinterpret_cast&>( + const_cast&>(*this)); + } + + private: + enum DestructionMode { kWithDestructor, kWithoutDestructor }; + + /** + * An empty TracedReferenceBase without storage cell. + */ + TracedReferenceBase() = default; + + V8_INLINE static T* New(Isolate* isolate, T* that, void* slot, + DestructionMode destruction_mode); + + T* val_ = nullptr; + + friend class EmbedderHeapTracer; + template + friend class Local; + friend class Object; + template + friend class TracedGlobal; + template + friend class TracedReference; + template + friend class ReturnValue; +}; + +/** + * A traced handle with destructor that clears the handle. For more details see + * TracedReferenceBase. + */ +template +class TracedGlobal : public TracedReferenceBase { + public: + using TracedReferenceBase::Reset; + + /** + * Destructor resetting the handle. + */ + ~TracedGlobal() { this->Reset(); } + + /** + * An empty TracedGlobal without storage cell. + */ + TracedGlobal() : TracedReferenceBase() {} + + /** + * Construct a TracedGlobal from a Local. + * + * When the Local is non-empty, a new storage cell is created + * pointing to the same object. + */ + template + TracedGlobal(Isolate* isolate, Local that) : TracedReferenceBase() { + this->val_ = this->New(isolate, that.val_, &this->val_, + TracedReferenceBase::kWithDestructor); + TYPE_CHECK(T, S); + } + + /** + * Move constructor initializing TracedGlobal from an existing one. + */ + V8_INLINE TracedGlobal(TracedGlobal&& other) { + // Forward to operator=. + *this = std::move(other); + } + + /** + * Move constructor initializing TracedGlobal from an existing one. + */ + template + V8_INLINE TracedGlobal(TracedGlobal&& other) { + // Forward to operator=. + *this = std::move(other); + } + + /** + * Copy constructor initializing TracedGlobal from an existing one. + */ + V8_INLINE TracedGlobal(const TracedGlobal& other) { + // Forward to operator=; + *this = other; + } + + /** + * Copy constructor initializing TracedGlobal from an existing one. + */ + template + V8_INLINE TracedGlobal(const TracedGlobal& other) { + // Forward to operator=; + *this = other; + } + + /** + * Move assignment operator initializing TracedGlobal from an existing one. + */ + V8_INLINE TracedGlobal& operator=(TracedGlobal&& rhs); + + /** + * Move assignment operator initializing TracedGlobal from an existing one. + */ + template + V8_INLINE TracedGlobal& operator=(TracedGlobal&& rhs); + + /** + * Copy assignment operator initializing TracedGlobal from an existing one. + * + * Note: Prohibited when |other| has a finalization callback set through + * |SetFinalizationCallback|. + */ + V8_INLINE TracedGlobal& operator=(const TracedGlobal& rhs); + + /** + * Copy assignment operator initializing TracedGlobal from an existing one. + * + * Note: Prohibited when |other| has a finalization callback set through + * |SetFinalizationCallback|. + */ + template + V8_INLINE TracedGlobal& operator=(const TracedGlobal& rhs); + + /** + * If non-empty, destroy the underlying storage cell and create a new one with + * the contents of other if other is non empty + */ + template + V8_INLINE void Reset(Isolate* isolate, const Local& other); + + template + V8_INLINE TracedGlobal& As() const { + return reinterpret_cast&>( + const_cast&>(*this)); + } + + /** + * Adds a finalization callback to the handle. The type of this callback is + * similar to WeakCallbackType::kInternalFields, i.e., it will pass the + * parameter and the first two internal fields of the object. + * + * The callback is then supposed to reset the handle in the callback. No + * further V8 API may be called in this callback. In case additional work + * involving V8 needs to be done, a second callback can be scheduled using + * WeakCallbackInfo::SetSecondPassCallback. + */ + V8_INLINE void SetFinalizationCallback( + void* parameter, WeakCallbackInfo::Callback callback); +}; + +/** + * A traced handle without destructor that clears the handle. The embedder needs + * to ensure that the handle is not accessed once the V8 object has been + * reclaimed. This can happen when the handle is not passed through the + * EmbedderHeapTracer. For more details see TracedReferenceBase. + */ +template +class TracedReference : public TracedReferenceBase { + public: + using TracedReferenceBase::Reset; + + /** + * An empty TracedReference without storage cell. + */ + TracedReference() : TracedReferenceBase() {} + + /** + * Construct a TracedReference from a Local. + * + * When the Local is non-empty, a new storage cell is created + * pointing to the same object. + */ + template + TracedReference(Isolate* isolate, Local that) : TracedReferenceBase() { + this->val_ = this->New(isolate, that.val_, &this->val_, + TracedReferenceBase::kWithoutDestructor); + TYPE_CHECK(T, S); + } + + /** + * Move constructor initializing TracedReference from an + * existing one. + */ + V8_INLINE TracedReference(TracedReference&& other) { + // Forward to operator=. + *this = std::move(other); + } + + /** + * Move constructor initializing TracedReference from an + * existing one. + */ + template + V8_INLINE TracedReference(TracedReference&& other) { + // Forward to operator=. + *this = std::move(other); + } + + /** + * Copy constructor initializing TracedReference from an + * existing one. + */ + V8_INLINE TracedReference(const TracedReference& other) { + // Forward to operator=; + *this = other; + } + + /** + * Copy constructor initializing TracedReference from an + * existing one. + */ + template + V8_INLINE TracedReference(const TracedReference& other) { + // Forward to operator=; + *this = other; + } + + /** + * Move assignment operator initializing TracedGlobal from an existing one. + */ + V8_INLINE TracedReference& operator=(TracedReference&& rhs); + + /** + * Move assignment operator initializing TracedGlobal from an existing one. + */ + template + V8_INLINE TracedReference& operator=(TracedReference&& rhs); + + /** + * Copy assignment operator initializing TracedGlobal from an existing one. + * + * Note: Prohibited when |other| has a finalization callback set through + * |SetFinalizationCallback|. + */ + V8_INLINE TracedReference& operator=(const TracedReference& rhs); + + /** + * Copy assignment operator initializing TracedGlobal from an existing one. + * + * Note: Prohibited when |other| has a finalization callback set through + * |SetFinalizationCallback|. + */ + template + V8_INLINE TracedReference& operator=(const TracedReference& rhs); + + /** + * If non-empty, destroy the underlying storage cell and create a new one with + * the contents of other if other is non empty + */ + template + V8_INLINE void Reset(Isolate* isolate, const Local& other); + + template + V8_INLINE TracedReference& As() const { + return reinterpret_cast&>( + const_cast&>(*this)); + } + + /** + * Adds a finalization callback to the handle. The type of this callback is + * similar to WeakCallbackType::kInternalFields, i.e., it will pass the + * parameter and the first two internal fields of the object. + * + * The callback is then supposed to reset the handle in the callback. No + * further V8 API may be called in this callback. In case additional work + * involving V8 needs to be done, a second callback can be scheduled using + * WeakCallbackInfo::SetSecondPassCallback. + */ + V8_DEPRECATE_SOON("Use TracedGlobal<> if callbacks are required.") + V8_INLINE void SetFinalizationCallback( + void* parameter, WeakCallbackInfo::Callback callback); +}; + + /** + * A stack-allocated class that governs a number of local handles. + * After a handle scope has been created, all local handles will be + * allocated within that handle scope until either the handle scope is + * deleted or another handle scope is created. If there is already a + * handle scope and a new one is created, all allocations will take + * place in the new handle scope until it is deleted. After that, + * new handles will again be allocated in the original handle scope. + * + * After the handle scope of a local handle has been deleted the + * garbage collector will no longer track the object stored in the + * handle and may deallocate it. The behavior of accessing a handle + * for which the handle scope has been deleted is undefined. + */ +class V8_EXPORT HandleScope { + public: + explicit HandleScope(Isolate* isolate); + + ~HandleScope(); + + /** + * Counts the number of allocated handles. + */ + static int NumberOfHandles(Isolate* isolate); + + V8_INLINE Isolate* GetIsolate() const { + return reinterpret_cast(isolate_); + } + + HandleScope(const HandleScope&) = delete; + void operator=(const HandleScope&) = delete; + + protected: + V8_INLINE HandleScope() = default; + + void Initialize(Isolate* isolate); + + static internal::Address* CreateHandle(internal::Isolate* isolate, + internal::Address value); + + private: + // Declaring operator new and delete as deleted is not spec compliant. + // Therefore declare them private instead to disable dynamic alloc + void* operator new(size_t size); + void* operator new[](size_t size); + void operator delete(void*, size_t); + void operator delete[](void*, size_t); + + internal::Isolate* isolate_; + internal::Address* prev_next_; + internal::Address* prev_limit_; + + // Local::New uses CreateHandle with an Isolate* parameter. + template friend class Local; + + // Object::GetInternalField and Context::GetEmbedderData use CreateHandle with + // a HeapObject in their shortcuts. + friend class Object; + friend class Context; +}; + + +/** + * A HandleScope which first allocates a handle in the current scope + * which will be later filled with the escape value. + */ +class V8_EXPORT EscapableHandleScope : public HandleScope { + public: + explicit EscapableHandleScope(Isolate* isolate); + V8_INLINE ~EscapableHandleScope() = default; + + /** + * Pushes the value into the previous scope and returns a handle to it. + * Cannot be called twice. + */ + template + V8_INLINE Local Escape(Local value) { + internal::Address* slot = + Escape(reinterpret_cast(*value)); + return Local(reinterpret_cast(slot)); + } + + template + V8_INLINE MaybeLocal EscapeMaybe(MaybeLocal value) { + return Escape(value.FromMaybe(Local())); + } + + EscapableHandleScope(const EscapableHandleScope&) = delete; + void operator=(const EscapableHandleScope&) = delete; + + private: + // Declaring operator new and delete as deleted is not spec compliant. + // Therefore declare them private instead to disable dynamic alloc + void* operator new(size_t size); + void* operator new[](size_t size); + void operator delete(void*, size_t); + void operator delete[](void*, size_t); + + internal::Address* Escape(internal::Address* escape_value); + internal::Address* escape_slot_; +}; + +/** + * A SealHandleScope acts like a handle scope in which no handle allocations + * are allowed. It can be useful for debugging handle leaks. + * Handles can be allocated within inner normal HandleScopes. + */ +class V8_EXPORT SealHandleScope { + public: + explicit SealHandleScope(Isolate* isolate); + ~SealHandleScope(); + + SealHandleScope(const SealHandleScope&) = delete; + void operator=(const SealHandleScope&) = delete; + + private: + // Declaring operator new and delete as deleted is not spec compliant. + // Therefore declare them private instead to disable dynamic alloc + void* operator new(size_t size); + void* operator new[](size_t size); + void operator delete(void*, size_t); + void operator delete[](void*, size_t); + + internal::Isolate* const isolate_; + internal::Address* prev_limit_; + int prev_sealed_level_; +}; + + +// --- Special objects --- + +/** + * The superclass of objects that can reside on V8's heap. + */ +class V8_EXPORT Data { + private: + Data(); +}; + +/** + * A container type that holds relevant metadata for module loading. + * + * This is passed back to the embedder as part of + * HostImportModuleDynamicallyCallback for module loading. + */ +class V8_EXPORT ScriptOrModule { + public: + /** + * The name that was passed by the embedder as ResourceName to the + * ScriptOrigin. This can be either a v8::String or v8::Undefined. + */ + Local GetResourceName(); + + /** + * The options that were passed by the embedder as HostDefinedOptions to + * the ScriptOrigin. + */ + Local GetHostDefinedOptions(); +}; + +/** + * An array to hold Primitive values. This is used by the embedder to + * pass host defined options to the ScriptOptions during compilation. + * + * This is passed back to the embedder as part of + * HostImportModuleDynamicallyCallback for module loading. + * + */ +class V8_EXPORT PrimitiveArray { + public: + static Local New(Isolate* isolate, int length); + int Length() const; + void Set(Isolate* isolate, int index, Local item); + Local Get(Isolate* isolate, int index); +}; + +/** + * The optional attributes of ScriptOrigin. + */ +class ScriptOriginOptions { + public: + V8_INLINE ScriptOriginOptions(bool is_shared_cross_origin = false, + bool is_opaque = false, bool is_wasm = false, + bool is_module = false) + : flags_((is_shared_cross_origin ? kIsSharedCrossOrigin : 0) | + (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0) | + (is_module ? kIsModule : 0)) {} + V8_INLINE ScriptOriginOptions(int flags) + : flags_(flags & + (kIsSharedCrossOrigin | kIsOpaque | kIsWasm | kIsModule)) {} + + bool IsSharedCrossOrigin() const { + return (flags_ & kIsSharedCrossOrigin) != 0; + } + bool IsOpaque() const { return (flags_ & kIsOpaque) != 0; } + bool IsWasm() const { return (flags_ & kIsWasm) != 0; } + bool IsModule() const { return (flags_ & kIsModule) != 0; } + + int Flags() const { return flags_; } + + private: + enum { + kIsSharedCrossOrigin = 1, + kIsOpaque = 1 << 1, + kIsWasm = 1 << 2, + kIsModule = 1 << 3 + }; + const int flags_; +}; + +/** + * The origin, within a file, of a script. + */ +class ScriptOrigin { + public: + V8_INLINE ScriptOrigin( + Local resource_name, + Local resource_line_offset = Local(), + Local resource_column_offset = Local(), + Local resource_is_shared_cross_origin = Local(), + Local script_id = Local(), + Local source_map_url = Local(), + Local resource_is_opaque = Local(), + Local is_wasm = Local(), + Local is_module = Local(), + Local host_defined_options = Local()); + + V8_INLINE Local ResourceName() const; + V8_INLINE Local ResourceLineOffset() const; + V8_INLINE Local ResourceColumnOffset() const; + V8_INLINE Local ScriptID() const; + V8_INLINE Local SourceMapUrl() const; + V8_INLINE Local HostDefinedOptions() const; + V8_INLINE ScriptOriginOptions Options() const { return options_; } + + private: + Local resource_name_; + Local resource_line_offset_; + Local resource_column_offset_; + ScriptOriginOptions options_; + Local script_id_; + Local source_map_url_; + Local host_defined_options_; +}; + +/** + * A compiled JavaScript script, not yet tied to a Context. + */ +class V8_EXPORT UnboundScript { + public: + /** + * Binds the script to the currently entered context. + */ + Local

      1o#zg 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

      =u$(#b9i2Rn^q(dt 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

      4mrB>ZV9oCr>IwS-_ySn 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�nOk~DJddF5aih>55#3aPc;5s2~i9=vAbdyIew zRe4Eu>SX8E%=Ei;T?;7&V$ghyxrR>NbXl7W#a&+QoA1hiFEHuafF%ImSWZ2woci|a z4}3=rgxpy@nqc}-9fm**9mYPQa0FrqKNen7I07+|BcBcWM1~e@`kQ*<`8EOyRf3n> z2(;TO)u(M#?DR_TWlRthe{qbXr9r_Eh+)CBtO&%=2W%Y*ME&~Hx zAcp?$HRHdG@DhljR)t6)hWsl|!Jsu3&lEfgq8t{lKX|8=Kn!Iyz4T@crn9G+rmJcs z5K|^Y0x=$Jil!_Qi1D~Utps8`*s!PpqiPuG44ws2)Ot0v6=PfNXq0s`*ZrbE45gn4 zcPjS=HHb5UfyyYo*Oy!ZF=PXnxR^i!F(g1Wl>}lG*B*%Rf&(W=AO7 z6&sWqD}k7(Sx6v;;vzx`#3;DsW&kZWpHTPM@WqyPR&R=myNo{+D>Ej!e8vkM;es-B zn+wY9d!;N?g+ZAE0U$jE`JfEoK~RQdhXJO2^upRP0;r{m3y?01(udi7<;I|onB15j zx)x+}V~Fv&G4C8Fba8IXJaI}jeFKitd08!jKz7HXU1#8$*!lJ37H+v6@m}KHZf+&W)jPjwLD$ zxiN%yLaD-$8$)2Y$9@5sT^Ic(wT*!@a zSmeeW;^2}S^XRd5oa{3<25lod9ge4$@&oN89Jw*B10gqN$QGu=(TQP2_Uw=FbpAVO zQMlsV7^)!$bv2Ddq1!YCAiDrnuh22+&pgyut>nf)LQQR^QsY6Ty1AT+zErB&)LSF7 z(XO~T76+CXH*R%Z}rgSLl=qQO*7zRPG64(Pf-j-#UYj_rE4 zy3)T+kk*y(K$*kk&#pz)?nHMxeNg42yX%u``W@_HGIyVvyKKwiwx-Xj+Y5k%2Gwqq z+m+JwWOb!)PV}1p3(YT78;NcVe$MQC`U;pAs{<3=3pvMNaEwjYOVvSoZdKPSRR~Jb zVX(`$=dRb}jbv>BWx(1Zyip~{-o0t=vUQ3DT2S2(1tKp|-nlmN)#$q47;~L$KI?i| zK3L(;SL=GH%BOkPW1@W!xNN0 z$jxq{i`<63)}dR_39f(m6g3bOJMhk6Y+7mzBrrB5G~X3CxuSstcBh8|m+$Q;qyszU zz5_2|Ac1{FJI;^ofE!Xm^Ru0n;y?nAq`#yc(;S7^;mYpq2nQ0oM2P$kbH4L6Crg!S zt+?}@--AE}yJPb|DuNd_o)h*Yji?tjJ|~#e#mWL@R>AIYJ>S{wh4l?v&UYqE57d1D zdYitME~eg;(EJ(TP)o%FbzwsKKj89L9EBXH>y(vv#~-LW^u1*KQpkK@7aaPLoT7Ix zM3~#p>}^I8@1voMlYa?Ol0FPl1y}5GxBzp9B7XvcS{ngZ0#!m95&&l;c*hQH$QS_w zGrB_8&)we87A+MQ*#mXmvACng_o9@3?PcZlF)F5aKos@R5HHW28!E@?`dGgIgU5oQ z8tg+QI_&ElQIu_tJ=aVr$sf0=Czu?&Ezp=8|9mWDNM#li$BXRQ6EHg;Wiun<$uZTC zgSwhVqR8Ad1t1%b=BLmx>90K0J6$HnkWf>bskD7^TuRk8Ifh<4$)$GHGlw?W!@eTi zTv}GnH_zfYIVPWOC4a>^vCm_;28rvkt>6be#nXNH+8yip^>fgstpNX^_D_D!L0QN~ zSC2`Snl8j$8^}R)K8tEy^NEqJ%_O3A2W;_P=^9)6vydn0eKhee_?4?`lbYAiH9E*? z*t+&+K>oq^rFDS(I|0ddwTDGYo1z_S$geTrXlFv#F6AtHw6W|;Z3ov_ifr;}XqvW9T!tk*$!gsMoAU{u|n61xBC@hPEaBgf@D z@H+bN-#*(T}bMV6%hS(5Y72JR>a_v?SXx258< zMWRzee@7DP*%#%-fWUSzZ{Y)8INz2_+mZsrclJmdjhQb6TDf z`jvRMGJe|hXdbw+0Fw0Bq8Ao4_9FOaMexGL-^-{MHU6vAYBb(CAvc>w<6P%c<4lY3 z^FR<3=U?9fW7Bv{d^V*4V^c!&A;7_t#rYTPPS*x5AL=M%{^gYW8Af3q$j0SQ35D~D zb{rbp0XL+C=9@SzMLXb;^ar$KYeyk=xQg+1w9f+vc70{O8MT4%bv0ygc9X}hL{ACr zS~@%>w5xv&cBEU%Pey%X;hV03GKv!hSUEgv@HmdyJXj)+EsQKxtAJzV+Noe(c zDM+)OAaX94^2@d$Cr=4=#$w{Ivzt&9Ck{pSY`~e2@%C9peLQiX8gfvVwuVhp0J6Qs zjG&E-NuTsk9W!pA$u+f^O4}z6(9=fMHgSMnI{~0})iZ}S*@;7hn@h{e`Q}+1Cl2KE zRiOO|r-ZsFf(eTuMJq@EmW z!LT!B8lEBXW-0lxu(KQtX>$6w7&f(r6dg;yY7uu;$_?!haq^wF|HSEEyI5w~Fz=kyBHQ-y2r@+zc zdnN^Lys@Wrn>eA+Z{nnOX!Dym34wgSiIb4K&Xpd{A5!;R4u(NeEy*rSYc&oba%Wx#y~pXZA^9)*@mHgWERev3cDO`N?T zH6`E4k%pT%Rg@NFe`V6*PBNZ{J;64`1C0}u>>xu12?5!`rO-nSbT8PY5)LbcP9`)U zJ1PcDF?^AMM=LaojGAgtY%r>RnnL4^m(v4OwDIyRMFlp_P-rY`W`K%hoo`TR?Liwi zn>bmMLs`wJY1zcd4g^{=Nm1O@A&yg%mTMs`H&*oA?FNkzZUl@%KN!cdtEFXS?8tfL zBB@xp5c+XaFoV0#!HYAvB761-27~-3GU!o8^qEJhAqRCeNd#S+rT}EWLjzannDjyq z^-ll^{XjxZZKl%p8C)q<+YAnR?M#f?RnHvSWM^;@ZZ0h==bLA7oWYUL*G9gcb7FjE zpsP6ZFy##4HN&Umryp4BcNjeUy)U^XLv@%IJLAjQKPjZ-ytNv-4pXL7kJXM~hGdR!kY)+o@ z9NlMWPCLN=MZh!A>Vf*~Zi$g(f4N_1)F~@k+ek->z{xnXt|3pwS3-`j_2H_2 zoT`GZEb$aU-O?dhSv9pYuw(&)@wiJnseh9Cj$NFI?P3z35lm`z zErJS=o7K=UTCPaGv$-j^`w$@riZAnbLVc5!hI*SqV^c!&yMY6=_%aW>)5n0z|KTX) zW!@?GFY`fAf$_!q{tdsLK9MT2a4DT%DdcFYiz?3*t-F}cNeRtga=MF)D)3YKCartT zQOKf-8^*nL8ftKhDvj=a>dZ<*NxJv1o5_6lF>;#F0dVhF_@etK_LePI>$Cf(b+9Gr zAt3eD-2JoqtE@PJ^X)D*4~6c@dJIzcN%f9PQ00bXIr*E44ypS#+dU~D|G)aNqQcsw zicYN`Pem{_3KMsqR?aeQ2`tks4n}2Hz^43gXZ*o|HD?B*4V{{FcAE^v%~%58%)nrP>Xpj-74Z5u+N|ql|LTGT>fizr4qon$-@dxE#11C0}u>>xu12?5!`rO-nSbO`KH35S(J zCleZw9Tfwn7{18BqZOJ(Mol#+HW*buO`-97-Shwzz1N+ksKCY<3XNsW3{a7*^9>5E zJ!s?R9g#ITlr@e@mv=;VAkdb)BPuR>M|6`2t@Bfu^p0mKE+Z9p89~JZPdR|u15dva z&F;X{)7~i_czTB1X8>|Mu*1X+DZmoU30_Y}@&U<>N@gzkkPM53O_63Uc`IDvAEuIS zXy%f46u}D{*)@1-MbwKL!wDv}j`o;Kf-<`oQv9Q`UmWF81MMS7Is!(=Wq)X`cN zfW>L&uc4z!7t4=KJ7H-`s7~yP(@q$jUJpK{kZGqguVi9Z@zYL6G?6N-k!DxeAa{o9 zG?C9UR3G}Sse5;Z>ik)PaA&A)f2-W|uMhOjmorqsnWVc971I>Ff(7qW1g}y*Q~;Jb zU*~qKs(6O#6+)7d(YvUtS-%lbYEkIw_1}A1)jhmE@miQf5&5Q0N%0KTKYMZcTYs=- z6wgq-S17Cyl|8EdFu^n=Km0b!Sv*7ai89V_*WV7Tn(e$?JVW(G<(zlGgLiY79enjDiLpkSPQjn{R07nI3oyWsFMCu6^=7hJo;STG_;u)%4ztMW!=T1vfJVP~*qIMiu4>%QkNc}ji0^jv{hAOR7 z5YA9#DdCvF>i6oC#0-nudYIty?QXJm70*yryE534kyuShIs!pEL6G9oj+i+j=n4rU zTrJ0w@HYj^oU^dkRZbC8{)tmDBUl{(Q7)5=NYQ3kqvJU zZ|(}a2TB9#^9xz>zREb0DH8T#y$r-AO zl=abSr zbBpsygIk4uQL3GDHk z@d(-)AYU1>8E<<580wvisDS}$Z=ibV7x}?vJPHGEr3FK9c}rOyJ)d-S;P(LqJ4)ev zQi|b0qX(jUE%AI(m1DG%4gJ-gPwKV+7FOF`^C@3#9|f!UW0{fo;@YIo&1kXj38mdE zZ6>nci;`V-m4;)IU7UcfAlc;>xQbQLCCM(h%Wem#2@7y_eOA3!00FAqkn(7p&&6;Z zznF``$9x0fa+8a3>hGn2`)7ZBKGPeL^dnfK-~|nni}868ys+^nVQ-^e)R;pssr{se zxfqa}b;x6(;?p5o^;=9IbLFYa_I|=N68${%HjQiKh2>)EO$p6k22QSMdp}G_-vTb5 z?zmz}IDC!hh?TR0XE`3R} zNZynex4?@oi)1WXf;!h_k!)K8FKl$li%yb8)QcKh5KQV~GXrHd0a7%J#LWi6W=5Dc zvlcj-tU%Pq#nhV;nvVbu(BgszOh`8dE??hKNHcTFmekCUMY0p#{mh7uERq!U$t5i3aQ*pYhRI{nqZV8}v#m%ueuo%k}HbA}4p21%GSo(r9*3fygo??31PZuJMo!F|_;+#S{EhP5MxIk0kBppb zpx`f#oJJ4S_c?MB3A(;UPFNX@oSvuRn|!#6<62}j(}C4JZR*v`PvWC&?^DE!**Var z?r@9b&OcwjNPdp33$@HmJAy@Wmud5X5Hr)p$J)Y7o3CJtuQtiFS?y1#w*K;>TFLA9 zl?$0RPD7MwGa(?K=fX_IOq=CJN|Hv3cB~-^W5Cf8s$|-fvh2~u;xla^JbO+|(dTnl zkZD8oCq(y=X#-wUXzx>f(^_Jtjq^)>SWDE)g;d+o_`@_2pFo51`Z;@B0!^nlDeHp2 z{hXbk5dbwI4wuZ?TLMUl+MtLU7@)QQs@L$CIXgMPE8i4wttTE{iwnI78R62|vxAf* z(ER$(aRSZLqAQyNg}!x30?o?;NK(b|>Bj^bzyi{bLejPbntNsVNYeR5mZbk9^1|N+ z?kETM>%Y+3Qt_dJD1qi9l2FgSbcX!+1e!?wx2zr(L?I9QojmG)}D6_|C zoO`)Y<4oK32{a%mE;{TD#-{h#lm?7V3C#}x4xTJ7I>7GqN5JKWItp2IaLWDUD%k7d z`k32u1Lqa(xFxm&Zb%8ur#dY~JK&M@cG@w+QHUL`V!R!?tEFNq%O}vBD11zyagT&0 zCeXl+^bGmQsBbKM!vq?_Age5ahDbK5ym7a*4=_mrjnn8SzQqI@kY>Mv$Zjy@c%Q(9 zIg?|>oau81FK)jqvS;HdW2C%?Q${prq8f5gm$rsYQvkB-#EhVgj7gXGP#rUFNFkx7 zHdAT)oT-$mZO#O}cJ4#%s%H*uvfD2s++12#&Nt8EIAv~^5Bk8tHKqo^kJQ>VL zTmsE$Ld*o3VfUJb({}>RcM%zyfG|0q6vL1}Ll`2m`nZq;8pMz+?(ib+tPuBO;C#g} zfrj$HZiBguHCb;lf#!ag$;UDhXx0U#xswDM++`an=x-J@2B4;^HpyApMgRe|q8<)V zgC;8VNK2S(hS#Mk$P&kw8P(nxONY z#3#@Y2iXB``D7hYZ$&H13Kl#P)IkD`vERNvy2(;foPr?0hfAj*4uUC2;~)3QXb=46 zYn;#z|KEu-=D4k}=l-O!#u|zF7U%n-dW|)cfjukqBY9En|sN9h#G1NFK%C8!Jr5@-a$Q9)2O1~Erl)& zpepzSE12hMDEK1_W;^jef#xp*X<7-3OQBx{P(LuPQI%8q=mn})c!z_tc`Cf&;A&2n z_s_D4^pk4U_Y>12R`K|6By9ZEfwh2!f~Z9aznQQpR|nPu!l*YW^$L!41>JT5gbR-Tkz!pcOc3Hk!vB0Kf^-sGFxI6@SKm^JIljO&WT0 zT9W9^&y#_AGcBp=&FM*9Z>A^RdUHmy8FL{24=R6W-m2M0n`bBK&jn~6Xw7rXooQBM zU}STK1+9%C-+<1wpu@2#*NB-JFlHdl#>lX3k>`a-FonnqLnH?H5GhAc(mLPuniqp4 zV9~zXyz*!nvXk@|D2_5*g_m;!jh-LPtNTXXz(&KJyS#YWyPsD&H3CLaq8TaZop9&!AoM&LL6&Kie+v~y@*l1Tx8>@ZCoU682tXype zeE8Dk@vgR&Ig)O*Evo5F(8}r0YTL2ZlMgI?>|2TyFd zminvRTUZ-x&Qlm5&xP7bRWmi2_^`Z!tXyqSRjo@Vv>ORJ16WnnhE@Sc((mAr;w`AH zT7@hN_M>mD>7)P~kgs0dn&f2~)~Lc>BP!Ou<`VdZxAC>86(#RE)UF3F^^nfa4jF#; zN*MYp3ERpkQm)~TY~JI-{liTYIzS8^{^+iLjyC*0Qe%QM{IPx6gNHvQi5o&@<}U{H zj0GL(;cRWgpR@2|1+Lv{_zNe>eTW(gvvCc7$$~)$L$Y;*7on1(stuNPJgwi?m)(DY_if*{}jCGcRzkqtONJ|_ zf+r=pQnL$YI53&=%`Fa0#%%_%WzIZh69rcQhi4!KYk1cCeyn7 zE?55ez+?)CH}u^!!-2_!Zw{rZ1qUV*z7^oT#wFs@X^E0Y8>cckFxiWW_Go4DwDRI& zJ~=R1ag3(4l532{maC2YMA#u04or4f9GHBLgUf-*U;W3{{7#7vL=+=aXdBt@q?={* zQvPRK*@#RzRftUeaGcQ}t>zWkv-$9JzKOIbT=CH^R6`ExY8r_`w`mGMb{BfPLdT@P z^H5*4vYH18HMN;a+apt@RBe$d=(Q0hYF9mTXp@ahMYy@NtekJ2#W6BPKCQBMopa;F zU{`-;4*>5>Y>F;B2i5Zdrc}M&WfGApW9pOs%(MkDxQy#4ls^vw?i)H&h>N0Mhw9iK z0+(QqVN!c|?;Bw;8a50=&>vt%?u_)u$vD8*N5e+iX6GG~yJ9dJCekHLf$b8TJSFXO z{6FNk5ZFIf0FrD9Gqf2jX#9%cPmAD%jmpy{)QcL!2qv|>q9^#@zo23!9LHOA-!Ho|Mp>RSak`=8mGJ&x0?29KWEDn7ebikGU6O z|D^MFV2mi*@!!}Ecq%0{zusvn+5xAfZ_`2nr)Nhad25DO|f9vZl^R}&+yLuPm$pY2H@$u*=Yev+w3WYifE z_%=4M)y{xb z*4i6tC6ih-F2qs0Z|VFb6BWUs*`jCQ)$uaM(yQ?&nY^jm-{g}_CkbbgPKTkYb8>a- z*#Lv3lK=W8E3x=Vro%`=&ir~uQv4)SAVq~wsRo=1KBoHTK^{j9Rm4Rhwbna6$>i%@A13@Z zHtS4_cu94|=Ui20rr%9+Eu{EKCNv*ouAx&Im$k`I+~w82`K}E3g4T6yz!HFOET^7T zPJMgz0^d;sA$L|UCYXLyhvAb2KgBhYTERG+p{vC}KTmoY(5{KYYjmIejGCz)6)<;@^DjFMdFi8 zL}IuM3~--hqW^o%&@Cf;cg<*3h{a>vE582 zu+v0)N249-PwD9gPs+m%C*=~PRKh5q^9J{Inwa-0~MtO*F+tdqG@@SA_%Xqx_EQrk<$yA~ zA5#45b;}zU?dt=)_)dKz7@N);@@^0HDWQG6Q^S&U7WkAx-l?6=CB9P^1IhP@Bojzp zAjjke-TKgb$RW7w)}A*nZn_X zU}B3vGU4w+scJzWneat`_qs|&AlZ}06C(*ED=wNCNg&yai}@swtT@v()__*ITCO(o zo;3^vfnAP6uM1Q0J1|-Mum<^KZbFH`l^*cG9=X0W-2uvRH~cHspw0k znoYenAROtLV{u@KZJ0~T%K7G5obqXv4co>PxgG|RabCEqKPG>2C^qFAR%mP3&se0S zM8fw5=+Wg%lSg{KbsP%Ye2e60KkvYVzUiL@yV zlqV%LXB9(7F;t79rDuRIKMB8}kjIL1xqqxIA!LlvplHVhu^sSKN@zaOX(`$Pr==Iu zjvXC^*x^PRZ$}>?<0~;%n+FC$#-Bq3UCNL#ZnFx8KRgPfRQQS2fK$Pzl$&x|Ir#K)A!n9@XH-!sZLU499PC2IQAJ!7 zQfs{Hl61?-=1FWK69Jk&rR@Uwn^`0z6Yd_*$YQ!z>ByQm}-K zDXU2iFg0r+;UH$3t`bYgm}(*!5;FE+Q#56fkg>-F?-&v?_F%)J28^m{(%2p16U z9Geyc!d(E6o~HSLFyQt+%OOvhM*rF~ zDRAQ(Jf#cxLZLtImfE4s2Yd;Ed>`;7PA&=fy7_Y<;5!kdrsRKfq+!5UMQK6y zS0*j)B;$G56NEGmG)_>mgA5rY1Y`%7LJu|2hhUdVIII*pnb3gjs2DKC@I?k5tQu;*u`@qj~6K0oS84B5m3jx2%~HhwAWvZJ{OUevgYU{d?J3S-Ei%zgrL z|GwRF<+WiF|FREw@g;jVFgBfovMD$b^ppyw_DKV#uC6o+(KTS#i-!Nn*%eT+AmiWW|}@=986NZRDE_ z7dzxa4B253Lmuzo5<{MPm$5UG7_vFgjmt3)N|jf}-}gwR7+OmgqjS86#^+rrU1?2% zKPrM3HWmwe8}*___oD!l+B=V3339UvoYxwN-K}!9Tw%uIt}L`hrqa+FWE6Ybe_&w~ zl5k0HLwQm{^Jjnqv>4Jt(bE3`m%rdBq_;Wyd~XXwYX?z~{G26DOeVU!5sy{Rkiz9x zSE>Y!c&_@L2&eatSCNAi-XEIPD+h!A5YO~Xb^DHL<nZz|eG z{y6-H76T?I>fX9ebBON$srF2-5^aGg5@Jx~#acz>G1lJ(Twu0KKjQ9;x zcOZi(lkzy?w^c(p6+ZI$b|Yq?3x_B_0~&Fw1%tv0x!r=!Eeg3K5E7yO4wSX=k|Ni? z1Jq4L)WZSluSL{j0Sb-}%JO)CdaB6vp8)lI5%olXV%4g1o(xdamM-XeDnK#EQn{WE zP|QYD)H4B!`E-h!9iUze4-ZuHT5ul= z8E6CEw*%BL^dp?CQ1RJvBd!|29`l}Q)+N2y=E9Cxv?d7A-bQ?Ea$zBP#3v2Dh>!Rz zohlESY&xDc{zY)a=NHI*fH6IGv1A;A7y@j!`pSSR`$7q>5w*k&D!+onN@d93#cuxf z%R#$USHhhgHFpy!gKn*!&J!$ZX|*!ww(7aL%S#-zUv*#b;~F%@o-DaH6#MaO&@tuU zA6GvVElEmhKd%||6N&d8A_6jCb+Ra_}k(&lij1)1lM!moF5lrU%}zjg5Aityh#ctrnu2dC>wo~|R=E1044n!HHb z_b4p4_Q&&hENYs|t+>sW1x#P>UP=r;k=8-{7X8GFIo_nm7iQ>qeAY=J{skmlZY>fS zb>?jk89KmP1F_sn;?)#}*HMU21^m%qKaL;&N*sMTJkP2Am2$rn(me!b~~7&Iv3ox1Jp6{DC7W zF1H3!RQQS2fK$Pzl$&x|Ir#K)A!n9@XH-!sZLU499PE}`ql&mFq}F=Ja;vX*?e<)5 zrT?^umsIau%2j1%`rUi3g%p=t(R_@#hE8Q%)+R%7msk7dyE5PlTGzD!O8~yHoO)I{ z_3hQ2d`At0+*zGSF#V_w!*VMf#y+BOEVmNACt97tvD_Lt^4XwIWN5*rzo{plZzG^k zC3v}wK)bC{ecDFFPOk)C#sop}7sohS8War6tt^<970a#k0b7T{vE1t6rm%{{ax0M- zE&~JHax4AcYsL+EGRSf(wJJoGTgg9uSw0F7Dw8W-ZuRGD+y3daWGJpTNM`t5oNj63l5wh%dM!{ zuU~E@6&sWqE6c4>vykQ1GD2ByRj^J*Tue_Tx(ppo5{$vKFRsf`c=AtX;@L?x&evIZ zw;)SbxdqwFe`7@G*f=`1#R$9G@cOU-<}3< zbg7`oROxXZE-cPo4gAfJr%a=7^-K!f_)ng49r$0eabSyIoTXvV<`-uPfqcI>OUPm0 zl-A52QunwpyDrXBu2C}16!`BdWm|=06s{(22R|q}DAA5{M5(d22i|1?!o}IofTtUJ zI+nNikv%RBURaz}QL1@@^6M(zM59otc0;LSXPd>@s0Q{ZqujF$xK|l)p9iE2wzv<# zb#lq#tZSo%#n}%*YD)f?BMld4Rg@NFe`V6*PBNZ{J;CzhfyN9aJIIhhLO^zKDfCbS zoddg6!eOP*$%F=EN5z0ChA%SkXoY5xQBw_y4Mx>ZQ)s-PIz2!|3#w-+DzI^eLStDo z15_mIe1k%358Aj{oMlZ8WsRfKWpS3B4zwkUvxLdT}8wkK}C!x=!y{&YeW$-pkTnTh85$kiUD;M6ay;efT%ly3E%TM6;5^Ep5goZ z^X+GzsoN*lsZ-Te)m7C^g`gwAOl`X%{Q3u!(cdA(zFsL=<5IhE08hT#IU0<$#vAl* z2kJwH#zso&-3}}XPXM1#(7PQ&ZQt!AmMe3{y>?G}LrYZ@*LyAyN?rAf0DRck+}QJX!rpdKBv1A;WS+Bp7XBmM8OeH zgJ%JF+7smS3MqgW(ty{}fY;N2Wof|sX}||*z=sN8Kc|yZ=L~!8UOEsaa?!t*_vB`A zK6f}U90qUXpK z#IO0>IQS1&yLS)@dAVPbx?h^Q{~&e$Ve0}6*yd8|9=eyCky}AP`HMUjdVjHb-y%q z|3T{h!_@uPsrzqI_ur=OzvKIoDVoGb@Je;F{LUR~sMX4!gt+x-JW%(b@5OI!u3ECX z`F;l=CT^C`)dlnhF`hA9jg;#iQuA1a2horSD zML65IoC01yxPU}yodVtPJtC&nBukllDf?e63&(Bm%1KCwd7%Iey^=vC=z00RZ2qN z1bm<^#{q#VLy)Hi`gMa{oa)Byj}v_9DjBE6M?I?`b@%$Q!Ped5$0r#0JU{->gysEy zeDSr~+mFy;uqO2G^L2O7tGmRP%v|p0!(XYjay)T`0qF{1b_RY~QET!PvdP6B|7u+(91B9PMsO#Wy%iXsBJDGx33Y&YjBf-ZbH?uYLWGbwvEj%BC zmdnk2Tf+d>y*2b~UF6mf8{y8kHRR)qN1>?`f0~ak_JJ7!HXmQ?mjtgW+)V6Vn4)ef zEMzcK+nT`x7*IxgL5l4#*g~;xp>KS0z{|%Mi{PlWZoYx_h765sfuk$+@kN*rmVk?U z7z+CMqNzz4BNy|H&&s;Z)$*agNJL$CFBcEf#ZgzQ5FNK9L=UfE%c-ubcQR}^f;81_ z?ZxH^ShtnhI9b<=-X0zcGptYRcJ;=R7%x1DZM+=OMOR%(4y&!}=RuPu5zgJbGl-{5 z;1CbbEd@@kD5~2#o8@mUu#9t9q7vER*gmNR+&Nk%@|EVhpat9wjz1J1&q&ris&jhu3iOs827@$M^ncCr%!ZIeDTFl5G!XCvQ8hf$xsko0Fr?=H!?= zIXU(*PL5l|$q65Da?(mpPHr7T%J>>iChW+`srzs;@nlXWUB=0ocXM*q!-LFV}#IGGZ2GIbYDE*!$i-~YzRw39fw_+Cyfd6AP#Kjh@{A2^xr z^@Ol1J9Bb%Z%(cq%*l+yIQhrLoLo1Hlk5M*$&H_Ka?}5i>~vhd7n0-Kb8-UvY^RgD z@!iS&I2qr_$%Ml>IpqRQPMyigX^(O;v0HCQIlY0CNr!N9#>1SP`6ef4t>onF4Yvj5 zIlVbKw}F$%M{si9*_@nz4JT9X;AHB*IJw}zoLu-PC)2jt4pJ@|z{%x@ax(oqPOiL~ zldEp!mG4(VWaal9M@;IJx68 zPUgt;pEg0k@Va32TuC^#!3H*9Rb{}l9Syx=VZXPoDAH9lZFF0+2dGF z_B@-DL053H*DOv3FW_Xz3!DsH!pX3&I2ryICnMVJ1Vtma;G}UoPWB#(r2i?0aB?aK zQUBA9;k$`!XaCbV&iYSU&A>A%`+(uh?wp*pCnskg&dE6!aB}WUP9{Ij$$9T^a{iZ` zO!51IeQFga7xd)h!amsDH!R`g#-BL3sqHS1a&tFMX70|(EeCUQ>qJgw&EVv= zd7R8%$jR;Ra5CpdPVQKLS4g?DJ12KFaB}xyoXow9lY4IA69vI2VLlZf9cnT+v+`!4>^Er9qX-=M8f}~-mZ#e10<=4=+O@9D)=3;E2$>7CE_N-e)$%H}uy$yFmx|`RX(;;3zPKSE? zayr68OE+QADDODF-`6{b)BU~aoF3@i#_2)cW1RlYTg2(1-UpnH^;U9vgqPbLa*p!a zb9$^-%jpT;&YYg)jpB5IcPyu;d1rGv(Yu1v)4lsRJ=0sn={epfoKE(B=5&fzF#z%} z@HXM}BCk8Amw0_Sz04cN=@s6goL=dT=kywHDyRSOZsPQMZ$76tdQWqDv-c*aw|FZ! zz191j)7f6ffzUU{D{*?KH;B`_y+b*@#~aV-JZ~ze_jxloeZae$(*@oWoIdQm%ITxt zN1Q(9t>W|v&u@VIC%q1wF7&!{`i$3?)91WVoW9^4$LW8(shqy#&Ej;Cw}8`Ey%#ur z-Fu(YH@u%Xeaj2>fc&?;O*nnW>(1#CuP>)dyy6{|J#QkX%e-lvzVF@0=?C6C zPCxV(a{7_?2B*utuQ>hK`-{_0ybgOp-=|(TPFHw+IQ`6Pp{@-leamiKYQD9`af?EPMf>~IQ_*t zmebYV6i(N8w{rTc_fJlL^A>aZyY~gBe|T#+{nKl`7v!(?I&=D$7jv4+@5ZT@AH``t ze*~v~{&Y@*{3V=L2IA-|l{R{7POw$5)f7<$^|yK=f-en(E%&yV1= zZT?73H^@(-RL?04ekote;|TgU_!VB`8eTn;I^sRs>wnI`%gmll+>welFg6gqlLBxx?pavYKaTiO&;zlimif z*1V)|qo)CjD|b>psJYlz_{Alm<-gu?CAsi|pZw1eJD3Z^OxXRnm4c zFyuiAQi%Q<;pDj?7``orrqG^?cQLMdKqfD1_6)`|$=1kyJhqQ^`GXG0Ual1J!w{EK zz{7**9GyoQfeRdgBZJQ!oyQxJha8eot`rfzpUWxW(b=XPoDDuCTgaGf@Zow>5Iaaz z9udsl4z5*xyU*m|J|_=Hxg^4QOfX0SaX7nuiK-X5nv49HH?E*I{M`|CoXc|{ctqZb zE{^31?xf&Q)&(o06mCMWMQ@t}VL3Hei}pZeOu!R^8@9LLKB%sOn-QG2GjJT_$8wG; z57bqCnv;tgoIr{Yb`cYcpj%x*rzNvFyNsC$>^xV^ou*=N1rnhfR!Ajat&ZgzyEu?J zxJ@cl33IMezN>QiI4AfgbI&!KR_IzM_WezRA~YY4p0Td1l%8=FQajV-H(uM9Rkr7~ zAaiO9GOuodZ$=Azw^y7Z5s=EmofVT9Cw7)hjF(K{m)4u2;-&QcV8j+(<`J`A-Xdc| zRiO384&Ly@<_GX<_kE$JpdLaKF7R?S>-)Na--I3#?NAJ=>8#SX5vZJ^+0?&++DtF( z%rV^o|LLmP(2qafU&nVlC%%jRQx18*vo*;^4$0HRSv^*D;;N@nh0N_o8Et@3)zkHD zRI>~Dp@I-mC9v`RhVe8%-g2M{sp>{Lw#fY6TMN7@TS8RLVvaE6qf}3`dX^z)JU0^6 zw;9+F@F>`97p8^oo}V%-WEt)@#t2wGi~HnzvdrI zb}4Yg`4QZ57suuc?o$`X)(Y+m|7a>5FC2>;3-}uq6KU{wKFYF;dSy2FM}L!kpyq7E z6HIYUl9sjlXO~3OH~Eds$yUYV8gz`D;c%{YNrdy)Z1C^d;I;m-dl(C&#c)Bq^JY4# z_i>bYf#f8DX^Pl(6RO)&HwM{^Qts^#I0}{}ecY)`Xo}#jG=WnC*j}%>9Ng zE~R^;iq$MXOZO&DejI0Z$_96Kz}&bvEJYWWvS9OyIlEiWz=65Ak=()YaHf;P+A=yR zm97lScv1$Nz+wK_druvEp~)ML+~oO!Fhz_&AS zwqD>nB;fXYDbn5bx~UeS^kfhHW9Q-QJjeZ8sd`?zU@zs@{gny5##1FR9XsmZmW-^} z{77|*jf&X(Na2m<*!*xh&DEc%Pa?10#>-W&$m@q4Etw3DLbR&K&rkX`0+o}2ru_5N zK6~K=kjBU3KV8+|=Hna)@%!t%6y@stPY(I^hU7bka5Gb(fG?&;E zs4zWQw+C$6<9LeG1J=WY>h`Kj@>EaC@kV->P~C-|oKqynTj<*eRN4z$8W=y6#JD>D zWqQ_l;nnPgi;NdK`{IQvC)n%#H4gc1#tWM|Bqjf5_5vFuihB8Ys3|+O7udY!yl^{J z09^4Eju(`>D%oUbcv(Q(J-u)?nGxNE94XKs4O#$DEeofA zZT9YS(D6DM{1IRpeE^qjS8bTFfo_$-eb!d|M!@CzZHVhleoNTuv-ZfTE$=TH`Ccl zJovMe9L1ub?r$l0dZ*H&YK2z3$=@l}^(i@uMM2%)rsW#udA3Z4`Cfzxnh39%`Ja^c zu=Wm4y3NCCJYRSm_+SmsbjenlMgKN$ zgP3j`4!Ba?Pr=Y#X*sugGS+QKy`j>xgld32bsh9=v>jk}X>HxFfx>TM@V^fw5iu5> zGhamocQ@*)U3}D^g_uR3b!*i5VRfC$h?F`dVhe*E0&WGXbzzFwK3nU$R_sTVDjSi* z)ZH+Jk48f+x@KD$uP14fe$cncvg8%vbaaZ z`vj#PF$@s!kcw%;0p33J9+q|YRQLo&jZBAksbr-1jV_`}h8 z#=cr$Ye(Sz6~z(O+W1^U(#9bf?Me~he{(qnd|0+ALq+Zuebm6M>gz0pRbV}}w3V!^i3-p|dLq?hcjZ_s|+(moXbKEz%;_pm{Qq^={ z8oIngcYc{Xaq84E8G^ge;d89M$YF877iUvn>Qak0t}w3R)m_<%OhvH3v*5?Kq z9C?o#AD{(v;0w$3JewVH|50(Sf=H}-#SMP}zmW}Ik_~=88@xOl{Fw``_FN$LLBgVWrXXygkpBv z5UsYd55FS$cP@%C{@GOJRu#fkxehMLNPDeT#PTneEmRx*pQt)&Dt@dA^QI0sy~(J% zi{tk+!nd`?AzagZ+qgL9lcnrtV?x{pJ9iKkw6DAme(=AI1NuU95cWd?w)R)Z>}KYEKh_7iK#W@UUQl zi8Y+kzu_-xd)|cR`YyvX#i>HENKNX^#pHh;`4f`HL4zEA%hkcJBhx1d&YS(P}J&~1i2dXe(qS`fl&>@L)+&7{rC=rnt zR;{FR#LwvUZuDzs{NnaIo}E)dMyw3%L5m~45A0KB#2+n)P#adP{k3aWuwgf>)3Dlm z^G~p0D~Um!vS_u}o|qTE`gN6pk$EDrmU=zgXGF~7NR)I6oP`CaOT=H__$ zcNh9&Hefb?T!W%{fb%CE^&8iYW+~q2(RwM~$#c~7Q(`IJ*pT=d;B;P!hui2Vz~Y<6 zD90w2;#qt&fr*|pMD9{NCi(~P^rtRbigz0UsAEk3BgS!EtHDw{hTR2v1;bK23sZ_j zP}{%}C$NyAb+h9M71kV0T79uQ8R z8-n)^Lhv#;e)TZz&*W0PKbT}bIO8`BNpdNkBSri$ByczdJUke7u;^T31SXf_oy;Uk z=lg~vxfIWlBEt6z98Lj`&Nk)XZ15r3LdIl+%~CuzR#YAlZ2LE4Q{`dPvD&rCrFagB za2^x9Oup8IxR~8;9spR1XMZP`;yFCal7)O?nLN>TQt&bBf|U{L65NE~KB|~H2Le7d zxHtGB(|?aM0L^IDKOwFQ}1x4<`}1-{!WK9vYa<>AhXFBvCxmQ0Mx zkG&sO@ltw8x94W&5^o(1GB!U_ZxszsY<|dFMKAbY$jxI=5qaS`3C{;@qCZKS7hXi* zs1=%_cnT=!3VsdaVO_W{kPCj-K)~0JdJ>`L*@bzoGCaS9@y>?l4~M5x>w)@cA)XHZ zdWmG&&a(92|(&MPy zxYCRqN4>kt+YnU)3Tfo=`Zl^6u=w&*RRND2saCL!oM7;S#~}d5AFuKItN!E2i7q~x z$wIz3Tb2LF5t``qG9sl;Sv1*T?*_Mmo#(<7G2yh>DgHx5sj?9{OcxlYN>msn=t39f zYQ@q(_#t{+v|j4M(poQfwK9`fbd8H+?Y1Qtd7TlOg5P4`@T~Hj2)xbjK~OJz8pa8D zjt}B8@SS>XT#EYcZ0ZO6&PPHBM?pO21YM#B${K-@3;cde!UE$L4asPSM8{u%!h$HG2_<@*kH|z%OTmU(E);;g2~= zeE0%NiLQ~O9Q8~5sZ64L$Tb5b&LX~%AGlJ)luunw38b%0z$}6~fq#>LinfkTLvQ35C)oQ0Z;%4rrbuRXH5yVL*v-IGnIEFz zj+;jskQlVL-b$5f?hXik6+7QW=*0a@yRdH%-)kOSd-?;pwxTv36GZj&Y?Obwc(|b( z>d+k*sES~TWmq?p+Y-P*iNklv z!zuZ2BX;T~Cu#BZc_A5)??gx?IT!amMU!-KNE-5En1rPW=b-#?4(EBM1Jcdm9FiZO z#W^C6?ua%^f^JkkAHiP!r@I0B(N{x|X?=U3zKzZ%xlXTVGc{W~@*snUUd{721G`9I zhZ?b>eT)G~4#)B$Ds88LkI3WMYg|@mLbcY(_=$NudyV5uhGa{JkORfB|v96F_d~uGV*R0$H6On^E3|P(tHoOxD?-G3YRODR|D1K ztsMCie~{^Civ5wl=IU*bt`_ib>f1~s{|x6K6eRRLubyIBLF->M;r)vcgx+u=c*_tp zi8W?>R8Cprja+OGm>&5BY>C*Q`hcn;SIrLu|1IP1fza%K9qn~+Sg!{+u-=fN@qdAX?dKGP;wCmBTn=3Po}r-A(TuVdPDe}5p3DWa(f}oG zqP}FV7v4wUXir!kn-at9$zw)Ua`xmT;W>+W78*L5J$cFePR^bvJy755>a9vy|} zUHq+~P0fz58s=bKQjoib07UzuEf(m2Ft$)Bo4Fw*_+m3FEuS69q~g|8WG!XAdX|H= z3vQXlfkjy+xaDkFHs1=36F%EhiElTKSzBQa-Aqj472yC;(XHVhdFy5_}_XU906kujRL+x9yN0T?IV-sjIPL{$>KWIGzA%>|*F=gI+1>YGABG(e*Ge z$W_V}qNhPXfQ!I~*4UDbG5^c?QyhKE5Q`q2Tx;QpkNj*?Ybx04%e{ni0 z3i~_0YI>>yD&IltQ(;VD6(5}J%EUlQ- zJy^mfv544YxcIK4q(1n|ii;n;NSpD6OjQ+2LB;y8G?jr~K_!FP5c_N@E_FD!4LW3T z?i3t<4jiSdy2W_;dxvx9phh_3qCWJaxXN!pvrrsBb6n6HLB4uM756l-u7L3)poq_! zTe`?W>}3!=K}>(@Dh>{IV7<)5I3);^Y7E;&gzw|RlyDKWuPex5I#@F~Iu8xbq6d+Q zgaw!ABIqy6r;3LKcvcyYZFiX_+07w2+?67B9N}^b_~-yFv=(R^o#F|`Isu(zatX&c zR{t2hd%3YXx)->({Zwt&r%p-!;@A}-7m8R+@hTiak0zCb72+DjoFXW?1Swpti(}0x zf*oAV$U=m;bn@88m5{>i?BZB@ilDzskiv~|abR|o9+t*&#^qsAJc<@ka4bH09(nU$ zuzNb}j_XV{X>$C3XT?WEra4$u{Kyr$oaV@4Q#+SCZN|Ns zw9**Ockt{Q5jfCRwf|HoW$YROzpTMr`2_sB15V9@72k1j$$7BiQjJ6Os*h}m%y(T} zazeTIp@WmD>*D7QIBmw)E{@G;>7k>?G{u?up*fV>(C6Xlp<_^oN=0hhaFs68RVv<^ zo;|pVkK|*6E#94vyP39NUOs+>DkRg~XD5q_TjhrVgb%|M>+&*aE^d?m9-}y3J8Jt_ z#cugp7D4}tz4B{7;lmc8=#iJ--5u)f^KH=}ZwP9U(Kp}8LajH<3`6mXyoJemN$dyG zuXa!Bhx3lbAM&05gM*zsp1Z%7{8DVncaiR4@n!6zocs|sx{MAc1EHx=p`%+$7_<_R@WMw1|=bj3M(HPQY=%$FHO(}WtsWI}B? zIBcQOgc|gQ42?$tM^|b>4JL$#0v8`>C}={>DEmK8sPzG}(f}oGqRTjM{RkXg56f+| zVOOPGM*8hSD9xoLq{_i-OcahOoq|}_07&?FcNgl&1AqzX_$FJ&GI;P*Ika} zM92v>h>$hZk8~Vhrd+RqXz`1ga=ktYUR9{49-9}YsGABS7|hhk2mxg@8&YJ-)hsD9 z5g$;5FiaxkTyVG%0=*$ahDZ~_RIa`*^w?gBDuVnlf_b`rG zTM?gQ9Q}RvG~`oohM3bPLdkgHb115P!5hC%d(t^JsPgv2HU+v;YYCx5^IXh4lMD}4 zUVc1*Cs}!w9;k1&@-h;1%~f7lnX0^&CubiA%}hhu=dx+=T9}4BfIJ$#1#RLEGYx6{ zv+ilgak^Z@GP8md(~!DZDb}lz>dQo2+@212vqRY4YGqlmAFX{EKz$)8wqk?-JCS?g zaDd}M_)k}HXIY0`?BjGO_w;*QD&+T={^2eT$q@ell2WFq(Z}FMfm4Sq7Wd6&IjD@~ z05X;QLyG3xeE&?p1I|N=VJ zbfHs3Qyuc_{ns4wM@NX3@(*@=_0x-o8`VT7F7mM_?*jV zZ}duIJIX&p7tvE1J)Y6Fh|Y3~=oufpD%1b3MMOtQBT#bjLZ^t-rJU_L`mHAw7WGfY9!DFqwa3>njMZ3~Jsr$j=Rs#v(;y5US zpEbQh`io2YG|tK3!XyT#sGABm3U#vY2Fj>68)t@qVw{TYLa=Xv z2S^}DehvA#L~zpAkYQ}d(D+5*=t_MJ8Fq*70vEq#DCld*M!D_6;Oa z+OaV*VCxUr0XKvUjlVKl_IKXipUNHytH2lkY$(VMQ!v(!@~<*i7XMNws(ng)#R4_Q z=7C-G)TcBNImPw;f@e)Cw)SC1xRU-wtgivSDOOTL%`nJP8y{`?6gwCs2UUDFLJLe4 z^jSR&NpNNNZb2HYg~)5c6l1`F3%y&zir(#T3={xQp7NVykDg%}8|k-9>F*%28s=bK zHp{f_0D!1FO{{6o@H#4-gc0}EoaNJ z`BrEg_imZ5ya`89xb_s~M^beXgU8%Ei&G8vm(!44Soua%c z-}MGllo6B1O(sGXd5vmeDVFB*q&9TE5<1HTFtK;TQt9r>;k%@JZ>)i?3P`(*?yR0uvUBS3ki z#r#@Em8!FUrU{(vuTA6FQYT{`^>?_%mb~Kh4QZ7H-r9vLD+RfpL87^I4A@BT&|?4F z$5PbAS6T&9qae}aH}Rw37Tv^r<_XE>nuMcPz*}fpwYJf&^+CclO@*!yZ<#G)D+jEy zCM>aolP7Cba=?m34Cv*fy;NT03<+vmAF-lryW?i$)tjaB`ni+W?X>jk;7;M*-iJ6P z7%1f~v2_Q{1}es-33k*3D5lhluc(iU;|`t(-o+8@IAN@>aH9HLv^I4N)_Dk z3hWS0$R<3)1(!?@pk(?JwlmV;b$4>_<#ib(ZI*o(4G~X>Qj`_+K^u z%T{X|wgC{`MrKH54+ez&EL3F`GUtYn;ETNyWYtSxZ^39)7WQ!7bA`uqev} zx124@=3Ak0!e=XL92zHnpZy}D$3~<>)U=6E8eVuBisvH~OdNv(ZlD(tli@D>PQFEi z63x>d`r-=>9leN{Zhj|UL?}H_-|UMBMuM)n7ZI>h>I=U`v^+T*zwV0&+i=k+YMXn> zRMiw<6xANW8jw34Md3Eu1h9AotqNecJBnib|2Vh9=4re;in91bK`X-)uzl?x|3c<%^ z1X68<>en(VuJl6iXPUst{@OH-Ep;-6Q50uP@`_Ou`+%cE;21?&xXP>`F^Xa&noGw3 zGm2vWOV^7=QLI%UG>T&WzwSn(H4M)bx}wx5%IbHzaWslzS+-LW)%q}T$2fEkx2pivYPpqSEqR~khLj{938m_|`nu;T<8MWJL<11P?A zsAv?$R2)zulSWagu%J;?79owI1Y9ybfRgD?*v?3D6onX4qo^~ChxI6mF?JMn*aJkD z9z`vt4plyU2Yoi_wF$49g)3 z6dguU%qDdYqbLT6zEeDOrt%?M7hh%apB_cAaIR}24WlTAhfpeTjG`F69^g`nG>Wq1 z>4>6Hl;BbkMWZMyF3m@yD8Vsbd8x+(VFz6pMVXkuC~6-Ar%}`r)8%Y-6ouG`j)vpe zOL52hRm+1>lnF45qLvwW^5s{OJ$eeBj%z5QaHU64tcE#QS1l8PZr2ci=u{NFKnH{u zTByn@Xy=BI;ET?~0tUGXq>T#3|{LLIyDsXmq2!Zo7{wtTm>t7U3A%GWt2{Q!zZD9t3 zze|Ew75NxzR6>QZiYxvoz_z0YNfw=7G@-92griG=31c^1y-J z;d8*n|1=a7I7YcGw`Kx|XW}GqUQHTs1Lr?vX#A!Tp9~zhBK(jISZXLJaLg2+HDFzV z(<4Ccx^?Q@`Iil7-M7!Dtei~3JC$3-Y^HCI9aDIFa}6$j8@rqE7s? zm;(I|rY-F$@ttZgz3-yzxhb7?e3MYjl&d%PciK|$J1qtNQ^*rwpD!(w0Q-J#Dft^? zopx1X58+JgrVN9&oPrEc5XjFdhJgxl#v@c`_#ac(n;GX$-4$7blB;e8DV{YVWw1aZ z7A__Zfgc3zW!&NBHZQ znf`U!Unvx-1Ci^rvqxh!QW|(r7UjWNz`tby4}BNeL8#>F*Wy3S*{a^ODxJ0vo5uM6 zG&a=-n`qK*f}1Np{C6&%>UaK#x#n2;fLX1_=(?QJK(V6m$dFB@&L!gr3Au zhwS7uV1nXH8F-37qm)q>C=>^bsJ}>{YIm8SE_P77xlB-(3Cgi?xm-nBxWrNDH|b^pw5rD{xY;gF_4!SNluXO07eH2`+oGO6k5Ge@SOBS>KJ#FV z3LnxNn5WN!N${$|kHqeUDe9)ehED*@)XAq0D5EDK#XbPUIQ3Ar-4+;~eEQ4;qxeb+`qAqHYM|`is`* zr$TPjR2v+lu2TfPL11gysF}CG6tL#%cfxx{aNZC%mO}?#r{YZ@bO`kd1aj_ zdNK?66ju?>hfqG-`d>Qp5qNU-2N+*oAVkl{AOfc*;=)9MTqs2UPDv8Xe^Ts%dCBrP zCI7M|cYuqsC|}8zrE0!I|Rfe=w%Dw!B;JQeR!=yK1@R=t)hbub@7T&ZB*s+zp8 zHT}!gzxK2amP9Z!!44o0^)rv7xCw#D)$fA;bR~lMQsDPw{O$(t2D9*s(A$McfOozl zn!fuyBbb{+(~k!42D9*s(0Rfn!27e*KbQr4D2x4(ET9Tz_Jb%=!JGoBU`_#_UAj=a zS;uLk@ueHge}D*_nurS%1>y#CN|IRfpA@@bUa~w+$-ivL9pIuY%2%=|Uq`g4z!61n zAVgHOluQgd!K_!DnlG_@Mp0TbmllGz|BniX#Fto3sG?|WKs@r7Sa2In04%QDNt0jf zEBs=bbGP{D945Nx6HVlPiG_)71D^iWMPFi>M*uB=aXi1sUt(eU1)x_je2K-vlp+z- zHgE(vO!yKDGu2{+4QD|~!GU zZU_#477um?$Jc+VU6uS2%io#gU2w)T4N3A#ERGcM!;rw?6!7q1siSkr3avBwC6?bD zo$nix@{ z4us{@V8bl%#NfW?Ep;E%DPfrrd`Jzs&QS+g7cY2SJ0$rf773&X!4omD2%;~sh@hHe zHfKArteBa=c31gJEL<_T0*TNKD^gk=%Qtp$Aaih=RH))(nJM2@xqO@x{FBL0{t^q< zIn*xT z9T5diFPzcQbvhjprNB2P!J7qh2%xFst(It2$s?kc5lP65c4$+q4L%2ywFtCp@U5k_ z0a@%G{K_V=hD$_j(i;D8A7)f0@5h+^2LfboNhkBG8#k%PbyQHnveI3);2L@{hz5so9GEKCU(LHoLb93~tQ1tv%5p}{RL*|>?{TB;qHJR<5@CQ%;S z_dQLLJR-`GB6b`RIGh4LI;fT+unh+v5yjRC2uDP5F5wu*>K}tO%Z%00Y~bSEUek6Z zkBAbxBG{sc#T2i?5i~!kB&iAA;QrV0UvzM0u~+a$;5SJMZgqN*)mf zNvfz1Mms;2`wJVIGEE*4l|?I!(fkU*vui})KyG{KUy+W8;#{z61WZRnF_~XB1&-OM?_hiyphKdQ5KvwgN}$2oSJ2uuDw?>&11>5 z!DivH91-;e+QFeWET;dZ)if5zReBS*bj9Q8*@Fv5L>X+6j))p$+5$Qv>RYOiOye98 zwYzgf)S$ex4|Zt&cv2Fb4o$WvSR9a#jm^ad=K!eD`A>w}^tg(9I21?azXQdOkXOrQ zz}ge?*HR7?v}7bpL$RkheZ5d~m0EXy7kRAaMtTV^{kj>VrRJ9W{iGm#B%!6|?)(#g z{yPa>kZ&SkiZ-6E9a-}aN8020O{nvzDPSnBn(G{j=kkkIvxyK$63S0}8ejic8SKvCb4L{&Pdxj@<4gp&B#@^WvBFNUrz~Ivyo}5#3UUh^?aHq(j6y zdlJyjA!2_Z1MDCiB8I!j!&6xz_qY6d1aMI0M%nBpJ~m*E46~KEBhW0nIz()bBzRR}B(Zy8in^&Vfx%2|ALYC_0F=>4NRdOtZiWfC%&TvDDbFx@ zx7rmP);V;D81#k=jq8A;D|JK^ObB-XF79b4=-sMOmNC8V>30yxQ~BG2S!sZhHqo1$ zw@nBfeF)2Kdx(WAC^R-Exp1X|dh1@uJniTwts^pYv~a~Uzmp4Blpd&WcHs&mLD$^E z6=;-4H!obVJWlK0;vr(YpldA-Fo%ep2hjpHhlpL61g|PgAa*ZIQ8yK?WiV4GBLtMu zbV!jy#LVN%jSz-Ogd7JBH$tE{WN3T@aCD_21SW(Nfs0Qz6ciywSxXU8^P@ME2Xd+j z{e?D1><1C*_BVYSF^SSm>TA|||DhB9yzn593OJ{?)dI{7vud4%z%L_cYDYS!t|>IarsJ?5-gI(PH>epaa4s7Ha)M3+f=j7n@mW`GUGk zD(*swtfj11FN|aDf?K9>U{RI{ZaG_)&9_41gwJ-+;=#r-&3vZe9ymbMw24p}UidJI z=QI>dd_O4YLc4@+1piL9OEZOMF7qrjJk&06hXee{c1h`h`exfDMuM)nb_rId+9k`A zvr*|Ts58$7`b>lEl$y4@h4axSkr$(vp-tRj)=e4ztb5(m1-dN6GSioI)=io7(Y_{P zJ|E4_-?-#QA8rjc&p?MkYU!=c6qoq!%6m zwsBc5r;uMjp!1jDJM57%=;B9&0e6-V0 zCTGIcb`-&&3jwmNK8+$SB|ylitCFZn2X!-01G(7fA4U<(0p486On9y1_!&$R;gV5= zfn=PIw!??%^U+F}(%24D8uX_wIv=es0lZLf9F%-M8ek6TFD_}>`Do~LQYSpg;l= zsrGy{I4^0(ddPsSKV%2o5Hd7gZnPwqDZwLQJMhKd7z(n(6pXb))~M1!Oq?ToKH7W4 z$LFJ&2X>3+qrr~wbNUytz6SV)&qrezWM!R?#z+pT_-2F_nCN^oqp_JDEl8s#hf=!WxnzvNN$O!B6mf< zQxQm4!k&+2f_>dRw65Ce(m6D}MD);f=Mm?lnYV7S`GND%RJ4ExY``3&FU32|w zSn0H`_!^((p(8={D{HrZtu`d+epJl>baV*w539nHRnU_V_9Mr>kbTA5YO!)HOrpjMeJt!y;8Zua=D2K@6Utah<_(t#oW$2IFE_oLPo3UPALNJsnSn}j=v+a|CZZ3? z;)oYe#3(#mXlP6%qM^A|FH1=^G)eYoFD$}{XVS}NmXR7dvl`}LU2a1IK=d`-FVF#D zI}5drq@gn;_+m3FEpKQtsmdA}=+zAdYZpDsLWSc7BZXVemSyv;&^Y0dW zs0MDMA9!VnIl(b;G$G^n`U2%Y`v+D2k$b3y#Yexf5ObV#;%LGoky58D!l4?#Y6Eeo z1`}6wwlEy3VPT4waO$F?2`h=xA<%+ws0K6f_w|%698G9pt`Rs?gApA>D-PALu(Z~J zu2yCeiw3zk)^0m?d^8~og+rrTzl2vOtKfSDmqWf|46cw z!MS+EPg-K~P>qegvYhcgh9r5Yh9gCUPslr*0zNH&1Pg?j^xX_2FnOrPG)Lzlh9r5Y zh9gCUpPP3$1w19&lnb-L)3SwJnhlFt_Ude~IaDK65ZAfXQtmiZ!;(TR+iWikYJOTKx&Sq`5QU3WMv4)~sI>ie^) zAI4vmeD_I8=ij#&tyCI8=k-JEH;!9EWP89Qm$OCn7|!s&C?n_sa-a zs1STyMj+KzsD3S@N`BHa`ZG=7WPfcM$Cf%7!=W0SG07_q)nFfRbO;=WYFN0+tRQiy z1|!j2ItG|SHQ4_HZL>=I@mQ-s=ui#j-{(6tTC?#?p(}l;hSe|A9}yj@!Ln=*fDYAw z>D-8^&=oaws796yI#k1gRn~-s4%M(YM=c$yVZn+;4Cv*frBis$kf65p5i82J{@)|7 zH=F90I#h$D?+$kg_x3)-DZxNREM07+Lp7KUV8*2h=uizNKry8jT;OOz!Eu*I1k<4! zRIf%Lp4zT>9U|hHBw+AMo*MHRAT{?JOvV|t%rFp3a5a_d9Mkz>Mh`C zLYA*?aWo-rBZ$?V3>;0!uy+M^qG6M|heI`3lIT0dLuV=|BZ>~y5L_yv=uizSF3m@WY6y<`%1b@&jH*Ew4%M)| zLON7qYXhf4H6nZ@2Q+l3h8_!IL*5=g5_stA_-}niO9iG7fJVf~pMbwD%wh0#N${$I zPyLND>ZZb$3}$NUJYFgQxzTNqQZiq%v8S8sF23E62ZH2G*ZyF%4FSz`!Pt*;BRwuWEACCrUJVM3U4vr?( z4+UlS&2-xFY(g<6S8wc3YzLnL{N<1*Ont7lOaknCy`?nU!J$xZ{@zV#hc>$%ob7>p zyB(Y%(|)FQi~lioz4;!kYzJq#W;;0Z+%8fED@}kzEL=<+0zU}a$x-7PQmWkm@8as@ zZU^u9Kf<#c>bIbujNhi-RKvt}a1kY%_Yr=($&=FsbW#xCYw+|*Q8yJfXE0MIpFW_Bj)WBZ z04Q1GQtx{JPd89+F@AD`JiP z9p9PLu394JbT^L4xBCqw7b5pUveY3N>q-$D$GMyWJ}N(!1uC7}nBsZY5qNC=LPw`1 zdCws^!IdJyPj)#4d}_8S6SKjSvW1+P4L(ONXk!P7%E|e?eiy&x{?cLlwv&hRT@vBE zGT)n=qC?}K?DlI(6bIfjUhK``pSi}T9Z}afMG&FDB4!k!vs|IiL8##7lrb}bZDbnn zcH_}uoS$ZNaQExXae%*+RJb6`$0o~wr123Gs$xTvu>rNz(erEmd1?}Ld`g~v&!eR% z1OJ)7It%RiQV*h(vA!=AAdRc^rI6FOVhb`iZ$W0y7WlSpfp2%eauXXisXR1j9AZ@2 zSu$Z%GOcK7P#abK&6wM4@@u=6RwxyMTzq4o2+StG-9leB`5jIl6-#gO1E&{Wx~W@W zw8>9_uS|kB3vMKUrjGk+TZ+j|e$Nm|$c*-ZMVtIy0hF}}v}^FDrL|E(oBTdvlUPJ- zGF(h<^83Jwi+|Bim|}91-={?3DLX`Vui$$Ivmy4`R7`I2`#Fnqr{Gj-9<;#tPUGd| zCcm}9nZ3ymdLzhpHu*8k-;7}V2;fbAmM(G-*yP8Ewjh>F4GuOUfQwUtu*r|`{A&72}Ax&$d)t&3yLDS{nb&B#K8xODQ^$CZ%6?d;-MdWxXGOOV2iadBXFlpdDG zvDf5b!JGWJL>A`Bn>WDj>tJ_toBX~YGF^tODn6-Fms4_+A0(-w-W|>6AUt>CHKukZ zH~D4JN@Fy?Lh$Sw5japi%xMJ>ZSvz>uxkWNoBSBe6;r^p$rw{lV4q4#y!Pt^3RZx=&M!%m9nw3 z*iAOL6?^4h0mTv?_gIP^d7ZZbW3}$NEQ1iSjD5D{e zB3rl)C1SqJ>KEF=#W0xJ!|?g|`TsSP?XA?yWQytSdA`B0-QV@Paf zt&>Z+)(5lF03~grYdLT22^`IW z`ev7MF%opmE#-oh(lGNDF3aQ8-4?fS<EIS3rKT2q8TZ^+Pi3~+F8a>g7cgvSFHA89Bk zLX5J^2s`=Se{KOHerL0#k&|>X^Tc&YfQI-jAIa`*^w?gBD&kmyELyQyG zW`C+_791dI+C(S~FT4ZAb1@1gzM?izaYPk;cx(MTS4gvlzoPq#*z0#=~sAWXVO%1AMZ@EgHCs6 zQWxsIi1TP?(j!Ffg>?YOTjD=m*qLM>(|u$;W^qsdGlzVE>Cq*3CT&MjyfCGx(Z_H^ zfm2I1X=hR<%RyxN$yMnugbLbxpb9gcT}NZ8-q`L z=~NiM#4DYJp{58Xsui_iTPlLdbV8gh0(WOpUwBy!2C*{qY{`s8*}qEtcKU4ACZePt|m zXA);?J@g}GT<+{lVsss&Z4o7RCV^LF`v0|vR-z|LSNxk(M5-Fuok@ts=65C?gfbZe zSKFOQ3_1>=S{6?KXlK%R0)&h@J&CGxP*Z>!Xt`)-5_5nzS2CmYb?i*S$QGCEOfry+ zok?%D^K-$GtyGW&kG1l`4j6}3V;n|*>Y|-VH3V>R9F)8>3G@!>FD_}>&Ls4uXiZ#_ z#cTchhKQyVxFQ?es&!9mOD;Z_IB}(RChfo^EN~3tL1K0$rSx>rdN?D}aly_c_63Y{ z+F|TWVmMqP9j=nGM8B!(h&NRywkOu1ztI20o2q*V;Duh&3*Q!AWpJ1TuPXFn=cK5c z3i~jasl{mQOaf(8$;O%Sf*7Y_+pd!ULGn%2t%=~IbrLW(WN17GICwJorV4h4j{q0n zV<_lNl~HaxUFGW}?9L=OFKNe5X*=MCkfHIvjh3Vx@JP6t?RdjbkR7IAtR1pkqHJf< z)5OO+lgwkY#hpp8BYcJaMXav@zTuro41=t!ok@)3po+KONJTGpCK-+PQIhOef;4&` zB8P)1#t;D)`jv(i{mT7likRWaok>ad=uDRJ`o@|zwPAqOFbC_htr&g027u^GGDF%n z`UL3i7ODaScFheT!55oZX?edgld7y=3B9_1$l68EGPX(YOiJOFvt`+QD>RP#mCRRO z1j!8p50ks1Pmp)pm9RULOt7ze!@x7z>C#0reYMoiBr{sD!v^e3>VvXPJ)rO`ZvFvv z37UiHXb$WHia|F5WQ&#_P_qaSGV0DGs?tF{2vp($#T?+xmCPLRIv!AX^M*?vPzHhr z6mOJJ+atPF4^h3Ot?8vp^*HJ!l{QnX)nk2r0##3=ZqW&~q`UzVtEcPR=m_G7CJ-Vz z2iW*Z!+4q>pE*zqY4qb8&F{Unz^k$)MAKNz6NY@0uN2NQN4 z5O)~FKZW=%7v>V*Z4ljYQmzs(*M+6?tw`=|fy5R6lBSc#dG%}lQ)HL&am4wdEUBw{ zxr<}-1^20oV`~NXg+Gs9qCJls3-}xT74{VPJ0E4~g(>jLZ19i%L7hO&F%duApi6p^ zj7+M3c1c8ilRtwwSx@|e;XK3PTfb_g5=KPP?MsZ3~!;I1@*Q$TZF9E@{t_Xetz*q~oIS7w!0 zwX;pHdcG@zbA^A>y{djd=gI;7WHO3Sbabu`#%D#wZ^1cP;I*!1wopniS0QB|rEvKQ ziN7?iP_bCbGR4=X;%&wup3;16D}pU;ty13lC&|(7AN-`y110?jVdZx zewOY{ocuWAI%R`9J78{H9G0SsOIfga#aEqel*56!_&st5uIe+L9M+c6NvU+L*m_e_ z^Of%SBO~K1M@F|YI+4+%1>Dvx;NprY?Qk?xs@3V~f~6|<#sSADXD~UDyPbiv2ZVly z1YFi;n;kLTUF^fZ>RJDi&FSI)4E@W+k7<=v*NBg+Uhwe*^}>IH#JacY zMSn2?Jk7a{wz}#(hx29s9VSU}zUp`02o7eQBJg!z`8`GbrvI^{XY}?utLHm<{_B5{ zrDuu%qr>^U%@UcqMkFfvpc71^dB;DPaonqd{ya#A{rbOZ=NgI7Rh`--#Giwjx$2UjNI* zv3$X;7dRy^A=4pvtqTpe;G_ue8lwK3@5Oy|zHj&A#ohGp$^Jl8d|XwX0>$Ii&=U*oC0nOK-h&!$Vzb^q7n-{pH zB;d!KtT>){A{+d#0J$xz-dv<>Rbim4W;)}I`)3k^NpW0%M7H+$Re7%Z$#6m8G_;0!muKLI+*iL11BBN`? zN|u4vOqmmpH8PevGJ2QMNuUp^Q0B1-0^VPPxh4yEv;$796{tGc#qkJR_zu-LxH+|C zp=ykaODxk$1QL0mZo<|-*HJ( zvz#BazN8Dp>;n~O8XdlmTmMFnX@#S6NVirIACy{?A?gY~Z+(chA{Xynr%7Umc6fyTkFo#YY+nnpZT+?YyEpzo}j-7pivP z53_ws5~}vh)t_UYhy(3g=BmL!hC?A(fFrvQr2^J}r88Nzv*7nbT!oEb;{8cgqZM(< z5Sv-VSAlX!PRAs%XfK}t9F0Q7v zt9)(1X_xBL)cM(85>NHHbl8Usa?g+jJk?Y3Rg{OY3o>G>d-Y}cEdebhq5sHlN8@Bg z8$UxahpYNbN7~H%{zCC@LvfZvac91d(HHekil6VG_5g}2fAuqT8aB*RxXi*h*=f8p6 zt6p_meH*<)uxKV}%f(03tJtcdsJ(L={X4Jb2dg$R467kT*-U0vZR-C?04-a{VcAfmvyQk~YzeoVW7`9NkGjbFpdR zu?h^&bT%frIOKKVS;jn98ai4Wa-;d3TpXhGKz*}|Ll_CV<`##*O6OsY1HCLyu4Gzu zcX5cR+d=ZZ5`roE7`AYz$56`or1wh3rFgG&unxM^dZi?L^cJY%t~B+)GE(oASPgTq zE-Ch1Lja=hkST!<2ye7dDW|z1B=}-8D=mMolu1?gUI}{j`ytjYdX}+G`n^&Lx124@ z=3Ak0{9cLqY-rjdNWNEEkK7e~fxJt^nS-cI2(J6RQb+A{DSQ(J&Y8q`Ded>9(iwUw z{!4DZDD)$M7cNb-Q`BiYjKLoy!K(_-WKlO2J{9U@^8mTg7m!lo&IN@>X}w-5Otf3< zg98M~2gli9l)#w4#)b@y&j*gK)PnJMHIn5N?Ce75pk_Ozs z`41TyKWoG%n<=;=e2oow(NIt`Wio9IkSAAmGj$!9RTh!UHqmb6HZQ!Hz|k;xFgBez zG*fpPRmo=RG~qd)dFB~9YNj4Fzmv_B(gXF)HdBlQU31M8tV}gimM2%bM0bZ1&6IP@ zgnE$8r@2eV0p>y06|->S7xN&iOM+JwJ|%W9Oi?!#0-CF&#cZHXMk*+y?EsetnHg!? z3QUVt872|Z4jdAqH?ZE2p>Z4FP#gV>uQ! z^8|&&${29Cu>!pzL*voF(Upo7m=GQZTzrI~pja_8A1%hp58hCIji7?#e^hD>5TS0@ z=-X&8U`jWsul~aWzzatv!D~G=#{e+LN;+UXy;D~RxIjg4;1U3*Bv{8*hqMV521e`( zDRmoG=AB3~tTvmMA9~5d6a?0>o88ZJ5d*RF^*ZAy@LBnI6zEj z6QMNdQ;jH|At;!51}IQr=;?>SJ^xNV{Z0{{$;>my@X*t*zu`$f{gfW4Z}#cONYFL+ z^n;bsUh-BA%Omrc?$gioKxhTGeK?vPLknNE7*1Y{?uRyUhv`8Y|E#+QIa-&6oz<~# zaL|L)+a#(!9U9^N#?Y(q-_AE#bL%mkg{!JbX0CpaIiuC}hnd$Xzt%r!ru=`m;_o^P z%wJ*JX}%{DUJn#8G2MgyRd?5$sfnt4h4kOsfwT{knl_{A9>Fid%#gy{oYvcS zHuJ0{ODtBFbaU3pKGpQpKc!zsSG})Wd%I{DFP7{aPub@T4uge9!a_U8!=Uj1*+zio zcuprk$f$FYs7ePl4XA-|8!pW8Fb8;ZCG&<$)@11pR#lZcBxD*{TGfRP39+y4HdBXq zRCT9E!yXVqf9k3l+pX=bMs`Z3?g!i>WzRHkn<&f;>9Yj*f z6dmHha0OPI0N7JilQalcOZ3@it-Ji*lzklbq^AO1!3y6HCZ|PT)GzF0g3CZKEo%IA zf%4a56uwoLy8gOY`|CRL*A;LHKUu48*0<3$>?~6dRaZE#!-{=C*9S>!!LQnVpb5^s5Ud#S*#Kflu;)}=oU-4e^mcf+!XJrWCdXgT>%0??-@ERH?K%gF(gfD3+cNmDOc{%nQOju-Bo zWbs-L-W^#@fh)4Xty&*!ZOO&2?WP*9)N=B%Ou_=ka0$^ryPQ0wr-RnR8L_<@{?G;I z7sfdc1uQ3LI9wt_qLQ)1T~7WKc{ew-fox1HC;yeeUbuDA3*Q#1iOvgqCc&!;=QB7( z-Bh?;sKsc!ZUJS~myI(6O))O@x&;Kuk^3Tqv~AI7$`{6l42>7-a8HfgVR!g3aPd2a zf=2E}x$WwfkKFBYayTz($EL`DYX{sAGBjRgv?Q04!z1D5;ER7Z6l8}f7;A?N;O%nq zs*+lR^9}J;Q7w(lGrX#o-vI%HCqh*}zaSq#t=id#9pNwZFJgTSAgtP*=6)FlS*hjZ zReKpE2UUC_LJLgW`*xnew0NmbE=Z#gMLQErF$VFt(8)E%qLb@m@C|r!IeC&jdYNTx zs$XrVw<)q3=3re?3cH2?MD3GhGa$UmLdp5+qE0R(_+m3FE$`%JQk8Xbp;vcSS-a?2 z#y06rZVI=YEz9Oxp>f>FWxnzvNKX6t{;fp)s>fW@Zch)!D{ zc#r?-o+UncVHTIg<_8v*J9sm`ip`G{-Yi9n%@5$!Q!=^F`Wj?TT-zr4gN*gUnFzZA z7TCtugMuz}-uayrekVKcB_h;3JO6*|y?4A6MfNv5H8Xemk})fym#ZkCj(y2NL`iyS zK_n;!3?K%)C<=-SN^-n{sHmujdCiE5YsR#$X^o4nx@Ix2ab;IAtP8&9drnuK>Ylm! zd*09c{PRA~tXrJ=o>;M~x~u!L&Mj7l7VrF=3_8ihyZC|oCKvC_gj`dLcSPyU)40R# zbTV~z;VG3HFA=uhScW|=wOel*KXKZ+0}aw=VN5pM+sD~}j}r;DgT?s3va7MJcg}U8 z6{ab?3H9(Lr1aameJ(sZUb1Z6E~nzf+<~6>!&YP)PoysQ5m|`?Qq68T9C#L3mIrkl z9^BbIiNCh`2@fOb7jEmV1-b#zMEhQRnt$wUSwa1Wf*iY;R#1nIkjZ82`Lco9b>l4_3AibYe3#$Hc0Q zMjXCu#hK4-GximWb%TyzfAcXhCXClDV|NvP!^eE#H!b6Hd|OToyyau*a*N2jzaiqA z|0k+hAr=>zKkYlvv?xe48f)=d)-rc++0g_y*svrFQV>SWshV{cCVV3dzx*05!KwNGQ3G;c&F?x z)QRF6-4|65zDthr8+(>PqkRn-H0XJeD~y-%6Z zl)#v@fY(_2$JNhH4^J8%m)7Hub!HrUa2%}%U10$@*#?&)W#bCZ#xrGdYUA18;648vyqB_a#4m2{5syjXHH$ z{&W^eY1+f`>{AWe!}2NVS8^rKkFAt;$;0yJR`T=r+@+r8+_)CoB@fGAshWI2;=}SB znPhQT9@zjz3E(HbA%es5Nk(upxS?&XcJp&XF>~@^d6s0pn8jgv#{Q@laai7AVoZc_ zSe_XVs4x!8JIoixVRU9`9G5$M#88e(hT3y_R#Xg>YD&%g5_N#c^0(ac!l${Z>-=L9fVOO*~W?ek705mJRa9D#NdMMgm^QsNcV( zd1-++@;yhpwqWJ(QCn^4!}3zzWN-eZa(UN#aKKfkG1C_60whDOMy z!Y6Em$;0w#Id!>X6|Qwsp%PB`7i%MVSUxSM9i0x#YlACHhvgaOsY78pEbrj-DRnw5 zuROkgpn7yzUc68>S2!%Myz;~Hj;A;5aai8L=`iT9yz)|E&|!Jz@x;*44fZpt++?69 zJAeNo=?=@kzdzkPOB|N3-I2<KuW(l8;O5de%1jL-SGd8OWnPFfM8ngLsP@}s`@R4 zH%h{5tNTz9%cR#;AIvaIYtXoR3%kMAuu``*-XBc_m%4ikf#hA&zEE*Ji|*bc*aD;B zfY@B>?k(ajj07(nVkPLVsdet|n)-KdlZWNEq#D9u`P=AU{Mz}4<-siM1jG73Z@&=^ zEbb8dEI%wCf@2TMvxPb2>mBNIx+nY z0b+^|e_Q|tG__&RUPE6Za?Q=aG9+HD*o1+vi zK6hezSt1ZRJoEw|q`oEzudUvP)J-8Jy{`IrhFRLh$A^a?8Qcmh?m&|UXK%XE;UNxK z4-d_ThIWZ%?6<&Zcoul{OC26U2!+Mqg$u0&9UihZQK3szK8kn{l*I#_vZn z@FtP8Teartel8|<4kmd&H$!b<3arx-%@Uqq<>-FyX_ijj&lNv#-{k#VWI_ z%Sb+q;dC-}c4+&DG3>OEdUS%$6g-AlxT}Y7%H^a-C$>uQ=;VU9)1@ArB-Mlbc+|mx zwEtuqsq;bXhBeriHv51AfZ%x)O3}fE7agkYw7dWdIgOc}mOnbFC{_081b*X3AnaZJ zyv;Gik4{p&H5^%Gy^muaKRRJO*EL-eBp;m&py~>qLfN&)+4C;83;zD2lPIoqZG77c zQYWT+9!9M*{86M@+Rv&_BES^xOJ1VCs$RnILrHjT^}j1gudCkla2R3f#6gtOQL{w$LsBy>eBarcQyf6cMFt5lrVg zo=I>p2Q?Vl3qKw^m8`2@3aZm8xJ7mDVV!fW98FV~SUNdPi66Lca++c$xj{=8FUGW2yao;Jmdn_0fzj|S@aUJicp-$sr{INatOWH6>#Sn0h`VL$ zbE<|fBz5)JdQlahG=82e#m~9y0?kH^lg1WvWsB?EJ83)^_ZlT&#B5I*cS-EL-AUtJ zlknQ=(@5PEQqt?HuV9#^ll2YBpbxC*Nn?9w&qj`u#*Arww}ysa-|$;tG~5Kd^7=*y zg&Od}t*ivqw{`Yg^^GIAL*`dHf}1Bx!MfJC^F@hnOI_&6my))pyQ;w$=1<>cKI%M;mVS6PGrVKApgBSc83OWeq3*2o6FeC_1D@v7JV&ONwRI+#V^ESs6Ut&|dH5^%Gy^muaUt(FW&emgigRR6S zj^GYK1!xE@0<;D_!9(->6%7-UZd&|mf0OBx-)wXC#1d&h2^Tt+HI{Ff2<@qRxPt5Ooz9S)h;`8l*i>JW*YPeMzi_^x|e0(?DO zuq*etErZw1@F%BIJ@ei)_?8}d*LR@;4@HCl{!|^Z!3bdCY15@ag7@Wde_-f=67v_* zGr>&w(TOqtBRM?~RQdeiKsGXFHcXT8_hKQuuHcNYkhqhGc8IxgfJG~OB#ep3u0AHZ z#FJl8mpy?bV-KDZ{;VB)-4*xD#87V^^MkU|!2cUP+5 zNNW@o8mu`Mwff*majkx6RPY!p$OhE-ltxJ1CnP|mIlFQ{x}QDt~>7L8&Gsj9uWGJI)#d?O{j)R)%gyxcY?4v?ksu6JVn%@IjdX+9Pe| z=Q63(m|dS1@QS}7&ErVDf*HD-$fH`ziZ3+qY?bOv&3#;=RHc@diRsb{VAJ@cqFnz& z+_c&uCtek)6(qRicuZO!;hI9f;1i=F+r=Urm%`h}wmLfN9di)jktSVNg?FfIqmu_q z(Nrb$c>2^RsPkY^(Ez&TFkeb7a)Ff9BZs~svCTaJWqsEUzfZlg_KdAxhw4=AUOAW( z!(d5uX{^0tHApcpEzlruM#Haq$JPdp?Wg$q>hfIQVlmn zU{7#bWx>;ZxX!Ks>g;+Ve#o$+u_H$NU`+Oo*j5K+wuW(U<&c#_#!rDe5ntcmSQ z_P973z-+vrm}0SBik)E9bnKmEA@w)iU@?^~aCG60w*32eOMp|YaUN@GZKlQh!>QtP zEItUh_Kb53S5pA-bdOr%^HM!(Y0QJUwB9v7kM+u1J)DU+=ogGMq3sjF2os)b@qJC$ zV3(YuO%q#P^o`&eoH*lJ3h#(Du+_C43|rl))JyP7ZFQ6C!D!TUc)yiR-A!gUtiitA zu%@?70R*?r!pK!G7Z{D|=Vo+c6I+5}ESW zaAcMBK8|^+=LTx{p{?9+D!*-d94bKFvu7j)qhsKnqX5{i!c=as`_6HuS>#ftM?=I zGU;{I(->xHHGsJ8!QDD{y3imf&1HU=2xFeoN&V2 znD1}D9Y469joe&m`<)aLcM=h{-{8gpV*Aa)cPNJKx5Gr2s+!|wx$?f;6EW(;$2P=}?etTBb__VC2sqiV;j;E{7 z9jw9R_Iqy@5uZC*k>vK3JdDtEOGwEbqUiqQ6(^*1>alhy=WQ|Oo8emno(`k%Jn zY|CAagN`|b&Ld5_uDYS^cO@IN{dTYvO;u?7?RcJB+I~A&R5XBYIm~pz=K?9KM-F{O zV*8cLdWao#- z89xuWwjyo6op`!O(e_(;sUAh!Z)Yy8N84}Zv0izrhfg66`eFNR`vkV%uUVY7-(T7# zXOr7+^o`(i+ydZQ3U@h6W*%(6Z3n~l`=1t1z6YOF4_-k{hdrrB;g^2W%x+kNeRX6Z z$PFj}2)@US14RcHmN`_43fbiaSjcJ2?6iFQT~UhbQf+kj(Mu*25NYOt;8m_-}j;d)J=;3tzinUqIvp2H(Uh?R0D0l-?Mab`wb_t&J@=9 z*virN`z1>!x8LFi?wj0xGZS)6ZNCwvju+m3JDrT{zyE{n_tuz@{t0VZT)X|Y<^TQd zcc-`$s%JY$Qrqv1&!&nUeg#sk`p>HOCBPK=VK6EDRrQGs?~#PpR`|yNpHU)klcR%iptS}GL3^RFdF7z6g?!l{YKn{&AxhygQpr|sV}YVjyrpEVdvLBW9wUll56*aJ3;@Nk2TxVxo8FiR(1T^Xsq1&j1lXtwd{8E! z!&aq!E|cOxuLA4S0$v?%Nb@*SuVC1NbHTK%*n@K&aPLqYdvJ$KVU>wJI5RO_dI8uy zIM@FWp1Cot(jJ_>Dnfg3)?a!aCaq6#O@UzQ5xDd3Z31Wy&bHhok@nySohLEry6T4Z z;FWC99^AoFG*zKJxZ`0OZR@#HJ8erz71!xb>0%)f6&WHBk%H!3#8m2wCGwf9Y?ZMHqzrP1( zDeh2ellI`LZb5tSN`kZpSGdlu0P5^|!YxLUkHFD~WDma4MR9M6_u$NNd+;+~BDwS) zdhnM>Q3mWLBxP?!no$b8B%}K4Hi?`0!J5ivE@(i!Pz*EHMNF4IOEU5sp8m!GyXDgZAIFHJMnanqCL3s zQay_H;LcoHkM`ioW4-cL534aWFh|fH-1Z6V!MC(H?ZHp5OU@?u;OHB{E>xs|Ybm@d z*1#UzHazy=)0RjdN<9Kkst5a{ro-K-N8y*=gR>jfU|$_s2yz1o0D?ZKSw#mIwsEKw z6|&0rP_Lf{lHj}F`DNQ=!Prfg^!6NHPkxq8S<1iw@Q6*aEgl{*0w2Qq)qPRn}m8?A>FMe zmsPCwwHV4EhJ>+a%<#%QG{4!U=rvr&;V4^Gcj?FLYWL3fVUa^o`f$d*ah3nk6B*`P z(R$d&*Hn1l{6f#?%KKu2cY6l+%ir$#yw{4{d`*Q9t{lqv%J5;8jT})K zJ~A&~=jRGimq+DKybM(<_4b1;!<}9kj`2lQb8`N4?TB-@+E>TJzxJG5Xl{%uJ=z+Sz` zH}iQA^LSfSNelDjkgB_Oz8;qZiB6NX+t5c{c+_cphsIEV>BI9g(YKZIGpR~PXS)4P zisP%)wsU{O=2^dC^WxvoyYx5oZm3%Fpz8stGTdBsIrB8mI@`zVY{##g*G&3L-E)hi z`^T%_4mGdJMdTg2cGS=xL=2C)P9$r75JvwSiP0=y&ELwNa1&*k=eKmNU(-4dO;h;C zE`FugY!<^`C*f`LKM)X0ho9dXyZR~TmM=B6`94MZR2eHO+A%*ED0@+K$NVrSt08sC zuebssv59cTLMd>~o1T+meylSW-f&AC#%DT~YU=U_lSFJpZFkEb#V`jF&bc|(e8bc1 zk#DG^**8D%N{wo|t>te#&Hnirsu|XdlTX0ctd+}i&0rdU@EgFsT)}Ggw%9CSe4(nT zw;1FCk1@HOit^_X5F2Nn7~0RuU#!N*`j{A3L;L%NJf-omlIQdA{C-!teiKfm zJg#2_Ck#_v|ZL!EePvl77ifSI^Ybtzf{w3`gZsMpp-bSa;R9i|^j2HF4 z@|WIjqYn55+weQvk{@|3`GXf%fKrIChGMEbLoKkPWUy)(Cp5gf6+Bmn;RkS zNr*e#*$$I+Uj5%(bq|Tf8tf{Zc1PTQZmiM?WO)@ViQ$J}^KnWt;nTKF*LZWrii)yo z>kg04Rig%n$P`5V`+BqC5AW7oogJP*yA8h_H9dTv8z`+C zhHC}=>J}qQzc8e04}LZGWkbuYxiuSpYUhI6v*7|7kSuej`yhDDpzH`h_=_wx^;!L3 zea-OfDs0xC!g|oH1ZxIoLmP9=Q2oohH3w(AW4aY-yW*6OlC*V=Lt=7F$L34-o&enfC{Xv8-u5#B|sgp|{@K6kbECzJ*p5s6K{10puEn z{y5E-1c>z7B&)5*`UR{Zu#F%7I1Sr}Zl(@_;OEv>wo}tH>QUIr2-h~G{(Y7v{s1xA z%w$Z>MOoKV^hIVK9mJMD-4jlZcaJrfWW(#@9Z}6?^c{P4T3_>Rw*50_(5R9(cJ8F6 zty!1tV6=08m*wiI`6*l27mX*mpCuQJNi=oMf3k-Wz=Fam56~5TV=cO=+h*&yhU}0H zEy91AhM8^g6_6iiV+weS26;8t0&0T3O3{4|{{Gz(M5FLm)%!Dic@kb*y%{Y@%cR#; z_hy)--DRC0IR&kL9wF<6K@*3FEAR;29JKJ z$M}e(un@fPG%G=m@vYAaPthxUDrEy1@oK|%ek$dSB)qn|J1taAAtk-8 zdVhvlI$24O3_gSv_c;+ao7+amr#pCt*E0r>LPKk38T&0T8a@CXf=r$3CMy-ll?i-~nLq^!z5sY)!BuQ+H9ZYPfB{#9PI>m)<2Gr@KN6Vwl-DBKtpv5W zu=Bnpye;0};LfwX&f?DV5%ESZb>}&$9<0XRCk*4|clypVyI~FXr7b(403ax0b*$*% z!cvF2dZ9bdu#nT3*=hNm=ZaFiqEK6Ju;2I&GJ99v+cA&tAg6e1II_xmAICh^bL*Ax zVOxpxosl-|%H)$T9&JWd7j!~Bg#Sg4LJzkmpDghEC!cWp7C$$|x;fiB`BYPs9eE=O z*Yu+My>6@CUGB}+>_PWtFGnmA2pOyyntPDMP2mO(@oJ=i`{$g8nttBGdGFjmJn=bp z9lX0IvQO>~vQp+~R1TXsf#owr8pQsURSqdrIgo=pCdZ`+reK+;3%|OYuqVgtMa=GP z*Z9IYr@FwreoGp;_}Mn~|4xVX3bT(m$->I5N(DVa@a&meCZ~-rLxMMWh&AJ59PR&K^v^TLw7gh^tg#0 zjoG_0+cnWFuZbSdL01a>zuH9Y+Y46qxmGlGWB@{RgZe+_IEl!N?lWrFZq>HrKyq827s5r(1D906$$Y zT0~b(TiU-__u8HG@w~*}th)fa*Cptt^q>6bZ`Lg%fc{#Z<8i0tzgY*&6aB##O?~fp zeKRZsP2t+4ifO*#F7&1pTvZuv)_l2(B@@mgP5e@Svu-7eu)!mk50Q2=lP7-ne=8ectzWUzpPv+HIJPI`=6mqH-9F5Lo(uHVwS6u}l4 z4cmiOEM1BNMS0+ zQEw$E4%;v;4n1XR*T-#Ze$Ddm?oE0%)ifR3MRkqQzgbt)%Kw{nHO+H~qcE6~fc*_c z-PE+DiJCFkO8w2cn$0bfJ5|{CkJ5W~1OH zR%o`f|NaW?$+*(>=9Illg%z5e(di>%_DM@;st465t~`T3*yv%kl!3jM`T5 zA7iWCf_mR}AxX%_rd^y3_`>39w04`^_4EMR6p9cHJ0YcC?IyXfM|?xBb|YOz)Yjx) z@x*7?`#_s|BHQJ9la<)HI_j9ilWu`i%ZS=tDy!^Trs6J(w(j!&8qD532?u!>cw0$> zrIN6gsjat_G@5E4W#16S&SdlYk9`!-k}>SrZ9plZji0GeZ7hs?$yd+ zx#o25#fs0j6*tlonUEXD6~_Uoqa$;8{x5N+E3Tok%JF3?b@o9>#fn>ldsOrb_w_2S z9}rI3FxRBEl)`ola%eHn56DGABJd>NKR5o^Pf`Ga6Hxt%4laD@P*;&ONx?!+V`iu2lT<~ivPlYl1J-!2+2zpqr`V;YjfBERb;q z0zX|KTLcT_ZeVc|pN_(37I*qHsqoDK@ho!v^@x8K=MpWc=E=BL)9;wLP<4kw@0h&I#~e0Apz3pK_Hwc%0cXO(Ut){NcT65;5!MV_ zSdrvACY}{FJ}v8MDtt<|<-_W;tu>f@$0TGC@wu55Nxoy^SyAJ&v!15H^DBpPc4c@$ zWh09!!;7uq~T z@*NX&9|>3Fw3@Civ!T3evQ6t<=jnMN-Q=lw@NJc)S5}t3KU+h6HtwPt&Z=xjhPfWK z!tjm>R~U~G#qo{_<6STS6vsOzsfv8l8xsL~u#7i#{Z5$x8&!c1$^>-Ss?^VAQatEY zV0~J^tHTXx9!KgG4DXn5!L+P+$As&Edxzq9$Hd`MSY_fJ6J}z%^a8N&m~j2OYZKlv zVXunNJ0`6E%VU_dhT)om`8V~BiSw`5xq#j=VOt$p14wr~YHv#wi`@0eW6BDX<={*xbl=iy$}RCtnkNTp@9fX^(leaYf8i^v8r8!ssE znMKB)Rt)c$u$qoNyko+U`kQXBn93G7y6}8k{`5O0Y@ElMTEjagjK2VFV&;y9TR6Rtw-;eD3A5ZTRm)sp+P^qV`BRR-Z9zA;`ENm-=2!+ zktW|ULEi}aQjr3#rEvdvk&1gqwu50?*5V>*;ncP)sUECCO@~`ikHRmX+Lo~!)?i<5 zSkpTu0D_^YSw#mI<~dY~3Y*Idu#nT3*=hNLL6&Ug^90NEZ10En17X0bH+f9fY6s<LzqI0!(2J!q7s0RXvvBQW9QU{ZJ+8b=B{xv>QcyI0ANq3t*+r7Rgmn ze80ingoZ%!=I?$`)J`(38o?GA4fh9+eyN+#h`Vq!c;O*df^Pm==kDfj;wCg#l8XaF zAsNSs={Qgg1xCZ})=TmxG-{-93dd2j5)_9WW-bo@CUifPCzb5Pv31_6efuBU(BYCC z|Bby~wEW+yE>lFm$8W2h74BNCbhoxlzyAV>ci*xFi_&uBAY7mh!_?7*)nTC)msp?W z{#?RVeI^r&l`=&e|5iIFzwcD=XTqL>{pL6&1$R5!N%9{d+-iWBJ&Yq8D1pISMv%dR zz`p#|!mWk~vd6O+I!IW$XlMPcx`^GOVplTtqI02Ii4+OgxQ4h7>Ot9FiAJp?e`2?Y z2H=>BsyTW!_*@Oew~1u_u0=a7Z?%hxj!{zzj#d4gS(%cp#)(6fItZmsSN6eppp^y> zsU$hR5_o7O@bGJ%bH%+3Rfljo746k$tL-(WBc6k(l>90y+FAJ%)Rck~RY{9GNopSP zWE4G0DnWsxMGO`^v12NtlLfs6ajAvlDxy;v^~6q01Jgt=72tG5gH%u@VR461_va`o z$7z+d&|~pwT4kN5EHB2zil%K{I-Rt8^wIkJXi=)x6jHd<2%C%Q{*ZaKG z>c!5C@xuu3A~fs8iWi|F2u6Au`K7~WauFJqgx6L-K_NXe~l2vF9Pe^pY}y%?=%n|RJZ#pji}+*BjsvAAD{!22M}Nivk`{EUsa#R z@L5TCZS@5A4zmBbE6pu^>u#C%JU^G0|nopilL{$_{<^WEx5_Cq< zzUS=%(8YmCuM2pYP;qfEX0SpALJf)Ni&^QgFADleCKiIEG$^Hm)J=gL+W5SE5lblGC^vP`h05{^HTI+)kgHF95?)*V8mZICnE2=b2is9(!{G<<6QA3ey>P>er*1c_|$ zH846u36yaE5hU}czfLB?7vHB8eE$)o;|D*ok&j!DDG2$GAd^DkP9nl1NO0o-@d%QI zvppS#N01H^U2y>~b=g)V=?TP!@CcHX_D(*6beJCm9zil=6ZMKmkPb_G9pZasC5@=w z=dpL!efSY18%2c%&;1>>di|QXR@09lU8vfL=@H}@(lmvR2vmJe&2Ie$V5rbvEB`pQ zn0y2|fJIm{yugYiA3=In)cCZlr>XEM*~OmECDvf_5#-&T&&#by@)4wGMUBtSdYTH) zuN=zRmEi@IjV!7RFV3P-%BuF_%CLO|nQDlozO=SG9znWx_ih{GQ}f(rTEr`}U%hFY zGLUiiknJJKN08_~60XRpjjPLSDDRqV(|Xr=dS36k$y4#*+bT=1tSo(hHgp5kGqNh% zgJG^mtuQ=-wTkj%t%=>=dPL2~^M z;h7uLD&6yAuZqwkNY>Jg;#?>z&dN04mGUG(S?Btqv&OuDYRp+}IF zY|tY}2TRdZg&sjVp68YxK{{AeG=Oe7%yh!%0x7FU4t+&pJMLYS^%*<-QjZ|n`W~oG z)$WypIWY`Yz}7WZdIZU8fSH#Tphu7_fM!ZR_@PIT%H!3M8m32(&ahVr^av6y`}?1{ zV=3-XYLgy8rn&_^f~+J+k02GUvnzl)yPjy`5hVJMJc9hm)^Pj?k~!`X25@ zjdZ1>CwP3lvwl*axm(F14?#o+;{@}RYAQU*Jg?IF2$JpVBS>TenDrh(GWNP+cm&C6 zI`;4gk|Fgs-C!}5EpT*U+YjQ=lzs%s#(Au%H9Uf3{2e$|9FHIw{}8ygB0Yk1;^`hm zk06zo>QVFv(wR%^(IZIZ$vVBP)x)hYG%!cdBS_1|Bgifmr$>r ztfGSpd520-Nr4_g!a`1CW~WkvDs@L?DXvSEdV~GOj}qCt^4^YlP?5-#w}vCDtoL!u zQ$06O!*{NWE3wH(kn=GZN1`6WO_0*hJ%Y5r@84d$AZ`FRSGW$6dIWj;N7P=!4Xqp# z@4?(huqiA?09xp;s^4Jvk|eygdUsMUlU`SSIKwRMMiD=Pgx%m8SgEr`a#fVRy$FHi z2JZ+cYA2aijbICmhDU*iDobwg5O-k)cwvK;pbegN?lyRd+lzS^a(AII6q0ewO~-+1 zC@>lhwqBBPphgO3a~!){35vrGGZ%;6Wh{I8*bh-vyvw+XjN=g`MhAZJT}FoEyNpc7 zcNr&qp1jLA8JDpWFm-r$8F7it6_lm-gZi9KEaqg2HvYt2#yQ}h3wx^6Z?RKSaJNgH zq`k`shwd&Tdxtl7myr?JcXt^XdEyfqI-Ia{(a!pMmyzw-yNs-Jomz>coInCLt|9J& zdQi4kqEX#Gr6y&&Mbs`=ynmN*H27Q%#Y2f?{;owkEhp|Wswwq6R`vCE)HrddQU{^b z>B^S7jHwnlq>|+LO5mZDz{6`lbH%+GRYyO%%V@7YiMx!$Au1)m-HQ5m8P${)WTGl* zaVJU5BOdQQ+EG#oDt5Gp!Gb4tOht6EpbsD}wQyWTbSk5s*okRin&_nhoUUk)3aTV5 z?l9{997WT21{Zp))Sbcel;y>^Skbhti#%4!))HZ%w|jkD?lN*qChjuw0D`PsdzD9z zAeEO|z1W%2zso2Wp$#-4Rk#R^MKIFSsI$>sM!5(bl!Vt-_xl1Dp_KHx>hTP-bn+qu z$>2y>ao2%57hLKtBk<(pKNO1oMF{Q-j5am-Ba%V{J(Zxz-}-EN^527p871wePo|q~ zW>4gW_Q=e1!1(0~ZTNNCx*4qmI5|e~#R{Q=HlR;oyj7cB9Nnx9JP6*B@r-((!dCZ$ zQoAXT^LVqo$e32%0f&8f1AVZD^$s}fWazn2tH-on*)5wfb+b0-%dLb*=-(*Mp~f_a zRDD2emOC9G;8#!oH{+P3WZX|Pl|-4;Plpq-n|ww6qwby7o*zPyXFoALi~j9ElJ?E3 z4*yY|aB2Kafe!z5e>S4*O*_Bnf@LY-jqajnJdm;H(a#q!_ApV42#1p4vgIrWF?bv2f(qs4%o0evV)_ z#CA1Tf#%kV?kP;zmTEhGj9$HURz7;-+90%zK`hVnBWzmB=;Xz-u$!XQ4mD)q8>wuUh3+EEa*y2Zgmn(?zdVc(=*tdm=-$KYSyZV?3caKMKX$GZKBnZY6p612eF!# zIl8_8VJ&mA@G)EJPDFj$v-8Mr+Yz?tmeZNIqvx-!c9TcVNSTs0i9Z~*C;C*)NY0)C z8o!z^OkGmo3uFf}@2iyT`n2qNmHm}v&t#*N9B2G#qGoe5!0gX9H#ZR6-O3RM`G&pz zi2*IY=JZcZdvhFehXX$b)UinLtLam&0_B>)o=U?~&tM(6dkOb;!e>7~NyAGI^W*@N z8Fbg0tVp~`IQ#wx0*T04LM-pQDKpYcjZ9$!nK^fRj^MJU-Zc0aJC8)~QTEy31&_Dy zYK9AUF5z>jW;2;ZM9nj0-v7ygCrdET_?3(6Q_Whf+p^l-wu##9;uqTwum>#e^1m&> z3Z-0Ep_G|Kl@<_FomZuaM&RDEt10gz-9!U@M5_7!ZAal+_B#r7q_QU8%8Snp!pzYW zI{!YSRIjwTm)qd`!*1Z@jxUUD?hPc$>-yqvEbB&0?$tKilCI`o<9x%%k0nPy?r&|l zX8%ceL;rQ?m+}LZ`!GLcAHrB-e`You@h3H~Ib>o3ClNkn79|Z`JPEe)LV*nogv1y~ z{G19R|8zA=Yz&F^kVr?8KT;$R%@m0w({QdAF5a!py)2F{C0yF_TB7Fj;6b4vGy4uv zYPj(WEo%!XzbX~60(ir9v$d4X!F?^}65epUO!ybpK*8mpYlLAGAvxTt`Xqe!MaRt9GVpD)?ad#jKV*C{tztq#> zs6P^|s|XjdTZw8oH7&Njid`>Yyy4udwCt@B;>Tj;BEnhjY9bnrO-bdOi_~;0btVfm z+~+ytl6)d^j}y+;o`*og8=e@~%cmmtkrn%z#eVk0*xF|zmOm`E)|!Y+X7V0SN*QvW z3x6-lv$s)}7*E7JbL7)n);6Tr{6m&HnP4X7SfXT!#Y9M5UO^N^el!0=6#Xzk<-RCP zxkFfQd%cKRf0yp^Dd7!IrI~N%+2v|5{r<=0{8E}o`d_AQGc3yKSNGWK{BOo>QFQI$ zwgfBXOO0+DuxVS}5`eZ_0+w@YGp9ZRYft*|DuvL;DDTr&o#o_x{I>a^C4X$DBi&%j zw{9sPmO8ICo5{CnSj;?uJbgrv-^?;k23~jCRq+Uy_to8}omT#o z{~#CH?;(@w*Grs#&hMrq=1!U6*58+p*D|Kvw^6K-Sp)+D^Py6t}|NUy8z#xP53 zaQL(n>;`u?5nSqS0-{geO*k2f9bHt@su65~(GabNU+R`N;x3#Hz3?h4L3a~u&A7V> ziCfxSaQA5^R9-TUv(j;(8VZbt3&1On12s}u#&KL=B`6NtFfI=NmbM$LQUBmM)Tj&F z5wf@FA7FGgMe_)b1_YINnRfh#mPqb0_h!?k&T<_g-h|y0t+Q2!XY=^dU{iL8-T$9e zQi7QFbWh0M`3p)v^9q?K*d6U#k@xAc9qK!(6Mr}O+AGCGhxd%-xL}-ab%jWir?|zkEY)1T(d$80k z$!*;t?p(Q1OncSvPP48XqgnZO6=~Jo(3NI%`bn6=u0*q(7X6cy9Z?a~r)?>tXR~e| zh+g2&%@)qCDP)4hHp$f4Pg^=75jO;lW7VCwUgl~WE7+B2mhLl_Udm5FYb=bA!Agg^9Da|VM`E6n&mX^V#+*x!xpOL?ppH%hN&c6JlD)dXY`x$v`)vy_JOB3CZLwjFG2T&3=Q7toDpdgpt$5$Ol&U zOH2GfM8jcE$aM)ZZAAai4U)aaX@ocIkz(do$u4PM#v5||v^1ljdrrV%wk4d2c9z(Y z2wAswBdQ^w<*)tmdi!Ki+}N&<+e4tCOIqv{5$ge5_aQryDKWk$j4ydgjq^U_bkVwk za1pzisD@M0V(~ttk@1H2JT`CNW{Q=y(7h+cwA+to3Fm^p2B~`wl(_~ag^B!TV&W;n zS!%TiG_3c`;p&{5C4$wokY~Y-v7&FN@z(myAa;g`?PSGzu-HIPjIEt1V#BT20W8pP za(8V#-f7Jdxmkp>*G5ZRM8rJPH6`Et6P6l5@RZS3^iU$Cl8pTsuXv^UIm_fOYJ2VftsrU|YG;4$ z#^!V6S-&}VH|$GOmHjn`{6djGgm7-RqllP&5~Rxa+j_;NW#$frym!Urt0SSfIQw+j z;**|;*$a4+k4Gw*p5d7mTBC8h_U(3*Ue6H_dOGEO+V0v}uDIPe>FF(RO23R(tl2~i zweQmpwZ)mipvEmTgtA>J;;M98Ib@iHfk4SXqGTWv)jka1T1bp#@-~pm zn7j|92q0}VLca)jC8`kuCBq~%BIq_6QC^9t(HiHNXanKH&`i}-XDw(n)PoUW*~W0e zM72QibiHH%M_rKzRWcwWVL{3@M4>rZ6TJH>DAvA+v;mp`7MQ|Knan~nn}97c=kji@ zI#^)PQ3TCpqJA$yX9)M5o1h6YS_ulQ=m{i`AF6M^QO=S9S>iHB0w9>^NqVSNem{+XbXc@Y{QqrZa!D|(IjVizu=e}M%w8ucwD8QK@tgDM%$V|iRMn*;rjyi(hN z1lnkjM#z_h><<=VD;ba_jx!Pf%F&?^KsmWH<*WIhs_F&YlNNFN8w#nKB%+0o1ywR2 z&yzhqHA^Snv^+vst33=XoX;#wX{`pC3!L0v=^m=vtB@#m%zplxR33a?AOA{*-A<*| z5CiiKto~laex-`lp*;0nnraU)`g*QI13E>>$;=hXNf|mwNODe%h z+Kh2Yn=>tG3#KJ)$#g4DTiYP>SuJt*y8-V1eOfaNKgpSl+6ZgEGyoJ>(I1eEK$fY4NIe>lEGU`+IsN(HgkDKW z$(#lr=jVeG@F8X`0RXbmK%itGQ8EyTo(oJSx|j0NRO%YhV?RXDubu0Vv35Cs1HTS2JJi!bLO` zETGY8WGWhqEGQ}_r|;(ool8l{oCqH0XMz&&T4pT*0J70QpkyFXG7yQn{09|r2PDQb z`5?$YF!>}%5kT5#gnk?FJd_6lCBq~%BIq_6QSR1)1gbV7QGDSk`b%3%Hbs`Hosiug zSx_azd8m|3U!X!h&OihJWCT{p?91p8KtVPd5&m;4XrBrgWTQbU*N1#`0l`t&o@{)K zr2n>%y#cZy8;t;xJ_NXT4Pc}tv*$LX(wUNy`8#-={{WPLk^*Qnpv94)d!O~}@|LZk zx{&xKvjtF)Q7tI2qT_49#}c+=dIJR+4Fm;Nv=6A|-O*57jzf?KRWcwWVL^(Pk|Y+b zgVsDqG4*l>%3g>psFLCQJ6yDzfwp7x&h5ZEz9Z5{0Rw0>BDW(IH{2?4;1 zzJ~zNs5#1&qwPaIC>jIEFWd?Sky33?x`Z#W(M}K(bW}U=b^`!%0hjj@zMf~IEp`AC zHA*WXxH}SZK%?V9z1tHt#O-?~@}NovWF#y|(d>jEX@qfr1Qk2D&?ETGX8u#k^-h59UHLD6cJ)0G<$%02Tku);o6 z5OmiFRLKCOie-AAouRgQ5$Tf<1`v&efxjUOs${<4^kV=*j@lUT_W*=k#6Z<%1PIv{ z^de%uwn@Q}#EASL-Ty8;CrjbMS9;DKy3 z0!Vrh;JZk;(IAZ;WxZQ~=DNYe-5|RW89f3@_(&Vg+D#$wDqxV&TRo6p!VUNZP>|7g zpoEp_1%WSmk}Q&vX|p-;guH`!@Am<`BVYj01jzP8mZ|>aAsT`#DCz>pzfHk48l)vo zqoW`o`CGdKodE!3G?%Cd+lJ^|VDtN-r5U^ec~Gpfr5-a2L)C%ww{t7k!30bR@j2Fps0Uwdh8%Vn^Qve!Q=ccpakr~tla^C zY%~xk8A#A9LUgo_EADVebnXk@aUhRp@)VFFfV9yFeIDQzC<6p&Lkbca5p)}kD6d8Q zH||TxBamk*K=uV>L6r>WAy_gW0u^%hFaZAs05SrrWLh#>O;0xKK~gVby*c|pxCSuD zMk7ESfRpHtw9)(r@=PM5x`UD52l*qJJOJdaOilnP0!SN;(5C^u3M(rJM4uc-0NaG)lC1SgA@UzjYjCh0Cz$eAV8NDkkE*r+h|1jZ;1ap+N(z6sTxaW(m*2rPFLNi?Ljbp zBdmaIGy+KaFyQs1+h~wdGag8Gz8MGd4e&VsAt(VQ1<+`O-T>ycq!A&Zt1!snXHbH_ zyc^*!%1Y9S&I;EvhJ*@2`I2D(;w4iL0U=o*e+-w_L1ci+10LHt0Tfu#X`m*fpwNs! z(Q28M7a*;8lYuSX5pFs$>AtfMog#3Zi6=Dj^*WVF3;W z2{R=#n9~yg2-$N#z;gfyIhBD60f3BN*UY53J;Za4abrhves>bZ2Aw8k0a;Kb!}&|8WF@m{4WU9xy8VTKcLoeHfY&K1NlM7 zgQNv31CkyD_=h_IBQ2SmpmIK&I0Zb;&jBT%qyQR?&{u)E57dy93_I<+lJZDsz5`!K zM)Q9p)++#+0y{eEE=VFzlOTY9fe$qL43;vrlm%5XoNtT#=zEFNa1TJ_qa6TB9%=OD z-CzNY_5=(0Xatgx$bzC?iTsH-QZfl3C|Z0WKj3~!P{e39IGjbfOXdS|Tr#U4Kzapu z0^9@=sx-biy&r&(r{4tlF93wRhk-W%fQ;JS41v#)AIB_&LpNf`P$Q?&yX>#)gCyK$ zI}(#T(rD5uDDMCiWTO#4(*A&ZJOmgi6&b(-w*Wv&wMV|AJs$yiI~Q;&BtS-|gA&#; zk3wKSN+TpR*ufKW)5iczc$`fD1`s_LKpy-YX@&h?Aq$Pti`U(P) zZ^L5$1t4VaUx2O#SI8uAyg+~0wMj6MJbR`e8-Z;@r{3{sCaAPcHw zB)#vigpQ-6WZLaOJkECnCEyHZ^#lO2(LkVNAVCv1(b4eN0gQvh9404%e2U5AL5cv< zMk90y@PQ};1nAlU5*iV78;vMG@IC=senQE;kY{Sv$CP~%Sx_azc?g!wTR?>zx(2|P z06<1y(QN`2%g{sjdXO|^8QAMX2yX!xWTQb!_lKx1u{w{sg7Z*4+JwP@$b+I$1|eZV zs$_)z@iSPw{tKj2Aq^m!`X%yswqG)50|gl^1_f61Ba&;7Wojj@8nQRYI1d!4enBne# z|9~<;pk$bYMg-kPBg(gaPr&&9P;w;XnflYul%0kwsFLA41WRTCP$7G*1F#GL$OtSN zMJ%=wC`j7+GSK@+2tNZDB;5<9G zC}e8?&cx$N(5a3V$OQnZE z$uJ3x2)d0%l!wwEHH>cFf|6;FXQ~;p^Ngq0st9-MOQ>d9|H=q z(TMPC^w(=?Z3h@6RWPN|e5#iE1?{r5M8Lzw%aJT;PmB!^+>%}nsUN>B6z392x7D{t z+HNP}0f>(2h`cOLu}+P8f(0~soyveCfINxO8%OE1O82*z*MEiW@m>3_6_kAHQ?qq7I-_HypW zV?Cp+`ShGK;G+*7f0pw3$dJccm}H6SGWOcF2d=r^cj4G<%sZNSuqM&O@WLdVFn48= zmx)!bg4uw>U~}wc7hCLZ6Mw8GHYco~Vvk@&PQbQCFJYq^p4uC$3S1Y;IYc?WsijSt znyd=mAU-4N>cI3fcFvYhmvU~A0%n0<` zamV6Xiw<@-7I)maSfEu63+z_J(uT<$itQ~rp!klp(5cwXq63Te8U2o3iuD#9;*NLi zxJ&VF>up$ZwIzoapRmick;P9fI=c9aC8Od-*4T(*Crj>E+})C6)b9RjVZ4%uDS4pU zJwPoSs^sBH9#m|-Yh3ufw061|J6d#aEn5$DajaT6rnp}$+w?YT-;luSQVohhDUC7)o)Ke6OwI_=W)agk*D&((23jDE5*w$aS3E@>s*H_DpGotxmpB@5>%WE6XEa91K4kpnPrW12K&{&=jY-ME@fv| zP#PbmaYAviXUjB~(&)&emy+I_<+!Dg*e3m+8wrU;)^XDy$*5-M+!@p#17*dv@aSm3 zWj3CwEd7ovtUs^!e2?KXyV_Rg>W=19UREpl*xCCm$5jZX4ftIyZ%RE@`G9$>@+Rzy z>Gz1NhlyCK4;$vTjGL{mG+VJ%H}XTjKD%|pKgDfqzPB6g{f-hVeHz$GKS)GbN@Ms0 zg}HO~Sr9;mFIZMau6hn;=YAFSImsE}fpLwonli{)6Wxj!*K#*Rw11}m>uWu`?FSn( z!N6~~{jd_CTUqqOfct})S1mZ|$P*=`qT`aoW=(T(1GXq(2EDVxIy%z1Z7su(= z7#iof%z&*_0nTHFD?l)_JL+!^r8k%=xY_bXcFY4>$-IylE7eN2&Cs13`t{jGPMf97 z#>`NdE*SCYm7<%Lg8L6ka$ug2bQ)JwF%q}=R97g!a^`bCWDVuV8q*jlgQqjX{!td& z>Zg_o&abS$CZ8w?oAG&C(4!vXxloW^R5Y8M$KhISpDd_d4aq$T`j?4Wqd0 z7QL>^9Ws`k=gY>}S&SjEK1xo?BIi5A@4x*=rd9ioDnrJUA^VphyUyDB{mO#3eX~|6FYjrP^k(G!q)3Z#bR~gc~3>n~%psJ4+Zg*s)SI5Qe3tx%A z`;{RB9TNPN*L_Q?E^hq-fkQ?C(fqjb!Ta; znEZKgkn}uu;9HXJ$1%Z@HPWlhrF4=qvqQD-_-5zv&V;>PyBozFAy(;frM<2wsP~J0OFXD2GE(&K1f@>HI-C zDV_Kyd=K{uJso84bq?8nzLe@rudZS3OhAb?& zoxDZQpod&L>Et|!D~P*TtUTIDB__aC4kqQ|Itm28e!Yqr+TY+eWTdKL_P3`FUgQN9yo;Os}>|3AhGaJMkWA>v}FelVE8nKLB>V~N=>7gVnpsT z{(%K=rnKIZj$k%mUM#(L88TL@pDAu;?rp_iV3dA)wZ6qv4HSBT!Cp)rZ5r>6z;_03 zO$K}~p(ATi(z}K~*CA*zicJjLwutE&zhT=HkFaR_A}WZ{ttHxFBY7HU;TRcHhKwsi z4sl4}tA66(xax)-UWS}nhMZM~JXMB#u86G5hqW{gO2n{OVgAx9{DvZzyvFUr9M({NAkdJvUDi4%}k94p_W|bi?mm$ZLA#=)*hB9Po z88W>Ld0dgWdbez%dS6q?xQK6-A?K7Kixi3NcTU@n@g6B$+BRnHl48btv|)8=JPz$y z=QhzrmheObo~`|NouEa2;zbF|#Ln|Zq1gTnWopaIkdosuWyrk_k$EaE>`MxRvig%8Y>_j{kXOo(W6O}aWyq8= zwvi(F zbIvzvDb}k^mpjIHXae7;34F5@o|tp~rEcSDU0;Sg>X5{o^Ps~1c>2)6wgH=I0GV5j z+OZJgipV3RQqJN7fo#)~DwKAqkrFmF5dr_9EC8p7U* z&M}#v9Xr1djN^R+VgEq)PtBGDitp{2jdz2Ey^7xSHN72s5VP^pZ==D7NJMBIz3*!p zh*f7lP9h)g6O;3a!CyMb|EYR!*2nw7w(PH;LWR4WU=hB71@H!jn0~H-*bg}N6U@fz z7Q%jD0D1nqV}HnOyj&sdnK@#wb8H;kiaCFzH&9HQ;nriT7QSx47P3ZZ<3O6f?dHAb3Zj z*hO%v!E4CuBDj@ld3||>X_F-td~iU$h|2D{b23(C&)ga0mmJUEK#uV#0hOj!eu2Ai z%Nb;8w&QUtOI02+g*cZx4ma=}CQCgmlNnEqV(xW3ZoWHBc5gP>2mSgL$K-yEa*l$l zFB}e6ww!p?$CeW`1-&(-x7gPP&4JmV=V4fOcRU`J67=6NB1bq5k4X4_1{y~>92(X) zUU9d+L6h$bA-yCaP3VD#lI`UVy_YC?ZR~b)XyMbti200T!m&8`OZKfpxImB7BTe(U zli1!Czp#_JjYc&~6TPlAnO$i{{y@_1FJO#CrH^LTto*$N{0$wJC%UEWkwjx1Ve#0` z*-hCIxh*{XEj;}#3ar1vJTei59+}U0AxJmUB3_Y$u+-s|x%WwfUN4wHC(%ICE5xK- zFC{@GOt5b^BML`@*`A;}j)Kabc3JPa99`IlM8*A>0^X4$r+5MI zcJoW_$s@?rVZ;{;Xf!T)&@p!wiHKGvf4;M@J_nl4<`XwsN@P90uerk9L8-aL8G4>5 zHbkGy#CJP=TJ&x;yHO;W%v(oO1RprXmZS2SJ%MjEWF2wJ$)9mJAVM)#m?_<<7qll0 ziM|t2@)?O0rikv;+p)Ae)tJ4pNmyxK_?{#2Fxn(oc4zrtL+9~F4YXj`AB5+(1N-EK_t+xI8t#RNGAQtS5-#P(~ZRJo2`lWYFq zC~9AMUG2ecI3xHp3D$35@@0_Qcc)W@cu6o?gX}jEiQ^^02vo@cq%UAFof$&{Vg+fV zK^pDe7iO=ZG^&MwKOQ+BLDh}6S|G=Bwk z`WeYLS*J6(PNjZlRV}9m68elPyr4%ex1LWXI*hfE4J3*O%{D#J7#>M)BGH?1G<(k@ zg;7r7WTK=fx$M_e`|!FH)_Vhn&3D z+2lOe8GQhQOE3eK_K}m*N*l+O#&)yg%qt{8cBfahrVEDIcz;`B9hP<3Loh5$28+m& z=}98>An!6Q?s^N0&Apux7MnpxS&};xatP&*xI_=8rZFcvL0q1LaUzKIS;?FSagZ>( z1(sviIBBfof<}>+w`3oJG|0PXZE!64GcP)6tP6sBA&p`!#e(7s$HanyiyqWv2U5Gx zJ5$_`TO2?Ji@T%4ZVs|9leHj^C6d2J64fEwe_v9%VIvw)ph^ZHz5CDfCw<`sK?8WDc~HR}lNhB-!eSB{VHu;5e8S+%d3LM<8Z;$1nc1 znuy`+<@v0Imp>6-k@E64VOS4@cB_+6ka^}ynh@-7Ebxi^u`=vG8(#2u+Ym2XZpXLNireBoW@6vluqed~z74EEQYh~QpfVnf={ImOIBE}x>smbRf;nt6yY zu^pCQ!)K19zehlrjTxKDhQD~s?ZMnaJYz#T&)k~g#s$J=w&9!<&lU(9;f4X&&Beb~ z^sg-tHk=JLDW)wDHmePpG&3#`HoEpV&-kCRyOiKoM{!MK`^m)r-@jzH*wsL*lmE{u z`8@L{+8Ep4wrKm;xdyP0Zn(kYwILo|#hHm6_&l>P&Hb5~*t$0ypW+2OXPJo|e?v>! z4A~#eMVVl=nB9W#hIc(pW}YNWY~W}AYMBiKJR5#!*n>B0mttD)*t$0?@R+`L?7JHd zOfzHe*uu}AWtqnydT-X7i&;=+y|eJR)ay^Dak2lGM$&J8cCq1oZ|KrqER*%V9QoTH zbe!kDD~b3whVK8~?@Pwt-}h>&glEx<%{6gNwkmP;;O0h#;8hkrk73-_Xjnpfb^B{e zL@+@Mi$=0CBEoBxR z`=S&g-MV#LDJruHWsaM!A@fY+%alx+GGr!0$dK}Xp7-5r?|sg>w*lYx|J1jCzq{_U z-uGGau-CNLQ72qA7$@(|y?{zPz;JCU$rI;&y{OasWN+((C*@*+Bzq`;dNtBV-3?MHScR%octb=mOoR&4mUIVgyMAnRpk1yfBg>H3j0&Jdxp|p?ax&Kw{A#T11@um)FoFF_#{vBKwh!t2G;>f&WDk_)N1b6 z0-OiCMDih0o+YI*=B|9=Q`K=d*oD#$Ao-T(fi2{GtKEiLTiW4L7Po7?YTynEWw3M& z4`@WrguJ8-M(M?5Wb+=}K;A=D^3toYlx%-Z-f5_862+{#OqNY%3(Lx?)WY&AHJ1Rz zFRylUa29^?PlJz%i-oaK-PJ$(3fuH7C}S2}v3X@d=v_5y^GbP{xq&N8-m^c;{$|Mm zt}_X^AE5MU81Co{Cf1sS!IdlbJoGO1p*L8&5+&F4O6S0Ej|(x##VVdKxFi^H7l%CO z5oN38`jyarw;&%&HEvg~*LV+yK8+mpj7v{KA4Jx+8LY-}9f5I0OIXd7;NFS_3j46X zXcVtm@&IHd3t+foGPNhfN~TadLlo}VP%x6RxJG6+fqVIS+L%)DtK)aT(Z zu|y)rRVx8sTks2jdq;?k1)>O6uY|?LFaZllaF6HGkN03b$)|DkNoeN+xch}z+mPjr zZn>Bxtlj`+CMSbd>rPQ}olHPO(Yud_XpKU?aaBrqZvd2;OG31*Nz*|ySGt5XM_BKM zSS(^MOfF&x>j$gP9Em={;iry7ALjbZRMQa49DEY@iA%2Jl}j)`s%z?mv}hQ~hoz)cquF_Y>}RlJ;kN?T=xt|L1!DYIhS#UFD{ix-t`fogT!J zT`Z~G=Qnl{dh&$xz zOQa46Q;Rdh7-qR&VJp<6s^HGF@oBKLa%F3>!feltu?i^FOKyx|XY-4^WgQ@Y+Ly1i z&hu)@1*vy0C;3`jjb z+wkshJ;^dhu-+M7VczKkCxd(^fwu?5`gXKVI!PRnb=|iI`$C_6(KbjO{6P7cS-$jk zAl)~eZ=?ia8;08|L)l>eSV?DUd#GZn zxrx5e*$nZNRb9Y?7AycLeHliX=?~LB99l>35h`06w5OvU*oW_FPsXbMDHtMb#+TK%5jQ+{b=uN)sk#&=yNVGhOTsd2pw8IP7B`dP~p{f43Vgtq#T<)oMJV9mV zcp~lR30a21Jkr-G!B`SxO;O-y&Zug;gQ{#`bRYN*(34v6}}Bz z5y*#^)sD!i%o>r0Pn)z0MQA-M0;E=Z+=R-%vLet7?l)pZfCu{4zal`^e_%y`nOyCP z0F_xQ0%s`+|`B0(DMvQ^!`HY#dH{k+5M{95^1YydohU;z$X=;%a#o+I@SJ<*G0#d%y9I)F=9FD0l zH}h1_em?0aAc;1vB=PSn@Nh)jRhW*SqkK;Fos0s)-4aqK@A?9&iRr2evt&7>*JVl{ zrgVO~bdGU2*pKAA4c%g2_YM$#VH7{VTVdKVh_BLBm1d{zNQOkbhhz9#2q@oLfvmB} zRNvUJRY1S=FyBoqq>qVSxr!0$x8EStbH+MBKeoPLn&}oZmuLXB08^B9`V4v8)qLaP0M5?`FtJfze<<&kp z_bSGKzXzy(O~sG-nL-G?b|Gs1_@An;J`zE-^VMBM&FH9lzeAxO;Hys%HGc|G)mzZ> zvwih=QS&zrReczcxf#MLFVcDh3e6sSa~OXJ5#Pao16MEjp1vub^5+TXnq_&1e-Gss zzOt$HBdx7z5Yx7YNAM@4!5;cF3&-oR_ zqnt+vp(H-?IV*${s8=PRHq&i7YXe1`vmjL0Z@&n2k+0rO)K5XE>RZ+zemx`Q zkzP>zjl~MHU2R1BOyARS;wgVPaIPuIeK-N-rM{AB(u`je9SjPbKY`OlX1>p0l!d{& ztPpXF+u)UmLyFttU!|G$5ZtsP=F^WxAF*Y2*#kilA8?};uVc3OO-8cPJX@VV$}7kX z+!uu07vze2TnAnnUS)wDl*WgAb*v0zGsu^-lr_{QF}l@I*Tg1)p*RvJ#?SOZ%Zs?0Yy}T)hR83s z%$({L%BeoNulYXp&E+paBCi_5s|xcqThS-bs{8L4io;**#6?!DijixqN~)s0JFDl` z&^7dR-GDl=;?(bQ3N+d9nqBEHL&n`%IM!wc_-;=CLXfCW2$I!zgs%#!uYY$|?FYfo z3RNRip=#uIgaTPJKh}k1bieOMP)7U2j%O??%_^y=tigQLv&kXPCWmTgI(`E^rhh}< zB4%CDwKjjG1JW8d4OwgU^EHeD689GQhx=0D2UCdJOnUKIP$#a9UyB!ZbsH1c#yJHD zrUci<(>Eg2K2*{MBQZOkzNPehobSFs|8Sgp41xW{I5#HTtkvP!dSvl$S{;rdYSpd| zQ<=Fsocsc#az2S0y|a_BPc_k2QT-8Tv&(FubP=G??_i&Dp!RPz<_!*(bcszfjljLct2RlB7`W%icR z2(O2RG9sJT3$+Nit|4{kA^`W$5R3I3OB|x)I*EYeg^+y8<0U*_xTGQaHvw>Oil>f# zDMBuZ2)Gx(y&DsH`|zUxdsE61$V->OaL))a_!6==rA&uh{JEK|<{2z|&BQ><8ba1` zFDeX?e%V_!YFk!4^~TK&T0(?7gS^@A%_z2`RXlar|!@UrM-2F zGh6r2Or>}07H7r!ByF6-ah>YNH5A9Bjbk`&NgFqN6By%^v~dc@C28Xl&x%9l+W4z+ ze&8F7lwQjiS$!JkB1oYBOh#sI_)A*qR+3X z&zsE=*0daueTg?Wvm8ji>ou9g2byxO<4EKF0YJY5`h#`pmg_a*OK$+Tb|%aFK8R~T!rBR-w577rZgs+>CSqeIpFy9@z=9_7p){GK{ct+* zp(aA8X*UTrp+_I7HtQzA0w}A$Ns!v=ZW5%<_8VC@35NT$teXU>wEaldO@gA#zDdwM zB_ktkin!b*8CfQTpiq~uvrt`IsEA91AB$CAxY$Y9fWj5lx(YX=_&&}kzK_GjmzCI0 zRGX353@^Wka{X@r_Wu`Ji>lH7T``jrRI$OM4Ds)?Msmgn5;=g@8 zaGlPro1wJD%QZfCWyo8)w66=U59*WF8I6T3@s-ATv+0hL{#`07H08YcLF)CUexXW` z@*nJAM6$QR~lYI<EQi!pN(emz9{1S5UY89zbtjQ*ARkZgiGQvU`0FbnG(Z-k&6>U9g zZDq7GKt@osi@aLuCPS++%)mVFUd0KJmrR9GI+KiSo_DX}dU@WxiWxkFjLof2Y5d^nYg!L^z>1t)Aje$7RPvmQW>BEAc zL;YCVU60Xd^5+Il%biPYC<{+XBif9@5>A-KKwtnL70^!jf_%NU6^%;CmK z+Nf?kGpb0FzuAoHLbo?*bN=rxc+O!qvfx7p#}0$*V0zjzhbub4^t7cGy*K0u%?Q|# z6RlL6-jSvCch%FyxH+<0_vn8>Qrd#d-41F&)5<^QoZ#H#Ke)>1U$dPtvuqFy)-3sd+iA9&MhPz>>)9;Y57npI z%_1uQ%4ShBxZjA)B39+~Zx)gDAJ{D7;G^2jA}X^ti|iSEC?l8PFL6}RJY*=jsozMF z)PvW>gkpr91C)vn?3iB~KUNiX#d(=h_Ki_2%KgU*6aZ{Q?&htRUQ!*CwESVgn zO8gq*X&J?9V;tb!Yt&|BH;17$#MsgNn&v5_=YIj|7EjtZ$O+vF(}U8c=~8D7CTl6P zKcwB>5!jWms0XFJ36(&z+|YC=O__I!$QU8+0L$?UQ{to_k4@d%3x|rPLZ>ISW&o)> zXF`9nZl^PaG|P>e(?z+EN_g{dNTVe9vMH2I$vMMj( z<~>Mv$dpe19Mab5QauxO;&;&W^fd#4B2IS*RlVX{s7FEAo8`mDc=rQN5N2=a=a{Xy z@Dw@ZEoi6vUhyEa6m+aZjA#8Vp7|!YbImuoTYd@tzpCKp=C;KNYvt$Wk}p*uwla60 zrGCYT{U#b#jPXp}R!`fU2m+p;BY{L+_BR`Tn^9^%I{u5GVh%2IMU8;@SM>+$Jn59sr+fo{65ogS7?FDz62QcwX=3 zs1jexVNBX!#RWGIK7%uFU3{_-?lX)--kt>ckgWl1sA)#4RD67K?O z<#F_4i+6g%{rA2;?^!R{?u*z@Mm*Mv0bmtCr{%wgWtj!a;zuzR=0F^GHwXAE`3B|= zQ+pyKyz>CWW1z2N^$hAsWVC<@S_J?EExz_xn1ja=|gn zTQT;*{SQzlN}?@mR6m|C$r!(%E?;U5W$1hoBQkF0I4#OAhywkj=wN&{6xe4(i(%JS z%`lw{jKeF&K8OkZlraupbZ)WzB_}ATjGm*1EBJHKSd|F7mDTt&t8q(Zy4&QHUbu;K z)eYaD67W0=9s}P$n1SoA>u?>7qtkxfF;cs;7aS3(y0mw<4goM#0JdJuJ2!G7~ zOZe_Lh@5@uG7;l69(?7e<-6qFx#4^dzPu|_H=E5WP};zh%{X!K=9UBD5HAmKX64z>ea5SG>;}uDLmyuY?7pglsp4+4f+-!_smS%8eMxX7rFahrh2vd@*UmYlcBWx@XtXm z(SD7r`50l_hY^W;xv~IqVZE#bcTI+OvEMZ;PIrX36(NQWi`F&86AY=^^G@ho+<;Zj*`xS|Zb_JS9f z_Y+Wd*r2sjCmgp#KgVn_XqR)MH|2)yw~9S^n^!K0TQx_xgdjP-0Kk32(=z`26}Mft z)8@(517ZCNP-bd|suX`Wp!qGLFtC#ByQ7~9$}l_@g$_tWFqxfXvx#PKy6?%ZD6+o_%F5Q4Rs#I zq0~kU6_JQP6J5SL61Q(y;x~|1QKfG-@dz)%?UIB?OUs0;&%45z@fRC*xX7g}tB$7~ zelngi?etQe^%a=BbvL`=sJkH4XY=imn5)Ij6|2a4wDz+g=54o-+dsRF{SWy(DDBHR zsZ(B_{jW~3CZvCP`M>FcT>I<-&|QCSkZaSzY7Bs%bPTchIf_{* zO0G>$^}iH1?}(6Jh$rnA;^8mDllF^lC;f|X_?NW(y6vwv^JRs!K1sgj{d4a*neK;| zU8>IMw7Rx=zBwcAX`woPEb3(9PHiyUKEZE}hO~X5tvyjHJ9l8p%%qUAU7+OV3V!Yn zBSrfZP&vLN>&?RXWvo|ziMH)3zE>~F{#ISesk(2~sr;{9G%GW=gfeVf$rH&0C(9xa`O&*VqW3DI$EO9(I|ZlMd7SA0k;91XDJSUC zc49bZf?N`nwG%^S`c8~{lNSvAl(FI7>b8RNV4ud5Zqz=Fc(?w28YVMspJu$D6PzaM zMnTqwjcfv~f5S#-{~a4P(vhrx!$xv#{Tnty`x`fGST+9KhK;1l->~V^XloRx(*vgp zQ)cSdIO?d7rbGK2gS&$9%z(h$34tCadlsk@<;~Yl!l_2}!C6cXp8lQ(;&zGtf&bm%=&1~&)R#*bbIlg9M<~BCU0!Ln!#1mT^zZ8r z(GhfFNHql_#(A-Qd1&*6G*=Rtde=qep3Ri`0?KaF5qpQI!dwSv*7`2C{l<%alL~bq zG>2)fFgfHl2Sf8?h~@VBDc%Yy2?_WmB-`TlzI>J3k`wW~I*I2|&-A?-2NZE~cEyd` zT4;@ebcv z!5qkibq@*d<00DKq-~`%R$8IG0pN~AwXqMAS+9n&E~ec5A>;?UAFE|G7C-V)$avgF z`ky$m9sZCXqGufz(At7d043e6Z2&;TJ%y(CFh$HwR$1)Mhcw(LZ|?mT7we(;`y7Bf zDT7sSlx8O@wXm-D2rb#0@M&JkpQB%74rblI?0ehLq_e0n-M})p`O={I{T^z5zlWON z@A07dt%=`I4^a=A!?V&H*224mrdh1|=CFjveKVTFiy6(~#s7G7SYlp9a~LYQ#*ABR z1|!ehawNw-HB~M-&AhCl@hn+q<9YSp)_8EVI@0`A4gAkGp4RZ=-`aSt3+3e&p$M}E zN~Ydp!Q%iW&s*D@097=eH>zzsZ)!&T<;L?08&7`CRkx$@EdJ3po+(Ydw^8h;SU--J z%T0?HB9VC}egiw)$Rb$GA3lAHpW>0c&tQ!>q|Gs1xj-Gc_GYk}LZ`33z|$tNA8LTC zUs=>gZ)6VhS;4)=g{CuE<%ai$Bk2AT^r0_-ey&gF&Ek2-!-`j}b01V!_$r1cM?7NR z<~$6k_c2rKyPOLW;A6y84*%!-@49awGsSO#*$lIqU>5MoFQGSGt#AD|U1z4T)(=L3e zYlYSlz+DmYtdOkkdVq+%VYJq8tn&Z{|0bW40RtUp644I!Y{2oMG!Qrr*-adaMkPHW-Cdx1REN%~ZL>yO` ziiqC|C&yF?2 zZS%mFa)KFpv`=(7F243>?9ska7vGfx_I~o6Nnr1vp+7?MI{W6(VjY8|-?y5)43&#d zbdai9*`y}VwcvgWp0eOY3zk~2+=6caWXPcHWHqc)&2}sjJf@TQ%nBu7H-M>T)Bx4i zS|P#-YAy3!(Iqd4GlyimF7sWJ#qnagFYbW|!ah3#M7__ASxLpaK^B}0kd|p|?WnlI zO3$?5z*Y1Z)opn%y=-bV8Z~NRo?iICP4qvfR$G!eq=&n6K&TQpcN%REG z135mkDJ&8eOR`i(j=CS`o^wP6M!hPaD z5pKkNIFv0rF=VTRl72Hrp9z7a~%p$NgIi0>$g{Z|&O0?P(B`67f!J^a~x;Sf9h6sL^4Lb;Z9 z{woHjIEy3^%igZuRC6zqGGj2?cWNKWEfSjLV$L;(=6{E&msy^Z6KTa?`s34&MxW~; z>T}u?Cenv|Zw7Z%ZjR2v8jXoJus34>lPt3{;A3|3W@^B9LoTZije6&|#UxO1pZozk zdaDwR`sH&Tsq()0D{eM+g`&}b{9|O==nT6FS6Cb*Q9l*oce_yFD8hMw&U44YxbqH> zE}~4V2Nv-XlWS;Kmo&=_O^4Eyse3&0V(|$y7m%ld5l2z*It60^%MHzx`IG|HeNTAs z(bUnLYktm|434Rhm*eG95s>6YV>kXb*cy9W5OWu@x|L7sWofu+BJIWrCk|qzS@9_7 z;t#H!n1LL#xacv%?Wqg%+f{&ZCA{gkAw~9NPEbrw<^;v`WKK{_7w0D%+v1p_1z;Dl z3g5zL;2S^o!7Ud}V$Dz$usF5jV7A`KzDw(4dOlw6}c#$NowZ=U-33+(4FF!L7$I^=PLv2On}e^DMM71TNAA&z<@k1d7ccA#l7(J|_CoBVBIH@$s%(A%7x!`?%p+-PVH zdk@9QoGrOI*X?|`*`r+@_TQ1nR;M}3PD4AdI}FCB=b`xt5?SsUklh1zHzM=`p(kE$`GbZ%MsM=a2Cx$RI1=4Li&|56=I%Efx_{GMW?buqQLoC`n0PlZGIwM+(>x3 zz>C>7U5)m#0_t_^B;5P99x6Kdm zzO@6~Zp#4gw@rZeuNUC<4Fh~YQGh!%32?_<0^Di$0C#Q`-~&VPJZRrQ-lctj5AGD; zu3Z9rNVfoY>mJ}k4-c@@FTjTl2ypko0q${ZfP0=8;9f%me0WKKdk+h6pOFFXJ1W5a z&I@q=aRELe72x8D0UmHsfCo+s@R64Xc+k}W9(+xJkD49eqi+iEF>?ZZ?A!n!cV~c) zpC8~89tiM>j|6zg69GPHL4Z$wF2F-y2yk+7fKPcX!0yrjm%JO`Q$GmsX&(pp^v?r4 z?CSsz|1Q91{21U7zXW*X?-;4t25@G?gluQU!?v^Y!?sbi!?ts_4BO7#CTtsBFKj!n zVc0gNC~PZj61I)qC2SkFd)QXiDr_6yI&7P;Z`hV7y<&@t= zzIsM~oqMUG)H#m&1+)^SjG7l!K-vNZ`hV)g{w0wLdx&Z^1%%~>gp?s8Wk_+Zzk!17 zw*})hfx8gazmd|t36(&z+$eS^ZprkJfT0p0T{v`GZq#vuyXiYK@LcklpD82uNwgEC z3}MQ2oK4-uaF8;$Qb~c+_8!_>N>m@El+am7M3wWn=+$2a;e13DrOph7{XMNjDWhiB z>mdF7S_%@|K_~VCA{FLApEA2pKv-@_!22Hp44~o886`nwufBS zi0-uSq?Dn4qIvQ0sP9qAoI&Q+FVed)gpB~5yI-RHV%iDIjSAGfiQ@4uQ%n=Jflj81 z7f(wy`ccT4Qam?tX4C8~T5lm-^gtzljK!-H7({%d3Mct)T8UCd?5|72Xd2=@haE=OFXDL7YACRVly)Ogy}CCzeaQ_i&?(f!lZ)mcuj ziBw3_p(`vBd`#BjPiTHih6>g^MM0zi1T~(fmo&kqKy?iXUlturr{<$1>_zE50x56^ z9SWW9)F?@WUB4%v%OglXb%f3tL{vF1iC$-|oWMF4Q$?wB+jlUop_M3Q)co)pNGHHZ znFpv7`%^?Jyg^j2Qb1U4NJtqnkj=o(D#?YP$k_E$>LLvRPZL;+Pzf~4jp7|CPBA_t zq>MniaOk$&sN)k>La^Xx7=6eWv@@;8(MpsuVka?W&Zbo1_ac}`0ii=x%8V81b(9j8 z8zry&k*@Ehn6TWa;8_ZOiN~OOg|IM(@Lj@YfR5S;%MGz}xi!%Kw+D-MbTO13lLw=K zLP1nJ%W|ov9WOo#+EP!c)0swBT8UCd>_^aERs)&{jFcfv8A_euR8i`jkPl-Vtwbp! z_Mg`v3$CD$C}qxB3wyU(VBSt45e6#a-NO_pe3p>Zl&K@;n-nOF{6X>O6e!$J1iw;1 z=v*cC8au$gOdK<4B3y~mOqn~$AaougQq>h(lTZrNp@EkH zbqWvMh61x4%@q_=;H-j|&hNAedZjL`wHm=ngi1vF=@K!TSX_hY>`sE(4-nb`6exTw zN?K0}wu*t<{TJr?(X?MGFiH5dz>$PXpjmEcI+QwlOFXY2fw0`DK+U-n#|kK>nKF-3 zFmW}#pqVl+QE)ln9#7cS)Nh>S5IS${j7Uw|1;+AS>GT&e2{GCcftp(sL3~ehifN|I zXLRy141E7Wo!IvwQlXj@lpA6V=m-)d$esun>u?AyWlAU|bj~88${Df;jPq$F!YH5W zD`+Q58A9jd-KkOnxz2qgQ0g2);~83su!=={pWO)Gq4W}gGg?qEuocaf6jM-cly@yC zPJUxZ)lMhQB1ydpsB?BDfl}wLW-#`pl?W?xwD)gH4{4^vbOw^3_U(ms3I&7{C6SlQ zIl_p8Pw(J_d4&!FQFAUOk5Z@hUNEkwl?c-U=I>p!6Cq$gXR^3g0=do-5-4>}LVBGK zX(d7{r2Tu^zibWE0tVK@=q7hZ2-Qy0xnpmtD0LcBMZ2>ljaIZ0VX2VzPPBJ!3v^@~ z3Tb!xQ>b>D&RhFXMX584D%zd)G{(|Olrm~g+X2#=?O;f4nnk@>S;bOjE<#F~nfuXv zm^up3DZyAoD^bcU67wAj6zr;f2w`nWR*FT!+apl56Xox)2Fq~P!_ zH0x1JfpajqJJTwt2q8FaXeCM+u|I~$l^dEE<};$jB&hwOj+73ifY8}ix~@^Q4;MIr zaE!nygmVF%g@}c8Rn85RiIsg82EMe@lX9b8(R3(v797l=UL|3lt`NRQq(U{np&(jF zw=`4c4+@qF%xy@q;_aG3Oo3AbT8S_kpglE!@IgwS7Wl#-3ML;#b1}sf zlpE!}42tt9rD~@W=Xaz9BRO$Ros-uL1WKJ{{b6iJD-pVG+Q;{!hcr`SI&Dc%yCXD= zvm)IHCrTo1@3zm;bi%w!8D^U^j66!64#&V4ODj>zNd8Wxoe29HfX<`hUJ2wncalJ< zb2ZZIJWeZ7%831C+WQ>`&8x>!NSHE|I$u&nsndqWue1`SjM!`J4EuuPp*aW!wo1gL z)M-K$rOqw%d2d>YQbx^3dq8^ei7 zqKZ;y6})nOqm?LS)NDKq(x*?SV7pzR6MGSn3O^Fno)i$48xqi_A;2UQ5~t0{6!aw{ zDe!2*c>VNQzi z9Q`3m8A4|%?c|`6l0+e1DrFQ5P0{>~3<{jB&ZqrBVQh&-=Wc{fArV#14AHA+^w-&k zDoUL*;g!>cR-%+qbM{zB4}^jB59-8z3Xuwr6V+%62+Iu#DMLoekm4|@DRV6up9`Er zxX0O)-b1Jan&px&cAJ{bTH1&IyH8Kl_+Jl zA>^((*2xH0Vaw222{&lfwErw{Kf>Py9!yArW5$u?!0zM%I<;uLh!5PIZAEiBnS~TK z68lIpo6x>1jTR!@n{Yar>Ro@pl-ZZk(U&6n^XX{!6hnHPtY>C3TNV+%0_b$O0L&9_ zpzwVP3CoQN)Lcbz>l-PiiJ|fJaMu|IR=0MCPV5bdRH!BeOO8 z2`P16q>6UuI2!NLN`!p@+80cR@jZn^n6=J;ovCqh_ki%M3lR+_(ILX{7s8ZLeATUV zaQtmF_a<2d9SG?SW*g#VFA5aCDB@!&P?$H9yx|lOIwy*~jP?rQGHU1n;1Pbci*Y?& z!dn2-nM0b|X*w%!r)Q5*dU6Hq&k?DRrgOzy>X%VUSZ-9H=1&w4xr1VwNNNiRYF$eK z&6Hu>oZ*#(hf1t=A%oD_i%3;h-$_ClOos;Mztkx__$~_K_s|?dF$K=A@X{GctDx8B z!8(CfBD}e1KSLr$6N}|AotsEddncjYOM$}4*OB%t1@8koV=trq4cea(_#xq!fYKtI z?`ZwkWRx_UhC_r!Q3z8;aov_6s4p~ef{<=|-$QTb!F2W_LG3i1v*uIPjndBmojyb= zr0LK@EZN*k)@}FG97%=>DzBvAdlZd9P=qZF4vKrv0s z|0yWDiUOKW-fl>!_7u`7d_%q3f4>;2wXi#}RuJ~P1XldQEna(5nI)pxo^~Q^g#kLM zA}eJSmp#p3yFWwoFtRCdR*C&rad;f1gpNx@l~ejGjB{xfG?20jX(d9}A?Cy80s!PBW=QceCJh_WoWC}IN3#YH$=MKLm0 z%%ACg$z>>WvloyGSuvctwDUESGV-2jOgj;Z91u0(66%J%NV5Z#6gY)1(OxOMev}eA zM-x%y+#q`Omq9q^P(`UT23|Q6X(ht0n3zqbLi+3!3T~oK?DL3J_=%_lp+gl0j3S*xDPg%$^0Tkd_4O1JmK&Om3tNmtyl^Xe_o(~?L1|4AX682Utmd%;`dP2-MFLa5IK}N`_7{J05S7hgQW042%P1$ zK-iwb5wpb;+V`NHnv@}QR7Do1vO;uO73!Adgv z3S2{YwZQy+0F^+q+$e5D@x1rpm;_WWLb`D1w%n-WYZ?EwpTp=yzM$i1J(^Y`j6i57 z5&b`<3U~XMg7YaLbg05mTxc^XB}C^Wg55tQ`EH5{%MDGZr1i@unAZ6_vN#K!Irkc$Yv9IfJVNcE_P0Q``jVL8HQ-D=)+S8wW(ZXPX1%La}w( zxgYNSo-1cr#1-ma1ny3ug{STXYz^Q(kQ1=*7K$|fRev~z-!}+r1whHKG;-i!NnIHF z`P=qB+SNz<_^2~b@E!j-@VT@XMD9ogY9Ahs#YYPg4A113%%(Ay#se@km<2$ki($C^ zVA!W7ola4wgCG|_PA02q2Fw1M3%?=|)_xXrB|ZGJF7&k8pLLm9BM5yDhCWq8pAWhC z`vgGAQW$R23~Icd{$@)bOFf#@vq*h1Ki${(y-MY|dhzu~fRfszj>x1o*1HpUn7?EW z3^yl(QD?0YKlo)qi9^PFq0DKFMC^EsmNq|9aKA?=_K|BPdgcWsNP!l}HZ_Ij?xO$2 z1uy2=@mTeXr_|H@qB8b`ri{%VO!<1?%?FRyZVosn7&Q&ld$j|rC$C_FsAr_*`rl1xP0;`2u$%E`{zV>4Y<^{ z?0dhvgH-MP#%%&+_FdCkP&r<_-N?L`iW|Pc-M#Qi8HmD1@AK(@7r z?Ijf?bY>QtJ61BZ;MZ?4Oh8q62aXa?M(flHzqWY;i~pL2b_HAxr6+t63p0N0_N5H_ zD;f618NZhMa)$oZ4E>TQBOQeIT892P`E}j2-ykj1cuB?NudtTPfuY^?e4ykg7<{6` z^u;1SQJY+5r6X1P1?*GJlUDk@c=r;l?yfz8x|#=n@@DH>p*7^f>Hy&W=(%J_!s@I8 z7h_qq07?sB;3+fqCvh!3`ki>?{iv^vGPUxZ>lvY_N8CM8ZuV&cka%A|9%elgZ@L1M znec5EMWA*6mnb*1Q*Yb_N*i%qLk&d1UZj$JU4y)2y{jIA&(KGN%Hv?TPkf;%Wvi9MOqBAt zJVax&?Ebtc*>nZm2H@3O;b-0DaEH*=d6xrgi>Vae-}b{MX{`+_o{_{?n!e5FH;?;- zitaGx!1tO1?6@VfPnHr3U(j+0OZWv*uH$|dDX-vumcOCJrQhw5&-(C$Umwc+77clX zwK>$X)2^qXuG;HqM45R#4ZrQouQ_5F{M@69ec|yWqkO}O%k|pw^WoqfbVn4-;$uKf zL}Ja?@eYc_(%(U`7+;OSJ0d5>Yw6^()I@IVX^hI#YAhzDkwi>;5F)Ou2op$n|}H`I4Y;S%h=oPnQMb zpV+2~vPf@F*d>l6wpH5Z^9Bh2KpJO43Ge4hvwk3rN?S#;eyd!RUKQbQvZq~I!lq@b zh+J9%d)klGa$K3HuQ{I;E|t}WE6R-uH$3Z>KBS?Bn>F>5SXX=1ifA{%sbAWvjh8_~4;{MO0l}d_IQI9F@vin5{5sS}`Rbvf?hc`IAJ&@n zzR+{=x;JG$=OW<*>O2g!%xqs>A?gddTG#Ksh7cb2)r&;E07CV=9@Q%#Y$d-hfEf4X zu8Gk*E8;!uwI7e?A95Hvap$~Od5dsKZvD66Zab)z$cW28CvQ>ox~3pjm{%CDeSHSw zC5+tW=3&In;?FsauQaumz`s`JCgz#FoJVY#cZJMr;ti?d^K<=chJodp;Y!oFI)5a* zctLL9z98hjK;2iErSBmgzarNC7>_;@h0G+*kUNcK#DxH!pSPDL)wH9d02FN1O@M1JBkgX+1UMG; zWv*Erd;cAHb$ePklIpxBv00#~t2ME=d>N8?m|y%qO!%=1zf2e1g|9&XD?dK+!$ z-=K)iv%W?;nz`l{d?^X}GG9&?T4&BSXQ7wUIx|Nw3Z*;QwR>0L|3R$A&3w(CK-wOH z8P7e)FjL$cnna^m*LBQz8p(|3F}zQvNU9QzW6QCdM!^SCPKh03?Eiu}P*a%`Nn{gE zbPjX|Qeqz&AMU7caCW3+re}t>mRfV{5 zj6b2*;xY)e+wvk>s_W z)=Jsai&ygj)T<|a^a7CkD-8S8q<<0pH52ya?y^kfWxA-tHvmT7yX+OUP9s<@kL1PT z?gx9O%bb=q$6j-|_MIe?=QLwT$t~EG<3VIg_;QelHn(6O3pxR~Q()MKgUR|Gv`t+> zWl4t8?hW(R;PwtF=|^sny5uW`Pg-?IK#98F<))H=R~`5K^=5R?2PT|H4+9Hkz1*I40U@Yu$WSt?mzXeX?rh9jD?r*qxc7 z%-c=he;hu$CiF&UC!6=OzF0W+bzcd&6yb-{b;zbOLV z1i#OV7^E~5O@w+D86Q=_SZw{+i;Vcu z*;(+cGJ;<)!L$T9*cMbicOm9FhoOx*=btUGzcKnU3&eZm5`OPDMp-8AogpRn%It59 zvOFVh-RW`bGQt;;)fPeSuDm)!=}k9`I?CRqNc(-#AH9HMo|MHeLyB4!6aeT;aVH?R zBMkd+*Ddywjzw79;;iM2fxL1T+aiA0PexLLj$dxvS zw6im5-tUu66uCR;njlBSm(?1@OCXmhUJKw3&0yI#*$B%TBLw%}P+*c0?-xi})5Nz$ zB)D&eXp%49FOagj3GHj4{TiZi1`+dqfs}PlXmzAUB|AQ?X^2JiAYoV7Mc>m z=FJJ3H!ndhd9xItbUBPN^KFRBPBJ=87{6I+d^r3nGe;hpKDCWrQsP2XayAUNRfe*` z{;`tI)b>zCT2)OkLdngnu)-%B=1ITMZV38?Gh?Oe=oilP*7>5BAj^8y#!(5v&@|Yz(NYH*}1$nsXk0`Ro{)E!g{BVNWQdM541s6-*M0Q9%>M!a zt|D8}>AJrJz>3v~JEODsEdW9|yt+>TJQ_a+AT9hY0H(-xG{Z1C%ujs#C#uB8XNmMQ z|AssffB(YQ5y$~un!6bj6LZcmyXZ6xNEWW5w;Il`aorS*U^;#_CNQS>POuUM@%z^C zQY?ti>mOQ(0-Fbn{e>ymxfB=-!wcg(Hw)XhkMjVs`zg-@c~2w!PZa9r;!lvf3q#5R zD5C|sMEVBgWoAx>*4ur*pDr)R(AnMhtEub|s@eQh!S22fhTLtGp|rd2EvSrSD!t{f zEdsfF3i8fAT#8FH&=j!@q*NyWr2YCWS9DMuqRja9TlXpa%Cvpjg?xJva&hn`z*KXc zM~i+b!V0Us7r?#y^1u(-Cp%7;td>Atx(tSUMu>rVm%o!X9dhyTX0n=Ru#PFV!jjD3&^dMZ-_v{%tQ}%pL*UY|+@}xaCpBSc6o|iA-mso%G6RYrV-g3d!o@CaKsKURO%a&!e zdKA8){Y6h`WXUz-6RQpUN-VT~eh+*KvTB5M;O;4*9RcQ1;!MqhvmuwRqKt&J+A3qy zQJY(B4Zl@)Mn;+9+)=2n6XJKEbRIXRKV*^V=qx*!euU8Q4T>|rdJ3=n6P$(H3r=(+ zE%z#9tG?13e+^A{U(=MD3UdYd$NN&@2j4aS3qIp#!l3@_9Pd4}3Lsb>?FxeKf<({7 zA*m$E=Pr7b;WTHriaQ*Gc>{>_1VC3OqBCc}KzGGyQ6ZD=B2<+m%Wb(&fu z!5-k#h?ObcAGyniKBaeZE(_8=cK}2$*38|+%QX_ZHiiA1DIPRBC-Nck$2KZvbBM&# zpQd;mNc=7NYDlbOrub%%8f20x%v0!X&7;t1F>)ZQW9SC*^F3&M4aj)kXOz@Wi$P!U zJbE5}6)?kd|4kLWTD)@aW;DHrZ47ehRT;W~g#hkrA(m9_olFTs$5UZGJPjRzi@-Ft zX93~r?m`}i{)5ph_fIc%pnWUfvDQOHyeE2p?^X&=h ztzN>!~O}R@2V$heiWAGM4Etaeac9xk~)HP zU0(CHHF>Zy+$e1^mlxmr{GnE zsn{7o?T!F60tW#}b8GO3k#p+KM?yQQ2(-RF?Pws}M7$M!7_==^r}?ULM73las#e#B z>Ox;N8%R8lzgtrx;WQV|Q`jyvclxx4#RnsvKi?dx=Y7>T)`uM`ql}*T=3!i1E`fHW zleNB+#^Y>?O!TX|o|6Vfoa6dKIC;wa*zgS$Lnmft%^y4BgiJP+_*R%DZ9yCaFEzVP z0>XzOl8VdPKy{X{y4Z%B>wW&bVvh+CiGxhU+F!#Ig+;JvUZDx>Pc6*YF=&if3Y@ar1CB7xou@{=9lZ_BdK zcPp)=KErSMg2)S@*%6+vb(S0Yia4)r3zx0h!#$sVH2O%~M#mq>y#~V_{twdfK(6lx z$lgq!HE5%zcwcB*N66VmUW!QU_c>#a@XX^B_i>G{^*WMj4nJP4qKZB<@QZ2*$@p_Aa# z;89b;4ns801L*Mb4Ih2zqpyARGf3L~sGc@_9d^-v z2#~zni}Vh6s`dpN>7@XgHy``xJ0JZHl(ab?tFeW6$ShCViD!CNC*Lk+Y*7NWmHP?o z$puyz`iL7j)eOJv6V_ zPf6t8v|u?v>9;U6^{av0OJUfD$3M_XiKFR|3%HpqH-lvla07zd>{UTnPcvid8*ofIOO8({+|NTb->s(VM?5l?@|b+18tcCmHWR=EMiR%Wv5lQs{nPT{I3 z#n4ZE)~eVvR8hBQ;yvv?ke8XxA+2Q17-@ICMVwtxd)L_Tii(lPEDZR}#7TDKaTySP zOj5?R$F_#*Mql+1kc@-;!QyRubKrHsju^X$B3>i60xm6n2nvMoaUq92aNO!b42t;Z z_-DJxcBH+wCNORgq@E(43QaD5l>siPp>z4qyS7)&7i+~v>tUJgW6Jjy( z_C>%P$K$>q(#wG1L=B7iCBCd7L0)~q>#n2*hhTx-6?@Pf&W6u{HYt@mX`*bnpQyF@E3?+6uGPL2y3PcYX_1&h7=1v5ao%#8jq^%7h0fbq z;;ixCId(!O%L4OrM~ASGE6tD9`6Gei#*DyyLCAeU zuDGu-quL|tMVHw8*bNA`lp~x9(~hay-&X~x^6zliuL}~P0o4cvR3rCPC?X5Y^2yyn zDD}Mv%4$SVKqF=yW+I)L0rfw*rw80QwNb(jA#Z^=4Eb)J^t}iQY@gU%mTaYI(v?}s zyy2tKnH-AFR=4UEb`YS@>)r~4%=C`(_ce*ed0gkjjWBd zZ=7w#oef{?QxhPsuTIb_C{OlcV+~2!3rN>}5`az-&hSwwkXr%6KHJcx_cc3PxjQXW z>3z-4-l2+F!bX10{-ozSl2F2qLn8XF1)o{462R@l2H-v6uh|DeF7Ac^xUDi+c2L6B zBCLbS+BU>uX4*jsn;ReZj1b{s2=e;HOW0b(i-{Io22gq(jH%{z^elYpe{sklU>C{^Y8zRt_w{;Dt38t1^+wG-Dl|6da3k*lU3)qk@{$QKN~e;M z#$%4>J-C6qhcb9@n~ZrGlh;f0gKrHPo9if~mf zuSvXwodcerKj3zhDgN%toJbq9;+gQKCa)=s6Dr=2fcpXvif7LjlG~ z%^l~XkwDpT^4@$K5~uJzF4FWf?s1_k^BxzGHLD3t@&YeOHnMDV64~nj+@8IIBuQp1 z(_XMYbrgBAe-{;)cj+!lE4O7aH0jn z07}n;;eO+#gC5MH<5t?uZf&WJ07`a)k^BP&pZKY|7~2dLRs7!zAbG#ldM~0+VHfR6 zx_z&wW{5pHxe|8KuJsh|XT5?flk(UzUb0GL86&Fea#;I=+CD2M?O1N!EjeuJNqgQc zZ?@)!oO5#*hS~(f%eyIO?6eG7(NWPza@g0}c;KDH^D@{4%(9>YAi2tO>pZ4;Qr~Ku zTCgX8R^9`E+=@_s^C~098#Fv(>(4?9Ua;Uz0QKP`AUv*38!eJob3$oM+WL^^Nvp00 zC4L=9+B)!GQT9?Qe%ZShdezEL>g}3TcJfjl*8#W#yjtY5yleJ{*lKnSxh5U=$x4l=7{d<6W#Z)K0btd$VI8wWqT zDWrLaiLPO6JEO6hi=fkB=w04$MyA4y?gZ7XzADJP=4J@;Rg!_#1YuX2#5v4_5nLL= z(~m}R)Axq7pzA7k}17ZcJDR!X5vIvcYcS63H z;@{wGdd_OZE*PNDgYbZaVP)EbE_-GUJ$AQV5e!h|S~qWivIpeSw%Y-?51`w$4_S7A zvc&eV%Y@**&bI44+v2|+ps)$M4`nL70ScQwI@GU1>hJ)C%^cGewnh5r4NTa`C4Pkf z+A}xv(Oy7lapC7ec1oTV7g46iB|I=;$~SIG?p}}Z?bDRby-2g|OQauQ1j|A!Zi?o4 z1C)uDbvaqbWU%Z2g?*9uHIl3@Ar?CiJ3wJ)#wWQ2S|1-fFk#0a&RbfrzXgW?l=g+; zJ`?h_EggFUlP@6`$EyHJqNHwx3TYpHabpK4?I0KG!2s?eQ0*fuZ=mukzYiK z_kO<1vK|F+M`y6mfruCEf&^S?32vWIXN8W~H6Bc84qG8ysw=n3tJr{Ei}74Bp~OMv8Dk7h?aFT*ZLe#e5(0FqaD ziF0n&ff2hQq0I%DYKD92=o%5SBTHMj=S(E_W`5dwy~y5niysXTB1dfw z&?0H|MnIAiK{fQGRae83s;l6E@NxsIU}J{vjghObg2GyF6%^Kbs~}m`SHYyMXn7b` zt*`32cY7rRFXf|)Ja53omxYwoLYCFL`in&*Da#vheF3?!egG)_Ls|YH0I%bh=in96 zW{!QS$ue+-x%gg4yJt!pQhI!*bcg#O9py{qj^avl`WujTVsvW0+r>Xy_-=5_@LgHG zs4$1p)BAnrUIZSZ^hIAPp5o?bN|&ce<^3IdL9e$8P2CZ&DcKNzMVE&si)-lc-zWk;gyDFdd4F zj_Bp8EBC3)a6B!`1{pKK`Z!a4oCLdgeT4<`f?ZpssOOiTG4D8#RITuvL2}EhJeuX< zJJzsn8;Na1#mhRS5<7Zhj#Gs%YLgmswAPqEe^HzKWQcd1srrlB$g+dBw2Ru@9--^p zm{oSrHbCXBy-*D*`K`Iw2^!;#yjX1{8jLiFu@w|UoL0Qb>6x>cZmMRz-=$;+==NwWqfpA&Z{#=#~0+c$3RjYFUZdY&2u*JB{&=Wf9!n;d=y3Y|Mb*!XA+Wd z6M`J!5(1h40^%B7KvW#SMP((f`r{6aGZ2K~CIJE}Do7N(6}-hI2)ei`y573+Tu;2O z74HiX74QG|TU9;XbA^DI-~RSL{eek!y;rZQUcGwt>ebQiWctd@o|oJHhVcsjF{w*P z_y+tpMqh|T-N`o3^cz!aybf||9NLL0+mGa7q1v1IJ>o;#;()#(%6@&HK=<}fru1#M z!U+dGaINA3uq=S3as5QQcm7lqK;p}Jik$Vi5sunI#%-bTZI;Pk7XzDMfLrJdo2BA*`DvQlxV5% zv6SFF-eXCur0NmcD52l(`5sHzZ~rgdV@W}E?y-dD?wJe^_LCWJ{|#N&UKdkc_l^^F z7wqsi^X_&|_?uk4@3F)485g&;!_Q^hG7?>MgK-D`7+ts6=KdT|LF|~L&}k2k#vX%^ zCouN_dR+@J(K1esf~F!QHHGc#3C!0YF90^%t@tTabJd zD(S%#$n>0e@JhpTV)kF)#fq=ggP8p5oH{&c=C!vg_@H?^;-v+GPqZH}O1s87tn{}; zWl@kWE09gECZ{Nclr%5*@g1kAcUdplEXDDiXzmC{b4QrDBbRA=&P6dJ&&7;9R}Oiu z9P(T_|LD2g|B zKJvu<&Zcv}v-#ZbY{DsIA)gK>_*o$5{X{z(a*jtIZ+t6NiU?|ag zLlF7+^uZVQlW-Y+f)4}CC-)cSa%5)>`w963n*{iD8f%8XM>zDPj$kCu19^uU;nxti z#HfjbG`b^v4^x~U7mrJZ!dDS6f~#Em$--Y;Fcc0UF4R2^fXju#hZ2w(4>;8yZXJya z+P5U3Op;5y9Vuwvj^w@-X;t)AB-d?7LHjnOl(!)1LQ2{Rw;&Oi@)jfsOmYj-k!tl& zGJ#etxj6!Hp-yoCT)YrIgn;EP02>WAK7>~j;9jnjfHRFSmn!WQN|^_2kVRSw_&xyt zJLt(SHJz;4C3fICJ8-K^5*@sy+KwOmFwEvxKw#?2FYi*Dx$AMvW-{nI>b}iAajdvk?ccYLPysI6Iqn2O!Wn^k zlWit<&LKRQl#2Tt0;RCc0}4$Yg@_*4d{o8$HyzjP$VT4daZTr}7CKCLGi3dX`|J)Q z-Nwp}nax>iv-@E&58~VyPm)=y1S$Nyr-47njjxQBWRqi=Y`yU)XI!3948h*}FunlY5t-Q(NV6Y9_-`T_8@A?~cR!R3&Yx9o|9P;T`Mfc8-XgrYI!%w5hZ0 zo?RcGb`^A;divpyQ{r)%^lisDBC~-Y5Kr_3ANO9n8r^;{xxO`CQLc~cjreu?!eki} z{9$g7w)9!(LtLpn+LZL))1#f}!kUz+-0u|hAH}^Mj8c^kMLUDNCk7{E7XF}xE#qgg z5g1bNumaDpXDFc?jO9L#f6?T%1O?_d;S6-j&yez0qM!?S5u$xU=J0GJ+ZBZsJRChC zGa8VA;0X@PxPnJEMdCo8M%>^N@FQ(6q)^?r>l)pCeN8g%!yelO_(jEfk5a_Y%2ZmNSpl;!SMukjRV?KpFbd8k~oG~ zTS_^}Qx8?0ucex(J%V_N^)HPObL%F(VfJSQS3=mssjuE7sy!hZLDbauZ%S0XAnqk< z!X=z{x$4Ay9`;AdDCOaQu|DN4jON79OQz=#V;z1}dv73a{0C!v*DHr+@|6b3jRfsF z{add8sfRLXpRqU(@!?DGQ+XXRLJ4^KjKv=D^cjmdJgm~YD$1kl8KqX3oj7zLI+Xpi zLLmQt)GX{U#D{jfQW5BDrmCDn;Gx4ES&+ciN*0D7Ue^9J1VTM7arzpuMvPMQdm~ISWOB1_To4aT@>(VC%zZ^ynN0!MtouWl`?ifWn5bedyH{>l)_#5P~zgl zQlNR9#e}PXY>a*jk!msF^Hs1jj1S(c6Wg(m<6ScF1v~II0!m&#MJSZvBIowgH$%Kk z*p>*PLKm9MRr~4tGTyO#I-x*{`1d5f`Vr!)$B#d@pZ*HOE3}&s3eAc~(|-E1Wqjz( zc(C@{bR!boQ-D-&`eS1_(#M-l3l31zKk_0BIrJ&89--R!-Q>Wq! zfhqYSfiAw>Wf%#{nmBH*04G6JOPo|Zk-$Wrcy2Yo4G{Nyp9P_$kSVP^7$HyK2JDP{ zAS$<~0nHd)28b(-$Lc~N7a21-*orZa+RWcdtA3p(i(;b^f}WL zfLOfJ%oP2q&^Nz;S6{dyH`wx8$IB!I8X!%GSF;!YU zpmODfn9ThW#mIb~-MB>uPN1JW(d#kt5uwU;#e*{2ZYLqOI5xJ%Se9|*35Y*78h-{t zGOM1e%z;QLr*J*b&L~H`C$JvI0EvgAzz+~o`7QHRxA*GsS-xKjpt%A^B4&ee&efoo^#ZI* z$t>hIikY5xHL9*Fd@!K03cd~*C)#VF2uqZ}+^Y=Cg+K0uoRg7=KWF0aVY>;oSPro* zmL#^x=zt>`N$IEpJ>M8ldcX zLM!5-a}<;^cm|VQE73N((AJZPK4(fvlxPnj5c-!3s|&GiP{b&U66*tEt#(-v+*6O8 z;u5$P@u7-%puXZ|Ie~8LL>hYfN_lCWfKq4{1w=m;`0Kq<6@Y>kJ`X>uj6Z0Ul(kPe&-!MWc{VU;OWRj+!M={zJJgAdRb@@2ZWV>@uORT@0X?qNm>Q$*zVc z^mkX{Lc-6>Q29O$K;^6WS#+ffg>~$C7Aig;O=~}FL!=8|i@5Mc{Dk_%K`|K*k0W#{ zp`W@4GA#~qhFcI?;3RWIsXZ`^(e1XGo`gkU^z>};v4Dm~hf??9^l3;;f<7El_1ENE(1Y%)<50t0*N5qGUUHym& z18*weNEN@txY9+LW}oqL=%lzP9-wy9AzI)-h(#O&k4J>J;~p4@R(5#BDf_t%0povU3Kqa^1@w^lHh$Ig zEKiV|$xQDwVISFKjwtlmL!D#9YzRns58Xowhjz&xFx^!cEUWN5sxUu}b&fM&0J8rZ z@YG|RD|?TNoma=PGft|}e8b-W4-a|GZoavcB;3ROF=CI4kG+zyW1_J%L4fi~I~0DLsIi6<86*^KF`U5Qd$2nQ z@v%>2uogjkG_jYW)ExInjY@Pm#%T8nH75)*ZW^j~U4Sgbm3{G?g>5cKy8I(9>*HAfS{|`BlafXZK95w9| z8I%;s&qb`K-CX1;HJZJCrJBv{IrF=qah@}`4~WfU6N&Qyxka(B>|DLyK?+EXswF6-YSVU$NgQ>Pb#y#7g{W{(eZ{^nkJQT^hz>vg{2i ze7X#WY>{FfO_;6Tq#{Mj&2q^tEj)_lZZ9N<2Kz)teFQII4Q206WVl_KQeyOpj5=JI zaxFHsD^r5?iHz;Gw=%(}Ni5r^d7q7y+PNvwQ!KZ{9GH-t--|OE#NUU7V)xp#Tu}e7 zIHTeAJ7!T1!%7R&?-*Vm?|dYN+sPK56YqhP7%op+cx1}e5u&;sZs8+9>xCL=^;4$ z-?kl~Jp_+(s(wN=R=N~`i}|uKIU4Ist`nBcPw5D%YTldan)hZ}D*%A)kXsE(w?!#Q zSAg1*^ZMn0yaY(E4*19fAH9X=GsG#1yfD0d#*&i-lG2mkD7Dz z1571;Tqd@|5-T8(+}>93&{~ih26UBh4nhM-Cx6IWfFuUrq_ZJ#H(U{_C@0>4^cS-z zb_sO(YobLM?^oGAiELqrU5W(vMl*apiWbMzz>}BITQO}7&~46M7xf}!TGs*qa%0(Y zjkeq6mz=FJ4lR=4E&QQniWhO?cI*VN=VgVN>f|02FRhyS8oU0{T8m*^$V+ zjExZ1ILePWQrXlcl})V(05)YQp@A>33cSJS`JM0>rSIF!EJsM8wajJ`k3{or-j$3t`@k+%yDSzc5`u{?`&>iiEJ*{VEmQ1cIk&s6DV#T}kMfcA$c2_Nry7)k;su z&W4p_ReQF|3faW%IApTOrWB29iHSz+RI_K7EGh_9i^43nNQ}vZnW_gkF;}fKF6EtP zp__CqnW^Odfr=MYsh;2;phNh8rmQ;EnGF2d4ve(}Ap}BSxu|hjJikP(?^C17blr({ zuM3N%^F5(PW-4n>XdzJShanqERVZn!lL*0gG@iZpqdkUqndo^0Vpfs z+7og+3TY4a?4_V|mjk?sn^N>c6S-#}1%4dyl2I=qQ28#gVsM$b=OGSmI0YUzhV<;4 z6wecy>ni!7MC`8+spmuEUBE5?=AWiyhXVvYHxLgkm8IqIA_FH&tXA<@DHJ-;u%g9O^M-%W;mHx zvH??yC4ni$QUYBQ71;<0n*xZnXR(x6uIWjPSV~~R%)|r3V=8Rf8l$nX@H$vkrC-2? zoqvULGR7OjRRjz~Sv>hND2KNErp66O=?TzK3^2ICc!s9mtt7=2FFvFAbE14xR2_4$ zL&k`xLE9l?1}*DN#?FgDAzAA91ZR-WoqWR(&wr48;o{W zBK^cKZR@EVA#76y8}Q*vR&q5W;);0{t6X;_CCVnFG)dtksJ@ldbS_9mXHS)s=^c;l z&uB(tbmpVH01qP~wdvVc>+uY1A z^wMZ^s?*)O6|>eD!_Cj?boa&>Zj6gJ++-ZrTB4>IsE7Apmi?}#QgAT(B%k~q-Y~m* zcszb&b4*2`axQ*C_n7tj+D8;1bPBNShw3N4nGt3m zjx&?!6v;nGi6u>{RA!PSad18Hit341oD?s1V55I8zn3>G$27MYBqcDF8AM>p@kRpo zINlIz&*P26N;Td{VB&Za`o+~YT${<)3vj)mbwYoS1KREX72-pYc%W|nTXcN99xM0; z-$wTSyAC~e#_1SrQt7dQDfHN2)o}mmdTeN%9y>OL9y@lQ^w`k<6g_raT93)=|MG_= z)h992LaE1w*As6lhm}nM(3x(= znrZJEQimm&Y40ij$bY(-_OTJ`Hv7m(&|%U{`^boKo7K}y``Ad~Hfu;7_KA^pnMs$~ zXG$dFOr^xB=I8aq`=XwBUna#%GS%E+{MWk7q=~juF`_G6W^(G5;5&1hXzydrDX|iq zXl@hjY8%V;rqviTGj@-}ey(wTORr{dM~K?ZFe~Fn?5D#TNQg(kmPRpn1Prl9@}$}2 z(OA8^Y&v5%MPr?FX5Y&1hhYtBT~;UVOM4*(N9A~(+<&6N*JtV6KVa@grd>XnJ9j;8 zT#c2P{AfHEF9u?W@#L?%4d>2WyPhs3;@~8RD~O1iWD;RQ3<6?%k}vb3vATYJS(;VR z*xlSvz6Dg&(@W0fZwGi6wv;+%E>HhWv5~xgl_vm$bHM>Vc$ZB_4zDss>Dc2Rl96l} zHSrE16tkCrj@6#C)x=xvCBTQ$bZYMgMU#A6Wjtond_~eE>lMv65enX*p*`2DWoEXX z#Jii&3vB3j>i85}JZK-h>iNEk-E2umFIQMEi}bcr!74to53G8>9D*VlF1vY1_& zcC#aiOQMo!L-$D{V~!efsl(1A^-)7IE9Fr`2~2g=kd?w`YGf6oM-AO)9eEAA;#hIQROi0`%L859MNLg4WqxkM~ZFk9nFHK|_3 zxLlqqQsFVVJ#i3Og~#Xe^p*;bl{iq@({uZO2;yf)Gj(VVHF-Y^Dl-mR&{!YEcpRaD zEJVA0L~sQ?fhMvZ-{Fvx@oF@|PYB6kcC@@qVTaFyOTZK8DwDL}dFkxNcGdO4rfnqD zDH`h#5?&@&goGsO@=1iHsvd)6&t%Np;I`*aw_LYs;vR0Jv+Ljz-dVb+GRJ+~Z=!6@ z`*Rteqs2paurc*R*Q$LVFeM>mp|18re|?8PsIP&tRYRY;Qc7UH0#X`6&&C0LpQ(*{ zlp;RCXEbTtG%UNpdw7?DFA)e{t)aMWSVrD%L;r!mDq}NzyL{U9m(VwC@9#$l1n23r z;-tnBN@I7SI>9JrXu8U1p+B3*=cS-ivSzz~TM zG$02OQ5T;=7PQYli;()PEYCd$?Q_qiY?Au&D`+>Ja5b6apQl$P&Q{6i@u*ca5AVk4Cz>f1XD@f`qURp=agf5P zVf!ItvK4z4A$o~1)CD}1z~z#6r%2#=F5uw~@Jb1^?}s62icofyOqpR>6jL}n4l4qgqr==t>8IVu~nRQGRTs#;rGkFrErsioLR3Z>7`+o+K7Vkva zAMOAXWxu}zOq6}z9hFM<+425=m;Kfbf1xoEJZl;}`jxg@g^7{=)9 z0p^pa*x1(gQ%(%kcM@BEEP+a~CANI2159lB0S+*+<V-W1i5BU z%-k4#HByut%aFnulcQ;x89R{%$xrCk%sB2zrHX7~QLb)1JFs`Pw zlmn_H)Dgq4r8ou718C@U%s!VH7c+PruK3DGQLQ)C?PkL9yg*}plBY=;{ zVt)v%)y80y$Ei8yIpOBHpaza=Dp|&7Zu{E3Amjac?IoM za-MFZD>VDQgKle8*7doApU%X+zgmGB;T*Q{NgeGrj?)Ng)SnCR2gV3UoUIHgh>5-U zBUND8i$g<^$bMx1(TixzE4Bkks9rjYcA)Ujv7N_Fjw~(w!U!u;2_03huF0P2683IL zWsDxu$@1J~oR=V6IDzxgOF$UNGG{&aCc>_ui_FP@8>7z$nQx8RaV&`{$qz$-Br<5X zn?de!bIMovgMumzbM5D3i+W^ze^Su(h?mOcZ$yYuL|MQt{KcS_in0+eCy|0%+Wi-v zb?<{;8EgsA8*d=;voM9u-^6 zlv|Rdyho-4bt`-0C%}0n2~KBuoe-!TOZNQ`#c)g;zZ?o={@qj<*u})|exS`62iuea z1dOLK0vLf9jDaYwr`sFfJOt}(lVPCrS{ZyoW#G~P?YsbuUWvrH-pkR?ol%Nv(J_ra zl1jkck$I%Ku!$P=V>@!Jpcgjt@^cx9Hb^s-R;h>tE2_DID*d||5@bKJziTLEFmCWG zJV0g_?PrB;<+~J!!VcaE=(ZsN-rJ8PcYw-_^5+TWYiMCR6-()p%Aywnl_mJme%5Gc z6ai!LlW4?UtS&f#Cojc~zRzN@s^*)+3G7jF&`qxVA>`s zEg2hDA0bG%3_eStsOELET#81PP1@b?64FSeW5b8l75wg*O9$01^_#iKqPiDLVrDKf zHw~@d%*9@iARDD&QJ_kb&^XfBzc-EZrK@qIfuJcfxLguj45aFT}Nq^XQtZbR1)`mEM*xZhJk-^aTQe5C-+ z*2B)o!O?F;Ql~}Nv7GkUM(Kl+w7O(vV&;>OvOj9h7WP&g z<1i)>MS4kGz&Mkszp?37obRRiro z6I^&bo{SmEs|!c+dDYS&A<4DSnkj*@YCd{X;)-@1TmkO|)&?m5h6OZx@HJ z-kmEP)qBE~jq~Kyi_tzL7RFuKxH#_pEZ4P-6)CQ5T&Nc88~obFN`K6rTq>aWqwF&7 zKuA+4;o8PZRqEe(ZR27^rOw+L_tzzjOI2R=nc;AmWbZu*F_S83a-CEEEQ!AlS-Njf zlq1>sD$C?IC=$coImgepB;KGXFbUZSsP3(Eb=;sRQC-{S5^qqH7>Qfv5QefYW;@f5mk!S{Z*Bf!4VNqtlKY{;d9KMSv zvo%J42Be?jksK3bvqWlssD&@%o>)iU+9hHy8{Z}Sn(9rb#`T`l*^p|n>etH@0 zHTuiA3B6`-=Y@_g=!bec{eN60?--BiQ&P6|mvLpEa?i%e|Gm2M+4jaGoktFAzyFtU z6MByRGVXs;&vAbl*YBOY69RkLVYa{R^Uol*8;pWjJ_S< z7E*(3G~L&XJ_hcDc9KQHv8O_=Pos;FP8!@+LwFWAx3~v!F8Ggc$a0^jCUE>ia;Xc8ts{J zIWGSASD{No3?*s&pwBsXwE-Z;ZrV!bfGZJq=+sc9bN_cWcoE zYER#HTet&Q9ge_e_YYu{@lorw$-X`+G1eQM$p%mOGbB8P37f=zM&9X2V+BE~BgKVT zfEwfHj5VaP)=foa?+|HYIYd-g^}kocK50vPtjBqwexHmD}Ut}dl>=#*s%QXSfO(i5dWoGN`z!n6Qef2;z^b|s& zK9*{8=Fd`yU)5&!;fR+cN)ZUXY{p{Y@-hkh3h^@VvqXq-p;AVKsR|V5n|2SW(tT+u zw774%b^rxc=+{_O_e@$6&r+%Cm`O{t)E_{Q;6{o{!c3Y#`_9|cGiiyH;;P%kYwWXC zUVEB^Axv{Si&^<#R2XcVHWk!#qvAsYA`KxZnFG0u{ z0*D$=CnF?>_l(7&BXYIFtgfQ7$r$w!lJx3^TJjmgp9Q|VEPhCVe@_QMCPTOrkv18N z5>qIQJQsGJ!dAr^#bUi4Q!Mawa{%M}SJBv?5b^|iOLm`m96;H}*!7rTGsWs)97}6v zlkw~aAgQv=bY+`qi4R$~N04J6^u5iO%Mmh8i_)t=Xdr8vf74M;kgcT>Jz~6Y@NT5I zAezEy)EPt@Bon{H4A6*M#7k_%d!yJ+BlZ&~v9&iDH%O*Q4kE28`1!7apD+1k#}m&E z&m-427(Q~V!?B4h>0x{^R8zEi7{?I%Y=iB&$#^EFrAD#PC(4$NzmeBzFlQMfVAa9_AYhmN}jmaxCg1%qW(kKbhs7!XG{v zfAk#)vrqNgfj)Mh(1YxT`pF{BKy`xfDaHr;qf_y*W2qSAa4-S^rB6_*$<0pe}$K#2Hia88kP9v7nm33b4crc z7?k!ZEI0)I1)c>?L};0D+7B4_xM6B2H}(#tzb0@lTr$gy+c}D*pEL*397uB@&4Dxr z(i}*0AkBd^2hto!b0E!uGzZcgNOK^~fiwrw97uB@&4Dxr(i}*0AkBd^2hto!b0E!u zGzZcgNOK^~fiwrw97uB@&4Dxr(i}*0AkBd^2hto!b0E!uGzZcgNOK^~fiwrw97uB@ z&4Dxr(i}*0AkBd^2hto!b0E!uGzZcgNOK^~fiwrw97uB@&4Dxr(i}*0AkBd^2hto! zb0E!uGzZcgNOK^~fiwrw97uB@&4Dxr(i}*0AkBd^2hto!b0E!uGzZcgNOK^~fiwrw z97uB@&4Dxr(i}*0AkBd^2hto!b0E!uGzZcgNOK^~fiwrw97uB@&4Dxr(i}*0AkBd^ z2hto!b0E!uGzZcgNOK^~fiwrw97uB@&4Dxr(i}*0AkBd^2hto!b0E!u|AQPDG;QLH z^5DdR?*04r>wD;-hZKw-H*?a&g7RqvGY;wBum2&vC-f;Sm=GQ}ZF0fvNi${!0XVFv zSJ8li?o%R>=`;UOTs%%uD4JYeJ~=#TX8Eic6DAc+D4$v!DK8ICm@+OntvDQ>J@w$} zGs@4HG$B%O*nkNG`t|EO;IMuJ4jpi4-|>CM9nz=Yq(jH`>)n6+VTVl|aL9muhaEPd ze_3Hc_h?y$4?lT?%6I1MX@y{O3(aa{{)rxAZWH5x>;!{y2YQ+Sf1ys} z*MAvT?FuuubrN-kKg5--e ztsTsIkF>n6B_lNeNozHoi%AD^Df5BIbw|!i%@vT@RbFoeUv&`%=lTKikWW6%nA4dS zWmxL-4uKFVC^L&-!D^)7qPiV9V0IAdLN{^K|}h9w_f8toQQX) zjmJEm)p+iHvR%iq3VevSTgT}?GA>&S{z(!`;T7n(16^@_b)0SrnRcj-bLVkdlDO$f z;+E++{YTQfOuxA6QIjO?13J!KmKT%6eUv2brzCMrbcT&sU$CDt&_&1noLuIHDmPE<05j;`-s&N#$PA+NEiY zNlq(Xe+^1nA7D|A25JSL!}@?<)F-2KT)vK5s?>?>Pt!GQ9R)9$K8fv5XZup{vKNxy zYtv#rO6NJe94*!Hak&LEZKlfncjz>YllSMix_iG$mOYT9jFzBn_}F!)9v-RVZXh6) z9$t~ChsnzoI_(*{6AeY&H99Vz`hCy*@}y{XS@+L0tq(vd39b0L*QTobKqMcKNg^K4 zX8xqA=bv&149*>RTy8J#F|jrFc*Y{xLQTV}Ut2trtUO2O4jhs!o^8bTct_`P6~ZaY zxh%GH92eOhZL^rj<7ub?X%75k_F>WsYgjg6 zco?@hN!*&axGun3uj5{2!q{=*xfuPg@!As)56iS&#}zU{mU#k;B>Cf!iq7NN7Sjf{ z-JmU)TEoR4TD)rPEYWHE>9k9|m68?SUAg`O;GCx6J)&^Y-msYkxU9d%8B82Jz3_jH zj$6lwdiLvDou+S0J)$;Q{5ah_={P+ocjQoH*+Mta&&g@U^%L=W3R(k6YwUicRikNr zQ@?V(P*=Hj@5gctkqXe``K{&Z4t`Z@T5_HdBj=(!W?WJOQvS%>do`|{S4aqK>jGDs z$BxSBWb*-@n~-=`m>|-cWBt4C~QHr ztl5nj>G4p!_^|v1I?g9!RKM@5<347bEWh^^*{$))G@~?JXC>pN=s21je2BL&E^Y|o zs&(8WL`rPaxW4DTHJR=w?N>A%$pgH%#sANATsMSOx&KEN`xtP5X|nl)N9uO`9f1D@ zI_@F@lrB;-7CT>A96Mi8^*c?c&0|_TY@6vij_nyO1A>fRpK&N*`ecpMK}q66yy7lCKBY{;838 zkurq8ze1P$2z9rC@Rm7I*LAgJwk(v#voWDhx%x!h{J%Vfye&qVD8pkl&A+9t zGkj^W{o?2p@~>%B$OJigvCEV`%Q<5=oqpB@;lgZxR-QT-OHOT?#Uf-)I`^h0#| zIm!4IKSqgwH(`)Ms~3RI3QdROrz{8L3eJ4`8sMkXeo2kfIayvx7srjQ;*%7zJaQoN z@#w*>z?Pw?9!8tT+8*C08H%K@X^5tAj9n&Ie;BL#!`PVqFxE2>SufP-+S%!%e0RxP ztZn^rin@$FF_~Zw*8N}Sv%;?9p7Uv$Dj&*UU+vpDt1f!6V@E1|GQ9xwmT7tw2;1_9 z`Tj)P*6oG(^&01M8%N2;5O}lc!@bnD%h6=O@OYNjlGf*)F|r%RkGVPggW`Jd-zfg` zOstF*Pna@k+T7r{Y4fn)HKcsbv~c;ji8G5Qhi7u}%#(=Z@n~4_h;b991gA|pZra32 z(t2~InB?tuPd z`u8oKIdA5S^72UWteG>4gVQF2XHA?`JfUaL;@Q26XGUfOQCs$|hRJa1q^adI=I!qc z!@=>Wr(E_dmdl;ddd`eYoH(frJVh1j+Z1R&{2MuId^k9Pq2n~qMq+_YP#jf0b!xfp z>kZV0g5@*I=1klhi5@w%lPKJi)#iqod#hwe zm4_xx)2SMW7vbPk-IewOD>Q#jnlf(Uq#468QtcfBz)bv0%4A!hN1^-gC0jufT5()B zhyiTI)JYSA<06yxd$|TN8pMl;rY2uivCb#iXNOvk{qnbeTA3_>T4Ygh}eVZ}BwYkGrrPqbiz=O~A_hLoDA zvoIHIh;D%i5(Y(#UJW+~gvmW=+*FJv4Uy+~*j~j`$IpzwCK=Pf^;8vYh+69De0hWC zIC0XMvl_Brxaac?WWP^PdG7CK45##2a8gRI1` zVA(wFjcOQOq^j63dBr%}8Z=AFF4X(}mfbqMN6ZnT-4HpdoEnCoQ^$ps7Sp3imqr7$U7S8^IKHxu4O2zC2`4bi2IJ`*nO(!y zQ03VWRkV3J2M4ekWcnWoPHiA@kyUEYc5A>K$IYC2@Z?F;Ce6S~(e(0}!MS4^P}kT( z!?xVtLYmq-#b7aR2HnmLpiS)>syrJqM-ILXkzd0N@|u_9!jsEq1S3`2v3os2d6`R(ei-YhPOb9iE5a_09a3@nZII|(A1~Vtg-1b7!lCD*q zs1Gd(!g+%vJUrOMK{AYqmm>G6?v<>+Niq&8$*0v&77{#Qzkb9-T^KVl45}!cr8$K)~?J z`imzU`D^N`zelX9sJ2T_R_-e!$OG~GtZGYKP~j&dz@KkCC@zZJ#+oeadW}yvlO)MJNUn7F*&Ru>L@+1l&4jQIUC|_#TAvtXt7GW#X(wW#++_SZu5{J@~VT zB60*8+$=JSATK#)Crj*FAY;V}9|?BCdx@C?;u)a$Q)Ln2I$Gi^qs(k6Gx-tOA=NS? zps_%2g|Eo$ApVt6f;J%2A%7^?le3CI#1y*#Z7zZVv!6J(a;-U3Je;u>BC}yZ02Pji zs<~xmV@oXY*W%S*0ABR+14NF!&nw^28FP(sL3kv`5>5wR-x==;_DgS6AiI4 zhrIiGhQ9`=pz&940HqHA5pwljR)DeM>RJBnh%GS(m6*kQ{zc-`Eb%_FWA0bZBDEv= zZXPgHvMmSP6yMK`pqvr$LnV81KI(<)6727KOr6}HCz1~8@EMANEwRTc)?Q3*5KYPT>ZL6(PHglmR?w?}!Ue$*X+e2*5 ziquo`*`~i;@--1Ow^AgkC{#r?s+5m}i}ffnx)^%rJ2TeWx{;l( zo4B=d8)T&vQa>5`Yqmc?4JSUPuuwFs4JwNWs}C3qgc7t*TFnoT%A#kK7T=W0Ffo)u27M$9S4j4wSeY`H7%-H zSQrsRc0(z!+rg^{;KZVMC9oev7Hmb73g%K(b z@l~TLv&CZ4x-bIWeHc_@Bgp*)5sn18P^wu}swHL%t2cTY!lk}OV4ApVHakNLQJWdC z8cE%pbf!1n}I zDs)`HJfh4jDmD92y`nQ;v#e*%HQI@y~3i()+ z6U|x+H4Hql&ReF@SeItvMlUmMDz1Vu@tS?bjEGNwSD&E*UJNKsk7?nQ-2Oy?*R{Co}Op0dpzKiBg&;a*-&G4frOXgC@#nZyuDc0&iX^|!D z9B&@Biu=57GxB1?FblH8d~X-ScYt}c*x|48wK3a@H|EulS>le05-_d^l5_$GEOgGv zu(B#^e7Wo=4~bIP6*WkKnp|#{A_;Q3an3fBOWGIc0_MqQ;yZI?4q6{CmVJ2QY%HxX}0 zX~`Fx79znDl~N~MW$a{OwpVWVwq&(qtmjt{0bQ3R{vlv*xW^tuQ_%*fX>S9Z5#q=PVGKT57PuiGvVk`0PRAma>CNN!a%_lS?tLkE8 zoimC0@KDMdW)sR9hu*uOf*ls!;3Mb(jFS+j%gELwGO*K@f$IgNf3M3PCj?1`%)O}q z3JnY7I|DWzTmIZi4D%QTzBf1}DHK-=Ipc9=Yi7YxX>;tCQY6?)(4dg00(W-zB+D*| zb>>8xs+GF2E@F_}cr+qoqq z5cBmSM76&V!!2W%nypvErViFdVc<4e`D4tuq@}YCqKNl*E6}hI(0jdTeY`({cQ22c z#SWzRdkr%$YZj)HloDvHN4;g1xTnIu)`Dj$;u~&`5HG++lAZ8%jLhKLOW1k3|nVJ&rpW@l09Jq*naX0)ZaO#*HOUy1sX0I|hTF}6p6F#vzTu2^gEj4pa@ozM<{2gIyv149{Hd?ULo0U-C_tBm`vkZ!m*GPbV0B8?D z4+4=Mu$oJf;Cu+2?pbgISw%^p9|2kjXhBlw$8|zKk(3QkPFA*0>x6z$C-k#ApOpWPJWwLQ`>aR}`8o?KhfoU#m=LZT)M7VYbTh z_HGWh!qXl2$O*~7FLNHL@EB3;cp3K$3F~eDqt3E=S&`>TvrUxerQFiO90TV zp~`DvJti?`e}7d@|4%hbfMGCM3F>rA$7!2=9!%PZ2WD3@ce7~#jtj_!ct>FHj(sr; zpodBTmnLe;67PX$FT4Ft`&MGJNbH!y1%Jlah+PCFWIS%~- ze`<6bLd)L_dFXV88vb5d=jCXS1SZK*rryRQ8wt#(2 zty1yS!XlKdK>ASK^JuYnwwwaMooE!vIl+@KP1KyaitZ3KpS}eP9q##bnRaeQ_HsIH zi2!Hd7}}S$klsRZcR5yYU~obj=dP8;Cd|36@R2^T5NGDWZ0fzsvrS7R0v z5G$e2U?Q!-8lojWTL3E;Ch0B_fs?5%yHF|JQ4^|wTLMTiR<#yx<*a5mH6VKV1s%cLQvMY`FQ6Mb zIzBo5IHrM9j8b;b08TDwkfY@jC=4>pJ5)J<$s*+HuFGM(jz`Z&2uPB zxB5yD3uk1A3$78fu*?i>H{rQ&$^{xOUFKM)+Df=f^I>M@`4~X40)g2i#vw@5OAD0` ze}f3ffoVwvz3wO`CrEHM+~O-STlx<(JN5pn?Brj1w#RfPtuwbK??n4?*s*mcX8*VQ z%Dl}ICInY!8fJ?uZ&7oza2Swh(`hgDX_Z@_Ci6?uuL82wm{sNbj|3a~iyP-g!1o-H z9RPn@(9yi1l7l$VuFWik$Gs^QIl*zIeU~pvzO)42=stNfVJvcO2@U*ECj6x5pe7x~ z`B1;~VE4un1=cIX;|uAcflv1B>?-MA%+yP?4`HC-BKOa8IVJ>I>>N5mWX0Aw6)R=M zB=E%yRudWq_1`Gbu8u=f^_RYoPYk$MF2Ot+8#}gVV{j7Z%;Ms86@0{HVA^q5+chHQ zNGx##__7NgaxNqthxMdVz~OFL0j<#jQ66ziB^NOITjF}`i-6R|M z*3E$s*Mk=80edN9E402W!>w~`>XXi0h7Bk~9*Q;0x<{@bykKF}{9TJb1I@ha zWs{yWw^lakpD~lhvH|wWi0<34rrwGBXSha3CxqNT!zF*lZU<$s=_6!enXScTUP?K( z9enL!Gq(~CVKSbBsdeTs3@^9MrXVDh5ZcKu3GrgYd28NQGjVB4xJQ2aJgJd#?N<)`Ej@>d`$6G#^TxcV%$fz}Qu*$Guw!axF zDu)PGz!@SCyT=^{`^(m}R{~%&y^8M4rK@&UKa}7Iu^Agq^b&2+S}xRLynhb+9x^c* zUN^mnZTIiS=x%GLYms^v%f%U(WNbpheh_td+mOPy7AZ=^y4iFQiZ?QAmjWqQoNevI z+7vvx(_w>w8-hgIi@&36Ne64bc(nqn zn8!h~DXJLl;tIiHvk(+Ix#Cu8*DYzSK(dRdn$P;=ieE9sj4djMCOW;bGe{NtMW_>I zaFxseW8S%PIk_XYd!blMoMP3udGjKMS){@eYA-W)7V^pvPtA+ieXN=8V~~(vqC3dY z%dx`@sC$$U*Y2m1J=hWTk@OtQNuF8=*XhS*{$#V|SC&{cdo5Z){Gwa^qG-(qSmFze z%-j?tnSIfM8t|%A>;OM=Ffd^SVJ*C@C1wd73;tJt)n0st1pv7ls#IJwvj{wZZ2VO^ zI=LfC4Hj7Enaf=UM`Ozd?1TXv7fQqrv#2nn3}KZ)ydVXxjBD-R&WDe6MMWt^b%~#H zSi6_or4AEQfX9eZ}AA?0M&dSXGHZ ze)Vju3By0|g_M9y@%FrJ$XE_3XpR3t_fUHVvDSKV7I&N#i67_NssW3+XPFd#UEH4y z=~st8T@_SEXh=cv~b!;MOCQ|bh?71fT717QcC^1WGoMdH&%yL&s4jb_b=J>%ZWRK#lrO)pkP%0GP&8L5& zzC*@-+ID5T*P%`HhSWAL z?*VtXspe4w?iguOT!-yT;N^|rd3&rZ`8Q&;!e&NHNdKCJ1(a>G;K+ncvnh*wE<&%A zgO6BeDy{sS+*v96L=_136*pu4&{?V{M80ZlLu5x8=^jBq#TmxdNm(rsiWKw-_L9JW z$6gYol>=1`8c1%Ff{K0`)5G|lP)o}U($=WNWtr*u%#D$%Bn$6P+G{FLc;Ix4v2jpM z4ghs-8rZXivzP7*RO}hOrc!{NDMeuGcjUd8gLP9%$qRD)O$71_uS4Ud*@uuzRhmX z-8j3^c3E;KUPYq1_% zA8Fw~4X1ifsa0UIT?Ko_?bt&`?6EuR@wS7ZZRrU!OYtS7YR#-;D)sPXYU za~o~GfH)6Ux$MDkJ|t;_>iV^Tz3to82KDG4$`zz5$(>)B;ucu%jW3iF^BovQIBQ4k zFNx6L#dv^qX2j?v7sLV))5GnJAkwe{+&D57hYZZtR+(}kgPxJz7-Hx9A;Q(z62iTu zKbbIIIQ=h`)Bhqp{YP>&{f86dKGP3774?Tb#2H#^&8{*vLM) z7Ac#d=^Eo?3=8_Xn;oQ+$c`c)Ca^;>F~YJIxym|OY>t-o-T5@e#r5v8evFBntE@f5 zN;#Yr(QSo-vW)0%n7N1+Mdm>CWFI%c-_VFW$`uz^_^U9OaUL9$e=(#ziY+=YBw#0q z!iX;m8VXAylzgOs#rAP#4S4V~#yy*KJB|{i-1D46AKet#kP-3P{AynzT}zjNRJX;x z9#DAI3#xprG0(WxM;FE^X3jlC5&!bk___i7>;ms`2Ih;;dTM3-y^DaB;XerO6+_(U zt8tOR_*uD=v@G#YNJI=Rcx&cWA=@$%wLrC6(L~*4fk1YxnXwp~{d=I(?DWCNxpH1a zypIDUa=X_fa0N-wy~cJ+n$Zx6n`r^4P1dc%b&J%7Yls15TlxgG|F+}B00Ip6d&WH73J;)Eq7JYd8Xv9%ITO|61TfzP;f}+-83k@U7AyfNeE6o z6MIfmIobq`)=wH$NegD!*T4$O_9QNum)zGf%t) z{RGM{&R>g0he7-z3L$Fd)gn;Jzd(Y8TO%9oMeGku;kJu&?7|<5rgOW-uu~fDSa!=Q z#k^}X74zcMlx(8=pz)IzI7htAeS~%kyp1+d!X~vrjyX#FYhJ*d#ID4>q08ViK2ThV zr3CDnIL6GJWd=lx0NuY_?n30BMK$_9k5H-iK6vK|xG*Xme5SX$X+f6M| zrMK{(2m9M;dt1u_jas%F`}6JI(xpr-UaG9MprGfo&02{R37JMrbfrLk(OCmbZ7Osn z1h@4)X0QiAb!w$=iQCHcxZyp>aB&eD|HcTcBI2r|Bcb@meAZUc&Jk}y zqjK`K3H()FV|8AkuJ(uukZ#u%jkasXxTv#KWmJlnKc6Su;h!IPf0t=ilQ!d`_S(_AfvLt+l*LeeC&4ZPcaqeaGH z@+{a=%D%cMYF|Nq8~L}X#Vp}I3$fWUI5K8o^1Th}wV(K9`Zly=uDBHT76(WiM8(0R zTsW~%YDUPB5(h&N-Ns#^~@>^2J^TgNS%)VcSlO8 z*e!8n320EUGiOtLh!b3m#nz0iiuXO-#pNb0od3NDBjhP&=3g)p^0W~3Y9_o*XtHmx z;@+Ct_c@b;S&q1OVHG-lKJ3gxaF&*os~43Zyu$-^wxps&{E8_|7c7>DA8}@&2bJg9 zm1q{YyMOgo;W$!roQf+2&BMjT^Wh&6cfh-yg|7Anrmd}!?G0EO6<^LPqWAw?D16Wo zUt!ABMEp%)RiHH~zA%3qhvai%E;ScetZ9mo?@z4y2O@$jMqm*XOL#q?`!>QElvj*Y zjl^|E4TK5DrAow`IH%eJTO|Z)_|roCoG0W#k8c-Z(F%l@32!&ULglQpO!Iy8l7(2N z7bW;xioaD!82L}^9RnjDsH_JgIS9EK*%t?n$jJLEOW=Qb5Mfkt^TGg14aPqu(6(D} zz_U=KXa?=W^R?kT(qP3VqOiG2VTS(jXq#w$7-{W=K2P( zpImm!-|lqa6)uaW6Dk?HR!reC9({#qQ&#YS|Je$6vCD}e{0 z`A!`cI=8ac+m4IeF=wRS$<*`VY8f7Q6%zv)fwp&>Hgu9w1zei6TT~@LJ&Ih$AB?3$))REZ!D8W)|Oy z*mmOiN=*MSGMC|u@*km(OT-|S8Du{*U=9}?XBIyJ#6lo)Su21B9u(2IoNe|4HzQ`p z0MZm-Xf$v{&ffwFx}$Hc#hx*qgTo-Z2Fo-Z#kUK&iovyGoMXVwIc#76%V6%FpTQv& zMhG0p+5%HEmH>v)`DLKdMl69v(smfV17;hx3X;_z98IQRn9*996>I`Ns}0$*8tiV3!f1ZEABWLIG75l41Xlx!nTw2rL8k~($@ zP;@cwU4T_bDRIt$Oy!ENL94V758@o)!O&73@h%Q|wdVOr+H3)Fc#W8+@5)g6Tlo-E23Y4fbVIefdck(p61Ha= zaj+l3RrI5$JUh+ivw*9oJNLr_PqT-jy<&lF@*)LIUTrF&LjwaYrvwZ&rnGRYw+Ai5 z9G2znifPAv^CISGY!WCzs0!X&IP{-yBFBka%Q1*zL~Md-<&h{%i82$`pUDk|PykCS z*CO)_6gL-BCUIkhznQhu*8v9veOuAp$CMsn<_yQS18B1Vj{{)OLu-h{fMHN6)uvfx zor0s%hl#BVs(mfY)5T+0K49m2!nZ9+WuY2b*%oFw{3lq%M*jEBi?UFe)v@eRDOBaN z-IYH_9x4rp`54HV;dxogZjMbJ(DQ=#^-Lm})AT`8AHNvIL#;_xhEn()?VVZcB06cC$ICSU9<{j8i`7f$QgE+nspR3|QDPHVc!xuHqAz zRa9`NgXR&?4Snk~y>qmk+?}%(>Z84Xg#Rh*unCw0sRNJ1ULSec2X+}`aR+Q)ae+MV z?HnU7rPjitxH$yhtwsX%*V)q_1mC;o``*{-t2_kcZ;E9 z+Gcq>aY><2tXafkdCqxK!T`tqXv}>CoSJ}ln-6}~kGZD!2z|TgMp>dK7SR77OT>O6E}rVA z_lNz2HdA6hab35dM)x8~=SSI{6dkVeteAm$D9+ze8)9CDE*UjO>HfkXaVcy8^CGD& zzlK>B1=A}I@a33HQImd6ucE0T zw%TNKEv>P*7rSA2%K&t*yn^VDIK+sBa_K?YChwJz8>L{(_XE~Y3-=K5>MC^)5oU36 ze+}rYga9MVvoQyVN8mhY)$hRaBHsP< z8(BUDEZw!OqF3;hwMv0%iQmLFZ|l>`5T3`fn;P)^^!@|8XYw z7FJO)VNOXCaKCu8EMBv7i(IYfEbfvELYR`dJX(Pi9xYt+1&`L+B&z38sd{iL$Fr5n z+;h&4fMXoYQrt`TJLwj1{c$vJYc%r#@FmkqyA#eWxb>dKzPG0S4>0?BpT>~5bsje^ z0RI&LXdSh|@#_|_i?E5K22=FmD1V{YitRZ`Y}h&#rn7dwZ|k<`3Mzd;1B&bcUl2mK$uZnTK zo!tlC-Y+mGR>t&2vOUn}cJe$1jE@WEZBMc%;~N-I?ew0ELfos8w0X+vs>PlaYdyv@ zwYDx@=S$?}c@f+^MENn{29X?IT?zf3gu^MOKk5jG!{Ohy?E+%`qgCQRLW<6^dEOrI zkHM+U>j$M+JJ%lqleTe=xD+-Fy8$*a-~vqX+JwG-sj$_%c=NDVb&MeT&5+#0|S*8 z*vPvV4tGzppY_0(k>wrR!ffX4gHfYq(ROb^!X)8pxkLk{y1QZ@t~&ay6|_YgX4)4R z<)q7~u0p%zi)#1>qD4aCsezrct1`Z4mr>b-dvoRAKAVJ1#g!--Z+XG-yEa(W z!+j_y*isw@6}j6)*3R!?H8$Rfx5&0{FtM3NYmrCr{I}w5vV2pef6XpEL_uqk|BWdu z#Hl8OZV|}Ii*s?xMIO0+D1)}!TzGG!D9ejfFM@6}A=lgDERjb>@B3Z@lHZ{Uj7~TOL}t?RL`Y;beJsffh|y+3~~8_WM^G+U=1#V zb;{Frcg|C%?XXt%5>MN`>YTRYngYz=RHyAAFmanQFkjc3GPv#xCf$Zb0dnPsg>u^J z>@l~mHI5s~lT1zP;ZZ=xgFcA8b`(v6Ym#tVEOt`E4`8yZz+Kk-eY937Izlo2qD(z4 zk%L`HtzKbUKFcF`BQUo`0$lc@1Z)SEGhjdN7wN)Bx!j~{yIhVW^2jOv{BhKDn>0KXJ!VRcc zF~;)zm%!zvkeL3A>qJ7HgV|u>hJt^H@JjKraQfQl{wEA{FH_@;8N zF2pyLdv!Ig(+=7yT8)iNi+WW0%^G~uwbF0i!8a10sI95(Q9N9?05xX&lCXL#o;=Dd zDMqFC@)%ixfMNM5*d;#}+Km|g#ix&RfS<@J_SVNCFu2mdHbe1a878WB zkqXxuTGVhFb_m!mOv2=9Z9Hm);)co@Et!RQ8n-59GHVwfilwo=uvJBvj5h&b(WdN@ z-yR8GMMlfkW7m|XSYz}FYXADOyOZ2up2niQ&KPsU-0JobJShO5Wv|cedtrhuTz8u6 zTPo-Bm!s@E$z2vM&y9_vvbJPq+aD7=DwXlv~xP6{tz)wrx-kVPnK za0`m-8KS48BAL8}M57lBOTy2`$czYXJYUwp-7t6QaJ&y*xrMCN=oH2e6~Ur#K?~f5 zHXain5x9DbRfr^fE)Sd>hx?~YaUmft7&@a$32LLyFzH_tlmC~F!%$(tFq|=yfDmq9 zO{Ht}a%~i+MI(k`ED-Ighfsau;ZLOKN9QdMw-)x2{ikJ(4en$0aS+}Td~i|s z!T3-fKTN>~ctyVJj_+jo%KanaO5bl1>CKIlLjP%<8AZLjR@tuT@NlE7kehn;FkHMH zn&fpcid@*X9%2($w_=4CZoo}3fDjFKd8wP2aU?=5 z!=`M;!CeX4f;Ej2{jg9_E?O3_K{-~WAma^`ABMlG$OYSm30N!Dcp$nnXjQ}<^)sSW zD`tZ-%PY9YK8l-ue#iM~@zZxWfPZ4f@I2VbLi zbBgQ({AT^Zvg+=hQ!&1UYaojrEce%ABx>zL%aK^9_I5p)J>Dbye1>caT_;?EJXmjE zEnxRR3oi0b{qNHoM2__z!1~e>JX8ZuhMQrRX1-oBSYM7ivpf>q5Sg%neNNH(vhTWi&?Vxq}mk3YDWx-)lX+} zl5iyy?}*RxLI$`E*Z34fuaQ&5v_M&|FAwGRg7)wi6txH!B5?pxPkfGXwx%d5x8PDu zknku3)zSJvme@fWxJmePcq|)XLIdpJQPgD^cw})s*5x&%CXel2JjmkfCwvvg!!Vg} z#FtncmsVc#;Mvc|V31oXt?`m;rj3+`A5eouAvAYUX$k)x)f9RKQ?{^GmNe>-L#4{< zEL9ea+<45oDyXlZwg8fo(au5}>o*B!YAo4E9LowOOS>F-2Nityb+|g={YGg{nF}ZM zLv-3Je-jNm{3^@?-w_-&;Tg-tu8ZJEITC6WZ{|AMkFBZU##X42=KjgcuWbufMER=^2&zix)G9z19;)_gL zO2vNn`7$xsH!O{1T7KRHo%*mC3wiN#`1z(-|9^(9P2y#iCd=g_d|?SXMhO2`|5Kmr z03{1M0D8m&tE5Kc0PpJ{p7p%x;1-&FEV3(btSR#t@Tyl999|gVAK6Z}e4UjBHW9e{|v?Ep( z7D`Jq=OQ=OD3CSVC1KUs@y$lthKsP)P@etRMpmeY*>UR#ncoU8%0kIl0rfzhZ-CJV z;BmsJ z2yFm#_K^&zFTbvd$_1tC+A|A>7eEJ^Igi$ouKNpT#9}D>u0Z~+b0wq1R*$*yRF!V| zlUUEx5H@ru?v1AoRP7ZpM@O|o3UHA{X*PRO_Cb&pb$w;0i}=PJ{U13`#&xiv2dwQn zMLw3M+3agW2KubB!X&I26KV(k~DM0YnGx5DZeFOAEG3KuNqTb7tR6L=RH;mu! z6n`IA|JIVOH44Y{v0X%Q__QdN579dpdUb~mV|O$(Yqu1jO6(q-V>ezi6y20-x4e7< zivDA}(F(%4*Gekt%JMLLZ8I?z#K4A_iPOG&`{EvG+>b#fMkfC|UNR-$BOmLwDdThV zG3#&1oN;l7+&ttxQ+adFT$6JoDUl&H=b)?66`fE#S21dlq*3^`1bxvKxP8Pl!mBOL zMAHj*ysF5nsK(NqEpK)xM@g+vL}WNu+PH|uMJOV2>xlP}O?W!9*3qVHNZr-~rBBL~ z^mmR|Bk;_HS}`)e74cD7+?Q9^lj7JiynGH?>nIuxW9=VTilY#sp;0@mt|QIXUeZok zfQfK`7I7pWv6MqR5R+ow^X9>f#^`wIu ze!)@`xdeI~bI?943%B60){eM5z*?-YuM6qG5Sy^*8vD2-Drn|!z;8Q+H7N43kpsYju^5^YvGI6@K*Zt$IbUJ=Tb{_77@x># z92R3(vUXSkwcCV~WeGM?5`Ds=@Ig^|B~e*jSH>Hv4T{Y>Eablny--*yjWRJ#1~0LA zRMykWGi+GJi}8=Tai|m92%#OiSIhu=z}%5ycl$6^UTicAJt;VT6CNCu4o}nKj+js@ z50lUl%H&$<<>43g!!xq{kh@^BG;|0()q_$Ew8w`F_WT(F*C2^-Ip=Rx{~CAB4@J;GC`OH8VVtI-i^ zdMMmDSrtlCqUPuO-@ZR=33GwYa(^<_tW8D-TBV zQLTdT3GPXF4(NP+RI8=EslSR`uv1C+@~m~R?nV?-$+YOreTh+(7E<3li~6ReG^*Cr ziH+*J@zR^t_<#nq+)eMs8*y65({bBMi&{2|Me5yFM_{AyA--&hCg+?w=%jSR@^UoS z!!4(cOqZ5pE)Gk?k;rpK$nI0|W{8f1WR5C$AmpYR%d3>Zs5{Yot`=Wng^_?au_#T~ z{gt9(m4+Osyil?%%)|aL@yi8xN0xjiTb3PywYS};NDT03+%W7me^|OI9i6)Ds`TE7 zF;=CQV=$)x{YxmV9==9fT^<19_^Q+#gVXj>jsvHmz0|x!mYm45!`N!_bG&&2t%Hw? z(1zJIEWm)dw0?0DSb&a&q%V5bxK+J~?Qt807BX#u*Fwq5wZd_zksA#pK#v%m;0MvX zZ4};yaFft)m^{eS0P>s3>;ulIuztmBy_$u|xQsL!aG6gq<}8=N&;|CPM1}Mth9Db+ z@37JAuDfF_Y9m^^jpRY5qFuub{J2S&iGd;+N^XqOqgvNRtuorLT3<0*V?{Z!uspnv zXN{nJ>YXD9_1b3P+l_7)XRatBn>}R5Sn42;xn((gKF` zUyQD8?g%0ZnT!BULGDLf);E-%bIb4{vVUew;Mw6ADa4k>*jPIqI$Q$KUIrb%$1={B zq>I0!ctCJxh?VPj;tjZ1lkkOf-Fu^2YL5xC^qzz&KU6kC7;9f#KWBtch7)r(7tj$x zd1YO`5yHWU3z`J6yA6G40{#v65E<5~jfuuMbUG{@HEb#y2iQSFOzEK)J_DWb8Tcg< z^tA@PDtR{cwU$~1ulO4h)I5SG&%E{w>qn(ejfID>5YQ#J3|79?QZ{RyaB5l&#|b|e zhw2!E{YZCd0sSl0@hWqd87()M&BIOl)NQ;ey{|XzYYO56EVyZ>BOJ(oGQxqz&Z?GJ zmh?6%>Zzi8D?^8%H|u0ZLEbxS6c)Xxb4qFhbr49fgaQntx!;Z{D-Tz7> z!8Q?IjElK2O1l~j zFZf#aLbw9UT+$s2$}5@V`_C_iOPGi0;-xPr9Gte2b7tkfMU1***049;?NM>YY$LwK zd==U*m3{jizHNI7bV~cAuM88i48N*WC{1~(|gV4u2VkGwLLB9ME@Aqw2JXe|^ z=%u3@)xB6&V28WVIKZ91%HDD_c^d2Zx5VX^pl8^mXz#G%^uhStC_IGTZF9(XMKht> zD73Yutl&;I9eW^ciDds0n-0q)^f#mCrkOs+k$)h%wa`xLh%8i3p2otnUMphs>V*X% zEhZIn9a=8Tb+=TKI+sFeS8UiaABy%^#GY-I0fU&iJ>_mX~r^0hzB4+Kw^%ymhv4*&w z`XdZXLG+sQv0e`f@FYv+KbL(h-^0)Q;OFCEnT+flk8xE|1Me-v`^}}5)wO8A3t0N0 z6GuNH!3Us<+(V?0KT3du==SInxQDobq!Ey1ZP4|_kZEBT- zhNWq$p>j@BEn|~SH5ovu-0RUUnVq{4Nr|!EkCBvhL*p)}V~$3{INj)CBs_!brW!(65WHhIk%#$QRtpF=l z;+BZK`5+!@64yP9WRfuy$;fFkWioP1CM<@k+!f4#rD1WH`$SQTG}ZA!($vElbr}yw zb=ZC-pE{(t>}3$@4nrbu8J?o;oa4DKq?PRrrjP@UoaU@tI zku4gO-oJBNmH+bwwq*AK>Aq(Nwqzkh-hr(d=u}r2*peHrAJ{@~2A;G7Td}eAXWSX2 ze)zQFn3ilog`DxvjcLuOd`wF>;mM9^VPfH{I7n6=uEY3AY>d8wO>zR-w3DmPFx`;K z2fO51Ck}RPY0J(f4ROaQ2`kUS(0`Ng0D5aO3aK~7pH7a?Ogz@Gux9}p2M2{&!)Fv7 zI;iM~J&TUJ53PVU;n4=m(Y4e40=~u@c(+6qaRYju(#VdUT8~NhE#cOi0h?nE0Hbpl z>XF&}yHA&PN`tVb_7o^TG+aAeni$o?oVw*0pMeYS$J1@KaL?;ke4^;m#=P`JFm!OJ zOqUelZOzS*$x%wvt37ePv|dmmv1I|uaG2W=@6alicKY790S!m1eV)9HZDoQcleBU^ zl=YoE6}9Xpbp+b|D8zT->4X{>8aeckfkibADXMh{ri2cKf~H~Bal>#?jIqiLZ8f}O zC3G1aqbWTDjGJQH0`zgipBSIovZx(4jY(sSmy@2nJZ(Hptqlv%MPUMB$nrtV8A3T8 zUc#npQTuq&-XPT;ck+^cN7SA+w3^uTn~v(Tddcco#bE^t`g!qvImp~t?OJOXS{~hs zHXm5jTXqlGI!rG?Y=i*zKP#EIkY&g=!TvhXd^LBy^;8|n1TdDyKUD>bok5W0p%2ul`0 z7P_h?7XM1gY>n!3a8YYylz;F)uOfqmxKWHu6MJb>v;=!&suUOXJv~G#tScCgO_{N8 zMZD^5X+Kl!LsJlU#ezfe1@_CUzAl|X%}JU?|5DOys{W6X=EBiw(matS&GR;CF4Cmg zq)GFlO`1nz(!BgXENLbbB5CfgG-)2pCe2foCe80y;n=7|3K}g&RrJ;S||^ zE>1e3DcV&^hm*}eEvIJ{Q)7|%b)Utz%o#(2Wo($U2X)PZMTI>I(w0-sRNkv~(z(zvt582} z6Bc3lK}-1LLv-b&c_ix@=fxRKT>kqy)#hT5>9q0b)M)zP(cO5n66Z!SGb$?+q8)Mr ziJij_5;S3Co4?q4dJ#KFj7f1HMVDpdIrY$?)B9j?4@d6;+;VvB~ zqsAEaU)Nm5KV*s(;gdHd9jr{TZ%FKc85z4%=<5gCVlrmOKpWcS-l#Z7oWt4sx~>eH_!Q1$Z(bF3G6m8*~sV zepe48^NR~drY$l1qx6eK#f#G4Sd+uQxkVVSZ*~29(VtR0K6QXq6)wb@x>D31cn0`*xM~MSV)b zvsf$L5vl(qCTZ)SJ%x@5){PhSkd4X~Av?n&i7=2ugIk3!L@G^VV5eo`F9fRim2}QNugZ|cdkgqP* zwTl$W^F8u2{0i?+kzumY(S}-RopKpz%J*7G9lDn`XRUCjhWHfzhmEFOj@qTI5grPF2ydx9Z@^HkLcG8m~?^xg;ivM zQI5Mdpo>rwE{>0^=D7G`++~aKO?);c=Noy7t@3ZC;+r}p^Wmjln4`x`Bi82!EWK-u zO;r*7bdyo6oxB0#|Byjt+%5Jv8=<0=g=yWfl0mzA_Z1G44@G-)L3G-o!;IvV+0A8` z&}@%^f@iP~ZW(&>_3=PvQ7w#zy@PrN%LA~|0lO8+W@-ExDlQD&;kOu-#jdoHT$~!k zdY$EvL!!{3bYmItG%V^FqHI*Hmj=7~i}T}1QQbGzWB z$Aif*vA^dSE9Qltu_r}G=?dfB(-?||SCH+0h*_vsxT>(%*0_NPMIF0R z>HWw+TX&augdfi~U7Y?f=YReI|x+U`d z;a(VFj<20x6RMRC?2Sx%dNxx?54jN>C@a|mZcGE1Eq*MJ7a6n#I-se%flGS zMl=;-@_t(|ETDPP5epEm#ZZ9wbVDp@P33b;ahXX83kuMHkk!C(zy0g5&!mhHMHTC@ z8FfdDGt9*AWw>u6jI16m$G}%vSUhHxjCIH9^s?|`Rhaql@N&$z;AI<7_%xOPqcJe6 zL0svHY|%KZKMTF~>fz@2^M^32-Xgq(eLY%->ro3~`|GO1uqa_6!rO#HZ=*)tbVPqRt9&9hat~44&R+28>wxoDQPeuEI(1|$!)@V=xU8B zv$19>(U=A_v2@7W)A+awREc^Cj1z&guyI@F; z`vNsy(N?=*+m)Dc@$*@j;gONkj>s1>&x3~g;ItWWE3$jd@NVt#&`>X2jJ8poSj9;D zGFI;&{e$XV440S4b;Of4E7bt3>K=%K7>kLYg0*|iORzFY2f8oe3eNlk-GA1_s(nbK=;LU%;L?(aq*@MbmP`=aXndQgv=?cl(;bSP}~D_5c|;)lGm}yqONGbY|5z> z#;>!BHKjs(0^_T7!YP$4&HNUtVXBvWirVWctZ|CjSqhLYi-|L|D^Lhyft7{24QJ#m zkCC0;pTx}=&-_Z|CfgQwL>5L6s-}&>w2wY&`fh@!Z@3^9k5AnaSH{!~x1B1ks~tY7 zw+Q8M>OWo?GY>0c;;sZaJ+wQJ$dx~oI~(8Bi%+#z$F@NATNG8V>_PVXAyxUKyYul) z=F#1p?DPMxg+#Xb9$qVo`{F-#?mw|F{;(>YQ1~-17?9^q!a`)lPRLTr&z2$P24MlZ zXJ`#A#9CLpLI7jkxOK#L2w++duZM*KG%c~mDsDt!8rn7g_>BVbZ32)(Q)Uw8F7$l@ za#h*#e!Nuq?;%&0A*a?WJ_APV6@Dv3hqDu^%1h7dwJm;HBP(c_n zVjoH3>Dl+Ypiy6;D>@ibTZg$=h+FTdqS~UBQ~SD%rf+X%MshF&hCO4iF0P) zN2sMPtARx%xWrE*=bs9HdgcSVtjo=r|@$kO?^yte;a=I28BgkCu|l|~D3&P6)UFK#L_lHZCixyJA&9{CWwRwz9PU11#;A%Hq0_GMG_2Ou>^9 zl7nj(OV>5#zhy3Joyc)Wa(v|Ngb5XP~hw=33$lC)@kqw+uG+;*2z!{nU!+d#b*1+&u z0fvzVOp%ZBmIkEQl)6a0jU(jA6=-;^0KY`R30UwJp01rPLdDo&QLmA_gb4gQSCD!+ zUSWBjD*i^p)r4{ue)xip$E( zI*Re?<`_50Jd_H{ai6`S7BY}N2iwO#xSKxFh==+rK3Xf!f?y~EZwc-aQ??*Ul4|&? zjz0-khYpQh(C^gL3}qxC#S&tq{uN5kjo`FuTJsOJfKzF5zf>Uk2*lQnz= z&R1%93eHz+cq-1%_1alT8#vvIyh!*g(+ ztKs`_zF)%+;QXM5AIA9+4L_#mg*Y$L@M4^w(C||@Kds?saDG<9%W!^9!^?4Aq2U*C zeo4cx;QXqFSK|D-hTp{bEe)^6`E3oqgY&x@ejn!#H2e|HA8U9m&g(S%nV#3<{Dp?U z((?wKztQkUoWIlX4>@0{JVxX;ryqD|H4@^HvT0T*hzwhi*PR1a5bE( zYq$o^H8ort=Qq3t>K<}-cHXu=y@lcdue!QoOjW1U!41CxIfOjX?PDk576^KJ@2LG zee}E^&iiZlK%5WK@F6%4*6?9^K0?n&>3Imw$7pyc&c|wa7|zFQ_(Ysf((rJcPtouQ zoKMs6891M*;qiLDNY9t(c_Pk}G<+G(muvV+oUhXGH8@Yz@O3y()9?*A->Bi~INz+{ z892|>@NGEH((oNP->KmTaefGY|JCtA-6W}!d>6B%m1_lFkc`ayx}|>kL!XrMb2a75 z`lh_D{-TreFI0X<qLQc%37Zi|^!Uke-q?sQATB@r4}q z(^Imq@&}X`D}T9nD*u?1KUw(-C%+aq7}5W#@^-4{ym`@?(^* zR9;K@8uh~m%Ihe9P3`HRpDF)<`eB30*Vgaf>XZ8C59Ljj@1?v^NP*nv<#mn z+*A31%ITkF8s8(7_e<3zU6jvIUZ#AZ#`kIE)s^>GzCw8$<*%wAHYnFqGED7}wu&5# z*R|@0jVjnG{W@9DC-p-;%?ONFH|3ivS2rcIRew{*J1K9joc7Gt__lQN^^~_#-bU@Y zS>wB#@`lRWD?d~@)A>R5!-dKlsr*{izmI;Vp2_NmX)4e7-q$Df!!630E)A4FrJU(o zs_}hZIn(Phz3ywuo9XqdD*sA(YvtEyylNMvpu6%C<-0h3p~m+#PcD*va(tFv;} zpA(h$QO^99DDS77_3BybhXa)}-B+vpc)i}%dj6aG;Y5{Z{=B45>WAUV>4&d0UKc5+ z{TC{~NjYv$@u;c%Ugb>Rv(yhSD`$Q6gWCC?(?3r6_sTa@{Xc7bt80d3zCA^GT?MT7 zMyZ}h^!MHLJXrnELgo7_-=KOv)z4e%d2h%k$z}Q}d+M)TvvcN)9+9i@8JZ*``^bml zWU*lqJPiI3KGG@L2L2R&gX1$`r|^dzAFbEjvtd(=DQT}!g zO_IIgPr0tNhwU*!!5)X6{7M+A!#X&>2R$3F52{&D<4_0Ql;fk=PVO!-{L z?@~JxX7E%z>8`wu;%U6?8Q5Ru2?BALUuQWcdlv9^RdjgxPT$s4mR3I;Cx#9wm{pHp(-C*tlhKmJqjuclXey4dqsKPC9-~gKib2)O_H$QzI+F% z|If*kI>u}F$j`38$Mz8UDH)y#z><(jrHolI5KxXPJ3=Pc+I zYIDB}nOJ(B^^g4~WO_4}O1!f9(|!|@Y`Wxf<~~bBPqy6IZ$iRcX{pE~Q&(~XQ%>#I zAweQna)cyXPVLtr$>z^op3R@R9EGEjBP6AjP_e&N9-b|yRv;wVa+=GtQ+?)y9KuBiVkC|{tW@W-Q5RyCX$4odRvom2E2+17#F%u5SeVMQggyaGH zF%u5S!%F%u5S!c5o(LWN#a`fW&_vSOKVNS?`rZ6GAe?8i(vB+D~l8wkmZ z_G2a-l2wQq10h*&KW4%q`6?5(fskylA2Z>QY|MmhAS6H7kC|{te$Iq#ASA!pkC|{tHf6## z5R$*_$4ofH*`3VCOdupO(^K(4yEG4%8K8;>+Mjv2%nVgL(4Nf0WyYxDf%aY=E;C6L z546YfaG7DMc!Z=~9^N4jm)WR_2iiq>xXe~nJkT!6!+Yf6GP70j2#L&eRXjo>GhY=C zw3qU5nH8&epuLob_s_#+=B(lo5}8S>c!We|)+!z$k(suNM@VGmt>O_9nTe}-ghXcL zDjp$`8M=xG+C_Qz5qY@G=2bk9D9zG`zzb_A8P=Pn@i}~h4nUPG7YI<&8njI5R z6i>_0<*0A^FL&zz>&`ueXWQp{hxAu3V8FSqRiNQtqWqA|H|&Y+jiG@u(+KRlwx#fF`~Lvt zJ8mm>X8SMStDP4_|DTZY5B+~!^nbSBLI0l{{eN6W{#gxeTO!xZ_IFk&KR2fPff@Px zGy;!-mzjE|u}U;JMOVoFA!orAD9Z^|9P4p zsz*ItGJK@U?-Koki|f%#y6 zS#*2SM}PNo7&ho0?(XZw#$)StISKV;hjC*iXkr@((@rr!;> z#6#xk%S=C)e6JlVxBrmpmGd9UD(7p!%L-@e)soBz?>Q(pmHFqiu42y>8Tmie{&tOo zPs#9~G}N@A@TnPIQ{@NcNv{`5MSf03zK(i)c75SbW%zszt*g%P?U>)P?M7brj8f5aU?x8-(qHZ!?c9*jLwhDgJG1TK zzf|I&&Z1{oMxG-q7e+f#i1oNm&x>My$hI?irKL#svLxFszjIPDLmU>{!``KNxBsNO!W!* zy-~g}<4@{Y81>UzSSzU#=f(JD`*E7Bk}4<{Wv2f~g<}yYGySsmYC+G)nY`<@*@(ZGTw!e0b^3NmB_On=%zO=dM$@a6zCpH(J?KiPqF%dW1GSkl@Zye*x zR-25Cr^gd9UfKQ{u*!FpZ1?GxAK-5_0`EnnS^1sG*Xb{wFu%6G3JoV9FLevXuv z!fe0nVvR|8)RP^T_?zmvJ?8U0^iz@?siB8ki5`}=bp5w{b!sf{+5X_=s((|gPaezY zk@cT)jLuUJzl!h5%=pso>Yr`f3g=xY$@Cbv!Y#SXj88J=-@*R6@k+V>O@)6dG2gwPQ z*?AWUTUWu~bzK03yCamLQiG&CfS{MbDF8^o(sGF@YzWbPdIsA)b6y2L5AvoUAle{=#8 zvQ=_hhF_q(UN7M@D)0xRysUywkA3yr0mf8jPm@?5ZkCa6rSgx)dZuB9qxi?;izweB z!^bJ_7weN68Gg2MxzAU2-5c`oBXOb1rL*dE{S!d}Vsx z%fn0a=s6HqsZ39czLoPgP@hyLzXbQk%J^ltzf{IQ0<4Uq`%)?YI#0Yd;l5Cro|Sp@ zpPt7LZ|9Lm_Kb&AgQJiuHvN?zN95rhHRnh*D^)P%*>Vs)(l;e%2@-kvBfl|^o?8t^ z7S723C_l#G_0QJ(fN*(Uf%>_QR({q7f8?)-AP(Wy{yhzwZAKu>22&>oriBwF4sj>l)3JYhTH4@VYt0+t7`Z$4$;#UfAm8K!>yjKhFd+` zp#3I?=#e}?Jp+_WydF1vxZ%$je!k&P8osACEJc5R{89fthFd#F7`~5@A8ojmf7I~( zjQkUZTlpbcK}o!N89T@3;eQzZi;>>}^{pHdFVV$#^)cLD_ax;aYyEbf;nr{W82*j9 z?n8#l=sK_ahvD4~?||#cA=jO3IBvi35H6$l)H5W-739w}T<-pqUugJKhW}`|wSSZ0 z*3K&UtsG*H<#$G!`dNI<>&`X2$nb{@xB2`}!>v5;yxu=-`FsDAh!HsCBvk_Ksb{#= zzq#Soo^HxTzxB`dhFd>eXShwr+YGnq7$o!Ikgp{R)6NpZCCiZ4Gu+yFu;Eg~DSxEl zQq;(gHQegq^BWRh8J(a!-ailz&!;FC`=tt`{Pl)Ql}3)O@Z%x!_PQsTdfVE6y5ZLT zF@{?`3zdtVM;rUs8E)fMTkCC~zKspH>DxUuKc<)Tb{Q{@;Q4qRVC1E(P5HwNxAreJ z-1_rH!=*h!J+B*X^=xa(=~2ecJq@>hV2@b*aJ-Q}&B)vQ&-Sdux4yCG617M4{ABdp zZTQZHKV!JHQ?4b4}xohv>ASg;ntophBq+s=Nq2mXTz;>Z5N6EWptf>K2O^ZB5%|2 za?`H372i?*M#FD2{8hu78otVKYybO(Tl;I9c8D!6jSaW;$zHgY96sM3l;W6Pwj7Nx zd`IJliONM!GyE~WR~c^YpJuqVf0g0Qjh^=nw|aI{F8;UqP1<;J`25xgHj{s5>~Eu7 z()TUHIg%jpYHv74JcRF#KgM^N>XGX%G4gdp5Qm(^X3Cc;7kOzTk=y(JHb&3uMt+Rp zKNyg(BE)t=V69hdmb>{>Mu3r-O4Z3@-El4{mMF8?u6TZ+%cv+?t$;#=3 z%EfO7nDm`txUH{d8*ckA9~f@yv0n|h`I!U$a$PH5O)4E6o-a*tET@t+n2s+Rj;W*! z&)5FpOo!;V^^)`@4sbVV+^-?4lw1~w$n~9+@|AchFkyt&FC*R_MB*VE5lDS+}g9)@Li4kvxZyw zRfb#n_YJr5e<_#rx*EP^y8NW^lCRsE>uxgK+8;y#4v}w-Kk8{>c$wj)hFd-D4YzuB zQ7$K&|KHGhRqE}RjQtx;eJl4Y+EZKWNs)iw@K%PuYxt3-UR`YX1S9{R;j4_iy>2~I z4_iG)C>OuA!yoM&W8@z-`Y$znn&DR(J?)L2=|0vyZcPqJ z7n^@L{wCbszYeJ;(y9FS#{S!siyvCykA9eK_*RC0X7t$n@SEW_zOkc&-;4f^Mo%rt z2sp$}E8kAJ$lLPL+3-&Ij&|;xN6&6X-lp&VdE|#0e!cO}Nk&h5bKSFyytV&o!)-h2 zF~hC=lSaRd*Nb`N-!t6$|1-mFy8mIg)Zz47Ep0!D|1Ixk_~AyLt)4lCTRqPiZtpv97=Es~?jUXd zc>9mc!|iyiwexBtZ|`d}47c)M<>731i9I&H^-X)m#&@9MR{wE^TRmqOZuLwz-0HdA za2u~>uul#t@4MoU`QasjID9=&8fjW@{A~Ph`;|8Tk1_JL-n-iHoOCo?=9p;DafXjG ze7JHcX3rWv+Q^@0_yohPKj#{5^>aK~^vf!7+Vg~wxB6EbZuK|BZ{?8u@SM@Jh2c{T z-_3BF|D{fl!{;lmyb^Bpj5P9J82u9rUurm40*Ib34VSc#!}FUAxA|(8;h!5l15-6o zk4@i`47dJ2UAa%+bBw(8|3t&B{~s~j>R)X1+w^_T$Xop%8*cSWA65?Wk4@j54Y%oX zoZ&WorB5V>=&|~_-bc9AbFGoL>3h53HhpIsZqxU{JbaPiHhpCdOAfKertg-Kru9Y# zgjrr>u2T+?UxD9}4~R77ml}SF;mZxb&hSZw&o}&P!`Y9M>smj*W8`hTKFPzs%){F% zm;AZLT(_5zpJKSp|CS$R^t@x_A2xbEHT*_|<&f*XZTJkSuyOc$`yS=u2Rk0}sNrWC zJxdL@{aibLWZQ?_2hHm*3(=gI?pA*{!>#@?%Dw#;8F_2})rMRBGYz-;zcbvXdrdJM zhn&_LKQuGk-cLK{;XMtv`nQhSQ~fr7?rOM{HI|FPhTHq;lZHQLxuVB~GQv>O!j;rr&gGUgzMP#56%UcO{m?PKrJtF>TKi>H@u$V zcAUhPqiHHH`mO!7O}@4HznS4S|93Rp=Kl{3x9M)j=WRdh2iPHp*kjv!1?nH+a&Mv^ z>gC~c4Yzvi{l)6}B#%7P#b0+vQl@w3h6lMJ{1vGeR!-qx$OTwr-- zJj70$UYnbE*>ve)xV^94Ww=dWDGPFlek=cN9{#(Dm%VO7lOL>}v4-30+WOYYziQ+y zXT2(y?~XsFO9L?+hwvWwBjmS>0`QF$$BWg+Y*#6EEWkT!>yiO4Y&3jrd<3cWtR5WkPG4vZu8-0hTHLTTdudoZ>YzXYirM* zs>jF6u7}yq=&|h?t0&)jn0_Xo+k91SxXo7&;aYNtJ#vqu{fh+R5H58E`4WLRy#4G~ z3U7@+%G>+9od=w0(q(%i&-%n)cb<{A>G-wb(x&Bge=ywI|GVK<&jWHn9CGT7Kk8w- zPWaA-U#9-_c3xw+)qk(?zfG50pi>UXZ&Ek%y0-sr<)4kx74s*{o#?UobG^!oosZ*> z`Zp;T`Qhfe^^Je}8TlrL_cfgDG0|`1%l3@$K1P23JbI+hD~H%~GQza;O2h5Crh5%P z$;hu%F4vWzIO>r;h#bOe;*b18!>#=dL=cCZcEKOzn;LHQv@+c4dC_pIhx6(3wG4Su z{~9B2^>992zLqv9T#-IYt*SPsgcs&=wpMt+8Jxp&AxK3X})H^_&n{ytGUE6;kTzvHroSdKl@Q%3(K z$_IJw;w2w#zqp^u3%BjJeEsO-RbI;aYFv}~|2Ct?&a*5q{2(KLh}tXH-NEqF4d2o5 zyAAJcxLx;a`xisR!8k;}&HpDGZspH3+?FG0^T;83q%Ftzo)BrucQX8C!+$cI_ZQJ) z{UCLt9OBPaMt-kIQ~lOXdtbKvze~?kd9Dl7;vx3i>#EzLf4(sGb9_VOUo^bF@$+|v z4>a8N3pfrYU+<4U`u{Lt}zt8GlXXJD43&x+e zT-bbW^`CF_Sp7E`ZvCLuXS{E|WBj(ck+<^^ydOzEU1Q`Msl0Hj$JTpRPal<+{9xlN z_a-?!|6hIGebUQTxbEOQyqe+r7(ZCPZyvs%;gXl+koaC{_;rz{e4*h@4d2CZ>mTd? z=0@K7zpdfc|I)XTL+p{ZIrDjEgyryj`#gNFJbY0eZtJ}fkl}T0`_OV3>yX3Svoyt# zTlsc*u4~KDW#+oJT>oIW9bdKO&W^9zawlVAa)_Ole;#Q?zR7T#F5Qg%w){%lMh?+` zld<#mNK63 zhJRzY+*9Q6^|Rblsb=IY zudnh_@7j6u9)`bX^w@PH)*jxkMbEoNewgZ!bhPv4qYRfZD%xrLHJ01^g5|W|ms5NH zvho}s6M4&97<+8I?ETdGhw@^V^$*9dygfUqe(xWSFM0nQWbCna9%Z<-lYS8W*3SQ~ zbR24~Yt!*$!>yfT4Yzh$e_FrMpWbh6RFC)D_C~+8=f6w8O-HN0x4Ev3*FA>Y`@3y7 zT5kJOSDF0Z3}HFM4_6p&$9e3yke#oTdm_t`ZO_~C*dS_8_1kz^zghXs^2nDOZvF7D zwu@F6J=Q;K47d9KF#KE-Uz-oDKQA}(a&M)75R8YZ+kq2|ytUKz7p^h-tsi9U znb&3iTJrM(!>>2`&oi9!wqmDEuTPBpgGT=EhCgSxt^cPQ-W6dvM89oE?P|Ea?*4{b zJ%<@?^XG|%FGZMsIMr~QZ^z`}GUg_S*lF8cGIk_~@XryZep?=GyK7~XPUUTWsAKfl z{C1q-)<0((ZsldHPY!QqyA((M0%U0C5W{VHon*N6=Lo~C-_ADN`eA_KHh4~qZ}Ydwzs2zNhO=)j=vTvMYFJLJC&ivy1?aK40333Ob9ckL z8Tma7xAylnypNIZZ}^^u^IjupU&H$u`N4({HGGKSe>2?rVVL3858E4FYV`Cp-1=c# z!>u1U1|lk~ABGtDK1M(9DT1sYjy3Yu562k(ulhkR8}scO&_lmeGxof0^jrBi^T@wu zvx9NVX;Wpjp7;e*@Z3EHUNB+YhqPG}% zYyaJb?;E94`P&R1Z20|#4>5eE;U^e=pW&w&KFjbihR-wH`tx4Htv~NEywvFVSN(ar z(PRC2hv9vU{{Jq2&Nljo82$PDd6$v@XZ(4mk+=TLcYoR2$d?*>1{!Yj=ODwo8F|j3 z2(tbhV&wZ6`TtY*mv*pcliF0x*dx5XeztzI+~z~!D^yRZ)5E&J`c342QhDn);c+5B zb;wB&+wk()+9{ml9ULd2Jb5$u5e{;eVfOFHIbPo-70<|Tp%>i2@!gg8b-Y#e6mXo7 z`tMMFpp&0nGXucrj9RBUgkK{rL*HJRGw{D`Faxmm|lIHJkyJP0m?JI*v2OBAd$gwvePpp(j+<0 z@s(=N#g4zBocBtvpXo_X{Y#u4>SsMcdFubl$GbPM-R= zcAWb8oCx(${{SaX{l_~_{UaQw{_`BC{)-)_{@Wd={yC0QKgTP){Y#uY^?&F%^?&X- z`|8|Z&g=iv$x}a{H>5oEx7KkR@~8AOpYtVuOa@+XZ13d1Rlb|!7Zs=SdpZ7wa;~4G z{zC1K|INwQRX)P;kCdO~c%5qLb@_Y>^*^utawq?)@*5pzy(I5fl7o6!|L{F;e=AF$hmHV&+(Bnzjbi( zb5ge?-5g(_oX;;%5A`4H=Q!PWkzcQ+|Qtl;^%`KEChfk^k9o>i@gr)ZawwEw7*Zu#r=~my;*wKADtf zdD+Lwe~@O|{Wmy%hw8u8amqjGIOU&nobudHoAILj*LmctYW?ly z>o`vRogC-9NDs&9w|yO7ukju1_^--GJHDeBhGU%L?2Arvob~zDjp1m4>^Su= zah&>BI8ObaIZplGI8Ob)IZpirdOu{kP=9mBslScm)Zg84>fga}>Oa_V>OabH>OawO z>Ob9a>c8A^>c7@;>gWD`^aJ(Z4!_&-T@uPM-F2UqQ;#{?DB}?f=$s+Vi{Pw5L$})6`FUS~yO7+B!~q zxIZEF(4Os`Jnh-laoRJ`aoRJ?arR43b$p!|fa6@p+1|d$@p;;g<-UltpZf20@=vP% z7aXVj>yA_Yd&epNyW^DSdw^-rLcMNTjWmAbl<(&_<;xwX{7HHE8IIGR7dTFTPIR39 zyvuQ3_dds|f3f4#ztnN+|HSd->Ypzi=iF5_O=tRz@^u}jd>6-=pSN|K^-o{NIleH! zan>itI!^t=9jE@uj?4Qg<+#Ri%FlP4@(UcNJogW$e<=S!9{JxKr+h)J)Gq3w{^pK% zR{PsHPQUeYe4xsgJI;NSPH>$2C7tH@eAP3~aqc63iQ{K#`|?`HIo^1)t{fuvQ#~I&-jx)Z^9cO&EbDaB9 z?czB16C9X_AK-W=9k)8lagH|*b9||ecU#+@8US^-@$SEv#;YEw>rXc>N(bN?w@#u}}?+;OH$JICqIE{?yT{^{j7{nOuZ#&>_m8Q;SkXME+ov2rkf(*6q^r~OkLr~NlL zPWxv&PW$IOPWzvBoc1qwoc6DGoc3>YobRo!tq+7SzI$srHgY)1o{o+`runD8 ztMmE)W5-T>i@}c>Q8h5 z0sT+?)f}fkTRT2k{j;Ux)W4JC%%8hD&iSmNj#K~1j!)6+j?Tl!IZk^fIZk`7cAWOi zb)0%0c6_edv(#~>%S(>4ynO9A_5bKN^;gja223yNujx4TZ{;}kZ{s-i_jjE72RTmt z!yV^5=19kR|2p6CQF{Nn)N$5t*Er5}xyfF#Q@)qult09A${+1G<;Obyyk2*_~Ql>fnT>i@%W$~V>pX{@hUF1B!- z{_o}Z)7tLp?>Oa;b$pr14|kmMm*?TvI?jILOvky-;cmwp>iEEej&r@!BF8x|@RsAW z^L@u@&w9sc&ql{-&mWG{p0Igtxu88;I8J-oIliCPpIhhQJ2_7KcXyoj@9jA4KiqNJ zKh$yBe}Ut)f1=|bYCgFu55LdxUsQgf<1N(>OB~-*`FoD@y6YUL{=z1?>9SU@TjDt7 zJ2+1HZjMuaZ^tQru;Y|J-EqpF?KtJHb-af9;bzC_w?&S3RQYEd-$D6Dj>L2C!Q!0O+Lghxc@x>uC>g zob!~2JHANg1xGth{o@>eN3VOM<6YGcw>kc}^2Lr*eyQV>|Il&DfA0AGs{hA4e3Rpk zsC?Dtx#>$@$8p-z$#L4#!|~l!|Gs(nV8@SD`Js+qqWomX8Q)7B=XI}iociZFexT}q z*m26g?l|S&ah&qMI!^hdMXsMI-^_8!w|1QJJ3G$xG`l-aza8uN6pin2$8S|W*>SG_ zzs7Nv>suUWIla?ymY4aCb3OS2$2m^^hU2v7UB_w9XO7dJZycvRzd25O3bx2iFWS@G zaoW?yaoW?}aoV$kwe|E?N5?7O-Eqnfa-8x9I!^zb?l|So zcAWCl9H;yY$0ha8`v{1wNKP`=7>#`j0ZDZj~a$~SG3>wn6ZInMO$<2d!~ z={W5_!Ewr;<~Zf2I8ON+9H;yO$6r$aJneWjT`%~d<11DEbH_hWUeq?%Ka{WKIQ4gM zoO-%BPWinZr~JW=Q+}l5lt0&T%3tp|EY4>{7u3i<*T*J^>ZuL)4=hal{a&|pYm-Tr~aKCr~UzsQ~!RBQ~z+sseh#7)PKI? z)PJet)IZB{>c7`<`tuRTss9PbssC-qssAI#Y5yONcTqow_POcB^~zf~-b3ZvIZpY$ zj#GYsc7Tu>YwL0^*`b`^*`-6^)Gjv`qw&6 z{a-mwfBx(^_5a;*>Tl8^Hyx?JmE*L(m*dx~pZhz0m+~Qw->Uos$0H3-Fj`O+T*Bs}# z$GeVmUxKxcb6)B1j?>QKPPyrLtgfeT<2dEFa-8zzj{jMb>fPUQ%Ae+V3%%|b$0inI!^gd9G|Z8UpgK%y{c`Q>o>~Rb)52D9H;!Yj#K_X$0>h=aXuO z^>=oh`g=M~{e2v#{yiP1{-KUj|H+QipQ9b8{&9{||Ba4Q|80)b{>6?TR5SJ0QpZnK z{)yw1|I%^FSL>YXf6CW&oa@HBI8OO(9Y0#_+0SvxAL=;eM>Nw?-E|vSUn&Y&;t>e_+*>TF3J5Kri9jE-!j-R3Fa=hagDj)AS z^-p%3@x3z-pXWIBzw9{myyZCMe{!7ie>zV27F~1wzeeNL*75bqcXgcd10ARQ$&OS0 zOvfod)p5#CcbxK%JHA%!eAaQwuXUXAUpY?s8r`z~xhxIF{~I{2%b}Ak^6++!&r@C9 z9e+mo4vxR1yuahWDj(!{HR-V9INtG;CdmlLYwH(d^YHPGk5&0A9H%|kIZk`#JFe3Z z$pXg*sQzaij{_0-?nTF`|1-y_{~O1t|2M~}zo2_+fVff8o%)+QzEvugv~hepf5LIoU%jI=6GHG?zlYs6vt<&{20gA zD!;(-u7&9rmpQ(T@~MvZQhuM~sy=zt@ml)Dl01Bc;~%R0n~u}|_Z+7^zc{YTlajw2 z*Jfl=YrFJ9Qoh9hJLz>BIo@CS){ayEPL9u1`8^${{rfupsmdRjhaczo4=R6w7nN_Y zLmHqz$(uR8wFuy7=Q!(!E{?N24sg7d>e

      9DWX;>G|?-z2~qA{GsRD!u6baSGb-F?FZL= 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 xZF>5CNAgI9>itbQN(2*P9rYk zE+j7Fh7*@@cMz9x4-%JgPZO7MuM(GWUo*$`?Y|M1etHk|TrbHW?{;0I9uX36+)}Od-@n4Z&2!6~#y8oP?3|wBHOawo@#m`6nBg`w%;@2d9 zKl~;Zzccys;SVNX)@CyK+fn}<;@7|z6CVM-p7P6~|GUXQ*+hTh5b-tOe^bsc$a!hu zNd|kaOE>uG!DU_EB0rbG)$5H1lIbrfU~sihwzkr|u))=Slb@q6XK>}OZL9rC23Nj3 z{;X?o<*#X{{RReCetY~}RU3mVzjX)gcQCl}yTI>daOJ;5Bl;O!`D5UZ1(*HYU&lLh z3}5B^)Kq_BwZ-2~erfo}EdFKk+rxiCJTJa6{Fe9t@UO%VfX5!<&cQWe9PCP00PXXf3;FkvHe%2;G41RO+r|UL5y~rQXOn+ho`San=AU_!X zGV;&B-)`YYC?{VF{RLNuHvoTN$$3xyF!=uwUk#pMs9rDWo79;GT-GrXerDpY!SfJL z*;3bE!jfN|{NnKI5pN0Jj&iP`pMA(b2Y)E>ia4K4x8y7(e*<#X5>Jnu-Ikn4@<$`* z9PuyU(Ufx?^ZG>oRE!&AnCJ2J0Q)UI@x|cDiFZa$7I0bjYU&@ZTLAfEaGoq}aCQ8a zP2$#_3Ih&#@gl(Qc>|B>GoeuCki$D{aZz~y+H2tNn;N0DEg{4MaSkbe?> zBl1sn((BUR;`b$g9sE%ie-`=U;4dQn33aZuaX?NXEAL1{tF8<(ZIQ3Zj3C7Js ze$vi5r^r-53bu4;^)x+2L@L;LCAS-aFz2O=i3j&MYSk){=jV{37t9i8llPL^(~+x45G{*Kq^tOiFwNax#HS|0Smo z`Dc+6NPHD?YFlzzlK&1lzYvc^&LB(9B=TRt53%?g$xn{wm3uAzY4VG~|A+i;=<^c` z|42D4kdtW4k99ff+6p7F|5F-V?Q=ie|N0Z(iJWZ2M}Zdumv#I{59d@Ne`r6w59?d} z_T)E&-<$k9$RADq3ivb0e+WO6{QY!!tNMKs>6|JCSM_HZsCf|aHsCG5Wxo|e zKf9A30)K?XpF#dX_)E#}i2N<&KZ3u<;A&oFF|P=Nt9d0Hq~~>-c<^A&FA=W_{}%Dm zL$v=4T>2o_Gyh8dS>(qa@3|iyBR@H~?{^?r1(*Bl#>h!cywnKo=eFbo zk{^X}D-lnHoM1~%Tk_u`rz`Q-!*x9aEjbg(_k}-;_(|}kmYgl*7l*%-_-gP7OU?!I zo5R0Bd<6It$|->L`a=F@^fT5Z&*ORmctUVlcggW1za9KM$``s^D)dIWZ@DuGd!h35aI~{|Q|BBlFEp{tWnqEq*2PyTNZl{!sL@6ZuK7 zUi~coIP%Y9U(F_exU3iX`;i|;{uuZN$iI&LaN6SEAb&UfCl>z;`Sak%n&P=$@xXn+ zW4N|W5!WB7GXwd3;O8Lz0P`(k$*D|!5OV5S{C4E$fj^M^rRe7b@=N1*`HlRw@K=#P z1os!)41Uzrhmknm|1`Kd-Zvrtn8B4F2LG(VmH!a_4e%H)rutkVj_ZT#_MH3-V>SO` zaFst3-}iT>dah&UU$yUL@WU=7zh^TEarynZ=?(7A$M>hQ8eG+%xV6qN1TOX8jH!8f z@(aMPLHr>4T%Y&@@Q#-J{^Zw3{s`jndgyv463+uZk9b}1WyJe|uOogFJe+t8^nahh zRX?N9&!Yxc{TzV$&l_C%j*t4_IM)oW{6(!5b-f;MaOLNR|ABaG@L1D+>=XC;f+r<@ z0Nl^uYTN~wZ#Lq8ffojs{oox-Rq47uH~D*8yRj2&@!OJr8-8E%^B{i=`3unhnHE2k z{JrouTl~G`--Um|;{QW_yqTKh{h2zdm?EaOtz;_>rFnUJxl^@kh^Ag14_tw0M!BtL%q?*?;xXP&vzq!Gc9|XU>!IeK6elLS7e;k<4{OlRh2$?qAJ$m>9pp#AKWy>Olm7(%9rAagp4a3TL!bY%_=#tDxn}v} z`!7E5{lR6v2a%tb{0;Dn5+4g*){;|;{MPVW8eFZ*fu!#8oDK$8>yo>#<~@ja1Rr8> zmGcTYV+^ixR=}TWaOG!6rt=pVT=_TQuQs^ygWzvAxbjoub=rO4($9a<&(q|8!G8P4 z;y)ojLmyq|M~fe4rk7ig=ckq7rv#UJ5^BxKLjGL%1ucGg^1HzgCf^tNZOQjWKf4mY zjhw!goKfWOfj^7 zIGz87_*C$Cv%K7bS}#>+Tdg~O;Ih6K;b*n@MaWMuUI$eqAKwmg>XTm%ep~YKZ84`e z`OPNi{1Fy^2KmL{FShub$WIA>JMoFA^N=Oy9QkkHUnAZgJlc};iTtzhW6$N8 za9OWS@Ut0yF|4int2Ft;G2bf0{{gR0ISG)}o_wE)`V;*v{&?~$!~c!^yvSco{!sYa z41Uz*zQTF(FM~(8_%iqr#NSNP1Dqxv4gV7Hh{@W&2d<76)z9)8J8#Kv2LCJZNf|2EIep15hnz9wH$$Cs z$PYn&sKpN>e<1wb#0!8Qwd7nPzXAMP#1nzPq?~rB|2z4)rs_|`ovYVT)~hzSFSzWJ zUyzfP{9f?$5swRAigNHY#i>R9T=)%%cf`7MFt|Ei@+a2?bvL*=UY29O^(USZd<5}L z$e#)>^TopxCxrZ+sB;zZV#wc2{4DZ!5WkL`Bj7SF?tY#7hJV;Kug3T}nm5Fog2(vn z$2uxse!eC?@kQ``i7y7vNPH=HUgFEaOAucLUYU6CXEj5|X+>P>9BkpgS@=c^KWO2X zE&REKe6^clZ;??*e~5`E%f}viN_HzYG3B^6_-m`J4P3@NZiD7v#r8 zKfjVc6ZI!t_~W=x{m%y94_x}Z8h#G)Yr+pSxVrysjr-q<23PrO;nyPmd4?XKA@PIY z?ZBm;eW<4o`HSI?wD>c~9{_)`#ot7JF#LTM{|x!L;9s-&Ps#U!|Hi z;L@K{=ubBC8)M-EEPh4u^TDrA{w3tMCx0FM{uX~c`J>=3Apafm*O6agmj1+ci+_at zc<|3z{JZ3zMLloG&#oHly7`3Y{!5>QX8@P;%nFQ~$KsbFe;E8m1~<=>ZH=4~x)k@v zL58o6uVcs=PrjTd=aK&n{$_)l;~uu~s}}y!!ecM~v2V?Me+$nJuKHZkm~VN*SM$v< zTYs{$!Oi@7l#>`)?F?V#G(=8Mi$9Y5sqm*+{3YZcg1^Dy|4IHQ_{Yh|Y1O$xe%?8H zVh_pp!+bxGUl)FyC3;V7k*~)JHihje?I)01~=EG0r9<$^a0k+$PYxe z`fE1v*!bKsBS)=c?z#FCn+&e*k7g#<{11aG|4-Dpm-r3vNN`nMDIMYdc;E2Nc|9k7 zI8s;ouaQ&Q$Vs+T_h0%v1ofvOz7#w&xT;6xsIODE0_0zSU)ti=CO_eCI;T1Lg*A4% zkzWx00P^?3A4`5G__Hkja`Hpr|4#l*N6h zFTk%tT>M7FzrycGT>SpTbC=Td8b@6G--u6wzm~XMXJ#95$=O3(t{Zli_#@=sBrZ8m ziRUVfbs;W({Nxa8y| zz9K}QPs$NLg#3EMWgS})m;6q|WgUkQuTnwRKaIHb`8VQ{zn1tlN5pr+|4dw7Uy8ZXbG_vCrMSc;KPho}eJLGrd3~uQami_D;k_(;Eb$FX z^?sO1{Mvkd2fvZHjQa<1xgP8R;&NTMQ^dDm+y}%Z{{?ZmzSbAwlAnB)XaD6oUFnHS zPA=k-Q-!$H6GU7dpR^<{_mABzd^qv6m2g}TmvI*mFAsk$aq<5kJ_-I|;^IdUzX$&o zaq*uKk5yUM|1WXzy;pm#%M$o0iHo1d!ix}>{ZpQ}?86}9#j5B!n-eb&-k-SCGlID6 zpDDy;|EwY|`!I~SNn2vLE&mm-AaBaXBAeCNBH!F>$}DdS87aF7?D(>)HQK z@RJc2KRxlu@beNEzc}%$@T(FRzqN&TCSK#NzF+7^ydn5>;*!4rTsAC{0n#?;^}a|97y@SkzbAc zvhW)kT)hqxh1X$P8eH{Z2K--$Zv`I!F7sN9aVL;p9Q~Y0ye0TT;-kRVSn{`%zY6|7 z;*sFTh(805BJQ(LPv9!?!r*s_HvxZTaMe$r6gual!Bszp!FSes?voYZ@rWMw@e7cD0Dc97tNxcwsRyV>yeD{j%72b} zhFSPL3*SoIQ4@6CqAdI^@m%m@ZuH!r<8fdo0hhjspPu}d@C#V{a^wfVuWj*Lk{=&_ zSBpP{{M#YA4^zl5g!zV$e+BuQE&g8ex4=J3eg))5TX>93p8HVz)D~WpcyHua0hfLI z0Q<1M#cxl3T=eHx@+TvIDEVEN=zfkgxH>n?!TSMbT5>`SKf>kb!nj+=m*0oAkNn#3 zj}h+$9z{GR>by!k^)g-mLvS@s_4q`_{Xl*eq&vo2_zNG_~b(x1cvl9Qf zRM(S_cpKCiXvwch{$I#%K>PyoTM{pY{H~V#A>@Z6XDsn4;M0iz0=~$Szk&RU@V627 z2j4^d3;G{v$-heeW%zfAhl9Vg#cxf1tWdqLdXWDK`NPT20e=$tL-F&8^T=-nf2GCWM*e*G2gzT8{2Rp6#?tja zr<}dW`9l8B@ZyxfqA&Xyu{P^(ekzWM)ZOIRU z|10^G;SVQ&G5jeOKZN{#@Yj)F8~MA)e+K^`@#HIXA5IWI4F5dk*F*ko@}I8MIgg32 zTc!C2%4vrj?=a7G905NG@#Dz+;?2PO6E6xr#*#mW{1osP6Mv3%TunR@e5)n@5czB1pCmp4{E8(fn*8SQzmeZF zmfjDE!oA%8kmL6z`kWeE)=~VNl~+yd^#rInGwSF4BMLj}N%4S4Q|5Eq+1r zE5WZ${&eX-`RUi{d3Ch-{mCy6e~iVSLw*PNOUR#xdNz>%1@&(uz7aWlh`$Dpr2J6i zUnTzx{JX>_fXK@Z{FKH*D(UVFSxAZMa(Nb@fOI*PCU^DonP3JUy1xM zDUqpR+~tqm)w$IhV-q0{<5AZOD%%UK##-OMdJfdLUV^bnp`spNafb#6N>)2A4ia z{Q=~6hhK_#W$?AAkCe%Jj;NW3JtAGoYzJJged{Fd;GSp3T5kAmOW z;&&o{75u>#e=_;U;4dIvFHFyOwIyde`A?8@nD_wXL|Jlflb;Cw8;c)vm*=|Vho2f; z`rk?VPk#JxJ+C4bzcTrG;McSG?Z^*;-<|xPsAn+w4^aOY;`5L*mH2h=g_J)S`RmEw z4Sy@~KHz&O2R}yPM3UcitM1z+^6_>K=OOtAFt3-yt0LzU@lV@ye(c?PBC?K>pAuZo zw;{;)C!PiQ*@$02et;#vBKhI)YZ0FU-jMh&;O#8=eaNo}e<*Q(@NvYyU|zE=`76l3 z41Xi>aPVE0oa5wAhkuKFJPmZd5*{3QIE;Ih7H|IquPiN)_seg*hb z41U-ZA@4U>ZsB_@{0MP*|H&QV@;;X5#KrgiOHWYE%d95}ae4nq8shRkmLkMuUS){O z@As@h{C#KwcS9QymvQ?Lm-mYfBrd=2ax8JFXBu&-e<5-CJ(c0a<$a_(h|9Q<#HIfi ziOaZmh|9R2iOabE5tnh}?eSbk88;02e@^8TW_#O3`+t-#fJvaEY$ z^@sk3AK^k>a9j*FxVaC<7+m?G@Fy5t`SSY>=NMf1pW)9pxbhd{`+aM`rA~ZX+u3gT zD(4b%_LHC2^*MDrO@5i}n*VKZHSQ{md&l5MT|5*6M;ly?n-)2546gkAsazjiw@(IF z{$%)H4X(yrgK-n?^-^Ev{y86&6NPb;8(ii1?ogI%eBzstpN04e_<4!9->Gwo68GMv zc}0V(dK_QPYZ_eDQw}*z4DRj&{5A$xzCZk)23LM-_yY~D{I{6bID;#HCj4mzSAG=y z#RgY?6#P{NSN@e9t`DwTxWSe0U>$cGT>1aPKMpSY^S=5T*X;`V#o<4&`0vSY4&Q5^ zmpf1L)2e^CZYjX!{w@mrOh3m$FB|3rRk_%ZhD^_6uD z1WyJo>s}n|l9Buqm~SrPYtXk+mYiDTzeG+$;-iq$$&xdW{1os<5pNDYk8(<3UTerN z4*z%JFTi&ZPx_bMC#Mar&a3kK*&h*?`^{Ix#s5mYZUVhdaS!}hFO@I%*S^HpWVbH<-BizYv$l58a7N&L|6?M%)*_w|xz98TWVMZ}B+rFmb8pEOB`p8%WGGe%za!xXd>J{)YWtOQuay4Kfc$Ys^*XjRc!Wz0ziTo(c z>jC*KQRjQ|d!o+&i0=YVa9FRq^jUJ!fXn?|4fvUf{{~)&ayp})3glPCd}|W#3f`1* zx+A9x`P1R|A)W<%6y@|o&Mfl7;V&Y-2z_2}aJBzKvH!yjuJ-?WtnZ)1Pk|pMULW~U z;L`u0sPh*27f@$3@z3C|i5Ecr7vgCT>H*?Kc&__ojGN8i<-ycnrNL!CltWGp@_q3& zP01es{}=Mp!5={W0r+Dr{#^2xz+XkaoZq&Qe-Hiv@{6LLv*hPKq(5=p;y)wb8~$hV zOCmqs5#4|3=V18Bh=+owAs!5#89at7x4i35S>zWWf1ui=u3HJ>g^p-mg>our>@*@j z0sPj)8z8?k@kikOE&1cg-w%HV@q*wBh=+i$w&ZUoKMDMO#G}=nyz6$1cm((bOa6WG zm&1Qfd@%S2;tj!L9rbdLFY8#r{XfS^4leto5d5^n6N2Zk_}1KbH7*@M*-af-j={HmGL<`CsAhwD`x!Pw#$_!1cJy;y)(8Jp6wxeu86q zy<}ZF!1p8m8aykwtgpBD?S0tYDm~KQ}OHLc|HzKEx#UDfd8TgA0u22;2?^YUI z9YP~ePnf~o5kKiVcNtvy&EX#bmp*jVx^t2I;_z>g-wXaT@>jrrPdwnb{(}FA4+c+g z-1E2_g#0w%vc8SrXC|H$JTK)eKu$^W<3;LER3(2E{Kn)T!@SxMe~59r5TAEK2Mw^~ zPayvp@@Eo1jQoYfdn131C4UF`b>QzOo&)?i@z~%OE%^_~zl(mpAif9uBk={`UXh;b zF8xmd9^ci*2-lx}@Y4~m1D?~8Q-b{5@avL~Z_hfd$^R35=uSQ!Zac%sk9ktB`(%s1 zi2NJKUrRog-PuWgHsnWG{0rpQg#X>(>Mly2cgH=U`>*<}xLn66HMlxIRCN83TVC>S z;`x42gRAv=c}9OlNrRi?R;B#77@(2itDG!n^(WesFOP5gklzgcNb=?J?M(7l!CzwW zHC8&+RU19%*pphr$2b;L0xx|0cNfQy$;GAU_@a zPvrN~!#c6gc&^uY_=$=CbV+|fD&j4{GlNS#^7uA@{F3lX5r2fuJd_@P%wB(19ABFt&#MdH!EAfWN-*3r3OMW5vSBNJ9zeD`- zWnKRZOa6c4AB7+1tml3R1@|F76g(Zcth@9-5BW{t7a?8ZGZ^WyECpfRySM^P5Q6pyo=kr@- z!>_JObboAZ@kbec4Z{zy_{S_fin#nfn)}4%_c6UDKBSgDj+_g6zC14<;!EMDCoacD zVGA!!{4eAL6PG%>5SRRs7Cwo% z|DCw_NiKS>%TD3O~T$ z%J1A<4_?;b$}fCF^NI#n{%$;e2r{_xhr_RLaOFq9Zx61{V`{#oTz}N9ui>kl=g1jG z+~=lSccxHIA{FSmg^=G6{yK}lll(&PBgjvU{PW}wf`5ce*U{uVzE`Lp2%lHUdSHOapMzX9>~x83DAZ7n&y$u9?g1o;Cn?sW1u zz+XcC6!@FT{}*-cAU**(hb=kh$oGeT%i_Nv|1|usfy?@e zpN;&D@B=J@_zd=7wk$(vO zHS%90|1tST;C~`N#a-Qh@2j52S0wz@;IdxL;ODmZ<;X7zzc%?*V(4+3k-s13hgJqx z=fefK&i1dCoDqhv&I5~)GmZS(7eUlRT^^0%R$ujDs=q(2ewx?V3? z7xDeT zDMzk<+m`&;k9E$k7Jmf!w~#;8;x8tDH~jS$e>eHF;2*X4m&or7Kbm|meYfL$BEK%? z8~di`x`>|=T-GHQ{7mF0KzZ2%l(OVl;e+a`xw5;d3Rsu3?;r3^POPuqb}7at@fuH+#GkY!Igj8 zPy4G3uEyyjR;cq3`M+bnXD$9M@~6UoX7Rt0-x+?q+g|R1xgI}o>3?PT zImsW5`b&_14t@pV>tDEsbAl{6t;rwyO#7XQmjxe1JTCZT;tw$H9O7|b>iosTbAzu2 zm;NlkeE+iWlazA|_1q)=ANYGqPV75+U8Mhk&vl)NiMK_aX~4P8T;vZ%P5|-o$SFm9 z19){yepB+#z;8$VEqEWwS&e>)%XvXZ|Meld$*mHa694anbxK6kM2-jwqmITOjhgq#KB z_eOt~6Ayf?*J}fDKk&aOKSNCIpCo@A{3{ken*3JqKaigd`QGy8kJ`WxXUn3;6}$7qs~0$*&K;p26LZ2U6>Cn;AU9 zg=W3iygl(o;N6L*2k%e(!8@HZg7`-8iNyPW&mvwNe5t`z{bf=A8iT9)zhS<=6F&^T z2VDAG7wdS6{3Y;jTKpH}4}kxT{1M1c^uTl7Por;X46f$Y6Z6Vsa5b+t@N*L{_R;l8 z*R3$|ydN|#P2A^`<~6{j4+~LeGxC=szdiA@$nQ-#%aJph{A0+OYH&5*FwA$B!PR^} zqRyq1zZv;k$ZwB&b`nqfSIl3COue{&tM}mi!B-(|M@ZSNbWw54b%335V}T zybE|%OHL8;r^7EpyfSzl$~l1gTan)${pmz}GI)Q=k=NnJlfN1M4C3X$mr%|b)U%oV z^YC{N--LBJVsN#8Ze#zPHn`e9&#~Vw5pM>5i})MlKLeL_JdZm6CI2((^m?S%UDkIv z@)HqH3GPeW|BK$AS-@r7I~cdT;j8)jq|ttLgRA*YxvzOW;uVnJn(~Y3r<+bs^0y#o z5bij8|oDlLyVBA&2k0K}Bl5>#!705Y3JQO*XEjf?KKZ2ZB#0Mkin(Z8Z5%8{-oPp#ggFlu0ei(P1 z;j4WZltzymW^lC+zaVF?!IeJ}{t<&KKj53rIS(#L1iu~eU8u9CC1)i08Id!I_*~@7v*fHH|2zC`7XL8$*Wq6we-HW@P5$5a_3`q- z;Oh7d!}0r{!PW8m9Q!B1(;w@o{M+!88(jI>@Qs0=!DW4m=r4B)klzM=b%P&v<;eGc z8xZeXH=*mZj`Is~x!z_E;*v9fxcq+ham3>U>-_n|<^60+h)ez!;_`mBeZ=P@|1@#Q zxkOy9EA^7N__3e;SQoQzX)L^eg;%riVB&K9sFuX#`e0p%zrcL^6PN2;jU_JE4Vwe5 z_D>!6it7)D$d~?HvhXLwbJo-A`<1w?Z_MZayPwI4%liII{2lTO5tsd0g1D?>1>&+l z>w>F31Q~tkK>lRBpRk9))$w>ZuKG&X`>zdd?vo(~SAP0<+8<$X<&T`7K*cySz@;8d z9cP*0tDI%X*<|tekUtoHq{Y8UegpU~$WP*~(sBMH{}Ftj7kYiAe(^Ja%j5hA_<6}s zhy2py=ZmlV7G&{TlOG>`Kk|zpe;oPs;m2rPo*1u?BK}B3>GO&Sr46|3k6=^BG+2 z|3T+A&xfJT7UcIpogIn$VBBAcuSNbq;&YHQ0bItNf^kC)UKdRL zb%ypbDktjTF`<@dg;=Udp|%I^oixWSeG58hW<(csGe z2*0Yqm7fIf=d4Hk9e7KFtDH2+^!d51!Bx(&<*{5J9jCj&m47CM_Invz`SSkHp$1oe zQ@kN&q`{S+0rgBVxblzs>iii7SAJ}~?`4s}mA~gF?JqUB@-HBNJ@MP%+YPRAdiv>{ z-3C`V@_yYT23P)eym2Se;L3lA^}1+q<;TMX$FCY(`HxV~eS<51O^~i9+ThC1eNyk| zcf{rWy3RWaW}KS2Iv_-DzFM*c1GzrlY)evG*8a-5j&z1;th z^W?aKdR_^L`ys~@Bwh`?j3uWI`6J*rxA@)2-wuC}#h*m}Q}~O> zZ-aSlApd8q`!?eDux}4i&R*pFP5wOO{6qXt@O#8>fl!d z!z}((^2@_tXz|yR?+t$k`3F(YQSy)G*YiDZ@$Zp88vZMb?|l5RE~@{f;U@=|{$E8s znaHn$^(tU+wZ1*EzQql$^4k@{dJ%t(oEpTp!*2{O^*ls9oygAyzd!jWy!Cz(vGq~zc7x>qRm&U%mPkaUZ=frPg-rd=cF;X@}n@Xj0RVJPWbu3)mN+gsYJLRDMNl6 z)KitXAI^IXDaRi<9mo%a--rCn@JEwB7UNDK{sHwbq?|zHtRsIda>9w9N6voAX^NaP z!ajdbejMzd7@s}Y_cqqo+u&-w4&>GA8{gpS@y4}HdH`R8EB_3B za51&Pm7fNWXL1@`?URuhx1hmQP9OXtoRY-%gI6TJ3G=E&JTA^-4T+CMovnzk2k&ff zRc9FL>|tU7cbXnj{Cc9>UftN zUvPOGSRHH2jVhzd!kjtLu49Apb7?MB={G-Irf}f|Hf`9o{y`kxVhgPhNnoOu80b(HlAL{2i|slYRW%RY>o*u4#$ zg5<}lsp~08{5EnbT5{@=zXyI>@{?oS-sHE%xMMB;T=KKRUrT;&wIjiE8P-y``KAs3+D}&-GdXKOyn_;C|q;UXqi8{K4=G5^n%ro^tA-o?!Bm z*4FhmBmM$8?JYUI$UgypH2Ezs?rie!V%!koYrxl8a(0nF68;g3f06vA@b6muH{=Jv z_xk2}{@jP>K`FrHcnt2U`i3-R=E7eM|-JTEI}@#~WRH~g05KR|vD@;|~KV)3Vt zpRTm7e>wT_eRcie2_b+C5^SN?bW zpyMZlEB_i^my7e=%k{q>k5B${|Id{NF2`3fX}A4t*G`14FUzk|Wme1kCG?gm%$&5~LB{fQ3%A7gNpGZHyd z46bq_;m;+WCX3ErZg7`eVoN+z(a2lYz^)l9Q4AF7R^^Ujtr@a&DoXs^r(prt7IoJQ6uAEjc~N zPmY`c#9tt10_D6wJ@d)`2RWg{cY?3CR8%sHYS8gL3F~??pTg_;5?k zbn@%MpHDnD_*%*-jCyvG9}WKi@gv}omYhrEFNgn#{0bQNBl){?>OMHJJdej=;EBLx zeI+Ly`HkS`wD={+F95%a#cxD@0{EQ_uFhjVxc};D@CX;*i1Ya%;@`l>8(ig-Mb31C ztDHJG|A!b{`90yUG`RAozz+kLzGcR7cYyq3@XwK-KBg&)-%^>IAP(-_+uFA%7hF0TzD(`G3KmYjCw* zPG{tR5!v8g)ox^ADze+K`X!PR`_b6I~#c>iFT=_}yx^ZfQ zt3I@Sc6J72@5&TNzx{>4Q3dF}TWE4ZkPxkKn@$ zu5!vEXPm)RPPMYSp6SFxz(WkKa(W_XrNLFsbNFEfSAHn`T?SWvj&ge3BjD1vg!=6d z&PDP&z<)?S-j?NjAirOEo&TM9ICw&D&--`DNeeFb?-$@_A?{N_=NF`$9jL!N`Fr8l zAYKT(u_dPy`NQD%BHkE$6y+R2J+sKKSW(x%i1^RoD=j%;lXa<#A8>|^UZC^2_!!|{7S@Yg9lTNqu=i2v?c!@{I0}% zfe*CgOeFs=__K)517A)#2~kft`N5TSAO0ks5B#ttCyM+8@b8eH8sokuKNHTMUx+_K zPMo-&>nk~_z-4_8!q05+1IQ17U(Vv!CBGm1w&YjDe(O#C6r7ia5I+V!(UP-({8%{8 zthV^u$B~Xfvc}puWv|xHu3}D2Uz@yyt}#pFLkKR1!TtC8;KZi^pD{%`OvS^S6O_lE!0;>Swpxn8y4`+&=ON&Okf&knyJ z`A;z4APetC{4@MPM*d;f@mmDXM<$W~4gNyISLfky9A7Jlug87}qZ}_E*B7~NkrsZ} z!v7_n137UM{phEvU#m`U?<0h5E}-PI2VaA^#=(rUqB{Uk9?f zKDchJ46epaR$uSKb_Q4VS402%fJ^;#Fzy(`S2;0J|19#m!e37Q2aLPL;_o9r3jRrp ze~tVN@S`pMC-TR_kC#}lqs(_X>h}Ye`<-jp{~3utYpDB~&yrJy{Mik(UzK=6@YclB zf_EmKw6V_VO*{a62=T_?W5H#)SFmldYa_*784E}qIAKS-sy&~YJ0+;?v-?EYa7=8fx zSJCH+7G9Tf5;xWB^$Ypmku!k&Nc3kU@dn75M7$vQBFZnC)U`=nw+-Ykg}>9{A0vMt z{EOt5L;eHuBjCR!zZ(2lNj=x)PBYyfA8=V0@iUOW4}KntUyA$?_?3w#2CrwyX-ED* z_}z#o?c)`G3#-dd)EJdC%uu=Q`)UpJisAfu9;&*GuckLH+>vMGcR;pYXEVpJfb} z>*^f%m584NuSL8a9w#;;{w8=U;%~Qe{pn160Ul2cHeBkwjXFmdE_J5G4`hrZUKe~O zxb|lR)@vF06X0+1`1{CT3;!hfyO4jC{FCtiFe^U zw+P~8S~;GPc;+^a=Kl9{`>p zty^DR7acb>xZeN#1b!ys^}!2JPHNO&hWse>rxNiQ;PogcBXZi3zX^Uf;;4AD%>u5^LvF`>a~m%6&5g%j1&Q}T{u`9P0{Jz`ua2CC#9!** z&c{xkoB`yo!nnhU-)rx3CU|n@kbe|8ONbvv&RS2-4)X6J=K%4~k#o|MbCvw`@b3^G z3I4>Blk!EkzIy(afuEjuOYoP$bsz4)dKD*sJl3Tg@s8kCJvj}?uK>R@`FAnyNaM?S z7s?~=f}f8tT=rr9j&6Nt87_Wd`11`Hza#ur;5y$DF9e?qj&0;$?Bwzfl3xz~S@NHB zcK$Vw|B(DM@ROtuKOZ&!MQ~lmjqtM(e+B$iPfl6#r^By8{8{k&o}6~%_krKb;}0kQ zZTQp3&y0R9BL61#Nvy};PW~GBhse*0{Bz_lz<#(+ejfOb$=`a6L>X-IU~p~ikwLv|1o^5Db;<7vzYY15u&>@F{~r8dIRl8dfc>Vi(ee$768}2;bntEWytRazl!0KAB+4NhD-j^UT$7>43~N7 z>(I6`Tymn3)5&nj*@7fPWk3^kc8XniTeC`X@8ZPy$ zc-PHqz2P!1eSNk)hD*)`%;XIYo)r27eP=>+gel>X6?b`HhL+Ku#OtsiRz7QB?E z9%i`s3H!MDeqgxxZQxHbT>R4Try4GP5BQ%MF8*}*3k?^)Km1jOi~kG!wT6p74E{F5 z#n0E*)xX1V@khh|k@zI=Ys9OxbhoGX443?B{apS-!zF(XauR0?zYeVK@BCzji?7$K zbi@}UCkJu8Jt_h&sj^RSc?(rAzSP+teW>H{TaiBteh>0r3$o-GO8yr3fuK{{0i~*$hi-$=VLdlS15bvEcuV% zS0SDa`=P!krycnf;ddwA8GMi@XAJq{;Ljp|4C-G_{*Un25Puo-+D!b70dAk~_2mCV z{ypTMC*BG6Qt)Is;;-9szI=}PW(3!LGHjr$KPT~0;Ke;TmB?=n zzZUTqz#9?2jXK*CKLFkbT=(a3)c*nb3y?pac*8+%UUNM;E6Lx5oUe%|N6t3lMZgad zzk-}I;9CDh)PJ4)fylW_JOldhOwRCi{0%v2z;zuzLC#CWf5!gFPdT@cQ=0s($f-#D z0(f1@`5QT141Whq{ux0z2?x7%8D+TKF6jM%=_aR%$yr8z((m2vRIK50{qKeRb%xvg zt%i%g1par1i?5HfegK!Mn+9)sTp&Lu>bXH&=k?H&lQviU`Zm+>;NODavc9(d(#F@< zyq7O);PG1-zlDf6`Ws*R@ICr4*l;`U2ZoFP1pa8l#s7Q0dwyUBxb#iN#jgc~mKtAj zs=ep-!&e@EC;2h(k9hnG- z$!X~#;@;ObzU^}pn-AX zdr_abK9AR(xcdEw>+kc90GF=leSE2Cmhq);BQdWzhTC=goN~1Pn~X0xW#4!G-$6VP z_yNP^d7;>R!Mor%Vz}gNLOs72E`AjJ-wYSOHS+%g*ZJb*qe2Pt#jlt6OW;Ra@O*}PnIvZ~L-^b*43+mTng2$gtejoZ}0KnHGY)w zM;TxGvj_bdYq+iRW0TX{yxRIjuc@FY?#GAL{YPlRpXmEb=qT zq=I7^`S;{$^Xg)91_a~k@qx#mOnxGK!93&3yl!FK^@iJVzcV?w zDUC}yWiF4Y%XoFQvJ#;s+zt+OR@%^zg)Kh*Hx-^s?8 z{J)St&2XE)$ivqV*KrSm%e+RJaW5NR#!WZU_2G))cH9TVHUEXe@#n>8lV1Q_&x=yX zFKD>Uf0MZ8H#7Mknf%_ym-?F{zrW!&e>8E;UtsdbnEZ{#m;7PK|Hg2eznl1ae821z zaUJ(AxO9E28Ta`j@%vWBU4U^@8E(hTPF(Y=64%?o2E_a0ac(=}>h~nR7yeM<>VNFv zbBWi)-(~xp_&eY`h->~KaOvAP)3@8i@$%K7=ZnVgPw~^^YchfB{@jH==k@rnlYa$% zW%BXo4nhsdf9^wfezo=Zy~%$K{%FHx-BUMn*SG1!wLkMs{&>@$wd9w=^WocwYt8{r z&hNyv&k2gf_gTi(K1YCSpX*{?Sv>x0w~Q`6>%Lm6Y+(}$xU4UzGMaBmnXY@ zTZ8z!_-4i1#5Jcm@nmh?zU@pr4R~MT8NsIz&j~)0xb|~C@w6@6xGRZg2H!|rpU2xp zT>swX1L8Vvf)e5DGGMm*j!FvRU$k@e!f>$qcy>$ua2>$t0kYv1;G_+jEXI=H@_AzlFd3h`p#e-keS{*<_`dy10b z>!|CVk@!TM7sZI{yy|#(W8(V#xbDQY&jX2TozscydGRT6t!FWDJug-h*YjdCaqYu- z;+lVzcu{<_>n?HKC!yEF`(b zb<{pb5ZCMZE5vpG6eq6t4;v6yzXfsi`w>@v1n~h~+`7jQSN~Ju`{92Wps<<@e7 zx!-lt_;P=K*(i5=de(4zJN_H-?RXq<$8gCxi~BA243``|uM?DxUl;LfV%)@ri?8Q< zYQx3PGuqXe&T#Q{U*#}d{C)6q8!otiIty6zCB_p`rKhFn0kH;@beogpQ$d3-@AV*UV z@9E(mntbU`MEf_jb- zp9OxF_#%vZ&2Y(&C=k30jyr}+ei_^kd_?>gp1zmAdV`|s1?1E+%I&m;OES7a(UO@m=84 z4VQWfUu*{I!OQp9TK6hR5{{{$9hyzk+&Bg6q7pB@8|p99PL7 zi~LZz@at+$_z~dG1z#)q!*TnSkNiCFOOd}=ZwC#R`s)@9-UUYk!zI7wN3K7O4VT-m z1GxXt-f;0hhTqw6@%8ahU&F<3j1zC5;o=`d{z&5I!6zFYSO06l7X`=1hD-i@LNdI<@Rt;Uy}pOCZPBj>wNOT=Kt0{%qn?kiU?4Eb>drI_$6G=bAju)nqQ3k{Kzj$yfN~t5MPP> zI>e`7|1<~JabLl_x|4qvGxE?^9g>QCl_(`BR#wxxb$sO@TNyE@?VNd9`~vDiR<@C zXBaN?9fSFPVz`~}BI26A+HlFai=3|vmz>MEKeH2@>py9H$=QaS-^s_*2BCk*Pe0r3 z!$g(h_qp^3cY8x=!F8XPfuEE7Lc!O_QN{Rix4*c~Hzyto-j{NUyO_`z;kFt+2Bo%(Z-i?*JIp|$=7|dnEV^?*OHHA z5A7g7)hBKr9wEPITs6V(AsJux)dd74s}g^G5FUYzm;+qr^*VA&8eisB6ysJg-0rJ) zh!5@S_EksXx*y&puKQ{{@w3SJgt+D`BCh*tJ-Ey(26K{sj+3wJeu=p5tH*{*9~z+# zPYt*GDrwdDJ`30Uw1!L0cgV?LxcIu?@_}pp&j+8Aqnz<2XFPIhl3yy$4t{=z{QK~` zlK%$$!Q^N9)a|#A$bS?57si);6^VVdop==ZNy@2=oSVj%d6mPs{~B)hTZ(GoeeTiU z?YGRtb)V!WuKTSb@gvBoM_hB75!e0J6I{AA1#^;r#*?r6VK#ByZ)**gKJ-N&)*Ej3 z+qc9u{{V5_S7*SrPQ8v@H@=MfImUfRzFxl^|cQ zV@-@N`)WS+&%4BrfRCmey^eiqe5o@x#{I%@yRWto?>f-!tNp}vKO7^j`|39FBglD5 zTyv7X72i*(NB7lB;LqBv`>KuM(ueBkLkGj{zUoO_^9K{xeKi(b z>(qTU+xRl>FpRs5eBD`L%)|?W7YEmQ z>Arf)_%g3Y7`KVxc3*WR-gvOvSA&S_ei%Vq_tj^_HzMat;+nIbxbCZc;4-gi(gz$@ z$k%nhM_l(+%9`>0ls;scD~Z9+xf^cx)l0-RKQD3JSFeL>ow~288DGY2fN>j&+JM@<+gb zoqWCj*39@)=WWy(MLatS8bdkdQ0H9ZOPz}`?n=Y$zS>H>`1@{O9VD*%;RJErSAP+o zg`5O+;`?UT@j2qUuksPsaf=Yw-~WA!xcUvjWnHGDH}X#(@^$}26W9GY+i>aUY4mfh z;dWk2iEI8^;<`U~fNPz4-TTq_GH%2?F@pPFl4@fmf+H@8JLs&(~JD(`1$rhhRb~WVZK8RxBGvT;o={GKh|*Z_4Q|FgKIr0gU`wF zx$z|@;{vz7>plJ+^52Gkf_&Y#zmY!*{@;enK8eMCcx<@T^9%e$_2So8_;T_{_o_>kTS?tMKNB$nnYbW{jT$!O`jxtNW3F>lKO6abzOAa7s2&; z;IZ(t5w8GVh;sC`mfj@4HTqMX_y^$cP>#NaPABr0!0$!8EcpAB(+T~YNdEWmXAqCU zx-2nV&X?ObU%oV4&Wm~259^8V0RNVF4dfpL*Z#kYI?s@Q9d-UnJYuQaZ#RkOMgBj; zi@{IaAbj12V%&n@`h2xsS1Wt?+r;&CQCgY&naGxZ`Ws*R)&%toHr!rsKQLVUN$^J- zF8)<~-(;%c;y;2v!*KCuedeBtTxhuX1DCmeE;U^IzmdO&c>VqE_U;?vxAr-H09;a~ z4=sW>IZhj2#{C&}{%UyKe!~N^KMWT?5_SG*xYVil8=n|1IoXkuxMBG9JPUGC87}^I z_~{InaaY67Xt<1fAN|Q~xcI-p&u_T+e=bNEybpe!2weNq#c6+w zCq5Ru5^?SG+r%Hf<#M_Z*LsF|_(#OG57UTi9~OYiF2Ju^#hn40jW5^3Y%AP8*=D%i zpL-1#zY+WchKsNJ@Mq%s`y*GtwH|%kbl>=r{~7WVHHp7oN&RVpH#yRR>-Fk5{2U&? z2>H*gbn`9m@#~OZ8GdW>^>xg8kv|On`^3KnA5Huu_%y@gZr|~M>Qlp|KlN9+`WF+g zz1s0Fi5G&u+3>jAN96A?T=J8^KR`SR`NxT0{?d(m$#BV!M*cO!C4U-n{vy5|IZq9j zoLJ;M+cf^XmYns-i6A}>Ia$D^I@v!tgEu)|BYz0yTgKzpApbM?jXi#6^1p-M&*Ohc z{;%+-8!mmgfIiGMT>5YdeON&}CHk<5c*R(^UV99e{0KY|{3G#5@bko@z;692C!6Ea zgP()*@KGj5>M4wRCK@jFbVU6#i0@nD`oG9<$!UX}6^2XBr^s1H{04G%7%n+6$k}JO z4CA(+GYV!^O{DGI$pp znG6?y5d6G`i(eOhA;ZQ06nLft{_zYt#ve#daReb@V?55T4V*}X!Yp!$kR5V=t zy~wX)xcCXac7A=s#XkbS9XR))kMSjE3+fzBzTTgiO#UzM=Xm^;LQYx3C1)mbsu0h+5$kTa&L1%8tFeDL3i9|8ZQH5Uo~9(X!xZK7e5Am1;fQ( z1iy~q;va$kj^X0(f#2Qmxcc!8jJ}48e+~Xn;y+OHO^{{6xGPaxNP#IY*Fl-Ehh2kDQ0ZYhYhJ z+d6#zJVJh2!zDk2Z_s8oT=J{I&rN&;@(U7A0Kcr^l3y74l?|8tS*X9U;c|PSx0_vw z>*M_oJ$xc@eH^`H-|Lc=xV~OWG2%L}vc%PINL>B4#8ZuP>mEg1{m~vinYixr zPl@ZgtR}Ag+(KM)_7c~e3&gd~Ys57tLA&ri>+^~!iEBNXh-*$!;+pe1am}ejTyyGy z%dP9D!J8i4j4#)v4BOr9@4JTE^LL=(;`f6;#BlNT`Noe7kIVng<&QU9e64>baXnv_ zfouI4g0GQdgYhN*9_ra`xLk*~<2roEaPg0$o}Y+6x5L$Wp7=QUSBbBHe-B*itPqSL zN8DNlZN^2flhN4zHTn-T8_zq2QQAo-E-qlv$Z{ISHd zz@OpCUrPQIcsQ&O!3m!9PL#XYfmuvkdF?7x`uPxb=EWJR^9bj^XRBIjO;Q z-S43fxye6^aZ8Xt9r@MBzYM=I`5WQ4A$|tDkKuCuX2%c6zGt|czvK40`Hm$1H+YQU zl2aEsvkaG<&hQryfAM>lzshjQiAK(P!zHIOa=s;A8aW3Imz-GS95-BYav=b@|9*&#{aLoz1>4vhCe+2d9C;laPQBTgBT<298^IA;)Xk5>?l3yMEPsW#VBQfq( z;!)st4VQZU#eARX9N&M*nGZju;o|Rs{}Q;?KNR&8CjaaG?i1xaetq(%!f);I`;p%Z z{s@mhh5TCZKlAvj$Ug~xi^o4e{$u#3$o~NSxki501MU;|$sY~>*)H+xBKkkiNGe?b04_%jTb#|vGmxW3IbIdcN8$9m(-zHN?uxY=;Y(Z_K+4Hth3{Jn;Y zuRqs)%y98f!~fZE@%8cJW#alg#x27or{E86UVj@dIrW}T6ub}q&Uv@^^HHvoM{u2d z-f+o@IOK9N7%qNx{DMJt!^Lk3zo6mb*M(owaPhCguVT3P(eP^&=~TcN8hHA-^0a+=99k}{$j(W&-!?IohN6P@nv51kaLuL{W;!? zoz5>*QJ5P zHGisy&m&%Nf_r{%6>-hkKwQV&L0q5LJw#leFSu`de@qL!Q>FbskAifv% zmnN?H6^ZNfRCS2!xZR2C^LSCj^>w^Q5!dU|T;iIukhtb7Bd&e>in!)~NBo6JZXJ&h z*FOC2;R)Ui@3Z>P5!ctZ&q`eDEI?fQS&?`<)LD=$>Tajb8g8%KzZoum4E$?`i?93bp5b!8t4)RAU2r@yTyjeO=*E3wxa8=3pNk4# zcio4Xz;#~wdSV5PFZrX8U&?T)Cl>buBMle7=rLE%Tf~Qe*C&1e`OS$JKJIe5fNPzV zf-&S6ME)-1kMj7_$$tcYG5M`sd}yPGAN26cCSUq<0sXmcxb$Z{=Jk;Ha`fSu-tp@t zekb^;z_kwxQD-*tqffZL0?SdPPLKFG$iSy#L)%PX@!qkA$Dya9OVf@beS@8T<{y zB_|3wl?<1h>_59c)FNI9ys6=mvmH5Y4UgMD@VgNo3qH{BxIR<}!h&PC;gYiw{utti z!DoX@)pDK0=@t5%{1WKHcjNvuao4TcI^p0BtJFIqm+H!I%++Af|}&W3a*c* z?qWaZC7vGpsx;*ccQK**9^RAqK=>a}ei`JCC*Bf#Hswr4&RWCgfyqDnDCaM%%OS(< z?a@z$%lg(i=^A?4aPhmgkn~XKcf)0$%&!oKL)Q(LoG*}b%W%ori{A%)0xqL1a1n9u zGxUo;?`)kp443@xPq{jC8!rCWR~#=-TexZaQL zMO^R44k51hV?QFEVXEufLgL!D6~y)a&lcjDk+Yw;=3MabYsB^b*{> zM_hAq5Z9bS;Iiu%#hpR!U3KHj`Eu%vJ1=S(ZqKhqhKpa~tn-^1F24S}M@PfOPjJrp zT@4ps=hdIM_J0(()~~<+HQo4<{|o9_WVl>^j#LQV1;+}*#qacst7jeY)!>`O=?IMR^xI zFK)PuoAQF2R|n#o(1)JHkE71_z_m_&{&O7pm61Qw<1Zt>GyGWMwe<=|<+wGWz;ll+nJ3lnbxUe1$KoBTK6Hz%F} zygTKrK!1jie;fWpk3X0Ey4VjZh@S=DNI9_>_j~g1q5nsTzi`R*`84sq$iGZ{2KWu) zrI7O&T-RkA>Un-}_&P3vp9@_59q@~hzX{i$n&iiwW5L%nC;tJiGyTZlkNkT+6U2b}E{v-bya+16k-sb_xc>!Getn+N`N;`;r*am3Z1MqK?>#MR$G{O76e_my^oOCJ_v&E=o7 z#+U2!Cz#g-!|m<$HN(X}3je0z;&;I7mOM0E{G`9S_5IIq@lWIROp*-=U&r$BQy4D3 zJ}$^gyyI<`U%+q~cO!T~!zE`V>MTP%8oa9Ek`wdHGr{{%sD|N^li{GdAK1)rIY$fQ zcCfSIlJgPf)el_P<+_UxeMo-ATW(%c$iEAJ0r?%_uk!d?$sYrMKl%S5{}lNv;9ntM zA1B@=|8LCqf#K3OeLa~(L*2S-AGQRalOr{_K3-mW-Sr`z;gVAT>y^WB>GK8nxeXUT zFm_~yKyO@&;at=!XHk2F8Bmb&K&Z8hQEaP z3%|R1)_QVwkY5}AVUK^F{66q+c>I6Kp9w$3`{C=G-IW>20YGACG#zBi;pk zzbEHs@+-r?N`7^W`+)pE;6FDkd>z%#1g`723jS;4w?ck7^7CACpQuW_7I*_sPJ8lu z!S6wQI{0A9>5qEGl3(Bt_lc>*HzH@ACucSJ&md##?1h(>(~v~&m6=Hf*17UlqWwa{F)xWIr*1RXBUq@i2QHhe?&fR z_Cp_&Kl+B7@GQgSb|DFFN0xhXHX2`U7ZM|92l;o=&%@;BgMZ9$dpmg9aJm1`2KOJX z8y+|AO*gWP~-+=sM@Y|8!1o?f)e+YjR`90uIC;u?|{~7Uo$XQ7_?;+_R6$!Sggo5<-xd?s@GdvZpR-xmIK@)IR; z`)UdK3oz~~;zPi{p&b3YhX={u3;&eIzefH|`2TqPBqPJGlP}=H{Q|gjU9PKIPcHIH z!!PXdBgtgOi^b@)X+ zens+A!++c3wW?CSIqHuleBcM|XYuggD3d_U?uLHsImE*UQM-$wm^7%uhayzlb=Cf*7>G%Ec1`91m>0j}52 zPvGbD_(jRz4!;8V&$!`2^~nDnerv;JUfC-J?}DSV;WDq}58S+>h}VDU_+aAI;eSB9 z{3GX22A7W(2XC2C=REQcBY!#ZYsgo{(1DjCGlC{-8?z( zk^c?+k;MCfPotdLsDBapQ&Im);v2y?Q%)n~>?i*W{A0v>fnTJYw#d0dega${9uePz zbxHP-`$AbS**`JZKdB9u{qqv~kcs$M?898dlYeqPjBo%l-R)FWO9 zyczLY$mt5Md`EJL2CmAmDZHe2>nZ&0fe=+4>LjTv1KMgrsiI;!k&d0-^ zob%)##kg0AXF$$9Pfp@7@#`z|x{I8Y#Q*xw)$FJh2bYNT>LTc(}U|ecEq@O$xoEPJzy?DemD44$j^cA zr_}fO?Z|(E{9Yb^IQeJbk0D+Me7YxR3Hcl0uOeOme2XXN0QuA5pY-@w$?pUIU-I8Z zKa-D(Uq@N52&`8|a9uC;^OJuZ`>G`Q^^jkc{9VXzNPbiJ9mu~Ja{HmT#~(rdHu#e~ z{%7QW3V#{#l;G<;IlIUo1pg56KQQ0Zo}53(Z-kut9{<_#;p1nbxa=i|$U z%lZ~iwbvDAIfS>{?NoOza#lo;P)qgb`s}*;PI!DKLGwb zkH4Dy2Jkl$--9}LdvZ>YUl=*R5MPL#>zj^*=UT{Gv(Set2rQ_&Veuri?2T?{1S2fx$(S)%eaS=xp7}HTypev3EnVV&X;JMFO>|JoHeMYuHoVzf#1Y% z@gKqOWVraDs`4%rde?CA$D+>n4Hv&K{85IBUl{&Wa9uBbU4n(=cY+^FzP>KOcJf!k zKR|wuU~D-~lHdF}*XOf_OP}@Uy>EDO{x!bL>o1I(EXM5zotOSxZbooDf74;yyyWZa z61+}+Dfm^%*ViR@hx~!hyLq)HUIe@g@s!~GJ^3G!-w^&p;@42;4B~sh=Mi57zMS|l z@D1SF&vCMd!LgV8t*GY+@eAPRJUKVX{{;SH^7VBIo}UtazPCv3`ka<{Y4DujTED(7 zK~eID!+(Q#Lhu@tqpwTQ-teWaHF58UQqDr;L>n&qT(8?>4VV3V9sWea#eWAsCpOz~ z@r$Q$eVA*w_-){SZn*f};D2ej_&wlnGF<#U@V6Q+et-D;3>QCDN>|Sz!^Iy4{~Ynr z;5Ug+0#7tGe%&QUfBz`La2Ypo1ongB;?F@&cEiPwP3`=b4HsXpKZS`eMowAcdOK1J zT=tvnhu4BPIa(NB#%+rJboKay$sY>;Bl7WQPeL=vp9g;l`FMHq(AVVefWM3U4sq27 z*KH5K;o;9ri@y#_A9^Dv4Y*#1^JBeUBHkN3ALZ!p50)ao7W``De}HitlfMam8{%id zdwO!-C;ut@(Zq9NUri=n1$>Ste&b~CzXklk#M6R*K>QBsj3Isyd>**ge;M_!CVwIFHxh4@*3E0bC+8ITyODE=cnaiP zCtei%A@QroNjg3Jync-OGl1)PJsay=z~h%8zd!t19=`?o_273SJ_z*>^yGX*{%gpY zPJ9k>7J72llAjDYyFC7J@_)ni_6qrlWn%=#ee$=Xp3sc&^DZOyRZ4K(SILl*mHf-d z$xD0&u45%A=LO_cAwNkvw-4(O&kx>$a?&Fw+W2xitFKQogSg%=nnzq;hh&9^Z}9M) z#Ba@azlU;|_!9h`-0Q^k_h@bt*ZPypj9(X-m)4((xZbaLiMY-yuZI`&@S4Q+_lxTi z*E)L=*WXJWOkC?6MO^Eg;^A{W{A=P`=Vszs=V9Vn=NaN!=M~~w=ieUw)WaiYg|Fl4 zPu%a(WF@}fWykXqUk+Z7_-gPn#J>WMB(D3X9`Pi3+_)`?zW_dj_@AFTe=KpW|6}4> z|0l$?o<+oSVzW)$d09t!l1s?-L(A$MFfoHGd|!Tuzq-Z+gTUU+$09!gY9^;r6<;)o}5r z!~f23@%8uh4jC@~0r*D^kGr1Zx_ZuV@&AN>(QxbEG+g}GUv#%GcMP|Ff=|NNSN{%L z3d1F*8FEq^E;+xV&MbzDKNWrs!^KaDCk|dST>R_six@8cS>%^9d{4k*ss`_ZqoU#B z>+Ml}!^Lj{znS4OZjSV>KV6771|LFvBKR0^-9K*xS#r!Ge=qz6#BYGF^5kqIKO%#x zb1(4{;75oz1wZG>ze)c4@c$vc5Io7JZlCCUtGnrjUIf?stAjJTIQTXi)m+P4R zJ+IEh^?u!0;(EI_mH66u?so7C;_81zT>V4D)&GgOzJALypT+MtsbBpp9$w1B8xYq% zG$pS2?TG8^z`RRb?>~G*TytWG>+SU_;#$u-;+nISxYo0e_=|7J85lfnBd&kX{ZHbW zf1mjO^?zP?|Ml;)XCtmT`G{*yapIcOgt+FkC9XL=iEGXX;!TRV{TV~N+9Jp25!Z27 z6Q2Qp8*%mb5kCk2BysgG6Hm0*)$%2f*&(j;k z^>OP14^Olpe7)3-}`@I#3>;2VM#C5)%iR*l$iK{=u!`FED zX5#v~%0Cd-$AhPd>*Kz=#C08?TNvJFt@8!q+W%}G{)&gcPF(w0iMT!=)sT3;FWh3cowz>UUqDvy9N#a`nFT}N; zE5!AAiNA?!oll8to#_{aue)ByG85N*Qh~VMUe_kB`=qIdcl7Z0iEBL{5Z8KU64(8| zh`83dnz+`v#l!b{_$A`HF4u|cb?H8Fy)GqO9Nzy8OWf^3X5yNko4CGScM;IIRxb|}}aqZ_6;yUgO;yUgE;yUh^#C6P_PRtZ~a@nyNCB9uGjOa#PxamS;RGe0dcMKOXAx9 zO~mzn#cAT2f0?+xp6V^)`tuBriR;f5WL)~c`&`_^D-gfF*7dnAajml{aUHhuD9d6h->~4;=1nFiR-v`iR*eLUl!g^{ksFHiR-voi0kXM<|nSN z*II(OzFuns;(8ruLR_x{-HB^G1BvT(U?g!pe?KLzv^Q6!0o^QEfxP3f+&v5bk!+&VF`0tf;`#kaT`1KY4TlmQg7e6mv zCoLnm)|o!|oE-U$FFBD}T%ARUX916-oZsS7g1;+8etY<>$bSU?UGl$xKg8pYBmX1# zvkjN$legpfL1j?}J~}Uw>Qda{A* z^O=p{zefJ&@XL`u2YwBY-<15p@Vgi;`#gKK;9YP;86I~%fj^jdogA(|9~mw=b&)g4 zaLKucoSDQwM9yMx?GIj_E%X)nufX5#@eh-~8U8u)@$0jp8|43z)6MIl$4|N<{CwO3 zKOMN%ulc#jp9Q}t`S>y9P(||l!hhT2wVwy+iZJe+K??;t6uO zzJ2Y<*+u?&tji(dFC*u);j*ue)Ck@M$9co$cC83**KUDp|0lX~LQjn^`*2il_lcw{ z!`HC|csg*-$xZ&}@CyVM^F(n*0_Rx2NG!X9Rv=qQBu%=MK~}jQGe`+yLVZmz+rCOfy_^W+P_~@k7X20j~Au zO&EMpaBLyJ75rVqqmX~plXH>$<;eMics1laq@0APCs}OxK3R0Qz%={3q~# zB|f8|o7X>{oFr?)*X0CqQW5WsoE+e~URqBP@@v7bc;cI|Ht-i@wEh$%(>wz0+{XX^Wgg zhKt_@~gymf#lDGKY{$`5(SeBj%CJ|K3qT_RvRvTh$-g!u$A~8@WYg!(X}OXp8Qa8 zmvhr_88_ms;9YRsGhD{a1^)^0#wA_OvtNbxKLvOM@rmGBz;#{TK%K9V-xTAP@%S~! z9}2%I`Av}D)5Ax2_$-qz{fR_>mKZMmiN(BD5&xrv>(2(_^HAq5aP32P)OnozUGOh@ z{5#}dga5?ir(74lUMW#$HgK(H9O@}Velhr^h(AOhYIt&*k>3P4?THt9-Sw@%CubD- z?;~dt@s7w@L^*hxG4vJr3z4&%eB9iGPLO{T`M(gq3x3;h**{U(KMxF-{quP#H{S$b zhp)?d@RWv2&UWOyXt?C`g`bUhy3#KHRm0=XcU+%~8!kEJkW-F$P2|)8*L~6SyM!FB!;@iXAJDW^7aLhHlV zB}Wn0&y?WWhtBY`vR~Bsd5QmroWjIUftMz}4!k1q$>24KcLQ%oyefEGaIJqb>hDc{ zWz;{M{2A~kliv;g9FM<}{K@b)k^dR;_mRI2{!bqNck)lczf1nN$WOE(e0`t5PYtg9 z*#|!d`MI!fi<5sFer58j!>>(zBlck{%9)7$|1S9>a6S(4_~Xgn0DqRpUrzo__+NYc z-Q?#g3e}{a1{ip;R!`G!M{50UYE_0Bdll%$rUm?C4yfo$ffSk9; z{}KK>9={X$N#AgN=O!zm+KL`Im z^3TCfvMGGMLSm&Q9W)!4DJHKAa)0Kc91#xQ_cD@tT+1&sing z9KT+&E}g;CgUk8#xw|Qidtcc2y8@C6>s#D#yT0WN7rzJm3WkfXeW-1?_zU6JGhBS_ zPfNqa|EZkYZ*2`1Uw;m#H@MDAzwbZ7_>%Jkn`&x^QOzs2(JC98&^&6a}ngXgkO|+a*X>1 z@oDfY6Mrkxjav^~$8C>s+minR{C7S6F!Ik~+==9mK>h*`|JuV3n*2SIQPTw-H(dI8 z6?L8?J{gtao-XDB0@%rE&5HEy%^)a~4SI1qMg%Tz(D1#XpbNM`~uc%y&EH+s<&w8H{nG zz;(WQ8}p%u&o()de;fG=443?4$p3Csx{u3N&zYV_*ECGKRT+jDnxDLNY z{5|k8o}3!w|BHGW5O0i}E{4nbuJ>bw64%cOhD(m#FP(0<_|xFe zHe7uD{j4S6(iRyvRq!UqTH{O3KIE)7TypgHYj&HQ6%v5stnnr1Pvl%9|3&x@$gfe| zo!5!C$FHO0tDg>B*YRceImyq2{G#N~g8v5bZQzxOM}gO-{A|c?M*fT%uKxDK>(z8T zigI!xCz|~H@W&GGi~Om?6T_e9$zM(WIpl04UKjj3;+w#K@Z|qO{%i2B5KjVroA{-- zTz~%a^4oo{<`T9dyNIX#INL(Y4ioN?suL(UwJzmohL@OK+7w|5tC zdw0-qxqi+?J*Ny8Kccogi4Xhww*`{~P8tj(8&EOe4Oo zuFIeA$&V%fIn=+2_(kv?#AA?u*pq*r{GRZy60Zh+hj=dVC!YM2yTY%xA^7QupGJSO z6JHPh8o2I5?SDD)r@^mEyeD`APfmOCYrubx{3%%XvE-k`yk?L;5B^f}v)6O${*}ky zN&aKxA0dA^@-L8I1^G8U{(t0mgP&%1{Q0{Q+44^wa5;bF{#%cI$pwcB87|k2$;c^Y zxcGWMGm`R?N=R_LZG6eujhq(b>;1Rxtsk0Jjt@~4xp_xF~N-wXMxh))OK zK)f3GcFNcLdxyyH+0fPh6Y+eF9KTFCdVk|@@#q4Z z$zKQm72_$KfuPkuD{GvJRU-V1yx@tWZCJo&51 z&j)`a@dV(zJvk@H{{{Q!5AyZ?-Xro`VcnnI8-D((pB`Lqe?Nquo%k2v`HBAkUXt?l z{#aG=@4#>1@!ON1_8qsr{XPCD@?VEP)8j8AzZv|miT@71!;|wP`R~KOK>WGJuKt^z zod3w5kDOHBhp(6RGaI%b z{k`7g7lc2Ae7(OnhWwfErx4HI#P#hH;=RC^QNG^a+dzIT_}hsm0pCwKdVlX{@}I!} zmHZEb9?5Z+{BJO?|A?PKPLh4$*W2;U+JM zZSlDG^NnxszpXd^D&rsV_;-xI+W2V?#P>~jN__5RaP8Z8)LF#iS0KL={5s_8_m^9d z9}B;`#~(ue3HXzZA8Y2d!1&U)3Ams9C2_q!yxEhp-}rKUeuQy^kzb<8gpBh}QOENF*TMqI&!!PLZ%acC=egosL3G(&mX?(liCK-RN%E7p!|(h=93T;S5ruT1@AjW6rF2K|XN-1gxu!{hb? z{Mv?#ug}jn1=n%)`T0)d>+|pf$j^mZ#~WY9z2D01tB;8v17G0DSxvJWtl*D5`Op6lzrHfx$1UA_(-J=po`rZUcmZ(jzxJ~X`4iz+BHjtS zt|zAr`IX?mZ@Aq*qlxS5C{7_>V2gWPKZkfB@MXlyfUhN93w$f_2H^XNHv_*)T(6S} z567>IomW;5&r5tFem<=Vam{bz;a!RA>lF1TuCG@)23*#C9nK;7XMyo$UuA0T_SF)@ z?YveQE`EFXYYi7)U*B(=;o>)F=kj+LF8<7!iGuf`&<}=-zYYG6hKoN9>vG9(c^okx zk0WjwE;-HGx^W*6&(Oy41V`f6QT#;kpCkS%_zT4Mf@cTUKBo?{ zxNSN*zYX!C$mwag@J|~q{z&9sFol;-8`ZB8JO(p|3+*iMZa5)FQ6;1G^B{`;+~Mt3Q>v-k#1Re*7DEdp(!9 z*0YqjUjNq;{{nx1XB%;SeboKL^?u{;#PxOmt`pbSH@i<<>kJ)>UoYvi-mgwhTwmYp zW#am}YWa!lxMhiJ|Em+%aT^lXaeENgaeEWjafcGuamNtXaX%)m<1QfHW`|q%CB(ae zuOs~U$WgRs?jp5=Cga4x8;_LmH zoQ8|P7k(bY#n=86HC+4_-CR8-4HsYce?`N^f2OW_?{7#08ueZy63>W`q4_D6s!^PLz<&nf&AR zxQu(WiyQY#;$1sCzMl9H_}>y=1pYno@?Bld32?15tt%(=EBVDR?j4Vx;6(U7{15vi zx#2S3D9kst;WFQ6QBQVot>-H0DNO!U?5lDfzc%^b!*5}@)Dw$(Iv6hXl!o7vcog=} z5OA$CoBSs@#*@Dc`{!fg`@t6)F7;eMJzp3u^)&72*6SllE^u4 zxQv?}-!QmhxQsjVT{rG+;**i{pW$)qi=4zih3|)c$Vo|jEppNmZ>#%(_yhR)iI?o< z>MUuv)UzG+ls8=FRS)&lG+g}K@EaH|enI%{3>Uv}{oq}2bTeH1&F}{rE`A&M!wnbz z9Q;Y(x{fcnX@x!`KZN-%BR&&-izR*nef!36sV4^Yd}p{^-}L^*A;YE4G<{t`M-3Oh z8LoR5!L@$;xMk>$@g=7R>VHH$A1cQSn4v%-IY_+#`TGx49nUjx_ua2n@PIr8`6`dO3wzu-3~ z|D`_e6J5!F6}Rv2d-xO&Uq<{53zfAs{$p4%CL%44IOMEnP zo;&5%Mf=$aIhnw<&Rg(v5kClCgmQ);rvmvUaGj~+@mrDK41Q1YXCeQ6@`uA8PyQVE zpOU{2{$k>vV_s`1XCrcUkpCDt2Z)~pKW+HV;5w;~bI%jk$2B*=WnI<>Z+av?P3KWR zw{MdfF8TlWxWI6^K6i%yqT%A}%g^5?>zM}9;2Uy{EH{#Noofxn;pjqp#AzZL#f@{hs) z*TW;u#Gj9{?&=o;m-ErCZz)!)i z0xtVx19~9;Y%{*>lMCqE4#Vwy4;U_f{sC@(9yVP3PPpH4#&Ges!9Q=f_&wm?GFaC1)w>EM&OMcRS|$y5ZtCN1c(xOM%w`*Kx~XzOBgLi26Gd ze*wHd^4FvO-wl^_T!rWD|1n(VmAzr`E;ybTF7xU!!p-a1^YQyZ`0x)LPiwg3)J0Ba z!^JO(oZQ4)Ag3Vl{qSEWo^_-fHOHL3govlT>M!0-3%B1D%NGN z;o{$hKf-YFcfy}!xcJ#|y_#XT_@BXFVz~Hq;eTnk_@&Xe&4!B~4S$E>;=c(0D7fy! z@~)ksi{vka|EI@)LjG>}DK5BuqWOD}p9NeWe>KE<+x@p{|Edh9zW&9@bf*z5Vw%o!F7GLp2Fl8hF_leH{dlrInBv$0KY5o3*ZAh zIitxR0DqRpUrzpP_-J=X=36v)t1JHr4*fkOv{21c;vGz|sE$gLyo=^T_e6076)L#$2o%~by_f;|m$>FPA+GsR z#PMTLp+Urd$H&pcb0i8*g5VfKya)Jv;se~>jL>r8OTc4^SA5>(>+{yy=i1;$$k&{c z#MdGJ0`dCDxk~&gcnI^*aWy|Fam|k){s(e05dR0fFmcTdoo8{&!F z(;=ZQ#3R6?h!+7LM7%V34Dp&N+-kchxYl2n zxYplxYpl=xYi#{d^GAGL;U$9Ze3!CYyGo`e}(m(Ph9I?PF(AcC9d^vBz_eA zKSEsVJW2d5)PI4v)_IlqF4P~w*XjPz{G`M+KZ3aCXCSWmg^6o^DdMT|aU^lguTFdu z>Tg5*7`VPpyw2-a@F?3jMiFTNn9UaR41-A&|alM|z5ZCL; zEaJK!<`b`qeY>1^Tk!3~M`Is+Ph4N8{Rr_~`1mC8;rRFhajoMj@&9|mBdJ?|-EUe? zQsP=q1aYk=197b2NBon zQZ#YBE{!4nHm=Vx#Pzx~i}+Od^NH(qX*u!Axc<364&`g5ZC!;_;t>+W*?;td*?1+0&+=&-0z9%{lWsYrpH=`|PvNIeR7(;8NcZaH($u z_;hanC~&E740t)m$AL?IYk+U$_yq7zGH(EW9rGk`X`c?@C4784fiGj;1w6_;1zg&* z7x>3HKCSo?Iu=nnxG{bAsup93!XqrgSq;rR*E4b1Ts zeLrx~4+1}i+pPrn|1u8&e^llNfIrPV4qWtWfQxU=nn!H{VebZKevwnm*?diaQQnsqriX5_e%ku-;(|y`bEI`*XW!e zaM3RTF8Wd67qkBu@OI{L;FmM60WN+Lz{O7kaPiX#yqER6fXjSM3ityY-wT|-KGaDA zzk%ZifZxJA16*_lf%Df&I9cFw+(&@V=i{3L9%McWypFkik&*O=7Uq7wPZWLy^B{21 zDFOa*jt>Esd6Nk6J2+nEStYON*FgMwj!ys={RZIjchEY4AIQ%gUBC}xo&tU%^IqUF z=4s%fKLGrF9G?L$`h&pBI6ezpu8$+YW&Ftjm+@y5_`}?u^2PYl{&If#`F>5foL>Rp z)7fVcaB0sVaH($zaB0sdaCtvB23+bJ2QKxk0WS4T0GIkU0GIkEflGZmfS<$dkOKY+ zUoU!rAIIy-d5`VGKEKM7p)JAjLR3b^R^ z0vG*0;G*9TT=X-*cXB%n0+)6k0)8O3!!Yn8nCF1EG9Lvl{m_}~-PlX}KhN=g;QwSE z1TOj|z(qd~oj>y_Fds3_H<#>G*+nF%JO0m3a|x znV$&(uj2R!@YT$tz}uO}fNx@+P<%PDZ!vEGzQ3s;ElJ=d%sYUe!aSw8X&ZiwaC(9B zg$j{D&ML1pY_nCBXm0JOun-%p<_v52Vq)IPfoUd=2ogGEV@1ig^QY z@t*`P{yTt+|4!iIzYDnd?*lIW`+xcDCiF8*`C#s4U9 z@$VeyHMsO2@$UyN{sX|pe-Uu;9|SJ`OMr|2C~(n<0T-P(aM7s&KHF4~mLzb|?*K0P zoxnxE3%Ka_DITSK3r$j5`hkZ%?4*IOWF@Ozo3foGWy02e<)z#riFVc=h5o(2A6<|DwRo#hLq<+zK! zpD&=oA7z~YaM3RUF8U$hWBmd6SbqTC#Cc=D&oRbmNhn@MujRaJ0KUwPrttx|{N3jc z;3!m1Yd=~h9%twGr-W+hz z83q0u)(On_j;HhoIqpTk7fF8r9${Vr{4(Yt;MXya0Kb)a9JuJz03VzG1TMcn(*XPt z*6#!^`dz?3$?+-RqTdVrUXD)#5Ab<00DKyoG&H7#eY=sRg~(3UOFcRd@1ud@Y9&r06&9y61eDe059YC zPT-=`1^ir&?*lG6{lLX%8o1~T06(Aghk%RzFmTb&0vG)e;G*vw>LoJgyJ`QAab7?0 zCz%I;zrwr-_#c>ufM3Eq0{lwmQQ-2N6$3uN@d?G_#Exg)06fY(3A~(n2k^1y1>kpb zd>8P0nD+s%X5J6{0_JJpS27;}F88-XikoMSJ2-wA_jgf0ACISj$CwWQclh%S8Q|aI{yzx(7tFK3&tjh=z{P(K zxcDChE`FS#R}bkw;>QnM`~-nZe<%Si{UHSW6!sqhF8v`2T>3){xcpv29JtiC2DsEW z0bJ_a0Q`eI{&WJri|^CAfZxqL1$-XYw-@*c%=>_s@_5n@{A}hK;L^^6z|)Sm3<3W& z^I_nxGS2}Q{ZZhe@4VkD=%ban9*MpmxabFgf8G?Nr3AQq4?_qze;vLP0WQyLap0YN z-&+Ixdgck>-(cPV{2$Cafs1|@aM4cz7yVw~gRGwhF8Tw&MLz>v^ap`|i}ka>MSldi z=;wfo{wQ$K4}8Eoo<3Tc{!q+$i-3oj2Z77?0G9xNoa3XwMLz~y^y9!qzXtd{te*rf z`W?VUzZ1CVcL5juKH!^8L($R?T>5_+xb*)4;J+^LbTYtSV?GF6#<48$@9;P_0(>7H zuX4cO+S|)J3jDNL9uFMht))NAneDwU0)7zlAaMEpiW1=Rdk#_Hq8|e;`f=c*UjzK} z>?a9a^gDoyekX9z?*e`s>-PZ{{eIx0p9U`a1HeUp2>AJYT!w+m?^9)g-^1}Ez#ruM zBByxb@x7n>j~}@7p8#;_KSjXhIvxW4jF--d0RI*9DDXcrj{%qSB@SH9mm1)5z9fK4 zeH(yFeUreYz8%1&zA50J=Ieeh@P6if!1w3-%zofSa{meZ>bYJ64FbPoKaURq|Na3U z9|rzo<~iV^KMK5z^_?R=DooG#k>#rTz;SShjR0T3eq_Sgj1SfHe_zjzFIX(wmbVh-1;P?Q4utEBX=oA4LpF!ZFQv$q`^`pSWe+;zKLA|xhk);0;I-Q@@Q*Uj0+;Xc907h8 z$LD~{`|qQ`kDlh`4IJ&QO|zT+Fo$)DfQz3XaPd

      UGrYaGr#t+h`%t+0XDnRpnFQCoJrAyVdnLR^!|?xo;H~hs2dv+A zz_+{q3Dzu{`hQvU*mfJk%ec3PS8?wJuj@V(e%jkJ7Cym!B3$cu>)~3* z+YZ+{-X3@pZ_fev8uxQ>_2)IX`tvqi{q_{DehXbbI8M}WG2ljaxk6ZtI z1K0CqW#N}RUlFc+6L^6WR=)*Y&zJRr&-HvCxbkD+5&Uyagll}Rfa^HE0j}ftR(PLi zQU2R82jJQ-SKzU{e;&j299F2x!Tp=#PwSs>a6Lbj2(J6#Q^4nXov+}klNYZ0-iyQa zxhlZ*99Av3p2KPcAMVG;*6?5b_}duzvkM zxSn%~Ts64ABA&MPM~6rC=h4!@HJ)?8^>>{Qp5N;igsXmCxSn%q3D@6yM|d}{-vzF} zi?Q&Po}UQU_+JUX=lQj8jsLyy6yE;_;d;*HDqQo`J-Ft9r|<{oZU2R-7Tk|o--`m* z`)A_8oB7{$Quuyv{}*sQFOVCq@lXJ+=LJf_^}IkOxSkiN1CQeEYzf!%0^h^+yuc4| zJufg2u64YT@X>yLI}RS!&nKtA!}xJ_F}%R{cHOZd1V0Mbap4SHbsoYsPF}#3k6S%B zPV~N-Byi=w3Bk*S;LYKEuG@Ul8m{Z&{%~z~QV6~(1phq*zX-qT?YRP1dtSj)+_3h) zgDW4eMzBA-cs>#Qgs)p>fFJRE7P#`I;BjwSd&;Df$KVPCtTN?2jGpp&SALfT!-s=^FDmO*Leij^<%i2!To#H z^O4}nCx)lEZJ#$OyhtOvKFR`b?D-tJHZn?wDxp`KkQ=r zcObmB=ZC_7^Zh#+KGXBl;T4D4cvuGy^~l<@5w83xcw^811;5qP>i+|u@A=1Y<)hRI z?%%tfj{(2g$IjDI!7Dtr_NRj@Uj)A1^CjTQH-jhp*Xp-|D?bAMv**Xam0t;e>iM;B z*8YC*nggsoGvSpcn=gUu zdzLluX_0N+Z$12w*EtT?_f6;E5u;e0OYjm?tUb@+-8}yqe%SM|>jn4wEzie?rvyS2!Y6sYEL{1Pa9xjgf@>Y77hLPr1K`*FJZ&hvgP$*rg5UncKG$Tp z-V?Y0uJ;6Pg3k$Ob+*BE{c;Mf_XJ*tCk}6QZo^e4bp7Cd9OL=$aJ?rm0sNB)R{t}& z-V>M+-pBJ<;d)PCQTR*GmxSy6ehuJyPhbmpkBHXJHgMJH1ApWB{&2k~a3cKsNLGI; zT<-~74u9zR)o{Hha1XqVkE;XlMfGi7x&qhuzYEuU0w2R~gthiZY!Dm|RYRLcf$Mvg z&*5i0p8~FYc6hBYRzEjf-?Nm4U-W!=xbltQ4gGU9gR9?ugzI~m!Ek*qGZJ3+xy}ER z;Cc_<0=T|^Sqq=-$B_+ieQ$CYuIram@b_NlFSzPFgzNg{4P4_Ve8b>)(DyGf;QIb0 zK73~=+rP=+>Yog7^-o^-lK0ln-@)~{s>0Pjb>TU@Jq_Wi(+#fv=?_=`42P?KCc@P} zGvP)3b1j1R7-+}Mb?|=fJK?j3TmBsU$~)_~OK{y^^c=3^<2!giuM@FRa6GK@@gD`Q zb^EX2T4&Az*LrC_xYk9B!V|x+&s7qx?Y4yLd$f-5oiD9U7r4Gh7y-}t%JO62S~r^q zAMg1^aD9)q37+t^)!zo!_hNs;=X(AcT=@u%gZnG}8>=4~uJ6TCz}I^IE4cFc;NQHp z`UTrdNXVPI(R3qvk~6XxBEL> z^$);R|2n*9Ol#+Dc)VEV&)};68m{_@n*{fJQLmE}UdFeZ7Owi4;HqB+{)7J=RfYHW zztfswBoRaD5N86|V20_Q0on zYWwj3{EGWIxbCOD2G{+)x8b_a_9pVykRRaJygfg`)5WoV8v|c6#paEvaJ6$5 zT+fhh zTz^Ni;d-ufIebkD+wN-kN%w8=N*!(7?uRe%{7Lr@tIlz3>G{74&a225U2faG34dPE zu228@$fy2aoo+vc`S1UD{E>h7UgpZLR_7i3dMfiU&4c6Z>(u7a;d-A~Y`FUQbGZ6B z4ZM-p&j4TGo(Hb&=7(#$CE?m`Rre2FobaQ5ZjAgO@8{<5lkOeiKP|Ijy+85~{Xcx9 z^?%=w{6qh%onzcT{MR4aliPM>W1 zc76`;=XKJd&IzxR7x@LAFNypu&(}nLzvtT`zuxnG;rHCfpiY^w*8W+@zwrD@+vADaDPJh%I=^`Sy#`Y8XQPAeZ*`H=7C`Lf8L@O(9Rb#G5&)EVq`Iw3#9 z^S$8Dz5YF^=>s&-W={Os2_mEHXp~FA? z(<=CPm)$+4yZ-Lp_&7-jFX;8ZLY=~1CkOIPJf9za*6Wu+o$_9%4)VWxz76te?Nf#N z0r?TWzlMF}AI71M3uEA4uiQEbw32x^Oz^$W&C-}i*P;v zconYaF(1J7Jmy>Y&fNBSBeed1f7c)SC*C*ak>PqTTzt5WQ(wS!9LWUV>h-h1^XVt3aRclfc!U6mV@f16XdCXyOJ;yp3p4i(z2Y$}` za{*lI%zNPap5+K!-?N;Aw=ZP}@F|6@ zoyp;0isybpLRe%k9Uy4~MY!$iH1-?ff3D_V@Y7 zKb$X}`rD5C{Xg;#^SRnH>LdSz`P**-(Ffl>bntg}48H2>CGW{@?idke})K zSnjGH*Xt)ozM_AwtRdtJA)nFnRYJ%&K|ZqQyM~Y-g#7g@)^F30Pw4Gmiu_K`uY=EY z-xflh)9|!j|0e1*_c~9J&*Ay-?SuV))BFEZclE#WDUjdo`OF{rhwF}`b!`K=Kk^Uz zcdn1Cg7C=R&QkCt-v5>1XT44x`1I@6|1I6s{yP47dmvxU^ZnqLeY>Mkr?J8`je2`?=jSXXe~<1GtdqLCGzj zeVm7R#_Z{OyS|EjPe|@~q4zf>c~*D^@~Rj&2YD6bi^63-@;tf@`9{pMCG~`%r<)}| zjPlEopJd4|pnO;4*Bh?x*W_`<4sv;1agbadR~#qLRZTx0I88neew$n#KR+Uu$Met0 z<#F|Aa(P_s=oPi^>bNdr+?eF;s_S{CAeZ;M^B|Yk|Fe;EOmm!rQ5xx7zcLvnea zz!v16(9?#zO$|N&zU1=0d4tGh{$t5y{xiwHp?@y<#F~2C738vRYsuyFO*_fu^El_o zPoe)Jd9hl0+`Hs*ybsA`+_&U1?ho>w=>JWA6rQ-Z>v<*TZEA8kZ#~K7yv<22=WP-4 zpBUGdytKbwhic?9AAfQgw+Xq7+krf!f$r}@Ua+C|q2%(q!ANo$cM7?T`wzK%erh#& z%m6*^dh(<21LQKFljQPw$#dj#ySPa%w~NQ*@_D`YVJjkjv|J znaDFY((90oydAtKxx8sCN56NZzZ^>o;-^peEZhc+P zpN38KdU}w{dS)h<^C}PdJM{RFmuRN@%aF@;rYgBy_iB;Lb)Yf1TnE~dcgMJ$$+y6V zkjs2VkjuEiL=OuEP=WTMC z=Y4XS=PPoV=T~x>XN>-?=T+g3dY*3NGSAfHGS7_UGS6(}GS33!GS9!rWuDc@vv$_= ztVJ&K3?!F%b|9B|b|sg24kVX(jv<$M&LGd-RnKz{xy*Alxy*A5xy*AXxyKN8`e^qfm*>${$mMx-9ddad-GE$P4{t>-uX}eV zKQ%(nr#E?)k=jR*%Q{RZm!B6oom|#uA^9rwuOVL#-$4EXet=x&bCg`h4JFS$N*~u1 z@@S*AKOj$s{1b9{p7?=W9v{XY=z6|+jM4qc$mMx`CUSXRpPRhGSl#1I{tI4`T%PBa zA(#2rAeZ?!B2PYEkK2qq<^=8C$YtE#8MhaC$%VRq47u$46mr@3x#WdIbk73v z74S9WYevM5yo1?DF86nP$z}d0$(Ib&Jy*!zVcZAgpW&~`f5Ick9ZU3a#Tx8-{)i_d zFMxb1@@4QWf1lgm1kA(wTiK`!gih+Nj8ExD{iPjWflAd3gX)kBSm#^a3z zl<%=suV)B(7<{$i>hVTxJkD5exO%)H>$BT%l^>7%e#2E>*6p<6Dt`s}^MX5EB=u)QzrV#>TYM0?d>(TmTs}`H_pdX__hCK@$!Eh?l83`Lk@tY_fy=se$8nvc zd<@*quTy>u@=qx*k0alaS3^$(x!fN(hPv+W59H&*WuB8UZc55`MLq-hGFd%h@Q09s&Z79(Y}Rze|G1lIX`w<{49B2Kb^lye*32OF!DP1I_(GK&%Wu; zgFhi(TveY>FUi+$)$h;qj=WEV_Rr)ivg_|R|7P(7L9XX*7hj!ELOvSrtC^DgS6ux# zEiHMkGTJke7aXEJC;3@?!Fplx`S`lBGUPi3>z;-dZ%cj>`HtlBK8=IPUm_nwF7JOh zojf6qYc{!~l|J9rlY1k-m3;m#eO$Z94?obppM3Bx{qyUOkav2j{Umvxw{apTbdEgK zGj60`BCmH@`*rfec%RSr-iP|k4GL)-z*&N z+pu;__8=hGxGPywZlgNFMpH5y8K9{^Ud=Ysw_;PZ5I@qz69G5}I9`b_v z=H)mB;z6008Hsq(_ugPWH zqoe-+e8!D&_2c-t?NiA2!JAHS&7Z>k-9N#uKKh(Ku|`dE^#Qr{|4$^J4WCZF0zQxY z96W^l5quT7TOK{`ck*h5wC|neI?pfn^#9)?FZ)t^n?hQ#PGA^DdBg?Gr+^i%fP>o*M>Vbxvq0%czp7f@RZ~Y;Tg$$!}E}L zgcl_r120QH7+!;XF1#UmFuWD{I(S#|5cmM{L-0}L+u>8lufpe(pN6j>zYE_?{t~{A zJOX}_JXT+Q{#+(c2ER+55&oRq2mXn?H2fENO?aHmuIEo9crx;K@bu)p;W^2N!wZoI z!%LGdfLA473;&z^7(9@CH@p-1EqGt@^YG#1kKmKYU&H5+e}OM2kJ%5`2lAiDA0T%i zA4(n{eurFoo|8+@7xHB2aogg$@2TNw$UWh?$uq%Ak>`L1kbA?slNW)HA^!^=OkNef zmb^CnBzXY*5qS&vZ}N`txLaMhni=Kj`OEc@0<3D+6}vo-*X}x>j|=RgXV<{0&z<&CnA_ULW3xybXLH zc@WlNDEUhG9P*9u&Ez}aSI9rXZ<8N{KOsL2e@}h|{)7ApJoZl4^WQN*-;Oeq$ASBi zyTi+qSBAGCuLJKuJ`O&bd>VWX`5gE^3Ud_81{1Ad)6 z6Z|=OF8Fuy0`T~IUDwkW?nzz_?oD0|UY@)zycT&Qcq8)G@RsCV;JwNF!pD#ggU=-& z2VYA*4ZfdzK0K6s89bbPJ^T~-4tUIcuIqddo|60&JO}wDxG#Aayf*n`cq{T(@IK_9 z;bY1FgD)bFJy@U5+sHG(50fW?pC?Zae?~qW{*F8+{0F%YJobLqbuJ1|N?sbCp1cw~ z7kN#15%T)*vgFO+HObq;8CI19rE+=*5p^=LF8fZIph!F8_8e5PmsTZ-z5JR{*L?yJk~+ib%;JhpZ^)j zh^WhV@C;Th9A3W({ z*LAK8&q?kNFG1b_UWdFHyeoMd_yqDU@Rj6!;77@a!taxhfyX`KdR$ZBX~}27^OFAq zuR^{I-jRGQd?NW)_$uCcKT;$K-CCT5z>ym$icO=g^ zOrLLk$lc*Vvzn7lds2YG9Ff@7}h+!>yO zyeHh3d;q*U`AB$o@u~$bZ8NlE(_t=WPY@`0xhg?(h!eDdB_2)50f{XM`^%&jH^> zo(~>MUKswAyd*q=ybL_f3D4Gk6p7R`9Om?cqV>UE$Nod&8HL z4}k9^9|k{7J_a5}J{kUod?x%i`FwcFldkKz9G-)G4cwP}6TCY44tO*2{qVlzN8vNb zPr=ubUw|JYzX}f{4}-rUe+d6g{u1tf%5{A{!ZVZqfEOl@HeBCME0Mdw1IQD?JCP@c z4<%0rpGNKlUrwGCzLVSs9!g#U{*1g5{5N?Wc-qsh>(&UKmpl+&n!FvnK6!U|7xMn_ zVdO#Z>EvVK%gHChcaqP5pC+FNe?T4r|46AJ zEAlh&f#jFq)5veamyzFv?;w8+KTrM={+Rq7{0sSKxZ7FRb^8uaL;eSzn>^+SeS0iL z9uHoNJPEu7d1`ns@(l3Nab>Ica z8^WuSH-onzZv*c|-Wficyf=If`C#~3^3m}9*2Y`cfre&AB8s}4~6$6zYU*4{t&)|{5gCZ`8)Vo@(B1t@;~s;-sDn zr@a{Yh%ws#CYO9O^5y91MgA84jog2e?vEDgI-k5Nv?nAl3Qt2`0iKooZ+L$4w(wHq z{oqx|r^EjyUj}bMeh}V;{0@8o`3LxD@`Nk(I!q%^2VY2D2)>5AB76sVAp8h3s3gpA#waFL4 zo09K9wLad-lIy-_hbJNTgL{$(z;lxKgcl~C0xv_p23~{wEIfexIlK*d%(eQs zdXQ&=4C3$`L7xK37 z=$Bphy%*e_d?GwO`D%C`^3!l%@<;H>f;S0&k65JUKT!>yfJ(Nc~|&6^2&HTvxK}4@*Bt}!1s{Pf}bE?3cpOg z2Y!$IKKv#57x)+Q1oC+7s_Q;xfmbA#@2fh0%{5;#rvCoQ{P$hGU|#i=f6kv-K%N6$ zkvuQ_KHT{wdX9UM4f?k)MqYhgpM3l#m-o+idk{4rmG6vykQ^@kiQt(jzXM*3^76hJ zl_-A;d4KY;m}@iYDTI6%%KwD-C0~o4QPfi!`5BZ?kNg7i3-GnngCAe!*hBd;$R8#D z0KY^%0hrGN%C|=T1$i=jKjyzi&wX^L|HKb>-Nz!xCnxU=_at8m&jnZ0Q2ny+#VP+9 z`I?lMeQ!$nM0$FTw&eKqx}!Js$i9!He17yyBFFza=2MUC`x?sEL(f+782a1g9fzq$ z_WdH|`=RF+c{cPsqaNA!FO;8;p5NqE&=c>W4yb*3;QS>YS>W=%9G#KRVYvD_UU`0+ z-*9z%Uy6KT!&N?0puR5o8LslTkS}kz%14aR`DWxYZaZ@6?@2Dtucwhq&wTRSnCCWf z$)B zzePO-G0*3eUyb|+@}!v0Z|bRno`jF1_E#P6X!N8cFN~fna9KBeTehPh)1o_qE>GZ=K z#}2rx&kXdOpnPfMuUPVrDBlwK_m=!0%8y3g{YljIGu%0seV9)MxLiL=>bJFUu=^CFMUM-_4RAM)_2j=Tyqy!Er67d~f78P+ori?0(AcNB)c@f1C1i zkpF17c^!-UH0t(cdQx(E-yR=wxt}x9@_)#s z-{blJU$@NUFVW*o-lCzt!Bi%f{#F*BZ1LITvhPdDW#12z%eXfz{@LRHk<0sfdAzW! z5Bc7Ij&aZ^7w5Sx%|9|QRIo*>3L2im;QO=vhOR% zE4SA@N6F>=$4-&UxMAdH@%Zx@xs3aXT*i&}(sf^C+{ENEt_Qh{n~hw?EkG{gRwbAI z`sA{n&B>*w6M5-QdOequOV0*!xm}zjm;6QYXq|Qc8*<5iA(y=4mFqgE!0kOXx%6Zt zmvzoZF7NkSmOL)zS({w?Tagb%z9+fl$60(H`Kx&P0oewN?;(%hQeXEjkW0^Pa>+j> zFVt1<%Wra-zuRlq^_TNA8M$1q@{r5=7bBOR^5oLflw9W1-{Qd*Ut{s(77w%d2aCJE zaa|voXBu)jt|H`;FHJ7j^J?UBJ#RpsC62zHw<4G8{9tk!caFukTKod}RJ`zam0bGo zl6UK_&$k!kazFkrd4J>`Z(Y}UIJ_Xa%%>Q+TqkRi%RC#9m+YzM*@|4QpWQ4z$l_zk zWgTXa`(fP0T*i$cm-8ydd)M_8Pi*nD z@{F7td$F7td(F7y0JF7tHz=(=Cx z$t<3aT=uajxm^Ftk<0bJ7WvWs`aEw>F8w1d9%Av`7C#18ulqg3Yfa%x4Vs)IrZI$`3=& zB64r^tfwA%|NniIZ-SoV+2J_rc`3TJC1bGYeT&13e=y^o>Yv_4RJ_97uDo{^6Rp|VvNBK_ZX-e*%Sm!%aPYd)6qI|g|IzNiM1ALmL zX9?v!kzY$b9lp!bbBgj2?s`6#$oHWqoO*iWxZYDfVN%`mpCzB*i|hVAL4R7f>|=lQ z=c4?5^cS_{D^Y$2^7SnF)|8)wd=E>0IOSU)A8g4lqI?nLH&cEvj`tAd-ID3`ykfZe z{M{wZj+=(7>tSBxpBS$4KFI$d4}>TE>UzI97xT$Oz5relF88NnFm45Me|SyuPw*zx zFJI@=$Ks=@XFqzTQ~ns{xrFj5lIsKBY`9vVsaS_yhO6}~hWrWYzlZ)urUWY`B`wIOJ247ldbptAGB``Kv5?3R6BC=2MRHc-wDBUCM_d zA85&Ur~C@!hgkBHDL)YT`Ih`z%GW~v0Oh~pc+XRQFZS^|c{u!$rRNjnXCnWTJY5QX z0>$~}dOMQ&q=w7wr7L&+HY{swwhl5c=-v-BLJ{C~)w zCm#jBZRvSQ`An(w`g|g9jGpME&|lpnN;z50X!SpCb28r}y`o zrT;PIo21qGH{`?MKd8qY^Njmb|3UV#IPyu!m%+W@a(&Bz9&gI0M7|jLNq9x-DTtoG zDgPPk(~SHjdOA~2S@aB|{3Y~^B2R#Io=!cr(X)i|8_=_sybgNyP|s5IoThvq^glEG!)vml?2JQ$vfdd{GyIOU@uUzU6e+@E@` zp{F_J?_(X>lV3wmU+Te^&pAd@ejj>fQXWqe9Lp#lf&TU69_jV%YX|v)4BC%c`Y%)d z40^)I-@so`PfUE>as=g9BJcR67f|-m9rH;9mwiu%9#6`TL{B#Ig6JtkJ=xJyj`D%% zsZL%WJ&mZR2zokDz7%?Tk`F-7aOxR=o~e{Sg#0}6NARWOV>9Y~++^uLNcrtvI)94% zCj2_}jKe&iP<|TnZ^?hce^O5fdgA?d-S@7@CnHaf_ty~%I82&bMn^c=|Vkc&@-6wvCuP`d@XurQqOPnETjAd3kUZQ}_$&Nr=L=L_MX^(}D6u(9@H=CwhXYrzU!)P(B%Y=92G5&noH}iJqO5zk~cC z^55{&6m9chdzPjdcFbqWaOzZpNw#s&sy~O zP<{e>ij(`IrxNw-Ku>+jw?j{J@}}tNLOsXPGnn$_(KDJn2t6~X=PG)ZQa&Sk){&n? z&tB?Dg6|_ZL;07;Um;JBP4D9!@-5l5zp(U2Q2su89MNJ%{zKW{Xy{1_OD`3U5nl6&OP`~HsnP)_YXE&cJLyYBlN^duusjGl~e zIUg2ao<5X6gP!8#1<_N9dbXpdKIK=Ur#X3j^mL(~L+BYy`H|=uO+ElUGpHvNJxeJc zh@N%i3(&KNdhVg;H04X7=Q8;t^n_DSN;kca?rF6@P!xdaM|}Sm`?^HuU=0shMpYcP2j$ko+^|dhI}3JrSL%N!MF80x>5cl z@*^mpHjX~tX_SA7{Cx5Rd3Am@^<+cOF3Ni&f0(=uJd}F!qvsyw`yl^;@_xwwq5NFr zjJ|FTCl>dT!?AWgRRU7%lA?i<0ky`;nK*uX}1(`kPSxK6=`aNAuA=y{M-%<~f4$S&^SeUKu`* zdPbmUHRU@YzlA&)eu#P|qbHQ|Tadp=ehvPVdKRGPU&==y|BKuM>m1)r@4M{dI`nwJ z)pb~1R|ApHOg<8xk9u;cf9U)uN%@t?`x&mT^Xaz5kIefUu0C&gSWV3N(ZFyupL^(O z16Q$!&R^RxZg0vjFQ8f+jv?fC;8QF;izxpa`Bmf@3+nzI)N>5;IZpWs$ls)V81m03 z-yZq*k=+lYJyxUAd1$mgT{W#r3HK8D^dhd<^2MLvK$RUy4T z?WrdPdiqh`1M3__J{%rQJznTpNO@n3yOO*adbU$fcJ!RG_#KPCBVU4^|KPIztuY@* z+^FlV%i|ow)%h>)8h<&@e*@1+z6@S~e0*`;Q`&Gfu2*#Jl?+$o9>M(m z$=9PNfV>gLZD+XZ_eXzM!&QHR!g}0(3vcv0txIxc_oBp@G-o-}YiuAG$j zKu-bkRp=>g>8VBeCs?0`hI&q6o%>L}6!v#0c`Eo=OV3Qof5y10D1R5@9wV=j zK=0!f>S={>A5gv)^6x4C3He`?uZMiX_^$hyxP%_p11|d|`COELGilHW}EK;(~8zPaodqpp*iah=>n9uB`iE?>{^ zoZK&lJ`dj+uC7bLe`${(AB=r*By>Ihw;~^xJXvYolazcyS?w9%vi|e2p5ByyiT<*N zN8Vpx{#6ZE^WTbjHZVML-H>l?xXRx^z9)HSKRwSuKHJHQV4aT`uKL~eHaX51uKLrX=LXzKk@uTxvHs5}Ul#e#mVAsv zuIEErI-;DCnu>M^rp9=j$C_f$j6D;}pl)sDo zO3D{S|9*>~ryjRb`gp_0bHm?Qdj6w)J>+90cHNinScjx=*%z5-Cdv;%Pi}J0GJ2kc z$jiXXSo&*Iz76t?$S1%%QcroT=RnG@#5_lmx50I0mZfI}VjI%yS>c9ZvcFc$_(bd;`{J4)vTw&q~T4M$ablOX%58JvY#Ep7IOObDexd zIp<obgco@1S-P<{gPbIDu7msol>Qr-{wBb5ISEczSH^mNvv`tZdS7JyC7%&4`&9wgw|tauh5k~M z&x8G{Zn%0J<)?>p)HPf^j;e)x3+f+^{$b?n;Zvw*Gn%W>iLv>pZGiS3;4crx8zahznM=(ejWL221`BWg6`P3x;3;9Om z72t!&rDqhm^h_m}o(1IcJ`AhL|HHVu$>WUG`*Mn0=5v$00rJntCI69p5%P{yuKOZ+ zck+|SXCRlnH~ClO|00)sJ@UTe^zpVOm-j8{NiIEu$mRW1=aEZ(Ir%k=yNz7(hsnPp zf011BVdNFY>*IP!F8OGw|Nr{OBcFtxl;m^Z-sI9>!Qz1yA7t^_7GH1iqZSV*m-kbB zMlSPzPcHAL`jcGVPc=>&*Y%Y5Q_Vy!{iQ5kkzC&QrVhEh4_ha4=^sSCdXhdLCXh>h z4tb%;I=_-!^7}0wN?sj3_sFH^1zbIDd>r`*ME@4UBWgX>-@m6z+MkKrnxsj{9=A;VQ(9;f*kuJS{WFK@WYXOz#&8?N%{ ztLXlEhO2yD-L9w?xQDh zTG#WiKJw`eSI>aCN*3kS}Do%5O%#gyAaRx|$xiis35nh^5`%aFx%8d{e_! z-XHlkhO7KH?0Y}MRbGC6!7#&B{vh&`3|ILN=$~o0%8x>RiQy{m7hBJNjo~U^75UwU ztNc{t4;!xX^KrZv3|IMZF`Q{-3R zm&iB5Z<9}eKQlaXA2FYA+&hx<079KRgZjRCq4(!|)R1AK>-i&g#hXp<;AB zZfhg2)+b>t?L8@9ANdiK_d$LN<=Y~^nDT!kzuuDHPx-;fpP_tr^xvlZGUT6G@?R-` z7Wstf_4>>DY{Tuv6E3&YkI3hu{4wNxDWBV4uV*Doz5(SsAm5tu7tr6E@~e;^Zplxh zd?@m3D8Cr%xrg#!kUwe3-=KWj+WL5(QhpWszfk@j^3gN6uD|4y!e#w;A)mpL_onqP@y5*Px?jK1p8_t&g>RpCWTpHA^cS$?%TPYn-+J7dhDWY5 z=2PErHUBHfw=!Ji4eO<4U6Aj&T-WZuF?@VfO_3AFMH4jXMY9ZZKSpTLZ7F>@i&BeH!YX z1BR=-T*uCk$4I0v#MjB?^~R@gXGP?3WyW!RG4g8Mju`hh`DD0TR@eRA5}=Ec!?`~T z<+q|IFZoTlucfCd<$oeym)r~UX+mBe-oes8fb#8;A3;7DK7)GjWq^(i5MAuk2b zOI{ECzLx%~ln+EtUGn_sX>GW=-MQm-H;~*9J{>N{H9#+?W2uo>$8`Yx>&XAWcUyW+ zQ@&^uJ-}u10q`*LE%4`-{s_vyMBb6z_4b&#sUFuIF2_3!$LmG;2gv6nkK0`Tg979i zn`tj?>90lkh3Icco(KIc$Y-IytEGP^Rd*t&kT;H;ge}LyVT&yf5Xwk@q)T-G1-ladXXa!wO-`XKbTyeuPr9uh97*gf?RqwlGmQ4=d+hQ0Dh8O#=Sx=KmYL+`M>3y zi|zdQOx^&`v%ZnbI>gN5x?eXJ>v_79hr`p6KZh41m)Ao|k<04?Rmf%C>X6Ix!Di(0 z`aoZDd0k=y|37>pqHm zk!M_{_csrDE_gBWg7EU>#o+$ra^5y2m-Ds*x%_<3k>oP}N#yc#s8^9o{*c9QT0ERw zeok(TeE)wv6Oc>Zi#+B^z0SGG+?EtxjyeAPrpv@%SCb-_Zqp38%{3cz9E-!zmd!R zLNXuMeU$Y~M=oDySb|*g<;f-Agk16+$SZ8n>(HNE^1&9LLoWNfiCnJ#`^jZJPm@be zIJxvZC6}I$#eQMlL-8aP_F`M@N0G{VgGF3khN~XA4lFQS<#S@(5W`hot`F-CSNX(k^*lEl zuJW=D`wdrl-*!5G*l?AX^|=IhQsnw1*KtRi*?$ndeB%b35htqvwbvf0^<0?!Z4F8LK3%nX!*5OoiJ<-OLuZ(iLeIaEt$-o=>=)#wp~w{&8aHd8UTPbN;Vd=Wl(rXCzPCPkTN~ z&tH_kj-E>7f1#(IrKdIJx1y&Dc?LUWFL0j@PfhKCX@Aq3GX5 zJ_YkR4wv()Fvh(``Tpp?M?MPu?+sV;+>Cif7_R1-N?zzMtoKp&D+r#@aMcrzo)m_w zo_{f)^yJIXliP6BBl4H%X$N;kBkxD* zVV(O?zA5rSD$=kRJDwB_F+r z>%NylJ~3R@NBT2R-UInOmV8OdM_~R{D8Cr<51{-t^r!qt%yW|A>ip@B z^Jk{v>iqeD$1Urr{~YGIpYp5Fe~t3jk$*z@6u5r=FkH zcG6znaMj-f{q^8Zio893)^SG%Bd>bOqo=PWKauk7ke_SGZ=n1HAJ$qB>N zd^R8-N}i^(K7gC#kCA@|m*f47<4sa5YJb(Z^7B};llx(vOT(o{J|9ub$g6qo#(Wx* z-+{NW^z@Um#h9M|8J_eXzA z$`3=nC*@P2e-Qb^ZhG8NX)DQy2NnRzgG60d^Y;Gk(WpRVZ&9wkGr1# z4e~(v8}g~}U*w13iAw0(yPCSX9lck7aDHTl%l@Y5p*=t4GvIkp1@c_*0CI152kLK% z{(h7%fczxN2O<9t<;xC}lK(^bzmbnqGU~dj&WF>O ze+sy)zsxf$T~Q~nM52T{Hj)^jT552AlD<>Mm1$Kofc zr#Qw9qkJ>;yrTRgjQg3q7VbCyBTwB+?|a-*uIIn>XNJr9UkiC3!`1Ea18zqZ$-R>3 z{$}L<@V17l^C1UbXXr-W3_chx=gDfU!z9Xo!aV0$@@pu+ANie@{7K4>LH;J?r(-_< zlHbPT`GkMDuCsVHi~GW5{m-x~@^|_;B0u7m(}lAB(w_z{*Q@2o=e6WZQN9cEwJrG;lrMsOS4(~< z<^SMu(R9Pr>tpiu8}p2wXZlbhf8T86)#I+{!}VY8A+HQSNj<61b%XL*k^gGAnorlQ zY6YEdt5H7c{8uiYcTPku@1v53T=EskQ*6`yf0IkT8M*ZLfIFw+cpf=J{o5oXuhys2 zaP3nKH|IakaFySV{6fQ3UdCNxxXS-ReuLpEFYotqki0)$|2%8B>d7)e&ok6;)iV+K z`*0^k9&ZjEcf2$5s%P#<{TC7BE#WaMMBQH0x=BxRxZGZ{A@524ZiMd7M!pm7O+FM} zjJzVeg5m1<$YwmhsA0G|t~sOhxQz{0`EcZ08m{s^k?&@>%DX4kJ^c(<`5MTNf;%a4 zoong1V*P;AwS3|Dy{m6|`EMmSQy<@PcK$D4`rcv#^mK=~8M zm$u|AC;!P=8*V;NX<_jJ7N2JE`Q-9-w%f?%`PUhX zKd|^0i@Vi`S|4>>Z}Ge@DfuV3C%MeCD7nnjk6iKrG?`7`9I{6_pIr<{*uo|F8KoFGEaYU=?Ng0o_26`{=dX+Mg3=l zkyqE}emMWf7;c{bQw&%67s$^rT;=6`YZn`?@)f7*!Iv4X^71~kn+#X^A;@ntT;=6` zXb%~#?swc%=>Fq|tDdaWw4XLy_56e9^|uUHJ%PCY3O8K!Y{PtB8Lsl-$#wsG!&QDK z#{F!#8g~iCjZrJ=d{8|h7&pG*s^=|wQW&oCn=!73;VR!@x}HyZ!_~O!Fm5ixRelok z`3zV2&B*@+cT(i}vryMNY8rXfQxQE4$TP#+P)`JU`cQro@MflXX3b?8?N#} z$iFvS<#!?f8}6jYeUbNJNaP=NUa5Q-@@e6m&rSJX$oo>hmimXzkE)bUjeG-3z8&RD zAm5krL(o5l@=vjkQ^+^L=aPHDS5f~=^zWj4ZJZB>$@{>sSb82(ejf6#$Pd83QO`2W z$E~*Oemz9q1FmA~x_t=woRp7+7nll==Y;!F&sp@;qI`AaTT=cu@;xZu9r;m|e}ViA z%Fjf873HHxS7(*;yr%qJ*q)6$%me3bzIkfH^z-e?m&NP zxH?R=FU8T5gYub?FG2af$XBC$C*xZt{0nH(zp@XE|~iw7Qot`Q+tx>;2tGF8zDS<@wQdavAqNx$M_ha{2!BpX4>Lahim+wzc zMlRo*i{_Td5SC4O};C?gAaP$7e+*y zl7_1uzZANsyy2>68G33OuJRw!=zLwnRld`F?F|f9Ph>L z_RfZ@o_m;of5Ri^kDeihtDfcybkA_ZRnJrOOg3EQXCXh$aFzdn{6fQ3{sQt#3|ILQ zx#C9-yan#0$n&afG^YG9jja0S&yD1aM_oZxLstR{3GPO zDL)$dQiexfCvknQV7R*du13BldB??ieHxJG3DF)%UJ~bR2lD3dzJ{y$gkU~H4OjEI zkNHeAT;(qzKf`d9kA`_JHC*N0Q|fuHHC*LGkl$sv%KIUI$Z(ZEhI}a8Ns-s#ZqarB zeab&W{kc(({Y*E0B*JsP|E>ha=!A4Ojcv9s8KxaJ7%gSL=1~FU&3(p{8!%B zw>-JLK30WXUKjeCTwWh*K`yV4bs?AcZ=6Uj-^VeHTwdRsPcHAjw~}1mXKyRHync9) zTwW)?O)ld;BA55MeMc_ubNho_-sd)U%c$F(T7P+;nWW@0&kW=;&)nqlKDSlLWj+1L z<+uXKWj$My%X)Srm-$R5m;SXD-$pL4(;gz1*Bj4~%ln-^CYST}1-YEJ|B}mj>uBY= zFLK@{AeZwtJGmUM54pULXf1NdHzb#QcXG)OA>Vvd-NKz;4?-^a1?1h1>wF0LEcklz zh4B64OW>!-SHQ23uYo^+tLx$G$eHWkz8iUUUA?we`!B=Q?M03&c5B!DlK1UQYPjlo zjO$)X!&Q%*=a~#w`8F6go8c-i=YIjiRle;yJrj_Zw)SN%gb>c9A5xSCHOUO$iCCTibR{tfc+$+K+IJ;}+JBJatLd@i`m zvkB(uOZi5~SF+?AP<|-#Z7Dwl{R1r?Z1ELFf8^s6tj|`%)%u*kxckV<;0uC}lTUzO zhRZs1P=9cKJf!^QZQ5Uv|HQZvmL4~}z^<-FYM!^z<4&F)^YMi9eDYF0`gT2^zbG%? zf6>;+t984Cb?a)ln$Iuv^dk?0k1|~KIMV8ICmF7Kb|F8Dd?tLU;i|_6J!=hDJw1@$ zMqU$s46df4uB&U+ADkcejlAj)ME^6xRlnB`o&T4-A^aD4Zj2kRUDWMS^>0RhQo|$H z6Fq6kx5M)qu6n}JQ`m6TQ*fuA=U?RY;nfURJ$~tQzOLb_X8`g|$QQsn7_NFk(9^?k z)pH2>f#i?i6Af2A4qR7f7_NF^?b7pHK;9d^(Qwt{gPxs+tDcm*bN%W@=tNSnrgVp z%lktvAeZ-tTy40T|D_Ci{u>Ne{bjaj-(tAxm-mM}0(Vm6zToENxMAc~&jj>5w&cH2 z{xI^fI_Ul7eh;`@&%Yv{%W!pEe(Cl63mC5ElV_{;668PO<;l0g8yl|rgV5iXd^3C! zc{qGIxjWW>z2Rz}-EcndFTYSS+&-^{wlau#@dy*f)d7h2D9`fGg`QgRL^X=8+mVwLsr(yneDPJ4; zK*J-~6UWuwaCKa}4(R?KOHpjT?e-6Oi{te+u$M z*xyWW8CUuXP<{ydOOVe&e|hp-IL~X4U&gqN;4*G499Kum`yA5i(2G1id@%V7%yTq( ze9SYL{220!;WD2Fn9nB4*TuNI$;;#M?Gf_6$cI|`?^Avr^3TZ!qW=T=e&oNCM?b9B zEp}(u>v!2)4>ernf8p!9 z?!%oFInU8L?s#Y9RZnB|M34`K$Ltz){;T7ifS%-VIsfAw)qmkhz63qFEIq!Ie~x@P z^5bxS>Iuetno~Y6=F^?>cv|KNqP#!y!Ia14*0G54y^vo|`NNpce#)Om{w(E>BOgZj z_sBn?{3YZ+Qaz*WrtGw)^r{O9;75R*YtGs-@abCk!{x z3@(o!j-V$Ud2aONqMpL&DNgxC=qXEH6FvUaf^{8`EeO#sdFXZo%d!5nwr{pKjYX4;EkJel7uk7O| z^u!}ifu7WGH9d9xk=Nm~Q~n})e8`KV=P&9xisP+8`Ss|jPu>JQt*Pe%dU{cQJbDI` z4@1uc>bZ-ad6aL9o~7hV(X*L)UZdv_<;$VxH2Dkk+@zi)(e*w)r+oZ#+P@gC9v}K= z)c(tGbxzGZuRUHL*V}a=^rwNxbH-G@8S@*wyJ!_~M2aa_O2>%$ZDbv+-N;(SO4m-FE)jyIaFD zk`JQ%Bjl%3{y+3DrTi((XC3(~_;&IsSM)j@vGiY}{Qk>2f1CUP{5kc+kD>ElDL)VS zKjbkmpM?EgZ||AWlMXJo_rB=KN}dfp1*s<=ddgD1E_$kwS3yqz^^`(Sd&>Kurw4gw z^bDh(>gWlkd_wfhA>WFgm4>VHKM?2bM#Ce|+iQCL_rc}-T!3-UQa%>)SIOI4)jfB~ z%fR1R`hQdYBJyqn^!~~|dcxhwzvFn*lV68tC*Otn`;dEG*YhtNb4P`(H9VV3+W%FjgpKf~4W9>zRl4s_jjpPPCek{Yh^ACOODxH_&MH*`J| zc|~|`@_VN{lAXnaJg=@MNdXcK0oEhBVW#Nb-dj%&uWINd0xA%k1N1% zl@CEa&~TMsgnS3`-#D(GTi$!S>!v>vxs~;d_8$r_zrUaFnzoS z$@jodk>7=1GhEGI-k|@k;cEUBF#nf^tGrJRJ?=-tRX!8)j=@pa4V4c>J^^_MJPmm` zJUh8pPCc%-;cDDoIIdFUv*Fd?&S>QMxfthXW6H-vzP%;ipYnN;pFsI{=$}vdKgcg5 zce|^PYqO>2Fy%Ad(fKpvm*H2)-=O~vd8T{1=Lz|7_(#LlKKf(*zZ)KTo?zVALtOVg z2>C>Yt9*OpJq=g=hmp@}xXPEp{0kVa@*j}*HC*Kbk*@-GQslm;i=~e@fbt`eZ)?f- zrTj|dM^oMp{j(@P5y!jKlHW@CjmRINe1G&`rhG8=D~!A${4x0%%>Og>k3oNop;7y& z*7FB?5|De|*Xx;r{OAMinc%Yi(x0F5@6qE+o)kTmsb?1E*?{ur(Gy5s1U+4;X9IeM zP<{=1#*hb~XD0RRM$a+QNGdJ>R-Mo(IJG>5)^ZbVOR%BOtf3^+dukr#)TBESDw=c`)!11KLK`IhAQ z;N7X`0OmQ2@-Hx-apZN-Gn;y@qh|%>PoQTbc^~xbr=D>1oTL0w^jssKi=Ic+^Bz4P zDL)K7Kgjo?C(dx!+x2hsq=L)sx(Rx`$fG^c`{hkNS=_XjrhFFUYf!!f@=YmU3HeTx zuY~*{%6CM56!~QMWby*f^gQQV`qxmt`BRZ0$eU$Hr{5i@WME*AAha>-z@(+=Z zp!{6q-A3yDl6{H!Tpw2oxa{L5b@DFozsZxn)bnX+>F+`L z(l2y=AbCspIO;izdCsAHI^;vh$G|sI&m;64p!|0n*Gcj<=($EcZ_)FZ@;A`)hWtEw zeo)VU=!rYZb$_>^Cn@=R^mxH#-{Z&C>*-DTspu(2UKsmTiF)3t6U_P1fbtEI4vmp6e)|3;FHjGvP<6Cq;Zc?q$lmAs7PgW#&2|fDfv+NX6k8+c^;yCG2~DGkFK)-x2jmc z=s_AJC8S$Q8Y$^e=@JkT1f)wqq?HB%X=xBpq(MST>5`O`mJ+19``uyIeC+doZ|?WW z^DWn1Gka$5ea=1Hd#>=G;D@F2Eu9PEC&s@ad@KB!bOzIjJurOV@320JgkPeQ9`4SE z33T#^zn4xC;jvlgkEAo3P95|`LIJ z7vR51=NO$W;!nfhBRs}U+dmTg;o0fDG05(t+n0E8Y(F79R>c1`uY1&` zlR|hEI$5QYoK9i!Gten5{3|-uq*InoL-EJqw-o;4Ej$0tp3Xq=SJN3Gyak;J!u#E} z{Taen!{-UFcgOlG1Khk`mo}T_>jT`Z^GW8jJHTJP-iUuFz>WVB|K9*N{z&|*0dD+5 z9M_`&H~t3v(0Ae2^+Wu4@CfzQ>xW;mFKNV2&N{s7@r#OI48NlIW9ZitKRxql;qkkQ zUk-ne_}l4^7e5pGHC^~k<~dh*L-=axpQFD+{1E5=0pX(<_l$I|)43)7KiBQ~^H}(A zbfOOqzpkIrNeYh@@#*G#_?=E#;YaA?luqWjcHH9PkEipY@F#R?NhdFzrs8*^(@uCA z?!!H$Gn3Bu;y1;gB>rOjdE)QKUnTw){O#g@anG*9agTpR{9^deJpP+Q!mqob%qOw% zhw#+G_tMV}ch{+#|NG)EqElY{{Ty#y@srbUF8&$(F5(Zy?=5@*e6a8b@Nu60>VR+V zSGTxd?G>IjyWN+I(z(n$9|nAL{ujM({m{_x^-l(m3wP`Jh)x#a&)^>lj}_1M>q!4| z`VEEmg|`$w@}cc?_VfpczxILkhYLRgpCX-P%yYi@lkk5N9)jLk?&oW+3!jVsQh2v+wiA8W>-{x-*GVQk(_ZUm5$^na!n@*^7Vi8S!YAW567Kw- z9zH<0d!MV(!rlAtEfMbee|q>o9)8!uV-ElS>zT&G-}CT_9{z=gw-N4s-mN>_T&Fi) zojLZ83F2R6{eKbu{CxPc#Lvxq zR*1h5f3wFwDE<`uf5k6M|E~D)@t+C5{@8v()RA@{-MYC>Lb$n$n04EMpFY4}ef`Dr zifjRH{1NyC1N_z3U-%^g-1x2VD+TzgufOm=4shd_!*2wSK(DTs@~lG#@zdh>62CM4 z2=V`8-KL5^5PzZgv7g%iutxmN_`Ai=jelJHUHDhTuZ90e{Db&0MulIG-SLyc-THi) z$bLd*@yjFcG3`U6fSR%X~d|RMz&XWtQ!$FV#ulUpOuL<7-e=40pj2nA&`1;3qX6N}f+-T;Q z#^7fWKL>t6@#o@K5`O}IU60>V{2KTjg?|n2Bc0uhJ5KyR@P8J6KmIcDPvLLy`1{0< z{M@eFKOXGvn!uO>zehRpmw%M2S%s;#Mr||O&?+7pD=~Neg4t_)NpD=EF z@e{qU>+p@oA0~cb{K?`+dc$_+i{Ai$wfNEScZlEprR^N{`2UGt2mh|ekNiXUzU0S$ zQ}}G=nGEjs%gr;Z_zCFb72c0d2~Vf0_&4xB^Z0GV--X{t{P?WrDDkH<&uQYP#Q#nF z7$JM2Z1nj1#ot8#xbO?`%hD;yxG%)d&bYD1+Wm6tUk*P7+&xdIf}h3X7ZU#~{Bj<@ zmiQC!8+-hY;;+T;C;lhQe~kE5BH4AGBK#bkxt`8y@!zJiUHo>8dsO`X_!m6>eevhw zM;;fxFJIGt3-0#iFZ^`kcgN2o{*^cEIu!T#RmA@jzn;f$E&fdWPQsJI`*=E|#P5SY zN%&okcebaqQv3#Vws`zQ;=hl7S^QqC=VS5XM7HZ0eSG+Sjlxd}cl*^9KdZ+tEPh`6 z(!y)Ot4n7w<2Dn2GX7WMFURjE{yO}T9)G&{|Kcz7_-nXom@8MVW`1Qq47S*mpYw<78?;(D1 z{K4X1!JjDpr_pSGmd9TqenI@r9{-^DiSSPfAH+N_dpeKBzm5OK#PI$40v-?U_RAe_ z8u9n|2-QivK5mOYw`uv3_TdKT!On_+vc& z&*I->J`035hp+Z@c8I?p|A6o^@Y9~oP4O4uKlAu+{uq9J4aH9fcl*1W^~@uFeb%Rh z_!sd%7JoZ_Bah!f{J!|zh5rH{ES+ffa6&(de-(ee__6W-5I-(&47c6m9~D0z{soVJ zU;Iz--ba?Lcl{n&2lAeuR0Z zgS+d<%`=bqrRWq9zKqU?o=zR{Q`2eU@jHqCl>T7x%dwsl#ot4Jw)l1M*N9&zfnEO{ z9{-s5cj%uJo|w*U>3q$&k!FPNOFjH}aJT+^85PPX{zd#e9>0|M-{Mygz6D;#(`hdL z4E!$QFXFfci61MWUC*)NZ@`}?{@3^`J^r8K=fdA7yaxQVbWSnuP4Oq-KNtTQe!`#Z zzqsq@5BxN6w_ncBCH^V=Lc$}xW!I;ir&CM(jQCB(PZ-sHefqWdAL92DKRNyc@t5NN z;_;V@-v)o3@DcDm(kaBa=fwXT|EBoG@L!7m2>;EW?Y_A6cYaE^+pkoK>^f)l_=UwU zjsJniuPuIa{O00UWBy&le}vy#`1kN(p3YS9H{mZ3zZv7M5kF^QyAC@%{xR`u;$IZM zE&Ye$cg2r7Gkjk<;wOf?efc4Yolkm?pI7`2_$54kRq?CfeU&8NW>66;^j{`UV&%9ph{8Zwf zr2mfam+<$bGnH{Gh+mFz>xlmoesl3#;CJ%){ly=KKg#3J5PvEDB9FgL{3G~##b3_+ zPmAB;ZM)8wgg>Km-_waYD}2B5(n$n&`?ZU4Gm8HsejblsO8m|ERmDF*|8wy#;kOn4 z2>v(XM@eqiVTi|{B>vfC)}QV1SBk$5e}nKm@I9W+KjKfu|4(=v_+3vY^6c>a>WUv9 z?)J;APg?P7;lC&TN!GKR_?cPHn&O|wZz29@{I5O!0P!o~4;TI=e5!PwGwu@MDWciu zC)=d6oX$ay|F8H*@vjMg3V-bB#GDhpFR4@5^D0?@o9}}+I%}R{VkZdBh*V{7Z?SG?kry1>y7Q)bVthi+>isv-rO- z?m+P?Gwv9V|FifV@t26dfc{4D$K&r6e+m9+@t38x>u}BEKNEi>e$07xzudmKeloaw zUe^{sz3?;4Gnc1RLi`GJJ`%o$PAyNTsrZ@cboBUr#gBqNUi=lT=WOv0<1ZI~8~#r5 zOQo^vf5hWo6#psxTf$S*c`2P6jGJhF`1REUKONld<6Znb;t#?v?(wULzW~3U$8RnE ze*CT;|2y#?;7=4kT6FvPGFSXTY3({M6`lgV-qYDDes%m);-_TX8{)6Uf9mmLF9_e4 zbNI>NZeKFc&nkZOboRIkik}7lL-8}DxBkZ-zlr!E{0<(!kNE#EpCQ7l!N+?#v&H`% zf3fg);cGpeJ>rkYKko6bh~EkSrT95m&v*;N_v-`JCl%c7S6TeL;xEB3;qj}A-x~iD z;ltt0rQ?1tYESVG;SUzS1M{3H{zLp(9)E@SDKpsfYO}{bD1IsYGamnz_|5Pm@dBe; z=l;w;0o*;s>_l{lv*&ctT_$TOZ5dH$bS2_n7_q_OJ z8TYpMNAV*q4qyM~_;KNGot>Xr{O|Fzd;IssUxNRU$Nxn9!}u-5zsmf(iQhc4UFW{S zpVArO=}Z$p51mEgN8){-)`>qAf0xHUA^s-(%i_nN|5*Hs_|ccx{c`&f2R|v?-S;AA zwd;`4C*k)N{w92wr!!UjF8K32{_o;{jK5d> zgskUj@!w%RuZy1n|Ba>L*U>2acyPC0&QBwLMf@zn+rbM;rvl?v68|^+y5hUv6Wvn$ zBlw*?{y_1c;g9k7KZ~C(n?0`+4y_<8ZGi{FcWBk}9te<^-{{9fXJ^{$=I_a1+W_|@>|di>Sm z=fK}2d^+>o>*<^pKNg)!!h6!W@99MSEquQ&;wOZ={c`J*Ui>Zi1;ro5dR7wuB=fB6 z@mq>N4!@)D)$l&jS;)BK#4ne_?&HrMf0_6%>8}x*_|wGy z0)K(WUnBl^_xaq~O%DA~a zehKkA;a3(v7ybI;PsDF6et!HO;xEr_*Wo*lKSBJ__`i7k<>G&dzfSl$=DEw$IU#-} zI_HJ2qjTHSiL^3&zp~Pa3wQhF)+e?2(eU$$UyAkoNc_}!?0VMn_)Wz>O23`(r|@s2 zQ=f51i$92Qr+NHe#V>`wN_Z3apVH~cxF^NGg@4)OKNf!;{u`^p_hk<}0o?7&B*uM5 z{I~Mjb`Y_(MGYB=LX2pD+GW=KqKI1@hVB-6DJ^ zo&BE9S@A=3Zi&C0aYL)a_oWSf9Jt#T=cf{X6n=K`_tJk~{1y1+#Xp2!SNsF{?K(8` z_?^Z76~CXyA0z(v_)~#Eq_au*2|9Z{ozvofK+4y`1k2o68<)wdeXVixb4NCiT{nqA0~bS{Bgqjz-LM4Epvbo zAAg7+r+_`)?H>QA_U(y-Mxc`d31pk)D z53LE`m)7_(g%5|n4R`xBmvM85pS+Mg-Xb2qg7}B%*A)H`-dH++GHw^~`!Q~RkN<=C z#qg&JZwOx?oePY+QT%K8e|h{<;?KgrD0~O}fpj9rw%2d$wc-0!tFT??x8ZJIoS#Mf zc=&mQ=Y^M)PCCY|CH^}6#vZ?;_+9aP2%iieBApV9J5Bt|MeOk|@c3)QKTChB@F;W+ zNvA&JUKW2O{sWI6ZC&`jRKSlXye&L6-0fEn#?2@GWBigHznb{V@aqac3~wQwiH!S= z_>JGU>paBcPZB>R{?Ecoz?VvACFA}n{x1AO9{;@f1Msg4p96m;oxd43!TRw1%3stT zZ)&*P7w6{`{|5bn!V}Q>Kst9Bx1RV@@mqNOuHx6h?<2fBe57;|@P6jMh##$(J>I1r zf0Otd=CY9On$9ZexZfkNNBnvC$36ZP@tfe^ z6+Q_5#zuR+xOH~FFCZ!0?bll+?D1yw`1!@(L%*2tTkuNK*~&UM62B+ow)6PkieCVK zknpHtX*T%mpyc_(HrxRmy_~XtL{6uhfeSOP3(}}+xKU08Diuj~o_Sq+;WD z1TUGxo<9Ww+}u|;mo+1WLPY}Hbka4oeg(L(%+F;+j%#@f5APc2nEspPZ2x=lQ_`6t zehvIzgwHE&J4-#CjpFB`vr~8{I!C0FmihcA{?~MF3NKFQrF7n*lW0r${!XBi4(`@7 zH+~-R|G+Qq@vDe`2EU%iZ!Lb*5A1q&_4wb3pACPa_@$WtT=DyQHO_GJY9!X92;It}R57k?q09v(haI(_I&6Mq|> zU&Wt^zgGMm_y@%Q6aTdMhw*QUe+B=U$A5EM_5BRvx}df`+s5aJLA{!@aEEapYx=L_&1pUQ1Q2yvFr1L@JjF*p3Y+N zU*NA6o&>(l)A?KcVXVU`;b&OSo6`A%<9aFnFO2)nvqdHn9;x5Doyd^&u%bgDA$WbyyQpBCW3=O@2PrwyI;0pC1- zxL3iRC%ZlV3Gw&iUlRXo`VYmgU(xoX?+D+oAMumI-F_v-Pb+*fD2Ia8j0VVPAlQL=yaFPFC5nh@mJ89BK|`B1>zsWU+wXCi2nlru*d&T{0x=szTEZr zk#~mQ_ddc;1UH|3BjTTR%s->}%kXmuZwoKt=~NJZBz|4-4>4{_@ekv7_V@$Ee~SNu z_$TPk6hCccyKYOxKZCzX{GwH?zt`iR7C#yOHIM&H{0Gb@>aOtpY6(vWcl+h$nO^*Z z_}PV*gBS92J`#U1el3sRRQzH1-NnDmdJYkPEbBAgABvv=5kIZ) zvG5$8PBHOU;a3)a74vK?e!A-RxW4rGy~IC3|2yF?;Nt__ye`o`hdpm+2Do|LFUz<~ z;AR%)etw#HZWO;c{$C#dl=w67uX_Ba;-A2e@mKhMx%s>ecl(vNhF!O;;+IQckGHV+ zxjwdjY2lk|T3*%D`CR2S}_>Jk56n=2H#Gk|b`-$JZj$P;Pg~x?Y^mOKmUlxCr`0E&V zyZDRo|MvJ7#Qz)ruJ~K&N8TU4FHi6jz}>#=#7`%FlDc*sa(evY;@|zm`V~EXJ@NP9 zHxXV2-oex9BmP4CA;QzZ$9p=n#UFzIo5$ZGesla|;_qcWZ;0QE^?d5_V;>0Lufq6= zgntIl0C)TN2ICeIe=Lt*{+sv<#h+KtuEXyhf2a6^ z@Q-->i{dxIza{(#^L*~<#5okcU!~|I5x$I02DsZVcf9$;Pfe$!$FC;-Q~FKCPr!P1 z7yqr#?0OFJ_~XUj!+fR-zXktQI++-Ei}*bmcfZF!D}Dj|E5hr-A4{h&Y-?I1Nh2m#wXy>^kz$ZnZO#Gh2jh@cofIm6H z|Al$}>+$c3|2h6M;eFxJkJx=Qvop`b(=h);aQF4pcKo*k+|1v7A3~M@pBlmU@wlHm zz|H*ovJS=JZrt{aTSfeIjf@cr)e-)JPE+X&qSMdA$4I9v{n_GAqq9={=J*?gpI|AqKR{=N@cZ!1p3Xt>vwvaN?Tp92C4M9P z=N>=KvG9EykDmta_OUR>m0$dKn%Mc2^7z%o-$VaX;gRWd3~+N@Kj8OA_Yv-XzxEK} zGrzNMoH0kZ^VfO!LE*XhzNT}+UFWLsCipRrzg|x>f9EF`?tYJUUg6IF$iwRjZ^pPC zg}Y8a;Vtl|2zUMx;qCD^2zUMt;qE?sQMmIT37<_r!HNIBZkav2n1|Q&@RlCl%frWd z_aWZ@zRx~q@e4$VZ;ch)M3U}*YRJilY34be!9k0G{=YQqlgFSqj zhc6cXaG5=>9m3tXXFdFi@azq3C-Ohx>*hKsJUpXtx6Y-7yG}*nMLXJYTMBo6N8x|G zY3DaoxbtUu_(l&u;^B`y{EbuL>r-ZxoquxSZax`=JO6#*&adv_pTW(e#LZV{vi+ln z_yhLa`3&{&Nx~=MFA*NMukGv&aPxex9gi;u13Y+tJ{jP~&)U??IO6?r1KjxOIp3}Y zxbX+z-wJT!H{^Nsvj8{#&nqMTFdwJG_oXdAj_*ZnEOJ@+BH_yD@ce9U)=p+`tnodTz*$s0(?4gri z{FC^_gujG;Abe&^yT3I({l?<&Z(;q`!tcSmN#`W<{7(Eu_@jis&3vXw=PsQ^;t!>> zQuzCHwn~Rze;qm`ehWJP2yZ~=s&wMmWe7bHzZ{*&XT$fm51j;Xw~s05q!m9sovgzD zq*F*byj&FeNc>5y>;Tn;H-tCvblQoZ5xT9RQw0{>plKn z@l&?81E2Kx*TgT4|JdWlJQu!?t?*O8&1mL&{F>t}?BSmZ{{g?1^heYGO89noZ%=2W z_)*%}0VWDB37;*UDa>c9hyN#h2L1!-_oV+)_%wKof5X?aEGJ50xXGIJbp4FtcW7$| z&LR8<`1{gX%seZIUj@IW@Kx|e()p84d-1d5cN2aBK1ezT=!_FT2L3eRFW?KMbC%8; z@h`B>TZN}%oexUq7M*kAZ=!Qmcyl^Wq?3Z*FC6Q9`2H68(hl&J@DMyL+*oGcT_?Br zTNt;n@FDOIrSlH+Y3ktvg_px0C;j%!bDHp3@CBaE8u8EJZxx=py4>!+(&GU*+>1P-I4LrZ_^d0SdN_qO##IM@H`gMhOgg2K?Bj(vz{CDwt z2_FX^CY`QyridRC{}1PA94Ga_rYTaCbhOq*Flrx4*LcRYLeFI+Z+~&&2-;zp3yR@UNtEk@<}B@TJ1v z;P;bml71EDze{+3_)$;ilK30&Zwr40e<__<%qP{w@axX;;=<$MSAo0hu}~+w{&j@c zgEtf&>TLbCo_2+zQN)sW6$=F?dG z2l%apuYq^D;1oPyDTPo(un)PV6h;`}LGga=6>CpXg)|K7mdi>BO?xP)YH7 z(J3$d4?1{%?IC_e{Ndua!=EaC zAN(ca55(Un{!RRy!dJqNN@o&Q=KOJfX7TIc zmlS^s{c7Ux!2d%0gZN*GzpRIye^23!I6sF-=M0@m;uq{=J3k9=3t#N%tQUVI{&wLn zIj*zPiOlbNx-I@PI#I5NUl$48?~{VNeHq3&q!ON$b;vHAG<4n#$Dv?Vk3yc1vdnos;5kVB8DBAHW}a zI?--~UoY?Wv*X4S-WZ+=ZY*;hO<_Loia!azg!s$wtBAi3zmD)|{q203N@pFNPU2_9 zA0+-B{Bh!cjz3rYllZH|AB(?ReD{0MPKqCSfSvyZ;k)SEl}==SUrFSf;rmjUP7=6V z|AhGOh(8-YpT{pP{+Iam#4kXrBjN|Xz@#N{!bRZn)83IbSl$X zEq))y-6VV^e6Oc-O8n#a7loIHhi--6-^Mea_;7cBdybz>c)me)eX@HxMZ|B3Uq<*e zcy;N_Wj+nXKZ5_2_#5#1iXZ1YJI|rQ%fKf}XBVA0;y1(pL;U0TJH?-Z|Bv{W@vn)0 z06%m)d|yJm&wqTl+n17q?Qta&9s{0PI`Qcg6u&cm1@Y71e=7cY{N^6Nv-k_}M~GjB z{xtEE53$EJM|d^(3h7j#vrYUIT#tK&_u+c{M>?OC9$6KZu{`dwX27#b1ZN zLi`H&>xK7*?~%?9Iw!^d8ULpENAX{Xe+)mt-SGXoh@Tej_AA~ndtCX&e}P|C{BQ6p z3oi$+C!M&w|8{Hfm*Iaaek%Oo;-?#K=Q-Kq&lCSL{mtUL-9>&1 z2v6aRPoIl}wGS4bx#oo(XZ!apW{KK#q#HyCY?>w(9Q`XKx|dIvu>+JQ}d&B2S$Gw01D)EcpZxlWgzE?VhIIdIT zC&j-g{7?9O>6D=p+q4%xl3o7_zm&r2#?Qkt&q+OI$OmrM&~c#`RJUKP8@zd z{i^uM>D&`uo6Z|g!tb{!=_G)=`|U&aE4lC~bh1jP6`jK3ug5Pf{2aWZ@IlM${(j== zHy8i6rPgmR{0RJ8>2zbB!^9tjKTh~l_)O`z_fc6Uemnd%!c%ixJEb$3`5Y6!BAs)> zOVPO{oq2R#il2o}jHlt(brU*C;AR!g{dqN=OyWnSlT-LSI>n@OicV$m_u$tSehdD& z@UhG7{(Y53yege2&%&?k)O6m0yX(3Dos_~m(#a;B9CQkc{}!Fn!dKC$E}bfL8i{`b zzm@P8@GhRtK=Bu@u=_qj_&)el>C|UF3&bCSzg+k|_-5&JqH{p}=J+RsCtYdhd09HW z=sXg?ES*Tt!>`{WbmGBH)m*>B>7*7v9i1HFyWjUwO#BiP>^wgZ9u;2G)A>UD9X#J? zBYXtByL3wM`x+*A_-f$|@OMc6Yvy@C_E;PM&^0@jsqq{qKc$flrc7caCeW_<8V`3ZD$$ zAe~Wk_KF`D|ETbF@c*PUh0cBPud+TbgrBAJ=F9N?nolPM+^zq1IvIsWVV(0z=XW}# z#Q%j(1>qIw)RoQ!IxWRdHO1~%N8$g{>E-E+5PvrQ1mSJrv!rv2`E2p<3&P{Yd373w z?n}QW^M4_HFg$k1e#3(~N^>7`ofL4lFI(|53Xe3^u1{X+BxOF;JiLQ&_xn@&NWU2U zA;KHN#|V!)&CX}Kr~j+?d4IJ2D&e)@+oY478F@s=f6UDark=S|NdnC-Jbpl@#Ev47oHD( zM>;2&XQasC*UNS06H9mb##|bX7P8@$t}D)o#N7YL8r3#v+2|pK9x=r>BNa^ z@8@5M-=9uT;Tz}-k&gTQK@-JqMCT{r(SEl3wM04}GM|m&AH&}%d>Z_Sr*l#KFYs>( z&kBDbof^z1Wt8yi&hcWxJK$G_yX!IDOnbbwg_nbW;pu!Oejogv!q>uwNT(a~nd9L* zgnx^FO!|-MpA(+)7kgY+g>Rf?`6Ew1derdi=mwqm!V}O*4L4Qu{9zdL%pv|RIt7Hk zN2jcGX40uC{v0}=3IBvnE9v}7r+4J3hC^jvsL^O zbp8^4p3Xngc|_;B_$z1I{e2+(8+hbs;n$1nyajjHMJfE0!lT2pNhfkVd%ya~!&?eZ zkKaxD*Xj2ao?(tXt`VNjH1R*jpCf!Se1&wfF`q*oeqVSl{HW2xua_hA;|hNQPbz%c zJbPRj;qE$e{e0r@o@@Q0!f(PWNT)dStSkOp{KmrHVm|GqQ;SY7@dwiRPIv)2|<$2)~X>^FD0J;O;tV z{Djv&Q<>gm;HGkWO{x*;f4g_??CS2=6bQ7Iemlp8$V~ z@Qv_!()o(cYVmKdKAVJ}r?XEwed(MQe;1ug!lSd!52Q1SPSlv;*YzAaafMf=lL~Hj z<7UJ^E9m49zde2d;bY(>gcn+G_qUR#Ur+p|>#W~I_;>J*(%H&9`-oo}e~9n}@Cnj6 zNoThBY48^d-wR(Sor`q#i2scBIV}7Ro%7OpK`K7CWE`{ zdIg>I!t2q=Bb{t?N{Rn1eg)w(;5CJRu+i>sLr?!p@xR(&{jS2t!3RpmyfST2mTh}|G*DOryiZN;>W_jB0R+UJd#c;I?-c?U)L8|=lH@i&`Aw9 zt7xw4Zgg^pzlBZ#;VtQulg=IiZ!$(QyB=ear z{tx(bg};EWl+Il`+r;mHzgKv=1@^f9kmZ!WUOn*whB-_3}BzNV8+ z{JX4YVe$Lmmlr=5{Tjk+!0QR`&EF5U@btTgABpex=q)@We7JN*GS8{vpJG0)-6gT`j-AE@M++C+%(|KEXebza%bbjOS zVGD|X0>7-s|5*IcDtlhl7oG{;On7f!1^A?hK^F1;sI7&&_iODT{006H;m-ds!RzBP{bCo)oh1~iE!_F+-!C`rTf*JAX@t9R ziwJk?Rz~<)&WEbPN7S?De=Fgx^ObOSp7av#&Xb|S-FdQ5xH}(~3U}+XPPm)TpTgbx z92D->=c;hGFSmrdaU&=G|N9b8xEnWxa5ru~;cnbQ!ri!KguC;hs&F@MJ>hQLPQu-~ z4HE9ohcUw4`LIa1>#P*+?pK?IyM5m)d_w|zKe;5_^=}Jz$NOBk8#h6c|G!_Ugu6~w z;jU9!xSLOX5AW{b{e`=A7%AMX^AzE3U*-yT>-LB6t*qxx;cota!_D)A+xAj__2;dC zZ=Pp<&+8%g0^B? z6OZ`FCVp@HA|Ag&z&GPAVB9($zq$DB@H+>%d47I|=jY!GPn*lmbB6S5TO3*x@XdS% zZ#G953M~zAvkvhW*iTp&;AY$n^fw2%@!dKcgqx~awL;Q94O9R}j zLnyZ$;P(JG$J_r;d%Syue*ixYH z6<#>N&H0=*uN|OxfSdE=6#dcx9=xAa5k8ssscR76rk|VZrIYaX@b85$hW`-YW_5`?@&l=`)JiuSAXCAwr=K|dL zXYg+axbdsuKMru?SHh2$;`QUE@q6RP4RGW4$4?dD#@~RSDZq_Cll93P;Ksj&UnIbd z|0jNVcm#TNAN#`mOT`kHh*85TBQOLu19Cg8!rN-0<1LvoN0((%;Yg zw}~HPkNppOg_nSz^>l8D-x&X~@B#4XDZ{V#Gt4Im++FW;@w1Bm1iz5@yYWj2zX`7@ zov6G|as%-b{$&T~AbukJ-r~Q9KSulv_&+*uYX-S@!@X$H`2)wyU)&lz3~0`yFLAr;{QzNg7DVxJD$!PsbAj@&3!2cer)0QS+_*O z*TU1m&C%SB_{Xhh9`Og@7ZF|=UQs&Z*_V3a-(!862w!%<5}q8MQuu>I_IR_x-8#GVDJ=d$ z{L;b~!Yc|N4FAN_Zy|m&{0_oP!oT%&hKrvH|0nUI@qX7!#h=OZ@Qva><2>0fek=S_ z9{+~;x$$3!|2gwXnJ)Y~b-aj&SAe_gv@z%5$Kp4q-$?vH_^pI5f`27E*%5o5^p<`H z`Xj}EKxd-xgYciFGm6e)@#iq^TJdM%?-9TEF+0!0!UxbfE&Mb5Yo7iy@!!Lbnm+ux zYfL|`@C5iN;O_cz^Up5+jiYw{`Gs$X7ZW}cUcuA3!Q~Kf0S_7pCsJ*vxK|jT`IgF>$yRAY4~2@Zrr27-S0a-FMK$i zH!}YJb&f6k2mFk}-MB?Oyqbr%@bC`8-Ta3LcjJx`?&i5bxbv3_cl+{}aOWQp?)K}R zaOcO%^#9j0lZU_W;nh97xrdMP@VOqo(ZhENuRhj1l7&Kth1Z3j6Yl>0=!Wp~{QYV4 zcmDtS#25bkU^{L~;qJP4SNO=p_V3Hy7w-0@x`%%%+|9q4aCe?`7w+y41BJWJXyL9i z9c~^~?z~!I`^O&v-+X;Ho5!j30Uo>`ZVzzdpTgfA;Kp}<-*hy40dD+Z{C(4-05^W=f2{v3z>WVSevHho&j;iGcEkE_2DtI(;J*zw zmRYw9X7UjqnZ$R0@AIC=FBkC5xYv%`acg+|#^Nu+?-1bT^}}kso;*l+Z}@cS*R|6R zEe`l*KG{y#`K$|Y(_c(yTYwvX0REu>H~ty?lL2o0Xza@c;XlLg1i0zs&Sxk3B*0Cl zIez3U;rqA^9v>c|zS^(J9B*3jpW){e-~ByNaq$PAGR07+qQ|c%elz?g!b`(DNat7P z*+=|+_(Oy*fKQgr20HV_|NOL_|8K(6&{-?I2>v$VN#F0~xH+$q@j`H(05|u6+57C{La6|M)#3as zAK<35=0wCF5g#=J-1uo3_mcoO{`j-j|17}GxD_whFF4!4jddsDpJY}K^$hr?bB4~4 z05{`KXP%=2-1t*D-f01D{C)Vd1Kju<@qY_&L2Y$)`H}lNRJTnHkndiWBHk3p7Id~DcvCRBm9dpG0 zRuI3`zqa#9fE%|x<2DR%Gj8tl)^92N5uJ|0*TH)Tf1i2w7v7EjFyX(##|eJ~pC&xo ze|DY=0^A(ebdKw{05``qnR#vuaO3a8-x1)(?}~pE9)Vu1Gk>iVy5`}b>~`PPPXaer z?W?_dFXCS!K2is`8F%3Y^O>PgX5mp-&)mZI;TMOyasRQIP!;h@;n(x{t;O$x-!s6? z{Btw^{sC_0pOt+XCcG2p|D*snorZLN3UJe@N@u?C>U4e&aMKw{=g$B)ov-Qahex1S z`{O>2IJP<=xlUwc)qmDTSvk@M;@F83WwRC+($(KO#PI2%pG2 z3kbghFCly|osWcPzij)p0^H2A8uO_i;ATG0FIvAE6Uu(smiNDk19~ZwJ{$=sk(0?p`8P+*kj_~W+ z`AOjBx;FD~hM!6NyY$}^|2}?k;p^ca3g655P%FUAdY&n4&Z>ytw;bTX^SKq=t>;_3 zKG{9soB225{2Ao&$BRD%e^!8-`7Gvn#Tw!93)y)dl71%Ub3Wjk`K-KRW*l)21i0z9 zr}HGhjlYcfM9&$1oleJ(7vRRfik~vTO@AML#sD{d2Ii9o9)Vt+pE;R-IpOW$wWL#z z&KKhM!v9MAG5Gz(cdwuS81T*fL!1w@0^H311f5@nkG^I;DdPE(^!qWN-Qu6XKOW#_ z+>(rYF2K#WFBtc#@Iu$^xc7v=p#NO>XYgpbUhl8zx2F?N_$>I_!f(RU2_MDR-8lpN z)%nJ86$o%MZn~>>{$&E(_>1u?2DtId;@5?n&oW#UFy-Mf_R#gT!x+KTiA& z__M@ch`-F^Zx(+a{yy!+e7&2J-mR2R}y}T&S!9U z-!8M!&3^s z1Ez|B#b>uxve+*ACg_=7$EMDbIz zK6Aw9+r2`o#9xTNQFtl%PT_@_&oSu_V*Yo9{{T;rH~czsJg@NT_?3h=fw%JTLBb2z z;X*&a&Gi+09x_w>y7<2Ze6wEzZkrtnh1LqM3g7AJ92b8+{=dSL!S6_?6Z46l&;E*z7k@VX zbm2SUi=?xY&RX%Wl=cl-F1 zP7d*>;1>|S9$r>DarphGAB%quzrOIO_w4bumQG?iJ;cv~-(Pq|_-N^L<+v6I?+M@O z;TMI!$9(R=-8#2p+(!X!u6OtPWQ_M-?~A!V-{SrpKfulPe)oi3htzQM|IGcl8RO;@ z|0UxV6n+w3*3wS-0YW`XYXRKrWvXvd;{Y)7JdufU3gkL-^1N}{$oCK#9xfR zIKa)mXFF*=GZb1E;AWm@@V5oH@f+bE6F%aB?fe(urW3!oJ>F-+OTrTswCAV!Y;(RP z;rFFxguC;+F8v(BGr)^@Iu*pf&iPhT_)7R^!Y|QpDg8{$vzz#R==2pH`=MQ*p~5TT z{~&xT<4zTxo6bVGTeo7&XRY`X*spEEyV5!6>HI7HUOLx=*P;`tQ20K&-I<3V275^*Y zP2dAOow4E{!T(wK7ftb6+iqp9XGb zeb?SPU;SA`{Q3CB1AJ1%C%Nx4`7ppu|15sR05`t-evCQ+Zv4tmBmRi^s2AYIU&GhG z%>&%{1Mpi1xbgqQ?-Jm~Py8(6kBE;R0dD+%@Q1>UW!52qkt04P2Yk~>%D6Ly-+?cY zPG*}4Z4`em{_X%bk6+VyoZ27YX54zr|L*`d^Z$jv7rqeSrqiCz^#C`WLUbO&Bhahk z9mG7NydQp^jK+@<;AY$!we2S)3UJe3j{kOm8^0tk#AJcHaW^q;p@45XN9mLke?NXL z@t@*16aNu@XYo@%H!}!@dI>KD|4#USFRVY-)1N8+Tlfow7l8jEo#-|n+A01m=5tW^ zr*zIrCpDd0;_spJSok+|q8ELAe>UfTRys-G?mj$^P8#9U>Ew`3Av#6HA4I2|@Xd5; zO6Nm5jm2+5r?v2yFYPA`2yk;Ay8G2|;qLn_Cke0H*sjYg;qLp~mI*)G-991SBixO9 zShySarf}znioL!b&HS$~GdmFq#TI@CoyAKW6dpeJR8`#1UQ} zo=o`EEp{EU3ZDVbFT4qz62j-=SAv_f{@$xI#QxDh{Qe8=ezgd2bH9C;>!nSA2d|f} z1KjxE;dcvgn)xrNVz7ZzUV4ST$$g+GB;g}Zew z$vi(7zaD-I;a^6w{m#<)h|WOqzoj!${F?Yv#XlI?_UC#0-^G7}{$}Bi=^hmmFN2>`_%L`e>9k}%mBlX^#jaaz;a|X; zNT)5GPT~*5|3-K!_)zJ5O=q(BbMa>iAI&;13vhG($1h<+e+0N$&l&9R7U5gqdxTe_ ze;n@CzbEs&EdFlhc}Mtd_*3Co=|?FQzVC_n!T7h}ZrmY^n@-T*iAcVE|>4sdf`mE^p-7~p39>FC@JaN{>D zX$O7~;KpBy|0KZ8xHnn1SfyW|52n+eaT5l(=@g7^*FS~uk?<@5ZaUNHn?Xm8%iGFX51AVZx-Rl;054rKJm=IM0|W8er5cc9{&sR z+vE2NaC6^qUoVXH@ae+80KhQi(ZWHuG<#_cNHeO=jKxEpt* za5wH8;cnc8!ri#5gu8LK2zTS|6Yj>nB;57y33u!HT)6AR{2+Y4O0>3LZ{`->IGO!= zu!L~e|J1{~3wP&3Z{e;pShzc{#tL`qHbZ!$Pwe%(QMl{x6#m~hd%TB*--e$P?q0VE zeHgxOuAjogvj{Jr+^%Oq;jU9sxEr^k@R}3s{A&w$>+_Xx*Y7FZy?!!5xa-Um?)){% zKep??L->(tcAkF=KLbB2JoS9*Ul;yo3cGGGKKlRbpFp@fAJPf`I;HL87Vg&P0}rn% z++C;jguC_mQn*{s9>QH`kZ{)-3pWo>?lIG>^x}YT9`8!?IR0CJ2OoFV2DtH`<8KUb z??9^l3=AJ_V~1Kju-W7uyv zdmiA%e>0_=q;o`ge)t*TGvJqn zXH8(|b4Pd`{AU4f*5OtuJD*4u!q1l(zz;~=VqZIKB858y}xGtL#1BfP}~4F>tCF8ODa5J z2D=Vvg?GZw3pZ(Ve~w~@3zZgs5q>rCGvGHA|2%$6;qPX&^XVx3CG+edyej^8a5qnW ztSK}>{N!)h{x2SXx%kEKw}{W>7CP$T*E~FOrSSdA&3?rXaI;?>Ij&^FPqGf_g*RlL zx!`Uc8nOOmJiMlK{$SjO;^bZIxPv?a2-{6-#{YT=Tryr^E>-{zR*oICl;UnP5;cmZvVtulSACos8E$ZBH1mdt?@g1 z{DI;x!5<;KSZ2E~Q#_po;vb^3TzDfon>?KZ;yxrI05`AlKqbMQY5aPxTDu#|l~ts3CwJZa2%_=)hr^qa!naW&$& zz7~G~oo|J|o7L{)NKa?F_?sDbuJGz~R(Lww#Q%@ZUg4eTob+_Ai60aHzVONLsMW&v zy))~R7H;<4tp7;XKTCj{^`FDKpJX-be{c?UPxZAG{ z>{qq`H~W<~yIqHT!iR9YMTPfdp5@_g9nLb(`X1g^IxQKuyZG1X3=w|`{utrI;4`HY zE4sZu{3iYk=D$|>Av)WH4|>&_Od;DhNKjFIWB)lZ&Pao;zU|&Xwzkqp8622Gyv+z{( z7YJ_-UoQL}oh@*8-j-lKhs4jvI$RUKH2yR3JMeraQO)pu`~W{A-0kCe`o+YrfL~j9 zO?Wfu6wP7J&#ydwKk<{{kM#J{#s3_CuJEhy6`syE@%!TM6&^3Ao&QNs=bHGx(0T0f zV}5Mc->vg@{8RyM9>3a`vG<4c0UmrkDyMMwdQ_1BH}}uoZ`=775AfjYQB~mXe5+vf zP=kPPI#YQ)p@sM@@V^%S5q`G-H{+J#^`F53ZjQHFX?wh*0^E$dkvp$PipP~V7)~8wuJD+mGXVa+xcjIC=)Ss3p2Wh>*B7rzsJ9q}*VHy3|CetY5L(%5mk32zDSD||J41l-N@ zF5^xU{~Y5k@c3)QPnOEgXP5Z#`MLYk9)8!uW7P@YuiRzq{U>RFoBcY;aitah0X(bl zYRt0$+^s_f=2^kRKb20VwDx$Li=T^57xCNT_ZD6rK1w>(=*$p*IP;$;d>Nf(!keYD z^W5O+?-PGF{bRxp(?2J?6#bi?{!8&=rMB~l@yYA`HT(FOegfes>8FFc{c6qn2UMBy1YZ+{Ygkj@ggTZc)^XQTMN z=pPgRC;ZFeKj85tQeC?*uKx>u0=Ro#G?M+wCjK1!GQtb4m}-B)rT{bA?2_ZJBU4&+5Y6 ze42ZBd*QC%OL(+Y_WJ>b3wQk=g@1y-P`L9~3I7TIPvOo#AbdCeS>evVE&K(3=(GR7 z{_%x3NNtZdy>R#aY&nIyaSIA}zt_HwaOZ#N;R8H;xN!IVFbjmc{&L~Y-zfYsKL>YO zxa(YjoBP0%S7)I8c3uRbDehMI*k?J!Rzs@05|?7{GVMN9lP%z!XwbD-+SPv5x*7vT;gxUFC@HjUi%55hSfA12uV+3p#6N-mtN5Gn*NK0e`Ro>dEB*=b zpW|N^e+T|^@yq77{~=z(@axO@8R72wN{gRIeE0L<#l@e){h@S#oBQDa?w>V0oyGy* z+z$uPX)k^ibHYS?^cH^?{$SxZ;NzuJm(FbQ6L8%v7M>rzUOMMl=e^>$VBL-i9}53Z zI%)X2BWJ)j>$#s!-T*fp_c&NQz>S~$J$qoK z1Kju{*~cmYZeFLF&g&jE1Kf1Jpi?KnO~-w|Wpj80dNu#gn17dmZ#uuy=_~#y{1M{k zEnw$ACcw?O?)z7#c{&RMz8Uub<1P+x(;3G)YzT0(4*OV#?E!8&qnXd)05^W9tUZ8J z0dD*g_?O^DHT&y+KgfOYGZwVR`#8YOJiq37$eWE{U+<=~)&wIyQo`N!{sWzN#BYtC zPyEmD3kJ9ucPi`iL7?-@4*BZOj^exXxrcD~b;KCq&YvRO`74Awf4y+`Ja!M<9Om=D zJTC=&vo9+--fIDFj@R|?2e|RCyL}08j`~IT<70+Gb{}H~xbfZh{U#1@({F>H zEWnNLuIo$zZv5r=Sp(eo?)%2y3vhFOw&(mT65ytjxv-sQ@c=iSIqv=t;HHzCPVE3U zo!NAnz$4JB_3yzRbQ1qM{y>jER{Z!y>^$d)Ka~DT@$=#D5`Px{3GqL{zajo6{1@VP zVE)mYgzx)Kcw)F)hwF4QiNBF?^LqT!;{S+W)#HCIeh>UF#ed9vdWnA?|9g)=Mf~XR z+kKfUzPm@P7C#&Q_5e5M+j_pfJ|f&*k7tC>;~Ph=3SSD3-1POnn7-?z_VCQY-TkMO zaM!6I-2EI@YvJzax!MbNKabW^xa$uP?tcDdlyLWRYKw%s*Cmz-cjImo?tbp(fN(eN zDdBG12g2RBPlda2qcscP7dLJ~;cnd2!riz9gu8xe;ch)E3U{44!rjmJeJlL;boOY5&n|-ml56)zq0g;)BjZb@9`T1xS6MW9Bdch=5cU3kAs~9+|090aeKV|1Kjxg z@V^gmJ*b!;Narw?S49Z5Mw6{z>tFz`y0;QCisjb$#cj zfSc!;ubvMu&kO-><~f3OcvtvZ=2KYu?s2)i_)F>35PpVE6Hlj;_?y|^Z-hstKg83S zB>sPNeir@?oyDHc2JvGu{~f~1(>W%crR>*>fN#!EcmGM&GW>dUys+?*gUpVGLM4Pd z|0Cf=JDQyig+3NOE4{rRHWdDCZ2R{(ZH3Rr?6N; zc>fdb{F}nvnIZ5rBnCTsQo*Ezq37ZdLKwS~L+d@kJiZQwPri4rSa#aP>2azX(5<_&Mko z6~80%DJOgvyhebV_1VDsd>Y_po>lR`5Z;t^=m2-~{~ujv9%pm;{{JJ{w;}t!ldaKM zBgT?F#+Eh4P6lIN)7bY+WG7=SOAI2iG!dd=gzOg>v3U&Rz1S!hb>j=kPN{C0+M_(1)DFuOg=yxYn;Z70FLo$MvBG z@mIkcn;f5n;nBnR_Bf3;elp`vHoo+~De|WqE;;(T!Fm<4VRokJ={My;*s;S@g?Um>N#(?+{y##PxaBVd6S&B5{2lcagY0|9VPXpFch) zuH$CzA6!T2vp#>!M_k8!mAH;ui@1(kkGPK8oVbqrE^!^V4{;rL9C6K`MO^zipSb3% zB(Bd}j}V_#%-yG*C9e6mz-6DmBtP&-J|NgMQ2#UHnUIqr+U*DJ zPaJZxfXm&n^k)uovKuaa*5}d14VUw90?xzb440g=4P1Y!gZoinU4F#49f+R=AL7Ah zdGPh%Qoq!5AN6cCTr5xXG!^M9Wzo7E9;o_fx|GnYjzth;|A2(e5+wd&s}kW2ksDmkO9N3)N%FhNK>kM+^5?^EK>jiKZOPBk!mV#l@;`9c zH;nu)@F$Z0EAl@kzdHOC#(x>E)c*zfli}|rz7G6^;j%7z-n&FxkC)%UWk@|Y%ecvg z1kVq$E|-y?!f>0P*>LfjwsZ~3X1Mq|ZXv_PKLNj(;o@(`d9u9W;)l0#`4tTp|K#Q5 zQogU2;o_f$|CZt6>*p<-8!rC#)-J!b;o`5}5Qz76FYk9sB>F8RZdGap=;yVL8!rAo@J|{pehlir2JT0J`oBf}kBl!lb&>NQ`Dfs#9h!9CmchDY zG+f5*iNC*--*B04DCS$-a2fX`#tk)G{7Co}4Hv%~#;t0&j5`DS;Vr|(-wVH?;er0Z zZ*92vSK+raT>MYr_W}2#KtHp~fA}Bod+?7u_@~4RBIiqRJr9>?>-J9q@t47mQI4LU ze<6Pv`h1gkW8^%hoNrN2s$ogjy?8rUPYCfw-~|kqbxgoImM~oU+#lnH5!RT@?iTo0 z3>ROoFMk*={!RGz4HsYEr+yCZN50hZ1COl3lkTg09o&3#8gA<>YPgI$5`Ia;ZJiYi z7k@weDu#=%*TK4mi=V%vtEYkC;_G#-mEq#2d)N7G4HsXpYuybOe{m=0_cmO7y{-)b z_oG1H^!dm*<4evg)H%s;$N`!&XwoLk7*MEoH5F3R~7>v)L#?&!l&!=)a* ze*J8?jGF^}IB&T4di}Zs?ni+>=(ztgzU0)xxG#@z`$~O%zcn+so>#BH&t|xctJkk$ zhRg9DgX6ud;WF-CiSTbcr);D;@^WeB;K~0%XtS}N|*WvU>$pse-AkWh-X30c;bWL&mcYz zd=a>gyBy=LBY!mVw-T=ie%NqX_xErfJ4sw$hq+8#?<;;MuCIqYCa&kzZ@uPY=f4Je|YoDip`%$0|h0uou#+RHnsB;bZCE;%;{{Z}b z#LJ-mA1FtEPxB)AgW%sGAHVkD`yctgVcg_ng8M=0Z-$%<;5y$fs6RLP>Cw0RhD+b{ z{-GS@tVd1_>uP5Ax5!?@#o~fX5K8)64CLX~e$%P{m3W%$s^72KPDMpa`vDwL zKK>k&?;G-qVP2;Um;0g!+!tLmTMM$OByczS@@N~{U}gpE-BLgsAqi18G@Wv+K$nOvToQHp#{D$!V z@$gf|BwhES@Ne?u5ZoBk4AnM^51|zfPDQt$p_@W)8FOK z^zfIG9|nJ&hrf&b5cvCvPe7f=J#sFS|0n!g#5;rk?U9pWT+;PA3O@_Du9xf4( z-$b4FJaS%;-yAuq$0uEv1IWn+uIr-nEk=Gh(tl8+jVvQ`kuIcZtyH|{kvuliEBNnCItI0 zebCP(W+1Nh6!PF@iR<5^uSZqMt46!y@s#1>Yd^1pODR&1{$1d|j4wIkk&|qqTQBxA zgUjv{e<%EcL)MTSvWNT*LtLFlJp6Oy_d))z#AA?i&m-pr z`L7`-DF53cK81^J~t{A%Q9gI|~UF|12-kDM;#KZO4t@%7-ND5o9jpHBXF zsAn$m-@#Wis}fa`Ig@1qqbzZL3yjrd6LD#T-vUyJxs_z~bb?iloEwDIkE zZz6I1yO48CPG$+iW25n<58q(ic*AY}F2lvoH_WZ?Uc<%L-$yuNcpxACkA{n{*Ozm| zwf@`Se$^-S=S2NajW7A1AV1ZV;QGpb2*rNLWVrb64|nzFB)$#25b-eZQp8)0a5AD>OVnz zIQ(D0wGVnff0z9K!GGrAr<)pFN2w=tr0a85;yu9&f$O;A(4X?;Z-V~@@#)}=DQ7-% zI*=bW+SSvY_zC3nBOU^Olt=z_@_!%Y^5+u&3;9cle+Pe^NB%DISHa&;JO}vq#ACqE zdgR|C{|)#Lh`$T|oO1O2{fyI+uKRNIEeG*2;03{T-8H8y`EB8clfMt^8$tdP_+80A z2!9aydB(W)8cnZPhOa1$?A9@=uehmC*!^Izo>(NwjKMKrC-&0&j z{%bfNZXsWvBONuqj2n+}FA~23e#>yFC)ZfFfBrFCazfsAjecoH(&O$L`jZJ<>#r{V z;eQk*|L+f6et8eS9{E4PZ|ULpCVw;hp&tGu@@K-IL|#NR?rX^)(0f{SdQyi#+UO(YwW|143`{z zy=8^T$!2o4k>77qI*Iq~HC*z)LH;*}+x(-3i~kt@F~h~z*K;m_ODXypZ5j7(<4aEN z@$PthYPcOY(}%(Hq2;O~3zxgLBeaqYu;aOp!1`GLo`#+N?4i9UR1 zxSj6_!^IyA|Fq$@|5ptce-Hc{hKsMSA3h+iub2L3xa5RPbnBIDcG7jx*JCpqF4whi zT-S0LE;$cTPjSP=kA+{(aPg~6aN|}tT>J$1bqyE)DEyX&i+>+}2gAi52){SD9|hJ+ z-!~jV{-^LKlm9B#cRu-l!e2pt6#Px(FGZiX8ZPUluix(X$oa|mGOsY?Tqa*%KeQU~>FCcg@}DDrE%8E=T_3i2`|PPdO1i!Y@G}#y3tkXh`>+)CR5d)O{Ev9Fq?~KWX=AuO??oCe`>o6r*SGG5 zi+>C6`$rot{!sWs3>W_){20T<-vEE2;o?7sA8WYysiwMmJ~mwZRA0L5Y@FfZN5Efg zxcDLPzaX9y{9ED$!7mVhFkkL?{J$4sxQttGx~ubd!)4rZ$a!qI_zz|{|C!<9>-i_u zoZvnYUI{s`5ZCKS5pciill@ROP^JI;WPBNSG5Qnk;YX0a7k(%5^?j56;39`Sg(h~w}QW*oZ-mHG&i^|($87&^Mh;u z$HOm2{{P@tCY}%bp{_?xEAqqPze~Iucu(S!!3TTfPauCi{F%gm1Yb%yb1>hH&_pTi_W!cI&R|yB+h*2d?`n zVV0Y3apI%Et9azpCx03I2;!~5+Yx^qych8d;KRVR{%fdzGWplw&n7-USU2A3ga+)Og4|FOmRlJggGwi_-v z8HY%xe7ERC}e*^p(#?Nc|wu<~j_@5eX*FD~FS+A7yU4OnXT>NUK zT>ldc7r#3EZw(h;zfUX?+>d-xXL+peCGu+{|4;Ju_ecISzKq)$+v`qeo^AzftRP8$;hci{u=nr$=C0D=|X;$1+Jg{J^ZocXMsP%!(T%FAE;-Y@$*Tu z@i<_7yYAXilwQo`6zp>CA zUn4#IY2;^vKc9T<+gkEF!{6rNA0U4s{IkX{Vfyya`1W|oxir{+;rhMe`H1WHTZR$W zK36BM-|yXkxPI?tD-Ry&!J~)|!1s-hAl?Aqb3T#y^$v0t@XwEUIQ(VATY`T{T<80f z2fskP&Q5o~agVru-su@}eLXzevZU*x{Vz>i>#0Co`yB4Un|ScH#PxouJ8|vLP~v@G zbJyz$#9zUE*N4P&gU=;i2z)v5V&H3tYaezH{}ujz;`hL>5dSjN)qj_`*8h~a*8hUI z)|2{^r0dvgsM`-&iEEt&iEEuzi0k*3T(CKja73^}2#OOAwDnpF@d12XAP&J-)ho@DGUVd2AAK zJ#TzST>lREV&YXQyX(kW;!o^UkEPefmh`R9$Sqs=Yj3mhdT_n z`{ZlG#Xk%GfZ^in_2RhU;#XScj>nURi?5$!zihbp|H8j!xcDP*e|yhx@wa~B@*f#4 zzP>(|d{yxHvVC|3T#v6Pj9ZZWEa+P(`Lp4_>EXXk{#N+yJ^c5`KLdZX;qrNjn5M3v z35H7_;+DHU%p_iEh2x714}9(dIV%j8oU_PTPdo}aI}Mkd$Y!pduML-+kT^H)cf?mB z=d|IHlZc#4hD%NZ5uAXOxOU`%5$+$XrybJdsCkOG!9|t* zlgGvTDv-Y#`L#U!=H$n~k2GBBk3;=Y#1p|s68GU3uBH$V1)puW%(oBLcOmg8%y$Lx z+2HYpOP$fk-)XqyXI$y}cF=I~Mt>?-?$BXbZP6j|~@p zIQ;Z$g6kfrAAVND#a|3RAMq)x-MmT}E;(_?dEIcy*^8WN#JeGpU-r_o?dcTQaT zdYyy#f4DyhBd*Wy>U;1G#E)a#e#G^DY%p=HXCiUEADcsb(Hm}FtBLF9U^fug{4a;8J=x%(d0jbKidA^0UFeNq!~dKPJC3{1l%Bj~6)}6L36cFkIGgJpAm$Pk-v_EI|Bw_$7&d z`kC`9g8QQb`>+w}e2e@V@S75k!nhqN2bW)86!~3{GmLz^yy}}ke#|;oXRL=GM}9KY zvyS*0(v+a zgpvOz{OZI**1LW-qMQN9X-|F_{BFdLB7Y#|3`5R1^4~$ubm9%s=S7Cg{`cVz7OpT{ z`ZE#zSx@{4a<&nl4W0n5ebc`ic%1x^sPioGJQ(*X@vX?eL;MruJO$TrXP`e>)(6kG zrR9IbqXf8|Z{_^F6X*Xh;(C1v_sEGbzVz(?>Uo!ZeSfMS`RO*eeKN|!pHBX7$X`Id zzCZOT`Ju@F!o&ZT{MPW#8NZC_+XM1P!T;NEdwqOvxb!C;{!1Hz$D{cA`GJgvi~k$^ zEQX7(pC8B%?ngeUvpm+fH2M1ZfokOI=LZ@aU&c+d(XC56@<$`T5BX)_4-_+@2scx*Mk^x-`A?LOkVZ@>4*xnO*m?|h7Vi+tU;PsslTeu|C3<4fvP zKO4B-&+LLzD=#I>LMJ@^@LS*mjK z1CM*gmp;FZIv*Ks>-^X7z`DTqeg1zRFX;^z|1$g#!zI5qK6jnhaPf<8a(ymnxcGW} zg&Ho`i%?uIsu(Ug$&phV+>Zi%sDeH;Grr{K-{$UoI}q37v@hl8{nBXT%eW0O?lkiC zI=hJcDEKRhZw22>IeNT*P5x~7$H?D``Tj!w&+z{s|2z1;O~K#G-tkNaG9jQ{r$i0kX^e}jwlno|RQrp>|Q zLiWQ`^!XLT?eUe@aPeQ;jQwx8_*!Qf;`+X4b#N&~>e2IF6XQ$%2;{dTKTDu`|Lb1l zZ-PI}!=Ft4b@+2V{8i-Vk9YI^g8b~L=UejI!vBf*Z14-jw}Rg?T+SPjIB(oHT>4XH ztE=ZJ@eB_|d+J&1Ql&LD8V8rW}zv0mfJZ;k%U_VAaJKLY+n4}TB&OW+^z z@XwLI5B?p)r4I#Ly9qorT>7vLeei8by6(5IuQC$P`-NNIJcdht1oBG|j{&bhJRZC@ z@hjks43|28MxAX8mvKYhar5eIxcE=u_cvVpaQMRv7yl~y_5tx)*bh^Qzl{8);Qolf zKKTm!tA*i`6N;SnhD*+C@Ov39ekA+> zhKt_<{usl>kA*+caPf!2|HyFh6W}j0T>ORb*BdVWefV1q7yk|PErECr@MFYxBmV-p zKO(T-PGP^@^We$1x&6R?E^xW8kUB%#x}ZXaOP%?#|4R{n7j=daj{&b|xLn`$zNIa3 zy>ID4eB5EF%>Vgu;_6QzUgxOumk?KfHF5P%5Lf>^ajoYOarOTtuK8KN2p*62z9=7Y zeINf-;`%;*b#Ph7Q2BvJE91+0{epec)^Iy+7sJIb@ufTNdKfOg&UYxd3~9%mWPHhq zM$U)C*McuKT=rWe_SFWH-aLI{9&VIusrvd!$iGK)w)^N#5K+YAz zC8sa^+r+nkKQ>%)?jz^9;gWL-eyZ)k{UAK|E;p|b;t#>|f&0}!|Mhj+vgAKTel_x= zu}>P4|0eR=87}n~#1~(7FM@EhkoVe6=S&MM<9O*@fh$e#N)w_5WfO` zns`WiH{q+`+P7ZvAO6RE+l9)>!9Bfby( zk>Qdbiu{aUCfyH_;6;hYf>$S=0N#N3eehP`+P4g@oxX0ymwCO7{TW3(8hnP~_Wb`b zaXrs(A+Fc8!yf#S2mg(@=KlpQ^C~Yt@JPQi*iV_)T+|<8xUD~z;o{$epU-f6{VEI2 z^tG#V zIq|mO8^LwH<1y|Y@>jq=O8y-9=gI#T{w?x9hyR59oA6Waa_g)0?1rBmT<+RrUTG8D zyownAb@@klR3pDE{F;W_ebT^i$?pcgiQ#sibOe_nW!%{qH_G^uvj{n($d7|Ro&1OJ z7m~jd{%7Q8`^NQQ3-NdMJHF2&=NS2ok#mN42IO2J-t>UWzfF7r_(S4Vzjgi#!)4z_ zVBeKdLc@397uZCaRaPbr1hZ!#Za?C5-aPjZMZ(z9i`{B0%_oKkN zCzJp1KYEdW1O5;XevzDdBL6Vv8}H#KkbejMaq{0r{g=s4j`g}l{72OJ zfOu)}|0usR^3(24y1oODpV4qRzSij9JqMS6F2`42V4D#oAfcLz3HTx6 zZ+_?elZMOwFZga?JNqseE`45tdTtpmegypchKs)s{tLs!kAl>35xmOAx&DYJshlq#Bel{3B^FE7xy*A2Jxt!B9R6_2=v)->FX+t_gN z$HH%BxcK^exE+Y=_lfl~TylOo>c;JBxa8>fQjRuU&JXu-ewbjmM;zz^ZWVrY41a;F_=BOPQ1WPT#ve=QUjVtnZ(e@yMxed>Qv|jN6d>{%%^ncI4;8xV^|9 z0)II9)!Njd~f13PV@UM}t-;?=>{EP6D?RWb@>j^_W znZfmSj~DO@l8?6yeHA=-0}tMbxV~S|A6&D#2|=b@+Eyt0CGP7(5NAg2uRvdF1O zyajk2;;F$~fa|zd(f_XGFNEKhcvbXaB<0*d&NT9OBWDirC)hu6lyeU`@#O!4oL$6| zop${^OgWE`bI15{p4aQU?_h9UEYI%2%XskG9{e5RJ>GJkgY7|F>lse`68y=;)t^mV zfA4H9@vwSs-0j3QC((mn0GEAIS$^R0$oO(yD~kR^NC*oUrjkzk+Y5b=kWIs zFLKuP`6%V+`_bpfuLu8E;(fvIQ_lbY8P3MEnQv<&<*~^=~G>I{dxl&&Rkw zl7A2W&&0=GbpPO*N6sVii^2bwcn9#bN0YAOdeoB}T-R|0{367^1rPPe2`B$1{D#ES zUUCD!LpeK9PfzlP!yiDr1^5_`oSEb=g+GsYS@1QKgO}%h+sRM;iz{>=@f*lF?2&Vd z{BPjjAU_rQ@HhFLu}_{8p9r4*`=slO+hJc`a9!WhsJ|HT2=Fk2{|c$NP0cJ06#0ZoOa~?xi|cx)KkHK}6dHsp}Y{WGuKXLtjm8!(muT5OvcWX*q-=Atvylw+G z-=4(vb<4rT_4UbF#I>H!i0kL%HxXC=OXB)_a|ej)@An-iuD{=R30#hgYVre*$HtfY z(vaJ3|35R_?zfkZ1=mabdhk;lF22^8mALk;D7cg&_2}>SRWQEf&qjVN^7Z%onv;JJ zekTvVKl#t#kM{6qkYDkR>(5g1v!kCI$sYj!E8=Ux4-h{Bo@ltdFB#g|4RF?Q>CfZe zT|HNculUpPJH$`He`2`gM$!56Z#3Co3;gZt_Bi*HLm}z|$Enb!Nl3ISm&-9)3Z?#eaxC zyk@xgSKwDRT>Opj!-==WerQPiIQ)*_{)oUn`O5!)Q%uQXihxrzC1 zAfD}>+i$xJmz;3qBp5C^`R+RZ2=OY&`Pp#EiAK&ZhD%OMW_<{3eEr9|^ye;o@&Z zAG#8s1|Cg3?S0q(_rd)UfqkOy7kuQw*Ld*VCO^<;)Oo;gsk0*X?GMC{qt4UBAL{xV zF4s-HAGixH^}i`U^zl=09mT&J@9t016W9BPT;QDZs_~`%!RT8h^7Xo0kNn;6TYC82 z$e#~Cn*1D?R}A@A;Lq~#myw_1fm`>j#;;-e_O0=yZ#A~Kz8y1M`cMivKN&8*_Va?_ z;=c|5vf<+E_w76(t~oEAOuCNw8o7G%5?8-CarMKAtKX2gelE8a@j^Y^0z?tloT0>D zdHLnQKZqf&IkUk1E%4QpA9$=WzVvMZ`nJw++vlx@i=X+STi+dqiywv0_3bxYj#FPZ zH}GM@CFj)NF6Vp0C1(P1E`Upf)L+oW_Im;lkh(x{vP-z9yy!HkB9#y@mb*CQqCmQbCUdj;9nzmycZRJRW{Y@-zSC{ECLlI!0n0-!xp-u^I9kQT}$+(~kT~ z$nQ=5CHN!ApM?DB9{wWo+aZ55`FD{2wFm!!a+V|KoQHp#{JW_09}hpp&qy`d*Xd|LKwQ#Q3#MJz35K*GuN5Rz|Bra`C$7#kXM^X%y3!0hih#@c(Du2U z@!v9j0}sEY@#`7CpNBuf`1OrH$HQM{{07GV(!<|x{D#KA=;7Zqek0>2JNJL@^Yq}N zHa32755K(en;5^bhu_765BK2XO}_rlnJn>A4}Tr`?yk}2+hu$?E*fJ09P;o_lV2SE zujHqeV*HN>ZN#a2OZ+%;W_aW*CO-oHD&mvDx0;*?nFJm`7~ihTIr4Q~ZW~|vlk=II@88C6 zZt^o-46dWi&kZhW3*%St@M{{srSaQ&_}z`)%J^eF{AtE-ZTwXp{wCwUWBfzLm;O{k ze~ub%`*7Oi=x1kSY5p|6$1Gex!## z%!7|JIUP*SBIC<^zruW%8E)sho^rBD)BKOGj4wG2|8@KGu!nz!{NnJhd-#vYPY&Pr zi|eyYN#>=$|CI?`pZ7(<&u{#W@{jPSME-2}Zy0X-P@i(N4{eMueaQcx>qB=Be+c={ zFzz@HKbHKn@RyOVeb`8TE!4By`0tuNoHo9l@2}+RdFi3?Wxm~!pXT!az5la<%aEPS zxaB%Ippi}nq|cGy8JoiXgw!9_&pDv;Yx7dNKvpZef@-`>Lb`k6kNSCof8-1uEh{zo4EQsZ|s{tgfS8{>C3{yF2zKAD1ja>;PJ z-yV7J=O(|0$vl z-q~gI?N9#Fbe94)EoNLC{ z&xFdj&&b~n|Apap+_b+2_kSPL&!XVG&tEhCd&aMCe5vy}#%*l49k-R?;um`1)~l`I z;xB&Jy>igkgO4OWV4*AOV{rNZ^gA}BKO2oN-BLj@xFMS^9SPUpCP^%{%^$9f9}Ck z-AKA`XHJvO`h2etUjSZ)xaL;|mzE7OeQQr#-)|jCT;C_1X!51cRng~vt{14!N@8Mq{enmxKS*aC>~c zbTjF`{cXP6w;74+?|0`WuAgHJBd&dJ>cKk@k9*s#`+LMSXE1RccP#Oi3tj!wi0kJ+ z*AV{;Zvt#0-Ui=yy^Xl$d`*s!F64$?Xznr-Cc>{6%T7aa?>%T<5jfgYP7+?|=P3T>E^MxYqd(aXl{nC9d_PxRbR1|Npok zuE#|l;@XFB;+o%(xPETAHF4c1U5H=D_qdKEuIHJt#I--uiR*c0K5;$ItR$X)gWFdL z#Pzs1NL-JLv&6NY>%?`w_lfIqk^1+f>!RakAg<%)B(CEYC9dO!64!AX5Z6AxOgNHMTdpDIzN@0~<^Ct{OYZ)ps^Rv2qc-t&`1?~$4VRqexNm7;xa8<@-N|tA6X16> zTzoy=`x`F)64W`!aPf6tjWt~S8p++f#v3lap0DPB`%$1jdf&Lx_>yx1<8B~60(_@O z&d(nFk;#$wt*-QRH|S3cmvM)_?CSs5aH(JSf9gMzuDhP!a)SHSz`Sa?cwb55Oa8aW zuVlE?8H^HTXTjWk}hdINkb&k-rT71P^~M`3dk> zk{{!y<=f%Gk9zQ{CSUp!ivHX+T>6tTrR&dQ;sd~acZ2IC{v7ZO;C>Y7gMP*$ANkAD zxcuV8Uqw!sM@}8`4HH^U{T6a0I`tAW1&_p5>RnlAt0f8@RwTwlq* zkNm=hOMYlNH{Vd=8NjO&&xvvC87}#uJ>0lW4VV1Q$Z12oC3qjhB_|R&0}Yp)A?aP6 zqlni4pJKS=#3N_6;gYi+{zBrZ!PgirIX;{ZKQ~-*uE5_x{3p!oFt|j>`DDF&Io5ZE z{OlRrysi+h3jWY=sV4&U{LgTy=R5eR?k8RM82FhC7k>`?yoLw*2EVA`;&+5!5!{ag z^D5xV_q|2_bNKI)Ul@Kr^8dp1YZCdz;m;#K7p|up443+&@r7dXhD-ek@V_uzu3z18 z|Bzs~_-Syx_||ao_4!ev;o|>*^VKQC#g9V%72>`X?*8fz!vppAcE`~J!zDjkD%Xg= z4VV0Z$WQUWt-Buu)@6r_@#O}WyLicIjGPi4es%K4!Efl{cOw5w`27u+c@^yC3L0j( z)bl6&4~Vx*?dCg`coFdBhD&|~^1mV;1D;4c9{d*ZE8zDHmpXgl`tqOQGHwXgE5*a$ zaVLIx_*o1WKOBB;!^MAwd6fe9qrf_*l>hKQ-XcC4$3+*DBl&U2?_;>+CuDU0U=ZDR!2X{|{2KgO#7BY8C*CcS8+SRl&MOY}Zy|p&{C$SYysltghYXi_-OucTjuZbV z#PPGlJAmIXJg|;9Z~SSvVBGhJuS5P|;%%_LF&_D`zLPn;95@@>dEj|aNT8n zhaf*Y@!2@u3lLubzYI9%S111~_-_$Ei2SC+FTrm^yhv8px9;FNZWYXH2>FfRzfZg$ z_+;X9z-JTpfiEP!9ef?Q)>F!r>D%wYFL>}r9z4_E!S#~sslHBFkoao6Z~hu_eSM<} z@yB=_yDf3`qdj;GxXgE`{J`TA^4D~B_YWJ1>-(FB43~X)9{oIOxXf4UIZ0geFB>j7 z^|HAIxMsNIEX4b{kHGyXN&Tt+3HDiXLXeXkT>X-mZ*lVbz^_1lY4~-?p9#MO`LDqr zYW%=;6X)j{#1p|+QBDQq>@>d2Ycs|@Y`FC2L?^diXNjli;`mMCx-R#LkAR=yaj>6~ zKN>tQam^`4T=!=caOwXr`GLnfs;NWSiq)8yBHe~tWd$bUqB7x>AZxc+NBufs12F8ABAuYB*h|KSbd zq2Mhjr!sPS8DHi#5#tUs-0rI>#9wrE`)WRM-4Dx&>%Q7UymL2~^F49RIYnIe)lG0| z!EpJ3M~bIO_pPq`E5vnQl{H-Y@G1IG-f+9G-XN~|^$eGsS8}+0(#UYh(f!sQTuPVv zT^D@50mhe{OQ`34@~dFJv&e6VahH%^4gLo5qu}o%zb5>P#+UsTiGB5ucr19@{{{E0 z%&RVP3V^5e|NkrhkTx=-2=*Znqxc*`CxX997}nMqvt+j4M! z>An&21CPDr>wfs2xbC+bhD#p~q7SzXxBKlOam{~DT=!MRXTknUoq8V253c=xhH=Y~ zUmEkOPJVfO5nChj^*q*|{8sRLldtEo8OE1=m4N-Tg7|&#U6iBev17)Ueh$aDmkhW2 z>Mrp=db<7aA939eDgRA+KGA(ugm}wdF6VXPnp2Iq?yIKY{?dK=JMppvQRM5ok0P%7 z>SM#D4~x-2=LyNqx$@{Csb>A2t%# z{ji<5?yH}OSL@?)t`gUrJH&Ng{Rb}n86`jP$n!kdPpMzm{Z-<+uj&{seHef~)HmGj zs|ezn-;ucPt0-`-Q}@*v{6pmHzPfFE*;g^x zKQD;KgXee=JP%9%bzhYM*Yj|p+;0C@GhF(q_w!ANAAHa4hYrMbKXfOq`)VBV5`A4x zEOE_QL|pgPMsRlP+`%z$CrDPh`2EP&`?px*OPwM3Ls@Hy zhlB58PpAIhTI7WWp@frELe|8Yp{h4UE^s`JJcbuLw-0sgy#5MmmaowL! z!L?33@1=Pu*nb(fE5^+Zu6|C;t2p^r;D>qmb;#cfzX|b$;O!_UFUIXneu=!UKLd#; z2Om#4)sZuY{6_HO$k*p1@#Ob|zmNPn$iHfQIliKC96cr;2c9Xp>%aE70dk6h>v=mC z>nOAOb zU9TCaC%@sg{t|{u{olYZZMdz!vf<*V&F}hC&2aIx&iaOn|112)hKsMC8}DGa?At`_ z&u)fGPD|uO8y>ih^m7|!gyG^(gFhMEk9^WM{rf5N$^RPu3d1Eo2Kj3Zm;7f1T_4sP zF7wjwCH~5A$%#PDe#0dvC*Jr!4(>;RIzzGlFO%OC{-5N(1^++t&!WyWDT3$QK;Qbi ze~{5|smBLDi{Uaa{XAY_!zCvk^D1Sy;DkLrJgIOXN=)ePbJK267eYT4~ee?UjnZ64?>^UlYbQTZzEm{b?zbF6Z|0YY2e3* zZv?*tuJy#Ap2x%|fu~9tTzBb1DSU7wg!o^`&j+sgnp2ki6Y#5%KON&XCjV`W+lqKJ zcvs4qgPcL+&xJpl_zv*(hReRy?=9a!eBdB={{NQvNbr-y_4;*@xaR+lxcV7V1^X}c z=(u@^_aE%)DMeg!!aaCf58j3NfM~fw_*vzX5!Z2lC9eIyOT0>D*U$eEuLYhmb<%aw?_JMA{5-D9Wr=G&m5A%#7i&gb z{kFt=N4h?ABOV1FLtJwfdhiv*wf~C*)JFXyFmIDSJ6m*YkAa}n3ipBE#ppEECSxLg+!2fBeP8E%iqdWMT1j_YGf z!==u`Mcj2K65Njh^D2yaMU&qa{z&4tz$bg;%qM>|{8b+QHu67#pWxvql79gHRl}tZ z(dffN;&I^rGhF(Uzo_d^swLkbX-M$>)vdhFD1-}^id(h8{A( z0)Mne{tWWF!Cz#!ta~WdcZK1yj(aigdg84xubqYmjtk^`ZMfuILC$x?%OmHs;gS=N zoJ)pFPI9c*Z^Sbq=aJ!(b00a+440hZ$Vrnv>3+yn(ydnx;=_?&6x<&XIKSz4K2{*V zA@XZ^_|3_Wf*(o#S{cay7~;XFdhkz7zVsnH+U2Y@T>5Yg`(ZQj>gdBx;+??{8y;A9 zZ|5LTV|V(f>vh+hG3Ww_K6ih6nwj|A^$xYSt<EthfzmWXo zZae!vBfn8;_do0)e=zb7k$(*NKa)QP{yh)=f^y2?Jdi$P((B+V)->7Tgq_h zXDs?w-f-z#R?Mp=LW-R9*mF``HgUWyqg^oNDCXhTq8WK>sn{=7vlC>C3pF&Xm6l z`J;?4_n8^Gy8G%G#P#`39C3ZUWhZg<_Y&9NA3Q=_bABbR_tn1>SN}0_eSI$^BzXRj zdFi-$iEBdytP$4hV2Q-b`m@GFx)v7DQ4T@Sw%`CZ_5@$d(dUjzOq;#*MX6px$*F5N7R0r09f)hrNaE^`C$9d7#Jj}0>(>h6QDfcfc=5zFe>b?C zXC}xGJWd;5&R1h`9Gx@V9v8nFF8*QozZovR_U9pS-Jj15mz?%h+e2f zkcU5>{EP6HdHDN@7sj|}DCbZGSLYSttHA&C$ayJyu>aDZ82IUkzYCrdT>GH)lqLTS z_?3v~0Ix?m`6bZ*=;y`K4U@eVfSNUD4J5CGpG1Ng$rAlJkG` z$iGDXFUbGh@WAuj!LFc3hRgoEjs5d4@neh2fp5Lxt{9%(q7`dV%+`4apHQvcbd4~hx|rd-{<`cT;@Ab ze&CThcW~XMp5pj?R~EyiZ@;1b?1qc4;}$SHu#Q#T`Jss6;_LgoVc>ogsK?FL|9XJ& zC1(V3T6_3C$lnBi2>InO--+a3hd;+~*+0Ia?jI~RT@oL>veV$msaH*#i@~apw`TBjKbqyE)bNCGm7hj)OwlX|$ z-N(YWGhBRqp4-Q8@uT4nG+f5LhH*y`&lT?aGnIHV@Oj|=2%oIGehzaD`P1NUBEAWH zw@1$RSKj}W{4*m+b&bKl4c@gsS*LCBTA^xn6 z;}waY1+VRq--7&Y@H-HX1@BJ0ANW9z{Bh(rfIpphG4Q#>Ujko6`SIw_9uIz&a;Bos zH$42O9z0`#r0ca0IfcP>y|kXn z=x=;EFHOU^gAA8(HD@&OH8?*{Fi~m^OjrRC5DTy=l@R)7k>o& z4Tg)apI6)s?ni<7>hA%4Z+yvlhMcn={w?xfujlIg+rv*$DCxTQfu9AO>nTkBr|`qb zFNXDMVSKs1B;xwg-f)@M4diqq9$w$oA4U9=hK`RiT=FA_xq-(SF8SS%GoAQo!zHI8{G*18p8)?S!^O`6|FYrY`$o9@n}&;j zuYv2&Uxtex4*y@n#a{zIL*d|l2-FWho8jW;f?tIAI`pSJ@qZh+dTJOh`5_}+{q+o& z{OZVWX}I{2@H-eTerNda87_W2{9(kefKMPEGRoES5%F;FMTX0`b1|=##G}DC5Z?j5 z%W$bP^nEw(KEvhwuo360W8i)iI6owl|L{NlG`{4-pw8#SY@#w|^LYvfcVe;fP;kAzu4!$3He)aw3tl)NskEfSfhNXCP;*;gS=FoUaU*oKx@*8!mn#{Nsj; z{}}#7!^QWFar3=yxcIr7x_Lb?T>Mb@PYoCUP55bx2KR~hk?^w^E`A&Ip&;={NM?gWn6>j{?WbP5BT1W3&gK?ZMZWd>Pk=9{5j&OMW!+&l@iJ-{Aazjd(xo{|AOkPCRm+7%n;2k&~=gaD9b0 zLQY1*CFeeJvKuabDxAj(5HEq8GKNb|=-5E}eH9FsoKncCO?*7g=MltXk^ipYk{^To z9)?T)5}cR%6CVLSocKA^Gs*BkKaoGnaLIog{!+sOeS^Q+aPeP8{aXwV^ydTDpIwHF ze-(8eGF<#<_{R(ve;@oyhKnCQ!R7yIxLjYp!1d*!;o`?5|Apa_p9SaP^u>ewNBsNn za~UpvBlyJ)7e6${)l;2#H2B-Z^t1d>(Zm`QO8jF+5N|@~0Rs z`PXnhnMe66kiU(10{BlRCotb}{=)o^^M*@)uIBFie2w^_7C3JkE;-T2d1AQaG(%3Z z62Wy5ej7O%4VRpFzeO7^zCIrxW4QR8;l~&*zCOR6X}I{s zTD$yM!^Izg-#=YyxcC>~#~CiZe!e#z+>d;=4++MXoO!78NAk0vZ`3Z4hVj|0z6JP|y<;nIgWSl<%F zU&eexiI)JcX}F9VGTAkvzTuJ|i*;#bxcCw9I~p#2KlptN7e5yMK*Pmv1b?jI;wQqN zY`FL(;4d~jQ2!KH|4PHfZ;gGvf%r4@VVB{O6ONn&!zE_~a*hx`gPflYmz-$i{9?G| zEJ4mq;@gn(m*J8Vhn#;6mz;gbNn1K)VB&gyD2n}%lX!s+ZvPiET=ElGXVUq$`B443n>UZ+M9*Xz!B;`+JhRmAo4x0{Kpe}uTc zzI~dwj{6I7eLwLIaebfeAL9D?>MUh~>m~Em&r#prYOT<6<}xaPb=Tyq8x*Lp?}*PQvp)n86r{SCzRbL0Dn ze=yg5vgt?Sntv8NaB7ercsw+|oF97NeD#mva=d8H3&X{)4L^Cgr0b&fXEI#;P4Hha zT=MmE1qBQj|2q64hKsNJEsVInuT+P)?zd)!OMcmo?)==+aLL!t6?8US{K@dU87{u= z+X05lc{md1;UR{Luji|YhKnBxf2QFw?jDRgkN89IRm4la>*f^??vLz+V< zSNKPWPXYhgBj-2rH^9F~JQ4f}@xQ=Ryyo@~*O?7mud_Kjxq0O${w8=i%F)ji)F8iX z7nf6?cv|oX;x{9m|E@=VKl1m(A4YsR_y@$tfY0>EUrK%(_-lw)0N+GBGx$Er*Z1+y zc<@J*(*=F@g(h7u%?Sb5^;!TwpNIcC`9H$1=izrCKY3@jE(1LL56G_y{}T^?6Zr$+ z|LEagB7Y71zdigE<%8!*Ij%3j&kL^mUq5e9hWr-TpB0IB!+D?v@uBeFHeAj>dcW6# zxZV%EM_kYUL&2raY4QV)*~XW7EyTEU4VQ5>XDM<0yuoLNOU`lRY&2YQ^nAY4aPf0? zb^BqD;o|Fc;XA{{p922}!^PLvLoR~*QDDA#G2cIoFF9$uxpAL*_-S5Gy6&~$X9wr} z;^dEjALilLA%6$_R^%5${ez7!*PU2gcSaj7^ZE-p6NxwL?&dp-_~$(xUt+lA7o6q> zUTL`G4?@lc;?t3{({Ra&M^1v_k~0rEM~L@A&d-KRPWW_J&o72cPF?uF8!mnf{6~h1 zUkJW0EV#bnC%{i_xcJX|xc+1_TzuaQS5H2}#s30+Il}|>!>?qx_$A@jCB75=X+b<) zZ&y!e!zDiv`MnI6{Km*1Vz~GPXS({w7%qN)_%jR_KN|i5;&I@si6??@CGMN$#{J50 z8FytbH?IT4KLG!M_(AaVhD)9IXS@8%hRgXuKW}gk+>Zk12mQQ3#tKRILpbUzKs*|} zgyB+uIjl=4@f&^Iyxs)YarN^CO~~(#oc84F=MDOhzaRM{4VON|q0VuJOP&8kxq7A( zPyL?b3k{c?E67=Hxa1V<=lsuzH%HEP!zHKShi+Z=8ZJ3?kaLLmV&t4OTyi3jbHQ-Q zxd#81;o`@_zi+tsDf_zm|1(_t1o$Z`2KR&bufoq_xcK+s=QdpYCh$ueE`CAm&oINq z?}_Jf-e9Q*kN4n* zOumepfN_r*F5_One9sWy34Vq6bMQxoOMYmq+i%Ydm;6MW|6i_@bbZI*ILczU+;H)I^PQi(a&Z61^+i8#@QUH$MUrDnK;Mwl+HlFK0l%x^;$MOP zp5fwmfj``E@k8dh`F>!y_!HsJG+g{}_#YcC{-^NQ7%qMc{Lc*+--o{KCVmwCIl>(I zKZ8qzJa5&{8{F~W&pmk7s=@srbta*o#j8ZQ1F_}>^VzJA`|1h^mhY#*)~UvgHX&b#DiLEoN}e;9tc zH{5>EeD(8y>+4{5;Ft99tB{`w^J-|g?6(M9FPa-J^`9N=`qrL!xnYj?He7NNkTbw= z$q5T40U{x;gS=&z%^)=;gZt;IrE9{N6sq4B_|F!8w{76?~t>PxDPppiH{lX z>O2MRj|i;0e%|0Z`Kyutz{5{gEqJ_3Ju&b@443+S3tb=b5)TD`m3Sn0W#X~mH4T?> zS73b`5Pt>pZBD!rc%xZabBFkE=;vd@ zB_|X)FASHQ^~gzGJ?Z}0kDP3VOHL$m@)<5UKO(0z@&8BHy}-*?&-))=-A7WB6OE7& zGEx~SXGDx7-X~<;3-q-LJ=g&*M?Qy`THD-|Mr!>$}#hS+n-u57B&h82mu3?~##*{I2qkiag}M zU;R7{{#@nP;U}p61(ApRvGUK3JmfFce<$*AeD?FyMeyxEaK|kh=3@B$Ff=6{=+u$ zBjLYOpU1(ct#IeR2k!U5KM!}#SKzMy5&gI=n=APZ{0Hw( z`}`ApF8?Qd?~kSRcYNf=@&EeW(|NTo-0SrqxX(`>1>gU&H0LO|b57sHpAYx@<1dGM zd@h80Jl_p>&WGX7`K)|B1(P?2|LO6as6OncSD%|6C;un%FmJtHKZ-omANb0&{%4Vg zdjGwQ8zK+&x2gX3k%xM(*KKf*|IUv}x8u5WOaHs7|Gng4Ylr+FD8CSSI4&)9Tq;H$ z>Q8xf+W*7g1Nq_b)vMC_C&J&=PQ4~~pNFc?2I@~${Yy8ge;w){sQR~~{v_oOHt{Pr z@oS>|Fh2SBra|+_!}#oUUbhqs+kHcB&bGP#C`(wyIO!@bavwnZn z*HwQA{CxT0$kAogHIUiR4=c4|ruSv(}jqnf1-?d53M^S&S>OTiR zLH?CZa;`@G!K$Cbcb6}b^Y2=(c6G>5$ZpqlkX$1~oTK>ZG?|J)|^SE0V3`X5Ffo_Boz=WpSDzPlOj=hM49=Jx$1 ze*U^Q-1U!w@A2XE{NV`r-Q`b!yPsp>uexJ;-g^rC7pJA?KhJ~vezTXseShr5aF0(9 z?)yV7gS*d9zE=V{SVytsa^~Ba<7N`{NWb3m%Ggo8@HF2dpEe3yEoj+eE{6c zJp}IMJ{s=j9tHpON7MOm4E&4oQ{Z2gx8NTCi#PF4ZsK2nyZ`@&dp`dF?s2#d?wmis zos)U&#_i(%cZWOYL2%cX;I2Oc?)zq+2A^m=pAC2Z3+3VY;==GhJ>C@6hx3_>b)2~< z@^E}`PA~FM{}a_;5_zcieXxVbL;XKh|MAE}z30^^@=#xSU3z@JGV)OGlz9nD3?`sx$sQOcGXH2=oPL;c58zluE6zonDb|1I)R z@9VmEICA6s8SCeBv+{N6mhI)gr*lvE9@>rvL^)x(ZLQa#o76u6^+&4ygvi5rbyerp zr$!#~zo6~%T=;!8J}tTXKT>^mP+!sbycPaD`THXe{j}B3Mim*noJ zp?R^Eb)481;Lb+?(rM9i|hYI?)sMM_d$L5nS}5- z2=!SVS04_)R5_1Fj{iR038>#u$A@RauTxGFIbT#iZPY(WITvnHe<|u;sQQni{(rq) zQ2$QVe-rgTRQ-=oe}(F=gO9adHz8-GoNbYW?=eU(nf1~QFo7C4)znix2*^!6mJHMZD4&1L_I#K>xLQ{HtFscvp;SkM- zk3=5weIEO%$V2_BRR7t?L%q-Qza06N{BAlQ{yXwe@AJlM!SLQ^E)kf zxk-KUq>bAptL5${cm8vgzc=dNqWb+&f2rypf%@mE{t2l6r0P#Z{ijv`9Mq3ge>UpB zulm=a-q(xXy@`Kf6aRLUA8+6Pg?l^R3is>2ZJ&JmILF(4Z}=JimcA~yFWmF$0JvYr zJq*6}bsXF|b+~iRgnPZ(aIe>!;m+y7o%3n9`}rc=Ip2|od3aIypB}%7>cc$$v$p$h zBagS&&5?)t@>|pWYZZB@|GLhHw?FFk?G@@jrTR?dq5eCn&qW^2&zCxZ&PN_{{-K-) zz)NpS`*~>OAt!%Hy26i)JmkDU^^b!O03W@+VDe#}m&)g*ET-3i*^>5jv{(Y$Lss2-uhk4l4 z0sY@25A*QUcctSqiahKW7md>6*jFPD^>fuvA`kU%SN-=R-|{+F^Z$pDhn(%+kuLYA zk%ye-W7hv$KYkZ^$f+vlmdHcS1J%zz;J3Up&A&r6oev>39Di=zlD@uwT<-JsK`*V} zEAr6KyR}~XMjn=1e|K8HU*w_Q*Le<=uW7?_pAglDoc~n+waCNz&b7Yv$V2^$)aM!S zr^sI>_j30NAFLm*NBu48zY9N1{yyY9N;#iIeeS*KI9wTd=s&CZ_SMKk|IbkUci<0~ z|5zRt7q(X;e6W7}7WHpe{mt;)d(wXX5qapRtbVpTdgJlo3(DCk@~|DpyQlMiPkCq~ z^z)|h!TNFks6MRMpS0W}{71@vBy!%VoTE_xPt`vSeyZ}Hg`5v5=cTCM=aO_BUIo8g zITs=4gmkr%_oMzO?WY6y3+11NzeD~dpQHMBZBqYH)W1>n zUynS@XP>7{;l97?Cve~2wSfCRs~wNMeVpU`dvD?g!ryjzx_=!8cb`YXz1*YWzQ60~ zaG&449Pa$rz!~%VWdA7)raHo zV|CoSBJy~CekJly{{hv1E%H$B`@61=Jk&q`()74`ZRDZe>-B$dkN+R#>(VX#`~I$N zkH398hWsZeKO1>?{_5-bD;IgFzxsV?Klg^;{r#!$2Y;UG9|GUGpVpVPb|JydH z-}z}9_q!{#-{s&H&6E4dy?sBc@jL|er>f6K!e6a^9tZ!qmRp5ytL2^mzf3s|x%>Gq z_0vNAZXZgwZx{7fslJc;`>CH1>c64-3F=SRe*Fv7e@FGV!LOF@T-!MQH)_51lzY8g ze}B|}L-hx5Qhx;M57Ib18U7{tiJRm+7xl-h{>AYBleag?>7u@+`b#&d{{-satNQ^} zzgS*@`*lzq?tH&)2;Uy(H&O5W7To#z@$apDenKZpBo<}KjP-?F0XuZ3^_#rnSoD<`9W?T6~~Ec|eNo`WB!&x`PF^?q3i zzN5Sh-&tOP?Yd+$JKyJ!&T)PZ_0I3Zoj-s(e+=I*oB*sJ z6ZnJWQ~1l}Gx(e2OSpbqCRxG%ke=oziN-a2`4{W|GP{Is*8jp!lIP){S55)${384w z$|=E}Uxhor2ER_rt;3z)fIGhpcYX)%{4V_d>c0nnvU~`ChkOL@$;a?(@QPk& zwc(emUbls99S8TLx1+YY^L3eZtH0?^>3%faB!2{V{uu833EcT}xcgtgoxg-Te+55K z{b#pN*TeI{`8l}r^Kj=E;J?#2m*GuqmkRu4@+$n5@*4a+c^!VSyaE5PydC*<>s9}I zy81~6enS|L^`i^_iN>)9|Fe7ucm4?e0OgP2e!iZ-pRM{S`~~tE+}DTa@QcxW~T+cmH*``)|PAe-rNhTX6T^ zhP(d`-2M0A?tcK!X*&+#?tcV7M)hO3`=7wWwes+o!rlK2{%zGS;qHG0zoY7t^yT1| z<7$|1?mq)RO!Zl~`_I8&q53@B{TJY0P`!SPY->O6U$+Ntb@#8go3^_9*UPo7?*8jo zuKRDm-G3AA{#$VO--Wx+9^CV%4|ksfxaZFh?mkCw&z~{eeNNz>KXbVIU%=h}67K$2 zaQC02KUTDLySV=h-2G?a?mq{2|3$d_EWv$$Y#Hu8EAVG%epcb`vjz{>K*OUBcb^UT zO!aNJ``51_*g9_Rzl(bJ--EmVKHU8e;O>72cmE@}`=7%7d_9BzQqR|OxX-H=aGzHt znRHykaE0TQ^D}VgXW`Dz!JS`(|3%xS1izoo@5}IlyaIozybAxU#-RrPzPt%{KP|ZX zX~W%52Y#gb>BF5rfIEK(cm4=|fbysCe`q{saKC<^!}H2nz}?Rh?tWHq_mjQD#`)uZ za&Y&Phr6Ew-2D{c?xzHIKUKKpOveR^u~;e^EYzJAVm3 zRLfn#A16GCZ6ba@W`8hH`!eoFAeRbPg?p9=hGs;|P`PYr&i>g#a* z8o8taKS%X#`1X1o+kx*c@51jU@4@$#_u&W12kxa-?+zaP_q|4BJr_&s(0(1RZ>@55{I0lY3B!!z;;JS(5Vz1$hx%U!~qzk)kI z(RIPFxG*1_pMg6+ANjA=_5OL-0^IML7vcMFpAK{hez3d>|593>)ZpHZb@&?!&QsdS_{a55|`2WZ|@c)(f;b&-m z4&a`jL->`Nha&lv9gWdis9GKc?F{Vd?VPPK#|s{L*SKT@9EEe-T|{zLgWxc^Q> z9)6$jjq67NzOTFtcYX!#{3_h}HMsMea3AMeaF0(L?(ylsJwAPSS?e```?xxU`#SRo zeuC!76n?q#XK?@hi#hx%)i2=APqOLu31wk_cYX%${4Cu0Ik@wS@IR=Z68x@O-!lAO z@(SGfb-42zaOXGS&Tqk;--SEB2miCys}Fbn0Pg%T-1!r@^QUm<&){W^+Y{1V*xRrm|E+#39C@;dxO@&^1f@;2P}<#gb#@4|h2 z=)rw_7)Jh^_0S%W4sSAoKTd*FTweh%*Q(mZ^7=MwJu zxq>@CdzX##!TVzlevsBH4|hKWxbw@A->}ZeDW?Lzx4a6!R9=G*BF5rfFGsh4&f&#e*`~SK7~7f27i?21H2+%z@H>v!rjjb?tZd&O$RpY z4q!<|!spRN2V zyr%n#YVcF!P5AlBX~Fel>`5E`0_Akz9?w4fP0Am@oj-&-e*`~F+jk1zL;cL)&Y#0y zrTPW@E%GJ&O8E-@O?h&+bpCoiTqn=K_gDW}cu}5%A1p7zy}l*5*S8G!`c~jx-zwbe zTZ4Oj>u|4c1Mc;0!o9vNxYxG}_xkqWUf(|4>pOsZeTQ(b?+EVo9mBo86S&uR3itZX z;9lP)yr$#i3hv`)ve(A>c7^IQaPN;zu1wT*Tg}+5PJ@~uiefSw+M_xY$aR0p95T5nb$D~zeV1J z@2l}|!T&CA!!tTB>cD?5@528q@4+VU!$93;U85_4t}FN4`0d)@SEjjxYxG=_xe`hUf&wr z>syC=eH(DEZxinIZNa_1ZMfIB1NZv&;a=YX-0M4pdwoZ6ukRS{^_{@IzEil@cLw+R z&f#9)1>EbK+;hux+j3uAm~X!CC zPLE^-_w#kK_s042bUi<2;5+Del7;*EItTahJP-HzMgi{gjWXQlV-@(p>az-WpEbDe zJFUZS)x2uJn|i&_hP$5*-2HUn&hNp`RQ?d|{1N<0ZO1YEH04a-&y~;N&R@Wtzl1w~ z1$Tb-UK{7nj(WY8gMUh%hyPMufd55agx^)`Rf3-)ufp9=4eoyGaQD-IyPqc9{j}ij zrweyKJ-GYn!`;sS?tX@F_cMaKpDFxvnpZQp=kpxy{c8dD{a{Aqfjl@;dwmc>{i+^4oCdci_(N!kyoP zJAVjw{s`{;G2HnRxbx@m_b2IN0r&P=!aaXhaL=FQ-f7-8>wm)ejOR}V{#=b`KJpva z_0#m*lLGwv@*@1N@)CU8ZPG7PBmdo+4%X|18vM2LI(#l~z^|7#;r{&&Ex6BDyKwi@ zgFiy~efWv;0sLh781DQD-0v$*;m)7Ioxg{1V*xRk-tOaOceje`p0^Ip!xbrLU_imf^QH6g=UW5Oa zya{)H3;u4^x8ct3z@6WRe_S~O_~+z9xW{J%_xMcV&Y!`ZKZiSi0e60K-;LYX`5CzL zvvB9<;Lb0?uh2M@;2!5P{5z_zz<(mI!!Ow`U7rU0CV3O?pVMi`)!;L{`ut$-1qrs;WucxIr#78 zMY!`zaOaod&ac3oUxz!t0e5~A?)((zsMocr+at9}6gwR{Zsb<_#m^L7e9 zX8UyeÐ5OStn_aOWrcZk!L!&%m9ZhdaLjcYYD>{1V*xRk-tO@EtS`b@+Yc4Y+?k zu?=^A2fm$hx^UYg1etF-2F`8?q?2nKMT0~S;F1V3hsWA z2W*@_?k59xKY94OG;RgBw|f!p`CNi~xmCE|m#M+G-68F}4u6Ea0WZtjaOZd6f6{t& z;eV6&;ED44aQ8ESyPq+9N99c5yUC~UoO}kqhkOZl{tA94)hGLHoDa^=z@49mA91Jj z`wQ@=$&2udV`E*)9D%1K&=bhdaLjcYYD>{1V*x)yRLp zZsqZ5J4p?Gvb+vIQ{I68T;7DArTh3>@Hfl5aQD-LyPrPX{S4slXAF1#1n&GP-1#&3 zd$qnxco@_0Si%31^434l8Ll^m+HJxI>qln)^k2JwJ|zpklj?Ku1Lb-6L*xaxe@|c; z?*1!q_g{s({~Fx=*WvEJ0l%C2Y{K`Kx8PpiHr(smfqQ-XaIfzG?)4qQy}l#3*LMu} z`cB|p-#Pr@JErqs0oR{>PnK}~nbBkg*PpRVvIlIOSJ$VXCONp*HxKvv7T|Z-ISneq z&%aaZ75FFRRrv4aHF#FX!zTPk`nlp3{MYg}{IR>I{dC}G%KPwraA>8>Rxbw$w=TG3y zpGSVvdVA?*NV0(I=_Xmik4iUpvVtEiPac$h5avV3KUSWBKUJQGyPpEw{S@Kurv!ID zWw`sPz}-(B{z~=PfWKbegg;Q%AzN_&-kvVp`8~Mv`*7zE;LabzyRRax5~$G|NQR+ev-y*3O_|YgMUuG zgu9;=-2EgEP8$o~e$)EDmnkO$f4MvlcYXox{36`>CAjmeaF0(7{!sN(hrdMLfP1-Z zxbr)3|NM0q{$S9|KqwfP2;2ne@NPPQinf9-hdw?Z^ND6fjhqo zcYY6kjPi%@v*aWAi{)eZIr0hoRq{F9ISaURmT>2+;9Ktp){2Me@yGRlejS~G->iPJ z@NF~c7jp2OuMxbb`YGJ`Gr05TaOW@J&QA_b2R1A&%m?RZ;Lgv&ou7j{zX-on>s5mL z?{k&m%bn8xD)5!O3io!e!FSXAY{EaRep+z%(}ugB4&43p;m#kxKcVFg;r{ur5&WmB zpTeC#gMUo*bGY*taOWq7Y@83*DklSXP8NQP>T~eK&lhlya|yny>dWxE%Pa7E$?I_E zH{i~1!kyoOJHHEeP7m&!KHND2_7{0%J0)LQv3ithrGx!r#zl1w~1$Tb((2euK z`5CzL^YCYAxdpiIuPegeulf>vSD!z?onM2$P&swD|E^mD?%zkzhC9Clf2Q)g@aM^U z@U!H7xceEv-Om{QQsqqGuar;W9?u#4gQ{P`oxg&gqx$4uH_iv=XW-7y!+qVg0Qd7t z5q_+WCndP&LmBSla|Q0>a}~bz`2xQ6`2xQ6`~mKM+Hm*NfxDkB-2L?6?q>-1&rOfu zdue|e!%vV;;HS!`aNqYbgZuuXIs8$&KDmG&E?>eQqW5iA@Q2E?rH%8=>zjjnee-ay zZvpQ0EyBINCAinO4EOq0;9lP<-0NF|dwrX5U#DupAFb`xhBxIM`1$fa-1!5z^M`Qf zkKoRq!ks^ZJAV#${sQj&&FI9K5A zrwVsJHMsj}!kyoOzt{5t{t?dy_`l1$@Gr@GaNl=2gu9;+{9@&d;m)7Hoj-^Bdffu< z{c#ER{5&R6kAl$K);eXXIVD^LudT_uo~lCpDy3aGwu1;3sK) zn{fX=%ohB4s_(+zp!2#O-1&XD^9OL}kKr?)Pr`RrKU28#XK?2);a6;vZr2su^DQ|% z{dy?dFdyK~&%?c66yVM;!ad(gaOYRy{{03uxZfA3!#}!hx;_o~C**DTcjX=UkK|qW z&*eS%ujNCyuMdyl@AUO6xPQ)i0v~RluGbXqpTnBLZ&Upe?)(+pe-AEs%*OffDCK0} z?k5X(KRLMjDZ>48wI#UwDZ|}Q1zuI3Rk-`9!QD?2e#o}z`nTX--!|O&9k}!Rk^gla zt=lA$0sOplvB?nr8~F(SXZaNVR{0G64*4AZJ^2EDjoc^L;rI~xcTVPrw7}j^KTWc5 z=j7l%4=G0e_jN{2IVHGmcTdXj(^X%Azerw%e_LLIUoCIKcbB)|u5ZI{P<;o!V;HFQ zqaXP{)}KFei>}Wf;64u@!jDt^2wsy<;m?rI;HSyw@K?$g@VCj6$EF{I)d~GOKLdAu z7Vi8U{B_DN!Y`GV;Qt{n!>^K8;NO(jBmd{x_LMi^d&`^f`^j7IfxHWMeh=>aKKy>l z8Ni)ChI_x5z&%f<@C%ebgTGO}gg4|X_zUF8k?99vK7{dfP6qyN)o0;-c@F*|c`@?v zvr0aGmf*fmvJAggITiSi<#qUL*PzbIeA{d}~7|6cXU-+GpDrW%yfqV?_ z$|rE=OyNJ#cAUX~C!fRr;rRgHZM$^EmheO6EBF)TSzTxiZHM{uFUrrspDEA7z1#x4 zp!_oY#mcF`{ra&AAF93v_qf&JUTy>KacD;#e&*Q6=MH?NdD4aZx?B&wx3>EbevNWQ z@H?u041b_}0zX+khd*DwfPYB7gde5xT*03%Po9uA9KJn_&vWG&xc`n}9{zVNw*W6I zrwI3QOK>l@8hQ9xa9{7O!Ozn;*WrHNZ@_)t+k}5wIW4%)hr5yQy6)%hs_((~mG|Kf zkPqOmkdGtJuJi9JpTPH%PvJgaoxwdmbNGeIS-}0goIEitShtddesmc;$-s5Gl4RjN zkIlio9gC6gzRoYHpA!5`c^Q6MXl(tcz@I0t!=2NBzcYeje`p0^IrK$oE|5`+89Yez&xZqzddHC4^T?R=C@MF|Z5$^N15`4eV!1_^zJEsPBP95%? z2K-sdZ%6)swfTIY1NZuN;eK7#gP)(apY-AHkq_Wk%ZG5k{vE+@RQ(w4*IyI(ZK|Kb zecn5R-%sPSgnN8eaF37wKwkLvFrFTtjBfm}dwjBRk53Nn@yWwIJ_WePrwI4>l;9qp zGTh@+fqQ)FaF0&|?(u2DJw7eC$EOYV_;lbNpDx_v(}R0_`f!iW0PgV_!aY7CxW{J- z_xQ}<9-lef8^WDGf;)c-cm53S z{5jnD3%K)>qc_eU=V#!~&%&LbgFC+nzf9Y!1o!qW!@Yeg@b4<83cp@ngM0fn;ocux zaPN<8xcltD-Del>{i_GRO??jG?q>vdKV!K2nZVu86z+azaQCx>yPp-@{UpbvE8^pi z`^muFPZsWea&Y%kgu9;-{5*|k8U6`*1^#Jy74Cj&aQD-MdtSBR&S}G)(}DYakUre` z1Gw{taOaQU&Y!}aKZ84e4tM?n?tK5kG0z9*XO7)CPn@5HJ3j|^ei82c65RP^xbrJ; z=hxxRZ@_=A`O}2^eV-Qmu31H%_~+$axbu5(=l9{xAHbbIhC6=(cm5Ra{2AQ&OStn_@Mma! zljGA5!h8th>HG}b`FXf5111Hy^NVojm*CE?!ku4(*VKONXP=sW!1<7aw^W~pJHG&bm+H%K zAIB81DQD{A*g@Dct!p_^(vIgnwVYf;%VCfyndW7S(6qTjv9O>wJK3 zoe%JzDZd1FKV`W4slflPoO!3`-bK=V#!~&%@7GegW?MBHZ~Uxbv%U=hxuQ zufv_+fIGhpcYX)%=jASZ>+ctZKSJ|r2zUMn?))*_`4hPF=Wws@0`B`pmhi*X=L+ue z$)5QCpAR{>^Yd`$7vRn>!#|?=Q-O!~io&A`cTNr7*fyre@T=rKxQ_#UxceEv-Om{QJ>^f}Gx-$m^P(Bt=Wk26^H=a| zm7koPeh}tE7=Pzy;Lgv(FAm?heiYyzkr&~=l9%Au%d2qb*Wm9`eI4GHH{h4an{fBj zg1etC{Bq^=;GdEA;op-F;8)AXaOY3pL)A~=&Y!`Zzl{8lb;j=L=1NxZyUG0nM`3ZH zeqVV;7kumwkZ0jOKhMDrQGFhMhP(hjQ(lI<{|bCh)mP!pufd()gnNBkaIbG0?)B}! zAFO`*aF6o)m!8TeW9 zEd1^A9DE=zM*i@1zOQGN;J#j3hWq+h1^#*E*Wu1@z@6WOJHG{Yei!ci9$dql^x@7Q zz@0ya`+DO9?))j-`7^llmvHB=;CeZ^zJW3w*f1Z$_PRjhoPobVo`*ZX0C#>7?)(zm z`Bk{{YjEe+;m&Wso!^FgJUj4LB5C5V(Gn;m)tXonM7JzXo@H6Yl&L z-1%*|^E+_o_uevR&*09V!=1l?J3o15+Q2sJe;&U6pYtxUZKs;Ld5nZ_#pF@U8O!zI8spx6TK+pMM8% z_cMgMpAr1;>T??Tqt@H&jIiO>j~V)Zsbo{_p-gb2j5NJhx`0? z06$3eL-^z6BY0Ilg}a{_-2Keq?q>maesX%cpfK#=XI_ueax?JP%d_yB8p^@z@*@1L z$|=Dwlb7NCJyaF=Gc-@?@K?wi@C)Qk_*L>2{API-2G4C?tcb% z|8uzeU%=ge^6Ydwd;Ylp4BY)^;qE^NcmH{~`!B%Ve-ZBfOK|sJg@0Y!r3U|jybixX z-hkg(^S=#ueh2RSF5LM&xbuf_=a1mdAH$tLfjfT=e{{OJlLh=T`4WC;m>BEF3hv`W z@|^VRoml82AeZ%+#FeYD&n{2*p^-@I$X&BzV-D8{20}b;K$3SaOcn9&Y#1b zzkoYGdG77o_w055&dI3k-u!+|D&|r2K;b& z6MmY!1=rJM(uF&}2X}rS?)(AV`Qyl2(fCi`9-k@P<1>SMe3o#J{|fH>xbr7)=g%WQXWjo!n$HXPJ>^TdZi7r#@KaQu)f<27=p^Kq@KaIS-?tfSH zGlTCdpTi$0U%(HPFX5htE4a5y_W9{IhWQZplY{$x+dSO;6yWZs2zNgvxcjNXol}E5 zrw)It#-Ra!yu1x}eh2RSF5LM&xSo!aA>8XVftXwb@%M5waOY>?&d8>RxbvrQ=g;8IpTnKM zfIB~V;l}yk{0#hUTHh?(`8oI(R9}QYTF0>x`~rCy{#$tke(&wlzU%NKRo{R+zX^AK z3-0_b+`s3u2lwC6?!&*Reg^O_$%pX&mXF{*ZcpL+q{EQR;C}v^!#}9{1>EcFAFvIZ zFB~77lX+44jrR8`CkuB@4*oQ4ui_?Nf}g1RGW;}o1^#T$2e_BpfIGhlcYX`*{4V@L zEw=}Mm%I;uw|oG`>Dd+PYv#V>TvhdfV-bI{2}V6 z19v}NxclkB-A^Cxeg<&&GloAz{Y>EQX9~YS^)vW8uUoJ0q4E~o`E9u8Z3jM9P9N_40sIZBAHtnKf;)d2`339# zAFP}i-2Kntr>lMe|CM|R|C4+LU&)iR(+|S&A@oxTAFLl4_!H$>xbK_F!Jn!6Jp6g` z0{kp_5x$Mi-%9WuT z$A19#_z&S8{}J5dKZbk!CvcDd6z=h#!9D&{&l#=zXA97x8WZD4&2WRUHC=m z=16+*f0Os&9-jf+<1>c4p9$RkOyTZl26sPmxcgba-H(64tmm8i$+R}kL-&(~yPq7~ z{p8{9rvP_9Ww`sP!2LW`g#BipMyI;4|je6?))-bZ@VNF zxaVON?)|+6|B1G59q#?N0r&pfhVK|weEsOa!|yT(k1qVP@*ez3`4H~>5#0G>xbr7) z=g&9s1^ln-X9@S;*;&C))%kF8PP*RV+r# z?tbcU_tSv8pC;V>wBYWi4R=2sxclkD-Om7imFExK{fywgzkLdK{tWK?Io$aRxbyu7 zl{_DupE-BqJaK*&?))6w`9-+%OYr~J_>|$!ufPxY>pQrA??D5;bw0qW%4xy3&IkC` z`2gQKAK>n10ROS)1N>I`2=4x;aOcn9KUB^f?)(M(FRD-Ugd08$$A_Eb8Mt$@aF1sW ze!RxH2w$bsEGfauT5cKc<7Wl#@u|W+e`@g8sGla>&m%3k&y(A5pC@pbKU28-nZe!967GIhaQBnEYU6Rk{bbA>Aj7w&#~aQ8EW`#gUHFY5R?hWqE>Ch)Q9r|>81eb^biDqq6g z&kF8-lJ>^=<9;%5_mhRYpB&u%6yfft1b07WxcjNV-A@(nerj;{(}cU97To=`;qIpc zcRyXY`{}{m&k*i@MsW8thP$5$-2F`9?q>#fKTEjtSMc|0ekSK7TOQ%?d%^mD{<+`` z`~#}b!apm|!F|6<5&kXJm*BoGQHK9f^%c1P?rjxb(SB5ed)%6E_tS#ApElh6bl~o% z3wJ*~xceEx-OmW_e#UV3Gl9FGDct?c;O=J$cRwrmHQFx8Yc|fGzsNK2thP%Y?)(DW z`9-+%OK|5`;m)tYonMDLzX5lC8}9rL-1lE~;m+^D|GI5Dj(zwp8n*#_SNRzJbLC9n zoRnDZ=65ZZ<~IegS-Dc-2D{b_u4MaDZ_ny zuE2eKuEO80erj;{Q-^yz8*u-;b`$RLX~DPNKNk7xx4HfAE%x9Cq^q0s;l2(zfa}v_ z2!D@qM)0fUWB9f53H(O+6n?9G2ER={hwr^!=kQp-?A~GkAMSnzaQ8EWyPpx<{Y>HRX9hn{<2i?a zLcV~1TE2w4pB3EwWM7|tqvwz3RSxc)Jlr`2_+BA!{V2noUx7Qn3U_`D?))a)`7OBf z+i>T1;Lh*Eoj-s(e+YN}2=4qT-1#&3@6+K-=J0>W7x24k{1e^C>h0^C4BY)^;qE^N z_i~Goch(CzRQ;6Tz8|9u_x++3_*gl0xbqwEH>kb|cYX`*{BGoLSoiPyi+XVP--n;B zDNISxL*h5;U512+~Z$_d;CjqkAE5N@vp!={#CfgzXtdC*Wn)j2HfM{gnRs3 zaF2f*?(y%yJ^o#|$G->n_z&S8{}J5dKZbk!CvcDd6z=h#!9D(SxW|71_xLa29{&~G z1^x&fAF6QQw^oDyo9gRuk52>c z@oB@|PY3RPx^VZ?gS($T-2DvT?q>{lKNGn7nZn)A4DNpBaQCx-yPxDu8|RPv$-w4-1~1I?)`TF_x?MCd;cB5z5h<(9{(BK<3ESDw7nK^kN*q`1@8WyZ!}+}X$-v!D9`1e$aQ9P$yPp!={gmPE zrvi6Bb-4R!z_0TBfxDj;{0NPI7w-HX-1&XD^9OL}kKxXrz@0yZJAVdu{u1u|72Nlu zCVFD>d~kjS?)y>maNnOc{Y#C^NHR*0VKKS^VfqQ(iaL=C{ z-1nmv;eH+|!F`@whWk9Z0{3}H74Gwp8r=6QHsS841$RGfxclkA-A@A^idL%5eaf_u4RxN|1(t@8)I zb^gFTZcDiPS;5^;^0tlh$NgmB?k5X(KRLMjDZ<@P3GRN%aQ9PzyPqoD{nX&@rwR9Y zehcpVRoZahuhM~!eLe&CeK-OmW_e#UV3Gl9FGDct?c;O=J$cRwq*`$=>` zCLDIc`K|lOz}-(4?tXG`_fv$spAy{tl;Q5D0(U=ExcjNW-A@zlep+z%(}ugB4&428 z;qIpgcRxe8^G9&sk2;3?e$)y41DelMxbH`u!F@mK67Ku=R&ZaJNZ!8j`140CHv{+m zZ&|qS@5;eFZbi8JDZ$-O8SZ{6aQ9P%yPq1|{WRh3rv-OEZMggCz}-(5?tXf3_cMgM zpAp>mbB^J@-*N)aZkKM?Io$aRxbv5A=da+-&%R^h{BeE`?)*I5`31Q1%W≻JzQV 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%0AK_Eo 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

    pXTB{_9Yy{}8VHCwO}QTw&%0$AkJU0bJ*q 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

  • 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 H zcDOvr=tF-*4Zg^M&?@X2G>)jb!YK~1#f&3r4%qtK6VS4V7rCP z-*yW*JFL8gdpTpryCjz$xq@}ZMZSFw1upqRP%PquX~L<8ih)=Gjbg} z+iW36C9rE1R(moqS{q*-b4 ztT3wnG=;|7zGnoeXxsN}MFloaP-rac`~VfnnrKj5P-&r(bUupd*K$cnPJ>19a6;%V-m{9_tCP2Y-Si!%HY|JPlY|nBI-Gf0fz%j>hcT& zl=&@?;=AIeH!j*j2E077p9{ur=M9-*Kz&ANZzDS_$tHqNDP&}KIx9!^#Y~Xqh5oiV zRN+k(3;jJ!^pAv_-wv32&#%=MdLbRAe_l)%);}+$HU9Ztv@i5>`aAbIzTv{0F7%8N zypsOUeQK)ejZp9OQ16>*s;XqGSO18;`bS>Zp?}^>1JM#kMfJ$b5%rI}MS(oYS7Nw? zkyMNXE7d=;FRy?86B;@@#C#cI{%b{dK=e0h&Bj6&KfZdIlvJw!UyJ@vi~heA{r^Yw z|KHL7kD~vxqW>TBf72C>jU&Co;;Y{#F==;Le9&d$;~f?sys#L)!x9_v-x3@Bg#R{P zg2{*_nT#C9WRqVq+4NW@n_a;Mlsp;S4_4$ zk;(Q~FxlZwCObXLWS94t?Ajr|-C>E{3M9*3vI>(+dzf6d6O+piVlwGuCRbj@`0`JBnMKQOtzAqBR>vNtTkh!hnA~*)lex8EvE_WuQw z1GZ#x;Ake}4rX%jSxgSOiplstF*)oFCP#e9GC8J)$+0^zIc^M- z0a^3_c z7hKEa_YX0-@I@vU{g=tb3;qBpm#oC(vMrfhJ{rl&2mG4Jua9AJAbqy-xC{92;2W46 z@&J?Z&oDW37L&u$xnMthQ6@*M!{j&HG5PHQOpbhr$x+jo9Q_58V~YQQ@7T4N95;f= z@nf0%?ieN~T)^bStC^hi0F#rSXL8CHOiurCtu9i|9L(gLQA{R`XL8<2OwK=#$pw>` zOuUuJ@Bhr?;%Av$GLy-r|6_95fCMrxU!KVogP2Sn&Sc7#Os*NtZn=WH= z^UX|dc^Jv6`@Y2FS2LOH_a&44+f(2U$eH|l1ttfs&E%j>n2g(n$-xIOIpi27>=`EOzs6*PcbW8j&SZGK4$2J>CT3CL6ECWW)$2BX?r5$$m^W zJ&MU@XEE9Q3MN}jWwPaCOtyN3$=2^P+2$)IqZVirMS~7qoXKIVM1u|=#eYZ8&OyIn zJsb4fcL+T4YbHl6*bcshpGli%IRHf(>Ob<+6VmdDQ zgz5OCE-`R-9CCOvkm(W0a!h}dY{c}aWKX8YCPy$mJ~@r)iOD5QPfl)RdRp=z(=(H2 zn4X=y#q`|d6Q<`SbD2&|ezYL;U6d@(^pa#S)60^POs`0GW_o3^Khr-XCor9oOk#RX zayQfKl4qFSki5(ErsQ*`wdG z4<+X^{ZlfT=_AP9a{U)8~>+nZA(h$@Hb< z5T>srCoz3B`90Iul53exOYUX*dh#sOHG#PnravTGGo734#q@v4p-gM($xM^h| zn@l^>kD2yK>jR;ukv5t3O;=~ynQp5tM|B;5(C7kv8H z`!jHU>viCrEgB&{!ru&m)W5y|t3|!0au)8_VdS{mp8hTOu@34s1kPQo1 z%x`5`ZufP$!zyfh|qyze!t0Mcm3D9I_;)wUk3)Y{#H5Op)SOw4~l8L)30N{E!3g-9q>AbI$pyvEMPIe?c>R= zp*{7U`q|<)KJXj5k32D7@&b{#3LG)?*Y;)$2WoFlJM22(Hn87?Fhe}h2o>EY)`ttF$wnS9 zo$Q!K%#a-cBj}V67HU1+Ax5g!vqD&`^_);Enbe|*A&%M?_10eOghucy9UPuDo>PHW z)pro6+!ugx3cjWe;ui3Ab+*r#`i5%i+v_7wg%H+);)Qc;iSDd%--q5=KY%1uUwq+6 zb_q!C4yCAt_lBGbzP}p$U^V!U^^XDz_qxbhxND&Pk-EgCbDk*1I+EQ2lE*?RYRZ!# zr-GlV20vR3exZIg)f*pb=2j$DZl>3zN@XS=sjtYVwe_-9&-yQ#3O} zorcH*8#s8B`OPdma5G+^&Q_)djWVNf+}-Wew%l3X&V5jIiUVA~uzg!G%?({6>i!hT z(EZx-orOuiB&3L=+dQBxO^u8F~ft<5bekJMa>&j7ZbaOt|Nzlip~kP!(85A2A(gNA?X0~D%zoorP-C|OKrGX zzG`afkJG6F2vF+qU!-t~yo?td#l24a&r&5Bp57-&Be_=WJJDLOWI(b}`d^YzigJ!j zQz4-H;E8Vtfn!{dx*=fKIsa0TR1v}fn`9iEF&ZR?t zk{bN34iCLn#O@BZn8HRov8sJf2htqw&55S9Q^8|WjJ+=7JG!d6Y>@GTQjERM@w+*a z#xQOq5gR3=Ln}K<$M%;97A}$<+FY9Gw%AJNTko2&x;1L&i zcIc0i0h;S9IaoAi8^T!y97~N0C#|M=BL?aVhHFiyQjKud;5d{!h!wuu&-Glz`N3O% zstA8!T~SO52wUD!dk4Ja+eD{(N9~!&kb>PiYA2Mzvl|}>dy+-ea~h2c04B9>C_G>V z%KTDD@vn((4iaL1TrQ4o3?@w94SNVUyw^J~rQVFt;t1g66TKT2CS<<@t~lCJ$h%>k zvWn-Pa(v0Yoc7BO_Hmug`s~ZRZ7bmXP*`5L66^e?quAZ4`mRHH`uDk9 zd9EkV-j43uj^fwu_xAzM0ILV;^G{^4mjCfy$)tL-u(su}hZKR8i}nFalEKP=XQz;- z)^s(**R%5Z%dKRD%Kr)d9IJ{??YM*Umu@(~`ODicH02jX6)Lmm6EWTuh3%i?^OsaZ z4(igP9@+sw{wXq|(BU1sdZ_yO#tulRtIbr}dj7JKioL1Innu0$93{0YZo0*R#aO1e z8MLgLZ>Gg5pP#7|&pRi|`&_H4;lpr%s_EAUrIBP$qIkYV!4!{z0_{Mm;S26}xf(7l zN-WQ+&{w?b=%gCXaKFpd(CC5sUaKLIpzEy~!pf)`dLA9G3hdf52VZx%t|0B>YiZ${ zZfDv@-;Y{8qxys7D*rdMsXN@utek)5e@3;ht)#vaFWiudPC2?)t$*$7M~6L>aIiQ{ zqzrpr-mkjY6{dX*dnRGGGVBA1Z}a}|#YpZS4g1vo%|8OH_>0v(>@P`i?e&)R(ZtXq z7BW~#n}11$*>_u_$E^H?F6aKp)+cE2cr%{x3Ysl zu2F6ft2+b)gb2j9p|;J@gE4=GW8D^nVN+u_35^ANkdduJ9E~6#>27`a!HX#vUJp%mrZC*)M{zUirf&L3RyydDVLKfN)~=}F!Q zNDd68sPKbBP6Z!UZOReV;NMmYIjS0btbI8-9i%FcPY=8lt~GvJc9M1ND?uJk2uYOl zyfnSX6-qvgZogkd;WO-!q`2l|{;UoAb0BJBPy{&&%rL6Z$)V6qAXIVJv@nyvkEX+J z2>3PUpeI9(>^Wf{L&(LZULuE8} zHeEGpx?Z$7=|)q@+`d5mvU!#0AnBp=Mq91;(-cFHe`OG3t`S7vwub4@uaiHWZ3BD} z)YSXsI1Ym^|X9QtWjSBy!!nX@yMz{*vJ`@x%?Pi$*ouk{X zmx0LDgmrJWd0oFvrR~**vC5U>pKh@v8w4c345cXNn2=M!ziLAdZ3X&HCqK|xr=W2z zmvBsA^=EB+-Ri8)SK)X%^lEF@dqGKl71)&{7lv3(N!kNJYnA3Gc}Kgt#xO?&ON0aw zZrKn=%@M)iP&2ZSqh1Di91=>1aO;IQN{Pr8_M}V0-SDL=kEvL*o=RNIGQo9LC3CX@=0mWW+=Cw|DYf2IUD|NUWXl1`84mh z?k{$du?L_0p0se-{D!o+!}SHXq{Vj9AW3tp-z>^kNQVQ2Q``AZ)0&pis_BuUB>zT^ zI@kOhD_=2Hib3f~pg0G%D8}D9jJ5c#I=3jn$ z*{*NX2L(VvgK9OzSy|pE{J9(e$Hx~@;UL&23^vsETvUwhNw1aff#i@c*-*Pez)AKo ztWof+#-9lOtPGyr7%c29)N>j;6HIE~QFB8La`W#XrTJ)XDns)mn1GL4Maza7VY;FA zGB|vp$%Y#AW`q{611FzoLk%Wm?*Ui*!%@hFnp5`wy`lDJFsmo}^|_yUdtAWzmD(|PVnfaI1Z_9i z$p~vm|HUMGJQZ#?Hc?WD)h8#?b_mx?Dp*nGb># z-Ews^;;@DgrZuD!9AOQC-i*-VN5H|s$2OGWa+;7W3S2SJQAiDO$|`G!c{GtMI;iI# zaLY23D_@JQiSrs+P2{l0GToMMv+g0nqKkQu{s1RGuKt(zHCK=+Z@v!%bMjlfWM|^o z*K`wR>}&r1CNW4p(Y|JxJwE^w=;Av^`=53{+H@||VbqX=y3|`kI{?TJf}a#RykiXy z9Z2QSe`5zE)YWDxZQa+bq~frovZhh5-Jhg(#Z9+3?oURz8MLgLZ>Gg5pI>PecR9z* zZ7(|9Z@FV$wa2*`oT29Q>w}U>vh7h+Z=;Zktw8~oNYBt;Zt3uMxo3b9%d;@_6{8)G z^b8#Pz+dhej2@`(wPzp_biMTqurlfyJWtKn&0h96{h;r9(|PQ1zAL%P_k%Wdhuh!(Fh%gHNY9TCi{Kbr1URMl0laM1trP9vylpD-;un|a1rEKazJef=Yz~WPmMfxD zf+9L8Ait!(LqPtXE22{ak}K-}V-e91tqWJzv2r!`#YJ>|HOs9nET#+|tTUJSo6MHq zLO9YE(H|}PTcUjt9UT+`km8|przDahg=*sVcLSNpU z&-cAw03nW*vhxc|ACP_(k}gx)-|zgPFQ$F+y3Mlmr1R-JQJW%gdo{Rk=U=@owPFk5 z#HVv~Up2RX=d&cCz){45WT8$tu0>C7^&sOxPrrDl%`c1#;LABUT%vQsrnAHjfnA+b z8a=dX)Hr9sml{XQ06z%IJdr3 z<4oQ5!A?L>zKXm)7=68!tH>}mBed8EIC!!gWCV6++W}W>>L}zYvQzHohoxXA9Ek>W zZr|W45Y8*xaaL>x+>jAk{L*PD+X0Vc=h2P>9fjE83dY;f8ti01{=byXVGrTU<%(0` z2JAek(?Hamynnrsc-Q2eb=Z;p3M|yeM|t@G>8J^#EH+hNK6&nttW-t&U8eTt?RCH4 z@${H_){>mE6aKkw33V>eQD)CKp^QoP5mx-vo@&TJ zT|UbaH3@+H1TiD1Bf~ou@=&eMH&SO^ZKl%J*)8<6P_@i%q1Vn*sa^FvY`_aAj=fiV8&qX8?H|BDe@ z3U*8U;ClsAocCvof6qKm?~fM|i$;bx zYWKYtgWXan9GahVAG|vD5$n}B*sV8J$2bXgTL@>8oex7*=eTr+$T9}kil<(&63fAE z)B8PV@th+m2fGcVsPOS=z^UNF(`_jbX4ZEE*Du|0iYAtsJyY=O+Qz5=UhW^tmUY_3efGf(} zw7cV64S6R~x+_vtA7ieeQ{1E$8H&4d9( zWP<5Obr^!((qU{P3P-S8!mmZGQ#gX%Mvi3=^g z;RQ0(st^fwOa7jR(P^EBF-1Ocuv@QRhd8`IhO)ZNz`$U)FrA&4sk*90g56fhkYKkS zY_g^-671IF0<{wC)`Ja;8ZfAip3dNzAw_l9QCEy@tNsyrJ<~P6DA+Bf-voCm_gZy` zGlGH2DP3)qV7Fugn7Eigg58n;#S}eN>n|^mQ5+|DDp+11;{^v!kYKkc+4%>%B^4`_ z%9LQYQMHg@w^f7^>{h|eE;veR7vy-SJWXB?Dk>jVH@n07$59*nU^bq-Tp*! zm1fJxcQ9`$2fJO7B!fUQ&{w^^lJ%5R!TTf|D7Bd_AlNPCo4*Kli@!O<+6e`M-4eE$ z!Vv71Y})n^?3N(acW8piRGQJc;uV+wIM^+Pv#qH#1iK}CYbaGXg546nJ>Xi3r^z!B zf#e{MYm@}LRa{h~B-pJN7xPK5Tg8#DwbYB#V26AV?AFx@1iQV+!6n%3qHfALs<&Xb zs2lm8FBjYCrD9jhfrk>Vf??UV_+zF=iXKXo+4I_?XwfrYvb51d392Cnb@^s3%QgV= zr^F0x?D7iNzj>%HT6rh|33auZN?Vt0l~nYl%9=*KcKJo^ikoh6U@?{{ZU!x@=9_78 z%I6zuF~K>vmj@9CUnUMvHU0XaG?MHp6wkikEe;2TeDEORX1EK#%MT);#PVEDp4%Or zJcxME{VqRo|><};e!a@amgy`zGozRrYpcIY6OJo zDhhw|%>gTZEk~R2DXpT2KNeNAc4_8qhpYK2+r&O(?%0xz;u?VXuV6A~zMUi+< zg<%!tVTRWiq^zR$7s`OZ3c@OiOxu)KQ63f=fmIX{<5VkFQ63g+-7wTjCbei}h@*Dx z>3->i!lC)gkHf3C{M~vrUPXCRwcg4qYIosGvg2T=>KvCY_XNOTktvStB>I~XWJ6LoUKzqN(=1+|&Uw-mWlr+qaaTji zt0+_-W3Hi78IxLMDDKL%cfQF1Ur@WQ4Ojy3P1V%5Ra4)ap6(lJAmoAc9D?abbqrQf zbQs%+!m)}X`~uW;g<};JIr8^g&dau!{0LsfvYE_7=qR4;x zQydB~reLUuUK!%`2h%uNMNw8aIl#1R9j3DrGgVjB$SSHzhODAI*knyvWEJIcfm&Hb zd9Yzo0|wR6(-}N7q^RyX>WZ=Lu&0sN7hLm;R#B9GG2E%#Ytk%|>cWy&flsur?}sv?wCl!BXX z2GDf#2|pRxC>i|fT~Yze1^w5g4w+R{`kbvzb`?d8UqyZNLd7bopX4gd2FQ0XZz->$ zGLkF-l7YVJ?Uk&goC@A2SyicZ6-D{Fio)L-7hdIYSZ2>%6?surxG2=4)0OHo!)o;!rrIz3m zt)j~8`Nr^cag(EsR#8+#4(jsFT2@g2x0rrvP)1rQ^8vt z4+<26tfHp4-{n;llvtj3$#cDVfkU;c~X7yJ0MN7>yB%={LlYk;1#wKs%F|YJZXd1m!3A zk3fAlD+21mcp94#T08+9pyem{useGNxZ-I?Ay4p~a{mOs^&~;kDTkri73fjdx61}x z%KT@97Bijr@=;f~BKw2}eCR0TsH^K^ya9TIAgR1K%!ioO73V2Ykv|Tn>TZLpIBxr4 z{uSp{k%Esd{M{Z^RB;}W?Z;ZrNIbmK8uCHodjTg|C-$-wJge~&p-ZwKmBF(c#}XV- z&uRQYsmm1yl=-5N(sWt!yEJjd0YSOqybR}r6$i#56LeUMfm~dn=P>cOT<<*b}^MWQ=iwl8rTFkPwjVTM6CIK)Ya= zI*!nQ?BEzM-ta{R9;(nhGU{Z5Vuexlrztdkf65sFDtdp)*@_BmoS@KH*7*S{k~Ptw zP}_q#Zr;Vhl3a=-4X#ra|A!I4k08Fs;ZIZiRm!ixtCdNC*PXAL z&iIEkOlUe=@i*L|n$C6ja}m=~WmuU{0TDPY5epLq5?1C&l3Md*#IBgXd7hdApYr4Z@aZbbXR0WlLv1m| zsWM+c6*0A?>FQumnQfG(t`p6@oCBqncHJlk!7u;7RM)O+&AptiM`RPd2X&HcyR}ZC-Z8gt>a+GgArs9 z>sv&S=Z)Gvei!3CeOz2wxBk3cZzXk&X#3H7Ah`~?FRpeZcLXGxgi_QGn}wVT-m+~^ z3N$+3YO^};3S2YEyQr2JcZVWY22wFKw7$I!INH zX&W(9{kBZI&E~B^9`+4MlykqfKZ~zzrF)!if5=Wsx=yPX{&#S9tm}Y~=Q;4Gyn{j< zFZs=!CI4gRO6WR{f}+x zrw0zXG^j{9s$EWE74(Nt(7(#roYKNf0zX~ty3REWHXs$cNV_%yY7Kmsg*cD}xT4*Z zFgu6Hcg>KGIl-51hITD3;Yip5)V|#=3v^N@Mc zJY-%l555cM!FP50hgt)oJY3iQ32|y?)75ePvFaRCUz(TM{@gv|a`C6`l(B>Hr-puF zC|&%iKA#D~#h+T~3;7epp8{u+{r<|(=@Ng+fG;hBf6{if04#OU|7)wN9DnLnA<4+t z&3Tl3<;%9s0F+u3x_sL|J*}^h`ATgk{tG5iMA39g%JHW@_2P=ZS>NR4_)}j9g%zT* z2eth`Fbye2d}%XKjz5+Dp@MUrwyqD=s!g4j%kifcP|oW3Q_!13z8S$7e~Pe$0OLT# z_*0%P4-kkyMZ{tt)=X{Mwj}i`&Im&MDZ-Xh;fO!wVMe$L+CCH%Fd_aFm;#-n+gA9u zuQ$d0|Fw=R$Di7iB&HnK{nnC{<4*-r)Q&N20jGk0)pm_m4Bv4u{uHfK5aLfUmvBsA z^=EBwf9I^u&j7A?+LdHE{*>C4!xlrVrX=lwpowKA9qlo5M6g6i5aE^$anu|U3=TCT z3pwg#kjEjRgb24@h@nx0VE4MPySMmL zX9}4uL#iqs`rg)`a{MVsGDW=x#_+W{x?bVRv>bn`iniN#QB&I$PuHkG|8N`er}>{JUBK(;!i2g z?6P%zYCPR^-DA`B!S24O#-ADoPxmZ6TfUng$yywr<}UavpW<8l1M#OE7V)Q6b$x-v zpL$UmBtCf%f2t=P4iMu{jZ70Qqs`L;MM?e}X!0|`e0W+ooAZrQrQRidO{v|CE8jSv z*f)I#6z@Zx@*S8iE`}Ru(@EBjVuS?B;?4F(*ZJmT$!g-UuFKL|y>ME(E>taDSEe_L zg6!6kmaZGpy8!)T8G2`WoCq_tMVIwo*F}Lexd)^aFchDzivx4pk()|5L`S08IuMuWQW;ht7=tRX$UEHHL7uf*sdG;4aK~!v*wE4&eCx|Ke zsj$ai93|+ylJ#UK$#DN6pc`}+~=m|yZqpxJYo85RaW$Y zb0k6;^k#$>KL$=dQT!>GkSz~fv6Q2bXRA(G#rAr2$p1Q+2T}u+^y{;Wn44q`0q0|3 zx$h5ga0P{iPjvkMT;;ipJPSLMZ3B64YA=wk%8N2nm2Q61-!(8gj@P z2Ih2y?=ZDbajR1MqIV6%HWo{=W#~TnvVqt(gedBvAzoe(h|P^29@lcczq1^w;&xG# zKMKKI1r}S`)gn&oxmgQN>n&s#DA8%XGJF0d%r1WGXrt45R6`Ex(rPob1AzP)F(ar< z!#f`KP+ux?S`QNHYBQC#p4O|R;`~fyO`~3W>WA}jV)AKwvU**HodhX1XykNr5c-=rTkKk*2h!^uGp-tW44rMw2 z%>Pi<{`%pl~+0V+E9^_WRaq6>ex0g;5f3^_Vr4ZU0Yau@HGg}?-5gUXbpp}5&a6$ zCoU{R$Wl4@8hA~ny-)pYXx_osoL`DZ3nRI6X5Gc?bivm~$&!b`*L)F#!Pkbv%Nz!B z1Yg77`~)nLbZ4a;eC--RCfO*k6(jMD{7CRMXG&fUzV>oJzPBr)U;{nBqQ09*F`9$A zaCIHqHr60^&c1o)*H^RL+QQ<4uQ6LYVZB%Q{j(tW8qvQY+80qd_!@XkrvI-+^cUON z6n_tj$TVOdd=0hHFHx`(kR^%+U)u|1G8V4(OB8|*2B@0_AYZaXIa~l4QAd?g0|L~^ zK$Vs#0VJ8? zSScBN4X}XptB|xM_!?%kN!Bd0B%LE_cn%VQ+pEESJD2sg$Tr>oY||Aj1$yXnI4bCgu@nLKS+>jAkJmR#J?SMzJ zPiV)}jza8k1>^0|1F#Yi+ysGh!Pg!VJ_cWN1NJhrs~Uw z!Pkgnr7BKD)shc_uQ`o=SyG^}{7K4a z+J{DQ@HMI-2X$#}7}^0q{fDviv)xgCbz z<@tAAjyPDJAK|n^G0ySG{F_^J;3?0)jUK4)b^c8x=z5!f!^)udMObvtBk@S>^YU>1 zZ4QOm==oj4&0!kMSGq>l?V5U&Or}nUV6(*D-u}(`Fv`GobTA(O@ZRg%t=^FBx+J?8 z?8Q0wmQUA~^`f8MAMe_{uH<{v2M6R^xNX_30+PMzSBVsBkaGUAj#DKD98H6}4ya~1 zu!W`R91qVw&U zn5ZKvv*%mk1W0kUJguK<=o;DqKzS{BUwsu67 zR4pA5^x6)E+EveV+GIPT2seY4RrAfXICezj)2I2a2+AGN8RD+|cH~`KuIq?gQ=WfE zbfI;+HX_%W%3Imo&(>ODPpKg;;u$}Z!eevkkBADMC57+fp1U&Kl*NAzg+^_;~nj-(vX zBaouP$EN|Of)7s*pg@=@LH3=%azu}F1D*Rgl5#|kK#B@KE)6&pd}6gJr&NPauNHDv zHF!dbLTPdB1=U~|(IYB|i$iKHcSQ8?<*wr-<08_3n#If0zjnH!%uTzy$kmW{5~aH$ zMfEY}8al;IYLTJ1E9b#CIp7Ow*R=sl0KTc3`nGE7d((G)Lk)yHkbXcg{iqH@L=QTQ zZA9US=t1}_)H;PDqDSP&*Ml~ZqXwJyrk;4Sg@8hp;GGr%ZMI7FO$$}|Wu^UphzWx1 z&y8`kG{_htdN5;}S48xn4_G@Cj))!}ZZfM#MD!pM-DO~ai|9fB`z;N`MWj}RNJJ0v z@6sQg)(sd_B|t7;^oN0khT=;6U8Ysw-KJv=T@ zD-k_B*s!PpgX-w%44xTMRCgV9#n`s-g2?L>*ZiW09+W;C?o{rz>JVoH1C>*{+A0w} z$ObTRF@Z$%AOVUgI_-hDh>GKsM+Hkn4=*@y!rpb0lW%ZpyZjYUjkQ#)P%2X*dPLPi zB6+d)6}(S!no^tD0^%Z4zWIx|i1?dBtes>aE+S#) zD-01m$fj)%5j_Y}eTOEPOr;sE^Y7s7A4l|{aJDs-hKL@7Uj(HJM???8F9%#pQ6hSH z^0-DxL=VM9HA*6ScyTeGMD$P``C3c8_&e-CX-Py6KP!}o9&b6gMD#fCMqBcu+>`hQ zZUb&E;k|1;ui)GJOwK8sE`TK48vF{L)wqe^?aScVjlMG9XrZ3d_$k4p_Rixu1<1`u zLrT-VM#qO%w+k~L!~g{4ov=m0*v$;fm+Z*F*o@HPC%^$(-U)-<+0TG0mT?ra6Xulr zov_v&IR-Ic^U|l`gUbe7%KT@97VA0j<)`6rMYb^w*uYW9({R^ry#cxvR~^Kl@-F%* zA{=+oUE{WQ(FwM9(fQlnMgLiskgw6TB>c393_o2{q%;f;?p!vaV-R;JWL3N_Q6>w)nf~Gz{AOU35Yq-`_LL-pZue-N$$y_UJv_MaCF2lx(aagM@%= z-%99y2D%6AQVIK4LdOvrkR2QY#v8uKz(W<9M@F4&P^>Vj{xpTg_s7o&P|^MIvlSKC zI6G^9!HlMZ(`_%r;UjeMRM)>d<_LrnMZDsrW(ZtZs32F1U$?)W0OZ1qPzmTl= zAV2>QcwZdDy3)@D5aKv{8@8mQ{~Gj0(ee&P9fodY2ZLOr+#ptW2nYxf*l409dt!>s z{27jQTM&j#jolDcElXKfy{4N5!}d&z#X#~s za<3%Q0+PK$DQe?BA*X`(O@Bp!M(4|}cwP?#?w_6&==3CS1SAKBQdIcCA*X^5t2X6` zYVdEXg&b84KGvS5qk~lC@#$7SR=;&DXecO6RJ4ZX*)`~2P?3+#d*1W!|+n&tiE9g zy*cCuHw+285-<({ykY3+@&JJwhD6)|V$Ia1ZBqph;*22NFeLq*DjYWqJg@84_Lw;$ zSRy2daLa}`YK{m7hnkUv9Q88DWo1FoYyi)Q>>s6Y^Cn=DOBdzF}BJ+wHrk zsqKoVYgC}$Y{Lyh=7O$Ku-q^tmLMrqb)YvFjQQ5Yc7`?hQy)vR@^XDTQh0jTGma^@=!knyQ3TVxv7WgT{8MXOy*q+w~ksrx3--R!Ql%{ zZU;ecMriRD;N%nC4uT2Uv%nR9briB6>XcP1iQTSs()ncv2i4AYIr?-XnAH>g`dr4m z-74VxI#}*&JC1Up&}dBgDA#k!Go3v5J32Ya#gaz`%16139;om2C>N2S>+L8PtkjN~ z_s2X>(01o}f2;$GdUb%iKi0oA+R6>X0~W(s+J(#D*^PCDJ;@^KIgQ;3CUv=nfHMCv zr0D%IHzRg69ybgL(;D(6avIhU=*{j z`~S=|qv-TknLXbE6X@baM;l$Nq8f5gm-=&P2LSm_@RmY{cVr%_HRQ$)NT{pLRB8qz zrJ7nz#bHUQrctjw#YOFkn{IJnF_tNA1}&@Rn`v>%=T}NYM4x8^Fq_ zH}E_)UsuC}ovufgi&cK0cRlDlE>_(qUd*?JHg$(PE$93*|I>1h*|Jc}T$5Q)w(IR_ zQ+KgyMOl^bVwGPLhZn2vgDt+;LY`!g(!_`HEgxL0avGwGRc8d`_qz#a`C`>G zA|=TpMcdS|S~B41L}|W#y^>|u78ZZ83c~XRF`x2dPI$43=${eoZ|#&XR)N=K+WS;z zau3clmDP8$;ki}km*V~4+^Q>rBg}!{n?*V=R{0_bFIK$(FPpV0E>_`hKApz;1!ehS z)enM9vKe42Ud1Q3D3cM!M|JNe=3=?Jf6rTk}WE!x)SOr)2ezEFP zl*t!xwZB+J&<_B0Q#j<;(-aFaqWWMBrlW@z77K5D z^kS8RR9vh&VvV%cIkvBW!ii63`C`?*B%#1j#Dip^PRtrw^yF3#G9L8w zxL8GBz_di*yTX&*k!6dXTo20Fvxv@T-q!H4Y*8j52t3 zV_FsUoW?gwU7id=Za$I5x#f%+XX>_pkOqSCgS3^w=qsljQOJWdr`*p8TaR)0i&b!5*^a|wJK%QDC7yy;wyUWmR0PB9fJ=c+=KiT&!{${ZLZASOwC2FX;LL zOa)djEDM>@I#$eRcat4#!pj${%Ix_PYeB}L_OVrbpMh$~L0wuKhIRmuA0TD~b!2$Q zzdTgy^Nk&lP*pvG=o4D0Z{O+4V?r^~eHa)~}{9v2LsVE^Ww>quEm7DRp% zu*I6|TgJod#r0$D?``VEU)}FfR^a*767st#=3kC{TNAW+_+&>;JV(XhS2@@;@EF*X z5N3oK#I+9bt`c7#!b0L39AbvNa-ZmEaX_hAJxt99DzTsqbysfKdlCTRORUJbw9<|+Vv?lOw180h@EEw8E>-?lAX1)dvfriJR3TDz8g z9^ukT;~R2=Ws+bJ1$>j{`6}mw;u75Eognbo)6&eJzIrYek2+1E1kX1vy-{g-%Ol z`SuqngSjv=`Z*a#2QpS{p;H+v&jYv0Ja9j6AN8>-y&%i0hhS}rYe?{C)_gDpHFr%1 zr}audxCGau z9;y#m9zMTkJNff)y^DX|72!R9tS{LO3_d-N)@NQXgMW4ddZYKP%ASepdQZT)@~)Qiih%R=`UvIZh}rX=jD+-t`TLRmnr=_-K>MJt`~=GYJVSJ_cO+xMcWL| zb;6xPM6KwvyQTX>UF9!cDPQF*8ORB8xoq2)BF*L!Is)ACZA%R=cfg5 z-Il_VQ&92TXiNN$fcRIT!msFq{ak*|4(QGd>AnMnTuI_TK7KR zruqHE`1$jd?Ud!8=+oTe5<83Bb`&hMwI*99P)N zH`?Oh=IBI4&z>Q!e4?UfY=F~sVb4JUI5y+AAuclGXp3XV(Cs^$W7>UZQ){|zrRj#7 zrW+5MuGh7L` zlKea%`Ka?Al2D57Z+>d`HwjjOUs#>UvUWP19sO)hX})g{oeMfRoKb838Q=10I!nB7 zWq5I72Q^9vxQ zxdpZzO2$R|n;~F%@jL_l~9~W*x2Gr4nN$)7C&2fh94(;ce=F7zdnuqPB-#AUhJc;xI=cZO?T^zU`Iv^o<=ob5nNyA4@OW(`I8T^&oh_s*q%6 z)eG9c`5FStd(a^lom&~V^hmAUY-{^FHT#1-10BOQ5HgT9%U93h^&JFYWh;1zI%G;P zs514^^)Xe{%hq9rrS`pE&k9Z_2aIA3XH!SL>1=h6_VLuIzZ@#6^_;P#SndsxLu#Aw ztWmRMh(Cg~L>WB0@h4%InP3?_r|}NKr1tjlkQylSl|ZgXki2nrR~tu=2-71-2{^P$ zTuQwep+yI9@`(>mkfb-2z1q#>0 z<5+|kLgl<(c|^05@72kLu0mO>=xdOMZ^D}%ut@y0yQ|D*0Z zprk0azo%zrmw{ywk?C0%0}7G^NsB1iT~I_(FoA+-wMaVN-CsyuH?u@7dj~w6nD=8SLXGhQb*{d6c@u1T$ZW!KE*(| z`=L4wwyL1_;`&=oKE9bcq%9YQDxO7v_a<)l6R|?TqvSrb7t0j$} zE3uqznz{;t&y^meaJiM-pmmE=&y^IS?&nHR$)KCcSFON0`GetM9&HT8DmxuYsqyxU z)EYuN>E^U4W1+uI6%(J6-Ytk;mpY!&A@235sfIf^Jb=^f2rcD2xu7Oi{vb@i6`Hhx zA$a3>J=icNu(4^zX5ImfuF#DGcBhwfP~TS^bmLHk>rujQT+zeS8dz^Cs-)f*9OJJE?f!@eX4ISy z!_-g8*WfT!PWyjOnq^uM7|Z;o_-L4lEAxWGlqd(q=N+b)2)=y76iN&YQ(7ig-jQZ& zxB|nJJRoImWQSl^(F8!<$WDgU2CdH0jt`>OrKXa&lMZpOPt9jEa|c^0INfuh#oWl$ zN>g`Wx{)!?w2)ztuv-YqO*1xg2xxSLS_n)?d!S`TDh_HPs<1*Wr0Q;`lJ|(kgmeMD zGTa9$MD}5sb*q5WF{*mp0m4ZS45Ak~nB@z!nC2RhCvDmW%olaEs-9NGuzzOWtJVj4 z7hC?og6v-Ps~cCofc3Wfqo+R2z^)S*{S&W@w zZ9PqTo**>6gc@*|COscB`n@2U&Rvsu4mX{W5Y$1S=`f57fAN=%zw95moM z_CL+o%wtM@a8yGm(l4?B&nOO@|3=*D(gs9~YE^5UN`9On8tKo}dTxaZk^N0(-MfI( zRao_h1B8>lH;Der5f6)j<~AE{xQ=|G*)VX!GK!Nn1872nuHdR-dRG?)x*Q7A`gHSF z&t`(nyZ^oM%1`d18Mv<5{tLLM^tDjNB}KRK(9G;jdJf|{*pK5UGMTaRkpj-JtBo$q z%=VC5?xC4kP~6@2D5{~%)rvPXGvi`dg3HpT(-%yEa7(cJYOqzsA8D+PD1E^c8WP54 zE;M&$7Ri+}Gefy@hQ+0ua+b4Aa%L8ytz^rhGJhx;x(oAm1muHvVNni>&wCeUBKY#% zg<+)`xA~10Eo1gm?Ypp=3DFsLeUnx*mjY+l&!Z^1#b_%g9BL-3;#2obcB-rky}P8J zBw;2i-zKU2tg-^nSt_4KsyDQ>xhZU`;i_D3cF@+Ey{lhSSE|Q38&aRDM-RVi^>^(J zVZ32id7sk)Fs{l6PC|z~11{>X>{QN6sV$PqdkpJ~)nL7tS=E?PdAFgzh8-$F*Pf>I zv!i>pB_C+2d7X}3Cws)ullq2EA+UKX|Ou>@peTQ-vCHeULxZ4 zIeAoBW5?@q8Lw+7UT+~Jd}pn^L1x{h94u84l~-EcKjn0%F5slUWR_2m(p5RjisuZA z{ds4!#ok86bGF6un)3r`k%pL>c-O&GRDrhR`JF_;t2*L2R}QY3`ek&NrHg;BhWGr+ z8jP&Zdwzp`nrsD*wV#foFlPr25Ye&r^9kXk4UHqlzZU|WX>bjGu~|b8eEzJDRhN^# zC@A7II4cWRL+GMtbo~ak+7>#@ahzxgp=0ecn1vOZ$3E&T1; zteXOkwKEbLZOnSUZ9jv|~uv4um1i*i0K$O3)5OBz-vB(M55P9jaoq9cId{kF{5J5@&&0 zkX&UCIwYj-;gwwyyho2obYX2JT0XX1p(bf7Yqks@y9f`{*0CX{{2)>T~G@LV`EveU*PWL+LSJ3Rb z;h=Bkd2pb4(d3<0B}0>UeqINe;N)GDgW~f}-kAu#e3N%rX^qp^ z>DMx`ay9V`{F+Er6VdH)tF3A(pL|s{r%t*K%EW@Zh0MBqtV!T@Q#d|2ts_>od*TQ_ z=lVCqGwYGkRkcGR^N_svSCyONEL9y6ms;#!DV7~AmQIQKd_t8CG6i)>;NZ2eQ%n!a z**p}d)+F{TmZQ~NAZ^VB%+DJ~{w7450o7s#)p|@kHsC6nK}|bV3@!t%5HqL&chQt7 zaUXffW8Z-LW!62GB-|7c+$NxAzEOg+oy?TWrIJgW%$*9pR4QB;t-;-a)x4zGr-)Ag z4tPhgGo9;Zz!HUP1sQ>R*TxBDg7Cf~bTZ5z+BlnenIfD-cLS;UBO4d?Ta@u}0Tx^R zx028Fzya%=Ze*8;vCIDGCNSVvo5toF+W%}CTWe^4Id@U*IO!hn*r4NbnhA1lqg*wH^WKj0#(;5{vqU6|>zpq_ROz|VrfWj7S+K6YXKgYiBfM`?)R z&@h8lS%=H;bD;+X6%Px`vB_p+9B`Dh) z&vc$CThnz`3wkbx&$Qnc;#aW__9CQXj-}(J96qDtl>)Ta3eet+V@EuvcfW0;O*3Dj zS_yBX8~jp*XX_3A{QzDco+-cZViBV9A1;x=6H^2bKD2)e-8cBq{(^~uK^@wEaWWCq zq5b17qKrDUzm$}R5AFB7mnQ0`P!h|Wc&StrJhYD+l#`wS79CYOv_FXuj+9hZR|XI5 zU&t&WNp)zS%QOnrq5Tl|l0=PFjtWX;@X-GBsB%6?%&{czlToY;9@@XjNb(Jd5ACyM zB8x-&$hvUFMLBXq1c&y61b05D8C6}C_Mv^|WV%p`L;H+-*l5I|eT@^!1TzlpGhv}& z#-V+Uvzc*d9|Wta{zyDU2ury|``f0mep4e2lUB`FVD^NI4(+#|K#NH(9Z%fcwJ0t# z`7+sf=+M4;1*I}{XrE<9khBXGG-pyW!9)8|`t_DzB^}z=dMr;`CJ*PqFpAbH`2m$D zBY^VhHzkRg-3cDrxA<^}b_Me>iaB^_-zxBDj=?JBPw>#b#kT=`dKBP8`!Lu-;m|(& z!1F@GibMMbZ))iwyOs=kq2;m_r6;1%PbT4QPA7jl8ok6);_^hsl>2U&7H0S`>7SwN zf`v0#72fcnefAfP*Ye=^Xn+5-&@PA0*rX2a^Uz`v6 z!9)9DKBJ>m5$<&&pu(KYIHeloA=+HjX5ax(O`-YZ#XkXLJhCL4LYjoHQI<#+SAv5UEKGS$$sNk-N!DdpC9t_M0 z)4Fex`p|yK*|d2UIJDpC9`dsrC8kZ$q5U3&aMFgxBQGD?2hL)B-)0T%;eOm;3a>}| zq6iF)mfWfahn*5A-HRLBt&$}qTO2vYh207$hjZ6)Y zW#%5*KNu8sXrDEdD`vID5qv7tPpZ;v8HM3P`}|a>j1KL0f}J^s_DiTnaA;rO*Ry8A z8alMEzY2p^6Rdy)YR;|z)PI_>nG|Srg(?6|A>9PDOsV3a3Q#RlS3qFfI(TyXPU>pG zliM#N7Gi3JliSF;Zy@=DN{eM)m?W!;PHq=fOV~cS%>v&*iEiU`a(gWygfa`ga{@Y@ z^v^-=T@!yrakoss49TsVKA+s?GI`XQiB4`STXRotSHTNypFX+$aKI3Ka(iJA zy)Jb&i96{K_xjWvMl-jzj}I|{(|rzF^ua1)oZ57w18;1wIXpB65~fL9$K|FOo4E-z zG>PEhA()V!4_fAS#X*OMR3svrMD&r!vmk5&R8nsP`!<=f9iiDu5ohcUEFtXy?%`!I$Y7DDHP z(3sp0U<)_(3<_mG>CuS_DIT3HhIe#@9-Rcm-OlJPnM-N?$-JTSL0k+=a9O6>`xFD= zu7XnrTUERP#xd5^)BIv+NEn;B(A-BSkz6^CPEf9V1QIG|Iol*3orGvB*|KQ4)sn`K zPFPMiO~n^wUA~y421WMsTlB?Zas14h|2{>%Ial<$Q-Bv&v5W|+D;Xux&sf10tG zJCyq1FojU07q9_$D-If_l+)S(bLWa4rp|}3sgaU;H*<_HBD8xiBA8J(ehgE!s;J;F z^`4Pg#WFJ#9}QF2D>yhziE>bU-eHP~;LA5m!OGAurDbB}YcSWqm2+A%{YT>@}LesuRzx11oQR;<A~Pes|pUMEvOJF(-Gxm4pV$IoT6c{OmH|A<)HYy!zmNNmv1p29PtHLZ=uV?{YT$R_n0s05<(9o|k;FX5; z`c+{49IOU;^EVo)z0)==)hKh;mVKm>uFE!L+Q9UN~_cZQ4tLdRFsNS0AR zh^{+^0zfxs8^k9P%SzvODo>h8apqNV=~{Z&zT5reFrQo~#cv5B>$U?fv-7`1g_M3O z4jPm?^eBtzou&~bbNMVu|4f`)C@r$-ZUrk@R?8I;EB!<=;YA6pgqcKf!lKqM%+PHA3{q0g& z$XGPcrg7=|9$9*vQi_1OQ)&>^V`j^!{>L$lCn!c%V3d!IHzrB?3;+x@=u_j%NSAPe z4s>59HGbh3mhti5nS~`Y0~O1c7Rzb279%;qmNe)y;|JE7G6yS#Us(#zj-SdbqRc}S z%hwjmdA1g#yxNvD=!>FFxilJmS+tUxX!KQaR7y^0XGWv1mIp^d6>*KtZL0HHRh`_C z4E{Qax2p2`_`EArSY2k%oTXaGDl2d|#L;|&xq{DxX>N`VL%Xqn+|8DpWzrp%h=sm8 zntMSs_ha$Vx}#c37R66yG{?~d=4BNy?jr{On!=Aq2Qc^#as#={YRxX%zUXfz5-V~T zSgB!HmBWDg2&>tU!xieYe})+>_x}ph*iy?ehxRcsG+8Koqe2g;7QTUv7gm}8HB>|l zmzDud)fGta9^J6UKUVhre#z<4R5$PO7&MFMR_*w%Ume7#t8 zzt1gSyGiY5BAiBg&ji#7#UP1r8C$zcF>o<0%&?baKsAM)vX%C*X*?Y_ihEm%tswXb z;mHQN3%bF?;u!oE4V50@ z#NwGpRfLB++o6##Wtfu^d~>fMzTr;ecvIbgMmS&7=_mU61038k^OpUs@o|*%6SMpY z79;67^(eAZ(x9_WLq;>Vm@S;>NG_2*NoHNBl@p4w3g?or#Eny8rth7mP^P@o9ZaU; zX)Z7Grt<#)YYK3dQqFzNXggQoo1svHpRDlBfj2E5M&!5(f=vus+ZMO`ClP#2cF z(WbFnZmnkyfgN;}9_(aPnn%Cn~PxyE~|nSLT8_1Al%ugdV{ShepX|3)zT{f(2y`T zbD_D5>_{$-rP1{vmn#>`T)Lqxmo$h7%M5KLTNW+1TGEW1?x>l|RB*p9iaaVmJkXiw zJy+C*lb(p`ITo^+qrriY(IWc-1qT<|C`8K4W|>PBA1$&^Q*dyREy_Xhc^BDC1Yf>I zHmo%Lg&(bGnV4?B_99z1$>6?z6*V9CDrhtAsztQ&zwSl!!LkvWl2s=O?d$irmI7P( z98y!mU!*1y!b!gmGYtCM)U}LW9z?H8{Tju+KD9l~$(=NF>yd;X`$4a}23pFMOS+lJ zu;>TEU7pb25j&>CfJ>R2(-*R#X)8J^V>8bx^}&68gd+Vq8}O3ipdCdu#%KfVef`k#p0m6Lx0c^u-$E59?jcxy zAG&~CG|O*f-QmDxZoGpS=?W~rnZ5ukr%dWLNw=5Zn(q3nWcMprM{xNaWD>;*i?I9# zRT_xpH#3hlI4r+4PRQ!^M$7Ms#Az`|MOc2b&>6wyx5n8?C#S&b8TUw0r32{r(pwEoIZk73lQW#u*|JN#WiDC&Zzb!3Bd3D^9 zH0X<>O}R80eOa`UnrQS@aa4+v4uy7RG+HgcL)_Qc+@{{K{MPkuZULoOegkh+<@NE_ zb5&KkqTl_ZT1asDjpifF6?`U4b8~bU+Kuu2ayMIYmPvP5A{P4YXzm5k+>ga)>yBzE zSrosH(Hut;Ff6}0VBALx9?NgW--xIgJeJ>~KrXZTgo_p|`kRTwiW~-3Y8Y1KFqm#@ zxHjZ)ai=#7e})+>_x}ph*iy?eEWgp#tUZ+5zB8TVz{&nP|I(Q zznQbs@|#OF7+QX_{1Z3vt>9KU#DtdLx_oQ?Ps?xCRUvK+y!?jg+|xwUHO0{KJ4y#F zzcpI8W<+TDt!Y-VwEWg+Az}>ZlE6qO=gl%`;3}557OJ76FZ`OVr!fB-U zOhBDb43f**jjgo&W-*|d7G|L3H#4A`!iyeSej6H3)Qw_Verv^65NP?0nhmYIIcssz z@|(H1K^dL2{0=n>T7E|{((>D&%he2^T+Ju)EWcCKhQ#u_LPc0EznP+!-#gqDvHZ@E zSMl@?lv?wa;PQJHX4xGqO?A`roNh+aptDX7!)=z|tluoZk#(U~PBO6kW?X-R!}6QO zOy9%un^C5`(;ZBv;%T-nbD;7+y!>Y6h=w&HVEN7X{ZXhX10qw7O1S1zNubVFM%X%G>X8QMy=ELv{0q!~HgQ8V>aVDc=# zryu~Pn38&^4JUm&s%IrCCQ}0ry0HAdU%|oUHwuw5+o8P7!-|iV-!~~ZxcnC7p!mGY zZzh5--|`z)n*PGeZ!Htk?RO)V-_McN?o-fa+*QkO<$vAF@3&;EP06a0gqGinX#9&+ z?t|I03H=wT^@OJPU(uNi`rA~7_?&bqh+dbP$mkIF`qZ_CTaP5X{067n1X{|KOS+ka zm)~FrF2CPEa4NVVpe;;bW7CYyECCJJ;PM-Gr&n=MKTsUB{8okQ)o-5VHxC77`Tb4M zfa}=*G-ESsmHOcF8=**VU;}L;LN(fm1)A-g_Rz&ZAaiO)~7q}7|Ckir(8YL}7mXNE2&Y?xOa6xF>F^3RV+0Ir8 zaT$=VN|JpQ+V)mB_#hMsLO)5cd>)WI?QV1kj&UaWnvCZI=35VC`z2>H%M5s*sjpZb zv{?4HwU{^@U`rbGLCMdpG8-v{4_OL_BvbdmEK%lmisfO8bo166VP?<+ciEk)V{ivDO1CRAoq$WV zVwbjQV6$kMB2mLUID}$XZp*PJNX-4UY)5(rl6#%8?`Vl~F??9%__nT4IoTr9JHz#N znzS#fZZ9aH^Wp+JXBLpVx`5nmMdhXignYQOXlJGwJI&`>Rbwx|10Q9jt339qXgF%w zx+bGGs zlXESr-d0im-jeK<>}n)4Cp8gO=B^XBXSa$vAj);2U);gm{S;Lq=*Q zXql?Vq+Op`HTjEWmkTdkW;UicMV6u)f`t?pna~K~5W~(kLx|SWrg6z3hVFLBu*yZd zw0!JgYY5SL*)-N3V(4cxglNawGzeRTdSMznZU%h!1RCAB@qhU+Me`Qe{S55ROjO-u zy%qmEi?(@0*Ao|&+2wgzPq!CU=wW4k5i|+Ky>JiThwrXwRi`VhG2@;{UZd+ii_W1j z3iW=8`%;l8j6-A4uSzs`K7)SCLWg!q-1lu7uk4N7hmwZY8+te1U1rmQ@5Z~ISTwWA z<9=?T!)APK)7XsiOJ(%R)$mxZ#$fft*_|7&JOK4p`4z^&%BvPqTD}|Z6?By^MwYJ3 z2)g&+avzOn6xE#<&va2^0Zp0YQE|62UIkVhsdfj(9aAp{#^+(V`4E?gtOr!p&)36_-#$69h{CMraczYm7# zOW^mxo}?hS&mt1~o6U@RJrErFX7f9QNHgjEAgQrMS_zWwHTZonmVm7F`(SDgrCJ(o zpbX$ofFhpdsv^y2i}Uek1k#G1hF@T#klAV?i&bAKSBa)4Eo#D(~KS;M6XNrAn_dT^{J7JW^R3( z=Dj57b3&`WSIA?<;d z8L2pE4@VUixrY<=Mb17DHjyZ)x0rpaBDDK5EZ1Wl_Bl~$Y)o*UbFGp2on;0qKHBHx znui0yeNIshiqE^x$wctw+vkLp=C;iHoLa^jx%n$1u;AC?+}9*qW7=#2pk9-_3#tuT zy(W2Y5WOxnlEj^KhaM#^I$ASWW$iiVF>;}NLjJXz(3o;HwYcrvJ^cNhk-7K!i?+crm9z*!5;_- zy~h6tExp{YpoSM=nM37b4bNZHqyf)g(sF$edj1j=cYnh|E;C8-hMvE0F)YDlnVRiW z421h5VrZ~c#m{K04jesyfrf;!nG4N*{u0T>(<7tnLoQc7N8!>9ZMmfJbCeKmC0iCP zw_4JSoSuATDpX+dykqz_0$@xisfXHd(jTFEjzPs_-UA1kJ&jA4Ixrj@m!=w-SuC?! z@zJ=%Z3yzgaY>Ye;`5G6Oax!PaS2w2#w9Hi(|0=i`HQ+Y&^v~D!l}mc0`D056h-%Y zlxD)Ap3kWG)ct&BoU99Dnd&&!^BK2;*n(M#BKM>Xe!Vx-Rcyw)eQ7g(C{6NBwYdWl zMbDzzMgW~T0x4Z?uY{R4^hoGhcK1tESnMm*wnT4><$%QTq$Q`Ip$V+o1zNnuZL}U9 zEixiUpRNU3yu2sMBs1!-xE2Bg5;ixc|9C8!K1aCFb`;q+h|0Ct-^LmzkR?3{TvGzZ!Az3-tMlz^_I$#e#VIz-B7_ zYQ#>2aMFgxHz@wq2;fXZq+gA&SVLbN`?Ef#HBP!kP{e6)-%DsxA#_nRx_*NW+LloPYtNNHnWA|_I!^tm@oSULCSKSg^ z$NXx9TWbGmgxeqiJJN4Kgv;Z{t!`r)oEgWug1;K!x{An+D)W^z%`Hmk1%)20g5PBT ztNRJcioHz!WH4LDg*lTl7IUWaX|JB~!C#FCio5Mu#|82!Z}__mTntNaS$Y(sGb=#2 zUy>PSY->z)HlkU=-o4>b?L96*ie^fJAAc#}~;=w*5J zOedoN(4$tK+2Dv$Qm-354RX@sFiz})2Sb@L;GhdLJl+QZ9Gu~eF*0Ye%-KqYW_Y|e z1DW6qPn3h=^Um;?2)=wXJXmRszW6N&Eo1g!>=~Z*%NyoZ1~mf+cBQ?Bhqx z85n{Kok~R&o$6PG4|b}cxO*XKi)G$_UFrxeM7S81;Iiya1%!Ju95vXg;{7$&?o`l_ zFgA0cxt%JKE2mSTT-iCebW_gqVnO515u&YR%cA90OPY~0j~-PO1UuDY3YU95d^fF7 zbt=^?>+V!9%b@FxIla}2PG!Cz!H{Vc!@0I8X;M!&cEN z>K80pkcDgz4i&v7q(_JdtPK|m*>Xf{jY?wWmwYCopaIM7mJPt@Xj1vyw}T-ASrjZ- z70i5g$bxzVTL;!|!&cEN>IX$aMGLZ!4Z@+K*M#&45rMT~tLT;u3N~;-7P3J&)WAE0 z^av4wwc$dwRsICkR!fz{$|tJYQh;Umiuz!rAw%&Tu*9w{K^6rEVdgWnwI-xThzP6= zTSd2QP_Sr07P3J&RCI@s9w8#IHe4uVM&Rv}YB zz-}-)hUdYhcF0;b09n~>!^~$w)`1y~9%ZW$5gb<0E9w_4T9AdFARH=sO-PRr5m*~8 z6td-r)*6+>%AcDdZao^X?544iL#BDwycY}^$f97us$uZiAq(meY&48&aRFN*G&UA0 zT9AdF5F9L;2F!pSAtJCgTqtDai!qj|Bv!uNe?$~C5U?AJjwY37KCnYZ;}?;Y-8Rg8 zCS){f1@tIejfmi|ilzZ7AQCECkcFNg94eYdt$-dOBCs}GC}c;G1~;pcSox`{V=BP1 zn+7N@Pm#(8eHaWG$f97us$k}`Ll)E{*k~-%;sUmcrU9x@(Sj`W1mRH8G-?I(2oZs` z;n+wy&x>J(>kL!5eSbUJfPK-tv|D=JF?x+`bqZj`MBcAYQiMmsmaJNL1V#E+&UwL}DL zMDz+jAVSzLsm57c!fJ)jd^(K1j;*))6IAjwEk&3#z_LUJe?FLX_VVkUc^Ea$@UDUO zJEKf%M7sy3JXkUaq zPZsMw&?^YDt2vQSJt(69M8ewki}w0bG8XqQ+_B=~}w_Y7niy8BVe zjtBKU;E?q>yBb+QJ|KJ7*ZYeQ$N2|7LbUGm`l{b(6|o{)f}K5YM`VW(!D|g@KA>3( ziSIR{`aOXIg4b*jQMqUs;f(?TIPVw8o`NhOpOeyu2)E!t%1!}+v(o`F?kx~* zLKaXKR3B6yRBzY$lzj@+!vVbvXbzwyfS8IT%h2b*J%Dh5>N5mp4`NvsdjLivB0^FaYLEHloK;EN(K=8&brsM@=8R`h!Qe*-7 zoV^vYUjkP&o1h;60hdKm5~HCdrH-I&^S0NR@+G@INosx})&9=NGK9oK*6;f~5%vNB zkO#`%4;eSPO(XPe6qLj#`JPd{2QY5!P6|z1c?*U|o z?@C!_VH{^c@EQ8%9ildUkCIQojI8$`WHB)KKL7{F`yCJn-Wa-@dJX64lY1GC#(a-cqlN-1^)XZ%Kiktzdj}C z?Uj_oX%=0=P#0vkMHZ0HSxET10msnb<&>>J7LW&mzXB`+fdiCfzJop{+(_U6Ws!Kz zTT?Os$(ckLQ%wo3lkn>WC0I~=l5J_{g%keoGM652n5f zQ)R~-jS*6H(tW`(^I#H1;v?%F1suDZ7)lO4`yEkd#~rE;5CHjmI+R?5ETGZzztob)3f(Wq32jm0tI14ea8>sNgLufpN#s|)a&;FsHBBDO3lH=fWM7esoHYS1v zRpMU&=+87kEP;6W_mF1)IuM?u15BdU<{|qEWlL@($Q#j=JbDs1Kv~Xm@(ysj(^2p& z5`V~cq+l;f{I5aa>`#Cg#|g4oh8ofnqLOb=BoZH`d6P+thoj{lj!gSQ=-d-S-ritl z0umotpR%BX*|b4DfNb8W0rtbD-)9 zWErXj?gnHTdI{NkkOkzmD5dNZ$esiOZ1G`BmQ6bjWh|t``vfeUMdCHxg$O?Y2Pn%~ zPKs!9SF#2;Bz{w5Uu#5JBtA;>*0mt083o7h0xBS{7a%5Nb|Y$x5)X-gI0y{Afb7Ms zDH#JCvfkM(ks!;^p`_WHiYy?Xvp>KVBtDXpF$j8hgN1Sb-jxW8kY#94W6HjQ?2QC@ zeTpdiA+nbM`VXM_1aY77)**ZJ5u^{j#{=X8=QGsk8=|rTBv~ZhJFvb(8-m({%2^~H znEh^TiTZOpN(O<-*>Ne#9*OL^1Z9!3{4|hZxynDd`=GfnzXF>iZpKkfwPHk z31VD=sD2Y<0cAn;LG?lPhOMG(Cs6+ds0X080rdyOR3ur3h6DHcHzWqChb7<- zg1-xJKLH0Q%Y3uD60Y8NgaedC;yr&9S%7g|K)ZnoTnTn0OE5t$!K0}XJclX4W5*Ia zUhtU@KegL1MprWFje_8GTGRQg5p<8UAovUo*qe%fsV5~hU`E!P)r+#*g5@UQ0D1EP zf#5akP02!J8CpuR-pj}W@;N!MJK_FIA@f&(z}asAF|L%T{sv?LWkK~p^+EM+BlUiU zp3Rqh0B9FL&H50uJ0PYa$uiUzxV3wc7^vP;`x100aDaSHmUbDM8l13bIT963>6(f1-&$wlGnkEtT*c*%HkM-zY;h=-q(OY z@R}V=$#2Lqw3KAMdjF*?AfJIZ;4K+T2_bTS~OBFQo|8Mp<5NDNe;AuxLo%d%LbBPo08C`#@HGehqlP1(iB0`fTv zKL2gt7`g%3Pmu-Wf#A0T?nmGNWtng82*MT936>H-StMSXvR*kQt&t?rn42eBB-;QO zPh(DOJ3yEKCH7CI;!TmmmDnwb-%52tzYH8eyZmda+Y12}aq^)Ae(P#4W4l|^OWbpQ zBF8#vyV@lCQ~!73jcH?wf{?xm?(rX56?K0l~__vAG+ zVvvr6;jv0@pS+*=iJXiicSt@g$VHLlJ(3Frxj2&CG5M4r*NY@~Ng1n6&bCsGJ z-#fWhkQ+ymdn7jq^0txWp2@_|Tw_fl$-R=Lg1lWMxpy)n$W0^3eUiHfaypXSH@UkY zyOHF6$!>z2i6rln>?_D+k>twc{(`)HB)KYis34bHjtYh_(C$h*hPi=n~e~1Q09T0T63$1&Gym0>owX0K^6L2gIcv1c-|q4hZG? zu-<3u$1?QEM#TXiw?>w23+rWpcH)JejaoW&-95_JUvw%SG zmLYiuS%w}aS#Kq>fP79qJArVQP~!gv0%zmv31ZxBAZ&{)pe(39s6MFPuXGFYJA&Ho z7=rc&bSj`KKukrFWoQ_1m%?UHy<<-y=w#pk`J6Bn3OuOFvZ|q{Qud)UD7hBQ45g91 z3t2!uXTj$$29BYX$i9XwAP)rp6yQDu4p5f)R-Hz;AAtjuMN%^7OiKR!0?q9{rR0bm zy5jwl)Q-PU)1+&svazR}GLAt?nxE2=Zf|Z6B8tuN666i}B|{zs9^O|h!8W?#InVI$ z{<@)D9;68AQ&ILV71(&OKAy^o1&Q}$*cxGyz+TP*C_s=bf$M{$m=L%D94=eHQY_Fy zIlilpyEfmC`TZ?nn;{QoK~A7u>YU9wwGrmW<#s*H@N*E1rV)l>X}Tt_rZI+}H3@Id z3SmuJJ!?zL!>I!9rv^iF1r-BVX7Y|oTBP10hw)Ex@jC#BAOwP>AMtg!o})IppU zZBt7Ww!eOC(xQE;y~6IFs#M^Cso@GdI5kdzhoml1;GonT1rAO+JMIx@W|9P8)SUytL7#O(KDM zH6-EtQ_HF8x?v43MDniCURpPeR-Z8TJ90==BiD)d1Le8p6eUGLpE4T<4m4@%$LwcF zSO~0Q5)1VIlavd+`x96K1%hcW*2+~U>S=FLPpPwr4_DisJL6w!s>*lQ-Ff%pSx4KG zS;uW)@WxUqu;UDt8(7=RT(I!HOR|W&pT=^@R%F_qrd4ocCQ30;?<|HUG|}9(+Yez0 zzVWm7Vfwy?E=a=GX^aLYP*82Ke0R!UaIuEcvx*Ruva^wL&(ctmA++9nLd222q&4x3%wLEZ3fec|>LEX^$Wa4^P!4ThY3R8wc|nvf!V*t3)Al5h5eAIas-*5y3_{3Wz%5KRh%!gF zVjI0v2yK^eDJw)3$PymX2%+L!ZfY%Ag)r()u4W`LzA>~t8zO>sv!MyZRIP5JG_r%$ zGPwr`#tSV*fw`D5NTl*hG>b%Bp%GTw>~L^MuEWqU;?OYS@GxRn7;$76F(QmOI*d3b zjPSyU0SiT`Hc1K?U7b6QFG_W8$1}ry3Dafs z?I^ez?vyn6&M5lxY=nDtIJg!7$IiU`!k)V4YtPp86BxnbYd-GE9=a4 z2Px@d7q*uZtx%G>GB4&Q)}U7*nj$N=)QI-T)2bNB z(~EHffsx!sD=z2Bz99+hT%JsZu`~IOp|PU-3xPR2fs7>G$g})N(w#iZk0c#$f(g2` zc481~&8jNcCzt7#z!~`k#Hh!GTLRf&6OrYLxtZp*%e|W$s4iEKTA<6~>Q-wE;Q6hg z%rX=%-%#clN=W7wLkY>uGZbzUuu2*~T6ZCC0up%ChG1{G^436!zf+Hje4W%)a%}mitp$atIBH!m2&E2UtDl9ySwL$sy*GlUVpd z2=Azc_h#ih6J+QXW-|01#*7e?DEug<^W=j)V0l66X+)g{YPu)%LzQ5vHu9}POo;wz zXi^p3;fvrG69%prGl!{oLRX9$W-B=;+?a&mA)3V=(iUm##8~Q9G62`^d#3J_;GPHT z+xniF)bonr*wkAJJjU=2W^211dkxXJ(60U0k~()G)BbbD|AiZHofF$-fjg^S=!iaam zh!ety$zjCFVZ^Cn#OYzgGX^1IS{5DC_Y9wKYgrgEHH@e+2%)-7ShYY`gwUcY1+9IE zCYDe=JB880rdM={c5|4;V+%+!)E{d$iTI7@5X>QpO*#f6RNoesnIA?h2qVNcn58x5 z@HEE4G;`KcBea&PJ$DeEVL*_^eP{FvpD}S zK>QI#JgE`9QztEb++eNFwMt`U<)uu~Qg8@Q`q*eu;9+6J@GxSeMu@Ra$bGJ{QuDE4 z#MxoQC1J#iVZ_%4AwpW}XpCL>bc3~md9A@(LAgO=rJ*;65szqu7;J=tZyGEhDV)_< ziI@~dED0k{3?nWGBgTdiky*J_SiX$7B;=AOSCI_HV-Bs$xwfy*(72E4;{=QiY*d@i6wJ;Smy39;(;(? zJr5nMLuhrxU}9l*6n7!VGkV( z4c6)<|It`kRrO8Lu}PS?{6%N8oHv>#V&@}wGM&*n5=PhVpVfzOhX-+A^d{VxAZ`P2=Lc~+Lv}_Gw|zUp z-Jx*CvF645X=Kk0blc~$Y?v>!Xx?1scNf@9VH1O017pQq{fCNSxYO)f4zWFPwO zc!?`r+=T$vP5H{#i~&{Ew4 z;0(eUQ+aT2#E1n)DqO3 zkF%)W8bX$Iyx56V?@fvGlVVPnsjmp!8AmN~jr9_+kgD#s9|^Q1KJHh05Fie@R@X-$ zdMkqQ>Lk%;mUu)SsmP`|3{RNma8yDxho_Gv-pg`%pR}6J)3WI-2k#@fyzg4P?@8X* zQ7@}(UQsU(_2Fte2IRkU$uldM{4Z47PTS`+1m59`Rkww7Z$*ZKLit7QSh_#RBXh~q zIx_iOkk88{&)J*F=ODOqY;vsn0f^jh<3xdXUyK8()ptPTO`9C6z7H<^N8wBz9m4zN z)n7nktXz6%TzI02jaUMWJKN+~^$KY0s&GalKP-<`FNVk=iVTgh>f?YL9mHJ)+_^zq zci^rJ;%-H4-)iH;pmGVITtjyxZNs`ZqmP*!Uw%?7Mtw$VwBVK&m{BB;C~qTHOyyHb=Js=SzR&gucp`SEIvb7eR( zyE?Tzy{L6=AyP2P2wk&#tSHwyBEmsEs0?RU+0HRliPD9N*$7==b9O0UQvp4FaJ!dR zQs@!U84AKxT;C48-XgD{6I^ine^#&^R4%xX9x!Y~AULQU{&`T3wt~?F!RSD~Vd5o1 zG9KiJ2(;Ql5h$c*BO|~y(s>KnQ%KK7+JpY<>{Y-X?%*5QUH1B?H7mQeHE!L8o85G$ zO7?8$_8E@PUHMdrL3`%`^Jg+1D-F>EE&{p6x!>Z#QLtufi3Dzmd2r1cb6wuY40f_Il61DWDqr}NJN7n4`0U0c7}fY|*BW9- zI&*5x*o$2U%ic`H&49yFMoJLgd`9KO#x`oE)6S|`zIB#4LGRhpx(eYYk2J%tA?@C0Hcs#C2M zat19@hdr%ONj!AbQBvWND`+|2(e4$d6dH01>YNg|d$Wo6=G+FzeNzpUl(QP%;E0CD zjpd+!)>!PBFxSmNbu?h~r9kBr8ZytZl!?gY-Zyg;+O-`V4bP;q9i=nhXgCxG{@;#< z9jQn?T5jBE2$BEKMnlskk0Il&HhDxuo8-1M%&PvV!7!)lRa*)UhCI_5R-k?7%yNvL zL#)9NZ!9>_gPq+O&S|0HFhTc9YdE}C%+jl+0_VCJ&Rl|PoSa$uE2OgSS^D$DRrf6Y zMdGS^mi`iP)jdmpmADGe(s=;7&WvfBR7t_%kt^xC&6}nFO%-I-zzw1X?p8H0cZTz7 zbPaq;p4MFh9}!pGHL!xX>aKy0iL34!SV>%kYkFFEhP6f7BAw$9^0)!Yvjo3YD9Q{{>S09_wTr2{G79W7c7rk%KH4iY?0Z5fY9O+Jr)`^O&TG_BS7jV;i$)>}=BAGE9% z7NzK6WmFZc`Nsy^`*YY}a-=HWn2TsmpXc`{Z*!XMj0`uY&x5LYIQU}AIU!Z$bK~mg78^--!Y(%YGsv)Chz5fk=cu&;Mh8nxd`BYg-sBRkhA- z!#u*gkl&vIEo;2hve=&&BAj?}%Q+!c<#XcYE#t(?5l+0kMV#OXxl|S51cz{GekVYW zT%1pFx?1(kW7bk(@V>eA&E5UIf9#L_L*h6=C(5Xg z5jA4`*@FG{@BHTGjpGz29UkgQ4Nmrvv28694iq|n3txKWlKF=4r$x3l*$0xSwV^pQ zVndS`s)x{iPQLXp7$Wbz!OcuI2ZTV9@6JY;(>d?FJE#w3{JNjVu#HP;$5C zH}#QrBMMJwgUxIjXM^^ZM8ue5(@@4ZpHW~6#91(^=j`^=Azp?kc*|qAzoU8)-SY zN#jPa@p5+=DV>YblhakqBe`X=fsw_rmh|U9&u4_3;rz;^n!s6a-m2b#Sa8r=v_qWr z77&hm*Yas^k;j2=0pZNIfN<=a`ks9f7stVz9b_nQ6t~vlGt|M7d4{{~Rw#Mf+>(Rm z+j;W5AivAPF&uKQb>MQX6LL3rYW!KayFds9ytR*t@a;*RN5ZQyf}anK1f#bI>Z)^n zsBvt4eDhT!Vcq&p+9-W$OsZSoxQ)`MMu)ofP24Dbs-M=aZ^B0DQ->W2>U#wBac-2p zB)#pSETE^5h^hGThw6DC%&-ZgnoKRiGh7T#u_l)lfsNiM+n3ZYQhd*|0{r?>^}|&}cvlg| z(hGvvsEWmZfsU&kk@*!F($e`AV*Xn(*FOkG;wPu*b-;xnl@sQCaCRbq-;1Hw0Y|<_ z2>wB<>eKckroM^^R`3f+aXy?I`xl>^gZOLo=L{Q5j89Uq=(w7^5G*s`)_a*h5o^Zd zcErYR*Ly8>CdISH=>bROh0&1+qK6^=L_f%)gHzK{6Lc1Coh+O1bb5{+($eWUN~bxG zNCF>{`;aoV&T2-{`z4l6S!OL)ktlf%k;MtYTM4Rh#)a6a%4)f)>$abyU$LYI!GU+B zgQ!wb%nE|U5=G>{qWpAcffS7YD$GLLnBuILScHsTf{n%H`#z|1Ed9Dsm8c6){C`3k zbt<5N1Wj=oh57CjR5TC)wNM-vI`@pG+UADP^dWwU>Kf+(uJXC`8iF%!h-_156Ci$} z;~M8I1U43@U&wH-RPD?r_zs)IDLswu6_(s{IV){ zlEVqlMmG3&YDX5v50Ok>o+#~4QlkmOY{su$6Z~pz^?opFilW0PR?~22XE?t7aG|r) z-lRaNu3tQfJW}vbBE%-|lspk7yrMLi5?XT!%w5_#abRCZ^rzD1$&U2nB=j3-BTk) zxIg{YqcHao%k)Qz@#dhyGxLScvV3|3U&fNpSn`=-mgfpOn~ZmsD7#k>ApE<=d7Yc! zduW0`C^|R6$#**2)33KU^$xWfCYM-xmV;l1;UTDW9>cNf)zHw@=8av;s^Rvw1UbWw zBr2}^kGBUqyv2N-=4^IH0)ub>0XJ%#L1>inLZ5ARSK@M~`A}e|IS)u8Aw|DK^B2&| z1l2n4Qaar^U$QlohfL6^1lKjpbsMEM&e4(!g=Ofkv`D^}hdx^4?20xlFHA&AACWgc zbbuNs79uxzMh;czK{d{5OF5()jF4pXK3vnBqojt?YI*D!eMFdfD(kpGGJqXZ*wRm> z*SBfL1h%?FL_WBM#a*WbeoIdv%7jJ3@Fqlp6FL z$2lDO(VSz~I7jiw{TW8ify5OW;T-Yt0PdO>V6+~qc+6=1I7aK(giW=Pmk!>b7X6leR~wSf~%RrBUqw+ok`Gir@Lfm`nbR%-~t*- zP(*)L@7exe_h;|_vOixaqk_=UFQ3LreOWr1k_gYg2%6#CO6fFbgJdt=R)Q!0@Q1y1WFnRxnTXv$eY6Grx2E8w z++NobLle)wE1gK)#<~gpWqm{;7Ux^KnZ`Gz9_9?|dQ>8|Mo|*a z3@W7K3QNaTVIB0z0swaCC+<^k;mA_2#9(3{V^U3 z|G<|EUR6Z=qK^3OWF{_aNs?bEB7Ss>2e`zDB!57r`r8AEUQF$UH8)1X;orYy;W(|r z95f~-;_EZwmxs(fVhLBrK@g*>>Lj~);R^(&c_lJM_*6^)0TZS<%is=O#38yY%oWgD zf@++_k^xNEQzGL98BW(Yw}#2BB^d!jceTHKaHB1sZ%0gM$M%qb^6iS%IDc4WHz3vZ zu9ZF@q~zPCd@Ny_{#ZhRk0f9dGWd~%Y5F4x1wM{|J9WL>k0VUeyLvjN*xwRf%N;!o zD(b?#Lv!*dgX+QlpuBbjgQ`b-lSruIZzsg6|2&%7)9IsRdqP9Eep8t?FrJ{U9HHB0g7u3O_-fw%ZTbscSZ(UB0jNU8Xl4BkyHSImS}b(oPY60 zH7&%oydP{Kt_~w!a_}_;i{oVn?cGAWmq3rmdBXT5mz9J5O71}0AB*5uOuv@%xKUl>PB=dN3}ETz$LD?usJeKwTItOD_;(PoTTyvm zx^Gt=?@)eV85i|nA*bTZgN2-?rgWjH)jGK!C1G9mM@f{f;G5A!XaFD3o6)w{e0W0@ z@T>?&P9=X5-8VkXSNAJ7zwUM4SQ)N+en0gyE4*8vZ*XXo&T!u_yP^AS8>sx!IQ9=} z0w0p$mif3`RRqU|P#@>{;t;vqFVx3zLo0Anz^+ZOIz!?)#}|U5OH**|wh<-6!~!MT z4HbKRT4&Jjh!M+ftfKnVxd&D6q>i`ENoOtJt0;Q*V;O9gFfCMDK~Fixqc_6SI%1sT zsnWR_o~qFeo^tyeO`h@zk7@c|;9MGM`!xMcqD`qCrE5#te5tZIBJRT?Z4b7FO^v(K zxg~uVR=|fbTfqmVb4&U##`usk9)K3Qp9RM(z6VT}o))r-Yb$@>&1un-l~uvxczmao zQ<_2pA7(*$8@L&j+Y_60OP(EHONa;$XKw`$XDbhb?Vs-gS8qhy$(aV&qhZtyqocgF z6pGuXb}FT_P}S$mF>FI?0;g>GiFwCFEq^;Pv zIv4Qahs~|r2p^Qr&G5l~odE7SKTre3_Z&m@z&FO`8&MCN+Ln~gLO#^dmh9KKxE`8Q zJ>c7wAs@Ic?Ya>@Y-(FlIt%$wM_aOe;Ck3K+6S%&wIQ%2`?S(o$cH-WA*VmIiS7^V zL+_2~51ZPSl+MlYA?KFVJ9@xoA0}-DAC%55>BFP~KCImeJ}8}=;e$Ocai3lrJuY#d zZnqWsw9;9~hdTOnPJd`upg(lp3iY6L7V@EvKAqDaIu~e56`8i-wIABomB2jXC^KP>< zjek2yz%}{i^p{K53z=C*x6bJjmn$&zXgls8oqfW zirs{}D=)y5&O)KX$}sN+c8#+yk<~?8V=?FE_zZ_09$=@W%c`279wTd6V;L zrW|j|w}LlH=Vo|gzhTSXl#@51Pe?`do2FaA8>MqIys<3AvQty3kMP2 zq_=`MO6O*HW51lsTYqWt20u_Cyx~`PgWfP#vyJcu1J$OC&Prz?Z|WGG?QaP2%Ay&0 z!=K!t(^&YNro8wq7|;rSi<~{(VJmp5bZ&;H_WQ%^=?>%#zd%gK4zWEVFMdD<8h#=~ z)G5D59K1WSr@Ko}3t3fg`ZUeCTs_2Ax^Qq{hI0eZ!B)gGne`hH+fA6s@I7AXEaXKU zt;k-V;*f^3p5m8p-|W||;Dge+C4Klc+6SIZly8MKw$fS1hk~uCCh!R-usY=h_RXrc zLOm#*g?y-^E#)jIs;D01gFW>i(K#iu=UET-@;_#oFMAxiJGWJ(3rBK7eU9sT+(yKS zeae53Bxephj(oBfEy147rHD-LAm@}?@Utmnwun|7g(N0wRM%&~&jM7=ihdRat+Xo&KHWct-&{i1N zl+MlY!EVWX?;b?snry{6ZE25U3~P49@ep(lX^0qpcn~;8YA84a zF=yFEG}BG3Vx=<}`rvtsI;z-yY{j>hvgq3{52O7z!iP;AE|ktfKGZQ>*fqw}!~W4- zjeR(6%lg3ODV>FUsG}b2sXh;*r;!hGs-H7l^xF!tX1Y ztp|>o(pkudI@(gsr>}-mJ>d5pqo!HIwt^2z=a%$gShNp3E*-WN+LF>)$cH-mgWZ-; zWzJ#IZHay8z7>2>I=7Gy+#k9Z@S(?6@ImR^l0Ni^_F+5J(e)eQ19oK!+`sMVB#*61 z=N9sT?{U`~AMPb{)P-YZsa6I=4{RxcQD$VT&3I)n-tkBP|8z2Bb9Ss~_*l0akqVqvRTT5z1?D6}>*+dpad2 z*U)QG3^A_DOu`MHL9f&U@|kb~vVeR*-h(p;Vk-E&OF;$BYl>txvVeTf(x4gh=K;qM z5)WCQeySkmEt*XUTktwqko7sc99cj80`1keSHR_Zj+l z@4>Qa$nS6)X}SzhA3!q!4I;?nETAkPZ=p*3N5O)u&$x^4AnL2YF$Ag?C!CM04}$k4 zsK9y0-%iOd$O7^?TQrNZcicsUmX!E_eBivDKmg90dM70vkOky(w%HAY+Xpy6{#<0| z&Zp$|@2Ei>1p;UPqA#8JUFQ+Y9`{gkItZLSpIIQ=1xYQk47Hp~+3S&IXcV${BMZn| zjO-$0C)SO;9!`zZTAK#W7;dG`~w(QLv2%5s*I zU4iSofN)6s&dB;VQ5K00TfE*65_BiU)IS(hK;Dsnn2>#lsDml-koXfoU})QiDf`YN zluQ8*S?@(s|$K4{Sl=Bk`UCm9q`OvIJR%KD(K+tB~FE7UCO^ zw!aqH#{g{r^d+Fg)dVpWNfwC*oELwTsJnm)D9c$+x&ikta7g_A$lgn@lVy?kha$U> zpqm{GSFuS>zX}YSF}$UIMkGta=s-fLj*0R#Jw82Gq_2F^Zd;Nzb$@aPu|e8MXRKJg6$ zk9o(yC%tFjlb0EI?8gQ^WtD-)tugSaUm1A(cLqLfoq;F(Y~a&>Gw>OIPzO{U;LMm~ zaZZ{~O>wj&Qv_4~Eqy1IO2Jl3ym%)sp&1MeO;aQlRTJ0uOfN0EU$78|%z zJp*@6#k^L}(Gc6JmTr<`-zMl%K%87ThlWl-J|J%{vS9Hw)o=6`Wj}d`lEt7R>rGuk z*~ygk-v$nl_YoivylvhkDrK0D0d50>K;j9#laeG|$`_S1wrjS{~D2%PN>h;h?F*cVwqSx|jYeNeqMxIbn=%{)fXI6xx-oehYo zNU{vo0yhEHgX%K`W)EUn7W)K7_E}EJA}}*_%SV)b1zA8oXTj%x3>-rzzfak3kp<*| z;BNrS-@pONGT+z_3Af!`!U4)68T}mHwNJR5zQt7>^IoEo{jQ+@00>zRkO!Q1APB&v z_{(QB;O#Tb2YK`ns~n}np8&2Kz9;cXfaVe8^;}EY8e{=wIm^jSz?G~c91_3Ne~Gz_ z5`Q5GoP7=u<2XS!%g_oCUW0lhJ{NQpY4MQw8$e}#0_N@aGeN+4J_wve;=S|}5rFf~0|8mDEs|--0`fU~ z{TGD05ja5pj$cx?{8vigoA)>foQ1#slPLF|-za$p1kNr81Tp_1DEJy#hHeM$H)I+5 z6xn(=Q5KNb^DD}_$X)~jEbw7LmJM2nGD<|0LWV$TH-A zOWEGYK1Ps-2JRn->C=#gJr?c(*0U+?gOWO_JCR zfEb6wgM^+y80&w1fZ7DelSwKD~Uv5LV z%PH|s2Z6Ka17h4f5NeSHlm*oX)d$u41ODC(YR7s6Jp$+qKu-f=Dv~Ti?*cas7J%wA z1ZEFnSr!|!9c5oDqvUTeGt>duMz>NHkk480`MUzg(67jLMi!6GLoP=z3% zs9Y2fyMjEiixmsTh8+un4J(R@y&%XF%Txc~@9gfm=e7_C=vkq!Q;H&D$C#2}LEjj>(Jn1tEf4lu(p7FJ~bL#Cc`=;MR;uLQzTn*%G++#1V>4 zZiVEi{cyV(8ya3u5+u1E!$h=cd)%@La65|xNe(8&Y|$pXjbT!tNNXf7Vp5>PnY@xo zLf$+k7c#k)*{DI38kC4ajaWu0Zr+PzktA>4m4zUDKwNGIB-auW9B4 zX%{5lXYyJ?pA&kS&<})!%3BF<9&z4#RIT2vpb{#Pq}*B&cSkqic#9S=dHJqL@)kXW z$?E~-Ofnl=?vLI{KzipN1JQ-WxLtBA7)!}Ws6>)-n?PK@KEUx7ok`|$+@fr|*_GsWLnIu%odfe=AiiVBRlR%e(sl<8n2o3uupo{x~%B1%IagyZC zi;zH^_X-J2dY@9O_n9OVm0Op?fjjUF+{A%4kt#_#RrGz75nXmBZVm4Mfl2S3!*FZG zB%$bV2#6LiDbTx29>SzRjd~#2he?4>BQ$|H3Mdf)S_%ngp9R8rLS=wF-lCWCR&fN9 z^UntKGj86EWRWCq-bS+APaL5VNy_bc;-2Xb9Bcj7dUKNqz@~N_dO%=3PvxBp>sDyP8QtUS&5VZ)I|)?ttzi)P~SwgiZwHZA9S` zX1wLZNs<94`Vo^9P$E)z^N91-4~Br>NsXQZT-IHH1Shw~Ox}Jlvhfye!{nqQKzAPk zoIqWPW70bukk?^6ptZaSbPA~g-7yZ?4n{J14snFMk%UO_o}Y-@6ebBpMbvC22}KEc zN0J~^@_F}?N}PAw`M5pFB%!DzAD95>4dQ+x^xGudmQ2R&3*wk85tjdg>itHXB+2aU z!yJ+%!E1ImsKj~osA*d!2}LD&-x!GEEy|nMlT=BL9ShvaOcE+(J#1i#UH}q}5~X>( zabzOSJ8ueZ7c)sHDrUTzNkUOV-nYyvRPuQbkxHER0&3?y$0VVsB;RCm$}|u{xJ3y? ziSxcAfjDpARNQ`Nl2BBVxr>loe<27XaElU(66ducfjI9i=IzKNp{U%x9S&UObli$b zAQa_3x5rgr^vsKpJoXaY&LNdaZw7OWWs*>I&k?vyXHuYu*J~jHx zl}OIM2Dj@-Wzsw7S|raxGI|ejguF)yk>EW`sz{+cZzT!DdGjE}`-DkCQMoO<0=RQ= zi~dT2B*XUt65OREG-8ra38_(1qojJPFGaGD)P^$vbtiNxp(6=o+1cE33+!iNtUQjjUIjrk~`dv+e@S} z={?3|49Vz+#1ZnoAVh-K;|@?o3gvl!kwBccE2;VSAxS7Ix1()-yM(wV&jH6<^cp4yKZqo6QI_VlegV*4Ea+iU33*Qw62j3h zg4zK$kGJT1BnY&T$;HcX`<^%^y*nVv`-4e=rag~j-h)UIib`^K>cU%;H?JM3l3YjJ zflLbY)nX)%V)EdJ!1p2j^i*NK6HtFbM*;FeFXKkX^hOaUNxE%xDwC3pw-Vkw;-bgA z0s%R%;dU!oBw23}k`FQ23{VMg(dU>H!g4~ZN#M;}z~J#Iao2s1sPY{l;=EVR#qD<{ z2}QFO1Cr+v8W8G-^V{gogvMSDYR`=*gWt`KuK5|aDZrI-gtK9b2=8dJ6N)Y&(=M|B zok3hnLW2Mm@c=B!BbKNXnvD~&=pLj_BcDL+kn}necMWk&MmJL4%~bPt-sbW4Fsc8X z4d`h?C4{~O-vy3ypnJ_|JU#R-@bb;xW)GPklmLaQ>9^XuyHw;VN2d;TF9Ewv9p-Kr zAg6U=rpaHrA0p|rgB%ff0DzFU>1^zJo%bL4wV2zY{Qi58u75z`hH!Cz2(mu_a@H|m z8*bUgiJV0@aY*__2&rp^Sz3RoKuJC)x*6n)92nyiVZlC?O^PaK;nh*IGOj;fMDvY~);< zNsi`g7K!I?7RcW$BKa!{`$3IHkEoyqQZF`wh{(TQkyU&p{|0p;GT_HUPDA4mj2?l! z^#tN=@>!97r$AyqV3WkW6z+2(vWnTSXQ>k{&vXD2+$4naeuSSL7kQs~ z9s{PiXbyWN70^4N=Sh*Tz^QdUInv;tC^)(bjXwDg)fK8czXprY)!bA40tTJsPu2EO zn?008I8=|+ibv?hU67Wt4UNOXP!V$4q0c6FG?Akf%iKXEzt`q5 zG~$EHVYw%8b2=g^ZGSQV+la^Glqd*e)dVVjN$aGOQFe*V67Nzsgy~J#{{*StxvwL{ ze+x@hlml|+TK0zlSg98#!8&WjxdYIc&)W?AptfXaag_df9`6&7>djjL`GoFWQGeXMR$!^uY!&hsvi#ivIh}yh^$+CVGYQsNz5dK!{4VnE%lxMR zaz@$wR|WEvB*CaZFcrs_qJ3|%8T{zqqB0)pT0E)N!FSB?-QsDb51;Li9$m?R^`(^{ z!>&Z&UMB$mm&MD7iyuRJpWIEJFcl=X_!E8%X*q^!9UJcuI8?EayoU#Q10Q1_&m}es_cCq)gYy1B4&1Fd50z7JvDk`Jo%m z2Q_1JKy#e7!u~{neK)e-Xda9I90bk24p7V~Ph#|cS7)Kmc%Lx#PG+>fjdh04I9M2y ze_{etYF*&VO>NQoCnnezhCy3<@d3B|o6yHO*`!f!F~s~5Q&-L?wXA0W=}!JSpgGP5 zxW}9r?)H*)J=tXBEENL3H}rgq=hRXQbTG@(0`q-n7eFzmC+_yj2as<&HfNAAr+qSc zu6Z?sGf!5r4W=UYA|_vD!NqLg0D{P(!n`Y-Xh4)8+vb5Z!8ChAF&1klUfMz&XSqA%a zZO;Rt8CHq}>zaA#U2=y1t0z^sBIM*l`<@`BY<-cl~ZwRTpL!zYAaEXQ`?)OBQQ6u86g1tLoOwQk5-3f#G;{gM`t3 z&n#}pq{PR)1sw>O?UE7g1rc)&#Jt;HTva)HqdTn&G#!yeU*=xn?9I8cxdgcyFV)BV z5KIay;_MR)#c2xIw+02E@*!ux%@nZz78MZq@c-*Za8)l*Rr&IJK-P+y%1ZpY2S3a1 z)L6fm6MU&tn)`M9e4BhvAo1mV`J&!(QwRA(Vw#E8GDA3-?vKZs#nj1LyyBDJ7%P_{Mv!Tfq3BT8}BaQ!ZR(wv}8;C&X>XyZ2NC4428F7#x zVotw6A7V^&x|v#(_(6IoSptq^IjXW5E}7DpR%TLTCYCPFYdN>NQPcF~SbAe`kMg8(1Lds? z3?kB5Z2fYv>!QcMrhsD3?MaN7r)lylAZTb6pqO)Mprdf9R@Bxo-spFfJ2Xog>&~o3 z+g90S(pYz9+`8wYD)!=h&#|?=(68-mscoAiMhv66j=g-w6NNEYTY6{FYQvbOw)gHt zx73$>)rRe`gvdloh?n0{4NGjPms^=hULFWpmZK`~uCml^DJ$j#zgB3h;(x6$Gi`>S z&$$y8HeWYvvohZHtb%g~S090PCQ?=(-vm5ZkX(HvHW7Ug!nIFqwXtH(yns?Ns8gv^ zlaMlp3n~?u!v%x0Sm>6TE0q!*t<21RV>zlaMV0+F;5Rjv6>~;3XS?Z3wu^3oA50)J zkwz}Zrv-GlHLVo`-(|}D?YEt=-E1#HkRNka2AY&e@w4ExT#(w&Qk1_nu6%ILZ<;%C z&QD~@oL`W7&Y$8hH>Ry=n$I9*u5pULSecpq#d2&5f7u4IR+=_*Zp@nDTw)S1<4w*! z+*YSeX}*Ai%u8#wYB|WUI8U&bIN*(N5S4@!2eE~do17R*lLL`B!Gg5P)T|Ay%*<_Q zIkrU`ZUb2g$1J>@1!%*^jX9+a%QCd#ztftnT5VWi3S)uNh6~V!U6YW~hPH6anW+sI zrB$Y8ZD?g?ZbQpaRU5K?8JBl~E>UAyF(>#TFY)X}2z};5UYTh#{Cv(masIA2HnW#B z(IPa_kLjA|PU9a{G?9$=_tdWx&tKX+l9zK~a8oT=}&DIi|T|&W%Y(@t1D`!pWJ*U#?AC)0)K@D>JjdSdMMs zFWW%YjW`nL74tOmbWQ8e|1S0i#ZwmL3 z8OHl7(<)Q5HncJ`x1r_O7HzlT!WoEXf<*3S<)t#@^SXSa5j7)isf;BVk&je^G);xJTSkubPY)#9t zEv#8%S!vb;r)>wTSecovVmY>jRcb6NjaAOv4py-;Gh4-SRArUw#<3d9O0&W~6Fo1} z3Ohhc>3PR&2WwiHnXPF#s1b*#+ITgP&43+q@}Db`7e9v!zsovqBIItTX5EJqFMYHQ-u zSXSbiMvhWDA{J*_O9p6G2YRGzu`S&W*0eH{teK{NS18GEF;qEP zCh8~Fd1yOW$I9Hibu4G1b+({JGn{K}^s%yT_M^|;B*mW@H5z;~P88hAk*?|MoLC>(ig?e~Cyn#1u7)mEPNowd zm6T3mWv2TzY4P~yYF=o{35%7vd6%)Ai7vBs@gTjdE$BTlr!w$t4Br88tjy;@&|~;= zvZQIeC%1zgt<25a(Q+o*aSQ4mh#Xc{QsfA9nzyz?U9HTdx^7{qo9U`4V~8zvtL>Ji zi@z1`;`augiIdPkTBfI#2O6txeik@*JJ{dK%xr(lvDLN;v}KKDrLp_qxZQ*8EKzRK zcCeV0nb~5NqbiG48PEe3tFf#!yS$TNu}r(X0b0tlg_CeRw6)I`N^_jM9h$?+%-kH7 zqpIepGJph{qsFq*Y!jc0=E$^79H6BvOX(eBw?lJSnVFlza%_v{sIjb= zlk(u&SeUg&53Wtv4raA7Gn>_NYzwp2SXRtQd6sMf%vz&o$u8IqX0k-99#R`n8fm-+o3tE%*@SUIjU-o>c;XK%Sy9VJ`~N7 zX{$UyOL@F%D4JtS9lLkY0YEb z9G0(}IA0~dBmA}ORi(UK+{{gS-En6@r10(L^4;V#YxtIK{FRrP&cCsEOI$&x#P^v_ z6ItN}CWf1n!I+uwREL$3sE@pgSOZzXm8a}vSXpNEnX+eN=}FF*`U-b*v0k9YEdo~4 z_M_#hv4=Cmf0@;3fp4%ZK`xzNbcF3wl-$V_m84|Mxjx`;$Faj(PJXCI3%v)B{_?|P zfV5NS^h-$3aGq$!=0)Q?ZC=}dk%*WR{Mk_%QI;C|R{wtH6$x)Uv!z=sm7;>doJBd! z(wepkr_}D4Sb#i&(#%b5$sf{pqaUTarSzJ0nKp>mnLeD?t8g!+V)vo-(xTW%^Fi(30ZUZACx|dT$fvj+6io8@4m@jss$j6U9B| z3^zm=EyULtT5NP?I^%)V&O4Rl#7%j|;uh<`l@#q_&hmgPeomsrdT_n#%UYvleV@#= z0bIZMTz_k>dM1`ZOh{z?2V6~o)OxiPa^ir~46J?~*-@*AGWA4>G#+Vfl;V-W$R^*) zu$)ze1b##%VW#kW;OfSrZ6M2cFDr}grR#YbAnRzs;hbMQO7B8J zcNF8Lb;qEi3D;&FO}IAeXu_4=(NYHTztgu8eK&D%lhxGb3aDabmg44CRwh@s^dwh@OWA-Av&n}%o$3dERxMrN$KvI# zojGQqC4R%y_8}x@I#1$0$9Wm|#2JXJH{MS-14$V^J_c9HY$j#+_z+xG&QoMy_y}B8 z&QpZz6L3{MPmwrjZMM~ec$#?md-@?M;Gvddt4rOMvJyS%LAJfsZ}U?K@qx6n&=eo| zUztJ#`^_m^R@>_Io8SL`(QmAWYzq(mqoym`KyRqAti;}MC;h|9{6F6t_&Mk;sBOmH z5c5Y72n=1QrT!luO*m@$w%h7nfe|*Vg&u%uI$270FjJy>B*dJbu*YaGF5sLlhR*MO z$DDVP$ocKf*Jb&caGaOoquusm`{l1NpK9f|zGF^KGWlQjJFpT~C!0zxiDR{C4~1x5wXm zsra)Dn%=NWmj2HCI-mldR_}!hIenLc>Kx;)ujeLPx|ii75?XNVVsco+&?fao&zQAC6A>2!(?aOP;3g_iWhpQ z;=@8zbzyU3hf}|R9VYJ(DOd~aV-{O-oc&1sjp4y-P+G-B=YsyerT>;_y=%pKe}U?p z?dDIY;=}Z3yZqIkz?bUJmK8|?qUV*<=hM?y7agCFX0Fq4`3V$L$JRmnz3U4~FaV-TI0L7e>VK)Aj0HtAEGBJ@UGPLl_voQiB>p0-(}jEXak2JWpOPOEnP zw+%Hz(j@P)~fr4KFg(4Lz$mF&()!iF_l)B?p z!X&%iJ6`RQHRRp;c{s%GqpzMYo71;9a`2k9Pp~JQ2lK@HN%nj0G4PfI1P?_M5UhI4 zxdESZx7YIkvOhF#d@Bfgr}AF1#GJNhKYQ&=&W{WyJ#@NrU!Xsb9R5+~ehm2O&VK?_ zx_P)vQ~%cZm~&7-dQ(bYW2E;WA?BPLprf(lbo%vl=ePiw19bRPEuUS2*{25RqnZ6v zBc5GAvt9)#mRgMhGuT$A9{9D3Ksj8;gbPh}_7PpqM}Vd~4+j`Kka51IvVTo?ZVpgs zjqr<_dMEMIoz`$Idr55#nZ0GYlaoZXKdQh!7IVH1h-O~@M-|vVW6sDxW}bQYKdQif zgU>rAk^LW4V4sUQ-IB@nM-|v#%{AS*E1r<=$AoXvwPPoP{+l5$4dkX!o12{xx&KHZ z&y?<_i)et}GskI;d(2st#EEVV- zUm7|`0?jF-L1Jfo6NUMlNu3de2Ky}nR4DsfBQ%LM<^;z%2IuVG45y59p{xD)!l|dz z_m(zUp)1;lLf1RasX&AnSpq?5Fj7w66qPw@aNnPr+K9SfN&e^AFB9PixLx9lGXh5@_0}VryM>V#$Pd^b*%sDF{T|C|~ zv+rRb;Fldvj2E8Z@rQvBb3#dE-{Tty`SXBq=FYPozupjLIHwy4`JP!*mjaGT%H`1DfO9jQb4d zH^ZLa$gnlvVV zOkwLmh&lV5oRrtDgF1l_bN&eA7SVPclnwG6XIGm$-eJE)8SxI=Vu85Z4F8#r7XMEB ztViH!gGGjcN20pL>=O%rn{m^Zk<1dR`1o>km34cWk^VOT`e!REHjTb%HtPgC8bne&A%f7CB-9p@rhnFJ6sL}<+U zf|{Ev2misTZNa()Cdv#Kf$SHXiSl28>`j>c5|f=4(1IEPLIVe%#gSuV%URX4I9xon z$ka}W=LDj>mATd10f`2oX`G9L20=xF7Nbi$vw{pU=cy)fM}Ia*e+>j}l6QRQQy==l zhko-R*Po^}0)$@}IwLNc6RqrPP0^7vLBQ`~7{3K6R7U!BhTa2&8BR+>&i={FTiOY_ zzeU^7Sq20isyAo~WAMw~!St6?Ntoe`ve|Ys_(?$EgJ%}q&Y=cYnT19LhCX!X-S8I zslk46H`ng>{!u99RFK5|p5uC|;?g65E3-J+IH>51Nq{rS;$#^cua89AzBhroe^LQ4 zr$4avl1_fU8S`1dbm!P4a(IIdU{q+Z3^eqOpPl~E7fwfmX0NE3bsuVWe$x9-Kf7Z&d_%y1HPE<9n!if-#IWTga2NmKS zlMNDcmIao&eW=7Fqr{sa=zj1apx`5_Un4!+UwVc&>4H;NoU+zSSUFF3x^Tn9Tw>wh zb?(D}*HCXj)13y%e79+8bDwVy%TaMcPgL;E0@El-4WK>tRZ#z((f~IBYcDF3JW+wJbr>_U5 zcaxbazGHKa14%+eQggPGjMszuONyrWWk2BUl@B1>{=6H-CB_C$#KQZSX+vsk5b_qq zhJZP>l81H73Nh?Yn)RO~(>8vqlFJSFODEkV|d`_S!h%N02vD1TM_0Dg$ zBg>C?5jxU71kPbeMcm>z+}sLf&yDB>{KP0jQx?r465fiYH?i8h9 zyA^D~-WFh@^EiEDV9LeDYhpvhH>K`$Mf96##6N`_Kqo z&?B8tZGy`o^t^OJo$ODoa-SMGWk+U~vkG!%q?hxhmGh;Mvv;q|a#|jk6}mIMobRoi z?~R-;^j6mpiO$dQwk?Ddg5dc!-|0PC&H^+x7GP%<@SC1ie;B2(nl&o&KNKU+J* zKa1mXM?4OW=g~Dv7Ou>&4u>oMVM=U*RjXe1EhA8f6n!P?>zVS2r20Jw=IO26{%t#a)qH{?k%9N3(}#_PjP)dJ_4m_)jpSXoL|GCrmV48qV++)#X%Z{5i-=e$k=C}xFJ^-_|{w531DEm{$^xx`c6D3 zONu)Jm5T>FRx2LxayzQSpi9ijMvK|2IRFs!N`X!qbH0Ti+lxbJ-eWnMOa}+OPau2! zAf4`s=N^*DcE6mijSIgh65wF;%k5;!A3?$lXQH9|czUu{VU7>Y17!9b0L7daaJQET z{f`-G=)XGidt|}hU4WB$a(^+L^yI*9=RTn65*`I1<{XaJwil;B=qFn4(I9BXlL6tp zA(`<{vjf*j2r=h^WQISCq>Dk&GUoz{IRlay{o??7zGfUHEHP(6fK_VsUn7%Fu2~n8 zCFU#*aEhh=G@NvI&H0w*Tod4=Z|44GIO+JB^Jihf>4Gt8ZYWz5LOx49AKD4fbSGqd zmA0gRHT+cPXaT&2TKiCYK-#ojC0EQjLjE&vNP1DOlReWpMvzCzq5tjvHX4^RPT#9A zdiM{PCUlI8aI6>dTy(kkZsRV({Q|go<$)IONHf5Hmf&$a>N<9#koPrM>)nO%Ujp<~ z0GvO7lIY#&P;=^!NrcQCgd5Kq9Q+w{Y6GgU?FS&_^<9IY{fj$=q(c%&(IMXjXNc#Z zbf@nXV7Z}-nYp~ACkIp``z3#J@RAwu?&FMO6VLYom7zWo46~n&FkgH}9}*ry4*c@C zu>$hRZ!c#*k6$!r<#hXGQSF$s6aSe@;eYna#ywa+&^rd`}a#HSDz$fTA;y z_az{81y%~VIcqPM$7u9n<{ej?Z=npj4;t8Q@x~8`6R4+fo$@Ow*7A`NMs%f=9u$6O0*Zl zG}=&CUZL1+(0XT~4eYfC<+JrJkan9X_iLq*wx;#Qq5}461VCEvA|Q1IE*ElhR#`5O z6|T2GswGX)1As$rX^I;FB(@&8y<3^(Xf&E+IfJdY#AbQj&+?&ZJ#xoeuNY{ccEsX&Q1Pp3thYA(_v1 z!{5Lhb4EeBy%M_N3=(SIdOrkO&+mo}KVX#HRqpL@-?||B7oSHnm){NRV|}MvuPLBV zs5z@Fm&Xd%dkEE%rdS5RA-A+%8vu!|M{aLFpzE!L1j+Ip0Ov59*di|u`O5{Fbt6T30 zRKQ+->%9V`ZoRjJ+?-XG%VUM>jYPGiDW(H($Stk620&u#k=y&0S@y%KK(cfK;QVQ` zG(Os9`QEf1xszM(Y;c{D)Or+{ru9Z}@m^KyF`sR{(O||;&!R+oCA3}y#cqSvo0P8g z7D&4-lKYaaZoLVpfW7?Iy97wxdUJ%_oK=>~V}v(Rtv3**I(>INCMz^Psr4u@P3yJgmPu8u$9%T++Jkw9 za}P@7MsDwHW?2Ral4S(|=U+C<#eSCh*?QGM?uy%vMq^!V znRtLK+YjOU7F1zY{^Nd5Tl@|)7L#VD>Of;p{YZfhMv)9GY!prwxMT%Ipz#R z+4kZ-u;1VlK!`ba2gqD6X4f}MOzIqSW(LUI9uDtiPN-O8ZTFi1C7zFRes$?I!0;JBCB(DyLrgy&pd>@O~Pvzg{JV@@S#gbd}&mZgD_PW{4 z%)dk6P{l;@ULNEPyt%ZWRPBCH&p2Mruud(*|LM*Sz}Sn?A$%I2DWdArokIgOjwj() zw9Tny%-JJ}>c0cV%Eg=u17sHAzXL`MW6o*GWc%zRD?7&->yyPeR~?0_QQ^2f0;S>|mxIMomwf=zYD>yFAxnqR z#y!`9AQ3eI+?U%f-qY`MGx}&e>+Lj`S3Y3x=2vhF7ndlUcW&f$q%BOQbnsWqGkO24 ztCmC55ESl<6Bl6rkZkz{$`_FY$L&&>^&G^6>Ye-=R3sRE7!vCV#9PJ9n2b6v11G}y z3XTY`zppd1jnNPAZPaOsGeK&1&7M-H&%>wzG1@br3`76p+LFY*)8lCxaPH6Iq$knK#GuL9{W;##}h68DnrNY`} z-iVM#!*528MS!`=(W!SLG?Rwk7A_d=cv!&s%NCV$5}oRPRI_3STC*9_N!IiaE1p{k z23^bCKrM44zkq=E^PH(4gCPnDiLD-Y!l`U@?Suk~YK5`8xo&^8umlSEj2w}cKd#o6gC6yH42StM0m zXK8#g>^jBilSz&?V`gVD`6o*L#M<-;)TU3MHi@wAiTgS4u0~CMfHu;q@urwXYv18C zo;44yAF6nUY)wu{VVg;|P{l(Zg4`)cM!-2;0?xV*Ksr8wB*DKv9MLJY_z?hfC$7hX zBNsyDYTYYv^3*HoVqKf$0?) zcN`a<>D(<7t4DFiTTICeBfv0D7%tSLzmnFa6LW4#CeJl5vv9bgQf-#U zt%Ttzl&|m=*AHGxM9Rl;qmPoVFGBK@?pRs9W{N;{X3B`BRsIra4XyW~{{o6R`!klA zi*wG#hnhKdXApFj!vV#d{3J&Iz>3jNGqx7SjR=$WB2>S%k;wSTE9M**khKt){CA)& zW8h5ZJh_j-eU38)_ZdznldW-MBj(duD}R-75(e3s&ONwmF^>V#F7X1O8P1!yONJNC z`R9*5>+gVOIuQgHI2i*Tt~~o>-o-#@iF1WvXUnj&(fnwi;bdXheAQs?1x5;s8jZjF zmyA|V_|ldEn(4ePGJUQ7VG7NlO9l;$Nm1^Bs}nspf0-%wL=a{=XW>4_DI-%NFO8D_ z@)q#El8M)TtvC>op3dfEDS%j-9J8L4n5DzTGuaGzDG}vG6V|Q^gf)pGFTs)T^F!L> z64IhcOgo;%h~+a~C``c@8YyYVlflIIk+nOR7aC_ceT^^YFEg&l38Us2?L$)l&2%oq zeU5V-?lYWx+DRC7YjMdv{c>@Y?!o^*4Y>L8O}1JyBx%Qhr~>0lc3`L zGH6d+yZWI&0kH$Ztsc1+lE)ekY1p!&2z{=4Y>oYdiM$RtwZGclTQDu@>u zl1csWnQ@_f3Rkfg-ULP)E->MT%afjSG+ zS)k4Wbrz_zK%E8ZEKp~GIt$cUpw0qy7O1m8odxPFP-lTU3)ESl&H{B7sIx$w1?ntN zXMs8k)LEd;0(BOsvp}5%>MT%afjSG+S)k4Wbrz_zK%E8ZEKp~GIt$cUpw0qy7O1m8 zodxPFP-lTU3)ESl&H{B7sIx$w1?ntNXMs8k{2#DDk6|SvhnJPKZr8PQm(B+s*r|2Y z8#Sn;_3&Y>M|SGkrE8~-0}t4z^}r$Cu)(dz3>rDA4213l9SXX&Zg)<3`G`>m6&8A0 zLc!qS!v_x;G-~+hkpl-63>-eRuzdLNAp_6x%7zsV88T+*{v$>XKX=f;^48tE4eZvX zOXqIgyL3CS+ku^<2Y8(h=rZU)uS>_S(eB+#x^?Q-rF-{*T}$_A-OksgPoL9{)8&pD zGmM{e=Bxg^oCzo4H^Le^E$V0I%*OYH+5xw#P(qTD+w2U)D&I3v$~kcqgN1{bu~0)yjMUU`x4A%lbIzUk8!S7=*glBcH4Uyq8eGpbxPEDHLky1JCgH`pTwrjvF2r4# zhVKr80lYZ8opqC>znT(1#zv@;5w(l^-jXE z@7Q0m?L}SSGt1X+EbgiK^Ck+?tw#eXu^;l|f{I)4C zmixBBwIf2xjY_#kLOSUitDv)-CgvLw!E)LeoGpiZMFvNh7ysk?BXR}XsU!_u6zaM#lFZFAvZSbC2v2|k144|EmnB=#f**NMA@Lee$0 zy@TZ)-QXuDp}=;#rZ4a(7~pWo8b^V+8X=t`ljAmgUXR@2FOrq+fPDOWf&y?&v@()> zOr7Q=IN9Og{fQZHy^)wl*Ts~p`@s8GRnI@(Y`;oOfT_%$YMNs&&ceB|A{iu$9pyy;LnSiCC!0)G#J1( z-`R}8{5El7e(@pt*wGDEChGJLC%sN9A%k|abBw`|ok3=@-*yS77kM~!v~!H#wm`?n ztI%;z$ZTlFU-mK4F(C#3iEEE(q(#wn9LM>iK|cRM1x|gP!c#|K1yMNgoI%6Jm3hO) zV`0#9_}F1XhI=KW3I`7v#YILal_?Z5w8G=Of#;MB8+6RDl0hQ|;Wn(i@W|oAMwNTR z$_oaL7{NlSU@a&pJZ9LyA)`wM6?!8_dgDhGoKyWAWy8t`jT}0tq|7THv?cihg&u*0 z)hXjg460VSCyb5`DH~XL@;P3~ppkuGn9UY?nqHk%OS-i~K)dQ`He~ofZ%C>w`jkaS zdLzddn#E+{sFL#vhvDyljs=|xx^_9BTgT1^#+QSmWIb3oV&tIc=&~W@g(cp|v1P;d zAJ?sG|E`@2M~xpfa`^D_!qKBf7M7Xz8rZ&l;h2tvqsm8?!9~zTYN^1XgN6-ga#x3yiWX!&yV zoBrh^y|VIAwOFe5xBg?w292%7Qv3I>bw3|cHnesvTZU-r)vgP{tRse$mG_U1E-f7- zzFWN>7Ko8Y4j(#n_^?{-X=TGlm5wc`RqrbwIcQKV7C5@R49&95gKQPSWT-cy7VFo) zf9dF91Iw{->J9174b56Dd)Vk9Lq?Qut-I^F)v3dve64zYa2%|qA#I>8b6Yn~=CPh( zo}+#Lq29Rum{biO*1uej{Iyr(+L}&9F}f6%4j)-wRyy9y;%cX=dL*r#vJxh#wNoTK z2$S*JDa%xk{RCxh>wZ#2xMqpyMzv9*E~$3xIn*=L_F7!dc;)BRPUYw%!)vFgpkEHJ z6(<=#s*vjuuC!~R?UG_=?b(%eteq;_CLG8jYt5!(rMTLyp)Rx5syH-?&9QQ&d{o)E{2K?G6kLA>=ExjRwhmR~PKW8XwSH#)IutRzLP)kdv zA!Va#a|S$Wkd#*K{VH>K5ZJjo$vl_UM>hJ1O@=pW}@>r+>K@ z9kR{iNfoP<(Zhz1#8J(l60GNIb9*Vixm1fbj#t*WW-a*=I{Kh-0|$+e?hp#)qVwxZ zeGzi9vfbVC)B}0p_KrLLCwJ&HcPF)WT%~(}x-ok`;Em_!RJyIyrITm7h11<#K|bBx zMdkHVji$OS)w#2?9Cugs>V&CoD59>OJR9P6ji{UJ7rBiiv)x9Ko7~1Xxx0niH+Gvu zirn2IKPUWeg!FFj0#%G$(~zZ~n;*G?qTU|0!QDNg9;jdG?hI<9$jd0`aP?GqPHU29 zPhOVQ!gV81vM5rXa22GMk*op zuZpSeJ`pv|DR4VQmI3jnMqCKQZjmDBc0@$o5m}p+@9wBpXF)?4>(BD3AY`jcBIWLp z>dT3%+-|6F!-!fou_&T?7P(y`>h5fv=i{t?lIMoe&}Ishm`YI*^<`cuWHeHrk1dX< zD<>Aax$1jW4rr=d7*Xp~&W?~GLN`q;b$h6bRV5I`YA#rhjHvahz!v%f3oR~kdqmWa zs$7_^08_7s`dQ6)4~q0tmrb0{qKl{ib1`^#P;eg< z&`A9mDt342h<2!S8_iZ9P0A^-LaD$(Y9VAC9x>{#hWd^>5J+T-P!KfyJ4>?AI$15$ z8|6iAgJ}_U>*V=CLEY3m2s#vb#92QVLH&WGpmO!WBtt;`Q9?I$N09qH!+nS5MyFaa z$yYN6ezR#*ky~Hsyaz?pePh_qx~iYE{C0!Tw#2(FRDHA%dhQc(^R1!;y4C>^^+H(Z z{W2kMOZ5cv>h31B{t8`}U07=E=BwM!FG4&jck_$X%5kM=bhS9U)NKy;&UX)qsMV9! zx&?@HU5ed9O5K8Dw~KU}Uz!wwwJ2*xw;7_-$kMDL*F{^Q|IHm!>K+|Yx4A_SzAS4I zSaK1Eis1raz0@fVva(g+7;C~g1yZ*KaK9Ev!cnHedj@MCoUPmI6||GlTr5Ysnff0S zQJ;kwZ5WQ=-!m!-+y=)&88oKjc8RFlo%!%<=v?XM7O3|T{NMn0II|J*mbv&L>GzPK zLqy%>tYrsXRk6(71Bv-=qat+pLU(@zi^GcD_NMVZ&MSbk(~TfncZqRo|3z*Idc->w zX?w&;2!u{4d}a{>#XJ^KjBckEA(XU*@NQ6zJ&bPY`flm>sKictoO&iSH3FT{vJpJA z-A`<{IPMp-1Ag(k@r%_-e(^$*Uwm8*zbM!ieo>m>7gMY9i&f!rsoGtrn%L&<>>S?* z(6BAl>+xDh|6H6)&Rq4@1Pms(j4wyasnxJ=XABq%#}{C{T`jQ~c6)q+4o6>CFbhVK zWonTfNj3(DFNp`zUs&Soq~UA58NMFn@U>Kiuca8img?c_xxnzX5YF90eHhlm*V7Y= zSm+D!;cI<-_Tdp`kQDoe7#~aKQfUs z8&v#8_#6YtTB$g^{^NMXKMqzr9w=DxE0ZezgQ@s(R{Soh_$pNVE?x2W)do0oDLdn3 zllo!oTW{)pC#r-pKaAJ=LsM^ztnZn6-vOqMXgQ<$Lev|{kK*`Sy~+WcxtM;&lb^d<}o7KakHB`xF5QZ8GkmoG7g$Z+)%A9NBF!xKKwB3 zHBooVc-K@NCb`rSR}XaYQ46tlG6o^4fE+4j_*aBD)^}CQ-1zj1)2zo>%2SgUS+$u* zkEu;nOFe{q<6>Nnj}Z;k3(WK2WWTD+^M|RZE$6+2avG|8n5S5*U{#w259+FJ(qpNq z_6`bIvDnIxj(hjOuN?OTwQ4kL46{^}Vk+qeRhB(h1kFkk1gsInv1>;)PaL$1`bp+2 zC#hdT6xaySU*>iRsx1_Wf4e%T9vgR1z=}kKW(s`D2;3k7k5_Nu4FYO7onEqNa!^Gy z++q>A&W%rPSU9jEaw+ms=4E+$VztpIITZtB3*bMkpwo3zABH6Kshm};|^-8D+ z`kAa>C1g!?L!I>p$vRwpBBh!^bX8K;ByZF?p)YE;IH7h2s83M4lOnC5eWQr_paMpD zibl~D^|eLD2V{<CHJ){3*GewZ{BV)9byb}w@G7B`NlKXVhOL|9rPY#OU^YFwixJ?rkC)W^ECfBd&34e2V02269XFR=l3l8uywR(kGlDU8`qE-$dri4Cxw~A$=n= zq_$WHoL@>OT#E`Ft8NSzaAPH+e#=?rwug5##>kFUV3RVp(SB~@d)!9hkvq9fj&&P9 z?&fbq(QVZiqjQQWU>yV;uI5+)7v@$%0Jl>%Ctw-{bdc?dH!5bk{nUNfj0mYWFg-6L ztQGna@(zYV$I6bz9L%yCk8qou=Qi3mMJ?{am6Nqecx+?0 z(Og@JD|~J==L`i^c8L_AX&0LRswLflnDOSnI!~f2oBznE$=v5z?uC}SRXJlZxmzqs zk*NmHH`I$QS1uQjd_g-@w-#$q3tj4X^Zy^oWqY=4zg1eTGn)$+W;FJzfWA|Vzcj3 zh46|@nWZ!9(yOWl2n-2DpNgJ)yS&gH;Z&Q4mY`zI80 zIj(jqf=A@5CtdXKM}`$(d8uB-GIoD>&aVBq8jq;Q#J_+D-5r^4}}5yRcHhBDNuK2&Bu(o zSV%ujsAQzxgzlRgF}pukVCEB6>oEYfKN?s>3Uw(K#Ug=K*jato5b^i0a5jz6B4~_T zvmMvX+mO{n&78m~e72erMz^l-wozYHtb$G)c_3&lq+;B}T0o}!Fz+qnO2O8Xo1sN+ zcNvTk*`IO|$H3bzatJmlO4(-5VzOA@JxpCXA-tCZY5S>7E(wA~b4`$iD6u*7#R%B% zKtTJlf)kJ?s&%pJ9*b-{s4f_~)lcV7#r&bj&Bb<4M4b(d-kDe&&Pl1*6{y%Ac~00# zp$oC>d}OHK8Pro*#OVGVgRTVs#evZbwqV!fNZL69>)#z*3w)U|3A*= zjxs!Nw(D{((G+{)<2I1)HZ6BsmsjUbJ8DUE8*Q;oVzHf7O@E(W< zKr9CW3e9kHN)ZDdnT+^C^wI=$PlJ8X$MysB$r#bdyD$MeA_s8=*y%pD9J~X=d+PG$ z!iKs$OtOBN05r;;8g7tMsmt7WrP%#ZskyGM)DJqjz%`Xxqto}ewo-2afkLK6q*6<4 zrCv-x4=|OQ?_*i1;igiv60j$kN-grStW+;ssmE~Gqsv33{u<9pO^u|h)J2iFH*Fd} zl^ZyhMK-{T3e?ZzXES*@`U8_2Fth3vQCOpzhVO}ZJASQ6fbpC0%hWZX;;>@WD(gV` z1=u0tfspaD`US`}0annSbc73)tta&e@10`w>jV0IruDno==ZVKZ=um|wbt*JjQYI| z{T6L&{q76sw_NM@sL}6bt=|%(-!iS=V;S{(8u~r6t@V4;VJvBku?oA_?EUD-cj6oj zQSpi}ddV5w}CH2O2c_<1r;2guFi81oLlFqx5rju2GBVh#-c|aMSuV$;MaxRI3uW|0Kqj4z7fb!9J^y~<>O{Th? z)E`;PfW83%X(u%Z6H=8|?6!>IymA^e=3!%_$m9BavK^0-iZNk--2A^u{^R_TlM=Of zB8U7&YPkZ>KZUew1e14&$dBMd0Gz%o)8~~_WqgBRWE`iym?Vcb-PJ{tR>3Ygt${6z zs6WDs+zD7XWb+8}!tnfXeV8R^l-UTxJLQG<+66<#Z1wfTMKtPl=x6GyiIo6gPCy%& zo%@?DRGWTKGm1cqjZ4mu-p>y2jeoa~L-)X3Vg)uBb7k!nQV&ezmQgNnivZ^o0pM8u z2Bfq^GzOcxc4DdeTCKu=AdvlIZp_;JH=F#}2vs*DKc%B$+yS|7QVv(y1?tT(P6J?2 z9Dy|A0Ex}QdvW-qNwj+kl4rcd?!J*@P>vx&+EkN8Q*%MxWr5r9SXkYx(BD^jw@Gh8 z$+jTQGLWl<`Wkzv`8a318~U34@c3d62eb&~dRK{?{nTFXMjoZ!3v&~qp_)CZSfBf~ zQa^^LqRgp~#pN^Xu?Pb?=A!!ogvpG;|DME6<3>1=fhYbOr>DZo(z~dCPs*`Gbd^!m z2<~Ke%dt;~0za2s!d&%VQJ{;uX3`>&_ib1TP*-EwO8N0LXXa_s?!E`d4SCHZnNpJx zWe<|FpYzL>Qy^0|Jo(DWGH73#HQQ}A4t~KYT1fqTK8tRqF3Xwwg?X_^rf!6jm1d)#daRl*oM>OptEL3O|UMiR_xt z9>{pH^7otr`!8tIMcMjfV|5mVby2_IJhGu0T8=d;&#`cXFU2my3`w?}OsUAZ@O-^d zZ*%HKZwGg0qj$y0Aa@_?n+;bwNjm-m)Wzm}?ZWJ-+&`fjQl!?)Y#0GqMUn5DBHs>M zH;`SXsxlR*@8ECyMJmAr6aIOAG5q+&h|Z5HnR?3JJkIphJ^D;Huz|%+*q+C^x=ZaB z8O-w3qOjiSs#*r}?x$vsFG4?^t-ixLsQQ)u2`$uBJs9!#cBI&N7YwNWQ#ni9xL zH$%JwW2fw?2^_BGV+*5_tE^Wec$TXJ<~}HCO{f~p1~<|ndIk>7jDqpguFQ^-E}vg9 z2x3^ZV{f42Z$ZDaVfzJfs3X)j#-ZZX-v@K035?zK)pa-y;yAfhjMh~>g$H)5nI)us zVXXNpmT|CVSM|KHW|a{oT`l9*$z08ppp}_*y+oo1;{7o3om0Q6lv0A;rR20KH!XtF=PSEqri&R1m< z!mjshCaOr)ZG9dy_1PG&PnGh~812*(3L)=Bc!BBCx+_|DFawG|9|)A!OdXD8)M#vU zPIbHRxu?OH36!eC{RwupXFtU=Eg|Cdhml<4Opo=6vICO!4V> z@0`B@JIQz^6i;r-#xkB-It2E5DiU<4E^58F+l8(3ZOFzomZCV{Ed-Q!oOcd#5qS6UU1q7c~< zn|ySX4r*SQn_znP3(rc)E`>>Bm*N2IQj|j;*UU$_2jo0w;2uzNRVc@=4qGzq5MT!u zY{*@M=kjQsoA69YKD*_{cr7=Z|0Eo0nf$ld{6B6%{_fm+WBHBLoi_j1Taf=`O#V&& zdu{&Dwjlq3SgsiTD{;z`+{&A+|A`TGmC4U1j3oc6c=xjtdj!(p_{*^Pvp89Ib(7*! zWk>Zi)R(BZvRc^@x!^CS``MqD?AW)!LAX5yq4%Rh*i(?Vv!}WZ?!kUQrF-CPte1Yq zfe7|k)Lr9pb`0;9w14mkHo$kx%ee;*R-|qk$IVrFAcIFAcR7`EjkOWhsu^fvc+pB`OGZmjR*nN8t$8>>4e(YdFhBjUlqYsYbK5UYxB zxfr?{3Sr%-)@LKi%)$l)hgv@Oki*sNPHGc&jqyOR+r891vQk|zP8KhubA7xM)-*x# z?_=>0dPL2`z5+MyuSU?)2N&3K)+ZNO@coM5hf^|a3E{y?tW4I7WekCH-k2TkfWr^0 zIP)X-LhCZl0}fQzInZp)SPpo|jiXZY&?bc-jmN6EcfTj1TPFm8kopAja5{m9r|?{R zD{T7ggf)K=^F9F6b^)SyL_LScheweBb_txW71K_)~OWi>$6)hjy`MEdnpcMfC)5Wb%Z!&RQe zgBI{XtX~ihcb^8Rz}+3k83k~rocpjfT;v{A>Yh;P4wy}|VYHC5$X(S(Vc7Qlv@N(h zH_G_x0d~IH<3O$(YLh7B-$uwM6tXIlkQ?C!+>%N!W4@8`8D+dR78{^=AUP)oe)Yy! z9+;@Na#y*-q5pu$foPc>)#I|K!>70VNn4>ue2g`?-VKrUx_$;Y#w$i_o~ z=xzI#x^2xwe0_!H$EYn~iv5cndS?uw2xWVr=uV|>qe}JL7@lckthzhfA6R4y1}G>a z%B5)HU?=@D{b0OWfa5^DCP`A4j=Y>t#;6Y)uw#u-UzGFNCM=jTXE_F0_{=k9sVhvr z`$o@pJ8@sCA;KN^30{cLcmuj_so@IMBaA_>jrBte=e9dzk2GkYXU0}(prk_G9ice~ zdDCVN_L*Nm^B__`DPcz}?Jv;-+9w$i%QO8DOu6zOg5fSX5Boyuwn@@542#R4^G@nX z9J(`VcEkx{rK%hgcwmZ8P(BTE8|3U@redE@itlyGFv5rD55r@-cr2o+RqAv75Ky8c z{vuC^byBbB-MvTgpiU?Ca_(BT4g&F5tdR8V-`|?E;!?e-syf0>Z)Eu!UjZ3O29KMX zPMD^96yh0twDO9v{sxH*7P5$j!Q|mQ@pX0>ZtO`9g70(MtJ98qoO*N;j~64zQpBzr=%o>|X&7t(J*6$9sBA zIYcZ{OECD0jpEOj2ih;y&odc`LZ-!^_OhnRXb~ca9tn*q}D=w$VTmy)+|;laddek zwsuiXJaCWKIyg8u986xsNyON`czz++iVX&%N&dnsX}iG7L+S=JHXL##PAc?sR;nqV zlM>{4KJG9+X(hN5eQ0@Tkw+~{4aQGqe*7;9nslDXQ8x(StRcwG@ z*yzj;e}V$~(JQHPJ6~JB!1Ii@A7cUz<}0yz!s>?9_Zo4XL4bxAvNQ?2C<610TXHaM z!84Cw|462YGR@^QHdo!i=kz}sYYsB*&i2D`pr-^}1iI=)1%3Rodip>Liwtb!$i!!b ziCSwMyI5!Sbe1Cb7!{}6!8#bX0tLk<7krACrOm1r@I{TR4`h){RG%HMqvaZTa)vQg zm&-*q%YDPwO9mv+GnDIVn^ZwI7S2Gi?lEz9GlmlVQ8FfvP>sT#lDUMaW0CcNOx8bc zH*CnNxtPCE|NGFEjL>VG&FH_4%Du*vd-oQVE3=J^?IjkR9^azc%%CbQ!38LdH`BNp z($>{p_nS0sGP)YG&}4DCf0mQpr{k{1cK}%0bTm~DnLBwM`MR8d^^A+iDUt9PhtcKfC^h&X|h~|!} zo?mMxs)ql5XUuSwZwB};kre%I+zeYG`fDTl+MsA6DH;=LG+}3ToA!}eSiNHh;;US2 zzHkfT;8M32zn5?w9^1k;&$qeD;74N?@xWUuJ z4FF2sI*bn=i;qxteFZoxb3F8yYkJAW09L{@~^NZ zhk4-jd6?OKIU1jbxL#gIgRD7|5*Nd5@f=p7p3sryBxza7U4)EUq8bu!Sb1(-v`{zV zC1!qp;LuXHH{Y_EM&m)V51?7Tx-Cz`e3$$-ykh*xJ#1aqv_k88^>&WY(A&)P}q4d?8k@sl0XrjdgSLJ)Ra5~UMhN*{xCw) zY}>RE7bkf35wi&Hr+qeNwtk3hFLfP06M%=<;1|9;-L9A5Wuv6_Gif^mWV`R9euGT< z!Noj3Pg7Cg;NbUR$;d76U^kqfsgkhotEl8&e5B8W=mklg31&j)M6KfwGvUO7k6bzK z8Q5XRi#eyF*<^R)1MF7Gr#kjhw@7V8Vc6M`eKGM+#u#}*??3q9h~NI)W4jRJv)N-i z*et{UtMsA8MMA=fV5xgBUhs}A2tw$jpCRsC?r-2>oHQoEnb`b1*$TtE zx4$*mGHbAX)FUuhBZYANG)+784YnUp|I48s zT;zJZzCs6`gYyC#i0IsS2^^mx0pWQpUQ!5iAgPO5EY&h|qdAk}Qx`KXBi60PtF8Q+ z$#s+EA@z+|^LIl#N)*Hga?}HOIbKJoz(;h1j*sYozQoY|@8^^!1}7fBnc&n9_F63O z+6w|-&H>`yIARPRt?U;Mmf=JAeHimWAMA4C^?DAZ_;vt4BOsCJeFa+ABdjSZLv z`o4~Ekm&0~1bvpe^}xf`sAylB_846 z_U~+Y*d4ej<2ajufaNM@RjLGe5iaTuftdc+8g=<184G#*1hJ>JdJ?~2|zdR59}5+9>J zZSukec=TZbMATDjP@DZDU%0#Hw4vO2kcPJTnhk#K=t{h=fl1jDc!QHWyo(TMn{>c) zqLuDG7(e*V<_S=$z->{0@7@&f0n+t(^O2{QTA_FK)tguZa02}aCeZjwmfM(bSMWi7 zSTfR!C0;ce$1|9S=h63y)Ghd!0%r;zVT=A>kyUCYv}^z>x149fcQ{7zau4F zZ0h~rJPZp+Ux?Sj!~65Kn}inu->c`~!+(&l@4Mu>t-KPeu@CAM1L9}a@CiRGn(+0$ z(fE3wydATdulMn77#{bZPHAtCs!V(vW)8gLF1(qB_gnMv(UnTg%#j2${5x?VOt;B) z`|v5Oa;y&d0L5Up_v^6TYPZroMBN6vv$(wJmPu)Am;S<=Y$uGg(50uv z-gi)8uDxw*=eD_Zj`{lP96OD@gR44>YiAl<7kk67PUaSC_Nw5R;Oy(n9@w`t%sgyw z|Kk7l@);0(&0aQ>y>Q}q2`NrO@HYBpRU=B z3C5b%bdIgJ?XYh;JK5&^b*KwSWH;Lv(=?fK)A_0A=O)OWZ`d@|daFMBh=XOye zO|R*Wq2o;RSL~W*{^rrp>*h+3cK!iY8 zsHDiq38s>rgU6VgV45!KeivoC+oIWKt&(h4s1Z?StyO>RGPAWbUrd;TD{~ot$DGK6 z&b4dx;Gac|inpMVe_Tt0eO|$G3yu-Xtz&tmrfAbC{9qpFF_V>8V`@tF4jQAl=h3v|`>~WKOGi zR{%Z~ZT9Scm{QlaORG;ztLwE}ti(StpQq!^#$Zgl>d@z@#jC5$t4Etp+kkdOVP5?- zx=qA><|4!3Ycr}%9lr^f&(nQoxx|Fs~kIDma9zgBE}Lt9kV(^Xjm$ukJLj4l=Ly5ButF^J64`)M#8 zPTHI8U`h1gFz@=e`OD+*mw)0fpTl2%>iuPEa87i%dA!&BrCH48Jxn9JWs2PhJGYex z?U9++%vq@a{cR*{>V6*Bt%5k}PZGCrTdi)yA-?1_n3VR69(n(y*yYO{!D8W-%yO<28#h z!PQ}##e5Taycan%_?#CxG5BeRaEtjK6FJsIn#0lH(y8N2*Fk#&6?4L()*MTi(==uh zCwZ&+Fmrf;`CGdbPBh!oe&If^WhNlS1lSv{4hk1=p9$z{u5mY;kl>bUW(Uj74ZX|` zMCY8g!B(rnC-H6_jx{G}OzhL98TD&-R+z|Y6FI0uoVm4%>Cm|>O!Il(1dK2NqfNas z2HUSoKA3WeSx+vs$4#$9H=5&5vk+>+E`*v^fBU}q+d*a{Y5w-LXw&WX6Z5w(g#FtW zTK?@Y6Knpqzqt>$Ip6fL`Lh?p{@F|B&qAMw(#Uc46A`R8u}i|nE-|t8V>>8pyZ*?$ z+NDExv%b;;md|`&*??EPJH)hD`E2z4n?~PPe)fIk7w?teL2bg+?vDMPdhh4%64kV8 z6VV~^gbu-{%~@O9cm0j4?M-)PM|3ee)WPG&nT_!N!TY1_Idi+yS9*=Pti>FLdpA_D z``5vDO>eut<~0*NV4V4@SabT`-gGF<{ACZb%{Cuhvj#D#&2jTnri0ji=5D-8_p3Iy zK)=DB&NjP>_Q>Hi(*?sjTs$_-G1Ameyk*>X+lleS#N(}DzwoMg_Ro@U;D+5hP6tKGNv4!r+A-@bKwwQqk+hhS{AS!0>5Hr^egF5CIPsYZ*r zF#CTn7tG9l<(f;{Mzs38VOE&iwsi_l{C_hm%#!G9-~RmnXKz2izJ1RBo41ec5FBFO z-fVd8zGhr-XQzes6LGfvK>W{IWX}JlMcNPE&Q7K=+t8ku2t6U?_n zPukrCbGFSE6M_}j<(SW6r{E*z0IbXK|8YGR{%`7OKe%3#MJ-$0>8!;K!8*C?t5@1O zYqGZPE1w7KDL}LG4(FO`LZH(r4yO;}K?Mk<~7^ z(tPJ1W3C6Y2fRgg%hB=*B>T-$k=Y;=n3ZIUE07{{gKNxhF_=q`fo5PwN=8EQrt1-1nxDL*eizCcD7r?;lYjO9nE!4c2~S8bZOI} z_Et9I7kWu!O?P^uiNOMU721Bmo#v3ayLtI;dmHWTH|3Zc4W*g!Y%})$pj|N5d{Y|w z3wuqPJ=JY)z-GIbY&VOQY=F^-PY2Yoi*CCI&0b0<`z$?1cN~nHRd57mhJ6*vks+U1mEKg)XPM zy^HDm;>`LSm#db>Vpp`DYmDYjQmo8Ud2*VzerVzNE;Wxg9}41E=0et#*jpLujJ5BogYJUZcd zXN)86RREz0KoLSRXTvH;=yNkpSy&#)p|lqInE} z4K(8<^B80vgJH>LJk&gfna6P05oUa(d5kcRRM^pGd<>pvn(--kej3K7oADWVewG=Z zjpyfJJOShL%=mmf&%^j4jPo(R1mgmXFUPnL9jPW%X7h!xI##1q#hVgWaXJ9-F zeurM+Z zC%zG`^?%#*v{v!Yz!N3Ud6?dG@h>r5S>jcwXNLI6ULG!u<`-}B;@bzJq#fkJZ5wfi zq3|s6pS=3F57dg+!#9cFhdi6ywEX&x||thL4hX8xu7D!VSSd zWH>g_t>>E!G&fW9iI4ViyQOSB1Or`Lqmf`B#>Wrxal3_WJp=>Z!f*9L(A)a9V)MRz zTBDJmw`FeqQZUfJHG1*dnnPj1fZc+(9)jK$J)G;OC=?U)w)WxT?Uujw5cKv0!uipy z(MT|GtdFPr_z6Bf%E!m}_(?uK*2gn_-0s!19)bb8m(zL(2FABWBf-E~K5qAlS`Wd% zgw|*z7_fUyt%qPBuQeJ81}^gPd>_BW#|wP?avv}Bal6OXdI$z4w?-qufZd~OJp=#wKHbM>`1mXzpY7wtK7N~z&-L*;e7wZR?H+6EAs8rajYfh2yGPr4 z2nNbpqmf|XJ|8dl@dtgp!p9f-_#z))?BkU_{)CTL`S{a5UhU&{Z@u*p4A?#Q)t+i{besO6cY?|_VKPh9^>P^Tlo;P>(i%g^ImKes`W~AAkd|C6$ABV7pj}H9sCm+ z+w31c{^|p5eDn5tG~%!F@-%O+%i(>z_~z~Y1*k)$*`@0iIH9RVd54CczG;rX!qu~@ zsein)9lx|~DE@lSoA)QD<9$~gVB^h;7&vF&GrO?yPJ2LjAlmch{Z;yJo;NS|B;-5F z^X7I!f5A*we4u&%Y7G+oW$GJlx>lH7^Y}mktJ$aDUI6_j9-hpWeg9 zH}7wZLdJ8=`^E>Fw~vhf+|(;RFuT?JK4BV6ytBP9lj#k|dGon>d%+#LAE2Qr)T zj577JL!S=T&k7aH|D3azdh@M$Kc7C^P`tZejrrE!^W>&H-hsanMXU!p5ytCg(FZMh?^vC9Zx;@a3clIagM|$n&@>cN| zc;37p%k_p`1IGuN_d^o#mqR^&zEz%Ey!O_-pT_r1_WY`*c;>gq)$z{$q-i$Z(7m1Y z!lroo49}alr_6tg*RF1BipT0Cu*68bv%kdpf9}n&nUVWPPLpVP( zz4t9@%EQm;i{=mGo&9sZulbtX_^hUQ=AY>;7uMQ*-Vkw%8OJ;OIgG#A%RjX#59_nZ z^Xr`3|K(U?QH?d%mv8xg-X9`8PCq9-giC{D&r= zf@k*pRD9r$Cg=Ql%9}sU`_))&1fKKSRdG}NXgo{u@{~6@mwSV^+~+pA*?f3IuD84v zp%nT~!xn11Je5rz&u3mce1awK`wm;U!CR00+~j66;SB>lf4`N#U;@}yn_e_e?zh{Q zwjVW-S)F=Am1zLs;)mP#z{;k0wv0Aj9=75@AOjIIz2*B`Q+%G8k9PQ@gV}}!>>1|J zz|Zv(&+XafmR@1@Tl$1fOM5S{Zfm^wy$o-v^Ie|*)#Roc-f)AL=ieqb)%J!`v!I!? z=|%J8QXelj6%H5Q&BXT!*fZpzAr9lwp4+qKp&<_A-+l7WH|wiDf!`4oY9F>R*-Tfs z_dU^Pzb@CuZF>)w=SZ_j4(C7kO>J(4Tg^%JF#H5Y1rY zT|WaGAnQ+?2lH%j+>O83v=ckn$%r$LEX;=jGym;CPo$gW?mDOc3^Wq^zE7G5-}elx zK&)3gevjjJEzS4_IN!G#^S6)L@3jNH7(P)v1zshd3;))9UhH7&WA}FWzM=0sLO$Q| zAa=EF`~!}UcHFKNndcP8?{NG~9}j)66nbAb{$ii_D}DT0AHT`RZ}suJeEeP?f7r(# z_wi?a{AC}1!^hwC@sE7`b07cO$A9qgZ9cx+$N%y1NE~n3cI7VjPCkBsk00XW{d|0o zk00UVBYk|dkDub>W-`6Oehlp~P!85RcKYo=zX0nUtlpaZT6})7`f2h@0Nh3~&t~kP z+wGAZ=*MCG!u=-tfmqLCaW%!yM|_-@r8&=dtWOifPe(-(#UDm|lK9nl-(>MjR3t?_ z3!W;z4fRYDKN9P~bnzANQR1`U8RGeP-%Rn>uw1gl3o!q)#aChe;=AAt;(Oqm#P`A*#l6ma#_Cr$vmXpS0nQ^qdLq1wZBwh-iDqaTX z_dIM@*34A8{jL&H^J+~8{zfhTi~n3x5C$o?|`ot-vw_F-vi$y zz8Bso&aPxz#3Oo#KA&5~qu@Klqv5;6yTJE|$H4cB$HKi8yr}{|7ro#S795X*M~NrE zqs0^9?5D{5NpOBYMo)&vN}d#WFY#1(oOl{MK|CFvC_W0FB%T4c-$S|cArsE?8TMs+ z+;lniZ&M}yYV5bCi4Vt#>2&cn@KNF^_{uRuyc^;(#rwds#K$5}w)jxQ=ZGHz=Xo0Y zvYp;>@H~mP--FsAUwkCKFenh;i#&zm`yqa^cz1Y_cszWn_+a>S@nhh##7D!6#k1ja z#fM;eOT>?f4b6vA@jVBIyi7a_%cWd=Ao5g*9}Qn5ehBhZiVuQUi60HG7C!^|Ys7!X z@$3@u^N?q$_$o|qt@sA`a`97;XQg;9yiR;O^3;p}4PPy8`;pjTt#}c9z4(XGq4);z zPvD!xKZ7@l+wZIFutj_ee5-gCe1~{EzL47`ei!2Rh+l~Kz2ZX=&-3f{W&62)2=Ng( zuS_3JcOUJj$`+AE4Yz{92Ub#P3BpLHrq%dA^*}^(#C{;@`#j zu4M6Ic#8Noc&hj`c$)Y?w3Br4(eP2?yO1YCygTAE#S`KD-hk741w32g-^2DRN4yxG zE503`Cw@IVUpxu*FAyICFBIR6Jd?#^5MLxd06tZ`5T0T`d}fF+k9zaq_X0SL<$Z6p z+j09@u!D_%&^#EQWYG-P=bH!p1dC?S_)9|ED*jK$8_jd(VSgf<=MKj)8LjHs$I0W? zli$Z_JxBS(U*xzuUHRB=w0RoMgY}&1xLZ%m{#M@uaz5L3nCRp&PrbqVVdfF%l|u8; zKBW(XM`287zXdewrud5x*G1xQK{-bJ5tOmnYs#|%j?+3#&hs+ZYhWe^GE>Lc3=nknW19S zbz<~8;qG#=dESS+%f&i-PPog(`thiryIib)0_Sw_eR+HyXJYI?zZ3DC4*EQ}ZIgDO zFM#v&PQM?X913rWe+bU?4C5bxr%L=|aL#YWKM7Bl_)p=Z#Mi+y#J_}Rihl#o68{dK zE&d}sNBn1auK0F%o_HoaUpxz5Af62`6wiTA7SDwjiRZzmigUd-UAzGCv&6f>i^UIw z&lT?hFA--C>{9V~#FvTphnI^V4zCa&3|}PvCCZiJ-=JJ2{vFEI;yninG0L5odedD$e%0Lwpv>yTsXE_lUE-?iFWy4WJ!yy>uetBE(OEM~R;dj}|`- z-bH*oJVyL%c&s>k9`_Qz0P*g2ImuYK?Xu^Hcel&dxm?}tvh`ZTyW3^!6>xXEY&{L` zZkMh1g1g&g>$z}uyKH?roFltj2AW3#AOd50xb3oy54T;m9&WpAJ=}KLdbsVf^>Eu| z>*2P`*128abg=&1E+m>5JJ7jZu=B(YbZ!@tL)_%tE~JQayO1i*?E;q@^K-k9F7ezh zj1uQ|Aw!(og-mg77qY~;UC0*ab|FWc+Xc2G)}PyjJc;LiQNB3$iweZKUsNd0{UWaC z_`cjP;(CtG{UWaC=-e-2d#7{1XqLP$_lt_fxnIQf9P@C$s6^tqUsNj2{h~5)?iZDd zbHAuUocl$K#KUcu?dKxgcG>!O`1@+f6K=a~#L$m?#Gt%ut#TMxHgwjOS~Y(3m| z**dq&?sw)b!%dg2VL z!%f#v<8kI;2Y0%xhnp_z;ik)axaqPUZn~_8n=b3&rptP`=}IvkZn}mWKgB%k;7*tI zBu@h^&U;u-guCs~jd$Cjb)LU++oAQb$m6y{>-@aC?a(?u?{WA$+per%h;oAX#VE7B zjL(4MYi#d4o?Ulw{@Bm59riO1yY8Zww6PlUKg^i^pyRt8{|Ij9>m82UHf9Iw_2$7m zSr*M;>p8+a=(k!lgN+rmwOEGq66) zzs~Uv=5@v&Vhd)l@g2>BJ_>H@Vvil@lbm=r&&&3Y&0yp0wt(>?(co-;TV*=GPq5zJ z@yifz^Vq9<7=M@JZhgv}{C56xdY^E-vy=Zf$KC0T>STh1yLlS4UepGuU_=!uNf`ad-Ya=eRpRcR6mW#ys=!!M5+a z&+-0UO~DM-?XeW&$2s27@nvvZPn(kQZ#nVy7@Yo|6YnmUW!=mln}PF(%WET6H0nRW zZ9N|}59a^f@%fJLcYrCF!Nxye9*jT5@qZmZ)A2hTKhMW6_Hpy4-eBv0qp4)-% z`$(wRbR18=9qz85ZJxW4Ckd}J{vLR;_)N4vW11 zo7;aoc%^s;c$N76@M`gH@EY+0;Y-AOz?X{mhS!S6!mlpKharBo z_>u6n;zz^RiysSb5I+IFNqh{vQG6VHi}QBzv*5eL?R`e*49*Tj8U` zcfd2m2VuTtiVubJyf2s6pLVCr3_R~k{|Cdjhv$nAM12ax z_u%-UQ2ZUd?_}|X$WtV~96nWiE_}N9EaaahUJNf5p9`NW{xJ4mOT;HehvrYIcqNWE z%Eaq2-^#^5#Qt}M_@D4a;u}$)N^$c;Cf-mbJ_+-uT097^5#I}6B0dVobxXy6M0~Ay zJ$$+Nt(Xrh#czk#iQfgU7vG5btQP+szE*rQe7*RQm~Rc@o4bVO=O*z>F#j9Hdm+yj z@ps@`#ScaM*&%*Be3$qc$g@ZMDfnLTLgevQ{AN=4x!w(ru;94)jc#v<65oXO94&5s zNyZzxh`)*X93%cVJXZWYcrWo&u)c~DKOLSRekMFo{5DKilK9u~Wbu3)AEt;GB0g2T z4)sqHe;%GLz7Xwdl=x!g&k+9;o+%!S>CF=V2KCPtFF~Fh@!_avu6TDG59f)$f%Rm* z_zHM|_`C2z@sqKBm@Ix8yhxnaDNhwQKQ7=6)5Qm2x@L)IV!joN*CNkc@rlS&BEAn^ zDt<4#OnfKumy3@@e1&)c>bXe#7cAdO@do6t62ArctHlpR{u=RYEUzWvIq;?8x$s)? zTj0yZ=fGEr-wCf1KL}ngJ{rDSob6|=_?L)ZFTMivp+S6qw8Kr}(Kyf8DBd1nWICx4*je zA;{zQSGRsYrpxWGZv7#++h5)KrI;?azq<8%;ckC*>yMzGZhv*_hr`|e>ejm=kK13} z`uT`=`>R{e#q_%U)vce6>2>?7TYn4F<@Q&%{tn#juWo%b^0@ugt&fGf{nf3row@zh zt+SoE{nf3row@zht+SoE{nf3row@zht+SoE{nf3row@zht+SoE{nf3row@zht+SoE z{nf3row@zht+SoE{nf3rolSSXzp&1BHcOoCtXMn_<+9lqI+0uN2QixlTME<$Cb~lvj%vqP$jo zGRo`4i%@P5pNjG(@#!cxiqArMi+C~0TgB(1yhFSMXDDM$3LwT=wIm*0YHPy43~{!zOmVieEb&P=-pLl90yn>B++upK zhv$ml2+tFr3C|bj@jmaD#`(bG{X&W7@&07-dB|^m_PIqp+0Lelvz<*BXFHoE&URKT z&UQ9eob9Ycob9Ysob9YkJQ?M3@f4IR#8XjTB%X$HrFc5ZRpO&it`^Tgxkfw_&1&uZV;b}@+R@=C^w4F zLV1gLG0I!T=c2qryaeT4;-x6>5idh|uXs7iUgtLRN#f_R0v>_$6ZA#!DDg^ow0IS~ zi+D9WM!W_dE4~EYOMEFjPP`VLAif-)D83S&Bwhzk7O#h=h_8mHim!#IiLZyJi#Nde zeH!OK+gXOhvz=v%vz=v$vz=v&vz_ILvz_INvz_IMvz_IOvz--)vz--+vz<*AXFDqr zXFHoJ&UQ9kob7CuINMpVcpS=e#S>625l=+9R6GggGVx@T%f(Yrt`JW}d69S;%9Y~j zC|8M(Lb+Nz1LYd=Oq7?1XQ8}QJR9X&@f?(wi|3-eQalgkI`Mpz>%|LDUM*gT@>=o9 zD6bbULb*YFD$1M0r=#2`J`3e7;>9R$6`zap4)GF{cZrvxyhpqY<-OwNDD$UAxt^(j zN8o%jeGxoLyb>NQUIp(WUJZ{CuYvP>OTOd!s z^2FKB^2OQC_`N0bvz--6Jlol1akjG}akjIm;%sNr#o5kgiL;#*i^rinS3Cjb67fWo zOU08=E)!2ixm-L2+0L@W z+0NLHgUgrgjQu$1Y-jApL1#P5ll*LF`QmJ61>$UHh2m^ylf~K2ip1H@ri!zjO&4c7 znlhJD6bUHL%B{oALV-S0+d&a7oxmYd@{=G#fwmG5TAExH9S>( zEj&$pJv?2!0X|Bc?JPr_?JQHA?JP^2?JQfI?JP%}?JQTE?JQ56?JQrM?W{nY?W|Co z?QF6*+gXt~+u2lcwzKKtY-h8?+0Kf^<4~R}o`7r3+1Ka*(leF=b*e?JQwAa;;YavqE37W`f1dQ z&qlwF)#CTE|Bv{y@b%)q!W+apvj30xKzO70c=#6aS1?^$#h1Z%h`$NnC4M>b?-73l zzE^xLJb?a;TyO7(emD{0$HJq;uZFYVEAu=G?;`P^!7mGKE&}%J&gaa7*E>&j{4U2o zf!q8?IsOma=Bal)5!XAYr#imCiO+J}yu%5k8 zJ`m^i>HMDJQ@9O_GVjGa9dRCr@i8dhC0>ZX=kX%rN5R+Oc*5py>*Vi+?Tqy*^Wghl z2xlICfAp#2wu?FAcRFsH6nzBRo93VAv_rcbd!e4+I_~Bl>a-sl&+j!Ja@>v2!{^n$ zuiGAG!Z}@u_K6wB;d5Y%Zk}#vr1li!Q;H>=J>rRCx{2I zo=OytfG3IDb&Va8L!+kmjfSU)cY)h^We3(j9`#HMag%eori&kr_)+46;Tht?;F;n_ z!n4GWhG&Z(3(pZh0iG*92A(HA4xTT5D!f4a40xgVS@6l?=faD`&xcPHzX(2E{1W&q z@yp@G;#a}vieCdS5idY{C>5WE_%iVs@N)6l@CxzU;ETlXfLDs&4X+X}Mm?*=??Zfz z_=E5z;tSzR#TUbC#h-vL7k?VQQv5l1o%oCJdhu7_tHqbW*NVRhUoZYPyg~du_$KiW z;Em!R!?%d@I^M0~byzMt#CaX>E^%JRyGQ(?*bwX$Uk&Gak?X6UQBSTH>D%F4FVc6y zxn89I4(EE2{uew3(?|ao9xL89E>!Ve;_cvZ;vL`#;`_rB#k;|i#1Digi}!%1i1&tb z|C!Sj4^NZ${_u41!{MXE2g5VOhru(&kA!E59}UkIKNg-NegZsKd<;BKd>lMq{8V^> z_!;m*@w4EQ#m|KoiJuRjDt-}sy7(pVS>l(&i^Z>k&lSH0ULt-Syi|M|yi9xsyj*-X zyh8jo_#*K;;FaQc!>h#afme&)2d@!-5WYlwA$+O$VtB3i6Y%BYPs3M=KL@W9=XG}V z;=ImowfGnIgK37f;%~-z99S>D5%CS;-@`YFZ-zIDe~kQF#6N{^6<-J6A^s(Nm-sjE zJ>uWN_lo}r_jX7F&HJlA!y_;qc9d!!+u>2-JK@pdzr(wT{{@c`{}&!B-nLJ`8+wVi zgU5+?fG3FW59e{Mec4XewFigtCrSJ~91kap-`hPDpCW!6j&D=Nze1ig@oy2IE?$G< z;Zfo|&z2$nALP#z{{@~U{u?}7{114J_}}nc@qO?-@gU|;zIc0hfjG|-7K(R9{ABU& z@FMYp;8VqW!l#S#_rzz3_eFfM_+jw5;yj;OBAyi!YA2=QyzgO|cp2i$#XF;&REW<& z{37ww5ML>N8N5pTAb7R-2zZTnCVYwbJor-arSMwu_BfBTT>L3~9#@K&!Ry2~!t2F< zhp!f|fv*++2)M>B>q--wD@1}F5=;PZa+N z&hv$w-p)Nk^Cem0Q{gG%AHh?_C&AOi&xNOpKMo%yUJK6e_=^Tf9!Prmq0c!78at7ra`Wzn@+so{00^ zOT-U=FBP8vuNA)Tc%67Iyk2|(e6{#{@U`L_;OoU7g*S*l4&NmH7Q9jX z9rzaU&*59eS)U!^{QdM@;{5&eJ>vX5@x9{tIN$DlL1#YV{9N>hM?{1^_w*j{DDhL^ z(c{#l+;2}7--!4W@$ccO z;+x@V;@odf7w;Aon(w2;dB4gG@lz0=DSi{a2h9?n-aeE+TYL__U(6BbetWJs_uKQt zx!;~I&i(cRaqhPligUkxvN-qKi^RF#K2@Ci?bF4%-#$xx2>1WRhjag5d<48i{1|wt z_;K(u@e|?Y;wQl?#7~AV51-Le7bml zIQyq?db8mf68`|^Tc$XtH%t6n)F)ef59V`@_!`9Lihm2w6YmVq7rzc(AkN=6XFnZI zZ)Z&JWQkvh&wG(L@B2DcoWI{aUHofI?=120sAsYG&G5P6e;`kZ_=$)w70-s3iEn_H zi(iBFaD_Ohcaiu!+q%G@4;)uhhzCJ7w?PmO7X)` zt`i@Ka=rLR==Zo<{4V%f@l5m^TrXY*ZxH_y_1`3ZF7h{uKZ5uz;=K^RRs2}As~zGe zz;}s{f$tIThW*dI;-A~jTy}8!%h~fkA9wLI5Fvg5;-kdxMSQe)CE~k?pM!Yz*W>5C z0P(RB&vGwumgB@(P7v>e_e~Vv)HyW0N#X~?lf}<~r-(P8ourDth4?h_euz&OFGKv` zP_+Vfvt4f<>?d}#;|mO=zgUxT3DW~fw$LBkKBHZTr-SHA9-p%uX<8Gek z9e3lua{NC|{vPJJ9kdg@#eW5Y`$&g z!T13d&0u|tdC-SiG=t5**FN@zhBS+2u>QAs&_`J`gLU_Ff!zepe>AT#9=k8z`~K

  • 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

    o`Fi`W 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