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

    <tr>
        <th>Summary</th>
        <td>
            [SimplyCFG] After 7c4180a36a9, Assertion failed: (idx < size()), function operator[] (in SwitchToLookupTable)
        </td>
    </tr>

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

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

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

<pre>
    As reported in https://bugs.freebsd.org/278320, clang 18 asserts on the science/dynare port, with:

```text
+ clang -cc1 -triple x86_64-unknown-freebsd15.0 -S -disable-free -clear-ast-before-backend -mrelocation-model static '-mframe-pointer=all' -relaxed-aliasing '-ffp-contract=on' -fno-rounding-math -mconstructor-aliases '-funwind-tables=2' -target-cpu x86-64 -tune-cpu generic -O2 -Wall -Wextra -Wold-style-cast -Werror -Wno-misleading-indentation -Wno-parentheses -Wno-unqualified-std-cast-call -Wno-unused-parameter -Wno-vla-cxx-extension -fdeprecated-macro -stack-protector 2 '-fgnuc-version=4.2.1' -fcxx-exceptions -fexceptions -vectorize-loops -vectorize-slp -faddrsig DynamicModel-49621a.ii
Assertion failed: (idx < size()), function operator[], file /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/SmallVector.h, line 304.
PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: clang -cc1 -triple x86_64-unknown-freebsd15.0 -S -disable-free -clear-ast-before-backend -mrelocation-model static -mframe-pointer=all -relaxed-aliasing -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -O2 -Wall -Wextra -Wold-style-cast -Werror -Wno-misleading-indentation -Wno-parentheses -Wno-unqualified-std-cast-call -Wno-unused-parameter -Wno-vla-cxx-extension -fdeprecated-macro -stack-protector 2 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -vectorize-loops -vectorize-slp -faddrsig DynamicModel-49621a.ii
1.      <eof> parser at end of file
2. Optimizer
 #0 0x0000000005aa5a41 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13
 #1 0x0000000005aa3a35 llvm::sys::RunSignalHandlers() /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:106:18
 #2 0x0000000005aa6042 SignalHandler(int) /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:3
 #3 0x000000082ad71440 handle_signal /usr/src/lib/libthr/thread/thr_sig.c:0:3
 #4 0x000000082ad709fb thr_sighandler /usr/src/lib/libthr/thread/thr_sig.c:244:1
 #5 0x00000008278682d3 ([vdso]+0x2d3)
 #6 0x000000082e33d19a thr_kill /usr/obj/usr/src/amd64.amd64/lib/libsys/thr_kill.S:4:0
 #7 0x000000082d390714 _raise /usr/src/lib/libc/gen/raise.c:0:10
 #8 0x000000082d443cc9 abort /usr/src/lib/libc/stdlib/abort.c:67:17
 #9 0x000000082d374091 (/lib/libc.so.7+0x9c091)
#10 0x00000000072b944a SwitchToLookupTable(llvm::SwitchInst*, llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>&, llvm::DomTreeUpdater*, llvm::DataLayout const&, llvm::TargetTransformInfo const&) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:0:0
#11 0x00000000072a02f5 (anonymous namespace)::SimplifyCFGOpt::simplifySwitch(llvm::SwitchInst*, llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>&) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:7042:7
#12 0x00000000072979e9 (anonymous namespace)::SimplifyCFGOpt::simplifyOnce(llvm::BasicBlock*) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:0:16
#13 0x0000000007295bef (anonymous namespace)::SimplifyCFGOpt::run(llvm::BasicBlock*) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:7608:13
#14 0x0000000007295bef llvm::simplifyCFG(llvm::BasicBlock*, llvm::TargetTransformInfo const&, llvm::DomTreeUpdater*, llvm::SimplifyCFGOptions const&, llvm::ArrayRef<llvm::WeakVH>) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:7619:8
#15 0x00000000071475ca iterativelySimplifyCFG(llvm::Function&, llvm::TargetTransformInfo const&, llvm::DomTreeUpdater*, llvm::SimplifyCFGOptions const&) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp:255:11
#16 0x0000000007146e4f simplifyFunctionCFGImpl(llvm::Function&, llvm::TargetTransformInfo const&, llvm::DominatorTree*, llvm::SimplifyCFGOptions const&) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp:273:18
#17 0x0000000007146e4f simplifyFunctionCFG(llvm::Function&, llvm::TargetTransformInfo const&, llvm::DominatorTree*, llvm::SimplifyCFGOptions const&) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp:301:18
#18 0x0000000007145fce llvm::SimplifyCFGPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp:363:7
#19 0x000000000590dc12 llvm::detail::PassModel<llvm::Function, llvm::SimplifyCFGPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /usr/src/contrib/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:89:5
#20 0x00000000056befe1 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /usr/src/contrib/llvm-project/llvm/include/llvm/IR/PassManager.h:547:10
#21 0x000000000314f312 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /usr/src/contrib/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:89:5
#22 0x00000000056c1832 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /usr/src/contrib/llvm-project/llvm/lib/IR/PassManager.cpp:128:23
#23 0x0000000003149992 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /usr/src/contrib/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:89:5
#24 0x00000000056be421 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /usr/src/contrib/llvm-project/llvm/include/llvm/IR/PassManager.h:547:10
#25 0x00000000031462ab llvm::SmallPtrSetImplBase::isSmall() const /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:195:33
#26 0x00000000031462ab llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase() /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:83:10
#27 0x00000000031462ab llvm::PreservedAnalyses::~PreservedAnalyses() /usr/src/contrib/llvm-project/llvm/include/llvm/IR/PassManager.h:172:7
#28 0x00000000031462ab (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>&, std::__1::unique_ptr<llvm::ToolOutputFile, std::__1::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) /usr/src/contrib/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1101:5
#29 0x000000000313ee28 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /usr/src/contrib/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:0:3
#30 0x000000000313ee28 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::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /usr/src/contrib/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1328:13
#31 0x0000000003154574 std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>::reset[abi:sn180100](llvm::raw_pwrite_stream*) /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__memory/unique_ptr.h:263:29
#32 0x0000000003154574 std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>::~unique_ptr[abi:sn180100]() /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__memory/unique_ptr.h:236:71
#33 0x0000000003154574 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /usr/src/contrib/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:379:3
#34 0x0000000003aea286 std::__1::vector<std::__1::unique_ptr<clang::TemplateInstantiationCallback, std::__1::default_delete<clang::TemplateInstantiationCallback>>, std::__1::allocator<std::__1::unique_ptr<clang::TemplateInstantiationCallback, std::__1::default_delete<clang::TemplateInstantiationCallback>>>>::begin[abi:sn180100]() /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/vector:1369:28
#35 0x0000000003aea286 void clang::finalize<std::__1::vector<std::__1::unique_ptr<clang::TemplateInstantiationCallback, std::__1::default_delete<clang::TemplateInstantiationCallback>>, std::__1::allocator<std::__1::unique_ptr<clang::TemplateInstantiationCallback, std::__1::default_delete<clang::TemplateInstantiationCallback>>>>>(std::__1::vector<std::__1::unique_ptr<clang::TemplateInstantiationCallback, std::__1::default_delete<clang::TemplateInstantiationCallback>>, std::__1::allocator<std::__1::unique_ptr<clang::TemplateInstantiationCallback, std::__1::default_delete<clang::TemplateInstantiationCallback>>>>&, clang::Sema const&) /usr/src/contrib/llvm-project/clang/include/clang/Sema/TemplateInstCallback.h:54:16
#36 0x0000000003aea286 clang::ParseAST(clang::Sema&, bool, bool) /usr/src/contrib/llvm-project/clang/lib/Parse/ParseAST.cpp:183:3
#37 0x000000000341cc7f clang::FrontendAction::Execute() /usr/src/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1073:10
#38 0x000000000334d28d llvm::Error::getPtr() const /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:276:42
#39 0x000000000334d28d llvm::Error::operator bool() /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:239:16
#40 0x000000000334d28d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/src/contrib/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1057:23
#41 0x00000000034e7c1c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/src/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:272:25
#42 0x0000000002729621 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/src/contrib/llvm-project/clang/tools/driver/cc1_main.cpp:294:15
#43 0x00000000027389ab ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /usr/src/contrib/llvm-project/clang/tools/driver/driver.cpp:365:12
#44 0x0000000002737a97 clang_main(int, char**, llvm::ToolContext const&) /usr/src/contrib/llvm-project/clang/tools/driver/driver.cpp:405:12
#45 0x00000000027351ad main /usr/src/usr.bin/clang/clang/clang-driver.cpp:17:10
#46 0x000000082d3655ea __libc_start1 /usr/src/lib/libc/csu/libc_start1.c:157:2
Abort trap
```

