<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/153295>153295</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang crashes at -O{1,2,3} on x86_64-linux-gnu: Assertion `pred_empty(DelBB) && "DelBB has one or more predecessors."' 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/xcE69Pj9E
Note:
- fails: 20.1.0 and trunk
- works: 19.1.0 and earlier
- original code was valid, but the reduced isn't
```
[599] % clangtk -v
clang version 22.0.0git (https://github.com/llvm/llvm-project.git 44f41f55b4df5ec490df0d69e046b2d1a58acaeb)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/home/suz/suz-local/software/local/clang-trunk/bin
Build config: +assertions
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found CUDA installation: /usr/local/cuda, version 12.1
[600] %
[600] % clangtk -O1 -w -c small.c
clangtk: /local/suz-local/software/clangbuild/llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp:91: void llvm::DomTreeUpdater::validateDeleteBB(llvm::BasicBlock*): Assertion `pred_empty(DelBB) && "DelBB has one or more predecessors."' 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 -O1 -w -c small.c
1. <eof> parser at end of file
2. Optimizer
3. Running pass "ipsccp" on module "small.c"
#0 0x000055bd288ea430 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x4263430)
#1 0x000055bd288e70df llvm::sys::RunSignalHandlers() (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x42600df)
#2 0x000055bd288277d8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f13e112e520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f13e11829fc __pthread_kill_implementation ./nptl/./nptl/pthread_kill.c:44:76
#5 0x00007f13e11829fc __pthread_kill_internal ./nptl/./nptl/pthread_kill.c:78:10
#6 0x00007f13e11829fc pthread_kill ./nptl/./nptl/pthread_kill.c:89:10
#7 0x00007f13e112e476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007f13e11147f3 abort ./stdlib/./stdlib/abort.c:81:7
#9 0x00007f13e111471b _nl_load_domain ./intl/./intl/loadmsgcat.c:1177:9
#10 0x00007f13e1125e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x000055bd276cf797 llvm::DomTreeUpdater::validateDeleteBB(llvm::BasicBlock*) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x3048797)
#12 0x000055bd276cf926 llvm::DomTreeUpdater::deleteBB(llvm::BasicBlock*) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x3048926)
#13 0x000055bd2a1de05a runIPSCCP(llvm::Module&, llvm::DataLayout const&, llvm::AnalysisManager<llvm::Function>*, std::function<llvm::TargetLibraryInfo const& (llvm::Function&)>, std::function<llvm::TargetTransformInfo& (llvm::Function&)>, std::function<llvm::AssumptionCache& (llvm::Function&)>, std::function<llvm::DominatorTree& (llvm::Function&)>, std::function<llvm::BlockFrequencyInfo& (llvm::Function&)>, bool) SCCP.cpp:0:0
#14 0x000055bd2a1deca7 llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x5b57ca7)
#15 0x000055bd299cf216 llvm::detail::PassModel<llvm::Module, llvm::IPSCCPPass, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x5348216)
#16 0x000055bd2822a194 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x3ba3194)
#17 0x000055bd28b90d13 (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
#18 0x000055bd28b952b3 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, 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/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x450e2b3)
#19 0x000055bd2928f05f clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x4c0805f)
#20 0x000055bd2acf2a0c clang::ParseAST(clang::Sema&, bool, bool) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x666ba0c)
#21 0x000055bd295acb59 clang::FrontendAction::Execute() (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x4f25b59)
#22 0x000055bd295284c5 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x4ea14c5)
#23 0x000055bd2969d628 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x5016628)
#24 0x000055bd25500d58 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0xe79d58)
#25 0x000055bd254f735a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#26 0x000055bd292fe17d 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
#27 0x000055bd28827c80 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x41a0c80)
#28 0x000055bd292fea1e 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
#29 0x000055bd292bbf31 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x4c34f31)
#30 0x000055bd292bd051 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&, bool) const (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x4c36051)
#31 0x000055bd292c9a34 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0x4c42a34)
#32 0x000055bd254fcbfb clang_main(int, char**, llvm::ToolContext const&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0xe75bfb)
#33 0x000055bd253c806b main (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0xd4106b)
#34 0x00007f13e1115d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#35 0x00007f13e1115e40 call_init ./csu/../csu/libc-start.c:128:20
#36 0x00007f13e1115e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#37 0x000055bd254f6a85 _start (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-22+0xe6fa85)
clangtk: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 22.0.0git (https://github.com/llvm/llvm-project.git 44f41f55b4df5ec490df0d69e046b2d1a58acaeb)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/home/suz/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-9f4e27.c
clangtk: note: diagnostic msg: /tmp/small-9f4e27.sh
clangtk: note: diagnostic msg:
********************
[601] %
[601] % cat small.c
int a, b, c, d, e, f, h, i, j, l, n;
long g;
char k, m;
int q() {}
long r();
int s();
int t();
int u();
int v() {}
int w();
int x(int, int, int, int) { return 0; }
char y();
int z(long);
int aa(int[]) { return 0; }
static int ab(int ac, int ad, int ae, int af, int ag) {
int o = 0, p;
a / 1;
goto ah;
ai:
1 % a + 1 % b + 0;
if (5 * s(d + 2, d + 9 + d - 1) + d - 1 % ac - 2 * b + 9 + b - 3 + b -
2 * s(ad + ad - 3) + ad - 1)
a = o = (char)u - 1 + c + 7 / y(b + 1) + b - 3 + b + 1;
if (1 % (s(o + 8 + o - 2) + o) + -p + 1 % (s(0, d + 2, d + 4 + d - 2) + d) +
1 / ad - 3)
goto ai;
ad = 1 + -r(o - 2) + o + 3;
if (1 + s(r) + ad - -s(c + 8 + c - 2) + c - 2 / a - 5)
d = 1 % p + -z(a + 4 - 2) + a + -s((char)q + 5, a + 7, a + 9 + a - 6) + a -
1 % s(p + 1 + p - 3) + p - 1;
if (-(-u(0, o + o + 3, o + 3 + o - 1) + o - 1 % (v() + af - 2) + b - 7))
goto aj;
ah:
d + s(c + 6 + u) - 4294967294 + c + o + -s(0, 0, ad + 3 + ad - 4 - 8) + ad +
-a + 1 % s(b + 9, b + 5 + b - 2) + b + 0;
if (1 / (char)a - 2 + a + 2 * r(6, 5) - 4 + ac + 1 / s(0) - b + 7 / d + 1)
p = -18 / (x(a + 5, 0, a + 2, ac + 3) + ae + ac + o + ag + af - 2) + ae -
-ad - 1;
goto ai;
aj:
b = -s(ac + a + d - 4) + ac - -z(d + 1 + d - 3) + d - 1 % t(p + 1 + p - 1) +
p - 1 % s((char)a + 4 + c + a + ad + q) + a - 2 + c - 1;
n = m = u(ac + 9);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
w(w);
l = s((char)s);
k = y(b + 5);
j = s(0, b + 7);
i = s((char)c + c + 209);
h = s(p + 4);
g = r(8, 6, 9, 6, 5, 9, 6, 4, 5, 8, 4);
f = w(r);
e = s(d);
int bb[] = {n + a - 2 + a, m + (char)q - 2 + ac, f + ad, l + a - 3 + a,
k + (char)t - 8 + b, j + b - 2 + b, i - 1 + c,
h + p - 5 + p, 0, g + -e + -d};
return aa(bb);
}
void ak() {
ab(2, 2, 3, -2, 2);
if (q())
if (ab(2, 2, 3, 2, 2))
ab(2, 2, 9, 1, 1);
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsW9tz3CiX_2vkF6q7ELo_-EHdds_kq8wXV-zZfexCCHUTS0IB5Ev--i1AF9RuJ85MPLVb36YSBXE5nMvvHA6IxlKyQ0vppRdtvOjqAvfqyMXltyNtS94eZH9R8PL5csubjtVUgOunruaCCi_IwVGpTnpB7qGdh3YHXha8VmsuDh7affPQ7olcx9nNl-zag7kH839zRXVvmK9AhVmthwIE1_4aAtyWQIm-vTetj1zcm1Y_m1opFjWjwrRzwQ6sxTUgvKTgEUvwgGtWemgLil4BdaRA0LIntARMth5KlOXAi-HwF-ZetImyzIuugIciQGrcHtQ9WD14MDcv4IEKyXgLEFrDNTwwBTyUnojM1LEv1oQ3HtrV9cP436oT_Aslaq1HhWEV-lUUFWFZRZSEGSwrWMYZhWFcoNLHUYoJpoWHMg_md1gcqNKyP6XxPg5XfXvf8sd2VbO2f1od2l53OgqKS9Dwkta6a8cle_Jg_qGVCtc1La-YMZBmhxNce2h35A310E723-xzNTZIXqlHLKjT18i_suZAu4K1Hsw3PatLQHhbsYMlvcFSUqEYb6UH8x3v2xIQ3JasxIqC37ZbwCw7WPcZ2Oml0BOxQmuPEA0SK-YsHtr5_q8miDyY39KaEkXLv09pOzHV9LViekiQg7UXbLwQNnHoTvZqDyvf9s-r_DvMjAbpS6zBPULSR2vfQjiGcITwi4oJ0598sHoEKwJkg-t6TUaIq_sTkLyCC9O50AA4wbeDeqO2vMX1s2TSQ7sr3twJSv_stJ7EmnSdF-SZryd84KwEZlyQe0G-7GnrjDtjRa9oTRXdbDyUzgM2WDKyqTm591CuvSbIQT5iEXgx7AQt97Tp1LOH0ita6_EZ8FDsoRh4CJkqcMQS8JYCLkDDBQV6FCVUSi7k2kPIQ4kJU7RcezC_-Xid314D2RcNUwCDoj8AQTsuFFD8NBL-ICx4aMek7KnWk4ltrCV1X1ITuIjA8ggKTO6VwIRqs3eCdoJr1mgJJO-FrdYjsZScMKyRJvoWSCJYpzS_twqTe1D2TWdDLlx7MLsR_CBwA7A49A1tlYmxE0w-vMDdyJdp-gFIXow5gzpfM-EFW8orL7gGHRaSCoAVoG0JeAUqVlMP5kh3-9Qp1rBvJuIHuuJz37asPYAOS6mtyDpJSOchBHirQ2FfU109zoa0pwIPBRDAJwghjKKiRGlKcRhAB37yWdrCjWCtMmq7s4p3ICfw455LJShuDIx0AFEWVOkvC7JjnYbeBj6FKA7CANplQQvinwiSwLI6J8jnvr1lhxbXv-O2rKmQhsn35hXCspp5RUteUZKUKdhqaH-mhD9Q8bxg0UPpoNBFny1vFX1SQ_SA5p-lHwz0k8oPqO8jGiE4CmhC0ZnYXbOCrCVfxwPLEXKUGy4JpiirCNjvO2WW2v09q-s9a7qaar8xkRqsPbRrO6UV5BTdEWviBXkYekGexMM80VvmaRUVOr154wxJ6gW5P6omPjeDO-atZNPMJZucajxMYnCQxoqGoi1qmubtWZa00xHOJidoJzCT1BBGiRfko0LSJV0_TKoA4EIHVkNHldagixfTbpnUS0oy0Mpe0PILsG_rfc1xuS95g5k1G2sn6Yei7tHIA8GWrO8nmkmNDu158ET4iGbxz8EtyGgWW7hpggtfTmJSJVnyK9fE93T2AIZpkiWzMOhUmAzFPxCm_N8gRIYciwSuENgvKYywXlM_3NxutzcLPv8wi82wEDhyYoU_4mfeK50nS_Wiw5ge_YFbfNCa2M5tu74lNv-7NsJvgVSlbaqmJqe_3Sd8ZIXA4vlDW_FpTrDgdaJrZdXU30b6TuBWVlw0mvivIJtL2Tedrt5icqS_guQVb1iLFRcaX7-CoAHfTtCvPW3J89slLzivNWA1VE5WK42t8BRbBLvebiF2g-WwgIu-fQvevgenYYjmLn5nT4qKKCHYCQeRK22WkQr5bjgoqcKsHnIuLOUfdhf7kvmFsI6Ofl4JQCvi_6JqgzBFvhOk4kVahRD2s9Bh26jzdZb_cxQXFDjws3BWXLJQXJHB0g80A7jl7XPDewla3FDZmcQ_s_xeN0zpfWVT1M-_07ob167PfTtsTkweeMM6WrNWbxgMD-NaRu5pW-ZDrHACT9-yrz3dd2qpHb3F6B4FU3Q_bjScQSWtcF-rvV03fzBwsJu1zY_mveO8_tSrrlc7ZjHylklPRi1mfKmFLW9l3-g03yzrQ-2fitVngmV6YqoIFYFLkzZMDRQsB0vFjyeV5iysJfQlU1te0t-osSFv5QsI3yrB2sNnWi2rR8Dn50WcDe3ErFaJXrIH-plW21bdnGj-oRrivVbh7bNUtDldpP45rLzBbO-5f4wgRUUw-2u2WENQWsGo-h6HptJuJk3iYg_T_mzZCTry27thU_n-QSgkMIVRNQmFFicRmFQIQ-IKdYOFpPnt3ZLlW9rgAaQ2zZjTjXdkPo7jAkMyM7_YsWQRJkWUuczvhNbr5Ag2gj5R0iv6D5w_VCgqomzmFi25RWlIIvC9KOHyO_py-rp47w8eiv2QRLNEi_1JFmdljFJXooH3WbAHTvBLOV6Gx_f27Qj6cWwQMEiyyIajCMIySgEh_l5vzxdJRi4EftaRONiSIxbjFicfI9aiDm3NyfL7C0STrIwceRb5bhRWSRBhMJpj698ZZ3Wkum1wXf8XJYqLD01XnxXuZE3SNIa45ewtM1AK9jCdrjuLKIqX8bOiflKeHryPO6C9MBo2rdZVp6yP4LouMLnfV3qf5MDITjxAautvedPgtjz1-rOWnNYpbhZgvMz959V3XpmmEfs9eXryfftSYMmIXsaYZsrocNFZV-yVwEzJsfmEHK61zRUXczuY9982yBowWZWbMR5KatwUJfZQMisLpTVvD7rrv3hxxhzJ6XEoSd0z6HOHnvNZLq5o_bzQ5vct986ByceQpHCGf3oKNexT8J8NFa3_dYeFWsPXMXGS4hRFFfiv6s1EbfxiZR2VuQjxJwN1h8WB1Nu65oucwxHs_dKlIKwCfwLW8sNNhooSRj-toH_xQr6unX_x4iOTrx3XvYzTExw6zDQSzDeLtyt0sUv6J_Uaw8jR6zKTQyTDQfiaDFdOeZFhnEktXrPHP6nXd07oQ4SD-VRh-ZUrCitSVIXlesxlRklMxMmHcPHjdf1ds5eoqIpZhkVeGQUkhXEBzIeSd2SiDH0YO0ycfH3zozKDYL-vWaHDNhZqrzOR_fT9hsj-5Yem4TvWuUHroxfkkflMFg9TRqdT0hACM4C1TJ3OYoua9MqQth-JkKaIhoB--uHNUlwIcY7_s5SDJNMMD4STE5jFOI2AJfmuSIkrnA47EOe-CBWCi-niAKiGjREgg1vaOxPgkakjoE9M2UtafhBqXntJweoBKA4kpYA5m5Ts_y9e_aWLV45lWnvBDpQMH1ouFSOgkXYQzMfw85f-mttzwxWY_O4u3_4O7n6_BrtPHz9--u8P__4N7D58vL4Fd59M9ebP38Dn65tPn-88c_fk5tz9lVTqQPfqHZapg6DApF60BFhZem8TGe1U02k96-VmlVUhRcnp3aefHS6PP6Pxv6_0aBND__SC11RBsHIu17BWAXNLrDArjn6YG5HmTNccZh7NxRX9-GKWIf1ovWDjwVxvX8DBls1u9F43NrZCU_46HuIkGy-5GkeIcdcxdpOnFeq0oj-teDilrCsfT3s9zYvpmf_MaCCo6kULoBdsgCVlRHk-pfVt3q_NlRgPM5h7sK-TlAprM5shhR0CMBk4AbicSnQqVVPpMAoKc2BqOPCCKwDNLS_LCwBYgw_44-uBKw7w0b5iZl0AAN9AQPfdDOXClOE4jlU6bkbAQ7kxS2makcGFKWbmWYIV8G3OMbxYwgSsADKDC6d3AVYgGEtmGv0HTZNgSxprQsFIFY9zDAOwEdqKrlNIkxxl_TD3BhDzTIwatPEsAxOTLg-2YSGx5d_Gj5SbHql5ci3RSISPhVXnqHAYBWclOfoKJxVNVMqhMGnCN0xP4ut6az82Wbc0cltJV8Lw6PJlnsFLkTZGv2Kh05XZ2zgiEpfUaMEdwGAFoln_MwcRsNKvtEvgQUqHhK1aWa8eDfXVVEbmCqK11Fwch61APNOYgTLCVhOc9b4BnQuXzqBloYCV_tePluELTU0VwWRlf9bmarbsFGg0U5UrpkaU-YA9qcga7cvgdMfR6crJEFbrsXn2ms4KhCgLszhBWeigmM8aNLybx-AlwWxJrfXUsa2LqZXr5HLyh8zEemuLSQpHpDPBwKJztiQeEDIa2vqxxqTZskWDXLYHmbjYgUEc3Vo4zlpOjjow3xmkrfx0nPhpwlk0a2N2tGGSOXJQd26rS3w4Y0FMLcpWQ6xZxM7B97Q5rRkLy5YJWMSR31hiIqn9xzhG6SB1EdjmcKnOANo_DQ7d1H3pUNgJLy47A0y-Op40mIu4QrZGmsY8-1mkbFregFlOH__6-98c_t7T10b0pU6l035v2ueVJHLavkxj4exPidOBnSFOHFMh6Cr6OPW2aAidtoNp096V6qmMi2VTKVq-hlNdOrxOdCpD53FYDcZaOs1cuty3ChSFzWnsepts2hMwmaSxMUU3yE_NJrmpBkSaxHEiEEwEnBDv_rk_Iat0nLMByuShc-CaK9mcCLxO-Di5mQ1-3RRObHhY2cixKnXWZpUx5HIm0SuKSUk2rTNn6PjeyUXNYq0zPBOZzMMsNqvxPVsG1yFDnoOfrT5HYqYwdX4xl4GCPzwWrC5-xQTzi_IyKLMgwxf00k-iCAYohNnF8ZKmMIn82A-pT_0EpmFaEkqDLEFBEdMEXrBLBFEEUx8hH0IYrGkWkJSGhPgpTAn0vRDSBrN6rffWay4OF-Z3C5d-FKAsuqhxQWtpfjmGkD2sQ8iLri7EpdmMF_1BeiGsmVRyJqGYquml3eqbHztQCbACq09estHyaukDL7kCvAUvrtW-9089LnpRX_71X3MMinm4RP8TAAD__4O1-po">