<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/139940>139940</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang crashes on lambda forwarding in template with LocalInstantiationScope::findInstantiationOf assertion since clang 17 with -std=c++20
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          mariete1223
      </td>
    </tr>
</table>

<pre>
    The following code causes Clang to crash with an assertion failure during template instantiation.

## Assertion

```
clang++: /root/llvm-project/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:4558: llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::ValueDecl*, 4>*>* clang::LocalInstantiationScope::findInstantiationOf(const clang::Decl*): Assertion `isa<LabelDecl>(D) && "declaration not instantiated in this scope"' failed.
```

## Stack dump

```
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 -x c++ -std=c++23 <source>
1.      <source>:16:40: current parser token ')'
2.      <source>:12:1: parsing function body 'main'
3.      <source>:12:1: in compound statement ('{}')
4.      <source>:4:16: instantiating function definition 'make_lambda<(lambda at <source>:13:21), int &, std::basic_string<char> &>'
 #0 0x0000000003f95368 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3f95368)
 #1 0x0000000003f92ff4 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3f92ff4)
 #2 0x0000000003ed7c28 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007e7853242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007e78532969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007e7853242476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007e78532287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007e785322871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007e7853239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00000000071cc075 clang::LocalInstantiationScope::findInstantiationOf(clang::Decl const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x71cc075)
