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

    <tr>
        <th>Summary</th>
        <td>
            clang crashes on valid code at -O3 on x86_64-linux-gnu: Assertion `UsedTEs.size() == 2 && "Expected at max 2 permuted entries."' failed 
        </td>
    </tr>

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

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

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

<pre>
    It appears to be a recent regression as it does not reproduce with 17.0.1 and earlier. 

Compiler Explorer: https://godbolt.org/z/hMrf8Mro5

```
[686] % clangtk -v
clang version 19.0.0git (https://github.com/llvm/llvm-project.git ceaf4a0aab86f10199e16a825c1bdabe59d07eb3)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
[687] % 
[687] % clangtk -O3 -c small.c
clangtk: /local/suz-local/software/clangbuild/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:10278: std::optional<llvm::TargetTransformInfo::ShuffleKind> llvm::slpvectorizer::BoUpSLP::isGatherShuffledSingleRegisterEntry(const llvm::slpvectorizer::BoUpSLP::TreeEntry*, llvm::ArrayRef<llvm::Value*>, llvm::MutableArrayRef<int>, llvm::SmallVectorImpl<const llvm::slpvectorizer::BoUpSLP::TreeEntry*>&, unsigned int, bool): Assertion `UsedTEs.size() == 2 && "Expected at max 2 permuted entries."' 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: clangtk -I/usr/local/include -I/local/suz-local/software/local/include -O3 -c small.c
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x0000560e151f488f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3f8a88f)
 #1 0x0000560e151f23cc llvm::sys::CleanupOnSignal(unsigned long) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3f883cc)
 #2 0x0000560e151349e8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007fbe34fc6420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00007fbe349cd00b raise /build/glibc-wuryBv/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007fbe349ac859 abort /build/glibc-wuryBv/glibc-2.31/stdlib/abort.c:81:7
 #6 0x00007fbe349ac729 get_sysdep_segment_value /build/glibc-wuryBv/glibc-2.31/intl/loadmsgcat.c:509:8
 #7 0x00007fbe349ac729 _nl_load_domain /build/glibc-wuryBv/glibc-2.31/intl/loadmsgcat.c:970:34
 #8 0x00007fbe349bdfd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
 #9 0x0000560e16a29fa8 llvm::slpvectorizer::BoUpSLP::isGatherShuffledSingleRegisterEntry(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::ArrayRef<llvm::Value*>, llvm::MutableArrayRef<int>, llvm::SmallVectorImpl<llvm::slpvectorizer::BoUpSLP::TreeEntry const*>&, unsigned int, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57bffa8)
#10 0x0000560e16a2a2fd llvm::slpvectorizer::BoUpSLP::isGatherShuffledEntry(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::ArrayRef<llvm::Value*>, llvm::SmallVectorImpl<int>&, llvm::SmallVectorImpl<llvm::SmallVector<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, 6u>>&, unsigned int, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57c02fd)
#11 0x0000560e16a4a220 llvm::InstructionCost llvm::slpvectorizer::BoUpSLP::processBuildVector<llvm::slpvectorizer::BoUpSLP::ShuffleCostEstimator, llvm::InstructionCost, llvm::TargetTransformInfo, llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP, llvm::SmallPtrSetImpl<llvm::Value*>>(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::TargetTransformInfo&, llvm::ArrayRef<llvm::Value*>&, llvm::slpvectorizer::BoUpSLP&, llvm::SmallPtrSetImpl<llvm::Value*>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57e0220)
#12 0x0000560e16a4c7dc llvm::slpvectorizer::BoUpSLP::getEntryCost(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::ArrayRef<llvm::Value*>, llvm::SmallPtrSetImpl<llvm::Value*>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57e27dc)
#13 0x0000560e16a59ea3 llvm::slpvectorizer::BoUpSLP::getTreeCost(llvm::ArrayRef<llvm::Value*>) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57efea3)
#14 0x0000560e16a6219f llvm::SLPVectorizerPass::tryToVectorizeList(llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP&, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57f819f)
#15 0x0000560e16a651b0 llvm::SLPVectorizerPass::tryToVectorize(llvm::Instruction*, llvm::slpvectorizer::BoUpSLP&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57fb1b0)
#16 0x0000560e16a65392 llvm::SLPVectorizerPass::tryToVectorize(llvm::ArrayRef<llvm::WeakTrackingVH>, llvm::slpvectorizer::BoUpSLP&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57fb392)
#17 0x0000560e16a65b22 llvm::SLPVectorizerPass::vectorizeRootInstruction(llvm::PHINode*, llvm::Instruction*, llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&, llvm::TargetTransformInfo*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57fbb22)
#18 0x0000560e16a68dbf llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x57fedbf)
#19 0x0000560e16a6c687 llvm::SLPVectorizerPass::runImpl(llvm::Function&, llvm::ScalarEvolution*, llvm::TargetTransformInfo*, llvm::TargetLibraryInfo*, llvm::AAResults*, llvm::LoopInfo*, llvm::DominatorTree*, llvm::AssumptionCache*, llvm::DemandedBits*, llvm::OptimizationRemarkEmitter*) (.part.0) SLPVectorizer.cpp:0:0
#20 0x0000560e16a6d183 llvm::SLPVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x5803183)
#21 0x0000560e1658ecf6 llvm::detail::PassModel<llvm::Function, llvm::SLPVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x5324cf6)
#22 0x0000560e12871c7d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x1607c7d)
#23 0x0000560e14bb6dbd llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x394cdbd)
#24 0x0000560e12856576 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x15ec576)
#25 0x0000560e14bb4ced llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x394aced)
#26 0x0000560e15478972 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#27 0x0000560e1547bc40 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) BackendUtil.cpp:0:0
#28 0x0000560e1547c2ab clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x42122ab)
#29 0x0000560e15ab6fca clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x484cfca)
#30 0x0000560e177d14fc clang::ParseAST(clang::Sema&, bool, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x65674fc)
#31 0x0000560e15ab6358 clang::CodeGenAction::ExecuteAction() (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x484c358)
#32 0x0000560e15d3db99 clang::FrontendAction::Execute() (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4ad3b99)
#33 0x0000560e15cb8dde clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4a4edde)
#34 0x0000560e15e24226 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4bba226)
#35 0x0000560e124663b6 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x11fc3b6)
#36 0x0000560e1245df6a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#37 0x0000560e15af956d 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
#38 0x0000560e15134ef0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3ecaef0)
#39 0x0000560e15af9b8f 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
#40 0x0000560e15ac01dc clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x48561dc)
#41 0x0000560e15ac0c6d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4856c6d)
#42 0x0000560e15ac91c5 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x485f1c5)
#43 0x0000560e124637fb clang_main(int, char**, llvm::ToolContext const&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x11f97fb)
#44 0x0000560e123737fb main (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x11097fb)
#45 0x00007fbe349ae083 __libc_start_main /build/glibc-wuryBv/glibc-2.31/csu/../csu/libc-start.c:342:3
#46 0x0000560e1245da0e _start (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x11f3a0e)
clangtk: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git ceaf4a0aab86f10199e16a825c1bdabe59d07eb3)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
clangtk: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clangtk: note: diagnostic msg: /tmp/small-588bc7.c
clangtk: note: diagnostic msg: /tmp/small-588bc7.sh
clangtk: note: diagnostic msg: 

********************
[688] % 
[688] % cat small.c
extern void f();
int a, b, c, d;
volatile char e;
int main() {
  while (c) {
    for (c = 0; c < 30; c++)
      d |= (a && 1) & e;
 L1:
    if (a)
      goto L2;
  }
  while (b)
    ;
  while (a)
    f();
  while (a) {
    while (b)
      ;
  L2:
 if (b)
      goto L1;
    while (a > 0)
      ;
    while (a)
 ;
    while (b)
      ;
  }
  return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsW1tz27iS_jX0C8oqErw_-EGWrSSzzonLduY8qkCgKWNNAVoAdOz59VsAKYmg5Ftiz8zOnirFkXDr7q8b3Y0b0ZovBcBJkJ4G6dkRac2tVCd_3IJgUix1e1RJ9njyxSCyXgNRGhmJKkAEKaAgDFKwVKA1lwIRjbhBTIJGQtqatZKspYB-cHOLonwSTiJEBENAVMNBTVAQngXhtPs7k6s1b0Ch84d1IxWoIJ6iW2PWOoinAZ4HeL6UrJKNmUi1DPD8jwDPb7-quviqZDocKcjC_tP9TE-zIgvSMxTgFNGGiKW5Q8f3Xa37je5BORGichJOwiU3KMDFiDg3t201oXIV4HnT3G_-O14r-d9AzcT2okDqhISEVEVWR2FUlhBlpMApjSpGKkhLFuZQxQEuO_I3RC3BWFEfimyRJcetuBPyhzhuuGgfjpei7dvdKiAMrSSDxrZeS80fuqovQhvSNMDOuMPM8iUpaQI81-0fx9vvsjY_iIJBtZP92KhW3AV4XnHRDTiXrWCIEsE4IwbQp9kM8Y4IMVyKnkirlR2LVxYcSgM870XYsY7nUfgBY0bvP2avjmtogBpg78LfbMvZqm0Mt73iKZoE8WmQhKssGZF8rpGz4Xxjw4fKtnb9LUbHFOkVaZoJHdi4uXudcbjGVcsbNjLwgdk7-W8UEbqWaqUDPP8dqJGK_2FHuL643P5UE7peB_E0CnFeWAa0YXZKxVO5triSJohnblhX2E2H7chfRC27iuvbtq4b-C8uWBCfo10P3azvt8S6olP5fX19cdn94PoTMbeg-gHYNRfLBq5gybUBdS6MegxwQaXQ5g2j3iiAvu80wLNBz6lS5PEKak-s30nTgm0an_utv7aGVA0MOnFh9lpdW2V2kH5ZrS1iv8SvHT6zFFrhnD9DliieoUrKxnqmeIqmWoOyCkJBFn7XwG7O9UQ7_RYBLlEQnwXxGcLIDZWhAOPzh3VnyMSgFXlAGK1BrVpbAsIoDnoSYBzgHNWEN8AmnXFeXpxPr8-RbqsVN4igql3a0CGVsaHmbT44wHOudQvWIl2k4YI2LQNkbgFRRfQtqgi9M4pQsAKvXYyioDUwpGWrumLbk2gtKSeWe9UKpKnia9OzfG0IvUOsXVnL7orCSRCWl0ouFVkhopbtCoSxjO8m5ped_-hn3YY7V_VKn73tc2CeR5aJIJ6BrO0kWROlQVl1gGBI1qjmDXQtsW35bW34yhmMK0MBjkMUPoRhGKZZCFEa1UlR1EMze9Tdl0vFhXEw3HRYFrtGivxYSG0UkFVvZ868SuRM5-dj06YsKgN8Gj7EdUGKot5GUst-NGIfx5QeYn_WABHt-pu45kvrgnCxnQqNFMsPYbaIbbwYMIt9ZuOkhALNrJFeAZX3oB477j4TwRpQAS56HL02MykMPJjezYbu35ZE3JPI6wripKZZgkO0WCjQRipYKLMR0zn0A6Gs4dXauNRjouUkdLJESYJDT5LEI1NSFoYVUoRrsPFmE0uWDa_o8Y9WPZ7eb3_iSRxZTHs9zCcT--tRM1jbSdwK_tAV3DtuRGt_uqEnNIinaWRjy46T1OeE0CItEamkk_R1nBjWoeF6OSKFJZLviGRjIjku0RLMouN7oWFpZ__i3nr919LlwjTOoghb6SUlHenUzudpsaOdH6K9EM3CdlwwuSJc_BrJMrdGFCc7moVPs2I1y15hONSaTNaZf1yzzDOZcmj8GcFlTYp3j-o_ER-Ri6x_UVT_JX5fiurv7NHSvKprUmyVar1vOFIqwTX7BaX-1WrcV9BGjdnrNTmo-1UN4xnKWkv_T1c1DXHNPFVHvqoTgnE4QMSuSVVLbQI5k2_KVPt87NT6r5-ArbcdS_RcG74idgBPWSPW_MpD649fsKBnuN03oEujrsHsGdBwcDv-O06Hg9JmbxU4e73Mh-bNK8S2_d7fqCHEgzzGGjUeGTXNGX2D6S7BOLQ7s_pr3dZfhyrOGfVQjX1U0xJI_DZULT57oL4MygcIVwOJPeESX7gMR-VwweRthVwS3a8_jHq8kduKC_5m0d404T4qKtRFVNYeGukIjTSqwrei4SExcNZ7s-IFuT9A3iqqfIeRjeWNS_xL8h7U_L-BuGX2HRfL3z-_Vf8fgUNcYg-HfIxDhV-Bw5brKymNp-kBIpefv_xLMtjT_nOWcUo0p6eNpHdvNZoXo-P0YwCtsA9oMQK0YNUr3MpWstkt4UJ_ET0GxXtA8wFiA6t8_zFaFWY0K_KXxVatcIFuKOe8Fb1tjHMOShqizu9l0x60nae0vt_mgleKqMeDLabTK9BtY_RezYWU64NdzuSKC5uu2mi3P6DW7crtmM8Ivd2vP4MVEQzYKT9As9_ocwcZV7Ai6u58xY0BtbPnyZooM7HeDR3avh_sKwU4xqOFXsaiIn6Vnl6no6kgzaPm-isRZAn-AmDb6aMymCKMo8IL8thf7KQF0DobsMvAEN707opo_bU7pDvEtG-KezD9FAr2838H3hgntM48eL20Gxd5RHP2DvC6ts-J-LNo__O1FGVhTnNvxY-9ND6pqoxVQy19laxt4EZuWLPoTxlZuwX8IcG7Dm8Su-_yQULHZUJZ5Qud-KaZZmn-tpm_kXL2Sqh-AounLOtvB3CUAk1zf-6nI6tKKLBXzOFDsP7D0IrLhFDwzdFbb6RJXpQ5tmSJkOJxJVuNBFmBXrsjubLj0ob6qdawqprHz9CsN7ndVSuGecElX0PDhV2OODY26SK9A8GmW4e5Pb5vBf-fFhZr42OiyI_F-ofiBhabI8BBJwY1aRuzYNCAgRc6Djc6XyJ7I2XzrTXr1sx5ZxevoTnqNSS4j8FMCt2utjlTX_rd8OZwjpSPdFXRJPxZXQ3L_3YKeg-wihFYFJNqOKwFoB-kU5iPwhknSyG14VSfi6Wz4rEWPwNhoK6BKHr7zSXSerPbNm46kww-gXihVbcIeKHRBRHLQ00GSaBRXCztkv9AjOgz-ef0PVwRG9Vqfg9XUM-EuRwp_r7u03Br69eP2sCqV9_f0mTe15kmOMKYVJ4z9RabKamympLn-OrMyB3Gu-VhdzHsu-AjY5xe3_SH8h8SF5IioTUlQ1H8axt5zqKkpkNRLonSML2-8Rm9hhXxtgg_aqswS7M8qb1d4dFVDVJlcVocmIS9oXdO4AFoa2Bj-8XHYBun3qHm6JoGi1lVlkNG58oqezslh5x-DI-ExVVZejx6uXlKq4Ix8MHs7ta6q6KCwmE8nxbqQ-yYJMAYeHJ46XYKOME488JAx_FOnHtJyT73e-J-iEupKoKxl83GXjaLkyyLqwxRGi1WhIunNnrpLVH-Mf4M-WV4hu4lZx8iRhTVNK58MTJfjJTVGUEb7GfRjXMSxXPn3_syjTdXpWx6LzkIjCViit8_sesU-xkVqcs0Yw6Ywbh1v6ZaKIetq-2m4Tbzp6RpKkLvFrWwnO7MpqPdm9AsmsnVigg2ntEHdfj8rdZdjN_Gv22HxYI-PERR96MimlMbK7nlyaHoNbYFC6MIN3pTPRqONFbz3an5pt42me68uzOiDnPXJcB5Q1YVIwHOd1DhYnMT7jdZHdZHMb7ABvXwtOfQNbXt0uOa1ND4lzueV937r6-AEqi985y4HFtYVdTo_7OFjLaGnzKFxL83SmgYMfokcM47k71ouUHTc-WjjrbBU7n2M02no5PQrWzvmjukWeQffSfRGBaasbfC8pus9NOY_CarC67NU4uLPce8NYM14aq_0fQGGIdL5I8Gk2be5keCR2CWEU2fYvxs8N1LGg5kC08p4U8E8_3z2LSOaOrBF49ykziv-yX2JjvZsO98ynT_1OuJkP3u-UiZ195KLfF3YePcsd7fdH1f2uEe7fGNYgiLGC0WDa-sGybKLN5y5ZbqdnPJufvqKt047vJtnGD7d0d-LxUjIaCO8PsDH5Nwl48PHg2BUm4XvzMXVPeLA0R7i-7ec3TP_OCBW_NggKI4sSy2GtDxPTISaQDEByl7-Z8XeE-8wBtgL6SxyzXEtltcaKWXjkpvJL_wGTya7J_hTG9uprPP6ObzOZp_u7j49u8v__qE5l8uzq_RzTdXfPr9E7o6v_x2dRNsHr9cHnpGU2jrHJ58SrNtoAC5hMQ9HNoO-ToE8Nys1hZZ65qP06KoaH7g0dtbR9C3b1fDeykjPc2K4sBDv20ZJcZ_9QMPBpToFkL1JmE-7eq4MIi4YO08u_3DtpX30ka6BrrVJnid-pDg_HvelyP049Y2t-FzVIFQLZWrQEF8hsIgPkX26wzF3fcAn7pPueuBEENBPrPtA1yQzUuyqIsp2YAhdBFtDcP247XrMRptKY1EF3jXCwX52R7nlddr0Hjbwh93jOiooQ_CE1Q8OpbDjSydIOPGnSDRoM-QKAricxQ-Pf5hSQ43eIbNAXYKTKuEU2pvkJu67UvrI3YSszIuyRGcRHkUhlGWJtHR7UlYhSXOcUFpGBa0wICrlFZRUZOM0CRLj_gJDnESxmGJwzhNoklK4pRmJEmrrIyKsg6SEFaENxPr6idSLY_cE7-TIsnS8KghFTTavV7HuEu8MA7SsyN14kJD1S51kIQN10bvRjDcNHDSBR73LBA0kgLdk4azLngR417YSYH2Hrf8Oa8j0VGrmpOff_7o4PnfAAAA__8VhYVF">