<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztW9ly2zoS_Rr5BSUV9-XBD4psJ5lJxq5YmdR9UoFgU-INtwuCjp2vnwZISYREebnhTGUSu6yF2Pr06QUACUVl_HC-3ADhUDeZIEnJicDLCLLyGxbGDYOYCKgFYbQGkvAyJ-syjspMTOz5xLiYGPMpuW0Yg7omZUEWGS3WxLRmxswkEyugxQMpK5Hm6XcqUmyQZHRNvpX8az2xwnaAiRFOyUaIqpZjWlf438mYlXyNV9_x9fGP-Au3kz_qrdArmmY9iTZKNKTERJYroNNrk4gSP-yXiar_-TGA-y9LZ6efSDMcsxMoeFN8HUfSsvwzcG_iv5Kuj2d0_90Q6l31JUypOU3KCoq8UhKnTJlmxrYN7bRgWRMDmdiLMq9mm4l92R8K7gXwgqSFwFeZCKx_Q57-6xBQJhqakaLJI-CkTNBTONC4M8hdmcZkDeJfS2QGWcBu_pu2ihAEs6pBrLDvatvLCjoMyNgeRicLGytHPCFs4l8caZQ0BTNb2TheX21Zm9O0IF3tHpes4WxiXxi7Lm1hTu8lO1p5T7nn8TbA4RN6kZ1gyRgKXOF1j7G-bgg0waK-3ijFxL7tIEQWcEZkgblnxLIrTtc5lTYhFeU0yyDbjohcWG_k_675luhB17zkHBNGjqFP17DLB4dNLdsgxr2Bf64beBAkduwmCbnhSPStoOzrklMGt-m6oNk7WsQZcFRH-tPEmksl2qp6xqoKhRjq1QLGsc2DsSMnNkiW3eUSjz2vH-r2yyIDWjTVddGOhhKaosavmN-ysli37CGJV5it8J0hPSkimcJ9lZVcQrpSIThV4Y9XUVpsyzrSrDfGve0qBLs0ICFaGkTwPdMNyILTevMJWHkH_OFQeWRGAtLaLMpCoLsPs2B3IvwkZlYchIHNDLJaYVoXCH7FRadclkb4fh94K8-ZZmnR3E_XRdNWVK2fzepyZihdTBdH0TRxNE2i2HKZ3Wb5snjIy6YmBUV3qNCeylUl8fP1GmHU6R1c4OiLMobLDKeDQk0HbZOc8q8fsAGOtLfc-6JGqplq1frB_GJxOay-e4ArpqbXcwLZ8YbWnSeg_TRBVxhArRRvYi363dAmD3Vaf6QF-jfHpDrQCTOs7DeS95gKusa519eNooUdMHsgYxA4DbXfpY4fkeBsGKqu3JYTrfQGTQX8DuJWd6j_FiNEsvKzc-14ikqNa1_zIy-JkiDpsyP5fQzgL0uWxRQXGllBnywvBt8Jx3DM_x7Jv6unm7ayjWa8sG88HwKXxnYP5OLt7WKxLLd4pE3mMa1wMhnW9gP9_rDApcRbTqtNW4QDvEj3U0P0--ttcPSOp0fbaLVKsc9VTAV8UnueMYPEUTTutwC4OjEOgiQwnZcFyXNoecRaY_n837bOD5rmVHi9Olwb2NKfNIcz9cD2IfbtZ2TX55Dx6h__Z_5hOcr8mn_om5HAcEN3_IT0C3rZayL9lQMFVBxogWIfrJAsN3F7cC7gLuUCIX2CChBTfHqD-UpxuziSDGoUO0e5yBw_Fw0b6jWcf2VfA-VKmq-5B-FshG7Yg4O-1WSwLG_KWlzzGLjC9-S-p-32Inq7LuNuzx2lj6awdxRcL9yeb3VbvIimsQJrR9PpLfbPQj4objXyD28k-RHQZ6yPhij_RUhiigONpODAQ0MvcY587X2RpQXwL5hEKuCnJ9mfRU9Qamh6avdawsQ2k2SsSBxg5_cLQMdVlPY5t4zXAHwyAC3tXkFoeV4I7lOPcy7zVMzrGvIoe3gHWQXdzPipKa57z_lv0gqka-JoLRLV6A1lX6GI57sbubWI25qmSP9qYFUJnQlOv62qbzwVsKoFB5prnWJIKK4cVhgvIOCJjtubwN5z5C7LMrtuRNWIq7T1h-cIPejVk6hsOGNlUYuKl9UssFVhx8dnkWbHD7akhawDC4WuHZIeodIa3SCtYJ3vi5SuC5yqU1ZfFmtlDqV-r8k7oDiN3wLlbCMNiBCJwnncVD67ewvFE62WlK9BPNHoA34barLn8lbwtFh_gmQo7akHgtqAP4NnjfQMMFBW1gJV24uGECWY0Qa0XyCTTb6NyPZx8pLTos5UTH4u0gP_mN8uu8fKY6ZjR-HTFNB2ejS2QzPS_PiG8hoQjQ7vFnLaOUaEobX_HAeoayscGlD3kGnqWAMx0PlZG4P3wBoBW9cLxuQRpWvwtEV9GERxgov6HrwrLs25i4M-vhGR2aAEa8h8HZkbOuyAuFaWfKxPCwbD3J1WZcSH7KDAaei1pWgYBr4X2lqebXHulbgrGT3GfKRke3BhFNSJAqWh1haWXuTHVsgIY-ZKnnbSFiFzzumDTKb2gm0o3-bceXcrQi_Dgt7pm1EeVJgKWx-8figIwYeOG5MtzwtzqQK9p8JtTrPs38Bwk_k-r7JBTZSPxDy9Az44n-qnhXChHoSmq5TtTTFJ9xhtxRVfqnZ79qpb4zGEEmHOXSWFxLF3gFZ25wwLE_0hxyx8GIeDdtkXthMj1fcA-_lw_zR7N12tVuweSW4vIlqnTM5NqUSlWNIay4KV4DQV9bb6YDjUTrq3vOmxrW9FzvcpWPlGS77qM7H8jOZRjAnb37OFunaHq_5RRsMmOTod5Tvak-iBM1C7FectTSB70Bh93HpjBaOjYGr-bB-4Fg0hIL-5a4xDNlNcamQ7OtkscRx6kmwllx5NiFsLaBn8oKNscGoN-0jTeZeKxiRB6aiR4B6SIE8rvZAEDMv6NANY-yGVh7-Hl-hHGXnnJhVNpYeoc4zPJ03bMI3LXf_wkuROX0h5cRAE7imcF73v2kJgYAVwivP_LXfjsKZI0VjTFnkeDSLbt3pHq390lWCoATWJ24VZe7DVdgIjsslqlaWRzGOUi1VP_GOnW5k81-q1t0J8HESTcriQCpKYknb8sdY_csi9zO0R6bP43I5DO6RntBGbkp-zTco2OIVtoDhreHZ-8AuCVGwanEfLXColnan9mFa8_BOdCS_Tum7kbb4r3N0Yxtnm3KYgT4E4vgXMdU1gNPHBAcooUMuM_bOMRpDV5xMXsVodcku6Hn60vzbYX3cO3P9FRy1r3YuzH8eanluGZRmmGeKbZ_ozxmwWmK7vJm4SMepMHAN3hGk2k-PIn1Gc8XM1ZNSsa6zMMFfV-0paqwPeoFRDhCIVmbq4Rq0-3mARmccxToXk2pxe2-1PUzLcnsrfcsjzsaTCIQi-AP2gLAgldYrBCvtfxJwpFc4V_v8A9tyNDQ>53300</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP] Adding O1-O3 flag lead to ADCE pass assert on a simple test case
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            openmp,
            llvm:optimizations
      </td>
    </tr>

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

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

