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

    <tr>
        <th>Summary</th>
        <td>
            LLDB cannot activate child processes created by fork/vfork
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    I'm having some problems with LLDB! When I compile the source code that contains `fork/vfork` with gcc/g++ and debug it with LLDB, LLDB can't properly deal with the statement or  function that contain `fork/vfork`.
My toolchain information is as follows:
```
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 
```
My system information is as follows:
```
$ lsb_release -a
LSB Version:    core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal
```
I have compiled the latest LLDB by myself:
```
$ ./lldb -v
lldb version 16.0.0git (https://github.com/llvm/llvm-project.git revision c804775cd32c69bc85f738f760108cd0ac76d0f6)
  clang revision c804775cd32c69bc85f738f760108cd0ac76d0f6
  llvm revision c804775cd32c69bc85f738f760108cd0ac76d0f6
```
This is my source code:
```C++
// test_vfork.cpp
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

pid_t WrapperFork() {
  pid_t pid = 0;
  pid = vfork();
  if (pid == 0) { // child
 printf("Child\n");
    sleep(1);
 execl("/home/antlia/zzh/Test/X86/deadloop",
 "/home/antlia/zzh/Test/X86/deadloop", NULL);
  } else if (pid > 0) { // parent
    while (1) {
      printf("Parent\n");
 sleep(1);
    }
  } else {
    printf("Error\n");
 exit(0);
  }
  return pid;
}

int main() {
  pid_t pid = 0;
  pid = WrapperFork();

  printf("PID = %d\n", pid);
 while (1) {
    printf("while\n");
    sleep(1);
  }

 return 0;
}
```
```C
// deadloop.c
#include <stdio.h>
#include <unistd.h>
int main() {
  int sum = 0;

 for (;;) {
    printf("Deadloop\n");
    sleep(3);
  }
 return 0;
}
```
I compiled test_vfork.cpp with g++ with '-v':
```
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 
COLLECT_GCC_OPTIONS='-o' 'test_vfork.g++' '-g' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE test_vfork.cpp -quiet -dumpbase test_vfork.cpp -mtune=generic -march=x86-64 -auxbase test_vfork -g -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccMoxULP.s
GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
        compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/9
 /usr/include/x86_64-linux-gnu/c++/9
 /usr/include/c++/9/backward
 /usr/lib/gcc/x86_64-linux-gnu/9/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
        compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
COLLECT_GCC_OPTIONS='-o' 'test_vfork.g++' '-g' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 as -v --64 -o /tmp/ccO3DyhO.o /tmp/ccMoxULP.s
GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' 'test_vfork.g++' '-g' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cccUlPOR.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o test_vfork.g++ /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. /tmp/ccO3DyhO.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS='-o' 'test_vfork.g++' '-g' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
```
Then I started debugging with LLDB.
If I just run 'continue' on the main function, everything works fine.
```
(lldb) target create "/home/antlia/zzh/Test/X86/test_vfork.g++"
Current executable set to '/home/antlia/zzh/Test/X86/test_vfork.g++' (x86_64).
(lldb) b main
Breakpoint 1: where = test_vfork.g++`main + 12 at test_vfork.cpp:27:9, address = 0x0000000000001288
(lldb) r
Process 194358 launched: '/home/antlia/zzh/Test/X86/test_vfork.g++' (x86_64)
Process 194358 stopped
* thread #1, name = 'test_vfork.g++', stop reason = breakpoint 1.1
    frame #0: 0x0000555555555288 test_vfork.g++`main at test_vfork.cpp:27:9
   24   }
   25   
 26     int main() {
-> 27          pid_t pid = 0;
   28     pid = WrapperFork();
   29   
   30     printf("PID = %d\n", pid);
(lldb) c
Process 194358 resuming
Child
Deadloop
Parent
Parent
Deadloop
Parent
Parent
```
When I execute `step over` on line 28, Something went wrong. It looks like the child process is not running, causing the parent process to block(When vfork() is called, the calling thread is suspended until the child terminates or executes a new program.). Meanwhile, LLDB is stuck.
```
Process 194370 stopped
* thread #1, name = 'test_vfork.g++', stop reason = step over
    frame #0: 0x000055555555528f test_vfork.g++`main at test_vfork.cpp:28:20
   25   
   26   int main() {
   27    pid_t pid = 0;
-> 28          pid = WrapperFork();
   29   
   30    printf("PID = %d\n", pid);
   31     while (1) {
(lldb) n

```
When I execute `step into` on line 28 and `step over` on line 8, all is well.
```
Process 195589 stopped
* thread #1, name = 'test_vfork.g++', stop reason = step over
    frame #0: 0x000055555555528f test_vfork.g++`main at test_vfork.cpp:28:20
   25   
   26   int main() {
   27     pid_t pid = 0;
-> 28          pid = WrapperFork();
 29     
   30     printf("PID = %d\n", pid);
   31     while (1) {
(lldb) s
Process 195589 stopped
* thread #1, name = 'test_vfork.g++', stop reason = step in
    frame #0: 0x00005555555551f5 test_vfork.g++`WrapperFork() at test_vfork.cpp:7:9
   4    #include <unistd.h>
   5    
   6    pid_t WrapperFork() {
-> 7           pid_t pid = 0;
   8      pid = vfork();
   9      if (pid == 0) { // child
   10       printf("Child\n");
(lldb) n
Process 195589 stopped
* thread #1, name = 'test_vfork.g++', stop reason = step over
 frame #0: 0x00005555555551fc test_vfork.g++`WrapperFork() at test_vfork.cpp:8:14
   5    
   6    pid_t WrapperFork() {
   7      pid_t pid = 0;
-> 8           pid = vfork();
   9      if (pid == 0) { // child
   10       printf("Child\n");
   11    sleep(1);
(lldb) n
Child
Deadloop
Process 195589 stopped
* thread #1, name = 'test_vfork.g++', stop reason = step over
    frame #0: 0x0000555555555208 test_vfork.g++`WrapperFork() at test_vfork.cpp:9:3
   6    pid_t WrapperFork() {
   7      pid_t pid = 0;
   8      pid = vfork();
-> 9           if (pid == 0) { // child
   10    printf("Child\n");
   11       sleep(1);
   12    execl("/home/antlia/zzh/Test/X86/deadloop",
Deadloop
(lldb) ^C
Deadloop
Deadloop
Deadloop
Deadloop
```
I tried compiling test_vfork.c, just a copy of test_fork.cpp, with gcc. Both above work well.
```
Process 196270 stopped
* thread #1, name = 'test_vfork.gcc', stop reason = step over
    frame #0: 0x000055555555528f test_vfork.gcc`main at test_vfork.c:28:9
   25   
   26   int main() {
   27     pid_t pid = 0;
-> 28          pid = WrapperFork();
   29   
   30     printf("PID = %d\n", pid);
   31     while (1) {
(lldb) n
Child
Deadloop
Parent
Parent
```
I replaced `vfork` with `fork` in the source code and compile with gcc and g++ respectively, and something similar happens again (the child process does not run).
I tried to attach the child process but failed. What other ways can I examine the child process?
By the way, if this is a bug, when will it be fixed? May I know the cause of this phenomenon?
Thanks!
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzse1tz46qy8K_RvHRJJSFfH_KQ2PF8qUrWpDKZb53zlEIIWawg0AaUxPNwfvspQLLlW-JkZvaeOjWplG1BdwN9b0BYa7YUlJ4Fw4tgOP-EG1NKdfb9e5nESRwno2Q6_JTJfHV2FaBxBSV-YmIJWlYUaiUzTisNz8yUcH09vwhQAn-XVMAVEFnVjFMwJQUtG0UoEJnbZ2yASGEwExqCUVxI9RigxZP7HsWe2JKQAC2WAboI0AVgkUNOs2YJzPQHm7lvIFgEaGzsfGqq-ApyirmHc6MbbGhFhQGpAIpGEMOk2JrIgXlEQTwP4vObFRgpOSktFBOFVBV26EwD1lBIzuWzDtJzDx6M4vbfP6KBXQqET_75m7bMyxrGTcgE6JoS3Q40-3J9fTm7f_g8mwXp3K5_q_n6_svD33fnt7eXd0E6D9Ci0SpAC84yyyfHrZfJ6GE0CDkTzUu4FE2AFlMLYmT4rHBdU-VJflksrr-czx_uz-8-X94__HV-c_k1SOfiqTYvoZCCBul5qfFB4Pnl4vzb9X2QzhPff4_VkpogPYe94f38pSjYslE0dwKxgFEUoIVWdsqk64XwCcLQQoT14_KJKs2kcAsdf8saYRqYRoMoDpPGPSX_g-IoHkRJgMYdXtYsG8WDdF4wbpcQoIX_95zSJVY0QItcEs-x0DLn7vJ8fnMZXTRLDWFIBc44DTkWywYvqQ7SOQnQDOc4QDPilTFAs6UM0CxTbBmgWR6gWSGVUVYHZzL7h_ivsAdeIQjDWtGCvaxl183aTqTC_0gVtosOpeArBy-XClehbgqPF057rWtqu1wPN8twK857y2LikarQal8eMtvBWUZfKMmZ2tGpdnaysWpKeJPTPFxSY-iL2dAzpaI4t0yqpWYvnt5BWi2C4D0mEy4JtoKaL0XTn2SmTU5eXkJv8Ac6DKss2orqjok5LXDDTQ8GZ8yqNH3eELDMaQT7V0NDmf1DiV1JzrTrezL-iypWrDYoNW-WTGyeu3FqRruh9UobWoXfN0wLjTOJfk-QznFj5IaQ1ZNwSfbaq4YbhhUpe3N7pkrJtb7YzjBFQTpno8lo3eqWW40GXYMjxFkWcqaN7UpRgGbVaGA_X1K0M2R_9o1wQqGCKkZ6Uy4KLnHerk7vOAwrcadYnW2F509pc7l5dOZrzY9mzJrKwlR16Ch0ujIrNe7pHWlyHOaKPVHVU5qSkkcmlkE6V5RTrK0c_Lj7pgBhWEq3-gM9pvVbe32tW3O6DZXMKbc-y2m477L-vLVV75QgQJM3nNQUDoaHmxV4LflYZOE6e1izofXX118v4P937vM8iKdEKhomSZREsZ8WCoW0WhSk55qSRjGzOtzv6M2ZNopljZEKruaepF9s2081Uaw26_FaTvilp3B9_9UD3vmJeiDX2wWInApctR2FdQoHF3xlUw_apRW5i-wcG6qNTwKyFVQrTXnxGsds5OE8z9YB2T100kxGURzFS2asREtjar0OI0tmyiaLiKwchafuyzpk60sii6XoE3OEyCQejMdDkqeIjKYZmQyLcTopxqM4iSckjzEZj_K4GAVo6qcBQGzQ-QCFFt3O5aPYO3y6L5m2Olit-nnbPldnbYBrmWu5BFYcDy6Dikhdd11pG0MgSGfa5ExGZZBeHunlLDva3QimTd7vdp81yx8M_O1znIVL4ybO5sYXHX88SM1yCNI5xEHa73FtPu9ziL1eVlhdaGE8qicM7YpJaZ2Ph64VE6ZwNNDMtQ9nIkBomySA5pTWAZokWx02EnOPHKBFKSubrWBhOMMBWnz_XgZocU-1CdDivyYj50pxzqWsHcKspfJBbPjr2_X19jyD8Rwo13SLB5d7DKixosJsFvdc2qy_XV1fBPavz6Fbj3iARYf5A25Ke7PbGqFP_9KGzUPk6QszAZrEe8vtfipqGiWsZqz7173-kwkDFWbiI4q2p6ebQTrIPpeu5g4rQMONOs3c3PrTf4XrfWoO7F1aCTsr75gTH2DNjr_dOIq-i-j0LiLvdw979n9cDrZHN9WOFNreQirLK9ucXrzKsHlnJa_zLD2mSydz66oX2bacaFsPt5WwewjQOHwK0PhYpDu9yuy78D-V5p9K80-l-afS_FNp_l-oNHuO_uHL7f3Vl7--eicXSuvJAjTuhZkuDviOcNn9eOp-eAO3Wu8CgG-stgW4bvbFpV1uaLVgvM5MT48khCQ1bzSE_2oYNc5ls43G7jN5_vD5r28PX798u5td7sbPjkbeVHVm5bjbX-0q4vYKIMTNyw4ihEvo3CiEBdYrQUolhWx02IhnJqz2Ztz6jUIbTB6tOzWUGKlCbZQUSwj_9hX_-kfYVeNrHMKxLjtMPxIptp4leP12LLuRL9-ubyPt-f35r2_QlmjJ4CTF2VO1feFMuzRqus5WshW4obbRbY76-eZ23TiKkG-8uV3crVsHURwh37rBd1sRtpFpvm5kmodxhFCUhJ9vbvvJ3OfPMyhpo5g2jNiC3cYurHAFyyUJKyZC-lJjYc02ieO9zpLiWrPvVv5JmsRj1CaWSyGVzaLypuaMYEMhZ8oJcNXWWF6Z26B1WJXXkdkq9S5l685emDZUmCO0Xdx6Y4wPUH3b_NoBw4K90PwXjeFys52PA6DrtaP9ggChyKIh0NT5BW2wMhpKqnrbFVsFhIVPL1-DhwOS7YvxKNAb4j-JOFpkmDw-Y5V_wGd2JHcxd5To9AUcgXTNlyIHWXSMtKE_-uN2ftztzPzylNsMalwIAZeJ6KayY4yGBZ2iYTZJ83Q6HGXDNM3pAOMMj3NMaPy7xn6sfdllo-lWzPqSzlfll-iNOIa1plVm-dIJBkXp4IiuQOPK34vFfA0doIklc8FEYxjXrv5vN7HR1NHqGHdze3V9efdwe37__95Z_Po68FeA_0LK_sjg6uLu_O6__w2Lftvd_xhB9-HRPCH_--g4vnsPqz_8SXN8lcJ7FtCf1j6l39W635XZS84pMQi6kvddG0ws40Y-eMxIy45IKGvz8b2qHSphoaiWvDHdvtDaMZFv_PbLXaRsWr-NUmOtQ1Mq2Swtg0K-JOThJKg3Yd6GeMdY_S0ZWoaFwhUNy1xBWAHlxYNnli1nbeWhzaq3bYJ1KCjNaQ5hvhK4YqTd5wHPcasRC563nPY6EmkZWVEzCuF3EPLZfinKlbRxYF9P36UNb3uTr0SZxAeXn0iVKMPeSZQok9ElE18jCeH1yZjvgX176j9GrfNxnsph59jv24Z_zaXuQxzHPXnGB5OMkGuTtwk3hLyCtfF487DGttXyThlTkX_9FeomIvmb-v69s2N3988VVrS9s7e02dj60l5bJlwVcAX_NNqAamwMGBMpDBMNteO5y3nUHeysr-vZzJw-UbUypaMn1aOGggkaHTnsn3CeZza98_tvQBS1VfzJ56OHGNll6Y1StvbtJemaGjBW8uOPUx9vEtoATaO9hWT-qMs1XyiKH2vJhIHEFgbPtoh1h10HKI9ix0qr9AkCbHaP6dNzd5Y0tTzGea6o1v7c7CXu_SVoMtmbU3vQc6sksVjJdJAOJ8BxI0hJczuzn8iSg2NpI-ua5t3MzsEfFkCA0sQuSOCKtieoh43DAlkioCjWtlhI55D12Bslm_M-FzAt6dguzfNn2P2hyeQV7r_C9o48GgAE8bR3Eg1o6Jv8Mxq5p2OnnmGQXgIaO5jXTqIBTTYwb5xJW-hpfw4Aadxhv_ucuqc55KA0FdVNxcSyNbTN5Yr1QazH6l066P8-DWrHV7QXlr01UwhGsTa0BvlEVTCKrTfiTFCwy5zBV1nR1gVZF_CspFhGcGWAS_mogbNHf-XZ3QuBul0d0yCk83XCLg7NgGBfplpYf4ViDWwkZFwSKwk3td7NFEuIYM5pbmm4cTDnno7TeqZBN7qmwuZpjTCM92ZjqKqYwIZqkN0WA9WAQdBnaM_7Iut64IZi4e8KdHesLWHTkMfD7rYvxXH8a2xyI5RTzbF4rzlO7Ed8xPjgLfOzEK3xHbM9b6E_xfo-cEkEIE3aoY_cF-nZp-jvdp1mMUwYuW0x7ub-MYNy9oQ5t7r1TDl_S7WGw8n0j2r9PN36iX79faql_82S7ZKmN-WaFMPDct2_W3hIyNvRfACeva_fYAKAIWzLYeSf37zV6AQ-hrfD_QR2lOLwXUeYdnDvuvUIkHSKAyddgdx3Mv8JG39DEciPKII19mTwwwIGgPEJNv-bidditL7g4JXCffEfT_N-R98fH8nyT1ONaZCepz1NOFkPfpKZO435UU14pxocv1xq61EH8lMuP28rT0_PguHlQZDTn_ZuaxrFaN7e2XT5d0_QVs3c3gYGIusVyDZbWKsBmq3fcozgQpoScCafqNvVOCkVGqEfyLLdXs-vSIMIOZICdQnQ9LfKf1xu_R9JgN70e6cVrlegaM0xoS7H3n6BtnuhdRQDE3sv4dq0vHtBt9NE19jtwyuqa0oMe6J85dJ0kbt3fn3pq1nFOFZQWt4KDXjp95cm-5VvLum69t3sanX2YyRgYzApD9TMWWOgwIzTPIK_S2xAmpIqeMYrWwP7-gNXtpDYww3S9qzsYuU6n7FbBCvAtC-3YMgaV4c_21LmmdkqxEBGwV95SRdwg1dwBY9CPrd1dqOps2RLoS6pkBUVUqyHui-xeNQBSj7lZ2k-Taf4Ez1LRuNBMkkGaPCpPEOjCUoJzsgoLqajIh6OignGE1xkwwGJp8NP7AzFKI0TFMcIpYNBRCmdpHkxwdNBksRFHgxiWmHGI86fqkiq5SemdUPPRnEyHH3iOKNcdy9yqzP3flLWLHUwiDnTRm_QDDOcnnUvT1vxYCtsbHYYSXW7b-ouXPTfkP7UKH72vnekArRw09UBWrgZ_28AAAD__6BGbDU">