<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/153800>153800</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang crash, possibly related to templating of std::variant, isHorizontalWhitespace LexTokenInternal Preprocessor::Lex
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sparr
</td>
</tr>
</table>
<pre>
I had not modified the body of `JsonObject::get_member_opt` when I encountered this crash. The most recent change prior to this crash was implementing `template< typename T1, typename T2 > bool JsonValue::read( std::variant<T1, T2> &v, bool throw_on_error ) const`, although it is possible I made some other change since the previous successful compile.
```
Stack dump:
0. Program arguments: /usr/lib/llvm18/bin/clang++ -Og -Xclang -fno-pch-timestamp -Wall -Wextra -Wformat-signedness -Wlogical-op -Wmissing-declarations -Wmissing-noreturn -Wpedantic -Wunused-macros -Wredundant-decls -g -fsigned-char -pthread -pthread -std=c++17 -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wsuggest-override -Wzero-as-null-pointer-constant -Wno-unknown-warning-option -Wno-dangling-reference -Wno-c++20-compat -Winvalid-pch -Werror -Isrc -isystem src/third-party -DZSTD_STATIC_LINKING_ONLY -DZSTD_DISABLE_ASM -DGIT_VERSION -DTILES -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL2 -DHWY_SHARED_DEFINE -DAVIF_DLL -I/usr/include/rav1e -I/usr/include/svt-av1 -DEB_DLL -I/usr/include/webp -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -DSDL_SOUND -include-pch pch/main-pch.hpp.pch -fpch-preprocess -c -MMD -MP -fcolor-diagnostics -o obj/tiles/catacharset.o src/catacharset.cpp
1. <unknown> parser at unknown location
2. src/flexbuffer_json-inl.h:1061:1: parsing function body 'JsonObject::get_member_opt'
3. src/flexbuffer_json-inl.h:1061:1: in compound statement ('{}')
#0 0x00007fca349ca540 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/src/debug/llvm18/llvm-18.1.8.src/lib/Support/Unix/Signals.inc:723:22
#1 0x00007fca349c79f5 llvm::sys::RunSignalHandlers() /usr/src/debug/llvm18/llvm-18.1.8.src/lib/Support/Signals.cpp:105:20
#2 0x00007fca349c79f5 llvm::sys::CleanupOnSignal(unsigned long) /usr/src/debug/llvm18/llvm-18.1.8.src/lib/Support/Unix/Signals.inc:367:31
#3 0x00007fca348ab2d9 HandleCrash /usr/src/debug/llvm18/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:73:5
#4 0x00007fca348ab2d9 CrashRecoverySignalHandler /usr/src/debug/llvm18/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:390:62
#5 0x00007fca33c4def0 (/usr/lib/libc.so.6+0x3def0)
#6 0x00007fca3c92a14d clang::isHorizontalWhitespace(unsigned char) /usr/src/debug/clang18/clang-18.1.8.src/include/clang/Basic/CharInfo.h:78:22
#7 0x00007fca3c92a14d clang::Lexer::LexTokenInternal(clang::Token&, bool) /usr/src/debug/clang18/clang-18.1.8.src/lib/Lex/Lexer.cpp:3668:29
#8 0x00007fca3c9556cc clang::Preprocessor::Lex(clang::Token&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Lex/Preprocessor.cpp:869:10
#9 0x00007fca3c935ff8 clang::Preprocessor::CachingLex(clang::Token&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Lex/PPCaching.cpp:65:3
#10 0x00007fca3c935ff8 clang::Preprocessor::CachingLex(clang::Token&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Lex/PPCaching.cpp:48:6
#11 0x00007fca3c935ff8 clang::Preprocessor::CLK_CachingLexer(clang::Preprocessor&, clang::Token&) /usr/src/debug/clang18/clang-18.1.8.src/include/clang/Lex/Preprocessor.h:2920:17
#12 0x00007fca3c9556cc clang::Preprocessor::Lex(clang::Token&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Lex/Preprocessor.cpp:869:10
#13 0x00007fca3ca5dfd3 clang::Parser::TryConsumeToken(clang::tok::TokenKind) /usr/src/debug/clang18/clang-18.1.8.src/include/clang/Parse/Parser.h:528:11
#14 0x00007fca3ca5dfd3 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/ParseStmt.cpp:519:23
#15 0x00007fca3ca5e2b8 llvm::SmallVectorBase<unsigned int>::empty() const /usr/lib/llvm18/include/llvm/ADT/SmallVector.h:94:46
#16 0x00007fca3ca5e2b8 clang::Parser::MaybeDestroyTemplateIds() /usr/src/debug/clang18/clang-18.1.8.src/include/clang/Parse/Parser.h:315:27
#17 0x00007fca3ca5e2b8 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/ParseStmt.cpp:120:26
#18 0x00007fca3ca63b6a clang::Parser::ParseCompoundStatementBody(bool) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/ParseStmt.cpp:1236:38
#19 0x00007fca3ca65b34 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/ParseStmt.cpp:2517:3
#20 0x00007fca3ca66c9f clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/Parser.cpp:1516:36
#21 0x00007fca3c9c4570 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/ParseDecl.cpp:2272:50
#22 0x00007fca3ca50793 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/Parser.cpp:1266:42
#23 0x00007fca3ca69532 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/Parser.cpp:1070:50
#24 0x00007fca3ca6a14b clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/Parser.cpp:760:36
#25 0x00007fca3c98cdf8 clang::ParseAST(clang::Sema&, bool, bool) /usr/src/debug/clang18/clang-18.1.8.src/lib/Parse/ParseAST.cpp:162:69
#26 0x00007fca3e463971 clang::FrontendAction::Execute() /usr/src/debug/clang18/clang-18.1.8.src/lib/Frontend/FrontendAction.cpp:1069:21
#27 0x00007fca3e404617 llvm::Error::getPtr() const /usr/lib/llvm18/include/llvm/Support/Error.h:279:0
#28 0x00007fca3e404617 llvm::Error::operator bool() /usr/lib/llvm18/include/llvm/Support/Error.h:239:0
#29 0x00007fca3e404617 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Frontend/CompilerInstance.cpp:1057:0
#30 0x00007fca3e4bc0fd std::__shared_ptr<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2>::get() const /usr/include/c++/14.2.1/bits/shared_ptr_base.h:1667:0
#31 0x00007fca3e4bc0fd std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const /usr/include/c++/14.2.1/bits/shared_ptr_base.h:1364:0
#32 0x00007fca3e4bc0fd std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const /usr/include/c++/14.2.1/bits/shared_ptr_base.h:1350:0
#33 0x00007fca3e4bc0fd clang::CompilerInvocation::getFrontendOpts() /usr/src/debug/clang18/clang-18.1.8.src/include/clang/Frontend/CompilerInvocation.h:254:0
#34 0x00007fca3e4bc0fd clang::CompilerInstance::getFrontendOpts() /usr/src/debug/clang18/clang-18.1.8.src/include/clang/Frontend/CompilerInstance.h:291:0
#35 0x00007fca3e4bc0fd clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/src/debug/clang18/clang-18.1.8.src/lib/FrontendTool/ExecuteCompilerInvocation.cpp:273:0
#36 0x00005645bca18384 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/src/debug/clang18/clang-18.1.8.src/tools/driver/cc1_main.cpp:294:40
#37 0x00005645bca1c6ea ExecuteCC1Tool /usr/src/debug/clang18/clang-18.1.8.src/tools/driver/driver.cpp:365:20
#38 0x00007fca3e139485 operator() /usr/src/debug/clang18/clang-18.1.8.src/lib/Driver/Job.cpp:440:32
#39 0x00007fca3e139485 callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef> >, std::string*, bool*) const::<lambda()> > /usr/lib/llvm18/include/llvm/ADT/STLFunctionalExtras.h:45:52
#40 0x00007fca348ab72a llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /usr/src/debug/llvm18/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:428:1
#41 0x00007fca3e13be16 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const /usr/src/debug/clang18/clang-18.1.8.src/lib/Driver/Job.cpp:444:10
#42 0x00007fca3e0f6d79 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /usr/src/debug/clang18/clang-18.1.8.src/lib/Driver/Compilation.cpp:200:3
#43 0x00007fca3e0f717c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /usr/src/debug/clang18/clang-18.1.8.src/lib/Driver/Compilation.cpp:253:5
#44 0x00007fca3e1157e4 llvm::SmallVectorBase<unsigned int>::empty() const /usr/lib/llvm18/include/llvm/ADT/SmallVector.h:94:0
#45 0x00007fca3e1157e4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /usr/src/debug/clang18/clang-18.1.8.src/lib/Driver/Driver.cpp:1921:0
#46 0x00005645bca1f045 llvm::SmallVectorBase<unsigned int>::size() const /usr/lib/llvm18/include/llvm/ADT/SmallVector.h:91:32
#47 0x00005645bca1f045 llvm::SmallVectorTemplateCommon<std::pair<int, clang::driver::Command const*>, void>::end() /usr/lib/llvm18/include/llvm/ADT/SmallVector.h:282:41
#48 0x00005645bca1f045 clang_main(int, char**, llvm::ToolContext const&) /usr/src/debug/clang18/clang-18.1.8.src/tools/driver/driver.cpp:542:26
#49 0x00005645bca0ffd5 main /usr/src/debug/clang18/clang-18.1.8.src/build/tools/driver/clang-driver.cpp:18:1
#50 0x00007fca33c376b5 (/usr/lib/libc.so.6+0x276b5)
#51 0x00007fca33c37769 __libc_start_main (/usr/lib/libc.so.6+0x27769)
#52 0x00005645bca10035 _start (/usr/lib/llvm18/bin/clang+++0xb035)
clang++: error: clang frontend command failed with exit code 135 (use -v to see invocation)
clang version 18.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm18/bin
clang++: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/catacharset-773ed3.cpp
clang++: note: diagnostic msg: /tmp/catacharset-773ed3.sh
clang++: note: diagnostic msg:
********************
```
[catacharset-773ed3.cpp.gz](https://github.com/user-attachments/files/21795273/catacharset-773ed3.cpp.gz)
[catacharset-773ed3.sh.gz](https://github.com/user-attachments/files/21795280/catacharset-773ed3.sh.gz)
Github rejected my attempts to upload the files uncompressed.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUW11zmzq3_jXkRoMHxJd9kQvij9b7dZNO7L1z3nPDCCFs7YLEkUSa9NefkQAbHDtNG7ezdyeTEiQWz1rr0VpLHyAp6ZYRcm0FN1Ywu0K12nFxLSskxFXKs-frJdihDDCuQMkzmlOSAbUjQLcBngMrdP6QnN2lfxOsLC-2vHhLVFKSMiUi4ZWyQgd83REGloAwzGumiDAyqARYILkbgc2OgJJLBQTBhCmAd4htCagE5QIo3usLviIJaFkVpCRMUbbV71ekrAqkiOVNgXquCEMlARvXgv0_IbC8OUg5L4DG-xcqatLAFQRlFhwDqbLmxiMSFDFledNGyAbqRy0YPuq_jAi1E_xrwllChOACWHACMGdSK6v7oELteL3dAaoAlaDiUtK0IGAJSpQRIHlJAFc7IjpVJWWYGLtWgjxSXksga4yJlHldAMzLihZkZDmx_gmd9seJ1wrhLyCry0pDd2JnBD4LvhWoBEhsa20kaXkxsOCilsKCi4Km-nfxWLpjCy5Syiy4wAViWwveWPAG2HdbYP-PuQPsnHG7wjtb0ZJIhcoK2A-oKID9QJ6UQMB-yLkokbINiTJGpAT2Q8G3FKPC5rp7SaWkbGtnBBdIIEU5k73bjAuiasGA_VCRDDFFMbAfalZLktklwoLr3oJkNdOtRowEtsbWvNPGOySAXamd9mPvwrhzhhu13AjYD4wz-5EKVaPCzhQXwH7gRWZL9VwQGyOp9I1HIgqOMpJ1XYH9IOvtlkhl60ZBMwLsh29EcBtJm9VFYVecalbbhgKIKfMuu2ZfGP_K7K9IMK0qr7TyTVuG2LbQNwXJiSDa-eZ-Cxc6tvY50pIoe0QFzbQftN0N3-ylFBjYVD5LRUogBbbgQu2oyOwKCfUM7Nn_rjezZL2JN8tpslre_md5-yG5u139t2uaLdfxzWqexOtPwJ59WG6Sv-b36-XdLbBnm-Vqvgb2cs8aynBRZ8SCi_VsBYE9Sz7c_pms7_68n84tb-bqO_fz-e3mPr7dvPrgx4f_JuuP8f18lszmi-XtHNiz-K_lIpmtVqcfFOjRJaeb5KOy0aN--_zmvICvJK1-CnIuCNEBBJ5uLmhasa0bnm7dIZGn9bdvp1u3BU1tOHL6rc3Q7FoO3c_o_iwrwXP7zOv_zdjfxLHZerbSrbczYLePmiFS4Z0FFyWiTP852lXVyIycXMexSpBKcGzCFAb2p08zYH_6DOwc84ILO6Noy7hUFEtgc8DTv_WwogWROkgihXSskUSNeDvk-vdwVVlO7I6A5U3boa_TRqVbBUAKtDdBwbEJg5YTw1ErKC_IU1rnORHJ35Izm7JitLO82HVCV_-nY7iWpDNeXjNsIolJwRaMvpN_YWQ5sTcC5t_bX0eZyTu8ZhmQCimTcYEFx1pgdGNFM30BJ5aj04vnAOfJcRwnyjHy_AlGge8AnWcaTPJZNhefBWXKpK2NQJhYcHzoJNDXhEslCCotGOpESpnSuXVPkgZ-RtJ6209j-sJ2xyN3NB41XRpCruuq4kJZcPEno0_6Bt0yVMgRZdjy4gh6lhdD2KrgHqkQTfLglAr3NWvkfEQsK4iQxiiXQNnB01zS3gg0PKeFB98Ib1oQxOrqrgVpwXHNmlwJCq7z_C-zpxdG-rfbAvYGgMcohdkENDabmmLu_TCMnHuCdWZ-nnKmyJNqrRdp3wYtFP8UlMHDA4_-WmTexLG8OOxoF_SxedjPSO4042xYs9EUjyQfhRa8cZ483esw-sK-DDyByPUz0JR1hhNUfuSCfuNMoeJhRxWRVTP49tTQYewVahhZRnVzNdT9ELrbSnJxgyTVLdMdEkuWcxNdonF_tEXfgbwiT0TsLzf8C2FLXWU1lO51NE1tvNDF-c9q0Zh5RZ6a30R07gpDA7yz9XgIPAhCjPvAP--TDD_gPwf5_VD7r2sRj8OJCR8t4MkQsBfk-fh1wFOEd5Rtfy3uz-1bWtChDnaent9Az3X-FZB9zYuwhez-OOTVf5IDbCKGwAf9G3ZfUK2XQ_YEm3aG9lBHKzdq1YT_JvZrwIMshFGQ5Zk3AGwKtBaZCdWyLkmLsQ9b8S89_P-hLLuc8Q2I7v_G8AHU7HLdVg3_B9Qw1-uuZrsTs8PcO84VEbFSgqa10nVtr_xal6go_iJYac9Ne7LXqlQWjDUFPVhb3vwlH1-8PtMPtXnvqO-a1wKTVVcGN4KPZWV9kCffdtzjPWQa2F8jb7kUuJpLsAtLwZETCEzH4KQBb5AkZiLQplddyHrzphspK_Xc1oxmyeDs8kxvwqZfAhfxbKOrjMN7DFUmvg5GXSAKT4E846pP6DklMyKV4M-bdhltmX2noH0_tz3XVLZdTIl-APEr3P6nkPlXENE1URh2Ph7WICj00hC9qsG0ncrtLXfDM83B9xdM5xF7oXb1uIU8OYIcpJ7_KuRFO889htx7Rjv_TPwY0AXzivyyGAEDNzqULtA50jPEk_xNes5IThltiXz0AGXbjuinqoGXhN0PZpbzdmn61adWSJFDVF1RqS5L5S45u4FrWNESGR5VTdgPIudVzbQZPgheV2eNtK4IfqnswXynx_H3k86b0lYLdcHFPWJbsmT0wobUenTEgxHUOaqtdCA8CqNONHm9ROjFzjvxFhr-RFZ-0WPgpWMbxmbPQ7fRnJKfnpC-RkAYagL6sDXaUXkYTgIPvmq0-VMzCR0mnt9gqMubwomcPn-OSswQuX76qik2vFqRR1I0Ybhvg7sK_V9NPquj3LsfvPckP5l516REbWXCs7ogy7LiQpkMcNn43dkgCp1-OBoWeJMxzvKXlUi83gy1Naj7CxCXWIgYwI3Xm85poR7z4aQFPCj2iB96k8jtA14IHe1YFpux3dybPxFca4P-dJHXIOxk9y6b1-z5ZWZisJ3CwGiI1fFDN-pVz3MhuinjlijNnZ8qkQ9LcEZgM4mNNJCO5-M34-AVMSmjdefQXj8FxOsDmZwC0nPetNn3FUuzrYjJwH2tRwdEPPL2e0dMz8HHUA5L1NFBoeEmAPFT7OTZYV89SeQOCZIl1XFc6F50Z7ZIpR5AFhwnyZbVCX56ah9fcfwlqXhB8bMFJ3A_n9oSdZoqvblIs69qwYXrj-DINVvfSmqj7CElKZKk2QYJw75W7pu1SpDJX5dQDk5BjgodAbqLTt3kU3J5jb3Q72kM_1kad8PQpMHLqh04PbW9U2qfHI-PXRXYEbCn8mVnzyfHYPf6JqYEfdf5b9ahH1N-uwZtFGlWGN0e_uA7-Nvod8IVg0j4Qs33VlCdFhuTCRZnYXS1udl-6pTqsnQQ-kGKkTv2xj7A2E1KRIfLFrEQ6NlUR1NzsKWdusWmWpqC4T04BY-cZu_QTXFe6MGRCfqoy-1FB6pTo1la6vSIjvTAIUGgM8XU1ba5DIzmYr8Bs98H1SCG6dv1Jv44AIcQ8c6iZtZB-IOn3TK_b2rEdsYw3E7p3o9RUaQIf0lyNoyFrUoNKafulJclYtlxIXaSAPuA25wcQoXlTXsLXEpQtm0KadDSY_-ENI0tR5riJT4cUjNdtDBUphlqTNZK-eGlyM2qmziiYv6kBJJmUPuBWcJuTOY7x9uvEUS9iuvUXulhqx3lpHge2Kg7AZEIYyc9BsBei8vsb7-yfes3C_Otau4RG1LihuB3-__Y_YlOs67b_JEiSXHSMqIJK4PO-kaiBNJpsm0-EocKc2alWUlt23WXk-y69Njze5s5_rAwcfIwiyZnrW1iM3ox7-lcMMgXRw_qDueWzV7pGh9tQ1_MID1dusjsOIdFR987skvkRvhH7fIHT-V5o_zB0xWVamCUk6vty7Iq-uStENW8MSd53m7HlmG_zZpBd1pEW3NYQ7luEBH_n7LN042E4BTGM9ad9a4HhcuJwukcU36jxy-Svmf9CsKdwF6N6R-XY7njBz_uX0m_kYu61-1VGf5xqXUeY7fUry2qh_QFHNEVlnsqm3D5Q6sfp3WEY6iDepc8x6eUNDi7yrjDbpJW3Kacgxl0xdlm515kulAtPChCAx_2NuD8yRC5k-dZADTmn3p1WtMiO1mOm74DIG6v-gic4dkxLwrT4Ltnx6Du1Zwd0zLcYxlROAFJop9JpEJCJa1e35MahZODVHjkWsfxAtDIOyXq7AcJRnbqeC3gfosXA9Ku1TWkAXk7SQO4JXWOaEEy8JWqHSBPVJMkI8D1jJFqSYD9CBQHkhBAezPJ_ZvAIxGScgYad1lOvEFiS3R1Cp7GYRL6doXtgrL6yd6yWrc3nx-UPCOFObXLJX2ynNhMRIuCZDMqvvdFxgs1GVd6og4OB5RBKbdGjBN34-KnfswXJZ9X83g9B_FmE08_gs3HOVjcrVZ3D8vbD2BhvgXY3JnbN39-APfzz3f3G8t8bnI4fUMyIM3-mAXHUo9AbX0kJccUKZIBUTMgsaCV2ncQpDkKTTKAVCPv7WrDhSqr4QlsO4o8knntQeyLiJK7H_XF-93R-7pH_wQ3p1Ucbb9ZwcyC451SlTn5CxcWXGyp2tXpCPPSEIwIGyn9ePMlEFzk7Wl26EaTAEbeWRNq-c1gPolA7i4CYOycM_z-_R-MQCDI3wRrrpTPACmliyuph25dFRw1n6QZ0aBmmJeVMJwcXWXXXjbxJuiKXLtREMDQnQTe1e7aS5EzDiH08QTjFDs-ISh1siwau1DXU1f0GjowcMZu4EI_CLxRhlzfyZ3AC5xw4rkTy3dIiWgx0kN3xMX2ikpZk2s38MaOc1WglBTSfFYHYUshaAWzK3FtZp9pvZWW7xRUKnkQoagqyHUTeswHbzrdtZ-PPQNBCjNcFAftN2-UbQHPX366Bqfg9JFfcHyWFpw8sHdVi-L6Fce2Sd5oUgluvj2AC2MA7dzWBo_X8P8DAAD__z50V8s">