<pre>
    The result for the below reduced test case from godbolt:
- Success on Clang 12.0.1 (any optimization flag works)
        - https://godbolt.org/z/MYdWr3fYs
- Fail on Clang 13.0.0 (fail from -O1 to -O3)
        - https://godbolt.org/z/sKM8exWT4
- Still fail on trunk (fail from -O1 to -O3)
        - https://godbolt.org/z/Toj85Pdqf
```

// clang -fopenmp -O1 -c test.c
#include <omp.h>

extern int inofth;                                   // actual number of threads
void getNT()  {
  omp_set_num_threads(inofth);        // set the number of threads
}
extern int func1();

int main (){
  int rc=0;
  int maxth=0;
  getNT();                                               // set the number of threads
  maxth=omp_get_max_threads();
  if( func1() != maxth ) rc = 1;
#pragma omp parallel
  rc++;
}
```

Error message:
```
#0 0x00005586e8f3d5ff PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x00005586e8f3b4d0 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x353b4d0)
 #2 0x00005586e8e76158 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007fdc2d8983c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
 #4 0x00005586e8bd25c3 (anonymous namespace)::AggressiveDeadCodeElimination::markLive(llvm::Instruction*) ADCE.cpp:0:0
 #5 0x00005586e8bdda16 llvm::ADCEPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x31dda16)
 #6 0x00005586ea07f4e1 llvm::detail::PassModel<llvm::Function, llvm::ADCEPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x467f4e1)
 #7 0x00005586e86fbf8f llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2cfbf8f)
 #8 0x00005586e6de7491 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>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x13e7491)
 #9 0x00005586e7e85ad3 llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2485ad3)
#10 0x00005586e6de8141 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x13e8141)
#11 0x00005586e7e7ed73 llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x247ed73)
#12 0x00005586e8805951 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2e05951)
#13 0x00005586e7e825f5 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x24825f5)
#14 0x00005586e8805911 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2e05911)
#15 0x00005586e7e80959 llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2480959)
#16 0x00005586e8805991 llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2e05991)
#17 0x00005586e86f7bea llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2cf7bea)
#18 0x00005586e88096f4 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2e096f4)
#19 0x00005586e9f31ff1 llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x4531ff1)
#20 0x00005586e86f7bea llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x2cf7bea)
#21 0x00005586e92669e5 (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> >&) (.constprop.836) BackendUtil.cpp:0:0
#22 0x00005586e9269539 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3869539)
#23 0x00005586e9ebf86f clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x44bf86f)
#24 0x00005586ead391b9 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x53391b9)
#25 0x00005586e9ebfa42 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x44bfa42)
#26 0x00005586e98bdf91 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3ebdf91)
#27 0x00005586e98594c2 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3e594c2)
#28 0x00005586e9987693 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3f87693)
#29 0x00005586e6b7d29c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x117d29c)
#30 0x00005586e6b7945d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#31 0x00005586e96f8915 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#32 0x00005586e8e76743 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3476743)
#33 0x00005586e96fa9e8 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3cfa9e8)
#34 0x00005586e96cf44a clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3ccf44a)
#35 0x00005586e96cff8f clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3ccff8f)
#36 0x00005586e96d8885 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3cd8885)
#37 0x00005586e6a8b372 main (/opt/compiler-explorer/clang-trunk/bin/clang+++0x108b372)
#38 0x00007fdc2d3480b3 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b3)
#39 0x00005586e6b78fda _start (/opt/compiler-explorer/clang-trunk/bin/clang+++0x1178fda)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztW9ly2zgW_Rr5BSUV9-XBD7JsJz2TjF2xMql-UoEAKLHDrQHQsfP1cwFSEiFRXro5U5nELmvDds89dwFAgklFH8-XG4Y4E00uUVpxJOFnwvLqGxTShjCKJBMSESwYSnlVoHVFkyqXE3c-sS4n1nyK7hpCmBCoKtEix-Ua2c7Mmtlo4kS4fERVLbMi-45lBg3SHK_Rt4p_FRMnbgeYWPEUbaSshRrTuYb_Tsas4mv49R1eH3-nX7ib_i62Qq9xlvckuiDRUhJTVa6BTm9sJCv4cF8nSvzzY8Qeviy9nX4yy2HMTqDkTfl1HEnL6o_Iv6V_pl2fwOr-uyH0u-6LiFZzmlY1K4taS5wSbZoZ2TZ0s5LkDWVo4i6qop5tJu5Vfyj2IBkvUVZKeFWphPoL9PxfhwAT2eAclU2RMI6qFDyFM0w7g9xXGUVrJv-1BGaABegWXrRVCAGYlWByBX1X215O1GEAxvYwOlnQWDviCWGT8PJIo7Qpid3KhvH6aqvaAmcl6mr3uFQNJxP30tp1aQsL_KDYMcp7yr2MtwEOn9EL7QQrxkDgCn73GOvrBkBTKOrrDVJs6NsOglQBJ0gV2HtGHLfmeF1gZRNUY47znOXbEYEL50L975pviR50zSvOIWEUEPp4zXb54LCp41rIerDgz_ejgEWpS_00RbcciL6TmHxdckzYXbYucf4elzRnHNRR_jRx5kqJtkrMSF2DEEu_WsAwtn0wduJRC-X5faHwuHPxKNovi5zhsqlvynY0kNCUAr5Cfsurct2yByReQ7aCdwL0ZIBkyh7qvOIK0rUOwakOf_iVZOW2rCPNubAeXF8j2KUBBdExILIwsP0ILTgWm0-MVPeMPx4qD8woQEabRVVKcPdhFtxORJhS4tAojlxiodUK0roE8CsuO-XyLIH3hyhYBd40z8rmYboum7aibv1sJqqZpXWxfRjF0MQzNEmo4xO3zfJV-VhUjUAlBneowZ7aVRXx8_UaYIjsnl3C6IuKsqscpoNSTwdtkwLzrx-gAYy0t9xvpQCqiW7V-sH8cnE1rL5_gItiO-g5gep4i0XnCWA_Q9A1BFArJZg4i343sMmjyMRHXIJ_c0iqA50gw6p-I3mPraEbnAd93TBY2GN2DyRlEqah9rvS8SMQnA9DNZXbcmKU3oKpGL9ntNWdib_ECFKs_Ohce4Gm0uA6NPwoSJM0SvvsKH6fAvjTkuUQzYVBVtQnK6As9OIxHPO_R_Kv6um2q21jGC_uGy9kkY-p2wO5eHe3WCyrLR5lkznFNUwmw9p-wN8fF7CUeMdxvWmLYIBX6X5qiH5_sw2M3vH0ZBujViv2uaZYsk96zzNmkHiaxv0WAFYn1kGQRLb3uiB5CS1PWGssn__L1vmbpjkVXm8O1wa28ifD4WwzsENGQ_cF2fUlZLz5x_-ZfzieNr_hH-ZmJLL82B8_If2EXvaWSH_mQGE6DoxAcQ9WSI6f-j04l-w-4xIgfWI1A0z09AbzjeJ2caQYNCj2jnKRPX4uGjbUWzj_zL7GtCsZvuYfhLMV-3EPDvhWk7NldVsJecMp4xrfs_uettur6O26jLs997Q-hsLBUXC9cnu-1W3xKprGCqwdTae32D8K-Uxza5B_eCEpTBh-wfpoiPKfhCSiOTBIig48NA5S78jXfivzrGT8CySRmvHTk-yPoifTahh6Gtda4tS103SsSBxg59cLQM_XlPY5d6y3AHw2AB3jWkHsBEHM_Odu51wVmZwLwYokf3zP8pp1M-Onprzp3ee_zWqmXBNGa5HoRheYfGUlne8u5ApJ25qmzP5s2KqWJhMcf1vV33gm2UpIznBhdKIsxbByWEG8MMme6bi9CBy8RO6yqvKbRtaNvM5af3iJ0INePYnahjNSlULWvKpnkasLOz4-yyw_vrGlLOQcWCj23Rj1CFXW6AZpBZt8X2Z4XcJUnRFxVa61ObT6vSbvGYZp_I5hTjbKgAARaZzHTdW9u3esfKbVEvM1k880-gDfhprsubyTPCvXn1g6lPb0DUFjwB_Bs0a6BxhpKxuBauxFY5akkNEGtF8Ak02xjcj2dvKS41LkOiY_l9mBf8zvlt1t5THTsafxGQoYOz1M3dhODD--xVwwQGPCu2MF7hwjgdDaf44D1Hc1DgOof8g09pyBGOj8rI3BB0YaybauF43JI0g34BmL-jhKaAqL-h68a67MuYuDPr4RkblMCzaQhSYyP_bIAXGtLHVbH5eEDXN3WpURb7IzDc5AbyxF4zgKg9g18myLc6_EfUXwMeYjJduDC6OgTjUoA7WxsAySkDoxQYTYK3XayViEzDnHjyqZuguywXybc-fdpQizDAp6p29GuVFha2x98OahIAAfez5FW54X9lIHek-FuwLn-b8ZgU3mb0WdD2qifYTy7J7xwfnUPC0EC_Uotn2tbG-KSbvbaCuu-dK127NX3RqPAJQEcu4qLRWOvQO0sjtnWNjgDwVk4cM4HLTLvrCdGLG5B9jPh_u72bvparUiD0By-yPBIiNqbsoUKs2S0VgVrCTHmRTb6oPhQDvl3uqix7a-FTnfp2DtGy35us_ECXNcJBQSdrhnC3TtDlf9o0qGTXJ0Oir0jDvRA2egdivOO5yy_NFg9GnrjRWMnoZp-LN74Fo4ZhH6xV1jHLKJ5tIg2zPJJqnn4ZNka7n4aELcWsDI4AcdVYNTa9gnms67VDQmCVpHgwT_kAR1WumVJEBYitMMQO2HTB3-Hl6iH2XknZvUOFMeos8xvpw0Y8M0Lnf9w0uKO3MhFdAoivxTOC97342FwMAK4BTn_1vuxmFNk2KwZizyAhwlbuj0jlb_3VWCpQc0JG4XZu3BVteLrMRFq1WeJSqPYS5XPfFPnW4l6lxr0F4KCWEQQ8rhQipKKUbt-GOtf9SQe5nbI9Jn9NylsRvjM5nJnJ1P_IubmpUfbyf-JZpTCnka3djTG7d9biKHvZN60EAd3kQ1FgLBiwHIqkQYiQw8ie0f1zhreH5-8AhCJjcNTMRVoVhR3th-TGte_QHeCD8zIRp1nfAatkeWdbY5T13bJoHFfIfA0tmxU0oDHPuUUGrhMIzPcpywXCjsE8fpVHeU78JH-7jC_ncXAf1HQoSq9S_PsnPHchzLtmN4C-xwRohLItsP_dRPE4K9iWfBhjDLZ2oQ9RTFGT_X4JNmLaAyh1Ql9pVAjTrfrUlV4-NGbip-TjYZ2cAiYcPKM63ruVb0P1GVdrU">