<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztW1lz2zgS_jXyC0oqEhRF6cEPso7Z1HgSV6Ts7D65QBK0uaFILg8f8-u3GwAPUJItK0zi7G5KkXkA_XV_6G42AMpN_OfLBYuiML4jA2M5MObqe2KojzhNn4v7JCZR9LAbRmExSp_J8IHsEp9ncfgXH5Y5HxYZC1HOMONFmcXD4jnlQ-_piRojL00PilXf1sLnBXTOB9ZKaUEIXM3L3Y5lz3D1MSzuCXR7EyKgWIsBXTdiXjIRGsKHfP7ycWDNyYDa3j33vt56EYvvbovQB4vzwh9YS29Ar-BDDWyUn0ACtivayDHb8TxlHicgkQycK3m54Ls0YgVH07EfNiPbAV2Q-uwLGCEb50VWegUJ89scb4AQEMaK0CNeEucFf0ozwsoiIQ8sKlHkkgQsyvnAuoLGS_jT1ugI9GEwaCO02gpGTwCG3ufhgkSPpwUJogQQYBzSJIwLIVOMBbjOvKOUaIoCxE2lg7OAz9EuflK6EX9bnyiBgDnUsTEQjG17m3AvzdUW0rr8QAPFusLumC_YBWrMAZ0O6KxBVGL_tlr8PvxjtdnMf1tthDODFPsKP2Pj-sPH1dAc2Ev8WHM6wQaPDDw4vsNDcGLCSOXGRLqxcEASJBkp7sOcBGXsFSHkAxD5uvsj0L5-6w__UMqB-8PHXiFhzrJjHBmik73EBJovRdCxFHEGh8KNla3WyBwHlbv-DxN7lJPjbDeJjb2a1roxrqKhnTBOyBSHk2Ml8yqMIfEfl6xrzyQVVXOfe5GgmU6FnwFnIJf2EXTOO_UN2vaNV-l4OfJUd20IYOzAu1D4YXKtHsi1pu-UXOsAuSez8zLX4sn7cpakc_KQQACFEUdlxj0wPabvlOlxm-m3cfMyz6-kMhSY8X9jht2SAjWAszLMeH4MX5QTWD98wzDY73EUdBrEQCh2TuXj7FHYIgo9MAb1AT7Y4HFA4btblsK845yc8-OGoKPga4NAO4OwPZmO4_wfKGU_pTxjBZjWTI58HrAyKrgPEbhLWRbmYGui2h2qedX8q9bKWsiOvB7ZF2dPao4Cf6A0v00yYFRMap16ZHlc7gjM5_Kc_J1FwuyI57moC2Aw6aJquPcPdMIO0M54qdldxsEtM9GwLU93MDVbqpIVJKdaC1BLRgVeebFLo1HdR1x6rVMIkxSuplBv6Nm2rO6mLrY6NjPAaqChA37oFBmXsgZ0AkqoJz6eN2UmBga66YO0DdEehGZNLX4QhJrngoieB0CEN-IYv5JscNiDLOSx353-7jHQ9cwHMYcmJSoZJ_xJVFkiSN0kibTwbHvcFs4N3aNIW3PS7aDMfhi1WC2P9_4Wa7oXH4_Yhiqo_CB4p_M6DRARmzggmICWWq2uzwjgSpULtZSgT_9EUtjyvFhKvCpTzds0iUqgAyivul011D3FUoebhaBnBfRIrzuMC1ND4Oq1Fi3idLqO8XHc1qvzbD1mpfKAowZcvWri1Z6Jx3yjo4lo0ea7ZzUOg59TEpg_sCw7sSY47rU_ajAP1hT7gX1kkRgs3Fsnlt-LjOX3kCpxmfgFSTcbshRDtlhz1wX-Fo9J9lUkDjgWi9tplvyLewWcumUY-fg3jBHu8Aq4f7I4sY48LICUfMifYDjhWgFkNrdC_xlPcNWZQ4FkL96-vN7SDsf_dGPxFP6UBZILp2HRfMtbMPxBeCcFj8XaVpwUXDo2-jM0JsI6vLSQwDdZcpexHVnDxArF_iYElnmmaBU6D4fCqVSUmARJydHhTIIKAxVkOJRN1_MP10I8Eka2iEZkKUJaHNJ1zSFdv4VD8OOpSZIAa7dZVZSe_yHb1WYLMp3vpC5IJsjIakm-RU1p6MbLQlyBmFeDUkUdPo0ctSnCoFQNY478OPjcJnKg6fpLLtWXnkbX8zRdsoLB0XXiYRm2Vq6AjW5EJNUH1gwOZXSN-BOXTtuIapyWrjWnBd72QoquRUjR9WhUHR8Kr9amjojj7r7O6XHznaP6lM2lt2c0GaZKw9b5iQZ8Kou0LN5oyajYpbprrZ5CXPT1RQ4xtWye7HYMHlMSiIhi00_KQqxXdR2UjqEBFT5D8WjfVanWsn-PVcA_3G8Vbtd72-q8Bx9W-pxQzrxV8Z_uz41rWbjIIZw2kdIqP_1cxrFYhoAakTrttO_gMw7-KHtbJnes3je8ZXvL3BYD-tWKh4aKLhs6IW1OzqBFPZuUecMgfGqdDQUOFAnLoXj8nCC91VsWITj9kDOVltzW8V5A1HfiBO6FsbqFN-zlCGJOLqLXjPxCOVU8JZBjcg61pMsoSNl_HHZoIwEI4n7t4jfXq_lmRfLS3UFGZ8QtcXaTJhkWhOS-KNJcpkb43EGBXrojCBaVFvezY5jnJcesSzCcADUqfQ7TI048rPKJy7yvYIvH1bBtCrhA_BLisdLIGMmVj6r-ZNldueNxkeulF_mvDL0f7A2ScVMx_msFDig7M3E_VvhFmWW4MpqyDGoDcN2vPCay0MVvYSb9Vc2c4owNTRXm4QNJrhZBmJVxKGobuTDuJhAXYO-hdamaBmhgGcR4MuCfEwSOF_jGhIsXoqbnTbDblsua6sp4MukMpdaTMYQ1NdhgPOEO7xt27KNUDZa2YXkwpcye9AxrmyhUQ7U6qC6b0N5RUaiGOu6icsvtHxWEaqh2B3U8CYLeUVGohjrRUR1zZnh9oxooVEN1Wqi-MTM9Nxj37cScoVQNdtqB5TTo24kBFqVqsDMNdupS6vRv7RiltpZtLNPQYaeMz5zeYU2UqsGaHViP2rP-YVGqBkt12JnhTHrPi5CLQaoGa3Wsdcyg7wwF1qJUDXaswToGnxp237DeDKVqsHYXdmJOvwMsSNVgJxrsJLBdm_UOO0WpGqyepczJmPu9kzwJUKoGq2cpc2a6Vu8u5VCUqsHOOtbahtd73MLQgdQ2LDW6JHtG78kRSAapGqzZhTUnvVdvAAtSNVjaHdvZtO_HLY4tSNVg9TqKMd9y-7bWQpkaqFZGBdOZPWV9JwtOUaiG2kpRnucYvmNYwp_UjsyfHz4uP_25gaPNc17wHQSBvfh99fnj6tqio-X1teIQemliJ22xU2rQiW0eFvvPzXb1hxAbF34UjeC_LIOwSyNTe52oWT2DmSXPsnoiv8V5Pk74EWsH806ScQ8naR6LIgITFm1NmIiNpu-4-Lm3_ip-CYDLzBQdfUHCGF8TgTlaGXHtFZEdgzGkzVD9TFXtiVJVKFWruMBuuFzJM3ztNLsTm3AC6FaezUZZ-W6sMBxlBepUG9G0v03U7gH-VoRHAereEvdOzDAn08aMtnqvWFRkz7dyMNTQ_HRLxrYypFKttiAvXUDzeJ6PpAy1RN44WRX1y1bTzXb56csWnc7nHu4S0Sm0wTcH8eUTJ7yLk0wuDe_Z7knby1yunQSKA5amPm7xAANii8depNUWDxzKLZ7qwJphs9CF75ZOHYvpWJmsmVXbrd7wqGJmnib49lhjMu5oWcubDzcr8SuGcMflleoI37lAwXBpi79aaN4n_MGG2nR6KNYyFuac4I8HuX8jO65whMBaMF2O2YJUIpXh6lWlBupAf9zhV88DsUT__52T97lzgi8gSDTukziJh3_xLIEnRliIN0jLnEDFZ1Jqjx1n1H7i82qYq8e-3FEQr--0--_tDNe7vt_8ckZfEtZSc1wuzcX7I3pB8r1e_dgrotQrNGQb7uSG-mhm5nW-qDZsajb196Iu_EvLn1kzdsFKSArZpYinizKLLs_fvrGt8cy6uL-cBr4NE2nXmlkM5iG2z5nluKbnwFWYZtGLiLk8yi9FnNOYPxIhAhOQvbz4dg3CSyhXqWFapkEta0xHhkNn1GOUTaZuYNn2YGxwKIWiEcoZJdndRXYpRLolpKyxEYUwts1Nlufw8OFcKAwaFmER8cvWrpLYpsK4ebznMXnMQjEwDI4Sse6ufvjQfVdWLshfCO0vher_AfU_uCk>53493</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang-tidy crash, when writing a wrong std::strong_ordering struct
        </td>
    </tr>

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

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

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

