<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/114021>114021</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] Assertion `!T->isDependentType() && "should not see dependent types here"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:frontend,
crash-on-invalid,
clang:frontend:fuzzer
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
yijan4845
</td>
</tr>
</table>
<pre>
**This testcase is generated by a fuzzer.**
Compiler Explorer: [https://godbolt.org/z/n9oM9dYbc](https://godbolt.org/z/n9oM9dYbc)
This invalid code will crash on Clang Assertion Trunk.
```cpp
struct g {
int j;
};
void bar() {
g child[foo(100)];
auto q = [child]{};
const int n = sizeof(q);
}
```
It seems that this goes back to clang-11.
Stack dump:
```
clang++: /root/build/tools/clang/include/clang/AST/TypeNodes.inc:39: clang::TypeInfo clang::ASTContext::getTypeInfoImpl(const clang::Type*) const: Assertion `!T->isDependentType() && "should not see dependent types here"' failed.
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 -fno-verbose-asm -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics <source>
1. <source>:7:26: current parser token ';'
2. <source>:4:12: parsing function body 'bar'
3. <source>:4:12: in compound statement ('{}')
#0 0x0000000003bd3788 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3bd3788)
#1 0x0000000003bd148c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3bd148c)
#2 0x0000000003b1ee18 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007810afe42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007810afe969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x00007810afe42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007810afe287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00007810afe2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x00007810afe39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x00000000078da193 clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78da193)
#10 0x00000000078c2637 clang::ASTContext::getTypeInfo(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78c2637)
#11 0x00000000078da35b clang::ASTContext::getTypeInfoInChars(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78da35b)
#12 0x00000000078dadc3 clang::ASTContext::getTypeInfoInChars(clang::QualType) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78dadc3)
#13 0x0000000007e7bf15 (anonymous namespace)::ItaniumRecordLayoutBuilder::LayoutField(clang::FieldDecl const*, bool) RecordLayoutBuilder.cpp:0:0
#14 0x0000000007e7d9ff (anonymous namespace)::ItaniumRecordLayoutBuilder::LayoutFields(clang::RecordDecl const*) RecordLayoutBuilder.cpp:0:0
#15 0x0000000007e77edc clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7e77edc)
#16 0x00000000078d9e9c clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78d9e9c)
#17 0x00000000078c2637 clang::ASTContext::getTypeInfo(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78c2637)
#18 0x00000000078d907b clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78d907b)
#19 0x00000000078c2637 clang::ASTContext::getTypeInfo(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78c2637)
#20 0x00000000078da35b clang::ASTContext::getTypeInfoInChars(clang::Type const*) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78da35b)
#21 0x00000000078dadeb clang::ASTContext::getTypeSizeInChars(clang::QualType) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78dadeb)
#22 0x0000000007b2a3c8 HandleSizeof((anonymous namespace)::EvalInfo&, clang::SourceLocation, clang::QualType, clang::CharUnits&, SizeOfType) ExprConstant.cpp:0:0
#23 0x0000000007b39f7a (anonymous namespace)::IntExprEvaluator::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*) ExprConstant.cpp:0:0
#24 0x0000000007b67103 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) ExprConstant.cpp:0:0
#25 0x0000000007b56336 Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) ExprConstant.cpp:0:0
#26 0x0000000007b5e8ab EvaluateAsRValue((anonymous namespace)::EvalInfo&, clang::Expr const*, clang::APValue&) ExprConstant.cpp:0:0
#27 0x0000000007b60ec1 clang::Expr::EvaluateAsRValue(clang::Expr::EvalResult&, clang::ASTContext const&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7b60ec1)
#28 0x00000000068ccde7 GetExprRange(clang::ASTContext&, clang::Expr const*, unsigned int, bool, bool) SemaChecking.cpp:0:0
#29 0x00000000068f47a0 clang::Sema::CheckImplicitConversion(clang::Expr*, clang::QualType, clang::SourceLocation, bool*, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x68f47a0)
#30 0x00000000068f7cbd AnalyzeImplicitConversions(clang::Sema&, clang::Expr*, clang::SourceLocation, bool) (.constprop.0) SemaChecking.cpp:0:0
#31 0x00000000068f9825 clang::Sema::CheckCompletedExpr(clang::Expr*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x68f9825)
#32 0x0000000006dc89dc clang::Sema::ActOnFinishFullExpr(clang::Expr*, clang::SourceLocation, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6dc89dc)
#33 0x0000000006a5212f clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6a5212f)
#34 0x00000000066cfdaa clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66cfdaa)
#35 0x00000000066dedb9 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66dedb9)
#36 0x00000000066e76f7 clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, bool, clang::Parser::ForRangeInit*, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66e76f7)
#37 0x00000000066e7bb9 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66e7bb9)
#38 0x000000000679413a clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x679413a)
#39 0x0000000006794e70 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6794e70)
#40 0x0000000006795d45 clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6795d45)
#41 0x000000000679749a clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x679749a)
#42 0x00000000066ab0b3 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66ab0b3)
#43 0x00000000066df79d clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66df79d)
#44 0x000000000669edde clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x669edde)
#45 0x000000000669f59e clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x669f59e)
#46 0x00000000066a6d33 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66a6d33)
#47 0x00000000066a7c1d clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66a7c1d)
#48 0x000000000669a13a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x669a13a)
#49 0x000000000454b258 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x454b258)
#50 0x00000000048053c9 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x48053c9)
#51 0x000000000478458e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x478458e)
#52 0x00000000048eadee clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x48eadee)
#53 0x0000000000ce38ff cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xce38ff)
#54 0x0000000000cdb5ca ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#55 0x000000000458e709 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
#56 0x0000000003b1f2c4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3b1f2c4)
#57 0x000000000458ecff 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
#58 0x0000000004554d2d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4554d2d)
#59 0x0000000004555e1d 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+++0x4555e1d)
#60 0x000000000455d205 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x455d205)
#61 0x0000000000ce07a9 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xce07a9)
#62 0x0000000000bae254 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xbae254)
#63 0x00007810afe29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#64 0x00007810afe29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#65 0x0000000000cdb07e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xcdb07e)
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/eJzsW11z27iS_TX0C0oqEvx-8IMsR7OZyt1kI9-p2icXCDQlTCiAA4CO7V-_BZCyBEryR9ZK5u7eKc-MTQKNc043Gg2SIFrzlQC4DNKrIL2-IJ1ZS3X5wP8kIimS9KKS7OEywLMAz27WXCMD2lCiAXGNViBAEQMMVQ-IoLp7fAQ17RsH4XUQDv-dy03LG1Dow33bSAUqiGcoSK_WxrQ6iGcBXgR4sZKsko2ZSrUK8OIxwAtRyn-U7L8rGqTXAS5e3xyX-8M73FzckYYzRCUD9J03DaKK6DWSAs0bIlZopjUow6VAN6oT36aDhSzsf2jb9le0UR01aIWC_Kq_grgw6M8gvkJDn_w6iId7d5IzVBEV4CLA5V4ftEJ0zRsWpFe1lAEuojC0uNNdX4RIZyT6CwXxtZVraH9tjeT7zagU2jgUwrXV_BFkHeDiL2tx28728Tnti_TRIA2w0cisiUHGSraSoFFF6DdkJKJWpEkUTfc7LY29y7pNa91yzLjrFuAr-2OdjhdKShPgRdVZMnhhpGx0gBdDwwUXtOkY7F2ZLW8CvLh5aOE_JQM95YIG8Swurb2-TTwL4plt8FHUcv_abHkzl8LAven_XoHZNvu4aZsAF710IzMugsteVjvKLjQsLxzdTIL4A9fX0IJgIEzfp3cwzgKcoQBjvZZdw5CQTljEto2ReWhBozUoCDAOcI5qwhtgg7BfPn2YLT8g3VUbbhBBVbdCClqpjPXCaApws-6qKZWbAC-a5m77v0mr5J9Arcxc6w6svogIhgZxkVnDEP7WvUYRCgGeo1ZBqyQFrYEhLTvVX7Y9idaScjfXVSeQpoq3ZnoyCsJpEJZflFwpskFErboNCKOHCJCtRUaHpDCBbVIYXD4hW7n1xNipaKOFi11E2GBCkxX7TlQ9SdBkhSbS2iVta613pu3MVKPJxmqBJpP7IpsQvZnoB2HIfRBfc2GgQZNayMkdqEpqsPfRZIkmkxWlExuTdE24COLrZ_HaxlqQVq-lQZOaykaqCeNkJaQ2nOp-DKe0dzmI54O88YdeMDuvSu9yPMuDeIYzF-adUjZ0WqI0KGTkNxAowLmd2zjvLeAjFpIgnkXYWrA9uVihuhPURbLN69aEy02DifhZE1wgq4HsBEPaEAPWp8jFfT6kJJw_pV4U4DhE4X24_SeuWJwXBXJx6qaaftD9L18UF8ZF0U0fisWukSLfb6U2CsjGza25zXP9TCveKZYCfBXeD_A8_NEIf5QU9Bj-eQNEdO1nseQrQWxa6YRbVhlqpB3lHGgtGA8t9tFGAFGB5jb2vgKVd6Aeenj_QQRr7KDFoKTXZsiXU7vexbPQ_fs0RDwMkRdRSGpIcIrDgVrDqwAv7ovsNksmDRfd_WQluv4GnWo5zRxw18WDnfg2y6ysKWrNWgFht9_sQv2mAVx_b4B0DDrJM7TSTou3gk_yzLOd-bZxkdcxIpXN1m-y7Dp6lvMDy1H1ZptR5dksfJtxCWX2Npuui2ez3I-6vGAkKuM3LsH-4jssu3tL8HtPngHlrkrEcRT6NCjO4vyVNH4NBYfQoxCNPRGn1Ws9IeZrovSvckacVh4TPGbC6Ktj6hiT_-pI09doZyTBqB9RsUcC8qqOUjsuEVI8bGSnkSAb0K1b8Moe6EdDBO82Nhcr9ok8yM5c2TrZ7ZiCeNZfWnCwpfM-Q3fpGmiz57A5qqRsLOcj9g7zu8WcjDCzsq7fEfPILX2XEeo3oE1HaHNg9IUwmS1v9s2_Cs95IqaH60VMNgr7EsqX-PwNUqlF6dHI__VTaTH2RJi_OpX-Qk-EuZ9Hy395T-Dw_8qihg-WZwavYbLkj_ALFzXwSfgrc4VJTAvUbyiW24dOL6wXH-5I00eY283tMVq6becnSYmFN7q5o-tdtsL8U3CjB3MWxed6q8uH-1bNrTZEHNnRWEL-Kl3FZZ2TF1c8YaxhS6QjRg7r3B9cc_NPQdSDvflZWQw3inDX1nfdqVZeYL6M3V-tqyyPQq9MWpqNcaikuiIagni-27tuyDe4dcPdtkZZ5d5KeltfuKcEW_4-TwvgjZz8Nb1KszjO0DAo-NZnX_4gTQeD43846n5A-GwEEgpSPYGc6a8Drh-fCSNM3r192q8Bm4-iJAQajcfa4RkxONnuK-iuMYfId1lsiz_br0TPk6h6Ul6i8lbwrKCUQY5-AxfDX4lYjWNpl3xfdsbTwx33_GRLbkdyCRsyXwP9xsXquE9KH12d5CT0Zi5syDa_Af1mawpOuZlLcQdKu-R44JqDQDmRMQ-zbI_b2zG8s4cGivse8h8OZkWd04qhmSDNwyMcEh4tfk6go5461OEUYcdy6hzbKtlOw1f5zn8omBV1WeD0Gd_N5aZtwAA7XAZ-AO47O8Vi95zire8Zo0Xpb6l25GbUfBYLLrheL7qm-d-yO5xF7822J-Ox9Rb_jKQ4wvUJtox9FNxw0vBHUDfSbhJ9uv2VMd09Ec7Fq4ft8fIKgyyjNSNkH9UX9xph73cLnijnklltQG3_lmom2MwYxavOgD5k3Dc6nIkHI7Ab2LQNMcMrur2l4USvhezztJV9WJjfW7leGE-51FeOAavKF5X7Tcmu9bX50r9usXeXLdBDqjvxntadQyk86d8m8cvV9ThUf7b4TltP_MwXH_Kszp9lvOQ2t-4F76kAPa7xWJGjCr_sg8MW21T2WnVf8tMZ1HfieurnY_WrV4T-30v3X6BiNYphv-7MyySKn0-9y-2b1M9qnIW9xLvbui03pGn-AOp2nvPRdmuIpxh3dmP2iqRhO73OTUcTxtvd9P5u6FX23FCO3QB5-ANu-LvofhbNIPcK8iQcaZayJH2Ww3z4GuBJuyvJHgJcnKvS6SF5mKMR5jwpn59ui-H7hzHmFyu5w4ihsoWzRbQl4jH1K_OMVGEVv4rpNdTclq7jLL1XopyvivtEDOyywCeuz1ZOOEE8xeJRLVfnJft3LXeeWs5q64k_2oKUwBi8KP5ntRe0H4UB1X9N8861wYsOnVEKWtt7vOZWkTNI5hTxJBvtPco6LV-WbFioPOVOTvd3F-7g2eTPEM7q4gk32jeQjMXPp8YP931onaxgzyXWOfKeZevJMSrkSU6j5_PejWw_wR00hw81Prfkrw6-mFHB85Qov0J9tNzZPTj5h2RdAx83rVTGrblnWjF7mp4OxWg-kWOluPu4-MSTxXM_keoheZi9ujVJkwqnhfe6SzL4DcTMTfXtIyagnYHh0vYr5HdFOgDZR5p61WJShGlMve3iQtm1ULAjUM8EssfggfTKwyQvkrQAX85-2I_uBQqF44qeZnWWWB5wekSwrzYQBuA_Z3SQd3zunmqD4jm-Z0lKAz6PgFeMhRTioq4RpdHthnB_mzVTijy4xDKna7L35sUmmjnyr-E5upOcnYdHj9Kjkfg0WJVSgrbiz6MblymO7xndhyHHOLlcs-tibRy-QisRU_zuxJdQaeqnjQLysHTC7Nndfvl9q5y27m4_E59e4VLSNBWh325r4Sf8fuwhhubRXG42RLDxpD7qQ22GdrK1o5PGew29NIqL1bCM9A5-6nB7S-_vo6j_oyKa01vtmg8qeo3thVujCDd6e3tkjjSNnRP95n24b5vMvFdgu1Mf9gfnDdlUjLgP27dS4WL7Uffvsjruj2z0KXaNabLnimMfXPd3vnZiSWpoHjw5n3fdOb4ud4i9yM_HIUZr713J_7sQcW8PW6JM_-LwZCwUvnBpwjA7KZzzHTlYMbdqesl81NE2OLUlf6bp7Ge8oR9oewE1KnXSFKI36_K7rPRpUX6X1Seu_Q8RnkvNT3HQEm5DYHi9_1odh2D5KWpasfbVzMKRmgyH6Snk13u_e4XDkYrhlBd-oppnKGedPJ5-0ag-CXMylLPbCmWL36WV2ZAUXl62370mscg86F5tGFYEcJogC_q9x-5Ne2OPDgThkpVvPBDkung2k7FNSEJ0e2u73WpDlLndI_fqUSDxR0nHlVyYA-rtv7vPnPGn0fdvxzMESrlPCPtoQ_Www0B0mBH96VD0nZs1gntu-hPMUZxYmJ0GNLlDRrozpnyv7C9HR68VmE4JsHPSdh4d1r1glzEr45JcwGWUx2FUpnEZXqwvoS6imkFYUcYgB0Lqqs6ApHmVxSWL8QW_xCFOohCXYZmUaThNwxCzjKZhWWKaJyRIQtgQ3kztXJlKtbpwZ1IvoygJcXTRkAoa7Y6fY7xNDlsR3AHZub3hjlBKMRmOce9ujHvYaunx0boJB-n1hbp0B2KrbqWDJGy4NnoHxHDTuJPvvZX0-ied9L3oVHP540d5B-XuLvH_BAAA__83IZJM">