<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/99873>99873</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang][trunk] UNREACHABLE executed: Unexpected placeholder builtin type! Derived from source of UnrealEngine 5.4.3.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:frontend,
crash-on-valid
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
nga888
</td>
</tr>
</table>
<pre>
Compiler explorer link: https://godbolt.org/z/Yv6c67x6x
Source to reproduce issue:
```
struct S {
int Value;
};
template <int I> class C {
public:
template <typename T> T F() { return T(); }
template <> S F() { return {F<decltype(S::Value)>()}; }
};
template class C<0>;
```
Stack dump:
```
<source>:8:31: error: cannot compile this l-value expression yet
8 | template <> S F() { return {F<decltype(S::Value)>()}; }
| ^~~~~~~~~~~~~~~~~~~~~
Unexpected placeholder builtin type!
UNREACHABLE executed at /root/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp:601!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics <source>
1. <source>:11:20: current parser token ';'
2. <source>:8:17: instantiating function definition 'C<0>::F<S>'
3. <source>:8:17: LLVM IR generation of declaration 'C<0>::F'
4. <source>:8:17: Generating code for declaration 'C<0>::F'
#0 0x0000000003a6d508 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3a6d508)
#1 0x0000000003a6b1fc llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3a6b1fc)
#2 0x00000000039b4d48 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x000078f768c42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x000078f768c969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x000078f768c42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x000078f768c287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00000000039c067a (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x39c067a)
#8 0x0000000003f00364 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3f00364)
#9 0x00000000041d7ad0 clang::CodeGen::CodeGenFunction::EmitUnsupportedLValue(clang::Expr const*, char const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x41d7ad0)
#10 0x00000000041f3045 clang::CodeGen::CodeGenFunction::EmitLValueHelper(clang::Expr const*, clang::CodeGen::KnownNonNull_t) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x41f3045)
#11 0x00000000041f3b51 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*, clang::CodeGen::KnownNonNull_t) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x41f3b51)
#12 0x0000000004204c20 clang::CodeGen::CodeGenFunction::EmitCallee(clang::Expr const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4204c20)
#13 0x00000000042050f5 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x42050f5)
#14 0x0000000004255f82 (anonymous namespace)::ScalarExprEmitter::VisitCallExpr(clang::CallExpr const*) CGExprScalar.cpp:0:0
#15 0x000000000424c700 clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) CGExprScalar.cpp:0:0
#16 0x000000000424e6cb (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) CGExprScalar.cpp:0:0
#17 0x0000000004250aed (anonymous namespace)::ScalarExprEmitter::VisitInitListExpr(clang::InitListExpr*) CGExprScalar.cpp:0:0
#18 0x000000000424ccf4 clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) CGExprScalar.cpp:0:0
#19 0x00000000042523dc clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x42523dc)
#20 0x00000000041dc81e clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x41dc81e)
#21 0x0000000003dc529b clang::CodeGen::CodeGenFunction::EmitReturnStmt(clang::ReturnStmt const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3dc529b)
#22 0x0000000003dcceb4 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3dcceb4)
#23 0x0000000003dd49a4 clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3dd49a4)
#24 0x0000000003e3b68e clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3e3b68e)
#25 0x0000000003e5023d clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3e5023d)
#26 0x0000000003eb0562 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3eb0562)
#27 0x0000000003eab475 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3eab475)
#28 0x0000000003eaba1b clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3eaba1b)
#29 0x0000000003eb5dc3 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (.part.0) CodeGenModule.cpp:0:0
#30 0x000000000437ccd6 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) ModuleBuilder.cpp:0:0
#31 0x000000000436d238 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x436d238)
#32 0x000000000716adea clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x716adea)
#33 0x00000000070f3b17 clang::Sema::InstantiateClassMembers(clang::SourceLocation, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x70f3b17)
#34 0x00000000070f40e1 clang::Sema::InstantiateClassTemplateSpecializationMembers(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x70f40e1)
#35 0x0000000006f1e4d2 clang::Sema::ActOnExplicitInstantiation(clang::Scope*, clang::SourceLocation, clang::SourceLocation, unsigned int, clang::SourceLocation, clang::CXXScopeSpec const&, clang::OpaquePtr<clang::TemplateName>, clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRef<clang::ParsedTemplateArgument>, clang::SourceLocation, clang::ParsedAttributesView const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6f1e4d2)
#36 0x00000000064bbb6a clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64bbb6a)
#37 0x0000000006490e31 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6490e31)
#38 0x0000000006555c0a clang::Parser::ParseDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6555c0a)
#39 0x0000000006556726 clang::Parser::ParseExplicitInstantiation(clang::DeclaratorContext, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6556726)
#40 0x0000000006563638 clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6563638)
#41 0x0000000006497aa3 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6497aa3)
#42 0x0000000006455bb1 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6455bb1)
#43 0x0000000006456a6f clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6456a6f)
#44 0x0000000006448b2a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6448b2a)
#45 0x000000000437a818 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x437a818)
#46 0x00000000046056d9 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x46056d9)
#47 0x000000000458a34e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x458a34e)
#48 0x00000000046eea8e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x46eea8e)
#49 0x0000000000c80b1f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc80b1f)
#50 0x0000000000c79caa ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#51 0x00000000043bdf79 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#52 0x00000000039b51f4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x39b51f4)
#53 0x00000000043be56f clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#54 0x0000000004383fd5 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4383fd5)
#55 0x0000000004384a3d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4384a3d)
#56 0x000000000438c445 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x438c445)
#57 0x0000000000c7de55 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc7de55)
#58 0x0000000000b537b4 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xb537b4)
#59 0x000078f768c29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#60 0x000078f768c29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#61 0x0000000000c7975e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc7975e)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Compiler returned: 134
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkW1t346iW_jXKC8teErr6IQ-Ok1SnT-oycbq65skLIeQwwaBBKOX0w_z2WYBsC_kSOx3X6plT65xqF4LN_r59YQMSqms654RcevGVF19foEY9CXnJ5yjLsotcFK-XE7GoKCMSkGXFhCQSMMqfvXAMnpSqai8ce_DWg7dzUeSCqaGQcw_e_uXB2_98SXCSLpOl5197_tj-PRWNxAQoASSppCgaTACt64ZoQbZf4rf_M_-slWywAlPgpVe2BQDKFfiOmB7Utnnp9ea3-VuRRcWQIsALJ7r_nRfeAMxQXYPJRlbV5Izi9dwAdIep14pwtCDgUY99BLcezDw40qOBJKqRHDzaJi-8AloFK6QrQ4-c7hrppVe3XjgpCGZ6Hg9mU61GOLbAtMybVrjBtpF_AGuLzwsnvh6-7uVSOlUIP4OiWVT7SPfCSW0MZaSMMy8ch4G2OZFSSP0DI86FAth6B1BPtAZs8KJ1154iSV1TwcErUStmAciAl04AODc_wPzRU3nxzf_s-GO7_cHJsiJYkQJUDGHyJFhBJMgbyhTlwE4atH2_PNyMJ7-Nr-5vAFkS3OhRSAEP3kohlAdvGXtZDCop_otg_U_MENdxwGjuwduJKMgnwje_Hl8rUg9xpQ2Q-MF6nm_3N-PpDaibfEEVQCBv5jpOhFQ6YnoBR9VTkw-xWLTTb2thAqv24C1AvACUY9YU2lYEYInqJ5Aj_KwkwsSDE1CZgMSkrkkBWuvDiRmJ6lpgijRo2XBQY0krNdzrTP7Q80ffpJhLtABIzpsF4UorrvkSleGnzSqDVVZZcTZAdU2kooLXAyUb_uzB25zyDaVXHrwCg3nxE8lyEIHBHAyElouqSktvVNWoYQ0GC80FGAyWWTJA9WJQv3KFll54TbkiDAymYDCYYzxQQjD8hCj3wuuD6unONUdV_SQUGJRYMCEHBUVzLmpFcQ0GJRcDQ6zT7MSS4SfQ_PRCLNDhBX0TWo2UhCtQIVkTCZR4Jhx4MNXhDFMrAu4QoaM0SLUEymuFuKJIUT4HZcOxJhQUpKScmp8eTDdZQkeVjrWpCal2hvDgDPf33z-DuwcwJ5xIZESKEuhgRe0_d8ywEh0dFP2pFcnnAIuCgFLIYwUDD4Y-8Jf-6k-IkiL2M2DCw3SuX2v745ukXBnnfbQRkG06SfRzJmolCVp4MNFRQLky-UknnA9xYQ9e-ctWPZ3D1voHPf3zoMS79J8wgnhTfeVTOueIeTBruFnMC8CEnuUc2mplHG2ho-0oj4ooAxMdAw8EixciX616vyFeMD1p1jLp9JkIrshStQnRN_9fTxG2U6RZmSYZjmAM_Raaza7LLJkl0YBR3iwHc97YB3hYi2FiFDdDHLUjV-YoGZUYVOpJElTMniljp01gxjsTxH2lozQB89pwcaryUZo4shNXNszSMgQo14vESZLNQEdy6loT-0mKPtyLrFhn3syZt_T9MImAHWh9vV0_u_8wS-iqhb8QqR5tmdAZ9x8NYrb144PBaunAGHVhREGRosJ_C8Ztm5xt482Cqj943VR6ySfFfVvrdDHdLCsJsOC18uBYpyb8hLoNH460BbJGqnOU7yItQz-KT0dq4f1GWGUyw0GQe2T_i4uf_IvgXxrGZudI0S04B33QR5_HwXvR_5Nx53Hg4HaSfQT9CMN3-PcEMUYO4_54NFZZB03YQxP75Tt8WKPR2rt4Vq1H2fLBbHiMN0yZOIsxLToHfuTCj-Myg3pexAV_XYimBnrrW1emNhpZTacYMSQ1MA1dEdnuyGh9AhEjMPmkm6yw7TVfKxe7ykU49R1Pm6qFMrMKeYVqomtJVdhHqChmldBFvtSkn4wITjrVVhui43WtaSZ1IWpdjgaW9ICRBOd_h_XtMDpalbTnAD4ixd9R5Y5TdU9rte0E7pMj1cv6LoDL6P-FC4x6vMOwwKfnnY3Wb6wguRDsLCnFKN5NKbBXFRQ4C8jpyMb89QhY-8SO5_NOJj0ffIvOge_u3Aocw1F-Ony7GliP6jKwaV_xkJyjrLVqO7hgDxcm-ZvV-Q6H3ULUxTJ2g24sJXp9IKUXTjoDxkp1nCC8OQ9-Dc_BH7r4i2iE3oF_IhaVaHihUf9J1ZNo1BSL_o6l26tj55UfH-v3Z-DFwHZ4cSqIkIR5kr0j3FctV6J4PegfH4_Jquxgil1MsQ_D4jRM7fEV0Q9dPJ-YyBG7Jpi5zr4efzizTT6tOt7xUpw1CVjcDjGJS0zuxwl8i5jPomgY2ZjaErBCcb0-jTyOJtu-Xo7PAdugcmC7JyIE5VH65iZhN-x_IFyDxoGb9eGi4M0lbDfc_SDPAgQF7po16rlrXODwVCCPoronL6RVuwvHtqyMMqyQVEPfVH9dSTvLP_d8OgpTjIvkrRK1FavzipB3i4rZZnuoeljNT1I0lV5J4QhYta4aygqyuzh1T5-jMClgmHV5u0L4mfBiInjdLFbl_6l6fHQtZtXs2t89l06DBBUEObsHskCrzcnqroS8lZns3fW9wMg-c3L1ZnDrG5s12_3vh-Nv4Tn4nZol9cswD9I38U8YquvPZJETWZ-AfPLjxwPBQhYd6J3HnxumqPGMx_bed9xeCeo9oVPkdEat-k4rgili9C8z878oL87BoCXIYTDqMRj5JDiOwd2qv4PX_cJ2M_2rOdOUOJw51VNSBiQq4G7Oxlh95TfLilFM1YbA7ZCzJXIf6UHeth-ub8bM5dPxkiY_fhgFNKH7HPVrhf67Id-UdPcqK1t8QQtzw_m39N9UBZ8bhXJGdu-PviFZk6IfZSfOboXorRbNG0Xq75T8PGex2bqJ40dOsZlEeZ4naEtH2fltQsW4fUn7dwlKPLcmEc-kjYbj6dCRpgVvG35LiTXzuj7f7j_GmDhK7tzUdaWu5m6vR98w1JnMY9l3zJO65hn5JAwOMnO9ub5f46-3a4Sz8fx-ftue90iRDd963drOSbou09nssX1rbC31DDYxlDs2cSr3JI5j7B8OmY5NxqUickXqtlmQKTvfJukY4-g-lM-12Ifx3d3X3L6p1O_WD8mdPtH3_cNe8PFWsCQ7Vhj1rJCkMDlI1xFL4FsmOHEt-b_Hsiaxy3LkuywnYeJuUg7mH4Wkonz-J1VP73P5d7F2Bl4MbIeXoJeXU4TCY3n5BRyc2KM_xznOQFqSHBahy2Ic5_nh1e1mqYjk9nhjJ5sfwUYncdpl8jx0GLQOHWGPjgQl5UE69p8D7CmVneMBXaxuecJ622BPMO4WlZBqqkzonqfoMTAdHiKXhyjL4fYCO54-9vYvWnX3BP9MpwCtSo7Oce-sCWVBtuMUbNw9krdvN7dN7VvZH31eYxRxNHXvxRM_ToqRc7oidR7ixQ5Vz6Sk1cFR0r0xjzMURr0LDzutXcwx2c3oflRn8eVWTweIe7eeEILcm5tW5Q2el3UW7l9WOXjP8-6O1c8B4NRZPs78PCgBxsFsgbSMbPdNovOiXLsrdl-em4AXQYvz4LBadmHEvgsjHWGEwIr8SfBoMkUHzHSBGPtO8PoUeAemxD0w0DLaNdzZxReSvuw5BI57h8B5UaYjQ0xH7uql8pk03Jqnq29h2hclMGIsR_h5VnI34du5Wx-aBBOxWCBe9IN6pw3X73iISs-ONAcdfpSkfN4uI9bA6wGzGV4uzVv2XjjOUU3xrDbdWxadzrphpiSiql497olDjOmYELLzXHfpHPwaJ7KcmyEeTBla5AXyYLqhCmar17V_F_lue_Rfso6DMuqYYter1PbJQ8OnqCTs1aHzsOnOcD9jNXY8P-y5GIndquLfzkV6F0l7fcF9bS_MwrKI9xJnbIe2VswVm04y7w3UHfYdeR7oOnaKnQ62jy0gDGzHoXqlThYh9-L-GF5-F3m9n5TfRb51YXEoNa_9oEJU2o8QT-GxdZZfwqYmy2Ez6bGJo2ivl113fjuFw46KYZ8VfiGbZyhnDT0Of2lvYS9I3PK3qlBW-pu0Mt56AWrfsv3RNYnRzFHdqQ39PA7TPAJa6Y-e24p25h71vmwZFaMTP_UxQ7oyE78vk0Q-mM30sFmtkFSzDrijZyGRO0vQr-TSmAAr_-NtpoWvZ-8-dj7Q1e2gbHcYALcRUSLKSAF-UvUEyJIq-41dEEZazaYmYPAClAA1IYB2yv52svXH4PYjXaJjUg_e-RHxRXEZFqNwhC7IZZDCIInjKMouni7zLCdxkPglGpW4zOIMZxgnflBAGCcjEl_QS-jDyE8hDMIwhekwDWAJszxPithHUZJ4kU8WiLKhjpihkPML86nr5WiUpeEFQzlhtfmmHcJVhlgx4UHowYl-YL7UFHzwghg1zfH1hbw0n9Dmzbz2Ip_RWtWbORRVzHwqb2XG1158ZW0VX4Ndnwhrdo77zBhcE52-Cm2wRfv1LRAl-INLgtgNn1NOQDyMhuHwopHs8v2fAluKXi7h_wYAAP__kEumfA">