Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
a9951b1b
Commit
a9951b1b
authored
Oct 06, 2015
by
antirez
Browse files
Jemalloc updated to 4.0.3.
parent
e3ded027
Changes
136
Show whitespace changes
Inline
Side-by-side
deps/jemalloc/test/src/SFMT.c
View file @
a9951b1b
...
@@ -511,7 +511,7 @@ uint64_t gen_rand64(sfmt_t *ctx) {
...
@@ -511,7 +511,7 @@ uint64_t gen_rand64(sfmt_t *ctx) {
uint64_t
gen_rand64_range
(
sfmt_t
*
ctx
,
uint64_t
limit
)
{
uint64_t
gen_rand64_range
(
sfmt_t
*
ctx
,
uint64_t
limit
)
{
uint64_t
ret
,
above
;
uint64_t
ret
,
above
;
above
=
0xffffffffffffffff
LLU
-
(
0xffffffffffffffff
LLU
%
limit
);
above
=
KQU
(
0xffffffffffffffff
)
-
(
KQU
(
0xffffffffffffffff
)
%
limit
);
while
(
1
)
{
while
(
1
)
{
ret
=
gen_rand64
(
ctx
);
ret
=
gen_rand64
(
ctx
);
if
(
ret
<
above
)
{
if
(
ret
<
above
)
{
...
...
deps/jemalloc/test/src/btalloc.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
void
*
btalloc
(
size_t
size
,
unsigned
bits
)
{
return
(
btalloc_0
(
size
,
bits
));
}
deps/jemalloc/test/src/btalloc_0.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
btalloc_n_gen
(
0
)
deps/jemalloc/test/src/btalloc_1.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
btalloc_n_gen
(
1
)
deps/jemalloc/test/src/mq.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
/*
* Sleep for approximately ns nanoseconds. No lower *nor* upper bound on sleep
* time is guaranteed.
*/
void
mq_nanosleep
(
unsigned
ns
)
{
assert
(
ns
<=
1000
*
1000
*
1000
);
#ifdef _WIN32
Sleep
(
ns
/
1000
);
#else
{
struct
timespec
timeout
;
if
(
ns
<
1000
*
1000
*
1000
)
{
timeout
.
tv_sec
=
0
;
timeout
.
tv_nsec
=
ns
;
}
else
{
timeout
.
tv_sec
=
1
;
timeout
.
tv_nsec
=
0
;
}
nanosleep
(
&
timeout
,
NULL
);
}
#endif
}
deps/jemalloc/test/src/mtx.c
View file @
a9951b1b
#include "test/jemalloc_test.h"
#include "test/jemalloc_test.h"
#ifndef _CRT_SPINCOUNT
#define _CRT_SPINCOUNT 4000
#endif
bool
bool
mtx_init
(
mtx_t
*
mtx
)
mtx_init
(
mtx_t
*
mtx
)
{
{
...
...
deps/jemalloc/test/src/test.c
View file @
a9951b1b
...
@@ -5,7 +5,7 @@ static test_status_t test_counts[test_status_count] = {0, 0, 0};
...
@@ -5,7 +5,7 @@ static test_status_t test_counts[test_status_count] = {0, 0, 0};
static
test_status_t
test_status
=
test_status_pass
;
static
test_status_t
test_status
=
test_status_pass
;
static
const
char
*
test_name
=
""
;
static
const
char
*
test_name
=
""
;
JEMALLOC_
ATTR
(
format
(
printf
,
1
,
2
)
)
JEMALLOC_
FORMAT_PRINTF
(
1
,
2
)
void
void
test_skip
(
const
char
*
format
,
...)
test_skip
(
const
char
*
format
,
...)
{
{
...
@@ -18,7 +18,7 @@ test_skip(const char *format, ...)
...
@@ -18,7 +18,7 @@ test_skip(const char *format, ...)
test_status
=
test_status_skip
;
test_status
=
test_status_skip
;
}
}
JEMALLOC_
ATTR
(
format
(
printf
,
1
,
2
)
)
JEMALLOC_
FORMAT_PRINTF
(
1
,
2
)
void
void
test_fail
(
const
char
*
format
,
...)
test_fail
(
const
char
*
format
,
...)
{
{
...
@@ -61,13 +61,26 @@ p_test_fini(void)
...
@@ -61,13 +61,26 @@ p_test_fini(void)
}
}
test_status_t
test_status_t
p_test
(
test_t
*
t
,
...)
p_test
(
test_t
*
t
,
...)
{
{
test_status_t
ret
=
test_status_pass
;
test_status_t
ret
;
va_list
ap
;
va_list
ap
;
/*
* Make sure initialization occurs prior to running tests. Tests are
* special because they may use internal facilities prior to triggering
* initialization as a side effect of calling into the public API. This
* is a final safety that works even if jemalloc_constructor() doesn't
* run, as for MSVC builds.
*/
if
(
nallocx
(
1
,
0
)
==
0
)
{
malloc_printf
(
"Initialization error"
);
return
(
test_status_fail
);
}
ret
=
test_status_pass
;
va_start
(
ap
,
t
);
va_start
(
ap
,
t
);
for
(;
t
!=
NULL
;
t
=
va_arg
(
ap
,
test_t
*
))
{
for
(;
t
!=
NULL
;
t
=
va_arg
(
ap
,
test_t
*
))
{
t
();
t
();
if
(
test_status
>
ret
)
if
(
test_status
>
ret
)
ret
=
test_status
;
ret
=
test_status
;
...
...
deps/jemalloc/test/src/thd.c
View file @
a9951b1b
...
@@ -14,7 +14,11 @@ void
...
@@ -14,7 +14,11 @@ void
thd_join
(
thd_t
thd
,
void
**
ret
)
thd_join
(
thd_t
thd
,
void
**
ret
)
{
{
WaitForSingleObject
(
thd
,
INFINITE
);
if
(
WaitForSingleObject
(
thd
,
INFINITE
)
==
WAIT_OBJECT_0
&&
ret
)
{
DWORD
exit_code
;
GetExitCodeThread
(
thd
,
(
LPDWORD
)
&
exit_code
);
*
ret
=
(
void
*
)(
uintptr_t
)
exit_code
;
}
}
}
#else
#else
...
...
deps/jemalloc/test/src/timer.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
void
timer_start
(
timedelta_t
*
timer
)
{
#ifdef _WIN32
GetSystemTimeAsFileTime
(
&
timer
->
ft0
);
#elif JEMALLOC_CLOCK_GETTIME
if
(
sysconf
(
_SC_MONOTONIC_CLOCK
)
<=
0
)
timer
->
clock_id
=
CLOCK_REALTIME
;
else
timer
->
clock_id
=
CLOCK_MONOTONIC
;
clock_gettime
(
timer
->
clock_id
,
&
timer
->
ts0
);
#else
gettimeofday
(
&
timer
->
tv0
,
NULL
);
#endif
}
void
timer_stop
(
timedelta_t
*
timer
)
{
#ifdef _WIN32
GetSystemTimeAsFileTime
(
&
timer
->
ft0
);
#elif JEMALLOC_CLOCK_GETTIME
clock_gettime
(
timer
->
clock_id
,
&
timer
->
ts1
);
#else
gettimeofday
(
&
timer
->
tv1
,
NULL
);
#endif
}
uint64_t
timer_usec
(
const
timedelta_t
*
timer
)
{
#ifdef _WIN32
uint64_t
t0
,
t1
;
t0
=
(((
uint64_t
)
timer
->
ft0
.
dwHighDateTime
)
<<
32
)
|
timer
->
ft0
.
dwLowDateTime
;
t1
=
(((
uint64_t
)
timer
->
ft1
.
dwHighDateTime
)
<<
32
)
|
timer
->
ft1
.
dwLowDateTime
;
return
((
t1
-
t0
)
/
10
);
#elif JEMALLOC_CLOCK_GETTIME
return
(((
timer
->
ts1
.
tv_sec
-
timer
->
ts0
.
tv_sec
)
*
1000000
)
+
(
timer
->
ts1
.
tv_nsec
-
timer
->
ts0
.
tv_nsec
)
/
1000
);
#else
return
(((
timer
->
tv1
.
tv_sec
-
timer
->
tv0
.
tv_sec
)
*
1000000
)
+
timer
->
tv1
.
tv_usec
-
timer
->
tv0
.
tv_usec
);
#endif
}
void
timer_ratio
(
timedelta_t
*
a
,
timedelta_t
*
b
,
char
*
buf
,
size_t
buflen
)
{
uint64_t
t0
=
timer_usec
(
a
);
uint64_t
t1
=
timer_usec
(
b
);
uint64_t
mult
;
unsigned
i
=
0
;
unsigned
j
;
int
n
;
/* Whole. */
n
=
malloc_snprintf
(
&
buf
[
i
],
buflen
-
i
,
"%"
FMTu64
,
t0
/
t1
);
i
+=
n
;
if
(
i
>=
buflen
)
return
;
mult
=
1
;
for
(
j
=
0
;
j
<
n
;
j
++
)
mult
*=
10
;
/* Decimal. */
n
=
malloc_snprintf
(
&
buf
[
i
],
buflen
-
i
,
"."
);
i
+=
n
;
/* Fraction. */
while
(
i
<
buflen
-
1
)
{
uint64_t
round
=
(
i
+
1
==
buflen
-
1
&&
((
t0
*
mult
*
10
/
t1
)
%
10
>=
5
))
?
1
:
0
;
n
=
malloc_snprintf
(
&
buf
[
i
],
buflen
-
i
,
"%"
FMTu64
,
(
t0
*
mult
/
t1
)
%
10
+
round
);
i
+=
n
;
mult
*=
10
;
}
}
deps/jemalloc/test/stress/microbench.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
JEMALLOC_INLINE_C
void
time_func
(
timedelta_t
*
timer
,
uint64_t
nwarmup
,
uint64_t
niter
,
void
(
*
func
)(
void
))
{
uint64_t
i
;
for
(
i
=
0
;
i
<
nwarmup
;
i
++
)
func
();
timer_start
(
timer
);
for
(
i
=
0
;
i
<
niter
;
i
++
)
func
();
timer_stop
(
timer
);
}
void
compare_funcs
(
uint64_t
nwarmup
,
uint64_t
niter
,
const
char
*
name_a
,
void
(
*
func_a
),
const
char
*
name_b
,
void
(
*
func_b
))
{
timedelta_t
timer_a
,
timer_b
;
char
ratio_buf
[
6
];
void
*
p
;
p
=
mallocx
(
1
,
0
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected mallocx() failure"
);
return
;
}
time_func
(
&
timer_a
,
nwarmup
,
niter
,
func_a
);
time_func
(
&
timer_b
,
nwarmup
,
niter
,
func_b
);
timer_ratio
(
&
timer_a
,
&
timer_b
,
ratio_buf
,
sizeof
(
ratio_buf
));
malloc_printf
(
"%"
FMTu64
" iterations, %s=%"
FMTu64
"us, "
"%s=%"
FMTu64
"us, ratio=1:%s
\n
"
,
niter
,
name_a
,
timer_usec
(
&
timer_a
),
name_b
,
timer_usec
(
&
timer_b
),
ratio_buf
);
dallocx
(
p
,
0
);
}
static
void
malloc_free
(
void
)
{
/* The compiler can optimize away free(malloc(1))! */
void
*
p
=
malloc
(
1
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected malloc() failure"
);
return
;
}
free
(
p
);
}
static
void
mallocx_free
(
void
)
{
void
*
p
=
mallocx
(
1
,
0
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected mallocx() failure"
);
return
;
}
free
(
p
);
}
TEST_BEGIN
(
test_malloc_vs_mallocx
)
{
compare_funcs
(
10
*
1000
*
1000
,
100
*
1000
*
1000
,
"malloc"
,
malloc_free
,
"mallocx"
,
mallocx_free
);
}
TEST_END
static
void
malloc_dallocx
(
void
)
{
void
*
p
=
malloc
(
1
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected malloc() failure"
);
return
;
}
dallocx
(
p
,
0
);
}
static
void
malloc_sdallocx
(
void
)
{
void
*
p
=
malloc
(
1
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected malloc() failure"
);
return
;
}
sdallocx
(
p
,
1
,
0
);
}
TEST_BEGIN
(
test_free_vs_dallocx
)
{
compare_funcs
(
10
*
1000
*
1000
,
100
*
1000
*
1000
,
"free"
,
malloc_free
,
"dallocx"
,
malloc_dallocx
);
}
TEST_END
TEST_BEGIN
(
test_dallocx_vs_sdallocx
)
{
compare_funcs
(
10
*
1000
*
1000
,
100
*
1000
*
1000
,
"dallocx"
,
malloc_dallocx
,
"sdallocx"
,
malloc_sdallocx
);
}
TEST_END
static
void
malloc_mus_free
(
void
)
{
void
*
p
;
p
=
malloc
(
1
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected malloc() failure"
);
return
;
}
malloc_usable_size
(
p
);
free
(
p
);
}
static
void
malloc_sallocx_free
(
void
)
{
void
*
p
;
p
=
malloc
(
1
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected malloc() failure"
);
return
;
}
if
(
sallocx
(
p
,
0
)
<
1
)
test_fail
(
"Unexpected sallocx() failure"
);
free
(
p
);
}
TEST_BEGIN
(
test_mus_vs_sallocx
)
{
compare_funcs
(
10
*
1000
*
1000
,
100
*
1000
*
1000
,
"malloc_usable_size"
,
malloc_mus_free
,
"sallocx"
,
malloc_sallocx_free
);
}
TEST_END
static
void
malloc_nallocx_free
(
void
)
{
void
*
p
;
p
=
malloc
(
1
);
if
(
p
==
NULL
)
{
test_fail
(
"Unexpected malloc() failure"
);
return
;
}
if
(
nallocx
(
1
,
0
)
<
1
)
test_fail
(
"Unexpected nallocx() failure"
);
free
(
p
);
}
TEST_BEGIN
(
test_sallocx_vs_nallocx
)
{
compare_funcs
(
10
*
1000
*
1000
,
100
*
1000
*
1000
,
"sallocx"
,
malloc_sallocx_free
,
"nallocx"
,
malloc_nallocx_free
);
}
TEST_END
int
main
(
void
)
{
return
(
test
(
test_malloc_vs_mallocx
,
test_free_vs_dallocx
,
test_dallocx_vs_sdallocx
,
test_mus_vs_sallocx
,
test_sallocx_vs_nallocx
));
}
deps/jemalloc/test/unit/SFMT.c
View file @
a9951b1b
...
@@ -445,1008 +445,1008 @@ static const uint32_t init_by_array_32_expected[] = {
...
@@ -445,1008 +445,1008 @@ static const uint32_t init_by_array_32_expected[] = {
2750138839U
,
3518055702U
,
733072558U
,
4169325400U
,
788493625U
2750138839U
,
3518055702U
,
733072558U
,
4169325400U
,
788493625U
};
};
static
const
uint64_t
init_gen_rand_64_expected
[]
=
{
static
const
uint64_t
init_gen_rand_64_expected
[]
=
{
QU
(
16924766246869039260
LLU
),
QU
(
8201438687333352714
LLU
),
K
QU
(
16924766246869039260
),
K
QU
(
8201438687333352714
),
QU
(
2265290287015001750
LLU
),
QU
(
18397264611805473832
LLU
),
K
QU
(
2265290287015001750
),
K
QU
(
18397264611805473832
),
QU
(
3375255223302384358
LLU
),
QU
(
6345559975416828796
LLU
),
K
QU
(
3375255223302384358
),
K
QU
(
6345559975416828796
),
QU
(
18229739242790328073
LLU
),
QU
(
7596792742098800905
LLU
),
K
QU
(
18229739242790328073
),
K
QU
(
7596792742098800905
),
QU
(
255338647169685981
LLU
),
QU
(
2052747240048610300
LLU
),
K
QU
(
255338647169685981
),
K
QU
(
2052747240048610300
),
QU
(
18328151576097299343
LLU
),
QU
(
12472905421133796567
LLU
),
K
QU
(
18328151576097299343
),
K
QU
(
12472905421133796567
),
QU
(
11315245349717600863
LLU
),
QU
(
16594110197775871209
LLU
),
K
QU
(
11315245349717600863
),
K
QU
(
16594110197775871209
),
QU
(
15708751964632456450
LLU
),
QU
(
10452031272054632535
LLU
),
K
QU
(
15708751964632456450
),
K
QU
(
10452031272054632535
),
QU
(
11097646720811454386
LLU
),
QU
(
4556090668445745441
LLU
),
K
QU
(
11097646720811454386
),
K
QU
(
4556090668445745441
),
QU
(
17116187693090663106
LLU
),
QU
(
14931526836144510645
LLU
),
K
QU
(
17116187693090663106
),
K
QU
(
14931526836144510645
),
QU
(
9190752218020552591
LLU
),
QU
(
9625800285771901401
LLU
),
K
QU
(
9190752218020552591
),
K
QU
(
9625800285771901401
),
QU
(
13995141077659972832
LLU
),
QU
(
5194209094927829625
LLU
),
K
QU
(
13995141077659972832
),
K
QU
(
5194209094927829625
),
QU
(
4156788379151063303
LLU
),
QU
(
8523452593770139494
LLU
),
K
QU
(
4156788379151063303
),
K
QU
(
8523452593770139494
),
QU
(
14082382103049296727
LLU
),
QU
(
2462601863986088483
LLU
),
K
QU
(
14082382103049296727
),
K
QU
(
2462601863986088483
),
QU
(
3030583461592840678
LLU
),
QU
(
5221622077872827681
LLU
),
K
QU
(
3030583461592840678
),
K
QU
(
5221622077872827681
),
QU
(
3084210671228981236
LLU
),
QU
(
13956758381389953823
LLU
),
K
QU
(
3084210671228981236
),
K
QU
(
13956758381389953823
),
QU
(
13503889856213423831
LLU
),
QU
(
15696904024189836170
LLU
),
K
QU
(
13503889856213423831
),
K
QU
(
15696904024189836170
),
QU
(
4612584152877036206
LLU
),
QU
(
6231135538447867881
LLU
),
K
QU
(
4612584152877036206
),
K
QU
(
6231135538447867881
),
QU
(
10172457294158869468
LLU
),
QU
(
6452258628466708150
LLU
),
K
QU
(
10172457294158869468
),
K
QU
(
6452258628466708150
),
QU
(
14044432824917330221
LLU
),
QU
(
370168364480044279
LLU
),
K
QU
(
14044432824917330221
),
K
QU
(
370168364480044279
),
QU
(
10102144686427193359
LLU
),
QU
(
667870489994776076
LLU
),
K
QU
(
10102144686427193359
),
K
QU
(
667870489994776076
),
QU
(
2732271956925885858
LLU
),
QU
(
18027788905977284151
LLU
),
K
QU
(
2732271956925885858
),
K
QU
(
18027788905977284151
),
QU
(
15009842788582923859
LLU
),
QU
(
7136357960180199542
LLU
),
K
QU
(
15009842788582923859
),
K
QU
(
7136357960180199542
),
QU
(
15901736243475578127
LLU
),
QU
(
16951293785352615701
LLU
),
K
QU
(
15901736243475578127
),
K
QU
(
16951293785352615701
),
QU
(
10551492125243691632
LLU
),
QU
(
17668869969146434804
LLU
),
K
QU
(
10551492125243691632
),
K
QU
(
17668869969146434804
),
QU
(
13646002971174390445
LLU
),
QU
(
9804471050759613248
LLU
),
K
QU
(
13646002971174390445
),
K
QU
(
9804471050759613248
),
QU
(
5511670439655935493
LLU
),
QU
(
18103342091070400926
LLU
),
K
QU
(
5511670439655935493
),
K
QU
(
18103342091070400926
),
QU
(
17224512747665137533
LLU
),
QU
(
15534627482992618168
LLU
),
K
QU
(
17224512747665137533
),
K
QU
(
15534627482992618168
),
QU
(
1423813266186582647
LLU
),
QU
(
15821176807932930024
LLU
),
K
QU
(
1423813266186582647
),
K
QU
(
15821176807932930024
),
QU
(
30323369733607156
LLU
),
QU
(
11599382494723479403
LLU
),
K
QU
(
30323369733607156
),
K
QU
(
11599382494723479403
),
QU
(
653856076586810062
LLU
),
QU
(
3176437395144899659
LLU
),
K
QU
(
653856076586810062
),
K
QU
(
3176437395144899659
),
QU
(
14028076268147963917
LLU
),
QU
(
16156398271809666195
LLU
),
K
QU
(
14028076268147963917
),
K
QU
(
16156398271809666195
),
QU
(
3166955484848201676
LLU
),
QU
(
5746805620136919390
LLU
),
K
QU
(
3166955484848201676
),
K
QU
(
5746805620136919390
),
QU
(
17297845208891256593
LLU
),
QU
(
11691653183226428483
LLU
),
K
QU
(
17297845208891256593
),
K
QU
(
11691653183226428483
),
QU
(
17900026146506981577
LLU
),
QU
(
15387382115755971042
LLU
),
K
QU
(
17900026146506981577
),
K
QU
(
15387382115755971042
),
QU
(
16923567681040845943
LLU
),
QU
(
8039057517199388606
LLU
),
K
QU
(
16923567681040845943
),
K
QU
(
8039057517199388606
),
QU
(
11748409241468629263
LLU
),
QU
(
794358245539076095
LLU
),
K
QU
(
11748409241468629263
),
K
QU
(
794358245539076095
),
QU
(
13438501964693401242
LLU
),
QU
(
14036803236515618962
LLU
),
K
QU
(
13438501964693401242
),
K
QU
(
14036803236515618962
),
QU
(
5252311215205424721
LLU
),
QU
(
17806589612915509081
LLU
),
K
QU
(
5252311215205424721
),
K
QU
(
17806589612915509081
),
QU
(
6802767092397596006
LLU
),
QU
(
14212120431184557140
LLU
),
K
QU
(
6802767092397596006
),
K
QU
(
14212120431184557140
),
QU
(
1072951366761385712
LLU
),
QU
(
13098491780722836296
LLU
),
K
QU
(
1072951366761385712
),
K
QU
(
13098491780722836296
),
QU
(
9466676828710797353
LLU
),
QU
(
12673056849042830081
LLU
),
K
QU
(
9466676828710797353
),
K
QU
(
12673056849042830081
),
QU
(
12763726623645357580
LLU
),
QU
(
16468961652999309493
LLU
),
K
QU
(
12763726623645357580
),
K
QU
(
16468961652999309493
),
QU
(
15305979875636438926
LLU
),
QU
(
17444713151223449734
LLU
),
K
QU
(
15305979875636438926
),
K
QU
(
17444713151223449734
),
QU
(
5692214267627883674
LLU
),
QU
(
13049589139196151505
LLU
),
K
QU
(
5692214267627883674
),
K
QU
(
13049589139196151505
),
QU
(
880115207831670745
LLU
),
QU
(
1776529075789695498
LLU
),
K
QU
(
880115207831670745
),
K
QU
(
1776529075789695498
),
QU
(
16695225897801466485
LLU
),
QU
(
10666901778795346845
LLU
),
K
QU
(
16695225897801466485
),
K
QU
(
10666901778795346845
),
QU
(
6164389346722833869
LLU
),
QU
(
2863817793264300475
LLU
),
K
QU
(
6164389346722833869
),
K
QU
(
2863817793264300475
),
QU
(
9464049921886304754
LLU
),
QU
(
3993566636740015468
LLU
),
K
QU
(
9464049921886304754
),
K
QU
(
3993566636740015468
),
QU
(
9983749692528514136
LLU
),
QU
(
16375286075057755211
LLU
),
K
QU
(
9983749692528514136
),
K
QU
(
16375286075057755211
),
QU
(
16042643417005440820
LLU
),
QU
(
11445419662923489877
LLU
),
K
QU
(
16042643417005440820
),
K
QU
(
11445419662923489877
),
QU
(
7999038846885158836
LLU
),
QU
(
6721913661721511535
LLU
),
K
QU
(
7999038846885158836
),
K
QU
(
6721913661721511535
),
QU
(
5363052654139357320
LLU
),
QU
(
1817788761173584205
LLU
),
K
QU
(
5363052654139357320
),
K
QU
(
1817788761173584205
),
QU
(
13290974386445856444
LLU
),
QU
(
4650350818937984680
LLU
),
K
QU
(
13290974386445856444
),
K
QU
(
4650350818937984680
),
QU
(
8219183528102484836
LLU
),
QU
(
1569862923500819899
LLU
),
K
QU
(
8219183528102484836
),
K
QU
(
1569862923500819899
),
QU
(
4189359732136641860
LLU
),
QU
(
14202822961683148583
LLU
),
K
QU
(
4189359732136641860
),
K
QU
(
14202822961683148583
),
QU
(
4457498315309429058
LLU
),
QU
(
13089067387019074834
LLU
),
K
QU
(
4457498315309429058
),
K
QU
(
13089067387019074834
),
QU
(
11075517153328927293
LLU
),
QU
(
10277016248336668389
LLU
),
K
QU
(
11075517153328927293
),
K
QU
(
10277016248336668389
),
QU
(
7070509725324401122
LLU
),
QU
(
17808892017780289380
LLU
),
K
QU
(
7070509725324401122
),
K
QU
(
17808892017780289380
),
QU
(
13143367339909287349
LLU
),
QU
(
1377743745360085151
LLU
),
K
QU
(
13143367339909287349
),
K
QU
(
1377743745360085151
),
QU
(
5749341807421286485
LLU
),
QU
(
14832814616770931325
LLU
),
K
QU
(
5749341807421286485
),
K
QU
(
14832814616770931325
),
QU
(
7688820635324359492
LLU
),
QU
(
10960474011539770045
LLU
),
K
QU
(
7688820635324359492
),
K
QU
(
10960474011539770045
),
QU
(
81970066653179790
LLU
),
QU
(
12619476072607878022
LLU
),
K
QU
(
81970066653179790
),
K
QU
(
12619476072607878022
),
QU
(
4419566616271201744
LLU
),
QU
(
15147917311750568503
LLU
),
K
QU
(
4419566616271201744
),
K
QU
(
15147917311750568503
),
QU
(
5549739182852706345
LLU
),
QU
(
7308198397975204770
LLU
),
K
QU
(
5549739182852706345
),
K
QU
(
7308198397975204770
),
QU
(
13580425496671289278
LLU
),
QU
(
17070764785210130301
LLU
),
K
QU
(
13580425496671289278
),
K
QU
(
17070764785210130301
),
QU
(
8202832846285604405
LLU
),
QU
(
6873046287640887249
LLU
),
K
QU
(
8202832846285604405
),
K
QU
(
6873046287640887249
),
QU
(
6927424434308206114
LLU
),
QU
(
6139014645937224874
LLU
),
K
QU
(
6927424434308206114
),
K
QU
(
6139014645937224874
),
QU
(
10290373645978487639
LLU
),
QU
(
15904261291701523804
LLU
),
K
QU
(
10290373645978487639
),
K
QU
(
15904261291701523804
),
QU
(
9628743442057826883
LLU
),
QU
(
18383429096255546714
LLU
),
K
QU
(
9628743442057826883
),
K
QU
(
18383429096255546714
),
QU
(
4977413265753686967
LLU
),
QU
(
7714317492425012869
LLU
),
K
QU
(
4977413265753686967
),
K
QU
(
7714317492425012869
),
QU
(
9025232586309926193
LLU
),
QU
(
14627338359776709107
LLU
),
K
QU
(
9025232586309926193
),
K
QU
(
14627338359776709107
),
QU
(
14759849896467790763
LLU
),
QU
(
10931129435864423252
LLU
),
K
QU
(
14759849896467790763
),
K
QU
(
10931129435864423252
),
QU
(
4588456988775014359
LLU
),
QU
(
10699388531797056724
LLU
),
K
QU
(
4588456988775014359
),
K
QU
(
10699388531797056724
),
QU
(
468652268869238792
LLU
),
QU
(
5755943035328078086
LLU
),
K
QU
(
468652268869238792
),
K
QU
(
5755943035328078086
),
QU
(
2102437379988580216
LLU
),
QU
(
9986312786506674028
LLU
),
K
QU
(
2102437379988580216
),
K
QU
(
9986312786506674028
),
QU
(
2654207180040945604
LLU
),
QU
(
8726634790559960062
LLU
),
K
QU
(
2654207180040945604
),
K
QU
(
8726634790559960062
),
QU
(
100497234871808137
LLU
),
QU
(
2800137176951425819
LLU
),
K
QU
(
100497234871808137
),
K
QU
(
2800137176951425819
),
QU
(
6076627612918553487
LLU
),
QU
(
5780186919186152796
LLU
),
K
QU
(
6076627612918553487
),
K
QU
(
5780186919186152796
),
QU
(
8179183595769929098
LLU
),
QU
(
6009426283716221169
LLU
),
K
QU
(
8179183595769929098
),
K
QU
(
6009426283716221169
),
QU
(
2796662551397449358
LLU
),
QU
(
1756961367041986764
LLU
),
K
QU
(
2796662551397449358
),
K
QU
(
1756961367041986764
),
QU
(
6972897917355606205
LLU
),
QU
(
14524774345368968243
LLU
),
K
QU
(
6972897917355606205
),
K
QU
(
14524774345368968243
),
QU
(
2773529684745706940
LLU
),
QU
(
4853632376213075959
LLU
),
K
QU
(
2773529684745706940
),
K
QU
(
4853632376213075959
),
QU
(
4198177923731358102
LLU
),
QU
(
8271224913084139776
LLU
),
K
QU
(
4198177923731358102
),
K
QU
(
8271224913084139776
),
QU
(
2741753121611092226
LLU
),
QU
(
16782366145996731181
LLU
),
K
QU
(
2741753121611092226
),
K
QU
(
16782366145996731181
),
QU
(
15426125238972640790
LLU
),
QU
(
13595497100671260342
LLU
),
K
QU
(
15426125238972640790
),
K
QU
(
13595497100671260342
),
QU
(
3173531022836259898
LLU
),
QU
(
6573264560319511662
LLU
),
K
QU
(
3173531022836259898
),
K
QU
(
6573264560319511662
),
QU
(
18041111951511157441
LLU
),
QU
(
2351433581833135952
LLU
),
K
QU
(
18041111951511157441
),
K
QU
(
2351433581833135952
),
QU
(
3113255578908173487
LLU
),
QU
(
1739371330877858784
LLU
),
K
QU
(
3113255578908173487
),
K
QU
(
1739371330877858784
),
QU
(
16046126562789165480
LLU
),
QU
(
8072101652214192925
LLU
),
K
QU
(
16046126562789165480
),
K
QU
(
8072101652214192925
),
QU
(
15267091584090664910
LLU
),
QU
(
9309579200403648940
LLU
),
K
QU
(
15267091584090664910
),
K
QU
(
9309579200403648940
),
QU
(
5218892439752408722
LLU
),
QU
(
14492477246004337115
LLU
),
K
QU
(
5218892439752408722
),
K
QU
(
14492477246004337115
),
QU
(
17431037586679770619
LLU
),
QU
(
7385248135963250480
LLU
),
K
QU
(
17431037586679770619
),
K
QU
(
7385248135963250480
),
QU
(
9580144956565560660
LLU
),
QU
(
4919546228040008720
LLU
),
K
QU
(
9580144956565560660
),
K
QU
(
4919546228040008720
),
QU
(
15261542469145035584
LLU
),
QU
(
18233297270822253102
LLU
),
K
QU
(
15261542469145035584
),
K
QU
(
18233297270822253102
),
QU
(
5453248417992302857
LLU
),
QU
(
9309519155931460285
LLU
),
K
QU
(
5453248417992302857
),
K
QU
(
9309519155931460285
),
QU
(
10342813012345291756
LLU
),
QU
(
15676085186784762381
LLU
),
K
QU
(
10342813012345291756
),
K
QU
(
15676085186784762381
),
QU
(
15912092950691300645
LLU
),
QU
(
9371053121499003195
LLU
),
K
QU
(
15912092950691300645
),
K
QU
(
9371053121499003195
),
QU
(
9897186478226866746
LLU
),
QU
(
14061858287188196327
LLU
),
K
QU
(
9897186478226866746
),
K
QU
(
14061858287188196327
),
QU
(
122575971620788119
LLU
),
QU
(
12146750969116317754
LLU
),
K
QU
(
122575971620788119
),
K
QU
(
12146750969116317754
),
QU
(
4438317272813245201
LLU
),
QU
(
8332576791009527119
LLU
),
K
QU
(
4438317272813245201
),
K
QU
(
8332576791009527119
),
QU
(
13907785691786542057
LLU
),
QU
(
10374194887283287467
LLU
),
K
QU
(
13907785691786542057
),
K
QU
(
10374194887283287467
),
QU
(
2098798755649059566
LLU
),
QU
(
3416235197748288894
LLU
),
K
QU
(
2098798755649059566
),
K
QU
(
3416235197748288894
),
QU
(
8688269957320773484
LLU
),
QU
(
7503964602397371571
LLU
),
K
QU
(
8688269957320773484
),
K
QU
(
7503964602397371571
),
QU
(
16724977015147478236
LLU
),
QU
(
9461512855439858184
LLU
),
K
QU
(
16724977015147478236
),
K
QU
(
9461512855439858184
),
QU
(
13259049744534534727
LLU
),
QU
(
3583094952542899294
LLU
),
K
QU
(
13259049744534534727
),
K
QU
(
3583094952542899294
),
QU
(
8764245731305528292
LLU
),
QU
(
13240823595462088985
LLU
),
K
QU
(
8764245731305528292
),
K
QU
(
13240823595462088985
),
QU
(
13716141617617910448
LLU
),
QU
(
18114969519935960955
LLU
),
K
QU
(
13716141617617910448
),
K
QU
(
18114969519935960955
),
QU
(
2297553615798302206
LLU
),
QU
(
4585521442944663362
LLU
),
K
QU
(
2297553615798302206
),
K
QU
(
4585521442944663362
),
QU
(
17776858680630198686
LLU
),
QU
(
4685873229192163363
LLU
),
K
QU
(
17776858680630198686
),
K
QU
(
4685873229192163363
),
QU
(
152558080671135627
LLU
),
QU
(
15424900540842670088
LLU
),
K
QU
(
152558080671135627
),
K
QU
(
15424900540842670088
),
QU
(
13229630297130024108
LLU
),
QU
(
17530268788245718717
LLU
),
K
QU
(
13229630297130024108
),
K
QU
(
17530268788245718717
),
QU
(
16675633913065714144
LLU
),
QU
(
3158912717897568068
LLU
),
K
QU
(
16675633913065714144
),
K
QU
(
3158912717897568068
),
QU
(
15399132185380087288
LLU
),
QU
(
7401418744515677872
LLU
),
K
QU
(
15399132185380087288
),
K
QU
(
7401418744515677872
),
QU
(
13135412922344398535
LLU
),
QU
(
6385314346100509511
LLU
),
K
QU
(
13135412922344398535
),
K
QU
(
6385314346100509511
),
QU
(
13962867001134161139
LLU
),
QU
(
10272780155442671999
LLU
),
K
QU
(
13962867001134161139
),
K
QU
(
10272780155442671999
),
QU
(
12894856086597769142
LLU
),
QU
(
13340877795287554994
LLU
),
K
QU
(
12894856086597769142
),
K
QU
(
13340877795287554994
),
QU
(
12913630602094607396
LLU
),
QU
(
12543167911119793857
LLU
),
K
QU
(
12913630602094607396
),
K
QU
(
12543167911119793857
),
QU
(
17343570372251873096
LLU
),
QU
(
10959487764494150545
LLU
),
K
QU
(
17343570372251873096
),
K
QU
(
10959487764494150545
),
QU
(
6966737953093821128
LLU
),
QU
(
13780699135496988601
LLU
),
K
QU
(
6966737953093821128
),
K
QU
(
13780699135496988601
),
QU
(
4405070719380142046
LLU
),
QU
(
14923788365607284982
LLU
),
K
QU
(
4405070719380142046
),
K
QU
(
14923788365607284982
),
QU
(
2869487678905148380
LLU
),
QU
(
6416272754197188403
LLU
),
K
QU
(
2869487678905148380
),
K
QU
(
6416272754197188403
),
QU
(
15017380475943612591
LLU
),
QU
(
1995636220918429487
LLU
),
K
QU
(
15017380475943612591
),
K
QU
(
1995636220918429487
),
QU
(
3402016804620122716
LLU
),
QU
(
15800188663407057080
LLU
),
K
QU
(
3402016804620122716
),
K
QU
(
15800188663407057080
),
QU
(
11362369990390932882
LLU
),
QU
(
15262183501637986147
LLU
),
K
QU
(
11362369990390932882
),
K
QU
(
15262183501637986147
),
QU
(
10239175385387371494
LLU
),
QU
(
9352042420365748334
LLU
),
K
QU
(
10239175385387371494
),
K
QU
(
9352042420365748334
),
QU
(
1682457034285119875
LLU
),
QU
(
1724710651376289644
LLU
),
K
QU
(
1682457034285119875
),
K
QU
(
1724710651376289644
),
QU
(
2038157098893817966
LLU
),
QU
(
9897825558324608773
LLU
),
K
QU
(
2038157098893817966
),
K
QU
(
9897825558324608773
),
QU
(
1477666236519164736
LLU
),
QU
(
16835397314511233640
LLU
),
K
QU
(
1477666236519164736
),
K
QU
(
16835397314511233640
),
QU
(
10370866327005346508
LLU
),
QU
(
10157504370660621982
LLU
),
K
QU
(
10370866327005346508
),
K
QU
(
10157504370660621982
),
QU
(
12113904045335882069
LLU
),
QU
(
13326444439742783008
LLU
),
K
QU
(
12113904045335882069
),
K
QU
(
13326444439742783008
),
QU
(
11302769043000765804
LLU
),
QU
(
13594979923955228484
LLU
),
K
QU
(
11302769043000765804
),
K
QU
(
13594979923955228484
),
QU
(
11779351762613475968
LLU
),
QU
(
3786101619539298383
LLU
),
K
QU
(
11779351762613475968
),
K
QU
(
3786101619539298383
),
QU
(
8021122969180846063
LLU
),
QU
(
15745904401162500495
LLU
),
K
QU
(
8021122969180846063
),
K
QU
(
15745904401162500495
),
QU
(
10762168465993897267
LLU
),
QU
(
13552058957896319026
LLU
),
K
QU
(
10762168465993897267
),
K
QU
(
13552058957896319026
),
QU
(
11200228655252462013
LLU
),
QU
(
5035370357337441226
LLU
),
K
QU
(
11200228655252462013
),
K
QU
(
5035370357337441226
),
QU
(
7593918984545500013
LLU
),
QU
(
5418554918361528700
LLU
),
K
QU
(
7593918984545500013
),
K
QU
(
5418554918361528700
),
QU
(
4858270799405446371
LLU
),
QU
(
9974659566876282544
LLU
),
K
QU
(
4858270799405446371
),
K
QU
(
9974659566876282544
),
QU
(
18227595922273957859
LLU
),
QU
(
2772778443635656220
LLU
),
K
QU
(
18227595922273957859
),
K
QU
(
2772778443635656220
),
QU
(
14285143053182085385
LLU
),
QU
(
9939700992429600469
LLU
),
K
QU
(
14285143053182085385
),
K
QU
(
9939700992429600469
),
QU
(
12756185904545598068
LLU
),
QU
(
2020783375367345262
LLU
),
K
QU
(
12756185904545598068
),
K
QU
(
2020783375367345262
),
QU
(
57026775058331227
LLU
),
QU
(
950827867930065454
LLU
),
K
QU
(
57026775058331227
),
K
QU
(
950827867930065454
),
QU
(
6602279670145371217
LLU
),
QU
(
2291171535443566929
LLU
),
K
QU
(
6602279670145371217
),
K
QU
(
2291171535443566929
),
QU
(
5832380724425010313
LLU
),
QU
(
1220343904715982285
LLU
),
K
QU
(
5832380724425010313
),
K
QU
(
1220343904715982285
),
QU
(
17045542598598037633
LLU
),
QU
(
15460481779702820971
LLU
),
K
QU
(
17045542598598037633
),
K
QU
(
15460481779702820971
),
QU
(
13948388779949365130
LLU
),
QU
(
13975040175430829518
LLU
),
K
QU
(
13948388779949365130
),
K
QU
(
13975040175430829518
),
QU
(
17477538238425541763
LLU
),
QU
(
11104663041851745725
LLU
),
K
QU
(
17477538238425541763
),
K
QU
(
11104663041851745725
),
QU
(
15860992957141157587
LLU
),
QU
(
14529434633012950138
LLU
),
K
QU
(
15860992957141157587
),
K
QU
(
14529434633012950138
),
QU
(
2504838019075394203
LLU
),
QU
(
7512113882611121886
LLU
),
K
QU
(
2504838019075394203
),
K
QU
(
7512113882611121886
),
QU
(
4859973559980886617
LLU
),
QU
(
1258601555703250219
LLU
),
K
QU
(
4859973559980886617
),
K
QU
(
1258601555703250219
),
QU
(
15594548157514316394
LLU
),
QU
(
4516730171963773048
LLU
),
K
QU
(
15594548157514316394
),
K
QU
(
4516730171963773048
),
QU
(
11380103193905031983
LLU
),
QU
(
6809282239982353344
LLU
),
K
QU
(
11380103193905031983
),
K
QU
(
6809282239982353344
),
QU
(
18045256930420065002
LLU
),
QU
(
2453702683108791859
LLU
),
K
QU
(
18045256930420065002
),
K
QU
(
2453702683108791859
),
QU
(
977214582986981460
LLU
),
QU
(
2006410402232713466
LLU
),
K
QU
(
977214582986981460
),
K
QU
(
2006410402232713466
),
QU
(
6192236267216378358
LLU
),
QU
(
3429468402195675253
LLU
),
K
QU
(
6192236267216378358
),
K
QU
(
3429468402195675253
),
QU
(
18146933153017348921
LLU
),
QU
(
17369978576367231139
LLU
),
K
QU
(
18146933153017348921
),
K
QU
(
17369978576367231139
),
QU
(
1246940717230386603
LLU
),
QU
(
11335758870083327110
LLU
),
K
QU
(
1246940717230386603
),
K
QU
(
11335758870083327110
),
QU
(
14166488801730353682
LLU
),
QU
(
9008573127269635732
LLU
),
K
QU
(
14166488801730353682
),
K
QU
(
9008573127269635732
),
QU
(
10776025389820643815
LLU
),
QU
(
15087605441903942962
LLU
),
K
QU
(
10776025389820643815
),
K
QU
(
15087605441903942962
),
QU
(
1359542462712147922
LLU
),
QU
(
13898874411226454206
LLU
),
K
QU
(
1359542462712147922
),
K
QU
(
13898874411226454206
),
QU
(
17911176066536804411
LLU
),
QU
(
9435590428600085274
LLU
),
K
QU
(
17911176066536804411
),
K
QU
(
9435590428600085274
),
QU
(
294488509967864007
LLU
),
QU
(
8890111397567922046
LLU
),
K
QU
(
294488509967864007
),
K
QU
(
8890111397567922046
),
QU
(
7987823476034328778
LLU
),
QU
(
13263827582440967651
LLU
),
K
QU
(
7987823476034328778
),
K
QU
(
13263827582440967651
),
QU
(
7503774813106751573
LLU
),
QU
(
14974747296185646837
LLU
),
K
QU
(
7503774813106751573
),
K
QU
(
14974747296185646837
),
QU
(
8504765037032103375
LLU
),
QU
(
17340303357444536213
LLU
),
K
QU
(
8504765037032103375
),
K
QU
(
17340303357444536213
),
QU
(
7704610912964485743
LLU
),
QU
(
8107533670327205061
LLU
),
K
QU
(
7704610912964485743
),
K
QU
(
8107533670327205061
),
QU
(
9062969835083315985
LLU
),
QU
(
16968963142126734184
LLU
),
K
QU
(
9062969835083315985
),
K
QU
(
16968963142126734184
),
QU
(
12958041214190810180
LLU
),
QU
(
2720170147759570200
LLU
),
K
QU
(
12958041214190810180
),
K
QU
(
2720170147759570200
),
QU
(
2986358963942189566
LLU
),
QU
(
14884226322219356580
LLU
),
K
QU
(
2986358963942189566
),
K
QU
(
14884226322219356580
),
QU
(
286224325144368520
LLU
),
QU
(
11313800433154279797
LLU
),
K
QU
(
286224325144368520
),
K
QU
(
11313800433154279797
),
QU
(
18366849528439673248
LLU
),
QU
(
17899725929482368789
LLU
),
K
QU
(
18366849528439673248
),
K
QU
(
17899725929482368789
),
QU
(
3730004284609106799
LLU
),
QU
(
1654474302052767205
LLU
),
K
QU
(
3730004284609106799
),
K
QU
(
1654474302052767205
),
QU
(
5006698007047077032
LLU
),
QU
(
8196893913601182838
LLU
),
K
QU
(
5006698007047077032
),
K
QU
(
8196893913601182838
),
QU
(
15214541774425211640
LLU
),
QU
(
17391346045606626073
LLU
),
K
QU
(
15214541774425211640
),
K
QU
(
17391346045606626073
),
QU
(
8369003584076969089
LLU
),
QU
(
3939046733368550293
LLU
),
K
QU
(
8369003584076969089
),
K
QU
(
3939046733368550293
),
QU
(
10178639720308707785
LLU
),
QU
(
2180248669304388697
LLU
),
K
QU
(
10178639720308707785
),
K
QU
(
2180248669304388697
),
QU
(
62894391300126322
LLU
),
QU
(
9205708961736223191
LLU
),
K
QU
(
62894391300126322
),
K
QU
(
9205708961736223191
),
QU
(
6837431058165360438
LLU
),
QU
(
3150743890848308214
LLU
),
K
QU
(
6837431058165360438
),
K
QU
(
3150743890848308214
),
QU
(
17849330658111464583
LLU
),
QU
(
12214815643135450865
LLU
),
K
QU
(
17849330658111464583
),
K
QU
(
12214815643135450865
),
QU
(
13410713840519603402
LLU
),
QU
(
3200778126692046802
LLU
),
K
QU
(
13410713840519603402
),
K
QU
(
3200778126692046802
),
QU
(
13354780043041779313
LLU
),
QU
(
800850022756886036
LLU
),
K
QU
(
13354780043041779313
),
K
QU
(
800850022756886036
),
QU
(
15660052933953067433
LLU
),
QU
(
6572823544154375676
LLU
),
K
QU
(
15660052933953067433
),
K
QU
(
6572823544154375676
),
QU
(
11030281857015819266
LLU
),
QU
(
12682241941471433835
LLU
),
K
QU
(
11030281857015819266
),
K
QU
(
12682241941471433835
),
QU
(
11654136407300274693
LLU
),
QU
(
4517795492388641109
LLU
),
K
QU
(
11654136407300274693
),
K
QU
(
4517795492388641109
),
QU
(
9757017371504524244
LLU
),
QU
(
17833043400781889277
LLU
),
K
QU
(
9757017371504524244
),
K
QU
(
17833043400781889277
),
QU
(
12685085201747792227
LLU
),
QU
(
10408057728835019573
LLU
),
K
QU
(
12685085201747792227
),
K
QU
(
10408057728835019573
),
QU
(
98370418513455221
LLU
),
QU
(
6732663555696848598
LLU
),
K
QU
(
98370418513455221
),
K
QU
(
6732663555696848598
),
QU
(
13248530959948529780
LLU
),
QU
(
3530441401230622826
LLU
),
K
QU
(
13248530959948529780
),
K
QU
(
3530441401230622826
),
QU
(
18188251992895660615
LLU
),
QU
(
1847918354186383756
LLU
),
K
QU
(
18188251992895660615
),
K
QU
(
1847918354186383756
),
QU
(
1127392190402660921
LLU
),
QU
(
11293734643143819463
LLU
),
K
QU
(
1127392190402660921
),
K
QU
(
11293734643143819463
),
QU
(
3015506344578682982
LLU
),
QU
(
13852645444071153329
LLU
),
K
QU
(
3015506344578682982
),
K
QU
(
13852645444071153329
),
QU
(
2121359659091349142
LLU
),
QU
(
1294604376116677694
LLU
),
K
QU
(
2121359659091349142
),
K
QU
(
1294604376116677694
),
QU
(
5616576231286352318
LLU
),
QU
(
7112502442954235625
LLU
),
K
QU
(
5616576231286352318
),
K
QU
(
7112502442954235625
),
QU
(
11676228199551561689
LLU
),
QU
(
12925182803007305359
LLU
),
K
QU
(
11676228199551561689
),
K
QU
(
12925182803007305359
),
QU
(
7852375518160493082
LLU
),
QU
(
1136513130539296154
LLU
),
K
QU
(
7852375518160493082
),
K
QU
(
1136513130539296154
),
QU
(
5636923900916593195
LLU
),
QU
(
3221077517612607747
LLU
),
K
QU
(
5636923900916593195
),
K
QU
(
3221077517612607747
),
QU
(
17784790465798152513
LLU
),
QU
(
3554210049056995938
LLU
),
K
QU
(
17784790465798152513
),
K
QU
(
3554210049056995938
),
QU
(
17476839685878225874
LLU
),
QU
(
3206836372585575732
LLU
),
K
QU
(
17476839685878225874
),
K
QU
(
3206836372585575732
),
QU
(
2765333945644823430
LLU
),
QU
(
10080070903718799528
LLU
),
K
QU
(
2765333945644823430
),
K
QU
(
10080070903718799528
),
QU
(
5412370818878286353
LLU
),
QU
(
9689685887726257728
LLU
),
K
QU
(
5412370818878286353
),
K
QU
(
9689685887726257728
),
QU
(
8236117509123533998
LLU
),
QU
(
1951139137165040214
LLU
),
K
QU
(
8236117509123533998
),
K
QU
(
1951139137165040214
),
QU
(
4492205209227980349
LLU
),
QU
(
16541291230861602967
LLU
),
K
QU
(
4492205209227980349
),
K
QU
(
16541291230861602967
),
QU
(
1424371548301437940
LLU
),
QU
(
9117562079669206794
LLU
),
K
QU
(
1424371548301437940
),
K
QU
(
9117562079669206794
),
QU
(
14374681563251691625
LLU
),
QU
(
13873164030199921303
LLU
),
K
QU
(
14374681563251691625
),
K
QU
(
13873164030199921303
),
QU
(
6680317946770936731
LLU
),
QU
(
15586334026918276214
LLU
),
K
QU
(
6680317946770936731
),
K
QU
(
15586334026918276214
),
QU
(
10896213950976109802
LLU
),
QU
(
9506261949596413689
LLU
),
K
QU
(
10896213950976109802
),
K
QU
(
9506261949596413689
),
QU
(
9903949574308040616
LLU
),
QU
(
6038397344557204470
LLU
),
K
QU
(
9903949574308040616
),
K
QU
(
6038397344557204470
),
QU
(
174601465422373648
LLU
),
QU
(
15946141191338238030
LLU
),
K
QU
(
174601465422373648
),
K
QU
(
15946141191338238030
),
QU
(
17142225620992044937
LLU
),
QU
(
7552030283784477064
LLU
),
K
QU
(
17142225620992044937
),
K
QU
(
7552030283784477064
),
QU
(
2947372384532947997
LLU
),
QU
(
510797021688197711
LLU
),
K
QU
(
2947372384532947997
),
K
QU
(
510797021688197711
),
QU
(
4962499439249363461
LLU
),
QU
(
23770320158385357
LLU
),
K
QU
(
4962499439249363461
),
K
QU
(
23770320158385357
),
QU
(
959774499105138124
LLU
),
QU
(
1468396011518788276
LLU
),
K
QU
(
959774499105138124
),
K
QU
(
1468396011518788276
),
QU
(
2015698006852312308
LLU
),
QU
(
4149400718489980136
LLU
),
K
QU
(
2015698006852312308
),
K
QU
(
4149400718489980136
),
QU
(
5992916099522371188
LLU
),
QU
(
10819182935265531076
LLU
),
K
QU
(
5992916099522371188
),
K
QU
(
10819182935265531076
),
QU
(
16189787999192351131
LLU
),
QU
(
342833961790261950
LLU
),
K
QU
(
16189787999192351131
),
K
QU
(
342833961790261950
),
QU
(
12470830319550495336
LLU
),
QU
(
18128495041912812501
LLU
),
K
QU
(
12470830319550495336
),
K
QU
(
18128495041912812501
),
QU
(
1193600899723524337
LLU
),
QU
(
9056793666590079770
LLU
),
K
QU
(
1193600899723524337
),
K
QU
(
9056793666590079770
),
QU
(
2154021227041669041
LLU
),
QU
(
4963570213951235735
LLU
),
K
QU
(
2154021227041669041
),
K
QU
(
4963570213951235735
),
QU
(
4865075960209211409
LLU
),
QU
(
2097724599039942963
LLU
),
K
QU
(
4865075960209211409
),
K
QU
(
2097724599039942963
),
QU
(
2024080278583179845
LLU
),
QU
(
11527054549196576736
LLU
),
K
QU
(
2024080278583179845
),
K
QU
(
11527054549196576736
),
QU
(
10650256084182390252
LLU
),
QU
(
4808408648695766755
LLU
),
K
QU
(
10650256084182390252
),
K
QU
(
4808408648695766755
),
QU
(
1642839215013788844
LLU
),
QU
(
10607187948250398390
LLU
),
K
QU
(
1642839215013788844
),
K
QU
(
10607187948250398390
),
QU
(
7076868166085913508
LLU
),
QU
(
730522571106887032
LLU
),
K
QU
(
7076868166085913508
),
K
QU
(
730522571106887032
),
QU
(
12500579240208524895
LLU
),
QU
(
4484390097311355324
LLU
),
K
QU
(
12500579240208524895
),
K
QU
(
4484390097311355324
),
QU
(
15145801330700623870
LLU
),
QU
(
8055827661392944028
LLU
),
K
QU
(
15145801330700623870
),
K
QU
(
8055827661392944028
),
QU
(
5865092976832712268
LLU
),
QU
(
15159212508053625143
LLU
),
K
QU
(
5865092976832712268
),
K
QU
(
15159212508053625143
),
QU
(
3560964582876483341
LLU
),
QU
(
4070052741344438280
LLU
),
K
QU
(
3560964582876483341
),
K
QU
(
4070052741344438280
),
QU
(
6032585709886855634
LLU
),
QU
(
15643262320904604873
LLU
),
K
QU
(
6032585709886855634
),
K
QU
(
15643262320904604873
),
QU
(
2565119772293371111
LLU
),
QU
(
318314293065348260
LLU
),
K
QU
(
2565119772293371111
),
K
QU
(
318314293065348260
),
QU
(
15047458749141511872
LLU
),
QU
(
7772788389811528730
LLU
),
K
QU
(
15047458749141511872
),
K
QU
(
7772788389811528730
),
QU
(
7081187494343801976
LLU
),
QU
(
6465136009467253947
LLU
),
K
QU
(
7081187494343801976
),
K
QU
(
6465136009467253947
),
QU
(
10425940692543362069
LLU
),
QU
(
554608190318339115
LLU
),
K
QU
(
10425940692543362069
),
K
QU
(
554608190318339115
),
QU
(
14796699860302125214
LLU
),
QU
(
1638153134431111443
LLU
),
K
QU
(
14796699860302125214
),
K
QU
(
1638153134431111443
),
QU
(
10336967447052276248
LLU
),
QU
(
8412308070396592958
LLU
),
K
QU
(
10336967447052276248
),
K
QU
(
8412308070396592958
),
QU
(
4004557277152051226
LLU
),
QU
(
8143598997278774834
LLU
),
K
QU
(
4004557277152051226
),
K
QU
(
8143598997278774834
),
QU
(
16413323996508783221
LLU
),
QU
(
13139418758033994949
LLU
),
K
QU
(
16413323996508783221
),
K
QU
(
13139418758033994949
),
QU
(
9772709138335006667
LLU
),
QU
(
2818167159287157659
LLU
),
K
QU
(
9772709138335006667
),
K
QU
(
2818167159287157659
),
QU
(
17091740573832523669
LLU
),
QU
(
14629199013130751608
LLU
),
K
QU
(
17091740573832523669
),
K
QU
(
14629199013130751608
),
QU
(
18268322711500338185
LLU
),
QU
(
8290963415675493063
LLU
),
K
QU
(
18268322711500338185
),
K
QU
(
8290963415675493063
),
QU
(
8830864907452542588
LLU
),
QU
(
1614839084637494849
LLU
),
K
QU
(
8830864907452542588
),
K
QU
(
1614839084637494849
),
QU
(
14855358500870422231
LLU
),
QU
(
3472996748392519937
LLU
),
K
QU
(
14855358500870422231
),
K
QU
(
3472996748392519937
),
QU
(
15317151166268877716
LLU
),
QU
(
5825895018698400362
LLU
),
K
QU
(
15317151166268877716
),
K
QU
(
5825895018698400362
),
QU
(
16730208429367544129
LLU
),
QU
(
10481156578141202800
LLU
),
K
QU
(
16730208429367544129
),
K
QU
(
10481156578141202800
),
QU
(
4746166512382823750
LLU
),
QU
(
12720876014472464998
LLU
),
K
QU
(
4746166512382823750
),
K
QU
(
12720876014472464998
),
QU
(
8825177124486735972
LLU
),
QU
(
13733447296837467838
LLU
),
K
QU
(
8825177124486735972
),
K
QU
(
13733447296837467838
),
QU
(
6412293741681359625
LLU
),
QU
(
8313213138756135033
LLU
),
K
QU
(
6412293741681359625
),
K
QU
(
8313213138756135033
),
QU
(
11421481194803712517
LLU
),
QU
(
7997007691544174032
LLU
),
K
QU
(
11421481194803712517
),
K
QU
(
7997007691544174032
),
QU
(
6812963847917605930
LLU
),
QU
(
9683091901227558641
LLU
),
K
QU
(
6812963847917605930
),
K
QU
(
9683091901227558641
),
QU
(
14703594165860324713
LLU
),
QU
(
1775476144519618309
LLU
),
K
QU
(
14703594165860324713
),
K
QU
(
1775476144519618309
),
QU
(
2724283288516469519
LLU
),
QU
(
717642555185856868
LLU
),
K
QU
(
2724283288516469519
),
K
QU
(
717642555185856868
),
QU
(
8736402192215092346
LLU
),
QU
(
11878800336431381021
LLU
),
K
QU
(
8736402192215092346
),
K
QU
(
11878800336431381021
),
QU
(
4348816066017061293
LLU
),
QU
(
6115112756583631307
LLU
),
K
QU
(
4348816066017061293
),
K
QU
(
6115112756583631307
),
QU
(
9176597239667142976
LLU
),
QU
(
12615622714894259204
LLU
),
K
QU
(
9176597239667142976
),
K
QU
(
12615622714894259204
),
QU
(
10283406711301385987
LLU
),
QU
(
5111762509485379420
LLU
),
K
QU
(
10283406711301385987
),
K
QU
(
5111762509485379420
),
QU
(
3118290051198688449
LLU
),
QU
(
7345123071632232145
LLU
),
K
QU
(
3118290051198688449
),
K
QU
(
7345123071632232145
),
QU
(
9176423451688682359
LLU
),
QU
(
4843865456157868971
LLU
),
K
QU
(
9176423451688682359
),
K
QU
(
4843865456157868971
),
QU
(
12008036363752566088
LLU
),
QU
(
12058837181919397720
LLU
),
K
QU
(
12008036363752566088
),
K
QU
(
12058837181919397720
),
QU
(
2145073958457347366
LLU
),
QU
(
1526504881672818067
LLU
),
K
QU
(
2145073958457347366
),
K
QU
(
1526504881672818067
),
QU
(
3488830105567134848
LLU
),
QU
(
13208362960674805143
LLU
),
K
QU
(
3488830105567134848
),
K
QU
(
13208362960674805143
),
QU
(
4077549672899572192
LLU
),
QU
(
7770995684693818365
LLU
),
K
QU
(
4077549672899572192
),
K
QU
(
7770995684693818365
),
QU
(
1398532341546313593
LLU
),
QU
(
12711859908703927840
LLU
),
K
QU
(
1398532341546313593
),
K
QU
(
12711859908703927840
),
QU
(
1417561172594446813
LLU
),
QU
(
17045191024194170604
LLU
),
K
QU
(
1417561172594446813
),
K
QU
(
17045191024194170604
),
QU
(
4101933177604931713
LLU
),
QU
(
14708428834203480320
LLU
),
K
QU
(
4101933177604931713
),
K
QU
(
14708428834203480320
),
QU
(
17447509264469407724
LLU
),
QU
(
14314821973983434255
LLU
),
K
QU
(
17447509264469407724
),
K
QU
(
14314821973983434255
),
QU
(
17990472271061617265
LLU
),
QU
(
5087756685841673942
LLU
),
K
QU
(
17990472271061617265
),
K
QU
(
5087756685841673942
),
QU
(
12797820586893859939
LLU
),
QU
(
1778128952671092879
LLU
),
K
QU
(
12797820586893859939
),
K
QU
(
1778128952671092879
),
QU
(
3535918530508665898
LLU
),
QU
(
9035729701042481301
LLU
),
K
QU
(
3535918530508665898
),
K
QU
(
9035729701042481301
),
QU
(
14808661568277079962
LLU
),
QU
(
14587345077537747914
LLU
),
K
QU
(
14808661568277079962
),
K
QU
(
14587345077537747914
),
QU
(
11920080002323122708
LLU
),
QU
(
6426515805197278753
LLU
),
K
QU
(
11920080002323122708
),
K
QU
(
6426515805197278753
),
QU
(
3295612216725984831
LLU
),
QU
(
11040722532100876120
LLU
),
K
QU
(
3295612216725984831
),
K
QU
(
11040722532100876120
),
QU
(
12305952936387598754
LLU
),
QU
(
16097391899742004253
LLU
),
K
QU
(
12305952936387598754
),
K
QU
(
16097391899742004253
),
QU
(
4908537335606182208
LLU
),
QU
(
12446674552196795504
LLU
),
K
QU
(
4908537335606182208
),
K
QU
(
12446674552196795504
),
QU
(
16010497855816895177
LLU
),
QU
(
9194378874788615551
LLU
),
K
QU
(
16010497855816895177
),
K
QU
(
9194378874788615551
),
QU
(
3382957529567613384
LLU
),
QU
(
5154647600754974077
LLU
),
K
QU
(
3382957529567613384
),
K
QU
(
5154647600754974077
),
QU
(
9801822865328396141
LLU
),
QU
(
9023662173919288143
LLU
),
K
QU
(
9801822865328396141
),
K
QU
(
9023662173919288143
),
QU
(
17623115353825147868
LLU
),
QU
(
8238115767443015816
LLU
),
K
QU
(
17623115353825147868
),
K
QU
(
8238115767443015816
),
QU
(
15811444159859002560
LLU
),
QU
(
9085612528904059661
LLU
),
K
QU
(
15811444159859002560
),
K
QU
(
9085612528904059661
),
QU
(
6888601089398614254
LLU
),
QU
(
258252992894160189
LLU
),
K
QU
(
6888601089398614254
),
K
QU
(
258252992894160189
),
QU
(
6704363880792428622
LLU
),
QU
(
6114966032147235763
LLU
),
K
QU
(
6704363880792428622
),
K
QU
(
6114966032147235763
),
QU
(
11075393882690261875
LLU
),
QU
(
8797664238933620407
LLU
),
K
QU
(
11075393882690261875
),
K
QU
(
8797664238933620407
),
QU
(
5901892006476726920
LLU
),
QU
(
5309780159285518958
LLU
),
K
QU
(
5901892006476726920
),
K
QU
(
5309780159285518958
),
QU
(
14940808387240817367
LLU
),
QU
(
14642032021449656698
LLU
),
K
QU
(
14940808387240817367
),
K
QU
(
14642032021449656698
),
QU
(
9808256672068504139
LLU
),
QU
(
3670135111380607658
LLU
),
K
QU
(
9808256672068504139
),
K
QU
(
3670135111380607658
),
QU
(
11211211097845960152
LLU
),
QU
(
1474304506716695808
LLU
),
K
QU
(
11211211097845960152
),
K
QU
(
1474304506716695808
),
QU
(
15843166204506876239
LLU
),
QU
(
7661051252471780561
LLU
),
K
QU
(
15843166204506876239
),
K
QU
(
7661051252471780561
),
QU
(
10170905502249418476
LLU
),
QU
(
7801416045582028589
LLU
),
K
QU
(
10170905502249418476
),
K
QU
(
7801416045582028589
),
QU
(
2763981484737053050
LLU
),
QU
(
9491377905499253054
LLU
),
K
QU
(
2763981484737053050
),
K
QU
(
9491377905499253054
),
QU
(
16201395896336915095
LLU
),
QU
(
9256513756442782198
LLU
),
K
QU
(
16201395896336915095
),
K
QU
(
9256513756442782198
),
QU
(
5411283157972456034
LLU
),
QU
(
5059433122288321676
LLU
),
K
QU
(
5411283157972456034
),
K
QU
(
5059433122288321676
),
QU
(
4327408006721123357
LLU
),
QU
(
9278544078834433377
LLU
),
K
QU
(
4327408006721123357
),
K
QU
(
9278544078834433377
),
QU
(
7601527110882281612
LLU
),
QU
(
11848295896975505251
LLU
),
K
QU
(
7601527110882281612
),
K
QU
(
11848295896975505251
),
QU
(
12096998801094735560
LLU
),
QU
(
14773480339823506413
LLU
),
K
QU
(
12096998801094735560
),
K
QU
(
14773480339823506413
),
QU
(
15586227433895802149
LLU
),
QU
(
12786541257830242872
LLU
),
K
QU
(
15586227433895802149
),
K
QU
(
12786541257830242872
),
QU
(
6904692985140503067
LLU
),
QU
(
5309011515263103959
LLU
),
K
QU
(
6904692985140503067
),
K
QU
(
5309011515263103959
),
QU
(
12105257191179371066
LLU
),
QU
(
14654380212442225037
LLU
),
K
QU
(
12105257191179371066
),
K
QU
(
14654380212442225037
),
QU
(
2556774974190695009
LLU
),
QU
(
4461297399927600261
LLU
),
K
QU
(
2556774974190695009
),
K
QU
(
4461297399927600261
),
QU
(
14888225660915118646
LLU
),
QU
(
14915459341148291824
LLU
),
K
QU
(
14888225660915118646
),
K
QU
(
14915459341148291824
),
QU
(
2738802166252327631
LLU
),
QU
(
6047155789239131512
LLU
),
K
QU
(
2738802166252327631
),
K
QU
(
6047155789239131512
),
QU
(
12920545353217010338
LLU
),
QU
(
10697617257007840205
LLU
),
K
QU
(
12920545353217010338
),
K
QU
(
10697617257007840205
),
QU
(
2751585253158203504
LLU
),
QU
(
13252729159780047496
LLU
),
K
QU
(
2751585253158203504
),
K
QU
(
13252729159780047496
),
QU
(
14700326134672815469
LLU
),
QU
(
14082527904374600529
LLU
),
K
QU
(
14700326134672815469
),
K
QU
(
14082527904374600529
),
QU
(
16852962273496542070
LLU
),
QU
(
17446675504235853907
LLU
),
K
QU
(
16852962273496542070
),
K
QU
(
17446675504235853907
),
QU
(
15019600398527572311
LLU
),
QU
(
12312781346344081551
LLU
),
K
QU
(
15019600398527572311
),
K
QU
(
12312781346344081551
),
QU
(
14524667935039810450
LLU
),
QU
(
5634005663377195738
LLU
),
K
QU
(
14524667935039810450
),
K
QU
(
5634005663377195738
),
QU
(
11375574739525000569
LLU
),
QU
(
2423665396433260040
LLU
),
K
QU
(
11375574739525000569
),
K
QU
(
2423665396433260040
),
QU
(
5222836914796015410
LLU
),
QU
(
4397666386492647387
LLU
),
K
QU
(
5222836914796015410
),
K
QU
(
4397666386492647387
),
QU
(
4619294441691707638
LLU
),
QU
(
665088602354770716
LLU
),
K
QU
(
4619294441691707638
),
K
QU
(
665088602354770716
),
QU
(
13246495665281593610
LLU
),
QU
(
6564144270549729409
LLU
),
K
QU
(
13246495665281593610
),
K
QU
(
6564144270549729409
),
QU
(
10223216188145661688
LLU
),
QU
(
3961556907299230585
LLU
),
K
QU
(
10223216188145661688
),
K
QU
(
3961556907299230585
),
QU
(
11543262515492439914
LLU
),
QU
(
16118031437285993790
LLU
),
K
QU
(
11543262515492439914
),
K
QU
(
16118031437285993790
),
QU
(
7143417964520166465
LLU
),
QU
(
13295053515909486772
LLU
),
K
QU
(
7143417964520166465
),
K
QU
(
13295053515909486772
),
QU
(
40434666004899675
LLU
),
QU
(
17127804194038347164
LLU
),
K
QU
(
40434666004899675
),
K
QU
(
17127804194038347164
),
QU
(
8599165966560586269
LLU
),
QU
(
8214016749011284903
LLU
),
K
QU
(
8599165966560586269
),
K
QU
(
8214016749011284903
),
QU
(
13725130352140465239
LLU
),
QU
(
5467254474431726291
LLU
),
K
QU
(
13725130352140465239
),
K
QU
(
5467254474431726291
),
QU
(
7748584297438219877
LLU
),
QU
(
16933551114829772472
LLU
),
K
QU
(
7748584297438219877
),
K
QU
(
16933551114829772472
),
QU
(
2169618439506799400
LLU
),
QU
(
2169787627665113463
LLU
),
K
QU
(
2169618439506799400
),
K
QU
(
2169787627665113463
),
QU
(
17314493571267943764
LLU
),
QU
(
18053575102911354912
LLU
),
K
QU
(
17314493571267943764
),
K
QU
(
18053575102911354912
),
QU
(
11928303275378476973
LLU
),
QU
(
11593850925061715550
LLU
),
K
QU
(
11928303275378476973
),
K
QU
(
11593850925061715550
),
QU
(
17782269923473589362
LLU
),
QU
(
3280235307704747039
LLU
),
K
QU
(
17782269923473589362
),
K
QU
(
3280235307704747039
),
QU
(
6145343578598685149
LLU
),
QU
(
17080117031114086090
LLU
),
K
QU
(
6145343578598685149
),
K
QU
(
17080117031114086090
),
QU
(
18066839902983594755
LLU
),
QU
(
6517508430331020706
LLU
),
K
QU
(
18066839902983594755
),
K
QU
(
6517508430331020706
),
QU
(
8092908893950411541
LLU
),
QU
(
12558378233386153732
LLU
),
K
QU
(
8092908893950411541
),
K
QU
(
12558378233386153732
),
QU
(
4476532167973132976
LLU
),
QU
(
16081642430367025016
LLU
),
K
QU
(
4476532167973132976
),
K
QU
(
16081642430367025016
),
QU
(
4233154094369139361
LLU
),
QU
(
8693630486693161027
LLU
),
K
QU
(
4233154094369139361
),
K
QU
(
8693630486693161027
),
QU
(
11244959343027742285
LLU
),
QU
(
12273503967768513508
LLU
),
K
QU
(
11244959343027742285
),
K
QU
(
12273503967768513508
),
QU
(
14108978636385284876
LLU
),
QU
(
7242414665378826984
LLU
),
K
QU
(
14108978636385284876
),
K
QU
(
7242414665378826984
),
QU
(
6561316938846562432
LLU
),
QU
(
8601038474994665795
LLU
),
K
QU
(
6561316938846562432
),
K
QU
(
8601038474994665795
),
QU
(
17532942353612365904
LLU
),
QU
(
17940076637020912186
LLU
),
K
QU
(
17532942353612365904
),
K
QU
(
17940076637020912186
),
QU
(
7340260368823171304
LLU
),
QU
(
7061807613916067905
LLU
),
K
QU
(
7340260368823171304
),
K
QU
(
7061807613916067905
),
QU
(
10561734935039519326
LLU
),
QU
(
17990796503724650862
LLU
),
K
QU
(
10561734935039519326
),
K
QU
(
17990796503724650862
),
QU
(
6208732943911827159
LLU
),
QU
(
359077562804090617
LLU
),
K
QU
(
6208732943911827159
),
K
QU
(
359077562804090617
),
QU
(
14177751537784403113
LLU
),
QU
(
10659599444915362902
LLU
),
K
QU
(
14177751537784403113
),
K
QU
(
10659599444915362902
),
QU
(
15081727220615085833
LLU
),
QU
(
13417573895659757486
LLU
),
K
QU
(
15081727220615085833
),
K
QU
(
13417573895659757486
),
QU
(
15513842342017811524
LLU
),
QU
(
11814141516204288231
LLU
),
K
QU
(
15513842342017811524
),
K
QU
(
11814141516204288231
),
QU
(
1827312513875101814
LLU
),
QU
(
2804611699894603103
LLU
),
K
QU
(
1827312513875101814
),
K
QU
(
2804611699894603103
),
QU
(
17116500469975602763
LLU
),
QU
(
12270191815211952087
LLU
),
K
QU
(
17116500469975602763
),
K
QU
(
12270191815211952087
),
QU
(
12256358467786024988
LLU
),
QU
(
18435021722453971267
LLU
),
K
QU
(
12256358467786024988
),
K
QU
(
18435021722453971267
),
QU
(
671330264390865618
LLU
),
QU
(
476504300460286050
LLU
),
K
QU
(
671330264390865618
),
K
QU
(
476504300460286050
),
QU
(
16465470901027093441
LLU
),
QU
(
4047724406247136402
LLU
),
K
QU
(
16465470901027093441
),
K
QU
(
4047724406247136402
),
QU
(
1322305451411883346
LLU
),
QU
(
1388308688834322280
LLU
),
K
QU
(
1322305451411883346
),
K
QU
(
1388308688834322280
),
QU
(
7303989085269758176
LLU
),
QU
(
9323792664765233642
LLU
),
K
QU
(
7303989085269758176
),
K
QU
(
9323792664765233642
),
QU
(
4542762575316368936
LLU
),
QU
(
17342696132794337618
LLU
),
K
QU
(
4542762575316368936
),
K
QU
(
17342696132794337618
),
QU
(
4588025054768498379
LLU
),
QU
(
13415475057390330804
LLU
),
K
QU
(
4588025054768498379
),
K
QU
(
13415475057390330804
),
QU
(
17880279491733405570
LLU
),
QU
(
10610553400618620353
LLU
),
K
QU
(
17880279491733405570
),
K
QU
(
10610553400618620353
),
QU
(
3180842072658960139
LLU
),
QU
(
13002966655454270120
LLU
),
K
QU
(
3180842072658960139
),
K
QU
(
13002966655454270120
),
QU
(
1665301181064982826
LLU
),
QU
(
7083673946791258979
LLU
),
K
QU
(
1665301181064982826
),
K
QU
(
7083673946791258979
),
QU
(
190522247122496820
LLU
),
QU
(
17388280237250677740
LLU
),
K
QU
(
190522247122496820
),
K
QU
(
17388280237250677740
),
QU
(
8430770379923642945
LLU
),
QU
(
12987180971921668584
LLU
),
K
QU
(
8430770379923642945
),
K
QU
(
12987180971921668584
),
QU
(
2311086108365390642
LLU
),
QU
(
2870984383579822345
LLU
),
K
QU
(
2311086108365390642
),
K
QU
(
2870984383579822345
),
QU
(
14014682609164653318
LLU
),
QU
(
14467187293062251484
LLU
),
K
QU
(
14014682609164653318
),
K
QU
(
14467187293062251484
),
QU
(
192186361147413298
LLU
),
QU
(
15171951713531796524
LLU
),
K
QU
(
192186361147413298
),
K
QU
(
15171951713531796524
),
QU
(
9900305495015948728
LLU
),
QU
(
17958004775615466344
LLU
),
K
QU
(
9900305495015948728
),
K
QU
(
17958004775615466344
),
QU
(
14346380954498606514
LLU
),
QU
(
18040047357617407096
LLU
),
K
QU
(
14346380954498606514
),
K
QU
(
18040047357617407096
),
QU
(
5035237584833424532
LLU
),
QU
(
15089555460613972287
LLU
),
K
QU
(
5035237584833424532
),
K
QU
(
15089555460613972287
),
QU
(
4131411873749729831
LLU
),
QU
(
1329013581168250330
LLU
),
K
QU
(
4131411873749729831
),
K
QU
(
1329013581168250330
),
QU
(
10095353333051193949
LLU
),
QU
(
10749518561022462716
LLU
),
K
QU
(
10095353333051193949
),
K
QU
(
10749518561022462716
),
QU
(
9050611429810755847
LLU
),
QU
(
15022028840236655649
LLU
),
K
QU
(
9050611429810755847
),
K
QU
(
15022028840236655649
),
QU
(
8775554279239748298
LLU
),
QU
(
13105754025489230502
LLU
),
K
QU
(
8775554279239748298
),
K
QU
(
13105754025489230502
),
QU
(
15471300118574167585
LLU
),
QU
(
89864764002355628
LLU
),
K
QU
(
15471300118574167585
),
K
QU
(
89864764002355628
),
QU
(
8776416323420466637
LLU
),
QU
(
5280258630612040891
LLU
),
K
QU
(
8776416323420466637
),
K
QU
(
5280258630612040891
),
QU
(
2719174488591862912
LLU
),
QU
(
7599309137399661994
LLU
),
K
QU
(
2719174488591862912
),
K
QU
(
7599309137399661994
),
QU
(
15012887256778039979
LLU
),
QU
(
14062981725630928925
LLU
),
K
QU
(
15012887256778039979
),
K
QU
(
14062981725630928925
),
QU
(
12038536286991689603
LLU
),
QU
(
7089756544681775245
LLU
),
K
QU
(
12038536286991689603
),
K
QU
(
7089756544681775245
),
QU
(
10376661532744718039
LLU
),
QU
(
1265198725901533130
LLU
),
K
QU
(
10376661532744718039
),
K
QU
(
1265198725901533130
),
QU
(
13807996727081142408
LLU
),
QU
(
2935019626765036403
LLU
),
K
QU
(
13807996727081142408
),
K
QU
(
2935019626765036403
),
QU
(
7651672460680700141
LLU
),
QU
(
3644093016200370795
LLU
),
K
QU
(
7651672460680700141
),
K
QU
(
3644093016200370795
),
QU
(
2840982578090080674
LLU
),
QU
(
17956262740157449201
LLU
),
K
QU
(
2840982578090080674
),
K
QU
(
17956262740157449201
),
QU
(
18267979450492880548
LLU
),
QU
(
11799503659796848070
LLU
),
K
QU
(
18267979450492880548
),
K
QU
(
11799503659796848070
),
QU
(
9942537025669672388
LLU
),
QU
(
11886606816406990297
LLU
),
K
QU
(
9942537025669672388
),
K
QU
(
11886606816406990297
),
QU
(
5488594946437447576
LLU
),
QU
(
7226714353282744302
LLU
),
K
QU
(
5488594946437447576
),
K
QU
(
7226714353282744302
),
QU
(
3784851653123877043
LLU
),
QU
(
878018453244803041
LLU
),
K
QU
(
3784851653123877043
),
K
QU
(
878018453244803041
),
QU
(
12110022586268616085
LLU
),
QU
(
734072179404675123
LLU
),
K
QU
(
12110022586268616085
),
K
QU
(
734072179404675123
),
QU
(
11869573627998248542
LLU
),
QU
(
469150421297783998
LLU
),
K
QU
(
11869573627998248542
),
K
QU
(
469150421297783998
),
QU
(
260151124912803804
LLU
),
QU
(
11639179410120968649
LLU
),
K
QU
(
260151124912803804
),
K
QU
(
11639179410120968649
),
QU
(
9318165193840846253
LLU
),
QU
(
12795671722734758075
LLU
),
K
QU
(
9318165193840846253
),
K
QU
(
12795671722734758075
),
QU
(
15318410297267253933
LLU
),
QU
(
691524703570062620
LLU
),
K
QU
(
15318410297267253933
),
K
QU
(
691524703570062620
),
QU
(
5837129010576994601
LLU
),
QU
(
15045963859726941052
LLU
),
K
QU
(
5837129010576994601
),
K
QU
(
15045963859726941052
),
QU
(
5850056944932238169
LLU
),
QU
(
12017434144750943807
LLU
),
K
QU
(
5850056944932238169
),
K
QU
(
12017434144750943807
),
QU
(
7447139064928956574
LLU
),
QU
(
3101711812658245019
LLU
),
K
QU
(
7447139064928956574
),
K
QU
(
3101711812658245019
),
QU
(
16052940704474982954
LLU
),
QU
(
18195745945986994042
LLU
),
K
QU
(
16052940704474982954
),
K
QU
(
18195745945986994042
),
QU
(
8932252132785575659
LLU
),
QU
(
13390817488106794834
LLU
),
K
QU
(
8932252132785575659
),
K
QU
(
13390817488106794834
),
QU
(
11582771836502517453
LLU
),
QU
(
4964411326683611686
LLU
),
K
QU
(
11582771836502517453
),
K
QU
(
4964411326683611686
),
QU
(
2195093981702694011
LLU
),
QU
(
14145229538389675669
LLU
),
K
QU
(
2195093981702694011
),
K
QU
(
14145229538389675669
),
QU
(
16459605532062271798
LLU
),
QU
(
866316924816482864
LLU
),
K
QU
(
16459605532062271798
),
K
QU
(
866316924816482864
),
QU
(
4593041209937286377
LLU
),
QU
(
8415491391910972138
LLU
),
K
QU
(
4593041209937286377
),
K
QU
(
8415491391910972138
),
QU
(
4171236715600528969
LLU
),
QU
(
16637569303336782889
LLU
),
K
QU
(
4171236715600528969
),
K
QU
(
16637569303336782889
),
QU
(
2002011073439212680
LLU
),
QU
(
17695124661097601411
LLU
),
K
QU
(
2002011073439212680
),
K
QU
(
17695124661097601411
),
QU
(
4627687053598611702
LLU
),
QU
(
7895831936020190403
LLU
),
K
QU
(
4627687053598611702
),
K
QU
(
7895831936020190403
),
QU
(
8455951300917267802
LLU
),
QU
(
2923861649108534854
LLU
),
K
QU
(
8455951300917267802
),
K
QU
(
2923861649108534854
),
QU
(
8344557563927786255
LLU
),
QU
(
6408671940373352556
LLU
),
K
QU
(
8344557563927786255
),
K
QU
(
6408671940373352556
),
QU
(
12210227354536675772
LLU
),
QU
(
14294804157294222295
LLU
),
K
QU
(
12210227354536675772
),
K
QU
(
14294804157294222295
),
QU
(
10103022425071085127
LLU
),
QU
(
10092959489504123771
LLU
),
K
QU
(
10103022425071085127
),
K
QU
(
10092959489504123771
),
QU
(
6554774405376736268
LLU
),
QU
(
12629917718410641774
LLU
),
K
QU
(
6554774405376736268
),
K
QU
(
12629917718410641774
),
QU
(
6260933257596067126
LLU
),
QU
(
2460827021439369673
LLU
),
K
QU
(
6260933257596067126
),
K
QU
(
2460827021439369673
),
QU
(
2541962996717103668
LLU
),
QU
(
597377203127351475
LLU
),
K
QU
(
2541962996717103668
),
K
QU
(
597377203127351475
),
QU
(
5316984203117315309
LLU
),
QU
(
4811211393563241961
LLU
),
K
QU
(
5316984203117315309
),
K
QU
(
4811211393563241961
),
QU
(
13119698597255811641
LLU
),
QU
(
8048691512862388981
LLU
),
K
QU
(
13119698597255811641
),
K
QU
(
8048691512862388981
),
QU
(
10216818971194073842
LLU
),
QU
(
4612229970165291764
LLU
),
K
QU
(
10216818971194073842
),
K
QU
(
4612229970165291764
),
QU
(
10000980798419974770
LLU
),
QU
(
6877640812402540687
LLU
),
K
QU
(
10000980798419974770
),
K
QU
(
6877640812402540687
),
QU
(
1488727563290436992
LLU
),
QU
(
2227774069895697318
LLU
),
K
QU
(
1488727563290436992
),
K
QU
(
2227774069895697318
),
QU
(
11237754507523316593
LLU
),
QU
(
13478948605382290972
LLU
),
K
QU
(
11237754507523316593
),
K
QU
(
13478948605382290972
),
QU
(
1963583846976858124
LLU
),
QU
(
5512309205269276457
LLU
),
K
QU
(
1963583846976858124
),
K
QU
(
5512309205269276457
),
QU
(
3972770164717652347
LLU
),
QU
(
3841751276198975037
LLU
),
K
QU
(
3972770164717652347
),
K
QU
(
3841751276198975037
),
QU
(
10283343042181903117
LLU
),
QU
(
8564001259792872199
LLU
),
K
QU
(
10283343042181903117
),
K
QU
(
8564001259792872199
),
QU
(
16472187244722489221
LLU
),
QU
(
8953493499268945921
LLU
),
K
QU
(
16472187244722489221
),
K
QU
(
8953493499268945921
),
QU
(
3518747340357279580
LLU
),
QU
(
4003157546223963073
LLU
),
K
QU
(
3518747340357279580
),
K
QU
(
4003157546223963073
),
QU
(
3270305958289814590
LLU
),
QU
(
3966704458129482496
LLU
),
K
QU
(
3270305958289814590
),
K
QU
(
3966704458129482496
),
QU
(
8122141865926661939
LLU
),
QU
(
14627734748099506653
LLU
),
K
QU
(
8122141865926661939
),
K
QU
(
14627734748099506653
),
QU
(
13064426990862560568
LLU
),
QU
(
2414079187889870829
LLU
),
K
QU
(
13064426990862560568
),
K
QU
(
2414079187889870829
),
QU
(
5378461209354225306
LLU
),
QU
(
10841985740128255566
LLU
),
K
QU
(
5378461209354225306
),
K
QU
(
10841985740128255566
),
QU
(
538582442885401738
LLU
),
QU
(
7535089183482905946
LLU
),
K
QU
(
538582442885401738
),
K
QU
(
7535089183482905946
),
QU
(
16117559957598879095
LLU
),
QU
(
8477890721414539741
LLU
),
K
QU
(
16117559957598879095
),
K
QU
(
8477890721414539741
),
QU
(
1459127491209533386
LLU
),
QU
(
17035126360733620462
LLU
),
K
QU
(
1459127491209533386
),
K
QU
(
17035126360733620462
),
QU
(
8517668552872379126
LLU
),
QU
(
10292151468337355014
LLU
),
K
QU
(
8517668552872379126
),
K
QU
(
10292151468337355014
),
QU
(
17081267732745344157
LLU
),
QU
(
13751455337946087178
LLU
),
K
QU
(
17081267732745344157
),
K
QU
(
13751455337946087178
),
QU
(
14026945459523832966
LLU
),
QU
(
6653278775061723516
LLU
),
K
QU
(
14026945459523832966
),
K
QU
(
6653278775061723516
),
QU
(
10619085543856390441
LLU
),
QU
(
2196343631481122885
LLU
),
K
QU
(
10619085543856390441
),
K
QU
(
2196343631481122885
),
QU
(
10045966074702826136
LLU
),
QU
(
10082317330452718282
LLU
),
K
QU
(
10045966074702826136
),
K
QU
(
10082317330452718282
),
QU
(
5920859259504831242
LLU
),
QU
(
9951879073426540617
LLU
),
K
QU
(
5920859259504831242
),
K
QU
(
9951879073426540617
),
QU
(
7074696649151414158
LLU
),
QU
(
15808193543879464318
LLU
),
K
QU
(
7074696649151414158
),
K
QU
(
15808193543879464318
),
QU
(
7385247772746953374
LLU
),
QU
(
3192003544283864292
LLU
),
K
QU
(
7385247772746953374
),
K
QU
(
3192003544283864292
),
QU
(
18153684490917593847
LLU
),
QU
(
12423498260668568905
LLU
),
K
QU
(
18153684490917593847
),
K
QU
(
12423498260668568905
),
QU
(
10957758099756378169
LLU
),
QU
(
11488762179911016040
LLU
),
K
QU
(
10957758099756378169
),
K
QU
(
11488762179911016040
),
QU
(
2099931186465333782
LLU
),
QU
(
11180979581250294432
LLU
),
K
QU
(
2099931186465333782
),
K
QU
(
11180979581250294432
),
QU
(
8098916250668367933
LLU
),
QU
(
3529200436790763465
LLU
),
K
QU
(
8098916250668367933
),
K
QU
(
3529200436790763465
),
QU
(
12988418908674681745
LLU
),
QU
(
6147567275954808580
LLU
),
K
QU
(
12988418908674681745
),
K
QU
(
6147567275954808580
),
QU
(
3207503344604030989
LLU
),
QU
(
10761592604898615360
LLU
),
K
QU
(
3207503344604030989
),
K
QU
(
10761592604898615360
),
QU
(
229854861031893504
LLU
),
QU
(
8809853962667144291
LLU
),
K
QU
(
229854861031893504
),
K
QU
(
8809853962667144291
),
QU
(
13957364469005693860
LLU
),
QU
(
7634287665224495886
LLU
),
K
QU
(
13957364469005693860
),
K
QU
(
7634287665224495886
),
QU
(
12353487366976556874
LLU
),
QU
(
1134423796317152034
LLU
),
K
QU
(
12353487366976556874
),
K
QU
(
1134423796317152034
),
QU
(
2088992471334107068
LLU
),
QU
(
7393372127190799698
LLU
),
K
QU
(
2088992471334107068
),
K
QU
(
7393372127190799698
),
QU
(
1845367839871058391
LLU
),
QU
(
207922563987322884
LLU
),
K
QU
(
1845367839871058391
),
K
QU
(
207922563987322884
),
QU
(
11960870813159944976
LLU
),
QU
(
12182120053317317363
LLU
),
K
QU
(
11960870813159944976
),
K
QU
(
12182120053317317363
),
QU
(
17307358132571709283
LLU
),
QU
(
13871081155552824936
LLU
),
K
QU
(
17307358132571709283
),
K
QU
(
13871081155552824936
),
QU
(
18304446751741566262
LLU
),
QU
(
7178705220184302849
LLU
),
K
QU
(
18304446751741566262
),
K
QU
(
7178705220184302849
),
QU
(
10929605677758824425
LLU
),
QU
(
16446976977835806844
LLU
),
K
QU
(
10929605677758824425
),
K
QU
(
16446976977835806844
),
QU
(
13723874412159769044
LLU
),
QU
(
6942854352100915216
LLU
),
K
QU
(
13723874412159769044
),
K
QU
(
6942854352100915216
),
QU
(
1726308474365729390
LLU
),
QU
(
2150078766445323155
LLU
),
K
QU
(
1726308474365729390
),
K
QU
(
2150078766445323155
),
QU
(
15345558947919656626
LLU
),
QU
(
12145453828874527201
LLU
),
K
QU
(
15345558947919656626
),
K
QU
(
12145453828874527201
),
QU
(
2054448620739726849
LLU
),
QU
(
2740102003352628137
LLU
),
K
QU
(
2054448620739726849
),
K
QU
(
2740102003352628137
),
QU
(
11294462163577610655
LLU
),
QU
(
756164283387413743
LLU
),
K
QU
(
11294462163577610655
),
K
QU
(
756164283387413743
),
QU
(
17841144758438810880
LLU
),
QU
(
10802406021185415861
LLU
),
K
QU
(
17841144758438810880
),
K
QU
(
10802406021185415861
),
QU
(
8716455530476737846
LLU
),
QU
(
6321788834517649606
LLU
),
K
QU
(
8716455530476737846
),
K
QU
(
6321788834517649606
),
QU
(
14681322910577468426
LLU
),
QU
(
17330043563884336387
LLU
),
K
QU
(
14681322910577468426
),
K
QU
(
17330043563884336387
),
QU
(
12701802180050071614
LLU
),
QU
(
14695105111079727151
LLU
),
K
QU
(
12701802180050071614
),
K
QU
(
14695105111079727151
),
QU
(
5112098511654172830
LLU
),
QU
(
4957505496794139973
LLU
),
K
QU
(
5112098511654172830
),
K
QU
(
4957505496794139973
),
QU
(
8270979451952045982
LLU
),
QU
(
12307685939199120969
LLU
),
K
QU
(
8270979451952045982
),
K
QU
(
12307685939199120969
),
QU
(
12425799408953443032
LLU
),
QU
(
8376410143634796588
LLU
),
K
QU
(
12425799408953443032
),
K
QU
(
8376410143634796588
),
QU
(
16621778679680060464
LLU
),
QU
(
3580497854566660073
LLU
),
K
QU
(
16621778679680060464
),
K
QU
(
3580497854566660073
),
QU
(
1122515747803382416
LLU
),
QU
(
857664980960597599
LLU
),
K
QU
(
1122515747803382416
),
K
QU
(
857664980960597599
),
QU
(
6343640119895925918
LLU
),
QU
(
12878473260854462891
LLU
),
K
QU
(
6343640119895925918
),
K
QU
(
12878473260854462891
),
QU
(
10036813920765722626
LLU
),
QU
(
14451335468363173812
LLU
),
K
QU
(
10036813920765722626
),
K
QU
(
14451335468363173812
),
QU
(
5476809692401102807
LLU
),
QU
(
16442255173514366342
LLU
),
K
QU
(
5476809692401102807
),
K
QU
(
16442255173514366342
),
QU
(
13060203194757167104
LLU
),
QU
(
14354124071243177715
LLU
),
K
QU
(
13060203194757167104
),
K
QU
(
14354124071243177715
),
QU
(
15961249405696125227
LLU
),
QU
(
13703893649690872584
LLU
),
K
QU
(
15961249405696125227
),
K
QU
(
13703893649690872584
),
QU
(
363907326340340064
LLU
),
QU
(
6247455540491754842
LLU
),
K
QU
(
363907326340340064
),
K
QU
(
6247455540491754842
),
QU
(
12242249332757832361
LLU
),
QU
(
156065475679796717
LLU
),
K
QU
(
12242249332757832361
),
K
QU
(
156065475679796717
),
QU
(
9351116235749732355
LLU
),
QU
(
4590350628677701405
LLU
),
K
QU
(
9351116235749732355
),
K
QU
(
4590350628677701405
),
QU
(
1671195940982350389
LLU
),
QU
(
13501398458898451905
LLU
),
K
QU
(
1671195940982350389
),
K
QU
(
13501398458898451905
),
QU
(
6526341991225002255
LLU
),
QU
(
1689782913778157592
LLU
),
K
QU
(
6526341991225002255
),
K
QU
(
1689782913778157592
),
QU
(
7439222350869010334
LLU
),
QU
(
13975150263226478308
LLU
),
K
QU
(
7439222350869010334
),
K
QU
(
13975150263226478308
),
QU
(
11411961169932682710
LLU
),
QU
(
17204271834833847277
LLU
),
K
QU
(
11411961169932682710
),
K
QU
(
17204271834833847277
),
QU
(
541534742544435367
LLU
),
QU
(
6591191931218949684
LLU
),
K
QU
(
541534742544435367
),
K
QU
(
6591191931218949684
),
QU
(
2645454775478232486
LLU
),
QU
(
4322857481256485321
LLU
),
K
QU
(
2645454775478232486
),
K
QU
(
4322857481256485321
),
QU
(
8477416487553065110
LLU
),
QU
(
12902505428548435048
LLU
),
K
QU
(
8477416487553065110
),
K
QU
(
12902505428548435048
),
QU
(
971445777981341415
LLU
),
QU
(
14995104682744976712
LLU
),
K
QU
(
971445777981341415
),
K
QU
(
14995104682744976712
),
QU
(
4243341648807158063
LLU
),
QU
(
8695061252721927661
LLU
),
K
QU
(
4243341648807158063
),
K
QU
(
8695061252721927661
),
QU
(
5028202003270177222
LLU
),
QU
(
2289257340915567840
LLU
),
K
QU
(
5028202003270177222
),
K
QU
(
2289257340915567840
),
QU
(
13870416345121866007
LLU
),
QU
(
13994481698072092233
LLU
),
K
QU
(
13870416345121866007
),
K
QU
(
13994481698072092233
),
QU
(
6912785400753196481
LLU
),
QU
(
2278309315841980139
LLU
),
K
QU
(
6912785400753196481
),
K
QU
(
2278309315841980139
),
QU
(
4329765449648304839
LLU
),
QU
(
5963108095785485298
LLU
),
K
QU
(
4329765449648304839
),
K
QU
(
5963108095785485298
),
QU
(
4880024847478722478
LLU
),
QU
(
16015608779890240947
LLU
),
K
QU
(
4880024847478722478
),
K
QU
(
16015608779890240947
),
QU
(
1866679034261393544
LLU
),
QU
(
914821179919731519
LLU
),
K
QU
(
1866679034261393544
),
K
QU
(
914821179919731519
),
QU
(
9643404035648760131
LLU
),
QU
(
2418114953615593915
LLU
),
K
QU
(
9643404035648760131
),
K
QU
(
2418114953615593915
),
QU
(
944756836073702374
LLU
),
QU
(
15186388048737296834
LLU
),
K
QU
(
944756836073702374
),
K
QU
(
15186388048737296834
),
QU
(
7723355336128442206
LLU
),
QU
(
7500747479679599691
LLU
),
K
QU
(
7723355336128442206
),
K
QU
(
7500747479679599691
),
QU
(
18013961306453293634
LLU
),
QU
(
2315274808095756456
LLU
),
K
QU
(
18013961306453293634
),
K
QU
(
2315274808095756456
),
QU
(
13655308255424029566
LLU
),
QU
(
17203800273561677098
LLU
),
K
QU
(
13655308255424029566
),
K
QU
(
17203800273561677098
),
QU
(
1382158694422087756
LLU
),
QU
(
5090390250309588976
LLU
),
K
QU
(
1382158694422087756
),
K
QU
(
5090390250309588976
),
QU
(
517170818384213989
LLU
),
QU
(
1612709252627729621
LLU
),
K
QU
(
517170818384213989
),
K
QU
(
1612709252627729621
),
QU
(
1330118955572449606
LLU
),
QU
(
300922478056709885
LLU
),
K
QU
(
1330118955572449606
),
K
QU
(
300922478056709885
),
QU
(
18115693291289091987
LLU
),
QU
(
13491407109725238321
LLU
),
K
QU
(
18115693291289091987
),
K
QU
(
13491407109725238321
),
QU
(
15293714633593827320
LLU
),
QU
(
5151539373053314504
LLU
),
K
QU
(
15293714633593827320
),
K
QU
(
5151539373053314504
),
QU
(
5951523243743139207
LLU
),
QU
(
14459112015249527975
LLU
),
K
QU
(
5951523243743139207
),
K
QU
(
14459112015249527975
),
QU
(
5456113959000700739
LLU
),
QU
(
3877918438464873016
LLU
),
K
QU
(
5456113959000700739
),
K
QU
(
3877918438464873016
),
QU
(
12534071654260163555
LLU
),
QU
(
15871678376893555041
LLU
),
K
QU
(
12534071654260163555
),
K
QU
(
15871678376893555041
),
QU
(
11005484805712025549
LLU
),
QU
(
16353066973143374252
LLU
),
K
QU
(
11005484805712025549
),
K
QU
(
16353066973143374252
),
QU
(
4358331472063256685
LLU
),
QU
(
8268349332210859288
LLU
),
K
QU
(
4358331472063256685
),
K
QU
(
8268349332210859288
),
QU
(
12485161590939658075
LLU
),
QU
(
13955993592854471343
LLU
),
K
QU
(
12485161590939658075
),
K
QU
(
13955993592854471343
),
QU
(
5911446886848367039
LLU
),
QU
(
14925834086813706974
LLU
),
K
QU
(
5911446886848367039
),
K
QU
(
14925834086813706974
),
QU
(
6590362597857994805
LLU
),
QU
(
1280544923533661875
LLU
),
K
QU
(
6590362597857994805
),
K
QU
(
1280544923533661875
),
QU
(
1637756018947988164
LLU
),
QU
(
4734090064512686329
LLU
),
K
QU
(
1637756018947988164
),
K
QU
(
4734090064512686329
),
QU
(
16693705263131485912
LLU
),
QU
(
6834882340494360958
LLU
),
K
QU
(
16693705263131485912
),
K
QU
(
6834882340494360958
),
QU
(
8120732176159658505
LLU
),
QU
(
2244371958905329346
LLU
),
K
QU
(
8120732176159658505
),
K
QU
(
2244371958905329346
),
QU
(
10447499707729734021
LLU
),
QU
(
7318742361446942194
LLU
),
K
QU
(
10447499707729734021
),
K
QU
(
7318742361446942194
),
QU
(
8032857516355555296
LLU
),
QU
(
14023605983059313116
LLU
),
K
QU
(
8032857516355555296
),
K
QU
(
14023605983059313116
),
QU
(
1032336061815461376
LLU
),
QU
(
9840995337876562612
LLU
),
K
QU
(
1032336061815461376
),
K
QU
(
9840995337876562612
),
QU
(
9869256223029203587
LLU
),
QU
(
12227975697177267636
LLU
),
K
QU
(
9869256223029203587
),
K
QU
(
12227975697177267636
),
QU
(
12728115115844186033
LLU
),
QU
(
7752058479783205470
LLU
),
K
QU
(
12728115115844186033
),
K
QU
(
7752058479783205470
),
QU
(
729733219713393087
LLU
),
QU
(
12954017801239007622
LLU
)
K
QU
(
729733219713393087
),
K
QU
(
12954017801239007622
)
};
};
static
const
uint64_t
init_by_array_64_expected
[]
=
{
static
const
uint64_t
init_by_array_64_expected
[]
=
{
QU
(
2100341266307895239
LLU
),
QU
(
8344256300489757943
LLU
),
K
QU
(
2100341266307895239
),
K
QU
(
8344256300489757943
),
QU
(
15687933285484243894
LLU
),
QU
(
8268620370277076319
LLU
),
K
QU
(
15687933285484243894
),
K
QU
(
8268620370277076319
),
QU
(
12371852309826545459
LLU
),
QU
(
8800491541730110238
LLU
),
K
QU
(
12371852309826545459
),
K
QU
(
8800491541730110238
),
QU
(
18113268950100835773
LLU
),
QU
(
2886823658884438119
LLU
),
K
QU
(
18113268950100835773
),
K
QU
(
2886823658884438119
),
QU
(
3293667307248180724
LLU
),
QU
(
9307928143300172731
LLU
),
K
QU
(
3293667307248180724
),
K
QU
(
9307928143300172731
),
QU
(
7688082017574293629
LLU
),
QU
(
900986224735166665
LLU
),
K
QU
(
7688082017574293629
),
K
QU
(
900986224735166665
),
QU
(
9977972710722265039
LLU
),
QU
(
6008205004994830552
LLU
),
K
QU
(
9977972710722265039
),
K
QU
(
6008205004994830552
),
QU
(
546909104521689292
LLU
),
QU
(
7428471521869107594
LLU
),
K
QU
(
546909104521689292
),
K
QU
(
7428471521869107594
),
QU
(
14777563419314721179
LLU
),
QU
(
16116143076567350053
LLU
),
K
QU
(
14777563419314721179
),
K
QU
(
16116143076567350053
),
QU
(
5322685342003142329
LLU
),
QU
(
4200427048445863473
LLU
),
K
QU
(
5322685342003142329
),
K
QU
(
4200427048445863473
),
QU
(
4693092150132559146
LLU
),
QU
(
13671425863759338582
LLU
),
K
QU
(
4693092150132559146
),
K
QU
(
13671425863759338582
),
QU
(
6747117460737639916
LLU
),
QU
(
4732666080236551150
LLU
),
K
QU
(
6747117460737639916
),
K
QU
(
4732666080236551150
),
QU
(
5912839950611941263
LLU
),
QU
(
3903717554504704909
LLU
),
K
QU
(
5912839950611941263
),
K
QU
(
3903717554504704909
),
QU
(
2615667650256786818
LLU
),
QU
(
10844129913887006352
LLU
),
K
QU
(
2615667650256786818
),
K
QU
(
10844129913887006352
),
QU
(
13786467861810997820
LLU
),
QU
(
14267853002994021570
LLU
),
K
QU
(
13786467861810997820
),
K
QU
(
14267853002994021570
),
QU
(
13767807302847237439
LLU
),
QU
(
16407963253707224617
LLU
),
K
QU
(
13767807302847237439
),
K
QU
(
16407963253707224617
),
QU
(
4802498363698583497
LLU
),
QU
(
2523802839317209764
LLU
),
K
QU
(
4802498363698583497
),
K
QU
(
2523802839317209764
),
QU
(
3822579397797475589
LLU
),
QU
(
8950320572212130610
LLU
),
K
QU
(
3822579397797475589
),
K
QU
(
8950320572212130610
),
QU
(
3745623504978342534
LLU
),
QU
(
16092609066068482806
LLU
),
K
QU
(
3745623504978342534
),
K
QU
(
16092609066068482806
),
QU
(
9817016950274642398
LLU
),
QU
(
10591660660323829098
LLU
),
K
QU
(
9817016950274642398
),
K
QU
(
10591660660323829098
),
QU
(
11751606650792815920
LLU
),
QU
(
5122873818577122211
LLU
),
K
QU
(
11751606650792815920
),
K
QU
(
5122873818577122211
),
QU
(
17209553764913936624
LLU
),
QU
(
6249057709284380343
LLU
),
K
QU
(
17209553764913936624
),
K
QU
(
6249057709284380343
),
QU
(
15088791264695071830
LLU
),
QU
(
15344673071709851930
LLU
),
K
QU
(
15088791264695071830
),
K
QU
(
15344673071709851930
),
QU
(
4345751415293646084
LLU
),
QU
(
2542865750703067928
LLU
),
K
QU
(
4345751415293646084
),
K
QU
(
2542865750703067928
),
QU
(
13520525127852368784
LLU
),
QU
(
18294188662880997241
LLU
),
K
QU
(
13520525127852368784
),
K
QU
(
18294188662880997241
),
QU
(
3871781938044881523
LLU
),
QU
(
2873487268122812184
LLU
),
K
QU
(
3871781938044881523
),
K
QU
(
2873487268122812184
),
QU
(
15099676759482679005
LLU
),
QU
(
15442599127239350490
LLU
),
K
QU
(
15099676759482679005
),
K
QU
(
15442599127239350490
),
QU
(
6311893274367710888
LLU
),
QU
(
3286118760484672933
LLU
),
K
QU
(
6311893274367710888
),
K
QU
(
3286118760484672933
),
QU
(
4146067961333542189
LLU
),
QU
(
13303942567897208770
LLU
),
K
QU
(
4146067961333542189
),
K
QU
(
13303942567897208770
),
QU
(
8196013722255630418
LLU
),
QU
(
4437815439340979989
LLU
),
K
QU
(
8196013722255630418
),
K
QU
(
4437815439340979989
),
QU
(
15433791533450605135
LLU
),
QU
(
4254828956815687049
LLU
),
K
QU
(
15433791533450605135
),
K
QU
(
4254828956815687049
),
QU
(
1310903207708286015
LLU
),
QU
(
10529182764462398549
LLU
),
K
QU
(
1310903207708286015
),
K
QU
(
10529182764462398549
),
QU
(
14900231311660638810
LLU
),
QU
(
9727017277104609793
LLU
),
K
QU
(
14900231311660638810
),
K
QU
(
9727017277104609793
),
QU
(
1821308310948199033
LLU
),
QU
(
11628861435066772084
LLU
),
K
QU
(
1821308310948199033
),
K
QU
(
11628861435066772084
),
QU
(
9469019138491546924
LLU
),
QU
(
3145812670532604988
LLU
),
K
QU
(
9469019138491546924
),
K
QU
(
3145812670532604988
),
QU
(
9938468915045491919
LLU
),
QU
(
1562447430672662142
LLU
),
K
QU
(
9938468915045491919
),
K
QU
(
1562447430672662142
),
QU
(
13963995266697989134
LLU
),
QU
(
3356884357625028695
LLU
),
K
QU
(
13963995266697989134
),
K
QU
(
3356884357625028695
),
QU
(
4499850304584309747
LLU
),
QU
(
8456825817023658122
LLU
),
K
QU
(
4499850304584309747
),
K
QU
(
8456825817023658122
),
QU
(
10859039922814285279
LLU
),
QU
(
8099512337972526555
LLU
),
K
QU
(
10859039922814285279
),
K
QU
(
8099512337972526555
),
QU
(
348006375109672149
LLU
),
QU
(
11919893998241688603
LLU
),
K
QU
(
348006375109672149
),
K
QU
(
11919893998241688603
),
QU
(
1104199577402948826
LLU
),
QU
(
16689191854356060289
LLU
),
K
QU
(
1104199577402948826
),
K
QU
(
16689191854356060289
),
QU
(
10992552041730168078
LLU
),
QU
(
7243733172705465836
LLU
),
K
QU
(
10992552041730168078
),
K
QU
(
7243733172705465836
),
QU
(
5668075606180319560
LLU
),
QU
(
18182847037333286970
LLU
),
K
QU
(
5668075606180319560
),
K
QU
(
18182847037333286970
),
QU
(
4290215357664631322
LLU
),
QU
(
4061414220791828613
LLU
),
K
QU
(
4290215357664631322
),
K
QU
(
4061414220791828613
),
QU
(
13006291061652989604
LLU
),
QU
(
7140491178917128798
LLU
),
K
QU
(
13006291061652989604
),
K
QU
(
7140491178917128798
),
QU
(
12703446217663283481
LLU
),
QU
(
5500220597564558267
LLU
),
K
QU
(
12703446217663283481
),
K
QU
(
5500220597564558267
),
QU
(
10330551509971296358
LLU
),
QU
(
15958554768648714492
LLU
),
K
QU
(
10330551509971296358
),
K
QU
(
15958554768648714492
),
QU
(
5174555954515360045
LLU
),
QU
(
1731318837687577735
LLU
),
K
QU
(
5174555954515360045
),
K
QU
(
1731318837687577735
),
QU
(
3557700801048354857
LLU
),
QU
(
13764012341928616198
LLU
),
K
QU
(
3557700801048354857
),
K
QU
(
13764012341928616198
),
QU
(
13115166194379119043
LLU
),
QU
(
7989321021560255519
LLU
),
K
QU
(
13115166194379119043
),
K
QU
(
7989321021560255519
),
QU
(
2103584280905877040
LLU
),
QU
(
9230788662155228488
LLU
),
K
QU
(
2103584280905877040
),
K
QU
(
9230788662155228488
),
QU
(
16396629323325547654
LLU
),
QU
(
657926409811318051
LLU
),
K
QU
(
16396629323325547654
),
K
QU
(
657926409811318051
),
QU
(
15046700264391400727
LLU
),
QU
(
5120132858771880830
LLU
),
K
QU
(
15046700264391400727
),
K
QU
(
5120132858771880830
),
QU
(
7934160097989028561
LLU
),
QU
(
6963121488531976245
LLU
),
K
QU
(
7934160097989028561
),
K
QU
(
6963121488531976245
),
QU
(
17412329602621742089
LLU
),
QU
(
15144843053931774092
LLU
),
K
QU
(
17412329602621742089
),
K
QU
(
15144843053931774092
),
QU
(
17204176651763054532
LLU
),
QU
(
13166595387554065870
LLU
),
K
QU
(
17204176651763054532
),
K
QU
(
13166595387554065870
),
QU
(
8590377810513960213
LLU
),
QU
(
5834365135373991938
LLU
),
K
QU
(
8590377810513960213
),
K
QU
(
5834365135373991938
),
QU
(
7640913007182226243
LLU
),
QU
(
3479394703859418425
LLU
),
K
QU
(
7640913007182226243
),
K
QU
(
3479394703859418425
),
QU
(
16402784452644521040
LLU
),
QU
(
4993979809687083980
LLU
),
K
QU
(
16402784452644521040
),
K
QU
(
4993979809687083980
),
QU
(
13254522168097688865
LLU
),
QU
(
15643659095244365219
LLU
),
K
QU
(
13254522168097688865
),
K
QU
(
15643659095244365219
),
QU
(
5881437660538424982
LLU
),
QU
(
11174892200618987379
LLU
),
K
QU
(
5881437660538424982
),
K
QU
(
11174892200618987379
),
QU
(
254409966159711077
LLU
),
QU
(
17158413043140549909
LLU
),
K
QU
(
254409966159711077
),
K
QU
(
17158413043140549909
),
QU
(
3638048789290376272
LLU
),
QU
(
1376816930299489190
LLU
),
K
QU
(
3638048789290376272
),
K
QU
(
1376816930299489190
),
QU
(
4622462095217761923
LLU
),
QU
(
15086407973010263515
LLU
),
K
QU
(
4622462095217761923
),
K
QU
(
15086407973010263515
),
QU
(
13253971772784692238
LLU
),
QU
(
5270549043541649236
LLU
),
K
QU
(
13253971772784692238
),
K
QU
(
5270549043541649236
),
QU
(
11182714186805411604
LLU
),
QU
(
12283846437495577140
LLU
),
K
QU
(
11182714186805411604
),
K
QU
(
12283846437495577140
),
QU
(
5297647149908953219
LLU
),
QU
(
10047451738316836654
LLU
),
K
QU
(
5297647149908953219
),
K
QU
(
10047451738316836654
),
QU
(
4938228100367874746
LLU
),
QU
(
12328523025304077923
LLU
),
K
QU
(
4938228100367874746
),
K
QU
(
12328523025304077923
),
QU
(
3601049438595312361
LLU
),
QU
(
9313624118352733770
LLU
),
K
QU
(
3601049438595312361
),
K
QU
(
9313624118352733770
),
QU
(
13322966086117661798
LLU
),
QU
(
16660005705644029394
LLU
),
K
QU
(
13322966086117661798
),
K
QU
(
16660005705644029394
),
QU
(
11337677526988872373
LLU
),
QU
(
13869299102574417795
LLU
),
K
QU
(
11337677526988872373
),
K
QU
(
13869299102574417795
),
QU
(
15642043183045645437
LLU
),
QU
(
3021755569085880019
LLU
),
K
QU
(
15642043183045645437
),
K
QU
(
3021755569085880019
),
QU
(
4979741767761188161
LLU
),
QU
(
13679979092079279587
LLU
),
K
QU
(
4979741767761188161
),
K
QU
(
13679979092079279587
),
QU
(
3344685842861071743
LLU
),
QU
(
13947960059899588104
LLU
),
K
QU
(
3344685842861071743
),
K
QU
(
13947960059899588104
),
QU
(
305806934293368007
LLU
),
QU
(
5749173929201650029
LLU
),
K
QU
(
305806934293368007
),
K
QU
(
5749173929201650029
),
QU
(
11123724852118844098
LLU
),
QU
(
15128987688788879802
LLU
),
K
QU
(
11123724852118844098
),
K
QU
(
15128987688788879802
),
QU
(
15251651211024665009
LLU
),
QU
(
7689925933816577776
LLU
),
K
QU
(
15251651211024665009
),
K
QU
(
7689925933816577776
),
QU
(
16732804392695859449
LLU
),
QU
(
17087345401014078468
LLU
),
K
QU
(
16732804392695859449
),
K
QU
(
17087345401014078468
),
QU
(
14315108589159048871
LLU
),
QU
(
4820700266619778917
LLU
),
K
QU
(
14315108589159048871
),
K
QU
(
4820700266619778917
),
QU
(
16709637539357958441
LLU
),
QU
(
4936227875177351374
LLU
),
K
QU
(
16709637539357958441
),
K
QU
(
4936227875177351374
),
QU
(
2137907697912987247
LLU
),
QU
(
11628565601408395420
LLU
),
K
QU
(
2137907697912987247
),
K
QU
(
11628565601408395420
),
QU
(
2333250549241556786
LLU
),
QU
(
5711200379577778637
LLU
),
K
QU
(
2333250549241556786
),
K
QU
(
5711200379577778637
),
QU
(
5170680131529031729
LLU
),
QU
(
12620392043061335164
LLU
),
K
QU
(
5170680131529031729
),
K
QU
(
12620392043061335164
),
QU
(
95363390101096078
LLU
),
QU
(
5487981914081709462
LLU
),
K
QU
(
95363390101096078
),
K
QU
(
5487981914081709462
),
QU
(
1763109823981838620
LLU
),
QU
(
3395861271473224396
LLU
),
K
QU
(
1763109823981838620
),
K
QU
(
3395861271473224396
),
QU
(
1300496844282213595
LLU
),
QU
(
6894316212820232902
LLU
),
K
QU
(
1300496844282213595
),
K
QU
(
6894316212820232902
),
QU
(
10673859651135576674
LLU
),
QU
(
5911839658857903252
LLU
),
K
QU
(
10673859651135576674
),
K
QU
(
5911839658857903252
),
QU
(
17407110743387299102
LLU
),
QU
(
8257427154623140385
LLU
),
K
QU
(
17407110743387299102
),
K
QU
(
8257427154623140385
),
QU
(
11389003026741800267
LLU
),
QU
(
4070043211095013717
LLU
),
K
QU
(
11389003026741800267
),
K
QU
(
4070043211095013717
),
QU
(
11663806997145259025
LLU
),
QU
(
15265598950648798210
LLU
),
K
QU
(
11663806997145259025
),
K
QU
(
15265598950648798210
),
QU
(
630585789434030934
LLU
),
QU
(
3524446529213587334
LLU
),
K
QU
(
630585789434030934
),
K
QU
(
3524446529213587334
),
QU
(
7186424168495184211
LLU
),
QU
(
10806585451386379021
LLU
),
K
QU
(
7186424168495184211
),
K
QU
(
10806585451386379021
),
QU
(
11120017753500499273
LLU
),
QU
(
1586837651387701301
LLU
),
K
QU
(
11120017753500499273
),
K
QU
(
1586837651387701301
),
QU
(
17530454400954415544
LLU
),
QU
(
9991670045077880430
LLU
),
K
QU
(
17530454400954415544
),
K
QU
(
9991670045077880430
),
QU
(
7550997268990730180
LLU
),
QU
(
8640249196597379304
LLU
),
K
QU
(
7550997268990730180
),
K
QU
(
8640249196597379304
),
QU
(
3522203892786893823
LLU
),
QU
(
10401116549878854788
LLU
),
K
QU
(
3522203892786893823
),
K
QU
(
10401116549878854788
),
QU
(
13690285544733124852
LLU
),
QU
(
8295785675455774586
LLU
),
K
QU
(
13690285544733124852
),
K
QU
(
8295785675455774586
),
QU
(
15535716172155117603
LLU
),
QU
(
3112108583723722511
LLU
),
K
QU
(
15535716172155117603
),
K
QU
(
3112108583723722511
),
QU
(
17633179955339271113
LLU
),
QU
(
18154208056063759375
LLU
),
K
QU
(
17633179955339271113
),
K
QU
(
18154208056063759375
),
QU
(
1866409236285815666
LLU
),
QU
(
13326075895396412882
LLU
),
K
QU
(
1866409236285815666
),
K
QU
(
13326075895396412882
),
QU
(
8756261842948020025
LLU
),
QU
(
6281852999868439131
LLU
),
K
QU
(
8756261842948020025
),
K
QU
(
6281852999868439131
),
QU
(
15087653361275292858
LLU
),
QU
(
10333923911152949397
LLU
),
K
QU
(
15087653361275292858
),
K
QU
(
10333923911152949397
),
QU
(
5265567645757408500
LLU
),
QU
(
12728041843210352184
LLU
),
K
QU
(
5265567645757408500
),
K
QU
(
12728041843210352184
),
QU
(
6347959327507828759
LLU
),
QU
(
154112802625564758
LLU
),
K
QU
(
6347959327507828759
),
K
QU
(
154112802625564758
),
QU
(
18235228308679780218
LLU
),
QU
(
3253805274673352418
LLU
),
K
QU
(
18235228308679780218
),
K
QU
(
3253805274673352418
),
QU
(
4849171610689031197
LLU
),
QU
(
17948529398340432518
LLU
),
K
QU
(
4849171610689031197
),
K
QU
(
17948529398340432518
),
QU
(
13803510475637409167
LLU
),
QU
(
13506570190409883095
LLU
),
K
QU
(
13803510475637409167
),
K
QU
(
13506570190409883095
),
QU
(
15870801273282960805
LLU
),
QU
(
8451286481299170773
LLU
),
K
QU
(
15870801273282960805
),
K
QU
(
8451286481299170773
),
QU
(
9562190620034457541
LLU
),
QU
(
8518905387449138364
LLU
),
K
QU
(
9562190620034457541
),
K
QU
(
8518905387449138364
),
QU
(
12681306401363385655
LLU
),
QU
(
3788073690559762558
LLU
),
K
QU
(
12681306401363385655
),
K
QU
(
3788073690559762558
),
QU
(
5256820289573487769
LLU
),
QU
(
2752021372314875467
LLU
),
K
QU
(
5256820289573487769
),
K
QU
(
2752021372314875467
),
QU
(
6354035166862520716
LLU
),
QU
(
4328956378309739069
LLU
),
K
QU
(
6354035166862520716
),
K
QU
(
4328956378309739069
),
QU
(
449087441228269600
LLU
),
QU
(
5533508742653090868
LLU
),
K
QU
(
449087441228269600
),
K
QU
(
5533508742653090868
),
QU
(
1260389420404746988
LLU
),
QU
(
18175394473289055097
LLU
),
K
QU
(
1260389420404746988
),
K
QU
(
18175394473289055097
),
QU
(
1535467109660399420
LLU
),
QU
(
8818894282874061442
LLU
),
K
QU
(
1535467109660399420
),
K
QU
(
8818894282874061442
),
QU
(
12140873243824811213
LLU
),
QU
(
15031386653823014946
LLU
),
K
QU
(
12140873243824811213
),
K
QU
(
15031386653823014946
),
QU
(
1286028221456149232
LLU
),
QU
(
6329608889367858784
LLU
),
K
QU
(
1286028221456149232
),
K
QU
(
6329608889367858784
),
QU
(
9419654354945132725
LLU
),
QU
(
6094576547061672379
LLU
),
K
QU
(
9419654354945132725
),
K
QU
(
6094576547061672379
),
QU
(
17706217251847450255
LLU
),
QU
(
1733495073065878126
LLU
),
K
QU
(
17706217251847450255
),
K
QU
(
1733495073065878126
),
QU
(
16918923754607552663
LLU
),
QU
(
8881949849954945044
LLU
),
K
QU
(
16918923754607552663
),
K
QU
(
8881949849954945044
),
QU
(
12938977706896313891
LLU
),
QU
(
14043628638299793407
LLU
),
K
QU
(
12938977706896313891
),
K
QU
(
14043628638299793407
),
QU
(
18393874581723718233
LLU
),
QU
(
6886318534846892044
LLU
),
K
QU
(
18393874581723718233
),
K
QU
(
6886318534846892044
),
QU
(
14577870878038334081
LLU
),
QU
(
13541558383439414119
LLU
),
K
QU
(
14577870878038334081
),
K
QU
(
13541558383439414119
),
QU
(
13570472158807588273
LLU
),
QU
(
18300760537910283361
LLU
),
K
QU
(
13570472158807588273
),
K
QU
(
18300760537910283361
),
QU
(
818368572800609205
LLU
),
QU
(
1417000585112573219
LLU
),
K
QU
(
818368572800609205
),
K
QU
(
1417000585112573219
),
QU
(
12337533143867683655
LLU
),
QU
(
12433180994702314480
LLU
),
K
QU
(
12337533143867683655
),
K
QU
(
12433180994702314480
),
QU
(
778190005829189083
LLU
),
QU
(
13667356216206524711
LLU
),
K
QU
(
778190005829189083
),
K
QU
(
13667356216206524711
),
QU
(
9866149895295225230
LLU
),
QU
(
11043240490417111999
LLU
),
K
QU
(
9866149895295225230
),
K
QU
(
11043240490417111999
),
QU
(
1123933826541378598
LLU
),
QU
(
6469631933605123610
LLU
),
K
QU
(
1123933826541378598
),
K
QU
(
6469631933605123610
),
QU
(
14508554074431980040
LLU
),
QU
(
13918931242962026714
LLU
),
K
QU
(
14508554074431980040
),
K
QU
(
13918931242962026714
),
QU
(
2870785929342348285
LLU
),
QU
(
14786362626740736974
LLU
),
K
QU
(
2870785929342348285
),
K
QU
(
14786362626740736974
),
QU
(
13176680060902695786
LLU
),
QU
(
9591778613541679456
LLU
),
K
QU
(
13176680060902695786
),
K
QU
(
9591778613541679456
),
QU
(
9097662885117436706
LLU
),
QU
(
749262234240924947
LLU
),
K
QU
(
9097662885117436706
),
K
QU
(
749262234240924947
),
QU
(
1944844067793307093
LLU
),
QU
(
4339214904577487742
LLU
),
K
QU
(
1944844067793307093
),
K
QU
(
4339214904577487742
),
QU
(
8009584152961946551
LLU
),
QU
(
16073159501225501777
LLU
),
K
QU
(
8009584152961946551
),
K
QU
(
16073159501225501777
),
QU
(
3335870590499306217
LLU
),
QU
(
17088312653151202847
LLU
),
K
QU
(
3335870590499306217
),
K
QU
(
17088312653151202847
),
QU
(
3108893142681931848
LLU
),
QU
(
16636841767202792021
LLU
),
K
QU
(
3108893142681931848
),
K
QU
(
16636841767202792021
),
QU
(
10423316431118400637
LLU
),
QU
(
8008357368674443506
LLU
),
K
QU
(
10423316431118400637
),
K
QU
(
8008357368674443506
),
QU
(
11340015231914677875
LLU
),
QU
(
17687896501594936090
LLU
),
K
QU
(
11340015231914677875
),
K
QU
(
17687896501594936090
),
QU
(
15173627921763199958
LLU
),
QU
(
542569482243721959
LLU
),
K
QU
(
15173627921763199958
),
K
QU
(
542569482243721959
),
QU
(
15071714982769812975
LLU
),
QU
(
4466624872151386956
LLU
),
K
QU
(
15071714982769812975
),
K
QU
(
4466624872151386956
),
QU
(
1901780715602332461
LLU
),
QU
(
9822227742154351098
LLU
),
K
QU
(
1901780715602332461
),
K
QU
(
9822227742154351098
),
QU
(
1479332892928648780
LLU
),
QU
(
6981611948382474400
LLU
),
K
QU
(
1479332892928648780
),
K
QU
(
6981611948382474400
),
QU
(
7620824924456077376
LLU
),
QU
(
14095973329429406782
LLU
),
K
QU
(
7620824924456077376
),
K
QU
(
14095973329429406782
),
QU
(
7902744005696185404
LLU
),
QU
(
15830577219375036920
LLU
),
K
QU
(
7902744005696185404
),
K
QU
(
15830577219375036920
),
QU
(
10287076667317764416
LLU
),
QU
(
12334872764071724025
LLU
),
K
QU
(
10287076667317764416
),
K
QU
(
12334872764071724025
),
QU
(
4419302088133544331
LLU
),
QU
(
14455842851266090520
LLU
),
K
QU
(
4419302088133544331
),
K
QU
(
14455842851266090520
),
QU
(
12488077416504654222
LLU
),
QU
(
7953892017701886766
LLU
),
K
QU
(
12488077416504654222
),
K
QU
(
7953892017701886766
),
QU
(
6331484925529519007
LLU
),
QU
(
4902145853785030022
LLU
),
K
QU
(
6331484925529519007
),
K
QU
(
4902145853785030022
),
QU
(
17010159216096443073
LLU
),
QU
(
11945354668653886087
LLU
),
K
QU
(
17010159216096443073
),
K
QU
(
11945354668653886087
),
QU
(
15112022728645230829
LLU
),
QU
(
17363484484522986742
LLU
),
K
QU
(
15112022728645230829
),
K
QU
(
17363484484522986742
),
QU
(
4423497825896692887
LLU
),
QU
(
8155489510809067471
LLU
),
K
QU
(
4423497825896692887
),
K
QU
(
8155489510809067471
),
QU
(
258966605622576285
LLU
),
QU
(
5462958075742020534
LLU
),
K
QU
(
258966605622576285
),
K
QU
(
5462958075742020534
),
QU
(
6763710214913276228
LLU
),
QU
(
2368935183451109054
LLU
),
K
QU
(
6763710214913276228
),
K
QU
(
2368935183451109054
),
QU
(
14209506165246453811
LLU
),
QU
(
2646257040978514881
LLU
),
K
QU
(
14209506165246453811
),
K
QU
(
2646257040978514881
),
QU
(
3776001911922207672
LLU
),
QU
(
1419304601390147631
LLU
),
K
QU
(
3776001911922207672
),
K
QU
(
1419304601390147631
),
QU
(
14987366598022458284
LLU
),
QU
(
3977770701065815721
LLU
),
K
QU
(
14987366598022458284
),
K
QU
(
3977770701065815721
),
QU
(
730820417451838898
LLU
),
QU
(
3982991703612885327
LLU
),
K
QU
(
730820417451838898
),
K
QU
(
3982991703612885327
),
QU
(
2803544519671388477
LLU
),
QU
(
17067667221114424649
LLU
),
K
QU
(
2803544519671388477
),
K
QU
(
17067667221114424649
),
QU
(
2922555119737867166
LLU
),
QU
(
1989477584121460932
LLU
),
K
QU
(
2922555119737867166
),
K
QU
(
1989477584121460932
),
QU
(
15020387605892337354
LLU
),
QU
(
9293277796427533547
LLU
),
K
QU
(
15020387605892337354
),
K
QU
(
9293277796427533547
),
QU
(
10722181424063557247
LLU
),
QU
(
16704542332047511651
LLU
),
K
QU
(
10722181424063557247
),
K
QU
(
16704542332047511651
),
QU
(
5008286236142089514
LLU
),
QU
(
16174732308747382540
LLU
),
K
QU
(
5008286236142089514
),
K
QU
(
16174732308747382540
),
QU
(
17597019485798338402
LLU
),
QU
(
13081745199110622093
LLU
),
K
QU
(
17597019485798338402
),
K
QU
(
13081745199110622093
),
QU
(
8850305883842258115
LLU
),
QU
(
12723629125624589005
LLU
),
K
QU
(
8850305883842258115
),
K
QU
(
12723629125624589005
),
QU
(
8140566453402805978
LLU
),
QU
(
15356684607680935061
LLU
),
K
QU
(
8140566453402805978
),
K
QU
(
15356684607680935061
),
QU
(
14222190387342648650
LLU
),
QU
(
11134610460665975178
LLU
),
K
QU
(
14222190387342648650
),
K
QU
(
11134610460665975178
),
QU
(
1259799058620984266
LLU
),
QU
(
13281656268025610041
LLU
),
K
QU
(
1259799058620984266
),
K
QU
(
13281656268025610041
),
QU
(
298262561068153992
LLU
),
QU
(
12277871700239212922
LLU
),
K
QU
(
298262561068153992
),
K
QU
(
12277871700239212922
),
QU
(
13911297774719779438
LLU
),
QU
(
16556727962761474934
LLU
),
K
QU
(
13911297774719779438
),
K
QU
(
16556727962761474934
),
QU
(
17903010316654728010
LLU
),
QU
(
9682617699648434744
LLU
),
K
QU
(
17903010316654728010
),
K
QU
(
9682617699648434744
),
QU
(
14757681836838592850
LLU
),
QU
(
1327242446558524473
LLU
),
K
QU
(
14757681836838592850
),
K
QU
(
1327242446558524473
),
QU
(
11126645098780572792
LLU
),
QU
(
1883602329313221774
LLU
),
K
QU
(
11126645098780572792
),
K
QU
(
1883602329313221774
),
QU
(
2543897783922776873
LLU
),
QU
(
15029168513767772842
LLU
),
K
QU
(
2543897783922776873
),
K
QU
(
15029168513767772842
),
QU
(
12710270651039129878
LLU
),
QU
(
16118202956069604504
LLU
),
K
QU
(
12710270651039129878
),
K
QU
(
16118202956069604504
),
QU
(
15010759372168680524
LLU
),
QU
(
2296827082251923948
LLU
),
K
QU
(
15010759372168680524
),
K
QU
(
2296827082251923948
),
QU
(
10793729742623518101
LLU
),
QU
(
13829764151845413046
LLU
),
K
QU
(
10793729742623518101
),
K
QU
(
13829764151845413046
),
QU
(
17769301223184451213
LLU
),
QU
(
3118268169210783372
LLU
),
K
QU
(
17769301223184451213
),
K
QU
(
3118268169210783372
),
QU
(
17626204544105123127
LLU
),
QU
(
7416718488974352644
LLU
),
K
QU
(
17626204544105123127
),
K
QU
(
7416718488974352644
),
QU
(
10450751996212925994
LLU
),
QU
(
9352529519128770586
LLU
),
K
QU
(
10450751996212925994
),
K
QU
(
9352529519128770586
),
QU
(
259347569641110140
LLU
),
QU
(
8048588892269692697
LLU
),
K
QU
(
259347569641110140
),
K
QU
(
8048588892269692697
),
QU
(
1774414152306494058
LLU
),
QU
(
10669548347214355622
LLU
),
K
QU
(
1774414152306494058
),
K
QU
(
10669548347214355622
),
QU
(
13061992253816795081
LLU
),
QU
(
18432677803063861659
LLU
),
K
QU
(
13061992253816795081
),
K
QU
(
18432677803063861659
),
QU
(
8879191055593984333
LLU
),
QU
(
12433753195199268041
LLU
),
K
QU
(
8879191055593984333
),
K
QU
(
12433753195199268041
),
QU
(
14919392415439730602
LLU
),
QU
(
6612848378595332963
LLU
),
K
QU
(
14919392415439730602
),
K
QU
(
6612848378595332963
),
QU
(
6320986812036143628
LLU
),
QU
(
10465592420226092859
LLU
),
K
QU
(
6320986812036143628
),
K
QU
(
10465592420226092859
),
QU
(
4196009278962570808
LLU
),
QU
(
3747816564473572224
LLU
),
K
QU
(
4196009278962570808
),
K
QU
(
3747816564473572224
),
QU
(
17941203486133732898
LLU
),
QU
(
2350310037040505198
LLU
),
K
QU
(
17941203486133732898
),
K
QU
(
2350310037040505198
),
QU
(
5811779859134370113
LLU
),
QU
(
10492109599506195126
LLU
),
K
QU
(
5811779859134370113
),
K
QU
(
10492109599506195126
),
QU
(
7699650690179541274
LLU
),
QU
(
1954338494306022961
LLU
),
K
QU
(
7699650690179541274
),
K
QU
(
1954338494306022961
),
QU
(
14095816969027231152
LLU
),
QU
(
5841346919964852061
LLU
),
K
QU
(
14095816969027231152
),
K
QU
(
5841346919964852061
),
QU
(
14945969510148214735
LLU
),
QU
(
3680200305887550992
LLU
),
K
QU
(
14945969510148214735
),
K
QU
(
3680200305887550992
),
QU
(
6218047466131695792
LLU
),
QU
(
8242165745175775096
LLU
),
K
QU
(
6218047466131695792
),
K
QU
(
8242165745175775096
),
QU
(
11021371934053307357
LLU
),
QU
(
1265099502753169797
LLU
),
K
QU
(
11021371934053307357
),
K
QU
(
1265099502753169797
),
QU
(
4644347436111321718
LLU
),
QU
(
3609296916782832859
LLU
),
K
QU
(
4644347436111321718
),
K
QU
(
3609296916782832859
),
QU
(
8109807992218521571
LLU
),
QU
(
18387884215648662020
LLU
),
K
QU
(
8109807992218521571
),
K
QU
(
18387884215648662020
),
QU
(
14656324896296392902
LLU
),
QU
(
17386819091238216751
LLU
),
K
QU
(
14656324896296392902
),
K
QU
(
17386819091238216751
),
QU
(
17788300878582317152
LLU
),
QU
(
7919446259742399591
LLU
),
K
QU
(
17788300878582317152
),
K
QU
(
7919446259742399591
),
QU
(
4466613134576358004
LLU
),
QU
(
12928181023667938509
LLU
),
K
QU
(
4466613134576358004
),
K
QU
(
12928181023667938509
),
QU
(
13147446154454932030
LLU
),
QU
(
16552129038252734620
LLU
),
K
QU
(
13147446154454932030
),
K
QU
(
16552129038252734620
),
QU
(
8395299403738822450
LLU
),
QU
(
11313817655275361164
LLU
),
K
QU
(
8395299403738822450
),
K
QU
(
11313817655275361164
),
QU
(
434258809499511718
LLU
),
QU
(
2074882104954788676
LLU
),
K
QU
(
434258809499511718
),
K
QU
(
2074882104954788676
),
QU
(
7929892178759395518
LLU
),
QU
(
9006461629105745388
LLU
),
K
QU
(
7929892178759395518
),
K
QU
(
9006461629105745388
),
QU
(
5176475650000323086
LLU
),
QU
(
11128357033468341069
LLU
),
K
QU
(
5176475650000323086
),
K
QU
(
11128357033468341069
),
QU
(
12026158851559118955
LLU
),
QU
(
14699716249471156500
LLU
),
K
QU
(
12026158851559118955
),
K
QU
(
14699716249471156500
),
QU
(
448982497120206757
LLU
),
QU
(
4156475356685519900
LLU
),
K
QU
(
448982497120206757
),
K
QU
(
4156475356685519900
),
QU
(
6063816103417215727
LLU
),
QU
(
10073289387954971479
LLU
),
K
QU
(
6063816103417215727
),
K
QU
(
10073289387954971479
),
QU
(
8174466846138590962
LLU
),
QU
(
2675777452363449006
LLU
),
K
QU
(
8174466846138590962
),
K
QU
(
2675777452363449006
),
QU
(
9090685420572474281
LLU
),
QU
(
6659652652765562060
LLU
),
K
QU
(
9090685420572474281
),
K
QU
(
6659652652765562060
),
QU
(
12923120304018106621
LLU
),
QU
(
11117480560334526775
LLU
),
K
QU
(
12923120304018106621
),
K
QU
(
11117480560334526775
),
QU
(
937910473424587511
LLU
),
QU
(
1838692113502346645
LLU
),
K
QU
(
937910473424587511
),
K
QU
(
1838692113502346645
),
QU
(
11133914074648726180
LLU
),
QU
(
7922600945143884053
LLU
),
K
QU
(
11133914074648726180
),
K
QU
(
7922600945143884053
),
QU
(
13435287702700959550
LLU
),
QU
(
5287964921251123332
LLU
),
K
QU
(
13435287702700959550
),
K
QU
(
5287964921251123332
),
QU
(
11354875374575318947
LLU
),
QU
(
17955724760748238133
LLU
),
K
QU
(
11354875374575318947
),
K
QU
(
17955724760748238133
),
QU
(
13728617396297106512
LLU
),
QU
(
4107449660118101255
LLU
),
K
QU
(
13728617396297106512
),
K
QU
(
4107449660118101255
),
QU
(
1210269794886589623
LLU
),
QU
(
11408687205733456282
LLU
),
K
QU
(
1210269794886589623
),
K
QU
(
11408687205733456282
),
QU
(
4538354710392677887
LLU
),
QU
(
13566803319341319267
LLU
),
K
QU
(
4538354710392677887
),
K
QU
(
13566803319341319267
),
QU
(
17870798107734050771
LLU
),
QU
(
3354318982568089135
LLU
),
K
QU
(
17870798107734050771
),
K
QU
(
3354318982568089135
),
QU
(
9034450839405133651
LLU
),
QU
(
13087431795753424314
LLU
),
K
QU
(
9034450839405133651
),
K
QU
(
13087431795753424314
),
QU
(
950333102820688239
LLU
),
QU
(
1968360654535604116
LLU
),
K
QU
(
950333102820688239
),
K
QU
(
1968360654535604116
),
QU
(
16840551645563314995
LLU
),
QU
(
8867501803892924995
LLU
),
K
QU
(
16840551645563314995
),
K
QU
(
8867501803892924995
),
QU
(
11395388644490626845
LLU
),
QU
(
1529815836300732204
LLU
),
K
QU
(
11395388644490626845
),
K
QU
(
1529815836300732204
),
QU
(
13330848522996608842
LLU
),
QU
(
1813432878817504265
LLU
),
K
QU
(
13330848522996608842
),
K
QU
(
1813432878817504265
),
QU
(
2336867432693429560
LLU
),
QU
(
15192805445973385902
LLU
),
K
QU
(
2336867432693429560
),
K
QU
(
15192805445973385902
),
QU
(
2528593071076407877
LLU
),
QU
(
128459777936689248
LLU
),
K
QU
(
2528593071076407877
),
K
QU
(
128459777936689248
),
QU
(
9976345382867214866
LLU
),
QU
(
6208885766767996043
LLU
),
K
QU
(
9976345382867214866
),
K
QU
(
6208885766767996043
),
QU
(
14982349522273141706
LLU
),
QU
(
3099654362410737822
LLU
),
K
QU
(
14982349522273141706
),
K
QU
(
3099654362410737822
),
QU
(
13776700761947297661
LLU
),
QU
(
8806185470684925550
LLU
),
K
QU
(
13776700761947297661
),
K
QU
(
8806185470684925550
),
QU
(
8151717890410585321
LLU
),
QU
(
640860591588072925
LLU
),
K
QU
(
8151717890410585321
),
K
QU
(
640860591588072925
),
QU
(
14592096303937307465
LLU
),
QU
(
9056472419613564846
LLU
),
K
QU
(
14592096303937307465
),
K
QU
(
9056472419613564846
),
QU
(
14861544647742266352
LLU
),
QU
(
12703771500398470216
LLU
),
K
QU
(
14861544647742266352
),
K
QU
(
12703771500398470216
),
QU
(
3142372800384138465
LLU
),
QU
(
6201105606917248196
LLU
),
K
QU
(
3142372800384138465
),
K
QU
(
6201105606917248196
),
QU
(
18337516409359270184
LLU
),
QU
(
15042268695665115339
LLU
),
K
QU
(
18337516409359270184
),
K
QU
(
15042268695665115339
),
QU
(
15188246541383283846
LLU
),
QU
(
12800028693090114519
LLU
),
K
QU
(
15188246541383283846
),
K
QU
(
12800028693090114519
),
QU
(
5992859621101493472
LLU
),
QU
(
18278043971816803521
LLU
),
K
QU
(
5992859621101493472
),
K
QU
(
18278043971816803521
),
QU
(
9002773075219424560
LLU
),
QU
(
7325707116943598353
LLU
),
K
QU
(
9002773075219424560
),
K
QU
(
7325707116943598353
),
QU
(
7930571931248040822
LLU
),
QU
(
5645275869617023448
LLU
),
K
QU
(
7930571931248040822
),
K
QU
(
5645275869617023448
),
QU
(
7266107455295958487
LLU
),
QU
(
4363664528273524411
LLU
),
K
QU
(
7266107455295958487
),
K
QU
(
4363664528273524411
),
QU
(
14313875763787479809
LLU
),
QU
(
17059695613553486802
LLU
),
K
QU
(
14313875763787479809
),
K
QU
(
17059695613553486802
),
QU
(
9247761425889940932
LLU
),
QU
(
13704726459237593128
LLU
),
K
QU
(
9247761425889940932
),
K
QU
(
13704726459237593128
),
QU
(
2701312427328909832
LLU
),
QU
(
17235532008287243115
LLU
),
K
QU
(
2701312427328909832
),
K
QU
(
17235532008287243115
),
QU
(
14093147761491729538
LLU
),
QU
(
6247352273768386516
LLU
),
K
QU
(
14093147761491729538
),
K
QU
(
6247352273768386516
),
QU
(
8268710048153268415
LLU
),
QU
(
7985295214477182083
LLU
),
K
QU
(
8268710048153268415
),
K
QU
(
7985295214477182083
),
QU
(
15624495190888896807
LLU
),
QU
(
3772753430045262788
LLU
),
K
QU
(
15624495190888896807
),
K
QU
(
3772753430045262788
),
QU
(
9133991620474991698
LLU
),
QU
(
5665791943316256028
LLU
),
K
QU
(
9133991620474991698
),
K
QU
(
5665791943316256028
),
QU
(
7551996832462193473
LLU
),
QU
(
13163729206798953877
LLU
),
K
QU
(
7551996832462193473
),
K
QU
(
13163729206798953877
),
QU
(
9263532074153846374
LLU
),
QU
(
1015460703698618353
LLU
),
K
QU
(
9263532074153846374
),
K
QU
(
1015460703698618353
),
QU
(
17929874696989519390
LLU
),
QU
(
18257884721466153847
LLU
),
K
QU
(
17929874696989519390
),
K
QU
(
18257884721466153847
),
QU
(
16271867543011222991
LLU
),
QU
(
3905971519021791941
LLU
),
K
QU
(
16271867543011222991
),
K
QU
(
3905971519021791941
),
QU
(
16814488397137052085
LLU
),
QU
(
1321197685504621613
LLU
),
K
QU
(
16814488397137052085
),
K
QU
(
1321197685504621613
),
QU
(
2870359191894002181
LLU
),
QU
(
14317282970323395450
LLU
),
K
QU
(
2870359191894002181
),
K
QU
(
14317282970323395450
),
QU
(
13663920845511074366
LLU
),
QU
(
2052463995796539594
LLU
),
K
QU
(
13663920845511074366
),
K
QU
(
2052463995796539594
),
QU
(
14126345686431444337
LLU
),
QU
(
1727572121947022534
LLU
),
K
QU
(
14126345686431444337
),
K
QU
(
1727572121947022534
),
QU
(
17793552254485594241
LLU
),
QU
(
6738857418849205750
LLU
),
K
QU
(
17793552254485594241
),
K
QU
(
6738857418849205750
),
QU
(
1282987123157442952
LLU
),
QU
(
16655480021581159251
LLU
),
K
QU
(
1282987123157442952
),
K
QU
(
16655480021581159251
),
QU
(
6784587032080183866
LLU
),
QU
(
14726758805359965162
LLU
),
K
QU
(
6784587032080183866
),
K
QU
(
14726758805359965162
),
QU
(
7577995933961987349
LLU
),
QU
(
12539609320311114036
LLU
),
K
QU
(
7577995933961987349
),
K
QU
(
12539609320311114036
),
QU
(
10789773033385439494
LLU
),
QU
(
8517001497411158227
LLU
),
K
QU
(
10789773033385439494
),
K
QU
(
8517001497411158227
),
QU
(
10075543932136339710
LLU
),
QU
(
14838152340938811081
LLU
),
K
QU
(
10075543932136339710
),
K
QU
(
14838152340938811081
),
QU
(
9560840631794044194
LLU
),
QU
(
17445736541454117475
LLU
),
K
QU
(
9560840631794044194
),
K
QU
(
17445736541454117475
),
QU
(
10633026464336393186
LLU
),
QU
(
15705729708242246293
LLU
),
K
QU
(
10633026464336393186
),
K
QU
(
15705729708242246293
),
QU
(
1117517596891411098
LLU
),
QU
(
4305657943415886942
LLU
),
K
QU
(
1117517596891411098
),
K
QU
(
4305657943415886942
),
QU
(
4948856840533979263
LLU
),
QU
(
16071681989041789593
LLU
),
K
QU
(
4948856840533979263
),
K
QU
(
16071681989041789593
),
QU
(
13723031429272486527
LLU
),
QU
(
7639567622306509462
LLU
),
K
QU
(
13723031429272486527
),
K
QU
(
7639567622306509462
),
QU
(
12670424537483090390
LLU
),
QU
(
9715223453097197134
LLU
),
K
QU
(
12670424537483090390
),
K
QU
(
9715223453097197134
),
QU
(
5457173389992686394
LLU
),
QU
(
289857129276135145
LLU
),
K
QU
(
5457173389992686394
),
K
QU
(
289857129276135145
),
QU
(
17048610270521972512
LLU
),
QU
(
692768013309835485
LLU
),
K
QU
(
17048610270521972512
),
K
QU
(
692768013309835485
),
QU
(
14823232360546632057
LLU
),
QU
(
18218002361317895936
LLU
),
K
QU
(
14823232360546632057
),
K
QU
(
18218002361317895936
),
QU
(
3281724260212650204
LLU
),
QU
(
16453957266549513795
LLU
),
K
QU
(
3281724260212650204
),
K
QU
(
16453957266549513795
),
QU
(
8592711109774511881
LLU
),
QU
(
929825123473369579
LLU
),
K
QU
(
8592711109774511881
),
K
QU
(
929825123473369579
),
QU
(
15966784769764367791
LLU
),
QU
(
9627344291450607588
LLU
),
K
QU
(
15966784769764367791
),
K
QU
(
9627344291450607588
),
QU
(
10849555504977813287
LLU
),
QU
(
9234566913936339275
LLU
),
K
QU
(
10849555504977813287
),
K
QU
(
9234566913936339275
),
QU
(
6413807690366911210
LLU
),
QU
(
10862389016184219267
LLU
),
K
QU
(
6413807690366911210
),
K
QU
(
10862389016184219267
),
QU
(
13842504799335374048
LLU
),
QU
(
1531994113376881174
LLU
),
K
QU
(
13842504799335374048
),
K
QU
(
1531994113376881174
),
QU
(
2081314867544364459
LLU
),
QU
(
16430628791616959932
LLU
),
K
QU
(
2081314867544364459
),
K
QU
(
16430628791616959932
),
QU
(
8314714038654394368
LLU
),
QU
(
9155473892098431813
LLU
),
K
QU
(
8314714038654394368
),
K
QU
(
9155473892098431813
),
QU
(
12577843786670475704
LLU
),
QU
(
4399161106452401017
LLU
),
K
QU
(
12577843786670475704
),
K
QU
(
4399161106452401017
),
QU
(
1668083091682623186
LLU
),
QU
(
1741383777203714216
LLU
),
K
QU
(
1668083091682623186
),
K
QU
(
1741383777203714216
),
QU
(
2162597285417794374
LLU
),
QU
(
15841980159165218736
LLU
),
K
QU
(
2162597285417794374
),
K
QU
(
15841980159165218736
),
QU
(
1971354603551467079
LLU
),
QU
(
1206714764913205968
LLU
),
K
QU
(
1971354603551467079
),
K
QU
(
1206714764913205968
),
QU
(
4790860439591272330
LLU
),
QU
(
14699375615594055799
LLU
),
K
QU
(
4790860439591272330
),
K
QU
(
14699375615594055799
),
QU
(
8374423871657449988
LLU
),
QU
(
10950685736472937738
LLU
),
K
QU
(
8374423871657449988
),
K
QU
(
10950685736472937738
),
QU
(
697344331343267176
LLU
),
QU
(
10084998763118059810
LLU
),
K
QU
(
697344331343267176
),
K
QU
(
10084998763118059810
),
QU
(
12897369539795983124
LLU
),
QU
(
12351260292144383605
LLU
),
K
QU
(
12897369539795983124
),
K
QU
(
12351260292144383605
),
QU
(
1268810970176811234
LLU
),
QU
(
7406287800414582768
LLU
),
K
QU
(
1268810970176811234
),
K
QU
(
7406287800414582768
),
QU
(
516169557043807831
LLU
),
QU
(
5077568278710520380
LLU
),
K
QU
(
516169557043807831
),
K
QU
(
5077568278710520380
),
QU
(
3828791738309039304
LLU
),
QU
(
7721974069946943610
LLU
),
K
QU
(
3828791738309039304
),
K
QU
(
7721974069946943610
),
QU
(
3534670260981096460
LLU
),
QU
(
4865792189600584891
LLU
),
K
QU
(
3534670260981096460
),
K
QU
(
4865792189600584891
),
QU
(
16892578493734337298
LLU
),
QU
(
9161499464278042590
LLU
),
K
QU
(
16892578493734337298
),
K
QU
(
9161499464278042590
),
QU
(
11976149624067055931
LLU
),
QU
(
13219479887277343990
LLU
),
K
QU
(
11976149624067055931
),
K
QU
(
13219479887277343990
),
QU
(
14161556738111500680
LLU
),
QU
(
14670715255011223056
LLU
),
K
QU
(
14161556738111500680
),
K
QU
(
14670715255011223056
),
QU
(
4671205678403576558
LLU
),
QU
(
12633022931454259781
LLU
),
K
QU
(
4671205678403576558
),
K
QU
(
12633022931454259781
),
QU
(
14821376219869187646
LLU
),
QU
(
751181776484317028
LLU
),
K
QU
(
14821376219869187646
),
K
QU
(
751181776484317028
),
QU
(
2192211308839047070
LLU
),
QU
(
11787306362361245189
LLU
),
K
QU
(
2192211308839047070
),
K
QU
(
11787306362361245189
),
QU
(
10672375120744095707
LLU
),
QU
(
4601972328345244467
LLU
),
K
QU
(
10672375120744095707
),
K
QU
(
4601972328345244467
),
QU
(
15457217788831125879
LLU
),
QU
(
8464345256775460809
LLU
),
K
QU
(
15457217788831125879
),
K
QU
(
8464345256775460809
),
QU
(
10191938789487159478
LLU
),
QU
(
6184348739615197613
LLU
),
K
QU
(
10191938789487159478
),
K
QU
(
6184348739615197613
),
QU
(
11425436778806882100
LLU
),
QU
(
2739227089124319793
LLU
),
K
QU
(
11425436778806882100
),
K
QU
(
2739227089124319793
),
QU
(
461464518456000551
LLU
),
QU
(
4689850170029177442
LLU
),
K
QU
(
461464518456000551
),
K
QU
(
4689850170029177442
),
QU
(
6120307814374078625
LLU
),
QU
(
11153579230681708671
LLU
),
K
QU
(
6120307814374078625
),
K
QU
(
11153579230681708671
),
QU
(
7891721473905347926
LLU
),
QU
(
10281646937824872400
LLU
),
K
QU
(
7891721473905347926
),
K
QU
(
10281646937824872400
),
QU
(
3026099648191332248
LLU
),
QU
(
8666750296953273818
LLU
),
K
QU
(
3026099648191332248
),
K
QU
(
8666750296953273818
),
QU
(
14978499698844363232
LLU
),
QU
(
13303395102890132065
LLU
),
K
QU
(
14978499698844363232
),
K
QU
(
13303395102890132065
),
QU
(
8182358205292864080
LLU
),
QU
(
10560547713972971291
LLU
),
K
QU
(
8182358205292864080
),
K
QU
(
10560547713972971291
),
QU
(
11981635489418959093
LLU
),
QU
(
3134621354935288409
LLU
),
K
QU
(
11981635489418959093
),
K
QU
(
3134621354935288409
),
QU
(
11580681977404383968
LLU
),
QU
(
14205530317404088650
LLU
),
K
QU
(
11580681977404383968
),
K
QU
(
14205530317404088650
),
QU
(
5997789011854923157
LLU
),
QU
(
13659151593432238041
LLU
),
K
QU
(
5997789011854923157
),
K
QU
(
13659151593432238041
),
QU
(
11664332114338865086
LLU
),
QU
(
7490351383220929386
LLU
),
K
QU
(
11664332114338865086
),
K
QU
(
7490351383220929386
),
QU
(
7189290499881530378
LLU
),
QU
(
15039262734271020220
LLU
),
K
QU
(
7189290499881530378
),
K
QU
(
15039262734271020220
),
QU
(
2057217285976980055
LLU
),
QU
(
555570804905355739
LLU
),
K
QU
(
2057217285976980055
),
K
QU
(
555570804905355739
),
QU
(
11235311968348555110
LLU
),
QU
(
13824557146269603217
LLU
),
K
QU
(
11235311968348555110
),
K
QU
(
13824557146269603217
),
QU
(
16906788840653099693
LLU
),
QU
(
7222878245455661677
LLU
),
K
QU
(
16906788840653099693
),
K
QU
(
7222878245455661677
),
QU
(
5245139444332423756
LLU
),
QU
(
4723748462805674292
LLU
),
K
QU
(
5245139444332423756
),
K
QU
(
4723748462805674292
),
QU
(
12216509815698568612
LLU
),
QU
(
17402362976648951187
LLU
),
K
QU
(
12216509815698568612
),
K
QU
(
17402362976648951187
),
QU
(
17389614836810366768
LLU
),
QU
(
4880936484146667711
LLU
),
K
QU
(
17389614836810366768
),
K
QU
(
4880936484146667711
),
QU
(
9085007839292639880
LLU
),
QU
(
13837353458498535449
LLU
),
K
QU
(
9085007839292639880
),
K
QU
(
13837353458498535449
),
QU
(
11914419854360366677
LLU
),
QU
(
16595890135313864103
LLU
),
K
QU
(
11914419854360366677
),
K
QU
(
16595890135313864103
),
QU
(
6313969847197627222
LLU
),
QU
(
18296909792163910431
LLU
),
K
QU
(
6313969847197627222
),
K
QU
(
18296909792163910431
),
QU
(
10041780113382084042
LLU
),
QU
(
2499478551172884794
LLU
),
K
QU
(
10041780113382084042
),
K
QU
(
2499478551172884794
),
QU
(
11057894246241189489
LLU
),
QU
(
9742243032389068555
LLU
),
K
QU
(
11057894246241189489
),
K
QU
(
9742243032389068555
),
QU
(
12838934582673196228
LLU
),
QU
(
13437023235248490367
LLU
),
K
QU
(
12838934582673196228
),
K
QU
(
13437023235248490367
),
QU
(
13372420669446163240
LLU
),
QU
(
6752564244716909224
LLU
),
K
QU
(
13372420669446163240
),
K
QU
(
6752564244716909224
),
QU
(
7157333073400313737
LLU
),
QU
(
12230281516370654308
LLU
),
K
QU
(
7157333073400313737
),
K
QU
(
12230281516370654308
),
QU
(
1182884552219419117
LLU
),
QU
(
2955125381312499218
LLU
),
K
QU
(
1182884552219419117
),
K
QU
(
2955125381312499218
),
QU
(
10308827097079443249
LLU
),
QU
(
1337648572986534958
LLU
),
K
QU
(
10308827097079443249
),
K
QU
(
1337648572986534958
),
QU
(
16378788590020343939
LLU
),
QU
(
108619126514420935
LLU
),
K
QU
(
16378788590020343939
),
K
QU
(
108619126514420935
),
QU
(
3990981009621629188
LLU
),
QU
(
5460953070230946410
LLU
),
K
QU
(
3990981009621629188
),
K
QU
(
5460953070230946410
),
QU
(
9703328329366531883
LLU
),
QU
(
13166631489188077236
LLU
),
K
QU
(
9703328329366531883
),
K
QU
(
13166631489188077236
),
QU
(
1104768831213675170
LLU
),
QU
(
3447930458553877908
LLU
),
K
QU
(
1104768831213675170
),
K
QU
(
3447930458553877908
),
QU
(
8067172487769945676
LLU
),
QU
(
5445802098190775347
LLU
),
K
QU
(
8067172487769945676
),
K
QU
(
5445802098190775347
),
QU
(
3244840981648973873
LLU
),
QU
(
17314668322981950060
LLU
),
K
QU
(
3244840981648973873
),
K
QU
(
17314668322981950060
),
QU
(
5006812527827763807
LLU
),
QU
(
18158695070225526260
LLU
),
K
QU
(
5006812527827763807
),
K
QU
(
18158695070225526260
),
QU
(
2824536478852417853
LLU
),
QU
(
13974775809127519886
LLU
),
K
QU
(
2824536478852417853
),
K
QU
(
13974775809127519886
),
QU
(
9814362769074067392
LLU
),
QU
(
17276205156374862128
LLU
),
K
QU
(
9814362769074067392
),
K
QU
(
17276205156374862128
),
QU
(
11361680725379306967
LLU
),
QU
(
3422581970382012542
LLU
),
K
QU
(
11361680725379306967
),
K
QU
(
3422581970382012542
),
QU
(
11003189603753241266
LLU
),
QU
(
11194292945277862261
LLU
),
K
QU
(
11003189603753241266
),
K
QU
(
11194292945277862261
),
QU
(
6839623313908521348
LLU
),
QU
(
11935326462707324634
LLU
),
K
QU
(
6839623313908521348
),
K
QU
(
11935326462707324634
),
QU
(
1611456788685878444
LLU
),
QU
(
13112620989475558907
LLU
),
K
QU
(
1611456788685878444
),
K
QU
(
13112620989475558907
),
QU
(
517659108904450427
LLU
),
QU
(
13558114318574407624
LLU
),
K
QU
(
517659108904450427
),
K
QU
(
13558114318574407624
),
QU
(
15699089742731633077
LLU
),
QU
(
4988979278862685458
LLU
),
K
QU
(
15699089742731633077
),
K
QU
(
4988979278862685458
),
QU
(
8111373583056521297
LLU
),
QU
(
3891258746615399627
LLU
),
K
QU
(
8111373583056521297
),
K
QU
(
3891258746615399627
),
QU
(
8137298251469718086
LLU
),
QU
(
12748663295624701649
LLU
),
K
QU
(
8137298251469718086
),
K
QU
(
12748663295624701649
),
QU
(
4389835683495292062
LLU
),
QU
(
5775217872128831729
LLU
),
K
QU
(
4389835683495292062
),
K
QU
(
5775217872128831729
),
QU
(
9462091896405534927
LLU
),
QU
(
8498124108820263989
LLU
),
K
QU
(
9462091896405534927
),
K
QU
(
8498124108820263989
),
QU
(
8059131278842839525
LLU
),
QU
(
10503167994254090892
LLU
),
K
QU
(
8059131278842839525
),
K
QU
(
10503167994254090892
),
QU
(
11613153541070396656
LLU
),
QU
(
18069248738504647790
LLU
),
K
QU
(
11613153541070396656
),
K
QU
(
18069248738504647790
),
QU
(
570657419109768508
LLU
),
QU
(
3950574167771159665
LLU
),
K
QU
(
570657419109768508
),
K
QU
(
3950574167771159665
),
QU
(
5514655599604313077
LLU
),
QU
(
2908460854428484165
LLU
),
K
QU
(
5514655599604313077
),
K
QU
(
2908460854428484165
),
QU
(
10777722615935663114
LLU
),
QU
(
12007363304839279486
LLU
),
K
QU
(
10777722615935663114
),
K
QU
(
12007363304839279486
),
QU
(
9800646187569484767
LLU
),
QU
(
8795423564889864287
LLU
),
K
QU
(
9800646187569484767
),
K
QU
(
8795423564889864287
),
QU
(
14257396680131028419
LLU
),
QU
(
6405465117315096498
LLU
),
K
QU
(
14257396680131028419
),
K
QU
(
6405465117315096498
),
QU
(
7939411072208774878
LLU
),
QU
(
17577572378528990006
LLU
),
K
QU
(
7939411072208774878
),
K
QU
(
17577572378528990006
),
QU
(
14785873806715994850
LLU
),
QU
(
16770572680854747390
LLU
),
K
QU
(
14785873806715994850
),
K
QU
(
16770572680854747390
),
QU
(
18127549474419396481
LLU
),
QU
(
11637013449455757750
LLU
),
K
QU
(
18127549474419396481
),
K
QU
(
11637013449455757750
),
QU
(
14371851933996761086
LLU
),
QU
(
3601181063650110280
LLU
),
K
QU
(
14371851933996761086
),
K
QU
(
3601181063650110280
),
QU
(
4126442845019316144
LLU
),
QU
(
10198287239244320669
LLU
),
K
QU
(
4126442845019316144
),
K
QU
(
10198287239244320669
),
QU
(
18000169628555379659
LLU
),
QU
(
18392482400739978269
LLU
),
K
QU
(
18000169628555379659
),
K
QU
(
18392482400739978269
),
QU
(
6219919037686919957
LLU
),
QU
(
3610085377719446052
LLU
),
K
QU
(
6219919037686919957
),
K
QU
(
3610085377719446052
),
QU
(
2513925039981776336
LLU
),
QU
(
16679413537926716955
LLU
),
K
QU
(
2513925039981776336
),
K
QU
(
16679413537926716955
),
QU
(
12903302131714909434
LLU
),
QU
(
5581145789762985009
LLU
),
K
QU
(
12903302131714909434
),
K
QU
(
5581145789762985009
),
QU
(
12325955044293303233
LLU
),
QU
(
17216111180742141204
LLU
),
K
QU
(
12325955044293303233
),
K
QU
(
17216111180742141204
),
QU
(
6321919595276545740
LLU
),
QU
(
3507521147216174501
LLU
),
K
QU
(
6321919595276545740
),
K
QU
(
3507521147216174501
),
QU
(
9659194593319481840
LLU
),
QU
(
11473976005975358326
LLU
),
K
QU
(
9659194593319481840
),
K
QU
(
11473976005975358326
),
QU
(
14742730101435987026
LLU
),
QU
(
492845897709954780
LLU
),
K
QU
(
14742730101435987026
),
K
QU
(
492845897709954780
),
QU
(
16976371186162599676
LLU
),
QU
(
17712703422837648655
LLU
),
K
QU
(
16976371186162599676
),
K
QU
(
17712703422837648655
),
QU
(
9881254778587061697
LLU
),
QU
(
8413223156302299551
LLU
),
K
QU
(
9881254778587061697
),
K
QU
(
8413223156302299551
),
QU
(
1563841828254089168
LLU
),
QU
(
9996032758786671975
LLU
),
K
QU
(
1563841828254089168
),
K
QU
(
9996032758786671975
),
QU
(
138877700583772667
LLU
),
QU
(
13003043368574995989
LLU
),
K
QU
(
138877700583772667
),
K
QU
(
13003043368574995989
),
QU
(
4390573668650456587
LLU
),
QU
(
8610287390568126755
LLU
),
K
QU
(
4390573668650456587
),
K
QU
(
8610287390568126755
),
QU
(
15126904974266642199
LLU
),
QU
(
6703637238986057662
LLU
),
K
QU
(
15126904974266642199
),
K
QU
(
6703637238986057662
),
QU
(
2873075592956810157
LLU
),
QU
(
6035080933946049418
LLU
),
K
QU
(
2873075592956810157
),
K
QU
(
6035080933946049418
),
QU
(
13382846581202353014
LLU
),
QU
(
7303971031814642463
LLU
),
K
QU
(
13382846581202353014
),
K
QU
(
7303971031814642463
),
QU
(
18418024405307444267
LLU
),
QU
(
5847096731675404647
LLU
),
K
QU
(
18418024405307444267
),
K
QU
(
5847096731675404647
),
QU
(
4035880699639842500
LLU
),
QU
(
11525348625112218478
LLU
),
K
QU
(
4035880699639842500
),
K
QU
(
11525348625112218478
),
QU
(
3041162365459574102
LLU
),
QU
(
2604734487727986558
LLU
),
K
QU
(
3041162365459574102
),
K
QU
(
2604734487727986558
),
QU
(
15526341771636983145
LLU
),
QU
(
14556052310697370254
LLU
),
K
QU
(
15526341771636983145
),
K
QU
(
14556052310697370254
),
QU
(
12997787077930808155
LLU
),
QU
(
9601806501755554499
LLU
),
K
QU
(
12997787077930808155
),
K
QU
(
9601806501755554499
),
QU
(
11349677952521423389
LLU
),
QU
(
14956777807644899350
LLU
),
K
QU
(
11349677952521423389
),
K
QU
(
14956777807644899350
),
QU
(
16559736957742852721
LLU
),
QU
(
12360828274778140726
LLU
),
K
QU
(
16559736957742852721
),
K
QU
(
12360828274778140726
),
QU
(
6685373272009662513
LLU
),
QU
(
16932258748055324130
LLU
),
K
QU
(
6685373272009662513
),
K
QU
(
16932258748055324130
),
QU
(
15918051131954158508
LLU
),
QU
(
1692312913140790144
LLU
),
K
QU
(
15918051131954158508
),
K
QU
(
1692312913140790144
),
QU
(
546653826801637367
LLU
),
QU
(
5341587076045986652
LLU
),
K
QU
(
546653826801637367
),
K
QU
(
5341587076045986652
),
QU
(
14975057236342585662
LLU
),
QU
(
12374976357340622412
LLU
),
K
QU
(
14975057236342585662
),
K
QU
(
12374976357340622412
),
QU
(
10328833995181940552
LLU
),
QU
(
12831807101710443149
LLU
),
K
QU
(
10328833995181940552
),
K
QU
(
12831807101710443149
),
QU
(
10548514914382545716
LLU
),
QU
(
2217806727199715993
LLU
),
K
QU
(
10548514914382545716
),
K
QU
(
2217806727199715993
),
QU
(
12627067369242845138
LLU
),
QU
(
4598965364035438158
LLU
),
K
QU
(
12627067369242845138
),
K
QU
(
4598965364035438158
),
QU
(
150923352751318171
LLU
),
QU
(
14274109544442257283
LLU
),
K
QU
(
150923352751318171
),
K
QU
(
14274109544442257283
),
QU
(
4696661475093863031
LLU
),
QU
(
1505764114384654516
LLU
),
K
QU
(
4696661475093863031
),
K
QU
(
1505764114384654516
),
QU
(
10699185831891495147
LLU
),
QU
(
2392353847713620519
LLU
),
K
QU
(
10699185831891495147
),
K
QU
(
2392353847713620519
),
QU
(
3652870166711788383
LLU
),
QU
(
8640653276221911108
LLU
),
K
QU
(
3652870166711788383
),
K
QU
(
8640653276221911108
),
QU
(
3894077592275889704
LLU
),
QU
(
4918592872135964845
LLU
),
K
QU
(
3894077592275889704
),
K
QU
(
4918592872135964845
),
QU
(
16379121273281400789
LLU
),
QU
(
12058465483591683656
LLU
),
K
QU
(
16379121273281400789
),
K
QU
(
12058465483591683656
),
QU
(
11250106829302924945
LLU
),
QU
(
1147537556296983005
LLU
),
K
QU
(
11250106829302924945
),
K
QU
(
1147537556296983005
),
QU
(
6376342756004613268
LLU
),
QU
(
14967128191709280506
LLU
),
K
QU
(
6376342756004613268
),
K
QU
(
14967128191709280506
),
QU
(
18007449949790627628
LLU
),
QU
(
9497178279316537841
LLU
),
K
QU
(
18007449949790627628
),
K
QU
(
9497178279316537841
),
QU
(
7920174844809394893
LLU
),
QU
(
10037752595255719907
LLU
),
K
QU
(
7920174844809394893
),
K
QU
(
10037752595255719907
),
QU
(
15875342784985217697
LLU
),
QU
(
15311615921712850696
LLU
),
K
QU
(
15875342784985217697
),
K
QU
(
15311615921712850696
),
QU
(
9552902652110992950
LLU
),
QU
(
14054979450099721140
LLU
),
K
QU
(
9552902652110992950
),
K
QU
(
14054979450099721140
),
QU
(
5998709773566417349
LLU
),
QU
(
18027910339276320187
LLU
),
K
QU
(
5998709773566417349
),
K
QU
(
18027910339276320187
),
QU
(
8223099053868585554
LLU
),
QU
(
7842270354824999767
LLU
),
K
QU
(
8223099053868585554
),
K
QU
(
7842270354824999767
),
QU
(
4896315688770080292
LLU
),
QU
(
12969320296569787895
LLU
),
K
QU
(
4896315688770080292
),
K
QU
(
12969320296569787895
),
QU
(
2674321489185759961
LLU
),
QU
(
4053615936864718439
LLU
),
K
QU
(
2674321489185759961
),
K
QU
(
4053615936864718439
),
QU
(
11349775270588617578
LLU
),
QU
(
4743019256284553975
LLU
),
K
QU
(
11349775270588617578
),
K
QU
(
4743019256284553975
),
QU
(
5602100217469723769
LLU
),
QU
(
14398995691411527813
LLU
),
K
QU
(
5602100217469723769
),
K
QU
(
14398995691411527813
),
QU
(
7412170493796825470
LLU
),
QU
(
836262406131744846
LLU
),
K
QU
(
7412170493796825470
),
K
QU
(
836262406131744846
),
QU
(
8231086633845153022
LLU
),
QU
(
5161377920438552287
LLU
),
K
QU
(
8231086633845153022
),
K
QU
(
5161377920438552287
),
QU
(
8828731196169924949
LLU
),
QU
(
16211142246465502680
LLU
),
K
QU
(
8828731196169924949
),
K
QU
(
16211142246465502680
),
QU
(
3307990879253687818
LLU
),
QU
(
5193405406899782022
LLU
),
K
QU
(
3307990879253687818
),
K
QU
(
5193405406899782022
),
QU
(
8510842117467566693
LLU
),
QU
(
6070955181022405365
LLU
),
K
QU
(
8510842117467566693
),
K
QU
(
6070955181022405365
),
QU
(
14482950231361409799
LLU
),
QU
(
12585159371331138077
LLU
),
K
QU
(
14482950231361409799
),
K
QU
(
12585159371331138077
),
QU
(
3511537678933588148
LLU
),
QU
(
2041849474531116417
LLU
),
K
QU
(
3511537678933588148
),
K
QU
(
2041849474531116417
),
QU
(
10944936685095345792
LLU
),
QU
(
18303116923079107729
LLU
),
K
QU
(
10944936685095345792
),
K
QU
(
18303116923079107729
),
QU
(
2720566371239725320
LLU
),
QU
(
4958672473562397622
LLU
),
K
QU
(
2720566371239725320
),
K
QU
(
4958672473562397622
),
QU
(
3032326668253243412
LLU
),
QU
(
13689418691726908338
LLU
),
K
QU
(
3032326668253243412
),
K
QU
(
13689418691726908338
),
QU
(
1895205511728843996
LLU
),
QU
(
8146303515271990527
LLU
),
K
QU
(
1895205511728843996
),
K
QU
(
8146303515271990527
),
QU
(
16507343500056113480
LLU
),
QU
(
473996939105902919
LLU
),
K
QU
(
16507343500056113480
),
K
QU
(
473996939105902919
),
QU
(
9897686885246881481
LLU
),
QU
(
14606433762712790575
LLU
),
K
QU
(
9897686885246881481
),
K
QU
(
14606433762712790575
),
QU
(
6732796251605566368
LLU
),
QU
(
1399778120855368916
LLU
),
K
QU
(
6732796251605566368
),
K
QU
(
1399778120855368916
),
QU
(
935023885182833777
LLU
),
QU
(
16066282816186753477
LLU
),
K
QU
(
935023885182833777
),
K
QU
(
16066282816186753477
),
QU
(
7291270991820612055
LLU
),
QU
(
17530230393129853844
LLU
),
K
QU
(
7291270991820612055
),
K
QU
(
17530230393129853844
),
QU
(
10223493623477451366
LLU
),
QU
(
15841725630495676683
LLU
),
K
QU
(
10223493623477451366
),
K
QU
(
15841725630495676683
),
QU
(
17379567246435515824
LLU
),
QU
(
8588251429375561971
LLU
),
K
QU
(
17379567246435515824
),
K
QU
(
8588251429375561971
),
QU
(
18339511210887206423
LLU
),
QU
(
17349587430725976100
LLU
),
K
QU
(
18339511210887206423
),
K
QU
(
17349587430725976100
),
QU
(
12244876521394838088
LLU
),
QU
(
6382187714147161259
LLU
),
K
QU
(
12244876521394838088
),
K
QU
(
6382187714147161259
),
QU
(
12335807181848950831
LLU
),
QU
(
16948885622305460665
LLU
),
K
QU
(
12335807181848950831
),
K
QU
(
16948885622305460665
),
QU
(
13755097796371520506
LLU
),
QU
(
14806740373324947801
LLU
),
K
QU
(
13755097796371520506
),
K
QU
(
14806740373324947801
),
QU
(
4828699633859287703
LLU
),
QU
(
8209879281452301604
LLU
),
K
QU
(
4828699633859287703
),
K
QU
(
8209879281452301604
),
QU
(
12435716669553736437
LLU
),
QU
(
13970976859588452131
LLU
),
K
QU
(
12435716669553736437
),
K
QU
(
13970976859588452131
),
QU
(
6233960842566773148
LLU
),
QU
(
12507096267900505759
LLU
),
K
QU
(
6233960842566773148
),
K
QU
(
12507096267900505759
),
QU
(
1198713114381279421
LLU
),
QU
(
14989862731124149015
LLU
),
K
QU
(
1198713114381279421
),
K
QU
(
14989862731124149015
),
QU
(
15932189508707978949
LLU
),
QU
(
2526406641432708722
LLU
),
K
QU
(
15932189508707978949
),
K
QU
(
2526406641432708722
),
QU
(
29187427817271982
LLU
),
QU
(
1499802773054556353
LLU
),
K
QU
(
29187427817271982
),
K
QU
(
1499802773054556353
),
QU
(
10816638187021897173
LLU
),
QU
(
5436139270839738132
LLU
),
K
QU
(
10816638187021897173
),
K
QU
(
5436139270839738132
),
QU
(
6659882287036010082
LLU
),
QU
(
2154048955317173697
LLU
),
K
QU
(
6659882287036010082
),
K
QU
(
2154048955317173697
),
QU
(
10887317019333757642
LLU
),
QU
(
16281091802634424955
LLU
),
K
QU
(
10887317019333757642
),
K
QU
(
16281091802634424955
),
QU
(
10754549879915384901
LLU
),
QU
(
10760611745769249815
LLU
),
K
QU
(
10754549879915384901
),
K
QU
(
10760611745769249815
),
QU
(
2161505946972504002
LLU
),
QU
(
5243132808986265107
LLU
),
K
QU
(
2161505946972504002
),
K
QU
(
5243132808986265107
),
QU
(
10129852179873415416
LLU
),
QU
(
710339480008649081
LLU
),
K
QU
(
10129852179873415416
),
K
QU
(
710339480008649081
),
QU
(
7802129453068808528
LLU
),
QU
(
17967213567178907213
LLU
),
K
QU
(
7802129453068808528
),
K
QU
(
17967213567178907213
),
QU
(
15730859124668605599
LLU
),
QU
(
13058356168962376502
LLU
),
K
QU
(
15730859124668605599
),
K
QU
(
13058356168962376502
),
QU
(
3701224985413645909
LLU
),
QU
(
14464065869149109264
LLU
),
K
QU
(
3701224985413645909
),
K
QU
(
14464065869149109264
),
QU
(
9959272418844311646
LLU
),
QU
(
10157426099515958752
LLU
),
K
QU
(
9959272418844311646
),
K
QU
(
10157426099515958752
),
QU
(
14013736814538268528
LLU
),
QU
(
17797456992065653951
LLU
),
K
QU
(
14013736814538268528
),
K
QU
(
17797456992065653951
),
QU
(
17418878140257344806
LLU
),
QU
(
15457429073540561521
LLU
),
K
QU
(
17418878140257344806
),
K
QU
(
15457429073540561521
),
QU
(
2184426881360949378
LLU
),
QU
(
2062193041154712416
LLU
),
K
QU
(
2184426881360949378
),
K
QU
(
2062193041154712416
),
QU
(
8553463347406931661
LLU
),
QU
(
4913057625202871854
LLU
),
K
QU
(
8553463347406931661
),
K
QU
(
4913057625202871854
),
QU
(
2668943682126618425
LLU
),
QU
(
17064444737891172288
LLU
),
K
QU
(
2668943682126618425
),
K
QU
(
17064444737891172288
),
QU
(
4997115903913298637
LLU
),
QU
(
12019402608892327416
LLU
),
K
QU
(
4997115903913298637
),
K
QU
(
12019402608892327416
),
QU
(
17603584559765897352
LLU
),
QU
(
11367529582073647975
LLU
),
K
QU
(
17603584559765897352
),
K
QU
(
11367529582073647975
),
QU
(
8211476043518436050
LLU
),
QU
(
8676849804070323674
LLU
),
K
QU
(
8211476043518436050
),
K
QU
(
8676849804070323674
),
QU
(
18431829230394475730
LLU
),
QU
(
10490177861361247904
LLU
),
K
QU
(
18431829230394475730
),
K
QU
(
10490177861361247904
),
QU
(
9508720602025651349
LLU
),
QU
(
7409627448555722700
LLU
),
K
QU
(
9508720602025651349
),
K
QU
(
7409627448555722700
),
QU
(
5804047018862729008
LLU
),
QU
(
11943858176893142594
LLU
),
K
QU
(
5804047018862729008
),
K
QU
(
11943858176893142594
),
QU
(
11908095418933847092
LLU
),
QU
(
5415449345715887652
LLU
),
K
QU
(
11908095418933847092
),
K
QU
(
5415449345715887652
),
QU
(
1554022699166156407
LLU
),
QU
(
9073322106406017161
LLU
),
K
QU
(
1554022699166156407
),
K
QU
(
9073322106406017161
),
QU
(
7080630967969047082
LLU
),
QU
(
18049736940860732943
LLU
),
K
QU
(
7080630967969047082
),
K
QU
(
18049736940860732943
),
QU
(
12748714242594196794
LLU
),
QU
(
1226992415735156741
LLU
),
K
QU
(
12748714242594196794
),
K
QU
(
1226992415735156741
),
QU
(
17900981019609531193
LLU
),
QU
(
11720739744008710999
LLU
),
K
QU
(
17900981019609531193
),
K
QU
(
11720739744008710999
),
QU
(
3006400683394775434
LLU
),
QU
(
11347974011751996028
LLU
),
K
QU
(
3006400683394775434
),
K
QU
(
11347974011751996028
),
QU
(
3316999628257954608
LLU
),
QU
(
8384484563557639101
LLU
),
K
QU
(
3316999628257954608
),
K
QU
(
8384484563557639101
),
QU
(
18117794685961729767
LLU
),
QU
(
1900145025596618194
LLU
),
K
QU
(
18117794685961729767
),
K
QU
(
1900145025596618194
),
QU
(
17459527840632892676
LLU
),
QU
(
5634784101865710994
LLU
),
K
QU
(
17459527840632892676
),
K
QU
(
5634784101865710994
),
QU
(
7918619300292897158
LLU
),
QU
(
3146577625026301350
LLU
),
K
QU
(
7918619300292897158
),
K
QU
(
3146577625026301350
),
QU
(
9955212856499068767
LLU
),
QU
(
1873995843681746975
LLU
),
K
QU
(
9955212856499068767
),
K
QU
(
1873995843681746975
),
QU
(
1561487759967972194
LLU
),
QU
(
8322718804375878474
LLU
),
K
QU
(
1561487759967972194
),
K
QU
(
8322718804375878474
),
QU
(
11300284215327028366
LLU
),
QU
(
4667391032508998982
LLU
),
K
QU
(
11300284215327028366
),
K
QU
(
4667391032508998982
),
QU
(
9820104494306625580
LLU
),
QU
(
17922397968599970610
LLU
),
K
QU
(
9820104494306625580
),
K
QU
(
17922397968599970610
),
QU
(
1784690461886786712
LLU
),
QU
(
14940365084341346821
LLU
),
K
QU
(
1784690461886786712
),
K
QU
(
14940365084341346821
),
QU
(
5348719575594186181
LLU
),
QU
(
10720419084507855261
LLU
),
K
QU
(
5348719575594186181
),
K
QU
(
10720419084507855261
),
QU
(
14210394354145143274
LLU
),
QU
(
2426468692164000131
LLU
),
K
QU
(
14210394354145143274
),
K
QU
(
2426468692164000131
),
QU
(
16271062114607059202
LLU
),
QU
(
14851904092357070247
LLU
),
K
QU
(
16271062114607059202
),
K
QU
(
14851904092357070247
),
QU
(
6524493015693121897
LLU
),
QU
(
9825473835127138531
LLU
),
K
QU
(
6524493015693121897
),
K
QU
(
9825473835127138531
),
QU
(
14222500616268569578
LLU
),
QU
(
15521484052007487468
LLU
),
K
QU
(
14222500616268569578
),
K
QU
(
15521484052007487468
),
QU
(
14462579404124614699
LLU
),
QU
(
11012375590820665520
LLU
),
K
QU
(
14462579404124614699
),
K
QU
(
11012375590820665520
),
QU
(
11625327350536084927
LLU
),
QU
(
14452017765243785417
LLU
),
K
QU
(
11625327350536084927
),
K
QU
(
14452017765243785417
),
QU
(
9989342263518766305
LLU
),
QU
(
3640105471101803790
LLU
),
K
QU
(
9989342263518766305
),
K
QU
(
3640105471101803790
),
QU
(
4749866455897513242
LLU
),
QU
(
13963064946736312044
LLU
),
K
QU
(
4749866455897513242
),
K
QU
(
13963064946736312044
),
QU
(
10007416591973223791
LLU
),
QU
(
18314132234717431115
LLU
),
K
QU
(
10007416591973223791
),
K
QU
(
18314132234717431115
),
QU
(
3286596588617483450
LLU
),
QU
(
7726163455370818765
LLU
),
K
QU
(
3286596588617483450
),
K
QU
(
7726163455370818765
),
QU
(
7575454721115379328
LLU
),
QU
(
5308331576437663422
LLU
),
K
QU
(
7575454721115379328
),
K
QU
(
5308331576437663422
),
QU
(
18288821894903530934
LLU
),
QU
(
8028405805410554106
LLU
),
K
QU
(
18288821894903530934
),
K
QU
(
8028405805410554106
),
QU
(
15744019832103296628
LLU
),
QU
(
149765559630932100
LLU
),
K
QU
(
15744019832103296628
),
K
QU
(
149765559630932100
),
QU
(
6137705557200071977
LLU
),
QU
(
14513416315434803615
LLU
),
K
QU
(
6137705557200071977
),
K
QU
(
14513416315434803615
),
QU
(
11665702820128984473
LLU
),
QU
(
218926670505601386
LLU
),
K
QU
(
11665702820128984473
),
K
QU
(
218926670505601386
),
QU
(
6868675028717769519
LLU
),
QU
(
15282016569441512302
LLU
),
K
QU
(
6868675028717769519
),
K
QU
(
15282016569441512302
),
QU
(
5707000497782960236
LLU
),
QU
(
6671120586555079567
LLU
),
K
QU
(
5707000497782960236
),
K
QU
(
6671120586555079567
),
QU
(
2194098052618985448
LLU
),
QU
(
16849577895477330978
LLU
),
K
QU
(
2194098052618985448
),
K
QU
(
16849577895477330978
),
QU
(
12957148471017466283
LLU
),
QU
(
1997805535404859393
LLU
),
K
QU
(
12957148471017466283
),
K
QU
(
1997805535404859393
),
QU
(
1180721060263860490
LLU
),
QU
(
13206391310193756958
LLU
),
K
QU
(
1180721060263860490
),
K
QU
(
13206391310193756958
),
QU
(
12980208674461861797
LLU
),
QU
(
3825967775058875366
LLU
),
K
QU
(
12980208674461861797
),
K
QU
(
3825967775058875366
),
QU
(
17543433670782042631
LLU
),
QU
(
1518339070120322730
LLU
),
K
QU
(
17543433670782042631
),
K
QU
(
1518339070120322730
),
QU
(
16344584340890991669
LLU
),
QU
(
2611327165318529819
LLU
),
K
QU
(
16344584340890991669
),
K
QU
(
2611327165318529819
),
QU
(
11265022723283422529
LLU
),
QU
(
4001552800373196817
LLU
),
K
QU
(
11265022723283422529
),
K
QU
(
4001552800373196817
),
QU
(
14509595890079346161
LLU
),
QU
(
3528717165416234562
LLU
),
K
QU
(
14509595890079346161
),
K
QU
(
3528717165416234562
),
QU
(
18153222571501914072
LLU
),
QU
(
9387182977209744425
LLU
),
K
QU
(
18153222571501914072
),
K
QU
(
9387182977209744425
),
QU
(
10064342315985580021
LLU
),
QU
(
11373678413215253977
LLU
),
K
QU
(
10064342315985580021
),
K
QU
(
11373678413215253977
),
QU
(
2308457853228798099
LLU
),
QU
(
9729042942839545302
LLU
),
K
QU
(
2308457853228798099
),
K
QU
(
9729042942839545302
),
QU
(
7833785471140127746
LLU
),
QU
(
6351049900319844436
LLU
),
K
QU
(
7833785471140127746
),
K
QU
(
6351049900319844436
),
QU
(
14454610627133496067
LLU
),
QU
(
12533175683634819111
LLU
),
K
QU
(
14454610627133496067
),
K
QU
(
12533175683634819111
),
QU
(
15570163926716513029
LLU
),
QU
(
13356980519185762498
LLU
)
K
QU
(
15570163926716513029
),
K
QU
(
13356980519185762498
)
};
};
TEST_BEGIN
(
test_gen_rand_32
)
TEST_BEGIN
(
test_gen_rand_32
)
...
@@ -1543,13 +1543,13 @@ TEST_BEGIN(test_gen_rand_64)
...
@@ -1543,13 +1543,13 @@ TEST_BEGIN(test_gen_rand_64)
}
}
r
=
gen_rand64
(
ctx
);
r
=
gen_rand64
(
ctx
);
assert_u64_eq
(
r
,
array64
[
i
],
assert_u64_eq
(
r
,
array64
[
i
],
"Mismatch at array64[%d]=%"
PRI
x64
", gen=%"
PRI
x64
,
i
,
"Mismatch at array64[%d]=%"
FMT
x64
", gen=%"
FMT
x64
,
i
,
array64
[
i
],
r
);
array64
[
i
],
r
);
}
}
for
(
i
=
0
;
i
<
COUNT_2
;
i
++
)
{
for
(
i
=
0
;
i
<
COUNT_2
;
i
++
)
{
r
=
gen_rand64
(
ctx
);
r
=
gen_rand64
(
ctx
);
assert_u64_eq
(
r
,
array64_2
[
i
],
assert_u64_eq
(
r
,
array64_2
[
i
],
"Mismatch at array64_2[%d]=%"
PRI
x64
" gen=%"
PRI
x64
""
,
i
,
"Mismatch at array64_2[%d]=%"
FMT
x64
" gen=%"
FMT
x64
""
,
i
,
array64_2
[
i
],
r
);
array64_2
[
i
],
r
);
}
}
fini_gen_rand
(
ctx
);
fini_gen_rand
(
ctx
);
...
@@ -1580,13 +1580,13 @@ TEST_BEGIN(test_by_array_64)
...
@@ -1580,13 +1580,13 @@ TEST_BEGIN(test_by_array_64)
}
}
r
=
gen_rand64
(
ctx
);
r
=
gen_rand64
(
ctx
);
assert_u64_eq
(
r
,
array64
[
i
],
assert_u64_eq
(
r
,
array64
[
i
],
"Mismatch at array64[%d]=%"
PRI
x64
" gen=%"
PRI
x64
,
i
,
"Mismatch at array64[%d]=%"
FMT
x64
" gen=%"
FMT
x64
,
i
,
array64
[
i
],
r
);
array64
[
i
],
r
);
}
}
for
(
i
=
0
;
i
<
COUNT_2
;
i
++
)
{
for
(
i
=
0
;
i
<
COUNT_2
;
i
++
)
{
r
=
gen_rand64
(
ctx
);
r
=
gen_rand64
(
ctx
);
assert_u64_eq
(
r
,
array64_2
[
i
],
assert_u64_eq
(
r
,
array64_2
[
i
],
"Mismatch at array64_2[%d]=%"
PRI
x64
" gen=%"
PRI
x64
,
i
,
"Mismatch at array64_2[%d]=%"
FMT
x64
" gen=%"
FMT
x64
,
i
,
array64_2
[
i
],
r
);
array64_2
[
i
],
r
);
}
}
fini_gen_rand
(
ctx
);
fini_gen_rand
(
ctx
);
...
...
deps/jemalloc/test/unit/atomic.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
#define TEST_STRUCT(p, t) \
struct p##_test_s { \
t accum0; \
t x; \
t s; \
}; \
typedef struct p##_test_s p##_test_t;
#define TEST_BODY(p, t, tc, ta, FMT) do { \
const p##_test_t tests[] = { \
{(t)-1, (t)-1, (t)-2}, \
{(t)-1, (t) 0, (t)-2}, \
{(t)-1, (t) 1, (t)-2}, \
\
{(t) 0, (t)-1, (t)-2}, \
{(t) 0, (t) 0, (t)-2}, \
{(t) 0, (t) 1, (t)-2}, \
\
{(t) 1, (t)-1, (t)-2}, \
{(t) 1, (t) 0, (t)-2}, \
{(t) 1, (t) 1, (t)-2}, \
\
{(t)0, (t)-(1 << 22), (t)-2}, \
{(t)0, (t)(1 << 22), (t)-2}, \
{(t)(1 << 22), (t)-(1 << 22), (t)-2}, \
{(t)(1 << 22), (t)(1 << 22), (t)-2} \
}; \
unsigned i; \
\
for (i = 0; i < sizeof(tests)/sizeof(p##_test_t); i++) { \
bool err; \
t accum = tests[i].accum0; \
assert_##ta##_eq(atomic_read_##p(&accum), \
tests[i].accum0, \
"Erroneous read, i=%u", i); \
\
assert_##ta##_eq(atomic_add_##p(&accum, tests[i].x), \
(t)((tc)tests[i].accum0 + (tc)tests[i].x), \
"i=%u, accum=%"FMT", x=%"FMT, \
i, tests[i].accum0, tests[i].x); \
assert_##ta##_eq(atomic_read_##p(&accum), accum, \
"Erroneous add, i=%u", i); \
\
accum = tests[i].accum0; \
assert_##ta##_eq(atomic_sub_##p(&accum, tests[i].x), \
(t)((tc)tests[i].accum0 - (tc)tests[i].x), \
"i=%u, accum=%"FMT", x=%"FMT, \
i, tests[i].accum0, tests[i].x); \
assert_##ta##_eq(atomic_read_##p(&accum), accum, \
"Erroneous sub, i=%u", i); \
\
accum = tests[i].accum0; \
err = atomic_cas_##p(&accum, tests[i].x, tests[i].s); \
assert_b_eq(err, tests[i].accum0 != tests[i].x, \
"Erroneous cas success/failure result"); \
assert_##ta##_eq(accum, err ? tests[i].accum0 : \
tests[i].s, "Erroneous cas effect, i=%u", i); \
\
accum = tests[i].accum0; \
atomic_write_##p(&accum, tests[i].s); \
assert_##ta##_eq(accum, tests[i].s, \
"Erroneous write, i=%u", i); \
} \
} while (0)
TEST_STRUCT
(
uint64
,
uint64_t
)
TEST_BEGIN
(
test_atomic_uint64
)
{
#if !(LG_SIZEOF_PTR == 3 || LG_SIZEOF_INT == 3)
test_skip
(
"64-bit atomic operations not supported"
);
#else
TEST_BODY
(
uint64
,
uint64_t
,
uint64_t
,
u64
,
FMTx64
);
#endif
}
TEST_END
TEST_STRUCT
(
uint32
,
uint32_t
)
TEST_BEGIN
(
test_atomic_uint32
)
{
TEST_BODY
(
uint32
,
uint32_t
,
uint32_t
,
u32
,
"#"
FMTx32
);
}
TEST_END
TEST_STRUCT
(
p
,
void
*
)
TEST_BEGIN
(
test_atomic_p
)
{
TEST_BODY
(
p
,
void
*
,
uintptr_t
,
ptr
,
"p"
);
}
TEST_END
TEST_STRUCT
(
z
,
size_t
)
TEST_BEGIN
(
test_atomic_z
)
{
TEST_BODY
(
z
,
size_t
,
size_t
,
zu
,
"#zx"
);
}
TEST_END
TEST_STRUCT
(
u
,
unsigned
)
TEST_BEGIN
(
test_atomic_u
)
{
TEST_BODY
(
u
,
unsigned
,
unsigned
,
u
,
"#x"
);
}
TEST_END
int
main
(
void
)
{
return
(
test
(
test_atomic_uint64
,
test_atomic_uint32
,
test_atomic_p
,
test_atomic_z
,
test_atomic_u
));
}
deps/jemalloc/test/unit/bitmap.c
View file @
a9951b1b
#include "test/jemalloc_test.h"
#include "test/jemalloc_test.h"
#if (LG_BITMAP_MAXBITS > 12)
# define MAXBITS 4500
#else
# define MAXBITS (1U << LG_BITMAP_MAXBITS)
#endif
TEST_BEGIN
(
test_bitmap_size
)
TEST_BEGIN
(
test_bitmap_size
)
{
{
size_t
i
,
prev_size
;
size_t
i
,
prev_size
;
prev_size
=
0
;
prev_size
=
0
;
for
(
i
=
1
;
i
<=
MAXBITS
;
i
++
)
{
for
(
i
=
1
;
i
<=
BITMAP_
MAXBITS
;
i
++
)
{
size_t
size
=
bitmap_size
(
i
);
size_t
size
=
bitmap_size
(
i
);
assert_true
(
size
>=
prev_size
,
assert_true
(
size
>=
prev_size
,
"Bitmap size is smaller than expected"
);
"Bitmap size is smaller than expected"
);
...
@@ -24,12 +18,12 @@ TEST_BEGIN(test_bitmap_init)
...
@@ -24,12 +18,12 @@ TEST_BEGIN(test_bitmap_init)
{
{
size_t
i
;
size_t
i
;
for
(
i
=
1
;
i
<=
MAXBITS
;
i
++
)
{
for
(
i
=
1
;
i
<=
BITMAP_
MAXBITS
;
i
++
)
{
bitmap_info_t
binfo
;
bitmap_info_t
binfo
;
bitmap_info_init
(
&
binfo
,
i
);
bitmap_info_init
(
&
binfo
,
i
);
{
{
size_t
j
;
size_t
j
;
bitmap_t
*
bitmap
=
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_t
*
bitmap
=
(
bitmap_t
*
)
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_info_ngroups
(
&
binfo
));
bitmap_info_ngroups
(
&
binfo
));
bitmap_init
(
bitmap
,
&
binfo
);
bitmap_init
(
bitmap
,
&
binfo
);
...
@@ -47,12 +41,12 @@ TEST_BEGIN(test_bitmap_set)
...
@@ -47,12 +41,12 @@ TEST_BEGIN(test_bitmap_set)
{
{
size_t
i
;
size_t
i
;
for
(
i
=
1
;
i
<=
MAXBITS
;
i
++
)
{
for
(
i
=
1
;
i
<=
BITMAP_
MAXBITS
;
i
++
)
{
bitmap_info_t
binfo
;
bitmap_info_t
binfo
;
bitmap_info_init
(
&
binfo
,
i
);
bitmap_info_init
(
&
binfo
,
i
);
{
{
size_t
j
;
size_t
j
;
bitmap_t
*
bitmap
=
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_t
*
bitmap
=
(
bitmap_t
*
)
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_info_ngroups
(
&
binfo
));
bitmap_info_ngroups
(
&
binfo
));
bitmap_init
(
bitmap
,
&
binfo
);
bitmap_init
(
bitmap
,
&
binfo
);
...
@@ -70,12 +64,12 @@ TEST_BEGIN(test_bitmap_unset)
...
@@ -70,12 +64,12 @@ TEST_BEGIN(test_bitmap_unset)
{
{
size_t
i
;
size_t
i
;
for
(
i
=
1
;
i
<=
MAXBITS
;
i
++
)
{
for
(
i
=
1
;
i
<=
BITMAP_
MAXBITS
;
i
++
)
{
bitmap_info_t
binfo
;
bitmap_info_t
binfo
;
bitmap_info_init
(
&
binfo
,
i
);
bitmap_info_init
(
&
binfo
,
i
);
{
{
size_t
j
;
size_t
j
;
bitmap_t
*
bitmap
=
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_t
*
bitmap
=
(
bitmap_t
*
)
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_info_ngroups
(
&
binfo
));
bitmap_info_ngroups
(
&
binfo
));
bitmap_init
(
bitmap
,
&
binfo
);
bitmap_init
(
bitmap
,
&
binfo
);
...
@@ -99,12 +93,12 @@ TEST_BEGIN(test_bitmap_sfu)
...
@@ -99,12 +93,12 @@ TEST_BEGIN(test_bitmap_sfu)
{
{
size_t
i
;
size_t
i
;
for
(
i
=
1
;
i
<=
MAXBITS
;
i
++
)
{
for
(
i
=
1
;
i
<=
BITMAP_
MAXBITS
;
i
++
)
{
bitmap_info_t
binfo
;
bitmap_info_t
binfo
;
bitmap_info_init
(
&
binfo
,
i
);
bitmap_info_init
(
&
binfo
,
i
);
{
{
ssize_t
j
;
ssize_t
j
;
bitmap_t
*
bitmap
=
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_t
*
bitmap
=
(
bitmap_t
*
)
malloc
(
sizeof
(
bitmap_t
)
*
bitmap_info_ngroups
(
&
binfo
));
bitmap_info_ngroups
(
&
binfo
));
bitmap_init
(
bitmap
,
&
binfo
);
bitmap_init
(
bitmap
,
&
binfo
);
...
...
deps/jemalloc/test/unit/ckh.c
View file @
a9951b1b
...
@@ -2,20 +2,24 @@
...
@@ -2,20 +2,24 @@
TEST_BEGIN
(
test_new_delete
)
TEST_BEGIN
(
test_new_delete
)
{
{
tsd_t
*
tsd
;
ckh_t
ckh
;
ckh_t
ckh
;
assert_false
(
ckh_new
(
&
ckh
,
2
,
ckh_string_hash
,
ckh_string_keycomp
),
tsd
=
tsd_fetch
();
"Unexpected ckh_new() error"
);
ckh_delete
(
&
ckh
);
assert_false
(
ckh_new
(
&
ckh
,
3
,
ckh_
pointer
_hash
,
ckh_
pointer
_keycomp
),
assert_false
(
ckh_new
(
tsd
,
&
ckh
,
2
,
ckh_
string
_hash
,
ckh_
string
_keycomp
),
"Unexpected ckh_new() error"
);
"Unexpected ckh_new() error"
);
ckh_delete
(
&
ckh
);
ckh_delete
(
tsd
,
&
ckh
);
assert_false
(
ckh_new
(
tsd
,
&
ckh
,
3
,
ckh_pointer_hash
,
ckh_pointer_keycomp
),
"Unexpected ckh_new() error"
);
ckh_delete
(
tsd
,
&
ckh
);
}
}
TEST_END
TEST_END
TEST_BEGIN
(
test_count_insert_search_remove
)
TEST_BEGIN
(
test_count_insert_search_remove
)
{
{
tsd_t
*
tsd
;
ckh_t
ckh
;
ckh_t
ckh
;
const
char
*
strs
[]
=
{
const
char
*
strs
[]
=
{
"a string"
,
"a string"
,
...
@@ -26,7 +30,9 @@ TEST_BEGIN(test_count_insert_search_remove)
...
@@ -26,7 +30,9 @@ TEST_BEGIN(test_count_insert_search_remove)
const
char
*
missing
=
"A string not in the hash table."
;
const
char
*
missing
=
"A string not in the hash table."
;
size_t
i
;
size_t
i
;
assert_false
(
ckh_new
(
&
ckh
,
2
,
ckh_string_hash
,
ckh_string_keycomp
),
tsd
=
tsd_fetch
();
assert_false
(
ckh_new
(
tsd
,
&
ckh
,
2
,
ckh_string_hash
,
ckh_string_keycomp
),
"Unexpected ckh_new() error"
);
"Unexpected ckh_new() error"
);
assert_zu_eq
(
ckh_count
(
&
ckh
),
0
,
assert_zu_eq
(
ckh_count
(
&
ckh
),
0
,
"ckh_count() should return %zu, but it returned %zu"
,
ZU
(
0
),
"ckh_count() should return %zu, but it returned %zu"
,
ZU
(
0
),
...
@@ -34,7 +40,7 @@ TEST_BEGIN(test_count_insert_search_remove)
...
@@ -34,7 +40,7 @@ TEST_BEGIN(test_count_insert_search_remove)
/* Insert. */
/* Insert. */
for
(
i
=
0
;
i
<
sizeof
(
strs
)
/
sizeof
(
const
char
*
);
i
++
)
{
for
(
i
=
0
;
i
<
sizeof
(
strs
)
/
sizeof
(
const
char
*
);
i
++
)
{
ckh_insert
(
&
ckh
,
strs
[
i
],
strs
[
i
]);
ckh_insert
(
tsd
,
&
ckh
,
strs
[
i
],
strs
[
i
]);
assert_zu_eq
(
ckh_count
(
&
ckh
),
i
+
1
,
assert_zu_eq
(
ckh_count
(
&
ckh
),
i
+
1
,
"ckh_count() should return %zu, but it returned %zu"
,
i
+
1
,
"ckh_count() should return %zu, but it returned %zu"
,
i
+
1
,
ckh_count
(
&
ckh
));
ckh_count
(
&
ckh
));
...
@@ -58,10 +64,10 @@ TEST_BEGIN(test_count_insert_search_remove)
...
@@ -58,10 +64,10 @@ TEST_BEGIN(test_count_insert_search_remove)
ks
=
(
i
&
1
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
ks
=
(
i
&
1
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
vs
=
(
i
&
2
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
vs
=
(
i
&
2
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
assert_ptr_eq
((
void
*
)
ks
,
(
void
*
)
k
.
s
,
assert_ptr_eq
((
void
*
)
ks
,
(
void
*
)
k
.
s
,
"Key mismatch, i=%zu"
,
"Key mismatch, i=%zu"
,
i
);
i
);
assert_ptr_eq
((
void
*
)
vs
,
(
void
*
)
v
.
s
,
assert_ptr_eq
((
void
*
)
vs
,
(
void
*
)
v
.
s
,
"Value mismatch, i=%zu"
,
"Value mismatch, i=%zu"
,
i
);
i
);
}
}
assert_true
(
ckh_search
(
&
ckh
,
missing
,
NULL
,
NULL
),
assert_true
(
ckh_search
(
&
ckh
,
missing
,
NULL
,
NULL
),
"Unexpected ckh_search() success"
);
"Unexpected ckh_search() success"
);
...
@@ -79,15 +85,15 @@ TEST_BEGIN(test_count_insert_search_remove)
...
@@ -79,15 +85,15 @@ TEST_BEGIN(test_count_insert_search_remove)
vp
=
(
i
&
2
)
?
&
v
.
p
:
NULL
;
vp
=
(
i
&
2
)
?
&
v
.
p
:
NULL
;
k
.
p
=
NULL
;
k
.
p
=
NULL
;
v
.
p
=
NULL
;
v
.
p
=
NULL
;
assert_false
(
ckh_remove
(
&
ckh
,
strs
[
i
],
kp
,
vp
),
assert_false
(
ckh_remove
(
tsd
,
&
ckh
,
strs
[
i
],
kp
,
vp
),
"Unexpected ckh_remove() error"
);
"Unexpected ckh_remove() error"
);
ks
=
(
i
&
1
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
ks
=
(
i
&
1
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
vs
=
(
i
&
2
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
vs
=
(
i
&
2
)
?
strs
[
i
]
:
(
const
char
*
)
NULL
;
assert_ptr_eq
((
void
*
)
ks
,
(
void
*
)
k
.
s
,
assert_ptr_eq
((
void
*
)
ks
,
(
void
*
)
k
.
s
,
"Key mismatch, i=%zu"
,
"Key mismatch, i=%zu"
,
i
);
i
);
assert_ptr_eq
((
void
*
)
vs
,
(
void
*
)
v
.
s
,
assert_ptr_eq
((
void
*
)
vs
,
(
void
*
)
v
.
s
,
"Value mismatch, i=%zu"
,
"Value mismatch, i=%zu"
,
i
);
i
);
assert_zu_eq
(
ckh_count
(
&
ckh
),
assert_zu_eq
(
ckh_count
(
&
ckh
),
sizeof
(
strs
)
/
sizeof
(
const
char
*
)
-
i
-
1
,
sizeof
(
strs
)
/
sizeof
(
const
char
*
)
-
i
-
1
,
"ckh_count() should return %zu, but it returned %zu"
,
"ckh_count() should return %zu, but it returned %zu"
,
...
@@ -95,20 +101,23 @@ TEST_BEGIN(test_count_insert_search_remove)
...
@@ -95,20 +101,23 @@ TEST_BEGIN(test_count_insert_search_remove)
ckh_count
(
&
ckh
));
ckh_count
(
&
ckh
));
}
}
ckh_delete
(
&
ckh
);
ckh_delete
(
tsd
,
&
ckh
);
}
}
TEST_END
TEST_END
TEST_BEGIN
(
test_insert_iter_remove
)
TEST_BEGIN
(
test_insert_iter_remove
)
{
{
#define NITEMS ZU(1000)
#define NITEMS ZU(1000)
tsd_t
*
tsd
;
ckh_t
ckh
;
ckh_t
ckh
;
void
**
p
[
NITEMS
];
void
**
p
[
NITEMS
];
void
*
q
,
*
r
;
void
*
q
,
*
r
;
size_t
i
;
size_t
i
;
assert_false
(
ckh_new
(
&
ckh
,
2
,
ckh_pointer_hash
,
ckh_pointer_keycomp
),
tsd
=
tsd_fetch
();
"Unexpected ckh_new() error"
);
assert_false
(
ckh_new
(
tsd
,
&
ckh
,
2
,
ckh_pointer_hash
,
ckh_pointer_keycomp
),
"Unexpected ckh_new() error"
);
for
(
i
=
0
;
i
<
NITEMS
;
i
++
)
{
for
(
i
=
0
;
i
<
NITEMS
;
i
++
)
{
p
[
i
]
=
mallocx
(
i
+
1
,
0
);
p
[
i
]
=
mallocx
(
i
+
1
,
0
);
...
@@ -119,7 +128,7 @@ TEST_BEGIN(test_insert_iter_remove)
...
@@ -119,7 +128,7 @@ TEST_BEGIN(test_insert_iter_remove)
size_t
j
;
size_t
j
;
for
(
j
=
i
;
j
<
NITEMS
;
j
++
)
{
for
(
j
=
i
;
j
<
NITEMS
;
j
++
)
{
assert_false
(
ckh_insert
(
&
ckh
,
p
[
j
],
p
[
j
]),
assert_false
(
ckh_insert
(
tsd
,
&
ckh
,
p
[
j
],
p
[
j
]),
"Unexpected ckh_insert() failure"
);
"Unexpected ckh_insert() failure"
);
assert_false
(
ckh_search
(
&
ckh
,
p
[
j
],
&
q
,
&
r
),
assert_false
(
ckh_search
(
&
ckh
,
p
[
j
],
&
q
,
&
r
),
"Unexpected ckh_search() failure"
);
"Unexpected ckh_search() failure"
);
...
@@ -134,13 +143,13 @@ TEST_BEGIN(test_insert_iter_remove)
...
@@ -134,13 +143,13 @@ TEST_BEGIN(test_insert_iter_remove)
for
(
j
=
i
+
1
;
j
<
NITEMS
;
j
++
)
{
for
(
j
=
i
+
1
;
j
<
NITEMS
;
j
++
)
{
assert_false
(
ckh_search
(
&
ckh
,
p
[
j
],
NULL
,
NULL
),
assert_false
(
ckh_search
(
&
ckh
,
p
[
j
],
NULL
,
NULL
),
"Unexpected ckh_search() failure"
);
"Unexpected ckh_search() failure"
);
assert_false
(
ckh_remove
(
&
ckh
,
p
[
j
],
&
q
,
&
r
),
assert_false
(
ckh_remove
(
tsd
,
&
ckh
,
p
[
j
],
&
q
,
&
r
),
"Unexpected ckh_remove() failure"
);
"Unexpected ckh_remove() failure"
);
assert_ptr_eq
(
p
[
j
],
q
,
"Key pointer mismatch"
);
assert_ptr_eq
(
p
[
j
],
q
,
"Key pointer mismatch"
);
assert_ptr_eq
(
p
[
j
],
r
,
"Value pointer mismatch"
);
assert_ptr_eq
(
p
[
j
],
r
,
"Value pointer mismatch"
);
assert_true
(
ckh_search
(
&
ckh
,
p
[
j
],
NULL
,
NULL
),
assert_true
(
ckh_search
(
&
ckh
,
p
[
j
],
NULL
,
NULL
),
"Unexpected ckh_search() success"
);
"Unexpected ckh_search() success"
);
assert_true
(
ckh_remove
(
&
ckh
,
p
[
j
],
&
q
,
&
r
),
assert_true
(
ckh_remove
(
tsd
,
&
ckh
,
p
[
j
],
&
q
,
&
r
),
"Unexpected ckh_remove() success"
);
"Unexpected ckh_remove() success"
);
}
}
...
@@ -150,8 +159,7 @@ TEST_BEGIN(test_insert_iter_remove)
...
@@ -150,8 +159,7 @@ TEST_BEGIN(test_insert_iter_remove)
memset
(
seen
,
0
,
sizeof
(
seen
));
memset
(
seen
,
0
,
sizeof
(
seen
));
for
(
tabind
=
0
;
ckh_iter
(
&
ckh
,
&
tabind
,
&
q
,
&
r
)
==
for
(
tabind
=
0
;
!
ckh_iter
(
&
ckh
,
&
tabind
,
&
q
,
&
r
);)
{
false
;)
{
size_t
k
;
size_t
k
;
assert_ptr_eq
(
q
,
r
,
"Key and val not equal"
);
assert_ptr_eq
(
q
,
r
,
"Key and val not equal"
);
...
@@ -176,21 +184,21 @@ TEST_BEGIN(test_insert_iter_remove)
...
@@ -176,21 +184,21 @@ TEST_BEGIN(test_insert_iter_remove)
for
(
i
=
0
;
i
<
NITEMS
;
i
++
)
{
for
(
i
=
0
;
i
<
NITEMS
;
i
++
)
{
assert_false
(
ckh_search
(
&
ckh
,
p
[
i
],
NULL
,
NULL
),
assert_false
(
ckh_search
(
&
ckh
,
p
[
i
],
NULL
,
NULL
),
"Unexpected ckh_search() failure"
);
"Unexpected ckh_search() failure"
);
assert_false
(
ckh_remove
(
&
ckh
,
p
[
i
],
&
q
,
&
r
),
assert_false
(
ckh_remove
(
tsd
,
&
ckh
,
p
[
i
],
&
q
,
&
r
),
"Unexpected ckh_remove() failure"
);
"Unexpected ckh_remove() failure"
);
assert_ptr_eq
(
p
[
i
],
q
,
"Key pointer mismatch"
);
assert_ptr_eq
(
p
[
i
],
q
,
"Key pointer mismatch"
);
assert_ptr_eq
(
p
[
i
],
r
,
"Value pointer mismatch"
);
assert_ptr_eq
(
p
[
i
],
r
,
"Value pointer mismatch"
);
assert_true
(
ckh_search
(
&
ckh
,
p
[
i
],
NULL
,
NULL
),
assert_true
(
ckh_search
(
&
ckh
,
p
[
i
],
NULL
,
NULL
),
"Unexpected ckh_search() success"
);
"Unexpected ckh_search() success"
);
assert_true
(
ckh_remove
(
&
ckh
,
p
[
i
],
&
q
,
&
r
),
assert_true
(
ckh_remove
(
tsd
,
&
ckh
,
p
[
i
],
&
q
,
&
r
),
"Unexpected ckh_remove() success"
);
"Unexpected ckh_remove() success"
);
dallocx
(
p
[
i
],
0
);
dallocx
(
p
[
i
],
0
);
}
}
assert_zu_eq
(
ckh_count
(
&
ckh
),
0
,
assert_zu_eq
(
ckh_count
(
&
ckh
),
0
,
"ckh_count() should return %zu, but it returned %zu"
,
ZU
(
0
),
"ckh_count() should return %zu, but it returned %zu"
,
ckh_count
(
&
ckh
));
ZU
(
0
),
ckh_count
(
&
ckh
));
ckh_delete
(
&
ckh
);
ckh_delete
(
tsd
,
&
ckh
);
#undef NITEMS
#undef NITEMS
}
}
TEST_END
TEST_END
...
...
deps/jemalloc/test/unit/hash.c
View file @
a9951b1b
...
@@ -64,8 +64,8 @@ hash_variant_verify(hash_variant_t variant)
...
@@ -64,8 +64,8 @@ hash_variant_verify(hash_variant_t variant)
{
{
const
size_t
hashbytes
=
hash_variant_bits
(
variant
)
/
8
;
const
size_t
hashbytes
=
hash_variant_bits
(
variant
)
/
8
;
uint8_t
key
[
256
];
uint8_t
key
[
256
];
uint8_t
hashes
[
hashbytes
*
256
]
;
VARIABLE_ARRAY
(
uint8_t
,
hashes
,
hashbytes
*
256
)
;
uint8_t
final
[
hashbytes
]
;
VARIABLE_ARRAY
(
uint8_t
,
final
,
hashbytes
)
;
unsigned
i
;
unsigned
i
;
uint32_t
computed
,
expected
;
uint32_t
computed
,
expected
;
...
...
deps/jemalloc/test/unit/junk.c
View file @
a9951b1b
#include "test/jemalloc_test.h"
#include "test/jemalloc_test.h"
#ifdef JEMALLOC_FILL
#ifdef JEMALLOC_FILL
# ifndef JEMALLOC_TEST_JUNK_OPT
# define JEMALLOC_TEST_JUNK_OPT "junk:true"
# endif
const
char
*
malloc_conf
=
const
char
*
malloc_conf
=
"abort:false,
junk:true,
zero:false,redzone:true,quarantine:0
"
;
"abort:false,zero:false,redzone:true,quarantine:0
,"
JEMALLOC_TEST_JUNK_OPT
;
#endif
#endif
static
arena_dalloc_junk_small_t
*
arena_dalloc_junk_small_orig
;
static
arena_dalloc_junk_small_t
*
arena_dalloc_junk_small_orig
;
static
arena_dalloc_junk_large_t
*
arena_dalloc_junk_large_orig
;
static
arena_dalloc_junk_large_t
*
arena_dalloc_junk_large_orig
;
static
huge_dalloc_junk_t
*
huge_dalloc_junk_orig
;
static
huge_dalloc_junk_t
*
huge_dalloc_junk_orig
;
static
void
*
most_recently_junked
;
static
void
*
watch_for_junking
;
static
bool
saw_junking
;
static
void
watch_junking
(
void
*
p
)
{
watch_for_junking
=
p
;
saw_junking
=
false
;
}
static
void
static
void
arena_dalloc_junk_small_intercept
(
void
*
ptr
,
arena_bin_info_t
*
bin_info
)
arena_dalloc_junk_small_intercept
(
void
*
ptr
,
arena_bin_info_t
*
bin_info
)
...
@@ -21,7 +33,8 @@ arena_dalloc_junk_small_intercept(void *ptr, arena_bin_info_t *bin_info)
...
@@ -21,7 +33,8 @@ arena_dalloc_junk_small_intercept(void *ptr, arena_bin_info_t *bin_info)
"Missing junk fill for byte %zu/%zu of deallocated region"
,
"Missing junk fill for byte %zu/%zu of deallocated region"
,
i
,
bin_info
->
reg_size
);
i
,
bin_info
->
reg_size
);
}
}
most_recently_junked
=
ptr
;
if
(
ptr
==
watch_for_junking
)
saw_junking
=
true
;
}
}
static
void
static
void
...
@@ -35,7 +48,8 @@ arena_dalloc_junk_large_intercept(void *ptr, size_t usize)
...
@@ -35,7 +48,8 @@ arena_dalloc_junk_large_intercept(void *ptr, size_t usize)
"Missing junk fill for byte %zu/%zu of deallocated region"
,
"Missing junk fill for byte %zu/%zu of deallocated region"
,
i
,
usize
);
i
,
usize
);
}
}
most_recently_junked
=
ptr
;
if
(
ptr
==
watch_for_junking
)
saw_junking
=
true
;
}
}
static
void
static
void
...
@@ -48,7 +62,8 @@ huge_dalloc_junk_intercept(void *ptr, size_t usize)
...
@@ -48,7 +62,8 @@ huge_dalloc_junk_intercept(void *ptr, size_t usize)
* enough that it doesn't make sense to duplicate the decision logic in
* enough that it doesn't make sense to duplicate the decision logic in
* test code, so don't actually check that the region is junk-filled.
* test code, so don't actually check that the region is junk-filled.
*/
*/
most_recently_junked
=
ptr
;
if
(
ptr
==
watch_for_junking
)
saw_junking
=
true
;
}
}
static
void
static
void
...
@@ -57,12 +72,14 @@ test_junk(size_t sz_min, size_t sz_max)
...
@@ -57,12 +72,14 @@ test_junk(size_t sz_min, size_t sz_max)
char
*
s
;
char
*
s
;
size_t
sz_prev
,
sz
,
i
;
size_t
sz_prev
,
sz
,
i
;
if
(
opt_junk_free
)
{
arena_dalloc_junk_small_orig
=
arena_dalloc_junk_small
;
arena_dalloc_junk_small_orig
=
arena_dalloc_junk_small
;
arena_dalloc_junk_small
=
arena_dalloc_junk_small_intercept
;
arena_dalloc_junk_small
=
arena_dalloc_junk_small_intercept
;
arena_dalloc_junk_large_orig
=
arena_dalloc_junk_large
;
arena_dalloc_junk_large_orig
=
arena_dalloc_junk_large
;
arena_dalloc_junk_large
=
arena_dalloc_junk_large_intercept
;
arena_dalloc_junk_large
=
arena_dalloc_junk_large_intercept
;
huge_dalloc_junk_orig
=
huge_dalloc_junk
;
huge_dalloc_junk_orig
=
huge_dalloc_junk
;
huge_dalloc_junk
=
huge_dalloc_junk_intercept
;
huge_dalloc_junk
=
huge_dalloc_junk_intercept
;
}
sz_prev
=
0
;
sz_prev
=
0
;
s
=
(
char
*
)
mallocx
(
sz_min
,
0
);
s
=
(
char
*
)
mallocx
(
sz_min
,
0
);
...
@@ -80,34 +97,35 @@ test_junk(size_t sz_min, size_t sz_max)
...
@@ -80,34 +97,35 @@ test_junk(size_t sz_min, size_t sz_max)
}
}
for
(
i
=
sz_prev
;
i
<
sz
;
i
++
)
{
for
(
i
=
sz_prev
;
i
<
sz
;
i
++
)
{
if
(
opt_junk_alloc
)
{
assert_c_eq
(
s
[
i
],
0xa5
,
assert_c_eq
(
s
[
i
],
0xa5
,
"Newly allocated byte %zu/%zu isn't junk-filled"
,
"Newly allocated byte %zu/%zu isn't "
i
,
sz
);
"junk-filled"
,
i
,
sz
);
}
s
[
i
]
=
'a'
;
s
[
i
]
=
'a'
;
}
}
if
(
xallocx
(
s
,
sz
+
1
,
0
,
0
)
==
sz
)
{
if
(
xallocx
(
s
,
sz
+
1
,
0
,
0
)
==
sz
)
{
void
*
junked
=
(
void
*
)
s
;
watch_junking
(
s
);
s
=
(
char
*
)
rallocx
(
s
,
sz
+
1
,
0
);
s
=
(
char
*
)
rallocx
(
s
,
sz
+
1
,
0
);
assert_ptr_not_null
((
void
*
)
s
,
assert_ptr_not_null
((
void
*
)
s
,
"Unexpected rallocx() failure"
);
"Unexpected rallocx() failure"
);
if
(
!
config_mremap
||
sz
+
1
<=
arena_maxclass
)
{
assert_true
(
!
opt_junk_free
||
saw_junking
,
assert_ptr_eq
(
most_recently_junked
,
junked
,
"Expected region of size %zu to be junk-filled"
,
"Expected region of size %zu to be "
"junk-filled"
,
sz
);
sz
);
}
}
}
}
}
watch_junking
(
s
);
dallocx
(
s
,
0
);
dallocx
(
s
,
0
);
assert_
p
tr
_eq
(
most_recently_junked
,
(
void
*
)
s
,
assert_tr
ue
(
!
opt_junk_free
||
saw_junking
,
"Expected region of size %zu to be junk-filled"
,
sz
);
"Expected region of size %zu to be junk-filled"
,
sz
);
if
(
opt_junk_free
)
{
arena_dalloc_junk_small
=
arena_dalloc_junk_small_orig
;
arena_dalloc_junk_small
=
arena_dalloc_junk_small_orig
;
arena_dalloc_junk_large
=
arena_dalloc_junk_large_orig
;
arena_dalloc_junk_large
=
arena_dalloc_junk_large_orig
;
huge_dalloc_junk
=
huge_dalloc_junk_orig
;
huge_dalloc_junk
=
huge_dalloc_junk_orig
;
}
}
}
TEST_BEGIN
(
test_junk_small
)
TEST_BEGIN
(
test_junk_small
)
...
@@ -122,7 +140,7 @@ TEST_BEGIN(test_junk_large)
...
@@ -122,7 +140,7 @@ TEST_BEGIN(test_junk_large)
{
{
test_skip_if
(
!
config_fill
);
test_skip_if
(
!
config_fill
);
test_junk
(
SMALL_MAXCLASS
+
1
,
are
na
_maxclass
);
test_junk
(
SMALL_MAXCLASS
+
1
,
l
ar
g
e_maxclass
);
}
}
TEST_END
TEST_END
...
@@ -130,20 +148,32 @@ TEST_BEGIN(test_junk_huge)
...
@@ -130,20 +148,32 @@ TEST_BEGIN(test_junk_huge)
{
{
test_skip_if
(
!
config_fill
);
test_skip_if
(
!
config_fill
);
test_junk
(
are
na
_maxclass
+
1
,
chunksize
*
2
);
test_junk
(
l
ar
g
e_maxclass
+
1
,
chunksize
*
2
);
}
}
TEST_END
TEST_END
arena_ralloc_junk_large_t
*
arena_ralloc_junk_large_orig
;
arena_ralloc_junk_large_t
*
arena_ralloc_junk_large_orig
;
static
void
*
most_recently_trimmed
;
static
void
*
most_recently_trimmed
;
static
size_t
shrink_size
(
size_t
size
)
{
size_t
shrink_size
;
for
(
shrink_size
=
size
-
1
;
nallocx
(
shrink_size
,
0
)
==
size
;
shrink_size
--
)
;
/* Do nothing. */
return
(
shrink_size
);
}
static
void
static
void
arena_ralloc_junk_large_intercept
(
void
*
ptr
,
size_t
old_usize
,
size_t
usize
)
arena_ralloc_junk_large_intercept
(
void
*
ptr
,
size_t
old_usize
,
size_t
usize
)
{
{
arena_ralloc_junk_large_orig
(
ptr
,
old_usize
,
usize
);
arena_ralloc_junk_large_orig
(
ptr
,
old_usize
,
usize
);
assert_zu_eq
(
old_usize
,
are
na
_maxclass
,
"Unexpected old_usize"
);
assert_zu_eq
(
old_usize
,
l
ar
g
e_maxclass
,
"Unexpected old_usize"
);
assert_zu_eq
(
usize
,
arena
_maxclass
-
PAGE
,
"Unexpected usize"
);
assert_zu_eq
(
usize
,
shrink_size
(
large
_maxclass
)
,
"Unexpected usize"
);
most_recently_trimmed
=
ptr
;
most_recently_trimmed
=
ptr
;
}
}
...
@@ -151,13 +181,13 @@ TEST_BEGIN(test_junk_large_ralloc_shrink)
...
@@ -151,13 +181,13 @@ TEST_BEGIN(test_junk_large_ralloc_shrink)
{
{
void
*
p1
,
*
p2
;
void
*
p1
,
*
p2
;
p1
=
mallocx
(
are
na
_maxclass
,
0
);
p1
=
mallocx
(
l
ar
g
e_maxclass
,
0
);
assert_ptr_not_null
(
p1
,
"Unexpected mallocx() failure"
);
assert_ptr_not_null
(
p1
,
"Unexpected mallocx() failure"
);
arena_ralloc_junk_large_orig
=
arena_ralloc_junk_large
;
arena_ralloc_junk_large_orig
=
arena_ralloc_junk_large
;
arena_ralloc_junk_large
=
arena_ralloc_junk_large_intercept
;
arena_ralloc_junk_large
=
arena_ralloc_junk_large_intercept
;
p2
=
rallocx
(
p1
,
arena
_maxclass
-
PAGE
,
0
);
p2
=
rallocx
(
p1
,
shrink_size
(
large
_maxclass
)
,
0
);
assert_ptr_eq
(
p1
,
p2
,
"Unexpected move during shrink"
);
assert_ptr_eq
(
p1
,
p2
,
"Unexpected move during shrink"
);
arena_ralloc_junk_large
=
arena_ralloc_junk_large_orig
;
arena_ralloc_junk_large
=
arena_ralloc_junk_large_orig
;
...
@@ -183,6 +213,7 @@ TEST_BEGIN(test_junk_redzone)
...
@@ -183,6 +213,7 @@ TEST_BEGIN(test_junk_redzone)
arena_redzone_corruption_t
*
arena_redzone_corruption_orig
;
arena_redzone_corruption_t
*
arena_redzone_corruption_orig
;
test_skip_if
(
!
config_fill
);
test_skip_if
(
!
config_fill
);
test_skip_if
(
!
opt_junk_alloc
||
!
opt_junk_free
);
arena_redzone_corruption_orig
=
arena_redzone_corruption
;
arena_redzone_corruption_orig
=
arena_redzone_corruption
;
arena_redzone_corruption
=
arena_redzone_corruption_replacement
;
arena_redzone_corruption
=
arena_redzone_corruption_replacement
;
...
@@ -213,6 +244,7 @@ int
...
@@ -213,6 +244,7 @@ int
main
(
void
)
main
(
void
)
{
{
assert
(
!
config_fill
||
opt_junk_alloc
||
opt_junk_free
);
return
(
test
(
return
(
test
(
test_junk_small
,
test_junk_small
,
test_junk_large
,
test_junk_large
,
...
...
deps/jemalloc/test/unit/junk_alloc.c
0 → 100644
View file @
a9951b1b
#define JEMALLOC_TEST_JUNK_OPT "junk:alloc"
#include "junk.c"
#undef JEMALLOC_TEST_JUNK_OPT
deps/jemalloc/test/unit/junk_free.c
0 → 100644
View file @
a9951b1b
#define JEMALLOC_TEST_JUNK_OPT "junk:free"
#include "junk.c"
#undef JEMALLOC_TEST_JUNK_OPT
deps/jemalloc/test/unit/lg_chunk.c
0 → 100644
View file @
a9951b1b
#include "test/jemalloc_test.h"
/*
* Make sure that opt.lg_chunk clamping is sufficient. In practice, this test
* program will fail a debug assertion during initialization and abort (rather
* than the test soft-failing) if clamping is insufficient.
*/
const
char
*
malloc_conf
=
"lg_chunk:0"
;
TEST_BEGIN
(
test_lg_chunk_clamp
)
{
void
*
p
;
p
=
mallocx
(
1
,
0
);
assert_ptr_not_null
(
p
,
"Unexpected mallocx() failure"
);
dallocx
(
p
,
0
);
}
TEST_END
int
main
(
void
)
{
return
(
test
(
test_lg_chunk_clamp
));
}
deps/jemalloc/test/unit/mallctl.c
View file @
a9951b1b
...
@@ -126,11 +126,10 @@ TEST_BEGIN(test_mallctl_config)
...
@@ -126,11 +126,10 @@ TEST_BEGIN(test_mallctl_config)
assert_zu_eq(sz, sizeof(oldval), "Unexpected output size"); \
assert_zu_eq(sz, sizeof(oldval), "Unexpected output size"); \
} while (0)
} while (0)
TEST_MALLCTL_CONFIG
(
cache_oblivious
);
TEST_MALLCTL_CONFIG
(
debug
);
TEST_MALLCTL_CONFIG
(
debug
);
TEST_MALLCTL_CONFIG
(
dss
);
TEST_MALLCTL_CONFIG
(
fill
);
TEST_MALLCTL_CONFIG
(
fill
);
TEST_MALLCTL_CONFIG
(
lazy_lock
);
TEST_MALLCTL_CONFIG
(
lazy_lock
);
TEST_MALLCTL_CONFIG
(
mremap
);
TEST_MALLCTL_CONFIG
(
munmap
);
TEST_MALLCTL_CONFIG
(
munmap
);
TEST_MALLCTL_CONFIG
(
prof
);
TEST_MALLCTL_CONFIG
(
prof
);
TEST_MALLCTL_CONFIG
(
prof_libgcc
);
TEST_MALLCTL_CONFIG
(
prof_libgcc
);
...
@@ -166,12 +165,11 @@ TEST_BEGIN(test_mallctl_opt)
...
@@ -166,12 +165,11 @@ TEST_BEGIN(test_mallctl_opt)
TEST_MALLCTL_OPT
(
size_t
,
narenas
,
always
);
TEST_MALLCTL_OPT
(
size_t
,
narenas
,
always
);
TEST_MALLCTL_OPT
(
ssize_t
,
lg_dirty_mult
,
always
);
TEST_MALLCTL_OPT
(
ssize_t
,
lg_dirty_mult
,
always
);
TEST_MALLCTL_OPT
(
bool
,
stats_print
,
always
);
TEST_MALLCTL_OPT
(
bool
,
stats_print
,
always
);
TEST_MALLCTL_OPT
(
bool
,
junk
,
fill
);
TEST_MALLCTL_OPT
(
const
char
*
,
junk
,
fill
);
TEST_MALLCTL_OPT
(
size_t
,
quarantine
,
fill
);
TEST_MALLCTL_OPT
(
size_t
,
quarantine
,
fill
);
TEST_MALLCTL_OPT
(
bool
,
redzone
,
fill
);
TEST_MALLCTL_OPT
(
bool
,
redzone
,
fill
);
TEST_MALLCTL_OPT
(
bool
,
zero
,
fill
);
TEST_MALLCTL_OPT
(
bool
,
zero
,
fill
);
TEST_MALLCTL_OPT
(
bool
,
utrace
,
utrace
);
TEST_MALLCTL_OPT
(
bool
,
utrace
,
utrace
);
TEST_MALLCTL_OPT
(
bool
,
valgrind
,
valgrind
);
TEST_MALLCTL_OPT
(
bool
,
xmalloc
,
xmalloc
);
TEST_MALLCTL_OPT
(
bool
,
xmalloc
,
xmalloc
);
TEST_MALLCTL_OPT
(
bool
,
tcache
,
tcache
);
TEST_MALLCTL_OPT
(
bool
,
tcache
,
tcache
);
TEST_MALLCTL_OPT
(
size_t
,
lg_tcache_max
,
tcache
);
TEST_MALLCTL_OPT
(
size_t
,
lg_tcache_max
,
tcache
);
...
@@ -214,6 +212,126 @@ TEST_BEGIN(test_manpage_example)
...
@@ -214,6 +212,126 @@ TEST_BEGIN(test_manpage_example)
}
}
TEST_END
TEST_END
TEST_BEGIN
(
test_tcache_none
)
{
void
*
p0
,
*
q
,
*
p1
;
test_skip_if
(
!
config_tcache
);
/* Allocate p and q. */
p0
=
mallocx
(
42
,
0
);
assert_ptr_not_null
(
p0
,
"Unexpected mallocx() failure"
);
q
=
mallocx
(
42
,
0
);
assert_ptr_not_null
(
q
,
"Unexpected mallocx() failure"
);
/* Deallocate p and q, but bypass the tcache for q. */
dallocx
(
p0
,
0
);
dallocx
(
q
,
MALLOCX_TCACHE_NONE
);
/* Make sure that tcache-based allocation returns p, not q. */
p1
=
mallocx
(
42
,
0
);
assert_ptr_not_null
(
p1
,
"Unexpected mallocx() failure"
);
assert_ptr_eq
(
p0
,
p1
,
"Expected tcache to allocate cached region"
);
/* Clean up. */
dallocx
(
p1
,
MALLOCX_TCACHE_NONE
);
}
TEST_END
TEST_BEGIN
(
test_tcache
)
{
#define NTCACHES 10
unsigned
tis
[
NTCACHES
];
void
*
ps
[
NTCACHES
];
void
*
qs
[
NTCACHES
];
unsigned
i
;
size_t
sz
,
psz
,
qsz
;
test_skip_if
(
!
config_tcache
);
psz
=
42
;
qsz
=
nallocx
(
psz
,
0
)
+
1
;
/* Create tcaches. */
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
sz
=
sizeof
(
unsigned
);
assert_d_eq
(
mallctl
(
"tcache.create"
,
&
tis
[
i
],
&
sz
,
NULL
,
0
),
0
,
"Unexpected mallctl() failure, i=%u"
,
i
);
}
/* Exercise tcache ID recycling. */
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
assert_d_eq
(
mallctl
(
"tcache.destroy"
,
NULL
,
NULL
,
&
tis
[
i
],
sizeof
(
unsigned
)),
0
,
"Unexpected mallctl() failure, i=%u"
,
i
);
}
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
sz
=
sizeof
(
unsigned
);
assert_d_eq
(
mallctl
(
"tcache.create"
,
&
tis
[
i
],
&
sz
,
NULL
,
0
),
0
,
"Unexpected mallctl() failure, i=%u"
,
i
);
}
/* Flush empty tcaches. */
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
assert_d_eq
(
mallctl
(
"tcache.flush"
,
NULL
,
NULL
,
&
tis
[
i
],
sizeof
(
unsigned
)),
0
,
"Unexpected mallctl() failure, i=%u"
,
i
);
}
/* Cache some allocations. */
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
ps
[
i
]
=
mallocx
(
psz
,
MALLOCX_TCACHE
(
tis
[
i
]));
assert_ptr_not_null
(
ps
[
i
],
"Unexpected mallocx() failure, i=%u"
,
i
);
dallocx
(
ps
[
i
],
MALLOCX_TCACHE
(
tis
[
i
]));
qs
[
i
]
=
mallocx
(
qsz
,
MALLOCX_TCACHE
(
tis
[
i
]));
assert_ptr_not_null
(
qs
[
i
],
"Unexpected mallocx() failure, i=%u"
,
i
);
dallocx
(
qs
[
i
],
MALLOCX_TCACHE
(
tis
[
i
]));
}
/* Verify that tcaches allocate cached regions. */
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
void
*
p0
=
ps
[
i
];
ps
[
i
]
=
mallocx
(
psz
,
MALLOCX_TCACHE
(
tis
[
i
]));
assert_ptr_not_null
(
ps
[
i
],
"Unexpected mallocx() failure, i=%u"
,
i
);
assert_ptr_eq
(
ps
[
i
],
p0
,
"Expected mallocx() to allocate cached region, i=%u"
,
i
);
}
/* Verify that reallocation uses cached regions. */
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
void
*
q0
=
qs
[
i
];
qs
[
i
]
=
rallocx
(
ps
[
i
],
qsz
,
MALLOCX_TCACHE
(
tis
[
i
]));
assert_ptr_not_null
(
qs
[
i
],
"Unexpected rallocx() failure, i=%u"
,
i
);
assert_ptr_eq
(
qs
[
i
],
q0
,
"Expected rallocx() to allocate cached region, i=%u"
,
i
);
/* Avoid undefined behavior in case of test failure. */
if
(
qs
[
i
]
==
NULL
)
qs
[
i
]
=
ps
[
i
];
}
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
dallocx
(
qs
[
i
],
MALLOCX_TCACHE
(
tis
[
i
]));
/* Flush some non-empty tcaches. */
for
(
i
=
0
;
i
<
NTCACHES
/
2
;
i
++
)
{
assert_d_eq
(
mallctl
(
"tcache.flush"
,
NULL
,
NULL
,
&
tis
[
i
],
sizeof
(
unsigned
)),
0
,
"Unexpected mallctl() failure, i=%u"
,
i
);
}
/* Destroy tcaches. */
for
(
i
=
0
;
i
<
NTCACHES
;
i
++
)
{
assert_d_eq
(
mallctl
(
"tcache.destroy"
,
NULL
,
NULL
,
&
tis
[
i
],
sizeof
(
unsigned
)),
0
,
"Unexpected mallctl() failure, i=%u"
,
i
);
}
}
TEST_END
TEST_BEGIN
(
test_thread_arena
)
TEST_BEGIN
(
test_thread_arena
)
{
{
unsigned
arena_old
,
arena_new
,
narenas
;
unsigned
arena_old
,
arena_new
,
narenas
;
...
@@ -231,6 +349,38 @@ TEST_BEGIN(test_thread_arena)
...
@@ -231,6 +349,38 @@ TEST_BEGIN(test_thread_arena)
}
}
TEST_END
TEST_END
TEST_BEGIN
(
test_arena_i_lg_dirty_mult
)
{
ssize_t
lg_dirty_mult
,
orig_lg_dirty_mult
,
prev_lg_dirty_mult
;
size_t
sz
=
sizeof
(
ssize_t
);
assert_d_eq
(
mallctl
(
"arena.0.lg_dirty_mult"
,
&
orig_lg_dirty_mult
,
&
sz
,
NULL
,
0
),
0
,
"Unexpected mallctl() failure"
);
lg_dirty_mult
=
-
2
;
assert_d_eq
(
mallctl
(
"arena.0.lg_dirty_mult"
,
NULL
,
NULL
,
&
lg_dirty_mult
,
sizeof
(
ssize_t
)),
EFAULT
,
"Unexpected mallctl() success"
);
lg_dirty_mult
=
(
sizeof
(
size_t
)
<<
3
);
assert_d_eq
(
mallctl
(
"arena.0.lg_dirty_mult"
,
NULL
,
NULL
,
&
lg_dirty_mult
,
sizeof
(
ssize_t
)),
EFAULT
,
"Unexpected mallctl() success"
);
for
(
prev_lg_dirty_mult
=
orig_lg_dirty_mult
,
lg_dirty_mult
=
-
1
;
lg_dirty_mult
<
(
ssize_t
)(
sizeof
(
size_t
)
<<
3
);
prev_lg_dirty_mult
=
lg_dirty_mult
,
lg_dirty_mult
++
)
{
ssize_t
old_lg_dirty_mult
;
assert_d_eq
(
mallctl
(
"arena.0.lg_dirty_mult"
,
&
old_lg_dirty_mult
,
&
sz
,
&
lg_dirty_mult
,
sizeof
(
ssize_t
)),
0
,
"Unexpected mallctl() failure"
);
assert_zd_eq
(
old_lg_dirty_mult
,
prev_lg_dirty_mult
,
"Unexpected old arena.0.lg_dirty_mult"
);
}
}
TEST_END
TEST_BEGIN
(
test_arena_i_purge
)
TEST_BEGIN
(
test_arena_i_purge
)
{
{
unsigned
narenas
;
unsigned
narenas
;
...
@@ -255,27 +405,41 @@ TEST_BEGIN(test_arena_i_dss)
...
@@ -255,27 +405,41 @@ TEST_BEGIN(test_arena_i_dss)
{
{
const
char
*
dss_prec_old
,
*
dss_prec_new
;
const
char
*
dss_prec_old
,
*
dss_prec_new
;
size_t
sz
=
sizeof
(
dss_prec_old
);
size_t
sz
=
sizeof
(
dss_prec_old
);
size_t
mib
[
3
];
size_t
miblen
;
dss_prec_new
=
"primary"
;
miblen
=
sizeof
(
mib
)
/
sizeof
(
size_t
);
assert_d_eq
(
mallctl
(
"arena.0.dss"
,
&
dss_prec_old
,
&
sz
,
&
dss_prec_new
,
assert_d_eq
(
mallctlnametomib
(
"arena.0.dss"
,
mib
,
&
miblen
),
0
,
"Unexpected mallctlnametomib() error"
);
dss_prec_new
=
"disabled"
;
assert_d_eq
(
mallctlbymib
(
mib
,
miblen
,
&
dss_prec_old
,
&
sz
,
&
dss_prec_new
,
sizeof
(
dss_prec_new
)),
0
,
"Unexpected mallctl() failure"
);
sizeof
(
dss_prec_new
)),
0
,
"Unexpected mallctl() failure"
);
assert_str_ne
(
dss_prec_old
,
"primary"
,
assert_str_ne
(
dss_prec_old
,
"primary"
,
"Unexpected default for dss precedence"
);
"Unexpected default for dss precedence"
);
assert_d_eq
(
mallctl
(
"arena.0.dss"
,
&
dss_prec_new
,
&
sz
,
&
dss_prec_old
,
assert_d_eq
(
mallctl
bymib
(
mib
,
miblen
,
&
dss_prec_new
,
&
sz
,
&
dss_prec_old
,
sizeof
(
dss_prec_old
)),
0
,
"Unexpected mallctl() failure"
);
sizeof
(
dss_prec_old
)),
0
,
"Unexpected mallctl() failure"
);
}
TEST_END
TEST_BEGIN
(
test_arenas_purge
)
assert_d_eq
(
mallctlbymib
(
mib
,
miblen
,
&
dss_prec_old
,
&
sz
,
NULL
,
0
),
0
,
{
"Unexpected mallctl() failure"
);
unsigned
arena
=
0
;
assert_str_ne
(
dss_prec_old
,
"primary"
,
"Unexpected value for dss precedence"
);
assert_d_eq
(
mallctl
(
"arenas.purge"
,
NULL
,
NULL
,
&
arena
,
sizeof
(
arena
)),
mib
[
1
]
=
narenas_total_get
();
0
,
"Unexpected mallctl() failure"
);
dss_prec_new
=
"disabled"
;
assert_d_eq
(
mallctlbymib
(
mib
,
miblen
,
&
dss_prec_old
,
&
sz
,
&
dss_prec_new
,
sizeof
(
dss_prec_new
)),
0
,
"Unexpected mallctl() failure"
);
assert_str_ne
(
dss_prec_old
,
"primary"
,
"Unexpected default for dss precedence"
);
assert_d_eq
(
mallctlbymib
(
mib
,
miblen
,
&
dss_prec_new
,
&
sz
,
&
dss_prec_old
,
sizeof
(
dss_prec_new
)),
0
,
"Unexpected mallctl() failure"
);
assert_d_eq
(
mallctl
(
"arenas.purge"
,
NULL
,
NULL
,
NULL
,
0
),
0
,
assert_d_eq
(
mallctl
bymib
(
mib
,
miblen
,
&
dss_prec_old
,
&
sz
,
NULL
,
0
),
0
,
"Unexpected mallctl() failure"
);
"Unexpected mallctl() failure"
);
assert_str_ne
(
dss_prec_old
,
"primary"
,
"Unexpected value for dss precedence"
);
}
}
TEST_END
TEST_END
...
@@ -287,7 +451,7 @@ TEST_BEGIN(test_arenas_initialized)
...
@@ -287,7 +451,7 @@ TEST_BEGIN(test_arenas_initialized)
assert_d_eq
(
mallctl
(
"arenas.narenas"
,
&
narenas
,
&
sz
,
NULL
,
0
),
0
,
assert_d_eq
(
mallctl
(
"arenas.narenas"
,
&
narenas
,
&
sz
,
NULL
,
0
),
0
,
"Unexpected mallctl() failure"
);
"Unexpected mallctl() failure"
);
{
{
bool
initialized
[
narenas
]
;
VARIABLE_ARRAY
(
bool
,
initialized
,
narenas
)
;
sz
=
narenas
*
sizeof
(
bool
);
sz
=
narenas
*
sizeof
(
bool
);
assert_d_eq
(
mallctl
(
"arenas.initialized"
,
initialized
,
&
sz
,
assert_d_eq
(
mallctl
(
"arenas.initialized"
,
initialized
,
&
sz
,
...
@@ -296,6 +460,38 @@ TEST_BEGIN(test_arenas_initialized)
...
@@ -296,6 +460,38 @@ TEST_BEGIN(test_arenas_initialized)
}
}
TEST_END
TEST_END
TEST_BEGIN
(
test_arenas_lg_dirty_mult
)
{
ssize_t
lg_dirty_mult
,
orig_lg_dirty_mult
,
prev_lg_dirty_mult
;
size_t
sz
=
sizeof
(
ssize_t
);
assert_d_eq
(
mallctl
(
"arenas.lg_dirty_mult"
,
&
orig_lg_dirty_mult
,
&
sz
,
NULL
,
0
),
0
,
"Unexpected mallctl() failure"
);
lg_dirty_mult
=
-
2
;
assert_d_eq
(
mallctl
(
"arenas.lg_dirty_mult"
,
NULL
,
NULL
,
&
lg_dirty_mult
,
sizeof
(
ssize_t
)),
EFAULT
,
"Unexpected mallctl() success"
);
lg_dirty_mult
=
(
sizeof
(
size_t
)
<<
3
);
assert_d_eq
(
mallctl
(
"arenas.lg_dirty_mult"
,
NULL
,
NULL
,
&
lg_dirty_mult
,
sizeof
(
ssize_t
)),
EFAULT
,
"Unexpected mallctl() success"
);
for
(
prev_lg_dirty_mult
=
orig_lg_dirty_mult
,
lg_dirty_mult
=
-
1
;
lg_dirty_mult
<
(
ssize_t
)(
sizeof
(
size_t
)
<<
3
);
prev_lg_dirty_mult
=
lg_dirty_mult
,
lg_dirty_mult
++
)
{
ssize_t
old_lg_dirty_mult
;
assert_d_eq
(
mallctl
(
"arenas.lg_dirty_mult"
,
&
old_lg_dirty_mult
,
&
sz
,
&
lg_dirty_mult
,
sizeof
(
ssize_t
)),
0
,
"Unexpected mallctl() failure"
);
assert_zd_eq
(
old_lg_dirty_mult
,
prev_lg_dirty_mult
,
"Unexpected old arenas.lg_dirty_mult"
);
}
}
TEST_END
TEST_BEGIN
(
test_arenas_constants
)
TEST_BEGIN
(
test_arenas_constants
)
{
{
...
@@ -310,7 +506,8 @@ TEST_BEGIN(test_arenas_constants)
...
@@ -310,7 +506,8 @@ TEST_BEGIN(test_arenas_constants)
TEST_ARENAS_CONSTANT
(
size_t
,
quantum
,
QUANTUM
);
TEST_ARENAS_CONSTANT
(
size_t
,
quantum
,
QUANTUM
);
TEST_ARENAS_CONSTANT
(
size_t
,
page
,
PAGE
);
TEST_ARENAS_CONSTANT
(
size_t
,
page
,
PAGE
);
TEST_ARENAS_CONSTANT
(
unsigned
,
nbins
,
NBINS
);
TEST_ARENAS_CONSTANT
(
unsigned
,
nbins
,
NBINS
);
TEST_ARENAS_CONSTANT
(
size_t
,
nlruns
,
nlclasses
);
TEST_ARENAS_CONSTANT
(
unsigned
,
nlruns
,
nlclasses
);
TEST_ARENAS_CONSTANT
(
unsigned
,
nhchunks
,
nhclasses
);
#undef TEST_ARENAS_CONSTANT
#undef TEST_ARENAS_CONSTANT
}
}
...
@@ -346,12 +543,29 @@ TEST_BEGIN(test_arenas_lrun_constants)
...
@@ -346,12 +543,29 @@ TEST_BEGIN(test_arenas_lrun_constants)
assert_zu_eq(name, expected, "Incorrect "#name" size"); \
assert_zu_eq(name, expected, "Incorrect "#name" size"); \
} while (0)
} while (0)
TEST_ARENAS_LRUN_CONSTANT
(
size_t
,
size
,
(
1
<<
LG_PAGE
)
);
TEST_ARENAS_LRUN_CONSTANT
(
size_t
,
size
,
LARGE_MINCLASS
);
#undef TEST_ARENAS_LRUN_CONSTANT
#undef TEST_ARENAS_LRUN_CONSTANT
}
}
TEST_END
TEST_END
TEST_BEGIN
(
test_arenas_hchunk_constants
)
{
#define TEST_ARENAS_HCHUNK_CONSTANT(t, name, expected) do { \
t name; \
size_t sz = sizeof(t); \
assert_d_eq(mallctl("arenas.hchunk.0."#name, &name, &sz, NULL, \
0), 0, "Unexpected mallctl() failure"); \
assert_zu_eq(name, expected, "Incorrect "#name" size"); \
} while (0)
TEST_ARENAS_HCHUNK_CONSTANT
(
size_t
,
size
,
chunksize
);
#undef TEST_ARENAS_HCHUNK_CONSTANT
}
TEST_END
TEST_BEGIN
(
test_arenas_extend
)
TEST_BEGIN
(
test_arenas_extend
)
{
{
unsigned
narenas_before
,
arena
,
narenas_after
;
unsigned
narenas_before
,
arena
,
narenas_after
;
...
@@ -402,14 +616,18 @@ main(void)
...
@@ -402,14 +616,18 @@ main(void)
test_mallctl_config
,
test_mallctl_config
,
test_mallctl_opt
,
test_mallctl_opt
,
test_manpage_example
,
test_manpage_example
,
test_tcache_none
,
test_tcache
,
test_thread_arena
,
test_thread_arena
,
test_arena_i_lg_dirty_mult
,
test_arena_i_purge
,
test_arena_i_purge
,
test_arena_i_dss
,
test_arena_i_dss
,
test_arenas_purge
,
test_arenas_initialized
,
test_arenas_initialized
,
test_arenas_lg_dirty_mult
,
test_arenas_constants
,
test_arenas_constants
,
test_arenas_bin_constants
,
test_arenas_bin_constants
,
test_arenas_lrun_constants
,
test_arenas_lrun_constants
,
test_arenas_hchunk_constants
,
test_arenas_extend
,
test_arenas_extend
,
test_stats_arenas
));
test_stats_arenas
));
}
}
Prev
1
2
3
4
5
6
7
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment