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

    <tr>
        <th>Summary</th>
        <td>
            clang crashes at -O3 on x86_64-linux-gnu: Assertion `(BestFactor.Width == LegacyVF.Width || planContainsAdditionalSimplifications(getPlanFor(BestFactor.Width), CostCtx, OrigLoop)) && " VPlan cost model and legacy cost model disagreed"' 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>
    Compiler Explorer: https://godbolt.org/z/Gfdabaqco

```
[509] % clangtk -v
clang version 20.0.0git (https://github.com/llvm/llvm-project.git 2c8836c899015cce49a399a6bc47b260a24a22e7)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
Build config: +assertions
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
[510] % 
[510] % clangtk -O3 -c small.c
clangtk: /local/suz-local/software/clangbuild/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7386: llvm::VectorizationFactor llvm::LoopVectorizationPlanner::computeBestVF(): Assertion `(BestFactor.Width == LegacyVF.Width || planContainsAdditionalSimplifications(getPlanFor(BestFactor.Width), CostCtx, OrigLoop)) && " VPlan cost model and legacy cost model disagreed"' 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
3.      Running pass "function<eager-inv>(float2int,lower-constant-intrinsics,chr,loop(loop-rotate<header-duplication;no-prepare-for-lto>,loop-deletion),loop-distribute,inject-tli-mappings,loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only;>,infer-alignment,loop-load-elim,instcombine<max-iterations=1;no-verify-fixpoint>,simplifycfg<bonus-inst-threshold=1;forward-switch-cond;switch-range-to-icmp;switch-to-lookup;no-keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,slp-vectorizer,vector-combine,instcombine<max-iterations=1;no-verify-fixpoint>,loop-unroll<O3>,transform-warning,sroa<preserve-cfg>,infer-alignment,instcombine<max-iterations=1;no-verify-fixpoint>,loop-mssa(licm<allowspeculation>),alignment-from-assumptions,loop-sink,instsimplify,div-rem-pairs,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;speculate-unpredictables>)" on module "small.c"
4.      Running pass "loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only;>" on function "main"
 #0 0x00005585b62c08df llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x43bc8df)
 #1 0x00005585b62be42c llvm::sys::CleanupOnSignal(unsigned long) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x43ba42c)
 #2 0x00005585b6207728 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007fd5a3707420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00007fd5a313e00b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007fd5a311d859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
 #6 0x00007fd5a311d729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
 #7 0x00007fd5a311d729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
 #8 0x00007fd5a312efd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
 #9 0x00005585b7c62959 llvm::LoopVectorizationPlanner::computeBestVF() (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x5d5e959)
#10 0x00005585b7c7bf81 llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x5d77f81)
#11 0x00005585b7c7ede1 llvm::LoopVectorizePass::runImpl(llvm::Function&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x5d7ade1)
#12 0x00005585b7c7f453 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x5d7b453)
#13 0x00005585b77eb946 llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x58e7946)
#14 0x00005585b5c4d6b1 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x3d496b1)
#15 0x00005585b37677f6 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-20+0x18637f6)
#16 0x00005585b5c4c01d llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x3d4801d)
#17 0x00005585b37663d6 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-20+0x18623d6)
#18 0x00005585b5c4ba51 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x3d47a51)
#19 0x00005585b6578d63 (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
#20 0x00005585b657c338 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-20+0x4678338)
#21 0x00005585b6c59f8c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x4d55f8c)
#22 0x00005585b8afda6c clang::ParseAST(clang::Sema&, bool, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x6bf9a6c)
#23 0x00005585b6c5a3a8 clang::CodeGenAction::ExecuteAction() (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x4d563a8)
#24 0x00005585b6f21869 clang::FrontendAction::Execute() (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x501d869)
#25 0x00005585b6e9dd3e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x4f99d3e)
#26 0x00005585b700df56 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x5109f56)
#27 0x00005585b332e9d5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x142a9d5)
#28 0x00005585b33264ea ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#29 0x00005585b6ca005d 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
#30 0x00005585b6207c30 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x4303c30)
#31 0x00005585b6ca067f 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
#32 0x00005585b6c645d4 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x4d605d4)
#33 0x00005585b6c656ed 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-20+0x4d616ed)
#34 0x00005585b6c6d6c5 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-20+0x4d696c5)
#35 0x00005585b332b7ab clang_main(int, char**, llvm::ToolContext const&) (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x14277ab)
#36 0x00005585b32174bb main (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x13134bb)
#37 0x00007fd5a311f083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#38 0x00005585b3325f7e _start (/local/suz-local/software/local/clang-trunk/bin/clang-20+0x1421f7e)
clangtk: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 20.0.0git (https://github.com/llvm/llvm-project.git 2c8836c899015cce49a399a6bc47b260a24a22e7)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
Build config: +assertions
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-1383a7.c
clangtk: note: diagnostic msg: /tmp/small-1383a7.sh
clangtk: note: diagnostic msg: 

********************
[511] % 
[511] % cat small.c
volatile unsigned a;
char b, c, d, e;
int f, g, h, i;
static char j[1];
void k();
short l(short m, int n) { return n > 1 || m >> n ? m : m << n; }
int main() {
  char o, p = 0;
  int q, r = 1;
 unsigned short s = g;
  if (f)
    j[0] = o;
t:
  b = f ? g % d : 0;
  d % ~b || a;
  if (d)
    goto t;
  while (e)
 k();
  for (; c; c--) {
    h = 2;
    for (; h; h--) {
      q = s ? 2 / s : 0;
      i = l(q, j[d]) == (r < p);
      for (; p < 3; p++)
        r = 0;
    }
  }
  while (g)
    ;
  while (i)
    if (f)
      goto t;
  return 0;
}
```

@fhahn 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsW1tz46i2_jXKCyWXBLr5IQ-OE8_0rsxJVycz-9GFAMnsSKABlEs_nN9-CpBsyXG609PJrnNmny63InFb31p8LBYIYa15LRg7D9KLIL08w73ZSXX-dccElaLW_Vkp6fP5WrYdb5gCV09dIxVTAVqBnTGdDtAqgJsAbmpJS9mYhVR1ADdfA7j5paK4xH8SGUSXQbQarlk0_PxjepFGyyC9BAFMAWmwqM09CB98rnsGD0xpLgWA0SJaRDU3IIDFkXBudn25ILIN4KZpHsY_YafkvxgxC1sLkqJAGSmWyyhOCWHJEqPlEmclSfISZhGGCYaQ5QFcevF3WNXMWFWfimybJWEv7oV8FGHDRf8U1qIfyu0UwxS0krLGlu6k5k8-65PQBjcNo5fc2czikgQ3Adzo_mu4v5eVecSKTbKd7qFRvbgP4Kbkwjd40fOGAiJFxWvf4AXWminDpdC-yEb2ggKCBeUUGwZ-Wa8B9ziwLTbg6LWy4nhp7UdIADeDlgft4CaOPqDN-P3bHHrsljWMGEbfBd96j6ztG8NtLbQCiwBdBEnUZsmRyG8VsjSPo5Hmp9L21L9BICRAt7hpFmQyDMz92_jjCpeWJUdjYDIynP53CgtdSdXqAG7-YMRIxb_aFq6l7PbPC9J1AVrlqMisfNcCWgVoNZZw5t1g-zDJnbbhSnxusBDObwRoRWTb9YZdMG3-2ASwsCMOrcBqJDKw_gEWNt-3vPgnp2YHAnQZoEtwzWpMnv_YjKn5OsjXoGuwWEthMBd6RSm3DeHmlrddwytOsB8hsKiZsWA2Up0QYZHANVhLbdbmyd7eKF5bbVzOEgQwC2AGAgjBH7YZQKQ2fugDLChoHLZpKuUa14oxGkAYwBxUmDeMLnzXfr6-Wt1eAd2XLTcAg7KvgWKdVAYYeexhv-PkArjhWvfM9qfDwgVpesqA2TFAFNY7UGJybxQmzGrWKdYpSZjWjAIte-WTbU2stSQcW1qrXgBNFO_MAPnWYHIPaN9aXvikaBFEy89K1gq3AKu6b5kwFviB1p8Oo2_g7IjOZb3RKe7rnBglsQURoDWTVYCuQIeVZgpgA5igQFag4g3zJaEtedMZ3vKvTPk0ZNO-9EJwUYMOa227uOoF8d5jzXDNVMjFQ4CuAlhUjcQGcmECuG7kI1MhkdbdCBNyYRQXmhMdwDXZKVfC8qewf0IlDTYsQOsdw5SpkPZdM7AzQBdChrZbsGJhJVXYGOnkuRZCyhrmyjmS-iSujeJlb2zXcWFpEJqGhy3uOi5qPZZ72I9vtBbSYmSqYfjBiSGMhlI0z17-vuhRlgfCRcVUiBteC9vJY_uNxDRkDW9dEW2IbEsurLQWP4XcMDWMP3QZj2IUr57Dij910trRta79aH0mVR2gdSlFr0PbXGh2iumdbOjQQCXVI1Y01I_ckJ01Pg3QxfCksKhZaGTIiSXpmGxk2Eh533cewD1jFre0I-xiJ7k2IZFtK4WTqH0hn26106E2UjEdPnLjBYYVti5f1FYEF_fH1XXHSN9gw8KykeTeJQ36-fqlwoLsvKBD4V50ilFODC4bpge7NJMutIzyD-Fo5p8yuuvAXijZNAFa3yCfasbpIXzEyo4KC0NJHKB1p5hm6oGFrptOs-Jn8bRaYztkOGkDtMZNIx9HE7mRcuUHwV5kWCnZhljrvu0GT-8bsj0z4BmtH8A15Q-hYm3YYa5sUYN5Q2yg5in8Zh4KGf4QFW1Pv2TjjIp71h3R6a1UtCJ-io3fpOLSznxS2Lmtb5h1kqMThtB70uSUJ31XJ-QAjL7Ztt5iLvbyQQBRBKKnKIqiNC3SMoMkKmg1iU70s_Y3nxUXxk1od35WLA6FFH7cSm0Uw62b9G1AaXwIUPxMGD-mwSiAF9FTgkpS0Gq_6LDw4zn8kiWQnIK_bhgWfXcjbnktrLiiF249R0Ej7Yj9ALA4gWQGFs7BRnkOC7C24cYXRuQDU88e3a9Y0MY6r2Kw46yMjdzYkxnCzcj934tAg4i8oilGeZQnMALbrWJuHGyVGdV0ge2JkL7hZWfcKm2h5cLrEieJ1WqiSTITEyMWRSVQmGvL880YU9cNL0l4TT7B6Gn_CBcotjYd-mGzWNinZ01ZZ8OxXvAnn_Dg0IjePrqmFyRAqzQO0Co-IEnnSGJapEuAS-k0fRsSQ701XC0npLBC8oOQ7FhIDpegZmbrcW81q61n3T7gpn-zBbgwjWMUpq2uCfai7RofrYqD7PyU7K1otrbilko7on9O5DK3JELJQWYxlwlZRbM3EIdYymSOMghVNJtRZjklf04yuEyXP7MMeufxmtKULdPlHrL1LdEccl5WRfwKZPYZ68HVDCuF6yGSnRUP4OojoOd5VcQz6PERdEbZG6CrXnxqu2YGezNG9tazfwB0TNkcOjyCXiUpehP012GvJ_VXAjfPmuvfsLALlQCtT1Syc-fHqFsmKZqpi2bq5qxcJtkELmU24BrmYKz1b37r7BTomZovzfSXrGB__3fMW7B8mWQz8yZT86YkoVk5HQjOpN-C-ve3GqLJMivnYzCdWg3lWZ5X70HKD7P237-X4iJDeTXndnbEbRLFdAL3N7fwuJMjNGv9FcWdkeq04r7CD6k9VPk4ahZRTGdK50fUzBD9MWqOWq7faKq_YIvXmPW_zsBxkUFE56wqjlhV4vQtHvOUWf9m1kI0yXE695SzsDZL84JmyIrFQornVvYaCNwy3bk189KjvGq5WWnN2rJ5_pU13RjlfunFsNfqI2DescbtWRUOhi90gck9E3S1d5jaUJ_TC_5nz7admdvErs67R8UN245r9EklytyGyNbtmLLvVBycbfYWsXdSNje96Xqz4Z4Xb5F5VGsq8KUN1lLovrULZRdVD6m_G968XBzb5Xd01FcEoWLarO2XoRGPYW75S45rIbXhRF-J2nXMMbBf3U71LcOK7G787hpw290vi64lZb8w8Z1S_sXqdwpdY1GfKnIw661RXNRfWHXK7TnznbLv6sSk_EkY1Wv-wL6wai3M56Nef6iGeNx23-2zNqwd5ud_P03fQJl33vPJ8gKhYuof4HyDiqTLqiDfwuVp5DaA3GtHv4v7u-BHZFzd3g0bQR_i6hKaplVBZqrMFmYFrijOZqp8xkqz1e3dHOgta_HAx1LK5vD3vSFnZbXE2RwyOrI-Rrg4MQgHonsn8MRIb9jI_Q_YakhomiE8p8lsmZJVMC6y5RToRtnO3g_JKdKP2Q6JYlpks-0QOFsUZGxJKWJzY_qjL-4khyDstD1fV-pDeFwtlxSxmR6zsDmPIlql2Wwa8IgP6jzI4a3jDP0LdT9kbyeOllU6C9DgPAJGkC1pCgiJt35zfxJBrZTCz9brozXZYTVODqvRPc7S4Bo8SE4_RI04gXhJ05kaxZEaWcIwGG2_ju-ck5goc9vipvFbGm6T6pROR9OebWPwkpOJcQmo4g9MnQ4S5gEdwVGUUmeYSbvjG5WtcrZ1uePhjCGYJbhpSkzut5WwSA-08bIHCq3jtWxbLOjxiD7Zh_vZUHb-yMZsHjzM8fv5b19huyVPT3HsH0qsObFzpXsL5qw4K2wTtkZhbvSYfdQcbmzPu3XkPt8WWR28uyORt7mrEsC8wW1JcQDzg6lgMb59-YcsT_bH8QuqKCcomnTFqVcj-2j6FleseZ6Z89td9wGvgSJEUDQl_tE7K4KjLK_AfzJDrM0XHVZmEX2TCvP3ZyRLUpq8ajjnnfGL2XK05syVH1W0BV6Ltb9RdDULcya6vWvskEUpTWZ8OgpysjRj9EfN8g9Z6tdt8g9ZXnNtXltcvHDMexp0mFsG-NM_bzbjdNX3wcaMMzbbXkLJkTFpRtLXgF9O7mdBw4lo4bVO-Dca8_3j2GyZkdmkjtKjSb3McemhjtHJCN_5lNXgEb4_Zb97PJLnuJxBn4WFCMZ5UpZgeLv6rrJRjJJyLvv4JW8VFQhstw0vrRvGymx_5DUv0f34Yt3fukzXjnvhixJorwfxx6FYWuUMeMHvb_i4yg_x-OTALlPKbUx7uoBqWBwAMjDanwYFj9zsAHvilh6UgRglFmKvGQgfgJFAMwb4JGRf_v8B-b9-QH7SPUIau6IDdL8LBlrt6w08-onf5LOH4Zzv6u5utf4V3P16BTY319c3__z0X7-Azafrq1twd-OSL37_BXy5-nzz5S4YT9d-PnVOt9DWf7x6VndfQDHgYhZGATb7Jt9mAbgxbWeNb713GKMC4fzEmfQfbUHvfrwb3qsz0os0jk-cw9-nEWzmx4ofpJ3TGgb2R6twgC4GDexSrXSO316ovbB9LhcGuK3J2l527gTZPlMbbLV0LfwrSC8sgH2mi9_vxwB-rLGTygC7evR37XAkDQg3k-QXQDHTKwEECNAViMdz8S3ws6VL37jHlbuuA7QGIkAXIMgvD5CHGW1odDjq4oFKd2wcBOgSRHtcwIH402YplxUfsvY285C1y6-nVSvrqyan3wBw5vDfRaBLIPeFD-wFoHR5lVOodv1GnVpTVNSl_3c52gG_EEtnYmtpJDCTQo877k44FgfH_qJTAKikcrMJugDEXcLwyHQAuC8XAJzUmtXbucuJegD86Wpqpyi048ndzxW1_7grZ8nhOsKakFpG2Rb9RxMBLGz3rEE3x3-EpXNlkLsN4IX7LadlwdDLcwR7Bs1u9xasZ42csjGflThFixM9NBD-AGUv-_gzM39NomqHdwKc0XNEl2iJz9h5nMM8S5ICxWe784rSAlOcpBUpWIUohnmcJzDJ0oLBmKRn_BxGMImWcAljGKF4wVjGiiopEMyKBBd5kESsxbxZ2Nl1IVV95r7JOI_jKEmiswaXrNHuazsIfbALYZBenqlzNx2Xfa2DJGq4NvrQhOGmYed-sncfcjANsHFfQUgBXhxb-w_7lAac9ao5_-vfygxd83AO_ycAAP__QlyCTw">