<pre>
    Calling 

```
python llvm-lit.py -v modernize-use-trailing-return-type-cxx20.cpp
```

<details> 
  <summary>with `modernize-use-trailing-return-type-cxx20.cpp`</summary> 

```
// RUN: %check_clang_tidy -std=c++20 %s modernize-use-trailing-return-type %t

namespace std {
template <typename T, typename U>
struct is_same { static constexpr auto value = false; };

template <typename T>
struct is_same<T, T> { static constexpr auto value = true; };

template <typename T>
concept floating_point = std::is_same<T, float>::value || std::is_same<T, double>::value || std::is_same<T, long double>::value;
}

//
// Concepts
//

std::floating_point auto con1();
// CHECK-MESSAGES: :[[@LINE-1]]:26: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
// CHECK-FIXES: {{^}}auto con1() -> std::floating_point auto;{{$}}

std::floating_point auto con1() { return 3.14f; }
// CHECK-MESSAGES: :[[@LINE-1]]:26: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
// CHECK-FIXES: {{^}}auto con1() -> std::floating_point auto { return 3.14f; }{{$}}

namespace a {
template <typename T>
concept Concept = true;

template <typename T, typename U>
concept BinaryConcept = true;
}

a::Concept decltype(auto) con2();
// CHECK-MESSAGES: :[[@LINE-1]]:27: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
// CHECK-FIXES: {{^}}auto con2() -> a::Concept decltype(auto);{{$}}

a::BinaryConcept<int> decltype(auto) con3();
// CHECK-MESSAGES: :[[@LINE-1]]:38: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
// CHECK-FIXES: {{^}}auto con3() -> a::BinaryConcept<int> decltype(auto);{{$}}

const std::floating_point auto* volatile con4();
// CHECK-MESSAGES: :[[@LINE-1]]:42: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
// CHECK-FIXES: {{^}}auto con4() -> const std::floating_point auto* volatile;{{$}}

template <typename T>
int req1(T t) requires std::floating_point<T>;
// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
// CHECK-FIXES: {{^}}auto req1(T t) -> int requires std::floating_point<T>;{{$}}

template <typename T>
T req2(T t) requires requires { t + t; };
  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  // CHECK-FIXES: {{^}}auto req2(T t) -> T requires requires { t + t; };{{$}}

//
// Operator c++20 defaulted comparison operators
//
// Requires <compare>

namespace std {
struct strong_ordering {
  enum class Val { less = -1,
                   equal = 0,
                   greater = 1,
  };
  static auto const less = Val::less;
  static auto const equal = Val::equal;
  static auto const equivalent = Val::equal;
  static auto const greater = Val::greater;
  constexpr operator==(Val const &val) const { return this->val == val; }
  constexpr operator!=(Val const &val) const { return this->val != val; }
  /*   template <typename T>
    friend constexpr auto operator==(strong_ordering v, T u) noexcept -> bool requires {
      T{0};
    }
    {
      return v.val == u;
    }
    friend constexpr auto operator==(strong_ordering v, strong_ordering w) noexcept -> bool = default; */
  Val val{};
};

} // namespace std

struct TestDefaultOperatorA {
  int a{};
  int b{};

  friend auto operator<=>(const TestDefaultOperatorA &, const TestDefaultOperatorA &) noexcept = default;
};

struct TestDefaultOperatorB {
  int a{};
  int b{};
  friend auto operator==(const TestDefaultOperatorB &, const TestDefaultOperatorB &) noexcept -> bool = default;
  friend bool operator<(const TestDefaultOperatorB &, const TestDefaultOperatorB &) noexcept = default;
  // CHECK-MESSAGES: :[[@LINE-1]]:15: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  // CHECK-FIXES: {{^}}  friend auto operator<(const TestDefaultOperatorB &, const TestDefaultOperatorB &) noexcept -> bool = default;{{$}}
};

```

