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

    <tr>
        <th>Summary</th>
        <td>
            [RISC-V] Crash in SoftPromoteHalfOperand with "V" and "Zvfhmin" extensions
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Reproduced with LLVM @ _main_ (~ July 5, 2024)

Arch flags: `-march=rv64gc_v_zvfhmin`

[test_arithm-1e8bff.cpp.txt](https://github.com/user-attachments/files/16112505/test_arithm-1e8bff.cpp.txt)
[test_arithm-1e8bff.sh.txt](https://github.com/user-attachments/files/16112508/test_arithm-1e8bff.sh.txt)

```
FAILED: modules/core/CMakeFiles/opencv_test_core.dir/test/test_arithm.cpp.o 
ccache /work/chains/llvm-main/bin/clang++ --target=riscv64-unknown-linux-gnu --sysroot=/work/chains/riscv-gcc-14.1.0/sysroot -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int -D_USE_MATH_DEFINES -D__OPENCV_BUILD=1 -D__OPENCV_TESTS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/work/opencv/3rdparty/clapack/include -I/work/opencv/modules/ts/include -I/work/opencv/modules/core/include -I/work/opencv/modules/imgcodecs/include -I/work/opencv/modules/videoio/include -I/work/opencv/modules/imgproc/include -I/work/opencv/modules/highgui/include -I/work/build-opencv-rvv10/modules/core/test -isystem /work/build-opencv-rvv10 -march=rv64gc --gcc-toolchain=/work/chains/riscv-gcc-14.1.0 -w    -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -pthread -Qunused-arguments -ffunction-sections -fdata-sections -DCV_RVV_SCALABLE -static -static-libgcc -static-libstdc++ -march=rv64gc_v_zvfhmin -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG -fPIE -std=c++11 -MD -MT modules/core/CMakeFiles/opencv_test_core.dir/test/test_arithm.cpp.o -MF modules/core/CMakeFiles/opencv_test_core.dir/test/test_arithm.cpp.o.d -o modules/core/CMakeFiles/opencv_test_core.dir/test/test_arithm.cpp.o -c /work/opencv/modules/core/test/test_arithm.cpp
SoftPromoteHalfOperand Op #0: t114: v8f16 = BUILD_VECTOR t46, t47, t48, t49, t50, t51, t52, t53

fatal error: error in backend: Do not know how to soft promote this operator's operand!
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: /work/chains/llvm-main/bin/clang++ --target=riscv64-unknown-linux-gnu --sysroot=/work/chains/riscv-gcc-14.1.0/sysroot -march=rv64gc --gcc-toolchain=/work/chains/riscv-gcc-14.1.0 -w -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -pthread -Qunused-arguments -ffunction-sections -fdata-sections -static -static-libgcc -static-libstdc++ -march=rv64gc_v_zvfhmin -fvisibility=hidden -fvisibility-inlines-hidden -O3 -fPIE -std=c++11 -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int -D_USE_MATH_DEFINES -D__OPENCV_BUILD=1 -D__OPENCV_TESTS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/work/opencv/3rdparty/clapack/include -I/work/opencv/modules/ts/include -I/work/opencv/modules/core/include -I/work/opencv/modules/imgcodecs/include -I/work/opencv/modules/videoio/include -I/work/opencv/modules/imgproc/include -I/work/opencv/modules/highgui/include -I/work/build-opencv-rvv10/modules/core/test -isystem /work/build-opencv-rvv10 -DCV_RVV_SCALABLE -DNDEBUG -DNDEBUG -c -MD -MT modules/core/CMakeFiles/opencv_test_core.dir/test/test_arithm.cpp.o -MF modules/core/CMakeFiles/opencv_test_core.dir/test/test_arithm.cpp.o.d -fcolor-diagnostics -o modules/core/CMakeFiles/opencv_test_core.dir/test/test_arithm.cpp.o /work/opencv/modules/core/test/test_arithm.cpp
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/work/opencv/modules/core/test/test_arithm.cpp'.
4.      Running pass 'RISC-V DAG->DAG Pattern Instruction Selection' on function '@_ZN11opencv_test12_GLOBAL__N_110InRangeSOp5refopERKSt6vectorIN2cv3MatESaIS4_EERS4_RKS4_'
 #0 0x000064d73e39cb0d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /work/chains/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:11
 #1 0x000064d73e39cffb PrintStackTraceSignalHandler(void*) /work/chains/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1
 #2 0x000064d73e39b026 llvm::sys::RunSignalHandlers() /work/chains/llvm-project/llvm/lib/Support/Signals.cpp:105:5
 #3 0x000064d73e39c37e llvm::sys::CleanupOnSignal(unsigned long) /work/chains/llvm-project/llvm/lib/Support/Unix/Signals.inc:368:1
 #4 0x000064d73e2c0c34 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /work/chains/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:0:7
 #5 0x000064d73e2c0b58 llvm::CrashRecoveryContext::HandleExit(int) /work/chains/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:446:3
 #6 0x000064d73e396503 llvm::sys::Process::Exit(int, bool) /work/chains/llvm-project/llvm/lib/Support/Process.cpp:115:7
 #7 0x000064d73a497de6 (/work/chains/llvm-main/bin/clang+++0x1fa7de6)
 #8 0x000064d73e2cda89 llvm::report_fatal_error(llvm::Twine const&, bool) /work/chains/llvm-project/llvm/lib/Support/ErrorHandling.cpp:104:5
 #9 0x000064d73e2cd9d2 /work/chains/llvm-project/llvm/lib/Support/ErrorHandling.cpp:83:3
#10 0x000064d7400dac9d llvm::DAGTypeLegalizer::SoftPromoteHalfOperand(llvm::SDNode*, unsigned int) /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp:0:5
#11 0x000064d7400202b1 llvm::DAGTypeLegalizer::run() /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:356:26
#12 0x000064d7400249ab llvm::SelectionDAG::LegalizeTypes() /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:1057:34
#13 0x000064d73ff6fe6e llvm::SelectionDAGISel::CodeGenAndEmitDAG() /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:953:13
#14 0x000064d73ff6f7e3 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, true>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, true>, bool&) /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:851:1
#15 0x000064d73ff6f215 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1864:11
#16 0x000064d73ff6c694 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:631:3
#17 0x000064d73c144325 llvm::RISCVDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) /work/chains/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h:36:5
#18 0x000064d73ff6b6a0 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /work/chains/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:374:3
#19 0x000064d73d260f79 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /work/chains/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:94:8
#20 0x000064d73da7e96a llvm::FPPassManager::runOnFunction(llvm::Function&) /work/chains/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1440:23
#21 0x000064d73da837e2 llvm::FPPassManager::runOnModule(llvm::Module&) /work/chains/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1486:16
#22 0x000064d73da7f26b (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /work/chains/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1555:23
#23 0x000064d73da7edd4 llvm::legacy::PassManagerImpl::run(llvm::Module&) /work/chains/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:541:16
#24 0x000064d73da83ac1 llvm::legacy::PassManager::run(llvm::Module&) /work/chains/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1682:3
#25 0x000064d73e7ad4b6 (anonymous namespace)::EmitAssemblyHelper::RunCodegenPipeline(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>>&) /work/chains/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1158:3
#26 0x000064d73e7a711d (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /work/chains/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1182:7
#27 0x000064d73e7a65af 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*) /work/chains/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1341:3
#28 0x000064d73f23a49b clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /work/chains/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:354:3
#29 0x000064d7428ce219 clang::ParseAST(clang::Sema&, bool, bool) /work/chains/llvm-project/clang/lib/Parse/ParseAST.cpp:183:12
#30 0x000064d73f535ac7 clang::ASTFrontendAction::ExecuteAction() /work/chains/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1194:1
#31 0x000064d73f23e426 clang::CodeGenAction::ExecuteAction() /work/chains/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1145:5
...
#49 0x000064d73a4bfd35 main /work/chains/llvm-project/build/tools/clang/tools/driver/clang-driver.cpp:17:3
#50 0x000077e540829d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#51 0x000077e540829e40 call_init ./csu/../csu/libc-start.c:128:20
#52 0x000077e540829e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#53 0x000064d73a4879b5 _start (/work/chains/llvm-main/bin/clang+++0x1f979b5)
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git 00c622e596f918d9d83674b58097c8982ae1af95)
Target: riscv64-unknown-linux-gnu
Thread model: posix
InstalledDir: /work/chains/llvm-main/bin
Build config: +unoptimized, +assertions
clang++: note: diagnostic msg: 
********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzse0tzo7q69q8hExUuEBebQQbEl-58O7fPdqfr7AklS8LWaZDYknCSNTi__ZQE2OB2d9Kr073XPrWqUgF0ed_nvUh6JDBSim05pZdOdOVEswtU652Ql6XaoU3NGb_YCPJyuaSVFKTGlIAnpnfg5ubxFjihB7ISMZ4BB07-B_y_ungBkQOnAHowdGDieDPHS5v_qcQ7kBdoq5wgBU7suSWSeOcEM7mPwy3O9tkf-3xXMu7EXr-jE11pqnSGJNO70vXpZJPnI1xVI_2snWjmwMlO68qIdeDCgYst07t6M8KidOCiVlS6SGuEdyXlWjlwkbOCmqsf-z6MvMiBi-8oOFhxFobavROKyXkUrfyhK42Dmj_7uEivb-Yz49VSkLqRioWkDlxMb9EXumg1iYpyvM-sFlM_Iky2WofKre0CNNIxRnhHgQMXT0J-MaJ3iHEjryj2pWvC78DFxv7HBeJbB1458Aq4rkZyS7UJMFN4H4duzb9w8cTdgvH62d3yGriuelFSCNPqjAbb0d1i7PrhyB95Dly07YE7u3-Y300fs_Tm5n6aru-X2WqdrlfZ9P7T3Xq-zNb_9TB3ghnjpm32aTXPbtP1x2w2X1zfzVemLGslXH26vpk5wczvF67nq_XqULhaz6bZ9P5utU7v1tltOl3er44Vi_vlbfp18c317fWx9PpoXxMIBy4CSSok9UvjugphU8s4LmpCz_c4Rtgm0Rvbttnwxtas3GJBKP4BBXtGqGDih3RUUuC3d9ix7W5bs2902NSsIG7TzZX7ve-ds9-kOHCZelGaluB7vcHJ5ARcm4VaiMIm59vSFbhPAADg5naGJS7eIQncz8D9jIoCuJ8l1bXkrn6pKHA_c8HdPZO6RoVLtDAtESGSKgXcz4r-q6YcU7cSNqM_50KW6HjjKopryfQLcD-XTCnGty6huEASaSa46hVXUmhhdFq5WjKsh2U1JzQH7mfGmZFbmHur1sxhZoIw_XaIiCdzw7bcdC-F7Wn6MFSwPyixErDgiilNuXY7_WJPpWSkMdkltKCaumeM58KtOUclJdZDrqZlVSBNXSS3qqnHojTTaSepkhQjTYlLeV02_7DgeyoVE_yrRsjoPN8yJwxtuVCaYeWqnXhyRaVtTaV3kiIC3P9f81oZKXJb2ykduHlec2yamWC0Xs8J0qj3PJs-ZsvHx2w1TW_Sq5s5cJVGmuHu6hZss8WDR6UJ7ubUby2ZwM33TLENK5h-cYLZjhFCh6Uu4wXjVLld3X0A3NndbH716QM43rn5w7VFRZxg1ur1feDezoB7u37nFca9XbyvxBEBrnhvkBi8ZXI9379ZQ1ci1w9mjGj6ERX5fUUl4gTcV8CBgWdWbu37obnuJ7kfAyeYAbsqZY_z6fp-CXQYG1qlw3FzmTSXxF4ir7n4zQU2l6DPGHKkUQGolEIaLfYGMA42CH-hnJiymQBcaGBWaLATT0ALoESuQdXgBnrHFBAGuRbSgeP2gRMH-o2Sh5t5upoDVW9KpgECm3oLJK2E1EbYd9iRIRIdn6ik-G-KjSeZUrV1MDC-6mZ9vaMAS6R2FruWCFNjbyUNQcVUKUqAErVsik1PpJTAzAx5IGsOFJas0qM2MBrhL4DUZWWQ2SJv5HjJgxRbiUpwGN2Ws_7VKNB7rVF_L1B_L1Dd8791OfrG2vM31f-b6v9Cqv81JzuQocMN_k9iQDkWhZBub454f1b0s5TIN8usE0ypyJ1gDiokFZUAaUA5ASIHOSto0xKallNBKNhSTpvloqkJTM2y5pzxLaiQUsCB40U7x4EHU3CLONpSw1eA4K0LTKufgA_HLXkIz6lfXq-m7iOYpR9cJ5jP0g_gAWlNJQfXXGlZN9hWtGhm3BZYNzFbaKGX_fPO93sR8WH24eb-Kr3JsrvM971rvkR8S1f3VSRpLqr58h8rHe8p1kJe30G8D26Rnq_Q9SrM5vPlKsyW_1iFmRFukVvaCbxnz_O8OCTjgAYJ3ngEWCYWpE6QqhfV3DxIxrXlSeuGbE2OjSR6yoTSkqLSgZahMq4dmHyTKh3ZXcf52MaBi1VdGZrowMUnzp5NAdtyVKgR49gJ0jEMnCD1_SN4_xR8nm_ACdJGxkfESWESYLIXjDgw_QXwkomBd0QHT9BtPBifc-2y5gOQyoGTn4LX4TJpGqS-FzlBGh1xBadeC8b0HK5pQRGvq_sWnQMnNW8YIiiEYbfv7cEgPvFgOEAKsYeDEDhwYijRSylqBQzvUpVNyKRFbXYFS4oNfXuZCq7ps74uq6KpbVxs2zhwYtN0Ct7PrHPK2zCY_V1v3EWnpm2iSS8I5wT1LZg_M90Z8GvwhmFsQnJEHJ-kTRx5wfmZwm7Amoc-zinYCFH8FN5WdpfZfjR06rgPEYXJmNAY2NH0Y1s2B155z36OTP_DobtRMDmJGkGTpOeDZpub2W121myz-_Pk-olxCsxWQ7fz5E87ZG6U2JRgfHsY8OFwwCenqBMC31flJDjmipmX-6tK6HkE4aS_qszSD-uXit7Qrd2Cyab0_PHIwIOr2Z0g1E7fvWH750aB4RIfqIn8YRmepR8cuOhgLQqBtMGpekM4OhrpD42EHtz4rxopa_7npvdX4faRBpEZvDA-goUnYMMEbXpgBzJtyUDsb4Dse9HYIA-PmAcLVZ7HOY3pNzBfr2g7w7dKU07mJdNW37tiP9Xawk8iS056YyA8RT-mwavom9IrpBi-KoTZHfaynxVM6Yzp5vAte8o2TCsnmJ62IFQj1grkgtCsORUYNu3xUHtSKGt7VJajQtmbhicdK449e-iC-aCPbduU_Weibubj-DfkyyTyj1zHpEt0mi7Qj96YLmlRHK1Tg5Q5bIOOq84vN82fxGGPqBvj4hPjcJyErxona37PbxHeMU47OwbGfVX3O6yLA3-41g1IB_bDMID9wJmd4KNZC8S_wbh1c_AMFxZFdzUoOkSjnSXew5VtchKuTYy874TLTOf45a8ctGAcDoM2oEQExl4-7hO5E5APqOOz1ryzdr2XQWdUd0uMsWFysAEOtu4EjWkSo54NiwfTtzv5-KXor5ftoo5fejq76SAMDXGCR-9Df4h8EowpfAPyW3s0M8ymtugXoJ6YQeEfKRSEJ_7OYbx5bTd6-1cwJYqikwAEp6lDSH8-LnoDuifvuI1uWOxvwB6F_kkUwtPcQdh_Hfpvhu3HEziYcOBwvz9GJNzEryWPIbCpUrTcFC8faVF1ZixrbuaLLeUPrKIF4yaRmu1rS3Xs69z0QJPsqxRTU3P2r5pmlZYDViXRU1Y9SaZp1h3j9ToRmqO6MAStoJq-0jGYWyoVv0XtWojivtZVrResoG_VedLrqPAtIWw3-V_Nuq3LPmlWHA8XJsMQxichHPs--bMh7Jf_5YI3BV_jmQqu6pLKNx-d_oin7WAZHz09PvF0HKG8j8l4r5XTZMLQhbPjG48539rhEZ9Y9ZEiQuWKIol3980-Y3Aw02vaQn-lVcO0Xml0g_j2XJMetdKS8e2S5sPibqJKzwfnmCz9nZKWtWJ7uqT5lOuHk6zZ5y2jMYNoZd-PtbH_v59vQTik8HDId2GAwmTzPUy9g9i1RFwV9m3UJ85OEjFdrbuz25-doLpjDRvpwynPkNXCPqsN4QRT6Cd9Ox6QVDRdrYcoV7REg_PIHzmXHOK1CrprulofdoT2cAQekA5fO-VRECE8BkPPLaRx3SG52-NkimtNu3x_48HOEGMnt3c78KrvW6J93L0OXzPlMKAhjM_MEO8N9PvB9_2w915nNBod8IbJ8Bh8k5MgAiVi_A0Q7JtxBy60EIXqQeqeiWR7MyqbCrd57CCNB-kYdUEej2kUehOYkMQDWVawDc6URlJnGBWF_ekAGBmRqnbgYjRqPm4itDIKeaWLxiVfdbJ7V7tK9whi5J9qpaEHbB_GmT5V1Nwa6a6VPsI2U41Q6B2FwnNCB6acs-Ks8GCcDHbbUTAM12ScbCLQSP2JlxeJEXN4edGv7778Mze2HOTtOABYlCXiBOSIFd1vPOgz0wALQsHYM3hqRYG7tx8GUgoY3wvcvIwf6ALdR0p-MvJG3pZZW37s67-R6eV5OIaQRkmcJ_6EJGQSxONwE028ZIwnyQQi6qM8OZrannkEKfjm13Ztw-YTqVIQeygDKqHYc1N1zZVGRUHJjMk3fvNn-12Z0WOW9pxtm35XNReVZiX7g9qDSQdeIaWobI42z8WGC7NupuD43QYoVSOtTZmf-Bv-cOSCXAYkCRJ0QS_9MfSgB4PYv9hdxnFC43BMvU0YjWEyCWEyxtgLUbTxfILxBbuEHgy9sRf54yiB_ijekMCPk5CiAAYEEyf0aIlYMTJ-Ggm5vbAfcl4m40mYXBRoQwtlf2sEIadPwFY6EDrR7EJeWt9u6q1yQq9gSqujFM10YX-k1Hxh4UQzYF9iAsbBN76vtVnsQPjoQGg_BXUg_Gf7GyMIAX3WlJtUVRe1LC7__AeqjWn7S_i_AQAA__8LBBG2">