<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/120009>120009</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[c++] Crash at type deductions of static member.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
cassioneri
</td>
</tr>
</table>
<pre>
## Code
```
template <typename>
struct a {
static const int b = 0;
static constexpr decltype(&b) c = &b;
};
auto x = a<int>::c;
```
## Stack dump
```
0. Program arguments: clang++ -emit-llvm -Xclang -disable-llvm-passes -c main.cpp
1. <eof> parser at end of file
2. main.cpp:7:6: LLVM IR generation of declaration 'x'
3. main.cpp:7:6: Generating code for declaration 'x'
#0 0x00007941e87fcd90 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/Unix/Signals.inc:723:22
#1 0x00007941e87fa26d llvm::sys::RunSignalHandlers() /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/Signals.cpp:105:20
#2 0x00007941e87fa26d llvm::sys::CleanupOnSignal(unsigned long) /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/Unix/Signals.inc:367:31
#3 0x00007941e86e08e9 HandleCrash /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:73:5
#4 0x00007941e86e08e9 CrashRecoverySignalHandler /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:390:62
#5 0x00007941e7bfe1d0 (/usr/lib/libc.so.6+0x3d1d0)
#6 0x00007941e8a2eae6 llvm::Type::isIntegerTy(unsigned int) const /usr/src/debug/llvm/llvm-18.1.8.src/lib/IR/Type.cpp:57:24
#7 0x00007941f28868c6 clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (.constprop.0) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CodeGenTypes.cpp:113:0
#8 0x00007941f1829ebe tryEmit /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CGExprConstant.cpp:1880:49
#9 0x00007941f1829ebe clang::CodeGen::ConstantEmitter::tryEmitPrivate(clang::APValue const&, clang::QualType) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CGExprConstant.cpp:2094:65
#10 0x00007941f182aeb1 clang::CodeGen::ConstantEmitter::tryEmitPrivateForMemory(clang::APValue const&, clang::QualType) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CGExprConstant.cpp:1731:26
#11 0x00007941f182b225 clang::CodeGen::ConstantEmitter::markIfFailed(llvm::Constant*) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/ConstantEmitter.h:165:5
#12 0x00007941f182b225 clang::CodeGen::ConstantEmitter::tryEmitForInitializer(clang::VarDecl const&) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CGExprConstant.cpp:1472:22
#13 0x00007941f1a0de16 clang::CodeGen::CodeGenModule::EmitGlobalVarDefinition(clang::VarDecl const*, bool) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CodeGenModule.cpp:5334:5
#14 0x00007941f1a223e5 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CodeGenModule.cpp:4101:60
#15 0x00007941f1a22dc3 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CodeGenModule.cpp:3824:27
#16 0x00007941f1a2b6ad clang::Decl::getKind() const /usr/src/debug/clang/clang-18.1.8.src/include/clang/AST/DeclBase.h:447:0
#17 0x00007941f1a2b6ad clang::DecompositionDecl::classof(clang::Decl const*) /usr/src/debug/clang/clang-18.1.8.src/include/clang/AST/DeclCXX.h:4197:0
#18 0x00007941f1a2b6ad llvm::isa_impl<clang::DecompositionDecl, clang::Decl, void>::doit(clang::Decl const&) /usr/include/llvm/Support/Casting.h:64:0
#19 0x00007941f1a2b6ad llvm::isa_impl_cl<clang::DecompositionDecl, clang::Decl const*>::doit(clang::Decl const*) /usr/include/llvm/Support/Casting.h:110:0
#20 0x00007941f1a2b6ad llvm::isa_impl_wrap<clang::DecompositionDecl, clang::Decl const*, clang::Decl const*>::doit(clang::Decl const* const&) /usr/include/llvm/Support/Casting.h:137:0
#21 0x00007941f1a2b6ad llvm::isa_impl_wrap<clang::DecompositionDecl, clang::Decl* const, clang::Decl const*>::doit(clang::Decl* const&) /usr/include/llvm/Support/Casting.h:129:0
#22 0x00007941f1a2b6ad llvm::CastIsPossible<clang::DecompositionDecl, clang::Decl*, void>::isPossible(clang::Decl* const&) /usr/include/llvm/Support/Casting.h:257:0
#23 0x00007941f1a2b6ad llvm::CastInfo<clang::DecompositionDecl, clang::Decl*, void>::doCastIfPossible(clang::Decl* const&) /usr/include/llvm/Support/Casting.h:493:0
#24 0x00007941f1a2b6ad decltype(auto) llvm::dyn_cast<clang::DecompositionDecl, clang::Decl>(clang::Decl*) /usr/include/llvm/Support/Casting.h:663:0
#25 0x00007941f1a2b6ad clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CodeGenModule.cpp:6753:0
#26 0x00007941f1a88853 HandleTopLevelDecl /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/ModuleBuilder.cpp:189:0
#27 0x00007941f19a1597 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) /usr/src/debug/clang/clang-18.1.8.src/lib/CodeGen/CodeGenAction.cpp:208:3
#28 0x00007941f067c022 clang::ParseAST(clang::Sema&, bool, bool) /usr/src/debug/clang/clang-18.1.8.src/lib/Parse/ParseAST.cpp:167:17
#29 0x00007941f2147451 clang::FrontendAction::Execute() /usr/src/debug/clang/clang-18.1.8.src/lib/Frontend/FrontendAction.cpp:1069:21
#30 0x00007941f20e8097 llvm::Error::getPtr() const /usr/include/llvm/Support/Error.h:279:0
#31 0x00007941f20e8097 llvm::Error::operator bool() /usr/include/llvm/Support/Error.h:239:0
#32 0x00007941f20e8097 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/src/debug/clang/clang-18.1.8.src/lib/Frontend/CompilerInstance.cpp:1057:0
#33 0x00007941f219f7fd 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
#34 0x00007941f219f7fd 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
#35 0x00007941f219f7fd 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
#36 0x00007941f219f7fd clang::CompilerInvocation::getFrontendOpts() /usr/src/debug/clang/clang-18.1.8.src/include/clang/Frontend/CompilerInvocation.h:254:0
#37 0x00007941f219f7fd clang::CompilerInstance::getFrontendOpts() /usr/src/debug/clang/clang-18.1.8.src/include/clang/Frontend/CompilerInstance.h:291:0
#38 0x00007941f219f7fd clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/src/debug/clang/clang-18.1.8.src/lib/FrontendTool/ExecuteCompilerInvocation.cpp:273:0
#39 0x00005995236873a4 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/src/debug/clang/clang-18.1.8.src/tools/driver/cc1_main.cpp:294:40
#40 0x000059952368b70a ExecuteCC1Tool /usr/src/debug/clang/clang-18.1.8.src/tools/driver/driver.cpp:365:20
#41 0x00007941f1e1d485 operator() /usr/src/debug/clang/clang-18.1.8.src/lib/Driver/Job.cpp:440:32
#42 0x00007941f1e1d485 callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef> >, std::string*, bool*) const::<lambda()> > /usr/include/llvm/ADT/STLFunctionalExtras.h:45:52
#43 0x00007941e86e0d3a llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:428:1
#44 0x00007941f1e1fe16 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/clang/clang-18.1.8.src/lib/Driver/Job.cpp:444:10
#45 0x00007941f1ddb039 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /usr/src/debug/clang/clang-18.1.8.src/lib/Driver/Compilation.cpp:200:3
#46 0x00007941f1ddb43c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /usr/src/debug/clang/clang-18.1.8.src/lib/Driver/Compilation.cpp:253:5
#47 0x00007941f1df9864 llvm::SmallVectorBase<unsigned int>::empty() const /usr/include/llvm/ADT/SmallVector.h:94:0
#48 0x00007941f1df9864 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /usr/src/debug/clang/clang-18.1.8.src/lib/Driver/Driver.cpp:1921:0
#49 0x000059952368e045 llvm::SmallVectorBase<unsigned int>::size() const /usr/include/llvm/ADT/SmallVector.h:91:32
#50 0x000059952368e045 llvm::SmallVectorTemplateCommon<std::pair<int, clang::driver::Command const*>, void>::end() /usr/include/llvm/ADT/SmallVector.h:282:41
#51 0x000059952368e045 clang_main(int, char**, llvm::ToolContext const&) /usr/src/debug/clang/clang-18.1.8.src/tools/driver/driver.cpp:542:26
#52 0x000059952367efd5 main /usr/src/debug/clang/clang-18.1.8.src/build/tools/driver/clang-driver.cpp:18:1
#53 0x00007941e7be6e08 __libc_start_call_main /usr/src/debug/glibc/glibc/csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#54 0x00007941e7be6ecc call_init /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:128:20
#55 0x00007941e7be6ecc __libc_start_main /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:347:5
#56 0x000059952367f035 _start (/usr/bin/clang+++0xb035)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 18.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/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/main-2cbcb9.cpp
clang++: note: diagnostic msg: /tmp/main-2cbcb9.sh
clang++: note: diagnostic msg:
********************
```
## Preprocessed file
Not added since there's nothing other than source annotations, for the preprocessor to do.
## Script (`/tmp/main-2cbcb9.sh`)
```
# Crash reproducer for clang version 18.1.8
# Driver args: "--driver-mode=g++" "-emit-llvm" "-Xclang" "-disable-llvm-passes" "-c" "main.cpp"
# Original command: "/usr/bin/clang++" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-emit-llvm-bc" "-emit-llvm-uselists" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "main.cpp" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=all" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/home/cassio/rrr" "-fcoverage-compilation-dir=/home/cassio/rrr" "-resource-dir" "/usr/lib/clang/18" "-internal-isystem" "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1" "-internal-isystem" "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu" "-internal-isystem" "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/backward" "-internal-isystem" "/usr/lib/clang/18/include" "-internal-isystem" "/usr/local/include" "-internal-isystem" "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../x86_64-pc-linux-gnu/include" "-internal-externc-isystem" "/include" "-internal-externc-isystem" "/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-stack-protector" "2" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-fcolor-diagnostics" "-disable-llvm-passes" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "main.bc" "-x" "c++" "main.cpp"
"/usr/bin/clang++" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-emit-llvm-bc" "-emit-llvm-uselists" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "main.cpp" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=all" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/home/cassio/rrr" "-fcoverage-compilation-dir=/home/cassio/rrr" "-fdeprecated-macro" "-ferror-limit" "19" "-stack-protector" "2" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-fcolor-diagnostics" "-disable-llvm-passes" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c++" "main-2cbcb9.cpp"
```
## See live
https://godbolt.org/z/TfjGs7P8s
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsW91zo7iy_2vIiwoXCLDxQx4cO57N3uyZ3JmcPfvmElLj6AwgShIZZ__6WxICg-N48uHZ2rq1U6kxRl-_X3eru_VhohTfVgCXXnLlJasL0ugHIS-peS8qkPwiE-zp0sORhyO0FAy8YGH-poH7CxYayrogGpAXLfVTDRUpwYuuvWChtGyoRgR5sysvWCCEkNJEc4qoqJRGvNIoQ160QoEXHasBu1oiBrQw_Xo49fA08_AcUdvIfrPtvNnKPQQL0miBdrYC8aIlr7QBEy28aEFdpQF489eS-6oJ_YZYU9YHVYIJsv_upNhKUiIit00JlVZetEC0INXWw1cevkI-lFz7RfFYIv8PW4B8xhXJCrBv_ZooBQr5FJWEVxNam6HCiREciNyLrlFNpAKJiEZQMSRylPPCiBw7DH27aDHzosXUQLi9_f03dPMFbaECSTQXlWlopEbcVw_Pdh6eecEiOtHPJ9e-2iIqGKBcyBd6QR6OAhTsgiAIZvM4hHSWUzYPkGHZilo9qfbhTvJKW9neS0KNEveVJPm-EUpLIKWHpx5eGosw-vXwulHSw2slqYfXDLJm6-G1bdl--GE6CSfppK1Q8MzD669NXQupPbz-d8V35gXfVqRQE15RQxRHXrTA2BEIDwgQPGXHCHxpqrafX0jFCpDK2uHHMXbgWi2EQWLABQ4cfiW4ZQGkaurPDqKH06ayM5qhQhjD_EmyjKbGbKLQwY1GcKcQpDBHrbyWkqiHD4OwvXwBKh5BPi1FpWGnO_s1Wk0ckPgYkFHjkS5_Jq5oHpiZ1ZlbMkQ2y3IIWYCsKTkEbdcFz-hEicnUw1fBLmIhCzw8d31MR-wIBgLTgVXcGydpn7i6qTRsQd4_DU3Cza7W-b6P-s0XD6_NQI5lYuwAxw7gbAAwx2k6TenUucjWXAWDT1CNvpjOOmsW1SNIbd6shfwNSg-ng9b_25DCcsRLlAlRtNadTiyfWop6EpwweOep289j1Dpw_ZNF1s3P0JhZNz3TIc8wxXPIAGn5dF3yFwX7lvE_Xe9quTS0SNXZU5imxqDizhjmxzC8LOu2LwNQg2xfOsB3kj8SDWNZL-5-J0UDra0453xUFWeR9zG-OJjHZgIlbYgOgwO-BLLwI3xbCxPy6e9GPJxFoeE_dcTDA-IZxsnbiJdEfrvJ14QXwEYBuKvt4cW5Zs5o-MmD4TNNnIc2bPCH2Tg1roW8qbjmpOB_ghwr8XciV0CLgRJ_nrbiGe7SCsMvGvEjAYPwhy7wN8GawrluQ-1TITJSWBI5NxxFdZLfYuwRz-T-WlSdn4-ieKDFeMwS4whOafEEy5codqW0MOT2JtvJpmjgjFb7nHAcBmYWtosEHIXJIWNGo_cxfpnnz-ISpdgoz-buhsv0gEs2JWzIxaKxT1vQ_8Mr5lLek4nDCYy8okXDYFBp8fXew2szzhVRYN1EHM9chDUQZz-GKMpaKGs5e7y0IEqJfCzig6nyHimfYrD844-WQDgfMkiPMdjbMVdkw8u68KLlSVrj8NO9ehSc9ctaJrh-mfHY-e2JuERvkMsSZRZ_lss0HjCZv47Jhr6DzF4vr2OzeA-bMAz2dHDwSjrfJak_QugMZD-kwzAamCMOfyrrAdZ3s_4wXzwf8MWn-ZqGN-pOKMUz46LfQfjZPOT7_s5ODidDZUavIFfl4jy0mLD95T-PXDyPBuQOcwtLbrAJSBotzCh7vuyp2lCi9Dv4RtdH6bzLZ06HLA7zhcMA9pp84V7Ut_AILjv4EcyzpgzTWTJkc5AxpGmaRG6DZwjyDGBaFFcNLxjIfuk7nNnj1GBOwmQ-G0r2itBvUDGTpzdlt2h4jvW5QD9J0dRfID-rVBfUmF-_pk1NOuaIjDKEYDqjAcZDIndEKrB5xhDpVyiJW5e2Kf_HU387UPe5-Hrfid1u8oUua8SjNACH8SxORgvwtRSVhoq1jJ0V74A2Gk5vmf4QX9fz4HEk1jCYGgPBYYt0tDed4wDSYD4buItrKYXs89s7LY-ntyemve2h9cuzgWmO9pRPDyxqkEQL6XSXvtbhDEaOhiPjYyOP3E1Z8wLkjV28Uhipx2lsZGYH2vzYGnqgwEMg-_3vQYAbbSjnOJzns5whpVmLbbNRD0QC29Rajn1-N9Dn2qBWZnJ4ON1stlWzobuda34r6LdNLQpOnzw8x32k24L-kSnQ9qzHw-swnuBJ6OF1xrUyIukhbbJuTRNOp0NW8atZbQiloNQ5yOElykmhYP_Q0d38tjk_42i4dBjtev8NGHezzobO89JOBkuM0UZ9T_vobHwUlOzd5Rb0gPIPTpretFw9OgO7wV2GOVTc7NUMhv7kL8bvPIhFPw8H6NMfoHd-74gaRj7wGcmPZVwdh3vr8tcvguiShdkgA-u3-5P5PMHRNJ1FJEaUhpuS8Gq0qbuQkjyZNCZa0gciR8svkwGP3nXJ_nuZaSEKMymY5I9gWnaQOhJ2Ez92LOLggEU2CwjqBLEMjWTOAaJ96Ha_pv3RqoEwXghDyOI0QXvH8KFEZdUB-FVk3T5ibBxD5LaHY3xsdEqKIiP02yavxv7PEWqNcRkuRVmSih2mVkdV3ztZYX0nKbxoua_4VUtebW3Na-QMo2-hbOFoW3nR-8q2iumMlBkjrcBcLycymMXq3uQx97frpqItoOudlkS1C0B7QtDJ6NlpMovIcHV75Mx1f1RPciieRkLJ3YgbaQVjzB31sM9xQn7iEDjGJuF3eWkcHyg_Pzgb-EvUfajtjYmkYdh-yYjidOMMoPUfo8rmxUZLYiKhKz7ojhSFcWNCDspNlaPGdN6JFts80sl6vP5mLAui-Yuyti6YPFu2dAoYBYWDhqbCS4eFJ6ouRku4s4ljwKRfcgb7JWc8PZRKHNG3SuVXkamXRfKryG650iORDAyxJEXxO1At5E27-d0bTk24dPe13iBFZ11_kSyTaH8GFo_3IVg-T6fxcapXxOSgy9E9jC4lhbLWT69cgDonuu_YOs_5IG-L02OgXhDmavA8SkaOpEIvGcZfqOAzhOXVMC8I53iQM8aHCRYEcfJ2dSr-J3xMm-EgXUgO86WXQd27W5hGgGbCnkHuhxvB0B8EvpUUTrE9IHOswmOsLLAum-3A2vizcNFjcNNJiMIF2g-e8Z9OHZMYD25iJHiMewY5S-xVyncMnDW8YEcTaFt3BCMcJBFJNL5IBlMIUrTZFDwzgZtIvTHp5OYUrK2pPPikqvHwejIxFZ8Ug9oAqmpduAtph_1anc7ifVxJ4megKLVp7YZXL1-JOoGjfTTvfTv4hNoTnnSQySfJsUFHkninEI4OHtnzaef8k-mBKeRBlKB21NGtvsyYc2cH7YbCVbDLgihpr_UNS6IFArdD2M4GlLsVI6Jueub2Dg_6zvUDgh3X7U3dMLIX4RoFyH9EWiAFgPhgUduPhB5BKi4q1NqiFyzuidyCyZ_RLp1uprFfU7_gVbPzt1Vjyh8kEIZKwaAwtWqh-M4LFnZNXBTAVtwCHjF-xqsSGswn42RbCaU5RaXa2nbBopvh7_qzV7jvbq8XX6_R4v5-sfwF3f9yjdafb28__-fmX5_Q-ub2-iu6_2xfX_37E_pyfff5y71xJMHiTkItBQWlgCElGmlvKCvjS4y4iVKCcqKBIdlUSFHJa91XkIBsrgsMEd3293raeK3L2sNrY6I-phnN5u5C-Mf6UA9vlf7HFXD0Pv1ItO4auxcs_iU0IowZcfOKAtIPIMHDM2VQPvBqi4R5hfQDqZxGEKkqoUm_BZgLUwyo7kcwLwRiYjK-0W_VZafjNHhJWFN3v3ZEAkftpWFkR2ANBWlHfWEOmfptaoGI3KpWN9h3Ttw3c8eLVr0DwLa0_7FA9-IPp7X225EfDnRF1D302yzd5TP0WfItr0jR-QuH5JQ3cl3SsHvUktcFuG_HfMIhfj-jz981CgqutDqkk0uAftACiPSJ0n4GuZDgZ-3J3VERPILkOTcRsi-kRDL_kRQN-BUp9_KxGjYWZ18_F1ZbSULh_KPfOre2oOY9m5pTv4DHvggPC7jya95TKXNJSvBrwSt7T3FFiq6Vn5dEP_ggZSX6V3ntU1FpSaj2opVx0a6gEr4UTcV4tfVNu34Am-bIxqRUPik4GdhD3lTfecV8baSlvGjVA9XWufu0bvb69KdxX9xUMCi0PyDZ07eBcgvSVLPbAasty_oxbalP90sBn5lAsPLw-kGUduvW_ojIw2spe63ldpOEbOHNLSW0zsBWbt8dXJ3vkq0w7dpYZVSk8Ll6UhrKw3btdLAhv-CZkct6S00ucNTs9wcBtsXBf6dODv5eaI739zfDaFzBdyLZa4E9N4F9_6_sQVBSvL3ZOSVyvMlLgGBnHuhzYG9ucLCW62d4LcGmN35JqNw7L5uk-gUvuXbvwnlXqDSh3_xaCm1Xf4eeM99WDfVdAPWi1WiC5Oobr33BpE8fgH7zeeVvy3zvOnY7H3YUurPADs3zV1QUQvr7bOdZFDoSVHPCmFS8j7-rzebTcrn5ZfH79Wb1n8WXNd4s1zebxdffvGjVQxbD6LKPgzv3QEdRdhyv_wnM_wTm_w-B-R8_8Qo_8bJDGK792jz--K-TAVDBH90i6kHr2v5mDq9NvBEsE4WeCGli358eXt_n__2kZnep8oLFBbuM2Dyakwu4DGdRjGfTKEkuHi5xkM5yEsVpHgGeRXkQJoxOIQ1YGs9yGlzwSxzgOMRhEiY4SZIJmzPGYkZm81lCIYi9OICS8GJi5GSGv-BKNXAZ4iAI5hcFyaBQ9qflGFfwHdlSwzJZXcjL1kU1W-XFgXVJ-24014X9TXonr2TlFmREI_1UA2LAGnuqp5DIu9-Ml1BmICcXjSwuD0TE9UOTTagoDw72ain-C1Sb8GfAKROiW_SPl_j_AgAA__9WYPU2">