#10 0x0000000007295038 clang::Sema::CheckParameterPacksForExpansion(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation>>, clang::MultiLevelTemplateArgumentList const&, bool&, bool&, clang::UnsignedOrNone&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7295038)
#11 0x00000000071d5d1a clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) SemaTemplateInstantiate.cpp:0:0
#12 0x00000000071e0df9 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) SemaTemplateInstantiate.cpp:0:0
#13 0x00000000071d42c8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#14 0x00000000071e5307 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#15 0x00000000071e42d4 clang::QualType clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformFunctionProtoType<clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformFunctionProtoType(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc)::'lambda'(clang::FunctionProtoType::ExceptionSpecInfo&, bool&)>(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc, clang::CXXRecordDecl*, clang::Qualifiers, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformFunctionProtoType(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc)::'lambda'(clang::FunctionProtoType::ExceptionSpecInfo&, bool&)) (.constprop.0) SemaTemplateInstantiate.cpp:0:0
#16 0x00000000071e56e7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#17 0x00000000071d2812 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformLambdaExpr(clang::LambdaExpr*) SemaTemplateInstantiate.cpp:0:0
#18 0x00000000071d3ec2 (anonymous namespace)::TemplateInstantiator::TransformLambdaExpr(clang::LambdaExpr*) SemaTemplateInstantiate.cpp:0:0
#19 0x00000000071d444f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#20 0x00000000071d6475 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (.part.0) SemaTemplateInstantiate.cpp:0:0
#21 0x00000000071d681c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) SemaTemplateInstantiate.cpp:0:0
#22 0x0000000007214bfe clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) SemaTemplateInstantiate.cpp:0:0
#23 0x000000000721df24 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x721df24)
#24 0x000000000727d6b7 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x727d6b7)
#25 0x0000000006b5896e void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::'lambda'()>(long) SemaExpr.cpp:0:0
#26 0x0000000007f1f7e1 clang::StackExhaustionHandler::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7f1f7e1)
#27 0x0000000006b56aaf clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6b56aaf)
#28 0x0000000006b5712d MarkExprReferenced(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::Expr*, bool, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&) SemaExpr.cpp:0:0
#29 0x0000000006b47139 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6b47139)
#30 0x0000000006f4c43d clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6f4c43d)
#31 0x0000000006f8304e FinishOverloadedCallExpr(clang::Sema&, clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, clang::OverloadCandidateSet*, clang::OverloadCandidate**, clang::OverloadingResult, bool) SemaOverload.cpp:0:0
#32 0x0000000006f84130 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6f84130)
#33 0x0000000006b7c656 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6b7c656)
#34 0x0000000006b7d85e clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6b7d85e)
#35 0x000000000669f6dd clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x669f6dd)
#36 0x00000000066980ea clang::Parser::ParseCastExpression(clang::CastParseKind, bool, bool&, clang::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66980ea)
#37 0x000000000669a287 clang::Parser::ParseCastExpression(clang::CastParseKind, bool, clang::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x669a287)
#38 0x000000000669a319 clang::Parser::ParseAssignmentExpression(clang::TypeCastState) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x669a319)
#39 0x0000000006650c08 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6650c08)
#40 0x00000000066604f9 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+++0x66604f9)
#41 0x0000000006669197 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+++0x6669197)
#42 0x0000000006669659 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6669659)
#43 0x00000000067273ea clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67273ea)
#44 0x00000000067280dd clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67280dd)
#45 0x000000000672fe03 clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x672fe03)
#46 0x00000000067305ca clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67305ca)
#47 0x000000000662a573 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x662a573)
#48 0x0000000006660efd 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+++0x6660efd)
#49 0x000000000661e0ae clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x661e0ae)
#50 0x000000000661e869 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x661e869)
#51 0x000000000662618a clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x662618a)
#52 0x000000000662712d clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x662712d)
#53 0x000000000661950a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x661950a)
#54 0x000000000493b128 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x493b128)
#55 0x0000000004c31795 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4c31795)
#56 0x0000000004bb03ce clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4bb03ce)
#57 0x0000000004d25339 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4d25339)
#58 0x0000000000dab05f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xdab05f)
#59 0x0000000000da122a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#60 0x00000000049a2379 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
#61 0x0000000003ed80c4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3ed80c4)
#62 0x00000000049a298f 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
#63 0x000000000496475d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x496475d)
#64 0x00000000049657ee 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+++0x49657ee)
#65 0x000000000496dad5 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x496dad5)
#66 0x0000000000da6fc8 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xda6fc8)
#67 0x0000000000c2c8f4 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc2c8f4)
#68 0x00007e7853229d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#69 0x00007e7853229e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#70 0x0000000000da0cd5 _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xda0cd5)
```

## Program

```
#include <iostream>
using namespace std;
template <typename R, typename... Args >
constexpr auto make_lambda(const R &lambda, Args&&... args)
    -> decltype(lambda(forward<Args>(args)...))
{
    return [lbd = forward<R>(lambda), args = forward<Args>(args)...]() -> decltype(lambda(args...)){

    };
}
int main(int argc, char* argv[])
{
    auto callback = [](int x, const string& y) -> bool {};
 int a{1};
    string b{"test"};
    auto f = make_lambda(callback, a, b);
}
```

To reproduce:

https://godbolt.org/z/ozx3arr5o
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsXF934yiW_zTKC8c-Evr_kAfHqcxWb7orG2dm5y0HI-RoIwstoJTTn34PIFkCy07cY1X_2amTSmwJLr_7u5fLBSEQ58WmIuTaCW-c8PYKNeKFsustYgURxIPQv1rT7P366YWAnJYl_V5UG4BpRgBGDSccLEtUbYCgADPEX8D3QrwAVAHEOWGioBXIUVE2jICsYbKuINu6RIKAouICVaJAstTccRfyB_oO9MGiq9xejdz2x11g2ZwDb-SPvwAOvGOUCgfeleXbdlYz-j8Ed18deCcoLbkD79pqd2WxduDdimxR--ephfN1j4bMcV07_iIIw0Q2oST5C8dfPNCiEoT9vZLI_KWWqe7cElw6cOHA5aD4aovK8h8EC8rM0v9AZUMGVQLH_yI_qt9gUPCeYlR-HfK0wrQm-mZeVJlx71vuwATTigswBi2VyuyZBU7kFhw5_vIerUmpSsn2k1sHpsCBkQMj4ECYEVwipuSDioqB1UgGigqIl4IDrlBB6MBYmZtkc8tsvW1XAuFXkDXb-tC4g3u-vOfOHTd9YHTD0BYgtmm2pBK8tTutpZ0x3dZFSdiM7OqSMsI6Y8_2HshngjXVqwPv1kXV-4J0ITDbZN8Ry2cBmG3AjEq5qK6l9EbUjZhzMNtKi4LZbJdEM8S3M_5eCbRz_FvpDCWY5RWdvRG2ppzI-2C2ArPZBuOZ9D38gorK8W9P4pWFeYVq_kIFmOWYlpTNsgJtKspFgbluQ_Uv8_IO4E4PLjLHv22_Qh84_pLThmEireouPMmkcc1feJH0clfSiRvGSCVAjRgnDAj6SirgwFh6DYwddwHH6kP5S1aX1WTfzpsKK0-RMUPW30rtlQD_pICiApIY2lQZ4AIJIg0NHJjIyvGNE9-2YNxFMCIo6LQZBpUhnozkRVVov5eoXslzibbrTPq_AxP9GSABbIS-4y-gp2hYgkJhiuRHRbfsXmvEC_zMhYxtspe_IOb4X1Qx2Z2k6sCBvgvcndv98_M09KNkECr4O29DDCsqobrBE0OYSGz7Qgx9f6ZcMIK2LYqiErq3JhfqDw68cXctPE23BO9Z4GGeB2PglyVBVVN_q1bFpkKlA5OmUsNLBkoqm5gCqgTTQ4UGVJLFGCZgKXvOI8H0jbB3je0_UJWVssWk5dAos6SVIDvRDgSu-q_l-638mMRJ6MMAhtBtldJDyy6JnqNgVhZVs5ttqkbfwHNO55GCrKr0gANTYBqlOQa1eGEEZc-vRVmeJ13V76WHNtwgjsCGKwrOhR3EUS84MgXDJM59gNaUifPEqoq92PhArLc-W6C37gUmpkA_JWl0nkBVpReYDh0s9jB24_BfHbLNwRqoIVwP2ZfuLy1grY7s2UZcimEaun4yVEdlSrpzvxD8-oAY2hJB2APCr_yOsi-7GlVc5kOGHisVQyUXKouDS3Bw8xFVG2ImTAvG0PsjyWUQ7uJrjQqZPX0mCetSuaf3mjwgtpV_B2QaGH5BW5J1qZEM1CMI9_DlUGAX-bkpRXFP3kjZNbto85P7QiZgulkVpdeUlocfB7L-3kbJb-wXWhF1__KW17btLe-ZjpyFmYeGoJ4YIU8MVTynbKuHSVTR6n1LGw4qtCW8VgNUapLfu7fMer90slo5X3Y146aryEsq7R0Yaj9sqODc0XYkt_66rUvTEVqRymgD2lWHOp3zd6FeEgRNgoib5enkBC1RWWr4Q476q2fq4FtGDiBOfoiRR218HvbA4j_03Xhy7DJmmNjllXuKb5qizGTHsztve_883UJLtwBmwVDofzWo1OFrYn3v2gz5gVFBlfJmSP0xbZ5F-EF1zb6-6cC4TezlfCE5Va1zTUxqNUzXBH-tcmpH6lRPi_9lgEaR5T__KXNNlg1WASzzF3lBZKxc_g4-8Me2hx4c52rAqBmt5-55nS-yA0tE_jKBJbYCPkw8OLlu98rCh2F_eP3M4J9YevgEQ_CbwE6NNLWH2CDI_yRDLHQt7FFgTmYmwf61KkSByuJXckyFrrfrfl4jJs7s4tBObqPEw5Mr9khEw6qV2ApTr-H1Mw1k5qDQC9b59DnBsl2JO9TEvGNY6vM6-ZZOWQ6D8SnnqllzcYhi0PpvmZBNMLVSOuynVtDMXGGcRet4XMMBU914eLtfqjxjSt1X3qcT3ZzJ_DuB8kq9XnkjtY3WYZJGBLzRIhvM3rp12WemJvvqrsKV7r0Ro7JcI_z6nFuz_J68nxF77RR_JDlhpMIkuwRr48nLPhfsFjMlFBm0RpzczDFyL4-JZ7iAQPj1y-4FNVwi6JYj9TpvU_13IV5WTZ4XuCDtevBK9-TTyn2W4gn8QOvY-0Fs-UGEUD7eCSa046W1bPXotUwsLWMPZkAqJP3iqDLq8aOd751UcXyecDBiDj3gllSc_Ixq-9kjsxYZl90qy2FVlX9_WF36VrtA1ovIiEBFaYp70Gt5n0DTrrhFH_Sy1GQ_iD0_HfcxlWXLph5Jfpg82Q9kR2biI8yrWv9ZVNmIrdpHpr-gLZEkGuuBw2VIwgXJZCk53VFTvsPJorFWeYbPjI2DQzBTLDC3Rth3EPPBV5QHOPCzcRPdFbtvb4SVFGUkO4gHR1NFi_gFxoRz5WkfBInL666163X3TN0T3w0IuCuqgr_0mo6v-B0JEfo5-4kwYKwqM8Jp-Uaye0pfm3q81Kkx5OdGoHVJBsvyRxZZP--T4yA6NpaoyooMCbIiIxneQSlV5Fipoto8Et6Uws5SuwKH8cR8ehjlSeD57ol48qER_0rmmjiPbNnuO49vxvYYR2F0whYXsMBfl1vNXs9tYHGbJSEZ53aBxbfqT8ztFFxKtnouzflOlOZRZgxwD2pLzeDzA-UiL3YSIuG8oJVK9HcmuYt29FMBbJQQuASCNWSabL7Vo9cysrRMXIJOarlEXPQq2o-zuFCFuuTJ9P-xhVBZZSVUzLeLT2JlrWGvf2zpj2ASX17_311pqVavdGIr7XvpSaUXajepzDWPqW6pNYkOvjfIP80pQhS62E1O6jDI3he5IKz7TtmiyhZCsGLdCMIP923oQofue9BC1q-THZ8ZDGvdUaZ2S3ytiqnSdk3MnrbATNujyA3y06aXDPyN0aY2iXnQOwPlXTnDOdSzZ67ddDXGg8H7efx-PM-2h6ofzbzitmfes5hPvfR0pFkV27ocuu0x1xwn2KZjlN6PDXBYYiSonaT2IyNNQb0kt6ce2tRH4cdO_8ci_XegMAoH3mtm7TGM_Q_yhFW32_cbsyOvEWw_sa1-8FwABk2_--dkrJCVPmej0Thxvo0ubwPNcm-DwLJB4n6QkY7b4I9C-hSESUp6wkKLsJy4_unkbv8crCXuhmbvDkymmr9pSD1gMxuPfTfEp3tZt_hlA7ZC1unBUPuKnvVN48hKkV5NK-mGKIxP2-WjZ2iDbGS6bO0eCdL3_PtisqVWTUhPV2LnbCQ_3e__nbP99pyN5IMAYk0yPOIi8iHz39jAXb9WgjD9zsSF04APralXzPfPHybhSzGy5yt0bb6S6NOJlkHb0V5-cdZsj_sxrCVRn1uF1swARl5yOup_2WmnOpqmTsXUFLFOattzYaXqUD13PcXFE63V5hA9zA1J-Faj_23Ig2CHr3Sq4KiWJEfSmsEDbJo1Jfm6rSnrFjYmGR-1mj0JvtWN0tA9dIjF6unoo6Wp1501pB6wkZkGqb_2oLEYs6QZ-Rup9OJnt9xJcCNIe0ltYLg0zBZID9PIBwPse3FqbIu7Y3LYq7IRnBMh1Bh6hEYCGKzXro-JSaRuU-8vwmScy-MqTeK_Lc5eCyO_CzIY-ubj-xZvr8zbPgGwd6UZyk4Sglp8PXoj3XIztHbDHGDsPeuXXpPR95rwC2L98_f2oYZxrdtQMYkSGmWvQ2rp4EGIQEf70ntScWF8Gti9dnOgUGQ-3ZEy2jTR2ISXseKNjGzqiFwzSCDox-klN5DphlvXWXpLut2iKrN78em30qjaoo5K4820lXoJuB0utGn3FZ6f8W7nefrL2DvDw8LywrNgqBC8f6XYKIHKUnYFPRlv7-szBMwnBJpwVeWjzWw_0fWIMTzrfdrExcNXf8femtV3HptqhXJSvhtc_uhdaS3ivcNH0HauNDF2pf2_cw5ri_W4F_gma1EQh9lR1pTV0MHI2FFphG6roixwbIp9oujCSGcGil02S1Bq965kJTNRGBNyLik_0TU_zshPdH3wMumpWGy_NNvu6_ssif2mu-mplGT1VIYWlRnKwmOwbwefjQRhJDM4ZoIfSOUE2aqipycvssbwKO_e8ewykQ68CiWLg3Nqjo3QF889JLIet5H9uRjiJA-ARHzphrXovmHrTACYZumZZzioKr3A1BZIAhc8P8s6z1wgJp4Han26CRL0TcSuZWQXZyHQwi9vJym8bXr0CJ_2RJ7D83sc6BcVLpuMANlnusNK1Ak0jTohZv9Oih6ubhx3sT8QyvGX4r0msgh4VPtb2m_z-Rws2IYDLUn5KNnVDKBGUDA8zaU7_-gRODDqri1VZX2kkRSF1Dd1oAMAYOb4X0BGcCn0G3p7STll3xHLHH-pqqtkqa06n8_1i4hS5_imlcTUez7ACW_KdQYc_xb0Ih7bZKsVro6TQVqlYbHRlsLbdlZ5FKos3GNSgFpMTnyrWZYf3EVRCdAHBYkADyKD_P6mDwKzdVNMdym1At2VU4J2Soqivs1cYATe95jlaALac3wUGnWUDnLiG6-_BEBbF6xlUQgFkaEIGiUUjlwBsOzeYlPEqhFMJZW96pYrP1HASM1o1ujZsbr4IkStzrKBdw6829BsTUsxp2zjwLtfZR_7decjxkJ6lV37Weqn6Ipce3EQwyD2_PDq5ToKozTKEpQkHiJ-7uEExsQPU-xHLoFRfFVcQxeGbugFXuK6vjfHZL0OvDRZ4wwGIU6dwCVbVJRzGaBl21cF5w259vw0DdyrEq1JydVxbRC2XRc64e0Vu1YnoK2bDXcCtyy44L0IUYiSXOuj2tQ5UoQDWoH23KPW_yT1RdUf0KaOcjv3PJPBwW-8qLpVCeDFWpx1TpV71bDy2qK9EC_Neo7ptj_GzTrcTTHCHXjXkvJ2Df8vAAD__xMzacQ">