<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztWllT47gW_jXwonLKW5zkgYcQYKarYKA6zFL3xSXbcuJpb9dLIPPr73ckO7GyQHqm5-1SYBwt53w6u6QERbS9-cIyvmVrvhEsLDLBeFgVdc04fSqTlDdJkbOgXbG3tchZ1eZ5kq9YmPJ8ZVgue0uaNXsuRf70woo4Tgseja7Muytz_rOoBEtq1qxBueL1mgU8_NZUPBRXzlyNufLM7ld9tF1FmRnPDjPwL375smDG7zxN8cwLo83bWkRGJeo2bbSmDa8SHqQCc2JeN0bGAcz4owC0rDQaXq0EJmS8CtdXzl2d-Z7JjHrNKxFhihq2e-nG1xiZb8rm3XPZlf3QZCWekdgkTWH8mTQhD9fCaJNoNptRh216Eysa2xPLNcPJeBqHYxGHAffcmYsWe-bEjuU5o5AZacaM4kfSrAslwpfH-_nyntVtkCUNtEiaq0RZVA1rCrZumrIm6dsP-EVfPUrTTTYqqhU-M55HLMnDtI3ESbXZC1aCWFWEoobMWV20lWqmmbyuizDhDTpgJqwOq6RsOmNYNiDCohar7XVvjpj8eamKVcUzBom3mchJ6HOSDAEjkEmO587ejDC0mNGANFTd68bg7Xvf9j71fM-FVXzLi7fcSJMcfau8ZcaSGVFSk40YcSVgKGEqeGWQsQQiLiph0EoFVrIbRxiMjaiSOBGVbA55RbaWtsLIeSZqMqkkN-IkVQ3se6wgq0RahNLFjKyIRMrKBM14GKnY4KMNi1zzNDZg57XIeN6gK8kbUZVFnUjXNLIY0hNGWch2WKx0FkhSrgATkzyutYac54OGNq95DJGUncvExCtZ5fCpvwRigYS50y0j2YUJ2QBP-xmYGxY52UgD_uR-ikxVtHmEcLEbt3fMOE7ypBHyk1Hk6VbNgKyDohZQChxEYm8ErAM2hSYggTq_GUGbpA2EHsBdIDUylqJs8Mw3SZRwvKzL0K-jb3h7JP37yijw0bZG5FZhG9Ewyxq5cpq0tDQJyA_JoPfvI8scBdCJCghGLHjTVsTyFqY3cXcd4Ebga6gEIiDCH6DtTBtM1BORtiOTizdDWrUhI9SQdVi2rAtbGREgLwAaAyaZKqNO3iEmUVUFGbXxxisZqo1IwNHJCgrjW5JHgAdcAsYMRTbJRtSd_CPMiAeLsLupK1EZTUu00LiKAqUpNVoRKaqt0hjisgwJ1H60UOnDJHV3ZI6wCmmvOawoqbd1I7JPJuCli01S3xSm_beKlyUAEzEVtnxfzvK7AUqJftzmIXlLPYLpffkeezFti5AUWeYDVI13ZMU9FFAb_YOVnJ7a1hXNJA-7cKhksgpDPLv4t4t7xJU4jkbHjxNjj7mJd3oJj7nutXFI5-PZ38_i9Nr_kc9_SPn_uvuRuqNS7jsrOBWyBhUoBRREn12phDEq0KUJ1TnW7GwNJ0Mq6pEmyYgyVhgOYpw7skeoJ-KwSEEMhrTKixpJFhFlIwNb8heqgKIotYY6HbBJakNFmX3TGjSMpFJVQUn5bl_pXVgeGKbwTD6WCeDO939aLPyf57_d-3e_z78-2P7i4Ys_Xz5RqtELyUvJB5EXxeEIy3pn4Q8tblV1Z3XV3ZWzEEV85dyzklc1iijeMCqxipiRdNRguxu8oPy4ErmopNJVp9N1fu22HiVqEQCePHQxnb1QwxPPORIV2hmaUEy1KaXayQ9dmT3pyln3DKZffnt5_YPNURxnAVLqS6VqMgWqT0ISlmv6__nFsv2fHp9v54--_4tvWeMk3xTfxFOCLVjD62_3SfKyeVmafkozJGPMdUxmvpv4GXuuJ8aOZ5mxqVjJKvuVSvUlCjie_oyyPCX-002RRFc26v4ZU131KCypFjfl3462pdMeixkK5UNi4PQpIbsjNEHF5M48K4JwkZzh9vAh4WM7AkK78HcimKGjbNaocCLsbSju3prvlgsqYL1n4wzxeqYXukHMZPjGNsOZ31GRckfBRH0WCBZfUHcmPH0swru-AgKU_ZwnmAfqo515obKtsV6PtjmolWVlzDoRdGs4tVORgG3hzIBIg-zqkJ2ZNXYGkOd11pvNIeSv_E0u6G9AvwSq6QGJBnU8hOpaEzvgQ-lKaz-Ftwdwjz3B9pEHIpXcPwcROzFYaBg8XVyuZbrRJ-Lq2f8M45EGe-H6BUhrvCcHvN2puJT3bRFtL-ZsWSCscZ7qkvc8GynuE8kjyT3nBybwkXlcaBix44C5hm6moRsHsc1ddpYPxecBwpPQvhOT5UxD8NyBosilhUWXTyaBbQ5APbwQjj5N_GA4U9cFNw2OdQgnnIYXwHmSmUtXW9d0MRRw0qDYB1BmE9caQEnFiodb9T4A9SUr0x2wfwTIAz8NkBa1xx63Iri5qrMlg3s40q06i3lum7JFDJsOuu_2Zdp9voKlddF5MES5_lLQcd9zKbd-WiAfDKWi4yeRfzLqVRaTnwx6xNupIXvRLRt47OqriPXmXqLzA4KdEOadMS5Y3USqB_vx_7bCLxsYz2JPqOJvfvlWJY3wazoeyLRJkYg5qm7silPRiE8momTD30UBDFqEBjUV61nOmU1ndnhiZQtIqc16D1AlBgqYvFZl_69IfLru58tXzGmw67jQ_lC6jcFbA6flNS-a2U44G4J7oVIVnHTWS5HxTqFBUaT7_xeACMYxeGggtMQ2jrww8DQQDxWtc6d85RjvImwbcWliCZwZiGpctZQ2DuMZnwW6N9CeC94P6-W5Oqrf8e3tcHoe5oXFBg89MNaQaSlvLGw7nJpaUFAY9gA33dGpjudoAarq_VxWqPmnegjX0pwjLB5MIxaGlk9HvlpEnFcV35JXO4twzave-efSgeDRWhsaBuX4Z8ACMQHbIS7bPMA1RYHNevEsrFdplAN0ywy779_k7lUF9RMgpdqiChVldVzQE1MtnznRbDxDzCZBfL4CD1soLTrY-u7AFEFkcuwOUPOHCD-8avwh5Q-2CCFtDjylQQ9ENC7OgZwmSH5M0b9A7C5G78jt-pw5kwcP9NLKA3S6VxFK-HRnlnE6Yp2zpVjRbYa6P5Nhl3iG2PzIa5BBvXeStroGizvn6gmDEGw7AgXJtpY7MKLb1oIZG9mGDVsy8I0hE9YdfLDuCBYT9RuhVdKs22AEboNTMLoDKaviTxjQaEWXSrMgmE3EFKV4YGKL7IXTyIu4E0yCwMVmeTLjLudiLzyVO2lV5y5nunFyu8fkTQiNpjuOd9UlvTnF0u-S6vh-6EiMeUHpbc72BzosqylAsHsS8O6Mgbbupy60pjXAj07fUcrnHLpYDy441URGB_xXH11u8uZfOGuBrSOzow5i_svz8ssf_sJfPv_6dXHPbNOcmrPHw2HL1_nXV__1y9P9V6x1Sa6PpN-GDaNTsg1MSjkh1fr4ZUtGQQt2OGxxbiHGhiYUccTVZsc7Ne-XXx8fyRac22Mczy9DGItXgnJMVeOsk2SvBuIXMbq9cu7IoqOiDaiWgiSnOuRRs_FrERoHILtmOeP2UwLtCQq7DjnpwTLlz37B_bL7I9Er20ZNhvA1WuP1VDddi53trLd0D0EyOjsESXDYJ5-diiPe8CL4s-uZdBiZzEmYOqcjmirpBu7WwOjIg7oRdP4SJ5rz8kxHdKZ9fa69iOsTzcWw-Wpyxw7E260OvkznitXR8pRWER5lnWJ-REo9iXFeVJktwzbiD6NvNzRs7b_LnK41bVWdPRSwJsvc35B16NOKY0rFp5QqEfa0PhkVFkUV1TpjWtS7_3TYkOkN28MR28MRpU8cnk41HowkMz0cKNsOxqkzdCqLjlurbLDcXsPSKohSVe-z_l7fMqHN2a3ABpFOm7vvqNSiaUsma6-HnYnFMm50APBuUSgx9ntWUNsTZgzOhYBB26h-O6Vujaf7NcwGFgwLOwB1rw7Az0LqhyubkDFwYEqyalSxbjhAxp6ZsjSKiQfue5JWpULW-LazKpon3XJ8a12N7_B7jtMHUwjFoPNCHJ257mnvzfd7UX00swenj9Ew7pXllBVfZZwUzrpvEAk6b5Muh-IXWXzaFFRWkCDHt1QyH4vF7Dif698j-5uce9HtGZyUwDGOTwR1yhixW5fCR_n4cEJiA5_rI-2Bs-m1xy4c7xevvPGMGO0z8qOjCmaec9iT8mwEz2pUiGSCARXvJa-oxExZXNDmKE15WZNX28pmorbf_cpaYw5JDPgxOUtdjsioJKXUBTqUKV3TYtf6tG9VpYulUdPwa8RllJXU-3gLQn3jYt_-NGg_xeGIR69ilN3vkr6BBEVzdRuTJHs7wj_nHJFtT2T7IRHrFBFaaJLIdZi9s6s7F-X1BR3rE1C6-Kc0OtNj7hEV6yMqW0lle46KNEhkTXkeBip7YLRt9ihdHnRZfRdSa6-V41mHXYf6OaEhphxQ6TPm9IWUqYo9ZEpKoDvZSmc503W8zEGaOvo4TGH7V61833vy4iApa2nvZFTox-WdTUldkX9dFpLfk2YYF_vTzR8VlWEAu9xeZb36zsaovn4w1enO-cHWweBPE8BH6_y3csCHiz_L4gMZnOV3UhS9QCrUSFXOtLL9YJd9Hd040cyZ8WveNuuiukkajlDUrq7bKr35vnMO-vpKXbeC9lljezo2r9c3PJhOhBtMeWQKPhkHY-HZkTXFln0aOJbNr1O66KxvsBxsvHLxxiQJ2oSN767_OYLkhr6MZtm2Y07HljsZmeM48kzXGU9dezKNwyvXFBlP0t1Xeq-rG0mSvueLzhSpbv9932tey7tsIQEDYZM0qbj5jvORawnwRqL7H1X_ChM>52850</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Error generating preprocessed source(s)
        </td>
    </tr>

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

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

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

