<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/129873>129873</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang segfault in clang::Sema::PushCompoundScope
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
melver
</td>
</tr>
</table>
<pre>
Clang crashes in clang::Sema::PushCompoundScope:
```
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: /opt/llvm/bin/clang -Wp,-MMD,kernel/sched/.core.o.d -nostdinc -I../arch/x86/include -I./arch/x86/include/generated -I../include -I./include -I../arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I../include/uapi -I./include/generated/uapi -include ../include/linux/compiler-version.h -include ../include/linux/kconfig.h -include ../include/linux/compiler_types.h -D__KERNEL__ --target=x86_64-linux-gnu -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -Werror=option-ignored -Werror=unused-command-line-argument -fmacro-prefix-map=../= -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=branch -fno-jump-tables -m64 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mstack-alignment=8 -mskip-rax-setup -march=core2 -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mretpoline-external-thunk -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fpatchable-function-entry=11,11 -fno-delete-null-pointer-checks -O2 -fstack-protector-strong -fno-stack-clash-protection -pg -mfentry -DCC_USING_NOP_MCOUNT -DCC_USING_FENTRY -fsanitize=kcfi -falign-functions=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-gnu -Wno-format-overflow-non-kprintf -Wno-format-truncation-non-kprintf -Wvla -Wno-pointer-sign -Wcast-function-type -Wimplicit-fallthrough -Werror=date-time -Werror=incompatible-pointer-types -Wenum-conversion -Wextra -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-format-overflow -Wno-override-init -Wno-pointer-to-enum-cast -Wno-tautological-constant-out-of-range-compare -Wno-unaligned-access -Wno-enum-compare-conditional -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-enum-enum-conversion -Wno-sign-compare -Wno-unused-parameter -g -Wno-unused-but-set-variable -DWARN_CAPABILITY_ANALYSIS -fexperimental-late-parse-attributes -Wthread-safety -I../kernel/sched -Ikernel/sched -DKBUILD_MODFILE=\"kernel/sched/core\" -DKBUILD_BASENAME=\"core\" -DKBUILD_MODNAME=\"core\" -D__KBUILD_MODNAME=kmod_core -c -o kernel/sched/core.o ../kernel/sched/core.c
1. ../kernel/sched/sched.h:1816:2 <Spelling=../include/linux/percpu-defs.h:217:37>: current parser token '\
do'
2. ../kernel/sched/sched.h:1816:2 <Spelling=../include/linux/percpu-defs.h:236:2>: in compound statement ('{}')
#0 0x000055e362aee5e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/llvm/bin/clang+0x43435e8)
#1 0x000055e362aec2ee llvm::sys::RunSignalHandlers() (/opt/llvm/bin/clang+0x43412ee)
#2 0x000055e362a7ca49 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f6e08049d20 (/lib/x86_64-linux-gnu/libc.so.6+0x3fd20)
#4 0x000055e36467d629 clang::Sema::PushCompoundScope(bool) (/opt/llvm/bin/clang+0x5ed2629)
#5 0x000055e3645f9fee clang::Parser::ParseCompoundStatementBody(bool) (/opt/llvm/bin/clang+0x5e4efee)
#6 0x000055e3645f5a0d clang::Parser::ParseCompoundStatement(bool) (/opt/llvm/bin/clang+0x5e4aa0d)
#7 0x000055e36458a673 clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, bool, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) (/opt/llvm/bin/clang+0x5ddf673)
#8 0x000055e364587c6e clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/llvm/bin/clang+0x5ddcc6e)
#9 0x000055e364586c6c clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/llvm/bin/clang+0x5ddbc6c)
#10 0x000055e364583278 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/llvm/bin/clang+0x5dd8278)
#11 0x000055e36458ad15 clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, bool, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) (/opt/llvm/bin/clang+0x5ddfd15)
#12 0x000055e364587c6e clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/llvm/bin/clang+0x5ddcc6e)
#13 0x000055e364584581 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/llvm/bin/clang+0x5dd9581)
#14 0x000055e364587b9f clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/llvm/bin/clang+0x5ddcb9f)
#15 0x000055e364583278 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/llvm/bin/clang+0x5dd8278)
#16 0x000055e36458ad15 clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, bool, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) (/opt/llvm/bin/clang+0x5ddfd15)
#17 0x000055e364587c6e clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/llvm/bin/clang+0x5ddcc6e)
#18 0x000055e364583278 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/llvm/bin/clang+0x5dd8278)
#19 0x000055e3645b8197 clang::Parser::ParseAttributeArgumentList(clang::IdentifierInfo const&, llvm::SmallVectorImpl<clang::Expr*>&, clang::ParsedAttributeArgumentsProperties) (/opt/llvm/bin/clang+0x5e0d197)
#20 0x000055e3645ba694 clang::Parser::ParseAttributeArgsCommon(clang::IdentifierInfo*, clang::SourceLocation, clang::ParsedAttributes&, clang::SourceLocation*, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeCommonInfo::Form) (/opt/llvm/bin/clang+0x5e0f694)
#21 0x000055e3645b776b clang::Parser::ParseGNUAttributeArgs(clang::IdentifierInfo*, clang::SourceLocation, clang::ParsedAttributes&, clang::SourceLocation*, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeCommonInfo::Form, clang::Declarator*) (/opt/llvm/bin/clang+0x5e0c76b)
#22 0x000055e3646189ff clang::Parser::ParseLexedAttribute(clang::Parser::LateParsedAttribute&, bool, bool) (/opt/llvm/bin/clang+0x5e6d9ff)
#23 0x000055e364618eef clang::Parser::ParseLexedAttributeList(clang::Parser::LateParsedAttrList&, clang::Decl*, bool, bool) (/opt/llvm/bin/clang+0x5e6deef)
#24 0x000055e3645c1fc7 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/llvm/bin/clang+0x5e16fc7)
#25 0x000055e36456ebad clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/llvm/bin/clang+0x5dc3bad)
#26 0x000055e36456e599 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/opt/llvm/bin/clang+0x5dc3599)
#27 0x000055e36456d938 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/llvm/bin/clang+0x5dc2938)
#28 0x000055e36456c233 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/llvm/bin/clang+0x5dc1233)
#29 0x000055e3645689fe clang::ParseAST(clang::Sema&, bool, bool) (/opt/llvm/bin/clang+0x5dbd9fe)
#30 0x000055e3635cba6d clang::FrontendAction::Execute() (/opt/llvm/bin/clang+0x4e20a6d)
#31 0x000055e363548484 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/llvm/bin/clang+0x4d9d484)
#32 0x000055e363680212 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/llvm/bin/clang+0x4ed5212)
#33 0x000055e3611430b2 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/llvm/bin/clang+0x29980b2)
#34 0x000055e36113fdc1 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#35 0x000055e3633d7399 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::$_0>(long) Job.cpp:0:0
#36 0x000055e362a7c868 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/llvm/bin/clang+0x42d1868)
#37 0x000055e3633d6de5 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/opt/llvm/bin/clang+0x4c2bde5)
#38 0x000055e36339df7f clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/llvm/bin/clang+0x4bf2f7f)
#39 0x000055e36339e11e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/llvm/bin/clang+0x4bf311e)
#40 0x000055e3633b736d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/llvm/bin/clang+0x4c0c36d)
#41 0x000055e36113f73a clang_main(int, char**, llvm::ToolContext const&) (/opt/llvm/bin/clang+0x299473a)
#42 0x000055e36114cfa7 main (/opt/llvm/bin/clang+0x29a1fa7)
#43 0x00007f6e08033d68 (/lib/x86_64-linux-gnu/libc.so.6+0x29d68)
#44 0x00007f6e08033e25 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e25)
#45 0x000055e36113dae1 _start (/opt/llvm/bin/clang+0x2992ae1)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
ClangBuiltLinux clang version 21.0.0git (https://github.com/llvm/llvm-project d0f472c246911e35656bf24fd282f80d7482211a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/llvm/bin
```
To reproduce:
[core-d0a8fd.c.txt](https://github.com/user-attachments/files/19088234/core-d0a8fd.c.txt)
[core-d0a8fd.sh.txt](https://github.com/user-attachments/files/19088235/core-d0a8fd.sh.txt)
Report courtesy of Peter Zijlstra.
I was able to confirm the crash on my own Clang instance as well:
```
clang version 21.0.0git (https://github.com/llvm/llvm-project.git 829e2a55261890e15102d978f714001a2d1acf85)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/google/home/elver/third_party/llvm/build/bin
Build config: +assertions
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsW9ty4zaTfhrODQoqEqQo8sIXGsnOOvHMeMfOTmVvVBDQlBCTABcAbTlPvwWQMg8-jDyb_LWbbGpSpnDqr79uNBoESI0ROwlwFsw_BvP1B9rYvdJnFZT3oD9sFX88W5VU7hDT1OzBICERcwVBvAzi5Q1UtH26bsx-papaNZLfMFWDKw79vzTs_oXL66vz5c05Ms22EhZRtG12SEOttEVWob21tXH9yEVALnbC7pvtjKkqIBdleX_8g2utfgdmA3IhjGnABOQCUcmRkKxsOCC7hxYu2lJ2ZzVlEJAVqjXUWjEwBjgyqtFtsetJjVFMUAsc6UYiw7So7SwIlzeWsjvEm6pu1Qln6FqrnaYVonrXVCCtA4wCcqFq2-PcChmQC08Uwt_qgKzwp0_rgKzuQEsoA3Jh2B54QC5mTGmYqRlHWCpjuZAM4cvZLCAXVLN9QC4OWepU7ZTDl69VOcpAgvZqdEOMew1-vTFIQ2txophB69lrY7zV7Qho0rsUsjk4_lRVixI0vgdthJKz_Xe73DElC7E7oeVx8I19rMG4DuvN5pfzr5_PrzYbhLGlegc2iNeHLN2kCfb98E42CBdCWth5VTA1CH8DrZUO4nUj76R6kPiBainkDqvaCiUHDcROKg3cV1TiD-qq8dGTBu3ajrhrPpLQGOCYqaqikjtQMOhfVJRphWsNhTjgitZBvPbqB_EaYWN5EK93sokihAuzV9riB7anGuGikT4OcNz9lsrLcODd8_XleftgrBbMYloKaoRz7soVGmgfqurwVELap5hL9dA-0vsDwgUr3AS2wJyGQbzeairZvh3996aqsaXbEgzCVZogXNBS7CQulXKRYR21I2VhnC3ax6LGGiwWErdFxs1Y7Hs5ToJ4nbnSO1FjTQ_YgG1qhCvv2fHaTb4OqDPLH0o6TVilOJRBvG5nK8LfnEoOh3MaqqFFS82jZHutpGoMbuSDkLwHr8HWypsHDha0pCW2-0beIVwJyYUGZnGrOmamsxjCVdFIT4xTqtGOH9-rGwThoqaW7Z0Q_NQUpNWPjpwoICtvW6kwhxIsYNmUJa6Vc1iN2R7YnUH4C3H290R1plDaWVY5g7ZWdnWspGY_MBbCtTN44eUhvF6tNr_eXH7-afP5y_Xm0-rLr59vh6UX559vv_7mJFEprPgDHKGsEE9GPSrgDZt6SN65ihIOmGpNH11NPHI8dQ-6KJ1HDXA6tRD-RktnqkZyKIZTrqpLwYTt-eLASqrpdGoe24nRTGztgF2QGJR2aBw3yseP1kcKpStqsQHWaGEf20KrxU7Ten9so2kFmHKuwXRF3Q-sClxTdgccV1BtQSP8rRLGzbMhZjMoHgFoRy5d3NLY7qnzHhImWSvER64ByCOTWCqJ72otpC1GDaxuJGsj1LjJfUnbhke_clMD4W-MmgHLHWM9_bQs7V6rZrcfEMmpBWxFNSRXSD_NrHBefpRxVBJkU2GmZLckuJKD1dQb3oXGFlkXJreNM4bF91QLN2dGlUxJM62acNMWul9acMBCCjvW3CrcAqKmq7G0sapUO8Fo2Yqg0mLVWGddTeUO-iDSgvGTwa0kjD15RKelb-dG4cJxSrtQdLR-IaDkHpWgpfgDdNfbcYVLUQnbFZi9KCyWsKNW3AO-p2UDA0HPOX0W7wa81dT5mXXuufsO2-tvy6-fN6vl9fLj5dXl7W-b5efl1W83lzcIF3CoQQsXo2mJS-cGNdUGMLVWi21jvbXtXgPl2NAC3HRq04xxDoXw5bRg_cvHXy-v1ptPX9YXl1fnQbwO5quAkGfJlwv_bVXf6ePy5vzz8lPf66VGn76sX2-z2TxrdVcpvnGNEGYIK_QikplCL-h3rGRBuIxmr7Twf2f7IF5GWZQG8ZKgIF7d1FCWwuXq61eSoBo0qxvMoTC-N4kWQbyMF0F87tJa1mjtEgtvGY2sugOJArJwqoZLrtxjuCQz5P_7i6HFvnOHzG1Dut0GMpZa8AlQQDIHafExWKzdA8mD0CXncYjCQxiG4XwOcUoowBwy5HN1v3kxj6bbxbgY55P-23bbkPWNNH3YKGM10Cogqds6CGkDkrdSX83_A_IxPCRxEs8h6wFFE0CMALwE6Gsjb8RO0vLfqOQlaOOFnSozIgC9TDKWuWA0ydHKbZS-AnNB7nEkKiBZp-CozUpJCwc7Y7XbE4X-_3b8uBt_UaQQZmGScxJ2QEuxbfcRo0y6rWAzo2aphxwXnIQ94GQIOEkXPCX5qbtPkm2VKk-kag6cpCTvJc9HkudFXgAMJV_7CTF4fhJ-9MWPij--F0QCxdBe6QTEnIb8fSDeDYDSkPcAFmMAGU0X8ZsArqkGeX6oXTbjsnuSvd4apC_44nc63YRqwfZ_B72_1PS_Gri2OohXg-J_b2h5-1iDCwvtGEP_8Jv8K9VmMb7-NCI4L9JF3BORTYhYsPQ77kCNPYUH187__kVI_pyBqULDrk5r190b-3nX5em6MpYOvC6f6JqylP19dN2ylLW6uiAcTnSNySJ7U9elf13mptYpGk9gn4oxI4usxxhNJyGP5v-UScijeU8E-YdMQqdrPNE1mWfRX6vrX65gPs-iXsFkasxtXvyNjLnNi17X-f-BKJP-f5RpiZjmPH_nKDNNa_43OuYkHdlmUb54G-Px_cGyey1-JYwdg7zkIK0oBOhLWSjk39J0Fui3YDcVLcv_8O9GL6u6HPuiU98R_5IrehT8GQxzrVUN2gowJ-fjIY_yxRMXZJKubGmaJydzYVb-ff5bTHhXenNavaWo-f6snA7_PxL_JLhVzI_gKy6Urk6nuEjzpKd4km1tF4t0-ybFP33-dcTyP4bfUdt193pa6XeEIwjZIt323I8TvDTK8uLtnOAKDgN-Xg9EV9TChMwXV6ETYac8L_rlncRT2ADvgf08PL0OvW079QJHfmfbH9QHYKDPJDVjUcHejrhO_k9aNfVzNYTcudqbGtjLuFun6d4pvdv_n0Hht1DVJbXQ-vt758twvAulv1K5g0sp7HucOkoLNojZk-QvhS19-yWOY-WLvuiOUdZQXMr2_PAFJ_k-Od9t8aaFlv5IwtX5IHLyGs7iLeU9B-mUg3mef5eD7rRrRIU_6ngx5fizmZh6xo8zMc_znolJdpnyPH474zrvDo8HjPxrtD9VP5LHfbZGJhllykj89hvDW1VfwT2UbQzLvr8LeAo2X6F4eSfw9FL4k-JNCZdVrfQxBz19W8AiEse9YpM0NM3y4vm2YHlzO9bBY_nxlYZveV70-fr4FCOesy1NR7HkQrs4Kvmyu1vRZqrA2sXx1GMDICFN-9k7PqqI50mWZKOsc9VdpLn0Z50MRnI7KCNWJjBPNkrCc55kfbI2PtCI0ywkEUGjLN1j6AHeP0X-7C0FTvb_BPicRKRHNMoFoiiJwy1BjEWbirqug9Okpdb00fvwyl-56TYh7ZZihcZlZIXuleCnAyN5noXbAbBkDCwuOIvQkZ9VdOu9Mntz9_MM5WTD5MboFvLBlipHXIt70JPzIodptDTGMV_Eee71HAx6vE6w0Z4qX9v6cnsQGMRLRstyS9ndppDjUNEK7my8ilbtnanptHjRJP6qlCtrL2JRR8CAHKuF3HUBqLXXU4fNhh0OUdT-2FIj2Mb45h2Fo8auYGM1FdYcqyfD0bJ0Pqv0oN41WU62_y3hvktAkk3oG2Wlcv6Qo5_V9gX-0-l5YJYOD0VfOvVra7428oYWUD6O6HvbVCdOKMKjLO0XlPERVBzzlMPovdQ_zsYnscjIlkP_Umt8fhXHOS8Wxass-mhIn60gR2pHoXPS0TUYvU45relytEa-R9FtQYpFv3cZH17FcQ5RBO9V9Ge1Na9r-bPaul3YyS-NnqxcU-EM7I_UTyemc4UfpieOoj6BSMYJRLxdxOMEYghlPXgeLaQvrKCv0fovpOe08MJCFg9ymySaLouLmLbCjyv2EZCf1stuUn5_0TttjU4WMe3BkEnywAq6QA7GaaPRqKD9xjOZ3MZwsTN7320MkvNBKE6S6YBA5mizcX02xlJtNwOsJ4sA0sepZD4xB6cQoXbwExklFLpTpqMLoe5a4bK1Kyq67BN1d6hRQUUJHD0Iu0dwEM6OHFAUeyM2BhC-R1YhA4DEIIN0MvynER8bUdorp2In4XiNjkSzcBbuhMf-vm8bEA-LZEEYSdI8iiCep_N0W5Ck4CQjRRbyRZIREkWd99x2d9WXqGP8eBG9Zz5c3vq7dKi727xEtTLiEIRLn_aWJfC10K99yzD-isMNppD_nII37Pilx_wjUxowD2lW8Bmb2YMN5uu3VW8MaEytpWzffktBLgpR-k86ojzMMhIn3f238bitx4wlmv2fJHI-EdkN3MoMl1_b71WYarQF84hUga79dcj_FL-Xxmo6a9tdogdqkL8Iaf0hQyF0Nfg4RUlUPSL1IFH7hY3oth-IGvQAZdnROuD9T3OvmeuVuclH53OSRlkeQjSPQsLzRVYsoiQMI0p4RFmRzf8aF2uMdqAUo6UDrNSuhIBc7FXl_vjPjwJyYfdC801NtX0cOGQjSv7kmG768ZbeXTv2R2oM6PZm-YDAD_ws5nmc0w9wFi2SKFokcZ5_2J8BzYFBNC8YjcI5hwSygs55SiKgaQrbD-KMhGQexuE8iuI4ymc8oyHkixAYZRQgC5IQKirKmUM4U3r3wX-ZdBaRPFvEH0q6hdL4T6wI6cIVCebrD_rMW2Xb7EyQhKUw1vRDWGFL6L6-MrAraFPa0z-_-tDo8uzHP6jqkN-fkf8OAAD__zJS5WA">