Joseph Huber
a1da746157
[AMDGPU] Place global constructors in .init_array and .fini_array
...
For the GPU, we emit external kernels that call the initializers and
constructors, however if we had a persistent kernel like in the `_start`
kernel for the `libc` project, we could initialize the standard way of
calling constructors. This patch adds new global variables containing
pointers to the constructors to be called. If these are placed in the
`.init_array` and `.fini_array` sections, then the backend will handle
them specially. The linker will then provide the `__init_array_` and
`__fini_array_` sections to traverse them. An implementation would look
like this.
```
extern uintptr_t __init_array_start[];
extern uintptr_t __init_array_end[];
extern uintptr_t __fini_array_start[];
extern uintptr_t __fini_array_end[];
using InitCallback = void(int, char **, char **);
using FiniCallback = void(void);
extern "C" [[gnu::visibility("protected"), clang::amdgpu_kernel]] void
_start(int argc, char **argv, char **envp) {
uint64_t init_array_size = __init_array_end - __init_array_start;
for (uint64_t i = 0; i < init_array_size; ++i)
reinterpret_cast<InitCallback *>(__init_array_start[i])(argc, argv, env);
uint64_t fini_array_size = __fini_array_end - __fini_array_start;
for (uint64_t i = 0; i < fini_array_size; ++i)
reinterpret_cast<FiniCallback *>(__fini_array_start[i])();
}
```
Reviewed By: yaxunl
Differential Revision: https://reviews.llvm.org/D149340
2023-04-29 08:40:19 -05:00
..
2023-04-19 16:15:14 +01:00
2023-02-02 18:57:26 -08:00
2023-01-09 15:10:06 -08:00
2023-01-19 14:31:07 -08:00
2023-04-10 11:34:14 +05:30
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 19:04:58 -05:00
2023-01-12 15:02:16 -05:00
2022-11-29 19:04:58 -05:00
2022-11-29 19:04:58 -05:00
2023-02-02 18:57:26 -08:00
2021-02-17 16:01:32 -08:00
2023-04-14 15:41:26 +02:00
2023-01-09 15:10:06 -08:00
2022-11-29 18:36:53 -05:00
2023-04-17 09:01:22 +02:00
2022-11-28 14:21:31 -05:00
2023-04-17 16:23:30 +01:00
2023-01-15 12:37:14 -05:00
2022-11-29 18:08:53 -05:00
2023-04-27 14:41:10 +01:00
2023-04-14 15:41:26 +02:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-10 11:34:14 +05:30
2022-11-16 14:47:24 -08:00
2019-02-28 00:40:32 +00:00
2022-11-29 18:10:38 -05:00
2022-12-19 09:28:58 -05:00
2022-12-01 21:40:30 -05:00
2022-09-28 20:03:18 +09:00
2021-07-15 10:26:21 -07:00
2022-12-09 01:04:46 +03:00
2023-02-02 18:57:26 -08:00
2023-01-23 21:43:06 +01:00
2023-03-17 20:26:23 -07:00
2022-12-19 12:41:13 +01:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2021-01-05 14:10:03 -08:00
2022-07-25 10:52:46 +01:00
2021-01-05 14:10:03 -08:00
2022-12-19 09:28:58 -05:00
2022-11-29 18:36:53 -05:00
2022-11-29 18:36:53 -05:00
2022-11-29 18:36:53 -05:00
2023-01-12 15:02:16 -05:00
2023-01-12 15:02:16 -05:00
2023-04-19 16:15:14 +01:00
2022-12-19 09:28:58 -05:00
2022-11-29 19:04:58 -05:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2021-10-06 10:34:26 +09:00
2022-11-29 12:33:44 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-07-08 09:13:59 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-02-06 15:32:44 +08:00
2023-02-08 13:22:04 -08:00
2023-02-02 18:57:26 -08:00
2023-01-12 08:32:02 -05:00
2023-02-02 18:57:26 -08:00
2022-12-19 09:28:58 -05:00
2022-12-19 12:41:13 +01:00
2022-12-01 21:40:30 -05:00
2022-12-14 13:12:35 -05:00
2023-01-11 17:47:56 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-13 10:34:26 -05:00
2023-01-23 21:43:06 +01:00
2022-11-29 18:36:53 -05:00
2022-11-29 18:36:53 -05:00
2023-02-10 08:37:42 +01:00
2023-04-19 16:15:14 +01:00
2022-11-29 18:36:53 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 18:36:53 -05:00
2023-04-27 09:40:06 +01:00
2023-01-17 17:12:08 -07:00
2023-01-23 21:43:06 +01:00
2023-03-01 17:03:34 +08:00
2022-11-29 18:36:53 -05:00
2022-11-29 22:15:11 +01:00
2023-01-13 20:30:30 -05:00
2022-12-19 12:41:13 +01:00
2023-04-27 09:39:44 +02:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-06-27 12:15:29 +01:00
2022-12-01 21:40:30 -05:00
2016-04-06 19:40:20 +00:00
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2023-02-09 18:45:20 +03:00
2022-11-29 18:10:38 -05:00
2022-11-29 18:10:38 -05:00
2021-01-05 14:16:52 -08:00
2023-02-02 18:57:26 -08:00
2021-11-20 10:32:41 +05:30
2022-11-29 18:10:38 -05:00
2022-11-29 18:10:38 -05:00
2022-12-21 16:17:42 +05:30
2023-02-02 18:57:26 -08:00
2022-11-29 18:10:38 -05:00
2023-04-10 11:34:14 +05:30
2022-12-19 12:41:13 +01:00
2022-12-05 12:53:50 -06:00
2017-03-21 21:39:51 +00:00
2023-01-04 10:45:03 -07:00
2022-12-19 12:41:13 +01:00
2023-03-09 10:52:44 +01:00
2022-11-29 18:08:53 -05:00
2023-01-05 13:21:20 +01:00
2023-02-23 13:33:34 +01:00
2021-06-30 16:54:13 -04:00
2020-07-14 09:05:53 +01:00
2023-04-18 08:47:29 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 19:04:58 -05:00
2022-11-14 15:36:18 +00:00
2023-03-28 09:38:47 +02:00
2022-01-06 00:27:11 -05:00
2023-03-07 17:10:34 +01:00
2023-04-19 11:15:14 +08:00
2019-05-01 05:27:20 +00:00
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2022-08-10 14:15:46 -06:00
2019-12-17 16:48:02 +00:00
2023-01-05 13:21:20 +01:00
2023-04-19 07:00:57 +00:00
2023-04-10 11:34:14 +05:30
2023-01-04 10:45:03 -07:00
2022-12-19 12:41:13 +01:00
2023-01-15 12:37:14 -05:00
2023-01-15 12:37:14 -05:00
2022-11-14 15:36:18 +00:00
2023-03-28 09:38:47 +02:00
2023-04-28 14:50:48 +01:00
2022-12-19 09:28:58 -05:00
2022-12-21 16:17:42 +05:30
2022-11-29 18:36:53 -05:00
2022-11-29 18:36:53 -05:00
2023-03-12 21:59:18 -04:00
2022-12-01 21:40:30 -05:00
2023-02-10 08:34:23 +01:00
2022-11-29 18:36:53 -05:00
2022-11-28 14:21:31 -05:00
2023-01-06 09:46:02 +01:00
2023-01-23 21:43:06 +01:00
2021-05-06 04:53:45 +05:30
2022-12-19 12:41:13 +01:00
2023-01-23 21:43:06 +01:00
2022-07-27 22:34:37 -07:00
2023-03-28 09:38:47 +02:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-01-12 15:02:16 -05:00
2023-02-10 11:16:38 -08:00
2023-02-10 11:16:38 -08:00
2022-12-19 12:41:13 +01:00
2023-03-15 09:39:55 +01:00
2023-02-06 15:53:13 +00:00
2022-12-19 12:41:13 +01:00
2023-02-06 15:53:13 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-02-06 15:53:13 +00:00
2022-12-19 12:41:13 +01:00
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2023-04-10 11:34:14 +05:30
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-01-12 15:02:16 -05:00
2022-12-21 16:17:42 +05:30
2022-12-01 21:40:30 -05:00
2023-03-28 09:38:47 +02:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2022-07-08 09:13:59 +01:00
2023-02-10 11:16:38 -08:00
2020-03-16 07:42:04 -07:00
2019-05-01 05:27:20 +00:00
2022-07-21 14:16:37 +02:00
2017-08-07 18:30:35 +00:00
2023-02-02 18:57:26 -08:00
2022-12-19 12:41:13 +01:00
2023-04-26 17:25:30 -04:00
2023-01-23 21:43:06 +01:00
2022-12-19 12:41:13 +01:00
2023-01-18 03:50:17 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2021-11-24 11:15:30 +00:00
2023-04-14 15:41:26 +02:00
2019-10-19 01:34:59 +00:00
2023-04-18 08:47:29 +01:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2023-04-19 16:15:14 +01:00
2023-04-19 16:15:14 +01:00
2022-06-27 12:15:29 +01:00
2022-11-29 18:08:53 -05:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 18:08:53 -05:00
2023-03-06 05:54:25 -04:00
2023-01-28 07:57:28 -04:00
2023-01-28 07:57:28 -04:00
2023-03-06 05:54:25 -04:00
2023-02-16 17:11:32 +00:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-12-19 12:41:13 +01:00
2022-11-28 11:25:44 -05:00
2022-11-28 11:25:44 -05:00
2022-05-18 11:04:33 +01:00
2022-11-29 18:08:53 -05:00
2022-12-21 16:17:42 +05:30
2023-02-27 09:48:57 +01:00
2023-01-27 22:17:16 -04:00
2023-02-05 05:25:15 -04:00
2023-02-02 18:57:26 -08:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2023-03-09 10:53:41 +01:00
2022-12-21 16:17:42 +05:30
2023-02-02 18:57:26 -08:00
2023-03-09 10:53:41 +01:00
2023-04-19 16:15:14 +01:00
2023-02-22 14:26:03 +00:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2016-07-15 21:27:08 +00:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2016-07-15 21:27:08 +00:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-28 11:25:44 -05:00
2022-12-19 12:41:13 +01:00
2023-02-19 20:13:38 -04:00
2016-07-15 21:27:08 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 18:08:53 -05:00
2022-12-30 16:42:15 +03:00
2022-11-29 18:08:53 -05:00
2023-03-05 19:54:13 -04:00
2023-02-16 17:11:32 +00:00
2023-04-19 16:15:14 +01:00
2023-02-21 00:13:04 +05:30
2023-04-12 06:48:58 -04:00
2023-04-20 10:15:18 -04:00
2023-03-14 14:41:11 +00:00
2023-03-28 09:33:12 +02:00
2023-01-05 13:21:20 +01:00
2022-11-14 15:36:18 +00:00
2019-09-30 15:31:17 +00:00
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2023-01-24 14:24:41 +05:30
2022-12-01 21:40:30 -05:00
2023-02-08 13:22:04 -08:00
2022-11-29 19:04:58 -05:00
2023-01-05 13:21:20 +01:00
2023-02-08 13:22:04 -08:00
2022-11-29 18:24:30 -05:00
2023-04-19 16:15:14 +01:00
2023-03-16 18:07:26 +01:00
2023-03-16 18:07:26 +01:00
2023-03-16 18:07:26 +01:00
2023-03-16 18:07:26 +01:00
2023-04-16 19:54:55 +01:00
2022-11-29 19:04:58 -05:00
2022-11-29 19:04:58 -05:00
2022-07-08 09:13:59 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2023-02-09 18:45:20 +03:00
2022-12-21 16:17:42 +05:30
2022-12-19 12:41:13 +01:00
2022-11-29 18:36:53 -05:00
2022-12-29 13:58:46 -08:00
2022-12-22 13:01:41 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-12-19 12:41:13 +01:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2023-02-02 18:57:26 -08:00
2022-12-21 16:17:42 +05:30
2023-03-09 10:52:44 +01:00
2023-04-19 16:15:14 +01:00
2023-03-09 10:52:44 +01:00
2023-02-27 09:48:57 +01:00
2023-01-27 22:17:16 -04:00
2023-04-20 00:27:47 -04:00
2023-03-03 13:18:25 -08:00
2022-12-19 12:41:13 +01:00
2023-03-31 06:00:54 +09:00
2022-09-12 09:03:55 -04:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-01-23 21:43:06 +01:00
2022-11-14 15:36:18 +00:00
2023-04-19 16:15:14 +01:00
2023-04-19 16:15:14 +01:00
2022-09-07 16:30:36 -07:00
2022-05-04 14:45:16 -07:00
2023-04-04 20:06:34 +01:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2022-12-01 21:40:30 -05:00
2023-02-02 18:57:26 -08:00
2022-12-01 21:40:30 -05:00
2022-12-19 09:28:58 -05:00
2023-02-02 18:57:26 -08:00
2023-04-20 06:58:24 -04:00
2023-04-20 06:58:24 -04:00
2023-02-02 18:57:26 -08:00
2023-04-20 06:58:24 -04:00
2023-04-20 06:58:24 -04:00
2023-02-02 18:57:26 -08:00
2023-04-20 06:58:24 -04:00
2023-04-20 06:58:24 -04:00
2023-04-20 06:58:24 -04:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-01-10 14:17:09 +00:00
2021-11-20 10:32:41 +05:30
2023-04-18 08:47:29 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-03-08 14:09:59 -08:00
2022-12-19 12:41:13 +01:00
2023-04-19 16:15:14 +01:00
2022-04-12 19:16:56 -04:00
2023-03-03 11:46:01 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-02-18 16:10:56 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-02-02 18:57:26 -08:00
2023-04-18 08:47:29 +01:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2022-12-19 12:41:13 +01:00
2023-02-02 18:57:26 -08:00
2022-12-19 09:28:58 -05:00
2023-02-02 18:57:26 -08:00
2017-03-21 21:39:51 +00:00
2023-03-01 17:03:34 +08:00
2023-04-27 10:45:11 -07:00
2023-04-18 08:47:29 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 18:10:38 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2018-06-08 16:29:04 +00:00
2022-12-19 12:41:13 +01:00
2022-06-30 23:08:40 +02:00
2022-12-19 12:41:13 +01:00
2016-07-15 21:27:08 +00:00
2022-12-19 12:41:13 +01:00
2023-01-23 21:43:06 +01:00
2023-04-14 15:41:26 +02:00
2023-01-23 21:43:06 +01:00
2023-03-03 21:08:26 +00:00
2022-06-29 21:30:20 +01:00
2022-05-11 10:31:49 -04:00
2022-12-19 12:41:13 +01:00
2023-01-05 13:21:20 +01:00
2022-11-14 15:36:18 +00:00
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2023-01-05 13:21:20 +01:00
2023-03-31 06:00:54 +09:00
2022-12-01 21:40:30 -05:00
2022-04-12 19:02:48 -04:00
2022-12-19 12:41:13 +01:00
2023-02-02 18:57:26 -08:00
2022-12-01 21:32:20 -05:00
2023-01-13 20:30:30 -05:00
2023-02-02 18:57:26 -08:00
2022-12-21 16:17:42 +05:30
2023-01-04 10:45:03 -07:00
2022-12-01 21:40:30 -05:00
2023-02-02 18:57:26 -08:00
2023-04-18 08:47:29 +01:00
2022-12-01 21:40:30 -05:00
2023-02-02 18:57:26 -08:00
2023-04-26 17:09:12 +01:00
2023-01-05 13:21:20 +01:00
2023-04-04 20:06:34 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-02-02 18:57:26 -08:00
2022-12-19 12:41:13 +01:00
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-04-27 19:36:50 +05:30
2023-01-13 20:30:30 -05:00
2023-04-27 19:36:50 +05:30
2023-01-23 21:43:06 +01:00
2022-12-19 12:41:13 +01:00
2018-01-31 22:04:26 +00:00
2023-03-21 11:04:22 -07:00
2022-11-28 14:21:31 -05:00
2020-07-17 11:02:13 +01:00
2020-09-23 17:16:39 +02:00
2022-02-18 16:10:56 +00:00
2020-09-23 17:16:39 +02:00
2022-11-28 14:21:31 -05:00
2022-07-30 11:38:39 +09:00
2021-01-06 11:37:00 -05:00
2019-03-19 16:07:00 +00:00
2022-11-28 14:21:31 -05:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-04-11 11:11:32 +02:00
2023-04-11 11:11:32 +02:00
2023-04-19 16:15:14 +01:00
2023-04-19 16:15:14 +01:00
2023-04-19 16:15:14 +01:00
2023-04-16 19:54:55 +01:00
2022-11-28 14:21:31 -05:00
2023-02-23 13:33:34 +01:00
2023-02-23 13:33:34 +01:00
2022-06-16 18:23:14 +01:00
2022-10-03 12:58:29 -07:00
2023-02-23 13:33:34 +01:00
2023-04-19 07:00:57 +00:00
2023-02-23 13:33:34 +01:00
2023-02-23 13:33:34 +01:00
2022-11-28 14:21:31 -05:00
2022-11-28 14:21:31 -05:00
2023-02-02 18:57:26 -08:00
2022-11-28 14:21:31 -05:00
2023-03-30 13:48:43 +01:00
2023-04-06 07:46:50 +02:00
2023-04-06 07:46:50 +02:00
2022-12-29 18:46:41 -05:00
2022-12-29 18:46:41 -05:00
2023-02-02 18:57:26 -08:00
2022-07-08 11:56:49 +01:00
2022-12-22 15:49:26 +00:00
2023-02-02 18:57:26 -08:00
2020-09-15 15:26:42 -07:00
2021-01-06 09:34:11 -08:00
2022-02-18 16:10:56 +00:00
2021-01-06 09:34:11 -08:00
2022-11-28 14:21:31 -05:00
2023-02-23 14:39:12 +01:00
2022-07-30 11:38:39 +09:00
2018-08-21 11:07:10 +00:00
2019-10-02 17:22:36 +00:00
2023-02-23 08:21:12 +01:00
2023-02-23 14:39:12 +01:00
2023-02-23 08:21:12 +01:00
2023-02-23 14:39:12 +01:00
2023-03-06 18:19:50 +00:00
2023-04-10 11:34:14 +05:30
2023-01-19 10:52:31 -08:00
2021-02-23 15:39:19 +00:00
2020-09-15 15:26:42 -07:00
2021-01-06 09:34:11 -08:00
2022-02-18 16:10:56 +00:00
2023-02-23 14:39:12 +01:00
2023-02-23 08:21:12 +01:00
2022-11-28 14:21:31 -05:00
2022-11-28 14:21:31 -05:00
2022-07-30 11:38:39 +09:00
2020-03-11 08:20:32 +09:00
2019-08-05 14:57:59 +00:00
2023-02-23 08:21:12 +01:00
2023-02-23 14:39:12 +01:00
2023-02-23 08:21:12 +01:00
2023-02-23 14:39:12 +01:00
2021-01-06 11:37:00 -05:00
2021-12-01 22:31:28 -08:00
2023-04-19 16:15:14 +01:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2022-11-29 18:09:59 -05:00
2023-04-26 09:03:07 +01:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2023-04-19 07:00:57 +00:00
2022-12-19 12:41:13 +01:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2016-07-15 21:27:08 +00:00
2022-11-28 11:25:44 -05:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2023-03-06 05:54:25 -04:00
2022-11-29 18:09:59 -05:00
2022-11-29 18:09:59 -05:00
2023-03-03 11:46:01 +00:00
2023-03-12 21:59:18 -04:00
2022-12-19 09:28:58 -05:00
2022-12-19 09:28:58 -05:00
2023-03-12 21:59:18 -04:00
2022-12-19 09:28:58 -05:00
2023-01-11 09:59:35 +08:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-11-15 23:28:55 -08:00
2022-12-05 11:57:13 -05:00
2022-12-19 12:41:13 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2023-01-27 22:17:16 -04:00
2023-01-27 22:17:16 -04:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2021-05-11 14:07:23 +02:00
2022-07-08 11:06:02 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-14 15:41:26 +02:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-08 07:05:35 -04:00
2023-04-08 07:05:35 -04:00
2023-04-29 08:40:19 -05:00
2022-12-19 12:41:13 +01:00
2023-04-29 08:40:19 -05:00
2023-04-29 08:40:19 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 09:42:42 -05:00
2023-03-12 13:47:48 +00:00
2022-12-19 12:41:13 +01:00
2023-01-25 14:33:20 -04:00
2023-03-12 13:47:48 +00:00
2023-03-12 13:47:48 +00:00
2023-03-12 13:47:48 +00:00
2023-03-12 13:47:48 +00:00
2022-12-07 22:02:54 +00:00
2023-01-25 14:33:20 -04:00
2023-04-04 20:06:34 +01:00
2023-04-04 20:06:34 +01:00
2023-01-03 09:31:07 -05:00
2023-03-12 13:47:48 +00:00
2023-03-12 13:47:48 +00:00
2023-03-12 13:47:48 +00:00
2023-01-25 14:33:20 -04:00
2022-12-19 12:41:13 +01:00
2022-06-27 12:15:29 +01:00
2023-04-13 16:56:22 +01:00
2023-01-23 21:43:06 +01:00
2023-01-23 21:43:06 +01:00
2023-03-07 11:14:31 +01:00
2023-04-19 07:00:57 +00:00
2023-04-19 07:00:57 +00:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-09 01:09:00 +03:00
2023-04-18 08:47:29 +01:00
2023-03-09 10:52:44 +01:00
2023-01-23 21:43:06 +01:00
2023-01-05 13:21:20 +01:00
2023-03-08 01:24:20 -08:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-03-09 10:53:41 +01:00
2023-03-09 10:53:41 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-04-25 15:40:13 +01:00
2023-04-10 18:47:52 +05:30
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2023-04-18 08:47:29 +01:00
2023-04-14 15:41:26 +02:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2020-03-19 15:35:16 -04:00
2022-12-01 21:40:30 -05:00
2022-11-17 09:42:28 +00:00
2021-01-06 10:32:44 -08:00
2022-12-19 12:41:13 +01:00
2023-04-10 11:34:14 +05:30
2023-04-10 11:34:14 +05:30
2023-01-23 21:43:06 +01:00
2023-04-10 11:34:14 +05:30
2022-12-19 12:41:13 +01:00
2022-12-21 16:17:42 +05:30
2022-12-17 11:52:36 +05:30
2022-12-19 12:41:13 +01:00
2020-06-14 13:24:50 -04:00
2023-02-02 18:57:26 -08:00
2022-12-01 21:40:30 -05:00
2022-12-21 16:17:42 +05:30
2023-04-19 16:15:14 +01:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2022-11-29 18:36:53 -05:00
2022-12-01 21:40:30 -05:00
2023-03-17 20:26:23 -07:00
2023-02-23 09:46:54 +01:00
2023-02-23 09:46:54 +01:00
2022-12-07 13:30:33 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-03-27 09:43:36 +02:00
2023-01-13 14:11:37 -05:00
2023-01-28 21:49:10 -04:00
2021-03-24 14:14:13 +03:00
2023-04-10 11:34:14 +05:30
2022-12-01 21:40:30 -05:00
2022-06-07 10:00:25 -04:00
2023-02-05 12:21:28 -08:00
2022-06-21 15:37:12 -04:00
2023-01-05 13:21:20 +01:00
2023-01-04 10:45:03 -07:00
2022-07-08 09:13:59 +01:00
2022-11-29 18:36:53 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-18 13:41:38 +01:00
2020-05-21 22:13:19 +01:00
2022-11-28 11:25:44 -05:00
2023-04-27 10:45:11 -07:00
2022-12-21 16:17:42 +05:30
2022-12-19 12:41:13 +01:00
2023-04-14 10:24:43 +02:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2022-12-22 09:49:03 +05:30
2023-02-22 11:41:52 -05:00
2023-02-22 11:41:52 -05:00
2019-09-17 09:08:58 +00:00
2023-01-05 13:21:20 +01:00
2022-05-19 11:20:08 +01:00
2022-11-14 15:36:18 +00:00
2023-01-23 21:43:06 +01:00
2016-07-15 21:27:08 +00:00
2022-12-01 21:40:30 -05:00
2023-04-06 11:50:27 -04:00
2023-01-13 12:32:04 -05:00
2023-01-28 21:49:10 -04:00
2022-12-01 21:32:20 -05:00
2023-02-02 18:57:26 -08:00
2023-01-24 17:55:11 -04:00
2022-12-19 09:28:58 -05:00
2023-01-11 09:59:35 +08:00
2022-11-28 10:36:38 -05:00
2022-12-19 12:41:13 +01:00
2023-03-28 15:01:55 +02:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-01-03 11:29:18 -05:00
2023-04-18 08:47:29 +01:00
2023-04-18 08:47:29 +01:00
2023-03-12 13:25:23 +00:00
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2022-07-08 09:13:59 +01:00
2022-12-09 01:04:46 +03:00
2022-07-08 09:13:59 +01:00
2023-01-12 15:02:16 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-11-28 11:25:44 -05:00
2022-11-28 11:25:44 -05:00
2016-07-15 21:27:08 +00:00
2022-11-28 11:25:44 -05:00
2018-05-31 04:08:08 +00:00
2022-11-29 18:08:53 -05:00
2022-12-01 21:40:30 -05:00
2015-06-13 03:28:10 +00:00
2023-02-02 18:57:26 -08:00
2022-12-01 21:40:30 -05:00
2019-03-12 09:52:58 +00:00
2022-12-01 21:40:30 -05:00
2020-04-06 09:26:29 -04:00
2023-04-18 08:47:29 +01:00
2022-04-12 19:02:48 -04:00
2023-04-05 18:25:51 -04:00
2022-12-19 12:41:13 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2023-04-11 09:26:20 +02:00
2023-04-18 08:47:29 +01:00
2022-12-09 01:04:46 +03:00
2023-03-17 20:26:23 -07:00
2023-04-18 13:53:01 +02:00
2023-02-02 18:57:26 -08:00
2022-12-19 12:41:13 +01:00
2023-04-27 14:41:10 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-19 07:00:57 +00:00
2022-11-29 18:08:53 -05:00
2022-06-20 14:25:10 +01:00
2022-12-01 21:40:30 -05:00
2022-12-01 21:40:30 -05:00
2023-03-07 11:14:31 +01:00
2023-01-19 14:31:07 -08:00
2022-11-28 11:25:44 -05:00
2023-01-05 13:21:20 +01:00
2023-01-25 10:05:50 -08:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-23 21:43:06 +01:00
2023-01-23 10:42:26 -08:00
2023-01-23 21:43:06 +01:00
2017-02-21 23:46:04 +00:00
2022-12-19 12:41:13 +01:00
2017-02-21 23:46:04 +00:00
2022-12-19 12:41:13 +01:00
2023-04-27 16:45:45 -07:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2023-02-14 12:16:46 -08:00
2023-01-23 21:43:06 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-03-09 15:18:02 +01:00
2022-12-19 12:41:13 +01:00
2022-11-18 15:57:34 +01:00
2023-04-10 11:34:14 +05:30
2023-04-10 11:34:14 +05:30
2022-12-19 12:41:13 +01:00
2023-04-10 11:34:14 +05:30
2020-08-13 11:34:28 -07:00
2022-12-19 12:41:13 +01:00
2023-02-19 20:13:38 -04:00
2023-02-19 20:13:38 -04:00
2023-02-19 20:13:38 -04:00
2023-02-19 22:05:54 -04:00
2023-01-22 10:01:25 -04:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-01-15 12:37:14 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-09-08 15:21:30 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-11-29 19:04:58 -05:00
2022-12-19 12:41:13 +01:00
2017-02-22 00:02:21 +00:00
2017-02-22 00:02:21 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2021-07-19 21:08:26 -04:00
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2023-01-19 14:31:07 -08:00
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2023-01-05 13:21:20 +01:00
2023-04-19 16:15:14 +01:00
2023-04-10 11:34:14 +05:30
2023-01-23 21:43:06 +01:00
2022-12-19 12:41:13 +01:00
2023-01-27 22:17:16 -04:00
2023-04-10 11:34:14 +05:30
2023-04-07 09:10:43 +08:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-18 08:47:29 +01:00
2021-11-20 10:32:41 +05:30
2023-03-25 14:04:36 -06:00
2018-04-24 21:37:57 +00:00
2023-04-27 09:39:44 +02:00
2022-12-21 16:17:42 +05:30
2023-04-26 14:10:25 +01:00
2022-12-01 21:40:30 -05:00
2022-12-21 16:17:42 +05:30
2023-01-12 15:02:16 -05:00
2022-12-09 01:04:46 +03:00
2022-12-01 21:40:30 -05:00
2023-04-18 08:47:29 +01:00
2021-05-11 14:07:23 +02:00
2022-03-08 10:11:57 +05:30
2023-03-07 11:14:31 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 12:41:13 +01:00
2021-06-30 16:54:13 -04:00
2023-04-17 16:23:30 +01:00
2023-02-06 15:53:13 +00:00
2023-04-17 09:01:22 +02:00
2022-12-19 12:41:13 +01:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2023-04-19 16:15:14 +01:00
2022-12-19 12:41:13 +01:00
2021-03-19 16:48:32 +00:00
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2023-01-19 14:31:07 -08:00
2023-02-09 18:45:20 +03:00
2022-12-21 16:17:42 +05:30
2022-12-21 16:17:42 +05:30
2023-01-19 14:31:07 -08:00
2023-03-31 06:00:54 +09:00
2023-01-19 10:51:40 -08:00
2022-12-21 16:17:42 +05:30
2022-12-19 12:41:13 +01:00
2023-01-18 03:50:17 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-03-31 06:00:54 +09:00
2023-04-17 16:23:30 +01:00
2023-03-26 09:34:29 -04:00
2023-04-10 11:34:14 +05:30
2022-12-01 21:40:30 -05:00
2023-04-10 11:34:14 +05:30
2023-01-10 14:07:09 +00:00
2023-04-10 11:34:14 +05:30
2023-03-07 11:14:31 +01:00
2022-12-01 21:40:30 -05:00
2023-02-02 18:57:26 -08:00
2022-12-17 11:52:36 +05:30
2022-12-01 21:32:20 -05:00
2023-02-06 15:32:44 +08:00
2022-12-19 09:42:42 -05:00
2022-12-19 12:41:13 +01:00
2023-04-19 07:00:57 +00:00
2023-04-19 07:00:57 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-04-11 17:55:49 +05:30
2021-03-03 12:02:04 -05:00
2023-03-28 09:38:47 +02:00
2023-04-04 17:17:57 +01:00
2021-07-21 14:44:13 -07:00
2022-07-08 09:13:59 +01:00
2022-12-01 21:40:30 -05:00
2022-06-27 12:15:29 +01:00
2023-01-24 14:24:41 +05:30
2023-03-26 09:34:29 -04:00
2023-04-18 08:47:29 +01:00
2022-12-19 12:41:13 +01:00
2023-04-27 10:45:11 -07:00
2022-12-19 12:41:13 +01:00
2023-02-10 11:16:38 -08:00
2023-03-17 20:26:23 -07:00
2023-03-17 20:26:23 -07:00
2023-03-17 20:26:23 -07:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2023-02-02 18:57:26 -08:00
2021-12-04 10:49:18 -05:00
2023-03-17 20:26:23 -07:00
2023-02-02 18:57:26 -08:00
2023-04-26 14:10:25 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 09:28:58 -05:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2023-03-28 09:38:47 +02:00
2022-12-01 21:40:30 -05:00
2021-09-24 11:44:49 +01:00
2023-02-24 02:03:56 -05:00
2023-04-10 11:34:14 +05:30
2023-04-10 11:34:14 +05:30
2023-04-10 11:34:14 +05:30
2023-03-07 11:14:31 +01:00
2022-12-19 12:41:13 +01:00
2022-11-30 11:32:34 +01:00
2023-02-14 08:52:28 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 09:28:58 -05:00
2022-12-19 12:41:13 +01:00
2023-03-01 17:03:34 +08:00
2023-04-18 08:47:29 +01:00
2022-12-19 12:41:13 +01:00
2023-01-12 15:02:16 -05:00
2023-01-12 15:02:16 -05:00
2023-01-12 15:02:16 -05:00
2023-01-12 15:02:16 -05:00
2023-01-12 15:02:16 -05:00
2023-01-12 15:02:16 -05:00
2023-01-12 15:02:16 -05:00
2022-12-09 01:04:46 +03:00
2022-12-01 21:40:30 -05:00
2022-12-19 12:41:13 +01:00
2022-12-01 21:40:30 -05:00
2023-01-23 21:43:06 +01:00
2023-04-19 09:59:46 +01:00
2023-02-02 18:57:26 -08:00
2023-04-19 09:59:46 +01:00
2022-12-01 21:40:30 -05:00
2021-07-14 14:54:37 +08:00
2023-04-10 11:34:14 +05:30
2022-12-19 12:41:13 +01:00
2023-02-24 02:03:56 -05:00
2023-04-18 08:47:29 +01:00
2022-11-29 18:08:53 -05:00
2022-11-29 18:08:53 -05:00
2023-01-15 12:37:14 -05:00
2023-02-16 17:11:32 +00:00
2023-04-19 07:00:57 +00:00
2023-04-26 09:50:44 -04:00
2023-02-06 15:53:13 +00:00
2023-01-15 12:37:14 -05:00
2022-12-19 09:28:58 -05:00
2022-12-01 21:17:18 +03:00
2022-12-01 21:17:18 +03:00
2023-04-13 08:48:34 +02:00
2022-12-08 12:47:24 +01:00
2022-12-19 12:41:13 +01:00
2023-03-31 06:00:54 +09:00
2022-12-19 09:28:58 -05:00
2022-12-19 12:41:13 +01:00
2023-03-10 14:47:49 +01:00
2022-12-21 16:17:42 +05:30
2023-01-04 10:45:03 -07:00
2023-04-10 11:34:14 +05:30
2023-02-02 18:57:26 -08:00
2023-04-08 07:09:44 -04:00
2023-01-19 14:31:07 -08:00
2023-01-19 14:31:07 -08:00
2022-12-21 16:17:42 +05:30
2022-07-19 09:35:05 -04:00
2022-12-12 17:01:04 +00:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-01 21:01:58 -05:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2021-05-05 17:21:33 -07:00
2022-12-01 21:01:58 -05:00
2021-03-15 13:00:59 -07:00
2022-12-01 21:01:58 -05:00
2022-11-14 15:36:18 +00:00
2023-01-11 17:47:56 +00:00
2022-07-06 10:49:07 +01:00
2022-11-14 15:36:18 +00:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-04-14 15:41:26 +02:00
2020-10-26 10:16:17 +01:00
2022-09-26 09:54:47 +08:00
2022-12-19 12:41:13 +01:00
2023-02-13 22:11:35 +05:30
2023-04-19 16:15:14 +01:00
2023-04-10 11:34:14 +05:30
2022-07-08 09:13:59 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00
2022-12-19 12:41:13 +01:00