</details> 

Crashes with

```
PS D:\Febbe\workspace\llvm-project\build\bin> python llvm-lit.py -v d:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\checkers\modernize-use-trailing-return-type-cxx20.cpp
llvm-lit.py: D:\Febbe\workspace\llvm-project\llvm\utils\lit\lit\llvm\config.py:46: note: using lit tools: C:\Program Files\Git\usr\bin
-- Testing: 1 tests, 1 workers --
FAIL: Clang Tools :: clang-tidy/checkers/modernize-use-trailing-return-type-cxx20.cpp (1 of 1)
******************** TEST 'Clang Tools :: clang-tidy/checkers/modernize-use-trailing-return-type-cxx20.cpp' FAILED ********************
Script:
--
: 'RUN: at line 1';   C:/Users/Febbe/AppData/Local/Programs/Python/Python39/python.exe D:/Febbe/workspace/llvm-project/clang-tools-extra/test/../test\clang-tidy\check_clang_tidy.py -std=c++20 D:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\checkers\modernize-use-trailing-return-type-cxx20.cpp modernize-use-trailing-return-type D:\Febbe\workspace\llvm-project\build\tools\clang\tools\extra\test\clang-tidy\checkers\Output\modernize-use-trailing-return-type-cxx20.cpp.tmp
--
Exit Code: 1

Command Output (stdout):
--
$ ":" "RUN: at line 1"
$ "C:/Users/Febbe/AppData/Local/Programs/Python/Python39/python.exe" "D:/Febbe/workspace/llvm-project/clang-tools-extra/test/../test\clang-tidy\check_clang_tidy.py" "-std=c++20" "D:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\checkers\modernize-use-trailing-return-type-cxx20.cpp" "modernize-use-trailing-return-type" "D:\Febbe\workspace\llvm-project\build\tools\clang\tools\extra\test\clang-tidy\checkers\Output\modernize-use-trailing-return-type-cxx20.cpp.tmp"
# command output:
Running ['clang-tidy', 'D:\\Febbe\\workspace\\llvm-project\\build\\tools\\clang\\tools\\extra\\test\\clang-tidy\\checkers\\Output\\modernize-use-trailing-return-type-cxx20.cpp.tmp.cpp', '-fix', '--checks=-*,modernize-use-trailing-return-type', '-config={}', '--', '-std=c++20', '-nostdinc++']...
clang-tidy D:\Febbe\workspace\llvm-project\build\tools\clang\tools\extra\test\clang-tidy\checkers\Output\modernize-use-trailing-return-type-cxx20.cpp.tmp.cpp -fix --checks=-*,modernize-use-trailing-return-type -config={} -- -std=c++20 -nostdinc++ failed:
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: clang-tidy D:\\Febbe\\workspace\\llvm-project\\build\\tools\\clang\\tools\\extra\\test\\clang-tidy\\checkers\\Output\\modernize-use-trailing-return-type-cxx20.cpp.tmp.cpp -fix --checks=-*,modernize-use-trailing-return-type -config={} -- -std=c++20 -nostdinc++
1.      D:\Febbe\workspace\llvm-project\build\tools\clang\tools\extra\test\clang-tidy\checkers\Output\modernize-use-trailing-return-type-cxx20.cpp.tmp.cpp:91:2: current parser token ';'
2.      D:\Febbe\workspace\llvm-project\build\tools\clang\tools\extra\test\clang-tidy\checkers\Output\modernize-use-trailing-return-type-cxx20.cpp.tmp.cpp:86:1: parsing struct/union/class body 'TestDefaultOperatorA'
 #0 0x00007ff7cfd06e20 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1296e20)
 #1 0x00007ff7cff46e7e (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x14d6e7e)
 #2 0x00007ff7cef82a56 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x512a56)
 #3 0x00007ff7cef8ba62 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x51ba62)
 #4 0x00007ff7cef8be3b (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x51be3b)
 #5 0x00007ff7cef846ff (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x5146ff)
 #6 0x00007ff7cef7190c (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x50190c)
 #7 0x00007ff7d091cbf4 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1eacbf4)
 #8 0x00007ff7d091e2f6 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1eae2f6)
 #9 0x00007ff7d08b2274 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1e42274)
#10 0x00007ff7d088ae97 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1e1ae97)
#11 0x00007ff7d088c259 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1e1c259)
#12 0x00007ff7d089076e (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1e2076e)
#13 0x00007ff7d08871f2 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1e171f2)
#14 0x00007ff7d070e805 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1c9e805)
#15 0x00007ff7d070e618 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1c9e618)
#16 0x00007ff7d06f5b5a (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1c85b5a)
#17 0x00007ff7d0164ed5 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x16f4ed5)
#18 0x00007ff7d0191b32 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x1721b32)
#19 0x00007ff7d01650c9 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x16f50c9)
#20 0x00007ff7d0164c04 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x16f4c04)
#21 0x00007ff7d0164160 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x16f4160)
#22 0x00007ff7d019198c (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x172198c)
#23 0x00007ff7ceaad3b0 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0x3d3b0)
#24 0x00007ff7cf8958a8 (D:\Febbe\workspace\llvm-project\build\bin\clang-tidy.exe+0xe258a8)
#25 0x00007ffcc70d7034 (C:\WINDOWS\System32\KERNEL32.DLL+0x17034)
#26 0x00007ffcc8202651 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x52651)


# command stderr:
Traceback (most recent call last):
  File "D:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\check_clang_tidy.py", line 260, in <module>
    main()
  File "D:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\check_clang_tidy.py", line 256, in main
    CheckRunner(args, extra_args).run()
  File "D:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\check_clang_tidy.py", line 207, in run
    clang_tidy_output = self.run_clang_tidy()
  File "D:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\check_clang_tidy.py", line 168, in run_clang_tidy
    clang_tidy_output = try_run(args)
  File "D:\Febbe\workspace\llvm-project\clang-tools-extra\test\clang-tidy\check_clang_tidy.py", line 45, in try_run
    subprocess.check_output(args, stderr=subprocess.STDOUT).decode(errors='ignore')
  File "c:\users\febbe\appdata\local\programs\python\python39\lib\subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "c:\users\febbe\appdata\local\programs\python\python39\lib\subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['clang-tidy', 'D:\\Febbe\\workspace\\llvm-project\\build\\tools\\clang\\tools\\extra\\test\\clang-tidy\\checkers\\Output\\modernize-use-trailing-return-type-cxx20.cpp.tmp.cpp', '-fix', '--checks=-*,modernize-use-trailing-return-type', '-config={}', '--', '-std=c++20', '-nostdinc++']' returned non-zero exit status 3221225477.

error: command failed with exit status: 1

--

********************
********************
Failed Tests (1):
  Clang Tools :: clang-tidy/checkers/modernize-use-trailing-return-type-cxx20.cpp


Testing Time: 1.91s
  Failed: 1
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztW1lz2zgS_jXyC0oqEiRF8sEPso7Z1HgSV6zs7D65QBK0uaFILQ8f8-u3GwBFgpJs2WESZ3dTisQD6K_7Q6PROBzk0dP5nKVpkt2SkbEYGTP1PTXUR9xun6q7PCNper8Zp0k12T6R8T3Z5BEvsuQvPq5LPq4KlqCcccGrusjG1dOWj8PHR2pMwu32oFj1bc0jXkHlcmQtlRaEwNOy3mxY8QRPH5LqjkC1VyECijUf0VUr5jkToSB8yOcvH0fWjIyoE97x8OtNmLLs9qZKIrC4rKKRtQhH9AI-1MBC5QkkYLmqi5yxDS-3LOQEJJKReyEfV3yzTVnF0XSsh8XIekTnZHf3BYyQhcuqqMOKJOVNiS9ACAhjVRKSMM_Kij9uC8LqKif3LK1R5ILELC35yLqAwgv46Wp0BPowGJQRWq0FoycAQ-234YLEkG8rEqc5IEA7bPMkq4RM0RbgOrOeUqIoChAvlQ7uHD5Hq0R5HaT8dXXSHDrMoYqtgWBs19uEe2muNpfWlQcKKNYVds98wS5QY46oN6J-i6jE_m05_338x_L6evbb8lo4M0hxLvBjG5cfPi7H5shZ4Mea0SkWeGDgwdktXoITE0YaNybSjYUDkjgvSHWXlCSus7BKIB6AyJfdH4H29Vt9-IdSDtwfPs4SCXMXPePIGJ3sOSbQfCmC2lLEGzgUbqxstSamHTfu-j9M7FFOjrPdBjb2Yljr93HVG7oB44RIcTg4NjIvkgwC_3HJuvZMUtEUj3iYCpqpJ_wMOAO5dIhO575T36Bd33iRjud7nqquNQG0HXgXCj9MrjUAuZb3Tsm1DpB7MjvPcy1G3uejJJ2R-xw6UJJyVMYegGmbvlOm7S7Tr-PmeZ5fCGUosOD_xgi7JhVqAHd1UvDyGL5IJzB_-IZmcN5jK-g0iIZQ7JzKx5tbYY0o9EAb7C5wYIPhgMJ3Py2FecdbYs6Pa4Kegi81Au01wvpkOo7zfyCV_bTlBavAtHZyFPGY1WnFI-iBmy0rkhJszVW5Qzmvmn_ttLLmsiLfteyzsyc1R4EfSM1v8gIYFZNad9eyPKs3BOZzZUn-zlJhdsrLUuQF0Jh03hTc-wc6YQUoZzxX7Lbg4JaFKNiVpzuYmi01wQqC004LUEv2CnzybJVWo10d8eilSglMUriaQr2iZteyXTX1sFOxnQE2DQ0V8EM9ZFzKGtEpKKFGfLxv00zsGOim99I2RLsXmrW5-EEQar4VRNQ8ACK8Edv4hWCDzR4XCc-i_vR3j4G-Z96LOTSpUcks548iyxKdNMjzVOueXY9bw72hexTpak76FZTZ95MOq_Xx2t9iTf_hwxHbUAUVHwTvdLYLA0T0TWwQDEALLVfXZwTwpImFWkjQp38iKKx5WS0kXhOpZl2aRCbQA5RPg74a6p1iqcfNXNCzBHqk1x3GhakhcPVSiQ5xOl3H-Dhu68XbbD1mpfKAowZcvGjixZ6Jx3yjp4ko0eV7YDUOg78lJTB_YFp2Yk5w3Gt_VGMezCn2O_aRRWKwcG-dWH7PC1beQajEZeJnJF1dk4VosvmKBwHwN3_Ii68icMC1WNzeFvm_eFjBbVAnaYS_SYZwh1fAo5PFiXXkcQWklGP-CM0Jzyogs32VRE94g6vOHBIkZ_765fWOdtj-pxuLt_BTV0gu3CZV-y1fQfPHya0UbIu1rSyvuHRs9GcoTIR1-Gguga-K_LZgG7KCiRWK_U0IrMtC0Sp0Ho-FU6leYhIkpUSHMwkqDFSQ8VgWXc0-XArxSBhZIxqRqQjpcEhXOw7p6jUcgh97JsljzN38Jil9-4esl9drkOl-J3VBMkFGlgvyLWpKQ6_DIsEViFnTKE2vw9HIVZsiDFLVJOPIj4vjNpENTVdfSqm-9DS6mm23C1YxuLrMQ0zDVsoVsNCV6Em7C8uHS9m7JvyRS6dtRbVOS1ea0wJve12KrkSXoqvJpLk-1L06mzqiH_f3dU7vN9-5V5-yufT6iCa7qdKwc3-iAZ_qaltXr7RkUm22umstHxNc9I1EDDG1aJ5vNgyGKQlERLIZ5XUl1qv6DkptKECFz1C82ndVqpUc3mMV8A_3W4Xb996uOu_Bh5U-J6Qzr1X8p_tz61oWLnIIp82ltMZPP9dZJpYhIEekbjfsuzjGwY-yt2Nyz-p9wzu2d8ztMKA_bXhoqeizoRPS5eQNtKixSZk3jpPHzt1Y4ECSsBiL4ecE6Z3aMgnB6YecqXTkdq73OsTuTZbDuyRTr_CFs5hAn5OL6DtGfqGYKkYJ5Ji8hVrSZxSk7A-HPdpIDIJ4tHPxq8vl7HpJyjrYQERnJKhxdrPNC0wIyV1VbUsZGuFzCwl6HUygs6iwuB8dk7KsOUZdgt0JUNM64jA94iTELJ8ELPwKtoRcNdt1BQ9IVEN_bDQyJnLlo8k_WXFbb3hWlXrqRf4ru94P9gbJuKkY_7U6Dijrm7gfK_yiLgpcGd2yAnIDcN2vPCMy0cVvYSb9Vc30cMaGpgrzcECSq0XQzeosEbmNXBgPcugXYO-hdakdDVDAMojxaMA_N47dMI6MKRcHory3TbC7lsuc6sJ4NKmPUneTMYQ1NdjYnnKXDw1rRyhVg6VdWB57lDnTgWEdE4VqqFYPNWBTOjgqCtVQ7T4qt4LhUUGohur0UO1pHA-OikI11KmO6pq-EQ6NaqBQDdXtoEaGb4ZBbA_txJyhVA3W68FyGg_txACLUjVYX4P1Akrd4a21UWpn2cYyDR3WY9x3B4c1UaoGa_ZgQ-r4w8OiVA2W6rC-4U4Hj4sQi0GqBmv1rHXNeOgIBdaiVA3W1mBdg3uGMzRs6KNUDdbpw05N7zvAglQNdqrBTmMncNjgsB5K1WD1KGVObR4NTvI0RqkarB6lTN8MrMFdyqUoVYP1e9Y6Rjh4v4WmA6ldWGr0SQ6NwYMjkAxSNVizD2tOB8_eABakarC037a-N_Rwi20LUjVYPY9iLLKCoa21UKYGqqVRsec7Hhs6WHCKQjXUTogKQ9eIXMMS_qR2ZP788HHx6c9ruLp-Kiu-gU7gzH9ffv64vLToZHF5qTiEWprYaVesRw06dczDYv95vV7-IcRmVZSmE_gv0yCs0srUjhO1q2cws-RFsZvIr3GejxN-xNrAvJMUPMRJWsjSlMCERVsTJmKj6Tsufu6tv4q_BMBlZoqOPidJhsdEYI5Wp1w7IrJh0Ia0baqfqaozVaoKpXYqzrEaLlfyAo-dFrdiE04A3cg7f1LU78YKw1VWoE47I9ryN7naPcC_FeFpjLp3xL0TM8yp15rRVe8Fi6ri6UY2hmqan26J7ShDGtV2FpR1AGghL8uJlKGWyFsna3r9olP0er349GWNThfxEHeJqAdl8OQgHj5xk9ssL-TS8J7tobS9LuXaSaw4YNtthFs8wIDY4nHm22aLBy7lFk9zYflYLAngu6NTz2JqK5M1s3Z2qxMeTZ-ZbXM8PdaajDta1uLqw9VS_BVDsuHySXOFZy5QMDxa418ttOcJf7ChDvUO9bWCJSUn-MeDPLqSFZfYQmAtmC7bbE4akcpwdVSphTpQH3f41Xggluj_v3PyPndO8ACCROMRyfJs_BcvchgxkkqcIK1LAhmfSalju-6kO-LzppmbYV_uKIjjO936ezvDu13fbz6cMZSEldQcl0tLcX5ET0i-19GPvSRKHaEh62QjN9Qnvlnu4kWzYbNjUz8XdRadW5Fv-eysSqqUn3e2SMSeCzrBwx3PyEORCBQGV7lYRFan-PsHP-Xq8lldpOdv3wByLNu3zu7OvcgyIeWkNDbs2HGYYbtW4BtG5HueyXz_LGUBT8tzESloxh-IEIEhzFmcJedY1zAt06CWZdOJ4VKfhoyyqRfEluOMbINDKpROUI9JXtyeFedCpaCGkGUbaQJt275kZQmDD-cCDuSzGuJocS5C0JkAPheK_wezY6Ih">