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

    <tr>
        <th>Summary</th>
        <td>
            clang does not want to compile my custom IR generation of oberon modules
        </td>
    </tr>

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

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

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

<pre>
    hello there :wave: :yum: 

i've followed your [contributing guidelines](https://github.com/llvm/llvm-project/blob/1a4f1449ac523b53f7a5a8c1eee8004915ef97c5/CONTRIBUTING.md) to the ["Crashing bugs" section](https://llvm.org/docs/HowToSubmitABug.html#crashing-bugs), however i cannot go further in the bug report flow, i get an error which is not mentionned in the section :open_mouth: 

i've tried to be as concise, given the sizes of the files i manipulate, with simple examples, but also as complete as possible...
i hope this is not too large nor to small :relieved: 
please fell free to ask anything :wink:  

## a tiny bit of context
i am writing a compiler for the [Oberon language](https://en.wikipedia.org/wiki/Oberon_(programming_language)) :+1: 
this is a work in progres, but it is already able to take some `oberon` input, translate it to llvm **IR** and finally use `clang` to optimize the **IR** and generate some machine code binary for the host target :ok_hand: 

## my issue
i have the following `oberon` source file
```pas
; foo.obn
MODULE foo;
    CONST constchr = 40X;
 constint = 7;
        constreal = 3.14;
        constset = {1, 2, 3, 4};

    VAR ch: CHAR;
        k: INTEGER;
        x: REAL;
        s: SET;

BEGIN
    ch := "0";
    k := 10;
 x := 1.1;
    s := {0, 4, 8};

    ch := constchr;
    k := constint;
    x := constreal;
    s := constset
END foo.
```

the compiler turns it into the two following **IR** files, thanks to a new `-g` option i'm currently working on!
i.e. the command is here `./oberon -g compile foo.obn`
```llvm
; foo.main.ll
target triple = "x86_64-unknown-linux-gnu"

declare i32 @foo.__main()

define i32 @main() {
  call i32 @foo.__main()
 ret i32 0
}
```
and
```llvm
; foo.ll
target triple = "x86_64-unknown-linux-gnu"

!0 = !DIFile(
  filename: "foo.obn",
  directory: "/home/amtoine/.local/share/ghq/github.com/oberonforall/compiler",
 checksumkind: CSK_MD5,
  checksum: "18ecb8af0a1110c6369dba907ca04849"
)

!2 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!3 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!4 = !DIBasicType(name: "long", size: 64, encoding: DW_ATE_float)
!5 = !DIBasicType(name: "double", size: 64, encoding: DW_ATE_signed)

!6 = distinct !DIGlobalVariable(name: "ch", scope: !1, file: !0, line: 9, type: !2, isLocal: false, isDefinition: true)
!7 = distinct !DIGlobalVariableExpression(var: !6, expr: !DIExpression())
@foo.ch = dso_local global i8 0, align 1, !dbg !7

!8 = distinct !DIGlobalVariable(name: "k", scope: !1, file: !0, line: 10, type: !5, isLocal: false, isDefinition: true)
!9 = distinct !DIGlobalVariableExpression(var: !8, expr: !DIExpression())
@foo.k = dso_local global i32 0, align 4, !dbg !9

!10 = distinct !DIGlobalVariable(name: "x", scope: !1, file: !0, line: 11, type: !4, isLocal: false, isDefinition: true)
!11 = distinct !DIGlobalVariableExpression(var: !10, expr: !DIExpression())
@foo.x = dso_local global double 0.000000e+00, align 4, !dbg !11

!12 = distinct !DIGlobalVariable(name: "s", scope: !1, file: !0, line: 12, type: !5, isLocal: false, isDefinition: true)
!13 = distinct !DIGlobalVariableExpression(var: !12, expr: !DIExpression())
@foo.s = dso_local global i32 0, align 4, !dbg !13

!14 = !{!7, !9, !11, !13}

!1 = distinct !DICompileUnit(
  language: DW_LANG_C99,
 file: !0,
  producer: "clang version 15.0.5",
  isOptimized: false,
  runtimeVersion: 0,
  emissionKind: FullDebug,
  globals: !14,
  splitDebugInlining: false,
  nameTableKind: None
)
;!15 = !DISubroutineType()

!16 = distinct !DISubprogram(
  name: "main",
  scope: !0,
  file: !0,
  line: 14,
  scopeLine: 14,
  flags: DIFlagPrototyped,
  spFlags: DISPFlagDefinition,
 unit: !1,
  retainedNodes: !{}
)

define dso_local i32 @foo.__main() !dbg !16 {
  store i8 48, i8* @foo.ch, align 1, !dbg !DILocation(line: 15, column: 15, scope: !16)

  store i32 10, i32* @foo.k, align 4, !dbg !DILocation(line: 16, column: 13, scope: !16)

 store double 0x3FF199999999999A, double* @foo.x, align 4, !dbg !DILocation(line: 17, column: 14, scope: !16)

  store i32 273, i32* @foo.s, align 4, !dbg !DILocation(line: 18, column: 20, scope: !16)

 store i8 64, i8* @foo.ch, align 1, !dbg !DILocation(line: 20, column: 20, scope: !16)

  store i32 7, i32* @foo.k, align 4, !dbg !DILocation(line: 21, column: 19, scope: !16)

  store double 0x40091EB851EB851F, double* @foo.x, align 4, !dbg !DILocation(line: 22, column: 20, scope: !16)

  store i32 30, i32* @foo.s, align 4, !dbg !DILocation(line: 24, column: 3, scope: !16)

  ret i32 0, !dbg !DILocation(line: 24, column: 9, scope: !16)
}

!llvm.dbg.cu = !{!1}

!17 = !{i32 2, !"Debug Info Version", i32 3}
!llvm.module.flags = !{!17}
```
### NOTE: all of the above is generated dynamically by the compiler :warning: 

finally, the error i get is the following
```bash
> clang-15 foo.main.ll foo.ll -o foo.elf | clip
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/amtoine/.local/share/clang-15/bin/clang-15 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name foo.ll -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/home/amtoine/.local/share/ghq/github.com/oberonforall/compiler -resource-dir /home/amtoine/.local/share/clang-15/lib/clang/15.0.5 -fdebug-compilation-dir=/home/amtoine/.local/share/ghq/github.com/oberonforall/compiler -ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/foo-591eef.o -x ir foo.ll
1.      Code generation
2.      Running pass 'Function Pass Manager' on module 'foo.ll'.
3.      Running pass 'X86 Assembly Printer' on function '@foo.__main'
 #0 0x000055a5c341e2d3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x5a942d3)
 #1 0x000055a5c341c23e llvm::sys::RunSignalHandlers() (/home/amtoine/.local/share/clang-15/bin/clang-15+0x5a9223e)
 #2 0x000055a5c341e66f SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f5934a51a00 (/usr/lib/libc.so.6+0x38a00)
 #4 0x000055a5c415aa5c llvm::DwarfCompileUnit::constructSubprogramScopeDIE(llvm::DISubprogram const*, llvm::LexicalScope*) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x67d0a5c)
 #5 0x000055a5c4142ce5 llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x67b8ce5)
 #6 0x000055a5c412b2f1 llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x67a12f1)
 #7 0x000055a5c4119c08 llvm::AsmPrinter::emitFunctionBody() (/home/amtoine/.local/share/clang-15/bin/clang-15+0x678fc08)
 #8 0x000055a5c2398920 llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) X86AsmPrinter.cpp:0:0
 #9 0x000055a5c29cc1cc llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x50421cc)
#10 0x000055a5c2d9443b llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x540a43b)
#11 0x000055a5c2d9b663 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x5411663)
#12 0x000055a5c2d94ffa llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x540affa)
#13 0x000055a5c3b08f83 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>>) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x617ef83)
#14 0x000055a5c3ecaffe clang::CodeGenAction::ExecuteAction() (/home/amtoine/.local/share/clang-15/bin/clang-15+0x6540ffe)
#15 0x000055a5c3e0ee29 clang::FrontendAction::Execute() (/home/amtoine/.local/share/clang-15/bin/clang-15+0x6484e29)
#16 0x000055a5c3d862f6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x63fc2f6)
#17 0x000055a5c3ec6a9a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x653ca9a)
#18 0x000055a5c16922d2 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x3d082d2)
#19 0x000055a5c169064a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#20 0x000055a5c1690451 clang_main(int, char**) (/home/amtoine/.local/share/clang-15/bin/clang-15+0x3d06451)
#21 0x00007f5934a3c290 (/usr/lib/libc.so.6+0x23290)
#22 0x00007f5934a3c34a __libc_start_main (/usr/lib/libc.so.6+0x2334a)
#23 0x000055a5c168cdba _start (/home/amtoine/.local/share/clang-15/bin/clang-15+0x3d02dba)
clang-15: error: unable to execute command: Segmentation fault (core dumped)
clang-15: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 15.0.5
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/amtoine/.local/share/clang-15/bin
clang-15: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.
```

## additional context
### compiling without debugging information
a simpler `./oberon compile foo.obn` gives me
```llvm
; foo.main.ll
target triple = "x86_64-unknown-linux-gnu"

declare i32 @foo.__main()

define i32 @main() {
  call i32 @foo.__main()
  ret i32 0
}
```
and 
```llvm
target triple = "x86_64-unknown-linux-gnu"

@foo.ch = dso_local global i8 0, align 1
@foo.k = dso_local global i32 0, align 4
@foo.x = dso_local global double 0.000000e+00, align 4
@foo.s = dso_local global i32 0, align 4

define dso_local i32 @foo.__main() {
  store i8 48, i8* @foo.ch, align 1

  store i32 10, i32* @foo.k, align 4

  store double 0x3FF199999999999A, double* @foo.x, align 4

  store i32 273, i32* @foo.s, align 4

  store i8 64, i8* @foo.ch, align 1

  store i32 7, i32* @foo.k, align 4

  store double 0x40091EB851EB851F, double* @foo.x, align 4

  store i32 30, i32* @foo.s, align 4

  ret i32 0
}
```
and
```bash
> clang-15 foo.main.ll foo.ll -o foo.elf
> ./foo.elf
```
works just fine :yum: 

### `clang` installation
i've installed the latest available precompiled binary from [here](https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.5), inside my `~/.local/share/` directory
and the version is
```bash
> clang-15 --version
clang version 15.0.5
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/amtoine/.local/share/clang-15/bin
``` :ok_hand: 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcW0tz4ziS_jWsC4IKEiQl6uCDbFnVjqlXlN09fVOAYJJCGwQ0AGhLc9jfvgGAlEiVXGW7tbOxW9Njm3gkvkzki0iQaM1qAXAVZNdBtvxAWrOR6oo0RjIBHwpZ7q82wLlEZgMKUJAsnskTBMnC_rlvG_dXtAyihf_JAjx7AlRJzuUzlGgvW4WC7JpKYRQrWsNEjeqWlcCZAB1kywDnG2O2OkgWAV4FeFUzs2mLCZVNgFecP_W_wq2SfwE1AV4VXBYBXsUkreI0nROa4aTIkmpGMpLTGADyKErncQbVfEazAK9uvn55-H53_fvD3ZePk6YM8BwZx5QFF2B8o4jeWGxFW-sAY6SBGibFOYAWzESqOsCrUlId4NVv8vlB3rdFw8ziuq0nG9PwACe0Ixp6ovMA36CNfIYnUIghSoSQBtUSVa2y4kVMOERFWyMFW6kMqrh8trMYqsEgIhAoJRV63jC6QUwjS6ABYZEKKHsCHXa7RXILYt3I1mxe2CmjGJRWFgUgohGVgjINds2aPUFHj_0bNJKVe6gYB40Yaohg25YT4wY_M7NBmjVbDgh2xP7Wtr1oDSJcS0_bNhu3zlZqzQoOk8mkg4M2cgvIbJjuGTNSIk5UDUhIZSHqhnBuuVLAGTxBeeRpy4FoQBVwjioFYIcT_YiI2Bu3r1ZzmXi0M0ZiCHAS4AQRZJjYo4IZy6fVVtiZHhlp0LNiTnWJ44JxUKiyoLwCfS1ASYE4EXVLajinNCAmz-yRbaFkpFMe-xzglZ-8DnC-VbJWpGmYqNcHWlZt5sjRuY6PDPeCIuhZqke78272UerMuG6ugJR7RAruZGLIIyAtG0DBNJJu5WAaISa2rbEzjSJC2021841EVtdRgBcBXtx9978RESWqmCCc71GrHSVq4VpCRiK5Naxh_wYvnB-n1iBA2RUcjIbQDROAqCwBFUwQtT9IdiO1QcZqgHG6_LjeEFGeKnK3g80eMa1bOKgTefIQvC9yOjBkWctWUa_OHZ1p5P_bEt21JNeoknIiC-EbPn9d_v7p1rYFybVvQgihm69f7h-s0mhDNwoFyRKl0Z_HIa6HCeN6ZqOp9p_rVkC4608mcXp-iAZPIZhdx3avsP2R2B9pMFse5hxn_rH4jqgz_JvfFt9_IOqM4e7Lw-3H2x87d7bz--3i0w89VqfR_e3DyYLXtx_vvhxH0o3TWQsX4yjAeETnse-Mo2P77tA4iUej9YHU7Dry_OIblJ9n-rhwvyHnV-43ZdS7G_XaPTkPpN8P33X7Zen05ESPhsisIh48h2mV0M5ARReEzLMc6unYaJzHdca5IeJRO9eGBDxbfQ6d1VmTkwJZl94g2ioFwvC98wyWnhQBjju7mMAEdWAaa41MIx_Zp9EkwCtvHyise7QHAzjw07PnQvPIThrCxITzjmNvt0YxGxM6Rdjl0_U0DVvxKOSzCDkT7S6sRWv1YyCtEignChBLMArSyNJery31AOfWIY6GVtZ9dCOPY6yu9BtHbdj4KS2kwLgRPZOz5dnNtO7nV1K4hAACHEfdlHh5t7I-Cuc9O1YfBGl8FoZxv0HY-oN-TMkUUCPVvhsU4NVGNhDgVZfbBXg14ZISHuCV3hBlG-rNv07zL68PlVSE25G9Co8Woxugj7ptHpl3zjf3_1h_XmYDNP2IDkycAy1yUkUkjuOITpPpvCzIPJpREqV5Oj8KY7zXAY7xUSrXRDP6sN9a0QzEQTekg-fyFtua2wcQVJZM1LZh-c_14uF27XLfcu1nzA9rJL9cw7qN8RIJ_ukaQ_LpL8lzKeoT-tP0BfoVl8QMyWe_JF_KtrAK9boFThno15m6dUpmnSg1fsGPXBaE_0EUI26F8b70K1K57RpjF8dcCPbPzrvbNwP77PJlsz8MdrOZ_uS0NlmginCfqTK9tF6AuYQ9WSCjWhiKZPZLqLe7rQKt7XycPxHVrTh1Mtlt--fl3Wigz826ZbxrcdFniUot1866UO3WQSxHjjfCWS2QYzvAcVlYZx_PTkSbv1G0j2-VrH8aiDZ7r2jn7xVt_mbRPr4gWee1D6JNx6I91drOrb5etrs3yzY-kW36XtnG8XuF6xG9Sbq789L1vgJFk8j9gwBfRy9LO45PxY3fKG79ZnHjS6ly5_ffI278ZnHr9yhznJyK9xBLbLZjHYkfP-9-x72jiZNjRnOYfIbdGx_ffxfMDBKOw7uojwqfFl8-rm_m82OAP9mcft5WybKloPoIYOmgJ1BWLCjOJtEkG2ctTH_tXh7L4db13aoVhjXwh6dgRwxXg4Y5gf-jS0NWLedLKNp6MMaLWff7lg669JYz48bfCc5EFwRPIVhVfbCq0K_yRQo4TVYSuxfDQHzfFkq2hgnoovGP4fRsPL1vi-5MYLAbA2vxaexQgkO7GQrnhR06WFF6SuPTuZ6Kk9oJb3m34qT-pqSR1vTKkRxXx1H33-zDwO4O41qrYkf7PmwxGMIElF9kCf02Wd0-aO_Z7P9oRy9k-UMjmg5fDbSR9j0jR6kLSCy3L1yHWP5ixF7eWf_iOcoPQnSuh0reNuL4PPJk0xP8BwAJ7oIys5nkAcLji77gPILpCYLk1wg8gN7P75LVKp4f_y0sgT5hPMDavRHW7ARW-ibB4Fnyo2T0GyHkYwg4eq1kWN7lxn9LN_x6b1t_IILZ31YNHJ_swfzVAA66kUbRPL69zjP_Y3UJ3fDh_t2CSc4YzRtVA6djBK-wmcFxwdvp_1TwP0RpV2woi3pC23Gsj89E9NlgiLOcDl6AsYts6E5UEvXx04veSXHgX_2KjSxbDhPn8E_Wnb10OOIPYgOcoC9fH24tc4TzvmxACvkEiOnD8W-Jyr0gDaPuHLnYo9ERmSs0qT4KD_nsTp79eRh0BRFfH2F6fOB7grIgetNH6FvkspEwzoYnV935DQql-wt4hYLZDaKcbf3Eb59uF_e3SLtSDyLDUo2R6M11LHdgrQO8cgfjTFDelv7Q2pWOUEHoo1GEuvx1q2CrJAWtoexOr52iixIRrSVlTqiqFUhTxbamO468N4Q-orJtthaZa4omQTT_5hMLRFTdNiBMF21fcUzUSy7Aq8IG2EMDCimNUdideL101IVCaJgJZfEXChsFnOxCqydh_6CAd0akUVgybbOt0NV0QsqBqJBoExZQSQWhFRCI8jjOCfgJFKsYKNdMiSrDJ8JbCG3mpFFoNzu0CZFrOOx5c1w4bGQJHG0ZReGW0ZDDE3CE_QPT4ZYBCptKkQbCrWTC2Bx36bioGmI2ISglJAqrahu6yiehJkiWUqCwEjJUshUlE3Vox6Kw8YfNLTVShYQzoi3KqhXPTJShsXzpIFliFPojxZBuWyvdcJqi0LQCXIOzKwu4cTWb0CggJtSUcC9AtoMydNYSEh12xoXC0vqFGpQl5KxtWZcFCisqn0CRGkJvkl4sJbN8XvgsEYUKvDpb-m9WQc6KviHAK_9WgcLK8fWfAF95mXJmPUI8R2FVi5aGT_1LyjKd4EnsJMqlCktGaiG1YdTuMSlLpVmNwuV6_fHmZv3b4o_b9fKfi-8rvL5Z3a0X95-DZBlbhxTglWm2AV5VUobZPAaoJhKFO8TU6Ng5tsZ9I0voPa1F4Xqw7fneCrfxW6I1CvBs1QpfLP5mGz4TQWpQAZ4hKZAPAnZUtwCedU4lOUfqz3yKFlpDU_A9-qa8WXhKVb9KgGcn6Xl3-IUCnEQo2kVRFGUZyWiSxoDLxFUgXdVloffa_-FoO7_24J1jfhykyPNautJNE2CXDrvDWvsGkP897xbg62iXkXmKy-RYOAhwEp_ApjiBc7C_t-Ke1YLw34goOSh9eDe5EDKMExghw6cCnU4rNMIQ4LyTj2_WE7q1gSJy_z8QSjpCsyqbJynJYhJFHe5Wq4MVclbQiZaTqUOU5CSKRnjSIZ40zgjJ6EBSy2eiquERhGs9eMfj2_C9zZ6Wd7ejnR--LvsCnauf3QwW-AQ7m2-46a7zUsKfzsqIZHTEbDZmNsUUslNm_fmEewZR9rZ412z5iLXPvkh-sNUjd5djoMgpZCMGpmMGcIGreMiAxd6p0TXR8AMb_3EWSIyreMTCbMxCPKdRPmBhoZveT3nwDTM9wmtZ7i9qoNNZXtEoH-HLh_hwMs_nOBrg-zOfnkJUrfgqToT5M0E7JzhHI0rnbXw-wjKnNKZD4zyha8PFANFZKCcYLuTnohTHlA5ObpN4FDhwOU_TpBhAX32zaPvY9r8COo1ImhQj0PEJ6GI6TV4B-rMLyuMt75ouCjiOp9NkBBifSrmqyAAwh5rQfRehj9CdM-vh_8_DjkhVkRHsZBQEiyiv8sS__XkYtw0z1_494mtr3D2ofNC9PCZst6J2qPwp23HIb0BKUPdAFN183fo3l86_nQ61idlHEL8Y9eDy_F8M-kREfW7IUcD3RjFRf4dq3NzLfXFCsBPColP_G6RN6Xtawf7VwnprVJDcjHOt7bNiBtZ9xjWYVEJFWm7WJXAw8IuJya3973K-Np5BlY_Vd5R8JEBJVcGZrenY96qxA9oa6CVyyWCQpVFVwQhgNgYYAeD5EOBKSWGOGzREeFlsaZ7CsGSFk3iUCyRlPsXVdCw8_z50J7QhgsJ5-b3MzCWdwDSpKK6mI_yzk82fkjkZOQGP9MjG0_Eg72dsXjSByRJK5mPnNUoQ4ukc4xIjSuO-tjHIZZQie2vryQ3dEHVMsKxd3aBxG75BT5KVF4WflFGOSzyCPz-BH01TgnpZ38QPUo4T3fuGcP6Hu7nk48YZXpymlIo9nUtk7EtPdLpomsV-r3upuVceLxN_x-6iUpimWTyUAo7Hb08JxfNfvz3hBM-jERl8SiZJCVqv7bS1NkQZx94rCCfpSMlwMhZYTsuCIE_yclLBZXFc9dCZLPwJrv2jFf0tZfAa0l9SdBdOoW5AGGeTyAUWC426-kTbbAc3lM7S9rXnqnM6h9uPFWEcSlS2blntXoEt3VYDCp9cGwBiA28wXOS0lu16fOy2a75418-P2yggJXInjXb0Vmq2813Ou3AO5ZKp957K_iAKIY0rOBwPoFCj3en6rTtC70-LRH3-pDnX1khCJOSg322Yuzyuf3b7tb9kX5auCkz4-Ib9sXDgj9UshmdmNrI1yJ9P2hYmKqmawXkW6T44UCeXV3-8ueq-ZdCoOb3p_f_qCusb7rCiF-Xwty6tvu0K3Hvudl3ixtJ7ruG868rBe24ZvPduwM_Ktm8v6b-7EH9u4ivq5--sel-2Vv3eCvMLheFf2eAFipPH8RNfFxg0jtd7lupRo79abZDT3vMf7x398PCTHuaj0cDxdp-OsT5MuYolJwa0QeSJMFdxslGi88Tl4cMeJRsUZNcbUGc_knpFyVSB-9JLB3hlSN31S2WF5e-Tzf2Zv2YloGZvOfmvc-HScna8JH9wjJaTPqoz_bo9Cg_Fnv9DqcGBqZMvqz6UV0k5T-bkA1zF01mUZ0kSxx82V2Q-y9J4liUpKVMS4SmOyIxGSVaVs1mM0w_sCkcYx_Z_SZbF8QTjaTJLcJkXVRJHgIM0goYwPuk_oPzg6t9X2TydxR84KYDrK_85poDn7msujINs-UFdOTVw31GmEWfa6CMVwwyHKy_2UoL_ePCZCFeT75OBZo9oq41s0N33QWUMyQp1aYOvdukPreJX76_kO2b-OwAA__9g9Hqy">