<pre>
    I may have come across a compilation bug when running clang-14 with OpenMP offload.
Here is the crash backtrace:
```
$ clang -O3 -g -fPIC -Wall -Wno-unused-result -Wno-unused-variable -ffast-math -Xopenmp-target -march=sm_60 -shared -fopenmp -fopenmp-targets=nvptx64 /tmp/devito-jitcache-uid999/d20671d527140c758fc5efcba649440c293f3163.c -lm -o /tmp/devito-jitcache-uid999/d20671d527140c758fc5efcba649440c293f3163.so
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /llvm/bin/clang-14 -cc1 -triple nvptx64 -aux-triple x86_64-unknown-linux-gnu -S -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name d20671d527140c758fc5efcba649440c293f3163.c -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -menable-no-infs -menable-no-nans -menable-unsafe-fp-math -fno-signed-zeros -mreassociate -freciprocal-math -ffp-contract=fast -fno-rounding-math -ffast-math -ffinite-math-only -fno-verbose-asm -no-integrated-as -mlink-builtin-bitcode /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda/11.4/nvvm/libdevice/libdevice.10.bc -target-feature +ptx74 -target-sdk-version=11.4 -mlink-builtin-bitcode /llvm/lib/libomptarget-new-nvptx-sm_60.bc -target-cpu sm_60 -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=line-directives-only -dwarf-version=2 -debugger-tuning=gdb -fno-dwarf-directory-asm -resource-dir /llvm/lib/clang/14.0.0 -internal-isystem /llvm/lib/clang/14.0.0/include/openmp_wrappers -include __clang_openmp_device_functions.h -I/opt/nvidia/hpc_sdk/Linux_x86_64/2021/comm_libs/mpi/include -I. -internal-isystem /llvm/lib/clang/14.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /opt/nvidia/hpc_sdk/Linux_x86_64/21.9/cuda/11.4/include -internal-isystem /llvm/lib/clang/14.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Wall -Wno-unused-result -Wno-unused-variable -fdebug-compilation-dir=/devito -ferror-limit 19 -fopenmp -fopenmp-target-new-runtime -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp -fopenmp-is-device -fopenmp-host-ir-file-path /tmp/d20671d527140c758fc5efcba649440c293f3163-0e60a5.bc -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/d20671d527140c758fc5efcba649440c293f3163-bd6dfc.s -x c /tmp/devito-jitcache-uid999/d20671d527140c758fc5efcba649440c293f3163.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/tmp/devito-jitcache-uid999/d20671d527140c758fc5efcba649440c293f3163.c'.
4.      Running pass 'NVPTX Assembly Printer' on function '@_ZN12_GLOBAL__N_115invokeMicrotaskEiiPvPS0_l'
 #0 0x00005646e53610f0 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x00005646e535e9ee SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fea4961d140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
 #3 0x00005646e606c4bf llvm::DwarfDebug::emitInitialLocDirective(llvm::MachineFunction const&, unsigned int) (/llvm/bin/clang-14+0x2e394bf)
 #4 0x00005646e6039153 llvm::AsmPrinter::emitInitialRawDwarfLocDirective(llvm::MachineFunction const&) (/llvm/bin/clang-14+0x2e06153)
 #5 0x00005646e4172baf llvm::NVPTXAsmPrinter::emitFunctionEntryLabel() (/llvm/bin/clang-14+0xf3fbaf)
 #6 0x00005646e604104d llvm::AsmPrinter::emitFunctionHeader() (/llvm/bin/clang-14+0x2e0e04d)
 #7 0x00005646e60448ed llvm::AsmPrinter::emitFunctionBody() (/llvm/bin/clang-14+0x2e118ed)
 #8 0x00005646e4166219 llvm::NVPTXAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/llvm/bin/clang-14+0xf33219)
 #9 0x00005646e45bf2a4 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/llvm/bin/clang-14+0x138c2a4)
#10 0x00005646e4a77b20 llvm::FPPassManager::runOnFunction(llvm::Function&) (/llvm/bin/clang-14+0x1844b20)
#11 0x00005646e4a77c8c llvm::FPPassManager::runOnModule(llvm::Module&) (/llvm/bin/clang-14+0x1844c8c)
#12 0x00005646e4a79741 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/llvm/bin/clang-14+0x1846741)
#13 0x00005646e56a1d36 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> >) (/llvm/bin/clang-14+0x246ed36)
#14 0x00005646e639892c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/llvm/bin/clang-14+0x316592c)
#15 0x00005646e6d923c9 clang::ParseAST(clang::Sema&, bool, bool) (/llvm/bin/clang-14+0x3b5f3c9)
#16 0x00005646e5d6cb69 clang::FrontendAction::Execute() (/llvm/bin/clang-14+0x2b39b69)
#17 0x00005646e5cf9a9b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/llvm/bin/clang-14+0x2ac6a9b)
#18 0x00005646e5e22c80 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/llvm/bin/clang-14+0x2befc80)
#19 0x00005646e3e1ab8d cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/llvm/bin/clang-14+0xbe7b8d)
#20 0x00005646e3e18496 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#21 0x00005646e3d95936 main (/llvm/bin/clang-14+0xb62936)
#22 0x00007fea490ebd0a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
#23 0x00005646e3e17e4a _start (/llvm/bin/clang-14+0xbe4e4a)
clang-14: error: unable to execute command: Segmentation fault (core dumped)
clang-14: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 14.0.0 (https://github.com/llvm/llvm-project.git a9bb97e8410b09446c8d6da3b7bb493f79a4aaea)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /llvm/bin
clang-14: note: diagnostic msg: Error generating preprocessed source(s).
```