This regressed with 7c4180a36a905b7ed46c09df77af1b65e356f92a ("Reland [SimplifyCFG] Delete the unnecessary range check for small mask operation (#70542)") by @vfdff, cc @zmodem @nikic @nathanchance .

Minimized test case:

```c++
// clang -cc1 -triple x86_64-- -S -O1 DynamicModel-min.cpp
struct __map_const_iterator {
  int operator*();
  void operator++();
  int operator!=(__map_const_iterator);
} typedef const_iterator;
struct {
  const_iterator begin();
  const_iterator end();
} __trans_tmp_1;
enum ExprNodeOutputType {
  matlabStaticModel,
 matlabDynamicModel,
  CDynamicModel,
  juliaStaticModel,
 juliaDynamicModel,
  matlabOutsideModel,
 matlabDynamicSteadyStateOperator,
  occbinDifferenceFile
};
bool RIGHT_ARRAY_SUBSCRIPT___trans_tmp_1;
void RIGHT_ARRAY_SUBSCRIPT(ExprNodeOutputType output_type) {
 RIGHT_ARRAY_SUBSCRIPT___trans_tmp_1 =
      output_type == matlabDynamicModel || output_type == matlabOutsideModel ||
 output_type == matlabDynamicSteadyStateOperator ||
      output_type == occbinDifferenceFile;
}
struct DynamicModel {
  void writeDynamicModel(bool, bool) const;
};
void DynamicModel::writeDynamicModel(bool use_dll, bool julia) const {
 ExprNodeOutputType output_type(use_dll ? CDynamicModel
 : julia ? juliaDynamicModel
 : matlabDynamicModel);
  for (auto d : __trans_tmp_1)
 RIGHT_ARRAY_SUBSCRIPT(output_type);
}
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsW0tz27iy_jX0BkUVCVJ8LLyQpWjGVTM3Lss5qbtSQWBTwpgEeADQsbI4v_0WQEoiafoZ53HPTMqxJTwa3R-60Y0GQJRiWw5w7kwvnOnijNR6J-T5gpVMy_2MZ5LRs43I9uczhSRUQmrIEONop3WlnGDm4KWDl5t6qya5BNiobCLk1sFLHCcB9hw8R7QgfIv8BBGlQGqFBEd6B0hRBpyCg5fZnhMJyFA3Hb4wvTOkvYXjHX5HXvOj4V63RfiiJe1S6iNXS1YVgO6TaB2Fbs1vufjC3ZYpfzrxkLtCbsYU2RRgy5FLCyDSJUq7G8iFBHdD6C3wDLmlhEJQopngbikyKJDSRDOKHBy7ZS5JCW4lGNcgnWBBisLBMXIlFOQeMpcUjCjGt7Z1nlcuFVxLQrUTLAS3TXMuXClqnjG-dUuid8gtqeBKy5pqIRsSoBoKNf_CeOZqw7pyggW2JDSRW9AurWojtRuFyNU1B1uwBQ6SUeR-xMj9TIoCuZ_hXkuC3M-iyFyl9wW4lChtKqQUErmfuXBLpgoglinGM-DaQtDUVUQC1zswbNmCmv-7JgXLGRiCmSXn0mYwW10ryEw3UoKGdoS7grj0_t6Few1cWeJ5BpUESjRkbkmoFMhVmtBbt5JCg4ED4QaILa-pewfS9HOCRTjBE7-BsyFJoTL8KuTm3S93lgj7Cm4hRNUrUEWF3JxkmVRsixZ7TkpG_zQz7oZphH0yYaxRuJlVX8NwTlgBmRPMkIMTlt0jJ5gjxb6CgxMHp_ZnjvKaU9tcVCCJFrKxMVvFCkAOXtZKOnipJHXw0qoI2zh4WRR3pRH9L6C6_ergJeO0qDM4FcwWNw5erkpSFP-y4kx2hnbBOKDACycN11d_fJitPiBVb0qmEUGbetsaMtLieTNu-jl4iQg3hm95sOZLJVE7ZAzGaDaYoSsJlRQUlIIMKVHLptj0JEoJyswMI1lzpKhklW5ZXJm5RlldVker9ybI_ruSYitJiYjc1iVwbXj9GVY_avIj9v7Q2F9u6SNm_nez8XED_yHW7bca5wRzELkTfEAVkQokIhoZ3RC5tdqmMZ6gj5VmJfsKsilBDg485N17h39TQqYk9JE11mDmBDO1V82HK8m4tkp_01hOcmokyZe1UFoCKR0cGethXDs4fe1qUdi6VV01TnX5ibN7U8C2nBRqwjh1glmMAyeY-cFJBH8gQkCC6ZgI1zVvSP1OeFaAVM3K961cHtijlVkKfC8yv5MTe3jAXuSFGPUYMQvy9wPMc4JZB63gxE6CSRb7YeihnWVkrWzHIRfNKAXb6J0p1DsJJGs-mB6TkUHCwSBemm9Q274ZS75lFByGBtzTONPuOHESJTgLjH9zphd3mRLWc1149zgLjH87dou63SAIMj8llr1bVnTEF5u_BkySMovCif3dZdmoWMOpITBZOcEstKAcR4y7I2ZB6sV-iNaSMPXApx6pmi9b4A5e2nZHnP0O3aRHNwwDSlNENsZTPkVW6az5bptaylFsSMcn0mmf5Tj0Ut9i26U1UWISW4xT6qX-EWVjlr2lJcabNAwJWn1hmu5uxB9C3NbVjfEavbWkqb_kSjt4ZkODY9Xl9UXNisx4svmpdG68EuF6KWzVeI8F5KQu9CU30ZAh8KFdqE5tF6K8kQCfqoyYFsPBF0STP8he1BpZP_ig_411ejeScJULWV7yXHRavtG0j-SMfn3SrFDWvMuqYPl-vvytXXS8k7IZ4P0-8MTD-dTMHOGC70tRK8RJCaqy63ja4n4i-rHS7crZljVz8vOm6fuCF3shNn9O-OE-fmmcQvot-H3kA4d5QRSjF4Wgtxa9768cfnSSLhhIN91A_hbpZM1_nlBx5CWdMMDIFY7J1QkDTjSeYvvlJv2KxaMPnw0Ax-nMpCT7a8h7pvMZyO2_frfG8L1B9c18JydMpz1M_TCeUoKYNltDdgfFfvUIqMt2G_nKVfK9IH0PmFaUFET2cboi6hDn4enU6J9_wioaYBVBmKOD1h0AmS9_uyyr4juAxbjZrhvIfj2s4qATExus4hdi9ffCKfD8AU7JAKdpTmGcYUNmfF1-FLYZJ8VeMfUn4WQ7cNfHTu_ogp-TPgr6bjjtbZxSL6M-7rCfgSasaHenRCm7Qx4X4rFZtqD1Kq8kKJB3kDXggHobZObn15mLB1m4y2sHLy1mzXCXXIPkpJjszPJvfMD0OA24nyGINpBDN0PQIfMC8P9LAbTATcO4szsz0PUC8cAP8-BdNPi7Qf6PKTxtCv1UTkT9JOjO558iqwu4EQcuDdlZRiot5DgGTYdXIdB2-bZl-YH6trkrbGJqfIqpcTBQ4DRNX6fABwnnL4TpvTTwBNNj-vfjsf823QuHy3CIX7IMj03Afx1wjyy_04H2RphsuoFASYriSssVaBOTXxAFTQVTtqpND9sQ8D0PvpohLc9-anYRQcfiojfy_J-xmjflt1_IehIM0I6f5vyhMTd8jxj5u3A9qiN-3E_14GSM6WeSIR9KpmdKQbkp9r9DUYE8ni-0Byz2bOqKVVAwbmbBHv4d0g322G52dNRKZ03Neu03H2rO_l3DutJ9I5Lky7r6IpmG9eGsZax31uTQ1hkUoOEZCq3bj17FyI0QxcdaV7VesmZpeRUXg-5dFh7iNBdc1WW7_3-5UjSEDu5uLjL4zSbSW6qfNCsOPs-3m67OQpv2VSIAwMlbVaJb_v9AD37KDHSOjhwc9A8kD_B32DKQtkQaLerjumBky4XSjKoPfGvNb6havwPJQK6ASLobS8d1mrZ8P9OqyT880-gPwrdPJ_9WWjK-vYZ8LFxqkxVPadCpyyXXslbsDq4hn3N9NdCgu7xdfI0BrvZKQ9lO_99WCf0AD_LJwWDzNg2ncfgrANRUggLtTC_IhjnBTHE_8XzPs-edyZNM9PF77oRTl9Wx_uRhqYMv7M_yznfwcr0uoRRyb1oewbDuFtuUTudMsH8Y_quB-p_OsOPQ_lDwgsjEKqcMcxCMgfeEsTSrnT1ut4m4wsYlnzgbrJmz1c1ccHtL8XXx-WP21X5qlqZDei9O-wt9b0MTECA4iUYms7kX4wTzZ7Skux5DWRVEw2Vz5Mis2HNSFBtCb1-oMi8md1y1HhIlhb2Y9etz37GBDWwZ_2Haf5jcmR9ERj3wKfcdTMf0406wrKvyOeOkYF9hFOF_VOeHqc4HByf_TMDPm4AH4eYKSvKm06vDmt6x2bbEkHTwssvUgZc2AdO_aRBEYxbc4fGKSAWz1U3fGzXDWHk2QhSnv2_1S3aYw9_Z6uYQ8tkMRsch9RMYoU9pnHfZXUrjJI8Rd7MbuQda69dmWvr8Heh2PvY8p-_Fg1xL0E9bBGGGk6wT_3-Q8pBy3oIN_98zlXW6b2jHaYKV2AQrIT6xmL6YxcNV83aa3yX7M8pjkPYVNPTGeOxt_8qKFSAb-6PQm_PDxit5XEW-JZrqaMWQjaNeTON-vj7s71lCiKlPe5vnhvUTwbv25nhfjAdyf8u26yDIjZ3d5aMsHC8LYHu94iRUb8-AY5xG2EeU-uuSsH5qunN9hu6IPKx_s8O-sleG5zaaeKNsWgh7iyaT7M7sS5cHhg5ipHY17IgR9MUIkpRs0AGNud_AkwxSvc0jCXtlZEym4UUIIYo2kv-mtf-BcM2H40G9vfpysvUwHIgWkzRu1O4wR_Z-czMDFvDhTasfwnjoDRmfDhif-iRDhuXhyLWSk42R5DhU76_bG8cfHESEUf8qbTSdAkHrdcE2dK00kdp_8rYuVXX7pW1tL-z6jfW373zslV8tSTV4e9Z9kHazYwpJ2MrmscsXpncopqGfeCSISOpNNzFkYUS9NMvjmOT-JppCMI3yFJPm5i--hoLwDDnTi-7Vr-kCLWz4Yh_Z1JwDBaWI3CNJ-BYQ3QG9RbmQSBmlRiVRt-0LIyZ4QzqIvWmI7TMk8xtt9sgJvbs8y20-jFLz9WspMijNJ85umS3iRO8Ip-Y_oElX3D8Zt68dMqRBaUTbs5KxF3qHbUk7Y0sHL594sePa9zkf_f7bjLK1fUujeSiD1uuSVGur0evm2pyQyInbgRBiXJ9eWhmjsE-xgmO93e6cGjRbp0GbPg3fCcxWbWzgbjcnXiC9ryCDHA1aHZq0InS4HcjRbBWH7AwaWQ-WDIder7UkXK11WZk4uK0BXpfow30l_0dk0CR3b_YVdFkoiS7IZmUfODWnzXje1jVV3Sk51aH5I-V_1QUjo-RszSO9mqE-1lqxDJ5iY6WBZHtDHz4ep-hIRlC6YXzB8hwkcArL41sdJ14cUTFREbq-_O33m_Xs-nr2v-vVp4vV_Pry6mY9DqNVmtEODk5G4BX249qog11zj2i_YFBk1K0Vx_zr0LJVwWJkXpATz514_njjLrJt43aQ5-iPAN4n8BiXo3PRUdmeTQyE6ZurzS72FScZbmQaH9cl35u8Xm_rIB8jimoF66w4Em_UthPrH5l7buKTlhJyguXAXNonIUFrFLbFQ_M4tRqzxO4SYRyBgxNSa4Ey26OvyMenOo8pcV9jH07TwPudZedBlgYpOYNzP_ZxmqZ46p3tzhNCIhpRb-MHvp_mmxxvNnmYZCnEPqFhcsbOsYdDL_QDL_XiwJsQiKZRDBCHaQRJGDqhByVhxcQEJBMht2dMqRrOkyTy4rOCbKBQ9p06xhy-IFtpHNx0cSbPbRCzqbfKCb2CKa1OVDTThX3gbt3swcnOcg2y67LNtL_TE1_bh4-_z0nPalmc99_dbpne1ZsJFWXndlE_KrPSmnDMovF_AQAA__-1w_eQ">