<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/102190>102190</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang][Test] Analysis/reinterpret-cast-pointer-to-member.cpp: Assertion failure in Debug build on PPC64
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
awilfox
</td>
</tr>
</table>
<pre>
Test output:
```
FAIL: Clang :: Analysis/reinterpret-cast-pointer-to-member.cpp (1113 of 19841)
******************** TEST 'Clang :: Analysis/reinterpret-cast-pointer-to-member.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/bin/clang -cc1 -internal-isystem /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/lib/clang/18/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,debug.ExprInspection -verify /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/test/Analysis/reinterpret-cast-pointer-to-member.cpp
+ /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/bin/clang -cc1 -internal-isystem /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/lib/clang/18/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,debug.ExprInspection -verify /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/test/Analysis/reinterpret-cast-pointer-to-member.cpp
Assertion failed: isValidBaseClass(RD, cast<TypedValueRegion>(Super), IsVirtual) (/home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/MemRegion.cpp: getCXXBaseObjectRegion: 1259)
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: /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/bin/clang -cc1 -internal-isystem /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/lib/clang/18/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,debug.ExprInspection -verify /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/test/Analysis/reinterpret-cast-pointer-to-member.cpp
1. <eof> parser at end of file
2. While analyzing stack:
#0 Calling testReinterpretCasting::f()
3. /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/test/Analysis/reinterpret-cast-pointer-to-member.cpp:24:23: Error evaluating statement
4. /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/test/Analysis/reinterpret-cast-pointer-to-member.cpp:24:23: Error evaluating statement
#0 0x00003fff7f362090 (/usr/lib/llvm18/lib/libLLVM.so.18.1+0xb9b090)
#1 0x00003fff8c772444 (+0x444)
/home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/test/Analysis/Output/reinterpret-cast-pointer-to-member.cpp.script: line 1: 19565 Aborted (core dumped) /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/bin/clang -cc1 -internal-isystem /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/lib/clang/18/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core,debug.ExprInspection -verify /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/test/Analysis/reinterpret-cast-pointer-to-member.cpp
```
GDB Backtrace: unfortunately was too long to paste here. Uploaded: [clang-backtrace-gwyn-202408061227.txt](https://github.com/user-attachments/files/16514003/clang-backtrace-gwyn-202408061227.txt)
<details><summary>Minimal backtrace (so others can search)</summary>
<p>
```
#0 0x00003fff8c6afe6c in __syscall4 (d=8, c=0, b=70368243940976, a=1, n=174) at ./arch/powerpc64/syscall_arch.h:54
#1 abort () at src/exit/abort.c:23
#2 0x00003fff8c6afee8 in __assert_fail (expr=<optimized out>, file=<optimized out>, line=<optimized out>, func=<optimized out>)
at src/exit/assert.c:7
#3 0x00003fff8b07da00 in clang::ento::MemRegionManager::getCXXBaseObjectRegion (this=0x3fff7c0b76d8, RD=0x3fff7c04ba98,
Super=0x3fff7c02f7d8, IsVirtual=false)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/MemRegion.cpp:1259
#4 0x00003fff8b0fd6dc in clang::ento::StoreManager::evalDerivedToBase (this=0x3fff7c055820,
Derived=<error reading variable: DWARF-2 expression error: DW_OP_GNU_uninit must always be the very last op.>, BaseType=...,
IsVirtual=false)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/Store.cpp:296
#5 0x00003fff8b0f1284 in operator()<clang::FieldDecl> (FD=0x3fff7c04ba30, __closure=<synthetic pointer>)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:1091
#6 (anonymous namespace)::SimpleSValBuilder::evalBinOpLN (this=0x3fff7c0b75f0, state=..., op=<optimized out>, lhs=..., rhs=...,
resultTy=...)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:1098
#7 0x00003fff8b102588 in clang::ento::SValBuilder::evalBinOp (this=0x3fff7c0b75f0, state=..., op=<optimized out>, lhs=...,
rhs=..., type=...)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp:517
#8 0x00003fff8b03512c in clang::ento::ExprEngine::evalBinOp (this=0x3fffe22f0e98, ST=..., T=..., RHS=..., LHS=...,
Op=clang::BO_PtrMemD)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:611
#9 clang::ento::ExprEngine::VisitBinaryOperator (this=0x3fffe22f0e98, B=0x3fff7c04e628, Pred=<optimized out>, Dst=...)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp:100
#10 0x00003fff8b01953c in clang::ento::ExprEngine::Visit (this=0x3fffe22f0e98, S=0x3fff7c04e628, Pred=0x3fff7c032978, DstTop=...)
at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp:2112
#11 0x00003fff8b019e9c in clang::ento::ExprEngine::ProcessStmt (this=0x3fffe22f0e98, currStmt=0x3fff7c04e628,
Pred=<optimized out>) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp:1131
#12 0x00003fff8b021e40 in clang::ento::ExprEngine::processCFGElement (this=0x3fffe22f0e98, E=..., Pred=0x3fff7c032978, StmtIdx=25, Ctx=0x3fffe22f0ba0) at /usr/lib/llvm18/include/llvm/ADT/PointerIntPair.h:190
#13 0x00003fff8afd6b78 in clang::ento::CoreEngine::HandlePostStmt (this=<error reading variable: value has been optimized out>, B=0x3fff7c04efd8, StmtIdx=<optimized out>, Pred=<optimized out>) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:496
#14 0x00003fff8afd72c4 in operator() (__closure=__closure@entry=0x3fffe22f0ce8, MaxSteps=MaxSteps@entry=225000) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:159
#15 0x00003fff8afd745c in clang::ento::CoreEngine::ExecuteWorkList (this=0x3fffe22f0ec0, L=<optimized out>, MaxSteps=225000, InitState=...) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:163
#16 0x00003fff8b59a510 in clang::ento::ExprEngine::ExecuteWorkList (Steps=<optimized out>, L=<optimized out>, this=0x3fffe22f0e98) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:190
#17 (anonymous namespace)::AnalysisConsumer::RunPathSensitiveChecks (VisitedCallees=<optimized out>, IMode=clang::ento::ExprEngine::Inline_Regular, D=0x3fff7c04c130, this=0x3fff7c127540) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:727
#18 (anonymous namespace)::AnalysisConsumer::HandleCode (this=this@entry=0x3fff7c127540, D=D@entry=0x3fff7c04c130, Mode=<optimized out>, Mode@entry=2, IMode=clang::ento::ExprEngine::Inline_Regular, VisitedCallees=<optimized out>) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:697
#19 0x00003fff8b5b4e34 in (anonymous namespace)::AnalysisConsumer::HandleDeclsCallGraph (LocalTUDeclsSize=<optimized out>, this=0x3fff7c127540) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:486
#20 (anonymous namespace)::AnalysisConsumer::runAnalysisOnTranslationUnit (C=..., this=0x3fff7c127540) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:557
#21 (anonymous namespace)::AnalysisConsumer::HandleTranslationUnit (this=0x3fff7c127540, C=...) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:612
#22 0x00003fff8820eb00 in clang::ParseAST (S=..., PrintStats=<optimized out>, SkipFunctionBodies=<optimized out>) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/Parse/ParseAST.cpp:176
#23 0x00003fff8ac6e954 in clang::ASTFrontendAction::ExecuteAction (this=0x3fff7c189f00) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/Frontend/FrontendAction.cpp:1183
#24 0x00003fff8ac75224 in clang::FrontendAction::Execute (this=<optimized out>) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/Frontend/FrontendAction.cpp:1069
#25 0x00003fff8abf61c0 in clang::CompilerInstance::ExecuteAction (this=0x3fff7c166ca0, Act=...) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/Frontend/CompilerInstance.cpp:1057
#26 0x00003fff8ad17488 in clang::ExecuteCompilerInvocation (Clang=0x3fff7c166ca0) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:272
#27 0x000000013e3e5cd4 in cc1_main (Argv=<error reading variable: DWARF-2 expression error: DW_OP_GNU_uninit must always be the very last op.>, Argv0=0x3fffe22f3aeb "/home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/bin/clang", MainAddr=0x13e3df240 <GetExecutablePath[abi:cxx11](char const*, bool)>) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/tools/driver/cc1_main.cpp:294
#28 0x000000013e3dfa50 in ExecuteCC1Tool (ArgV=..., ToolContext=...) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/tools/driver/driver.cpp:365
#29 0x000000013e3e389c in clang_main (Argc=<optimized out>, Argv=<optimized out>, ToolContext=...) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/tools/driver/driver.cpp:405
#30 0x000000013e3dda70 in main (argc=<optimized out>, argv=<optimized out>) at /home/awilcox/Code/awilfox/rust-next/user/clang/src/llvm-project-18.1.8.src/clang/build/tools/driver/clang-driver.cpp:17
```
</p>
</details>
<details><summary>System Information</summary>
<p>
```
% uname -a; lscpu; gcc --version; ld --version
Linux gwyn.foxkit.us 5.15.98-mc4-easy #1 SMP Sun Apr 2 00:16:18 CDT 2023 ppc64 GNU/Linux
Architecture: ppc64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Big Endian
CPU(s): 64
On-line CPU(s) list: 0-63
Model name: POWER9, altivec supported
Model: 2.2 (pvr 004e 1202)
Thread(s) per core: 4
Core(s) per socket: 8
Socket(s): 2
Caches (sum of all):
L1d: 512 KiB (16 instances)
L1i: 512 KiB (16 instances)
L2: 8 MiB (16 instances)
L3: 160 MiB (16 instances)
NUMA:
NUMA node(s): 2
NUMA node0 CPU(s): 0-31
NUMA node8 CPU(s): 32-63
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Mitigation; RFI Flush, L1D private per thread
Mds: Not affected
Meltdown: Mitigation; RFI Flush, L1D private per thread
Mmio stale data: Not affected
Retbleed: Not affected
Spec store bypass: Mitigation; Kernel entry/exit barrier (eieio)
Spectre v1: Mitigation; __user pointer sanitization, ori31 speculation barrier enabled
Spectre v2: Mitigation; Indirect branch cache disabled, Software link stack flush
Srbds: Not affected
Tsx async abort: Not affected
gcc (Adelie 13.3.0) 13.3.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GNU ld (GNU Binutils) 2.42
Copyright (C) 2024 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
```
</p>
</details>
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXF9z4riy_zSely4oW7bBPOQBTJhNnWSSCmT23KeUbDegO0ZySXIG9tPfkmxjQ4DNmZ07kzk1qRT4jyx1_7r1U7ckQ5ViK4545YQTJ5x-oKVeC3lFv7J8KbYfEpHtrhaoNIhSF6V2_LHjTh23-Ry49b89nY1vbh1_DHFO-QpMWX8MY07znWLKITOJjGuUhUTdS6nSvULYCz0tehvcJCj7aVGAQyLP83wQS_BGUeA5ZFQ3R779HxbX8wU4ZPjPhHPIEIya11P4J9JU-lxvmYZYZGhE8fygC20sNhvKM7i3uBtMlM5QSgNGY4Rer_p-fPpkaqAacsYRPHPikNlabNAhM2PLVGwdMrNNVReW9oIsle5x3GqHzEqF0iGz1MDjkJmSqUNmef6y6RVS_C-muudFfa8f9as7TbmkZHlmvhlvrkIvTT3oWfQ4zXtM7ZTGzQ8XKWdJ56oXOWTGeJqXGUKPC6WzSi7GU-hR4wh_4f5A9lLBlZaUca0cfyopXyH0FOqy6ClNNUv3RbsPrTH9gtLxp6mQ6JA4w6Rc9a-3hbzhqsBUM8Gh94KSLXc_DBCNyjz9nzt73esmv73ptzd9J28aK4XSyr2kLMfMcBVTn2nOsglVGOdUKYdEj1OHxGAqc_x4sSsw-0zzEh9xxQR3_GuHRPOyQEuHJIYb9ZlJXdLcISPDlT8Ki8op5taC49pstiljrtkdbiqBrfr-GFao43__2-h5n5hKG3XG4JFwtB_nHm6vx_NrUGWyYRooJOUKJBZCatAC1loXyowBZOaQ2YrpdZn0U7GpBT6S27ipUiUaO4EZUBqn1WuEVFK1hoSmX7SkqfEwKCQWUqSoFGagRCmry-ZJqpRIGdWYgSw5qFSyQvcrkeeapl8gKzfFfnRy-447epBiJekGqFyVG7Te_3ts-s0m34tNPONjjh-jWDr-NRRUKpQmEEKemfhxyXKsShJT8s81yxEqRBhfgTJeaz2yjrxGDvFdiGmem9tGtsdWmpgqzfiqCh2XlmXqDutbMd47Yv6YBObDNxpfSykk4AvNS6prLDSaLlqpFPz3qWRt625d13X95XI5XPoD4o7cerwoldz3SyOx7ZP1KUtubz_f9ZXoG_EdMnG3yShxR24nNfG9Tt1ROhySIAiquifuNgiCTtkfyzWv0a2SijfD3K-o3mDcJhjeKByEME6ENAPC8Z9DIsMydkTArBqVf5P-b9L_LgnJ4axD9flxOoHJPpDxx1DypZC65FRjvoOvVIEWAnJheF1AQZVGWKPEPsBTkQuaVbGoE06slL19VNRbfd3xHnFJ4EbuwCNk2Ndb7YRTh0QXYjEDTY9qTdN1FfiQmRmNzLc3CL3Adf0Gkb9ta88c1acfZ6gpy5UJhP1YlZsNlTvHv75jnG1o3kZ0dt5AgNBrlApSykEhlenaziLExmL7Z_d1F-3JSbgPWTRKB3SJgxQYh-dntVMpzXPLe5njTyMbxTv-1DUHieNPh64_iEjgjwJ3NBzY0NLxp5454OZgaHjSjOB943RW1FkhvqIs0kFgBK5aeDa3-mvHH4dBh4GBGj6qWNfWUvkdbpnxN3uzn1YDRvMQgVfaYFRpQ22u8mwSFVMlbgvTkRw_FoVmG_YXZiBKbbORuAo1zt41vHnh2ZKn5-7Wpjek-kofK59VaLjXxz_QJ3GHGXVdo0_V-WzwglyL6mifotxRTleGKMzV03mKwUCvmWEfd2tH0NRNhoPMGvlx2r0cJHRkL7fCV-lapwxZDqtH2-TNny5prvBY6feZzdmUrUE9OAR9mQ2y9Czocy0kHgBugpYpSvaC2UIY3E9hHYYRcQ9BrZ-pfAdt_CORZib4eaGS0SS3XDj9c_w46xEwHoxKGVvawtW95_uH54-fnp5LzjjTsCmVBpp_pTsFSZUnvqDcQU6VBlH0a581UprE3PGn_X7_UKxfxKLWDk0cORrsjRkeGdMjUWCMKQqUVAtZh_5-3LHujGGeTTHNTR7ikGh23B98a7rn5zQXqpQ1Gagd12vULIV6vDvR5d8JVmxT5Dj_TPOJiWb28bfnjrw9cAOjOeWC7zaiVMDpBlVhJxZGtecf19K6_4Tx--L202mSCZcWPRvQtw4niguEu1ZtQdk9acGVqMpcL3bNvQb3XwH0aA_68MBbPZeEUXSees5C__8CfA3oAf66Qxrv0tNfwR167fAaHXKDH3rkPNGbMPuar-zYfxlsJGTpYjVmzhctWJ3Dxz_m7clt96QG8d5YpSPH5P75Qcs73Ex_FtB1dtO5cg70B6rXc-SKafZizlvkbJA38FqSGb0N689MMT1hnMrdfc3bF1GfHPA1Doi9-iCb0fWUr0-Vfs-e3EIS74mjjeI999CVvVHov92VLbyX3fgSoPsbPhkNoxrLheWVXwDOJmbwPNLC6R3DiaO3w_lQzbnP9eYyqGkppSl0EtsWs0tuO3rHiHqe33Z0jxwiSjwMzmcyx4jWqxjx7ON1bicBL-J63bLpWQ81uN9kW8efktCcx3p7WFdC3Rbek_OJLSHWSzXj6cKwXxX83XD9QJm0jOeNOj3V7wJBl9kgGZ4f4g22XSD-oDzL8UEofeRdF1OGF5qXCGtqcgA0oe9r9jtizGV2hNIZ0vxFfLOFsfbNoJMheMGRRYYkPZEiGLC7EX97HLjItdwd-k-KFsE7up1rLIyJ9odteUJC13XfN1ReJzP2wmOogvA8Lx477_UW01Ljn0J-uWXqXB9ObZB6e97nOpA2-MVww5medwPbdw3poJ2y8gYHxBiOaOi9nRhPQNpgcwa9C8CeIdQfiuR3izIPOHf4d7lsM3sdC67KTZNPPZb8oJV4jekXZeqyERNmMc1zxAto39zZHWHTNxnzhueM4_MjrsqcShtHHbBy6lXzDkeZnUeGYfBOSGQmBdfIs86CQANp7ftD0uZfXvRtdqlGQaNWh0Ps1zEVt-hUYE5PlGiBrY11jnfM3Q53fwf7vs2Nfg3DDkYdw44OSS0J0LdD6j8w9xTTXBmkPkparE1NtyKl-eLJ3pizvy6Y7pfuMUHUxirE_TYIZcmbG_d8ISlXOdVM8CdeJX5xZ0rnV8YqDFsnJN4_cbcTIJ1BJob4PQUdb-ipnUyXHORlEXExebXC9EClwrHdcR3Nu7kV4zbmujD-zb-wYlZyuzI9ERl7VyRn9Wq-x_NFE50NO_3tMFtLBzgKgyN4xvNFg_nYKnoQmlWXTrlPNFr-pNi_4yKHku8z96izpnqYHqXDkJBjCC7of5ijvgu7_6367qBNechhypMsB1563EFisSlYbnJ-pSlP8Y0OMBik1PLHONU_kUE6cBwrsgekS6sHCQvNvGHwao2iVr2t7kWktIEhrsq9wuEnqr4QIrcpxBmxmznCYYc4m6Ua13U9H30M06zqFqn3vKFVrDOWq5efsZ5r2nUPUjmfYgIOIT9x55Zt3aTvjI-zrNo-YJDLliRwwfHjj6grCxhoTOLlhBOaMMcfp9ut51W7dNI1lWC3T9m3b2JIrO1GP55MtBC5csgsk-ylqqC2_H4Vut3NQqJDb8mWNLQs0rhc7BkfrH3mc2fNSIg8Nk66_TkU8UrJ6qBW0R-ErYqjow7hR505826XOLs9pnLc83ffNxiB24Kx31bV2DujQ2vvBgZ6EQZ6AYYfqvF-2-krX7d73Q703y-sntrSV-1QK7p700x1-61v8LZNcfNqs-cNXwq5oVWw8a1b30IoTUoAPer4E8hVWpTmYJWm0Ou9oFS29gnkWefcPnvLeLmF1dcd7y_F9gvT_VJB2PfC_ijqbdKgh1TtwG5im989wLzkMC4kEHBdO_tnPiKIpwsgLvGhKNJBAB8_PTlkZquu366R6ZppTLWdbx63-3Ft-WZ9KH54AlH0Ntb4kapym6qcT3oJ08afBoE9qh-Z7DTCvay2DbTVTtgKrnnGaK1l_PB0XGP7txfgnvfsPuK2NORM2f3Fbq-Z57wTGeY2ATuq6uH-z-tH-9YPzTV7wRRUWRR2G3IjrX32tQSkT0w_Kl4kuG6A4BGXdJYaF2sz1jYSFWjGjBrGFjo7kdiWUCL9glZyiJoy8-raKRzqWCCm6RrtpKAqNyCWQPN8X7ap5tbLToAIoUfgX2xi35IdAKujLtXR49Yz499bCpJTDUAEd5cf808-5g3ciw9-erobt-9aAJhz4Cd8cA9Tp4wLx67l9pqlwk6x6FUxn-w96nOZc5Q0YTnTNqts2muqudF5Apsy12zNrE0_CQ10ucS041u3nl6e0P-Oabaq2WUCj7MbmOWlWtvpc28KhWQvVKP1GV35WeOrmToF56mm7zDXmfhqXxj79vY2TIDSNEfIqKZN26fae0Sd5IjHbniq6Lww_VALiZDsCqrUaxn_hZJjDtVcaLWHFRIqJUO7MQMZMtHxMlOjlggv3uuqnp_N2NTsmQNFOdPsr-o2iUFI5nugCkzLajZm3w5yEydmr9o47AiHjd3wjElMNSSS8nQNqem8kDFVVUVimIul_kolQs74l-qlIlhaazTtyOSUlU8BuVBboGrH02or83nzmDHHxEYZ5gzB8_t-3yZE9VH9Enmxk2y1rufryKgaPGYSsRV6Jkqe7bG74Wn9St9izRQwBUtTWtWlDSAKqyyiejsQlsIQZbEzSUoqeMZMVapv-BQlmho-3Vc1fqVSUq53phIuNOALcvv43fVj_Mf402I8ubm9WfwPCAmzm8Wn6_kcZvePMIaH8ePiJn66HT_Cw9Pjw_38un-w-f_TkxlyHRKZownjpTaBgNG3H5ALWAT_CRZF_S7jKUx2ooQN3YHEjCktWVJqBKah5JntgQga5UaBWFYVmitG1o9oKCmHhzLJWQq3LEWubIJmszofql1LVJsWpF2GN7KNgEJOje_XJU_JuaYKaKJEXtpXILiAxgD9fxJ1fciu_Gzkj-gHvPKGhIwGg2HgflhfUTehLtIICRlGy8h3wyjxaRi6I38YuH76gV3t32wYhoS4_SSNkmxIkyzykjAY2aWSDWV530SZfSFXH-y7q1eeS7yR-yGnCebK_lQFIfv8MJx-kFc2LE3KlXIC18QSqq1CM53b37eoJhHCqRNOFqi0E06_4fcf_DEcvsJcGh_nMMWkXIGNfUFweHiIB8GHUuZX3_66bq31yxX5vwAAAP__kjQnHA">