And here is the source code:
```
$ cat /tmp/devito-jitcache-uid999/d20671d527140c758fc5efcba649440c293f3163.c
#define _POSIX_C_SOURCE 200809L
#define START_TIMER(S) struct timeval start_ ## S , end_ ## S ; gettimeofday(&start_ ## S , NULL);
#define STOP_TIMER(S,T) gettimeofday(&end_ ## S, NULL); T->S += (double)(end_ ## S .tv_sec-start_ ## S.tv_sec)+(double)(end_ ## S .tv_usec-start_ ## S .tv_usec)/1000000;

#include "stdlib.h"
#include "math.h"
#include "sys/time.h"
#include "omp.h"

struct dataobj
{
  void *restrict data;
  int * size;
  int * npsize;
  int * dsize;
  int * hsize;
  int * hofs;
  int * oofs;
} ;

struct profiler
{
  double section0;
} ;


int norm2(const float h_x, const float h_y, struct dataobj *restrict n_vec, const float o_x, const float o_y, struct dataobj *restrict rec_vec, struct dataobj *restrict rec_coords_vec, const int x_M, const int x_m, const int y_M, const int y_m, const int p_rec_M, const int p_rec_m, const int time_M, const int time_m, const int deviceid, const int devicerm, struct profiler * timers)
{
  /* Begin of OpenMP setup */
  if (deviceid != -1)
  {
    omp_set_default_device(deviceid);
  }
  /* End of OpenMP setup */

  float (*restrict n) = (float (*)) n_vec->data;
  float (*restrict rec)[rec_vec->size[1]] = (float (*)[rec_vec->size[1]]) rec_vec->data;
  float (*restrict rec_coords)[rec_coords_vec->size[1]] = (float (*)[rec_coords_vec->size[1]]) rec_coords_vec->data;

  #pragma omp target enter data map(to: rec[0:rec_vec->size[0]][0:rec_vec->size[1]])
  #pragma omp target enter data map(to: rec_coords[0:rec_coords_vec->size[0]][0:rec_coords_vec->size[1]])

  float sum = 0.0F;

  /* Begin section0 */
  START_TIMER(section0)
  if (rec_vec->size[0]*rec_vec->size[1] > 0)
  {
    #pragma omp target teams distribute parallel for collapse(2) reduction(+:sum)
    for (int time = time_m; time <= time_M; time += 1)
    {
      for (int p_rec = p_rec_m; p_rec <= p_rec_M; p_rec += 1)
      {
        float posx = -o_x + rec_coords[p_rec][0];
        float posy = -o_y + rec_coords[p_rec][1];
        int ii_rec_0 = (int)(floor(posx/h_x));
        int ii_rec_1 = (int)(floor(posy/h_y));
        if (x_M >= ii_rec_0 && y_M >= ii_rec_1 && x_m <= ii_rec_0 && y_m <= ii_rec_1)
        {
          sum += fabs(rec[time][p_rec]*rec[time][p_rec]);
        }
      }
    }
  }
  STOP_TIMER(section0,timers)
  /* End section0 */

  n[0] = sum;

  #pragma omp target exit data map(delete: rec[0:rec_vec->size[0]][0:rec_vec->size[1]]) if(devicerm && (rec_vec->size[0] != 0) && (rec_vec->size[1] != 0))
  #pragma omp target exit data map(delete: rec_coords[0:rec_coords_vec->size[0]][0:rec_coords_vec->size[1]]) if(devicerm && (rec_coords_vec->size[0] != 0) && (rec_coords_vec->size[1] != 0))

  return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWllzo7gW_jXJiwoXmzE85MFxkumuSjqpdmap-0IJEDbTgLgCnHh-_T1HAoO8xM5Mz9tNJQRrOefT2SU54sn25isp6Jas6YaRmBeM0FjwuiYUP1VZTpuMlyRqV-RtzUoi2rLMyhWJc1quDMslb1mzJs8VK59eCE_TnNNkcmXeXZnzL0wwktWkWQNlQes1iWj8oxE0ZlfOXI258szuV320XUWZGM8OMeBf-vJ1QYzfaZ7Ds-RGW7Y1SwzB6jZvtKYNFRmNcgZzUlo3RkEBmPEHB2hFZTRUrBhMKKiI11fOXV2EnkmMek0FS2CKGrZ76cbXMLLcVM2755Ir-6EpKngmbJM13Pgza2Iar5nRZkkQBNhhm97MSqb2zHLNeDb103jK0jiinhu40GIHTupYnjOJiZEXxOA_k2bNlQhfHu_ny3tSt1GRNaBF1JxgFRcNaThZN01Vo_TtB_iFvnqS55tiwsUKPhNaJiQr47xN2FG12QtSATHBY1aDzEnNW6GacSatax5ntIEOMBNSxyKrms4Ylg0QIUkLq-11b06I_HkRfCVoQUDibcFKFPocJYPAEGRWwnNnb0YcW8RogDSouteNQdv3vu3d90LPBav4UfK30sizEvpWZUuMJTGSrEYbMVLBwFDinFFhoLFELOWCGbhSBivZjUMMxoaJLM2YkM0xFWhrecuMkhasRpPKSiPNctVAPmMFhWA5j6WLGQVPWE6qDJrhYeRsAx9tsMg1zVMD7LxmBS0b6MrKhomK15l0TaNIQXrMqLhsB4uVzgKSlCuAiVmZ1lpDSctRQ1vWNAWRVJ3LpMgrW5XgU38xiAUS5k63BGUXZ2gDNO9nwNyYl2gjDfBH91NkBG_LBMLFbtzgmGmalVnD5CeDl_lWzQBZR7xmoBRwEIm9YWAdYFPQBEhAnT-MqM3yBoQegbuA1NBYeNXAs9xkSUbhZV3FYZ38gLdH1H-ojAI-2tYE3SpuExxmWRNXTpOWlmcR-iEa9PA-scxJBDpRAcFIGW1agSxvwfRm7q4DuCH4GlQCIkDCH6DtTBuYqCdE2o5Myd4MadWGjFBj1nHVki5sFUgAvQDQGGCSuTLq7B3ExITgaNTGGxUyVBsJA0dHK-DGj6xMAB7gYmDMoMgm27C6k38CM9LRIuxu6ooJo2mRFjSukkhpSo1WRLjYKo1BXJYhAdsPFip9GKXuTswJrELaawlWlNXbumHFmQnw0sUmqW8M0-GboFUFgJGYClthKGeF3QClxDBtyxi9pZ6A6X39jL2YtoVIeFGEAKqGd8iKAxSgNvkHKzk-ta0FzkQPu3CoZLKKY3h28W8X95ArcpxMDh9Hxh5yY-_4Eh9yHbSxT-fj2Z9ncXzt_8jnP6T8f939TN1hKffJCk6FrFEFigEFos-uVIIxKtDlGdY5VnCyhpMhFeqRJiuQMqwwHsU4d2JPoJ5IY54DMTCkVclrSLIQUTYysGV_QRXAeaU11PmITVYbKsoMTWugYWRCVQUV5ruh0ruwPDBM5pl0KhPAXRj-sliEX-a_3Yd3v8-_P9jh4uFrOF8-YarRC8lLyUeJl6TxBJb1TuKfWtyq6s7qqrsrZ8F4euXck4qKGooo2hAssXhKUDpqsN0NXmB-XLGSCal01el0nd-7rUcFtQgAnj10MZ28YMMTLSkkKmgn0ATFVJtjqp391JXZs66cdU9g-vbby-sfZA7FcRFBSn0RqiZToPokJGG5Zvifb5Yd_vL4fDt_DMNvoWVNs3LDf7CnDLZgDa1_3GfZy-ZlaYY5zpCMYa5jEvPdhJ-p53ps6niWmZqKlayyX7FUX0IBR_MvUJbnyN_f8Cy5sqHuD4jqqidxhbW4Kf92tC2d9pQFUCjvEwNOZwnZHaEZVExu4FkJCBeSM7g9-BALYTsChHbh70gwg46qWUOFk8DeBuPurfluuUAFWA9snDFez_RiN0qJDN-wzXDmd1ik3GEwUZ8ZBIuvUHdmNH_k8V1fAQGUYc4TmAfURzvzgsq2hvV6uM2BWllWxqQTQbeGYzsVCdhmTgCINMiuDtkJrKkzgjyvi95s9iF_p29yQX8D-iVQTQ-QaFCnY6iuNbMjOpautPZjeHsA97An2D7SiOWS-3kQqZMCCw2Dp4vLtUw3OSOunv0XMB5psBeunwFpjfdsj7frs0t53_JkezFnywLCGmdfl7zn2ZDizkgektxzuWcCH5nHhYaROg4w19AFGrpplNrUJSf5YHweITwK7ZOYLMePgecOFEYuLSy6dDaLbHME6uEFcfRp4ifD8V0XuGlwrH04sR9fAOdJZi5dbV3TxVCAkwbF3oMSzFxrBCVnKxpv1fsI1NeiynfA_hEgD_hpgLSoPfWolYCbqzpbMrgHR7pVZzHPbVO1EMP8UffdUKbdlyuwtC46j4Yo118yPO57ruTWTwvko6FYdPzCyjOjXmUxeWbQI7wdGzKIbtmAx66-s1Rv7iU63yPYCWHeGeOC1E2iemA__t-WhVUDxrMYCAn6FlZvImtYWOPxQKFNSlhKoeqGXXHOGnZmIpRs8HdRAAMtggY1FetZzgn8wI6PrGwBUmqL3gNUiQEFTFmrsv9XSHy67ufLV5jTwK7jQvuD0m0KvDVwWl7zksB24mAM7gVLVeCks16ygnYKjTjPh_8XgIimKfDQQGiJbZp4ceRpIB4ErnOnfOUY7yxuG3ZpYomcAIhqXLWUNo3TgAaR7g245wLvB-ulpTqq3_Ht7dA_DfPCYoPGHjDWkGkpb8psO_ZNLSgoDAPATXd0quM5WICqes_LCmp-Xw_hWppzmEUjPyFxbIV45KtFxLkQdIte7SziNRW988-lA4FHa23QMCrHzwGL2AzYjnHZ5h4uHwps0otnYb1KoxyhWxaw-_5N7l5VUD8CUqotEVBRisOCHplq-cxJgmkAMRsFcX4FHmyhtOhg67sDk0WJSWF3ADV_DOGHiiYcU_5gixDj5sBTGvSAiMbF2ZPTDJIfUfQvELsLo3fkdn3OnMiDB3xp5QE63qswJXy8MysoHrHOyZKt8DZD3Z_JsIs8Y9j8yGuQUb13lLa6Bks75-oJAyGw7QQoSLa13IEh3bZmxNjINtiwZSPfGDMh3cEH6Y5gYaJ-I7TKmnUbTYDb6BQM70Aqwf8EA5qs8FIpiKJgxnwoxSMTtshe7CdeQp1oFkUubJZnAXUpZYPwVO7EVZ26nOnGye0ekTchOBrvON5Vl_TmHJZ-l4nD-6EDMZYc09ucDAc6pKgxQJB7FPDujAG37scutPwawE-O31HK5xx0sR5dcKqJBA_4rz663KTNv3DWArYOmR3qIBK-PC-__hEuwuXzr98X98Q2Td8MHveHLV_n31_D169P999hrUt0fUj6bdwQPCXbgEkpJ8RaH37JkmDQAjsctzi3IMYGJ_A0oWqz4x2b9-3Xx0e0Bef2EMfzyxjG4hWhHFLVOOskyasB8QsZ3V45d2jRCW8jrKVAkr4OedJswprFxh7IrlnOuD1LoD1CYdchJz1YpvwZFtwvuz8SvbJtqMkgfE3W8HqsG6_FTnbWW7yHQBmdHAJJcNwnn52KE9pQHv3Z9cw6jETmJJg6xyMakXUDd2sgeOSB3RB0_mJHmsvqREdyon19qp2n9ZFmPm6-mt2RPfF2qwNfxnNFcbA8pVUIj7JOMT8ipZ7IuOSisGXYhvhD8NsNDVmH7zKna01bVWePBazJsgw3aB36NH5IiZ-lJFjc0zozKuZcJLXOGBf1Hj7tNxR6w3Z_xHZ_RBUih6djjXsj0Uz3B8q2vXHqDB3LosNWUYyW22tYWgVSEvWQ9Qd9y4Q2J7cMNoh42tx9R6VmTVsRWXs97EwslXGjAwDvFoYSY9izArWBMCHgXBAwcBvVb6fUrbE_rCEYWTBY2B6oe3UAfhJSP1zZhIyBI1OSVaOKdeMBMvYEytIwJu6571FaQoWs6W1nVThPuuX01rqa3sHvKU4fTEEUo84LcXTmOtAezPezqD6a2YPTx2gYB2U5laCrgqLCSfcNIobnbdLloPiFLO43HMsKFOT0FkvmQ7GYHedT_QOyv8m5F93A4KgEDnGcEdQxY4TduhQ-lI8PRyQ28rk-0u45m1577MLxsHjljSfEaJ-QHx5VEPOUwx6VZ8NoUUOFiCYYYfFeUYElZk5SjpujPKdVjV5tK5tJ2n73K2uNOUhixI_IWepyREYlKaUu0EGZ0jUtdq1PQ6sqXSyNmoZfIy6jrKTex1sg1DcuhvanUfsxDgc8ehVD2f0u6RuQoHCubmOSZG9H8M85RWTbE9l-SMQ6RgQXmmVyHWbv7OrORXk9x2N9BIoX_5hGAz3mHlCxPqKylVS2p6hIg4SsKc_DgMoADLfNHqbLvS6r74LU2mvlcNZ-175-jmiIKAdU-kwpfiHFV7EHTUkJdCdb6Swnug6XOUpTBx_HKWx41cr3wZMXe0lZS3tHo0I_ruxsSuoK_euykPyeNeO42J9u_qyoDAawy-2i6NV3Mkb19YOpTndOD7b2Bp9NAB-t89_KAR8u_iSLD2Rwkt9RUfQCEVAjiZJoZfveLvs6uXGSwAnodZM1Obv5xE7_uhX5zedOQvALLnXdMtyJTW1_al6vb2Zu5E1ZkFI_9e0kjoKZw1wvMX3Xd5wg9a5zvAqtb2DBsDUr2RuRJHCbNr27zm7wy2aWbTumP7Xc2cScpolnus7Ud-2Zn8ZXrskKmuW7r-xeixsJCb_HC505pLLh-7zXtJZ31UyyA_q0bdZc3GQNhQDdrq4l7xuJ_X-XJ_RL">